@claudexor/orchestrator 3.4.2 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/account-pool.d.ts +62 -0
  2. package/dist/account-pool.d.ts.map +1 -0
  3. package/dist/account-pool.js +103 -0
  4. package/dist/account-pool.js.map +1 -0
  5. package/dist/account-resolution.d.ts +85 -0
  6. package/dist/account-resolution.d.ts.map +1 -0
  7. package/dist/account-resolution.js +320 -0
  8. package/dist/account-resolution.js.map +1 -0
  9. package/dist/attemptOutputMarkers.d.ts +30 -0
  10. package/dist/attemptOutputMarkers.d.ts.map +1 -0
  11. package/dist/attemptOutputMarkers.js +31 -0
  12. package/dist/attemptOutputMarkers.js.map +1 -0
  13. package/dist/attemptTelemetry.d.ts +5 -4
  14. package/dist/attemptTelemetry.d.ts.map +1 -1
  15. package/dist/attemptTelemetry.js +4 -2
  16. package/dist/attemptTelemetry.js.map +1 -1
  17. package/dist/credential-cooldown.d.ts +131 -0
  18. package/dist/credential-cooldown.d.ts.map +1 -0
  19. package/dist/credential-cooldown.js +169 -0
  20. package/dist/credential-cooldown.js.map +1 -0
  21. package/dist/credential-differential.d.ts +81 -0
  22. package/dist/credential-differential.d.ts.map +1 -0
  23. package/dist/credential-differential.js +110 -0
  24. package/dist/credential-differential.js.map +1 -0
  25. package/dist/credential-preflight.d.ts +36 -0
  26. package/dist/credential-preflight.d.ts.map +1 -0
  27. package/dist/credential-preflight.js +78 -0
  28. package/dist/credential-preflight.js.map +1 -0
  29. package/dist/credential-profile-rotation.d.ts +80 -54
  30. package/dist/credential-profile-rotation.d.ts.map +1 -1
  31. package/dist/credential-profile-rotation.js +191 -163
  32. package/dist/credential-profile-rotation.js.map +1 -1
  33. package/dist/credential-profiles.d.ts +3 -49
  34. package/dist/credential-profiles.d.ts.map +1 -1
  35. package/dist/credential-profiles.js +2 -46
  36. package/dist/credential-profiles.js.map +1 -1
  37. package/dist/index.d.ts +2 -1
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +2 -1
  40. package/dist/index.js.map +1 -1
  41. package/dist/laneStreamEvents.d.ts +54 -0
  42. package/dist/laneStreamEvents.d.ts.map +1 -0
  43. package/dist/laneStreamEvents.js +81 -0
  44. package/dist/laneStreamEvents.js.map +1 -0
  45. package/dist/orchestrator-credentials.d.ts +93 -0
  46. package/dist/orchestrator-credentials.d.ts.map +1 -0
  47. package/dist/orchestrator-credentials.js +156 -0
  48. package/dist/orchestrator-credentials.js.map +1 -0
  49. package/dist/orchestrator.d.ts +17 -30
  50. package/dist/orchestrator.d.ts.map +1 -1
  51. package/dist/orchestrator.js +278 -324
  52. package/dist/orchestrator.js.map +1 -1
  53. package/dist/rotation-predicate.d.ts +71 -0
  54. package/dist/rotation-predicate.d.ts.map +1 -0
  55. package/dist/rotation-predicate.js +29 -0
  56. package/dist/rotation-predicate.js.map +1 -0
  57. package/package.json +17 -17
