@claudexor/orchestrator 4.1.1 → 4.2.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 (102) hide show
  1. package/dist/account-pool.d.ts +11 -0
  2. package/dist/account-pool.d.ts.map +1 -1
  3. package/dist/account-pool.js +9 -0
  4. package/dist/account-pool.js.map +1 -1
  5. package/dist/account-resolution.d.ts +3 -0
  6. package/dist/account-resolution.d.ts.map +1 -1
  7. package/dist/account-resolution.js +1 -0
  8. package/dist/account-resolution.js.map +1 -1
  9. package/dist/attemptTelemetry.d.ts +4 -6
  10. package/dist/attemptTelemetry.d.ts.map +1 -1
  11. package/dist/attemptTelemetry.js +1 -1
  12. package/dist/attemptTelemetry.js.map +1 -1
  13. package/dist/budgetFailure.d.ts +4 -1
  14. package/dist/budgetFailure.d.ts.map +1 -1
  15. package/dist/budgetFailure.js +4 -2
  16. package/dist/budgetFailure.js.map +1 -1
  17. package/dist/candidateEvidence.d.ts.map +1 -1
  18. package/dist/candidateEvidence.js +7 -2
  19. package/dist/candidateEvidence.js.map +1 -1
  20. package/dist/candidateOutputs.d.ts.map +1 -1
  21. package/dist/candidateOutputs.js +6 -0
  22. package/dist/candidateOutputs.js.map +1 -1
  23. package/dist/candidateTerminals.d.ts +12 -1
  24. package/dist/candidateTerminals.d.ts.map +1 -1
  25. package/dist/candidateTerminals.js +51 -21
  26. package/dist/candidateTerminals.js.map +1 -1
  27. package/dist/captureRefusal.d.ts +28 -0
  28. package/dist/captureRefusal.d.ts.map +1 -0
  29. package/dist/captureRefusal.js +54 -0
  30. package/dist/captureRefusal.js.map +1 -0
  31. package/dist/continuity-terminal.d.ts +3 -1
  32. package/dist/continuity-terminal.d.ts.map +1 -1
  33. package/dist/continuity-terminal.js.map +1 -1
  34. package/dist/credential-profile-rotation.js +2 -3
  35. package/dist/credential-profile-rotation.js.map +1 -1
  36. package/dist/delegationFailure.d.ts +104 -7
  37. package/dist/delegationFailure.d.ts.map +1 -1
  38. package/dist/delegationFailure.js +47 -31
  39. package/dist/delegationFailure.js.map +1 -1
  40. package/dist/inrun-continuity-types.d.ts +13 -1
  41. package/dist/inrun-continuity-types.d.ts.map +1 -1
  42. package/dist/inrun-continuity.d.ts +9 -2
  43. package/dist/inrun-continuity.d.ts.map +1 -1
  44. package/dist/inrun-continuity.js +43 -23
  45. package/dist/inrun-continuity.js.map +1 -1
  46. package/dist/inrun-continuity.test-support.d.ts +6 -2
  47. package/dist/inrun-continuity.test-support.d.ts.map +1 -1
  48. package/dist/inrun-continuity.test-support.js +4 -1
  49. package/dist/inrun-continuity.test-support.js.map +1 -1
  50. package/dist/orchestrator-credentials.d.ts +5 -4
  51. package/dist/orchestrator-credentials.d.ts.map +1 -1
  52. package/dist/orchestrator-credentials.js +7 -4
  53. package/dist/orchestrator-credentials.js.map +1 -1
  54. package/dist/orchestrator.d.ts.map +1 -1
  55. package/dist/orchestrator.js +277 -335
  56. package/dist/orchestrator.js.map +1 -1
  57. package/dist/persistedPatch.js +2 -2
  58. package/dist/persistedPatch.js.map +1 -1
  59. package/dist/pool-attempt-evidence.d.ts +62 -0
  60. package/dist/pool-attempt-evidence.d.ts.map +1 -0
  61. package/dist/pool-attempt-evidence.js +153 -0
  62. package/dist/pool-attempt-evidence.js.map +1 -0
  63. package/dist/pre-progress-refusal.d.ts +43 -6
  64. package/dist/pre-progress-refusal.d.ts.map +1 -1
  65. package/dist/pre-progress-refusal.js +53 -8
  66. package/dist/pre-progress-refusal.js.map +1 -1
  67. package/dist/readonlyTerminals.d.ts +55 -0
  68. package/dist/readonlyTerminals.d.ts.map +1 -0
  69. package/dist/readonlyTerminals.js +205 -0
  70. package/dist/readonlyTerminals.js.map +1 -0
  71. package/dist/rotation-predicate.d.ts +7 -23
  72. package/dist/rotation-predicate.d.ts.map +1 -1
  73. package/dist/rotation-predicate.js +45 -0
  74. package/dist/rotation-predicate.js.map +1 -1
  75. package/dist/runEventLog.d.ts +1 -0
  76. package/dist/runEventLog.d.ts.map +1 -1
  77. package/dist/runEventLog.js +3 -2
  78. package/dist/runEventLog.js.map +1 -1
  79. package/dist/runTerminalContext.d.ts +4 -0
  80. package/dist/runTerminalContext.d.ts.map +1 -1
  81. package/dist/runTerminalContext.js.map +1 -1
  82. package/dist/runTerminalHelpers.d.ts +25 -1
  83. package/dist/runTerminalHelpers.d.ts.map +1 -1
  84. package/dist/runTerminalHelpers.js +69 -6
  85. package/dist/runTerminalHelpers.js.map +1 -1
  86. package/dist/runTerminalResults.d.ts +25 -3
  87. package/dist/runTerminalResults.d.ts.map +1 -1
  88. package/dist/runTerminalResults.js +61 -29
  89. package/dist/runTerminalResults.js.map +1 -1
  90. package/dist/runTerminals.d.ts +0 -1
  91. package/dist/runTerminals.d.ts.map +1 -1
  92. package/dist/runTerminals.js +47 -11
  93. package/dist/runTerminals.js.map +1 -1
  94. package/dist/secretDiff.d.ts +14 -11
  95. package/dist/secretDiff.d.ts.map +1 -1
  96. package/dist/secretDiff.js +21 -28
  97. package/dist/secretDiff.js.map +1 -1
  98. package/dist/terminalOutcome.d.ts +24 -4
  99. package/dist/terminalOutcome.d.ts.map +1 -1
  100. package/dist/terminalOutcome.js +32 -5
  101. package/dist/terminalOutcome.js.map +1 -1
  102. package/package.json +17 -17
