@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
@@ -1,8 +1,8 @@
1
1
  /** Agent and Ask share one per-attempt continuation owner. Before progress,
2
2
  * existing fresh-retry/rotation rules apply. After progress, limits move the
3
3
  * session to another account (or a packet); transport resumes the same account
4
- * bounded by max_retries. Deterministic permission/context refusals stop rather
5
- * than replaying the same limitation. Pins never rotate.
4
+ * bounded by max_retries. Permission/context refusals and the max-turns cap stop
5
+ * rather than replaying the same limitation. Pins never rotate.
6
6
  *
7
7
  * Acted is sticky across every try (answer, activity, file change or diff): a
8
8
  * silent resumed try never reopens the fresh rung. The capsule, per-try receipts,
@@ -54,7 +54,7 @@ export class InRunContinuity {
54
54
  * native carrier keeps its predecessor's recorded quality. */
55
55
  sessionMemory;
56
56
  threadSwitch = null;
57
- retainedOutput = new RetainedAttemptOutput();
57
+ retainedOutput;
58
58
  /** Carrier of the try that just settled (null = the first try or a fresh replay). */
59
59
  settledCarrier = null;
60
60
  unstartedInputs = [];
@@ -64,6 +64,7 @@ export class InRunContinuity {
64
64
  this.deps = deps;
65
65
  this.poolEvidence =
66
66
  deps.poolEvidence ?? new PoolAttemptEvidence(deps.adapter.id, deps.attemptId);
67
+ this.retainedOutput = new RetainedAttemptOutput(deps.runDir, deps.attemptId);
67
68
  this.capsule = readSessionCapsule(deps.attemptDir);
68
69
  this.acted = deps.seed?.acted === true;
69
70
  this.pending = deps.seed?.continued ?? null;
@@ -119,6 +120,7 @@ export class InRunContinuity {
119
120
  resetsAt: ev.rate_limit.resets_at ?? null,
120
121
  retryDelayMs: ev.rate_limit.retry_delay_ms ?? null,
121
122
  constraintId: ev.rate_limit.constraint_id ?? null,
123
+ reopening: ev.rate_limit.reopening ?? null,
122
124
  };
123
125
  }
