AGENTS.md@packages/provider-openrouter · git:20261022.e27d5bf · 2026-10-22 · sha256 66c820a27a557ae7
AGENTS.md@packages/provider-openrouter git:20261022.e27d5bfA
Immutable. This exact content never changes and is served at /api/v1/blob/66c820a27a557ae7.
# provider-openrouter OpenRouter answer adapter. Credentials belong to the `openrouter` connection; each selected model has an immutable `openrouter:publisher/model` provider key. Direct and routed observations never share snapshot or comparison identity. - `src/adapter.ts` implements the provider boundary and metadata-only catalog. - Sweeps send the exact query with the OpenRouter web-search server tool required. Search policy is internal, not a model-picker option. Location is unapplied. - Freeze requested model, preserve response model verbatim, and disable model and endpoint fallbacks. Missing search evidence remains `unknown`. - Citation domains come only from valid `url_citation` annotations. Prose domains do not become citations. Shared mention extraction remains downstream. - Key validation and catalog discovery never generate an answer. All HTTP calls use the shared retry wrapper and honor Retry-After. - The catalog lists models that answer in text. It leaves out `:batch` variants (batch routing, not a model) and image, music or speech generators (any `image` or `audio` output); `:free` variants stay. Each entry also carries the optional context window, output cap, per-million prices, input modalities, tool and reasoning support read from the same response; Aero builds models pi-ai lacks from them. Sweeps ignore them and `GET /settings` strips them. - Jev and model routers are excluded from sweep choices. Jev uses the dedicated decisions API in `integration-typesafe`; Aero/domain classification use pi, with models from this catalog (`packages/canonry/src/agent/openrouter-models.ts`). Read root AGENTS.md and the test-audit skill before changing tests.