@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.
- package/README.md +53 -221
- package/dist/cli-cmd-model.d.ts +48 -0
- package/dist/cli-cmd-model.d.ts.map +1 -0
- package/dist/cli-cmd-model.js +231 -0
- package/dist/cli-cmd-model.js.map +1 -0
- package/dist/cli-cmd-query.d.ts +40 -0
- package/dist/cli-cmd-query.d.ts.map +1 -0
- package/dist/cli-cmd-query.js +303 -0
- package/dist/cli-cmd-query.js.map +1 -0
- package/dist/cli-commands.d.ts +65 -75
- package/dist/cli-commands.d.ts.map +1 -1
- package/dist/cli-commands.js +122 -504
- package/dist/cli-commands.js.map +1 -1
- package/dist/cli-format.d.ts +40 -0
- package/dist/cli-format.d.ts.map +1 -1
- package/dist/cli-format.js +74 -0
- package/dist/cli-format.js.map +1 -1
- package/dist/cli-help.d.ts +19 -0
- package/dist/cli-help.d.ts.map +1 -0
- package/dist/cli-help.js +150 -0
- package/dist/cli-help.js.map +1 -0
- package/dist/cli.js +5 -1
- package/dist/cli.js.map +1 -1
- package/dist/discovery/anthropic.d.ts +8 -1
- package/dist/discovery/anthropic.d.ts.map +1 -1
- package/dist/discovery/anthropic.js +26 -3
- package/dist/discovery/anthropic.js.map +1 -1
- package/dist/discovery/base.d.ts +26 -0
- package/dist/discovery/base.d.ts.map +1 -1
- package/dist/discovery/base.js +55 -2
- package/dist/discovery/base.js.map +1 -1
- package/dist/discovery/free-tier.d.ts +31 -0
- package/dist/discovery/free-tier.d.ts.map +1 -0
- package/dist/discovery/free-tier.js +47 -0
- package/dist/discovery/free-tier.js.map +1 -0
- package/dist/discovery/google.d.ts +8 -1
- package/dist/discovery/google.d.ts.map +1 -1
- package/dist/discovery/google.js +25 -3
- package/dist/discovery/google.js.map +1 -1
- package/dist/discovery/litellm-seed.d.ts +32 -0
- package/dist/discovery/litellm-seed.d.ts.map +1 -0
- package/dist/discovery/litellm-seed.js +252 -0
- package/dist/discovery/litellm-seed.js.map +1 -0
- package/dist/discovery/modelsdev-catalog.d.ts +95 -0
- package/dist/discovery/modelsdev-catalog.d.ts.map +1 -0
- package/dist/discovery/modelsdev-catalog.js +131 -0
- package/dist/discovery/modelsdev-catalog.js.map +1 -0
- package/dist/discovery/modelsdev-seed.d.ts +19 -0
- package/dist/discovery/modelsdev-seed.d.ts.map +1 -0
- package/dist/discovery/modelsdev-seed.js +203 -0
- package/dist/discovery/modelsdev-seed.js.map +1 -0
- package/dist/discovery/openai-compatible.d.ts.map +1 -1
- package/dist/discovery/openai-compatible.js +12 -1
- package/dist/discovery/openai-compatible.js.map +1 -1
- package/dist/discovery/openai.d.ts +9 -1
- package/dist/discovery/openai.d.ts.map +1 -1
- package/dist/discovery/openai.js +31 -8
- package/dist/discovery/openai.js.map +1 -1
- package/dist/discovery/openrouter.d.ts.map +1 -1
- package/dist/discovery/openrouter.js +18 -1
- package/dist/discovery/openrouter.js.map +1 -1
- package/dist/discovery/promo-overrides.d.ts +54 -0
- package/dist/discovery/promo-overrides.d.ts.map +1 -0
- package/dist/discovery/promo-overrides.js +74 -0
- package/dist/discovery/promo-overrides.js.map +1 -0
- package/dist/discovery/public-seed.d.ts +30 -0
- package/dist/discovery/public-seed.d.ts.map +1 -0
- package/dist/discovery/public-seed.js +51 -0
- package/dist/discovery/public-seed.js.map +1 -0
- package/dist/discovery-contract.d.ts +14 -2
- package/dist/discovery-contract.d.ts.map +1 -1
- package/dist/discovery-contract.js +28 -0
- package/dist/discovery-contract.js.map +1 -1
- package/dist/enrichment/litellm-catalog.d.ts +81 -0
- package/dist/enrichment/litellm-catalog.d.ts.map +1 -0
- package/dist/enrichment/litellm-catalog.js +129 -0
- package/dist/enrichment/litellm-catalog.js.map +1 -0
- package/dist/enrichment/litellm.d.ts +9 -2
- package/dist/enrichment/litellm.d.ts.map +1 -1
- package/dist/enrichment/litellm.js +192 -23
- package/dist/enrichment/litellm.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/model-features.d.ts +77 -0
- package/dist/model-features.d.ts.map +1 -0
- package/dist/model-features.js +245 -0
- package/dist/model-features.js.map +1 -0
- package/dist/normalize.d.ts +13 -0
- package/dist/normalize.d.ts.map +1 -1
- package/dist/normalize.js +15 -0
- package/dist/normalize.js.map +1 -1
- package/dist/provider-catalog.d.ts +7 -0
- package/dist/provider-catalog.d.ts.map +1 -1
- package/dist/provider-catalog.js +4 -0
- package/dist/provider-catalog.js.map +1 -1
- package/dist/registry-discovery.d.ts.map +1 -1
- package/dist/registry-discovery.js +11 -1
- package/dist/registry-discovery.js.map +1 -1
- package/dist/registry-query.d.ts.map +1 -1
- package/dist/registry-query.js +6 -3
- package/dist/registry-query.js.map +1 -1
- package/dist/registry-runtime.d.ts +39 -1
- package/dist/registry-runtime.d.ts.map +1 -1
- package/dist/registry-runtime.js +332 -1
- package/dist/registry-runtime.js.map +1 -1
- package/dist/registry-selection.js +2 -0
- package/dist/registry-selection.js.map +1 -1
- package/dist/registry.d.ts +9 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +11 -1
- package/dist/registry.js.map +1 -1
- package/dist/security.d.ts.map +1 -1
- package/dist/security.js +32 -4
- package/dist/security.js.map +1 -1
- package/dist/tokenizer-family.d.ts +39 -0
- package/dist/tokenizer-family.d.ts.map +1 -0
- package/dist/tokenizer-family.js +92 -0
- package/dist/tokenizer-family.js.map +1 -0
- package/dist/types.d.ts +186 -0
- package/dist/types.d.ts.map +1 -1
- 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 {
|
|
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;
|
|
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"}
|
package/dist/registry-runtime.js
CHANGED
|
@@ -5,11 +5,24 @@
|
|
|
5
5
|
* can stay small without losing the existing behavior.
|
|
6
6
|
* @module
|
|
7
7
|
*/
|
|
8
|
-
import {
|
|
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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"}
|
|
@@ -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":"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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 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;
|
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":"AAAA;;;;;;GAMG;AAoCH,OAAO,EAGN,KAAK,gBAAgB,EASrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACX,uBAAuB,EACvB,qBAAqB,EACrB,yBAAyB,EACzB,gBAAgB,EAChB,mBAAmB,EACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EACX,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EAEnB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,sBAAsB,EACtB,qBAAqB,EACrB,SAAS,EACT,SAAS,EACT,cAAc,EACd,wBAAwB,EACxB,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,qBAAa,aAAa;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;gBAE1B,MAAM,CAAC,EAAE,WAAW;IAKhC,0EAA0E;IAC1E,OAAO,KAAK,WAAW,GAAgE;IACvF,0EAA0E;IAC1E,OAAO,KAAK,aAAa,GAAuC;IAChE,0EAA0E;IAC1E,OAAO,KAAK,YAAY,GAA8C;IACtE,OAAO,KAAK,YAAY,QAAoD;IAC5E,0EAA0E;IAC1E,OAAO,KAAK,aAAa,GAAuC;IAChE,OAAO,KAAK,aAAa,GAA+C;IACxE,OAAO,KAAK,aAAa,QAAqD;IAC9E,OAAO,KAAK,iBAAiB,GAAuE;IACpG,OAAO,KAAK,iBAAiB,QAA6E;IAE1G;;OAEG;IACG,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAKnE;;OAEG;IACG,OAAO,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD;;;;;OAKG;IACG,kBAAkB,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAS1F;;;;;;OAMG;IACG,UAAU,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAIpD,0EAA0E;IAC1E,MAAM,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,SAAS,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,EAAE;IAInH,4EAA4E;IAC5E,aAAa,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,EAAE;IAI5D,4EAA4E;IAC5E,wBAAwB,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,wBAAwB,EAAE;IAI5E,4EAA4E;IAC5E,cAAc,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,mBAAmB;IAInE,qEAAqE;IACrE,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE;IAIzC,wEAAwE;IACxE,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,EAAE;IAIjD,2DAA2D;IAC3D,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAkB/C,kEAAkE;IAClE,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAK9C,4CAA4C;IAC5C,cAAc,IAAI,YAAY,EAAE;IAIhC,oEAAoE;IACpE,eAAe,IAAI,cAAc,EAAE;IAInC,0EAA0E;IAC1E,cAAc,IAAI,cAAc,EAAE;IAIlC,mEAAmE;IACnE,iBAAiB,IAAI,mBAAmB;IAIxC,sDAAsD;IACtD,cAAc,CAAC,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,gBAAgB;IAI3E,8DAA8D;IAC9D,cAAc,CAAC,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,cAAc,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC;IAIvG,2EAA2E;IAC3E,kBAAkB,CAAC,KAAK,GAAE,qBAA0B,GAAG,yBAAyB;IAIhF,0EAA0E;IAC1E,qBAAqB,CAAC,KAAK,GAAE,qBAA0B,GAAG,uBAAuB;IAIjF,6DAA6D;IAC7D,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;IAQtC,oEAAoE;IACpE,YAAY,CAAC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,iBAAiB,EAAE;IAIjE,mEAAmE;IACnE,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIzC,qDAAqD;IACrD,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE;IAItC,kEAAkE;IAClE,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO;IAItE,4DAA4D;IAC5D,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI9B,kCAAkC;IAClC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3C,oEAAoE;IACpE,MAAM,IAAI;QAAE,SAAS,EAAE,YAAY,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE;IAQ9F,kEAAkE;IAClE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,YAAY,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,aAAa;IAW1H,+EAA+E;WAClE,cAAc,CAAC,SAAS,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAmB1E,OAAO,CAAC,YAAY;IAmBpB,kFAAkF;IAClF,OAAO,CAAC,gBAAgB;IAIxB,kFAAkF;IAClF,OAAO,CAAC,uBAAuB;IAI/B,kFAAkF;IAClF,OAAO,CAAC,iBAAiB;IAOzB,8EAA8E;IAC9E,OAAO,CAAC,aAAa;mBAIA,YAAY;CAUjC"}
|
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);
|