@claudexor/orchestrator 5.0.2 → 6.0.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 (249) hide show
  1. package/dist/account-evidence.d.ts +7 -0
  2. package/dist/account-evidence.d.ts.map +1 -1
  3. package/dist/account-evidence.js +12 -0
  4. package/dist/account-evidence.js.map +1 -1
  5. package/dist/account-pool.d.ts +4 -0
  6. package/dist/account-pool.d.ts.map +1 -1
  7. package/dist/account-pool.js +8 -1
  8. package/dist/account-pool.js.map +1 -1
  9. package/dist/account-resolution.d.ts.map +1 -1
  10. package/dist/account-resolution.js +7 -5
  11. package/dist/account-resolution.js.map +1 -1
  12. package/dist/attemptFinalize.d.ts +22 -7
  13. package/dist/attemptFinalize.d.ts.map +1 -1
  14. package/dist/attemptFinalize.js +29 -7
  15. package/dist/attemptFinalize.js.map +1 -1
  16. package/dist/attemptTelemetry.d.ts +19 -18
  17. package/dist/attemptTelemetry.d.ts.map +1 -1
  18. package/dist/attemptTelemetry.js +33 -79
  19. package/dist/attemptTelemetry.js.map +1 -1
  20. package/dist/attemptUsage.d.ts.map +1 -1
  21. package/dist/attemptUsage.js +6 -14
  22. package/dist/attemptUsage.js.map +1 -1
  23. package/dist/attemptUsageCost.d.ts +11 -2
  24. package/dist/attemptUsageCost.d.ts.map +1 -1
  25. package/dist/attemptUsageCost.js +16 -3
  26. package/dist/attemptUsageCost.js.map +1 -1
  27. package/dist/candidateEvidence.d.ts +33 -8
  28. package/dist/candidateEvidence.d.ts.map +1 -1
  29. package/dist/candidateEvidence.js +58 -24
  30. package/dist/candidateEvidence.js.map +1 -1
  31. package/dist/candidateReview.d.ts.map +1 -1
  32. package/dist/candidateReview.js +4 -2
  33. package/dist/candidateReview.js.map +1 -1
  34. package/dist/candidateTerminals.d.ts +27 -1
  35. package/dist/candidateTerminals.d.ts.map +1 -1
  36. package/dist/candidateTerminals.js +51 -2
  37. package/dist/candidateTerminals.js.map +1 -1
  38. package/dist/carrier-planner.d.ts +5 -2
  39. package/dist/carrier-planner.d.ts.map +1 -1
  40. package/dist/carrier-planner.js +6 -3
  41. package/dist/carrier-planner.js.map +1 -1
  42. package/dist/command-telemetry.d.ts +15 -0
  43. package/dist/command-telemetry.d.ts.map +1 -0
  44. package/dist/command-telemetry.js +27 -0
  45. package/dist/command-telemetry.js.map +1 -0
  46. package/dist/continuation-evidence-io.d.ts +13 -3
  47. package/dist/continuation-evidence-io.d.ts.map +1 -1
  48. package/dist/continuation-evidence-io.js +36 -4
  49. package/dist/continuation-evidence-io.js.map +1 -1
  50. package/dist/continuation-evidence.d.ts +7 -2
  51. package/dist/continuation-evidence.d.ts.map +1 -1
  52. package/dist/continuation-evidence.js +16 -4
  53. package/dist/continuation-evidence.js.map +1 -1
  54. package/dist/continuation-later.d.ts.map +1 -1
  55. package/dist/continuation-later.js +6 -6
  56. package/dist/continuation-later.js.map +1 -1
  57. package/dist/continuity-facts.d.ts +27 -1
  58. package/dist/continuity-facts.d.ts.map +1 -1
  59. package/dist/continuity-facts.js +72 -4
  60. package/dist/continuity-facts.js.map +1 -1
  61. package/dist/continuity-notice.d.ts.map +1 -1
  62. package/dist/continuity-notice.js +2 -1
  63. package/dist/continuity-notice.js.map +1 -1
  64. package/dist/continuity-summary.d.ts +7 -1
  65. package/dist/continuity-summary.d.ts.map +1 -1
  66. package/dist/continuity-summary.js +33 -13
  67. package/dist/continuity-summary.js.map +1 -1
  68. package/dist/continuity.d.ts +36 -8
  69. package/dist/continuity.d.ts.map +1 -1
  70. package/dist/continuity.js +96 -21
  71. package/dist/continuity.js.map +1 -1
  72. package/dist/credential-cooldown.d.ts +7 -0
  73. package/dist/credential-cooldown.d.ts.map +1 -1
  74. package/dist/credential-cooldown.js +31 -5
  75. package/dist/credential-cooldown.js.map +1 -1
  76. package/dist/credential-differential.d.ts +15 -1
  77. package/dist/credential-differential.d.ts.map +1 -1
  78. package/dist/credential-differential.js +32 -17
  79. package/dist/credential-differential.js.map +1 -1
  80. package/dist/credential-execution.d.ts.map +1 -1
  81. package/dist/credential-execution.js +14 -15
  82. package/dist/credential-execution.js.map +1 -1
  83. package/dist/credential-preflight.js +1 -1
  84. package/dist/credential-preflight.js.map +1 -1
  85. package/dist/credential-profile-rotation.d.ts +1 -0
  86. package/dist/credential-profile-rotation.d.ts.map +1 -1
  87. package/dist/credential-profile-rotation.js +1 -1
  88. package/dist/credential-profile-rotation.js.map +1 -1
  89. package/dist/deepScanReducer.d.ts.map +1 -1
  90. package/dist/deepScanReducer.js +8 -18
  91. package/dist/deepScanReducer.js.map +1 -1
  92. package/dist/delegatedHome.d.ts +12 -7
  93. package/dist/delegatedHome.d.ts.map +1 -1
  94. package/dist/delegatedHome.js +16 -4
  95. package/dist/delegatedHome.js.map +1 -1
  96. package/dist/delegationFailure.d.ts +9 -8
  97. package/dist/delegationFailure.d.ts.map +1 -1
  98. package/dist/delegationFailure.js +7 -5
  99. package/dist/delegationFailure.js.map +1 -1
  100. package/dist/directoryCandidate.d.ts.map +1 -1
  101. package/dist/directoryCandidate.js +35 -5
  102. package/dist/directoryCandidate.js.map +1 -1
  103. package/dist/harnessFailure.d.ts +26 -5
  104. package/dist/harnessFailure.d.ts.map +1 -1
  105. package/dist/harnessFailure.js +41 -6
  106. package/dist/harnessFailure.js.map +1 -1
  107. package/dist/index.d.ts +2 -2
  108. package/dist/index.d.ts.map +1 -1
  109. package/dist/index.js +2 -1
  110. package/dist/index.js.map +1 -1
  111. package/dist/inrun-continuity-carrier.d.ts +4 -1
  112. package/dist/inrun-continuity-carrier.d.ts.map +1 -1
  113. package/dist/inrun-continuity-carrier.js +2 -0
  114. package/dist/inrun-continuity-carrier.js.map +1 -1
  115. package/dist/inrun-continuity.d.ts +2 -2
  116. package/dist/inrun-continuity.d.ts.map +1 -1
  117. package/dist/inrun-continuity.js +22 -19
  118. package/dist/inrun-continuity.js.map +1 -1
  119. package/dist/inrun-retained-output.d.ts +18 -4
  120. package/dist/inrun-retained-output.d.ts.map +1 -1
  121. package/dist/inrun-retained-output.js +39 -8
  122. package/dist/inrun-retained-output.js.map +1 -1
  123. package/dist/interaction.d.ts +14 -1
  124. package/dist/interaction.d.ts.map +1 -1
  125. package/dist/interaction.js +91 -22
  126. package/dist/interaction.js.map +1 -1
  127. package/dist/laneStreamEvents.d.ts +9 -10
  128. package/dist/laneStreamEvents.d.ts.map +1 -1
  129. package/dist/laneStreamEvents.js +21 -7
  130. package/dist/laneStreamEvents.js.map +1 -1
  131. package/dist/modelGovernance.d.ts +10 -4
  132. package/dist/modelGovernance.d.ts.map +1 -1
  133. package/dist/modelGovernance.js +21 -1
  134. package/dist/modelGovernance.js.map +1 -1
  135. package/dist/native-retry-telemetry.d.ts +4 -1
  136. package/dist/native-retry-telemetry.d.ts.map +1 -1
  137. package/dist/native-retry-telemetry.js +6 -1
  138. package/dist/native-retry-telemetry.js.map +1 -1
  139. package/dist/orchestrator.d.ts +7 -1
  140. package/dist/orchestrator.d.ts.map +1 -1
  141. package/dist/orchestrator.js +129 -139
  142. package/dist/orchestrator.js.map +1 -1
  143. package/dist/planRun.d.ts.map +1 -1
  144. package/dist/planRun.js +7 -8
  145. package/dist/planRun.js.map +1 -1
  146. package/dist/plannerAttempt.d.ts +1 -0
  147. package/dist/plannerAttempt.d.ts.map +1 -1
  148. package/dist/plannerAttempt.js +14 -19
  149. package/dist/plannerAttempt.js.map +1 -1
  150. package/dist/pool-attempt-evidence.d.ts +5 -1
  151. package/dist/pool-attempt-evidence.d.ts.map +1 -1
  152. package/dist/pool-attempt-evidence.js +36 -4
  153. package/dist/pool-attempt-evidence.js.map +1 -1
  154. package/dist/processing-telemetry.d.ts +3 -1
  155. package/dist/processing-telemetry.d.ts.map +1 -1
  156. package/dist/processing-telemetry.js +11 -0
  157. package/dist/processing-telemetry.js.map +1 -1
  158. package/dist/quota-refusal-scope.d.ts +1 -0
  159. package/dist/quota-refusal-scope.d.ts.map +1 -1
  160. package/dist/quota-refusal-scope.js +29 -1
  161. package/dist/quota-refusal-scope.js.map +1 -1
  162. package/dist/rawPatchLane.d.ts +68 -0
  163. package/dist/rawPatchLane.d.ts.map +1 -0
  164. package/dist/rawPatchLane.js +116 -0
  165. package/dist/rawPatchLane.js.map +1 -0
  166. package/dist/readonlyTerminals.d.ts +0 -3
  167. package/dist/readonlyTerminals.d.ts.map +1 -1
  168. package/dist/readonlyTerminals.js +36 -14
  169. package/dist/readonlyTerminals.js.map +1 -1
  170. package/dist/requestRequirements.d.ts +5 -4
  171. package/dist/requestRequirements.d.ts.map +1 -1
  172. package/dist/requestRequirements.js +6 -5
  173. package/dist/requestRequirements.js.map +1 -1
  174. package/dist/retainedOutput.d.ts +19 -2
  175. package/dist/retainedOutput.d.ts.map +1 -1
  176. package/dist/retainedOutput.js +83 -12
  177. package/dist/retainedOutput.js.map +1 -1
  178. package/dist/reviewerInventory.d.ts +2 -8
  179. package/dist/reviewerInventory.d.ts.map +1 -1
  180. package/dist/reviewerInventory.js +2 -3
  181. package/dist/reviewerInventory.js.map +1 -1
  182. package/dist/reviewerPanel.d.ts +1 -1
  183. package/dist/reviewerPanel.d.ts.map +1 -1
  184. package/dist/reviewerPanel.js +9 -4
  185. package/dist/reviewerPanel.js.map +1 -1
  186. package/dist/route-admission.d.ts.map +1 -1
  187. package/dist/route-admission.js +3 -1
  188. package/dist/route-admission.js.map +1 -1
  189. package/dist/routeControls.d.ts +32 -0
  190. package/dist/routeControls.d.ts.map +1 -0
  191. package/dist/routeControls.js +47 -0
  192. package/dist/routeControls.js.map +1 -0
  193. package/dist/run-input-resolution.d.ts +5 -0
  194. package/dist/run-input-resolution.d.ts.map +1 -1
  195. package/dist/run-input-resolution.js +12 -6
  196. package/dist/run-input-resolution.js.map +1 -1
  197. package/dist/run-runtime-root.d.ts +16 -0
  198. package/dist/run-runtime-root.d.ts.map +1 -0
  199. package/dist/run-runtime-root.js +16 -0
  200. package/dist/run-runtime-root.js.map +1 -0
  201. package/dist/runAdmission.d.ts.map +1 -1
  202. package/dist/runAdmission.js +2 -1
  203. package/dist/runAdmission.js.map +1 -1
  204. package/dist/runFacts.d.ts +5 -2
  205. package/dist/runFacts.d.ts.map +1 -1
  206. package/dist/runFacts.js +11 -11
  207. package/dist/runFacts.js.map +1 -1
  208. package/dist/runScope.d.ts +2 -0
  209. package/dist/runScope.d.ts.map +1 -1
  210. package/dist/runScope.js +3 -2
  211. package/dist/runScope.js.map +1 -1
  212. package/dist/runSupport.d.ts +3 -1
  213. package/dist/runSupport.d.ts.map +1 -1
  214. package/dist/runSupport.js +6 -3
  215. package/dist/runSupport.js.map +1 -1
  216. package/dist/runTelemetryWriter.d.ts +18 -5
  217. package/dist/runTelemetryWriter.d.ts.map +1 -1
  218. package/dist/runTelemetryWriter.js +7 -2
  219. package/dist/runTelemetryWriter.js.map +1 -1
  220. package/dist/runTerminalResults.d.ts.map +1 -1
  221. package/dist/runTerminalResults.js +36 -9
  222. package/dist/runTerminalResults.js.map +1 -1
  223. package/dist/runTerminals.d.ts.map +1 -1
  224. package/dist/runTerminals.js +13 -5
  225. package/dist/runTerminals.js.map +1 -1
  226. package/dist/secretDiff.d.ts.map +1 -1
  227. package/dist/secretDiff.js +2 -1
  228. package/dist/secretDiff.js.map +1 -1
  229. package/dist/transientClassify.d.ts +17 -9
  230. package/dist/transientClassify.d.ts.map +1 -1
  231. package/dist/transientClassify.js +33 -9
  232. package/dist/transientClassify.js.map +1 -1
  233. package/dist/webEvidence.d.ts +41 -0
  234. package/dist/webEvidence.d.ts.map +1 -0
  235. package/dist/webEvidence.js +99 -0
  236. package/dist/webEvidence.js.map +1 -0
  237. package/dist/workReportEnvelope.d.ts +12 -0
  238. package/dist/workReportEnvelope.d.ts.map +1 -1
  239. package/dist/workReportEnvelope.js +19 -0
  240. package/dist/workReportEnvelope.js.map +1 -1
  241. package/package.json +17 -17
  242. package/dist/continuation-chain.test-support.d.ts +0 -473
  243. package/dist/continuation-chain.test-support.d.ts.map +0 -1
  244. package/dist/continuation-chain.test-support.js +0 -206
  245. package/dist/continuation-chain.test-support.js.map +0 -1
  246. package/dist/inrun-continuity.test-support.d.ts +0 -504
  247. package/dist/inrun-continuity.test-support.d.ts.map +0 -1
  248. package/dist/inrun-continuity.test-support.js +0 -212
  249. package/dist/inrun-continuity.test-support.js.map +0 -1
