@happyvertical/smrt-inference 0.60.15 → 0.60.16
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/AGENTS.md +10 -5
- package/agents/fusions.md +16 -3
- package/agents/hosted.md +29 -13
- package/agents/settings.md +30 -7
- package/dist/chunks/{InferenceOverrideCollection-wl7sI-3C.js → InferenceOverrideCollection-Dat4TrK5.js} +29 -4
- package/dist/chunks/InferenceOverrideCollection-Dat4TrK5.js.map +1 -0
- package/dist/chunks/{provider-config-4Bx8N52X.js → provider-config-BSpIQRVM.js} +37 -11
- package/dist/chunks/{provider-config-4Bx8N52X.js.map → provider-config-BSpIQRVM.js.map} +1 -1
- package/dist/fusion.d.ts.map +1 -1
- package/dist/hosted.d.ts +31 -24
- package/dist/hosted.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/manifest.json +1 -1
- package/dist/models/InferenceOverride.d.ts.map +1 -1
- package/dist/models.js +1 -1
- package/dist/node.js +86 -33
- package/dist/node.js.map +1 -1
- package/dist/register.d.ts.map +1 -1
- package/dist/resolver.d.ts.map +1 -1
- package/dist/resolver.js +4 -1
- package/dist/resolver.js.map +1 -1
- package/dist/server.d.ts +3 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +194 -41
- package/dist/server.js.map +1 -1
- package/dist/settings/layers.d.ts +14 -0
- package/dist/settings/layers.d.ts.map +1 -1
- package/dist/settings/override-service.d.ts.map +1 -1
- package/dist/settings/resolver.d.ts +7 -0
- package/dist/settings/resolver.d.ts.map +1 -1
- package/dist/settings/settings-service.d.ts +80 -7
- package/dist/settings/settings-service.d.ts.map +1 -1
- package/dist/settings/targets.d.ts +21 -2
- package/dist/settings/targets.d.ts.map +1 -1
- package/dist/settings/transcripts.d.ts +33 -0
- package/dist/settings/transcripts.d.ts.map +1 -0
- package/dist/smrt-knowledge.json +17 -11
- package/dist/smrt-knowledge.okf.md +2 -2
- package/dist/svelte/components/InferenceFusionList.svelte +6 -0
- package/dist/svelte/components/InferenceFusionList.svelte.d.ts.map +1 -1
- package/dist/svelte/components/InferenceSettingsPanel.svelte +49 -2
- package/dist/svelte/components/InferenceSettingsPanel.svelte.d.ts +21 -2
- package/dist/svelte/components/InferenceSettingsPanel.svelte.d.ts.map +1 -1
- package/dist/svelte/components/InferenceTranscriptSettings.svelte +165 -0
- package/dist/svelte/components/InferenceTranscriptSettings.svelte.d.ts +18 -0
- package/dist/svelte/components/InferenceTranscriptSettings.svelte.d.ts.map +1 -0
- package/dist/svelte/components/InferenceUsageTable.svelte +64 -14
- package/dist/svelte/components/InferenceUsageTable.svelte.d.ts +10 -4
- package/dist/svelte/components/InferenceUsageTable.svelte.d.ts.map +1 -1
- package/dist/svelte/index.d.ts +1 -1
- package/dist/svelte/index.d.ts.map +1 -1
- package/dist/svelte/index.js +1 -1
- package/dist/svelte/types.d.ts +66 -1
- package/dist/svelte/types.d.ts.map +1 -1
- package/dist/svelte/types.js +28 -0
- package/package.json +10 -10
- package/dist/chunks/InferenceOverrideCollection-wl7sI-3C.js.map +0 -1
package/dist/fusion.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fusion.d.ts","sourceRoot":"","sources":["../src/fusion.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"fusion.d.ts","sourceRoot":"","sources":["../src/fusion.ts"],"names":[],"mappings":"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"}
|
package/dist/hosted.d.ts
CHANGED
|
@@ -20,7 +20,9 @@
|
|
|
20
20
|
*
|
|
21
21
|
* Idempotency: provisioning runs under `runOnce()` per `(tenantId, userId,
|
|
22
22
|
* generation)`, so concurrent deliveries create one key; the generation
|
|
23
|
-
* advances on every revoke, so a later re-provision runs again.
|
|
23
|
+
* advances on every revoke, so a later re-provision runs again. The tenant
|
|
24
|
+
* project is looked up on the gateway (`listProjects`) before one is
|
|
25
|
+
* created, so a crash between create and persist never makes a second. Lifecycle
|
|
24
26
|
* operations run one at a time per process and, on PostgreSQL, under a
|
|
25
27
|
* per-tenant advisory lock across processes. A revoke ends local
|
|
26
28
|
* use of the key whatever the gateway answers; deletions the gateway could
|
|
@@ -31,7 +33,7 @@
|
|
|
31
33
|
* audit details or `runOnce()` results: usage rows carry `source: hosted`
|
|
32
34
|
* and the key's alias (`gatewayKeyAlias`) only.
|
|
33
35
|
*/
|
|
34
|
-
import type { AIAdminBudget, AIAdminInterface
|
|
36
|
+
import type { AIAdminBudget, AIAdminInterface } from '@happyvertical/ai';
|
|
35
37
|
import { type InferenceTier } from '@happyvertical/smrt-core';
|
|
36
38
|
import { SmrtError } from '@happyvertical/smrt-core/smrt-error';
|
|
37
39
|
import type { DatabaseInterface } from '@happyvertical/sql';
|
|
@@ -98,21 +100,16 @@ export interface HostedGatewayConfig {
|
|
|
98
100
|
}
|
|
99
101
|
/** Default deadline of one gateway admin call. */
|
|
100
102
|
export declare const HOSTED_GATEWAY_ADMIN_TIMEOUT_MS = 30000;
|
|
103
|
+
/** The `AIAdminInterface` calls provisioning uses. */
|
|
104
|
+
export declare const HOSTED_GATEWAY_ADMIN_METHODS: readonly ["createProject", "createVirtualKey", "updateVirtualKey", "deleteVirtualKey", "listProjects"];
|
|
101
105
|
/**
|
|
102
|
-
* The admin
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
106
|
+
* The admin surface provisioning uses (`@happyvertical/ai` >= 0.111.7,
|
|
107
|
+
* happyvertical/sdk#1494). Plan changes send only `budget` to
|
|
108
|
+
* `updateVirtualKey` (Bifrost refuses `models` / `metadata`, LiteLLM
|
|
109
|
+
* `providerConfigs`, with `ADMIN_UNSUPPORTED_FIELD`); `deleteVirtualKey`
|
|
110
|
+
* resolving `false` means the key is already gone.
|
|
107
111
|
*/
|
|
108
|
-
export
|
|
109
|
-
updateVirtualKey?(id: string, options: {
|
|
110
|
-
budget?: AIAdminBudget;
|
|
111
|
-
models?: string[];
|
|
112
|
-
isActive?: boolean;
|
|
113
|
-
}): Promise<AIVirtualKey>;
|
|
114
|
-
deleteVirtualKey?(id: string): Promise<boolean>;
|
|
115
|
-
}
|
|
112
|
+
export type HostedGatewayAdmin = Pick<AIAdminInterface, (typeof HOSTED_GATEWAY_ADMIN_METHODS)[number]>;
|
|
116
113
|
/** Environment variables {@link hostedGatewayConfigFromEnv} reads. */
|
|
117
114
|
export declare const HOSTED_GATEWAY_ENV: {
|
|
118
115
|
readonly provider: "SMRT_INFERENCE_HOSTED_PROVIDER";
|
|
@@ -148,14 +145,21 @@ export declare function resetHostedGatewayConfig(): void;
|
|
|
148
145
|
/**
|
|
149
146
|
* The `ai.admin` surface of the configured gateway provider, built through
|
|
150
147
|
* `getAI()` of `@happyvertical/ai`. Throws `HOSTED_GATEWAY_UNSUPPORTED` when
|
|
151
|
-
* the installed SDK's provider
|
|
148
|
+
* the installed SDK's provider lacks any of {@link HOSTED_GATEWAY_ADMIN_METHODS}.
|
|
152
149
|
*/
|
|
153
150
|
export declare function createHostedGatewayAdmin(config: HostedGatewayConfig): Promise<HostedGatewayAdmin>;
|
|
154
151
|
/** A gateway key SMRT no longer uses but could not delete yet. */
|
|
155
152
|
export interface HostedPendingGatewayRevocation {
|
|
153
|
+
/** The key's non-secret handle; `null` when the gateway returned none. */
|
|
156
154
|
keyId: string | null;
|
|
157
155
|
keyAlias: string;
|
|
158
|
-
/**
|
|
156
|
+
/**
|
|
157
|
+
* Why it is pending: `failed` the delete call failed; `orphaned` a failed
|
|
158
|
+
* provision may have left it; `unsupported` no admin client was usable or
|
|
159
|
+
* the key has no id (entries recorded before `@happyvertical/ai` 0.111.7
|
|
160
|
+
* also carry it). Entries with a `keyId` are retried; without one only an
|
|
161
|
+
* operator can revoke the key (by alias) and acknowledge it.
|
|
162
|
+
*/
|
|
159
163
|
reason: 'unsupported' | 'failed' | 'orphaned';
|
|
160
164
|
since: string;
|
|
161
165
|
}
|
|
@@ -177,8 +181,8 @@ export interface HostedInferenceState {
|
|
|
177
181
|
/** The user's provider config before provisioning; dropped on revoke. */
|
|
178
182
|
prior: InferenceProviderConfig | null;
|
|
179
183
|
/**
|
|
180
|
-
* Keys SMRT stopped using whose gateway deletion is still owed (
|
|
181
|
-
* delete
|
|
184
|
+
* Keys SMRT stopped using whose gateway deletion is still owed (a failed
|
|
185
|
+
* delete, no usable admin or key id, or a key left by a failed provision).
|
|
182
186
|
* Retried by `revoke()` and `reconcileTenant()`; never holds a key value.
|
|
183
187
|
*/
|
|
184
188
|
pendingGatewayRevocations?: HostedPendingGatewayRevocation[];
|
|
@@ -226,8 +230,8 @@ export type HostedGatewayRevokeStatus = 'revoked' | 'missing' | 'unsupported' |
|
|
|
226
230
|
export interface RevokeHostedInferenceResult extends HostedInferenceDescriptor {
|
|
227
231
|
revoked: boolean;
|
|
228
232
|
/**
|
|
229
|
-
* `revoked`: the gateway deleted the key; `missing`: it no longer existed
|
|
230
|
-
* `unsupported`:
|
|
233
|
+
* `revoked`: the gateway deleted the key; `missing`: it no longer existed
|
|
234
|
+
* (already revoked); `unsupported`: no admin client is configured or the
|
|
231
235
|
* gateway returned no key id; `failed`: the delete call failed. For
|
|
232
236
|
* `unsupported` and `failed` SMRT has already stopped using the key and
|
|
233
237
|
* records it in `pendingGatewayRevocations` (and the audit log) for a
|
|
@@ -238,7 +242,10 @@ export interface RevokeHostedInferenceResult extends HostedInferenceDescriptor {
|
|
|
238
242
|
/** What the user's provider config became. */
|
|
239
243
|
restored?: 'prior' | 'off' | 'kept';
|
|
240
244
|
}
|
|
241
|
-
/**
|
|
245
|
+
/**
|
|
246
|
+
* Budget sync outcome. `unsupported`: the grant has no gateway key id to
|
|
247
|
+
* update (the stored budget stays, so a later sync retries).
|
|
248
|
+
*/
|
|
242
249
|
export type HostedBudgetSyncStatus = 'updated' | 'unchanged' | 'unsupported';
|
|
243
250
|
/** Result of {@link HostedInferenceProvisioner.syncBudget}. */
|
|
244
251
|
export interface SyncHostedBudgetResult extends HostedInferenceDescriptor {
|
|
@@ -391,8 +398,8 @@ export declare function provisionHostedInference(options: HostedInferenceProvisi
|
|
|
391
398
|
/**
|
|
392
399
|
* Revoke a user's hosted inference (downgrade, deletion): stop using the key
|
|
393
400
|
* (restore the user's prior provider config, or mode `off`), retire the
|
|
394
|
-
* state, and delete the gateway key
|
|
395
|
-
*
|
|
401
|
+
* state, and delete the gateway key (a failed delete is kept as an owed
|
|
402
|
+
* deletion, audited, and retried by revoke or reconcile). Idempotent.
|
|
396
403
|
*/
|
|
397
404
|
export declare function revokeHostedInference(options: HostedInferenceProvisionerOptions & {
|
|
398
405
|
tenantId: string;
|
package/dist/hosted.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hosted.d.ts","sourceRoot":"","sources":["../src/hosted.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"hosted.d.ts","sourceRoot":"","sources":["../src/hosted.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as candidateLabel, B as
|
|
1
|
+
import { A as candidateLabel, B as InferenceConfigError, C as createChainClient, D as EXECUTOR_KINDS, E as CHAIN_KINDS, F as findFusionPromptIssues, H as InferenceFusionError, I as findInferenceConfigIssues, L as hasInferenceChains, M as expandTarget, N as findFusionDefinitionIssues, O as FUSION_GATE_CONTINUE, R as validateInferenceConfig, S as setFusionPromptResolver, T as isInferenceAbort, V as InferenceExhaustedError, _ as createFusionClient, a as inferenceProviderBindingFor, b as listFusions, c as inferenceProviderTargets, d as redactInferenceTarget, f as createInferenceResolver, g as createChainExecutor, h as clearFusions, i as InferenceProviderConfigError, j as candidateToStep, k as FUSION_SEAT_COUNTS, l as parseInferenceProviderConfig, m as registerInference, n as INFERENCE_PROVIDER_CONFIG_SOURCES, o as inferenceProviderConfigSecretName, p as isInferenceRegistered, r as INFERENCE_PROVIDER_PARAM_KEYS, s as inferenceProviderSource, t as INFERENCE_PROVIDER_CONFIG_SECRET_TYPE, u as redactInferenceProviderConfig, v as defineFusion, w as classifyInferenceFailure, x as runFusion, y as getFusion } from "./chunks/provider-config-BSpIQRVM.js";
|
|
2
2
|
import { INFERENCE_FAILURE_CLASSES } from "./types.js";
|
|
3
3
|
//#region src/index.ts
|
|
4
4
|
registerInference();
|
package/dist/manifest.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InferenceOverride.d.ts","sourceRoot":"","sources":["../../src/models/InferenceOverride.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,KAAK,iBAAiB,EACtB,KAAK,eAAe,EAErB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"InferenceOverride.d.ts","sourceRoot":"","sources":["../../src/models/InferenceOverride.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,KAAK,iBAAiB,EACtB,KAAK,eAAe,EAErB,MAAM,0BAA0B,CAAC;AAalC,qDAAqD;AACrD,eAAO,MAAM,sBAAsB,YAAY,CAAC;AAEhD,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAoBD,qBAaa,iBAAkB,SAAQ,UAAU;IAE/C,OAAO,EAAE,MAAM,CAAM;IAKrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE/B;;;;OAIG;IAEH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE7B;;;;;;;OAOG;IAEH,eAAe,EAAE,MAAM,GAAG,IAAI,CAAQ;gBAE1B,OAAO,GAAE,wBAA6B;IAUlD,4DAA4D;IAC5D,QAAQ,IAAI,OAAO;IAInB,gEAAgE;IAChE,kBAAkB,IAAI,MAAM,EAAE,GAAG,IAAI;IAOtB,IAAI,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9C,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtC,OAAO,CAAC,eAAe;IAuBvB,OAAO,CAAC,gBAAgB;CAwDzB"}
|
package/dist/models.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as APP_INFERENCE_SCOPE_ID, r as InferenceOverride, t as InferenceOverrideCollection } from "./chunks/InferenceOverrideCollection-
|
|
1
|
+
import { n as APP_INFERENCE_SCOPE_ID, r as InferenceOverride, t as InferenceOverrideCollection } from "./chunks/InferenceOverrideCollection-Dat4TrK5.js";
|
|
2
2
|
export { APP_INFERENCE_SCOPE_ID, InferenceOverride, InferenceOverrideCollection };
|
package/dist/node.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as candidateLabel,
|
|
1
|
+
import { A as candidateLabel, I as findInferenceConfigIssues, a as inferenceProviderBindingFor, l as parseInferenceProviderConfig, o as inferenceProviderConfigSecretName, t as INFERENCE_PROVIDER_CONFIG_SECRET_TYPE, w as classifyInferenceFailure } from "./chunks/provider-config-BSpIQRVM.js";
|
|
2
2
|
import { invalidateUserInferenceResolvers } from "./resolver.js";
|
|
3
3
|
import { INFERENCE_PRESETS, INFERENCE_PRESET_CAPABILITIES, INFERENCE_TIERS, assertInferenceConfig, ensureSystemTables, getInferenceConfig, inferenceCapabilitiesFromSdk, inferenceCapabilityHeuristic, inferencePresetFor, inferenceTargetKind, isInferencePresetId, isPostgresDatabase, resolveInferenceCapabilities, runOnce } from "@happyvertical/smrt-core";
|
|
4
4
|
import { SmrtError } from "@happyvertical/smrt-core/smrt-error";
|
|
@@ -28,6 +28,13 @@ var HostedInferenceError = class extends SmrtError {
|
|
|
28
28
|
}
|
|
29
29
|
};
|
|
30
30
|
var HOSTED_GATEWAY_ADMIN_TIMEOUT_MS = 3e4;
|
|
31
|
+
var HOSTED_GATEWAY_ADMIN_METHODS = [
|
|
32
|
+
"createProject",
|
|
33
|
+
"createVirtualKey",
|
|
34
|
+
"updateVirtualKey",
|
|
35
|
+
"deleteVirtualKey",
|
|
36
|
+
"listProjects"
|
|
37
|
+
];
|
|
31
38
|
var HOSTED_GATEWAY_ENV = {
|
|
32
39
|
provider: "SMRT_INFERENCE_HOSTED_PROVIDER",
|
|
33
40
|
baseUrl: "SMRT_INFERENCE_HOSTED_BASE_URL",
|
|
@@ -136,13 +143,20 @@ async function createHostedGatewayAdmin(config) {
|
|
|
136
143
|
type: "litellm",
|
|
137
144
|
...common
|
|
138
145
|
})).admin;
|
|
139
|
-
|
|
146
|
+
const missing = HOSTED_GATEWAY_ADMIN_METHODS.filter((method) => typeof admin?.[method] !== "function");
|
|
147
|
+
if (!admin || missing.length > 0) throw new HostedInferenceError(`The ${config.provider} provider of @happyvertical/ai lacks admin calls: ${missing.join(", ")} (needs @happyvertical/ai >= 0.111.7).`, "HOSTED_GATEWAY_UNSUPPORTED", {
|
|
148
|
+
provider: config.provider,
|
|
149
|
+
missing
|
|
150
|
+
});
|
|
140
151
|
return admin;
|
|
141
152
|
}
|
|
142
153
|
var HOSTED_BUDGET_UNCERTAIN_WINDOW_MS = 15 * 6e4;
|
|
143
154
|
var STATE_PREFIX = `${HOSTED_INFERENCE_SECRET_CATEGORY}:user:`;
|
|
144
155
|
var PROJECT_NAME = `${HOSTED_INFERENCE_SECRET_CATEGORY}:project`;
|
|
145
156
|
var RUN_ONCE_ACTOR_PROJECT = "smrt-inference-hosted";
|
|
157
|
+
function hostedProjectName(tenantId) {
|
|
158
|
+
return `smrt tenant ${tenantId}`;
|
|
159
|
+
}
|
|
146
160
|
function hostedInferenceStateSecretName(userId) {
|
|
147
161
|
return `${STATE_PREFIX}${userId}`;
|
|
148
162
|
}
|
|
@@ -171,6 +185,12 @@ function toGatewayBudget(budget) {
|
|
|
171
185
|
function sameBudget(a, b) {
|
|
172
186
|
return !!a && a.limitMicros === b.limitMicros && a.window === b.window;
|
|
173
187
|
}
|
|
188
|
+
var KEY_VALUE_PATTERN = /\bsk-[A-Za-z0-9_-]{8,}/;
|
|
189
|
+
function safeKeyId(id, apiKey) {
|
|
190
|
+
const handle = text$1(id);
|
|
191
|
+
if (!handle || handle === apiKey || KEY_VALUE_PATTERN.test(handle)) return null;
|
|
192
|
+
return handle;
|
|
193
|
+
}
|
|
174
194
|
function parseState(value) {
|
|
175
195
|
let raw;
|
|
176
196
|
try {
|
|
@@ -182,6 +202,11 @@ function parseState(value) {
|
|
|
182
202
|
if (!state || typeof state !== "object" || state.version !== 1 || state.status !== "active" && state.status !== "revoked" || typeof state.generation !== "number" || !Number.isSafeInteger(state.generation) || typeof state.keyAlias !== "string" || state.status === "active" && (typeof state.projectId !== "string" || !state.budget)) throw new HostedInferenceError("Stored hosted inference state is invalid", "HOSTED_STATE_INVALID");
|
|
183
203
|
return {
|
|
184
204
|
...state,
|
|
205
|
+
keyId: safeKeyId(state.keyId),
|
|
206
|
+
...Array.isArray(state.pendingGatewayRevocations) ? { pendingGatewayRevocations: state.pendingGatewayRevocations.map((entry) => ({
|
|
207
|
+
...entry,
|
|
208
|
+
keyId: safeKeyId(entry.keyId)
|
|
209
|
+
})) } : {},
|
|
185
210
|
prior: state.prior ? parseInferenceProviderConfig(state.prior) : null
|
|
186
211
|
};
|
|
187
212
|
}
|
|
@@ -369,14 +394,22 @@ function createHostedInferenceProvisioner(options) {
|
|
|
369
394
|
});
|
|
370
395
|
const isOurs = (config, keyAlias) => !!keyAlias && config?.source === "hosted" && config.gatewayKeyAlias === keyAlias;
|
|
371
396
|
const deleteGatewayKey = async (admin, keyId) => {
|
|
372
|
-
if (!keyId ||
|
|
397
|
+
if (!keyId || !admin) return "unsupported";
|
|
373
398
|
try {
|
|
374
|
-
|
|
375
|
-
return await withDeadline(() => deleteKey(keyId), deadlineMs(), "deleteVirtualKey") ? "revoked" : "missing";
|
|
399
|
+
return await withDeadline(() => admin.deleteVirtualKey(keyId), deadlineMs(), "deleteVirtualKey") ? "revoked" : "missing";
|
|
376
400
|
} catch {
|
|
377
401
|
return "failed";
|
|
378
402
|
}
|
|
379
403
|
};
|
|
404
|
+
const findTenantProject = async (tenantId, gateway, admin) => {
|
|
405
|
+
let projects;
|
|
406
|
+
try {
|
|
407
|
+
projects = await withDeadline(() => admin.listProjects({ tenantId }), deadlineMs(), "listProjects");
|
|
408
|
+
} catch (error) {
|
|
409
|
+
throw gatewayFailure("listProjects", error);
|
|
410
|
+
}
|
|
411
|
+
return (Array.isArray(projects) ? projects : []).filter((project) => project?.tenantId === tenantId && project.name === hostedProjectName(tenantId) && (gateway.provider !== "litellm" || project.id?.startsWith(`smrt-${tenantId}-`))).map((project) => text$1(project.id)).filter((id) => !!id).sort()[0];
|
|
412
|
+
};
|
|
380
413
|
const ensureProject = async (tenantId, gateway, admin, secrets) => {
|
|
381
414
|
const stored = await read(secrets, PROJECT_NAME);
|
|
382
415
|
if (stored !== void 0) try {
|
|
@@ -393,21 +426,25 @@ function createHostedInferenceProvisioner(options) {
|
|
|
393
426
|
baseUrl: gateway.baseUrl
|
|
394
427
|
}
|
|
395
428
|
}, async () => {
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
tenantId
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
429
|
+
const found = await findTenantProject(tenantId, gateway, admin);
|
|
430
|
+
let projectId = found;
|
|
431
|
+
if (!projectId) {
|
|
432
|
+
let project;
|
|
433
|
+
try {
|
|
434
|
+
project = await withDeadline(() => admin.createProject({
|
|
435
|
+
id: `smrt-${tenantId}-${nonce()}`,
|
|
436
|
+
name: hostedProjectName(tenantId),
|
|
437
|
+
tenantId,
|
|
438
|
+
metadata: {
|
|
439
|
+
smrt: HOSTED_INFERENCE_FEATURE_KEY,
|
|
440
|
+
tenantId
|
|
441
|
+
}
|
|
442
|
+
}), deadlineMs(), "createProject");
|
|
443
|
+
} catch (error) {
|
|
444
|
+
throw gatewayFailure("createProject", error);
|
|
445
|
+
}
|
|
446
|
+
projectId = text$1(project?.id);
|
|
409
447
|
}
|
|
410
|
-
const projectId = text$1(project?.id);
|
|
411
448
|
if (!projectId) throw new HostedInferenceError("Gateway createProject returned no project id.", "HOSTED_GATEWAY_FAILED", { operation: "createProject" });
|
|
412
449
|
await secrets.store(PROJECT_NAME, JSON.stringify({
|
|
413
450
|
projectId,
|
|
@@ -419,7 +456,8 @@ function createHostedInferenceProvisioner(options) {
|
|
|
419
456
|
auditDetails: {
|
|
420
457
|
operation: "inference.hosted.project",
|
|
421
458
|
projectId,
|
|
422
|
-
provider: gateway.provider
|
|
459
|
+
provider: gateway.provider,
|
|
460
|
+
...found ? { adopted: true } : {}
|
|
423
461
|
}
|
|
424
462
|
});
|
|
425
463
|
return { projectId };
|
|
@@ -427,17 +465,32 @@ function createHostedInferenceProvisioner(options) {
|
|
|
427
465
|
};
|
|
428
466
|
const retryPending = async (state) => {
|
|
429
467
|
const pending = state.pendingGatewayRevocations ?? [];
|
|
430
|
-
if (pending.
|
|
468
|
+
if (!pending.some((entry) => entry.keyId)) return {
|
|
469
|
+
state,
|
|
470
|
+
settled: []
|
|
471
|
+
};
|
|
431
472
|
const admin = await optionalAdmin();
|
|
432
473
|
const remaining = [];
|
|
474
|
+
const settled = [];
|
|
433
475
|
for (const entry of pending) {
|
|
434
476
|
const outcome = await deleteGatewayKey(admin, entry.keyId);
|
|
435
|
-
if (outcome === "
|
|
477
|
+
if (outcome === "revoked" || outcome === "missing") settled.push({
|
|
478
|
+
keyId: entry.keyId,
|
|
479
|
+
keyAlias: entry.keyAlias,
|
|
480
|
+
gateway: outcome
|
|
481
|
+
});
|
|
482
|
+
else remaining.push(entry);
|
|
436
483
|
}
|
|
437
|
-
if (
|
|
484
|
+
if (settled.length === 0) return {
|
|
485
|
+
state,
|
|
486
|
+
settled
|
|
487
|
+
};
|
|
438
488
|
return {
|
|
439
|
-
|
|
440
|
-
|
|
489
|
+
state: {
|
|
490
|
+
...state,
|
|
491
|
+
pendingGatewayRevocations: remaining
|
|
492
|
+
},
|
|
493
|
+
settled
|
|
441
494
|
};
|
|
442
495
|
};
|
|
443
496
|
const revokeLocked = async (tenantId, userId, secrets, state, reason, restore, optOut = false) => {
|
|
@@ -563,8 +616,8 @@ function createHostedInferenceProvisioner(options) {
|
|
|
563
616
|
} catch (error) {
|
|
564
617
|
createError = error;
|
|
565
618
|
}
|
|
566
|
-
const keyId = text$1(key?.id) ?? null;
|
|
567
619
|
const apiKey = text$1(key?.key);
|
|
620
|
+
const keyId = safeKeyId(key?.id, apiKey);
|
|
568
621
|
const scheduleRollback = () => {
|
|
569
622
|
const previous = state;
|
|
570
623
|
rollback = async () => {
|
|
@@ -661,15 +714,14 @@ function createHostedInferenceProvisioner(options) {
|
|
|
661
714
|
...describeState(tenantId, userId, state),
|
|
662
715
|
sync: "unchanged"
|
|
663
716
|
};
|
|
664
|
-
|
|
665
|
-
if (!state.keyId || typeof admin.updateVirtualKey !== "function") return {
|
|
717
|
+
if (!state.keyId) return {
|
|
666
718
|
...describeState(tenantId, userId, state),
|
|
667
719
|
sync: "unsupported"
|
|
668
720
|
};
|
|
721
|
+
const admin = await getAdmin(gatewayConfig());
|
|
669
722
|
try {
|
|
670
|
-
const update = admin.updateVirtualKey.bind(admin);
|
|
671
723
|
const keyId = state.keyId;
|
|
672
|
-
await withDeadline(() =>
|
|
724
|
+
await withDeadline(() => admin.updateVirtualKey(keyId, { budget: toGatewayBudget(budget) }), deadlineMs(), "updateVirtualKey");
|
|
673
725
|
} catch (error) {
|
|
674
726
|
await writeState(secrets, userId, {
|
|
675
727
|
...state,
|
|
@@ -723,10 +775,11 @@ function createHostedInferenceProvisioner(options) {
|
|
|
723
775
|
const retryPendingLocked = async (userId, secrets) => {
|
|
724
776
|
const state = await readState(secrets, userId);
|
|
725
777
|
if (!state?.pendingGatewayRevocations?.length) return state;
|
|
726
|
-
const retried = await retryPending(state);
|
|
727
|
-
if (
|
|
778
|
+
const { state: retried, settled } = await retryPending(state);
|
|
779
|
+
if (settled.length === 0) return state;
|
|
728
780
|
await writeState(secrets, userId, retried, {
|
|
729
781
|
operation: "inference.hosted.revoke-retry",
|
|
782
|
+
settled,
|
|
730
783
|
remaining: retried.pendingGatewayRevocations?.length ?? 0
|
|
731
784
|
});
|
|
732
785
|
return retried;
|
|
@@ -1356,6 +1409,6 @@ function formatInferenceDoctorReport(report) {
|
|
|
1356
1409
|
return lines;
|
|
1357
1410
|
}
|
|
1358
1411
|
//#endregion
|
|
1359
|
-
export { HOSTED_BUDGET_UNCERTAIN_WINDOW_MS, HOSTED_BUDGET_WINDOWS, HOSTED_GATEWAY_ADMIN_TIMEOUT_MS, HOSTED_GATEWAY_ENV, HOSTED_GATEWAY_PROVIDERS, HOSTED_INFERENCE_FEATURE_KEY, HOSTED_INFERENCE_SECRET_CATEGORY, HostedInferenceError, checkInferenceBindings, createHostedGatewayAdmin, createHostedInferenceEntitlementListener, createHostedInferenceProvisioner, createHostedInferenceReconciler, formatInferenceCapabilities, formatInferenceDoctorReport, getHostedGatewayConfig, hostedBudgetFromGrantMetadata, hostedGatewayConfigFromEnv, hostedInferenceStateSecretName, inferenceCandidateCapabilities, inferenceCapabilitiesFromModelListing, inferenceProbeUrl, normalizeHostedBudget, parseHostedGatewayConfig, probeInferenceCandidate, provisionHostedInference, resetHostedGatewayConfig, revokeHostedInference, toGatewayBudget };
|
|
1412
|
+
export { HOSTED_BUDGET_UNCERTAIN_WINDOW_MS, HOSTED_BUDGET_WINDOWS, HOSTED_GATEWAY_ADMIN_METHODS, HOSTED_GATEWAY_ADMIN_TIMEOUT_MS, HOSTED_GATEWAY_ENV, HOSTED_GATEWAY_PROVIDERS, HOSTED_INFERENCE_FEATURE_KEY, HOSTED_INFERENCE_SECRET_CATEGORY, HostedInferenceError, checkInferenceBindings, createHostedGatewayAdmin, createHostedInferenceEntitlementListener, createHostedInferenceProvisioner, createHostedInferenceReconciler, formatInferenceCapabilities, formatInferenceDoctorReport, getHostedGatewayConfig, hostedBudgetFromGrantMetadata, hostedGatewayConfigFromEnv, hostedInferenceStateSecretName, inferenceCandidateCapabilities, inferenceCapabilitiesFromModelListing, inferenceProbeUrl, normalizeHostedBudget, parseHostedGatewayConfig, probeInferenceCandidate, provisionHostedInference, resetHostedGatewayConfig, revokeHostedInference, toGatewayBudget };
|
|
1360
1413
|
|
|
1361
1414
|
//# sourceMappingURL=node.js.map
|