@claudexor/orchestrator 5.0.1 → 5.1.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-evidence.d.ts +7 -0
- package/dist/account-evidence.d.ts.map +1 -1
- package/dist/account-evidence.js +12 -0
- package/dist/account-evidence.js.map +1 -1
- package/dist/account-pool.d.ts +4 -0
- package/dist/account-pool.d.ts.map +1 -1
- package/dist/account-pool.js +8 -1
- package/dist/account-pool.js.map +1 -1
- package/dist/account-resolution.d.ts.map +1 -1
- package/dist/account-resolution.js +7 -5
- package/dist/account-resolution.js.map +1 -1
- package/dist/attemptFinalize.d.ts +22 -7
- package/dist/attemptFinalize.d.ts.map +1 -1
- package/dist/attemptFinalize.js +29 -7
- package/dist/attemptFinalize.js.map +1 -1
- package/dist/attemptTelemetry.d.ts +19 -18
- package/dist/attemptTelemetry.d.ts.map +1 -1
- package/dist/attemptTelemetry.js +32 -79
- package/dist/attemptTelemetry.js.map +1 -1
- package/dist/attemptUsage.d.ts.map +1 -1
- package/dist/attemptUsage.js +6 -14
- package/dist/attemptUsage.js.map +1 -1
- package/dist/attemptUsageCost.d.ts +11 -2
- package/dist/attemptUsageCost.d.ts.map +1 -1
- package/dist/attemptUsageCost.js +16 -3
- package/dist/attemptUsageCost.js.map +1 -1
- package/dist/candidateEvidence.d.ts +42 -8
- package/dist/candidateEvidence.d.ts.map +1 -1
- package/dist/candidateEvidence.js +75 -16
- package/dist/candidateEvidence.js.map +1 -1
- package/dist/candidateReview.d.ts.map +1 -1
- package/dist/candidateReview.js +4 -2
- package/dist/candidateReview.js.map +1 -1
- package/dist/candidateTerminals.d.ts +10 -0
- package/dist/candidateTerminals.d.ts.map +1 -1
- package/dist/candidateTerminals.js +55 -11
- package/dist/candidateTerminals.js.map +1 -1
- package/dist/captureRefusal.d.ts +14 -4
- package/dist/captureRefusal.d.ts.map +1 -1
- package/dist/captureRefusal.js +64 -27
- package/dist/captureRefusal.js.map +1 -1
- package/dist/carrier-planner.d.ts +5 -2
- package/dist/carrier-planner.d.ts.map +1 -1
- package/dist/carrier-planner.js +6 -3
- package/dist/carrier-planner.js.map +1 -1
- package/dist/command-telemetry.d.ts +15 -0
- package/dist/command-telemetry.d.ts.map +1 -0
- package/dist/command-telemetry.js +27 -0
- package/dist/command-telemetry.js.map +1 -0
- package/dist/continuation-custody.d.ts.map +1 -1
- package/dist/continuation-custody.js +3 -1
- package/dist/continuation-custody.js.map +1 -1
- package/dist/continuation-evidence-io.d.ts +13 -3
- package/dist/continuation-evidence-io.d.ts.map +1 -1
- package/dist/continuation-evidence-io.js +36 -4
- package/dist/continuation-evidence-io.js.map +1 -1
- package/dist/continuation-evidence.d.ts +13 -2
- package/dist/continuation-evidence.d.ts.map +1 -1
- package/dist/continuation-evidence.js +23 -4
- package/dist/continuation-evidence.js.map +1 -1
- package/dist/continuation-later.d.ts.map +1 -1
- package/dist/continuation-later.js +6 -6
- package/dist/continuation-later.js.map +1 -1
- package/dist/continuity-facts.d.ts +25 -1
- package/dist/continuity-facts.d.ts.map +1 -1
- package/dist/continuity-facts.js +71 -4
- package/dist/continuity-facts.js.map +1 -1
- package/dist/continuity-notice.d.ts.map +1 -1
- package/dist/continuity-notice.js +2 -1
- package/dist/continuity-notice.js.map +1 -1
- package/dist/continuity-summary.d.ts +4 -1
- package/dist/continuity-summary.d.ts.map +1 -1
- package/dist/continuity-summary.js +30 -12
- package/dist/continuity-summary.js.map +1 -1
- package/dist/continuity.d.ts +36 -8
- package/dist/continuity.d.ts.map +1 -1
- package/dist/continuity.js +96 -21
- package/dist/continuity.js.map +1 -1
- package/dist/credential-cooldown.d.ts +7 -0
- package/dist/credential-cooldown.d.ts.map +1 -1
- package/dist/credential-cooldown.js +31 -5
- package/dist/credential-cooldown.js.map +1 -1
- package/dist/credential-differential.d.ts +15 -1
- package/dist/credential-differential.d.ts.map +1 -1
- package/dist/credential-differential.js +32 -17
- package/dist/credential-differential.js.map +1 -1
- package/dist/credential-execution.d.ts.map +1 -1
- package/dist/credential-execution.js +14 -15
- package/dist/credential-execution.js.map +1 -1
- package/dist/credential-preflight.js +1 -1
- package/dist/credential-preflight.js.map +1 -1
- package/dist/credential-profile-rotation.d.ts +1 -0
- package/dist/credential-profile-rotation.d.ts.map +1 -1
- package/dist/credential-profile-rotation.js +1 -1
- package/dist/credential-profile-rotation.js.map +1 -1
- package/dist/deepScanReducer.d.ts.map +1 -1
- package/dist/deepScanReducer.js +8 -18
- package/dist/deepScanReducer.js.map +1 -1
- package/dist/delegatedHome.d.ts +6 -4
- package/dist/delegatedHome.d.ts.map +1 -1
- package/dist/delegatedHome.js.map +1 -1
- package/dist/delegationFailure.d.ts +75 -14
- package/dist/delegationFailure.d.ts.map +1 -1
- package/dist/delegationFailure.js +38 -9
- package/dist/delegationFailure.js.map +1 -1
- package/dist/directoryCandidate.d.ts +10 -0
- package/dist/directoryCandidate.d.ts.map +1 -1
- package/dist/directoryCandidate.js +59 -9
- package/dist/directoryCandidate.js.map +1 -1
- package/dist/harnessFailure.d.ts +6 -5
- package/dist/harnessFailure.d.ts.map +1 -1
- package/dist/harnessFailure.js +7 -6
- package/dist/harnessFailure.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/inrun-continuity-carrier.d.ts +4 -1
- package/dist/inrun-continuity-carrier.d.ts.map +1 -1
- package/dist/inrun-continuity-carrier.js +2 -0
- package/dist/inrun-continuity-carrier.js.map +1 -1
- package/dist/inrun-continuity.d.ts +2 -2
- package/dist/inrun-continuity.d.ts.map +1 -1
- package/dist/inrun-continuity.js +22 -19
- package/dist/inrun-continuity.js.map +1 -1
- package/dist/inrun-retained-output.d.ts +18 -4
- package/dist/inrun-retained-output.d.ts.map +1 -1
- package/dist/inrun-retained-output.js +39 -8
- package/dist/inrun-retained-output.js.map +1 -1
- package/dist/laneStreamEvents.d.ts +9 -10
- package/dist/laneStreamEvents.d.ts.map +1 -1
- package/dist/laneStreamEvents.js +21 -7
- package/dist/laneStreamEvents.js.map +1 -1
- package/dist/modelGovernance.d.ts +10 -4
- package/dist/modelGovernance.d.ts.map +1 -1
- package/dist/modelGovernance.js +21 -1
- package/dist/modelGovernance.js.map +1 -1
- package/dist/native-retry-telemetry.d.ts +4 -1
- package/dist/native-retry-telemetry.d.ts.map +1 -1
- package/dist/native-retry-telemetry.js +6 -1
- package/dist/native-retry-telemetry.js.map +1 -1
- package/dist/orchestrator.d.ts +10 -2
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +137 -156
- package/dist/orchestrator.js.map +1 -1
- package/dist/planRun.js +4 -4
- package/dist/planRun.js.map +1 -1
- package/dist/plannerAttempt.d.ts +1 -0
- package/dist/plannerAttempt.d.ts.map +1 -1
- package/dist/plannerAttempt.js +14 -19
- package/dist/plannerAttempt.js.map +1 -1
- package/dist/pool-attempt-evidence.d.ts +3 -1
- package/dist/pool-attempt-evidence.d.ts.map +1 -1
- package/dist/pool-attempt-evidence.js +16 -3
- package/dist/pool-attempt-evidence.js.map +1 -1
- package/dist/quota-refusal-scope.d.ts +1 -0
- package/dist/quota-refusal-scope.d.ts.map +1 -1
- package/dist/quota-refusal-scope.js +29 -1
- package/dist/quota-refusal-scope.js.map +1 -1
- package/dist/rawPatchLane.d.ts +42 -0
- package/dist/rawPatchLane.d.ts.map +1 -0
- package/dist/rawPatchLane.js +79 -0
- package/dist/rawPatchLane.js.map +1 -0
- package/dist/readonlyTerminals.d.ts +0 -3
- package/dist/readonlyTerminals.d.ts.map +1 -1
- package/dist/readonlyTerminals.js +30 -10
- package/dist/readonlyTerminals.js.map +1 -1
- package/dist/requestRequirements.d.ts +5 -4
- package/dist/requestRequirements.d.ts.map +1 -1
- package/dist/requestRequirements.js +6 -5
- package/dist/requestRequirements.js.map +1 -1
- package/dist/retainedOutput.d.ts +19 -2
- package/dist/retainedOutput.d.ts.map +1 -1
- package/dist/retainedOutput.js +83 -12
- package/dist/retainedOutput.js.map +1 -1
- package/dist/reviewerInventory.d.ts +2 -8
- package/dist/reviewerInventory.d.ts.map +1 -1
- package/dist/reviewerInventory.js +2 -3
- package/dist/reviewerInventory.js.map +1 -1
- package/dist/reviewerPanel.d.ts +1 -1
- package/dist/reviewerPanel.d.ts.map +1 -1
- package/dist/reviewerPanel.js +9 -4
- package/dist/reviewerPanel.js.map +1 -1
- package/dist/route-admission.d.ts.map +1 -1
- package/dist/route-admission.js +3 -1
- package/dist/route-admission.js.map +1 -1
- package/dist/routeControls.d.ts +32 -0
- package/dist/routeControls.d.ts.map +1 -0
- package/dist/routeControls.js +47 -0
- package/dist/routeControls.js.map +1 -0
- package/dist/run-input-resolution.d.ts +5 -0
- package/dist/run-input-resolution.d.ts.map +1 -1
- package/dist/run-input-resolution.js +12 -6
- package/dist/run-input-resolution.js.map +1 -1
- package/dist/run-runtime-root.d.ts +16 -0
- package/dist/run-runtime-root.d.ts.map +1 -0
- package/dist/run-runtime-root.js +16 -0
- package/dist/run-runtime-root.js.map +1 -0
- package/dist/runAdmission.d.ts.map +1 -1
- package/dist/runAdmission.js +2 -1
- package/dist/runAdmission.js.map +1 -1
- package/dist/runEventLog.d.ts +2 -1
- package/dist/runEventLog.d.ts.map +1 -1
- package/dist/runEventLog.js +3 -1
- package/dist/runEventLog.js.map +1 -1
- package/dist/runFacts.d.ts +5 -2
- package/dist/runFacts.d.ts.map +1 -1
- package/dist/runFacts.js +11 -11
- package/dist/runFacts.js.map +1 -1
- package/dist/runScope.d.ts +2 -0
- package/dist/runScope.d.ts.map +1 -1
- package/dist/runScope.js +3 -2
- package/dist/runScope.js.map +1 -1
- package/dist/runSupport.d.ts +3 -1
- package/dist/runSupport.d.ts.map +1 -1
- package/dist/runSupport.js +3 -1
- package/dist/runSupport.js.map +1 -1
- package/dist/runTelemetryWriter.d.ts +18 -5
- package/dist/runTelemetryWriter.d.ts.map +1 -1
- package/dist/runTelemetryWriter.js +7 -2
- package/dist/runTelemetryWriter.js.map +1 -1
- package/dist/runTerminalResults.d.ts.map +1 -1
- package/dist/runTerminalResults.js +22 -7
- package/dist/runTerminalResults.js.map +1 -1
- package/dist/runTerminals.d.ts.map +1 -1
- package/dist/runTerminals.js +19 -8
- package/dist/runTerminals.js.map +1 -1
- package/dist/secretDiff.d.ts.map +1 -1
- package/dist/secretDiff.js +2 -1
- package/dist/secretDiff.js.map +1 -1
- package/dist/transientClassify.d.ts +17 -9
- package/dist/transientClassify.d.ts.map +1 -1
- package/dist/transientClassify.js +33 -9
- package/dist/transientClassify.js.map +1 -1
- package/dist/webEvidence.d.ts +41 -0
- package/dist/webEvidence.d.ts.map +1 -0
- package/dist/webEvidence.js +99 -0
- package/dist/webEvidence.js.map +1 -0
- package/dist/workReportEnvelope.d.ts +12 -0
- package/dist/workReportEnvelope.d.ts.map +1 -1
- package/dist/workReportEnvelope.js +19 -0
- package/dist/workReportEnvelope.js.map +1 -1
- package/package.json +17 -17
- package/dist/continuation-chain.test-support.d.ts +0 -473
- package/dist/continuation-chain.test-support.d.ts.map +0 -1
- package/dist/continuation-chain.test-support.js +0 -206
- package/dist/continuation-chain.test-support.js.map +0 -1
- package/dist/inrun-continuity.test-support.d.ts +0 -504
- package/dist/inrun-continuity.test-support.d.ts.map +0 -1
- package/dist/inrun-continuity.test-support.js +0 -212
- package/dist/inrun-continuity.test-support.js.map +0 -1
package/dist/continuity.js
CHANGED
|
@@ -12,11 +12,12 @@
|
|
|
12
12
|
* collapsed one-liners with real prose: the caller runs `planContinuation` to
|
|
13
13
|
* learn which older turns would collapse (and their boundary turn id — the
|
|
14
14
|
* summary cache key), resolves a summary for that prefix (cache hit or a bounded
|
|
15
|
-
* inline summarization pass), and passes it back as `cachedSummary`.
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* was
|
|
15
|
+
* inline summarization pass), and passes it back as `cachedSummary`. A collapsed
|
|
16
|
+
* turn without a final answer keeps its one-liner beside the summary, whatever
|
|
17
|
+
* the prose says (#405). The mechanical one-liner collapse is ALWAYS the
|
|
18
|
+
* fallback, so a missing/failed summary never loses information. Either way
|
|
19
|
+
* `summarized` stays true (the verbatim prefix was condensed); the packet text
|
|
20
|
+
* itself discloses which form was used.
|
|
20
21
|
*
|
|
21
22
|
* This module takes fully-resolved structured data (the daemon supplies thread
|
|
22
23
|
* facts; the orchestrator reads prior outputs + git anchor) and returns the
|
|
@@ -26,13 +27,28 @@
|
|
|
26
27
|
export const PER_TURN_BUDGET_BYTES = 8 * 1024;
|
|
27
28
|
/** Whole-packet verbatim budget; older turns collapse past this. */
|
|
28
29
|
export const TOTAL_BUDGET_BYTES = 24 * 1024;
|
|
29
|
-
/**
|
|
30
|
+
/**
|
|
31
|
+
* One-line collapsed entry keeps up to this many UTF-16 code units of each
|
|
32
|
+
* field; a cut ends on a whole character and adds "…" outside the allowance.
|
|
33
|
+
*/
|
|
30
34
|
export const COLLAPSE_PREFIX_CHARS = 200;
|
|
35
|
+
const NO_FINAL_ANSWER = {
|
|
36
|
+
ended: { lead: "The turn ended without a final answer.", note: "ended without a final answer" },
|
|
37
|
+
unknown: {
|
|
38
|
+
lead: "No final answer is recorded for this turn, and its outcome could not be read.",
|
|
39
|
+
note: "no final answer recorded; outcome could not be read",
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
/** How a turn without a final answer is described (`lead` sentence, short `note`);
|
|
43
|
+
* null for an answered turn. */
|
|
44
|
+
export function noFinalAnswerText(turn) {
|
|
45
|
+
return turn.noFinalAnswer ? NO_FINAL_ANSWER[turn.noFinalAnswer] : null;
|
|
46
|
+
}
|
|
31
47
|
function bytes(text) {
|
|
32
48
|
return Buffer.byteLength(text, "utf8");
|
|
33
49
|
}
|
|
34
|
-
/** Truncate to at most `maxBytes` UTF-8 bytes on a safe char boundary
|
|
35
|
-
function boundBytes(text, maxBytes) {
|
|
50
|
+
/** Truncate to at most `maxBytes` UTF-8 bytes on a safe char boundary; a cut ends with `mark`. */
|
|
51
|
+
function boundBytes(text, maxBytes, mark = "\n…[truncated]") {
|
|
36
52
|
if (bytes(text) <= maxBytes)
|
|
37
53
|
return text;
|
|
38
54
|
// Buffer slice can split a multi-byte scalar; back off a few bytes until valid.
|
|
@@ -40,21 +56,60 @@ function boundBytes(text, maxBytes) {
|
|
|
40
56
|
for (let trim = 0; trim <= 3 && trim <= buf.length; trim += 1) {
|
|
41
57
|
try {
|
|
42
58
|
const decoded = new TextDecoder("utf-8", { fatal: true }).decode(trim === 0 ? buf : buf.subarray(0, buf.length - trim));
|
|
43
|
-
return `${decoded}
|
|
59
|
+
return `${decoded}${mark}`;
|
|
44
60
|
}
|
|
45
61
|
catch {
|
|
46
62
|
/* prefix ended inside a scalar; back off */
|
|
47
63
|
}
|
|
48
64
|
}
|
|
49
|
-
return `${buf.toString("utf8")}
|
|
65
|
+
return `${buf.toString("utf8")}${mark}`;
|
|
66
|
+
}
|
|
67
|
+
/** The longest end of `text` within `maxBytes` UTF-8 bytes, starting on a whole character. */
|
|
68
|
+
export function tailBytes(text, maxBytes) {
|
|
69
|
+
const buf = Buffer.from(text, "utf8");
|
|
70
|
+
let start = Math.max(0, buf.length - maxBytes);
|
|
71
|
+
// A continuation byte (10xxxxxx) lies inside a character: start after it.
|
|
72
|
+
while (start < buf.length && (buf[start] & 0xc0) === 0x80)
|
|
73
|
+
start += 1;
|
|
74
|
+
return buf.subarray(start).toString("utf8");
|
|
50
75
|
}
|
|
51
|
-
|
|
76
|
+
/**
|
|
77
|
+
* A verbatim entry's output within `maxBytes` (#405). An answer keeps its
|
|
78
|
+
* start. A turn without a final answer keeps its end, where its newest
|
|
79
|
+
* recorded output is (its retained file opens with a fixed preamble). The cut
|
|
80
|
+
* mark sits outside the allowance and names the file holding the whole output.
|
|
81
|
+
*/
|
|
82
|
+
function boundOutput(turn, maxBytes) {
|
|
83
|
+
const text = turn.outputText.trim();
|
|
84
|
+
const whole = turn.outputSource
|
|
85
|
+
? `; the whole output is ${bytes(text)} bytes, complete in ${turn.outputSource}`
|
|
86
|
+
: "";
|
|
87
|
+
if (!turn.noFinalAnswer)
|
|
88
|
+
return boundBytes(text, maxBytes, `\n…[truncated${whole}]`);
|
|
89
|
+
if (bytes(text) <= maxBytes)
|
|
90
|
+
return text;
|
|
91
|
+
return `[earlier output truncated${whole}]\n…${tailBytes(text, maxBytes)}`;
|
|
92
|
+
}
|
|
93
|
+
/** One line of at most COLLAPSE_PREFIX_CHARS UTF-16 units: the start of `text`,
|
|
94
|
+
* or its end when `keepEnd`. A cut is marked "…" outside the allowance and
|
|
95
|
+
* names `source`, the file holding the whole text, when given. */
|
|
96
|
+
function oneLine(text, keepEnd = false, source) {
|
|
52
97
|
const flat = text.replace(/\s+/g, " ").trim();
|
|
53
|
-
|
|
98
|
+
if (flat.length <= COLLAPSE_PREFIX_CHARS)
|
|
99
|
+
return flat;
|
|
100
|
+
const whole = source ? ` (whole output: ${source})` : "";
|
|
101
|
+
// A cut between a surrogate pair's halves would leave a lone surrogate, which
|
|
102
|
+
// becomes U+FFFD in THREAD.md; drop that character whole instead (#577).
|
|
103
|
+
if (keepEnd) {
|
|
104
|
+
const tail = flat.slice(-COLLAPSE_PREFIX_CHARS);
|
|
105
|
+
return `…${/^\p{Surrogate}/u.test(tail) ? tail.slice(1) : tail}${whole}`;
|
|
106
|
+
}
|
|
107
|
+
const head = flat.slice(0, COLLAPSE_PREFIX_CHARS);
|
|
108
|
+
return `${/\p{Surrogate}$/u.test(head) ? head.slice(0, -1) : head}…${whole}`;
|
|
54
109
|
}
|
|
55
110
|
/** Delta turns for this lane: everything AFTER the checkpoint (all prior when
|
|
56
111
|
* the lane never ran / has no reachable native session to trust). */
|
|
57
|
-
function deltaTurns(req) {
|
|
112
|
+
export function deltaTurns(req) {
|
|
58
113
|
// Without a reachable native session the lane starts blank — carry the whole
|
|
59
114
|
// prior conversation regardless of any stale checkpoint.
|
|
60
115
|
if (!req.nativeResumeAvailable)
|
|
@@ -68,14 +123,23 @@ function deltaTurns(req) {
|
|
|
68
123
|
function verbatimEntry(turn, index) {
|
|
69
124
|
const prompt = boundBytes(turn.prompt.trim(), PER_TURN_BUDGET_BYTES / 2);
|
|
70
125
|
const output = turn.outputText.trim()
|
|
71
|
-
?
|
|
126
|
+
? boundOutput(turn, PER_TURN_BUDGET_BYTES / 2)
|
|
72
127
|
: "_(no recorded output)_";
|
|
73
|
-
|
|
128
|
+
const missing = noFinalAnswerText(turn);
|
|
129
|
+
const said = missing
|
|
130
|
+
? `**${missing.lead} The assistant's recorded output (not a completion verdict):**`
|
|
131
|
+
: "**The assistant answered:**";
|
|
132
|
+
return `### Turn ${index + 1}\n\n**User asked:**\n\n${prompt}\n\n${said}\n\n${output}\n`;
|
|
74
133
|
}
|
|
75
134
|
function collapsedEntry(turn, index) {
|
|
76
135
|
const prompt = oneLine(turn.prompt) || "(empty)";
|
|
77
|
-
const
|
|
78
|
-
|
|
136
|
+
const missing = noFinalAnswerText(turn);
|
|
137
|
+
// An unfinished turn's line keeps the end of its output and names the file (#405).
|
|
138
|
+
const output = turn.outputText.trim()
|
|
139
|
+
? oneLine(turn.outputText, missing !== null, missing ? turn.outputSource : undefined)
|
|
140
|
+
: "(no recorded output)";
|
|
141
|
+
const speaker = missing ? `assistant (${missing.note})` : "assistant";
|
|
142
|
+
return `- Turn ${index + 1} — user: ${prompt} · ${speaker}: ${output}`;
|
|
79
143
|
}
|
|
80
144
|
/**
|
|
81
145
|
* How many of the OLDEST delta turns collapse to one-liners: grow the collapsed
|
|
@@ -96,9 +160,11 @@ function collapseCount(delta) {
|
|
|
96
160
|
/**
|
|
97
161
|
* Assemble the packet body from delta turns, collapsing the OLDEST turns while
|
|
98
162
|
* the verbatim total exceeds the budget. When a `summary` covering the collapse
|
|
99
|
-
* boundary is supplied it REPLACES the one-liners with real prose
|
|
100
|
-
*
|
|
101
|
-
*
|
|
163
|
+
* boundary is supplied it REPLACES the one-liners with real prose, except those
|
|
164
|
+
* of turns without a final answer: generated or cached prose may omit their
|
|
165
|
+
* output and never names its file, so their lines follow the summary (#405).
|
|
166
|
+
* Otherwise the mechanical one-liner collapse renders (always works). Returns
|
|
167
|
+
* the body and whether any collapse happened (`summarized`).
|
|
102
168
|
*/
|
|
103
169
|
function renderPacket(delta, activePlan, anchor, summary) {
|
|
104
170
|
const collapsedCount = collapseCount(delta);
|
|
@@ -119,7 +185,16 @@ function renderPacket(delta, activePlan, anchor, summary) {
|
|
|
119
185
|
: "> The older turns are condensed to one-line entries below (a cached conversation summary was unavailable for this turn). The most recent turns are verbatim.", "");
|
|
120
186
|
}
|
|
121
187
|
if (usableSummary) {
|
|
122
|
-
parts.push("## Earlier conversation (summary)", "", usableSummary.text.trim(), ""
|
|
188
|
+
parts.push("## Earlier conversation (summary)", "", usableSummary.text.trim(), "");
|
|
189
|
+
const unfinished = [];
|
|
190
|
+
for (let i = 0; i < collapsedCount; i += 1) {
|
|
191
|
+
if (delta[i].noFinalAnswer)
|
|
192
|
+
unfinished.push(collapsedEntry(delta[i], i));
|
|
193
|
+
}
|
|
194
|
+
if (unfinished.length > 0) {
|
|
195
|
+
parts.push("Recorded output of the summarized turns that have no final answer (not a completion verdict):", "", ...unfinished, "");
|
|
196
|
+
}
|
|
197
|
+
parts.push("## Recent turns", "");
|
|
123
198
|
for (let i = collapsedCount; i < delta.length; i += 1) {
|
|
124
199
|
parts.push(verbatimEntry(delta[i], i));
|
|
125
200
|
}
|
package/dist/continuity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"continuity.js","sourceRoot":"","sources":["../src/continuity.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"continuity.js","sourceRoot":"","sources":["../src/continuity.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,13 @@ import type { CredentialUnusableObservation, QuotaSnapshot } from "@claudexor/sc
|
|
|
10
10
|
export interface QuotaBlock {
|
|
11
11
|
blocked: true;
|
|
12
12
|
constraint_id: string | null;
|
|
13
|
+
/** Null while a usage refusal with no reopening time is active (#558): no
|
|
14
|
+
* time is known for the account, whatever its cooldown or other windows say. */
|
|
13
15
|
resets_at: string | null;
|
|
16
|
+
/** Set only for that refusal: no reader may present it as a window a timer heals. */
|
|
17
|
+
reopening?: "unknown";
|
|
18
|
+
/** That refusal's bounded engine cooldown end: a recheck instant, never a reset. */
|
|
19
|
+
recheck_at?: string;
|
|
14
20
|
kind: "exhausted" | "cooldown";
|
|
15
21
|
}
|
|
16
22
|
/**
|
|
@@ -62,6 +68,7 @@ export interface PoolExhaustionCandidate {
|
|
|
62
68
|
} | null;
|
|
63
69
|
cooldown: {
|
|
64
70
|
resets_at: string | null;
|
|
71
|
+
reopening?: "unknown";
|
|
65
72
|
} | null;
|
|
66
73
|
/** A7: a live `credential_unusable` verdict about this row's credential —
|
|
67
74
|
* dead-credential evidence for the terminal's claim, and an exclusion from
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-cooldown.d.ts","sourceRoot":"","sources":["../src/credential-cooldown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,6BAA6B,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"credential-cooldown.d.ts","sourceRoot":"","sources":["../src/credential-cooldown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,6BAA6B,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAOtF;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,IAAI,CAAC;IACd,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;oFACgF;IAChF,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,qFAAqF;IACrF,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,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,EACV,WAAW,CAAC,EAAE,gBAAgB,GAC7B,UAAU,GAAG,IAAI,CAyDnB;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,CAAC;QAAC,SAAS,CAAC,EAAE,SAAS,CAAA;KAAE,GAAG,IAAI,CAAC;IACrE;;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,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,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,CA4FR"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ControlProblem, quotaSnapshotAvailability } from "@claudexor/schema";
|
|
1
|
+
import { ControlProblem, REOPENING_UNKNOWN_COOLDOWN_ID, quotaSnapshotAvailability, } from "@claudexor/schema";
|
|
2
2
|
/**
|
|
3
3
|
* Does any observed quota window BLOCK this subject right now?
|
|
4
4
|
*
|
|
@@ -39,6 +39,7 @@ export function profileQuotaBlock(snapshots, harnessId, profileId, subjectRoute,
|
|
|
39
39
|
: subjectRoute === "api_key"
|
|
40
40
|
? "managed_api_key"
|
|
41
41
|
: null;
|
|
42
|
+
let dated = null;
|
|
42
43
|
for (const snapshot of snapshots) {
|
|
43
44
|
if (snapshot.subject.harness !== harnessId)
|
|
44
45
|
continue;
|
|
@@ -50,6 +51,25 @@ export function profileQuotaBlock(snapshots, harnessId, profileId, subjectRoute,
|
|
|
50
51
|
const availability = quotaSnapshotAvailability(snapshot, opts);
|
|
51
52
|
if (availability.state === "available")
|
|
52
53
|
continue;
|
|
54
|
+
// #558: an active, applicable usage refusal with no reopening time decides
|
|
55
|
+
// the account's verdict whatever else blocks it. Another window's date
|
|
56
|
+
// keeps its meaning for that window only and promises nothing about the
|
|
57
|
+
// account; the refusal's own cooldown end is a recheck, never a reset.
|
|
58
|
+
const refusal = snapshot.constraints.find((constraint) => constraint.id === REOPENING_UNKNOWN_COOLDOWN_ID &&
|
|
59
|
+
availability.blocking_constraints.includes(constraint.id));
|
|
60
|
+
if (refusal) {
|
|
61
|
+
const recheck = quotaSnapshotAvailability({ constraints: [refusal] }, opts).resets_at;
|
|
62
|
+
return {
|
|
63
|
+
blocked: true,
|
|
64
|
+
constraint_id: refusal.id,
|
|
65
|
+
resets_at: null,
|
|
66
|
+
reopening: "unknown",
|
|
67
|
+
...(recheck ? { recheck_at: recheck } : {}),
|
|
68
|
+
kind: "cooldown",
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
if (dated)
|
|
72
|
+
continue;
|
|
53
73
|
// One snapshot may block on several windows. Report the window whose own
|
|
54
74
|
// release is the projection's earliest recheck instant, with that window's
|
|
55
75
|
// kind, so id, kind and reset never come from different windows.
|
|
@@ -60,7 +80,7 @@ export function profileQuotaBlock(snapshots, harnessId, profileId, subjectRoute,
|
|
|
60
80
|
own: quotaSnapshotAvailability({ constraints: [constraint] }, opts),
|
|
61
81
|
}))
|
|
62
82
|
.find(({ own }) => own.resets_at === availability.resets_at);
|
|
63
|
-
|
|
83
|
+
dated = {
|
|
64
84
|
blocked: true,
|
|
65
85
|
constraint_id: controlling?.id ?? availability.blocking_constraints[0] ?? null,
|
|
66
86
|
resets_at: availability.resets_at,
|
|
@@ -69,7 +89,7 @@ export function profileQuotaBlock(snapshots, harnessId, profileId, subjectRoute,
|
|
|
69
89
|
: availability.state,
|
|
70
90
|
};
|
|
71
91
|
}
|
|
72
|
-
return
|
|
92
|
+
return dated;
|
|
73
93
|
}
|
|
74
94
|
/** Rejection labels that keep a row a POOL MEMBER for the reset fold. The
|
|
75
95
|
* other labels (`not_ready`, `not_in_rotation_policy`,
|
|
@@ -128,7 +148,11 @@ export function credentialPoolExhausted(args) {
|
|
|
128
148
|
const members = args.candidates.filter((c) => POOL_MEMBER_REJECTIONS.has(c.rejected) &&
|
|
129
149
|
!c.unusable &&
|
|
130
150
|
(c.headroom !== null || c.cooldown !== null));
|
|
131
|
-
|
|
151
|
+
// A member refused with no known reopening (#558) promises no instant, whatever
|
|
152
|
+
// else it reports: one such member leaves the pool's reset unknown.
|
|
153
|
+
const limits = members.map((c) => c.cooldown?.reopening === "unknown"
|
|
154
|
+
? null
|
|
155
|
+
: (c.headroom?.resets_at ?? c.cooldown?.resets_at ?? null));
|
|
132
156
|
// Same rule for the triggering subject: its own observed limit joins the
|
|
133
157
|
// fold only while its credential is not observed dead — the terminal must
|
|
134
158
|
// not promise the DEAD subject's reset as the instant the pool reopens.
|
|
@@ -155,7 +179,9 @@ export function credentialPoolExhausted(args) {
|
|
|
155
179
|
? "auth"
|
|
156
180
|
: !candidate.unusable &&
|
|
157
181
|
POOL_MEMBER_REJECTIONS.has(candidate.rejected) &&
|
|
158
|
-
(candidate.headroom || candidate.cooldown)
|
|
182
|
+
(candidate.headroom || candidate.cooldown) &&
|
|
183
|
+
// A refusal of unknown nature (#558) is not known to be quota.
|
|
184
|
+
candidate.cooldown?.reopening !== "unknown"
|
|
159
185
|
? "quota"
|
|
160
186
|
: "unavailable")),
|
|
161
187
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-cooldown.js","sourceRoot":"","sources":["../src/credential-cooldown.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"credential-cooldown.js","sourceRoot":"","sources":["../src/credential-cooldown.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,21 @@ import { type ProfilePolicy } from "./credential-profile-rotation.js";
|
|
|
25
25
|
import { type VendorQuotaObservations } from "./credential-profiles.js";
|
|
26
26
|
import type { TransientFailureObservation } from "./transientClassify.js";
|
|
27
27
|
export declare function pollerCredentialRejections(quota: VendorQuotaObservations): CredentialUnusableObservation[];
|
|
28
|
-
/**
|
|
28
|
+
/**
|
|
29
|
+
* The cheap typed stream intake and the ONE owner of a refusal's scope, which
|
|
30
|
+
* follows what the vendor's typed category proves, never whether the run named
|
|
31
|
+
* a model (`model: null` on an observation means credential-wide):
|
|
32
|
+
* - an auth rejection condemns the credential for every model;
|
|
33
|
+
* - a denial of subscription access the adapter proved (`entitlementDenied`: the
|
|
34
|
+
* vendor's exact `oauth_org_not_allowed` code or its recorded result, never a
|
|
35
|
+
* category inferred from prose) condemns that credential for every model on
|
|
36
|
+
* the observed subscription route, and proves nothing about an API key or
|
|
37
|
+
* another route;
|
|
38
|
+
* - any other capability refusal concerns the model the run requested: a known
|
|
39
|
+
* model stays exact, and a run that named none proves nothing about the
|
|
40
|
+
* credential, so nothing is recorded and the diagnostics stay the run's own.
|
|
41
|
+
* No profile probing or routing policy.
|
|
42
|
+
*/
|
|
29
43
|
export declare function credentialStreamRefusal(args: {
|
|
30
44
|
harnessId: string;
|
|
31
45
|
profileId: string | null;
|
|
@@ -1 +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,EAE7B,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAA4B,KAAK,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAChG,OAAO,EAKL,KAAK,uBAAuB,EAC7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAmD1E,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,uBAAuB,GAC7B,6BAA6B,EAAE,CAgBjC;AAED
|
|
1
|
+
{"version":3,"file":"credential-differential.d.ts","sourceRoot":"","sources":["../src/credential-differential.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,13 +50,31 @@ export function pollerCredentialRejections(quota) {
|
|
|
50
50
|
})
|
|
51
51
|
.map(pollerRejection);
|
|
52
52
|
}
|
|
53
|
-
/**
|
|
53
|
+
/**
|
|
54
|
+
* The cheap typed stream intake and the ONE owner of a refusal's scope, which
|
|
55
|
+
* follows what the vendor's typed category proves, never whether the run named
|
|
56
|
+
* a model (`model: null` on an observation means credential-wide):
|
|
57
|
+
* - an auth rejection condemns the credential for every model;
|
|
58
|
+
* - a denial of subscription access the adapter proved (`entitlementDenied`: the
|
|
59
|
+
* vendor's exact `oauth_org_not_allowed` code or its recorded result, never a
|
|
60
|
+
* category inferred from prose) condemns that credential for every model on
|
|
61
|
+
* the observed subscription route, and proves nothing about an API key or
|
|
62
|
+
* another route;
|
|
63
|
+
* - any other capability refusal concerns the model the run requested: a known
|
|
64
|
+
* model stays exact, and a run that named none proves nothing about the
|
|
65
|
+
* credential, so nothing is recorded and the diagnostics stay the run's own.
|
|
66
|
+
* No profile probing or routing policy.
|
|
67
|
+
*/
|
|
54
68
|
export function credentialStreamRefusal(args) {
|
|
55
|
-
|
|
56
|
-
|
|
69
|
+
const { refusal } = args;
|
|
70
|
+
if (refusal.retryable || !["auth_failed", "capability_refused"].includes(refusal.category))
|
|
71
|
+
return null;
|
|
72
|
+
const authFailed = refusal.category === "auth_failed";
|
|
73
|
+
const credentialWide = authFailed || (refusal.entitlementDenied === true && args.route === "vendor_native");
|
|
74
|
+
if (!credentialWide && args.model === null)
|
|
57
75
|
return null;
|
|
58
76
|
return {
|
|
59
|
-
...observation({ harnessId: args.harnessId, profileId: args.profileId, now: args.now ?? new Date() },
|
|
77
|
+
...observation({ harnessId: args.harnessId, profileId: args.profileId, now: args.now ?? new Date() }, authFailed ? "auth_revoked" : "capability_refused", "attempt_stream", credentialWide ? null : args.model, refusal.adapterCode),
|
|
60
78
|
...(args.route ? { credential_route: args.route } : {}),
|
|
61
79
|
};
|
|
62
80
|
}
|
|
@@ -75,19 +93,16 @@ export async function differentialSubjectVerdict(args) {
|
|
|
75
93
|
: "vendor_native"
|
|
76
94
|
: null);
|
|
77
95
|
const ctx = { harnessId: args.harnessId, profileId, now: args.now ?? new Date() };
|
|
78
|
-
// 1. The attempt's own stream: a typed NON-RETRYABLE auth/entitlement
|
|
79
|
-
//
|
|
80
|
-
//
|
|
81
|
-
//
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
refusal,
|
|
89
|
-
});
|
|
90
|
-
}
|
|
96
|
+
// 1. The attempt's own stream: a typed NON-RETRYABLE auth/entitlement refusal
|
|
97
|
+
// the vendor just sent under this exact credential, in the scope
|
|
98
|
+
// `credentialStreamRefusal` proves for it; the try's broadest proven scope
|
|
99
|
+
// wins. A refusal that proves nothing about this credential is no verdict, so
|
|
100
|
+
// the independent evidence below still answers.
|
|
101
|
+
const verdicts = args.transients.flatMap((refusal) => credentialStreamRefusal({ ...ctx, model: args.model, route: route ?? undefined, refusal }) ??
|
|
102
|
+
[]);
|
|
103
|
+
const streamVerdict = verdicts.find((verdict) => verdict.model === null) ?? verdicts[0];
|
|
104
|
+
if (streamVerdict)
|
|
105
|
+
return streamVerdict;
|
|
91
106
|
// 2. The quota poller's last authenticated vendor contact: a typed
|
|
92
107
|
// `auth_revoked` absence means the vendor rejected this subject's own token.
|
|
93
108
|
const quota = route
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-differential.js","sourceRoot":"","sources":["../src/credential-differential.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAE,wBAAwB,EAAsB,MAAM,kCAAkC,CAAC;AAChG,OAAO,EACL,4BAA4B,EAC5B,mBAAmB,EACnB,2BAA2B,EAC3B,2BAA2B,GAE5B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAC;AAEzE;;;0EAG0E;AAC1E,MAAM,eAAe,GAA0D;IAC7E,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,MAAM;IAC7B,kBAAkB,EAAE,EAAE,GAAG,MAAM;IAC/B,mBAAmB,EAAE,EAAE,GAAG,MAAM;CACjC,CAAC;AAEF,SAAS,WAAW,CAClB,IAAgE,EAChE,IAA2C,EAC3C,MAA+C,EAC/C,KAAoB,EACpB,MAAqB;IAErB,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,SAAS;QAC1B,UAAU,EAAE,IAAI,CAAC,SAAS;QAC1B,KAAK;QACL,IAAI;QACJ,MAAM;QACN,MAAM;QACN,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE;QACnC,UAAU,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE;KAC/E,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,SAAS,eAAe,CAAC,OAAqB;IAC5C,OAAO;QACL,GAAG,WAAW,CACZ;YACE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO;YAClC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU;YACrC,GAAG,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;SACnC,EACD,cAAc,EACd,eAAe,EACf,IAAI,EACJ,OAAO,CAAC,MAAM,CACf;QACD,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,gBAAgB;QAClD,UAAU,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE;KAC9E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,KAA8B;IAE9B,OAAO,KAAK,CAAC,QAAQ;SAClB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACd,IAAI,GAAG,CAAC,MAAM,KAAK,cAAc;YAAE,OAAO,KAAK,CAAC;QAChD,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC;QAC3C,MAAM,QAAQ,GAAG;YACf,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,KAAK,KAAK,CAAC;YACpF,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,KAAK,KAAK,CAAC;YAClF,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,KAAK,KAAK,CAAC;SAC1E,CAAC;QACF,OAAO,CACL,2BAA2B,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC;YAChF,EAAE,OAAO,KAAK,SAAS,CAC1B,CAAC;IACJ,CAAC,CAAC;SACD,GAAG,CAAC,eAAe,CAAC,CAAC;AAC1B,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"credential-differential.js","sourceRoot":"","sources":["../src/credential-differential.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-execution.d.ts","sourceRoot":"","sources":["../src/credential-execution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,iBAAiB,CAAC;AAKzB,qFAAqF;AACrF,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,2BAA2B,EACtC,QAAQ,EAAE,0BAA0B,GACnC,2BAA2B,
|
|
1
|
+
{"version":3,"file":"credential-execution.d.ts","sourceRoot":"","sources":["../src/credential-execution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,iBAAiB,CAAC;AAKzB,qFAAqF;AACrF,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,2BAA2B,EACtC,QAAQ,EAAE,0BAA0B,GACnC,2BAA2B,CA4F7B"}
|
|
@@ -36,22 +36,21 @@ export function createCredentialExecutionObserver(authority, captured) {
|
|
|
36
36
|
return;
|
|
37
37
|
if (event.observed_model)
|
|
38
38
|
observedModel = event.observed_model;
|
|
39
|
-
const
|
|
40
|
-
if (
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
if (value)
|
|
39
|
+
const refusal = classifyStatusError(event);
|
|
40
|
+
if (refusal) {
|
|
41
|
+
const value = credentialStreamRefusal({
|
|
42
|
+
harnessId: subject.harnessId,
|
|
43
|
+
profileId: subject.profileId,
|
|
44
|
+
model: subject.requestedModel,
|
|
45
|
+
route,
|
|
46
|
+
refusal,
|
|
47
|
+
now: new Date(event.ts),
|
|
48
|
+
});
|
|
49
|
+
if (value) {
|
|
50
|
+
// A later refusal of one model never narrows a credential-wide one.
|
|
51
|
+
if (value.model === null || pending.get(route)?.model !== null)
|
|
52
52
|
pending.set(route, value);
|
|
53
|
-
|
|
54
|
-
}
|
|
53
|
+
cleanTerminal = false;
|
|
55
54
|
}
|
|
56
55
|
}
|
|
57
56
|
const served = event.type === "usage" &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-execution.js","sourceRoot":"","sources":["../src/credential-execution.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,qFAAqF;AACrF,MAAM,UAAU,iCAAiC,CAC/C,SAAsC,EACtC,QAAoC;IAEpC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA+C,CAAC;IACxE,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK;QAC/B,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QACjB,CAAC,CAAE,CAAC,eAAe,EAAE,iBAAiB,CAAW,EAAE,CAAC;QACpD,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC1B,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,aAAa,GAAkB,IAAI,CAAC;IACxC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkD,CAAC;IAC1E,MAAM,cAAc,GAAG,IAAI,GAAG,EAAyD,CAAC;IACxF,OAAO;QACL,OAAO,CAAC,KAAK;YACX,IACE,KAAK,CAAC,qBAAqB,KAAK,SAAS;gBACzC,KAAK,CAAC,qBAAqB,KAAK,OAAO,CAAC,SAAS;gBAEjD,OAAO;YACT,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,gBAAgB,KAAK,OAAO,CAAC,KAAK;oBAAE,OAAO;gBAC/E,IAAI,KAAK,KAAK,KAAK,CAAC,gBAAgB;oBAAE,aAAa,GAAG,IAAI,CAAC;gBAC3D,KAAK,GAAG,KAAK,CAAC,gBAAgB,CAAC;YACjC,CAAC;YACD,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO;YAC3B,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,IAAI,KAAK,CAAC,cAAc;gBAAE,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC;YAC/D,MAAM,
|
|
1
|
+
{"version":3,"file":"credential-execution.js","sourceRoot":"","sources":["../src/credential-execution.ts"],"names":[],"mappings":"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"}
|
|
@@ -75,7 +75,7 @@ export function preflightDefaultSubject(args) {
|
|
|
75
75
|
reason: "profile_headroom_preflight",
|
|
76
76
|
constraint_id: breach?.constraint_id ?? block?.constraint_id ?? null,
|
|
77
77
|
used_ratio: breach?.used_ratio ?? null,
|
|
78
|
-
resets_at: breach?.resets_at ?? block?.resets_at ?? null,
|
|
78
|
+
resets_at: block?.reopening ? null : (breach?.resets_at ?? block?.resets_at ?? null),
|
|
79
79
|
});
|
|
80
80
|
return next;
|
|
81
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-preflight.js","sourceRoot":"","sources":["../src/credential-preflight.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"credential-preflight.js","sourceRoot":"","sources":["../src/credential-preflight.ts"],"names":[],"mappings":"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"}
|