@@ -0,0 +1,68 @@
1
+ /**
2
+ * One candidate lane's raw patch custody across its tries (#147, #551): the packet
3
+ * each dispatch sizes, the envelope its answer carries and the refusal that ends a
4
+ * try. Each dispatch describes the exact tree the candidate holds at that moment,
5
+ * while the envelope's `base_sha` stays the run's delivery base, so a later round
6
+ * revises the earlier one and the captured result from that base holds them all.
7
+ */
8
+ import { type RawContextOptions } from "@claudexor/context";
9
+ import type { RawRequestCapacity } from "@claudexor/core";
10
+ import { RawPatchRefusalCode, type HarnessEvent, type ImplementationTransport, type RawContextPacket, type WorkspaceEnvelope } from "@claudexor/schema";
11
+ import { RawPatchRefusalError } from "@claudexor/workspace";
12
+ import type { CandidateRun } from "./candidateEvidence.js";
13
+ export declare class RawPatchLane {
14
+ private readonly envelope;
15
+ private readonly producesPatches;
16
+ private packet;
17
+ private patch;
18
+ /** This try's typed refusal: the attempt's declared failure, and no retry. */
19
+ refusal: RawPatchRefusalError | null;
20
+ /** What the per-spawn gate needs to size this lane's packet from its catalog read. */
21
+ readonly dispatch: {
22
+ rawContext?: (capacity: RawRequestCapacity | null) => Promise<RawContextPacket>;
23
+ };
24
+ constructor(transport: ImplementationTransport, envelope: WorkspaceEnvelope, context: RawContextOptions);
25
+ /** A patch binds only the packet its own try sent. */
26
+ beginTry(): void;
27
+ observe(event: HarnessEvent): void;
28
+ /** Materialize the answer of a try that ended without a harness error. */
29
+ settle(harnessErrored: boolean): Promise<void>;
30
+ /** Keep a thrown refusal as this try's failure; false for any other throw. */
31
+ refused(err: unknown): boolean;
32
+ }
33
+ /**
34
+ * One run's Raw membership between a persistent worktree and its isolated candidates
35
+ * (#594). Membership is scoped to a Git worktree: a thread's persistent worktree is the
36
+ * source of the next turn, but a raw transport still executes in a disposable candidate.
37
+ * What a candidate would bring back stays apart from the worktree until adoption, and
38
+ * only the winner's is published; its envelope is gone by then, so the record travels
39
+ * with the attempt. An ordinary directory has no Git worktree and so no membership.
40
+ */
41
+ export declare class RawAdoption {
42
+ private readonly execRoot;
43
+ private readonly records;
44
+ private readonly inPlace;
45
+ constructor(execRoot: string, run: {
46
+ inPlace?: boolean;
47
+ workspaceKind?: string;
48
+ });
49
+ /** Give a candidate the worktree's private record before RawPatchLane sizes its packet. */
50
+ seed(worktree: string): Promise<void>;
51
+ /** Hold a finished candidate's record for adoption, its objects copied, no ref moved. */
52
+ keep(attemptId: string, worktree: string): Promise<void>;
53
+ /** The adoption already stands: a record that cannot follow it is reported, never a
54
+ * reason to call the delivered work undelivered. */
55
+ publish(attemptId: string): Promise<{
56
+ raw_records_error?: string;
57
+ }>;
58
+ }
59
+ /** The typed code of a round whose patch the engine refused for a reason the model
60
+ * can correct, else null. That patch was not applied, so the round has no result of
61
+ * its own: the candidate still holds an earlier round's result, and this round's
62
+ * failure is the refusal, never a repeat of that result (INV-047). */
63
+ export declare function correctableRefusal(run: CandidateRun): RawPatchRefusalCode | null;
64
+ /** Failures another convergence round cannot repair: a refused request, a rejected
65
+ * effort, and a raw refusal the model's next patch cannot correct. Every other
66
+ * failure, a correctable refusal included, goes back through the revise prompt. */
67
+ export declare function endsConvergence(run: CandidateRun): boolean;
68
+ //# sourceMappingURL=rawPatchLane.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rawPatchLane.d.ts","sourceRoot":"","sources":["../src/rawPatchLane.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EACL,mBAAmB,EACnB,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EAErB,KAAK,iBAAiB,EACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,oBAAoB,EASrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAG3D,qBAAa,YAAY;IAarB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAZ3B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;IAC1C,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,KAAK,CAAoC;IACjD,8EAA8E;IAC9E,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAQ;IAC5C,sFAAsF;IACtF,QAAQ,CAAC,QAAQ,EAAE;QACjB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;KACjF,CAAC;IAEF,YACE,SAAS,EAAE,uBAAuB,EACjB,QAAQ,EAAE,iBAAiB,EAC5C,OAAO,EAAE,iBAAiB,EAU3B;IAED,sDAAsD;IACtD,QAAQ,IAAI,IAAI,CAEf;IAED,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAUjC;IAED,0EAA0E;IACpE,MAAM,CAAC,cAAc,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CASnD;IAED,8EAA8E;IAC9E,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAI7B;CACF;AAED;;;;;;;GAOG;AACH,qBAAa,WAAW;IAKpB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJ3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;IACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAElC,YACmB,QAAQ,EAAE,MAAM,EACjC,GAAG,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,EAGnD;IAED,2FAA2F;IACrF,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1C;IAED,yFAAyF;IACnF,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG7D;IAED;wDACoD;IAC9C,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAOxE;CACF;AAED;;;sEAGsE;AACtE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY,GAAG,mBAAmB,GAAG,IAAI,CAGhF;AAED;;mFAEmF;AACnF,wBAAgB,eAAe,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAO1D"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * One candidate lane's raw patch custody across its tries (#147, #551): the packet
3
+ * each dispatch sizes, the envelope its answer carries and the refusal that ends a
4
+ * try. Each dispatch describes the exact tree the candidate holds at that moment,
5
+ * while the envelope's `base_sha` stays the run's delivery base, so a later round
6
+ * revises the earlier one and the captured result from that base holds them all.
7
+ */
8
+ import { rawContextSizer } from "@claudexor/context";
9
+ import { RawPatchRefusalCode, } from "@claudexor/schema";
10
+ import { RawPatchRefusalError, captureRawPatchEnvelope, consumeRawPatchEnvelope, exportRawRecords, publishRawRecords, rawCandidateTree, rawPatchRefusalIsModelCorrectable, transferRawRecords, } from "@claudexor/workspace";
11
+ import { safeErrorMessage } from "./runSupport.js";
12
+ export class RawPatchLane {
13
+ envelope;
14
+ producesPatches;
15
+ packet = null;
16
+ patch = null;
17
+ /** This try's typed refusal: the attempt's declared failure, and no retry. */
18
+ refusal = null;
19
+ /** What the per-spawn gate needs to size this lane's packet from its catalog read. */
20
+ dispatch;
21
+ constructor(transport, envelope, context) {
22
+ this.envelope = envelope;
23
+ const sizer = rawContextSizer(transport, envelope, context);
24
+ this.producesPatches = sizer !== null;
25
+ this.dispatch = sizer
26
+ ? {
27
+ rawContext: async (capacity) => (this.packet = await sizer(capacity, await rawCandidateTree(envelope.worktree_path))),
28
+ }
29
+ : {};
30
+ }
31
+ /** A patch binds only the packet its own try sent. */
32
+ beginTry() {
33
+ this.packet = this.patch = this.refusal = null;
34
+ }
35
+ observe(event) {
36
+ this.patch = captureRawPatchEnvelope(this.producesPatches, this.patch, event);
37
+ // The adapter's own typed refusal is the same kind of failure: before any request
38
+ // (no packet, or over a known window) or after one (the answer was no patch). It
39
+ // is kept without a throw, so a usage event after it is still read.
40
+ if (event.type === "error" && event.refusal_code)
41
+ this.refusal ??= new RawPatchRefusalError(event.refusal_code, event.error ?? event.refusal_code);
42
+ }
43
+ /** Materialize the answer of a try that ended without a harness error. */
44
+ async settle(harnessErrored) {
45
+ if (!this.producesPatches || harnessErrored)
46
+ return;
47
+ await consumeRawPatchEnvelope({
48
+ repoRoot: this.envelope.repo_root,
49
+ worktreePath: this.envelope.worktree_path,
50
+ baseCommitSha: this.envelope.base_sha ?? "HEAD",
51
+ context: this.packet,
52
+ envelope: this.patch,
53
+ });
54
+ }
55
+ /** Keep a thrown refusal as this try's failure; false for any other throw. */
56
+ refused(err) {
57
+ if (!(err instanceof RawPatchRefusalError))
58
+ return false;
59
+ this.refusal = err;
60
+ return true;
61
+ }
62
+ }
63
+ /**
64
+ * One run's Raw membership between a persistent worktree and its isolated candidates
65
+ * (#594). Membership is scoped to a Git worktree: a thread's persistent worktree is the
66
+ * source of the next turn, but a raw transport still executes in a disposable candidate.
67
+ * What a candidate would bring back stays apart from the worktree until adoption, and
68
+ * only the winner's is published; its envelope is gone by then, so the record travels
69
+ * with the attempt. An ordinary directory has no Git worktree and so no membership.
70
+ */
71
+ export class RawAdoption {
72
+ execRoot;
73
+ records = new Map();
74
+ inPlace;
75
+ constructor(execRoot, run) {
76
+ this.execRoot = execRoot;
77
+ this.inPlace = run.inPlace === true && run.workspaceKind !== "directory";
78
+ }
79
+ /** Give a candidate the worktree's private record before RawPatchLane sizes its packet. */
80
+ async seed(worktree) {
81
+ if (this.inPlace)
82
+ await transferRawRecords(this.execRoot, worktree);
83
+ }
84
+ /** Hold a finished candidate's record for adoption, its objects copied, no ref moved. */
85
+ async keep(attemptId, worktree) {
86
+ if (!this.inPlace || worktree === this.execRoot)
87
+ return;
88
+ this.records.set(attemptId, await exportRawRecords(worktree, this.execRoot));
89
+ }
90
+ /** The adoption already stands: a record that cannot follow it is reported, never a
91
+ * reason to call the delivered work undelivered. */
92
+ async publish(attemptId) {
93
+ const records = this.records.get(attemptId);
94
+ if (!records)
95
+ return {};
96
+ return publishRawRecords(this.execRoot, records).then(() => ({}), (error) => ({ raw_records_error: safeErrorMessage(error) }));
97
+ }
98
+ }
99
+ /** The typed code of a round whose patch the engine refused for a reason the model
100
+ * can correct, else null. That patch was not applied, so the round has no result of
101
+ * its own: the candidate still holds an earlier round's result, and this round's
102
+ * failure is the refusal, never a repeat of that result (INV-047). */
103
+ export function correctableRefusal(run) {
104
+ const code = RawPatchRefusalCode.safeParse(run.declaredFailure?.code);
105
+ return code.success && rawPatchRefusalIsModelCorrectable(code.data) ? code.data : null;
106
+ }
107
+ /** Failures another convergence round cannot repair: a refused request, a rejected
108
+ * effort, and a raw refusal the model's next patch cannot correct. Every other
109
+ * failure, a correctable refusal included, goes back through the revise prompt. */
110
+ export function endsConvergence(run) {
111
+ const rawRefusal = RawPatchRefusalCode.safeParse(run.declaredFailure?.code);
112
+ return (Boolean(run.telemetry.requestRefusal) ||
113
+ run.telemetry.effortResolution?.resolution === "rejected" ||
114
+ (rawRefusal.success && !rawPatchRefusalIsModelCorrectable(rawRefusal.data)));
115
+ }
116
+ //# sourceMappingURL=rawPatchLane.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rawPatchLane.js","sourceRoot":"","sources":["../src/rawPatchLane.ts"],"names":[],"mappings":"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"}
@@ -19,9 +19,6 @@ export interface ReadonlyAttempt extends ContinuityTerminalFacts {
19
19
  * belongs in the denominator/omissions but never ran the harness, so the
20
20
  * all-denied terminal still routes through the QA-050 budget classifier. */
21
21
  budgetDenied?: boolean;
22
- /** D-16 r8: scout ran out of context — a failed omission, never reducer
23
- * input; ALL-interrupted terminalizes interrupted. */
24
- interrupted?: boolean;
25
22
  /** A5: the typed refusal (exhausted credential pool / spent window) this
26
23
  * attempt died on, so the chain terminal can speak it machine-readably. */
27
24
  declaredFailure?: ReturnType<typeof declaredFailure>;
@@ -1 +1 @@
1
- {"version":3,"file":"readonlyTerminals.d.ts","sourceRoot":"","sources":["../src/readonlyTerminals.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAoB,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAA8C,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEnG,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,0BAA0B,CAAC;AAOlC,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE7E,yFAAyF;AACzF,MAAM,WAAW,eAAgB,SAAQ,uBAAuB;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,gBAAgB,CAAC;IAC5B;;gFAE4E;IAC5E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;0DACsD;IACtD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;+EAC2E;IAC3E,eAAe,CAAC,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;CACtD;AAED,UAAU,uBAAuB;IAC/B,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,QAAQ,CAAC;IAChB,GAAG,EAAE,QAAQ,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,kBAAkB,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,gBAAgB,CAAA;KAAE,EAAE,CAAC;IAC5F,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,cAAc,IAAI,IAAI,CAAC;CACxB;AAED,uEAAuE;AACvE,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,uBAAuB,GAAG;IAAE,YAAY,EAAE,OAAO,CAAA;CAAE,GACzD,kBAAkB,CA2HpB;AAED,sFAAsF;AACtF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,uBAAuB,GAAG,kBAAkB,CAwFxF"}
1
+ {"version":3,"file":"readonlyTerminals.d.ts","sourceRoot":"","sources":["../src/readonlyTerminals.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAoB,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAM9D,OAAO,EAA8C,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEnG,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,0BAA0B,CAAC;AASlC,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE7E,yFAAyF;AACzF,MAAM,WAAW,eAAgB,SAAQ,uBAAuB;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,gBAAgB,CAAC;IAC5B;;gFAE4E;IAC5E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;+EAC2E;IAC3E,eAAe,CAAC,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;CACtD;AAED,UAAU,uBAAuB;IAC/B,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,QAAQ,CAAC;IAChB,GAAG,EAAE,QAAQ,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,kBAAkB,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,gBAAgB,CAAA;KAAE,EAAE,CAAC;IAC5F,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,cAAc,IAAI,IAAI,CAAC;CACxB;AAED,uEAAuE;AACvE,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,uBAAuB,GAAG;IAAE,YAAY,EAAE,OAAO,CAAA;CAAE,GACzD,kBAAkB,CAmIpB;AAED,sFAAsF;AACtF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,uBAAuB,GAAG,kBAAkB,CA0FxF"}
@@ -1,10 +1,10 @@
1
1
  import { join } from "node:path";
2
2
  import { makeOutcomeFacts } from "@claudexor/schema";
3
- import { readOnlyNoSuccessTerminal } from "./attemptFinalize.js";
3
+ import { attemptInterruption, readOnlyNoSuccessTerminal, } from "./attemptFinalize.js";
4
4
  import { budgetFailureRecord, classifyBudgetFailure } from "./budgetFailure.js";
5
5
  import { unanimousDeclaredFailure } from "./candidateEvidence.js";
6
6
  import { carryingAttempts, resumableTerminal, } from "./continuity-terminal.js";
7
- import { attemptVendorFailure, dominantHarnessFailureCategory, harnessFailureNextActions, } from "./harnessFailure.js";
7
+ import { attemptCauseLines, attemptVendorFailure, dominantHarnessFailureCategory, harnessFailureNextActions, withVendorCause, } from "./harnessFailure.js";
8
8
  import { poolFailure } from "./pool-attempt-evidence.js";
9
9
  import { writeFailure } from "./runTerminalResults.js";
10
10
  /** A read-only chain with no successful attempt (QA-036/QA-050/A5). */
@@ -19,8 +19,12 @@ export function readOnlyChainFailureResult(input) {
19
19
  const budgetMapping = budgetStopped && !webBlocked
20
20
  ? classifyBudgetFailure({ denial: budgetDenial, terminal: ledger.terminal() })
21
21
  : null;
22
+ // A typed limit that ended the last attempt is its outcome (#299), below budget and web.
23
+ const interruption = budgetMapping || webBlocked ? null : attemptInterruption(last?.telemetry);
24
+ // The last attempt speaks, with the vendor's own failure for its last try (#633).
25
+ const vendor = attemptVendorFailure(attemptTelemetries, last?.attemptId);
22
26
  const { message: singleError, poolAttempts } = poolFailure(budgetMapping?.safeMessage ??
23
- last?.error ??
27
+ (last?.error != null ? withVendorCause(last.error, vendor) : null) ??
24
28
  (budgetStopped ? "budget exhausted before any attempt" : "harness failed"), attempts);
25
29
  if (input.fallbackOpen || webBlocked) {
26
30
  log.emit("route.fallback.exhausted", {
@@ -32,7 +36,7 @@ export function readOnlyChainFailureResult(input) {
32
36
  }
33
37
  const partialReport = [...attempts].reverse().find((a) => a.report)?.report ?? "";
34
38
  input.writeTelemetry();
35
- store.writeText(join(paths.contextDir, "context_error.md"), `# ${budgetMapping ? "Budget Denied" : "Harness Error"}\n\n${singleError}\n`);
39
+ store.writeText(join(paths.contextDir, "context_error.md"), `# ${budgetMapping ? "Budget Denied" : interruption ? "Interrupted" : "Harness Error"}\n\n${singleError}\n`);
36
40
  const roEventRefs = attempts.map((a) => `attempts/${a.attemptId}/events.jsonl`);
37
41
  if (budgetMapping) {
38
42
  writeFailure(store, paths, {
@@ -60,9 +64,11 @@ export function readOnlyChainFailureResult(input) {
60
64
  resetsAt: roDeclared?.resetsAt ?? null,
61
65
  requestRefusal: roDeclared?.requestRefusal,
62
66
  quotaRefusal: roDeclared?.quotaRefusal,
63
- vendorFailure: attemptVendorFailure(attemptTelemetries, last?.attemptId),
67
+ vendorFailure: vendor,
64
68
  poolAttempts,
65
- nextActions: harnessFailureNextActions(roCategory),
69
+ nextActions: interruption
70
+ ? interruptionNextActions(interruption)
71
+ : harnessFailureNextActions(roCategory),
66
72
  });
67
73
  }
68
74
  // QA-036: re-check the DELIVERABLE through the shared finalizer helper —
@@ -74,10 +80,12 @@ export function readOnlyChainFailureResult(input) {
74
80
  budgetStopped,
75
81
  attemptsCount: attempts.length,
76
82
  });
77
- const terminalFacts = makeOutcomeFacts(roTerminal.lifecycle, {
78
- ...(roTerminal.review ? { review: roTerminal.review } : {}),
79
- reason: budgetMapping?.reason ?? roTerminal.reason,
80
- });
83
+ const terminalFacts = interruption
84
+ ? makeOutcomeFacts("interrupted", { reason: interruption })
85
+ : makeOutcomeFacts(roTerminal.lifecycle, {
86
+ ...(roTerminal.review ? { review: roTerminal.review } : {}),
87
+ reason: budgetMapping?.reason ?? roTerminal.reason,
88
+ });
81
89
  const terminalHarnessId = budgetMapping?.harnessId ?? last?.harnessId;
82
90
  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`);
83
91
  log.emit("output.ready", { kind: "summary", path: "final/summary.md", state: "diagnostic" });
@@ -131,16 +139,18 @@ export function deepScanFailureResult(input) {
131
139
  const scanBudgetMapping = budgetStopped && !blocked && attempts.every((a) => a.budgetDenied === true)
132
140
  ? classifyBudgetFailure({ denial: budgetDenial, terminal: ledger.terminal() })
133
141
  : null;
134
- // D-16 r8: ALL scouts out of context → the aggregate is interrupted.
135
- const allInterrupted = attempts.length > 0 && attempts.every((a) => a.interrupted === true);
142
+ // D-16 r8: ALL scouts stopped by a typed limit (context or the max-turns cap,
143
+ // also when the vendor then exited non-zero) → the aggregate is interrupted.
144
+ const limits = attempts.map((a) => attemptInterruption(a.telemetry));
145
+ const allInterrupted = attempts.length > 0 && limits.every((limit) => limit !== null);
136
146
  const scanFailFacts = allInterrupted
137
- ? makeOutcomeFacts("interrupted", { reason: "context_capacity_exhausted" })
147
+ ? makeOutcomeFacts("interrupted", { reason: limits[0] })
138
148
  : makeOutcomeFacts("failed", {
139
149
  reason: scanBudgetMapping ? scanBudgetMapping.reason : "harness_failed",
140
150
  });
141
151
  const { message, poolAttempts } = poolFailure(scanBudgetMapping
142
152
  ? scanBudgetMapping.safeMessage
143
- : attempts.map((a) => `${a.attemptId}/${a.harnessId}: ${a.error ?? "failed"}`).join("\n"), attempts);
153
+ : attemptCauseLines(attempts, attemptTelemetries).join("\n"), attempts);
144
154
  input.writeTelemetry();
145
155
  if (scanBudgetMapping) {
146
156
  writeFailure(store, paths, {
@@ -204,4 +214,16 @@ export function deepScanFailureResult(input) {
204
214
  })),
205
215
  };
206
216
  }
217
+ /** Remediation of a run a typed limit stopped: its partial output is evidence, never an answer. */
218
+ function interruptionNextActions(interruption) {
219
+ return interruption === "turn_limit_reached"
220
+ ? [
221
+ "Inspect the retained partial output (final/retained-output.md)",
222
+ "Continue this run (continueFrom) for more turns, or re-run without a max-turns limit",
223
+ ]
224
+ : [
225
+ "Inspect the retained partial output (final/retained-output.md)",
226
+ "Re-run with a narrower scope",
227
+ ];
228
+ }
207
229
  //# sourceMappingURL=readonlyTerminals.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"readonlyTerminals.js","sourceRoot":"","sources":["../src/readonlyTerminals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readonlyTerminals.js","sourceRoot":"","sources":["../src/readonlyTerminals.ts"],"names":[],"mappings":"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"}
@@ -47,10 +47,11 @@ export declare class RequestRequirementsError extends HarnessUnavailableError {
47
47
  export declare class RequestRequirementsResolver {
48
48
  /** Patch producers only read; the engine owns materialization and delivery. */
49
49
  adapterAccess(intent: Intent, implementationTransport: ImplementationTransport, requestedAccess: AccessProfile): AccessProfile;
50
- /** Project-scoped Ask is answered by the harness reading the project itself:
51
- * its prompt carries a path atlas, never file contents (#133). A lane that may
52
- * answer but cannot read files is refused before dispatch, while Ask without
53
- * a project needs no file access. Null = admitted, or another check speaks. */
50
+ /** Project-scoped Ask and Plan are answered by the harness reading the project
51
+ * itself: their prompt carries a path atlas, never file contents (#133, #137). A
52
+ * lane that may play them but cannot read files is refused before dispatch, which
53
+ * holds a Council's drafts and its merge too; work without a project needs no
54
+ * file access. Null = admitted, or another check speaks. */
54
55
  projectReadRefusal(intent: Intent, input: {
55
56
  repoRoot: string;
56
57
  }, status: {
@@ -1 +1 @@
1
- {"version":3,"file":"requestRequirements.d.ts","sourceRoot":"","sources":["../src/requestRequirements.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"requestRequirements.d.ts","sourceRoot":"","sources":["../src/requestRequirements.ts"],"names":[],"mappings":"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"}
@@ -22,12 +22,13 @@ export class RequestRequirementsResolver {
22
22
  ? "readonly"
23
23
  : requestedAccess;
24
24
  }
25
- /** Project-scoped Ask is answered by the harness reading the project itself:
26
- * its prompt carries a path atlas, never file contents (#133). A lane that may
27
- * answer but cannot read files is refused before dispatch, while Ask without
28
- * a project needs no file access. Null = admitted, or another check speaks. */
25
+ /** Project-scoped Ask and Plan are answered by the harness reading the project
26
+ * itself: their prompt carries a path atlas, never file contents (#133, #137). A
27
+ * lane that may play them but cannot read files is refused before dispatch, which
28
+ * holds a Council's drafts and its merge too; work without a project needs no
29
+ * file access. Null = admitted, or another check speaks. */
29
30
  projectReadRefusal(intent, input, status) {
30
- return intent === "explain" &&
31
+ return (intent === "explain" || intent === "plan" || intent === "spec") &&
31
32
  input.repoRoot !== NO_PROJECT_ROOT &&
32
33
  status.enabledIntents.includes(intent) &&
33
34
  status.manifest?.capabilities.read_files === false
@@ -1 +1 @@
1
- {"version":3,"file":"requestRequirements.js","sourceRoot":"","sources":["../src/requestRequirements.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"requestRequirements.js","sourceRoot":"","sources":["../src/requestRequirements.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,21 @@
1
1
  import type { AnnouncedRunContext } from "./runTerminalContext.js";
2
- /** A readable projection is independent of acceptance and never masks the original terminal. */
3
- export declare function publishRetainedOutput(context: AnnouncedRunContext, succeeded: boolean): void;
2
+ /** A readable projection is independent of acceptance and never masks the original
3
+ * terminal. Returns the path it announced (`output.ready`), else null. A failed
4
+ * terminal's record then names it (a cancellation keeps its own): an optional
5
+ * step after the announcement, whose own failure cannot undo it. */
6
+ export declare function publishRetainedOutput(context: AnnouncedRunContext, succeeded: boolean, failed?: boolean): string | null;
7
+ /** A failure record's message and references once they name the retained
8
+ * output at `path`. The notice that the file holds retained text, not an
9
+ * accepted final answer, follows the message's first line (the cause route
10
+ * health groups by) and precedes the rest of the original message, such as its
11
+ * account attempts, so a reader that bounds the message after a cause line of
12
+ * ordinary length still meets it; a very long cause line can still push it past
13
+ * such a bound. The original text is otherwise unchanged around it, and
14
+ * `logRefs` (run-relative, beside `runDir`) is the address. Only the failure
15
+ * record carries it: the terminal's event error and summaries keep their own
16
+ * text. */
17
+ export declare function namingRetainedOutput(safeMessage: string, logRefs: readonly string[], path: string): {
18
+ safeMessage: string;
19
+ logRefs: string[];
20
+ };
4
21
  //# sourceMappingURL=retainedOutput.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"retainedOutput.d.ts","sourceRoot":"","sources":["../src/retainedOutput.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,gGAAgG;AAChG,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CAuB5F"}
1
+ {"version":3,"file":"retainedOutput.d.ts","sourceRoot":"","sources":["../src/retainedOutput.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE;;;oEAGoE;AACpE,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,mBAAmB,EAC5B,SAAS,EAAE,OAAO,EAClB,MAAM,UAAQ,GACb,MAAM,GAAG,IAAI,CAmCf;AAED;;;;;;;;;WASW;AACX,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,IAAI,EAAE,MAAM,GACX;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAS5C"}
@@ -1,12 +1,19 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { renameSync, rmSync } from "node:fs";
3
+ import { join } from "node:path";
1
4
  import { writeRetainedOutput } from "@claudexor/event-log";
2
5
  import { redactSecrets } from "@claudexor/util";
3
- /** A readable projection is independent of acceptance and never masks the original terminal. */
4
- export function publishRetainedOutput(context, succeeded) {
6
+ /** A readable projection is independent of acceptance and never masks the original
7
+ * terminal. Returns the path it announced (`output.ready`), else null. A failed
8
+ * terminal's record then names it (a cancellation keeps its own): an optional
9
+ * step after the announcement, whose own failure cannot undo it. */
10
+ export function publishRetainedOutput(context, succeeded, failed = false) {
11
+ let path;
5
12
  try {
6
13
  const source = context.log.readAll();
7
- const path = writeRetainedOutput(context.paths.root, source, succeeded);
14
+ path = writeRetainedOutput(context.paths.root, source, succeeded);
8
15
  if (!path)
9
- return;
16
+ return null;
10
17
  const lastOutput = source.events.findLast((event) => event.type === "output.ready");
11
18
  context.log.emit("output.ready", {
12
19
  kind: "report",
@@ -15,17 +22,81 @@ export function publishRetainedOutput(context, succeeded) {
15
22
  });
16
23
  }
17
24
  catch (error) {
25
+ status(context, "Retained output could not be saved", `Retained output could not be saved: ${String(error)}`, {
26
+ retained_output_failed: true,
27
+ });
28
+ return null;
29
+ }
30
+ if (failed) {
18
31
  try {
19
- context.log.emit("harness.event", {
20
- type: "status",
21
- title: "Retained output could not be saved",
22
- text: redactSecrets(`Retained output could not be saved: ${String(error)}`),
23
- payload: { retained_output_failed: true },
24
- });
32
+ referenceFromFailure(context, path);
25
33
  }
26
- catch {
27
- /* Preserve the original terminal even when its log is unwritable. */
34
+ catch (error) {
35
+ status(context, "Failure record not updated", `The failure record could not name ${path}: ${String(error)}; the original record is unchanged.`);
28
36
  }
29
37
  }
38
+ return path;
39
+ }
40
+ /** A failure record's message and references once they name the retained
41
+ * output at `path`. The notice that the file holds retained text, not an
42
+ * accepted final answer, follows the message's first line (the cause route
43
+ * health groups by) and precedes the rest of the original message, such as its
44
+ * account attempts, so a reader that bounds the message after a cause line of
45
+ * ordinary length still meets it; a very long cause line can still push it past
46
+ * such a bound. The original text is otherwise unchanged around it, and
47
+ * `logRefs` (run-relative, beside `runDir`) is the address. Only the failure
48
+ * record carries it: the terminal's event error and summaries keep their own
49
+ * text. */
50
+ export function namingRetainedOutput(safeMessage, logRefs, path) {
51
+ const notice = `The assistant text this run retained (not an accepted final answer) is in ${path}.`;
52
+ const lineEnd = safeMessage.search(/\r?\n/);
53
+ const cause = lineEnd < 0 ? safeMessage : safeMessage.slice(0, lineEnd);
54
+ const rest = lineEnd < 0 ? "" : safeMessage.slice(lineEnd);
55
+ return {
56
+ safeMessage: safeMessage ? `${cause}\n\n${notice}${rest}` : notice,
57
+ logRefs: logRefs.includes(path) ? [...logRefs] : [...logRefs, path],
58
+ };
59
+ }
60
+ /**
61
+ * The failure record the terminal wrote before this publication names the
62
+ * written projection (`namingRetainedOutput`), once. The record is replaced
63
+ * atomically, through a temporary file and a rename as the projection itself is
64
+ * published, so a failed write or rename leaves the original record whole.
65
+ */
66
+ function referenceFromFailure(context, path) {
67
+ const file = join(context.paths.finalDir, "failure.yaml");
68
+ const failure = context.store.readYaml(file);
69
+ if (!failure || typeof failure !== "object" || Array.isArray(failure))
70
+ return;
71
+ const logRefs = Array.isArray(failure["logRefs"])
72
+ ? failure["logRefs"].filter((ref) => typeof ref === "string")
73
+ : [];
74
+ if (logRefs.includes(path))
75
+ return;
76
+ const message = typeof failure["safeMessage"] === "string" ? failure["safeMessage"] : "";
77
+ const temporary = join(context.paths.finalDir, `.failure-${randomUUID()}.tmp`);
78
+ try {
79
+ context.store.writeYaml(temporary, {
80
+ ...failure,
81
+ ...namingRetainedOutput(message, logRefs, path),
82
+ });
83
+ renameSync(temporary, file);
84
+ }
85
+ finally {
86
+ rmSync(temporary, { force: true });
87
+ }
88
+ }
89
+ function status(context, title, text, payload) {
90
+ try {
91
+ context.log.emit("harness.event", {
92
+ type: "status",
93
+ title,
94
+ text: redactSecrets(text),
95
+ ...(payload ? { payload } : {}),
96
+ });
97
+ }
98
+ catch {
99
+ /* Preserve the original terminal even when its log is unwritable. */
100
+ }
30
101
  }
31
102
  //# sourceMappingURL=retainedOutput.js.map