@@ -0,0 +1,31 @@
1
+ export function newAttemptOutputMarkers() {
2
+ return { sawAgentProgress: false, fileChanges: 0 };
3
+ }
4
+ /**
5
+ * The closed event policy: thinking (non-empty), tool_call, tool_result,
6
+ * file_change, patch_produced, and a completed compaction mark agent progress.
7
+ * Everything else — message, error, status, started, usage, lifecycle — does
8
+ * not.
9
+ */
10
+ function marksAgentProgress(ev) {
11
+ switch (ev.type) {
12
+ case "thinking":
13
+ return (ev.text?.trim().length ?? 0) > 0;
14
+ case "tool_call":
15
+ case "tool_result":
16
+ case "file_change":
17
+ case "patch_produced":
18
+ return true;
19
+ case "context":
20
+ return ev.context?.kind === "compaction_completed";
21
+ default:
22
+ return false;
23
+ }
24
+ }
25
+ export function observeAttemptOutputMarkers(m, ev) {
26
+ if (ev.type === "file_change")
27
+ m.fileChanges += 1;
28
+ if (!m.sawAgentProgress && marksAgentProgress(ev))
29
+ m.sawAgentProgress = true;
30
+ }
31
+ //# sourceMappingURL=attemptOutputMarkers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attemptOutputMarkers.js","sourceRoot":"","sources":["../src/attemptOutputMarkers.ts"],"names":[],"mappings":"AA6BA,MAAM,UAAU,uBAAuB;IACrC,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;AACrD,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,EAAgB;IAC1C,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,UAAU;YACb,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3C,KAAK,WAAW,CAAC;QACjB,KAAK,aAAa,CAAC;QACnB,KAAK,aAAa,CAAC;QACnB,KAAK,gBAAgB;YACnB,OAAO,IAAI,CAAC;QACd,KAAK,SAAS;YACZ,OAAO,EAAE,CAAC,OAAO,EAAE,IAAI,KAAK,sBAAsB,CAAC;QACrD;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,CAAuB,EAAE,EAAgB;IACnF,IAAI,EAAE,CAAC,IAAI,KAAK,aAAa;QAAE,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC;IAClD,IAAI,CAAC,CAAC,CAAC,gBAAgB,IAAI,kBAAkB,CAAC,EAAE,CAAC;QAAE,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC;AAC/E,CAAC"}
@@ -7,6 +7,7 @@
7
7
  */
8
8
  import type { AttemptTelemetryRecord, AuthSourceKind, ExternalContextPolicy, HarnessEvent, RequestRequirementResolution, TaskContract, ToolKind, WorkState } from "@claudexor/schema";
9
9
  import { type AttemptUsageCost } from "./attemptUsageCost.js";
10
+ import * as marks from "./attemptOutputMarkers.js";
10
11
  import { type TransientFailureObservation } from "./transientClassify.js";
11
12
  export { type TransientFailureObservation, classifyAdapterThrow } from "./transientClassify.js";
