@sriinnu/kosha-discovery 1.2.0 → 1.5.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.
- package/README.md +125 -52
- package/dist/aliases.d.ts +6 -1
- package/dist/aliases.d.ts.map +1 -1
- package/dist/aliases.js +38 -12
- package/dist/aliases.js.map +1 -1
- package/dist/cache.d.ts.map +1 -1
- package/dist/cache.js +40 -3
- package/dist/cache.js.map +1 -1
- package/dist/claude-generation.d.ts +59 -0
- package/dist/claude-generation.d.ts.map +1 -0
- package/dist/claude-generation.js +117 -0
- package/dist/claude-generation.js.map +1 -0
- package/dist/cli-cmd-doctor.d.ts +17 -0
- package/dist/cli-cmd-doctor.d.ts.map +1 -0
- package/dist/cli-cmd-doctor.js +199 -0
- package/dist/cli-cmd-doctor.js.map +1 -0
- package/dist/cli-cmd-model.js +2 -2
- package/dist/cli-cmd-model.js.map +1 -1
- package/dist/cli-cmd-spend.d.ts +10 -0
- package/dist/cli-cmd-spend.d.ts.map +1 -0
- package/dist/cli-cmd-spend.js +130 -0
- package/dist/cli-cmd-spend.js.map +1 -0
- package/dist/cli-commands.d.ts +4 -1
- package/dist/cli-commands.d.ts.map +1 -1
- package/dist/cli-commands.js +10 -2
- package/dist/cli-commands.js.map +1 -1
- package/dist/cli-format.js.map +1 -1
- package/dist/cli-help.d.ts.map +1 -1
- package/dist/cli-help.js +13 -2
- package/dist/cli-help.js.map +1 -1
- package/dist/cli.js +10 -0
- package/dist/cli.js.map +1 -1
- package/dist/cost.d.ts +152 -0
- package/dist/cost.d.ts.map +1 -0
- package/dist/cost.js +377 -0
- package/dist/cost.js.map +1 -0
- package/dist/credentials/resolver.d.ts +10 -0
- package/dist/credentials/resolver.d.ts.map +1 -1
- package/dist/credentials/resolver.js +64 -31
- package/dist/credentials/resolver.js.map +1 -1
- package/dist/discovery/anthropic.d.ts +19 -1
- package/dist/discovery/anthropic.d.ts.map +1 -1
- package/dist/discovery/anthropic.js +112 -8
- package/dist/discovery/anthropic.js.map +1 -1
- package/dist/discovery/base.d.ts +7 -0
- package/dist/discovery/base.d.ts.map +1 -1
- package/dist/discovery/base.js +32 -4
- package/dist/discovery/base.js.map +1 -1
- package/dist/discovery/bedrock.d.ts.map +1 -1
- package/dist/discovery/cerebras.d.ts.map +1 -1
- package/dist/discovery/cohere.d.ts.map +1 -1
- package/dist/discovery/deepinfra.d.ts.map +1 -1
- package/dist/discovery/deepseek.d.ts.map +1 -1
- package/dist/discovery/fireworks.d.ts.map +1 -1
- package/dist/discovery/glm.d.ts.map +1 -1
- package/dist/discovery/google.d.ts +3 -1
- package/dist/discovery/google.d.ts.map +1 -1
- package/dist/discovery/google.js +13 -6
- package/dist/discovery/google.js.map +1 -1
- package/dist/discovery/groq.d.ts.map +1 -1
- package/dist/discovery/index.d.ts +2 -0
- package/dist/discovery/index.d.ts.map +1 -1
- package/dist/discovery/index.js +6 -0
- package/dist/discovery/index.js.map +1 -1
- package/dist/discovery/llama-cpp.d.ts.map +1 -1
- package/dist/discovery/lmstudio.d.ts +26 -0
- package/dist/discovery/lmstudio.d.ts.map +1 -0
- package/dist/discovery/lmstudio.js +93 -0
- package/dist/discovery/lmstudio.js.map +1 -0
- package/dist/discovery/minimax.d.ts.map +1 -1
- package/dist/discovery/mistral.d.ts.map +1 -1
- package/dist/discovery/moonshot.d.ts.map +1 -1
- package/dist/discovery/nvidia.d.ts.map +1 -1
- package/dist/discovery/ollama.d.ts.map +1 -1
- package/dist/discovery/openai-compatible.d.ts.map +1 -1
- package/dist/discovery/openai.d.ts.map +1 -1
- package/dist/discovery/openrouter.d.ts +29 -5
- package/dist/discovery/openrouter.d.ts.map +1 -1
- package/dist/discovery/openrouter.js +56 -18
- package/dist/discovery/openrouter.js.map +1 -1
- package/dist/discovery/perplexity.d.ts.map +1 -1
- package/dist/discovery/promo-overrides.js.map +1 -1
- package/dist/discovery/static-direct.d.ts +9 -1
- package/dist/discovery/static-direct.d.ts.map +1 -1
- package/dist/discovery/static-direct.js +68 -7
- package/dist/discovery/static-direct.js.map +1 -1
- package/dist/discovery/together.d.ts.map +1 -1
- package/dist/discovery/vercel.d.ts.map +1 -1
- package/dist/discovery/vertex.d.ts.map +1 -1
- package/dist/discovery/vllm.d.ts +26 -0
- package/dist/discovery/vllm.d.ts.map +1 -0
- package/dist/discovery/vllm.js +93 -0
- package/dist/discovery/vllm.js.map +1 -0
- package/dist/discovery/zai.d.ts.map +1 -1
- package/dist/discovery-contract.d.ts +7 -0
- package/dist/discovery-contract.d.ts.map +1 -1
- package/dist/discovery-contract.js.map +1 -1
- package/dist/discovery-routes.d.ts +9 -0
- package/dist/discovery-routes.d.ts.map +1 -1
- package/dist/discovery-routes.js +106 -18
- package/dist/discovery-routes.js.map +1 -1
- package/dist/enrichment/litellm.d.ts +1 -1
- package/dist/enrichment/litellm.d.ts.map +1 -1
- package/dist/enrichment/litellm.js +3 -3
- package/dist/entry.d.ts +14 -0
- package/dist/entry.d.ts.map +1 -0
- package/dist/entry.js +26 -0
- package/dist/entry.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp-server.d.ts +207 -2
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +203 -51
- package/dist/mcp-server.js.map +1 -1
- package/dist/model-features.d.ts.map +1 -1
- package/dist/model-features.js +11 -2
- package/dist/model-features.js.map +1 -1
- package/dist/normalize.d.ts +7 -7
- package/dist/normalize.js +8 -8
- package/dist/provider-catalog.d.ts.map +1 -1
- package/dist/provider-catalog.js +26 -0
- package/dist/provider-catalog.js.map +1 -1
- package/dist/proxy.d.ts +49 -7
- package/dist/proxy.d.ts.map +1 -1
- package/dist/proxy.js +754 -89
- package/dist/proxy.js.map +1 -1
- package/dist/registry-query.js +2 -2
- package/dist/registry-query.js.map +1 -1
- package/dist/registry-routing.d.ts +65 -0
- package/dist/registry-routing.d.ts.map +1 -0
- package/dist/registry-routing.js +165 -0
- package/dist/registry-routing.js.map +1 -0
- package/dist/registry-runtime.d.ts +2 -0
- package/dist/registry-runtime.d.ts.map +1 -1
- package/dist/registry-runtime.js +177 -23
- package/dist/registry-runtime.js.map +1 -1
- package/dist/registry-selection.js +6 -0
- package/dist/registry-selection.js.map +1 -1
- package/dist/registry.d.ts +69 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +133 -1
- package/dist/registry.js.map +1 -1
- package/dist/resilience.d.ts +15 -0
- package/dist/resilience.d.ts.map +1 -1
- package/dist/resilience.js +23 -1
- package/dist/resilience.js.map +1 -1
- package/dist/server.d.ts +44 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +328 -33
- package/dist/server.js.map +1 -1
- package/dist/tally.d.ts +80 -0
- package/dist/tally.d.ts.map +1 -0
- package/dist/tally.js +176 -0
- package/dist/tally.js.map +1 -0
- package/dist/types.d.ts +22 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/wire-anthropic.d.ts +264 -0
- package/dist/wire-anthropic.d.ts.map +1 -0
- package/dist/wire-anthropic.js +960 -0
- package/dist/wire-anthropic.js.map +1 -0
- package/package.json +14 -10
- package/logo.png +0 -0
package/dist/registry-runtime.js
CHANGED
|
@@ -35,6 +35,11 @@ export async function registryDiscover(state, dependencies, options) {
|
|
|
35
35
|
if (!force) {
|
|
36
36
|
const loaded = await dependencies.loadFromCache(providers);
|
|
37
37
|
if (loaded) {
|
|
38
|
+
// Attribute pricing provenance on cache rehydration so entries
|
|
39
|
+
// persisted before pricingSource existed still get a trustworthy
|
|
40
|
+
// tag. No enrichment ran here, so every priced model is treated
|
|
41
|
+
// as discovery-origin.
|
|
42
|
+
attributePricingSources(state, capturePricedModelKeys(state));
|
|
38
43
|
dependencies.recordDiscoveryMutation(beforeSnapshot);
|
|
39
44
|
// Only refresh the canonical manifest for full-registry cache hits.
|
|
40
45
|
// Scoped provider rehydration can carry cache-derived state that should
|
|
@@ -65,6 +70,11 @@ export async function registryDiscover(state, dependencies, options) {
|
|
|
65
70
|
timestamp: Date.now(),
|
|
66
71
|
});
|
|
67
72
|
}
|
|
73
|
+
// Snapshot which models the discoverers already priced, BEFORE the
|
|
74
|
+
// litellm enrichment pass runs. Pricing present here is attributed to
|
|
75
|
+
// the discoverer's own origin (provider-live API vs static seed);
|
|
76
|
+
// pricing that only appears after enrichment is attributed to litellm.
|
|
77
|
+
const preEnrichmentPriced = capturePricedModelKeys(state);
|
|
68
78
|
if (options?.enrichWithPricing ?? true) {
|
|
69
79
|
await dependencies.enrichModels();
|
|
70
80
|
}
|
|
@@ -76,6 +86,9 @@ export async function registryDiscover(state, dependencies, options) {
|
|
|
76
86
|
models: applyPromoOverrides(providerInfo.models),
|
|
77
87
|
});
|
|
78
88
|
}
|
|
89
|
+
// Attribute pricing provenance at the enrich/merge boundary now that
|
|
90
|
+
// every pricing pass (API, seed, litellm enrichment, promo) has run.
|
|
91
|
+
attributePricingSources(state, preEnrichmentPriced);
|
|
79
92
|
dependencies.populateModelAliases();
|
|
80
93
|
state.discoveredAt = Date.now();
|
|
81
94
|
await dependencies.saveToCache();
|
|
@@ -198,6 +211,10 @@ export async function registryEnrichOnly(state) {
|
|
|
198
211
|
state.discoveredAt = allEntry.timestamp;
|
|
199
212
|
// Snapshot pricing before enrichment to count how many models get updates.
|
|
200
213
|
const before = countPricingFields(state);
|
|
214
|
+
// Snapshot which models were already priced before this enrichment-only
|
|
215
|
+
// pass, so provenance attribution can tell litellm-filled rates apart
|
|
216
|
+
// from rates the cache already carried.
|
|
217
|
+
const preEnrichmentPriced = capturePricedModelKeys(state);
|
|
201
218
|
await enrichRegistryModels(state);
|
|
202
219
|
for (const [providerId, providerInfo] of state.providerMap) {
|
|
203
220
|
state.providerMap.set(providerId, {
|
|
@@ -205,6 +222,7 @@ export async function registryEnrichOnly(state) {
|
|
|
205
222
|
models: applyPromoOverrides(providerInfo.models),
|
|
206
223
|
});
|
|
207
224
|
}
|
|
225
|
+
attributePricingSources(state, preEnrichmentPriced);
|
|
208
226
|
populateRegistryModelAliases(state);
|
|
209
227
|
await saveRegistryToCache(state);
|
|
210
228
|
await exportRegistryManifest(state);
|
|
@@ -228,6 +246,74 @@ function countPricingFields(state) {
|
|
|
228
246
|
}
|
|
229
247
|
return { cachePricing, batchPricing };
|
|
230
248
|
}
|
|
249
|
+
/**
|
|
250
|
+
* True when a model carries defined input AND output rates. Zero counts as
|
|
251
|
+
* defined (free-tier); `undefined` does not. Matches the predicate the
|
|
252
|
+
* cheapest-model query treats as "usable pricing" so attribution and routing
|
|
253
|
+
* agree on what "priced" means.
|
|
254
|
+
*/
|
|
255
|
+
function modelHasUsablePricing(model) {
|
|
256
|
+
const pricing = model.pricing;
|
|
257
|
+
return (!!pricing &&
|
|
258
|
+
pricing.inputPerMillion !== undefined &&
|
|
259
|
+
pricing.outputPerMillion !== undefined);
|
|
260
|
+
}
|
|
261
|
+
/** Stable key for a (provider, model) pair used by provenance snapshots. */
|
|
262
|
+
function modelPricingKey(providerId, model) {
|
|
263
|
+
return `${providerId}:${model.id}`;
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Snapshot the set of (provider, model) keys that already carry usable
|
|
267
|
+
* pricing, captured before the litellm enrichment pass so the attribution
|
|
268
|
+
* step can distinguish discovery-origin rates from enrichment-filled ones.
|
|
269
|
+
*/
|
|
270
|
+
function capturePricedModelKeys(state) {
|
|
271
|
+
const keys = new Set();
|
|
272
|
+
for (const [providerId, providerInfo] of state.providerMap) {
|
|
273
|
+
for (const model of providerInfo.models) {
|
|
274
|
+
if (modelHasUsablePricing(model)) {
|
|
275
|
+
keys.add(modelPricingKey(providerId, model));
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
return keys;
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Attribute `pricingSource` provenance at the enrich/merge boundary.
|
|
283
|
+
*
|
|
284
|
+
* `preEnrichmentPriced` is the snapshot of models that were already priced
|
|
285
|
+
* before the litellm enrichment pass ran. The rules are conservative:
|
|
286
|
+
*
|
|
287
|
+
* - Already priced before enrichment → discovery origin, split by the
|
|
288
|
+
* model's `source` field: `"api"` means the serving API returned live
|
|
289
|
+
* rates (`provider-live`); `"litellm"` / `"manual"` / `"local"` mean a
|
|
290
|
+
* keyless seed or hand-curated entry supplied the rates (`static-seed`).
|
|
291
|
+
* - Priced only after enrichment → `litellm`.
|
|
292
|
+
* - Still unpriced after every pass → `missing`.
|
|
293
|
+
*
|
|
294
|
+
* Idempotent: a model that already carries a `pricingSource` (e.g. carried
|
|
295
|
+
* in from a cache written by a newer build, or re-attributed on a second
|
|
296
|
+
* pass) is left untouched.
|
|
297
|
+
*/
|
|
298
|
+
function attributePricingSources(state, preEnrichmentPriced) {
|
|
299
|
+
for (const [providerId, providerInfo] of state.providerMap) {
|
|
300
|
+
for (const model of providerInfo.models) {
|
|
301
|
+
if (model.pricingSource)
|
|
302
|
+
continue;
|
|
303
|
+
if (modelHasUsablePricing(model)) {
|
|
304
|
+
const fromDiscovery = preEnrichmentPriced.has(modelPricingKey(providerId, model));
|
|
305
|
+
model.pricingSource = fromDiscovery
|
|
306
|
+
? model.source === "api"
|
|
307
|
+
? "provider-live"
|
|
308
|
+
: "static-seed"
|
|
309
|
+
: "litellm";
|
|
310
|
+
}
|
|
311
|
+
else {
|
|
312
|
+
model.pricingSource = "missing";
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
}
|
|
231
317
|
/**
|
|
232
318
|
* Populate reverse aliases onto discovered models for legacy consumers.
|
|
233
319
|
*/
|
|
@@ -446,13 +532,9 @@ async function rotateBackup(manifestPath) {
|
|
|
446
532
|
const base = manifestPath.slice(dir.length + 1);
|
|
447
533
|
const today = new Date().toISOString().slice(0, 10); // YYYY-MM-DD
|
|
448
534
|
const todayBak = join(dir, `${base}.bak.${today}`);
|
|
449
|
-
// Only rotate if
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
}
|
|
453
|
-
catch {
|
|
454
|
-
return; // no current manifest, nothing to back up
|
|
455
|
-
}
|
|
535
|
+
// Only rotate if today's bak slot is empty and the manifest exists.
|
|
536
|
+
// Checked in this order — cheap slot check before the read — so a
|
|
537
|
+
// taken slot short-circuits without touching the manifest at all.
|
|
456
538
|
try {
|
|
457
539
|
await stat(todayBak);
|
|
458
540
|
return; // today's slot already taken — first writer of the day wins
|
|
@@ -463,8 +545,22 @@ async function rotateBackup(manifestPath) {
|
|
|
463
545
|
// Copy the current manifest to today's bak slot. We copy rather than
|
|
464
546
|
// rename so the live manifest stays in place during the gap between
|
|
465
547
|
// rotation and the new rename(2) below.
|
|
548
|
+
//
|
|
549
|
+
// Read directly instead of stat()-then-readFile() on the path: a
|
|
550
|
+
// stat() that only confirms existence adds a check-then-use gap
|
|
551
|
+
// (CodeQL js/file-system-race) for no benefit, since the read below
|
|
552
|
+
// has to handle a missing/racing file anyway. Attempting the read and
|
|
553
|
+
// treating ENOENT as "nothing to back up" removes the gap outright.
|
|
466
554
|
const { readFile } = await import("fs/promises");
|
|
467
|
-
|
|
555
|
+
let data;
|
|
556
|
+
try {
|
|
557
|
+
data = await readFile(manifestPath);
|
|
558
|
+
}
|
|
559
|
+
catch (err) {
|
|
560
|
+
if (err?.code === "ENOENT")
|
|
561
|
+
return; // no current manifest, nothing to back up
|
|
562
|
+
throw err;
|
|
563
|
+
}
|
|
468
564
|
const tmp = `${todayBak}.${randomBytes(4).toString("hex")}.tmp`;
|
|
469
565
|
try {
|
|
470
566
|
await writeFile(tmp, data);
|
|
@@ -562,7 +658,17 @@ async function readPreviousManifest(manifestPath) {
|
|
|
562
658
|
return null; // missing or unreadable
|
|
563
659
|
}
|
|
564
660
|
}
|
|
565
|
-
|
|
661
|
+
/** Beyond this fractional rate change in either direction, we treat a fresh
|
|
662
|
+
* price as suspect and keep the previous value (quarantine). The 25% delta
|
|
663
|
+
* used by anomaly logging is a UI-alert threshold; quarantine fires only on
|
|
664
|
+
* a much larger swing so legitimate price updates aren't blocked. */
|
|
665
|
+
const PRICING_QUARANTINE_THRESHOLD = 0.75;
|
|
666
|
+
/** After this many consecutive discovery passes in which a previously-known
|
|
667
|
+
* model is missing from the fresh snapshot, the model is dropped from the
|
|
668
|
+
* merged manifest. Prevents the manifest from becoming a graveyard of
|
|
669
|
+
* deprecated SKUs while still riding through transient outages. */
|
|
670
|
+
const MISSING_RUNS_TTL = 14;
|
|
671
|
+
export function mergeManifests(previous, fresh) {
|
|
566
672
|
if (!previous)
|
|
567
673
|
return fresh;
|
|
568
674
|
// Index previous entries by key so we can both detect collisions AND
|
|
@@ -572,35 +678,48 @@ function mergeManifests(previous, fresh) {
|
|
|
572
678
|
if (m.key)
|
|
573
679
|
previousByKey.set(m.key, m);
|
|
574
680
|
}
|
|
575
|
-
// Per-model merge with
|
|
576
|
-
// (1) Old entries fresh dropped entirely → keep
|
|
681
|
+
// Per-model merge with three rules:
|
|
682
|
+
// (1) Old entries fresh dropped entirely → keep until missingRunCount
|
|
683
|
+
// exceeds MISSING_RUNS_TTL (model lifecycle TTL).
|
|
577
684
|
// (2) Fresh entries that came back with NO pricing while the old entry
|
|
578
685
|
// HAD pricing → keep the old pricing block (degraded-fresh defence).
|
|
579
|
-
//
|
|
580
|
-
//
|
|
581
|
-
//
|
|
686
|
+
// (3) Fresh entries whose rates moved beyond PRICING_QUARANTINE_THRESHOLD
|
|
687
|
+
// → keep the previous pricing and tag the row pricing_quarantined,
|
|
688
|
+
// so a one-shot bad publish (provider returns 0, garbage units, …)
|
|
689
|
+
// can't silently overcharge or underprice downstream consumers.
|
|
582
690
|
const freshModelKeys = new Set();
|
|
583
691
|
const mergedModels = [];
|
|
584
692
|
for (const f of fresh.models ?? []) {
|
|
585
693
|
if (f.key)
|
|
586
694
|
freshModelKeys.add(f.key);
|
|
587
695
|
const old = f.key ? previousByKey.get(f.key) : undefined;
|
|
696
|
+
let kept = { ...f, missingRunCount: 0 };
|
|
588
697
|
if (old && !hasUsablePricing(f) && hasUsablePricing(old)) {
|
|
589
698
|
// Keep all of fresh's metadata but restore pricing from old.
|
|
590
|
-
|
|
591
|
-
|
|
699
|
+
kept = { ...kept, pricing: old.pricing, originPricing: old.originPricing };
|
|
700
|
+
}
|
|
701
|
+
else if (old && quarantinePricingMove(old, f)) {
|
|
702
|
+
// Quarantine the suspect rates: keep the old pricing block and
|
|
703
|
+
// tag the operational `rawCapabilities` array (the trusted
|
|
704
|
+
// `capabilities` taxonomy stays clean, since this isn't a routing
|
|
705
|
+
// signal — it's a "don't trust the freshly-published rate" flag).
|
|
706
|
+
kept = {
|
|
707
|
+
...kept,
|
|
592
708
|
pricing: old.pricing,
|
|
593
709
|
originPricing: old.originPricing,
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
else {
|
|
597
|
-
mergedModels.push(f);
|
|
710
|
+
rawCapabilities: tagCapability(kept.rawCapabilities, "pricing_quarantined"),
|
|
711
|
+
};
|
|
598
712
|
}
|
|
713
|
+
mergedModels.push(kept);
|
|
599
714
|
}
|
|
600
715
|
for (const old of previous.models) {
|
|
601
|
-
if (old.key
|
|
602
|
-
|
|
603
|
-
|
|
716
|
+
if (!old.key || freshModelKeys.has(old.key))
|
|
717
|
+
continue;
|
|
718
|
+
const prevMissing = old.missingRunCount ?? 0;
|
|
719
|
+
const nextMissing = prevMissing + 1;
|
|
720
|
+
if (nextMissing > MISSING_RUNS_TTL)
|
|
721
|
+
continue; // drop after TTL
|
|
722
|
+
mergedModels.push({ ...old, missingRunCount: nextMissing });
|
|
604
723
|
}
|
|
605
724
|
const freshProviderIds = new Set((fresh.providers ?? []).map((p) => p.providerId));
|
|
606
725
|
const mergedProviders = [...(fresh.providers ?? [])];
|
|
@@ -615,6 +734,41 @@ function mergeManifests(previous, fresh) {
|
|
|
615
734
|
providers: mergedProviders,
|
|
616
735
|
};
|
|
617
736
|
}
|
|
737
|
+
/** True if any defined per-million rate moved by more than the quarantine
|
|
738
|
+
* threshold (either direction), compared to the previous snapshot. */
|
|
739
|
+
function quarantinePricingMove(previous, fresh) {
|
|
740
|
+
const fields = [
|
|
741
|
+
"inputPerMillion",
|
|
742
|
+
"outputPerMillion",
|
|
743
|
+
"cacheReadPerMillion",
|
|
744
|
+
"cacheWritePerMillion",
|
|
745
|
+
];
|
|
746
|
+
for (const side of ["pricing", "originPricing"]) {
|
|
747
|
+
const a = previous[side] ?? null;
|
|
748
|
+
const b = fresh[side] ?? null;
|
|
749
|
+
if (!a || !b)
|
|
750
|
+
continue;
|
|
751
|
+
for (const field of fields) {
|
|
752
|
+
const prev = a[field];
|
|
753
|
+
const next = b[field];
|
|
754
|
+
if (typeof prev !== "number" || typeof next !== "number")
|
|
755
|
+
continue;
|
|
756
|
+
if (prev === 0 || next === 0)
|
|
757
|
+
continue; // zero on either side is a "not reported" placeholder, not a price move
|
|
758
|
+
if (prev === next)
|
|
759
|
+
continue;
|
|
760
|
+
if (Math.abs((next - prev) / prev) >= PRICING_QUARANTINE_THRESHOLD)
|
|
761
|
+
return true;
|
|
762
|
+
}
|
|
763
|
+
}
|
|
764
|
+
return false;
|
|
765
|
+
}
|
|
766
|
+
/** Add a capability tag exactly once, preserving order. */
|
|
767
|
+
function tagCapability(existing, tag) {
|
|
768
|
+
if (!existing)
|
|
769
|
+
return [tag];
|
|
770
|
+
return existing.includes(tag) ? existing : [...existing, tag];
|
|
771
|
+
}
|
|
618
772
|
/** True if the entry carries defined input + output rates on EITHER the
|
|
619
773
|
* origin (direct provider) side OR the proxy (`pricing`) side — even zero
|
|
620
774
|
* (free-tier). Anything else is "pricing-degraded" for our purposes.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-runtime.js","sourceRoot":"","sources":["../src/registry-runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registry-runtime.js","sourceRoot":"","sources":["../src/registry-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -121,6 +121,12 @@ export function discoveryQueryRecord(query) {
|
|
|
121
121
|
};
|
|
122
122
|
}
|
|
123
123
|
function modelMatchesDiscoveryQuery(model, descriptor, query) {
|
|
124
|
+
// Retired models are no longer served — exclude them from the routable
|
|
125
|
+
// candidate pool entirely so cheapest/binding projections never suggest a
|
|
126
|
+
// dead route. Deprecated models stay selectable (consumers may surface a
|
|
127
|
+
// migration warning) and are only demoted at the routing-rank layer.
|
|
128
|
+
if (model.status === "retired")
|
|
129
|
+
return false;
|
|
124
130
|
const capabilities = trustedCapabilitiesForModel(model, descriptor);
|
|
125
131
|
// I only trust normalized capabilities here so free-form discoverer tags do not leak into route semantics.
|
|
126
132
|
const capability = normalizeTrustedCapabilityToken(query.capability);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-selection.js","sourceRoot":"","sources":["../src/registry-selection.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACN,wBAAwB,EACxB,2BAA2B,GAC3B,MAAM,yBAAyB,CAAC;AAOjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EACN,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,0BAA0B,GAC1B,MAAM,qBAAqB,CAAC;AAI7B;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACzC,KAAoB,EACpB,
|
|
1
|
+
{"version":3,"file":"registry-selection.js","sourceRoot":"","sources":["../src/registry-selection.ts"],"names":[],"mappings":"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"}
|
package/dist/registry.d.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* lives in focused helper modules that stay under the file-size policy.
|
|
6
6
|
* @module
|
|
7
7
|
*/
|
|
8
|
+
import { type RankedRoute, type RouteHealth, type RouteStrategy } from "./registry-routing.js";
|
|
8
9
|
import { type EnrichOnlyResult } from "./registry-runtime.js";
|
|
9
10
|
import type { DiscoveryBindingHintsV1, DiscoveryBindingQuery, DiscoveryCheapestResultV1, DiscoveryDeltaV1, DiscoverySnapshotV1 } from "./discovery-contract.js";
|
|
10
11
|
import type { ProviderHealth } from "./resilience.js";
|
|
@@ -14,6 +15,22 @@ import type { CapabilitySummary, CheapestModelOptions, CheapestModelResult, Disc
|
|
|
14
15
|
*/
|
|
15
16
|
export declare class ModelRegistry {
|
|
16
17
|
private readonly state;
|
|
18
|
+
/**
|
|
19
|
+
* FIFO tail used to serialize in-process discovery passes.
|
|
20
|
+
*
|
|
21
|
+
* `registryDiscover` mutates shared state (providerMap, deltaHistory,
|
|
22
|
+
* currentCursor, discoveryRevision, lastSnapshotCache) with no internal
|
|
23
|
+
* lock. Without serialization, two concurrent `discover()` calls — a
|
|
24
|
+
* POST /api/refresh racing boot, or two refreshes — both capture the same
|
|
25
|
+
* stale beforeSnapshot, both push a delta, and both rewrite the cursor,
|
|
26
|
+
* corrupting the v1 delta stream that daemon consumers sync on. Each
|
|
27
|
+
* `discover()` chains onto this tail so passes run strictly one after
|
|
28
|
+
* another; the stored tail always settles (it swallows rejection) so one
|
|
29
|
+
* failed pass can never dead-end the chain, while each caller still
|
|
30
|
+
* awaits its own promise and observes its own rejection. The cross-
|
|
31
|
+
* process manifest file lock is unchanged.
|
|
32
|
+
*/
|
|
33
|
+
private discoverChain;
|
|
17
34
|
constructor(config?: KoshaConfig);
|
|
18
35
|
/** Compatibility accessor retained for existing tests and debug hooks. */
|
|
19
36
|
private get providerMap();
|
|
@@ -30,6 +47,11 @@ export declare class ModelRegistry {
|
|
|
30
47
|
private set lastSnapshotCache(value);
|
|
31
48
|
/**
|
|
32
49
|
* Run discovery across all or selected providers.
|
|
50
|
+
*
|
|
51
|
+
* Serialized per-instance: concurrent calls queue FIFO on
|
|
52
|
+
* {@link discoverChain} so the v1 delta stream stays consistent. Each
|
|
53
|
+
* caller awaits its own turn and observes its own result or rejection —
|
|
54
|
+
* a failed pass never blocks the next one.
|
|
33
55
|
*/
|
|
34
56
|
discover(options?: DiscoveryOptions): Promise<ProviderInfo[]>;
|
|
35
57
|
/**
|
|
@@ -64,6 +86,19 @@ export declare class ModelRegistry {
|
|
|
64
86
|
missingCredentialPrompts(providerIds?: string[]): ProviderCredentialPrompt[];
|
|
65
87
|
/** Return the cheapest ranked legacy candidates for the requested query. */
|
|
66
88
|
cheapestModels(options?: CheapestModelOptions): CheapestModelResult;
|
|
89
|
+
/**
|
|
90
|
+
* Rank candidate routes for a query by a selection {@link RouteStrategy}
|
|
91
|
+
* — `cheapest` (price), `fastest` (observed p95 latency), `reliable`
|
|
92
|
+
* (circuit-breaker + timeout health), or `balanced` (a weighted blend).
|
|
93
|
+
*
|
|
94
|
+
* The candidate set is the same price-filtered pool as
|
|
95
|
+
* {@link cheapestModels}; the strategy only changes the ordering and folds
|
|
96
|
+
* in the runtime health kosha already tracks. Open-breaker providers always
|
|
97
|
+
* sort last, which is what makes this usable as a failover order.
|
|
98
|
+
*/
|
|
99
|
+
rankedRoutes(options?: CheapestModelOptions, strategy?: RouteStrategy): RankedRoute[];
|
|
100
|
+
/** Read-only runtime health for one provider (breaker state, latency, reliability). */
|
|
101
|
+
providerRouteHealth(providerId: string): RouteHealth;
|
|
67
102
|
/** Return every provider route for a normalized model identifier. */
|
|
68
103
|
modelRoutes(modelId: string): ModelCard[];
|
|
69
104
|
/** Return enriched route metadata for a normalized model identifier. */
|
|
@@ -88,12 +123,46 @@ export declare class ModelRegistry {
|
|
|
88
123
|
watchDiscovery(options?: {
|
|
89
124
|
sinceCursor?: string | null;
|
|
90
125
|
}): AsyncGenerator<DiscoveryDeltaV1, void, void>;
|
|
126
|
+
/**
|
|
127
|
+
* Subscribe to discovery deltas with a callback API. Easier to wire up
|
|
128
|
+
* from a long-running daemon than the async-iterator form. Returns an
|
|
129
|
+
* unsubscribe function so the caller can tear down on shutdown.
|
|
130
|
+
*
|
|
131
|
+
* Errors thrown by the handler are caught and forwarded to an optional
|
|
132
|
+
* `onError` callback so one bad subscriber can't crash the emitter for
|
|
133
|
+
* everyone else.
|
|
134
|
+
*/
|
|
135
|
+
onChange(handler: (delta: DiscoveryDeltaV1) => void | Promise<void>, onError?: (err: unknown) => void): () => void;
|
|
91
136
|
/** Return cheapest candidates using the trusted v1 capability taxonomy. */
|
|
92
137
|
cheapestCandidates(query?: DiscoveryBindingQuery): DiscoveryCheapestResultV1;
|
|
93
138
|
/** Return query-scoped binding hints without taking routing authority. */
|
|
94
139
|
executionBindingHints(query?: DiscoveryBindingQuery): DiscoveryBindingHintsV1;
|
|
95
140
|
/** Reset one provider breaker or the full health tracker. */
|
|
96
141
|
resetHealth(providerId?: string): void;
|
|
142
|
+
/**
|
|
143
|
+
* Feed a proxy request outcome back into routing health.
|
|
144
|
+
*
|
|
145
|
+
* The proxy layer calls this after every forwarded request so that
|
|
146
|
+
* `kosha:reliable` / `fastest` / `balanced` ranking reflects real serving
|
|
147
|
+
* traffic, not just discovery-ping latency. On success the provider's
|
|
148
|
+
* circuit breaker is notified (closing a half-open probe); on failure the
|
|
149
|
+
* breaker failure counter advances (opening after the configured
|
|
150
|
+
* threshold) and the normalized error class is recorded. The latency
|
|
151
|
+
* sample is appended to the same rolling observation store that discovery
|
|
152
|
+
* writes into, so all strategies see one unified health signal.
|
|
153
|
+
*
|
|
154
|
+
* Additive only — discovery continues to record its own observations; this
|
|
155
|
+
* just lets proxy traffic contribute to the same store.
|
|
156
|
+
*
|
|
157
|
+
* @param providerId - Serving-layer provider the request was forwarded to.
|
|
158
|
+
* @param outcome - Result of the proxied request.
|
|
159
|
+
*/
|
|
160
|
+
recordProxyOutcome(providerId: string, outcome: {
|
|
161
|
+
ok: boolean;
|
|
162
|
+
status?: number;
|
|
163
|
+
latencyMs: number;
|
|
164
|
+
errorType?: string;
|
|
165
|
+
}): void;
|
|
97
166
|
/** Aggregate capability statistics across the current model set. */
|
|
98
167
|
capabilities(filter?: {
|
|
99
168
|
provider?: string;
|
package/dist/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|