SPB Git forge

spb/polyllm

Public
15commits 1branches 0releases
2.2 MBsize
maindefault branch
13 days agolast push
TypeScript 97.4% SQL 1% JavaScript 0.9% CSS 0.6%
4.1 KB

# Provider research — index

Last documentation audit: 2026-09-08 (all nine providers)

PolyLLM never relies on remembered API shapes. Before each adapter was written, the CURRENT official documentation was fetched and every claim that matters for the adapter was probed against the real API with the owner's keys. The per-provider reports below contain the base URLs, auth, SDKs and versions, streaming protocols and event names, tool/structured-output formats, reasoning controls, modalities, limits, parameter support matrices with exact rejection strings, error schemas, rate limits, pricing, lifecycle, and the probe scripts that produced the evidence.

Provider Report Model data SDK used Primary API Probe scripts
OpenAI openai.md openai.models.json (84) openai 7.10 Responses API (store:false, encrypted reasoning replay) research/openai/
Anthropic 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
Google Gemini gemini.md gemini.models.json (19) @google/genai 2.21 generateContentStream (thinkingLevel/budget per family, thought signatures) research/gemini/
xAI xai.md xai.models.json (7) openai 7.10 @ api.x.ai/v1 Chat Completions (+ /v1/responses for server-side web search) research/xai/
Mistral AI mistral.md 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/
DeepSeek deepseek.md deepseek.models.json (3) openai 7.10 @ api.deepseek.com/v1 Chat Completions (thinking + reasoning_effort low/high/max, json_object only) research/deepseek/
Kimi (Moonshot AI) kimi.md 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/
OpenRouter openrouter.md 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]`)
Cerebras cerebras.md cerebras.models.json (3) openai 7.10 @ api.cerebras.ai/v1 Chat Completions (strict validation, reasoning_effort, delta.reasoning) research/cerebras/

The verified behaviour is encoded in code, not prose:

  • src/lib/ai/providers/<provider>/catalog*.ts — capability sheets, parameter support, pricing, lifecycle.
  • src/lib/ai/providers/<provider>/index.ts — request translation that only sends what the model accepts; the OpenAI-compatible providers share providers/shared/openai-compat/{factory,chat-completions}.ts.
  • docs/provider-test-matrix.md — generated by pnpm providers:matrix from live requests (13 capabilities × 9 providers).

# Re-audit procedure (before every release)

  1. pnpm models:sync — refresh the registry from the live listing endpoints; check model_sync_runs for removed/added ids.
  2. Re-fetch the docs pages linked at the bottom of each report; update the catalog data when parameters, limits or prices moved.
  3. pnpm providers:matrix — must be all ✅; investigate any ❌ before shipping.
  4. Bump Last documentation audit in this file and in each report.