@sriinnu/kosha-discovery 1.14.0 → 1.15.1

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 (79) hide show
  1. package/README.md +85 -78
  2. package/dist/cli-cmd-doctor.d.ts.map +1 -1
  3. package/dist/cli-cmd-doctor.js +42 -17
  4. package/dist/cli-cmd-doctor.js.map +1 -1
  5. package/dist/cli-cmd-model.d.ts.map +1 -1
  6. package/dist/cli-cmd-model.js +6 -1
  7. package/dist/cli-cmd-model.js.map +1 -1
  8. package/dist/cli-cmd-registry.d.ts +2 -1
  9. package/dist/cli-cmd-registry.d.ts.map +1 -1
  10. package/dist/cli-cmd-registry.js +30 -1
  11. package/dist/cli-cmd-registry.js.map +1 -1
  12. package/dist/cli-commands.d.ts.map +1 -1
  13. package/dist/cli-commands.js +16 -5
  14. package/dist/cli-commands.js.map +1 -1
  15. package/dist/cli-help.d.ts.map +1 -1
  16. package/dist/cli-help.js +4 -1
  17. package/dist/cli-help.js.map +1 -1
  18. package/dist/cli.js +1 -1
  19. package/dist/cli.js.map +1 -1
  20. package/dist/cost.d.ts +16 -1
  21. package/dist/cost.d.ts.map +1 -1
  22. package/dist/cost.js +73 -14
  23. package/dist/cost.js.map +1 -1
  24. package/dist/discovery/snapshot-catalog.d.ts +18 -0
  25. package/dist/discovery/snapshot-catalog.d.ts.map +1 -1
  26. package/dist/discovery/snapshot-catalog.js +83 -3
  27. package/dist/discovery/snapshot-catalog.js.map +1 -1
  28. package/dist/discovery/vercel.d.ts.map +1 -1
  29. package/dist/discovery/vercel.js +19 -0
  30. package/dist/discovery/vercel.js.map +1 -1
  31. package/dist/discovery-contract.d.ts +8 -3
  32. package/dist/discovery-contract.d.ts.map +1 -1
  33. package/dist/discovery-contract.js.map +1 -1
  34. package/dist/index.d.ts +3 -1
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +2 -1
  37. package/dist/index.js.map +1 -1
  38. package/dist/lifecycle.d.ts +13 -0
  39. package/dist/lifecycle.d.ts.map +1 -0
  40. package/dist/lifecycle.js +19 -0
  41. package/dist/lifecycle.js.map +1 -0
  42. package/dist/price-trust.d.ts +12 -0
  43. package/dist/price-trust.d.ts.map +1 -1
  44. package/dist/price-trust.js +72 -0
  45. package/dist/price-trust.js.map +1 -1
  46. package/dist/provider-catalog.d.ts +6 -0
  47. package/dist/provider-catalog.d.ts.map +1 -1
  48. package/dist/provider-catalog.js +9 -0
  49. package/dist/provider-catalog.js.map +1 -1
  50. package/dist/proxy.d.ts +9 -0
  51. package/dist/proxy.d.ts.map +1 -1
  52. package/dist/proxy.js +177 -27
  53. package/dist/proxy.js.map +1 -1
  54. package/dist/registry-query.d.ts.map +1 -1
  55. package/dist/registry-query.js +9 -7
  56. package/dist/registry-query.js.map +1 -1
  57. package/dist/registry-routing.d.ts.map +1 -1
  58. package/dist/registry-routing.js +2 -1
  59. package/dist/registry-routing.js.map +1 -1
  60. package/dist/registry-runtime.d.ts +34 -2
  61. package/dist/registry-runtime.d.ts.map +1 -1
  62. package/dist/registry-runtime.js +385 -57
  63. package/dist/registry-runtime.js.map +1 -1
  64. package/dist/registry.d.ts +5 -1
  65. package/dist/registry.d.ts.map +1 -1
  66. package/dist/registry.js +14 -3
  67. package/dist/registry.js.map +1 -1
  68. package/dist/server.d.ts.map +1 -1
  69. package/dist/server.js +16 -3
  70. package/dist/server.js.map +1 -1
  71. package/dist/snapshot-gate.d.ts +50 -0
  72. package/dist/snapshot-gate.d.ts.map +1 -0
  73. package/dist/snapshot-gate.js +128 -0
  74. package/dist/snapshot-gate.js.map +1 -0
  75. package/dist/subscription-plans.d.ts.map +1 -1
  76. package/dist/subscription-plans.js +3 -1
  77. package/dist/subscription-plans.js.map +1 -1
  78. package/package.json +2 -2
  79. package/server.json +2 -2
