@claudexor/orchestrator 3.5.0 → 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.
- package/dist/account-pool.d.ts +62 -0
- package/dist/account-pool.d.ts.map +1 -0
- package/dist/account-pool.js +103 -0
- package/dist/account-pool.js.map +1 -0
- package/dist/account-resolution.d.ts +85 -0
- package/dist/account-resolution.d.ts.map +1 -0
- package/dist/account-resolution.js +320 -0
- package/dist/account-resolution.js.map +1 -0
- package/dist/attemptOutputMarkers.d.ts +30 -0
- package/dist/attemptOutputMarkers.d.ts.map +1 -0
- package/dist/attemptOutputMarkers.js +31 -0
- package/dist/attemptOutputMarkers.js.map +1 -0
- package/dist/attemptTelemetry.d.ts +5 -4
- package/dist/attemptTelemetry.d.ts.map +1 -1
- package/dist/attemptTelemetry.js +4 -2
- package/dist/attemptTelemetry.js.map +1 -1
- package/dist/credential-cooldown.d.ts +131 -0
- package/dist/credential-cooldown.d.ts.map +1 -0
- package/dist/credential-cooldown.js +169 -0
- package/dist/credential-cooldown.js.map +1 -0
- package/dist/credential-differential.d.ts +81 -0
- package/dist/credential-differential.d.ts.map +1 -0
- package/dist/credential-differential.js +110 -0
- package/dist/credential-differential.js.map +1 -0
- package/dist/credential-preflight.d.ts +36 -0
- package/dist/credential-preflight.d.ts.map +1 -0
- package/dist/credential-preflight.js +78 -0
- package/dist/credential-preflight.js.map +1 -0
- package/dist/credential-profile-rotation.d.ts +80 -54
- package/dist/credential-profile-rotation.d.ts.map +1 -1
- package/dist/credential-profile-rotation.js +191 -163
- package/dist/credential-profile-rotation.js.map +1 -1
- package/dist/credential-profiles.d.ts +3 -49
- package/dist/credential-profiles.d.ts.map +1 -1
- package/dist/credential-profiles.js +2 -46
- package/dist/credential-profiles.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/laneStreamEvents.d.ts +54 -0
- package/dist/laneStreamEvents.d.ts.map +1 -0
- package/dist/laneStreamEvents.js +81 -0
- package/dist/laneStreamEvents.js.map +1 -0
- package/dist/orchestrator-credentials.d.ts +93 -0
- package/dist/orchestrator-credentials.d.ts.map +1 -0
- package/dist/orchestrator-credentials.js +156 -0
- package/dist/orchestrator-credentials.js.map +1 -0
- package/dist/orchestrator.d.ts +17 -30
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +278 -324
- package/dist/orchestrator.js.map +1 -1
- package/dist/rotation-predicate.d.ts +71 -0
- package/dist/rotation-predicate.d.ts.map +1 -0
- package/dist/rotation-predicate.js +29 -0
- package/dist/rotation-predicate.js.map +1 -0
- 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
|
|
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
|
|
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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"}
|
package/dist/attemptTelemetry.js
CHANGED
|
@@ -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 (
|
|
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"}
|