12
13
  export interface ToolErrorRecord {
@@ -99,15 +100,15 @@ export interface AttemptTelemetry {
99
100
  /** Model hint the engine SENT this attempt (requested side; observedModel is
100
101
  * the disclosed side of the model x route truth). */
101
102
  requestedModel: string | null;
102
- /** Adapter-declared transient failures seen during this attempt, each
103
- * classified into the GH #31 typed taxonomy the retry policy gates on. */
103
+ /** Adapter-declared transients, classified into the GH #31 taxonomy the retry policy gates on. */
104
104
  transientFailures: TransientFailureObservation[];
105
- /** TYPED vendor rate-limit signals seen during this attempt (W5.4): the
106
- * rotation predicate reads these, never prose or plain transients. */
105
+ /** TYPED vendor rate-limit signals seen this attempt (W5.4): the rotation predicate's input. */
107
106
  rateLimits: {
108
107
  retryDelayMs: number | null;
109
108
  resetsAt: string | null;
110
109
  }[];
110
+ /** A2: agent-progress / file-change markers for the structural rotation predicate. */
111
+ outputMarkers: marks.AttemptOutputMarkers;
111
112
  /** Delegation-belt runtime readiness (QA-024); requested=false on non-delegate attempts. */
112
113
  delegationBelt: DelegationBeltState;
113
114
  /** Browser-MCP runtime evidence (QA-040); requested=false unless the browser
@@ -1 +1 @@
1
- {"version":3,"file":"attemptTelemetry.d.ts","sourceRoot":"","sources":["../src/attemptTelemetry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attemptTelemetry.d.ts","sourceRoot":"","sources":["../src/attemptTelemetry.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { newAttemptUsageCost, observeAttemptUsageEvent, } from "./attemptUsageCost.js";
2
2
  import { redactSecrets } from "@claudexor/util";
3
3
  import * as belt from "./delegationToolEvidence.js";
4
+ import * as marks from "./attemptOutputMarkers.js";
4
5
  import { classifyCompletedCrash, classifyRateLimit, classifyStatusError, classifyTransientSignal, } from "./transientClassify.js";
5
6
  export { classifyAdapterThrow } from "./transientClassify.js";
6
7
  export function createAttemptTelemetry(policy, webRequired, effectiveMode = policy, requestRequirements = [], requestedModel = null,
@@ -36,6 +37,7 @@ browserServerName = null) {
36
37
  requestedModel,
37
38
  transientFailures: [],
38
39
  rateLimits: [],
40
+ outputMarkers: marks.newAttemptOutputMarkers(),
39
41
  delegationBelt: {
40
42
  requested: beltServerName !== null,
41
43
  serverName: beltServerName,
@@ -58,8 +60,7 @@ browserServerName = null) {
58
60
  usageCost: newAttemptUsageCost(),
59
61
  };
60
62
  }
61
- /** Add one present token field to a null-aware accumulator (null stays null
62
- * until a value actually arrives, so "unreported" never reads as 0). */
63
+ /** Add one present token field to a null-aware accumulator ("unreported" never reads as 0). */
63
64
  function addToken(acc, value) {
64
65
  return value === undefined ? acc : (acc ?? 0) + value;
65
66
  }
@@ -129,6 +130,7 @@ function bumpWebVerification(t, retrieval) {
129
130
  * matching or tool-name heuristics.
130
131
  */
131
132
  export function observeAttemptTelemetry(t, ev) {
133
+ marks.observeAttemptOutputMarkers(t.outputMarkers, ev);
132
134
  // Delegation belt readiness (QA-024): normalized startup/error events carry
133
135
  // typed MCP server statuses. Read THAT server's status as first-class truth;
134
136
  // a failed belt must never launder into a native-subagent success.
@@ -1 +1 @@
1
- {"version":3,"file":"attemptTelemetry.js","sourceRoot":"","sources":["../src/attemptTelemetry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attemptTelemetry.js","sourceRoot":"","sources":["../src/attemptTelemetry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,131 @@
1
+ import type { CredentialUnusableObservation, QuotaSnapshot } from "@claudexor/schema";
2
+ /**
3
+ * THE live-observation matcher (A7): does a typed `credential_unusable`
4
+ * observation currently condemn this subject for this decision's model? One
5
+ * owner, so rotation refusal, exhaustion rows, and the pool terminal can never
6
+ * disagree about which observation is live. Expired observations never match
7
+ * (the self-expiry half of the clearing contract); a model-scoped observation
8
+ * matches only its own model, while a credential-wide one (model=null) matches
9
+ * every route — the write side owns that scoping decision.
10
+ */
11
+ export declare function liveUnusableFor(observations: readonly CredentialUnusableObservation[], harnessId: string, profileId: string | null, model?: string | null, now?: Date): CredentialUnusableObservation | null;
12
+ /**
13
+ * Typed verdict that a credential subject's own observed quota evidence blocks
14
+ * spending right now (A4 cooldown reader). `kind` distinguishes a spent window
15
+ * with a known future reset (`exhausted`) from a live rate-limit cooldown
16
+ * (`cooldown`); `resets_at` is the earliest known release instant.
17
+ */
18
+ export interface QuotaBlock {
19
+ blocked: true;
20
+ constraint_id: string | null;
21
+ resets_at: string | null;
22
+ kind: "exhausted" | "cooldown";
23
+ }
24
+ /**
25
+ * Does any observed quota window BLOCK this subject right now?
26
+ *
27
+ * Deliberately NOT a third copy of blocking semantics: each subject snapshot is
28
+ * judged by the schema's own `quotaSnapshotAvailability` projection — the same
29
+ * verdict the /v2/quota surface and the Accounts card show — so preflight can
30
+ * never dispatch into a window the projection already calls unavailable.
31
+ *
32
+ * Two deliberate contrasts with `profileHeadroomBreach` (which stays fresh-only
33
+ * for its 0.9 proactive threshold):
34
+ * - STALE evidence blocks too. A cooldown/reset instant is absolute clock
35
+ * truth: the registry keeps a stale snapshot alive exactly because its
36
+ * `cooldown_until` still extends into the future (activeSnapshots), and a
37
+ * reactive vendor limit observed six minutes ago is still a live limit even
38
+ * though its snapshot has aged past the 5-minute fresh horizon.
39
+ * - Blocking is EVIDENCE-of-limit, not usage-ratio proximity: an expired or
40
+ * unknown-reset window never blocks (the projection treats it as stale data).
41
+ *
42
+ * Model scope fails OPEN by construction: the projection matches by
43
+ * case-insensitive alias containment, so a vendor display label
44
+ * ("Gemini 3.7 Flash High") that cannot be proven to cover the routed slug
45
+ * ("grok-4.6" — or even an unprovable "gemini-3.7-flash") leaves the subject
46
+ * spendable rather than cooling every model on the account. A scoped window
47
+ * with NO model context blocks only when it declares it governs the
48
+ * unspecified-model route.
49
+ *
50
+ * The subject KEY includes `credential_route` (final-review fix): the
51
+ * native-session default and the managed-api-key default of one harness BOTH
52
+ * carry subject_id=null, so without the route an api_key cooldown would cool
53
+ * the subscription session (and vice versa). `subjectRoute` speaks the
54
+ * callers' vocabulary (`limitSubjectRoute`); `null` = honestly unknown route —
55
+ * fail open to the legacy any-route match rather than unblocking on a
56
+ * technicality (no current caller passes null).
57
+ */
58
+ export declare function profileQuotaBlock(snapshots: readonly QuotaSnapshot[], harnessId: string, profileId: string | null, subjectRoute: "local_session" | "api_key" | null, model?: string | null, now?: Date): QuotaBlock | null;
59
+ /**
60
+ * One row of `route.profile.rotation_exhausted` candidate evidence, as the
61
+ * pool-exhausted terminal consumes it. Structural on purpose: the rotation
62
+ * module's rows satisfy it without this module importing that module (the
63
+ * import runs the other way).
64
+ */
65
+ export interface PoolExhaustionCandidate {
66
+ profile_id: string;
67
+ rejected: string;
68
+ headroom: {
69
+ resets_at: string | null;
70
+ } | null;
71
+ cooldown: {
72
+ resets_at: string | null;
73
+ } | null;
74
+ /** A7: a live `credential_unusable` verdict about this row's credential —
75
+ * dead-credential evidence for the terminal's claim, and an exclusion from
76
+ * the reset fold (a dead credential's windows promise no reopen). */
77
+ unusable?: {
78
+ code: string;
79
+ } | null;
80
+ }
81
+ /**
82
+ * Whether one exhaustion row is CREDENTIAL-LAYER EVIDENCE for the pool
83
+ * terminal's claim (final-review fix): the fold's member labels plus
84
+ * `credential_unusable` — a dead credential IS a pool member whose typed
85
+ * verdict is evidence, even though the reset fold excludes its windows (they
86
+ * promise no reopen). Rows naming identities rotation could never select
87
+ * (`not_ready`, `not_in_rotation_policy`, `credential_kind_mismatch`) never
88
+ * count: an api_key sibling's stale cooldown must not let a subscription
89
+ * subject's structural death terminalize as "the credential pool refused".
90
+ */
91
+ export declare function poolMemberEvidence(candidate: PoolExhaustionCandidate): boolean;
92
+ /**
93
+ * The WHOLE pool refused, MACHINE-READABLY (A5).
94
+ *
95
+ * Mirrors `subscriptionWindowExhausted`'s reasoning: nothing malfunctioned —
96
+ * no credential in this harness's rotation pool can serve the run right now,
97
+ * which is exactly what `harness_unavailable` means. The message stays human;
98
+ * the machine reads `code` and `resetsAt`, which the run terminal lifts onto
99
+ * `final/failure.yaml` verbatim.
100
+ *
101
+ * `resetsAt` folds the EARLIEST known reset WITHIN the pool — the first
102
+ * instant any member reopens — including the current/default subject's own
103
+ * observed limit (`subjectLimit`, consulted only when no candidate row already
104
+ * carries the subject's evidence, and EXCLUDED entirely when the subject's
105
+ * credential itself was observed unusable: a dead credential's quota reset
106
+ * will never help, so it must not shape the pool's reopen promise). This is deliberately the opposite of the
107
+ * ACROSS-CANDIDATES rule (`unanimousDeclaredFailure` keeps the LATEST reset:
108
+ * every slot must reopen); here ONE reopened member is enough to retry. Same
109
+ * honesty rule as there: a limit-evidenced member with an UNKNOWN reset makes
110
+ * the pool's reset unknown — a partial answer is worse than none — while
111
+ * members rejected without limit evidence (e.g. structurally dead) never
112
+ * poison the fold.
113
+ */
114
+ export declare function credentialPoolExhausted(args: {
115
+ harnessId: string;
116
+ /** The triggering subject: a pinned profile id, or null for the default. */
117
+ profileId: string | null;
118
+ reason: "profile_headroom_preflight" | "vendor_limit_rejected" | "structural_pre_progress_failure";
119
+ candidates: readonly PoolExhaustionCandidate[];
120
+ /** The triggering subject's own observed limit evidence, when the candidate
121
+ * rows cannot carry it (the default subject has no row; a just-observed
122
+ * typed limit may not be ingested into the registry yet). */
123
+ subjectLimit: {
124
+ resets_at: string | null;
125
+ } | null;
126
+ /** The differential probe's verdict on the triggering subject (A7), when it
127
+ * found the credential itself dead — the terminal then says so instead of
128
+ * promising a quota reset that will never help. */
129
+ subjectUnusable?: Pick<CredentialUnusableObservation, "code"> | null;
130
+ }): Error;
131
+ //# sourceMappingURL=credential-cooldown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential-cooldown.d.ts","sourceRoot":"","sources":["../src/credential-cooldown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGtF;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,SAAS,6BAA6B,EAAE,EACtD,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,EACrB,GAAG,GAAE,IAAiB,GACrB,6BAA6B,GAAG,IAAI,CAUtC;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,IAAI,CAAC;IACd,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,aAAa,EAAE,EACnC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,YAAY,EAAE,eAAe,GAAG,SAAS,GAAG,IAAI,EAChD,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,EACrB,GAAG,CAAC,EAAE,IAAI,GACT,UAAU,GAAG,IAAI,CAqBnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE;QAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9C,QAAQ,EAAE;QAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9C;;yEAEqE;IACrE,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACpC;AAcD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,uBAAuB,GAAG,OAAO,CAW9E;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EACJ,4BAA4B,GAAG,uBAAuB,GAAG,iCAAiC,CAAC;IAC7F,UAAU,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC/C;;iEAE6D;IAC7D,YAAY,EAAE;QAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IAClD;;uDAEmD;IACnD,eAAe,CAAC,EAAE,IAAI,CAAC,6BAA6B,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CACtE,GAAG,KAAK,CA6CR"}
@@ -0,0 +1,169 @@
1
+ import { quotaSnapshotAvailability } from "@claudexor/schema";
2
+ /**
3
+ * THE live-observation matcher (A7): does a typed `credential_unusable`
4
+ * observation currently condemn this subject for this decision's model? One
5
+ * owner, so rotation refusal, exhaustion rows, and the pool terminal can never
6
+ * disagree about which observation is live. Expired observations never match
7
+ * (the self-expiry half of the clearing contract); a model-scoped observation
8
+ * matches only its own model, while a credential-wide one (model=null) matches
9
+ * every route — the write side owns that scoping decision.
10
+ */
11
+ export function liveUnusableFor(observations, harnessId, profileId, model, now = new Date()) {
12
+ for (const obs of observations) {
13
+ if (obs.harness_id !== harnessId)
14
+ continue;
15
+ if (obs.profile_id !== profileId)
16
+ continue;
17
+ if (obs.model !== null && obs.model !== (model ?? null))
18
+ continue;
19
+ const expires = Date.parse(obs.expires_at);
20
+ if (!Number.isFinite(expires) || expires <= now.getTime())
21
+ continue;
22
+ return obs;
23
+ }
24
+ return null;
25
+ }
26
+ /**
27
+ * Does any observed quota window BLOCK this subject right now?
28
+ *
29
+ * Deliberately NOT a third copy of blocking semantics: each subject snapshot is
30
+ * judged by the schema's own `quotaSnapshotAvailability` projection — the same
31
+ * verdict the /v2/quota surface and the Accounts card show — so preflight can
32
+ * never dispatch into a window the projection already calls unavailable.
33
+ *
34
+ * Two deliberate contrasts with `profileHeadroomBreach` (which stays fresh-only
35
+ * for its 0.9 proactive threshold):
36
+ * - STALE evidence blocks too. A cooldown/reset instant is absolute clock
37
+ * truth: the registry keeps a stale snapshot alive exactly because its
38
+ * `cooldown_until` still extends into the future (activeSnapshots), and a
39
+ * reactive vendor limit observed six minutes ago is still a live limit even
40
+ * though its snapshot has aged past the 5-minute fresh horizon.
41
+ * - Blocking is EVIDENCE-of-limit, not usage-ratio proximity: an expired or
42
+ * unknown-reset window never blocks (the projection treats it as stale data).
43
+ *
44
+ * Model scope fails OPEN by construction: the projection matches by
45
+ * case-insensitive alias containment, so a vendor display label
46
+ * ("Gemini 3.7 Flash High") that cannot be proven to cover the routed slug
47
+ * ("grok-4.6" — or even an unprovable "gemini-3.7-flash") leaves the subject
48
+ * spendable rather than cooling every model on the account. A scoped window
49
+ * with NO model context blocks only when it declares it governs the
50
+ * unspecified-model route.
51
+ *
52
+ * The subject KEY includes `credential_route` (final-review fix): the
53
+ * native-session default and the managed-api-key default of one harness BOTH
54
+ * carry subject_id=null, so without the route an api_key cooldown would cool
55
+ * the subscription session (and vice versa). `subjectRoute` speaks the
56
+ * callers' vocabulary (`limitSubjectRoute`); `null` = honestly unknown route —
57
+ * fail open to the legacy any-route match rather than unblocking on a
58
+ * technicality (no current caller passes null).
59
+ */
60
+ export function profileQuotaBlock(snapshots, harnessId, profileId, subjectRoute, model, now) {
61
+ const wantRoute = subjectRoute === "local_session"
62
+ ? "vendor_native"
63
+ : subjectRoute === "api_key"
64
+ ? "managed_api_key"
65
+ : null;
66
+ for (const snapshot of snapshots) {
67
+ if (snapshot.subject.harness !== harnessId)
68
+ continue;
69
+ if ((snapshot.subject.subject_id ?? null) !== profileId)
70
+ continue;
71
+ if (wantRoute !== null && snapshot.subject.credential_route !== wantRoute)
72
+ continue;
73
+ const availability = quotaSnapshotAvailability(snapshot, { now, model: model ?? null });
74
+ if (availability.state === "available")
75
+ continue;
76
+ return {
77
+ blocked: true,
78
+ constraint_id: availability.blocking_constraints[0] ?? null,
79
+ resets_at: availability.resets_at,
80
+ kind: availability.state,
81
+ };
82
+ }
83
+ return null;
84
+ }
85
+ /** Rejection labels that keep a row a POOL MEMBER for the reset fold. The
86
+ * other labels (`not_ready`, `not_in_rotation_policy`,
87
+ * `credential_kind_mismatch`) mark identities rotation could never select, so
88
+ * their quota evidence must not shape the pool's reopen promise. */
89
+ const POOL_MEMBER_REJECTIONS = new Set([
90
+ "current",
91
+ "already_tried",
92
+ "headroom_exceeded",
93
+ "cooldown",
94
+ "not_selected",
95
+ ]);
96
+ /**
97
+ * Whether one exhaustion row is CREDENTIAL-LAYER EVIDENCE for the pool
98
+ * terminal's claim (final-review fix): the fold's member labels plus
99
+ * `credential_unusable` — a dead credential IS a pool member whose typed
100
+ * verdict is evidence, even though the reset fold excludes its windows (they
101
+ * promise no reopen). Rows naming identities rotation could never select
102
+ * (`not_ready`, `not_in_rotation_policy`, `credential_kind_mismatch`) never
103
+ * count: an api_key sibling's stale cooldown must not let a subscription
104
+ * subject's structural death terminalize as "the credential pool refused".
105
+ */
106
+ export function poolMemberEvidence(candidate) {
107
+ if (!POOL_MEMBER_REJECTIONS.has(candidate.rejected) &&
108
+ candidate.rejected !== "credential_unusable")
109
+ return false;
110
+ return (candidate.headroom !== null ||
111
+ candidate.cooldown !== null ||
112
+ (candidate.unusable ?? null) !== null);
113
+ }
114
+ /**
115
+ * The WHOLE pool refused, MACHINE-READABLY (A5).
116
+ *
117
+ * Mirrors `subscriptionWindowExhausted`'s reasoning: nothing malfunctioned —
118
+ * no credential in this harness's rotation pool can serve the run right now,
119
+ * which is exactly what `harness_unavailable` means. The message stays human;
120
+ * the machine reads `code` and `resetsAt`, which the run terminal lifts onto
121
+ * `final/failure.yaml` verbatim.
122
+ *
123
+ * `resetsAt` folds the EARLIEST known reset WITHIN the pool — the first
124
+ * instant any member reopens — including the current/default subject's own
125
+ * observed limit (`subjectLimit`, consulted only when no candidate row already
126
+ * carries the subject's evidence, and EXCLUDED entirely when the subject's
127
+ * credential itself was observed unusable: a dead credential's quota reset
128
+ * will never help, so it must not shape the pool's reopen promise). This is deliberately the opposite of the
129
+ * ACROSS-CANDIDATES rule (`unanimousDeclaredFailure` keeps the LATEST reset:
130
+ * every slot must reopen); here ONE reopened member is enough to retry. Same
131
+ * honesty rule as there: a limit-evidenced member with an UNKNOWN reset makes
132
+ * the pool's reset unknown — a partial answer is worse than none — while
133
+ * members rejected without limit evidence (e.g. structurally dead) never
134
+ * poison the fold.
135
+ */
136
+ export function credentialPoolExhausted(args) {
137
+ // A dead credential's quota windows promise no reopen: a row with a live
138
+ // `credential_unusable` verdict never joins the fold, whatever its label.
139
+ const members = args.candidates.filter((c) => POOL_MEMBER_REJECTIONS.has(c.rejected) &&
140
+ !c.unusable &&
141
+ (c.headroom !== null || c.cooldown !== null));
142
+ const limits = members.map((c) => c.headroom?.resets_at ?? c.cooldown?.resets_at ?? null);
143
+ // Same rule for the triggering subject: its own observed limit joins the
144
+ // fold only while its credential is not observed dead — the terminal must
145
+ // not promise the DEAD subject's reset as the instant the pool reopens.
146
+ if (args.subjectLimit &&
147
+ !args.subjectUnusable &&
148
+ !members.some((c) => c.profile_id === args.profileId)) {
149
+ limits.push(args.subjectLimit.resets_at);
150
+ }
151
+ const resetsAt = limits.length > 0 && limits.every((at) => at !== null)
152
+ ? limits.reduce((earliest, at) => (Date.parse(at) < Date.parse(earliest) ? at : earliest))
153
+ : null;
154
+ const subject = args.profileId ? `profile "${args.profileId}"` : "the default credentials";
155
+ return Object.assign(new Error(`credential pool exhausted for "${args.harnessId}": ${subject} hit ${args.reason === "structural_pre_progress_failure"
156
+ ? "a terminal pre-progress failure"
157
+ : "a vendor limit"} and none of ${args.candidates.length} registered candidate(s) can take over` +
158
+ (args.subjectUnusable
159
+ ? `; the subject's credential itself was observed unusable (${args.subjectUnusable.code})`
160
+ : "") +
161
+ (resetsAt ? `; earliest pool reset ${resetsAt}` : "")), {
162
+ code: "credential_pool_exhausted",
163
+ // Not `internal`: nothing malfunctioned. No account in the pool can
164
+ // serve this run until a window reopens (harness_unavailable).
165
+ category: "harness_unavailable",
166
+ resetsAt,
167
+ });
168
+ }
169
+ //# sourceMappingURL=credential-cooldown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential-cooldown.js","sourceRoot":"","sources":["../src/credential-cooldown.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * A7: the failure-triggered DIFFERENTIAL probe of the CURRENT credential
3
+ * subject, and the rotation-readiness composition that consumes its typed
4
+ * `credential_unusable` observations.
5
+ *
6
+ * When an attempt dies rotation-eligible, knowing "quota spent" (come back at
7
+ * reset — A4's cooldown evidence) apart from "credential dead" (a reset will
8
+ * never help — re-login or entitlement change required) is what stops the pool
9
+ * from burning attempts rediscovering the same dead credential. The probe is
10
+ * deliberately CHEAP: it re-reads evidence that already exists — the quota
11
+ * poller's authenticated vendor observations, the attempt's own typed
12
+ * non-retryable refusals, and the adapter's local doctor probe. It NEVER
13
+ * spawns a harness or spends quota: a config-dir login has no cheaper liveness
14
+ * test than spending quota on a mini-run, so building one would cost exactly
15
+ * what it measures (the credential-profiles design essay).
16
+ *
17
+ * Verdict precedence is evidence strength: a typed refusal the vendor just
18
+ * sent on THIS attempt's stream outranks the poller's last cycle, which
19
+ * outranks a local doctor probe. Quota evidence (cooldown/spent windows) is
20
+ * deliberately NOT a verdict here — that is A4's lane and needs no
21
+ * observation.
22
+ */
23
+ import type { CredentialProfile, CredentialProfileStatus, CredentialUnusableObservation } from "@claudexor/schema";
24
+ import { type ProfilePolicy } from "./credential-profile-rotation.js";
25
+ import { type VendorQuotaObservations } from "./credential-profiles.js";
26
+ import type { TransientFailureObservation } from "./transientClassify.js";
27
+ /**
28
+ * The differential verdict for ONE subject, from evidence that already exists.
29
+ * Returns a typed observation ONLY when the evidence distinguishes a dead
30
+ * credential from spent quota; "quota spent" and "inconclusive" both return
31
+ * null (rotation's cooldown/limit machinery already owns those).
32
+ */
33
+ export declare function differentialSubjectVerdict(args: {
34
+ harnessId: string;
35
+ /** The triggering subject: a pinned profile, or null for the default. */
36
+ profile: CredentialProfile | null;
37
+ model: string | null;
38
+ quota: VendorQuotaObservations;
39
+ /** THIS try's typed failure observations from the attempt stream. */
40
+ transients: readonly TransientFailureObservation[];
41
+ /** The adapter's local doctor probe, when it has one (profiles only). */
42
+ probe?: (profile: CredentialProfile) => Promise<CredentialProfileStatus>;
43
+ now?: Date;
44
+ }): Promise<CredentialUnusableObservation | null>;
45
+ /**
46
+ * Factory for the SIBLING probe `rotateSpecOnTypedLimit` fires next to its
47
+ * candidate-readiness probe (grok amendment: the current subject is
48
+ * structurally excluded from `staticRotationCandidates`, so it gets its own
49
+ * call, never a seat in the candidate list). Records the observation through
50
+ * the caller's sink when one is configured; the rotation module owns the run
51
+ * event.
52
+ */
53
+ export declare function currentSubjectProber(args: {
54
+ harnessId: string;
55
+ profile: CredentialProfile | null;
56
+ model: string | null;
57
+ quota: VendorQuotaObservations;
58
+ transients: readonly TransientFailureObservation[];
59
+ probe?: (profile: CredentialProfile) => Promise<CredentialProfileStatus>;
60
+ record?: (obs: CredentialUnusableObservation) => void;
61
+ }): () => Promise<CredentialUnusableObservation | null>;
62
+ /**
63
+ * Fresh profile readiness for one rotation decision epoch (hoisted from the
64
+ * orchestrator so the composition lives beside the probe it siblings).
65
+ * Accounts uses the same probe wrapper + vendor overlay + admission predicate
66
+ * when projecting next_up. A LIVE `credential_unusable` observation refuses a
67
+ * candidate at this SAME composition point (A7): rotating INTO a profile we
68
+ * observed dead would spend a whole attempt to rediscover the refusal.
69
+ */
70
+ export declare function readyProfilesForRotation(args: {
71
+ registry: readonly CredentialProfile[];
72
+ harnessId: string;
73
+ policy: ProfilePolicy;
74
+ current: Pick<CredentialProfile, "profile_id" | "credential_kind"> | null;
75
+ excluded?: ReadonlySet<string>;
76
+ probe?: (profile: CredentialProfile) => Promise<CredentialProfileStatus>;
77
+ quota: VendorQuotaObservations;
78
+ unusable?: readonly CredentialUnusableObservation[];
79
+ model?: string | null;
80
+ }): Promise<ReadonlySet<string>>;
81
+ //# sourceMappingURL=credential-differential.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential-differential.d.ts","sourceRoot":"","sources":["../src/credential-differential.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACvB,6BAA6B,EAC9B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAA4B,KAAK,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAChG,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AA+B1E;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAAC,IAAI,EAAE;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,uBAAuB,CAAC;IAC/B,qEAAqE;IACrE,UAAU,EAAE,SAAS,2BAA2B,EAAE,CAAC;IACnD,yEAAyE;IACzE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACzE,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ,GAAG,OAAO,CAAC,6BAA6B,GAAG,IAAI,CAAC,CAyChD;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,uBAAuB,CAAC;IAC/B,UAAU,EAAE,SAAS,2BAA2B,EAAE,CAAC;IACnD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACzE,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,6BAA6B,KAAK,IAAI,CAAC;CACvD,GAAG,MAAM,OAAO,CAAC,6BAA6B,GAAG,IAAI,CAAC,CAYtD;AAED;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAAC,IAAI,EAAE;IACnD,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,YAAY,GAAG,iBAAiB,CAAC,GAAG,IAAI,CAAC;IAC1E,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACzE,KAAK,EAAE,uBAAuB,CAAC;IAC/B,QAAQ,CAAC,EAAE,SAAS,6BAA6B,EAAE,CAAC;IACpD,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CA6B/B"}