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.
Files changed (77) hide show
  1. package/dist/audit/orchestrator/rollingDispatch.js +1 -1
  2. package/dist/audit/orchestrator/rollingDispatch.js.map +1 -1
  3. package/dist/remediate/steps/nextStep.js +1 -1
  4. package/dist/remediate/steps/nextStep.js.map +1 -1
  5. package/dist/shared/dispatch/admissionLeaseReconcile.js +1 -1
  6. package/dist/shared/dispatch/admissionLeaseReconcile.js.map +1 -1
  7. package/dist/shared/dispatch/admissionLoop.d.ts +42 -10
  8. package/dist/shared/dispatch/admissionLoop.d.ts.map +1 -1
  9. package/dist/shared/dispatch/admissionLoop.js +74 -7
  10. package/dist/shared/dispatch/admissionLoop.js.map +1 -1
  11. package/dist/shared/dispatch/dispatchQuotaContract.d.ts +82 -7
  12. package/dist/shared/dispatch/dispatchQuotaContract.d.ts.map +1 -1
  13. package/dist/shared/dispatch/hostDispatchWall.d.ts.map +1 -1
  14. package/dist/shared/dispatch/hostDispatchWall.js +8 -0
  15. package/dist/shared/dispatch/hostDispatchWall.js.map +1 -1
  16. package/dist/shared/dispatch/rollingDispatch.d.ts +17 -10
  17. package/dist/shared/dispatch/rollingDispatch.d.ts.map +1 -1
  18. package/dist/shared/dispatch/rollingDispatch.js +49 -33
  19. package/dist/shared/dispatch/rollingDispatch.js.map +1 -1
  20. package/dist/shared/dispatch/unifiedRolling.d.ts +3 -2
  21. package/dist/shared/dispatch/unifiedRolling.d.ts.map +1 -1
  22. package/dist/shared/dispatch/unifiedRolling.js +12 -4
  23. package/dist/shared/dispatch/unifiedRolling.js.map +1 -1
  24. package/dist/shared/index.d.ts +2 -2
  25. package/dist/shared/index.d.ts.map +1 -1
  26. package/dist/shared/index.js +5 -1
  27. package/dist/shared/index.js.map +1 -1
  28. package/dist/shared/providers/providerConfirmation.d.ts +1 -1
  29. package/dist/shared/providers/providerConfirmation.d.ts.map +1 -1
  30. package/dist/shared/providers/providerConfirmation.js +11 -2
  31. package/dist/shared/providers/providerConfirmation.js.map +1 -1
  32. package/dist/shared/providers/sharedProviderConfirmation.d.ts +20 -5
  33. package/dist/shared/providers/sharedProviderConfirmation.d.ts.map +1 -1
  34. package/dist/shared/providers/sharedProviderConfirmation.js +108 -34
  35. package/dist/shared/providers/sharedProviderConfirmation.js.map +1 -1
  36. package/dist/shared/quota/accountId.d.ts +70 -0
  37. package/dist/shared/quota/accountId.d.ts.map +1 -1
  38. package/dist/shared/quota/accountId.js +82 -5
  39. package/dist/shared/quota/accountId.js.map +1 -1
  40. package/dist/shared/quota/apiPool.d.ts +2 -1
  41. package/dist/shared/quota/apiPool.d.ts.map +1 -1
  42. package/dist/shared/quota/apiPool.js +14 -2
  43. package/dist/shared/quota/apiPool.js.map +1 -1
  44. package/dist/shared/quota/capacity.d.ts +82 -0
  45. package/dist/shared/quota/capacity.d.ts.map +1 -1
  46. package/dist/shared/quota/capacity.js +42 -1
  47. package/dist/shared/quota/capacity.js.map +1 -1
  48. package/dist/shared/quota/claudeOAuthQuotaSource.d.ts.map +1 -1
  49. package/dist/shared/quota/claudeOAuthQuotaSource.js +46 -8
  50. package/dist/shared/quota/claudeOAuthQuotaSource.js.map +1 -1
  51. package/dist/shared/quota/quotaSource.d.ts +73 -2
  52. package/dist/shared/quota/quotaSource.d.ts.map +1 -1
  53. package/dist/shared/quota/quotaSource.js +57 -2
  54. package/dist/shared/quota/quotaSource.js.map +1 -1
  55. package/dist/shared/quota/reservationLedger.d.ts +98 -26
  56. package/dist/shared/quota/reservationLedger.d.ts.map +1 -1
  57. package/dist/shared/quota/reservationLedger.js +109 -37
  58. package/dist/shared/quota/reservationLedger.js.map +1 -1
  59. package/dist/shared/quota/scheduler.d.ts +25 -1
  60. package/dist/shared/quota/scheduler.d.ts.map +1 -1
  61. package/dist/shared/quota/scheduler.js +115 -10
  62. package/dist/shared/quota/scheduler.js.map +1 -1
  63. package/dist/shared/quota/state.d.ts +24 -9
  64. package/dist/shared/quota/state.d.ts.map +1 -1
  65. package/dist/shared/quota/state.js +43 -16
  66. package/dist/shared/quota/state.js.map +1 -1
  67. package/dist/shared/quota/types.d.ts +57 -6
  68. package/dist/shared/quota/types.d.ts.map +1 -1
  69. package/dist/shared/quota/types.js.map +1 -1
  70. package/dist/shared/quota/windowConstraints.d.ts +56 -0
  71. package/dist/shared/quota/windowConstraints.d.ts.map +1 -0
  72. package/dist/shared/quota/windowConstraints.js +71 -0
  73. package/dist/shared/quota/windowConstraints.js.map +1 -0
  74. package/dist/shared/types/providerConfirmation.d.ts +31 -1
  75. package/dist/shared/types/providerConfirmation.d.ts.map +1 -1
  76. package/docs/audit-pkg/operator-guide.md +4 -1
  77. 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
