@sriinnu/kosha-discovery 1.6.1 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -9
- package/dist/aliases.d.ts +1 -1
- package/dist/aliases.d.ts.map +1 -1
- package/dist/aliases.js +30 -13
- package/dist/aliases.js.map +1 -1
- package/dist/claude-generation.d.ts +3 -2
- package/dist/claude-generation.d.ts.map +1 -1
- package/dist/claude-generation.js +8 -5
- package/dist/claude-generation.js.map +1 -1
- package/dist/discovery/base.d.ts.map +1 -1
- package/dist/discovery/base.js +9 -2
- package/dist/discovery/base.js.map +1 -1
- package/dist/discovery/bedrock.d.ts +20 -6
- package/dist/discovery/bedrock.d.ts.map +1 -1
- package/dist/discovery/bedrock.js +69 -25
- package/dist/discovery/bedrock.js.map +1 -1
- package/dist/discovery/generic-openai.d.ts.map +1 -1
- package/dist/discovery/generic-openai.js +10 -0
- package/dist/discovery/generic-openai.js.map +1 -1
- package/dist/discovery/litellm-seed.js +1 -0
- package/dist/discovery/litellm-seed.js.map +1 -1
- package/dist/discovery/modelsdev-catalog.d.ts +2 -0
- package/dist/discovery/modelsdev-catalog.d.ts.map +1 -1
- package/dist/discovery/modelsdev-catalog.js.map +1 -1
- package/dist/discovery/modelsdev-seed.d.ts.map +1 -1
- package/dist/discovery/modelsdev-seed.js +21 -0
- package/dist/discovery/modelsdev-seed.js.map +1 -1
- package/dist/discovery/promo-overrides.d.ts +7 -1
- package/dist/discovery/promo-overrides.d.ts.map +1 -1
- package/dist/discovery/promo-overrides.js +9 -17
- package/dist/discovery/promo-overrides.js.map +1 -1
- package/dist/discovery/public-seed.d.ts.map +1 -1
- package/dist/discovery/public-seed.js +9 -1
- package/dist/discovery/public-seed.js.map +1 -1
- package/dist/discovery/static-direct.d.ts +2 -2
- package/dist/discovery/static-direct.d.ts.map +1 -1
- package/dist/discovery/static-direct.js +88 -2
- package/dist/discovery/static-direct.js.map +1 -1
- package/dist/discovery/vertex.d.ts +16 -5
- package/dist/discovery/vertex.d.ts.map +1 -1
- package/dist/discovery/vertex.js +43 -10
- package/dist/discovery/vertex.js.map +1 -1
- package/dist/discovery-contract.d.ts +2 -0
- package/dist/discovery-contract.d.ts.map +1 -1
- package/dist/discovery-contract.js.map +1 -1
- package/dist/model-features.d.ts.map +1 -1
- package/dist/model-features.js +9 -8
- package/dist/model-features.js.map +1 -1
- package/dist/normalize.d.ts.map +1 -1
- package/dist/normalize.js +21 -1
- package/dist/normalize.js.map +1 -1
- package/dist/provider-catalog.d.ts.map +1 -1
- package/dist/provider-catalog.js +15 -0
- package/dist/provider-catalog.js.map +1 -1
- package/dist/registry-discovery.d.ts.map +1 -1
- package/dist/registry-discovery.js +1 -0
- package/dist/registry-discovery.js.map +1 -1
- package/dist/registry-runtime.d.ts.map +1 -1
- package/dist/registry-runtime.js +37 -3
- package/dist/registry-runtime.js.map +1 -1
- package/dist/tokenizer-family.d.ts +1 -1
- package/dist/tokenizer-family.js +2 -2
- package/dist/tokenizer-family.js.map +1 -1
- package/dist/types.d.ts +14 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +9 -7
- package/server.json +3 -3
package/README.md
CHANGED
|
@@ -4,7 +4,17 @@
|
|
|
4
4
|
|
|
5
5
|
# kosha-discovery
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
**Tells your agent — or your code — which model to use and what it costs.**
|
|
8
|
+
|
|
9
|
+
kosha discovers models across 46 providers and local runtimes, finds your API keys
|
|
10
|
+
wherever they already live (env vars, Claude CLI, Codex, gcloud ADC, AWS SSO), fills
|
|
11
|
+
in pricing and context limits, and answers questions like *the cheapest model with
|
|
12
|
+
tool use and 128k context that I actually hold a key for*. It ships as a TypeScript
|
|
13
|
+
library, a CLI, an HTTP API, an OpenAI-compatible proxy with a spend ledger, and an
|
|
14
|
+
MCP server.
|
|
15
|
+
|
|
16
|
+
It works with no API keys at all — discovery falls back to the public models.dev and
|
|
17
|
+
LiteLLM catalogs, so `kosha list` is useful on a fresh machine.
|
|
8
18
|
|
|
9
19
|
## Install
|
|
10
20
|
|
|
@@ -36,7 +46,7 @@ console.log(sonnet?.pricing); // { inputPerMillion: 2, outputPerMillion: 10, cac
|
|
|
36
46
|
kosha discover # query every provider; writes ~/.kosha/cache and the manifest
|
|
37
47
|
kosha list --provider anthropic # read from the local cache
|
|
38
48
|
kosha model sonnet # one model, alias-aware
|
|
39
|
-
kosha routes claude-opus-5
|
|
49
|
+
kosha routes claude-opus-5-5 # every serving route for a model (direct, OpenRouter, Bedrock, …)
|
|
40
50
|
kosha cheapest --role embeddings # rank by price for a role
|
|
41
51
|
kosha doctor --ci # deprecations + provider health; non-zero exit for CI
|
|
42
52
|
kosha spend --since 2026-09-01 # roll up the proxy's spend ledger
|
|
@@ -52,6 +62,26 @@ After each discovery, a stable v1 manifest lands at `~/.kosha/registry.json`:
|
|
|
52
62
|
jq '.models[] | select(.pricing.inputPerMillion < 0.1) | .modelId' ~/.kosha/registry.json
|
|
53
63
|
```
|
|
54
64
|
|
|
65
|
+
### Public snapshot
|
|
66
|
+
|
|
67
|
+
A weekly discovery run publishes a full snapshot — every provider, model, price
|
|
68
|
+
and limit kosha can see without your keys — at a stable URL:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
curl -sL https://github.com/sriinnu/kosha-discovery/releases/download/snapshot-latest/kosha-latest.json \
|
|
72
|
+
| jq '.modelCount, .providerCount'
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
It is a release asset rather than a file in the repository: at ~2.8 MB growing
|
|
76
|
+
with every provider added, committing it weekly would put roughly 150 MB of
|
|
77
|
+
already-stale data a year into a repo people are meant to clone. Dated
|
|
78
|
+
`snapshot-YYYY-MM-DD` pre-releases keep a short trail for diffing, pruned to the
|
|
79
|
+
two most recent, and an older one is only removed once a newer one exists.
|
|
80
|
+
|
|
81
|
+
Each snapshot's release notes list what changed since the previous one — new
|
|
82
|
+
models, repricings, new deprecations, removals. The same diff runs locally with
|
|
83
|
+
`pnpm snapshot:diff old.json new.json`.
|
|
84
|
+
|
|
55
85
|
### HTTP API
|
|
56
86
|
|
|
57
87
|
```
|
|
@@ -145,7 +175,7 @@ Tools and protocol details: [docs/mcp.md](docs/mcp.md).
|
|
|
145
175
|
|
|
146
176
|
## Supported providers
|
|
147
177
|
|
|
148
|
-
|
|
178
|
+
46 providers. Each has a descriptor in `src/provider-catalog.ts`; most OpenAI-compatible
|
|
149
179
|
ones are driven from `GENERIC_OPENAI_PROVIDERS` in `src/discovery/generic-openai.ts`
|
|
150
180
|
rather than a hand-written class.
|
|
151
181
|
|
|
@@ -154,8 +184,8 @@ rather than a hand-written class.
|
|
|
154
184
|
| Anthropic | `GET /v1/models` (context, output cap, capabilities read from the API) | `ANTHROPIC_API_KEY`, Claude CLI, Codex CLI |
|
|
155
185
|
| OpenAI | `GET /v1/models` | `OPENAI_API_KEY`, GitHub Copilot tokens |
|
|
156
186
|
| Google | `GET /v1beta/models` | `GOOGLE_API_KEY`, `GEMINI_API_KEY`, Gemini CLI, gcloud |
|
|
157
|
-
| AWS Bedrock | SDK → CLI → static list | `AWS_ACCESS_KEY_ID`, `~/.aws/credentials`, SSO, IAM |
|
|
158
|
-
| Vertex AI | API
|
|
187
|
+
| AWS Bedrock | SDK → CLI → public catalog → static list | `AWS_ACCESS_KEY_ID`, `~/.aws/credentials`, SSO, IAM |
|
|
188
|
+
| Vertex AI | API → gcloud → public catalog → static list | `GOOGLE_APPLICATION_CREDENTIALS`, ADC |
|
|
159
189
|
| Ollama, llama.cpp, LM Studio, vLLM | local HTTP API | none |
|
|
160
190
|
| OpenRouter | API | `OPENROUTER_API_KEY` (optional; unauthenticated is rate-limited) |
|
|
161
191
|
| Vercel AI Gateway | `GET /v1/models` | `AI_GATEWAY_API_KEY`, `VERCEL_OIDC_TOKEN` (discovery works without; execution needs one) |
|
|
@@ -164,7 +194,7 @@ rather than a hand-written class.
|
|
|
164
194
|
| xAI (Grok) | `GET /v1/models`; Grok Imagine split into image / video | `XAI_API_KEY` |
|
|
165
195
|
| TypeSafe (System One / Jev) | `GET /v1/models` — returns `judgment` models, not chat | `TYPESAFE_API_KEY`, `JEV_API_KEY` |
|
|
166
196
|
| Thinking Machines (Inkling) | Anthropic-wire endpoint, no model list — public catalog only | `TINKER_API_KEY` |
|
|
167
|
-
| Alibaba Model Studio (Qwen), Volcengine Ark (Doubao), Inception (Mercury), AI21 (Jamba), Upstage (Solar), StepFun | OpenAI-compatible API | `DASHSCOPE_API_KEY`, `ARK_API_KEY`, `INCEPTION_API_KEY`, `AI21_API_KEY`, `UPSTAGE_API_KEY`, `STEPFUN_API_KEY` |
|
|
197
|
+
| Alibaba Model Studio (Qwen), Volcengine Ark (Doubao), Inception (Mercury), AI21 (Jamba), Upstage (Solar), StepFun, Meta (Muse Spark) | OpenAI-compatible API | `DASHSCOPE_API_KEY`, `ARK_API_KEY`, `INCEPTION_API_KEY`, `AI21_API_KEY`, `UPSTAGE_API_KEY`, `STEPFUN_API_KEY`, `META_MODEL_API_KEY` |
|
|
168
198
|
| Baseten, Nebius Token Factory, Novita AI, SiliconFlow, Hugging Face, Ollama Cloud | OpenAI-compatible API | `<PROVIDER>_API_KEY`, `HF_TOKEN` |
|
|
169
199
|
|
|
170
200
|
### Regional pairs
|
|
@@ -187,7 +217,7 @@ provider:
|
|
|
187
217
|
`kosha routes <model>` lists every region a model is served from, so you can
|
|
188
218
|
compare prices across them directly.
|
|
189
219
|
|
|
190
|
-
Without a key, providers fall back to the public models.dev + LiteLLM catalog, then to a curated static list, so `kosha list` works on a fresh machine. Exact env var names: [docs/credentials.md](docs/credentials.md).
|
|
220
|
+
Without a key, providers fall back to the public models.dev + LiteLLM catalog, then to a curated static list, so `kosha list` works on a fresh machine. The same fallback applies when a key is present but rejected: the provider stays listed from the public catalog, shows as unauthenticated, and the error is kept for `kosha doctor`. Exact env var names: [docs/credentials.md](docs/credentials.md).
|
|
191
221
|
|
|
192
222
|
### Non-chat modes
|
|
193
223
|
|
|
@@ -206,7 +236,7 @@ kosha model jev # mode: judgment, $0.042/M in, $0 out
|
|
|
206
236
|
## How it works
|
|
207
237
|
|
|
208
238
|
1. **Discovery** — one discoverer per provider runs concurrently (`Promise.allSettled`); each returns normalized `ModelCard`s. A failing provider is recorded in `discoveryErrors()` and doesn't block the others.
|
|
209
|
-
2. **Enrichment** — pricing, context window, and output cap are filled from models.dev and LiteLLM where the provider API doesn't publish them; `pricingSource` on each card says which.
|
|
239
|
+
2. **Enrichment** — pricing, context window, and output cap are filled from models.dev and LiteLLM where the provider API doesn't publish them; `pricingSource` on each card says which. Cards also carry `releaseDate` and a lifecycle `status` where a catalog publishes them.
|
|
210
240
|
3. **Resilience** — a per-provider circuit breaker with exponential cooldown, plus stale-cache fallback, so a provider outage degrades to cached data rather than an error.
|
|
211
241
|
4. **Cache and manifest** — results are cached under `~/.kosha/cache/` (24 h TTL) and exported as a versioned snapshot at `~/.kosha/registry.json` for other tools to read.
|
|
212
242
|
5. **Proxy** — resolves the requested model or `kosha:<strategy>[filters]` selector against the registry, ranks candidate routes, forwards with failover, and records estimated and reconciled cost in `~/.kosha/ledger-YYYY-MM.jsonl`.
|
|
@@ -222,8 +252,16 @@ pnpm run typecheck # tsc --noEmit
|
|
|
222
252
|
pnpm run lint # biome lint
|
|
223
253
|
pnpm test # vitest run
|
|
224
254
|
pnpm run check # lint + build + test
|
|
255
|
+
|
|
256
|
+
pnpm aliases:check snapshot.json # built-in aliases that are dead or a generation behind
|
|
257
|
+
pnpm snapshot:diff old.json new.json # what changed between two snapshots
|
|
225
258
|
```
|
|
226
259
|
|
|
260
|
+
The alias table in `src/aliases.ts` is the one part of the catalog written by
|
|
261
|
+
hand. `aliases:check` compares it against a snapshot, and the weekly snapshot
|
|
262
|
+
run annotates itself with the result, so a bare alias like `opus` falling behind
|
|
263
|
+
shows up there rather than in a bug report.
|
|
264
|
+
|
|
227
265
|
### Project layout
|
|
228
266
|
|
|
229
267
|
```
|
|
@@ -284,7 +322,7 @@ Write a discoverer class only when classification genuinely needs code — per-r
|
|
|
284
322
|
|
|
285
323
|
## Release
|
|
286
324
|
|
|
287
|
-
1. Bump `version` in `package.json` and date the `[Unreleased]` section in `CHANGELOG.md`; merge that as a PR.
|
|
325
|
+
1. Bump `version` in `package.json` and `server.json` (both places), and date the `[Unreleased]` section in `CHANGELOG.md`; merge that as a PR.
|
|
288
326
|
2. Tag and push:
|
|
289
327
|
|
|
290
328
|
```bash
|
package/dist/aliases.d.ts
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* Curated default aliases mapping short names to canonical model IDs.
|
|
10
10
|
*
|
|
11
11
|
* These are production-ready and cover the most commonly referenced
|
|
12
|
-
* models across major providers. Updated
|
|
12
|
+
* models across major providers. Updated October 2026.
|
|
13
13
|
*
|
|
14
14
|
* Convention: a bare family name (`opus`, `sonnet`, `gemini-pro`) always
|
|
15
15
|
* tracks the newest generally-available model in that family; a suffixed
|
package/dist/aliases.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aliases.d.ts","sourceRoot":"","sources":["../src/aliases.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"aliases.d.ts","sourceRoot":"","sources":["../src/aliases.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAoH5D,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,aAAa;IACzB,sEAAsE;IACtE,OAAO,CAAC,OAAO,CAAsB;IAErC;;;OAGG;IACH,YAAY,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAQjD;IAED;;;OAGG;IACH,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEnC;IAED;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAQxC;IAED;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAE7C;IAED;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAE/B;IAED;;OAEG;IACH,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE5B;CACD"}
|
package/dist/aliases.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* Curated default aliases mapping short names to canonical model IDs.
|
|
10
10
|
*
|
|
11
11
|
* These are production-ready and cover the most commonly referenced
|
|
12
|
-
* models across major providers. Updated
|
|
12
|
+
* models across major providers. Updated October 2026.
|
|
13
13
|
*
|
|
14
14
|
* Convention: a bare family name (`opus`, `sonnet`, `gemini-pro`) always
|
|
15
15
|
* tracks the newest generally-available model in that family; a suffixed
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* backward compatibility when the bare alias moves on.
|
|
18
18
|
*/
|
|
19
19
|
export const DEFAULT_ALIASES = {
|
|
20
|
-
// ── Anthropic — Claude 5 family (latest as of
|
|
20
|
+
// ── Anthropic — Claude 5 family (latest as of Oct 2026) ──
|
|
21
21
|
// Bare IDs, never date-suffixed: `claude-haiku-4-5` is the canonical
|
|
22
22
|
// form; the dated `claude-haiku-4-5-20251001` snapshot still resolves via
|
|
23
23
|
// normalizeModelId() for callers that pinned it.
|
|
@@ -26,18 +26,28 @@ export const DEFAULT_ALIASES = {
|
|
|
26
26
|
"fable-5": "claude-fable-5",
|
|
27
27
|
"mythos": "claude-mythos-5-1",
|
|
28
28
|
"mythos-5.1": "claude-mythos-5-1",
|
|
29
|
-
"opus": "claude-opus-5",
|
|
29
|
+
"opus": "claude-opus-5-5",
|
|
30
|
+
"opus-5.5": "claude-opus-5-5",
|
|
30
31
|
"opus-5": "claude-opus-5",
|
|
31
32
|
"opus-4": "claude-opus-4-8",
|
|
32
33
|
"opus-4.8": "claude-opus-4-8",
|
|
33
34
|
"opus-4.7": "claude-opus-4-7",
|
|
34
|
-
"sonnet": "claude-sonnet-5",
|
|
35
|
+
"sonnet": "claude-sonnet-5-5",
|
|
36
|
+
"sonnet-5.5": "claude-sonnet-5-5",
|
|
35
37
|
"sonnet-5": "claude-sonnet-5",
|
|
36
38
|
"sonnet-4": "claude-sonnet-4-6",
|
|
37
39
|
"sonnet-4.6": "claude-sonnet-4-6",
|
|
38
40
|
"haiku": "claude-haiku-4-5",
|
|
39
41
|
"haiku-4.5": "claude-haiku-4-5",
|
|
40
|
-
// ── OpenAI — GPT-5
|
|
42
|
+
// ── OpenAI — GPT-6 / GPT-5 families, GPT-4o, and o-series reasoning ──
|
|
43
|
+
// GPT-6 ships as named tiers (Astra > Sol > Luna) rather than
|
|
44
|
+
// pro / mini / nano. Bare `gpt6` follows the mid tier, as `gpt5` does.
|
|
45
|
+
// `o1`, `o3-mini` and `o4-mini` are deprecated upstream; the aliases stay
|
|
46
|
+
// so callers that pinned them keep resolving.
|
|
47
|
+
"gpt6": "gpt-6.1-sol",
|
|
48
|
+
"gpt6-sol": "gpt-6.1-sol",
|
|
49
|
+
"gpt6-astra": "gpt-6-astra",
|
|
50
|
+
"gpt6-luna": "gpt-6-luna",
|
|
41
51
|
"gpt5": "gpt-5",
|
|
42
52
|
"gpt5-mini": "gpt-5-mini",
|
|
43
53
|
"gpt5-nano": "gpt-5-nano",
|
|
@@ -49,12 +59,17 @@ export const DEFAULT_ALIASES = {
|
|
|
49
59
|
"o3": "o3",
|
|
50
60
|
"o3-mini": "o3-mini",
|
|
51
61
|
"o4-mini": "o4-mini",
|
|
52
|
-
// ── Google —
|
|
62
|
+
// ── Google — newest GA ID per tier ──
|
|
63
|
+
// Pro is still 2.5: Gemini 3.1 Pro has only shipped as a preview, and
|
|
64
|
+
// aliases never point at preview IDs — those get retired underneath you.
|
|
53
65
|
"gemini-pro": "gemini-2.5-pro",
|
|
54
|
-
"gemini-flash": "gemini-
|
|
55
|
-
"gemini-flash-
|
|
66
|
+
"gemini-flash": "gemini-3.8-flash",
|
|
67
|
+
"gemini-flash-2.5": "gemini-2.5-flash",
|
|
68
|
+
"gemini-flash-lite": "gemini-3.5-flash-lite",
|
|
69
|
+
"gemini-flash-lite-2.5": "gemini-2.5-flash-lite",
|
|
56
70
|
// ── xAI — Grok family ──
|
|
57
|
-
"grok": "grok-4.
|
|
71
|
+
"grok": "grok-4.7",
|
|
72
|
+
"grok-4.7": "grok-4.7",
|
|
58
73
|
"grok-4.6": "grok-4.6",
|
|
59
74
|
"grok-4.5": "grok-4.5",
|
|
60
75
|
"grok-4.3": "grok-4.3",
|
|
@@ -68,8 +83,8 @@ export const DEFAULT_ALIASES = {
|
|
|
68
83
|
// ── Thinking Machines — Inkling (served over the Anthropic wire) ──
|
|
69
84
|
"inkling": "thinkingmachines/Inkling",
|
|
70
85
|
// ── Alibaba — Qwen family via Model Studio / DashScope ──
|
|
71
|
-
"qwen-max": "
|
|
72
|
-
"qwen-plus": "qwen3.
|
|
86
|
+
"qwen-max": "qwen3.8-max",
|
|
87
|
+
"qwen-plus": "qwen3.7-plus",
|
|
73
88
|
"qwen-coder": "qwen3-coder-plus",
|
|
74
89
|
// ── Other direct providers ──
|
|
75
90
|
"jamba": "jamba-large",
|
|
@@ -87,7 +102,7 @@ export const DEFAULT_ALIASES = {
|
|
|
87
102
|
"deepseek": "deepseek-r1:latest",
|
|
88
103
|
// ── NVIDIA — Nemotron family via build.nvidia.com ──
|
|
89
104
|
"nemotron-ultra": "nvidia/llama-3.1-nemotron-ultra-253b-v1",
|
|
90
|
-
"nemotron-super": "nvidia/llama-3.
|
|
105
|
+
"nemotron-super": "nvidia/llama-3.3-nemotron-super-49b-v1.5",
|
|
91
106
|
"nemotron-nano": "nvidia/llama-3.1-nemotron-nano-8b-v1",
|
|
92
107
|
// ── Mistral AI — latest models ──
|
|
93
108
|
"mistral-large": "mistral-large-latest",
|
|
@@ -96,12 +111,14 @@ export const DEFAULT_ALIASES = {
|
|
|
96
111
|
"pixtral": "pixtral-large-latest",
|
|
97
112
|
// ── Groq — fast inference ──
|
|
98
113
|
"groq-llama": "llama-3.3-70b-versatile",
|
|
99
|
-
"groq-mixtral": "mixtral-8x7b-32768",
|
|
100
114
|
// ── Embeddings — OpenAI, Nomic, and Google embedding models ──
|
|
101
115
|
"embed-small": "text-embedding-3-small",
|
|
102
116
|
"embed-large": "text-embedding-3-large",
|
|
103
117
|
"nomic": "nomic-embed-text",
|
|
118
|
+
// `gemini-embed` stays on 001: embedding-2 is a different vector space, so
|
|
119
|
+
// moving the bare alias would silently corrupt an existing index.
|
|
104
120
|
"gemini-embed": "gemini-embedding-001",
|
|
121
|
+
"gemini-embed-2": "gemini-embedding-2",
|
|
105
122
|
};
|
|
106
123
|
/**
|
|
107
124
|
* Resolves short alias names to canonical model IDs.
|
package/dist/aliases.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aliases.js","sourceRoot":"","sources":["../src/aliases.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,eAAe,GAAqC;IAChE,4DAA4D;IAC5D,qEAAqE;IACrE,0EAA0E;IAC1E,iDAAiD;IACjD,OAAO,EAAE,kBAAkB;IAC3B,WAAW,EAAE,kBAAkB;IAC/B,SAAS,EAAE,gBAAgB;IAC3B,QAAQ,EAAE,mBAAmB;IAC7B,YAAY,EAAE,mBAAmB;IACjC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"aliases.js","sourceRoot":"","sources":["../src/aliases.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,8 +52,9 @@ export declare function claudeSupportsPrefill(modelId: string): boolean;
|
|
|
52
52
|
*/
|
|
53
53
|
export declare function claudeSupportsNativeJsonSchema(modelId: string): boolean;
|
|
54
54
|
/**
|
|
55
|
-
*
|
|
56
|
-
*
|
|
55
|
+
* Forced tool use (`tool_choice` `any` / `tool`) returns a 400 on Claude Fable
|
|
56
|
+
* 5.1 / Mythos 5.1 and on Opus 5.5 / Sonnet 5.5, and on every later model in
|
|
57
|
+
* those lines. Everything older — and Haiku — still honours it.
|
|
57
58
|
*/
|
|
58
59
|
export declare function claudeSupportsForcedToolChoice(modelId: string): boolean;
|
|
59
60
|
//# sourceMappingURL=claude-generation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-generation.d.ts","sourceRoot":"","sources":["../src/claude-generation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,gBAAgB;IAChC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACd;AAgBD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAUnF;AAMD,yDAAyD;AACzD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAEtD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAMtE;AAED,kEAAkE;AAClE,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAEvE;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,YAAY,EAAE,CAO3E;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAI9D;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAKvE;AAED
|
|
1
|
+
{"version":3,"file":"claude-generation.d.ts","sourceRoot":"","sources":["../src/claude-generation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,gBAAgB;IAChC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACd;AAgBD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAUnF;AAMD,yDAAyD;AACzD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAEtD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAMtE;AAED,kEAAkE;AAClE,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAEvE;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,YAAY,EAAE,CAO3E;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAI9D;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAKvE;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAMvE"}
|
|
@@ -103,15 +103,18 @@ export function claudeSupportsNativeJsonSchema(modelId) {
|
|
|
103
103
|
return gen.family === "opus" && gen.major === 4 && gen.minor === 1;
|
|
104
104
|
}
|
|
105
105
|
/**
|
|
106
|
-
*
|
|
107
|
-
*
|
|
106
|
+
* Forced tool use (`tool_choice` `any` / `tool`) returns a 400 on Claude Fable
|
|
107
|
+
* 5.1 / Mythos 5.1 and on Opus 5.5 / Sonnet 5.5, and on every later model in
|
|
108
|
+
* those lines. Everything older — and Haiku — still honours it.
|
|
108
109
|
*/
|
|
109
110
|
export function claudeSupportsForcedToolChoice(modelId) {
|
|
110
111
|
const gen = parseClaudeGeneration(modelId);
|
|
111
112
|
if (!gen)
|
|
112
113
|
return true;
|
|
113
|
-
if (gen.family
|
|
114
|
-
return
|
|
115
|
-
|
|
114
|
+
if (gen.family === "fable" || gen.family === "mythos")
|
|
115
|
+
return !atLeast(gen, 5, 1);
|
|
116
|
+
if (gen.family === "opus" || gen.family === "sonnet")
|
|
117
|
+
return !atLeast(gen, 5, 5);
|
|
118
|
+
return true;
|
|
116
119
|
}
|
|
117
120
|
//# sourceMappingURL=claude-generation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-generation.js","sourceRoot":"","sources":["../src/claude-generation.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"claude-generation.js","sourceRoot":"","sources":["../src/claude-generation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/discovery/base.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGnF,8CAA8C;AAC9C,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAE9C;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,kEAAkE,CAAC;AAYhG;;;;;;GAMG;AACH,8BAAsB,cAAe,YAAW,kBAAkB;IACjE,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAElC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAEtG;;;;;;;;;OASG;IACH,UAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CA4E1G;IAED;;;;;;;;;;OAUG;IACH,8EAA8E;IAC9E,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,SAAS,GAAG,MAAM,CAEjF;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,UAAgB,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/discovery/base.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGnF,8CAA8C;AAC9C,eAAO,MAAM,uBAAuB,QAAS,CAAC;AAE9C;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,kEAAkE,CAAC;AAYhG;;;;;;GAMG;AACH,8BAAsB,cAAe,YAAW,kBAAkB;IACjE,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAElC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAEtG;;;;;;;;;OASG;IACH,UAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CA4E1G;IAED;;;;;;;;;;OAUG;IACH,8EAA8E;IAC9E,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,SAAS,GAAG,MAAM,CAEjF;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,UAAgB,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CA6B/E;IAED,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAiB5F;CACD"}
|
package/dist/discovery/base.js
CHANGED
|
@@ -165,11 +165,18 @@ export class BaseDiscoverer {
|
|
|
165
165
|
const seed = seedById.get(api.id);
|
|
166
166
|
if (!seed)
|
|
167
167
|
return api;
|
|
168
|
+
// A provider's model list says a model exists, rarely whether it
|
|
169
|
+
// is on its way out or when it shipped; the catalog knows both.
|
|
170
|
+
const dated = {
|
|
171
|
+
...api,
|
|
172
|
+
status: api.status ?? seed.status,
|
|
173
|
+
releaseDate: api.releaseDate ?? seed.releaseDate,
|
|
174
|
+
};
|
|
168
175
|
const apiHasPricing = !!api.pricing || !!api.originPricing;
|
|
169
176
|
if (apiHasPricing)
|
|
170
|
-
return
|
|
177
|
+
return dated;
|
|
171
178
|
return {
|
|
172
|
-
...
|
|
179
|
+
...dated,
|
|
173
180
|
pricing: seed.pricing,
|
|
174
181
|
originPricing: seed.originPricing,
|
|
175
182
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/discovery/base.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/discovery/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
* Resolution strategy (in order):
|
|
5
5
|
* 1. AWS SDK (`@aws-sdk/client-bedrock`) — if installed in the host project.
|
|
6
6
|
* 2. AWS CLI fallback (`aws bedrock list-foundation-models --output json`).
|
|
7
|
-
* 3.
|
|
7
|
+
* 3. Public catalog (models.dev) — the full keyless Bedrock listing.
|
|
8
|
+
* 4. Static fallback list of well-known Bedrock foundation models (Oct 2026).
|
|
8
9
|
*
|
|
9
10
|
* Credentials use the standard AWS credential chain:
|
|
10
11
|
* environment variables (`AWS_ACCESS_KEY_ID` / `AWS_SECRET_ACCESS_KEY`),
|
|
@@ -19,10 +20,11 @@ import { BaseDiscoverer } from "./base.js";
|
|
|
19
20
|
/**
|
|
20
21
|
* Discovers models available through AWS Bedrock.
|
|
21
22
|
*
|
|
22
|
-
* Tries
|
|
23
|
+
* Tries four resolution strategies in order:
|
|
23
24
|
* 1. `@aws-sdk/client-bedrock` (if installed in the host project).
|
|
24
25
|
* 2. AWS CLI (`aws bedrock list-foundation-models`).
|
|
25
|
-
* 3.
|
|
26
|
+
* 3. Public catalog seed (models.dev).
|
|
27
|
+
* 4. Static fallback catalogue.
|
|
26
28
|
*
|
|
27
29
|
* The `credential` argument is optional in the sense that the AWS SDK and CLI
|
|
28
30
|
* both rely on the ambient credential chain. However, the `credential.metadata`
|
|
@@ -35,7 +37,7 @@ export declare class BedrockDiscoverer extends BaseDiscoverer {
|
|
|
35
37
|
/**
|
|
36
38
|
* Discover all foundation models available on AWS Bedrock.
|
|
37
39
|
*
|
|
38
|
-
* Resolution order: SDK → CLI → static fallback.
|
|
40
|
+
* Resolution order: SDK → CLI → public catalog → static fallback.
|
|
39
41
|
*
|
|
40
42
|
* @param credential - Optional credential; `metadata.region` overrides the
|
|
41
43
|
* `AWS_DEFAULT_REGION` environment variable.
|
|
@@ -64,10 +66,19 @@ export declare class BedrockDiscoverer extends BaseDiscoverer {
|
|
|
64
66
|
* @throws When the `aws` CLI is not installed or returns a non-zero exit code.
|
|
65
67
|
*/
|
|
66
68
|
private discoverViaCli;
|
|
69
|
+
/**
|
|
70
|
+
* Source the Bedrock listing from the public seed pipeline.
|
|
71
|
+
*
|
|
72
|
+
* The seed stamps every card with `originProvider: "bedrock"`; the vendor
|
|
73
|
+
* is recoverable from the model ID, so it is restored here. IDs carrying
|
|
74
|
+
* a geography prefix (`us.`, `eu.`, `global.` …) are cross-region inference
|
|
75
|
+
* profiles and are kept as-is — they are what callers actually invoke.
|
|
76
|
+
*/
|
|
77
|
+
private publicCatalogFallback;
|
|
67
78
|
/**
|
|
68
79
|
* Return a hardcoded catalogue of well-known Bedrock foundation models.
|
|
69
80
|
*
|
|
70
|
-
* Used when
|
|
81
|
+
* Used when the SDK, the CLI and the public catalog all come up empty. All entries have
|
|
71
82
|
* `source: "manual"` and zero context/output token limits — the litellm
|
|
72
83
|
* enrichment pass is expected to populate those fields later.
|
|
73
84
|
*/
|
|
@@ -106,7 +117,9 @@ export declare class BedrockDiscoverer extends BaseDiscoverer {
|
|
|
106
117
|
* Extract the origin provider from a Bedrock model ID.
|
|
107
118
|
*
|
|
108
119
|
* Bedrock model IDs follow the pattern `{vendor}.{model-name}-v{n}:{variant}`,
|
|
109
|
-
* e.g. `anthropic.claude-opus-4-6-v1:0` → `"anthropic"`.
|
|
120
|
+
* e.g. `anthropic.claude-opus-4-6-v1:0` → `"anthropic"`. Cross-region
|
|
121
|
+
* inference profiles put a geography first (`us.anthropic.claude-opus-5-5`),
|
|
122
|
+
* in which case the vendor is the second segment.
|
|
110
123
|
*
|
|
111
124
|
* Falls back to `"unknown"` for unrecognised vendor prefixes.
|
|
112
125
|
*
|
|
@@ -117,6 +130,7 @@ export declare class BedrockDiscoverer extends BaseDiscoverer {
|
|
|
117
130
|
* inferOriginFromBedrockId("anthropic.claude-sonnet-4-6-v1:0") // "anthropic"
|
|
118
131
|
* inferOriginFromBedrockId("meta.llama3-3-70b-instruct-v1:0") // "meta"
|
|
119
132
|
* inferOriginFromBedrockId("amazon.titan-text-premier-v2:0") // "amazon"
|
|
133
|
+
* inferOriginFromBedrockId("global.anthropic.claude-opus-5-5") // "anthropic"
|
|
120
134
|
*/
|
|
121
135
|
export declare function inferOriginFromBedrockId(modelId: string): string;
|
|
122
136
|
//# sourceMappingURL=bedrock.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bedrock.d.ts","sourceRoot":"","sources":["../../src/discovery/bedrock.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"bedrock.d.ts","sourceRoot":"","sources":["../../src/discovery/bedrock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAa,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAqI3C;;;;;;;;;;;;GAYG;AACH,qBAAa,iBAAkB,SAAQ,cAAc;IACpD,QAAQ,CAAC,UAAU,aAAa;IAChC,QAAQ,CAAC,YAAY,iBAAiB;IACtC,QAAQ,CAAC,OAAO,6CAA6C;IAE7D;;;;;;;;OAQG;IACG,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CA8BjG;IAMD;;;;;;;;OAQG;YACW,cAAc;IAmB5B;;;;;;;;OAQG;YACW,cAAc;IAuC5B;;;;;;;OAOG;YACW,qBAAqB;IAanC;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAoBtB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAwBnB;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IAiBjB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAoCzB;;;;OAIG;IACH,OAAO,CAAC,aAAa;CAGrB;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAUhE"}
|