@sriinnu/kosha-discovery 1.6.2 → 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.
Files changed (67) hide show
  1. package/README.md +37 -9
  2. package/dist/aliases.d.ts +1 -1
  3. package/dist/aliases.d.ts.map +1 -1
  4. package/dist/aliases.js +30 -13
  5. package/dist/aliases.js.map +1 -1
  6. package/dist/claude-generation.d.ts +3 -2
  7. package/dist/claude-generation.d.ts.map +1 -1
  8. package/dist/claude-generation.js +8 -5
  9. package/dist/claude-generation.js.map +1 -1
  10. package/dist/discovery/base.d.ts.map +1 -1
  11. package/dist/discovery/base.js +9 -2
  12. package/dist/discovery/base.js.map +1 -1
  13. package/dist/discovery/bedrock.d.ts +20 -6
  14. package/dist/discovery/bedrock.d.ts.map +1 -1
  15. package/dist/discovery/bedrock.js +69 -25
  16. package/dist/discovery/bedrock.js.map +1 -1
  17. package/dist/discovery/generic-openai.d.ts.map +1 -1
  18. package/dist/discovery/generic-openai.js +10 -0
  19. package/dist/discovery/generic-openai.js.map +1 -1
  20. package/dist/discovery/litellm-seed.js +1 -0
  21. package/dist/discovery/litellm-seed.js.map +1 -1
  22. package/dist/discovery/modelsdev-catalog.d.ts +2 -0
  23. package/dist/discovery/modelsdev-catalog.d.ts.map +1 -1
  24. package/dist/discovery/modelsdev-catalog.js.map +1 -1
  25. package/dist/discovery/modelsdev-seed.d.ts.map +1 -1
  26. package/dist/discovery/modelsdev-seed.js +21 -0
  27. package/dist/discovery/modelsdev-seed.js.map +1 -1
  28. package/dist/discovery/promo-overrides.d.ts +7 -1
  29. package/dist/discovery/promo-overrides.d.ts.map +1 -1
  30. package/dist/discovery/promo-overrides.js +9 -17
  31. package/dist/discovery/promo-overrides.js.map +1 -1
  32. package/dist/discovery/public-seed.d.ts.map +1 -1
  33. package/dist/discovery/public-seed.js +9 -1
  34. package/dist/discovery/public-seed.js.map +1 -1
  35. package/dist/discovery/static-direct.d.ts +2 -2
  36. package/dist/discovery/static-direct.d.ts.map +1 -1
  37. package/dist/discovery/static-direct.js +88 -2
  38. package/dist/discovery/static-direct.js.map +1 -1
  39. package/dist/discovery/vertex.d.ts +16 -5
  40. package/dist/discovery/vertex.d.ts.map +1 -1
  41. package/dist/discovery/vertex.js +43 -10
  42. package/dist/discovery/vertex.js.map +1 -1
  43. package/dist/discovery-contract.d.ts +2 -0
  44. package/dist/discovery-contract.d.ts.map +1 -1
  45. package/dist/discovery-contract.js.map +1 -1
  46. package/dist/model-features.d.ts.map +1 -1
  47. package/dist/model-features.js +9 -8
  48. package/dist/model-features.js.map +1 -1
  49. package/dist/normalize.d.ts.map +1 -1
  50. package/dist/normalize.js +21 -1
  51. package/dist/normalize.js.map +1 -1
  52. package/dist/provider-catalog.d.ts.map +1 -1
  53. package/dist/provider-catalog.js +15 -0
  54. package/dist/provider-catalog.js.map +1 -1
  55. package/dist/registry-discovery.d.ts.map +1 -1
  56. package/dist/registry-discovery.js +1 -0
  57. package/dist/registry-discovery.js.map +1 -1
  58. package/dist/registry-runtime.d.ts.map +1 -1
  59. package/dist/registry-runtime.js +37 -3
  60. package/dist/registry-runtime.js.map +1 -1
  61. package/dist/tokenizer-family.d.ts +1 -1
  62. package/dist/tokenizer-family.js +2 -2
  63. package/dist/tokenizer-family.js.map +1 -1
  64. package/dist/types.d.ts +14 -0
  65. package/dist/types.d.ts.map +1 -1
  66. package/package.json +9 -7
  67. package/server.json +3 -3