package/README.md CHANGED
@@ -11,15 +11,17 @@
11
11
  [![Sponsor](https://img.shields.io/badge/sponsor-%E2%9D%A4-ea4aaa?logo=githubsponsors&logoColor=white)](https://github.com/sponsors/sriinnu)
12
12
  [![Buy Me a Coffee](https://img.shields.io/badge/buy%20me%20a%20coffee-FFDD00?logo=buymeacoffee&logoColor=black)](https://buymeacoffee.com/sriinnu)
13
13
 
14
- kosha discovers models across 46 providers and local runtimes, finds your API keys
14
+ kosha discovers models across 46 providers and local runtimes, plus 21 subscription
15
+ plans (token and coding plans) when you hold a key for one. It finds your API keys
15
16
  wherever they already live (env vars, Claude CLI, Codex, gcloud ADC, AWS SSO), fills
16
17
  in pricing and context limits, and answers questions like *the cheapest model with
17
18
  tool use and 128k context that I actually hold a key for*. It ships as a TypeScript
18
19
  library, a CLI, an HTTP API, an OpenAI-compatible proxy with a spend ledger, and an
19
20
  MCP server.
20
21
 
21
- It works with no API keys at all — discovery falls back to the public models.dev and
22
- LiteLLM catalogs, so `kosha list` is useful on a fresh machine.
22
+ It works with no API keys at all: discovery falls back to the public models.dev and
23
+ LiteLLM catalogs, so `kosha list` is useful on a fresh machine. Pass `keyless: true`
24
+ to `createKosha()` to skip credential lookup entirely.
23
25
 
24
26
  ## Install
25
27
 
@@ -43,26 +45,30 @@ const kosha = await createKosha();
43
45
  const models = kosha.models(); // ModelCard[] across every provider
44
46
  const cheapest = kosha.cheapestModels({ role: "image" }); // ranked by price, with missingCredentials
45
47
  const sonnet = kosha.model("sonnet"); // alias → canonical ID; undefined if unknown
46
- console.log(sonnet?.pricing); // { inputPerMillion: 2, outputPerMillion: 10, cacheReadPerMillion: 0.2, ... }
48
+ console.log(sonnet?.pricing); // { inputPerMillion, outputPerMillion, cacheReadPerMillion, ... } in USD per 1M tokens
47
49
  ```
48
50
 
49
51
  ### CLI
50
52
 
51
53
  ```bash
52
- kosha discover # query every provider; writes ~/.kosha/cache and the manifest
54
+ kosha discover # load the 24 h cache, or query every provider when it's cold
53
55
  kosha list --provider anthropic # read from the local cache
54
56
  kosha model sonnet # one model, alias-aware
55
57
  kosha routes claude-opus-5-5 # every serving route for a model (direct, OpenRouter, Bedrock, …)
56
58
  kosha cheapest --role embeddings # rank by price for a role
57
59
  kosha doctor --ci --model opus,gpt6 # fail CI if a model you pin is deprecated, retiring, or gone
58
60
  kosha spend --since 2026-09-01 # roll up the proxy's spend ledger
59
- kosha refresh # bypass the cache and re-discover
61
+ kosha ranked --strategy fastest # routes in the order kosha:<strategy> tries them
62
+ kosha providers # every provider, with credential status
63
+ kosha refresh # bypass the cache and re-discover (alias: update)
64
+ kosha registry accept openai/gpt-6.1-sol # release a held price once you've checked it
65
+ kosha registry export --output catalog.json # the catalog as a file, for local mode
60
66
  kosha serve --port 3000 # HTTP API + proxy; binds 127.0.0.1 (see Proxy below)
61
67
  ```
62
68
 
63
- Every command takes `--json`. `kosha --help` lists the rest.
69
+ Every query command takes `--json`. `kosha --help` lists the rest.
64
70
 
65
- After each discovery, a stable v1 manifest lands at `~/.kosha/registry.json`:
71
+ After each live discovery (not a cache hit), a stable v1 manifest lands at `~/.kosha/registry.json`:
66
72
 
67
73
  ```bash
68
74
  jq '.models[] | select(.pricing.inputPerMillion < 0.1) | .modelId' ~/.kosha/registry.json
@@ -78,7 +84,7 @@ or listed by no provider any more:
78
84
  with:
79
85
  models: |
80
86
  claude-opus-5-5
81
- gpt-6-sol
87
+ gpt-6.1-sol
82
88
  sonnet
83
89
  ```
84
90
 
@@ -92,6 +98,33 @@ model. A reseller retiring one of its routes is reported but does not fail the
92
98
  build while the model's own provider still serves it; `deprecation-window`
93
99
  (default 30 days) sets how far ahead a sunset counts.
94
100
 
101
+ ### Why trust the prices
102
+
103
+ Prices come from the provider's own API where it publishes them, then models.dev
104
+ and LiteLLM, then kosha's weekly snapshot. `pricingSource` on each card says which.
105
+ Catalogs are sometimes wrong, so kosha doesn't take a new price on faith:
106
+
107
+ - A rate that moves 75% or more in one step is held at the old price and the row
108
+ is tagged `pricing_quarantined`. The new price is accepted after 1 to 7 days,
109
+ depending on whether its sources agree.
110
+ - A price under half, or over 4×, the highest price of the last 30 days is held
111
+ too, so it can't walk down in small steps.
112
+ - A billed rate that falls to `$0`, or under 1% of the last one, is never released
113
+ by waiting. A catalog `$0` is never ranked cheapest and is refused under a budget.
114
+ - While a price is held or its sources disagree, kosha routes and budgets on the
115
+ highest rate anyone reports, so a suspect rise applies at once and a cut waits.
116
+ - Negative, NaN and infinite rates are dropped.
117
+
118
+ Checked a held price against the provider's pricing page? Release it:
119
+
120
+ ```bash
121
+ kosha registry accept <provider>/<model>
122
+ kosha update
123
+ ```
124
+
125
+ The weekly snapshot gets the same gate. Details:
126
+ [docs/operations.md](docs/operations.md#clear-a-quarantined-price).
127
+
95
128
  ### Public snapshot
96
129
 
97
130
  A weekly discovery run publishes a full snapshot — every provider, model, price
@@ -102,14 +135,11 @@ curl -sL https://github.com/sriinnu/kosha-discovery/releases/download/snapshot-l
102
135
  | jq '.modelCount, .providerCount'
103
136
  ```
104
137
 
105
- It is a release asset rather than a file in the repository: at ~2.8 MB growing
106
- with every provider added, committing it weekly would put roughly 150 MB of
107
- already-stale data a year into a repo people are meant to clone. Dated
108
- `snapshot-YYYY-MM-DD` pre-releases keep a short trail for diffing, pruned to the
109
- two most recent, and an older one is only removed once a newer one exists.
110
-
111
- Each snapshot's release notes list what changed since the previous one — new
112
- models, repricings, new deprecations, removals. The same diff runs locally with
138
+ It's signed: kosha checks `kosha-latest.json.sig` against a built-in key before
139
+ using it. Dated `snapshot-YYYY-MM-DD` pre-releases keep a short trail for diffing, pruned to
140
+ the two most recent. Each snapshot's release notes list what changed since the
141
+ previous one (new models, repricings, deprecations, removals) and any price the
142
+ gate is holding. The same diff runs locally with
113
143
  `pnpm snapshot:diff old.json new.json`.
114
144
 
115
145
  ### HTTP API
@@ -140,7 +170,7 @@ import OpenAI from "openai";
140
170
 
141
171
  const client = new OpenAI({
142
172
  baseURL: "http://localhost:3000/proxy/v1",
143
- apiKey: "not-used", // kosha resolves credentials from env
173
+ apiKey: "not-used", // ignored on loopback; set it to KOSHA_PROXY_TOKEN when one is configured
144
174
  });
145
175
 
146
176
  // Use any canonical model ID or alias
@@ -172,18 +202,26 @@ const routed = await client.chat.completions.create({
172
202
 
173
203
  `kosha:fastest`, `kosha:reliable`, and `kosha:balanced` take the same filters and rank on observed latency and circuit-breaker state instead of price.
174
204
 
175
- Every response carries `x-kosha-model`, `x-kosha-provider`, `x-kosha-requested`, `x-kosha-attempt-chain`, and `x-kosha-estimated-cost-usd`; non-streaming responses add `x-kosha-actual-cost-usd` when the upstream returned a usage block.
205
+ Every response carries `x-kosha-model`, `x-kosha-provider`, `x-kosha-requested` and `x-kosha-attempt-chain`, plus `x-kosha-estimated-cost-usd` except on plan-billed routes. Non-streaming responses add `x-kosha-actual-cost-usd` when the upstream returned a usage block. The full list, including `x-kosha-usage-source` and `x-kosha-wire-notes`, is in [docs/operations.md](docs/operations.md).
176
206
 
177
207
  What the proxy can forward:
178
208
 
179
209
  | Upstream wire format | Providers | Support |
180
210
  |---|---|---|
181
211
  | OpenAI-compatible | OpenAI, Ollama, OpenRouter, Vercel, Groq, Together, Fireworks, DeepInfra, … | passthrough, streaming included |
182
- | Anthropic Messages | Anthropic | translated: streaming, tools, `image_url`, `response_format`, `reasoning_effort`; audio input and non-function tools fail over to an OpenAI-compatible route for the same model |
212
+ | Anthropic Messages | Anthropic, MiniMax Token Plan | translated: streaming, tools, `image_url`, `response_format`, `reasoning_effort`; audio input and non-function tools fail over to an OpenAI-compatible route for the same model |
183
213
  | Cloud SDKs | Google, Bedrock, Vertex | discovery only, not proxied yet |
184
214
  | Non-chat / other wire | TypeSafe, Thinking Machines | discovery only — TypeSafe's System One endpoint is not a chat API, and Tinker's Anthropic-wire path differs from Anthropic's own |
185
215
 
186
- Defaults that matter before you expose it: the server binds `127.0.0.1`. Pass `--host 0.0.0.0` (or `KOSHA_HOST`) to listen on a network interface, and set `KOSHA_PROXY_TOKEN` so `/proxy/*` and `POST /api/refresh` require `Authorization: Bearer <token>` or `x-kosha-token`. `KOSHA_MONTHLY_BUDGET_USD` caps spend per calendar month. Reference: [docs/api.md](docs/api.md#openai-compatible-proxy), [docs/operations.md](docs/operations.md).
216
+ Defaults that matter before you expose it:
217
+
218
+ - The server binds `127.0.0.1`. Pass `--host 0.0.0.0` (or `KOSHA_HOST`) to listen on a network interface.
219
+ - Set `KOSHA_PROXY_TOKEN` so `/proxy/*` and `POST /api/refresh` require `Authorization: Bearer <token>` or `x-kosha-token`.
220
+ - `/metrics` is open unless `KOSHA_METRICS_TOKEN` is set. `KOSHA_ALLOWED_HOSTS` restricts which `Host` names are answered.
221
+ - `KOSHA_MONTHLY_BUDGET_USD` caps spend per calendar month and `KOSHA_TENANT_BUDGET_USD` per tenant. `0` lets nothing paid through; a value that isn't a plain amount stops `kosha serve`.
222
+ - The proxy never forwards a Claude subscription OAuth token, and a key is only sent to the host it belongs to.
223
+
224
+ Reference: [docs/api.md](docs/api.md#openai-compatible-proxy), [docs/operations.md](docs/operations.md), [docs/security.md](docs/security.md).
187
225
 
188
226
  ### MCP server
189
227
 
@@ -197,17 +235,14 @@ It is published to the [MCP registry](https://github.com/modelcontextprotocol/re
197
235
  as `io.github.sriinnu/kosha-discovery`, so clients that read the registry can
198
236
  install it without a manual command. The manifest is [`server.json`](server.json).
199
237
 
200
- Every provider key is optional. With no credentials at all the server still
201
- answers from the public models.dev and LiteLLM catalogs plus a curated offline
202
- list, so it is useful on a fresh machine.
203
-
204
238
  Tools and protocol details: [docs/mcp.md](docs/mcp.md).
205
239
 
206
240
  ## Supported providers
207
241
 
208
- 46 providers. Each has a descriptor in `src/provider-catalog.ts`; most OpenAI-compatible
209
- ones are driven from `GENERIC_OPENAI_PROVIDERS` in `src/discovery/generic-openai.ts`
210
- rather than a hand-written class.
242
+ 46 pay-as-you-go providers and local runtimes, plus 21 subscription plans generated
243
+ from `src/subscription-plans.ts`. Each has a descriptor in `src/provider-catalog.ts`;
244
+ most OpenAI-compatible ones are driven from `GENERIC_OPENAI_PROVIDERS` in
245
+ `src/discovery/generic-openai.ts` rather than a hand-written class.
211
246
 
212
247
  | Provider | Discovery | Credential sources |
213
248
  |----------|-----------|--------------------|
@@ -227,11 +262,20 @@ rather than a hand-written class.
227
262
  | 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` |
228
263
  | Baseten, Nebius Token Factory, Novita AI, SiliconFlow, Hugging Face, Ollama Cloud | OpenAI-compatible API | `<PROVIDER>_API_KEY`, `HF_TOKEN` |
229
264
 
265
+ ### Subscription plans
266
+
267
+ A token or coding plan (MiniMax, Moonshot, GLM, Alibaba and others) is listed as
268
+ its own provider, but only when a key for it resolves. A plan route has no
269
+ per-token price: `kosha cheapest` shows it in an "Included in your plans" group
270
+ (`includedInPlans` in the library), and the proxy prefers a plan route you hold.
271
+ A plan can borrow the provider's pay-as-you-go key; `KOSHA_PLAN_KEY_PROBE=off`
272
+ keeps each plan to its own env vars.
273
+
230
274
  ### Regional pairs
231
275
 
232
276
  Several providers run separate hosts for international and mainland-China
233
- traffic, with separate keys and **separate price sheets** — Qwen 2.5 72B is
234
- $1.40/M input internationally against $0.574/M in China. Merging them would make
277
+ traffic, with separate keys and **separate price sheets**: the same model can
278
+ cost several times more on one host than the other. Merging them would make
235
279
  a model's price depend on which host answered last, so each region is its own
236
280
  provider:
237
281
 
@@ -247,7 +291,9 @@ provider:
247
291
  `kosha routes <model>` lists every region a model is served from, so you can
248
292
  compare prices across them directly.
249
293
 
250
- Without a key, providers fall back to the public models.dev + LiteLLM catalog, then to kosha's own weekly [snapshot](#public-snapshot) if those are unreachable, 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).
294
+ Without a key, providers fall back to the public models.dev + LiteLLM catalog, then to kosha's own weekly [snapshot](#public-snapshot) if those are unreachable, then to a curated static list. 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).
295
+
296
+ Config lives in `~/.kosharc.json`, with a per-project `kosha.config.json`. The project file can only make kosha stricter, never point keys somewhere else. See [docs/configuration.md](docs/configuration.md).
251
297
 
252
298
  To take models.dev and LiteLLM out of the loop, set `KOSHA_CATALOG_SOURCE=pinned` (kosha's snapshot only) or `local` (a file from `kosha registry export`, no network). See [Catalog Source](docs/configuration.md#catalog-source).
253
299
 
@@ -262,7 +308,7 @@ to one would be a category error.
262
308
 
263
309
  ```bash
264
310
  kosha cheapest --role judgment # rank judgment models by price
265
- kosha model jev # mode: judgment, $0.042/M in, $0 out
311
+ kosha model jev # mode: judgment
266
312
  ```
267
313
 
268
314
  ## How it works
@@ -294,48 +340,7 @@ hand. `aliases:check` compares it against a snapshot, and the weekly snapshot
294
340
  run annotates itself with the result, so a bare alias like `opus` falling behind
295
341
  shows up there rather than in a bug report.
296
342
 
297
- ### Project layout
298
-
299
- ```
300
- src/
301
- cli.ts # CLI entry point and arg parsing
302
- cli-commands.ts # command implementations (+ cli-cmd-*.ts for the larger ones)
303
- registry.ts # ModelRegistry public API
304
- registry-runtime.ts # discovery orchestration, enrichment, cache, manifest export
305
- registry-query.ts # model / role / capability queries
306
- registry-selection.ts # cheapest candidates, binding hints
307
- registry-routing.ts # cheapest / fastest / reliable / balanced ranking
308
- discovery/ # one discoverer per provider + static and public-seed catalogs
309
- enrichment/ # models.dev + LiteLLM pricing enrichment
310
- credentials/ # credential resolution (env, CLI files, ADC, OAuth)
311
- provider-catalog.ts # provider descriptors: base URLs, transport, env var names
312
- aliases.ts # built-in short names → canonical model IDs
313
- claude-generation.ts # which Claude generation accepts which API parameters
314
- model-features.ts # tool dialect / structured-output inference per model
315
- proxy.ts # OpenAI-compatible proxy: routing, failover, ledger
316
- wire-anthropic.ts # OpenAI ↔ Anthropic request / response / SSE translation
317
- cost.ts # spend ledger, budget gates, usage reconciliation
318
- tally.ts # zero-dependency token usage + USD tally (also exported as ./tally)
319
- server.ts # Hono HTTP API + operator token gate
320
- mcp-server.ts # MCP stdio server
321
- types.ts # shared types
322
- ```
323
-
324
- ### Adding a provider
325
-
326
- For an OpenAI-compatible provider — most of them — it is two table entries:
327
-
328
- 1. Add a descriptor to `PROVIDER_CATALOG` in `src/provider-catalog.ts` (id, base URL, transport, credential env vars).
329
- 2. Add a spec to `GENERIC_OPENAI_PROVIDERS` in `src/discovery/generic-openai.ts`. It registers its own discoverer, resolves credentials from the descriptor's `credentialEnvVars`, and falls back to the public catalog when there is no key.
330
- 3. Map the provider to its models.dev / LiteLLM slug in `src/discovery/modelsdev-seed.ts` and `litellm-seed.ts` so keyless discovery works. **Check the slug** — GLM is published as `zhipuai`, and a missing mapping means no keyless models at all.
331
- 4. Add a case to `test/discovery/generic-openai.test.ts` and document the env vars in `docs/credentials.md`.
332
-
333
- Write a discoverer class only when classification genuinely needs code — per-route pricing (OpenRouter), a non-OpenAI response envelope (TypeSafe), or origin remapping (Vercel):
334
-
335
- 1. Create `src/discovery/<provider>.ts` extending `BaseDiscoverer` or `OpenAICompatibleDiscoverer`; `fetchJSON` and `makeCard` are provided.
336
- 2. Export it from `src/discovery/index.ts` and add a factory entry to `DISCOVERER_REGISTRY`.
337
- 3. Add a resolver branch in `src/credentials/resolver.ts` only for a bespoke search order (CLI files, OAuth, ADC, SSO). A plain API key in env vars needs no branch — the descriptor covers it.
338
- 4. Add `test/discovery/<provider>.test.ts` (mock `fetch`; see `typesafe.test.ts`).
343
+ Contributing, the project layout and adding a provider: [CONTRIBUTING.md](CONTRIBUTING.md).
339
344
 
340
345
  ## Docs
341
346
 
@@ -349,19 +354,19 @@ Write a discoverer class only when classification genuinely needs code — per-r
349
354
  | [Architecture](docs/architecture.md) | Discovery flow, module map, adding providers |
350
355
  | [Resilience](docs/resilience.md) | Circuit breakers, stale cache, health |
351
356
  | [Operations](docs/operations.md) | Deployment sizing, metrics, spend ledger, recovery recipes |
352
- | [Security](docs/security.md) | Threat catalogue, runtime scanning, pre-commit hook |
357
+ | [Security](docs/security.md) | Threat catalogue, runtime scanning, pre-commit hook; report issues per [SECURITY.md](SECURITY.md) |
353
358
  | [Discovery Plane v1](docs/discovery-plane-v1.md) | Stable daemon contract (deltas, SSE watch, binding hints) |
354
359
 
355
360
  The same pages are mirrored to the [wiki](https://github.com/sriinnu/kosha-discovery/wiki), alongside guides that only live there (troubleshooting, the release runbook). `docs/` is the source: the mirror is regenerated on every push to `main`, so edit here, not there.
356
361
 
357
362
  ## Release
358
363
 
359
- 1. Bump `version` in `package.json` and `server.json` (both places), and date the `[Unreleased]` section in `CHANGELOG.md`; merge that as a PR.
364
+ 1. Bump the version in `package.json`, in `server.json` (twice: top level and `packages[0]`), and the `default` in `action.yml`. Date the `[Unreleased]` section in `CHANGELOG.md`, and merge that as a PR.
360
365
  2. Tag and push:
361
366
 
362
367
  ```bash
363
368
  git tag -s vX.Y.Z -m "vX.Y.Z" && git push origin vX.Y.Z
364
- gh workflow run release-npm.yml --ref vX.Y.Z -f tag=vX.Y.Z
369
+ gh workflow run release-npm.yml --ref vX.Y.Z -f tag=vX.Y.Z -f publish_mcp=false
365
370
  ```
366
371
 
367
372
  The workflow checks that the tag matches `package.json`, runs lint / build / test, stages the package on npm with provenance, and creates the GitHub Release. Staging authenticates through npm trusted publishing (OIDC); there is no npm token. The version goes live only after a maintainer approves it with 2FA:
@@ -369,9 +374,11 @@ The workflow checks that the tag matches `package.json`, runs lint / build / tes
369
374
  ```bash
370
375
  npm stage list @sriinnu/kosha-discovery
371
376
  npm stage approve <id>
372
- gh workflow run release-npm.yml --ref vX.Y.Z -f tag=vX.Y.Z -f publish_npm=false -f create_github_release=false # then publish to the MCP registry
377
+ gh workflow run release-npm.yml --ref vX.Y.Z -f tag=vX.Y.Z -f publish_npm=false -f create_github_release=false # publish to the MCP registry once npm is live
373
378
  ```
374
379
 
380
+ Every step, with the parts that are easy to forget: the [release runbook](https://github.com/sriinnu/kosha-discovery/wiki/Release-Runbook).
381
+
375
382
  ## Support
376
383
 
377
384
  kosha is free and open source. If it helps you pick cheaper models, consider sponsoring its upkeep:
@@ -1 +1 @@
1
- {"version":3,"file":"cli-cmd-doctor.d.ts","sourceRoot":"","sources":["../src/cli-cmd-doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAmBnD,6EAA6E;AAC7E,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,gFAAgF;AAChF,eAAO,MAAM,iCAAiC,KAAK,CAAC;AA8BpD,wBAAsB,SAAS,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAoD/G;AAoQD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMzE"}
1
+ {"version":3,"file":"cli-cmd-doctor.d.ts","sourceRoot":"","sources":["../src/cli-cmd-doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAmBnD,6EAA6E;AAC7E,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,gFAAgF;AAChF,eAAO,MAAM,iCAAiC,KAAK,CAAC;AAgCpD,wBAAsB,SAAS,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAoD/G;AA8RD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMzE"}
@@ -235,6 +235,7 @@ function projectHealth(registry, providerId) {
235
235
  reliabilityScore: h.reliabilityScore,
236
236
  p95LatencyMs: h.p95LatencyMs,
237
237
  timeoutRate: h.timeoutRate,
238
+ samples: h.samples,
238
239
  };
239
240
  }
240
241
  catch {
@@ -264,32 +265,48 @@ function renderCredentials(findings) {
264
265
  }
265
266
  process.stdout.write("\n");
266
267
  }
268
+ /** Lifecycle rows shown before `doctor` summarises the rest. */
269
+ const LIFECYCLE_ROWS_SHOWN = 25;
270
+ function lifecycleTag(f) {
271
+ const days = f.daysUntilSunset;
272
+ if (f.status === "missing")
273
+ return { tag: c(RED, "missing"), rank: 0, kind: "missing" };
274
+ if (days !== null && days < 0)
275
+ return { tag: c(RED, `sunset ${-days}d ago`), rank: 1, kind: "past sunset" };
276
+ if (f.status === "retired")
277
+ return { tag: c(RED, "retired"), rank: 2, kind: "retired" };
278
+ if (days !== null && days <= 14)
279
+ return { tag: c(RED, `sunsets in ${days}d`), rank: 3, kind: "sunsetting" };
280
+ if (days !== null && days <= 60)
281
+ return { tag: c(YELLOW, `sunsets in ${days}d`), rank: 4, kind: "sunsetting" };
282
+ if (f.status === "deprecated")
283
+ return { tag: c(YELLOW, "deprecated"), rank: 5, kind: "deprecated" };
284
+ if (days !== null)
285
+ return { tag: c(DIM, `sunsets in ${days}d`), rank: 6, kind: "sunsetting" };
286
+ return { tag: c(DIM, f.status ?? "unknown"), rank: 7, kind: f.status ?? "unknown" };
287
+ }
267
288
  function renderDeprecations(findings) {
268
289
  process.stdout.write(`${c(CYAN, "Model lifecycle")}\n`);
269
290
  if (findings.length === 0) {
270
291
  process.stdout.write(c(DIM, " No deprecation signals from any provider catalogue.\n\n"));
271
292
  return;
272
293
  }
273
- for (const f of findings) {
274
- const days = f.daysUntilSunset;
275
- let tag;
276
- if (f.status === "retired")
277
- tag = c(RED, "retired");
278
- else if (f.status === "missing")
279
- tag = c(RED, "missing");
280
- else if (days !== null && days <= 14)
281
- tag = c(RED, `sunsets in ${days}d`);
282
- else if (days !== null && days <= 60)
283
- tag = c(YELLOW, `sunsets in ${days}d`);
284
- else if (f.status === "deprecated")
285
- tag = c(YELLOW, "deprecated");
286
- else if (days !== null)
287
- tag = c(DIM, `sunsets in ${days}d`);
288
- else
289
- tag = c(DIM, f.status ?? "unknown");
294
+ // Most urgent first, stable within a rank; a full catalog has hundreds of
295
+ // rows, so show the top ones and count the rest.
296
+ const rows = findings
297
+ .map((f, i) => ({ f, i, ...lifecycleTag(f) }))
298
+ .sort((a, b) => a.rank - b.rank || (a.f.daysUntilSunset ?? 0) - (b.f.daysUntilSunset ?? 0) || a.i - b.i);
299
+ const counts = new Map();
300
+ for (const row of rows)
301
+ counts.set(row.kind, (counts.get(row.kind) ?? 0) + 1);
302
+ process.stdout.write(c(DIM, ` ${[...counts].map(([kind, n]) => `${n} ${kind}`).join(", ")}\n`));
303
+ for (const { f, tag } of rows.slice(0, LIFECYCLE_ROWS_SHOWN)) {
290
304
  const replacement = f.replacedBy ? c(DIM, ` -> ${f.replacedBy}`) : "";
291
305
  process.stdout.write(` ${tag} ${f.provider}/${f.modelId}${replacement}\n`);
292
306
  }
307
+ if (rows.length > LIFECYCLE_ROWS_SHOWN) {
308
+ process.stdout.write(c(DIM, ` …and ${rows.length - LIFECYCLE_ROWS_SHOWN} more; \`kosha doctor --json\` lists every one.\n`));
309
+ }
293
310
  process.stdout.write("\n");
294
311
  }
295
312
  function renderHealth(findings) {
@@ -298,12 +315,20 @@ function renderHealth(findings) {
298
315
  process.stdout.write(c(DIM, " No providers in the registry yet — run `kosha discover`.\n"));
299
316
  return;
300
317
  }
318
+ // A provider kosha has never called has no health to report; "ok, 100%"
319
+ // would be a claim with no data behind it.
320
+ const unused = findings.filter((h) => h.samples === 0 && h.available);
301
321
  for (const h of findings) {
322
+ if (h.samples === 0 && h.available)
323
+ continue;
302
324
  const tag = h.available ? (h.reliabilityScore >= 0.95 ? c(GREEN, "ok") : c(YELLOW, "degraded")) : c(RED, "open");
303
325
  const p95 = h.p95LatencyMs !== null ? `${h.p95LatencyMs}ms` : "no samples";
304
326
  const reliability = (h.reliabilityScore * 100).toFixed(0);
305
327
  process.stdout.write(` ${tag} ${h.providerId.padEnd(14)} ${c(DIM, `reliability=${reliability}%`)} ${c(DIM, `p95=${p95}`)}\n`);
306
328
  }
329
+ if (unused.length > 0) {
330
+ process.stdout.write(c(DIM, ` no calls yet (${unused.length}): ${unused.map((h) => h.providerId).join(", ")}\n`));
331
+ }
307
332
  }
308
333
  /**
309
334
  * Whole days from `nowMs` to `isoDate`, counted on the UTC calendar.
@@ -1 +1 @@
1
- {"version":3,"file":"cli-cmd-doctor.js","sourceRoot":"","sources":["../src/cli-cmd-doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-cmd-doctor.js","sourceRoot":"","sources":["../src/cli-cmd-doctor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cli-cmd-model.d.ts","sourceRoot":"","sources":["../src/cli-cmd-model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAmBH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAInD;;;;;;;;;;GAUG;AACH,wBAAsB,QAAQ,CAC7B,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GACrC,OAAO,CAAC,IAAI,CAAC,CA8Ff;AAID;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAC/B,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GACrC,OAAO,CAAC,IAAI,CAAC,CAoEf;AAID;;;;;;;;;;;;GAYG;AACH,wBAAsB,SAAS,CAC9B,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GACrC,OAAO,CAAC,IAAI,CAAC,CAmDf"}
1
+ {"version":3,"file":"cli-cmd-model.d.ts","sourceRoot":"","sources":["../src/cli-cmd-model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAoBH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAInD;;;;;;;;;;GAUG;AACH,wBAAsB,QAAQ,CAC7B,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GACrC,OAAO,CAAC,IAAI,CAAC,CA8Ff;AAID;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAC/B,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GACrC,OAAO,CAAC,IAAI,CAAC,CAoEf;AAID;;;;;;;;;;;;GAYG;AACH,wBAAsB,SAAS,CAC9B,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GACrC,OAAO,CAAC,IAAI,CAAC,CA4Df"}
@@ -12,6 +12,7 @@
12
12
  import { ensureDiscovered } from "./cli-commands.js";
13
13
  import { BOLD, CYAN, c, DIM, formatBatchDiscount, formatNumber, formatPrice, formatTimestamp, GREEN, RED, renderTable, YELLOW, } from "./cli-format.js";
14
14
  import { isPlanBilled } from "./discovery/free-tier.js";
15
+ import { isRetired } from "./lifecycle.js";
15
16
  // ── model (detail view) ─────────────────────────────────────────────────
16
17
  /**
17
18
  * Show detailed information for a single model identified by id or alias.
@@ -217,7 +218,7 @@ export async function cmdRoutes(registry, modelId, flags) {
217
218
  { header: "$/M out", width: 8, align: "right" },
218
219
  ];
219
220
  const rows = routes.map((route) => [
220
- route.isPreferred ? c(GREEN, "*") : route.isDirect ? c(CYAN, "\u00B7") : " ",
221
+ isRetired(route.model) ? c(RED, "x") : route.isPreferred ? c(GREEN, "*") : route.isDirect ? c(CYAN, "\u00B7") : " ",
221
222
  c(CYAN, route.provider),
222
223
  route.model.id,
223
224
  route.model.region ?? c(DIM, "\u2014"),
@@ -233,5 +234,9 @@ export async function cmdRoutes(registry, modelId, flags) {
233
234
  if (preferred) {
234
235
  console.log(c(DIM, `\nPreferred route: ${preferred.provider} (${preferred.baseUrl ?? "base URL unknown"})`));
235
236
  }
237
+ const retired = routes.filter((route) => isRetired(route.model)).length;
238
+ if (retired > 0) {
239
+ console.log(c(DIM, `${retired === routes.length ? "Every route" : `${retired} route(s)`} marked x is past its sunset and no longer served.`));
240
+ }
236
241
  }
237
242
  //# sourceMappingURL=cli-cmd-model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-cmd-model.js","sourceRoot":"","sources":["../src/cli-cmd-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-cmd-model.js","sourceRoot":"","sources":["../src/cli-cmd-model.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  /**
2
2
  * `kosha registry export` — write the current catalog to a file.
3
+ * `kosha registry accept <provider>/<model>` — accept a price quarantine holds.
3
4
  *
4
5
  * The output uses the same envelope as kosha's weekly snapshot, so it can
5
6
  * be fed straight back in as a `local` catalog
@@ -8,5 +9,5 @@
8
9
  * @module
9
10
  */
10
11
  import type { ModelRegistry } from "./registry.js";
11
- export declare function cmdRegistry(registry: ModelRegistry, subcommand: string | undefined, flags: Record<string, string | boolean>): Promise<void>;
12
+ export declare function cmdRegistry(registry: ModelRegistry, subcommand: string | undefined, flags: Record<string, string | boolean>, modelRef?: string): Promise<void>;
12
13
  //# sourceMappingURL=cli-cmd-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-cmd-registry.d.ts","sourceRoot":"","sources":["../src/cli-cmd-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,wBAAsB,WAAW,CAChC,QAAQ,EAAE,aAAa,EACvB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GACrC,OAAO,CAAC,IAAI,CAAC,CA4Bf"}
1
+ {"version":3,"file":"cli-cmd-registry.d.ts","sourceRoot":"","sources":["../src/cli-cmd-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,wBAAsB,WAAW,CAChC,QAAQ,EAAE,aAAa,EACvB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EACvC,QAAQ,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAiCf"}