124
126
  if (ev.type === "usage" && this.expectedSessionId && this.tryFirstInputTokens === null) {
@@ -193,7 +195,7 @@ export class InRunContinuity {
193
195
  /** Decide what the attempt does after a settled try. */
194
196
  async afterTry(facts) {
195
197
  this.poolEvidence.settle(facts);
196
- this.retainedOutput.add(facts.answer, facts.harnessErrored, this.tryIdentity);
198
+ this.retainedOutput.add(facts.runSpec.session_id, facts.answer, this.tryIdentity);
197
199
  const accepted = acceptedTryOutput(facts.answer, facts.harnessErrored);
198
200
  this.acted ||=
199
201
  accepted.length > 0 ||
@@ -233,6 +235,8 @@ export class InRunContinuity {
233
235
  return this.breakWith("permission_denied");
234
236
  if (facts.telemetry.contextExhausted)
235
237
  return this.breakWith("context_exhausted");
238
+ if (facts.telemetry.turnLimitReached)
239
+ return this.breakWith("turn_limit"); // #299
236
240
  if (!this.acted)
237
241
  return this.legacy(facts);
238
242
  const typedRefusal = facts.newTransients.some((t) => TYPED_REFUSALS.has(t.category));
@@ -253,7 +257,7 @@ export class InRunContinuity {
253
257
  /** Receipts, capsule relocation and the terminal `resumable` block once the attempt ends. */
254
258
  async finish(input) {
255
259
  // A continued try whose attempt ended on a loop exit that skipped
256
- // `afterTry` (a request or processing refusal) still owes its receipt.
260
+ // `afterTry` (a processing refusal) still owes its receipt.
257
261
  this.emitReceipt(input.runSpec);
258
262
  await this.relocate(input.runSpec);
259
263
  const vetoed = input.workState?.state === "needs_input" || input.workState?.state === "incomplete";
@@ -325,6 +329,7 @@ export class InRunContinuity {
325
329
  this.lastCause = facts.sawTypedLimit ? "vendor_limit" : "transport";
326
330
  if (!facts.sawRetryable ||
327
331
  !facts.rawDeliverableEmpty ||
332
+ this.limit?.reopening === "unknown" ||
328
333
  facts.nativeTry >= this.deps.retryPolicy.maxRetries)
329
334
  return { kind: "break" };
330
335
  const delayMs = emitTransientRetryPlan((t, p) => this.deps.emit(t, p), this.deps.adapter.id, this.deps.attemptId, facts.telemetry, facts.nativeTry, this.deps.retryPolicy);
@@ -341,17 +346,15 @@ export class InRunContinuity {
341
346
  const route = limitSubjectRoute(facts.runSpec.credential_profile ?? null, this.deps.defaultRouteWasVendorNative ? "local_session" : null);
342
347
  if (this.deps.pinned) {
343
348
  this.lastCause = "pinned_limit";
344
- this.terminalCode = "subscription_window_exhausted";
345
- return {
346
- kind: "terminal",
347
- error: quotaRefusalWithScope(pinnedTypedLimit(facts.runSpec.credential_profile?.profile_id ?? "default", this.deps.adapter.id, this.limit, true), {
348
- harness: this.deps.adapter.id,
349
- profileId: facts.runSpec.credential_profile?.profile_id ?? null,
350
- model: facts.runSpec.model_hint,
351
- requestKind: "text",
352
- constraintId: this.limit?.constraintId,
353
- }),
354
- };
349
+ const error = quotaRefusalWithScope(pinnedTypedLimit(facts.runSpec.credential_profile?.profile_id ?? "default", this.deps.adapter.id, this.limit, true), {
350
+ harness: this.deps.adapter.id,
351
+ profileId: facts.runSpec.credential_profile?.profile_id ?? null,
352
+ model: facts.runSpec.model_hint,
353
+ requestKind: "text",
354
+ constraintId: this.limit?.constraintId,
355
+ });
356
+ this.terminalCode = codeOf(error);
357
+ return { kind: "terminal", error };
355
358
  }
356
359
  if (effectiveLimitAction(this.deps.policy, route) !== "rotate")
357
360
  return this.breakWith("vendor_limit");
@@ -365,8 +368,8 @@ export class InRunContinuity {
365
368
  this.lastCause = "vendor_limit";
366
369
  return this.prepareContinuedTry(facts, this.inLaneHome(facts.runSpec, rotated), "vendor_limit", 0);
367
370
  }
368
- /** The process died after progress: the same account resumes its session
369
- * (bounded), or re-briefs once a typed fact rejected that session. With no
371
+ /** An untyped error ended a try after progress: the same account resumes its
372
+ * session (bounded), or re-briefs once a typed fact rejected it. With no
370
373
  * session recorded at all (the harness never reported one) the same account
371
374
  * continues on a new session re-briefed by the evidence index (owner 1B),
372
375
  * under the same bound. */
@@ -445,7 +448,7 @@ export class InRunContinuity {
445
448
  nativeRejected: this.nativeRejected,
446
449
  tryIndex: this.tryIndex,
447
450
  uncertainInput: uncertainInputFor(this.deps.runDir, this.unstartedInputs, carriedRunAttempts(this.deps)),
448
- retainedOutput: this.retainedOutput.text(),
451
+ retainedOutput: () => this.retainedOutput.text(),
449
452
  sessionMemory: this.sessionMemory,
450
453
  }, facts, base, cause, delayMs);
451
454
  this.pending = composed.continued;
@@ -1 +1 @@
1
- {"version":3,"file":"inrun-continuity.js","sourceRoot":"","sources":["../src/inrun-continuity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inrun-continuity.js","sourceRoot":"","sources":["../src/inrun-continuity.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,23 @@
1
- /** Evidence survives answer resets; rejected session output is never evidence. */
2
- import { type AnswerAssembly } from "@claudexor/core";
1
+ import type { AnswerAssembly } from "@claudexor/core";
3
2
  import type { ContinuityIdentityCheck } from "@claudexor/schema";
3
+ /**
4
+ * The attempt's retained assistant output for an in-run packet: the run log's
5
+ * own projection (`retainedOutput`, the same owner as final/retained-output.md)
6
+ * over THIS attempt's harness events, each physical session (one per try)
7
+ * kept separate and exact — fragments joined verbatim, whitespace and repeats
8
+ * kept — and an unreadable record disclosed. Only sessions whose identity
9
+ * check rejected them are left out; earlier good tries stay. A typed final
10
+ * whose machine truth differs from its display copy (a constrained envelope)
11
+ * is added verbatim, since the projection shows the display copy only. Read
12
+ * lazily: only a packet carrier needs it.
13
+ */
4
14
  export declare class RetainedAttemptOutput {
5
- private readonly tries;
6
- add(answer: AnswerAssembly, errored: boolean, identity: ContinuityIdentityCheck): void;
15
+ private readonly runDir;
16
+ private readonly attemptId;
17
+ private readonly rejected;
18
+ private readonly machineFinals;
19
+ constructor(runDir: string, attemptId: string);
20
+ add(session: string, answer: AnswerAssembly, identity: ContinuityIdentityCheck): void;
7
21
  text(): string;
8
22
  }
9
23
  //# sourceMappingURL=inrun-retained-output.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"inrun-retained-output.d.ts","sourceRoot":"","sources":["../src/inrun-retained-output.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAEjE,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IAEtC,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAKrF;IAED,IAAI,IAAI,MAAM,CAEb;CACF"}
1
+ {"version":3,"file":"inrun-retained-output.d.ts","sourceRoot":"","sources":["../src/inrun-retained-output.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAEjE;;;;;;;;;;GAUG;AACH,qBAAa,qBAAqB;IAK9B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAL5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2C;IAEzE,YACmB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EAChC;IAEJ,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAQpF;IAED,IAAI,IAAI,MAAM,CAiBb;CACF"}
@@ -1,16 +1,47 @@
1
1
  /** Evidence survives answer resets; rejected session output is never evidence. */
2
- import { acceptedTryOutput } from "@claudexor/core";
2
+ import { join } from "node:path";
3
+ import { readRunEvents, retainedOutput } from "@claudexor/event-log";
4
+ /**
5
+ * The attempt's retained assistant output for an in-run packet: the run log's
6
+ * own projection (`retainedOutput`, the same owner as final/retained-output.md)
7
+ * over THIS attempt's harness events, each physical session (one per try)
8
+ * kept separate and exact — fragments joined verbatim, whitespace and repeats
9
+ * kept — and an unreadable record disclosed. Only sessions whose identity
10
+ * check rejected them are left out; earlier good tries stay. A typed final
11
+ * whose machine truth differs from its display copy (a constrained envelope)
12
+ * is added verbatim, since the projection shows the display copy only. Read
13
+ * lazily: only a packet carrier needs it.
14
+ */
3
15
  export class RetainedAttemptOutput {
4
- tries = [];
5
- add(answer, errored, identity) {
6
- if (identity === "mismatch_before_effects" || identity === "mismatch_after_possible_effects")
16
+ runDir;
17
+ attemptId;
18
+ rejected = new Set();
19
+ machineFinals = [];
20
+ constructor(runDir, attemptId) {
21
+ this.runDir = runDir;
22
+ this.attemptId = attemptId;
23
+ }
24
+ add(session, answer, identity) {
25
+ if (identity === "mismatch_before_effects" || identity === "mismatch_after_possible_effects") {
26
+ this.rejected.add(session);
7
27
  return;
8
- const text = errored && !answer.hasFinal() ? answer.text() : acceptedTryOutput(answer, errored);
9
- if (text)
10
- this.tries.push(text);
28
+ }
29
+ const machine = answer.hasFinal() ? answer.machineText() : "";
30
+ if (machine.trim() && machine !== answer.text())
31
+ this.machineFinals.push({ session, text: machine });
11
32
  }
12
33
  text() {
13
- return this.tries.join("\n\n");
34
+ const { events, malformed } = readRunEvents(join(this.runDir, "events.jsonl"));
35
+ const own = events.filter((event) => event.type === "harness.event" &&
36
+ event.payload["attempt_id"] === this.attemptId &&
37
+ !this.rejected.has(String(event.payload["session_id"] ?? "unknown")));
38
+ // Untrimmed: the projection's exact bytes, its last fragment's whitespace included.
39
+ return [
40
+ retainedOutput(own, malformed) ?? "",
41
+ ...this.machineFinals.map(({ session, text }) => `Machine-readable final of session \`${session}\`:\n\n${text}`),
42
+ ]
43
+ .filter((part) => part.trim())
44
+ .join("\n\n");
14
45
  }
15
46
  }
16
47
  //# sourceMappingURL=inrun-retained-output.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inrun-retained-output.js","sourceRoot":"","sources":["../src/inrun-retained-output.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,OAAO,EAAE,iBAAiB,EAAuB,MAAM,iBAAiB,CAAC;AAGzE,MAAM,OAAO,qBAAqB;IACf,KAAK,GAAa,EAAE,CAAC;IAEtC,GAAG,CAAC,MAAsB,EAAE,OAAgB,EAAE,QAAiC;QAC7E,IAAI,QAAQ,KAAK,yBAAyB,IAAI,QAAQ,KAAK,iCAAiC;YAC1F,OAAO;QACT,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChG,IAAI,IAAI;YAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;CACF"}
1
+ {"version":3,"file":"inrun-retained-output.js","sourceRoot":"","sources":["../src/inrun-retained-output.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGrE;;;;;;;;;;GAUG;AACH,MAAM,OAAO,qBAAqB;IAKb,MAAM;IACN,SAAS;IALX,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAC7B,aAAa,GAAwC,EAAE,CAAC;IAEzE,YACmB,MAAc,EACd,SAAiB;sBADjB,MAAM;yBACN,SAAS;IACzB,CAAC;IAEJ,GAAG,CAAC,OAAe,EAAE,MAAsB,EAAE,QAAiC;QAC5E,IAAI,QAAQ,KAAK,yBAAyB,IAAI,QAAQ,KAAK,iCAAiC,EAAE,CAAC;YAC7F,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,OAAO,KAAK,MAAM,CAAC,IAAI,EAAE;YAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,IAAI;QACF,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;QAC/E,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CACvB,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,KAAK,eAAe;YAC9B,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,SAAS;YAC9C,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,CAAC,CACvE,CAAC;QACF,oFAAoF;QACpF,OAAO;YACL,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,EAAE;YACpC,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CACvB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,uCAAuC,OAAO,UAAU,IAAI,EAAE,CACtF;SACF;aACE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC7B,IAAI,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;CACF"}
@@ -6,11 +6,24 @@
6
6
  * terminal cleanup, and registry release still end either form. Undefined
7
7
  * when the caller provides no surface — the adapter then runs non-interactive.
8
8
  *
9
+ * Delivery: a blocking request suspends the inactivity watchdog while it waits
10
+ * (the agent's tool call is held on the human). An async request does not: the
11
+ * agent keeps working, so its stream must keep proving progress, and the
12
+ * adapter consumes the eventual answer without holding its event pump on it.
13
+ * Every lifecycle event carries the request's delivery.
14
+ *
15
+ * Outcomes stay distinct: answers resolve the request; an explicit decline, an
16
+ * expiry (`interaction.timeout`), a withdrawal (`interaction.withdrawn`) or the
17
+ * run's end resolves null; a failed answer surface rejects with
18
+ * InteractionChannelError, never a decline-shaped null. A journal that cannot
19
+ * append `interaction.requested` rejects the request with its own error, after
20
+ * the surface's registration was withdrawn through the request's signal.
21
+ *
9
22
  * Capability gate: the channel is OFFERED only to routes whose manifest
10
23
  * declares `interactive` — a non-interactive harness never gets a surface it
11
24
  * cannot raise questions through.
12
25
  */
13
- import type { InteractionChannel } from "@claudexor/core";
26
+ import { type InteractionChannel } from "@claudexor/core";
14
27
  import type { InteractionHandlerResult } from "@claudexor/schema";
15
28
  import type { EventLog } from "@claudexor/event-log";
16
29
  import type { PendingInteractionContext } from "./orchestrator.js";
@@ -1 +1 @@
1
- {"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../src/interaction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAGV,wBAAwB,EAEzB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,MAAM,WAAW,wBAAwB;IACvC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,yBAAyB,KAAK,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACtF,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,MAAM,wBAAwB,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC;AAEpG,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACrC,gBAAgB,EAAE,MAAM,GACvB,wBAAwB,CAU1B;AAKD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,wBAAwB,EAC/B,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EAGjB,mBAAmB,EAAE,OAAO,EAC5B,gBAAgB,SAAiC,GAChD,kBAAkB,GAAG,SAAS,CAqMhC"}
1
+ {"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../src/interaction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAA2B,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,KAAK,EAGV,wBAAwB,EAEzB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,MAAM,WAAW,wBAAwB;IACvC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,yBAAyB,KAAK,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACtF,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,MAAM,wBAAwB,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC;AAEpG,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACrC,gBAAgB,EAAE,MAAM,GACvB,wBAAwB,CAU1B;AAKD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,wBAAwB,EAC/B,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EAGjB,mBAAmB,EAAE,OAAO,EAC5B,gBAAgB,SAAiC,GAChD,kBAAkB,GAAG,SAAS,CA+OhC"}
@@ -1,3 +1,29 @@
1
+ /**
2
+ * Per-attempt interaction channel. Emits the typed lifecycle events
3
+ * (`interaction.requested` / `interaction.answered` / `interaction.timeout` /
4
+ * `interaction.withdrawn`) around the caller-provided answer surface. The wait
5
+ * policy is finite or has automatic expiry disabled; answers, cancellation,
6
+ * terminal cleanup, and registry release still end either form. Undefined
7
+ * when the caller provides no surface — the adapter then runs non-interactive.
8
+ *
9
+ * Delivery: a blocking request suspends the inactivity watchdog while it waits
10
+ * (the agent's tool call is held on the human). An async request does not: the
11
+ * agent keeps working, so its stream must keep proving progress, and the
12
+ * adapter consumes the eventual answer without holding its event pump on it.
13
+ * Every lifecycle event carries the request's delivery.
14
+ *
15
+ * Outcomes stay distinct: answers resolve the request; an explicit decline, an
16
+ * expiry (`interaction.timeout`), a withdrawal (`interaction.withdrawn`) or the
17
+ * run's end resolves null; a failed answer surface rejects with
18
+ * InteractionChannelError, never a decline-shaped null. A journal that cannot
19
+ * append `interaction.requested` rejects the request with its own error, after
20
+ * the surface's registration was withdrawn through the request's signal.
21
+ *
22
+ * Capability gate: the channel is OFFERED only to routes whose manifest
23
+ * declares `interactive` — a non-interactive harness never gets a surface it
24
+ * cannot raise questions through.
25
+ */
26
+ import { InteractionChannelError } from "@claudexor/core";
1
27
  import { INTERACTION_TIMEOUT_MAX_MS } from "@claudexor/schema";
2
28
  import { nowIso } from "@claudexor/util";
3
29
  export function resolveInteractionTimeoutPolicy(configured, defaultTimeoutMs) {
@@ -37,8 +63,22 @@ supportsInteractive, defaultTimeoutMs = DEFAULT_INTERACTION_TIMEOUT_MS) {
37
63
  const requestedAt = nowIso();
38
64
  const deadlineAtMs = timeoutPolicy.kind === "finite" ? finiteDeadline(timeoutPolicy.timeoutMs) : null;
39
65
  const timeoutAt = deadlineAtMs === null ? null : new Date(deadlineAtMs).toISOString();
40
- pending += 1;
41
- suspensionVersion += 1;
66
+ // Absent delivery keeps the historical meaning: the agent waits. The
67
+ // answer surface persists exactly what this channel announces.
68
+ const delivery = request.delivery === "async" ? "async" : "blocking";
69
+ const asked = request.delivery === delivery ? request : { ...request, delivery };
70
+ // Only a blocking question is legitimate stream silence.
71
+ const suspends = delivery === "blocking";
72
+ // The surface's runtime handle on this request: the asking harness's
73
+ // withdrawal, or the channel's own release of a question it could not
74
+ // announce. Composed rather than listening on the harness's signal, so a
75
+ // withdrawal still reaches the surface after this wait has settled.
76
+ const release = new AbortController();
77
+ const surfaceSignal = signal ? AbortSignal.any([signal, release.signal]) : release.signal;
78
+ if (suspends) {
79
+ pending += 1;
80
+ suspensionVersion += 1;
81
+ }
42
82
  try {
43
83
  // Invoke the answer surface BEFORE announcing the event: handlers
44
84
  // register the pending question synchronously (daemon
@@ -47,8 +87,10 @@ supportsInteractive, defaultTimeoutMs = DEFAULT_INTERACTION_TIMEOUT_MS) {
47
87
  // before prompting — finds the registry already populated. The reverse
48
88
  // order would make that guarantee depend on event-loop timing.
49
89
  // The handler is invoked SYNCHRONOUSLY (the registry-population contract
50
- // below depends on it); only its failure handling is normalized — a
51
- // synchronous throw becomes the same null-answer path as an async one.
90
+ // below depends on it). Its failure is the answer surface failing, never
91
+ // the user's decline: a synchronous throw registered nothing, so no
92
+ // question is announced; a later rejection ends the wait. Both reject
93
+ // this request with InteractionChannelError after the same cleanup.
52
94
  let answersPromise;
53
95
  try {
54
96
  answersPromise = Promise.resolve(handler({
@@ -56,30 +98,44 @@ supportsInteractive, defaultTimeoutMs = DEFAULT_INTERACTION_TIMEOUT_MS) {
56
98
  taskId,
57
99
  attemptId,
58
100
  harnessId,
59
- request,
101
+ request: asked,
60
102
  requestedAt,
61
103
  timeoutAt,
62
- signal,
63
- })).catch(() => null);
104
+ signal: surfaceSignal,
105
+ })).then((result) => ({ kind: "handler", result }), (error) => ({ kind: "failed", error }));
64
106
  }
65
- catch {
66
- answersPromise = Promise.resolve(null);
107
+ catch (error) {
108
+ throw new InteractionChannelError(error);
109
+ }
110
+ try {
111
+ log.emit("interaction.requested", {
112
+ interaction_id: request.interaction_id,
113
+ attempt_id: attemptId,
114
+ harness_id: harnessId,
115
+ source_tool: request.source_tool,
116
+ questions: request.questions,
117
+ requested_at: requestedAt,
118
+ timeout_at: timeoutAt,
119
+ delivery,
120
+ });
121
+ }
122
+ catch (error) {
123
+ // The surface already registered a question nobody was told about,
124
+ // and this request fails here: an answer could never reach the
125
+ // harness. Withdraw it through the request lifecycle the surface
126
+ // honours (the daemon registry releases it as interrupted), then
127
+ // fail with the journal's own error. The record stays missing, so
128
+ // the failure stays a failure.
129
+ release.abort(error);
130
+ throw error;
67
131
  }
68
- log.emit("interaction.requested", {
69
- interaction_id: request.interaction_id,
70
- attempt_id: attemptId,
71
- harness_id: harnessId,
72
- source_tool: request.source_tool,
73
- questions: request.questions,
74
- requested_at: requestedAt,
75
- timeout_at: timeoutAt,
76
- });
77
132
  let cancelTimer;
78
133
  let onAbort;
79
134
  let onRequestAbort;
80
135
  const startedWaiting = Date.now();
81
136
  const discloseDiscardedAnswer = (reason) => void answersPromise
82
- .then((late) => {
137
+ .then((outcome) => {
138
+ const late = outcome.kind === "handler" ? outcome.result : null;
83
139
  if (late && !isInteractionHandlerRelease(late) && late.answers.length > 0) {
84
140
  log.emit("interaction.answer_discarded", {
85
141
  interaction_id: request.interaction_id,
@@ -87,12 +143,13 @@ supportsInteractive, defaultTimeoutMs = DEFAULT_INTERACTION_TIMEOUT_MS) {
87
143
  harness_id: harnessId,
88
144
  answer_count: late.answers.length,
89
145
  reason,
146
+ delivery,
90
147
  });
91
148
  }
92
149
  })
93
150
  .catch(() => undefined);
94
151
  const waits = [
95
- answersPromise.then((result) => ({ kind: "handler", result })),
152
+ answersPromise,
96
153
  // A cancelled run must release the interaction wait IMMEDIATELY —
97
154
  // the abort already kills the harness process, and neither a finite
98
155
  // nor disabled-expiry policy may park a dead run in waiting_on_user.
@@ -124,6 +181,13 @@ supportsInteractive, defaultTimeoutMs = DEFAULT_INTERACTION_TIMEOUT_MS) {
124
181
  input.signal?.removeEventListener("abort", onAbort);
125
182
  if (onRequestAbort)
126
183
  signal?.removeEventListener("abort", onRequestAbort);
184
+ if (result.kind === "failed") {
185
+ // A run already being cancelled keeps that truth; otherwise the
186
+ // adapter learns the surface failed, with its cause.
187
+ if (input.signal?.aborted)
188
+ return null;
189
+ throw new InteractionChannelError(result.error);
190
+ }
127
191
  // The asking harness withdrew this exact request (e.g. Codex
128
192
  // serverRequest/resolved). The request signal and the registry's
129
193
  // `interrupted` release fire in the same abort dispatch, so either may
@@ -145,6 +209,7 @@ supportsInteractive, defaultTimeoutMs = DEFAULT_INTERACTION_TIMEOUT_MS) {
145
209
  interaction_id: request.interaction_id,
146
210
  attempt_id: attemptId,
147
211
  harness_id: harnessId,
212
+ delivery,
148
213
  });
149
214
  // An answer the registry accepted in the same tick never reaches the
150
215
  // harness; disclose it instead of letting "delivered" stand silently.
@@ -170,6 +235,7 @@ supportsInteractive, defaultTimeoutMs = DEFAULT_INTERACTION_TIMEOUT_MS) {
170
235
  attempt_id: attemptId,
171
236
  harness_id: harnessId,
172
237
  answer_count: answers.answers.length,
238
+ delivery,
173
239
  });
174
240
  return answers;
175
241
  }
@@ -187,6 +253,7 @@ supportsInteractive, defaultTimeoutMs = DEFAULT_INTERACTION_TIMEOUT_MS) {
187
253
  attempt_id: attemptId,
188
254
  harness_id: harnessId,
189
255
  waited_ms: Date.now() - startedWaiting,
256
+ delivery,
190
257
  });
191
258
  // Late-answer honesty: the run already declined this
192
259
  // interaction; an answer arriving AFTER the timeout must be visibly
@@ -197,8 +264,10 @@ supportsInteractive, defaultTimeoutMs = DEFAULT_INTERACTION_TIMEOUT_MS) {
197
264
  finally {
198
265
  // ALWAYS release the suspension: a synchronous handler throw or a
199
266
  // log.emit failure must not leave the watchdog suspended forever.
200
- pending -= 1;
201
- suspensionVersion += 1;
267
+ if (suspends) {
268
+ pending -= 1;
269
+ suspensionVersion += 1;
270
+ }
202
271
  }
203
272
  },
204
273
  };
@@ -1 +1 @@
1
- {"version":3,"file":"interaction.js","sourceRoot":"","sources":["../src/interaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interaction.js","sourceRoot":"","sources":["../src/interaction.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,7 @@
1
- /**
2
- * Per-stream disclosure helpers shared VERBATIM by the candidate and
3
- * read-only lanes. One owner for these event payload shapes: the two lanes
4
- * used to spell out identical bodies, and a drifted field name in one of them
5
- * would have split the consumers' view of the same machinery.
6
- */
7
1
  import type { RunEventType } from "@claudexor/schema";
8
2
  import { type TransientRetryPolicy } from "./runSupport.js";
9
3
  import { type AttemptTelemetry } from "./attemptTelemetry.js";
4
+ import type { AttemptUsageCost } from "./attemptUsageCost.js";
10
5
  type Emit = (type: RunEventType, payload: Record<string, unknown>) => void;
11
6
  /** Live plan checklist: forward the adapter's typed plan progress as a run
12
7
  * event (LAST WINS; the UI renders the latest). No-op without plan_progress. */
@@ -33,15 +28,19 @@ export declare function dropDeltaPastBudget(ev: {
33
28
  * observation in this try). A dedicated counter, not `nativeTry`: that index
34
29
  * also advances on credential rotation. */
35
30
  export declare function emitTransientRetryPlan(emit: Emit, harnessId: string, attemptId: string, telemetry: AttemptTelemetry, nativeTry: number, policy: TransientRetryPolicy): number;
36
- /** Read-only lanes burn quota too: fold one usage event's spend into the
37
- * attempt's running cost and disclose it as a `budget.observation`. */
38
- export declare function observeReadonlySpend(ev: {
31
+ /** One owner for every lane's spend row: fold one usage event's reported amount,
32
+ * zero included, into the attempt's running cost and disclose it as a
33
+ * `budget.observation`. An event without an amount reports nothing. The attempt's
34
+ * telemetry has already classified the event, so `amount_kind` is the meaning the
35
+ * ledger will settle it as. The row is evidence of that amount only: the live
36
+ * budget projection totals nonzero rows as an estimate until the ledger settles. */
37
+ export declare function observeUsageSpend(ev: {
39
38
  type: string;
40
39
  usage?: {
41
40
  cost_usd?: number | null;
42
41
  estimated?: boolean | null;
43
42
  } | null;
44
- }, emit: Emit, harnessId: string, attemptId: string): {
43
+ }, emit: (type: "budget.observation", payload: Record<string, unknown>) => void, harnessId: string, attemptId: string, usageCost: Pick<AttemptUsageCost, "lastAmountKind">): {
45
44
  costUsd: number;
46
45
  estimated: boolean;
47
46
  };