package/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  **Tells your agent — or your code — which model to use and what it costs.**
8
8
 
9
- kosha discovers models across 45 providers and local runtimes, finds your API keys
9
+ kosha discovers models across 46 providers and local runtimes, finds your API keys
10
10
  wherever they already live (env vars, Claude CLI, Codex, gcloud ADC, AWS SSO), fills
11
11
  in pricing and context limits, and answers questions like *the cheapest model with
12
12
  tool use and 128k context that I actually hold a key for*. It ships as a TypeScript
@@ -46,7 +46,7 @@ console.log(sonnet?.pricing); // { inputPerMillion: 2, outputPerMillion: 10, cac
46
46
  kosha discover # query every provider; writes ~/.kosha/cache and the manifest
47
47
  kosha list --provider anthropic # read from the local cache
48
48
  kosha model sonnet # one model, alias-aware
49
- kosha routes claude-opus-5 # every serving route for a model (direct, OpenRouter, Bedrock, …)
49
+ kosha routes claude-opus-5-5 # every serving route for a model (direct, OpenRouter, Bedrock, …)
50
50
  kosha cheapest --role embeddings # rank by price for a role
51
51
  kosha doctor --ci # deprecations + provider health; non-zero exit for CI
52
52
  kosha spend --since 2026-09-01 # roll up the proxy's spend ledger
@@ -62,6 +62,26 @@ After each discovery, a stable v1 manifest lands at `~/.kosha/registry.json`:
62
62
  jq '.models[] | select(.pricing.inputPerMillion < 0.1) | .modelId' ~/.kosha/registry.json
63
63
  ```
64
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
+
65
85
  ### HTTP API
66
86
 
67
87
  ```
@@ -155,7 +175,7 @@ Tools and protocol details: [docs/mcp.md](docs/mcp.md).
155
175
 
156
176
  ## Supported providers
157
177
 
158
- 45 providers. Each has a descriptor in `src/provider-catalog.ts`; most OpenAI-compatible
178
+ 46 providers. Each has a descriptor in `src/provider-catalog.ts`; most OpenAI-compatible
159
179
  ones are driven from `GENERIC_OPENAI_PROVIDERS` in `src/discovery/generic-openai.ts`
160
180
  rather than a hand-written class.
161
181
 
@@ -164,8 +184,8 @@ rather than a hand-written class.
164
184
  | Anthropic | `GET /v1/models` (context, output cap, capabilities read from the API) | `ANTHROPIC_API_KEY`, Claude CLI, Codex CLI |
165
185
  | OpenAI | `GET /v1/models` | `OPENAI_API_KEY`, GitHub Copilot tokens |
166
186
  | Google | `GET /v1beta/models` | `GOOGLE_API_KEY`, `GEMINI_API_KEY`, Gemini CLI, gcloud |
167
- | AWS Bedrock | SDK → CLI → static list | `AWS_ACCESS_KEY_ID`, `~/.aws/credentials`, SSO, IAM |
168
- | Vertex AI | API + gcloud | `GOOGLE_APPLICATION_CREDENTIALS`, ADC |
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 |
169
189
  | Ollama, llama.cpp, LM Studio, vLLM | local HTTP API | none |
170
190
  | OpenRouter | API | `OPENROUTER_API_KEY` (optional; unauthenticated is rate-limited) |
171
191
  | Vercel AI Gateway | `GET /v1/models` | `AI_GATEWAY_API_KEY`, `VERCEL_OIDC_TOKEN` (discovery works without; execution needs one) |
@@ -174,7 +194,7 @@ rather than a hand-written class.
174
194
  | xAI (Grok) | `GET /v1/models`; Grok Imagine split into image / video | `XAI_API_KEY` |
175
195
  | TypeSafe (System One / Jev) | `GET /v1/models` — returns `judgment` models, not chat | `TYPESAFE_API_KEY`, `JEV_API_KEY` |
176
196
  | Thinking Machines (Inkling) | Anthropic-wire endpoint, no model list — public catalog only | `TINKER_API_KEY` |
