@sriinnu/kosha-discovery 1.12.0 → 1.13.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 +2 -2
- package/dist/discovery/base.d.ts.map +1 -1
- package/dist/discovery/base.js +11 -2
- package/dist/discovery/base.js.map +1 -1
- package/dist/discovery/bedrock.d.ts +2 -0
- package/dist/discovery/bedrock.d.ts.map +1 -1
- package/dist/discovery/bedrock.js +6 -1
- package/dist/discovery/bedrock.js.map +1 -1
- package/dist/discovery/catalog-only.d.ts +19 -0
- package/dist/discovery/catalog-only.d.ts.map +1 -0
- package/dist/discovery/catalog-only.js +49 -0
- package/dist/discovery/catalog-only.js.map +1 -0
- package/dist/discovery/free-tier.d.ts +4 -0
- package/dist/discovery/free-tier.d.ts.map +1 -1
- package/dist/discovery/free-tier.js +4 -0
- package/dist/discovery/free-tier.js.map +1 -1
- package/dist/discovery/modelsdev-seed.d.ts +12 -0
- package/dist/discovery/modelsdev-seed.d.ts.map +1 -1
- package/dist/discovery/modelsdev-seed.js +57 -2
- package/dist/discovery/modelsdev-seed.js.map +1 -1
- package/dist/discovery/price-evidence.d.ts +29 -0
- package/dist/discovery/price-evidence.d.ts.map +1 -0
- package/dist/discovery/price-evidence.js +46 -0
- package/dist/discovery/price-evidence.js.map +1 -0
- package/dist/discovery/public-seed.d.ts.map +1 -1
- package/dist/discovery/public-seed.js +9 -1
- package/dist/discovery/public-seed.js.map +1 -1
- package/dist/discovery/vertex.d.ts +2 -0
- package/dist/discovery/vertex.d.ts.map +1 -1
- package/dist/discovery/vertex.js +36 -8
- package/dist/discovery/vertex.js.map +1 -1
- package/dist/discovery-contract.d.ts +4 -1
- package/dist/discovery-contract.d.ts.map +1 -1
- package/dist/discovery-contract.js +2 -2
- package/dist/discovery-contract.js.map +1 -1
- package/dist/registry-discovery.d.ts +1 -1
- package/dist/registry-discovery.d.ts.map +1 -1
- package/dist/registry-discovery.js +6 -4
- package/dist/registry-discovery.js.map +1 -1
- package/dist/registry-runtime.d.ts +5 -1
- package/dist/registry-runtime.d.ts.map +1 -1
- package/dist/registry-runtime.js +158 -14
- package/dist/registry-runtime.js.map +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +3 -1
- package/dist/registry.js.map +1 -1
- package/dist/types.d.ts +11 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
package/dist/discovery/vertex.js
CHANGED
|
@@ -16,9 +16,9 @@ import { execFileSync, execSync } from "node:child_process";
|
|
|
16
16
|
import { readFileSync } from "node:fs";
|
|
17
17
|
import { homedir } from "node:os";
|
|
18
18
|
import { join } from "node:path";
|
|
19
|
-
import { assertSafeShellArg, cliSpawnOptions } from "../shell-safe.js";
|
|
20
|
-
import { assertCleanPayload } from "../security.js";
|
|
21
19
|
import { extractOriginProvider } from "../normalize.js";
|
|
20
|
+
import { assertCleanPayload } from "../security.js";
|
|
21
|
+
import { assertSafeShellArg, cliSpawnOptions } from "../shell-safe.js";
|
|
22
22
|
import { BaseDiscoverer } from "./base.js";
|
|
23
23
|
import { getPublicSeed } from "./public-seed.js";
|
|
24
24
|
// ---------------------------------------------------------------------------
|
|
@@ -52,9 +52,7 @@ export class VertexDiscoverer extends BaseDiscoverer {
|
|
|
52
52
|
*/
|
|
53
53
|
async discover(credential, options) {
|
|
54
54
|
// Project ID resolution: credential → env vars → gcloud config
|
|
55
|
-
let projectId = credential.metadata?.projectId ??
|
|
56
|
-
process.env.GOOGLE_CLOUD_PROJECT ??
|
|
57
|
-
process.env.GCLOUD_PROJECT;
|
|
55
|
+
let projectId = credential.metadata?.projectId ?? process.env.GOOGLE_CLOUD_PROJECT ?? process.env.GCLOUD_PROJECT;
|
|
58
56
|
if (!projectId) {
|
|
59
57
|
projectId = this.resolveProjectFromCli();
|
|
60
58
|
}
|
|
@@ -87,6 +85,12 @@ export class VertexDiscoverer extends BaseDiscoverer {
|
|
|
87
85
|
// Attempt 4: Static fallback
|
|
88
86
|
return this.staticFallback(region, projectId);
|
|
89
87
|
}
|
|
88
|
+
/** Public data only: no gcloud, no token, no ambient credential. */
|
|
89
|
+
async discoverKeyless() {
|
|
90
|
+
const region = "us-central1";
|
|
91
|
+
const seeds = await this.publicCatalogFallback(region, undefined);
|
|
92
|
+
return seeds.length > 0 ? seeds : this.staticFallback(region, undefined);
|
|
93
|
+
}
|
|
90
94
|
// -------------------------------------------------------------------------
|
|
91
95
|
// Private: REST API
|
|
92
96
|
// -------------------------------------------------------------------------
|
|
@@ -294,13 +298,37 @@ export class VertexDiscoverer extends BaseDiscoverer {
|
|
|
294
298
|
*/
|
|
295
299
|
staticFallback(region, projectId) {
|
|
296
300
|
const base = { provider: "vertex", originProvider: "google", region, projectId, source: "manual" };
|
|
297
|
-
const geminiChat = (id, name, ctx, out) => this.makeCard({
|
|
301
|
+
const geminiChat = (id, name, ctx, out) => this.makeCard({
|
|
302
|
+
...base,
|
|
303
|
+
id,
|
|
304
|
+
name,
|
|
305
|
+
mode: "chat",
|
|
306
|
+
capabilities: ["chat", "vision", "function_calling", "code", "nlu"],
|
|
307
|
+
contextWindow: ctx,
|
|
308
|
+
maxOutputTokens: out,
|
|
309
|
+
});
|
|
298
310
|
return [
|
|
299
311
|
geminiChat("gemini-2.5-pro", "Gemini 2.5 Pro", 1_048_576, 65_536),
|
|
300
312
|
geminiChat("gemini-3.8-flash", "Gemini 3.8 Flash", 1_048_576, 65_536),
|
|
301
313
|
geminiChat("gemini-2.5-flash", "Gemini 2.5 Flash", 1_048_576, 65_536),
|
|
302
|
-
this.makeCard({
|
|
303
|
-
|
|
314
|
+
this.makeCard({
|
|
315
|
+
...base,
|
|
316
|
+
id: "text-embedding-005",
|
|
317
|
+
name: "Text Embedding 005",
|
|
318
|
+
mode: "embedding",
|
|
319
|
+
capabilities: ["embedding"],
|
|
320
|
+
contextWindow: 2_048,
|
|
321
|
+
maxOutputTokens: 0,
|
|
322
|
+
}),
|
|
323
|
+
this.makeCard({
|
|
324
|
+
...base,
|
|
325
|
+
id: "imagen-3.0-generate-002",
|
|
326
|
+
name: "Imagen 3.0",
|
|
327
|
+
mode: "image",
|
|
328
|
+
capabilities: ["image_generation"],
|
|
329
|
+
contextWindow: 0,
|
|
330
|
+
maxOutputTokens: 0,
|
|
331
|
+
}),
|
|
304
332
|
];
|
|
305
333
|
}
|
|
306
334
|
// -------------------------------------------------------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vertex.js","sourceRoot":"","sources":["../../src/discovery/vertex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"vertex.js","sourceRoot":"","sources":["../../src/discovery/vertex.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
* heuristics here so the registry can stay focused on orchestration.
|
|
6
6
|
* @module
|
|
7
7
|
*/
|
|
8
|
-
import type {
|
|
8
|
+
import type { PriceEvidence } from "./discovery/price-evidence.js";
|
|
9
9
|
import type { ProviderDescriptor } from "./provider-catalog.js";
|
|
10
|
+
import type { ModelCard, ModelPricing, StructuredOutputMode, ToolDialect } from "./types.js";
|
|
10
11
|
/** Stable schema version exposed to Chitragupta and other daemon consumers. */
|
|
11
12
|
export declare const DISCOVERY_SCHEMA_VERSION = 1;
|
|
12
13
|
/** Trusted capability taxonomy surfaced by the v1 discovery contract. */
|
|
@@ -63,6 +64,8 @@ export interface DiscoveryModelV1 {
|
|
|
63
64
|
maxOutputTokens: number | null;
|
|
64
65
|
pricing: ModelPricing | null;
|
|
65
66
|
originPricing?: ModelPricing | null;
|
|
67
|
+
/** What each source said this model costs, when more than one listed it. */
|
|
68
|
+
priceEvidence?: PriceEvidence[];
|
|
66
69
|
dimensions: number | null;
|
|
67
70
|
maxInputTokens: number | null;
|
|
68
71
|
discoveredAt: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery-contract.d.ts","sourceRoot":"","sources":["../src/discovery-contract.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"discovery-contract.d.ts","sourceRoot":"","sources":["../src/discovery-contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -167,7 +167,7 @@ function isFreeTierPricing(model) {
|
|
|
167
167
|
return pricing.inputPerMillion === 0 && pricing.outputPerMillion === 0;
|
|
168
168
|
}
|
|
169
169
|
function hasUnitPricing(pricing) {
|
|
170
|
-
return pricing.imageOutputPerImage !== undefined ||
|
|
170
|
+
return (pricing.imageOutputPerImage !== undefined ||
|
|
171
171
|
pricing.imageInputPerImage !== undefined ||
|
|
172
172
|
pricing.audioInputPerSecond !== undefined ||
|
|
173
173
|
pricing.audioOutputPerSecond !== undefined ||
|
|
@@ -177,6 +177,6 @@ function hasUnitPricing(pricing) {
|
|
|
177
177
|
pricing.outputPerMillionCharacters !== undefined ||
|
|
178
178
|
pricing.webSearchPerThousandRequests !== undefined ||
|
|
179
179
|
pricing.mapsSearchPerThousandRequests !== undefined ||
|
|
180
|
-
pricing.requestPerThousand !== undefined;
|
|
180
|
+
pricing.requestPerThousand !== undefined);
|
|
181
181
|
}
|
|
182
182
|
//# sourceMappingURL=discovery-contract.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery-contract.js","sourceRoot":"","sources":["../src/discovery-contract.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"discovery-contract.js","sourceRoot":"","sources":["../src/discovery-contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
* @module
|
|
7
7
|
*/
|
|
8
8
|
import type { DiscoveryDeltaV1, DiscoveryHealthRecord, DiscoveryModelV1, DiscoveryProviderV1, DiscoverySnapshotV1 } from "./discovery-contract.js";
|
|
9
|
-
import type { ModelCard } from "./types.js";
|
|
10
9
|
import type { ProviderObservation, RegistryState } from "./registry-state.js";
|
|
10
|
+
import type { ModelCard } from "./types.js";
|
|
11
11
|
/**
|
|
12
12
|
* Return the cached snapshot when it is still valid for diff generation.
|
|
13
13
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-discovery.d.ts","sourceRoot":"","sources":["../src/registry-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"registry-discovery.d.ts","sourceRoot":"","sources":["../src/registry-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACX,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,MAAM,yBAAyB,CAAC;AAgBjC,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,KAAK,EAAE,SAAS,EAA4B,MAAM,YAAY,CAAC;AAEtE;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,aAAa,GAAG,mBAAmB,GAAG,IAAI,CAIzF;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,aAAa,GAAG,mBAAmB,CAInF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACrC,KAAK,EAAE,aAAa,EACpB,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACvC,gBAAgB,CAiDlB;AAED;;GAEG;AACH,wBAAuB,sBAAsB,CAC5C,KAAK,EAAE,aAAa,EACpB,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACvC,cAAc,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,CA6B9C;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC9C,KAAK,EAAE,aAAa,EACpB,gBAAgB,EAAE,mBAAmB,GAAG,IAAI,GAC1C,IAAI,CAoBN;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAE/D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAuB/F;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,mBAAmB,CAsBvG;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,GAAG,gBAAgB,CA8C/F;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,qBAAqB,CAmCzG;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACxC,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,mBAAmB,CAAC,eAAe,CAAC,CAAA;CAAE,GAC3E,IAAI,CAkBN;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAoBhG"}
|
|
@@ -206,6 +206,7 @@ export function registrySerializeModel(state, model) {
|
|
|
206
206
|
maxOutputTokens: model.maxOutputTokens > 0 ? model.maxOutputTokens : null,
|
|
207
207
|
pricing: model.pricing ?? null,
|
|
208
208
|
originPricing: model.originPricing ?? null,
|
|
209
|
+
...(model.priceEvidence ? { priceEvidence: model.priceEvidence } : {}),
|
|
209
210
|
dimensions: model.dimensions ?? null,
|
|
210
211
|
maxInputTokens: model.maxInputTokens ?? null,
|
|
211
212
|
discoveredAt: model.discoveredAt,
|
|
@@ -240,9 +241,7 @@ export function registryBuildHealthRecord(state, providerId) {
|
|
|
240
241
|
const breaker = state.healthTracker.breaker(providerId).health();
|
|
241
242
|
const observation = state.providerObservations.get(providerId);
|
|
242
243
|
const provider = state.providerMap.get(providerId);
|
|
243
|
-
const timeoutRate = observation && observation.attemptCount > 0
|
|
244
|
-
? observation.timeoutCount / observation.attemptCount
|
|
245
|
-
: 0;
|
|
244
|
+
const timeoutRate = observation && observation.attemptCount > 0 ? observation.timeoutCount / observation.attemptCount : 0;
|
|
246
245
|
const latencyClass = computeLatencyClass(observation);
|
|
247
246
|
let stateLabel = "unknown";
|
|
248
247
|
// I keep auth and throttle failures distinct because they imply different downstream actions.
|
|
@@ -309,7 +308,10 @@ export function registryClassifyError(errorMessage) {
|
|
|
309
308
|
if (lower.includes("timed out") || lower.includes("timeout") || lower.includes("abort")) {
|
|
310
309
|
return "timeout";
|
|
311
310
|
}
|
|
312
|
-
if (lower.includes("network") ||
|
|
311
|
+
if (lower.includes("network") ||
|
|
312
|
+
lower.includes("econn") ||
|
|
313
|
+
lower.includes("fetch failed") ||
|
|
314
|
+
/\b5\d{2}\b/.test(lower)) {
|
|
313
315
|
return "transport";
|
|
314
316
|
}
|
|
315
317
|
return "unknown";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-discovery.js","sourceRoot":"","sources":["../src/registry-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACN,wBAAwB,EACxB,cAAc,EACd,YAAY,EACZ,uBAAuB,EACvB,2BAA2B,GAC3B,MAAM,yBAAyB,CAAC;AAQjC,OAAO,EACN,iBAAiB,EACjB,uBAAuB,EACvB,mBAAmB,EACnB,mCAAmC,GACnC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAIjF;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAoB;IAC5D,IAAI,KAAK,CAAC,iBAAiB;QAAE,OAAO,KAAK,CAAC,iBAAiB,CAAC;IAC5D,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1E,OAAO,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAoB;IAC7D,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IACnE,KAAK,CAAC,iBAAiB,GAAG,QAAQ,CAAC;IACnC,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACrC,KAAoB,EACpB,OAAyC;IAEzC,MAAM,QAAQ,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,IAAI,CAAC;IAEjD,IAAI,CAAC,WAAW,EAAE,CAAC;QAClB,OAAO;YACN,aAAa,EAAE,wBAAwB;YACvC,WAAW;YACX,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,SAAS,EAAE,QAAQ,CAAC,YAAY;YAChC,aAAa,EAAE,KAAK;YACpB,OAAO,EAAE,mBAAmB,CAAC,QAAQ,CAAC;SACtC,CAAC;IACH,CAAC;IAED,IAAI,WAAW,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrC,OAAO;YACN,aAAa,EAAE,wBAAwB;YACvC,WAAW;YACX,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,SAAS,EAAE,QAAQ,CAAC,YAAY;YAChC,aAAa,EAAE,KAAK;YACpB,OAAO,EAAE,EAAE;SACX,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CACzD,KAAK,CAAC,WAAW,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,CACjE,CAAC;IACF,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;QACvB,OAAO;YACN,aAAa,EAAE,wBAAwB;YACvC,WAAW;YACX,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,SAAS,EAAE,QAAQ,CAAC,YAAY;YAChC,aAAa,EAAE,IAAI;YACnB,OAAO,EAAE,EAAE;SACX,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACpD,OAAO;QACN,aAAa,EAAE,wBAAwB;QACvC,WAAW;QACX,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,QAAQ,CAAC,YAAY;QAC5D,aAAa,EAAE,KAAK;QACpB,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;KACjD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,sBAAsB,CAC5C,KAAoB,EACpB,OAAyC;IAEzC,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,IAAI,EAAE,CAAC,CAAC;IAC7F,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzD,wFAAwF;QACxF,MAAM,OAAO,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAuB,EAAE,CAAC;IACrC,IAAI,MAAgC,CAAC;IACrC,MAAM,QAAQ,GAAG,CAAC,KAAuB,EAAE,EAAE;QAC5C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,MAAM,EAAE,EAAE,CAAC;QACX,MAAM,GAAG,SAAS,CAAC;IACpB,CAAC,CAAC;IAEF,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC;QACJ,OAAO,IAAI,EAAE,CAAC;YACb,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBACnC,MAAM,GAAG,OAAO,CAAC;gBAClB,CAAC,CAAC,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,IAAI;gBAAE,MAAM,IAAI,CAAC;QACtB,CAAC;IACF,CAAC;YAAS,CAAC;QACV,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,+BAA+B,CAC9C,KAAoB,EACpB,gBAA4C;IAE5C,KAAK,CAAC,iBAAiB,IAAI,CAAC,CAAC;IAC7B,KAAK,CAAC,aAAa,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IACvE,KAAK,CAAC,iBAAiB,GAAG,YAAY,CAAC;IAEvC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvB,OAAO;IACR,CAAC;IAED,MAAM,KAAK,GAAG,aAAa,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO;IACR,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACpC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IACD,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAoB;IACtD,OAAO,aAAa,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;AACnF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAoB,EAAE,MAAc;IACzE,OAAO;QACN,aAAa,EAAE,wBAAwB;QACvC,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,IAAI;QACxC,MAAM;QACN,SAAS,EAAE,uBAAuB,EAAE;aAClC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,yBAAyB,CAAC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;aAC5E,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC;aAC3B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;aACpD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5C,KAAK,EAAE,cAAc,EAAE;QACvB,MAAM,EAAE,uBAAuB,EAAE;aAC/B,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,yBAAyB,CAAC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;aAC5E,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC1D,iBAAiB,EAAE,wBAAwB,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACnE,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;YAC5B,OAAO,EAAE,MAAM,CAAC,OAAO;SACvB,CAAC,CAAC;KACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAoB,EAAE,UAAkB;IACjF,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,0BAA0B,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAE3D,OAAO;QACN,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;QACnD,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC;QAChC,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,aAAa,EAAE,QAAQ,EAAE,aAAa,IAAI,KAAK;QAC/C,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB,IAAI,IAAI;QACpD,kBAAkB,EAAE,QAAQ,EAAE,aAAa,IAAI,KAAK;QACpD,mBAAmB,EAAE,mCAAmC,CAAC,UAAU,CAAC;QACpE,iBAAiB,EAAE,CAAC,GAAG,UAAU,CAAC,iBAAiB,CAAC;QACpD,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC;QACxC,aAAa,EAAE,QAAQ,EAAE,aAAa,IAAI,IAAI;QAC9C,OAAO,EAAE,QAAQ,EAAE,OAAO,IAAI,MAAM,EAAE,OAAO,IAAI,UAAU,CAAC,cAAc;KAC1E,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAoB,EAAE,KAAgB;IAC5E,MAAM,UAAU,GAAG,0BAA0B,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5G,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC;IAEnC,OAAO;QACN,GAAG,EAAE,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC;QACpC,OAAO,EAAE,KAAK,CAAC,EAAE;QACjB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,UAAU,EAAE,KAAK,CAAC,QAAQ;QAC1B,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;QACnD,gBAAgB,EAAE,mBAAmB,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,cAAc,IAAI,UAAU,CAAC,mBAAmB;QACrH,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,YAAY,EAAE,2BAA2B,CAAC,KAAK,EAAE,UAAU,CAAC;QAC5D,eAAe,EAAE,uBAAuB,CAAC,KAAK,CAAC;QAC/C,aAAa,EAAE,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI;QACnE,eAAe,EAAE,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI;QACzE,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;QAC9B,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,IAAI;QAC1C,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI;QACpC,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,IAAI;QAC5C,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;QAC3B,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;QAC5B,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;QAClC,aAAa,EAAE,OAAO,EAAE,aAAa,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC;QACrG,kEAAkE;QAClE,qEAAqE;QACrE,eAAe,EAAE,OAAO,EAAE,eAAe,IAAI,KAAK,CAAC,eAAe,IAAI,IAAI;QAC1E,YAAY,EAAE,OAAO,EAAE,YAAY,IAAI,IAAI;QAC3C,oBAAoB,EAAE,OAAO,EAAE,oBAAoB,IAAI,IAAI;QAC3D,aAAa,EAAE,OAAO,EAAE,aAAa,IAAI,IAAI;QAC7C,wBAAwB,EAAE,OAAO,EAAE,wBAAwB,IAAI,IAAI;QACnE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,IAAI,IAAI;QACrD,iEAAiE;QACjE,iEAAiE;QACjE,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI;QACtC,qBAAqB,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;QAC/D,yBAAyB,EAAE,KAAK,CAAC,yBAAyB,IAAI,IAAI;QAClE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;QAC5B,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,IAAI;QAC9C,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI;QACpC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI;KACtC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAoB,EAAE,UAAkB;IACjF,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC;IACjE,MAAM,WAAW,GAAG,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,WAAW,GAAG,WAAW,IAAI,WAAW,CAAC,YAAY,GAAG,CAAC;QAC9D,CAAC,CAAC,WAAW,CAAC,YAAY,GAAG,WAAW,CAAC,YAAY;QACrD,CAAC,CAAC,CAAC,CAAC;IACL,MAAM,YAAY,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACtD,IAAI,UAAU,GAAmC,SAAS,CAAC;IAE3D,8FAA8F;IAC9F,IAAI,WAAW,EAAE,aAAa,KAAK,YAAY,EAAE,CAAC;QACjD,UAAU,GAAG,YAAY,CAAC;IAC3B,CAAC;SAAM,IAAI,WAAW,EAAE,aAAa,KAAK,WAAW,EAAE,CAAC;QACvD,UAAU,GAAG,WAAW,CAAC;IAC1B,CAAC;SAAM,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,IAAI,WAAW,EAAE,YAAY,EAAE,CAAC;QAClE,UAAU,GAAG,MAAM,CAAC;IACrB,CAAC;SAAM,IAAI,QAAQ,EAAE,aAAa,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,CAAC,IAAI,WAAW,IAAI,IAAI,IAAI,YAAY,KAAK,MAAM,CAAC,EAAE,CAAC;QACpH,UAAU,GAAG,UAAU,CAAC;IACzB,CAAC;SAAM,IAAI,OAAO,CAAC,eAAe,GAAG,CAAC,IAAI,QAAQ,EAAE,aAAa,EAAE,CAAC;QACnE,UAAU,GAAG,SAAS,CAAC;IACxB,CAAC;IAED,OAAO;QACN,UAAU;QACV,KAAK,EAAE,UAAU;QACjB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI;QACpC,aAAa,EAAE,OAAO,CAAC,eAAe,IAAI,QAAQ,EAAE,aAAa,IAAI,IAAI;QACzE,aAAa,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI;QAC9C,YAAY;QACZ,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3C,cAAc,EAAE,WAAW,EAAE,aAAa,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACvH,YAAY,EAAE,OAAO,CAAC,KAAK;KAC3B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACxC,KAAoB,EACpB,UAAkB,EAClB,KAA6E;IAE7E,MAAM,WAAW,GAAG,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI;QACjE,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,CAAC;QACf,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,IAAI;KACnB,CAAC;IAEF,WAAW,CAAC,YAAY,IAAI,CAAC,CAAC;IAC9B,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC9C,IAAI,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACzC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACnC,WAAW,CAAC,YAAY,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,WAAW,CAAC,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC;IAC5C,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,YAAoB;IACzD,MAAM,KAAK,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;IACzC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACrH,OAAO,YAAY,CAAC;IACrB,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACtF,OAAO,WAAW,CAAC;IACpB,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACzF,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACxH,OAAO,WAAW,CAAC;IACpB,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAoB;IACrD,MAAM,OAAO,GAA+B,EAAE,CAAC;IAE/C,KAAK,MAAM,UAAU,IAAI,uBAAuB,EAAE,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC9D,IAAI,CAAC,mCAAmC,CAAC,UAAU,CAAC,IAAI,QAAQ,EAAE,aAAa,EAAE,CAAC;YACjF,SAAS;QACV,CAAC;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACtD,CAAC,CAAC,OAAO,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACpD,CAAC,CAAC,uBAAuB,CAAC;QAE3B,OAAO,CAAC,IAAI,CAAC;YACZ,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,YAAY,EAAE,UAAU,CAAC,IAAI;YAC7B,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,UAAU,CAAC,iBAAiB;YACrC,OAAO,EAAE,GAAG,OAAO,cAAc,UAAU,CAAC,IAAI,IAC/C,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,gBAClE,GAAG;SACH,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,mBAAmB,CAC3B,WAA4C;IAE5C,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,YAAY,KAAK,CAAC,IAAI,WAAW,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5F,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,WAAW,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QAC7C,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC;IAChH,IAAI,OAAO,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,OAAO,IAAI,KAAK;QAAE,OAAO,QAAQ,CAAC;IACtC,OAAO,MAAM,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"registry-discovery.js","sourceRoot":"","sources":["../src/registry-discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,8 @@ import type { CredentialResult, DiscoveryOptions, ProviderDiscoverer, ProviderIn
|
|
|
15
15
|
* cache envelopes or internal layout changes.
|
|
16
16
|
*/
|
|
17
17
|
export declare const REGISTRY_MANIFEST_PATH: string;
|
|
18
|
+
/** Providers known only from the public catalog, beside the registry. */
|
|
19
|
+
export declare const CATALOG_ONLY_FILE = "catalog-only.json";
|
|
18
20
|
/**
|
|
19
21
|
* Run provider discovery, enrichment, caching, and delta emission.
|
|
20
22
|
*/
|
|
@@ -83,7 +85,9 @@ export declare function saveRegistryToCache(state: RegistryState): Promise<void>
|
|
|
83
85
|
* still completed successfully, so I swallow errors rather than failing
|
|
84
86
|
* the whole command.
|
|
85
87
|
*/
|
|
86
|
-
export declare function exportRegistryManifest(state: RegistryState
|
|
88
|
+
export declare function exportRegistryManifest(state: RegistryState, options?: {
|
|
89
|
+
catalogOnly?: boolean;
|
|
90
|
+
}): Promise<void>;
|
|
87
91
|
export declare function mergeManifests(previous: DiscoverySnapshotV1 | null, fresh: DiscoverySnapshotV1): DiscoverySnapshotV1;
|
|
88
92
|
/**
|
|
89
93
|
* A single pricing-diff event captured at merge time. Persisted to
|
|
@@ -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":"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"}
|
package/dist/registry-runtime.js
CHANGED
|
@@ -9,7 +9,9 @@ import { randomBytes } from "crypto";
|
|
|
9
9
|
import { mkdir, open, readdir, rename, stat, unlink, writeFile } from "fs/promises";
|
|
10
10
|
import { homedir } from "os";
|
|
11
11
|
import { dirname, join } from "path";
|
|
12
|
-
import { catalogCacheKey, loadActiveCatalog } from "./catalog-source.js";
|
|
12
|
+
import { catalogCacheKey, loadActiveCatalog, resolveCatalogSource } from "./catalog-source.js";
|
|
13
|
+
import { buildCatalogOnlyRows } from "./discovery/catalog-only.js";
|
|
14
|
+
import { priceAgreement } from "./discovery/price-evidence.js";
|
|
13
15
|
import { applyPriceSchedules } from "./discovery/price-schedules.js";
|
|
14
16
|
import { applyPromoOverrides } from "./discovery/promo-overrides.js";
|
|
15
17
|
import { DISCOVERY_SCHEMA_VERSION } from "./discovery-contract.js";
|
|
@@ -27,6 +29,8 @@ const CACHE_KEY_PREFIX = "provider_";
|
|
|
27
29
|
* cache envelopes or internal layout changes.
|
|
28
30
|
*/
|
|
29
31
|
export const REGISTRY_MANIFEST_PATH = join(homedir(), ".kosha", "registry.json");
|
|
32
|
+
/** Providers known only from the public catalog, beside the registry. */
|
|
33
|
+
export const CATALOG_ONLY_FILE = "catalog-only.json";
|
|
30
34
|
/**
|
|
31
35
|
* Run provider discovery, enrichment, caching, and delta emission.
|
|
32
36
|
*/
|
|
@@ -47,7 +51,9 @@ export async function registryDiscover(state, dependencies, options) {
|
|
|
47
51
|
// Scoped provider rehydration can carry cache-derived state that should
|
|
48
52
|
// not be published as a fresh top-level manifest snapshot.
|
|
49
53
|
if (!providers || providers.length === 0) {
|
|
50
|
-
|
|
54
|
+
// A cache hit makes no network calls, and that includes this file:
|
|
55
|
+
// it waits for the next real discovery.
|
|
56
|
+
await exportRegistryManifest(state, { catalogOnly: false });
|
|
51
57
|
}
|
|
52
58
|
return Array.from(state.providerMap.values());
|
|
53
59
|
}
|
|
@@ -379,7 +385,7 @@ export async function saveRegistryToCache(state) {
|
|
|
379
385
|
* still completed successfully, so I swallow errors rather than failing
|
|
380
386
|
* the whole command.
|
|
381
387
|
*/
|
|
382
|
-
export async function exportRegistryManifest(state) {
|
|
388
|
+
export async function exportRegistryManifest(state, options) {
|
|
383
389
|
let manifestPath = null;
|
|
384
390
|
let lockReleased = true;
|
|
385
391
|
let lockPath = null;
|
|
@@ -459,6 +465,9 @@ export async function exportRegistryManifest(state) {
|
|
|
459
465
|
await unlink(tmpPath).catch(() => { });
|
|
460
466
|
throw err;
|
|
461
467
|
}
|
|
468
|
+
warnOnNewlyDisputedPrices(previousManifest, merged);
|
|
469
|
+
if (options?.catalogOnly !== false)
|
|
470
|
+
await exportCatalogOnlyManifest(manifestPath);
|
|
462
471
|
}
|
|
463
472
|
catch (err) {
|
|
464
473
|
// Manifest export is best-effort — the cache still works either way.
|
|
@@ -617,6 +626,64 @@ async function sweepStaleTmpFiles(manifestPath) {
|
|
|
617
626
|
function escapeRegExp(s) {
|
|
618
627
|
return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
619
628
|
}
|
|
629
|
+
/** A price held or changed while its sources disagree is only worth anything if
|
|
630
|
+
* someone hears about it, so say so once, when a model first enters that state. */
|
|
631
|
+
function warnOnNewlyDisputedPrices(previous, merged) {
|
|
632
|
+
const disputed = (snapshot) => (snapshot?.models ?? []).filter((m) => m.rawCapabilities?.includes(PRICING_SOURCES_DISAGREE)).map((m) => m.key);
|
|
633
|
+
const known = new Set(disputed(previous));
|
|
634
|
+
const fresh = disputed(merged).filter((key) => !known.has(key));
|
|
635
|
+
if (fresh.length > 0) {
|
|
636
|
+
console.warn(`[kosha] ${fresh.length} price(s) where sources disagree, e.g. ${fresh[0]}`);
|
|
637
|
+
}
|
|
638
|
+
}
|
|
639
|
+
/** Refuse to write more than this: the catalog itself caps providers and models,
|
|
640
|
+
* so a file this large means something upstream went wrong. */
|
|
641
|
+
const MAX_CATALOG_ONLY_BYTES = 32 * 1024 * 1024;
|
|
642
|
+
/**
|
|
643
|
+
* Save providers known only from the public catalog to their own file beside
|
|
644
|
+
* the registry. They stay out of `registry.json` and the provider cache so no
|
|
645
|
+
* reader, however old, can route to one or match a model name against one.
|
|
646
|
+
* Readers ask this file for one named provider. Goes through the same merge,
|
|
647
|
+
* so a bad publish is held here as it is anywhere else.
|
|
648
|
+
*
|
|
649
|
+
* Failing leaves the previous file in place: the registry above is already saved.
|
|
650
|
+
*/
|
|
651
|
+
async function exportCatalogOnlyManifest(manifestPath) {
|
|
652
|
+
if (resolveCatalogSource().mode !== "community")
|
|
653
|
+
return;
|
|
654
|
+
const path = join(dirname(manifestPath), CATALOG_ONLY_FILE);
|
|
655
|
+
let tmpPath = null;
|
|
656
|
+
try {
|
|
657
|
+
const { getAllDiscoverers } = await import("./discovery/index.js");
|
|
658
|
+
const models = await buildCatalogOnlyRows(getAllDiscoverers().map((discoverer) => discoverer.providerId));
|
|
659
|
+
if (models.length === 0)
|
|
660
|
+
return;
|
|
661
|
+
const fresh = {
|
|
662
|
+
schemaVersion: DISCOVERY_SCHEMA_VERSION,
|
|
663
|
+
discoveredAt: Date.now(),
|
|
664
|
+
cursor: "",
|
|
665
|
+
providers: [],
|
|
666
|
+
models,
|
|
667
|
+
roles: [],
|
|
668
|
+
health: [],
|
|
669
|
+
credentialPrompts: [],
|
|
670
|
+
};
|
|
671
|
+
const merged = mergeManifests(await readPreviousManifest(path), fresh);
|
|
672
|
+
const body = JSON.stringify(merged);
|
|
673
|
+
if (Buffer.byteLength(body) > MAX_CATALOG_ONLY_BYTES) {
|
|
674
|
+
throw new Error(`${CATALOG_ONLY_FILE} would exceed ${MAX_CATALOG_ONLY_BYTES} bytes`);
|
|
675
|
+
}
|
|
676
|
+
assertCleanPayload(merged, CATALOG_ONLY_FILE);
|
|
677
|
+
tmpPath = `${path}.${randomBytes(4).toString("hex")}.tmp`;
|
|
678
|
+
await writeFile(tmpPath, body, { encoding: "utf-8", mode: 0o600 });
|
|
679
|
+
await rename(tmpPath, path);
|
|
680
|
+
}
|
|
681
|
+
catch (err) {
|
|
682
|
+
if (tmpPath)
|
|
683
|
+
await unlink(tmpPath).catch(() => { });
|
|
684
|
+
console.warn(`[kosha] ${CATALOG_ONLY_FILE} not updated: ${err instanceof Error ? err.message : String(err)}`);
|
|
685
|
+
}
|
|
686
|
+
}
|
|
620
687
|
/** Resolve the on-disk path for the registry manifest. Tests + custom callers
|
|
621
688
|
* pin via `state.config.cacheDir`; production falls back to ~/.kosha. */
|
|
622
689
|
function resolveManifestPath(state) {
|
|
@@ -663,6 +730,21 @@ async function readPreviousManifest(manifestPath) {
|
|
|
663
730
|
* used by anomaly logging is a UI-alert threshold; quarantine fires only on
|
|
664
731
|
* a much larger swing so legitimate price updates aren't blocked. */
|
|
665
732
|
const PRICING_QUARANTINE_THRESHOLD = 0.75;
|
|
733
|
+
const DAY_MS = 24 * 60 * 60 * 1000;
|
|
734
|
+
/** Quarantine guards against a bad publish, but a real move must not stay refused
|
|
735
|
+
* forever. Two independent sources agreeing is strong evidence, so that's a day. */
|
|
736
|
+
const PRICING_AGREED_HOLD_MS = DAY_MS;
|
|
737
|
+
/** One source can't vouch for itself, and a compromised one can simply wait out
|
|
738
|
+
* the hold. So it waits longer, and the row stays flagged once it's accepted. */
|
|
739
|
+
const PRICING_SINGLE_SOURCE_HOLD_MS = 3 * DAY_MS;
|
|
740
|
+
/** Sources can stay apart for good: one going stale after a real move would
|
|
741
|
+
* otherwise pin the old price forever. So a dispute waits longest, and the row
|
|
742
|
+
* stays flagged once it's accepted. */
|
|
743
|
+
const PRICING_DISPUTED_HOLD_MS = 7 * DAY_MS;
|
|
744
|
+
/** The accepted price rests on one source's word. */
|
|
745
|
+
const PRICING_SINGLE_SOURCE = "pricing_single_source";
|
|
746
|
+
/** Sources list different prices for this model. */
|
|
747
|
+
const PRICING_SOURCES_DISAGREE = "pricing_sources_disagree";
|
|
666
748
|
/** After this many consecutive discovery passes in which a previously-known
|
|
667
749
|
* model is missing from the fresh snapshot, the model is dropped from the
|
|
668
750
|
* merged manifest. Prevents the manifest from becoming a graveyard of
|
|
@@ -687,6 +769,8 @@ export function mergeManifests(previous, fresh) {
|
|
|
687
769
|
// → keep the previous pricing and tag the row pricing_quarantined,
|
|
688
770
|
// so a one-shot bad publish (provider returns 0, garbage units, …)
|
|
689
771
|
// can't silently overcharge or underprice downstream consumers.
|
|
772
|
+
// The same rates are accepted after a day if two sources agree on them,
|
|
773
|
+
// after three days if only one lists them, and not while sources disagree.
|
|
690
774
|
const freshModelKeys = new Set();
|
|
691
775
|
const mergedModels = [];
|
|
692
776
|
for (const f of fresh.models ?? []) {
|
|
@@ -703,16 +787,55 @@ export function mergeManifests(previous, fresh) {
|
|
|
703
787
|
// it skips quarantine. Otherwise the first move to it would be refused
|
|
704
788
|
// on every run.
|
|
705
789
|
//
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
790
|
+
const now = fresh.discoveredAt ?? Date.now();
|
|
791
|
+
const rates = pricingFingerprint(f);
|
|
792
|
+
const hold = old.pricingHold;
|
|
793
|
+
const since = hold?.rates === rates ? hold.since : now;
|
|
794
|
+
const agreement = priceAgreement(f.priceEvidence);
|
|
795
|
+
const window = agreement === "agree"
|
|
796
|
+
? PRICING_AGREED_HOLD_MS
|
|
797
|
+
: agreement === "disagree"
|
|
798
|
+
? PRICING_DISPUTED_HOLD_MS
|
|
799
|
+
: PRICING_SINGLE_SOURCE_HOLD_MS;
|
|
800
|
+
// A billed rate of $0 is never accepted this way: it poisons cheapest
|
|
801
|
+
// routing however long it's published.
|
|
802
|
+
if (billedRateDroppedToZero(old, f) || now - since < window) {
|
|
803
|
+
// Quarantine the suspect rates: keep the old pricing block and
|
|
804
|
+
// tag the operational `rawCapabilities` array (the trusted
|
|
805
|
+
// `capabilities` taxonomy stays clean, since this isn't a routing
|
|
806
|
+
// signal — it's a "don't trust the freshly-published rate" flag).
|
|
807
|
+
let tags = tagCapability(kept.rawCapabilities, "pricing_quarantined");
|
|
808
|
+
if (agreement === "disagree")
|
|
809
|
+
tags = tagCapability(tags, PRICING_SOURCES_DISAGREE);
|
|
810
|
+
kept = {
|
|
811
|
+
...kept,
|
|
812
|
+
pricing: old.pricing,
|
|
813
|
+
originPricing: old.originPricing,
|
|
814
|
+
rawCapabilities: tags,
|
|
815
|
+
pricingHold: { rates, since },
|
|
816
|
+
};
|
|
817
|
+
}
|
|
818
|
+
else if (agreement !== "agree") {
|
|
819
|
+
const flag = agreement === "single" ? PRICING_SINGLE_SOURCE : PRICING_SOURCES_DISAGREE;
|
|
820
|
+
kept = { ...kept, rawCapabilities: tagCapability(kept.rawCapabilities, flag) };
|
|
821
|
+
}
|
|
822
|
+
}
|
|
823
|
+
else if (old && !f.pricing?.schedule) {
|
|
824
|
+
// Below the quarantine line a price still takes effect, but a move its
|
|
825
|
+
// sources dispute is the believable lie, so it carries a flag. Flags
|
|
826
|
+
// from an earlier move last until the rates change or the evidence does.
|
|
827
|
+
const agreement = priceAgreement(f.priceEvidence);
|
|
828
|
+
const moved = pricingFingerprint(old) !== pricingFingerprint(f);
|
|
829
|
+
const wasTagged = (tag) => !moved && (old.rawCapabilities ?? []).includes(tag);
|
|
830
|
+
let tags = kept.rawCapabilities;
|
|
831
|
+
if (agreement === "disagree" && (moved || wasTagged(PRICING_SOURCES_DISAGREE))) {
|
|
832
|
+
tags = tagCapability(tags, PRICING_SOURCES_DISAGREE);
|
|
833
|
+
}
|
|
834
|
+
if (agreement === "single" && wasTagged(PRICING_SINGLE_SOURCE)) {
|
|
835
|
+
tags = tagCapability(tags, PRICING_SINGLE_SOURCE);
|
|
836
|
+
}
|
|
837
|
+
if (tags !== kept.rawCapabilities)
|
|
838
|
+
kept = { ...kept, rawCapabilities: tags };
|
|
716
839
|
}
|
|
717
840
|
mergedModels.push(kept);
|
|
718
841
|
}
|
|
@@ -738,6 +861,24 @@ export function mergeManifests(previous, fresh) {
|
|
|
738
861
|
providers: mergedProviders,
|
|
739
862
|
};
|
|
740
863
|
}
|
|
864
|
+
function pricingFingerprint(model) {
|
|
865
|
+
const fields = [
|
|
866
|
+
"inputPerMillion",
|
|
867
|
+
"outputPerMillion",
|
|
868
|
+
"cacheReadPerMillion",
|
|
869
|
+
"cacheWritePerMillion",
|
|
870
|
+
"cacheWrite1hPerMillion",
|
|
871
|
+
];
|
|
872
|
+
return JSON.stringify([model.pricing, model.originPricing].map((side) => fields.map((field) => side?.[field] ?? null)));
|
|
873
|
+
}
|
|
874
|
+
/** True if a priced model's billed input or output rate fell to zero. */
|
|
875
|
+
function billedRateDroppedToZero(previous, fresh) {
|
|
876
|
+
const a = previous.pricing;
|
|
877
|
+
const b = fresh.pricing;
|
|
878
|
+
if (!a || !b)
|
|
879
|
+
return false;
|
|
880
|
+
return ["inputPerMillion", "outputPerMillion"].some((field) => (a[field] ?? 0) > 0 && b[field] === 0);
|
|
881
|
+
}
|
|
741
882
|
/** True if any defined per-million rate moved by more than the quarantine
|
|
742
883
|
* threshold (either direction), compared to the previous snapshot. */
|
|
743
884
|
function quarantinePricingMove(previous, fresh) {
|
|
@@ -934,7 +1075,10 @@ async function discoverProvider(state, dependencies, discoverer, timeout, degrad
|
|
|
934
1075
|
? await dependencies.resolveCredential(discoverer.providerId, explicitKey)
|
|
935
1076
|
: dependencies.fallbackCredential(discoverer.providerId, explicitKey);
|
|
936
1077
|
try {
|
|
937
|
-
|
|
1078
|
+
// Cloud discoverers fall back to ambient credentials (the AWS chain, gcloud)
|
|
1079
|
+
// whatever credential they're given, so keyless mode has its own path there.
|
|
1080
|
+
const keylessPath = state.config.keyless ? discoverer.discoverKeyless?.bind(discoverer) : undefined;
|
|
1081
|
+
const models = keylessPath ? await keylessPath() : await discoverer.discover(credential, { timeout });
|
|
938
1082
|
breaker.onSuccess();
|
|
939
1083
|
dependencies.recordObservation(discoverer.providerId, {
|
|
940
1084
|
latencyMs: Date.now() - startedAt,
|