@@ -0,0 +1,205 @@
1
+ import { join } from "node:path";
2
+ import { makeOutcomeFacts } from "@claudexor/schema";
3
+ import { readOnlyNoSuccessTerminal } from "./attemptFinalize.js";
4
+ import { budgetFailureRecord, classifyBudgetFailure } from "./budgetFailure.js";
5
+ import { unanimousDeclaredFailure } from "./candidateEvidence.js";
6
+ import { resumableTerminal } from "./continuity-terminal.js";
7
+ import { attemptVendorFailure, dominantHarnessFailureCategory, harnessFailureNextActions, } from "./harnessFailure.js";
8
+ import { poolFailure } from "./pool-attempt-evidence.js";
9
+ import { writeFailure } from "./runTerminalResults.js";
10
+ /** A read-only chain with no successful attempt (QA-036/QA-050/A5). */
11
+ export function readOnlyChainFailureResult(input) {
12
+ const { store, paths, log, runId, taskId, mode, ledger, attempts, attemptTelemetries } = input;
13
+ const { budgetStopped, budgetDenial } = input;
14
+ const last = attempts[attempts.length - 1];
15
+ const webBlocked = attempts.some((a) => a.status === "blocked");
16
+ // QA-050: a budget refusal is a BUDGET failure, not a harness one — route
17
+ // it through the shared classifier so phase/category/code/route and the
18
+ // remediation are budget-typed (never auth/setup) across every mode.
19
+ const budgetMapping = budgetStopped && !webBlocked
20
+ ? classifyBudgetFailure({ denial: budgetDenial, terminal: ledger.terminal() })
21
+ : null;
22
+ const { message: singleError, poolAttempts } = poolFailure(budgetMapping?.safeMessage ??
23
+ last?.error ??
24
+ (budgetStopped ? "budget exhausted before any attempt" : "harness failed"), attempts);
25
+ if (input.fallbackOpen || webBlocked) {
26
+ log.emit("route.fallback.exhausted", {
27
+ harness_id: last?.harnessId ?? null,
28
+ attempt_id: last?.attemptId ?? null,
29
+ reason: "web_evidence_unsatisfied",
30
+ error: singleError,
31
+ });
32
+ }
33
+ const partialReport = [...attempts].reverse().find((a) => a.report)?.report ?? "";
34
+ input.writeTelemetry();
35
+ store.writeText(join(paths.contextDir, "context_error.md"), `# ${budgetMapping ? "Budget Denied" : "Harness Error"}\n\n${singleError}\n`);
36
+ const roEventRefs = attempts.map((a) => `attempts/${a.attemptId}/events.jsonl`);
37
+ if (budgetMapping) {
38
+ writeFailure(store, paths, {
39
+ ...budgetFailureRecord(budgetMapping, { eventRefs: roEventRefs, runDir: paths.root }),
40
+ safeMessage: singleError,
41
+ poolAttempts,
42
+ });
43
+ }
44
+ else {
45
+ // #31: classify the harness cause across the read-only attempts so auth
46
+ // guidance appears only on a real auth failure.
47
+ const roCategory = dominantHarnessFailureCategory(attemptTelemetries.flatMap((a) => a.telemetry.transientFailures));
48
+ // A5: the terminal already speaks with the LAST attempt's message; its
49
+ // typed refusal rides along machine-readably instead of reducing to it.
50
+ const roDeclared = webBlocked ? undefined : last?.declaredFailure;
51
+ writeFailure(store, paths, {
52
+ phase: "harness",
53
+ category: webBlocked ? "policy" : (roDeclared?.category ?? "harness_error"),
54
+ code: roDeclared?.code ?? null,
55
+ harnessId: last?.harnessId,
56
+ attemptId: last?.attemptId,
57
+ safeMessage: singleError,
58
+ eventRefs: roEventRefs,
59
+ runDir: paths.root,
60
+ resetsAt: roDeclared?.resetsAt ?? null,
61
+ requestRefusal: roDeclared?.requestRefusal,
62
+ vendorFailure: attemptVendorFailure(attemptTelemetries, last?.attemptId),
63
+ poolAttempts,
64
+ nextActions: harnessFailureNextActions(roCategory),
65
+ });
66
+ }
67
+ // QA-036: re-check the DELIVERABLE through the shared finalizer helper —
68
+ // a blocked Ask that produced NO answer can no longer read as a succeeded
69
+ // "Needs review" run (exit 0); it is an honest failure (exit 1).
70
+ const roTerminal = readOnlyNoSuccessTerminal({
71
+ webBlocked,
72
+ hasDeliverable: partialReport.trim().length > 0,
73
+ budgetStopped,
74
+ attemptsCount: attempts.length,
75
+ });
76
+ const terminalFacts = makeOutcomeFacts(roTerminal.lifecycle, {
77
+ ...(roTerminal.review ? { review: roTerminal.review } : {}),
78
+ reason: budgetMapping?.reason ?? roTerminal.reason,
79
+ });
80
+ const terminalHarnessId = budgetMapping?.harnessId ?? last?.harnessId;
81
+ store.writeText(join(paths.finalDir, "summary.md"), `# Run ${runId} (${mode})\n\n- Harness: ${terminalHarnessId ?? "none"}\n- Lifecycle: ${terminalFacts.lifecycle}${terminalFacts.reason ? ` (${terminalFacts.reason})` : ""}\n\n${singleError}\n`);
82
+ log.emit("output.ready", { kind: "summary", path: "final/summary.md", state: "diagnostic" });
83
+ if (terminalFacts.lifecycle === "succeeded") {
84
+ log.emit("run.blocked", {
85
+ lifecycle: terminalFacts.lifecycle,
86
+ facts: terminalFacts,
87
+ harness_id: terminalHarnessId,
88
+ error: singleError,
89
+ pool_attempts: poolAttempts,
90
+ failure_ref: "final/failure.yaml",
91
+ ...resumableTerminal(store, paths, attempts, true),
92
+ });
93
+ }
94
+ else {
95
+ log.emit("run.failed", {
96
+ lifecycle: terminalFacts.lifecycle,
97
+ facts: terminalFacts,
98
+ reason: terminalFacts.reason,
99
+ phase: budgetMapping?.phase,
100
+ harness_id: terminalHarnessId,
101
+ error: singleError,
102
+ pool_attempts: poolAttempts,
103
+ failure_ref: "final/failure.yaml",
104
+ ...resumableTerminal(store, paths, attempts, true),
105
+ });
106
+ }
107
+ return {
108
+ spendUsd: ledger.spend(),
109
+ runId,
110
+ taskId,
111
+ mode,
112
+ lifecycle: terminalFacts.lifecycle,
113
+ facts: terminalFacts,
114
+ winner: null,
115
+ runDir: paths.root,
116
+ summary: singleError,
117
+ candidates: attempts.map((a) => ({
118
+ attemptId: a.attemptId,
119
+ harnessId: a.harnessId,
120
+ status: a.status,
121
+ })),
122
+ };
123
+ }
124
+ /** A deep scan whose every explorer failed: no synthesizable deliverable (QA-036). */
125
+ export function deepScanFailureResult(input) {
126
+ const { store, paths, log, runId, taskId, mode, ledger, attempts, attemptTelemetries } = input;
127
+ const { budgetStopped, budgetDenial } = input;
128
+ const blocked = attempts.some((a) => a.status === "blocked");
129
+ // QA-050/QA-019: only a pure-denial scan may claim a budget failure.
130
+ const scanBudgetMapping = budgetStopped && !blocked && attempts.every((a) => a.budgetDenied === true)
131
+ ? classifyBudgetFailure({ denial: budgetDenial, terminal: ledger.terminal() })
132
+ : null;
133
+ // D-16 r8: ALL scouts out of context → the aggregate is interrupted.
134
+ const allInterrupted = attempts.length > 0 && attempts.every((a) => a.interrupted === true);
135
+ const scanFailFacts = allInterrupted
136
+ ? makeOutcomeFacts("interrupted", { reason: "context_capacity_exhausted" })
137
+ : makeOutcomeFacts("failed", {
138
+ reason: scanBudgetMapping ? scanBudgetMapping.reason : "harness_failed",
139
+ });
140
+ const { message, poolAttempts } = poolFailure(scanBudgetMapping
141
+ ? scanBudgetMapping.safeMessage
142
+ : attempts.map((a) => `${a.attemptId}/${a.harnessId}: ${a.error ?? "failed"}`).join("\n"), attempts);
143
+ input.writeTelemetry();
144
+ if (scanBudgetMapping) {
145
+ writeFailure(store, paths, {
146
+ ...budgetFailureRecord(scanBudgetMapping, {
147
+ eventRefs: attempts.map((a) => `attempts/${a.attemptId}/events.jsonl`),
148
+ runDir: paths.root,
149
+ }),
150
+ safeMessage: message,
151
+ poolAttempts,
152
+ });
153
+ }
154
+ else {
155
+ // Mixed causes stay generic; only unanimous evidence may name the scan's cause.
156
+ const declared = blocked ? null : unanimousDeclaredFailure(attempts);
157
+ const scanCategory = dominantHarnessFailureCategory(attemptTelemetries.flatMap((a) => a.telemetry.transientFailures));
158
+ writeFailure(store, paths, {
159
+ phase: "harness",
160
+ category: blocked ? "policy" : (declared?.category ?? "harness_error"),
161
+ code: declared?.code,
162
+ resetsAt: declared?.resetsAt,
163
+ requestRefusal: declared?.requestRefusal,
164
+ safeMessage: message || "all explorers failed",
165
+ eventRefs: attempts.map((a) => `attempts/${a.attemptId}/events.jsonl`),
166
+ runDir: paths.root,
167
+ poolAttempts,
168
+ nextActions: [
169
+ ...harnessFailureNextActions(scanCategory).filter((a) => !a.startsWith("Retry")),
170
+ "Reduce explore width",
171
+ "Retry after setup",
172
+ ],
173
+ });
174
+ }
175
+ // QA-036: no successful explorer means no synthesizable deliverable.
176
+ store.writeText(join(paths.finalDir, "summary.md"), `# Run ${runId} (${mode})\n\n- Lifecycle: ${scanFailFacts.lifecycle}${scanFailFacts.reason ? ` (${scanFailFacts.reason})` : ""}\n\n${message}\n`);
177
+ log.emit("output.ready", { kind: "summary", path: "final/summary.md", state: "diagnostic" });
178
+ log.emit("run.failed", {
179
+ lifecycle: scanFailFacts.lifecycle,
180
+ facts: scanFailFacts,
181
+ reason: scanFailFacts.reason,
182
+ phase: scanBudgetMapping ? scanBudgetMapping.phase : "harness",
183
+ error: message,
184
+ pool_attempts: poolAttempts,
185
+ failure_ref: "final/failure.yaml",
186
+ ...resumableTerminal(store, paths, attempts, true),
187
+ });
188
+ return {
189
+ spendUsd: ledger.spend(),
190
+ runId,
191
+ taskId,
192
+ mode,
193
+ lifecycle: scanFailFacts.lifecycle,
194
+ facts: scanFailFacts,
195
+ winner: null,
196
+ runDir: paths.root,
197
+ summary: message,
198
+ candidates: attempts.map((a) => ({
199
+ attemptId: a.attemptId,
200
+ harnessId: a.harnessId,
201
+ status: a.status,
202
+ })),
203
+ };
204
+ }
205
+ //# sourceMappingURL=readonlyTerminals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readonlyTerminals.js","sourceRoot":"","sources":["../src/readonlyTerminals.ts"],"names":[],"mappings":"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"}
@@ -1,27 +1,5 @@
1
- /**
2
- * A2: the WIDENED reactive rotation predicate (W5.4 + the structural branch).
3
- *
4
- * Two independent ways an attempt becomes rotation-eligible:
5
- *
6
- * 1. TYPED fast path (W5.4 canon, unchanged): the attempt saw a TYPED vendor
7
- * rate-limit signal. Deliberately NOT hardened against thinking/tool
8
- * activity — the canon guard is no-deliverable/no-mutation, not
9
- * no-progress.
10
- *
11
- * 2. STRUCTURAL branch (owner decision 7=A): the attempt ended in a TERMINAL,
12
- * non-transient death BEFORE the agent demonstrably did any work. This
13
- * deliberately covers ANY pre-progress non-transient death — an invalid
14
- * flag, a missing binary, an untyped vendor refusal — bounded by the
15
- * profile pool size, and is NEVER narrowed by error-text matching.
16
- * Transient-retryable deaths are excluded: the transient machinery retries
17
- * them on the SAME profile first (rotation never fires on a plain
18
- * transient).
19
- *
20
- * Both branches require an empty deliverable and no observed workspace
21
- * mutation — a partially-acted attempt never silently reruns under another
22
- * credential.
23
- */
24
1
  import type { AttemptOutputMarkers } from "./attemptOutputMarkers.js";