177
- | 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` |
178
198
  | Baseten, Nebius Token Factory, Novita AI, SiliconFlow, Hugging Face, Ollama Cloud | OpenAI-compatible API | `<PROVIDER>_API_KEY`, `HF_TOKEN` |
179
199
 
180
200
  ### Regional pairs
@@ -197,7 +217,7 @@ provider:
197
217
  `kosha routes <model>` lists every region a model is served from, so you can
198
218
  compare prices across them directly.
199
219
 
200
- 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).
201
221
 
202
222
  ### Non-chat modes
203
223
 
@@ -216,7 +236,7 @@ kosha model jev # mode: judgment, $0.042/M in, $0 out
216
236
  ## How it works
217
237
 
218
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.
219
- 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.
220
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.
221
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.
222
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`.
@@ -232,8 +252,16 @@ pnpm run typecheck # tsc --noEmit
232
252
  pnpm run lint # biome lint
233
253
  pnpm test # vitest run
234
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
235
258
  ```
236
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
+
237
265
  ### Project layout
238
266
 
239
267
  ```
@@ -294,7 +322,7 @@ Write a discoverer class only when classification genuinely needs code — per-r
294
322
 
295
323
  ## Release
296
324
 
297
- 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.
298
326
  2. Tag and push:
299
327
 
300
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 September 2026.
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
@@ -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,CAmG5D,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"}
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 September 2026.
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 Sep 2026) ──
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 family, GPT-4o, and o-series reasoning ──
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 — Gemini 2.5 GA IDs (the dated -preview- IDs are retired) ──
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-2.5-flash",
55
- "gemini-flash-lite": "gemini-2.5-flash-lite",
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.6",
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": "qwen-max",
72
- "qwen-plus": "qwen3.6-plus",
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.1-nemotron-super-49b-v1",
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.
@@ -1 +1 @@
1
- {"version":3,"file":"aliases.js","sourceRoot":"","sources":["../src/aliases.ts"],"names":[],"mappings":"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"}
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
- * Claude Fable 5.1 and Claude Mythos 5.1 return a 400 for forced tool use
56
- * (`tool_choice` `any` / `tool`); everything else still honours it.
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;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAKvE"}
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
- * Claude Fable 5.1 and Claude Mythos 5.1 return a 400 for forced tool use
107
- * (`tool_choice` `any` / `tool`); everything else still honours it.
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 !== "fable" && gen.family !== "mythos")
114
- return true;
115
- return !atLeast(gen, 5, 1);
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":"AAAA;;;;;;;;;;GAUG;AAQH;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,OAAe;IACzC,OAAO,OAAO;SACZ,WAAW,EAAE;SACb,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;SACpB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;SAC3B,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;SACzB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACvB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACpD,uEAAuE;IACvE,gCAAgC;IAChC,MAAM,CAAC,GAAG,2EAA2E,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;IACvH,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACzB,OAAO;QACN,MAAM,EAAE,CAAC,CAAC,CAAC,CAA+B;QAC1C,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC5C,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,GAAqB,EAAE,KAAa,EAAE,KAAa;IACnE,OAAO,GAAG,CAAC,KAAK,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,IAAI,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;AACzE,CAAC;AAKD;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACpD,MAAM,GAAG,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,CAAC,GAAG;QAAE,OAAO,MAAM,CAAC;IACxB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IACtC,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACjC,OAAO,MAAM,CAAC;AACf,CAAC;AAED,kEAAkE;AAClE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAIxC;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IACjD,MAAM,GAAG,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACzE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAChE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtF,OAAO,EAAE,CAAC;AACX,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACpD,MAAM,GAAG,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAAC,OAAe;IAC7D,MAAM,GAAG,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACvB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC;AACpE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAAC,OAAe;IAC7D,MAAM,GAAG,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClF,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACjF,OAAO,IAAI,CAAC;AACb,CAAC"}
@@ -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,CAsB/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"}
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"}
@@ -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 api;
177
+ return dated;
171
178
  return {
172
- ...api,
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. Static fallback list of well-known Bedrock foundation models (Feb 2026).
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 three resolution strategies in order:
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. Static fallback catalogue.
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 neither the SDK nor the CLI is available. All entries have
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;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAa,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAwH3C;;;;;;;;;;;GAWG;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,CAuBjG;IAMD;;;;;;;;OAQG;YACW,cAAc;IAmB5B;;;;;;;;OAQG;YACW,cAAc;IAuC5B;;;;;;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;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAShE"}
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"}