@sriinnu/kosha-discovery 0.6.0 → 1.0.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 (123) hide show
  1. package/README.md +53 -221
  2. package/dist/cli-cmd-model.d.ts +48 -0
  3. package/dist/cli-cmd-model.d.ts.map +1 -0
  4. package/dist/cli-cmd-model.js +231 -0
  5. package/dist/cli-cmd-model.js.map +1 -0
  6. package/dist/cli-cmd-query.d.ts +40 -0
  7. package/dist/cli-cmd-query.d.ts.map +1 -0
  8. package/dist/cli-cmd-query.js +303 -0
  9. package/dist/cli-cmd-query.js.map +1 -0
  10. package/dist/cli-commands.d.ts +65 -75
  11. package/dist/cli-commands.d.ts.map +1 -1
  12. package/dist/cli-commands.js +122 -504
  13. package/dist/cli-commands.js.map +1 -1
  14. package/dist/cli-format.d.ts +40 -0
  15. package/dist/cli-format.d.ts.map +1 -1
  16. package/dist/cli-format.js +74 -0
  17. package/dist/cli-format.js.map +1 -1
  18. package/dist/cli-help.d.ts +19 -0
  19. package/dist/cli-help.d.ts.map +1 -0
  20. package/dist/cli-help.js +150 -0
  21. package/dist/cli-help.js.map +1 -0
  22. package/dist/cli.js +5 -1
  23. package/dist/cli.js.map +1 -1
  24. package/dist/discovery/anthropic.d.ts +8 -1
  25. package/dist/discovery/anthropic.d.ts.map +1 -1
  26. package/dist/discovery/anthropic.js +26 -3
  27. package/dist/discovery/anthropic.js.map +1 -1
  28. package/dist/discovery/base.d.ts +26 -0
  29. package/dist/discovery/base.d.ts.map +1 -1
  30. package/dist/discovery/base.js +55 -2
  31. package/dist/discovery/base.js.map +1 -1
  32. package/dist/discovery/free-tier.d.ts +31 -0
  33. package/dist/discovery/free-tier.d.ts.map +1 -0
  34. package/dist/discovery/free-tier.js +47 -0
  35. package/dist/discovery/free-tier.js.map +1 -0
  36. package/dist/discovery/google.d.ts +8 -1
  37. package/dist/discovery/google.d.ts.map +1 -1
  38. package/dist/discovery/google.js +25 -3
  39. package/dist/discovery/google.js.map +1 -1
  40. package/dist/discovery/litellm-seed.d.ts +32 -0
  41. package/dist/discovery/litellm-seed.d.ts.map +1 -0
  42. package/dist/discovery/litellm-seed.js +252 -0
  43. package/dist/discovery/litellm-seed.js.map +1 -0
  44. package/dist/discovery/modelsdev-catalog.d.ts +95 -0
  45. package/dist/discovery/modelsdev-catalog.d.ts.map +1 -0
  46. package/dist/discovery/modelsdev-catalog.js +131 -0
  47. package/dist/discovery/modelsdev-catalog.js.map +1 -0
  48. package/dist/discovery/modelsdev-seed.d.ts +19 -0
  49. package/dist/discovery/modelsdev-seed.d.ts.map +1 -0
  50. package/dist/discovery/modelsdev-seed.js +203 -0
  51. package/dist/discovery/modelsdev-seed.js.map +1 -0
  52. package/dist/discovery/openai-compatible.d.ts.map +1 -1
  53. package/dist/discovery/openai-compatible.js +12 -1
  54. package/dist/discovery/openai-compatible.js.map +1 -1
  55. package/dist/discovery/openai.d.ts +9 -1
  56. package/dist/discovery/openai.d.ts.map +1 -1
  57. package/dist/discovery/openai.js +31 -8
  58. package/dist/discovery/openai.js.map +1 -1
  59. package/dist/discovery/openrouter.d.ts.map +1 -1
  60. package/dist/discovery/openrouter.js +18 -1
  61. package/dist/discovery/openrouter.js.map +1 -1
  62. package/dist/discovery/promo-overrides.d.ts +54 -0
  63. package/dist/discovery/promo-overrides.d.ts.map +1 -0
  64. package/dist/discovery/promo-overrides.js +74 -0
  65. package/dist/discovery/promo-overrides.js.map +1 -0
  66. package/dist/discovery/public-seed.d.ts +30 -0
  67. package/dist/discovery/public-seed.d.ts.map +1 -0
  68. package/dist/discovery/public-seed.js +51 -0
  69. package/dist/discovery/public-seed.js.map +1 -0
  70. package/dist/discovery-contract.d.ts +14 -2
  71. package/dist/discovery-contract.d.ts.map +1 -1
  72. package/dist/discovery-contract.js +28 -0
  73. package/dist/discovery-contract.js.map +1 -1
  74. package/dist/enrichment/litellm-catalog.d.ts +81 -0
  75. package/dist/enrichment/litellm-catalog.d.ts.map +1 -0
  76. package/dist/enrichment/litellm-catalog.js +129 -0
  77. package/dist/enrichment/litellm-catalog.js.map +1 -0
  78. package/dist/enrichment/litellm.d.ts +9 -2
  79. package/dist/enrichment/litellm.d.ts.map +1 -1
  80. package/dist/enrichment/litellm.js +192 -23
  81. package/dist/enrichment/litellm.js.map +1 -1
  82. package/dist/index.d.ts +3 -1
  83. package/dist/index.d.ts.map +1 -1
  84. package/dist/index.js +2 -0
  85. package/dist/index.js.map +1 -1
  86. package/dist/model-features.d.ts +77 -0
  87. package/dist/model-features.d.ts.map +1 -0
  88. package/dist/model-features.js +245 -0
  89. package/dist/model-features.js.map +1 -0
  90. package/dist/normalize.d.ts +13 -0
  91. package/dist/normalize.d.ts.map +1 -1
  92. package/dist/normalize.js +15 -0
  93. package/dist/normalize.js.map +1 -1
  94. package/dist/provider-catalog.d.ts +7 -0
  95. package/dist/provider-catalog.d.ts.map +1 -1
  96. package/dist/provider-catalog.js +4 -0
  97. package/dist/provider-catalog.js.map +1 -1
  98. package/dist/registry-discovery.d.ts.map +1 -1
  99. package/dist/registry-discovery.js +11 -1
  100. package/dist/registry-discovery.js.map +1 -1
  101. package/dist/registry-query.d.ts.map +1 -1
  102. package/dist/registry-query.js +6 -3
  103. package/dist/registry-query.js.map +1 -1
  104. package/dist/registry-runtime.d.ts +39 -1
  105. package/dist/registry-runtime.d.ts.map +1 -1
  106. package/dist/registry-runtime.js +332 -1
  107. package/dist/registry-runtime.js.map +1 -1
  108. package/dist/registry-selection.js +2 -0
  109. package/dist/registry-selection.js.map +1 -1
  110. package/dist/registry.d.ts +9 -0
  111. package/dist/registry.d.ts.map +1 -1
  112. package/dist/registry.js +11 -1
  113. package/dist/registry.js.map +1 -1
  114. package/dist/security.d.ts.map +1 -1
  115. package/dist/security.js +32 -4
  116. package/dist/security.js.map +1 -1
  117. package/dist/tokenizer-family.d.ts +39 -0
  118. package/dist/tokenizer-family.d.ts.map +1 -0
  119. package/dist/tokenizer-family.js +92 -0
  120. package/dist/tokenizer-family.js.map +1 -0
  121. package/dist/types.d.ts +186 -0
  122. package/dist/types.d.ts.map +1 -1
  123. package/package.json +8 -2
