audit-tools 0.33.9 → 0.33.11
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/audit/orchestrator/rollingDispatch.js +1 -1
- package/dist/audit/orchestrator/rollingDispatch.js.map +1 -1
- package/dist/remediate/steps/nextStep.js +1 -1
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/dist/shared/dispatch/admissionLeaseReconcile.js +1 -1
- package/dist/shared/dispatch/admissionLeaseReconcile.js.map +1 -1
- package/dist/shared/dispatch/admissionLoop.d.ts +42 -10
- package/dist/shared/dispatch/admissionLoop.d.ts.map +1 -1
- package/dist/shared/dispatch/admissionLoop.js +74 -7
- package/dist/shared/dispatch/admissionLoop.js.map +1 -1
- package/dist/shared/dispatch/dispatchQuotaContract.d.ts +82 -7
- package/dist/shared/dispatch/dispatchQuotaContract.d.ts.map +1 -1
- package/dist/shared/dispatch/hostDispatchWall.d.ts.map +1 -1
- package/dist/shared/dispatch/hostDispatchWall.js +8 -0
- package/dist/shared/dispatch/hostDispatchWall.js.map +1 -1
- package/dist/shared/dispatch/rollingDispatch.d.ts +17 -10
- package/dist/shared/dispatch/rollingDispatch.d.ts.map +1 -1
- package/dist/shared/dispatch/rollingDispatch.js +49 -33
- package/dist/shared/dispatch/rollingDispatch.js.map +1 -1
- package/dist/shared/dispatch/unifiedRolling.d.ts +3 -2
- package/dist/shared/dispatch/unifiedRolling.d.ts.map +1 -1
- package/dist/shared/dispatch/unifiedRolling.js +12 -4
- package/dist/shared/dispatch/unifiedRolling.js.map +1 -1
- package/dist/shared/index.d.ts +2 -2
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +5 -1
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/providers/providerConfirmation.d.ts +1 -1
- package/dist/shared/providers/providerConfirmation.d.ts.map +1 -1
- package/dist/shared/providers/providerConfirmation.js +11 -2
- package/dist/shared/providers/providerConfirmation.js.map +1 -1
- package/dist/shared/providers/sharedProviderConfirmation.d.ts +20 -5
- package/dist/shared/providers/sharedProviderConfirmation.d.ts.map +1 -1
- package/dist/shared/providers/sharedProviderConfirmation.js +108 -34
- package/dist/shared/providers/sharedProviderConfirmation.js.map +1 -1
- package/dist/shared/quota/accountId.d.ts +70 -0
- package/dist/shared/quota/accountId.d.ts.map +1 -1
- package/dist/shared/quota/accountId.js +82 -5
- package/dist/shared/quota/accountId.js.map +1 -1
- package/dist/shared/quota/apiPool.d.ts +2 -1
- package/dist/shared/quota/apiPool.d.ts.map +1 -1
- package/dist/shared/quota/apiPool.js +14 -2
- package/dist/shared/quota/apiPool.js.map +1 -1
- package/dist/shared/quota/capacity.d.ts +82 -0
- package/dist/shared/quota/capacity.d.ts.map +1 -1
- package/dist/shared/quota/capacity.js +42 -1
- package/dist/shared/quota/capacity.js.map +1 -1
- package/dist/shared/quota/claudeOAuthQuotaSource.d.ts.map +1 -1
- package/dist/shared/quota/claudeOAuthQuotaSource.js +46 -8
- package/dist/shared/quota/claudeOAuthQuotaSource.js.map +1 -1
- package/dist/shared/quota/quotaSource.d.ts +73 -2
- package/dist/shared/quota/quotaSource.d.ts.map +1 -1
- package/dist/shared/quota/quotaSource.js +57 -2
- package/dist/shared/quota/quotaSource.js.map +1 -1
- package/dist/shared/quota/reservationLedger.d.ts +98 -26
- package/dist/shared/quota/reservationLedger.d.ts.map +1 -1
- package/dist/shared/quota/reservationLedger.js +109 -37
- package/dist/shared/quota/reservationLedger.js.map +1 -1
- package/dist/shared/quota/scheduler.d.ts +25 -1
- package/dist/shared/quota/scheduler.d.ts.map +1 -1
- package/dist/shared/quota/scheduler.js +115 -10
- package/dist/shared/quota/scheduler.js.map +1 -1
- package/dist/shared/quota/state.d.ts +24 -9
- package/dist/shared/quota/state.d.ts.map +1 -1
- package/dist/shared/quota/state.js +43 -16
- package/dist/shared/quota/state.js.map +1 -1
- package/dist/shared/quota/types.d.ts +57 -6
- package/dist/shared/quota/types.d.ts.map +1 -1
- package/dist/shared/quota/types.js.map +1 -1
- package/dist/shared/quota/windowConstraints.d.ts +56 -0
- package/dist/shared/quota/windowConstraints.d.ts.map +1 -0
- package/dist/shared/quota/windowConstraints.js +71 -0
- package/dist/shared/quota/windowConstraints.js.map +1 -0
- package/dist/shared/types/providerConfirmation.d.ts +31 -1
- package/dist/shared/types/providerConfirmation.d.ts.map +1 -1
- package/docs/audit-pkg/operator-guide.md +4 -1
- package/package.json +1 -1
|
@@ -228,19 +228,34 @@ export declare function buildProviderConfirmationRender(sessionConfig?: SessionC
|
|
|
228
228
|
* source can be represented ONLY by `provider_pool[].model_id`; and a host tier
|
|
229
229
|
* appears only in `host_model_cost_order`. Reading fewer than all three would
|
|
230
230
|
* manufacture a phantom delta for an already-confirmed backend.
|
|
231
|
+
*
|
|
232
|
+
* A host tier with no `provider` contributes NOTHING, and that is the deliberate
|
|
233
|
+
* fail-SAFE degradation for a confirmation written before the field existed. The
|
|
234
|
+
* alternative — falling back to the bare `model_id` — is precisely the bypass this
|
|
235
|
+
* identity exists to close: a confirmed *host* model would silently approve an
|
|
236
|
+
* identically-named model on some other provider. Contributing no key can only ever
|
|
237
|
+
* cause the gate to ASK about a backend again (loud, and the operator's answer then
|
|
238
|
+
* records the provider); it can never approve one unseen.
|
|
231
239
|
*/
|
|
232
240
|
export declare function confirmedBackendKeys(confirmation: SharedProviderConfirmation): Set<string>;
|
|
233
241
|
/** One backend in the gate's delta: reachable now, absent from the decision. */
|
|
234
242
|
export interface NewlyReachableBackend {
|
|
235
|
-
/**
|
|
243
|
+
/**
|
|
244
|
+
* The gate key — {@link backendIdentity}. Stable, operator-facing, and
|
|
245
|
+
* provider-qualified.
|
|
246
|
+
*/
|
|
236
247
|
key: string;
|
|
237
248
|
/** The backend's provider name. Display only — the prompt names it beside `key`. */
|
|
238
249
|
provider: ResolvedProviderName;
|
|
239
250
|
/**
|
|
240
|
-
* The {@link DispatchExclusionPattern} that rules out **exactly this backend
|
|
241
|
-
*
|
|
242
|
-
*
|
|
243
|
-
*
|
|
251
|
+
* The {@link DispatchExclusionPattern} that rules out **exactly this backend**,
|
|
252
|
+
* built HERE beside the key it was compared on so the rule the gate persists
|
|
253
|
+
* cannot drift from the identity the gate diffed.
|
|
254
|
+
*
|
|
255
|
+
* DELIBERATELY not the same string as {@link key} for a proxied lane: the key is
|
|
256
|
+
* backend-qualified (`nim:model`) and this is transport-qualified
|
|
257
|
+
* (`claude-worker:model`), because those are the two different questions named on
|
|
258
|
+
* {@link backendIdentity}. A rule carrying the backend name would match nothing.
|
|
244
259
|
*/
|
|
245
260
|
exclusion_pattern: DispatchExclusionPattern;
|
|
246
261
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sharedProviderConfirmation.d.ts","sourceRoot":"","sources":["../../../src/shared/providers/sharedProviderConfirmation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAIH,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAMzG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAQ5D,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,kCAAkC,CAAC;AAO1C;;;;;GAKG;AACH,eAAO,MAAM,oCAAoC,EAAG,OAAgB,CAAC;AAErE;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAGpE;AAED,gFAAgF;AAChF,eAAO,MAAM,qCAAqC,+BACpB,CAAC;AAE/B,mEAAmE;AACnE,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnE;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACrC,+EAA+E;IAC/E,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAE9C,kGAAkG;AAClG,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC;CAC/C;AAED,MAAM,WAAW,0BAA0B;IACzC,uDAAuD;IACvD,cAAc,EAAE,OAAO,oCAAoC,CAAC;IAC5D;;;;;OAKG;IACH,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,0EAA0E;IAC1E,aAAa,EAAE,IAAI,CAAC;IACpB,yDAAyD;IACzD,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,aAAa,EAAE,kBAAkB,EAAE,CAAC;IACpC;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC7C;;;;;;;OAOG;IACH,sBAAsB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC/C;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,4BACf,SAAQ,IAAI,CAAC,0BAA0B,EAAE,eAAe,CAAC;IACzD,aAAa,EAAE,kBAAkB,EAAE,CAAC;CACrC;AAED;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,CAC7C,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,+BAA+B,CAAC,GAC1D,0BAA0B,CAM5B;AAyBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,+BAA+B,CAC7C,aAAa,GAAE,aAAkB,EACjC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,OAAO,GAAE,wBAAwB,EAAO,EACxC,OAAO,GAAE,oBAAoB,EAAO,EACpC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,EAC5C,KAAK,CAAC,EAAE,yBAAyB,EACjC,OAAO,GAAE,kBAAkB,EAAO,GACjC,4BAA4B,
|
|
1
|
+
{"version":3,"file":"sharedProviderConfirmation.d.ts","sourceRoot":"","sources":["../../../src/shared/providers/sharedProviderConfirmation.ts"],"names":[],"mappings":"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"}
|
|
@@ -190,7 +190,11 @@ export function buildProviderConfirmationRender(sessionConfig = {}, env = proces
|
|
|
190
190
|
// Cost-first routing: annotate with representative model price + cost_order,
|
|
191
191
|
// read at dispatch as rung 1 of costRank (spec/cost-first-routing.md). When an
|
|
192
192
|
// operator input is present its ordering wins and its host roster is priced.
|
|
193
|
-
|
|
193
|
+
// `env` is threaded rather than left to `process.env`: host-provider resolution
|
|
194
|
+
// falls through to env detection when `host_provider` is unset, and an injected-env
|
|
195
|
+
// caller must not derive provider DISCOVERY and HOST IDENTITY from two different
|
|
196
|
+
// environments.
|
|
197
|
+
const annotated = annotateConfirmedPool(pool, sessionConfig, input, sources, env);
|
|
194
198
|
return {
|
|
195
199
|
schema_version: SHARED_PROVIDER_CONFIRMATION_VERSION,
|
|
196
200
|
session_level: true,
|
|
@@ -263,28 +267,79 @@ const RESOLVED_PROVIDER_NAMES = PROVIDER_NAMES.filter((name) => name !== "auto")
|
|
|
263
267
|
// The reconciliation gate (G3): operator DECISION vs THIS auditor's reach
|
|
264
268
|
// ---------------------------------------------------------------------------
|
|
265
269
|
/**
|
|
266
|
-
*
|
|
267
|
-
* else the coarse provider name
|
|
270
|
+
* **THE** identity of one backend: `provider:model` where the model is knowable,
|
|
271
|
+
* else the coarse `provider` name. ONE function, consumed by all three halves of
|
|
272
|
+
* the gate — the reachability delta, the confirmed set, and the exclusion pattern
|
|
273
|
+
* it hands the routing filter — so those three cannot answer "which backend is
|
|
274
|
+
* this?" differently. They are *required* to agree; a second copy would be a
|
|
275
|
+
* second chance to disagree.
|
|
276
|
+
*
|
|
277
|
+
* It is **provider-qualified**, and that is load-bearing rather than cosmetic. The
|
|
278
|
+
* earlier `model_id ?? provider` form dropped the provider whenever a model was
|
|
279
|
+
* known, which was a gate BYPASS in two directions: two backends from DIFFERENT
|
|
280
|
+
* providers advertising the SAME model string collapsed into one delta entry (only
|
|
281
|
+
* one of them got an exclusion pattern), and — worse — confirming one provider's
|
|
282
|
+
* model marked a different provider's identically-named model as confirmed, so a
|
|
283
|
+
* backend the operator never saw routed as though approved. Proxy expansion makes
|
|
284
|
+
* the collision ordinary, not exotic: several sources behind one transport can
|
|
285
|
+
* serve the same model string.
|
|
286
|
+
*
|
|
287
|
+
* The fallback to the bare provider name is equally load-bearing and is why this is
|
|
288
|
+
* NOT a plain `provider:model`: `representativeModelId` knows a model only for
|
|
289
|
+
* `openai-compatible` and `codex` — for claude-code / agy / opencode /
|
|
290
|
+
* worker-command a CLI backend's model arrives only at the dispatch handshake. A
|
|
291
|
+
* model-only identity would let such a backend contribute NO key, so installing
|
|
292
|
+
* `agy` on PATH would leave the delta empty and the gate would silently dispatch it
|
|
293
|
+
* — re-opening the exact PATH-appearance case the gate exists to catch, blind
|
|
294
|
+
* rather than loud. It is also why a `provider:model` *rule* must degrade to the
|
|
295
|
+
* coarse `provider` tier for those backends: a `provider:model` rule only matches
|
|
296
|
+
* when the routing filter can see that exact model.
|
|
268
297
|
*
|
|
269
|
-
* This is the operator-facing exclusion grammar's own provision (`provider:model`,
|
|
270
|
-
* with `provider` as the coarser pattern — spec/unified-dispatch-worker-model.md).
|
|
271
298
|
* Model granularity is the POINT, not a refinement: the operator confirms *model*
|
|
272
299
|
* choices, so a second model under an already-confirmed `openai-compatible` is a
|
|
273
300
|
* new choice even though it introduces no new provider.
|
|
274
301
|
*
|
|
275
|
-
*
|
|
276
|
-
*
|
|
277
|
-
*
|
|
278
|
-
*
|
|
279
|
-
*
|
|
280
|
-
*
|
|
281
|
-
*
|
|
282
|
-
*
|
|
283
|
-
*
|
|
284
|
-
*
|
|
302
|
+
* The provider half is the **BACKEND ACTUALLY SERVING the model**
|
|
303
|
+
* (`backend_provider ?? provider`), not the transport that reaches it — the same
|
|
304
|
+
* rule `apiPool` already applies to the quota-ledger pool identity. This is what
|
|
305
|
+
* makes the gate's two proxy cases come out right, and they pull in OPPOSITE
|
|
306
|
+
* directions, so a transport-keyed identity cannot satisfy both:
|
|
307
|
+
* • a proxied `claude-worker` lane and a direct `openai-compatible` lane onto the
|
|
308
|
+
* SAME `nim` backend+model are genuinely ONE backend reached two ways — the
|
|
309
|
+
* operator confirms it once, and it must not delta twice; while
|
|
310
|
+
* • two lanes over the SAME transport onto DIFFERENT backends (`nim` vs
|
|
311
|
+
* `openrouter`) sharing a model string are genuinely TWO backends — and
|
|
312
|
+
* collapsing them was the bypass.
|
|
313
|
+
* Transport-qualifying would invert both: it splits the first pair and still
|
|
314
|
+
* collapses the second.
|
|
315
|
+
*
|
|
316
|
+
* ⚠ This is a keyspace of its own, deliberately distinct from BOTH:
|
|
317
|
+
* • the quota-ledger pool identity (`backend_provider[#account]/model`,
|
|
318
|
+
* `buildProviderModelKey`) — it shares this provider half, but an account is
|
|
319
|
+
* irrelevant to a rule about a backend; and
|
|
320
|
+
* • the dispatch COST-POSITION map (`readConfirmedCostPositions`), which is keyed
|
|
321
|
+
* by bare `model_id` because `costRank` looks positions up with no provider in
|
|
322
|
+
* hand at the lookup site.
|
|
323
|
+
* Do not unify this with either.
|
|
324
|
+
*
|
|
325
|
+
* ⚠ NOT the same value as {@link backendExclusionPattern}. The identity answers "is
|
|
326
|
+
* this the backend the operator already saw?"; the pattern answers "what must the
|
|
327
|
+
* routing filter match to drop it?" — and `ruleMatches` matches on the TRANSPORT
|
|
328
|
+
* provider, so a rule built from this identity would silently match nothing for a
|
|
329
|
+
* proxied lane. They were unified once; that is why they are documented apart now.
|
|
330
|
+
*/
|
|
331
|
+
function backendIdentity(modelId, backendProvider) {
|
|
332
|
+
return modelId ? `${backendProvider}:${modelId}` : backendProvider;
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* The pattern that rules out one backend at the finest granularity its model is
|
|
336
|
+
* knowable at — keyed on the TRANSPORT provider, because that is the field
|
|
337
|
+
* `ruleMatches` compares (`ExcludableBackend.provider`). A backend whose model
|
|
338
|
+
* arrives only at the dispatch handshake (a CLI) must be ruled out at the coarse
|
|
339
|
+
* `provider` tier or the rule would never match.
|
|
285
340
|
*/
|
|
286
|
-
function
|
|
287
|
-
return modelId
|
|
341
|
+
function backendExclusionPattern(modelId, transportProvider) {
|
|
342
|
+
return modelId ? `${transportProvider}:${modelId}` : transportProvider;
|
|
288
343
|
}
|
|
289
344
|
/**
|
|
290
345
|
* The keys of the operator's persisted DECISION — the CONFIRMED half of the gate.
|
|
@@ -294,30 +349,30 @@ function backendGateKey(modelId, providerName) {
|
|
|
294
349
|
* source can be represented ONLY by `provider_pool[].model_id`; and a host tier
|
|
295
350
|
* appears only in `host_model_cost_order`. Reading fewer than all three would
|
|
296
351
|
* manufacture a phantom delta for an already-confirmed backend.
|
|
352
|
+
*
|
|
353
|
+
* A host tier with no `provider` contributes NOTHING, and that is the deliberate
|
|
354
|
+
* fail-SAFE degradation for a confirmation written before the field existed. The
|
|
355
|
+
* alternative — falling back to the bare `model_id` — is precisely the bypass this
|
|
356
|
+
* identity exists to close: a confirmed *host* model would silently approve an
|
|
357
|
+
* identically-named model on some other provider. Contributing no key can only ever
|
|
358
|
+
* cause the gate to ASK about a backend again (loud, and the operator's answer then
|
|
359
|
+
* records the provider); it can never approve one unseen.
|
|
297
360
|
*/
|
|
298
361
|
export function confirmedBackendKeys(confirmation) {
|
|
299
362
|
const keys = new Set();
|
|
300
363
|
for (const entry of confirmation.provider_pool) {
|
|
301
|
-
keys.add(
|
|
364
|
+
keys.add(backendIdentity(entry.model_id, entry.name));
|
|
302
365
|
}
|
|
303
366
|
for (const entry of confirmation.source_pool_cost_order ?? []) {
|
|
304
|
-
keys.add(
|
|
367
|
+
keys.add(backendIdentity(entry.model_id, entry.backend_provider ?? entry.provider));
|
|
305
368
|
}
|
|
306
369
|
for (const entry of confirmation.host_model_cost_order ?? []) {
|
|
307
|
-
|
|
370
|
+
if (entry.provider === undefined)
|
|
371
|
+
continue;
|
|
372
|
+
keys.add(backendIdentity(entry.model_id, entry.provider));
|
|
308
373
|
}
|
|
309
374
|
return keys;
|
|
310
375
|
}
|
|
311
|
-
/**
|
|
312
|
-
* The pattern that rules out one backend at the finest granularity its model is
|
|
313
|
-
* knowable at. The inverse of {@link backendGateKey}, and deliberately adjacent to
|
|
314
|
-
* it: a `provider:model` rule matches only when the routing filter sees that exact
|
|
315
|
-
* model, so a backend whose model arrives at the dispatch handshake (a CLI) must be
|
|
316
|
-
* ruled out at the coarse `provider` tier or the rule would never match.
|
|
317
|
-
*/
|
|
318
|
-
function backendExclusionPattern(modelId, providerName) {
|
|
319
|
-
return modelId ? `${providerName}:${modelId}` : providerName;
|
|
320
|
-
}
|
|
321
376
|
/**
|
|
322
377
|
* DELTA = **REACH-NOW \ CONFIRMED**: the backends this auditor can reach *right
|
|
323
378
|
* now* that the operator's persisted decision never mentions. Sorted by key, so the
|
|
@@ -346,18 +401,29 @@ function backendExclusionPattern(modelId, providerName) {
|
|
|
346
401
|
export function computeNewlyReachableBackends(confirmation, sessionConfig, sources = [], env = process.env, detectCommand) {
|
|
347
402
|
const confirmed = confirmedBackendKeys(confirmation);
|
|
348
403
|
const reachNow = new Map();
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
404
|
+
// `provider` is the TRANSPORT (what spawns / what the routing filter matches);
|
|
405
|
+
// `backendProvider` is the BACKEND ACTUALLY SERVING the model, and only a proxied
|
|
406
|
+
// source distinguishes them. The identity keys on the backend, the rule on the
|
|
407
|
+
// transport — see `backendIdentity`.
|
|
408
|
+
const record = (modelId, provider, backendProvider) => {
|
|
409
|
+
const identity = backendIdentity(modelId, backendProvider ?? provider);
|
|
410
|
+
// First writer wins: when a proxied lane and a direct lane resolve to the SAME
|
|
411
|
+
// backend identity, they are one backend reached two ways, and the rule kept is
|
|
412
|
+
// the one that rules out the lane already recorded.
|
|
413
|
+
if (reachNow.has(identity))
|
|
414
|
+
return;
|
|
415
|
+
reachNow.set(identity, {
|
|
416
|
+
key: identity,
|
|
352
417
|
provider,
|
|
353
418
|
exclusion_pattern: backendExclusionPattern(modelId, provider),
|
|
354
419
|
});
|
|
355
420
|
};
|
|
356
421
|
for (const provider of discoverProviders(sessionConfig, env, detectCommand)) {
|
|
422
|
+
// A discovered provider IS its own backend — no proxy indirection to unwrap.
|
|
357
423
|
record(representativeModelId(provider.name, sessionConfig), provider.name);
|
|
358
424
|
}
|
|
359
425
|
for (const source of sources) {
|
|
360
|
-
record(source.model, source.provider);
|
|
426
|
+
record(source.model, source.provider, source.backend_provider);
|
|
361
427
|
}
|
|
362
428
|
return [...reachNow.values()]
|
|
363
429
|
.filter((backend) => !confirmed.has(backend.key))
|
|
@@ -557,6 +623,11 @@ function isHostModelCostEntry(value) {
|
|
|
557
623
|
}
|
|
558
624
|
const obj = value;
|
|
559
625
|
return (typeof obj.model_id === "string" &&
|
|
626
|
+
// Optional (pre-field confirmations parse), but when present it must be a real
|
|
627
|
+
// provider name — `confirmedBackendKeys` builds a gate key from it, and the
|
|
628
|
+
// validator guards every field its callers read.
|
|
629
|
+
(obj.provider === undefined ||
|
|
630
|
+
(typeof obj.provider === "string" && isResolvedProviderName(obj.provider))) &&
|
|
560
631
|
(obj.blended_price_usd_per_mtok === null ||
|
|
561
632
|
typeof obj.blended_price_usd_per_mtok === "number") &&
|
|
562
633
|
typeof obj.cost_order === "number");
|
|
@@ -568,6 +639,9 @@ function isSourcePoolCostEntry(value) {
|
|
|
568
639
|
const obj = value;
|
|
569
640
|
return (typeof obj.source_id === "string" &&
|
|
570
641
|
typeof obj.provider === "string" &&
|
|
642
|
+
// Optional, but guarded: `confirmedBackendKeys` builds a gate key from it.
|
|
643
|
+
(obj.backend_provider === undefined ||
|
|
644
|
+
typeof obj.backend_provider === "string") &&
|
|
571
645
|
(obj.model_id === undefined || typeof obj.model_id === "string") &&
|
|
572
646
|
(obj.blended_price_usd_per_mtok === null ||
|
|
573
647
|
typeof obj.blended_price_usd_per_mtok === "number") &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sharedProviderConfirmation.js","sourceRoot":"","sources":["../../../src/shared/providers/sharedProviderConfirmation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sharedProviderConfirmation.js","sourceRoot":"","sources":["../../../src/shared/providers/sharedProviderConfirmation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,58 @@
|
|
|
1
1
|
import type { QuotaStateEntry } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* The CREDENTIAL a source authenticates with, as a stable, value-free string —
|
|
4
|
+
* `(normalized endpoint, credential REFERENCE)`. Two sources reaching the same
|
|
5
|
+
* endpoint through the same credential reference resolve to one identity, which is
|
|
6
|
+
* what makes them ONE metered account.
|
|
7
|
+
*
|
|
8
|
+
* ⚠ It compares REFERENCES, not values. Two sources naming the same real key by
|
|
9
|
+
* different references — one `api_key_env: "NVIDIA_API_KEY"`, a sibling pasting that
|
|
10
|
+
* same key inline — split into two accounts and each meters its own allowance.
|
|
11
|
+
* Deliberate: keying on the VALUE would make the account identity change whenever the
|
|
12
|
+
* operator rotates the credential, orphaning the ledger state and the learned slopes
|
|
13
|
+
* for what is still the same account. The mixed-reference config is narrow (inline
|
|
14
|
+
* `api_key` is documented as discouraged) and tracked in `docs/backlog.md`.
|
|
15
|
+
*
|
|
16
|
+
* ⚠ Never contains a secret. An `api_key_env` contributes its NAME; an inline
|
|
17
|
+
* `api_key` contributes a truncated SHA-256 of its value, never the value — this
|
|
18
|
+
* string is persisted into the reservation-ledger file and appears in artifacts.
|
|
19
|
+
* Supporting the inline shape is not optional polish: it is a documented supported
|
|
20
|
+
* field, and treating it as "no credential" is what left the motivating
|
|
21
|
+
* `nim-nano`/`nim-super` case splitting across four rounds of repairs.
|
|
22
|
+
*
|
|
23
|
+
* Returns null only when the source exposes no discriminator at all — no endpoint,
|
|
24
|
+
* or no credential of either shape.
|
|
25
|
+
*/
|
|
26
|
+
export declare function deriveCredentialIdentity(source: {
|
|
27
|
+
endpoint?: string;
|
|
28
|
+
api_key_env?: string;
|
|
29
|
+
api_key?: string;
|
|
30
|
+
}): string | null;
|
|
31
|
+
/**
|
|
32
|
+
* The ACCOUNT a pool meters against — the partition an `account`-scoped quota
|
|
33
|
+
* window's allowance is shared across.
|
|
34
|
+
*
|
|
35
|
+
* Decided HERE, at the producer, from the source's own declaration. It is NOT
|
|
36
|
+
* recoverable from the pool-key string: `dispatchableSourceId` returns an explicitly
|
|
37
|
+
* declared `source.id` verbatim, so an operator naming two models `nim-nano` and
|
|
38
|
+
* `nim-super` on one credential produces two keys with no account segment and no
|
|
39
|
+
* shared substring. Parsing identity back out of that string was the defect that made
|
|
40
|
+
* a fifth round of this repair necessary — the producer holds the credential, so the
|
|
41
|
+
* producer decides.
|
|
42
|
+
*
|
|
43
|
+
* Precedence: an explicit operator `account` declaration always wins (two declared
|
|
44
|
+
* accounts on one endpoint must never be silently re-merged), then the derived
|
|
45
|
+
* credential identity. Returns null when neither is available, and the caller then
|
|
46
|
+
* falls back to a pool-scoped key — correct, because a source we cannot attribute to
|
|
47
|
+
* a credential must not be merged with anyone else's allowance.
|
|
48
|
+
*/
|
|
49
|
+
export declare function deriveAccountKey(source: {
|
|
50
|
+
provider: string;
|
|
51
|
+
endpoint?: string;
|
|
52
|
+
api_key_env?: string;
|
|
53
|
+
api_key?: string;
|
|
54
|
+
account?: string | null;
|
|
55
|
+
}): string | null;
|
|
2
56
|
/**
|
|
3
57
|
* Derive a LOCAL, credential-VALUE-free account id for a bare-API-key source
|
|
4
58
|
* (`openai-compatible` — NIM/vLLM/LM Studio/...), from `(endpoint,
|
|
@@ -34,6 +88,22 @@ export declare function deriveLocalAccountId(source: {
|
|
|
34
88
|
api_key_env?: string;
|
|
35
89
|
account?: string | null;
|
|
36
90
|
}): string | null;
|
|
91
|
+
/**
|
|
92
|
+
* The account key for a pool whose key is PROVIDER-SHAPED by construction —
|
|
93
|
+
* `provider[#account]/model`, as built by `buildProviderModelKey`. Host pools are the
|
|
94
|
+
* only such class: the caller builds the key itself, so the account segment is present
|
|
95
|
+
* exactly when an account was resolved.
|
|
96
|
+
*
|
|
97
|
+
* ⚠ Valid ONLY for keys this codebase constructed. Never call it on a
|
|
98
|
+
* {@link https | dispatchableSourceId} result: an explicitly declared `source.id` is
|
|
99
|
+
* returned verbatim, so the whole opaque id parses as the "provider" and every sibling
|
|
100
|
+
* on one credential gets a distinct account. Source pools derive their account from the
|
|
101
|
+
* source declaration ({@link deriveAccountKey}) instead.
|
|
102
|
+
*
|
|
103
|
+
* An absent account segment folds every model on that provider onto one key. For host
|
|
104
|
+
* pools that is right: they are the one conversation host's own credential.
|
|
105
|
+
*/
|
|
106
|
+
export declare function accountKeyFromProviderShapedKey(poolKey: string): string;
|
|
37
107
|
/**
|
|
38
108
|
* Fold the ACCOUNT-scoped 429/cooldown signal from a set of sibling pools'
|
|
39
109
|
* quota-state entries into `ownEntry`, taking whichever of `cooldown_until` /
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountId.d.ts","sourceRoot":"","sources":["../../../src/shared/quota/accountId.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"accountId.d.ts","sourceRoot":"","sources":["../../../src/shared/quota/accountId.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,GAAG,IAAI,CAShB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,GAAG,MAAM,GAAG,IAAI,CAGhB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,GAAG,MAAM,GAAG,IAAI,CAKhB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIvE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,EAC5C,cAAc,EAAE,aAAa,CAAC,eAAe,GAAG,IAAI,GAAG,SAAS,CAAC,GAChE,eAAe,GAAG,IAAI,CAuCxB"}
|
|
@@ -1,3 +1,63 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
/**
|
|
3
|
+
* The CREDENTIAL a source authenticates with, as a stable, value-free string —
|
|
4
|
+
* `(normalized endpoint, credential REFERENCE)`. Two sources reaching the same
|
|
5
|
+
* endpoint through the same credential reference resolve to one identity, which is
|
|
6
|
+
* what makes them ONE metered account.
|
|
7
|
+
*
|
|
8
|
+
* ⚠ It compares REFERENCES, not values. Two sources naming the same real key by
|
|
9
|
+
* different references — one `api_key_env: "NVIDIA_API_KEY"`, a sibling pasting that
|
|
10
|
+
* same key inline — split into two accounts and each meters its own allowance.
|
|
11
|
+
* Deliberate: keying on the VALUE would make the account identity change whenever the
|
|
12
|
+
* operator rotates the credential, orphaning the ledger state and the learned slopes
|
|
13
|
+
* for what is still the same account. The mixed-reference config is narrow (inline
|
|
14
|
+
* `api_key` is documented as discouraged) and tracked in `docs/backlog.md`.
|
|
15
|
+
*
|
|
16
|
+
* ⚠ Never contains a secret. An `api_key_env` contributes its NAME; an inline
|
|
17
|
+
* `api_key` contributes a truncated SHA-256 of its value, never the value — this
|
|
18
|
+
* string is persisted into the reservation-ledger file and appears in artifacts.
|
|
19
|
+
* Supporting the inline shape is not optional polish: it is a documented supported
|
|
20
|
+
* field, and treating it as "no credential" is what left the motivating
|
|
21
|
+
* `nim-nano`/`nim-super` case splitting across four rounds of repairs.
|
|
22
|
+
*
|
|
23
|
+
* Returns null only when the source exposes no discriminator at all — no endpoint,
|
|
24
|
+
* or no credential of either shape.
|
|
25
|
+
*/
|
|
26
|
+
export function deriveCredentialIdentity(source) {
|
|
27
|
+
const normalizedEndpoint = source.endpoint?.trim().toLowerCase().replace(/\/+$/, "");
|
|
28
|
+
if (!normalizedEndpoint)
|
|
29
|
+
return null;
|
|
30
|
+
if (source.api_key_env)
|
|
31
|
+
return `${normalizedEndpoint}::env:${source.api_key_env}`;
|
|
32
|
+
if (source.api_key) {
|
|
33
|
+
const digest = createHash("sha256").update(source.api_key).digest("hex").slice(0, 16);
|
|
34
|
+
return `${normalizedEndpoint}::inline:${digest}`;
|
|
35
|
+
}
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* The ACCOUNT a pool meters against — the partition an `account`-scoped quota
|
|
40
|
+
* window's allowance is shared across.
|
|
41
|
+
*
|
|
42
|
+
* Decided HERE, at the producer, from the source's own declaration. It is NOT
|
|
43
|
+
* recoverable from the pool-key string: `dispatchableSourceId` returns an explicitly
|
|
44
|
+
* declared `source.id` verbatim, so an operator naming two models `nim-nano` and
|
|
45
|
+
* `nim-super` on one credential produces two keys with no account segment and no
|
|
46
|
+
* shared substring. Parsing identity back out of that string was the defect that made
|
|
47
|
+
* a fifth round of this repair necessary — the producer holds the credential, so the
|
|
48
|
+
* producer decides.
|
|
49
|
+
*
|
|
50
|
+
* Precedence: an explicit operator `account` declaration always wins (two declared
|
|
51
|
+
* accounts on one endpoint must never be silently re-merged), then the derived
|
|
52
|
+
* credential identity. Returns null when neither is available, and the caller then
|
|
53
|
+
* falls back to a pool-scoped key — correct, because a source we cannot attribute to
|
|
54
|
+
* a credential must not be merged with anyone else's allowance.
|
|
55
|
+
*/
|
|
56
|
+
export function deriveAccountKey(source) {
|
|
57
|
+
if (source.account)
|
|
58
|
+
return `${source.provider}#${source.account}`;
|
|
59
|
+
return deriveCredentialIdentity(source);
|
|
60
|
+
}
|
|
1
61
|
/**
|
|
2
62
|
* Derive a LOCAL, credential-VALUE-free account id for a bare-API-key source
|
|
3
63
|
* (`openai-compatible` — NIM/vLLM/LM Studio/...), from `(endpoint,
|
|
@@ -32,12 +92,29 @@ export function deriveLocalAccountId(source) {
|
|
|
32
92
|
return null;
|
|
33
93
|
if (source.provider !== "openai-compatible")
|
|
34
94
|
return null;
|
|
35
|
-
if (!source.
|
|
36
|
-
return null;
|
|
37
|
-
const normalizedEndpoint = source.endpoint.trim().toLowerCase().replace(/\/+$/, "");
|
|
38
|
-
if (!normalizedEndpoint)
|
|
95
|
+
if (!source.api_key_env)
|
|
39
96
|
return null;
|
|
40
|
-
return
|
|
97
|
+
return deriveCredentialIdentity(source);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* The account key for a pool whose key is PROVIDER-SHAPED by construction —
|
|
101
|
+
* `provider[#account]/model`, as built by `buildProviderModelKey`. Host pools are the
|
|
102
|
+
* only such class: the caller builds the key itself, so the account segment is present
|
|
103
|
+
* exactly when an account was resolved.
|
|
104
|
+
*
|
|
105
|
+
* ⚠ Valid ONLY for keys this codebase constructed. Never call it on a
|
|
106
|
+
* {@link https | dispatchableSourceId} result: an explicitly declared `source.id` is
|
|
107
|
+
* returned verbatim, so the whole opaque id parses as the "provider" and every sibling
|
|
108
|
+
* on one credential gets a distinct account. Source pools derive their account from the
|
|
109
|
+
* source declaration ({@link deriveAccountKey}) instead.
|
|
110
|
+
*
|
|
111
|
+
* An absent account segment folds every model on that provider onto one key. For host
|
|
112
|
+
* pools that is right: they are the one conversation host's own credential.
|
|
113
|
+
*/
|
|
114
|
+
export function accountKeyFromProviderShapedKey(poolKey) {
|
|
115
|
+
const slash = poolKey.indexOf("/");
|
|
116
|
+
const head = slash === -1 ? poolKey : poolKey.slice(0, slash);
|
|
117
|
+
return head;
|
|
41
118
|
}
|
|
42
119
|
/**
|
|
43
120
|
* Fold the ACCOUNT-scoped 429/cooldown signal from a set of sibling pools'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountId.js","sourceRoot":"","sources":["../../../src/shared/quota/accountId.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"accountId.js","sourceRoot":"","sources":["../../../src/shared/quota/accountId.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,8 @@ import type { DispatchExclusion } from "../providers/sharedProviderConfirmation.
|
|
|
14
14
|
* ⚠ Keyspace (1) of three, and NOT the `provider:model` operator exclusion grammar
|
|
15
15
|
* (`DispatchExclusionPattern`) it superficially resembles — an account is load-bearing
|
|
16
16
|
* here (the double-grant boundary) and irrelevant to a rule about a backend. Nor is it
|
|
17
|
-
* the gate's `
|
|
17
|
+
* the gate's `(backend_provider ?? provider):model` compare key — which shares this
|
|
18
|
+
* backend-qualified provider half but carries no account. Do not unify them.
|
|
18
19
|
*/
|
|
19
20
|
export declare function dispatchableSourceId(source: DispatchableSource, account?: string | null): string;
|
|
20
21
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiPool.d.ts","sourceRoot":"","sources":["../../../src/shared/quota/apiPool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,kBAAkB,CAAC;AACtE,OAAO,KAAK,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"apiPool.d.ts","sourceRoot":"","sources":["../../../src/shared/quota/apiPool.ts"],"names":[],"mappings":"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"}
|