@cat-factory/integrations 0.166.22 → 0.168.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/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/modules/environments/EnvironmentProvisioningService.d.ts +36 -2
- package/dist/modules/environments/EnvironmentProvisioningService.d.ts.map +1 -1
- package/dist/modules/environments/EnvironmentProvisioningService.js +56 -1
- package/dist/modules/environments/EnvironmentProvisioningService.js.map +1 -1
- package/dist/modules/environments/environmentDiagnostics.d.ts +51 -0
- package/dist/modules/environments/environmentDiagnostics.d.ts.map +1 -0
- package/dist/modules/environments/environmentDiagnostics.js +352 -0
- package/dist/modules/environments/environmentDiagnostics.js.map +1 -0
- package/dist/modules/environments/environmentRemediation.d.ts +53 -0
- package/dist/modules/environments/environmentRemediation.d.ts.map +1 -0
- package/dist/modules/environments/environmentRemediation.js +72 -0
- package/dist/modules/environments/environmentRemediation.js.map +1 -0
- package/dist/modules/environments/environments.logic.d.ts +7 -0
- package/dist/modules/environments/environments.logic.d.ts.map +1 -1
- package/dist/modules/environments/environments.logic.js +28 -0
- package/dist/modules/environments/environments.logic.js.map +1 -1
- package/dist/modules/kubernetes/KubernetesEnvironmentProvider.d.ts +25 -2
- package/dist/modules/kubernetes/KubernetesEnvironmentProvider.d.ts.map +1 -1
- package/dist/modules/kubernetes/KubernetesEnvironmentProvider.js +106 -21
- package/dist/modules/kubernetes/KubernetesEnvironmentProvider.js.map +1 -1
- package/dist/modules/kubernetes/kubernetes-diagnostics.d.ts +31 -0
- package/dist/modules/kubernetes/kubernetes-diagnostics.d.ts.map +1 -0
- package/dist/modules/kubernetes/kubernetes-diagnostics.js +350 -0
- package/dist/modules/kubernetes/kubernetes-diagnostics.js.map +1 -0
- package/dist/modules/kubernetes/kubernetes-environment.logic.d.ts +8 -1
- package/dist/modules/kubernetes/kubernetes-environment.logic.d.ts.map +1 -1
- package/dist/modules/kubernetes/kubernetes-environment.logic.js +18 -4
- package/dist/modules/kubernetes/kubernetes-environment.logic.js.map +1 -1
- package/dist/modules/kubernetes/kubernetes.logic.d.ts +42 -2
- package/dist/modules/kubernetes/kubernetes.logic.d.ts.map +1 -1
- package/dist/modules/kubernetes/kubernetes.logic.js +106 -2
- package/dist/modules/kubernetes/kubernetes.logic.js.map +1 -1
- package/dist/modules/providers/OpenRouterCatalogService.d.ts.map +1 -1
- package/dist/modules/providers/OpenRouterCatalogService.js +2 -30
- package/dist/modules/providers/OpenRouterCatalogService.js.map +1 -1
- package/dist/modules/providers/openRouterModels.d.ts +12 -0
- package/dist/modules/providers/openRouterModels.d.ts.map +1 -0
- package/dist/modules/providers/openRouterModels.js +107 -0
- package/dist/modules/providers/openRouterModels.js.map +1 -0
- package/dist/modules/serviceCatalog/BackstageCatalogClient.d.ts +75 -0
- package/dist/modules/serviceCatalog/BackstageCatalogClient.d.ts.map +1 -0
- package/dist/modules/serviceCatalog/BackstageCatalogClient.js +410 -0
- package/dist/modules/serviceCatalog/BackstageCatalogClient.js.map +1 -0
- package/dist/modules/serviceCatalog/ServiceCatalogConnectionService.d.ts +85 -0
- package/dist/modules/serviceCatalog/ServiceCatalogConnectionService.d.ts.map +1 -0
- package/dist/modules/serviceCatalog/ServiceCatalogConnectionService.js +177 -0
- package/dist/modules/serviceCatalog/ServiceCatalogConnectionService.js.map +1 -0
- package/dist/modules/serviceCatalog/backstage-catalog.logic.d.ts +173 -0
- package/dist/modules/serviceCatalog/backstage-catalog.logic.d.ts.map +1 -0
- package/dist/modules/serviceCatalog/backstage-catalog.logic.js +362 -0
- package/dist/modules/serviceCatalog/backstage-catalog.logic.js.map +1 -0
- package/dist/modules/serviceCatalog/serviceCatalogAuth.d.ts +42 -0
- package/dist/modules/serviceCatalog/serviceCatalogAuth.d.ts.map +1 -0
- package/dist/modules/serviceCatalog/serviceCatalogAuth.js +201 -0
- package/dist/modules/serviceCatalog/serviceCatalogAuth.js.map +1 -0
- package/dist/modules/shared/base64.d.ts +19 -0
- package/dist/modules/shared/base64.d.ts.map +1 -0
- package/dist/modules/shared/base64.js +75 -0
- package/dist/modules/shared/base64.js.map +1 -0
- package/dist/modules/tracker/TicketTrackerService.js +1 -1
- package/dist/modules/tracker/TicketTrackerService.js.map +1 -1
- package/package.json +4 -4
- package/dist/modules/tracker/base64.d.ts +0 -2
- package/dist/modules/tracker/base64.d.ts.map +0 -1
- package/dist/modules/tracker/base64.js +0 -18
- package/dist/modules/tracker/base64.js.map +0 -1
|
@@ -326,8 +326,14 @@ export function classifyPodReadiness(pod) {
|
|
|
326
326
|
const ready = conditions.find((c) => c.type === 'Ready');
|
|
327
327
|
return ready?.status === 'True' ? 'ready' : 'pending';
|
|
328
328
|
}
|
|
329
|
-
/**
|
|
330
|
-
|
|
329
|
+
/**
|
|
330
|
+
* Classify a Deployment's status JSON: rolled out, still progressing, or failed.
|
|
331
|
+
*
|
|
332
|
+
* Module-private on purpose: {@link reduceRolloutProgress} owns the aggregation AND the prose a
|
|
333
|
+
* caller needs, and a caller reaching for the raw per-Deployment verdict is how a note-less
|
|
334
|
+
* `provisioning` answer got re-derived beside it.
|
|
335
|
+
*/
|
|
336
|
+
function classifyDeploymentReadiness(deployment) {
|
|
331
337
|
const obj = deployment;
|
|
332
338
|
const status = obj?.status;
|
|
333
339
|
if (!status)
|
|
@@ -349,6 +355,104 @@ export function classifyDeploymentReadiness(deployment) {
|
|
|
349
355
|
}
|
|
350
356
|
return 'pending';
|
|
351
357
|
}
|
|
358
|
+
/**
|
|
359
|
+
* One Deployment's rollout state as a DIAGNOSTIC row: the per-object verdict plus the two replica
|
|
360
|
+
* counts behind it.
|
|
361
|
+
*
|
|
362
|
+
* The one sanctioned reader of the private classifier above, and it is not the lifecycle path:
|
|
363
|
+
* a diagnosis is a table of per-object facts an investigator reconciles, which is exactly what
|
|
364
|
+
* {@link reduceRolloutProgress} reduces away on purpose. Never use this to answer "is the
|
|
365
|
+
* environment ready" (that is `reduceRolloutProgress`, note and all).
|
|
366
|
+
*
|
|
367
|
+
* `desired` comes off `spec`, which is why the counts ride along rather than being re-read at the
|
|
368
|
+
* call site: a Deployment whose ReplicaSet never created a pod (a quota or an admission webhook
|
|
369
|
+
* refusing it) carries no `status.replicas` at all, and a `0/0 ready` row reads byte-for-byte like
|
|
370
|
+
* one deliberately scaled to zero.
|
|
371
|
+
*/
|
|
372
|
+
export function describeDeploymentRollout(deployment) {
|
|
373
|
+
const obj = deployment;
|
|
374
|
+
return {
|
|
375
|
+
readiness: classifyDeploymentReadiness(deployment),
|
|
376
|
+
desired: typeof obj?.spec?.replicas === 'number' ? obj.spec.replicas : 1,
|
|
377
|
+
ready: typeof obj?.status?.readyReplicas === 'number' ? obj.status.readyReplicas : 0,
|
|
378
|
+
};
|
|
379
|
+
}
|
|
380
|
+
/**
|
|
381
|
+
* How many workload names a rollout note lists before it stops naming them. A note is read in a
|
|
382
|
+
* step panel and a run-failure message, so an unbounded list of a large namespace's Deployments
|
|
383
|
+
* would push the sentence that matters off the surface.
|
|
384
|
+
*/
|
|
385
|
+
const ROLLOUT_NOTE_NAME_CAP = 5;
|
|
386
|
+
/**
|
|
387
|
+
* One namespace's Deployments reduced to a lifecycle verdict, plus (while it is still coming up)
|
|
388
|
+
* WHICH workloads have not landed.
|
|
389
|
+
*
|
|
390
|
+
* The note exists because `provisioning` is the answer that keeps a readiness wait alive, and
|
|
391
|
+
* before it the wait could only report its own duration: the deployer's 20-minute ceiling said
|
|
392
|
+
* that it had waited 20 minutes and nothing about what it had waited on. Naming the workloads
|
|
393
|
+
* separates the two cases an operator acts on differently: one Deployment of five stuck (look at
|
|
394
|
+
* that workload) versus all five (look at the namespace, the quota, the node).
|
|
395
|
+
*
|
|
396
|
+
* The verdict itself is unchanged from the reduction this replaces: no Deployment is `ready`
|
|
397
|
+
* (nothing to roll out), one terminally-failed rollout is `failed`, anything else outstanding is
|
|
398
|
+
* `provisioning`. Both non-`ready` answers carry prose, on the same argument and through the two
|
|
399
|
+
* channels their caller has: a `provisioning` verdict says what it is WAITING ON (`note`), and a
|
|
400
|
+
* `failed` one says WHICH workload gave up (`error`). The failed half had the workload's identity
|
|
401
|
+
* in hand and dropped it, so the environment recorded the literal 'Provisioning failed' for a
|
|
402
|
+
* failure whose exact name was computed here.
|
|
403
|
+
*/
|
|
404
|
+
export function reduceRolloutProgress(items) {
|
|
405
|
+
if (items.length === 0)
|
|
406
|
+
return { status: 'ready' }; // nothing to roll out (e.g. a static Service)
|
|
407
|
+
const pending = [];
|
|
408
|
+
for (const item of items) {
|
|
409
|
+
const readiness = classifyDeploymentReadiness(item);
|
|
410
|
+
if (readiness === 'gone') {
|
|
411
|
+
return { status: 'failed', error: describeFailedRollout(deploymentName(item)) };
|
|
412
|
+
}
|
|
413
|
+
if (readiness !== 'ready')
|
|
414
|
+
pending.push(deploymentName(item));
|
|
415
|
+
}
|
|
416
|
+
if (pending.length === 0)
|
|
417
|
+
return { status: 'ready' };
|
|
418
|
+
return { status: 'provisioning', note: describeRolloutNote(pending, items.length) };
|
|
419
|
+
}
|
|
420
|
+
/**
|
|
421
|
+
* The account of a rollout that gave up: WHICH workload, and where its cause is readable.
|
|
422
|
+
*
|
|
423
|
+
* A terminal rollout is the one verdict here whose caller records a `lastError`, and that column
|
|
424
|
+
* falls back to the literal 'Provisioning failed' when a provider hands it nothing. Naming the
|
|
425
|
+
* Deployment is what turns the run's failure card, the Environment panel and the outcome row from
|
|
426
|
+
* "something did not happen" into one workload an operator can open.
|
|
427
|
+
*/
|
|
428
|
+
function describeFailedRollout(name) {
|
|
429
|
+
return (`the Deployment '${name}' exceeded its rollout progress deadline: its pods never became ` +
|
|
430
|
+
'available, so the cluster stopped waiting for them. That workload is where the cause is (an ' +
|
|
431
|
+
'image that cannot be pulled, a container crash-looping, a pod nothing can schedule), not the ' +
|
|
432
|
+
'namespace as a whole.');
|
|
433
|
+
}
|
|
434
|
+
/** A Deployment's own name, or a stand-in saying the payload carried none. */
|
|
435
|
+
function deploymentName(item) {
|
|
436
|
+
const name = item?.metadata?.name;
|
|
437
|
+
return typeof name === 'string' && name.trim() ? name.trim() : '(unnamed)';
|
|
438
|
+
}
|
|
439
|
+
/**
|
|
440
|
+
* The rollout note: how much of the namespace is outstanding, and which parts of it.
|
|
441
|
+
*
|
|
442
|
+
* A capped list SAYS it is capped rather than trailing off, so a reader never takes the names as
|
|
443
|
+
* the whole set (the same rule every other cap here follows).
|
|
444
|
+
*/
|
|
445
|
+
function describeRolloutNote(pending, total) {
|
|
446
|
+
const listed = pending.slice(0, ROLLOUT_NOTE_NAME_CAP);
|
|
447
|
+
const dropped = pending.length - listed.length;
|
|
448
|
+
const names = listed.map((name) => `'${name}'`).join(', ') + (dropped > 0 ? `, and ${dropped} more` : '');
|
|
449
|
+
const scope = pending.length < total
|
|
450
|
+
? `${pending.length} of ${total} Deployments`
|
|
451
|
+
: total === 1
|
|
452
|
+
? "the namespace's only Deployment"
|
|
453
|
+
: `all ${total} Deployments`;
|
|
454
|
+
return `${scope} ${pending.length === 1 ? 'is' : 'are'} still rolling out: ${names}`;
|
|
455
|
+
}
|
|
352
456
|
/**
|
|
353
457
|
* Container `state.waiting.reason`s that will NOT self-heal within the readiness window:
|
|
354
458
|
* a bad/unpullable image, a malformed container config, a failed lifecycle hook, or a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kubernetes.logic.js","sourceRoot":"","sources":["../../../src/modules/kubernetes/kubernetes.logic.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kubernetes.logic.js","sourceRoot":"","sources":["../../../src/modules/kubernetes/kubernetes.logic.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenRouterCatalogService.d.ts","sourceRoot":"","sources":["../../../src/modules/providers/OpenRouterCatalogService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EAEL,8BAA8B,EAC/B,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,4BAA4B,EAC7B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"OpenRouterCatalogService.d.ts","sourceRoot":"","sources":["../../../src/modules/providers/OpenRouterCatalogService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EAEL,8BAA8B,EAC/B,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,4BAA4B,EAC7B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAiBvD,gFAAgF;AAChF,eAAO,MAAM,mBAAmB,iCAAiC,CAAA;AAQjE;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAS5E;AAED,MAAM,WAAW,oCAAoC;IACnD,gFAAgF;IAChF,8BAA8B,EAAE,8BAA8B,CAAA;IAC9D,uFAAuF;IACvF,OAAO,EAAE,aAAa,CAAA;IACtB,KAAK,EAAE,KAAK,CAAA;IACZ,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iFAAiF;IACjF,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,wDAAwD;IACxD,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;CACrB;AAED,qBAAa,wBAAwB;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,oCAAoC,EAAI;IAE3E,+EAA+E;IACzE,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAUzD;IAED,kFAAkF;IAC5E,MAAM,CACV,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,iBAAiB,CAAC,CAe5B;IAED,8CAA8C;IACxC,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;IAED;;;OAGG;IACG,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAMzE;IAED;;;;OAIG;IACG,OAAO,CACX,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAChC,OAAO,CAAC,uBAAuB,CAAC,CA2BlC;CACF"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { getErrorMessage } from '@cat-factory/kernel';
|
|
2
|
+
import { parseOpenRouterModels } from './openRouterModels.js';
|
|
2
3
|
// OpenRouterCatalogService: owns each WORKSPACE's enabled OpenRouter models — the
|
|
3
4
|
// workspace-scoped analogue of the per-user local-runner catalog, but for the
|
|
4
5
|
// OpenRouter gateway. OpenRouter is a single OpenAI-compatible endpoint to 300+
|
|
@@ -104,7 +105,7 @@ export class OpenRouterCatalogService {
|
|
|
104
105
|
return { reachable: false, models: [], error: `OpenRouter returned HTTP ${res.status}` };
|
|
105
106
|
}
|
|
106
107
|
const body = (await res.json());
|
|
107
|
-
const models =
|
|
108
|
+
const models = parseOpenRouterModels(body.data, rate);
|
|
108
109
|
return { reachable: true, models };
|
|
109
110
|
}
|
|
110
111
|
catch (err) {
|
|
@@ -112,35 +113,6 @@ export class OpenRouterCatalogService {
|
|
|
112
113
|
}
|
|
113
114
|
}
|
|
114
115
|
}
|
|
115
|
-
/** Map OpenRouter's `/models` payload to our metadata, converting USD/token → currency/1M. */
|
|
116
|
-
function parseModels(data, rate) {
|
|
117
|
-
if (!Array.isArray(data))
|
|
118
|
-
return [];
|
|
119
|
-
const out = [];
|
|
120
|
-
for (const raw of data) {
|
|
121
|
-
const id = typeof raw?.id === 'string' ? raw.id.trim() : '';
|
|
122
|
-
if (!id)
|
|
123
|
-
continue;
|
|
124
|
-
const prompt = perMillion(raw?.pricing?.prompt, rate);
|
|
125
|
-
const completion = perMillion(raw?.pricing?.completion, rate);
|
|
126
|
-
const contextLength = typeof raw?.context_length === 'number' ? raw.context_length : undefined;
|
|
127
|
-
out.push({
|
|
128
|
-
id,
|
|
129
|
-
name: typeof raw?.name === 'string' ? raw.name : id,
|
|
130
|
-
...(contextLength ? { contextLength } : {}),
|
|
131
|
-
inputPerMillion: prompt,
|
|
132
|
-
outputPerMillion: completion,
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
return out;
|
|
136
|
-
}
|
|
137
|
-
/** USD-per-token (a string or number) → currency-per-1M-token, rounded to 4 dp. */
|
|
138
|
-
function perMillion(usdPerToken, rate) {
|
|
139
|
-
const n = typeof usdPerToken === 'number' ? usdPerToken : Number(usdPerToken);
|
|
140
|
-
if (!Number.isFinite(n) || n <= 0)
|
|
141
|
-
return 0;
|
|
142
|
-
return Math.round(n * 1_000_000 * rate * 10_000) / 10_000;
|
|
143
|
-
}
|
|
144
116
|
function dedupe(models) {
|
|
145
117
|
const seen = new Map();
|
|
146
118
|
for (const m of models) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenRouterCatalogService.js","sourceRoot":"","sources":["../../../src/modules/providers/OpenRouterCatalogService.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"OpenRouterCatalogService.js","sourceRoot":"","sources":["../../../src/modules/providers/OpenRouterCatalogService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type OpenRouterModelMeta } from '@cat-factory/contracts';
|
|
2
|
+
/**
|
|
3
|
+
* Map OpenRouter's `/models` payload to the metadata a workspace persists.
|
|
4
|
+
*
|
|
5
|
+
* `inputPerMillion` / `outputPerMillion` stay REQUIRED and fall back to 0 for a model OpenRouter
|
|
6
|
+
* priced not at all, because that is the existing signal `withDynamicPrices` reads to SKIP the
|
|
7
|
+
* overlay and keep the more conservative bare-`openrouter` rate. The cache classes are optional
|
|
8
|
+
* for the opposite reason: absent there means "derive the multiplier", and a 0 would mean "this
|
|
9
|
+
* gateway serves cache hits free".
|
|
10
|
+
*/
|
|
11
|
+
export declare function parseOpenRouterModels(data: unknown, rate: number): OpenRouterModelMeta[];
|
|
12
|
+
//# sourceMappingURL=openRouterModels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openRouterModels.d.ts","sourceRoot":"","sources":["../../../src/modules/providers/openRouterModels.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAoI3F;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAmCxF"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { OPENROUTER_DATE_TEXT_MAX } from '@cat-factory/contracts';
|
|
2
|
+
/**
|
|
3
|
+
* USD-per-token (a string or number) → spend-currency per 1M tokens, rounded to 4 dp.
|
|
4
|
+
*
|
|
5
|
+
* `undefined` for anything that is not a usable rate, which is a DIFFERENT fact from zero: a
|
|
6
|
+
* missing cache rate means "derive the fallback multiplier", while a published `"0"` means the
|
|
7
|
+
* gateway serves that class free. Only a negative or non-numeric value is rejected outright.
|
|
8
|
+
*/
|
|
9
|
+
function perMillion(usdPerToken, rate) {
|
|
10
|
+
if (usdPerToken === undefined || usdPerToken === null || usdPerToken === '')
|
|
11
|
+
return undefined;
|
|
12
|
+
const n = typeof usdPerToken === 'number' ? usdPerToken : Number(usdPerToken);
|
|
13
|
+
if (!Number.isFinite(n) || n < 0)
|
|
14
|
+
return undefined;
|
|
15
|
+
return Math.round(n * 1_000_000 * rate * 10_000) / 10_000;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* The DEAREST rate for one class across the base price and every conditional override.
|
|
19
|
+
*
|
|
20
|
+
* A max-fold rather than a pick, because which band applies depends on the prompt's length and
|
|
21
|
+
* on the wall clock at call time, neither of which is known when a catalog is refreshed. A
|
|
22
|
+
* budget safeguard is allowed to be wrong in one direction only, so it budgets against the most
|
|
23
|
+
* expensive band a call could land in. Undefined only when NO band states the class at all.
|
|
24
|
+
*/
|
|
25
|
+
function dearestRate(pricing, overrides, key, rate) {
|
|
26
|
+
const candidates = [pricing[key], ...overrides.map((o) => o[key])]
|
|
27
|
+
.map((value) => perMillion(value, rate))
|
|
28
|
+
.filter((value) => value !== undefined);
|
|
29
|
+
return candidates.length === 0 ? undefined : Math.max(...candidates);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* The cache-WRITE rate, preferring the 5-minute TTL over the 1-hour one.
|
|
33
|
+
*
|
|
34
|
+
* Deliberately NOT the max-fold the conditional bands get, and the difference is what is
|
|
35
|
+
* KNOWN. Which override band applies is unknowable at refresh time; which cache TTL this
|
|
36
|
+
* platform requests is not, because the harnesses ask for the default 5-minute one. That is the
|
|
37
|
+
* same reasoning behind `CACHE_WRITE_MULTIPLIER`'s 1.25 in the spend table, so budgeting the
|
|
38
|
+
* 1-hour rate here would make the dynamic path contradict the static one for no gain.
|
|
39
|
+
*
|
|
40
|
+
* `input_cache_write_1h` is the fallback for a model that publishes only the long TTL, and it is
|
|
41
|
+
* folded across the conditional bands exactly like the 5-minute rate: the bands carry the key
|
|
42
|
+
* (OpenRouter's own override objects list it), so reading it off the base price alone would leave
|
|
43
|
+
* a model that states it only inside a band falling back to the derived multiplier while the
|
|
44
|
+
* declared field read as if the case were covered.
|
|
45
|
+
*/
|
|
46
|
+
function cacheWriteRate(pricing, overrides, rate) {
|
|
47
|
+
return (dearestRate(pricing, overrides, 'input_cache_write', rate) ??
|
|
48
|
+
dearestRate(pricing, overrides, 'input_cache_write_1h', rate));
|
|
49
|
+
}
|
|
50
|
+
/** `value` when it fits the wire schema's bound for its field, else undefined. */
|
|
51
|
+
function withinLength(value, max) {
|
|
52
|
+
return value !== undefined && value.length <= max ? value : undefined;
|
|
53
|
+
}
|
|
54
|
+
/** A trimmed non-empty string, or undefined. Keeps `''` out of the persisted metadata. */
|
|
55
|
+
function text(value) {
|
|
56
|
+
if (typeof value !== 'string')
|
|
57
|
+
return undefined;
|
|
58
|
+
const trimmed = value.trim();
|
|
59
|
+
return trimmed.length > 0 ? trimmed : undefined;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Map OpenRouter's `/models` payload to the metadata a workspace persists.
|
|
63
|
+
*
|
|
64
|
+
* `inputPerMillion` / `outputPerMillion` stay REQUIRED and fall back to 0 for a model OpenRouter
|
|
65
|
+
* priced not at all, because that is the existing signal `withDynamicPrices` reads to SKIP the
|
|
66
|
+
* overlay and keep the more conservative bare-`openrouter` rate. The cache classes are optional
|
|
67
|
+
* for the opposite reason: absent there means "derive the multiplier", and a 0 would mean "this
|
|
68
|
+
* gateway serves cache hits free".
|
|
69
|
+
*/
|
|
70
|
+
export function parseOpenRouterModels(data, rate) {
|
|
71
|
+
if (!Array.isArray(data))
|
|
72
|
+
return [];
|
|
73
|
+
const out = [];
|
|
74
|
+
for (const raw of data) {
|
|
75
|
+
const id = text(raw?.id);
|
|
76
|
+
if (!id)
|
|
77
|
+
continue;
|
|
78
|
+
const pricing = raw?.pricing ?? {};
|
|
79
|
+
const overrides = Array.isArray(pricing.overrides)
|
|
80
|
+
? pricing.overrides
|
|
81
|
+
: [];
|
|
82
|
+
const input = dearestRate(pricing, overrides, 'prompt', rate);
|
|
83
|
+
const output = dearestRate(pricing, overrides, 'completion', rate);
|
|
84
|
+
const cachedInput = dearestRate(pricing, overrides, 'input_cache_read', rate);
|
|
85
|
+
const cacheWrite = cacheWriteRate(pricing, overrides, rate);
|
|
86
|
+
const contextLength = typeof raw?.context_length === 'number' ? raw.context_length : undefined;
|
|
87
|
+
const canonicalSlug = text(raw?.canonical_slug);
|
|
88
|
+
// Dropped rather than truncated past the wire bound: a half a date is worse than no date,
|
|
89
|
+
// and letting it through would fail the schema for the whole browse list over one model.
|
|
90
|
+
const expirationDate = withinLength(text(raw?.expiration_date), OPENROUTER_DATE_TEXT_MAX);
|
|
91
|
+
out.push({
|
|
92
|
+
id,
|
|
93
|
+
name: text(raw?.name) ?? id,
|
|
94
|
+
...(contextLength ? { contextLength } : {}),
|
|
95
|
+
inputPerMillion: input ?? 0,
|
|
96
|
+
outputPerMillion: output ?? 0,
|
|
97
|
+
...(cachedInput === undefined ? {} : { cachedInputPerMillion: cachedInput }),
|
|
98
|
+
...(cacheWrite === undefined ? {} : { cacheWritePerMillion: cacheWrite }),
|
|
99
|
+
...(expirationDate ? { expirationDate } : {}),
|
|
100
|
+
// Only when it says something `id` does not: a slug equal to the id is a field the SPA
|
|
101
|
+
// would render twice and a byte every persisted row would carry for nothing.
|
|
102
|
+
...(canonicalSlug && canonicalSlug !== id ? { canonicalSlug } : {}),
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
return out;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=openRouterModels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openRouterModels.js","sourceRoot":"","sources":["../../../src/modules/providers/openRouterModels.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type { ConnectionTestResult, ServiceCatalogAuth, ServiceCatalogProvider } from '@cat-factory/contracts';
|
|
2
|
+
import type { Logger, ServiceCatalogClient, ServiceCatalogFetch, ServiceCatalogFetchOptions, UrlSafetyPolicy } from '@cat-factory/kernel';
|
|
3
|
+
export interface BackstageCatalogClientOptions {
|
|
4
|
+
/** The portal's base URL, already normalised and validated at the write boundary. */
|
|
5
|
+
baseUrl: string;
|
|
6
|
+
auth: ServiceCatalogAuth;
|
|
7
|
+
/**
|
|
8
|
+
* The deployment's URL policy. A self-hosted portal is very often on a private or `.internal`
|
|
9
|
+
* host, so this is the seam that makes reaching one an operator decision rather than something
|
|
10
|
+
* the integration decides for itself: the strict default refuses it and a widened policy admits
|
|
11
|
+
* exactly the hosts named.
|
|
12
|
+
*/
|
|
13
|
+
urlPolicy?: UrlSafetyPolicy;
|
|
14
|
+
clock?: {
|
|
15
|
+
now: () => number;
|
|
16
|
+
};
|
|
17
|
+
logger?: Logger;
|
|
18
|
+
/** Injected for tests; the platform `fetch` otherwise. */
|
|
19
|
+
fetchImpl?: typeof fetch;
|
|
20
|
+
}
|
|
21
|
+
/** Reads a Backstage Software Catalog through the platform's neutral service-catalog port. */
|
|
22
|
+
export declare class BackstageCatalogClient implements ServiceCatalogClient {
|
|
23
|
+
private readonly options;
|
|
24
|
+
readonly provider: ServiceCatalogProvider;
|
|
25
|
+
private readonly log;
|
|
26
|
+
constructor(options: BackstageCatalogClientOptions);
|
|
27
|
+
fetchCatalog(fetchOptions: ServiceCatalogFetchOptions): Promise<ServiceCatalogFetch>;
|
|
28
|
+
probe(): Promise<ConnectionTestResult>;
|
|
29
|
+
/**
|
|
30
|
+
* The bearer value every request in this pass carries, or null for the modes that need none.
|
|
31
|
+
*
|
|
32
|
+
* Resolved ONCE per pass, which is the whole reason it is a separate step: a legacy token has a
|
|
33
|
+
* short expiry and an OAuth2 exchange is a round trip, so minting or fetching per page would
|
|
34
|
+
* multiply both the latency and the load on someone else's identity provider by the page count.
|
|
35
|
+
*/
|
|
36
|
+
private resolveBearer;
|
|
37
|
+
/**
|
|
38
|
+
* Walk the listing until the cap, the last page, or the page ceiling.
|
|
39
|
+
*
|
|
40
|
+
* Coverage is decided HERE rather than by comparing counts afterwards, because only this loop
|
|
41
|
+
* knows WHY it stopped: a cursor still outstanding when the cap was reached is a truncation, and
|
|
42
|
+
* the same entity count with no cursor left is a complete read of a small estate.
|
|
43
|
+
*/
|
|
44
|
+
private listEntities;
|
|
45
|
+
/**
|
|
46
|
+
* Every API entity the listed components declare, in batched requests, indexed by reference.
|
|
47
|
+
*
|
|
48
|
+
* Indexed rather than returned in order, because one interface is routinely provided by several
|
|
49
|
+
* components and the portal answers a by-refs request positionally: a map is what lets the
|
|
50
|
+
* caller attach the same definition to each provider without asking for it twice.
|
|
51
|
+
*
|
|
52
|
+
* Nothing is COUNTED here, deliberately. A reference dropped by {@link MAX_API_REFS} is simply
|
|
53
|
+
* absent from the map, which is the same state as one the portal would not serve, and the caller
|
|
54
|
+
* counts both once by looking at what it could not attach.
|
|
55
|
+
*/
|
|
56
|
+
private resolveApis;
|
|
57
|
+
private listUrl;
|
|
58
|
+
private base;
|
|
59
|
+
private now;
|
|
60
|
+
private getJson;
|
|
61
|
+
private postJson;
|
|
62
|
+
private authHeaders;
|
|
63
|
+
/**
|
|
64
|
+
* `fetch` with the SSRF guard re-run on every redirect hop.
|
|
65
|
+
*
|
|
66
|
+
* The per-hop check is what a per-connection host needs and a host-pinned helper cannot give:
|
|
67
|
+
* the base URL is operator-supplied, so a permitted first host could 302 the credential-bearing
|
|
68
|
+
* request at a link-local metadata address. `safeFetch` also drops the body and the
|
|
69
|
+
* `Authorization` header on a cross-origin hop, so a portal cannot bounce the token to a
|
|
70
|
+
* different public host either.
|
|
71
|
+
*/
|
|
72
|
+
private fetchSafely;
|
|
73
|
+
private readJson;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=BackstageCatalogClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BackstageCatalogClient.d.ts","sourceRoot":"","sources":["../../../src/modules/serviceCatalog/BackstageCatalogClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAElB,sBAAsB,EACvB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EACV,MAAM,EAEN,oBAAoB,EAEpB,mBAAmB,EACnB,0BAA0B,EAC1B,eAAe,EAChB,MAAM,qBAAqB,CAAA;AAmE5B,MAAM,WAAW,6BAA6B;IAC5C,qFAAqF;IACrF,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,kBAAkB,CAAA;IACxB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,eAAe,CAAA;IAC3B,KAAK,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,MAAM,CAAA;KAAE,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,0DAA0D;IAC1D,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CACzB;AAED,8FAA8F;AAC9F,qBAAa,sBAAuB,YAAW,oBAAoB;IAKrD,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJpC,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAc;IAEvD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAE5B,YAA6B,OAAO,EAAE,6BAA6B,EAElE;IAEK,YAAY,CAAC,YAAY,EAAE,0BAA0B,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA8DzF;IAEK,KAAK,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAoB3C;IAED;;;;;;OAMG;YACW,aAAa;IAoC3B;;;;;;OAMG;YACW,YAAY;IAgC1B;;;;;;;;;;OAUG;YACW,WAAW;IAkCzB,OAAO,CAAC,OAAO;IAkBf,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,GAAG;YAIG,OAAO;YAQP,QAAQ;IAatB,OAAO,CAAC,WAAW;IAInB;;;;;;;;OAQG;IACH,OAAO,CAAC,WAAW;YAUL,QAAQ;CA0BvB"}
|