@@ -5,8 +5,15 @@
5
5
  * can stay small without losing the existing behavior.
6
6
  * @module
7
7
  */
8
- import type { RegistryState, DiscoveryDependencies } from "./registry-state.js";
8
+ import type { DiscoveryDependencies, RegistryState } from "./registry-state.js";
9
9
  import type { CredentialResult, DiscoveryOptions, ProviderDiscoverer, ProviderInfo } from "./types.js";
10
+ /**
11
+ * Canonical, third-party consumable registry manifest path.
12
+ * I keep it outside the TTL cache directory so tools like jq, duckdb, or
13
+ * language SDKs can read a single stable file without worrying about
14
+ * cache envelopes or internal layout changes.
15
+ */
16
+ export declare const REGISTRY_MANIFEST_PATH: string;
10
17
  /**
11
18
  * Run provider discovery, enrichment, caching, and delta emission.
12
19
  */
@@ -33,6 +40,25 @@ export declare function fallbackRegistryCredential(providerId: string, explicitK
33
40
  * Enrich the in-memory model set with pricing metadata when available.
34
41
  */
35
42
  export declare function enrichRegistryModels(state: RegistryState): Promise<void>;
43
+ /**
44
+ * Enrichment-only result for the `kosha enrich` CLI command.
45
+ */
46
+ export interface EnrichOnlyResult {
47
+ /** Total models across all providers. */
48
+ modelCount: number;
49
+ /** Models that gained new cache read/write pricing. */
50
+ cachePricingUpdated: number;
51
+ /** Models that gained new batch pricing. */
52
+ batchPricingUpdated: number;
53
+ }
54
+ /**
55
+ * Load cached provider data, re-run LiteLLM enrichment, and persist results.
56
+ *
57
+ * This is the lightweight alternative to full re-discovery — no provider API
58
+ * calls, just a fetch from the litellm community catalogue. Returns `null`
59
+ * when no cached data is available.
60
+ */
61
+ export declare function registryEnrichOnly(state: RegistryState): Promise<EnrichOnlyResult | null>;
36
62
  /**
37
63
  * Populate reverse aliases onto discovered models for legacy consumers.
38
64
  */
@@ -45,4 +71,16 @@ export declare function loadRegistryFromCache(state: RegistryState, providerIds?
45
71
  * Persist the current provider map to the shared file cache.
46
72
  */
47
73
  export declare function saveRegistryToCache(state: RegistryState): Promise<void>;
74
+ /**
75
+ * Export a stable, human-and-machine-readable manifest of the current
76
+ * registry state to `~/.kosha/registry.json`. Third-party consumers
77
+ * (CLIs in other languages, jq pipelines, CI jobs, dashboards) can read
78
+ * this file directly — it holds the stable v1 discovery snapshot schema,
79
+ * not the internal cache envelope.
80
+ *
81
+ * I make this a best-effort write: if the filesystem refuses, discovery
82
+ * still completed successfully, so I swallow errors rather than failing
83
+ * the whole command.
84
+ */
85
+ export declare function exportRegistryManifest(state: RegistryState): Promise<void>;
48
86
  //# sourceMappingURL=registry-runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry-runtime.d.ts","sourceRoot":"","sources":["../src/registry-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EACX,gBAAgB,EAChB,gBAAgB,EAEhB,kBAAkB,EAClB,YAAY,EACZ,MAAM,YAAY,CAAC;AA2BpB;;GAEG;AACH,wBAAsB,gBAAgB,CACrC,KAAK,EAAE,aAAa,EACpB,YAAY,EAAE,qBAAqB,EACnC,OAAO,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,YAAY,EAAE,CAAC,CA+CzB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACpC,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,gBAAgB,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,EACjE,UAAU,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC5C,KAAK,EAAE,aAAa,EACpB,WAAW,CAAC,EAAE,MAAM,EAAE,EACtB,YAAY,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA2B/B;AAED;;GAEG;AACH,wBAAsB,6BAA6B,IACnD,OAAO,CAAC;IAAE,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;CAAE,GAAG,IAAI,CAAC,CAOnG;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACzC,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,GAClB,gBAAgB,CASlB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB9E;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CASvE;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAC1C,KAAK,EAAE,aAAa,EACpB,WAAW,CAAC,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,OAAO,CAAC,CA0BlB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAS7E"}
1
+ {"version":3,"file":"registry-runtime.d.ts","sourceRoot":"","sources":["../src/registry-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH,OAAO,KAAK,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEhF,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAY,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAMjH;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,QAA6C,CAAC;AAuBjF;;GAEG;AACH,wBAAsB,gBAAgB,CACrC,KAAK,EAAE,aAAa,EACpB,YAAY,EAAE,qBAAqB,EACnC,OAAO,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,YAAY,EAAE,CAAC,CAyDzB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACpC,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,gBAAgB,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,EACjE,UAAU,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC5C,KAAK,EAAE,aAAa,EACpB,WAAW,CAAC,EAAE,MAAM,EAAE,EACtB,YAAY,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA2B/B;AAED;;GAEG;AACH,wBAAsB,6BAA6B,IAAI,OAAO,CAAC;IAC9D,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACjF,GAAG,IAAI,CAAC,CAOR;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,gBAAgB,CASrG;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB9E;AACD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,4CAA4C;IAC5C,mBAAmB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CA0B/F;AAgBD;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CASvE;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CA0B1G;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAS7E;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAsEhF"}
@@ -5,11 +5,24 @@
5
5
  * can stay small without losing the existing behavior.
6
6
  * @module
7
7
  */
8
- import { StaleCachePolicy } from "./resilience.js";
8
+ import { randomBytes } from "crypto";
9
+ import { mkdir, open, readdir, rename, stat, unlink, writeFile } from "fs/promises";
10
+ import { homedir } from "os";
11
+ import { dirname, join } from "path";
12
+ import { DISCOVERY_SCHEMA_VERSION } from "./discovery-contract.js";
9
13
  import { getProviderConfig, isLocalProvider, normalizeProviderId } from "./provider-catalog.js";
14
+ import { registryDiscoverySnapshot } from "./registry-discovery.js";
15
+ import { StaleCachePolicy } from "./resilience.js";
10
16
  const DEFAULT_CACHE_TTL_MS = 86_400_000;
11
17
  const DEFAULT_TIMEOUT_MS = 10_000;
12
18
  const CACHE_KEY_PREFIX = "provider_";
19
+ /**
20
+ * Canonical, third-party consumable registry manifest path.
21
+ * I keep it outside the TTL cache directory so tools like jq, duckdb, or
22
+ * language SDKs can read a single stable file without worrying about
23
+ * cache envelopes or internal layout changes.
24
+ */
25
+ export const REGISTRY_MANIFEST_PATH = join(homedir(), ".kosha", "registry.json");
13
26
  const FALLBACK_ENV_MAP = {
14
27
  anthropic: "ANTHROPIC_API_KEY",
15
28
  openai: "OPENAI_API_KEY",
@@ -41,6 +54,12 @@ export async function registryDiscover(state, dependencies, options) {
41
54
  const loaded = await dependencies.loadFromCache(providers);
42
55
  if (loaded) {
43
56
  dependencies.recordDiscoveryMutation(beforeSnapshot);
57
+ // Only refresh the canonical manifest for full-registry cache hits.
58
+ // Scoped provider rehydration can carry cache-derived state that should
59
+ // not be published as a fresh top-level manifest snapshot.
60
+ if (!providers || providers.length === 0) {
61
+ await exportRegistryManifest(state);
62
+ }
44
63
  return Array.from(state.providerMap.values());
45
64
  }
46
65
  }
@@ -71,6 +90,10 @@ export async function registryDiscover(state, dependencies, options) {
71
90
  state.discoveredAt = Date.now();
72
91
  await dependencies.saveToCache();
73
92
  dependencies.recordDiscoveryMutation(beforeSnapshot);
93
+ // Write the consumer-facing manifest last, after recordDiscoveryMutation
94
+ // has advanced the cursor — that way the snapshot's cursor reflects the
95
+ // post-discovery revision instead of a stale pre-mutation value.
96
+ await exportRegistryManifest(state);
74
97
  return Array.from(state.providerMap.values());
75
98
  }
76
99
  /**
@@ -157,6 +180,50 @@ export async function enrichRegistryModels(state) {
157
180
  // I silently skip enrichment when the optional module is not present.
158
181
  }
159
182
  }
183
+ /**
184
+ * Load cached provider data, re-run LiteLLM enrichment, and persist results.
185
+ *
186
+ * This is the lightweight alternative to full re-discovery — no provider API
187
+ * calls, just a fetch from the litellm community catalogue. Returns `null`
188
+ * when no cached data is available.
189
+ */
190
+ export async function registryEnrichOnly(state) {
191
+ const ttl = state.config.cacheTtlMs ?? DEFAULT_CACHE_TTL_MS;
192
+ const allEntry = await state.cache.get("providers_all");
193
+ if (!allEntry)
194
+ return null;
195
+ // Accept stale cache too — enrichment-only shouldn't fail just because
196
+ // the TTL expired. The user explicitly asked for enrichment, not discovery.
197
+ for (const provider of allEntry.data) {
198
+ state.providerMap.set(provider.id, provider);
199
+ }
200
+ state.discoveredAt = allEntry.timestamp;
201
+ // Snapshot pricing before enrichment to count how many models get updates.
202
+ const before = countPricingFields(state);
203
+ await enrichRegistryModels(state);
204
+ populateRegistryModelAliases(state);
205
+ await saveRegistryToCache(state);
206
+ await exportRegistryManifest(state);
207
+ const after = countPricingFields(state);
208
+ return {
209
+ modelCount: Array.from(state.providerMap.values()).reduce((sum, p) => sum + p.models.length, 0),
210
+ cachePricingUpdated: Math.max(0, after.cachePricing - before.cachePricing),
211
+ batchPricingUpdated: Math.max(0, after.batchPricing - before.batchPricing),
212
+ };
213
+ }
214
+ function countPricingFields(state) {
215
+ let cachePricing = 0;
216
+ let batchPricing = 0;
217
+ for (const providerInfo of state.providerMap.values()) {
218
+ for (const model of providerInfo.models) {
219
+ if (model.pricing?.cacheReadPerMillion !== undefined || model.pricing?.cacheWritePerMillion !== undefined)
220
+ cachePricing++;
221
+ if (model.pricing?.batchInputPerMillion !== undefined || model.pricing?.batchOutputPerMillion !== undefined)
222
+ batchPricing++;
223
+ }
224
+ }
225
+ return { cachePricing, batchPricing };
226
+ }
160
227
  /**
161
228
  * Populate reverse aliases onto discovered models for legacy consumers.
162
229
  */
@@ -210,6 +277,270 @@ export async function saveRegistryToCache(state) {
210
277
  // I intentionally ignore cache write failures so discovery still succeeds.
211
278
  }
212
279
  }
280
+ /**
281
+ * Export a stable, human-and-machine-readable manifest of the current
282
+ * registry state to `~/.kosha/registry.json`. Third-party consumers
283
+ * (CLIs in other languages, jq pipelines, CI jobs, dashboards) can read
284
+ * this file directly — it holds the stable v1 discovery snapshot schema,
285
+ * not the internal cache envelope.
286
+ *
287
+ * I make this a best-effort write: if the filesystem refuses, discovery
288
+ * still completed successfully, so I swallow errors rather than failing
289
+ * the whole command.
290
+ */
291
+ export async function exportRegistryManifest(state) {
292
+ let manifestPath = null;
293
+ let lockReleased = true;
294
+ let lockPath = null;
295
+ try {
296
+ const fresh = state.lastSnapshotCache ?? registryDiscoverySnapshot(state);
297
+ state.lastSnapshotCache = fresh;
298
+ // Honour state.config.cacheDir so isolated tests (and any other caller
299
+ // that pins a custom cache root) don't clobber the user's real
300
+ // ~/.kosha/registry.json. Without this, running the kosha test suite
301
+ // silently overwrote the user's manifest with an empty one because
302
+ // every test instance triggered an export against the hardcoded path.
303
+ manifestPath = resolveManifestPath(state);
304
+ await mkdir(dirname(manifestPath), { recursive: true });
305
+ // Sweep stale tmp files left over from prior runs that were SIGKILLed
306
+ // mid-write. Each crashed run leaks a `<manifest>.<rand>.tmp` file;
307
+ // without this sweep they accumulate forever (~1.6 MB each).
308
+ await sweepStaleTmpFiles(manifestPath);
309
+ // Cross-process mutex around the read-merge-write critical section.
310
+ // Without this, two concurrent `kosha update` runs both read the same
311
+ // previous manifest, both compute their own merge, and both rename to
312
+ // the final path — last write wins, but the loser's distinct merged
313
+ // additions vanish (lost update).
314
+ lockPath = `${manifestPath}.lock`;
315
+ // Mark `lockReleased = false` ONLY after acquireExportLock returns
316
+ // successfully. If acquire throws (contention timeout, EACCES, …),
317
+ // the finally block must NOT unlink lockPath — that file belongs to
318
+ // the process that's currently holding the lock. Yanking it would
319
+ // let a third caller O_EXCL-acquire while the holder is mid-write,
320
+ // reintroducing the lost-update bug this lock was added to prevent.
321
+ await acquireExportLock(lockPath);
322
+ lockReleased = false;
323
+ // VDOM-style merge: if a previous manifest exists, preserve old
324
+ // providers/models that the fresh fetch dropped. A provider returning
325
+ // 0 models (auth error, rate limit, transient outage) must NOT wipe
326
+ // the user's pricing for those models — they retain their last-known
327
+ // values until a successful fetch supersedes them.
328
+ const merged = await mergeWithExistingManifest(manifestPath, fresh);
329
+ // Atomic write: temp file in the same directory, then rename(2).
330
+ // `rename` within a single filesystem is atomic on POSIX and
331
+ // preserves any concurrent reader's existing fd. Without this, a
332
+ // reader (e.g. tokmeter's pricing manifest fallback) can land mid
333
+ // `JSON.stringify` write and parse a truncated file. The tmp suffix
334
+ // uses 8 random hex chars so two concurrent kosha updates don't
335
+ // collide on the staging name.
336
+ const tmpPath = `${manifestPath}.${randomBytes(4).toString("hex")}.tmp`;
337
+ try {
338
+ await writeFile(tmpPath, JSON.stringify(merged, null, 2), "utf-8");
339
+ await rename(tmpPath, manifestPath);
340
+ }
341
+ catch (err) {
342
+ // Best-effort cleanup of the temp file if rename failed.
343
+ await unlink(tmpPath).catch(() => { });
344
+ throw err;
345
+ }
346
+ }
347
+ catch (err) {
348
+ // Manifest export is best-effort — the cache still works either way.
349
+ // But silent failure was making permission/disk-full bugs invisible
350
+ // for days. Surface the reason once via stderr; nothing else is
351
+ // gated on a successful export.
352
+ const reason = err instanceof Error ? err.message : String(err);
353
+ console.warn(`[kosha] manifest export failed (${manifestPath ?? "unknown path"}): ${reason}`);
354
+ }
355
+ finally {
356
+ if (!lockReleased && lockPath) {
357
+ await unlink(lockPath).catch(() => { });
358
+ }
359
+ }
360
+ }
361
+ /**
362
+ * O_EXCL-based file lock. Tries to create the lock file with `wx` flag —
363
+ * fails if it already exists. Retries with bounded backoff (max ~3s).
364
+ * Stale locks (>30s old) are reclaimed: a kosha process that crashed mid-
365
+ * critical-section won't deadlock future runs.
366
+ */
367
+ async function acquireExportLock(lockPath) {
368
+ const STALE_AFTER_MS = 30_000;
369
+ const MAX_WAIT_MS = 3_000;
370
+ const startedAt = Date.now();
371
+ for (let attempt = 0;; attempt++) {
372
+ try {
373
+ const fd = await open(lockPath, "wx");
374
+ await fd.write(`${process.pid}\n`);
375
+ await fd.close();
376
+ return;
377
+ }
378
+ catch (err) {
379
+ const code = err.code;
380
+ if (code !== "EEXIST")
381
+ throw err;
382
+ // Lock exists — check if it's stale.
383
+ try {
384
+ const s = await stat(lockPath);
385
+ if (Date.now() - s.mtimeMs > STALE_AFTER_MS) {
386
+ await unlink(lockPath).catch(() => { });
387
+ continue;
388
+ }
389
+ }
390
+ catch {
391
+ continue; // raced with the holder unlinking
392
+ }
393
+ if (Date.now() - startedAt > MAX_WAIT_MS) {
394
+ throw new Error(`kosha manifest export: lock contention (${lockPath})`);
395
+ }
396
+ // Backoff with jitter: 50, 100, 200, 400, capped at 800ms
397
+ const delay = Math.min(800, 50 * 2 ** attempt) + Math.floor(Math.random() * 50);
398
+ await new Promise((r) => setTimeout(r, delay));
399
+ }
400
+ }
401
+ }
402
+ /** Remove any `<manifest>.<...>.tmp` siblings older than 5 minutes. They are
403
+ * orphans from prior runs that crashed between writeFile and rename. */
404
+ async function sweepStaleTmpFiles(manifestPath) {
405
+ try {
406
+ const dir = dirname(manifestPath);
407
+ const base = manifestPath.slice(dir.length + 1);
408
+ const tmpRe = new RegExp(`^${escapeRegExp(base)}\\.[0-9a-f]+\\.tmp$`);
409
+ const fiveMinAgo = Date.now() - 5 * 60_000;
410
+ const entries = await readdir(dir);
411
+ await Promise.all(entries
412
+ .filter((name) => tmpRe.test(name))
413
+ .map(async (name) => {
414
+ const p = join(dir, name);
415
+ try {
416
+ const s = await stat(p);
417
+ if (s.mtimeMs < fiveMinAgo)
418
+ await unlink(p);
419
+ }
420
+ catch {
421
+ // raced with another sweeper or unlinked already — fine
422
+ }
423
+ }));
424
+ }
425
+ catch {
426
+ // Sweep is best-effort; do not block export on a directory listing failure.
427
+ }
428
+ }
429
+ function escapeRegExp(s) {
430
+ return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
431
+ }
432
+ /** Resolve the on-disk path for the registry manifest. Tests + custom callers
433
+ * pin via `state.config.cacheDir`; production falls back to ~/.kosha. */
434
+ function resolveManifestPath(state) {
435
+ const cacheDir = state.config.cacheDir;
436
+ if (cacheDir)
437
+ return join(dirname(cacheDir), "registry.json");
438
+ return REGISTRY_MANIFEST_PATH;
439
+ }
440
+ /**
441
+ * Merge a fresh discovery snapshot with the previous manifest on disk.
442
+ *
443
+ * Per-model rule: keep the latest pricing data we've ever seen, keyed by
444
+ * `key` (e.g. `anthropic:claude-opus-4-7`). Fresh entries win when present,
445
+ * but old entries survive if the fresh fetch dropped them (provider 503,
446
+ * no credentials, rate limit, etc.).
447
+ *
448
+ * Per-provider rule: a provider that exists in the old manifest but is
449
+ * absent from the fresh fetch keeps its full entry — same logic, applied
450
+ * to the provider list.
451
+ *
452
+ * If the previous manifest is missing or unreadable we just write the
453
+ * fresh snapshot as-is (first run / corrupted file).
454
+ */
455
+ async function mergeWithExistingManifest(manifestPath, fresh) {
456
+ let previous = null;
457
+ try {
458
+ const { readFile } = await import("fs/promises");
459
+ const raw = await readFile(manifestPath, "utf-8");
460
+ previous = JSON.parse(raw);
461
+ }
462
+ catch {
463
+ return fresh; // no previous manifest, or unreadable — fresh wins
464
+ }
465
+ if (!previous?.models)
466
+ return fresh;
467
+ // Schema-version guard. If the previous manifest is from a different
468
+ // schema (kosha downgraded, future format on disk, hand-edited file),
469
+ // don't try to merge V1 + V?? into a Frankenstein — just rewrite with
470
+ // the fresh snapshot. The fresh fetch supersedes whatever's there.
471
+ if (previous.schemaVersion !== DISCOVERY_SCHEMA_VERSION) {
472
+ return fresh;
473
+ }
474
+ // Index previous entries by key so we can both detect collisions AND
475
+ // look back at the old data for pricing-degraded merge below.
476
+ const previousByKey = new Map();
477
+ for (const m of previous.models) {
478
+ if (m.key)
479
+ previousByKey.set(m.key, m);
480
+ }
481
+ // Per-model merge with two rules:
482
+ // (1) Old entries fresh dropped entirely → keep them.
483
+ // (2) Fresh entries that came back with NO pricing while the old entry
484
+ // HAD pricing → keep the old pricing block (degraded-fresh defence).
485
+ // This guards against transient enrichment failures (LiteLLM
486
+ // offline, models.dev 503, etc.) that would otherwise silently
487
+ // zero out previously-known prices on the next refresh.
488
+ const freshModelKeys = new Set();
489
+ const mergedModels = [];
490
+ for (const f of fresh.models ?? []) {
491
+ if (f.key)
492
+ freshModelKeys.add(f.key);
493
+ const old = f.key ? previousByKey.get(f.key) : undefined;
494
+ if (old && !hasUsablePricing(f) && hasUsablePricing(old)) {
495
+ // Keep all of fresh's metadata but restore pricing from old.
496
+ mergedModels.push({
497
+ ...f,
498
+ pricing: old.pricing,
499
+ originPricing: old.originPricing,
500
+ });
501
+ }
502
+ else {
503
+ mergedModels.push(f);
504
+ }
505
+ }
506
+ for (const old of previous.models) {
507
+ if (old.key && !freshModelKeys.has(old.key)) {
508
+ mergedModels.push(old);
509
+ }
510
+ }
511
+ const freshProviderIds = new Set((fresh.providers ?? []).map((p) => p.providerId));
512
+ const mergedProviders = [...(fresh.providers ?? [])];
513
+ for (const old of previous.providers ?? []) {
514
+ if (!freshProviderIds.has(old.providerId)) {
515
+ mergedProviders.push(old);
516
+ }
517
+ }
518
+ return {
519
+ ...fresh,
520
+ models: mergedModels,
521
+ providers: mergedProviders,
522
+ };
523
+ }
524
+ /** True if the entry carries non-zero input + output rates on EITHER the
525
+ * origin (direct provider) side OR the proxy (`pricing`) side. Anything
526
+ * else is "pricing-degraded" for our purposes.
527
+ *
528
+ * Both sides are checked independently. The earlier `originPricing ?? pricing`
529
+ * short-circuited on `originPricing` being defined, so a row with
530
+ * `originPricing = {input:0, output:0}` and `pricing = {input:5, output:15}`
531
+ * would falsely report degraded — and the caller would then overwrite the
532
+ * fresh proxy rate with old data. */
533
+ function hasUsablePricing(entry) {
534
+ if (!entry)
535
+ return false;
536
+ const sideHasPricing = (side) => {
537
+ const r = side;
538
+ if (!r)
539
+ return false;
540
+ return (r.inputPerMillion ?? 0) > 0 && (r.outputPerMillion ?? 0) > 0;
541
+ };
542
+ return sideHasPricing(entry.originPricing) || sideHasPricing(entry.pricing);
543
+ }
213
544
  async function discoverProvider(state, dependencies, discoverer, timeout) {
214
545
  const breaker = state.healthTracker.breaker(discoverer.providerId);
215
546
  const startedAt = Date.now();
@@ -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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"}
@@ -161,6 +161,8 @@ function normalizeTrustedCapabilityToken(value) {
161
161
  reasoning: "reasoning",
162
162
  low_latency: "low_latency",
163
163
  cheap_inference: "cheap_inference",
164
+ free_tier: "free_tier",
165
+ free: "free_tier",
164
166
  };
165
167
  return map[normalized];
166
168
  }
@@ -1 +1 @@
1
- {"version":3,"file":"registry-selection.js","sourceRoot":"","sources":["../src/registry-selection.ts"],"names":[],"mappings":"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"}
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,cAAc,EACd,0BAA0B,GAC1B,MAAM,qBAAqB,CAAC;AAI7B;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACzC,KAAoB,EACpB,QAA+B,EAAE;IAEjC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,oBAAoB,CAAC;QAC7D,IAAI,EAAE,KAAK,CAAC,IAA6B;QACzC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,UAAU,EAAE,KAAK,CAAC,UAAU;KAC5B,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,wBAAwB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;QACzF,KAAK;QACL,UAAU;QACV,KAAK,EAAE,iBAAiB,CAAC,KAAK,EAAE,WAA4B,EAAE,CAAC,EAAE,CAAC,CAAC;KACnE,CAAC,CAAC,CAAC;IACJ,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACrK,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IAEzE,OAAO;QACN,aAAa,EAAE,wBAAwB;QACvC,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC;QAClC,UAAU,EAAE,UAAU,CAAC,MAAM;QAC7B,gBAAgB,EAAE,MAAM,CAAC,MAAM;QAC/B,gBAAgB,EAAE,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM;QACnD,WAAW;QACX,OAAO,EAAE,CAAC,GAAG,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;YAC9G,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,UAAU,EAAE,KAAK,CAAC,QAAQ;YAC1B,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;YACnD,KAAK,EAAE,KAAK,IAAI,IAAI;YACpB,WAAW;YACX,YAAY,EAAE,2BAA2B,CAAC,KAAK,EAAE,UAAU,CAAC;SAC5D,CAAC,CAAC;KACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAC5C,KAAoB,EACpB,QAA+B,EAAE;IAEjC,MAAM,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,IAAI,KAAK,CAAC;IACjE,MAAM,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,IAAI,IAAI,CAAC;IAC5D,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,oBAAoB,CAAC;QAC9D,IAAI,EAAE,KAAK,CAAC,IAA6B;QACzC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,UAAU,EAAE,KAAK,CAAC,UAAU;KAC5B,CAAC,CAAkB,CAAC;IACrB,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;QACrF,KAAK;QACL,UAAU;QACV,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,QAAQ,EAAE,mBAAmB,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,UAAU,CAAC,mBAAmB;QACtF,KAAK,EAAE,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;KAClD,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;IACjB,kGAAkG;IAClG,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QACvC,CAAC,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,iBAAiB,CAAC;QAC7E,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC;QAChF,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CACpC,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,YAAY,GAAG,CAAC,kBAAkB,IAAI,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3I,MAAM,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAE3E,OAAO;QACN,aAAa,EAAE,wBAAwB;QACvC,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC;QAClC,eAAe,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,IAAI;QAC3C,kBAAkB,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;QACpD,iBAAiB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QACnF,iBAAiB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QACtF,oBAAoB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/F,oBAAoB;QACpB,kBAAkB;KAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAoB,EAAE,KAA4B;IAC1F,OAAO,cAAc,CAAC,KAAK,EAAE;QAC5B,QAAQ,EAAE,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC7C,cAAc,EAAE,mBAAmB,CAAC,KAAK,CAAC,cAAc,CAAC;QACzD,IAAI,EAAE,KAAK,CAAC,IAA6B;KACzC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACpB,MAAM,UAAU,GAAG,0BAA0B,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5G,OAAO,0BAA0B,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5F,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAA4B;IAChE,OAAO;QACN,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI;QACxB,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI;QACpC,QAAQ,EAAE,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI;QACvE,cAAc,EAAE,mBAAmB,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,cAAc,IAAI,IAAI;QACzF,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI;QACxB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI;QAC1B,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI;QACtC,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,IAAI,IAAI;QACxD,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,IAAI;KACpD,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAClC,KAAgB,EAChB,UAAyD,EACzD,KAA4B;IAE5B,MAAM,YAAY,GAAG,2BAA2B,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACpE,2GAA2G;IAC3G,MAAM,UAAU,GAAG,+BAA+B,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACrE,IAAI,UAAU,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC;IACnE,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,kBAAkB,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAC7H,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACrC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC;QAC3D,KAAK,UAAU,CAAC;QAChB,KAAK,OAAO,CAAC;QACb,KAAK,WAAW;YACf,OAAO,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;QACrC,KAAK,YAAY,CAAC;QAClB,KAAK,WAAW;YACf,OAAO,CAAC,YAAY,CAAC,CAAC;QACvB,KAAK,QAAQ;YACZ,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3B,KAAK,QAAQ;YACZ,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnB,KAAK,OAAO,CAAC;QACb,KAAK,YAAY;YAChB,OAAO,CAAC,YAAY,CAAC,CAAC;QACvB;YACC,OAAO,CAAC,+BAA+B,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC;IAC3D,CAAC;AACF,CAAC;AAED,SAAS,+BAA+B,CAAC,KAAyB;IACjE,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACtE,MAAM,GAAG,GAAsC;QAC9C,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,YAAY;QACvB,UAAU,EAAE,YAAY;QACxB,gBAAgB,EAAE,kBAAkB;QACpC,QAAQ,EAAE,kBAAkB;QAC5B,KAAK,EAAE,kBAAkB;QACzB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,QAAQ;QAChB,iBAAiB,EAAE,mBAAmB;QACtC,SAAS,EAAE,WAAW;QACtB,YAAY,EAAE,cAAc;QAC5B,UAAU,EAAE,YAAY;QACxB,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,iBAAiB;QACvB,eAAe,EAAE,iBAAiB;QAClC,SAAS,EAAE,WAAW;QACtB,WAAW,EAAE,aAAa;QAC1B,eAAe,EAAE,iBAAiB;QAClC,SAAS,EAAE,WAAW;QACtB,IAAI,EAAE,WAAW;KACjB,CAAC;IACF,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC;AACxB,CAAC"}
@@ -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 EnrichOnlyResult } from "./registry-runtime.js";
8
9
  import type { DiscoveryBindingHintsV1, DiscoveryBindingQuery, DiscoveryCheapestResultV1, DiscoveryDeltaV1, DiscoverySnapshotV1 } from "./discovery-contract.js";
9
10
  import type { ProviderHealth } from "./resilience.js";
10
11
  import type { CapabilitySummary, CheapestModelOptions, CheapestModelResult, DiscoveryError, DiscoveryOptions, KoshaConfig, LatestDiscoveryOptions, LatestDiscoveryResult, ModelCard, ModelMode, ModelRouteInfo, ProviderCredentialPrompt, ProviderInfo, ProviderRoleInfo, RoleQueryOptions } from "./types.js";
@@ -42,6 +43,14 @@ export declare class ModelRegistry {
42
43
  * without relying on TTL expiry.
43
44
  */
44
45
  fetchLatestDetails(options?: LatestDiscoveryOptions): Promise<LatestDiscoveryResult>;
46
+ /**
47
+ * Re-run LiteLLM enrichment on cached models without re-discovering providers.
48
+ *
49
+ * This is the lightweight alternative to `refresh()` — no provider API calls,
50
+ * just a fetch from the litellm community catalogue. Returns `null` when
51
+ * no cached data is available (user should run `discover()` first).
52
+ */
53
+ enrichOnly(): Promise<EnrichOnlyResult | null>;
45
54
  /** Return all known models with optional provider/origin/mode filters. */
46
55
  models(filter?: {
47
56
  provider?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
package/dist/registry.js CHANGED
@@ -14,7 +14,7 @@ import { registryBuildSnapshot, registryClassifyError, registryDiscoveryDelta, r
14
14
  import { modelRoles, modelSupportsRole, normalizeRoleToken, registryCapabilities, registryCheapestModels, registryMissingCredentialPrompts, registryModelRouteInfo, registryModelRoutes, registryModels, registryProviderRoles, } from "./registry-query.js";
15
15
  import { registryCheapestCandidates, registryExecutionBindingHints, } from "./registry-selection.js";
16
16
  import { createRegistryState } from "./registry-state.js";
17
- import { enrichRegistryModels, fallbackRegistryCredential, getRegistryCredentialResolver, loadRegistryDiscoverers, loadRegistryFromCache, populateRegistryModelAliases, registryDiscover, registryRefresh, saveRegistryToCache, } from "./registry-runtime.js";
17
+ import { enrichRegistryModels, registryEnrichOnly, fallbackRegistryCredential, getRegistryCredentialResolver, loadRegistryDiscoverers, loadRegistryFromCache, populateRegistryModelAliases, registryDiscover, registryRefresh, saveRegistryToCache, } from "./registry-runtime.js";
18
18
  /**
19
19
  * Public registry API for provider discovery and routing-oriented queries.
20
20
  */
@@ -64,6 +64,16 @@ export class ModelRegistry {
64
64
  discoveredAt: this.discoveredAt,
65
65
  };
66
66
  }
67
+ /**
68
+ * Re-run LiteLLM enrichment on cached models without re-discovering providers.
69
+ *
70
+ * This is the lightweight alternative to `refresh()` — no provider API calls,
71
+ * just a fetch from the litellm community catalogue. Returns `null` when
72
+ * no cached data is available (user should run `discover()` first).
73
+ */
74
+ async enrichOnly() {
75
+ return registryEnrichOnly(this.state);
76
+ }
67
77
  /** Return all known models with optional provider/origin/mode filters. */
68
78
  models(filter) {
69
79
  return registryModels(this.state, filter);