- /** The gate key — `model_id ?? provider name`. Stable, operator-facing. */
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
- * `provider:model` where the model is knowable, else the coarse `provider` tier.
242
- * Built HERE rather than re-derived by the autonomous fail-closed write, so the
243
- * rule the gate persists cannot drift from the key the gate compared.
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":"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"}
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
- const annotated = annotateConfirmedPool(pool, sessionConfig, input, sources);
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
- * The gate's comparison key for one backend: **the model where it is knowable,
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
- * But a bare-`model_id` key would be worse than useless: `representativeModelId`
276
- * knows a model only for `openai-compatible` and `codex` — for claude-code / agy /
277
- * opencode / worker-command a CLI backend's model arrives only at the dispatch
278
- * handshake. Such a backend would contribute NO key, so installing `agy` on PATH
279
- * would leave the delta empty and the gate would silently dispatch it — re-opening
280
- * the exact PATH-appearance case the gate exists to catch, blind rather than loud.
281
- *
282
- * ⚠ This is a THIRD keyspace, deliberately distinct from the quota-ledger pool
283
- * identity (`provider[#account]/model`, `buildProviderModelKey`) — an account is
284
- * irrelevant to a rule about a backend. Do not unify them.
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 backendGateKey(modelId, providerName) {
287
- return modelId ?? providerName;
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(backendGateKey(entry.model_id, entry.name));
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(backendGateKey(entry.model_id, entry.provider));
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
- keys.add(entry.model_id);
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
- const record = (modelId, provider) => {
350
- reachNow.set(backendGateKey(modelId, provider), {
351
- key: backendGateKey(modelId, provider),
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":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;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,CAOhB;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
+ {"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.endpoint || !source.api_key_env)
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 `${normalizedEndpoint}::${source.api_key_env}`;
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":"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"}
1
+ {"version":3,"file":"accountId.js","sourceRoot":"","sources":["../../../src/shared/quota/accountId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAIxC;IACC,MAAM,kBAAkB,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrF,IAAI,CAAC,kBAAkB;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,MAAM,CAAC,WAAW;QAAE,OAAO,GAAG,kBAAkB,SAAS,MAAM,CAAC,WAAW,EAAE,CAAC;IAClF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtF,OAAO,GAAG,kBAAkB,YAAY,MAAM,EAAE,CAAC;IACnD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAMhC;IACC,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;IAClE,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAKpC;IACC,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,MAAM,CAAC,QAAQ,KAAK,mBAAmB;QAAE,OAAO,IAAI,CAAC;IACzD,IAAI,CAAC,MAAM,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IACrC,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,+BAA+B,CAAC,OAAe;IAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC9D,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAA4C,EAC5C,cAAiE;IAEjE,IAAI,aAAa,GAAG,QAAQ,EAAE,cAAc,IAAI,IAAI,CAAC;IACrD,IAAI,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACtE,IAAI,MAAM,GAAG,QAAQ,EAAE,WAAW,IAAI,IAAI,CAAC;IAC3C,IAAI,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAEjD,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACrC,MAAM,eAAe,GAAG,OAAO,EAAE,cAAc,CAAC;QAChD,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACvC,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC;gBACvF,aAAa,GAAG,eAAe,CAAC;gBAChC,eAAe,GAAG,EAAE,CAAC;YACvB,CAAC;QACH,CAAC;QACD,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,CAAC;QACzC,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACnC,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;gBACzE,MAAM,GAAG,WAAW,CAAC;gBACrB,QAAQ,GAAG,EAAE,CAAC;YAChB,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,IAAI,aAAa,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAExE,OAAO;QACL,UAAU,EAAE,QAAQ,EAAE,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAC5D,cAAc,EAAE,aAAa;QAC7B,WAAW,EAAE,MAAM;QACnB,GAAG,CAAC,QAAQ,EAAE,qBAAqB,KAAK,SAAS;YAC/C,CAAC,CAAC,EAAE,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB,EAAE;YAC3D,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,QAAQ,EAAE,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9F,GAAG,CAAC,QAAQ,EAAE,gBAAgB,KAAK,SAAS;YAC1C,CAAC,CAAC,EAAE,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,EAAE;YACjD,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC"}
@@ -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 `model_id ?? provider` compare key. Do not unify them.
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":"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"}
1
+ {"version":3,"file":"apiPool.d.ts","sourceRoot":"","sources":["../../../src/shared/quota/apiPool.ts"],"names":[],"mappings":"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"}