TypeScript 97.4%
SQL 1%
JavaScript 0.9%
CSS 0.6%
1# Provider research — index23**Last documentation audit: 2026-09-08** (all nine providers)45PolyLLM never relies on remembered API shapes. Before each adapter was written, the CURRENT official6documentation was fetched and every claim that matters for the adapter was **probed against the real API**7with the owner's keys. The per-provider reports below contain the base URLs, auth, SDKs and versions, streaming8protocols and event names, tool/structured-output formats, reasoning controls, modalities, limits, parameter9support matrices with exact rejection strings, error schemas, rate limits, pricing, lifecycle, and the probe10scripts that produced the evidence.1112| Provider | Report | Model data | SDK used | Primary API | Probe scripts |13| --- | --- | --- | --- | --- | --- |14| OpenAI | [openai.md](provider-research/openai.md) | [openai.models.json](provider-research/openai.models.json) (84) | `openai` 7.10 | Responses API (`store:false`, encrypted reasoning replay) | `research/openai/` |15| Anthropic | [anthropic.md](provider-research/anthropic.md) | Models API (live capabilities) + `providers/anthropic/catalog.ts` (pricing) | `@anthropic-ai/sdk` 0.124 | Messages API (adaptive thinking, `output_config`) | `scripts/provider-matrix.ts` |16| Google Gemini | [gemini.md](provider-research/gemini.md) | [gemini.models.json](provider-research/gemini.models.json) (19) | `@google/genai` 2.21 | `generateContentStream` (thinkingLevel/budget per family, thought signatures) | `research/gemini/` |17| xAI | [xai.md](provider-research/xai.md) | [xai.models.json](provider-research/xai.models.json) (7) | `openai` 7.10 @ `api.x.ai/v1` | Chat Completions (+ `/v1/responses` for server-side web search) | `research/xai/` |18| Mistral AI | [mistral.md](provider-research/mistral.md) | [mistral.models.json](provider-research/mistral.models.json) (10) + live `/v1/models` capabilities | `openai` 7.10 @ `api.mistral.ai/v1` (bodies translated: `random_seed`, `max_tokens`, `reasoning_effort` none/high, `document_url`) | Chat Completions | `research/mistral/` |19| DeepSeek | [deepseek.md](provider-research/deepseek.md) | [deepseek.models.json](provider-research/deepseek.models.json) (3) | `openai` 7.10 @ `api.deepseek.com/v1` | Chat Completions (`thinking` + `reasoning_effort` low/high/max, `json_object` only) | `research/deepseek/` |20| Kimi (Moonshot AI) | [kimi.md](provider-research/kimi.md) | [kimi.models.json](provider-research/kimi.models.json) (4) + live `/v1/models/{id}` | `openai` 7.10 @ `api.moonshot.ai/v1` | Chat Completions (`thinking`, `reasoning_effort` low/high/max, temperature fixed at 1) | `research/kimi/` |21| OpenRouter | [openrouter.md](provider-research/openrouter.md) | [openrouter.models.json](provider-research/openrouter.models.json) (29 representative) — registry built live from `/api/v1/models/user` (~400) | `openai` 7.10 @ `openrouter.ai/api/v1` | Chat Completions (`reasoning{effort|max_tokens}`, `usage.cost`, `plugins:[web]`) | `research/openrouter/` |22| Cerebras | [cerebras.md](provider-research/cerebras.md) | [cerebras.models.json](provider-research/cerebras.models.json) (3) | `openai` 7.10 @ `api.cerebras.ai/v1` | Chat Completions (strict validation, `reasoning_effort`, `delta.reasoning`) | `research/cerebras/` |2324The verified behaviour is encoded in code, not prose:2526- `src/lib/ai/providers/<provider>/catalog*.ts` — capability sheets, parameter support, pricing, lifecycle.27- `src/lib/ai/providers/<provider>/index.ts` — request translation that only sends what the model accepts;28 the OpenAI-compatible providers share `providers/shared/openai-compat/{factory,chat-completions}.ts`.29- `docs/provider-test-matrix.md` — generated by `pnpm providers:matrix` from live requests (13 capabilities × 9 providers).3031## Re-audit procedure (before every release)32331. `pnpm models:sync` — refresh the registry from the live listing endpoints; check `model_sync_runs` for removed/added ids.342. Re-fetch the docs pages linked at the bottom of each report; update the catalog data when parameters, limits or prices moved.353. `pnpm providers:matrix` — must be all ✅; investigate any ❌ before shipping.364. Bump `Last documentation audit` in this file and in each report.37