2
+ import type { TryFacts } from "./inrun-continuity-types.js";
25
3
  /** Typed evidence one native try presents to the rotation predicate. */
26
4
  export interface RotationEvidence {
27
5
  requestRefused?: boolean;
@@ -71,4 +49,10 @@ export declare function reactiveRotationEvidence(args: {
71
49
  deliverableEmpty: boolean;
72
50
  workspaceDiffNonEmpty?: boolean;
73
51
  }): RotationEvidence;
52
+ /**
53
+ * One settled in-run try's facts as that fold's input. After progress
54
+ * (`forceEligible`) the no-deliverable/no-mutation fence scopes only the
55
+ * `fresh` carrier: the planner picks the carrier, rotation only the account.
56
+ */
57
+ export declare function inRunRotationArgs(facts: TryFacts, forceEligible: boolean): Parameters<typeof reactiveRotationEvidence>[0];
74
58
  //# sourceMappingURL=rotation-predicate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rotation-predicate.d.ts","sourceRoot":"","sources":["../src/rotation-predicate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,wEAAwE;AACxE,MAAM,WAAW,gBAAgB;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qEAAqE;IACrE,aAAa,EAAE,OAAO,CAAC;IACvB;;gFAE4E;IAC5E,gBAAgB,EAAE,OAAO,CAAC;IAC1B;;iFAE6E;IAC7E,gBAAgB,EAAE,OAAO,CAAC;IAC1B;iFAC6E;IAC7E,yBAAyB,EAAE,OAAO,CAAC;IACnC;gFAC4E;IAC5E,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GAAG,OAAO,CAKV;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,GAAG,gBAAgB,CASnB"}
1
+ {"version":3,"file":"rotation-predicate.d.ts","sourceRoot":"","sources":["../src/rotation-predicate.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAE5D,wEAAwE;AACxE,MAAM,WAAW,gBAAgB;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qEAAqE;IACrE,aAAa,EAAE,OAAO,CAAC;IACvB;;gFAE4E;IAC5E,gBAAgB,EAAE,OAAO,CAAC;IAC1B;;iFAE6E;IAC7E,gBAAgB,EAAE,OAAO,CAAC;IAC1B;iFAC6E;IAC7E,yBAAyB,EAAE,OAAO,CAAC;IACnC;gFAC4E;IAC5E,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GAAG,OAAO,CAKV;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,GAAG,gBAAgB,CASnB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,QAAQ,EACf,aAAa,EAAE,OAAO,GACrB,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAehD"}
@@ -1,3 +1,27 @@
1
+ /**
2
+ * A2: the WIDENED reactive rotation predicate (W5.4 + the structural branch).
3
+ *
4
+ * Two independent ways an attempt becomes rotation-eligible:
5
+ *
6
+ * 1. TYPED fast path (W5.4 canon, unchanged): the attempt saw a TYPED vendor
7
+ * rate-limit signal. Deliberately NOT hardened against thinking/tool
8
+ * activity — the canon guard is no-deliverable/no-mutation, not
9
+ * no-progress.
10
+ *
11
+ * 2. STRUCTURAL branch (owner decision 7=A): the attempt ended in a TERMINAL,
12
+ * non-transient death BEFORE the agent demonstrably did any work. This
13
+ * deliberately covers ANY pre-progress non-transient death — an invalid
14
+ * flag, a missing binary, an untyped vendor refusal — bounded by the
15
+ * profile pool size, and is NEVER narrowed by error-text matching.
16
+ * Transient-retryable deaths are excluded: the transient machinery retries
17
+ * them on the SAME profile first (rotation never fires on a plain
18
+ * transient).
19
+ *
20
+ * Both branches require an empty deliverable and no observed workspace
21
+ * mutation — a partially-acted attempt never silently reruns under another
22
+ * credential.
23
+ */
24
+ import { acceptedTryOutput } from "@claudexor/core";
1
25
  /**
2
26
  * `rotation_retry_eligible`: the one predicate both lanes and both branches
3
27
  * read. Optional fields default CONSERVATIVELY (absent evidence never widens
@@ -29,4 +53,25 @@ export function reactiveRotationEvidence(args) {
29
53
  sawAgentProgress: args.markers.sawAgentProgress,
30
54
  };
31
55
  }
56
+ /**
57
+ * One settled in-run try's facts as that fold's input. After progress
58
+ * (`forceEligible`) the no-deliverable/no-mutation fence scopes only the
59
+ * `fresh` carrier: the planner picks the carrier, rotation only the account.
60
+ */
61
+ export function inRunRotationArgs(facts, forceEligible) {
62
+ const accepted = acceptedTryOutput(facts.answer, facts.harnessErrored);
63
+ return {
64
+ markers: forceEligible
65
+ ? { sawAgentProgress: false, fileChanges: 0, sawSessionStart: facts.markers.sawSessionStart }
66
+ : facts.markers,
67
+ requestRefused: facts.requestRefused,
68
+ sawTypedLimit: facts.sawTypedLimit,
69
+ sawRetryable: facts.sawRetryable,
70
+ attemptErrored: facts.harnessErrored,
71
+ deliverableEmpty: forceEligible
72
+ ? true
73
+ : facts.workspaceDiffNonEmpty !== true && accepted.length === 0,
74
+ workspaceDiffNonEmpty: forceEligible ? false : facts.workspaceDiffNonEmpty,
75
+ };
76
+ }
32
77
  //# sourceMappingURL=rotation-predicate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rotation-predicate.js","sourceRoot":"","sources":["../src/rotation-predicate.ts"],"names":[],"mappings":"AA8CA;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAOrC;IACC,IAAI,KAAK,CAAC,cAAc;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,gBAAgB,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC7E,IAAI,KAAK,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IACrC,OAAO,KAAK,CAAC,yBAAyB,KAAK,IAAI,IAAI,KAAK,CAAC,gBAAgB,KAAK,IAAI,CAAC;AACrF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAQxC;IACC,OAAO;QACL,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,gBAAgB,EAAE,CAAC,IAAI,CAAC,qBAAqB,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC;QACvF,yBAAyB,EAAE,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,YAAY;QACpE,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB;KAChD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"rotation-predicate.js","sourceRoot":"","sources":["../src/rotation-predicate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAyBpD;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAOrC;IACC,IAAI,KAAK,CAAC,cAAc;QAAE,OAAO,KAAK,CAAC;IACvC,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,gBAAgB,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC7E,IAAI,KAAK,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IACrC,OAAO,KAAK,CAAC,yBAAyB,KAAK,IAAI,IAAI,KAAK,CAAC,gBAAgB,KAAK,IAAI,CAAC;AACrF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAQxC;IACC,OAAO;QACL,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,gBAAgB,EAAE,CAAC,IAAI,CAAC,qBAAqB,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC;QACvF,yBAAyB,EAAE,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,YAAY;QACpE,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB;KAChD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAe,EACf,aAAsB;IAEtB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IACvE,OAAO;QACL,OAAO,EAAE,aAAa;YACpB,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE;YAC7F,CAAC,CAAC,KAAK,CAAC,OAAO;QACjB,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,gBAAgB,EAAE,aAAa;YAC7B,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,KAAK,CAAC,qBAAqB,KAAK,IAAI,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QACjE,qBAAqB,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,qBAAqB;KAC3E,CAAC;AACJ,CAAC"}
@@ -44,6 +44,7 @@ export declare function beginAnnouncedRun(start: RunAnnouncementInput, announce:
44
44
  paths: RunPaths;
45
45
  log: EventLog;
46
46
  ledger: BudgetLedger;
47
+ runContext: AnnouncedRunContext;
47
48
  };
48
49
  export {};
49
50
  //# sourceMappingURL=runEventLog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runEventLog.d.ts","sourceRoot":"","sources":["../src/runEventLog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGzF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAuB,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAExF,UAAU,gBAAgB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC3C,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IAC5C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;CACrC;AAED,UAAU,oBAAoB;IAC5B,KAAK,EAAE,QAAQ,CAAC;IAChB,QAAQ,EAAE,YAAY,CAAC;IACvB,cAAc,EAAE,SAAS,aAAa,EAAE,CAAC;IACzC,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,CAAC,EAAE,yBAAyB,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,MAAM,GAAG,QAAQ,CAAC;IAClD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,mGAAmG;AACnG,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,gBAAgB,GACtB,QAAQ,CAWV;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAO5E;AAcD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,oBAAoB,EAC3B,QAAQ,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,GAC/C;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,CA6BhF"}
1
+ {"version":3,"file":"runEventLog.d.ts","sourceRoot":"","sources":["../src/runEventLog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGzF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAuB,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAExF,UAAU,gBAAgB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC3C,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IAC5C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;CACrC;AAED,UAAU,oBAAoB;IAC5B,KAAK,EAAE,QAAQ,CAAC;IAChB,QAAQ,EAAE,YAAY,CAAC;IACvB,cAAc,EAAE,SAAS,aAAa,EAAE,CAAC;IACzC,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,CAAC,EAAE,yBAAyB,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,MAAM,GAAG,QAAQ,CAAC;IAClD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,mGAAmG;AACnG,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,gBAAgB,GACtB,QAAQ,CAWV;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAO5E;AAcD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,oBAAoB,EAC3B,QAAQ,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,GAC/C;IACD,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,QAAQ,CAAC;IAChB,GAAG,EAAE,QAAQ,CAAC;IACd,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,EAAE,mBAAmB,CAAC;CACjC,CA4BA"}
@@ -63,9 +63,10 @@ export function beginAnnouncedRun(start, announce) {
63
63
  log.emit("run.created", { mode, prompt: redactSecrets(start.prompt) });
64
64
  return preparedLedger;
65
65
  });
66
- announce(announcedRunContext({ log, store, paths, runId, taskId, mode, phase }, ledger, () => authority?.hasParent(runId) === true));
66
+ const runContext = announcedRunContext({ log, store, paths, runId, taskId, mode, phase }, ledger, () => authority?.hasParent(runId) === true);
67
+ announce(runContext);
67
68
  safeInvoke(input.onRunStart, { runId, taskId, runDir: paths.root });
68
69
  announcePreparedProjectGitInitialization(input, log);
69
- return { store, paths, log, ledger };
70
+ return { store, paths, log, ledger, runContext };
70
71
  }
71
72
  //# sourceMappingURL=runEventLog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runEventLog.js","sourceRoot":"","sources":["../src/runEventLog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runEventLog.js","sourceRoot":"","sources":["../src/runEventLog.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { ArtifactStore } from "@claudexor/artifact-store";
2
2
  import type { BudgetLedger, BudgetTerminal } from "@claudexor/budget";
3
3
  import type { EventLog } from "@claudexor/event-log";
4
4
  import type { ModeKind } from "@claudexor/schema";
5
+ import type { ContinuityTerminalFacts } from "./continuity-terminal.js";
5
6
  export interface AnnouncedRunContext {
6
7
  log: EventLog;
7
8
  store: ArtifactStore;
@@ -24,6 +25,9 @@ export interface AnnouncedRunContext {
24
25
  * Ordinary runs may already have emitted a non-deferred terminal and must
25
26
  * never be terminalized a second time by the post-drain recheck. */
26
27
  recheckBudgetAfterBarrier?: () => boolean;
28
+ /** The lane's own attempts once they exist (each with its tries' accounts):
29
+ * a failure this owner stamps after the strategy names their failed tries. */
30
+ attempts?: () => readonly ContinuityTerminalFacts[];
27
31
  }
28
32
  type AnnouncedRunIdentity = Pick<AnnouncedRunContext, "log" | "store" | "paths" | "runId" | "taskId" | "mode" | "phase">;
29
33
  export declare function announcedRunContext(identity: AnnouncedRunIdentity, ledger: BudgetLedger, hasDelegateAuthority: () => boolean): AnnouncedRunContext;
@@ -1 +1 @@
1
- {"version":3,"file":"runTerminalContext.d.ts","sourceRoot":"","sources":["../src/runTerminalContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,QAAQ,CAAC;IACd,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;IACf,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd;oEACgE;IAChE,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;IAC7D;kFAC8E;IAC9E,cAAc,CAAC,EAAE,MAAM,cAAc,CAAC;IACtC;;wEAEoE;IACpE,yBAAyB,CAAC,EAAE,MAAM,OAAO,CAAC;CAC3C;AAED,KAAK,oBAAoB,GAAG,IAAI,CAC9B,mBAAmB,EACnB,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAClE,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,oBAAoB,EAC9B,MAAM,EAAE,YAAY,EACpB,oBAAoB,EAAE,MAAM,OAAO,GAClC,mBAAmB,CAUrB"}
1
+ {"version":3,"file":"runTerminalContext.d.ts","sourceRoot":"","sources":["../src/runTerminalContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAExE,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,QAAQ,CAAC;IACd,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;IACf,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd;oEACgE;IAChE,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;IAC7D;kFAC8E;IAC9E,cAAc,CAAC,EAAE,MAAM,cAAc,CAAC;IACtC;;wEAEoE;IACpE,yBAAyB,CAAC,EAAE,MAAM,OAAO,CAAC;IAC1C;kFAC8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,SAAS,uBAAuB,EAAE,CAAC;CACrD;AAED,KAAK,oBAAoB,GAAG,IAAI,CAC9B,mBAAmB,EACnB,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAClE,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,oBAAoB,EAC9B,MAAM,EAAE,YAAY,EACpB,oBAAoB,EAAE,MAAM,OAAO,GAClC,mBAAmB,CAUrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"runTerminalContext.js","sourceRoot":"","sources":["../src/runTerminalContext.ts"],"names":[],"mappings":"AAkCA,MAAM,UAAU,mBAAmB,CACjC,QAA8B,EAC9B,MAAoB,EACpB,oBAAmC;IAEnC,OAAO;QACL,GAAG,QAAQ;QACX,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE;QAC3B,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE;QACnC,cAAc,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE;QACxC,kBAAkB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,kBAAkB,EAAE;QACrD,cAAc,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE;QACvC,yBAAyB,EAAE,oBAAoB;KAChD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"runTerminalContext.js","sourceRoot":"","sources":["../src/runTerminalContext.ts"],"names":[],"mappings":"AAsCA,MAAM,UAAU,mBAAmB,CACjC,QAA8B,EAC9B,MAAoB,EACpB,oBAAmC;IAEnC,OAAO;QACL,GAAG,QAAQ;QACX,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE;QAC3B,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE;QACnC,cAAc,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE;QACxC,kBAAkB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,kBAAkB,EAAE;QACrD,cAAc,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE;QACvC,yBAAyB,EAAE,oBAAoB;KAChD,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type CancelReasonCode, type RunOutcomeFacts as RunOutcomeFactsType } from "@claudexor/schema";
1
+ import { type CancelReasonCode, type PoolAttemptFailure, type RunOutcomeFacts as RunOutcomeFactsType } from "@claudexor/schema";
2
2
  import type { BudgetTerminal } from "@claudexor/budget";
3
3
  import type { TerminalRunEventType } from "@claudexor/event-log";
4
4
  import { type SettledBudgetSnapshot } from "./decisionBudget.js";
@@ -6,6 +6,30 @@ import type { OrchestratorResult } from "./orchestrator.js";
6
6
  import type { AnnouncedRunContext } from "./runTerminalContext.js";
7
7
  export declare function ownsDelegateDrain(context: AnnouncedRunContext): boolean;
8
8
  export declare function postDrainBudgetFailure(context: AnnouncedRunContext, terminal: Exclude<BudgetTerminal, null>, budget: SettledBudgetSnapshot, prior: OrchestratorResult): OrchestratorResult;
9
+ /** The terminal-facts failure's message with the run's list, like every
10
+ * failure terminal; an unreadable history costs only the list, never the terminal. */
11
+ export declare function terminalFactsFailure(context: AnnouncedRunContext, detail: string): {
12
+ message: string;
13
+ poolAttempts: PoolAttemptFailure[];
14
+ };
15
+ /** A cancellation the terminal commit chose over the strategy's own verdict. */
16
+ export interface CommittedCancellation {
17
+ summary: string;
18
+ cancelReason?: string;
19
+ payload: Record<string, unknown>;
20
+ }
21
+ /**
22
+ * The cancel landed after the strategy's last checkpoint, so the terminal
23
+ * commit (not the strategy) chose it: state it like every cancelled terminal.
24
+ * The run's collected attempts name their earlier failed tries on the event and
25
+ * in summary.md; the verdict's own failure cause and record are not the
26
+ * cancel's (a cancellation has none), except a record that carries capture
27
+ * facts: it stays on the public failure surface re-labelled with this same
28
+ * statement (`clearFailureArtifact`), and the event keeps its address. Best
29
+ * effort: an unreadable history costs only the list, an unwritable artifact
30
+ * never the terminal.
31
+ */
32
+ export declare function commitCancellation(context: AnnouncedRunContext, signal: AbortSignal, payload: Record<string, unknown>): CommittedCancellation;
9
33
  export declare function terminalEventTypeFor(_originalType: TerminalRunEventType, outcome: RunOutcomeFactsType): TerminalRunEventType;
10
34
  /** Map an abort-signal reason token to its typed terminal RunReason. The
11
35
  * abort reason is the ONE channel a cancel's provenance survives on — before
@@ -1 +1 @@
1
- {"version":3,"file":"runTerminalHelpers.d.ts","sourceRoot":"","sources":["../src/runTerminalHelpers.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,KAAK,gBAAgB,EAKrB,KAAK,eAAe,IAAI,mBAAmB,EAC5C,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAGjE,OAAO,EAA2B,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC1F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAInE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CASvE;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,EACvC,MAAM,EAAE,qBAAqB,EAC7B,KAAK,EAAE,kBAAkB,GACxB,kBAAkB,CAkCpB;AAED,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,oBAAoB,EACnC,OAAO,EAAE,mBAAmB,GAC3B,oBAAoB,CAOtB;AAED;;;;;;;;yBAQyB;AACzB,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,OAAO,GACd,qBAAqB,GAAG,gBAAgB,CAG1C;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,mBAAmB,GACzB,mBAAmB,CAErB;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,mBAAmB,CAmBhG;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,mBAAmB,GAAG,MAAM,GAAG,IAAI,CAMlE;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAOlE;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,mBAAmB,GAAG,mBAAmB,GAAG,IAAI,CAWnF;AAED,wBAAgB,eAAe,CAC7B,CAAC,EAAE,mBAAmB,EACtB,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,kBAAkB,CAgBpB"}
1
+ {"version":3,"file":"runTerminalHelpers.d.ts","sourceRoot":"","sources":["../src/runTerminalHelpers.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,KAAK,gBAAgB,EAKrB,KAAK,kBAAkB,EACvB,KAAK,eAAe,IAAI,mBAAmB,EAC5C,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAKjE,OAAO,EAA2B,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC1F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAQnE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CASvE;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,EACvC,MAAM,EAAE,qBAAqB,EAC7B,KAAK,EAAE,kBAAkB,GACxB,kBAAkB,CAoCpB;AAED;sFACsF;AACtF,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,mBAAmB,EAC5B,MAAM,EAAE,MAAM,GACb;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,kBAAkB,EAAE,CAAA;CAAE,CAOzD;AAED,gFAAgF;AAChF,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,mBAAmB,EAC5B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,qBAAqB,CA8BvB;AAED,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,oBAAoB,EACnC,OAAO,EAAE,mBAAmB,GAC3B,oBAAoB,CAOtB;AAED;;;;;;;;yBAQyB;AACzB,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,OAAO,GACd,qBAAqB,GAAG,gBAAgB,CAG1C;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,mBAAmB,GACzB,mBAAmB,CAErB;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,mBAAmB,CAmBhG;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,mBAAmB,GAAG,MAAM,GAAG,IAAI,CAMlE;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAOlE;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,mBAAmB,GAAG,mBAAmB,GAAG,IAAI,CAWnF;AAED,wBAAgB,eAAe,CAC7B,CAAC,EAAE,mBAAmB,EACtB,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,kBAAkB,CAgBpB"}
@@ -7,9 +7,10 @@ import { join } from "node:path";
7
7
  import { makeOutcomeFacts, needsOperatorAttention, normalizeCancelReasonCode, RunOutcomeFacts, } from "@claudexor/schema";
8
8
  import { readTextSafe } from "@claudexor/util";
9
9
  import { budgetFailureRecord, classifyBudgetFailure } from "./budgetFailure.js";
10
+ import { poolFailure } from "./pool-attempt-evidence.js";
10
11
  import { reconcileDecisionBudget } from "./decisionBudget.js";
11
- import { writeFailure } from "./runTerminalResults.js";
12
- import { reconcileWorkProductTerminal, terminalOutcomeFacts } from "./terminalOutcome.js";
12
+ import { cancellationStatement, writeFailure } from "./runTerminalResults.js";
13
+ import { clearFailureArtifact, reconcileWorkProductTerminal, terminalOutcomeFacts, } from "./terminalOutcome.js";
13
14
  export function ownsDelegateDrain(context) {
14
15
  try {
15
16
  return context.recheckBudgetAfterBarrier?.() === true;
@@ -26,8 +27,13 @@ export function postDrainBudgetFailure(context, terminal, budget, prior) {
26
27
  const facts = terminalOutcomeFacts(prior.facts, "failed", mapping.reason);
27
28
  reconcileDecisionBudget(context, budget, { facts, why: mapping.safeMessage });
28
29
  reconcileWorkProductTerminal(context, facts);
29
- context.store.writeText(join(context.paths.finalDir, "summary.md"), `# Run ${context.runId} (${context.mode})\n\n- Lifecycle: failed (${mapping.reason})\n- Phase: budget\n\n${mapping.safeMessage}\n`);
30
- writeFailure(context.store, context.paths, budgetFailureRecord(mapping, { runDir: context.paths.root }));
30
+ const { message, poolAttempts } = poolFailure(mapping.safeMessage, context.attempts?.() ?? []);
31
+ context.store.writeText(join(context.paths.finalDir, "summary.md"), `# Run ${context.runId} (${context.mode})\n\n- Lifecycle: failed (${mapping.reason})\n- Phase: budget\n\n${message}\n`);
32
+ writeFailure(context.store, context.paths, {
33
+ ...budgetFailureRecord(mapping, { runDir: context.paths.root }),
34
+ safeMessage: message,
35
+ poolAttempts,
36
+ });
31
37
  context.log.emit("output.ready", {
32
38
  kind: "summary",
33
39
  path: "final/summary.md",
@@ -38,17 +44,74 @@ export function postDrainBudgetFailure(context, terminal, budget, prior) {
38
44
  facts,
39
45
  reason: mapping.reason,
40
46
  phase: "budget",
41
- error: mapping.safeMessage,
47
+ error: message,
48
+ pool_attempts: poolAttempts,
42
49
  failure_ref: "final/failure.yaml",
43
50
  });
44
51
  return {
45
52
  ...prior,
46
53
  lifecycle: "failed",
47
54
  facts,
48
- summary: mapping.safeMessage,
55
+ summary: message,
49
56
  spendUsd: budget.spendUsd,
50
57
  };
51
58
  }
59
+ /** The terminal-facts failure's message with the run's list, like every
60
+ * failure terminal; an unreadable history costs only the list, never the terminal. */
61
+ export function terminalFactsFailure(context, detail) {
62
+ const message = `terminal facts preparation failed: ${detail}`;
63
+ try {
64
+ return poolFailure(message, context.attempts?.() ?? []);
65
+ }
66
+ catch {
67
+ return { message, poolAttempts: [] };
68
+ }
69
+ }
70
+ /**
71
+ * The cancel landed after the strategy's last checkpoint, so the terminal
72
+ * commit (not the strategy) chose it: state it like every cancelled terminal.
73
+ * The run's collected attempts name their earlier failed tries on the event and
74
+ * in summary.md; the verdict's own failure cause and record are not the
75
+ * cancel's (a cancellation has none), except a record that carries capture
76
+ * facts: it stays on the public failure surface re-labelled with this same
77
+ * statement (`clearFailureArtifact`), and the event keeps its address. Best
78
+ * effort: an unreadable history costs only the list, an unwritable artifact
79
+ * never the terminal.
80
+ */
81
+ export function commitCancellation(context, signal, payload) {
82
+ let attempts = null;
83
+ try {
84
+ attempts = context.attempts?.() ?? null;
85
+ }
86
+ catch {
87
+ /* the cancellation stands without its list */
88
+ }
89
+ const statement = cancellationStatement(context.runId, context.mode, signal, attempts ?? []);
90
+ try {
91
+ context.store.writeText(join(context.paths.finalDir, "summary.md"), statement.markdown);
92
+ }
93
+ catch {
94
+ /* the terminal event remains the authority */
95
+ }
96
+ let failureKept = false;
97
+ try {
98
+ failureKept = clearFailureArtifact(context, { summary: statement.summary });
99
+ }
100
+ catch {
101
+ /* the terminal event remains the authority */
102
+ }
103
+ const { phase: _phase, error: _error, failure_ref: _failureRef, ...kept } = payload;
104
+ return {
105
+ summary: statement.summary,
106
+ ...(statement.cancelReason ? { cancelReason: statement.cancelReason } : {}),
107
+ payload: {
108
+ ...kept,
109
+ ...(failureKept ? { failure_ref: "final/failure.yaml" } : {}),
110
+ ...(statement.cancelReason ? { cancel_reason: statement.cancelReason } : {}),
111
+ ...(attempts ? { pool_attempts: statement.poolAttempts } : {}),
112
+ },
113
+ };
114
+ }
52
115
  export function terminalEventTypeFor(_originalType, outcome) {
53
116
  if (outcome.lifecycle !== "succeeded")
54
117
  return "run.failed";
@@ -1 +1 @@
1
- {"version":3,"file":"runTerminalHelpers.js","sourceRoot":"","sources":["../src/runTerminalHelpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAEL,gBAAgB,EAChB,sBAAsB,EACtB,yBAAyB,EACzB,eAAe,GAEhB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAA8B,MAAM,qBAAqB,CAAC;AAG1F,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE1F,MAAM,UAAU,iBAAiB,CAAC,OAA4B;IAC5D,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,yBAAyB,EAAE,EAAE,KAAK,IAAI,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,yEAAyE;QACzE,0EAA0E;QAC1E,8DAA8D;QAC9D,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,OAA4B,EAC5B,QAAuC,EACvC,MAA6B,EAC7B,KAAyB;IAEzB,MAAM,OAAO,GAAG,qBAAqB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1E,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9E,4BAA4B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7C,OAAO,CAAC,KAAK,CAAC,SAAS,CACrB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,EAC1C,SAAS,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,IAAI,6BAA6B,OAAO,CAAC,MAAM,yBAAyB,OAAO,CAAC,WAAW,IAAI,CACnI,CAAC;IACF,YAAY,CACV,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,KAAK,EACb,mBAAmB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAC7D,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE;QAC/B,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,YAAY;KACpB,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE;QAC7B,SAAS,EAAE,QAAQ;QACnB,KAAK;QACL,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,OAAO,CAAC,WAAW;QAC1B,WAAW,EAAE,oBAAoB;KAClC,CAAC,CAAC;IACH,OAAO;QACL,GAAG,KAAK;QACR,SAAS,EAAE,QAAQ;QACnB,KAAK;QACL,OAAO,EAAE,OAAO,CAAC,WAAW;QAC5B,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,aAAmC,EACnC,OAA4B;IAE5B,IAAI,OAAO,CAAC,SAAS,KAAK,WAAW;QAAE,OAAO,YAAY,CAAC;IAC3D,IAAI,sBAAsB,CAAC,OAAO,EAAE,KAAK,CAAC;QAAE,OAAO,aAAa,CAAC;IACjE,uEAAuE;IACvE,2EAA2E;IAC3E,sDAAsD;IACtD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;;;;;;;yBAQyB;AACzB,MAAM,UAAU,2BAA2B,CACzC,MAAe;IAEf,IAAI,MAAM,KAAK,qBAAqB;QAAE,OAAO,qBAAqB,CAAC;IACnE,OAAO,yBAAyB,CAAC,MAAM,CAAC,IAAI,gBAAgB,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,MAAmB,EACnB,KAA0B;IAE1B,OAAO,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,2BAA2B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAAgC;IACzE,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC;IACvC,oEAAoE;IACpE,4EAA4E;IAC5E,sEAAsE;IACtE,gDAAgD;IAChD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;QAC5D,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QACvC,IACE,SAAS,KAAK,WAAW;YACzB,SAAS,KAAK,QAAQ;YACtB,SAAS,KAAK,WAAW;YACzB,SAAS,KAAK,aAAa,EAC3B,CAAC;YACD,OAAO,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IACD,OAAO,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAsB;IACjD,IAAI,CAAC;QACH,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAc;IACvD,OAAO,CACL,CAAC,CAAC,KAAK;QACP,OAAO,KAAK,KAAK,QAAQ;QACzB,MAAM,IAAI,KAAK;QACd,KAA4B,CAAC,IAAI,KAAK,4BAA4B,CACpE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,CAAsB;IACrD,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC;SACzC,OAAO,EAAE;SACT,IAAI,CACH,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,KAAK,eAAe;QAC9B,KAAK,CAAC,IAAI,KAAK,aAAa;QAC5B,KAAK,CAAC,IAAI,KAAK,YAAY,CAC9B,CAAC;IACJ,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACrE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,CAAsB,EACtB,OAA4B,EAC5B,QAAuB;IAEvB,MAAM,OAAO,GACX,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;QACxE,yCAAyC,OAAO,CAAC,SAAS,EAAE,CAAC;IAC/D,OAAO;QACL,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI;QACpB,OAAO;QACP,UAAU,EAAE,EAAE;QACd,QAAQ;KACT,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"runTerminalHelpers.js","sourceRoot":"","sources":["../src/runTerminalHelpers.ts"],"names":[],"mappings":"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"}