@stigmer/runner 3.15.1 → 3.15.2-dev.20260913223433

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 (518) hide show
  1. package/README.md +2 -4
  2. package/dist/.build-fingerprint +1 -1
  3. package/dist/__test-utils__/execution-record-fixture.d.ts +14 -0
  4. package/dist/__test-utils__/execution-record-fixture.js +4 -0
  5. package/dist/__test-utils__/execution-record-fixture.js.map +1 -1
  6. package/dist/__test-utils__/file-review-projection.d.ts +40 -0
  7. package/dist/__test-utils__/file-review-projection.js +136 -0
  8. package/dist/__test-utils__/file-review-projection.js.map +1 -0
  9. package/dist/__test-utils__/harness-contract/types.d.ts +23 -1
  10. package/dist/__test-utils__/harness-contract/types.js +15 -0
  11. package/dist/__test-utils__/harness-contract/types.js.map +1 -1
  12. package/dist/__test-utils__/hermetic-activity.d.ts +44 -12
  13. package/dist/__test-utils__/hermetic-activity.js +52 -14
  14. package/dist/__test-utils__/hermetic-activity.js.map +1 -1
  15. package/dist/__test-utils__/model-registry-fixture.d.ts +32 -7
  16. package/dist/__test-utils__/model-registry-fixture.js +31 -7
  17. package/dist/__test-utils__/model-registry-fixture.js.map +1 -1
  18. package/dist/__test-utils__/turn-input-fixture.d.ts +1 -1
  19. package/dist/__test-utils__/turn-input-fixture.js +1 -1
  20. package/dist/__test-utils__/turn-input-fixture.js.map +1 -1
  21. package/dist/activities/call-agent.js +2 -2
  22. package/dist/activities/call-agent.js.map +1 -1
  23. package/dist/activities/execute-cursor/__test-utils__/contract-subject.js +45 -3
  24. package/dist/activities/execute-cursor/__test-utils__/contract-subject.js.map +1 -1
  25. package/dist/activities/execute-cursor/__test-utils__/hermetic-cursor.d.ts +0 -9
  26. package/dist/activities/execute-cursor/__test-utils__/hermetic-cursor.js +2 -41
  27. package/dist/activities/execute-cursor/__test-utils__/hermetic-cursor.js.map +1 -1
  28. package/dist/activities/execute-cursor/adapter.d.ts +7 -5
  29. package/dist/activities/execute-cursor/adapter.js +7 -5
  30. package/dist/activities/execute-cursor/adapter.js.map +1 -1
  31. package/dist/activities/execute-cursor/approval-policy.d.ts +5 -2
  32. package/dist/activities/execute-cursor/approval-policy.js +5 -2
  33. package/dist/activities/execute-cursor/approval-policy.js.map +1 -1
  34. package/dist/activities/execute-cursor/approval-state.d.ts +16 -8
  35. package/dist/activities/execute-cursor/approval-state.js +6 -3
  36. package/dist/activities/execute-cursor/approval-state.js.map +1 -1
  37. package/dist/activities/execute-cursor/cas-observations.d.ts +14 -2
  38. package/dist/activities/execute-cursor/cas-observations.js +19 -2
  39. package/dist/activities/execute-cursor/cas-observations.js.map +1 -1
  40. package/dist/activities/execute-cursor/cursor-capabilities.d.ts +8 -4
  41. package/dist/activities/execute-cursor/cursor-capabilities.js +21 -4
  42. package/dist/activities/execute-cursor/cursor-capabilities.js.map +1 -1
  43. package/dist/activities/execute-cursor/message-translator.d.ts +12 -20
  44. package/dist/activities/execute-cursor/message-translator.js +19 -32
  45. package/dist/activities/execute-cursor/message-translator.js.map +1 -1
  46. package/dist/activities/execute-cursor/prompt-builder.d.ts +48 -58
  47. package/dist/activities/execute-cursor/prompt-builder.js +76 -95
  48. package/dist/activities/execute-cursor/prompt-builder.js.map +1 -1
  49. package/dist/activities/execute-cursor/turn-boundary.d.ts +27 -55
  50. package/dist/activities/execute-cursor/turn-boundary.js +30 -90
  51. package/dist/activities/execute-cursor/turn-boundary.js.map +1 -1
  52. package/dist/activities/execute-cursor/turn-settle.d.ts +11 -7
  53. package/dist/activities/execute-cursor/turn-settle.js +37 -49
  54. package/dist/activities/execute-cursor/turn-settle.js.map +1 -1
  55. package/dist/activities/execute-cursor/turn-setup.d.ts +16 -24
  56. package/dist/activities/execute-cursor/turn-setup.js +29 -59
  57. package/dist/activities/execute-cursor/turn-setup.js.map +1 -1
  58. package/dist/activities/execute-cursor/turn-stream.d.ts +3 -8
  59. package/dist/activities/execute-cursor/turn-stream.js +9 -22
  60. package/dist/activities/execute-cursor/turn-stream.js.map +1 -1
  61. package/dist/activities/execute-cursor/turn.js +5 -1
  62. package/dist/activities/execute-cursor/turn.js.map +1 -1
  63. package/dist/activities/execute-deep-agent/__test-utils__/contract-subject.d.ts +93 -0
  64. package/dist/activities/execute-deep-agent/__test-utils__/contract-subject.js +348 -0
  65. package/dist/activities/execute-deep-agent/__test-utils__/contract-subject.js.map +1 -0
  66. package/dist/activities/execute-deep-agent/__test-utils__/hermetic-deep-agent.d.ts +170 -0
  67. package/dist/activities/execute-deep-agent/__test-utils__/hermetic-deep-agent.js +225 -0
  68. package/dist/activities/execute-deep-agent/__test-utils__/hermetic-deep-agent.js.map +1 -0
  69. package/dist/activities/execute-deep-agent/__test-utils__/hitl-script.d.ts +24 -0
  70. package/dist/activities/execute-deep-agent/__test-utils__/hitl-script.js +41 -0
  71. package/dist/activities/execute-deep-agent/__test-utils__/hitl-script.js.map +1 -0
  72. package/dist/activities/execute-deep-agent/__test-utils__/scripted-model-module.d.ts +54 -0
  73. package/dist/activities/execute-deep-agent/__test-utils__/scripted-model-module.js +72 -0
  74. package/dist/activities/execute-deep-agent/__test-utils__/scripted-model-module.js.map +1 -0
  75. package/dist/activities/execute-deep-agent/__test-utils__/scripted-model.d.ts +187 -23
  76. package/dist/activities/execute-deep-agent/__test-utils__/scripted-model.js +238 -27
  77. package/dist/activities/execute-deep-agent/__test-utils__/scripted-model.js.map +1 -1
  78. package/dist/activities/execute-deep-agent/adapter.d.ts +41 -0
  79. package/dist/activities/execute-deep-agent/adapter.js +78 -0
  80. package/dist/activities/execute-deep-agent/adapter.js.map +1 -0
  81. package/dist/activities/execute-deep-agent/cas-capture-observer.d.ts +8 -0
  82. package/dist/activities/execute-deep-agent/cas-capture-observer.js +9 -0
  83. package/dist/activities/execute-deep-agent/cas-capture-observer.js.map +1 -1
  84. package/dist/activities/execute-deep-agent/deep-agent-capabilities.d.ts +31 -0
  85. package/dist/activities/execute-deep-agent/deep-agent-capabilities.js +40 -0
  86. package/dist/activities/execute-deep-agent/deep-agent-capabilities.js.map +1 -0
  87. package/dist/activities/execute-deep-agent/execution-state.d.ts +4 -11
  88. package/dist/activities/execute-deep-agent/execution-state.js +4 -12
  89. package/dist/activities/execute-deep-agent/execution-state.js.map +1 -1
  90. package/dist/activities/execute-deep-agent/hitl.d.ts +49 -47
  91. package/dist/activities/execute-deep-agent/hitl.js +77 -103
  92. package/dist/activities/execute-deep-agent/hitl.js.map +1 -1
  93. package/dist/activities/execute-deep-agent/prompt-builder.d.ts +51 -23
  94. package/dist/activities/execute-deep-agent/prompt-builder.js +115 -76
  95. package/dist/activities/execute-deep-agent/prompt-builder.js.map +1 -1
  96. package/dist/activities/execute-deep-agent/status-builder-shared.d.ts +18 -32
  97. package/dist/activities/execute-deep-agent/status-builder-shared.js +10 -65
  98. package/dist/activities/execute-deep-agent/status-builder-shared.js.map +1 -1
  99. package/dist/activities/execute-deep-agent/streaming-side-effects.d.ts +10 -8
  100. package/dist/activities/execute-deep-agent/streaming-side-effects.js +12 -14
  101. package/dist/activities/execute-deep-agent/streaming-side-effects.js.map +1 -1
  102. package/dist/activities/execute-deep-agent/subagent-tracker.d.ts +36 -13
  103. package/dist/activities/execute-deep-agent/subagent-tracker.js +76 -39
  104. package/dist/activities/execute-deep-agent/subagent-tracker.js.map +1 -1
  105. package/dist/activities/execute-deep-agent/subagent-transformer.d.ts +25 -28
  106. package/dist/activities/execute-deep-agent/subagent-transformer.js +29 -82
  107. package/dist/activities/execute-deep-agent/subagent-transformer.js.map +1 -1
  108. package/dist/activities/execute-deep-agent/subagent-wiring.d.ts +3 -2
  109. package/dist/activities/execute-deep-agent/subagent-wiring.js +2 -2
  110. package/dist/activities/execute-deep-agent/subagent-wiring.js.map +1 -1
  111. package/dist/activities/execute-deep-agent/turn-settle.d.ts +42 -0
  112. package/dist/activities/execute-deep-agent/turn-settle.js +146 -0
  113. package/dist/activities/execute-deep-agent/turn-settle.js.map +1 -0
  114. package/dist/activities/execute-deep-agent/turn-setup.d.ts +212 -0
  115. package/dist/activities/execute-deep-agent/turn-setup.js +430 -0
  116. package/dist/activities/execute-deep-agent/turn-setup.js.map +1 -0
  117. package/dist/activities/execute-deep-agent/turn-stream.d.ts +97 -0
  118. package/dist/activities/execute-deep-agent/turn-stream.js +242 -0
  119. package/dist/activities/execute-deep-agent/turn-stream.js.map +1 -0
  120. package/dist/activities/execute-deep-agent/turn.d.ts +42 -0
  121. package/dist/activities/execute-deep-agent/turn.js +116 -0
  122. package/dist/activities/execute-deep-agent/turn.js.map +1 -0
  123. package/dist/activities/execute-deep-agent/v3-event-recorder.d.ts +6 -5
  124. package/dist/activities/execute-deep-agent/v3-event-recorder.js +6 -5
  125. package/dist/activities/execute-deep-agent/v3-event-recorder.js.map +1 -1
  126. package/dist/activities/execute-deep-agent/v3-events.d.ts +1 -1
  127. package/dist/activities/execute-deep-agent/v3-events.js +1 -1
  128. package/dist/activities/execute-deep-agent/v3-status-builder.d.ts +60 -17
  129. package/dist/activities/execute-deep-agent/v3-status-builder.js +72 -57
  130. package/dist/activities/execute-deep-agent/v3-status-builder.js.map +1 -1
  131. package/dist/harness/approval-decisions.d.ts +61 -0
  132. package/dist/harness/approval-decisions.js +102 -0
  133. package/dist/harness/approval-decisions.js.map +1 -0
  134. package/dist/harness/capabilities.d.ts +16 -5
  135. package/dist/harness/capabilities.js +9 -0
  136. package/dist/harness/capabilities.js.map +1 -1
  137. package/dist/harness/capture.d.ts +144 -0
  138. package/dist/harness/capture.js +219 -0
  139. package/dist/harness/capture.js.map +1 -0
  140. package/dist/harness/persist-chokepoint.d.ts +19 -4
  141. package/dist/harness/persist-chokepoint.js +17 -4
  142. package/dist/harness/persist-chokepoint.js.map +1 -1
  143. package/dist/harness/run-turn.js +115 -29
  144. package/dist/harness/run-turn.js.map +1 -1
  145. package/dist/harness/terminal-table.d.ts +40 -11
  146. package/dist/harness/terminal-table.js +58 -19
  147. package/dist/harness/terminal-table.js.map +1 -1
  148. package/dist/harness/turn-context.d.ts +141 -76
  149. package/dist/harness/turn-context.js +194 -99
  150. package/dist/harness/turn-context.js.map +1 -1
  151. package/dist/harness/types.d.ts +65 -12
  152. package/dist/harness/types.js +8 -2
  153. package/dist/harness/types.js.map +1 -1
  154. package/dist/harness-adapters.d.ts +12 -8
  155. package/dist/harness-adapters.js +17 -9
  156. package/dist/harness-adapters.js.map +1 -1
  157. package/dist/middleware/approval-gate.d.ts +1 -1
  158. package/dist/middleware/approval-gate.js +1 -1
  159. package/dist/middleware/approval-gate.js.map +1 -1
  160. package/dist/middleware/cost-advisory.d.ts +39 -0
  161. package/dist/middleware/{cost-cap.js → cost-advisory.js} +37 -55
  162. package/dist/middleware/cost-advisory.js.map +1 -0
  163. package/dist/middleware/index.d.ts +23 -12
  164. package/dist/middleware/index.js +26 -18
  165. package/dist/middleware/index.js.map +1 -1
  166. package/dist/middleware/types.d.ts +3 -2
  167. package/dist/runner-manager.js +1 -5
  168. package/dist/runner-manager.js.map +1 -1
  169. package/dist/runner.js +1 -5
  170. package/dist/runner.js.map +1 -1
  171. package/dist/shared/attachment-resolver.d.ts +41 -18
  172. package/dist/shared/attachment-resolver.js +178 -46
  173. package/dist/shared/attachment-resolver.js.map +1 -1
  174. package/dist/shared/attachment-zip.d.ts +85 -0
  175. package/dist/shared/attachment-zip.js +185 -0
  176. package/dist/shared/attachment-zip.js.map +1 -0
  177. package/dist/shared/connect-backfill.js +5 -4
  178. package/dist/shared/connect-backfill.js.map +1 -1
  179. package/dist/shared/cost-guard.d.ts +3 -3
  180. package/dist/shared/cost-guard.js +3 -3
  181. package/dist/shared/execution-status-writer.d.ts +5 -5
  182. package/dist/shared/execution-status-writer.js +5 -5
  183. package/dist/shared/extract-structured-output.d.ts +8 -7
  184. package/dist/shared/extract-structured-output.js +8 -7
  185. package/dist/shared/extract-structured-output.js.map +1 -1
  186. package/dist/shared/filereview/cas-progress.d.ts +1 -18
  187. package/dist/shared/filereview/cas-progress.js +4 -0
  188. package/dist/shared/filereview/cas-progress.js.map +1 -1
  189. package/dist/shared/filereview/cas-touched.d.ts +56 -0
  190. package/dist/shared/filereview/cas-touched.js +63 -0
  191. package/dist/shared/filereview/cas-touched.js.map +1 -0
  192. package/dist/shared/filereview/index.d.ts +2 -1
  193. package/dist/shared/filereview/index.js +2 -1
  194. package/dist/shared/filereview/index.js.map +1 -1
  195. package/dist/shared/mcp-resolver.d.ts +4 -5
  196. package/dist/shared/mcp-resolver.js +4 -5
  197. package/dist/shared/mcp-resolver.js.map +1 -1
  198. package/dist/shared/persist-decision.d.ts +3 -4
  199. package/dist/shared/persist-decision.js +3 -4
  200. package/dist/shared/persist-decision.js.map +1 -1
  201. package/dist/shared/plan-mode-permissions.d.ts +2 -2
  202. package/dist/shared/plan-mode-permissions.js +2 -2
  203. package/dist/shared/plan-mode-prompt.d.ts +1 -1
  204. package/dist/shared/plan-mode-prompt.js +1 -1
  205. package/dist/shared/prompt-sections.d.ts +163 -0
  206. package/dist/shared/prompt-sections.js +164 -0
  207. package/dist/shared/prompt-sections.js.map +1 -0
  208. package/dist/shared/skill-resolver.d.ts +4 -2
  209. package/dist/shared/skill-resolver.js +4 -2
  210. package/dist/shared/skill-resolver.js.map +1 -1
  211. package/dist/shared/tool-rounds.d.ts +32 -0
  212. package/dist/shared/tool-rounds.js +43 -0
  213. package/dist/shared/tool-rounds.js.map +1 -1
  214. package/dist/shared/tool-row.d.ts +34 -0
  215. package/dist/shared/tool-row.js +52 -0
  216. package/dist/shared/tool-row.js.map +1 -1
  217. package/dist/shared/workspace/session-provision.d.ts +3 -3
  218. package/dist/shared/workspace/session-provision.js +3 -3
  219. package/dist/shared/workspace/stigmer-link.d.ts +3 -3
  220. package/dist/shared/workspace/stigmer-link.js +3 -3
  221. package/dist/shared/workspace/writeback-coordinator.d.ts +15 -22
  222. package/dist/shared/workspace/writeback-coordinator.js +16 -53
  223. package/dist/shared/workspace/writeback-coordinator.js.map +1 -1
  224. package/dist/tools/index.d.ts +1 -1
  225. package/dist/tools/index.js +1 -1
  226. package/package.json +4 -4
  227. package/src/__test-utils__/__tests__/harness-contract-self-check.test.ts +1 -0
  228. package/src/__test-utils__/execution-record-fixture.ts +18 -2
  229. package/src/__test-utils__/file-review-projection.ts +156 -0
  230. package/src/__test-utils__/git-workspace-fixture.ts +58 -0
  231. package/src/__test-utils__/harness-boot-order-child.ts +7 -2
  232. package/src/__test-utils__/harness-contract/contract.ts +33 -20
  233. package/src/__test-utils__/harness-contract/recording-sink.ts +11 -1
  234. package/src/__test-utils__/harness-contract/runtime-contract.ts +328 -10
  235. package/src/__test-utils__/harness-contract/scripted-adapter.ts +38 -6
  236. package/src/__test-utils__/harness-contract/types.ts +27 -3
  237. package/src/__test-utils__/hermetic-activity.ts +52 -14
  238. package/src/__test-utils__/model-registry-fixture.ts +32 -7
  239. package/src/__test-utils__/module-specifiers.ts +24 -0
  240. package/src/__test-utils__/turn-input-fixture.ts +2 -2
  241. package/src/__tests__/harness-boot-order.test.ts +9 -2
  242. package/src/activities/call-agent.ts +2 -2
  243. package/src/activities/execute-cursor/__test-utils__/contract-subject.ts +47 -3
  244. package/src/activities/execute-cursor/__test-utils__/hermetic-cursor.ts +2 -48
  245. package/src/activities/execute-cursor/__tests__/approval-decisions-agree.test.ts +1 -1
  246. package/src/activities/execute-cursor/__tests__/approval-gate.test.ts +6 -1
  247. package/src/activities/execute-cursor/__tests__/build-prompt.test.ts +52 -27
  248. package/src/activities/execute-cursor/__tests__/cas-observations.test.ts +25 -0
  249. package/src/activities/execute-cursor/__tests__/goldens/prompt.enhanced.everything.prompt.md +166 -0
  250. package/src/activities/execute-cursor/__tests__/goldens/prompt.enhanced.plan-mode.prompt.md +186 -0
  251. package/src/activities/execute-cursor/__tests__/goldens/prompt.hitl.recovery.prompt.md +191 -0
  252. package/src/activities/execute-cursor/__tests__/goldens/prompt.hitl.reinvocation.prompt.md +13 -0
  253. package/src/activities/execute-cursor/__tests__/goldens/prompt.resumed.prefixed.prompt.md +32 -0
  254. package/src/activities/execute-cursor/__tests__/goldens/prompt.resumed.raw.prompt.md +1 -0
  255. package/src/activities/execute-cursor/__tests__/hermetic/file-review-capture.test.ts +1 -2
  256. package/src/activities/execute-cursor/__tests__/hermetic/goldens/sdk-error-at-create.status.json +4 -0
  257. package/src/activities/execute-cursor/__tests__/hermetic/harness-contract.test.ts +24 -4
  258. package/src/activities/execute-cursor/__tests__/hermetic/stream-self-stop-arms.test.ts +6 -5
  259. package/src/activities/execute-cursor/__tests__/hermetic/thrown-error-arms.test.ts +9 -0
  260. package/src/activities/execute-cursor/__tests__/hitl-resume-history.test.ts +11 -8
  261. package/src/activities/execute-cursor/__tests__/prompt-goldens.test.ts +229 -0
  262. package/src/activities/execute-cursor/__tests__/same-identity-reproposal.test.ts +3 -3
  263. package/src/activities/execute-cursor/__tests__/sequential-gate-resume.test.ts +2 -2
  264. package/src/activities/execute-cursor/__tests__/turn-boundary.test.ts +78 -234
  265. package/src/activities/execute-cursor/__tests__/turn-stream.test.ts +1 -26
  266. package/src/activities/execute-cursor/adapter.ts +7 -5
  267. package/src/activities/execute-cursor/approval-policy.ts +5 -2
  268. package/src/activities/execute-cursor/approval-state.ts +16 -8
  269. package/src/activities/execute-cursor/cas-observations.ts +20 -2
  270. package/src/activities/execute-cursor/cursor-capabilities.ts +24 -5
  271. package/src/activities/execute-cursor/message-translator.ts +29 -41
  272. package/src/activities/execute-cursor/prompt-builder.ts +99 -157
  273. package/src/activities/execute-cursor/turn-boundary.ts +34 -140
  274. package/src/activities/execute-cursor/turn-settle.ts +37 -51
  275. package/src/activities/execute-cursor/turn-setup.ts +30 -70
  276. package/src/activities/execute-cursor/turn-stream.ts +8 -31
  277. package/src/activities/execute-cursor/turn.ts +5 -1
  278. package/src/activities/execute-deep-agent/__test-utils__/contract-subject.ts +391 -0
  279. package/src/activities/execute-deep-agent/__test-utils__/hermetic-deep-agent.ts +313 -0
  280. package/src/activities/execute-deep-agent/__test-utils__/hitl-script.ts +48 -0
  281. package/src/activities/execute-deep-agent/__test-utils__/scripted-model-module.ts +85 -0
  282. package/src/activities/execute-deep-agent/__test-utils__/scripted-model.ts +383 -36
  283. package/src/activities/execute-deep-agent/__tests__/adapter-graph-is-sdk-free.test.ts +76 -0
  284. package/src/activities/execute-deep-agent/__tests__/adapter-is-temporal-free.test.ts +47 -0
  285. package/src/activities/execute-deep-agent/__tests__/adapter.test.ts +80 -0
  286. package/src/activities/execute-deep-agent/__tests__/cas-capture-backend.test.ts +1 -1
  287. package/src/activities/execute-deep-agent/__tests__/execution-state-extended.test.ts +0 -2
  288. package/src/activities/execute-deep-agent/__tests__/execution-state.test.ts +0 -3
  289. package/src/activities/execute-deep-agent/__tests__/goldens/system-prompt.build-from-plan.prompt.md +172 -0
  290. package/src/activities/execute-deep-agent/__tests__/goldens/system-prompt.everything.prompt.md +167 -0
  291. package/src/activities/execute-deep-agent/__tests__/goldens/system-prompt.minimal.prompt.md +36 -0
  292. package/src/activities/execute-deep-agent/__tests__/goldens/system-prompt.plan-mode.prompt.md +178 -0
  293. package/src/activities/execute-deep-agent/__tests__/goldens/system-prompt.skills-below-threshold.prompt.md +158 -0
  294. package/src/activities/execute-deep-agent/__tests__/hermetic/file-review-capture.test.ts +210 -0
  295. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/approve-all-lease.turn1.status.json +74 -0
  296. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/approve-all-lease.turn2.status.json +104 -0
  297. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/approve.turn2.status.json +78 -0
  298. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/file-review-capture.status.json +138 -0
  299. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/gate.turn1.status.json +68 -0
  300. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/inline-artifact.turn1.status.json +154 -0
  301. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/inline-artifact.turn2.status.json +116 -0
  302. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/pause.loop.after-tool.status.json +69 -0
  303. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/pause.loop.mid-tool.status.json +67 -0
  304. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/plain-turn.status.json +47 -0
  305. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/platform-stop.status.json +68 -0
  306. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/recursion-limit.persisted.status.json +280 -0
  307. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/reject.turn2.status.json +77 -0
  308. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/resolution-error.status.json +18 -0
  309. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/sequential-gates.turn2.status.json +99 -0
  310. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/sequential-gates.turn3.status.json +109 -0
  311. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/skip.turn2.status.json +76 -0
  312. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/structured-output.text-fallback.status.json +51 -0
  313. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/structured-output.tier2.status.json +51 -0
  314. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/structured-output.tool-strategy.status.json +56 -0
  315. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/sub-agent-delegation.status.json +90 -0
  316. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/tool-call.status.json +70 -0
  317. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/worker-shutdown.status.json +71 -0
  318. package/src/activities/execute-deep-agent/__tests__/hermetic/harness-contract.test.ts +144 -0
  319. package/src/activities/execute-deep-agent/__tests__/hermetic/hitl-approve-all-lease.test.ts +184 -0
  320. package/src/activities/execute-deep-agent/__tests__/hermetic/hitl-round-trips.test.ts +203 -0
  321. package/src/activities/execute-deep-agent/__tests__/hermetic/hitl-sequential-gates.test.ts +170 -0
  322. package/src/activities/execute-deep-agent/__tests__/hermetic/inline-artifact-across-gate.test.ts +175 -0
  323. package/src/activities/execute-deep-agent/__tests__/hermetic/pause-vs-shutdown.test.ts +206 -0
  324. package/src/activities/execute-deep-agent/__tests__/hermetic/plain-turn.test.ts +142 -0
  325. package/src/activities/execute-deep-agent/__tests__/hermetic/platform-stop.test.ts +126 -0
  326. package/src/activities/execute-deep-agent/__tests__/hermetic/recursion-limit.test.ts +139 -0
  327. package/src/activities/execute-deep-agent/__tests__/hermetic/resolution-error.test.ts +122 -0
  328. package/src/activities/execute-deep-agent/__tests__/hermetic/structured-output.test.ts +236 -0
  329. package/src/activities/execute-deep-agent/__tests__/hermetic/sub-agent-delegation.test.ts +161 -0
  330. package/src/activities/execute-deep-agent/__tests__/hermetic/tool-call.test.ts +157 -0
  331. package/src/activities/execute-deep-agent/__tests__/hermetic/workspace-lock-timeout.test.ts +152 -0
  332. package/src/activities/execute-deep-agent/__tests__/hitl.test.ts +50 -122
  333. package/src/activities/execute-deep-agent/__tests__/inline-publisher.test.ts +8 -6
  334. package/src/activities/execute-deep-agent/__tests__/plan-mode-path-normalization.test.ts +2 -2
  335. package/src/activities/execute-deep-agent/__tests__/prompt-builder.test.ts +35 -35
  336. package/src/activities/execute-deep-agent/__tests__/prompt-goldens.test.ts +247 -0
  337. package/src/activities/execute-deep-agent/__tests__/scripted-model.test.ts +329 -0
  338. package/src/activities/execute-deep-agent/__tests__/status-builder-shared.test.ts +1 -20
  339. package/src/activities/execute-deep-agent/__tests__/streaming-side-effects.test.ts +78 -0
  340. package/src/activities/execute-deep-agent/__tests__/subagent-gitignored-capture.test.ts +1 -1
  341. package/src/activities/execute-deep-agent/__tests__/subagent-plan-mode-permissions.test.ts +2 -2
  342. package/src/activities/execute-deep-agent/__tests__/subagent-tracker.test.ts +57 -31
  343. package/src/activities/execute-deep-agent/__tests__/subagent-transformer.test.ts +19 -79
  344. package/src/activities/execute-deep-agent/__tests__/subagent-wiring.test.ts +15 -15
  345. package/src/activities/execute-deep-agent/__tests__/summarization-verification.test.ts +1 -1
  346. package/src/activities/execute-deep-agent/__tests__/turn-stream.test.ts +391 -0
  347. package/src/activities/execute-deep-agent/__tests__/v3-status-builder.test.ts +343 -38
  348. package/src/activities/execute-deep-agent/__tests__/vision-input.test.ts +5 -5
  349. package/src/activities/execute-deep-agent/adapter.ts +94 -0
  350. package/src/activities/execute-deep-agent/cas-capture-observer.ts +11 -0
  351. package/src/activities/execute-deep-agent/deep-agent-capabilities.ts +43 -0
  352. package/src/activities/execute-deep-agent/execution-state.ts +4 -13
  353. package/src/activities/execute-deep-agent/hitl.ts +100 -123
  354. package/src/activities/execute-deep-agent/prompt-builder.ts +141 -115
  355. package/src/activities/execute-deep-agent/status-builder-shared.ts +21 -84
  356. package/src/activities/execute-deep-agent/streaming-side-effects.ts +13 -19
  357. package/src/activities/execute-deep-agent/subagent-tracker.ts +77 -42
  358. package/src/activities/execute-deep-agent/subagent-transformer.ts +46 -105
  359. package/src/activities/execute-deep-agent/subagent-wiring.ts +5 -4
  360. package/src/activities/execute-deep-agent/turn-settle.ts +164 -0
  361. package/src/activities/execute-deep-agent/turn-setup.ts +541 -0
  362. package/src/activities/execute-deep-agent/turn-stream.ts +313 -0
  363. package/src/activities/execute-deep-agent/turn.ts +131 -0
  364. package/src/activities/execute-deep-agent/v3-event-recorder.ts +6 -5
  365. package/src/activities/execute-deep-agent/v3-events.ts +1 -1
  366. package/src/activities/execute-deep-agent/v3-status-builder.ts +84 -63
  367. package/src/harness/__tests__/approval-decisions.test.ts +116 -0
  368. package/src/harness/__tests__/capture.test.ts +268 -0
  369. package/src/harness/__tests__/mount-skills.test.ts +169 -0
  370. package/src/harness/__tests__/persist-chokepoint.test.ts +38 -2
  371. package/src/harness/__tests__/run-turn-deterministic.test.ts +94 -0
  372. package/src/harness/__tests__/run-turn.test.ts +39 -23
  373. package/src/harness/__tests__/turn-attachments-vision.test.ts +80 -0
  374. package/src/harness/__tests__/turn-context.test.ts +73 -26
  375. package/src/harness/approval-decisions.ts +104 -0
  376. package/src/harness/capabilities.ts +16 -5
  377. package/src/harness/capture.ts +301 -0
  378. package/src/harness/persist-chokepoint.ts +24 -4
  379. package/src/harness/run-turn.ts +120 -29
  380. package/src/harness/terminal-table.ts +61 -20
  381. package/src/harness/turn-context.ts +208 -111
  382. package/src/harness/types.ts +66 -12
  383. package/src/harness-adapters.ts +17 -9
  384. package/src/middleware/__tests__/approval-gate.test.ts +1 -1
  385. package/src/middleware/__tests__/cost-advisory.test.ts +113 -0
  386. package/src/middleware/approval-gate.ts +2 -2
  387. package/src/middleware/{cost-cap.ts → cost-advisory.ts} +40 -70
  388. package/src/middleware/index.ts +29 -29
  389. package/src/middleware/types.ts +3 -2
  390. package/src/runner-manager.ts +0 -8
  391. package/src/runner.ts +0 -8
  392. package/src/shared/__tests__/attachment-naming.test.ts +6 -19
  393. package/src/shared/__tests__/attachment-resolver.test.ts +158 -8
  394. package/src/shared/__tests__/attachment-zip.test.ts +236 -0
  395. package/src/shared/__tests__/bedrock-adapter.test.ts +1 -1
  396. package/src/shared/__tests__/blueprint-resolver.test.ts +43 -0
  397. package/src/shared/__tests__/cost-guard.test.ts +3 -3
  398. package/src/shared/__tests__/prompt-sections.test.ts +167 -0
  399. package/src/shared/__tests__/secret-leak-scan.test.ts +2 -2
  400. package/src/{activities/execute-deep-agent → shared}/__tests__/stamp-flowed-rows.test.ts +33 -10
  401. package/src/shared/__tests__/vertex-adapter.test.ts +1 -1
  402. package/src/shared/attachment-resolver.ts +218 -55
  403. package/src/shared/attachment-zip.ts +281 -0
  404. package/src/shared/connect-backfill.ts +9 -11
  405. package/src/shared/cost-guard.ts +3 -3
  406. package/src/shared/execution-status-writer.ts +5 -5
  407. package/src/shared/extract-structured-output.ts +8 -7
  408. package/src/shared/filereview/__tests__/capture.test.ts +86 -4
  409. package/src/shared/filereview/__tests__/cas-progress.test.ts +2 -1
  410. package/src/shared/filereview/cas-progress.ts +5 -19
  411. package/src/shared/filereview/cas-touched.ts +89 -0
  412. package/src/shared/filereview/index.ts +4 -2
  413. package/src/shared/mcp-resolver.ts +4 -5
  414. package/src/shared/persist-decision.ts +3 -4
  415. package/src/shared/plan-mode-permissions.ts +2 -2
  416. package/src/shared/plan-mode-prompt.ts +1 -1
  417. package/src/shared/prompt-sections.ts +256 -0
  418. package/src/shared/skill-resolver.ts +4 -2
  419. package/src/shared/tool-rounds.ts +48 -0
  420. package/src/shared/tool-row.ts +61 -0
  421. package/src/shared/workspace/__tests__/stigmer-link.test.ts +7 -22
  422. package/src/shared/workspace/__tests__/writeback-coordinator.test.ts +20 -61
  423. package/src/shared/workspace/session-provision.ts +3 -3
  424. package/src/shared/workspace/stigmer-link.ts +3 -3
  425. package/src/shared/workspace/writeback-coordinator.ts +16 -64
  426. package/src/tools/index.ts +1 -1
  427. package/dist/activities/execute-cursor/capture-flow.d.ts +0 -142
  428. package/dist/activities/execute-cursor/capture-flow.js +0 -285
  429. package/dist/activities/execute-cursor/capture-flow.js.map +0 -1
  430. package/dist/activities/execute-cursor/command-provenance.d.ts +0 -48
  431. package/dist/activities/execute-cursor/command-provenance.js +0 -38
  432. package/dist/activities/execute-cursor/command-provenance.js.map +0 -1
  433. package/dist/activities/execute-deep-agent/attachment-injector.d.ts +0 -134
  434. package/dist/activities/execute-deep-agent/attachment-injector.js +0 -386
  435. package/dist/activities/execute-deep-agent/attachment-injector.js.map +0 -1
  436. package/dist/activities/execute-deep-agent/command-provenance.d.ts +0 -61
  437. package/dist/activities/execute-deep-agent/command-provenance.js +0 -72
  438. package/dist/activities/execute-deep-agent/command-provenance.js.map +0 -1
  439. package/dist/activities/execute-deep-agent/environment.d.ts +0 -24
  440. package/dist/activities/execute-deep-agent/environment.js +0 -58
  441. package/dist/activities/execute-deep-agent/environment.js.map +0 -1
  442. package/dist/activities/execute-deep-agent/event-recorder.d.ts +0 -21
  443. package/dist/activities/execute-deep-agent/event-recorder.js +0 -67
  444. package/dist/activities/execute-deep-agent/event-recorder.js.map +0 -1
  445. package/dist/activities/execute-deep-agent/index.d.ts +0 -15
  446. package/dist/activities/execute-deep-agent/index.js +0 -918
  447. package/dist/activities/execute-deep-agent/index.js.map +0 -1
  448. package/dist/activities/execute-deep-agent/mcp-gate.d.ts +0 -28
  449. package/dist/activities/execute-deep-agent/mcp-gate.js +0 -22
  450. package/dist/activities/execute-deep-agent/mcp-gate.js.map +0 -1
  451. package/dist/activities/execute-deep-agent/post-stream.d.ts +0 -23
  452. package/dist/activities/execute-deep-agent/post-stream.js +0 -71
  453. package/dist/activities/execute-deep-agent/post-stream.js.map +0 -1
  454. package/dist/activities/execute-deep-agent/setup.d.ts +0 -136
  455. package/dist/activities/execute-deep-agent/setup.js +0 -767
  456. package/dist/activities/execute-deep-agent/setup.js.map +0 -1
  457. package/dist/activities/execute-deep-agent/stamp-flowed-rows.d.ts +0 -36
  458. package/dist/activities/execute-deep-agent/stamp-flowed-rows.js +0 -56
  459. package/dist/activities/execute-deep-agent/stamp-flowed-rows.js.map +0 -1
  460. package/dist/activities/execute-deep-agent/status-builder.d.ts +0 -93
  461. package/dist/activities/execute-deep-agent/status-builder.js +0 -365
  462. package/dist/activities/execute-deep-agent/status-builder.js.map +0 -1
  463. package/dist/activities/execute-deep-agent/streaming-terminal.d.ts +0 -21
  464. package/dist/activities/execute-deep-agent/streaming-terminal.js +0 -80
  465. package/dist/activities/execute-deep-agent/streaming-terminal.js.map +0 -1
  466. package/dist/activities/execute-deep-agent/streaming-v3.d.ts +0 -13
  467. package/dist/activities/execute-deep-agent/streaming-v3.js +0 -174
  468. package/dist/activities/execute-deep-agent/streaming-v3.js.map +0 -1
  469. package/dist/activities/execute-deep-agent/streaming.d.ts +0 -81
  470. package/dist/activities/execute-deep-agent/streaming.js +0 -160
  471. package/dist/activities/execute-deep-agent/streaming.js.map +0 -1
  472. package/dist/middleware/cost-cap.d.ts +0 -22
  473. package/dist/middleware/cost-cap.js.map +0 -1
  474. package/dist/middleware/graceful-stop.d.ts +0 -17
  475. package/dist/middleware/graceful-stop.js +0 -63
  476. package/dist/middleware/graceful-stop.js.map +0 -1
  477. package/dist/shared/skill-writer.d.ts +0 -75
  478. package/dist/shared/skill-writer.js +0 -207
  479. package/dist/shared/skill-writer.js.map +0 -1
  480. package/src/activities/execute-cursor/__tests__/capture-flow.test.ts +0 -1032
  481. package/src/activities/execute-cursor/__tests__/command-provenance.test.ts +0 -240
  482. package/src/activities/execute-cursor/__tests__/progress-substrate.test.ts +0 -169
  483. package/src/activities/execute-cursor/capture-flow.ts +0 -379
  484. package/src/activities/execute-cursor/command-provenance.ts +0 -73
  485. package/src/activities/execute-deep-agent/__tests__/attachment-injector.test.ts +0 -1161
  486. package/src/activities/execute-deep-agent/__tests__/command-provenance.test.ts +0 -252
  487. package/src/activities/execute-deep-agent/__tests__/environment.test.ts +0 -108
  488. package/src/activities/execute-deep-agent/__tests__/event-recorder.test.ts +0 -150
  489. package/src/activities/execute-deep-agent/__tests__/hitl-integration.test.ts +0 -226
  490. package/src/activities/execute-deep-agent/__tests__/hitl-reject.test.ts +0 -318
  491. package/src/activities/execute-deep-agent/__tests__/hitl-resume-approve-all.test.ts +0 -351
  492. package/src/activities/execute-deep-agent/__tests__/hitl-resume-history.test.ts +0 -293
  493. package/src/activities/execute-deep-agent/__tests__/index.test.ts +0 -99
  494. package/src/activities/execute-deep-agent/__tests__/mcp-gate.test.ts +0 -44
  495. package/src/activities/execute-deep-agent/__tests__/post-stream.test.ts +0 -112
  496. package/src/activities/execute-deep-agent/__tests__/sequential-gate-resume.test.ts +0 -358
  497. package/src/activities/execute-deep-agent/__tests__/status-builder.test.ts +0 -1933
  498. package/src/activities/execute-deep-agent/__tests__/streaming-terminal.test.ts +0 -40
  499. package/src/activities/execute-deep-agent/__tests__/streaming-v3.test.ts +0 -597
  500. package/src/activities/execute-deep-agent/__tests__/streaming.test.ts +0 -508
  501. package/src/activities/execute-deep-agent/attachment-injector.ts +0 -627
  502. package/src/activities/execute-deep-agent/command-provenance.ts +0 -102
  503. package/src/activities/execute-deep-agent/environment.ts +0 -76
  504. package/src/activities/execute-deep-agent/event-recorder.ts +0 -95
  505. package/src/activities/execute-deep-agent/index.ts +0 -1072
  506. package/src/activities/execute-deep-agent/mcp-gate.ts +0 -37
  507. package/src/activities/execute-deep-agent/post-stream.ts +0 -109
  508. package/src/activities/execute-deep-agent/setup.ts +0 -1081
  509. package/src/activities/execute-deep-agent/stamp-flowed-rows.ts +0 -64
  510. package/src/activities/execute-deep-agent/status-builder.ts +0 -481
  511. package/src/activities/execute-deep-agent/streaming-terminal.ts +0 -106
  512. package/src/activities/execute-deep-agent/streaming-v3.ts +0 -277
  513. package/src/activities/execute-deep-agent/streaming.ts +0 -313
  514. package/src/middleware/__tests__/cost-cap.test.ts +0 -192
  515. package/src/middleware/__tests__/graceful-stop.test.ts +0 -105
  516. package/src/middleware/graceful-stop.ts +0 -86
  517. package/src/shared/__tests__/skill-writer.test.ts +0 -372
  518. package/src/shared/skill-writer.ts +0 -266
@@ -1,51 +1,74 @@
1
1
  /**
2
2
  * V3StatusBuilder — consumes StigmerRunEvents from the V3ProtocolNormalizer
3
- * and progressively builds the AgentExecutionStatus proto.
3
+ * and progressively builds the transcript half of the AgentExecutionStatus
4
+ * proto it is handed: messages, tool-call rows and their approval status,
5
+ * sub-agent rows, todos, artifacts, write-backs.
4
6
  *
5
- * Implements the same behavioral contract as the v2 StatusBuilder for all
6
- * 8 golden scenarios, using v3 event semantics (tool_call_id keying,
7
- * content-block-level deltas, explicit tool lifecycle).
7
+ * The one transcript builder of the native harness since S3 M2b: v3 event
8
+ * semantics (tool_call_id keying, content-block-level deltas, explicit tool
9
+ * lifecycle). Its predecessor, the v2 `StatusBuilder` over LangChain's
10
+ * `streamEvents` v2, was retired with the v2 stream (Q-S3-1); the eight
11
+ * golden sequences both once had to agree on are this builder's test's.
8
12
  *
9
- * Usage is accumulated on message_finish only (standalone usage events are
13
+ * What this builder deliberately does NOT write, and who does (the adapter
14
+ * contract's field ownership, `harness/types.ts` `TurnSink`): the phase,
15
+ * `startedAt` and `streamingUsage` are the turn runtime's. A gated tool
16
+ * start is reported as the {@link awaitingApproval} fact and the caller
17
+ * (`turn-stream.ts`) decides what that means for the turn; usage is reported
18
+ * raw through {@link V3StatusBuilderOptions.onUsage} and the caller prices
19
+ * it into the sink (until S3 M2a this builder flipped WAITING_FOR_APPROVAL
20
+ * itself and summed usage into `streamingUsage` — a second writer of each
21
+ * field beside the runtime's).
22
+ *
23
+ * Usage is reported on message_finish only (standalone usage events are
10
24
  * no-ops) to prevent double-counting — v3 emits both for the same turn.
25
+ * EVERY graph's usage is reported, the sub-agents' included (S3 M2b,
26
+ * Q-M2b-1): a sub-agent's `message_finish` fires the same hook before it is
27
+ * routed to the tracker, so the execution's usage — and the cost cap the
28
+ * runtime enforces over it — is the whole execution's spend. Until M2b the
29
+ * sub-agents' turns were discarded (S3 M2a finding F-M2a-12); the cost cap
30
+ * then lived inside the graph, where a middleware saw every model call.
11
31
  */
12
32
  import { create } from "@bufbuild/protobuf";
13
33
  import { AgentMessageSchema, ToolCallSchema, } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/message_pb";
14
- import { ExecutionPhase, MessageType, ToolCallStatus, ToolKind, } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
34
+ import { MessageType, ToolCallStatus, ToolKind, } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
15
35
  import { resolveApprovalMessage as resolveApprovalMsg } from "../../shared/approval-policy.js";
16
36
  import { classifyTool } from "../../shared/tool-kind.js";
17
37
  import { applyTodoUpdate } from "../../shared/todos.js";
18
38
  import { ExecutionState } from "./execution-state.js";
19
39
  import { utcTimestamp } from "../../shared/status.js";
20
40
  import { namespaceDepth } from "./v3-events.js";
21
- import { UsageAccumulator, extractToolResultV3, sanitizeArgsPreview, stampApprovalProvenance, } from "./status-builder-shared.js";
41
+ import { extractToolResultV3, sanitizeArgsPreview, stampApprovalProvenance, } from "./status-builder-shared.js";
22
42
  import { SubAgentTracker } from "./subagent-tracker.js";
23
43
  export class V3StatusBuilder {
24
44
  executionId;
25
45
  state;
26
46
  _forceNextUpdate = false;
47
+ _awaitingApproval = false;
27
48
  approvalProvider = null;
28
- usageAccumulator;
49
+ onUsage;
29
50
  subAgentTracker;
30
51
  /** Progressive tool call arg accumulation keyed by callId. */
31
52
  toolArgBuffers = new Map();
32
- constructor(executionId, initialStatus) {
53
+ /**
54
+ * Builds INTO `status`, by reference: its `messages` and
55
+ * `subAgentExecutions` arrays are the ones indexed and pushed into, never
56
+ * replaced, so a caller that wraps the same status (the write-back
57
+ * coordinator's writer, the runtime's chokepoint) keeps seeing every row.
58
+ */
59
+ constructor(executionId, status, options = {}) {
33
60
  this.executionId = executionId;
34
- this.state = new ExecutionState(initialStatus);
35
- // Resume path: when constructed from a persisted transcript (status seeded
36
- // in index.ts on a durable-checkpoint resume), rebuild the tool-call index
37
- // so resumed tool_started/tool_finished events reconcile to the existing
38
- // calls instead of duplicating them. A first run carries no messages, so
39
- // this is a no-op.
40
- if (initialStatus.messages.length > 0) {
61
+ this.state = new ExecutionState(status);
62
+ this.onUsage = options.onUsage;
63
+ // Resume path: when constructed over a persisted transcript (seeded by the
64
+ // caller on a reinvocation), rebuild the tool-call index so resumed
65
+ // tool_started/tool_finished events reconcile to the existing calls
66
+ // instead of duplicating them. A first run carries no messages, so this
67
+ // is a no-op. The tracker does the same for the seeded sub-agent rows.
68
+ if (status.messages.length > 0) {
41
69
  this.state.rebuildToolCallIndex();
42
70
  }
43
- initialStatus.phase = ExecutionPhase.EXECUTION_IN_PROGRESS;
44
- if (!initialStatus.startedAt) {
45
- initialStatus.startedAt = utcTimestamp();
46
- }
47
- this.usageAccumulator = new UsageAccumulator();
48
- this.subAgentTracker = new SubAgentTracker();
71
+ this.subAgentTracker = new SubAgentTracker(status.subAgentExecutions);
49
72
  }
50
73
  setApprovalProvider(provider) {
51
74
  this.approvalProvider = provider;
@@ -53,6 +76,15 @@ export class V3StatusBuilder {
53
76
  get currentStatus() {
54
77
  return this.state.proto;
55
78
  }
79
+ /**
80
+ * True once a tool call this turn was gated and left WAITING_APPROVAL: the
81
+ * engine has interrupted (or will, at this step's end) and the turn should
82
+ * end awaiting a decision. A fact about the transcript, not a phase — the
83
+ * caller owns the phase.
84
+ */
85
+ get awaitingApproval() {
86
+ return this._awaitingApproval;
87
+ }
56
88
  get forceNextUpdate() {
57
89
  return this._forceNextUpdate;
58
90
  }
@@ -84,6 +116,10 @@ export class V3StatusBuilder {
84
116
  return;
85
117
  }
86
118
  if (this.subAgentTracker.isSubAgentNamespace(event.namespace)) {
119
+ // A sub-agent's spend is the execution's spend (Q-M2b-1): report it
120
+ // through the one hook before the tracker folds the message.
121
+ if (event.kind === "message_finish" && event.usage)
122
+ this.onUsage?.(event.usage);
87
123
  this.subAgentTracker.routeEvent(event);
88
124
  return;
89
125
  }
@@ -173,7 +209,7 @@ export class V3StatusBuilder {
173
209
  msg.isStreaming = false;
174
210
  }
175
211
  if (usage) {
176
- this.accumulateV3Usage(usage);
212
+ this.onUsage?.(usage);
177
213
  }
178
214
  }
179
215
  appendTextContent(runId, namespace, text) {
@@ -201,8 +237,9 @@ export class V3StatusBuilder {
201
237
  // ── Tool Handlers ──────────────────────────────────────────────────
202
238
  handleToolStarted(callId, name, input, namespace) {
203
239
  // Resume reconciliation: the gated tool call already exists, seeded from the
204
- // persisted transcript of a prior invocation (seedStatusFromExecution in
205
- // index.ts). The durable checkpoint re-emits tool_started now that approval
240
+ // persisted transcript of a prior invocation (the runtime's
241
+ // `seedFromPersistedStatus`, `harness/turn-context.ts`). The durable
242
+ // checkpoint re-emits tool_started now that approval
206
243
  // is granted — flip the existing call to RUNNING in place rather than
207
244
  // appending a duplicate or re-triggering the approval gate. v3 keys by
208
245
  // tool_call_id, so this is an exact match (no name heuristics needed).
@@ -214,7 +251,6 @@ export class V3StatusBuilder {
214
251
  if (Object.keys(input).length > 0 && !existing.args) {
215
252
  existing.args = input;
216
253
  }
217
- this.state.toolStartTimes.set(callId, performance.now());
218
254
  this._forceNextUpdate = true;
219
255
  return;
220
256
  }
@@ -242,7 +278,8 @@ export class V3StatusBuilder {
242
278
  tc.toolKind = classifyTool(tc.name, tc.mcpServerSlug);
243
279
  // Stamp authorization provenance in the same spot as tool_kind, for every
244
280
  // observed tool call (gated or auto-approved). A gated call is re-seeded on
245
- // reinvocation (index.ts) with the same source carried through the interrupt.
281
+ // reinvocation (the runtime's wide seed) with the same source carried
282
+ // through the interrupt.
246
283
  stampApprovalProvenance(tc, this.approvalProvider);
247
284
  if (approvalReq.requiresApproval) {
248
285
  tc.requiresApproval = true;
@@ -252,11 +289,10 @@ export class V3StatusBuilder {
252
289
  if (argsPreview) {
253
290
  tc.argsPreview = argsPreview;
254
291
  }
255
- this.state.proto.phase = ExecutionPhase.EXECUTION_WAITING_FOR_APPROVAL;
292
+ this._awaitingApproval = true;
256
293
  }
257
294
  parentMsg.toolCalls.push(tc);
258
295
  this.state.toolCalls.set(callId, tc);
259
- this.state.toolStartTimes.set(callId, performance.now());
260
296
  this._forceNextUpdate = true;
261
297
  }
262
298
  handleToolFinished(callId, output) {
@@ -271,7 +307,6 @@ export class V3StatusBuilder {
271
307
  tc.result = extractToolResultV3(output);
272
308
  tc.completedAt = utcTimestamp();
273
309
  tc.isStreaming = false;
274
- this.state.toolStartTimes.delete(callId);
275
310
  this.toolArgBuffers.delete(callId);
276
311
  // Project a completed to-do write into status.todos. deepagents' write_todos
277
312
  // runs its state-mutating Command when the tool node COMPLETES, so we mirror
@@ -293,7 +328,6 @@ export class V3StatusBuilder {
293
328
  tc.error = message;
294
329
  tc.completedAt = utcTimestamp();
295
330
  tc.isStreaming = false;
296
- this.state.toolStartTimes.delete(callId);
297
331
  this.toolArgBuffers.delete(callId);
298
332
  this._forceNextUpdate = true;
299
333
  }
@@ -400,19 +434,6 @@ export class V3StatusBuilder {
400
434
  this.state.currentAiMessage.set(namespace, msg);
401
435
  return msg;
402
436
  }
403
- // ── Usage ──────────────────────────────────────────────────────────
404
- accumulateV3Usage(usage) {
405
- const meta = {
406
- input_tokens: usage.input_tokens,
407
- output_tokens: usage.output_tokens,
408
- };
409
- if (usage.input_token_details) {
410
- meta.cache_read_input_tokens = usage.input_token_details.cache_read;
411
- meta.cache_creation_input_tokens = usage.input_token_details.cache_creation;
412
- }
413
- this.usageAccumulator.accumulate(meta);
414
- this.state.proto.streamingUsage = this.usageAccumulator.toProto();
415
- }
416
437
  // ── Sub-Agent Integration ──────────────────────────────────────────
417
438
  /**
418
439
  * Check if a tool_call_id belongs to a tracked "task" tool invocation.
@@ -423,20 +444,14 @@ export class V3StatusBuilder {
423
444
  return tc?.name === "task";
424
445
  }
425
446
  /**
426
- * Sync sub-agent executions into the proto for persistence.
427
- * Called by the streaming orchestrator before each persist.
428
- */
429
- syncSubAgentExecutions() {
430
- if (this.subAgentTracker.hasExecutions()) {
431
- this.state.proto.subAgentExecutions = this.subAgentTracker.getExecutions();
432
- }
433
- }
434
- /**
435
- * Cancel all in-progress sub-agents (called on parent cancellation).
447
+ * Clear the streaming flag on every sub-agent message still marked as
448
+ * streaming what a turn that stopped mid-delegation owes the transcript
449
+ * beside the CANCELLED status the caller stamps on the row itself
450
+ * (`shared/subagent-rows.ts` `cancelInProgressSubAgentProtos`, the one
451
+ * home of that transition for every harness).
436
452
  */
437
- cancelSubAgents() {
438
- this.subAgentTracker.cancelAll();
439
- this.syncSubAgentExecutions();
453
+ finalizeSubAgentStreaming() {
454
+ this.subAgentTracker.finalizeAllStreaming();
440
455
  }
441
456
  }
442
457
  //# sourceMappingURL=v3-status-builder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"v3-status-builder.js","sourceRoot":"","sources":["../../../src/activities/execute-deep-agent/v3-status-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"v3-status-builder.js","sourceRoot":"","sources":["../../../src/activities/execute-deep-agent/v3-status-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * The runtime's one reader and one settler of a user's approval decision.
3
+ *
4
+ * A decision lives on the tool-call row the server owns
5
+ * (`ToolCall.approval_action`, written by `SubmitApproval`); the runtime
6
+ * reads it at the start of a reinvocation and settles the rows that never
7
+ * run at the end of it. Both acts are here so the two halves of one
8
+ * transition cannot drift apart:
9
+ *
10
+ * - {@link approvalDecisionsOf} reads every top-level row still
11
+ * WAITING_APPROVAL whose action is set. The WAITING filter is what keeps a
12
+ * decided row from being re-gated on the NEXT reinvocation (its row is
13
+ * COMPLETED or SKIPPED by then) and what lets the adapter still describe
14
+ * the decision to its engine on THIS one (Cursor's reinvocation prompt
15
+ * names the skipped and rejected actions in human terms).
16
+ * - {@link terminalizeNonExecutingDecisions} settles SKIP and REJECT rows to
17
+ * TOOL_CALL_SKIPPED (REJECT also carries `error: "Rejected by user"`),
18
+ * root and sub-agent transcripts alike. The runtime calls it once,
19
+ * immediately after `adapter.runTurn` returns and before any persist of
20
+ * the outcome, for EVERY outcome: a decision that never runs the tool has
21
+ * no engine event to flip its row, so the row would otherwise persist
22
+ * WAITING on a completed execution. APPROVE and APPROVE_ALL are not
23
+ * touched — the tool executes, and the adapter's own events settle it.
24
+ *
25
+ * Why after the adapter, not before: both readers above filter on WAITING, so
26
+ * stamping first would hide the decision from the reinvocation prompt and
27
+ * from the exact-apply. Why by decision and not by row status: the outcome
28
+ * of SKIP and REJECT is fully determined by the recorded decision, whatever
29
+ * transient status an engine left (a denial ToolMessage with no tool events,
30
+ * or a replay that never re-drove the gate), so the stamp is idempotent and
31
+ * checkpointer-independent by construction. REJECT and SKIP share SKIPPED as
32
+ * the terminal status (the tool did not run) and stay distinguishable by
33
+ * `approval_action` and by the server's append-only approval-event stream.
34
+ *
35
+ * This is the contract as of stigmer#197: REJECT denies the tool and the run
36
+ * CONTINUES; it never fails the execution. The native harness proved it
37
+ * (`hitl.ts` `reconcileNonExecutingDecisions`, moved here at S3 M1) and the
38
+ * conformance suite (`agentexecution-approval.conformance.test.ts`) is its
39
+ * arbiter for both harnesses.
40
+ */
41
+ import type { AgentExecutionStatus } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/api_pb";
42
+ import { ApprovalAction } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
43
+ /** The row's error for a REJECT; byte-pinned by the native goldens (`reject.turn2.status.json`) and the conformance suite. */
44
+ export declare const REJECTED_BY_USER_ERROR = "Rejected by user";
45
+ /**
46
+ * Every top-level tool-call row still WAITING_APPROVAL whose `approvalAction`
47
+ * the server has set, keyed by tool-call id, in transcript order. Derived
48
+ * from the status on every invocation, never stored, so it cannot drift from
49
+ * the rows. The same rows, in the same order, that the Cursor adapter's
50
+ * `reconstructAdjudicatedApprovals` reads for its own facts (the
51
+ * pending-approval protos and content digests); a test pins the two
52
+ * readers' agreement.
53
+ */
54
+ export declare function approvalDecisionsOf(status: AgentExecutionStatus): ReadonlyMap<string, ApprovalAction>;
55
+ /**
56
+ * Settle every SKIP and REJECT row to TOOL_CALL_SKIPPED, root and sub-agent
57
+ * transcripts, in place. Idempotent: a row already settled carries the same
58
+ * decision and re-settles identically. A REJECT row's `error` is set only
59
+ * when empty, so an engine's own denial text, if any, stands.
60
+ */
61
+ export declare function terminalizeNonExecutingDecisions(status: AgentExecutionStatus): void;
@@ -0,0 +1,102 @@
1
+ /**
2
+ * The runtime's one reader and one settler of a user's approval decision.
3
+ *
4
+ * A decision lives on the tool-call row the server owns
5
+ * (`ToolCall.approval_action`, written by `SubmitApproval`); the runtime
6
+ * reads it at the start of a reinvocation and settles the rows that never
7
+ * run at the end of it. Both acts are here so the two halves of one
8
+ * transition cannot drift apart:
9
+ *
10
+ * - {@link approvalDecisionsOf} reads every top-level row still
11
+ * WAITING_APPROVAL whose action is set. The WAITING filter is what keeps a
12
+ * decided row from being re-gated on the NEXT reinvocation (its row is
13
+ * COMPLETED or SKIPPED by then) and what lets the adapter still describe
14
+ * the decision to its engine on THIS one (Cursor's reinvocation prompt
15
+ * names the skipped and rejected actions in human terms).
16
+ * - {@link terminalizeNonExecutingDecisions} settles SKIP and REJECT rows to
17
+ * TOOL_CALL_SKIPPED (REJECT also carries `error: "Rejected by user"`),
18
+ * root and sub-agent transcripts alike. The runtime calls it once,
19
+ * immediately after `adapter.runTurn` returns and before any persist of
20
+ * the outcome, for EVERY outcome: a decision that never runs the tool has
21
+ * no engine event to flip its row, so the row would otherwise persist
22
+ * WAITING on a completed execution. APPROVE and APPROVE_ALL are not
23
+ * touched — the tool executes, and the adapter's own events settle it.
24
+ *
25
+ * Why after the adapter, not before: both readers above filter on WAITING, so
26
+ * stamping first would hide the decision from the reinvocation prompt and
27
+ * from the exact-apply. Why by decision and not by row status: the outcome
28
+ * of SKIP and REJECT is fully determined by the recorded decision, whatever
29
+ * transient status an engine left (a denial ToolMessage with no tool events,
30
+ * or a replay that never re-drove the gate), so the stamp is idempotent and
31
+ * checkpointer-independent by construction. REJECT and SKIP share SKIPPED as
32
+ * the terminal status (the tool did not run) and stay distinguishable by
33
+ * `approval_action` and by the server's append-only approval-event stream.
34
+ *
35
+ * This is the contract as of stigmer#197: REJECT denies the tool and the run
36
+ * CONTINUES; it never fails the execution. The native harness proved it
37
+ * (`hitl.ts` `reconcileNonExecutingDecisions`, moved here at S3 M1) and the
38
+ * conformance suite (`agentexecution-approval.conformance.test.ts`) is its
39
+ * arbiter for both harnesses.
40
+ */
41
+ import { ApprovalAction, ToolCallStatus } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
42
+ /** The row's error for a REJECT; byte-pinned by the native goldens (`reject.turn2.status.json`) and the conformance suite. */
43
+ export const REJECTED_BY_USER_ERROR = "Rejected by user";
44
+ /**
45
+ * Every top-level tool-call row still WAITING_APPROVAL whose `approvalAction`
46
+ * the server has set, keyed by tool-call id, in transcript order. Derived
47
+ * from the status on every invocation, never stored, so it cannot drift from
48
+ * the rows. The same rows, in the same order, that the Cursor adapter's
49
+ * `reconstructAdjudicatedApprovals` reads for its own facts (the
50
+ * pending-approval protos and content digests); a test pins the two
51
+ * readers' agreement.
52
+ */
53
+ export function approvalDecisionsOf(status) {
54
+ const decisions = new Map();
55
+ for (const message of status.messages) {
56
+ for (const row of message.toolCalls) {
57
+ if (row.status !== ToolCallStatus.TOOL_CALL_WAITING_APPROVAL)
58
+ continue;
59
+ if (row.approvalAction === ApprovalAction.UNSPECIFIED)
60
+ continue;
61
+ decisions.set(row.id, row.approvalAction);
62
+ }
63
+ }
64
+ return decisions;
65
+ }
66
+ /**
67
+ * Settle every SKIP and REJECT row to TOOL_CALL_SKIPPED, root and sub-agent
68
+ * transcripts, in place. Idempotent: a row already settled carries the same
69
+ * decision and re-settles identically. A REJECT row's `error` is set only
70
+ * when empty, so an engine's own denial text, if any, stands.
71
+ */
72
+ export function terminalizeNonExecutingDecisions(status) {
73
+ const settle = (messages) => {
74
+ for (const message of messages) {
75
+ for (const row of message.toolCalls) {
76
+ switch (row.approvalAction) {
77
+ case ApprovalAction.SKIP:
78
+ row.status = ToolCallStatus.TOOL_CALL_SKIPPED;
79
+ break;
80
+ case ApprovalAction.REJECT:
81
+ row.status = ToolCallStatus.TOOL_CALL_SKIPPED;
82
+ if (!row.error)
83
+ row.error = REJECTED_BY_USER_ERROR;
84
+ break;
85
+ case ApprovalAction.UNSPECIFIED:
86
+ case ApprovalAction.APPROVE:
87
+ case ApprovalAction.APPROVE_ALL:
88
+ break;
89
+ default: {
90
+ const exhaustive = row.approvalAction;
91
+ throw new Error(`terminalizeNonExecutingDecisions: unknown approval action ${String(exhaustive)}`);
92
+ }
93
+ }
94
+ }
95
+ }
96
+ };
97
+ settle(status.messages);
98
+ for (const subAgent of status.subAgentExecutions) {
99
+ settle(subAgent.messages);
100
+ }
101
+ }
102
+ //# sourceMappingURL=approval-decisions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approval-decisions.js","sourceRoot":"","sources":["../../src/harness/approval-decisions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAIH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,8DAA8D,CAAC;AAE9G,8HAA8H;AAC9H,MAAM,CAAC,MAAM,sBAAsB,GAAG,kBAAkB,CAAC;AAEzD;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAA4B;IAC9D,MAAM,SAAS,GAAG,IAAI,GAAG,EAA0B,CAAC;IACpD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACpC,IAAI,GAAG,CAAC,MAAM,KAAK,cAAc,CAAC,0BAA0B;gBAAE,SAAS;YACvE,IAAI,GAAG,CAAC,cAAc,KAAK,cAAc,CAAC,WAAW;gBAAE,SAAS;YAChE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gCAAgC,CAAC,MAA4B;IAC3E,MAAM,MAAM,GAAG,CAAC,QAAiC,EAAQ,EAAE;QACzD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACpC,QAAQ,GAAG,CAAC,cAAc,EAAE,CAAC;oBAC3B,KAAK,cAAc,CAAC,IAAI;wBACtB,GAAG,CAAC,MAAM,GAAG,cAAc,CAAC,iBAAiB,CAAC;wBAC9C,MAAM;oBACR,KAAK,cAAc,CAAC,MAAM;wBACxB,GAAG,CAAC,MAAM,GAAG,cAAc,CAAC,iBAAiB,CAAC;wBAC9C,IAAI,CAAC,GAAG,CAAC,KAAK;4BAAE,GAAG,CAAC,KAAK,GAAG,sBAAsB,CAAC;wBACnD,MAAM;oBACR,KAAK,cAAc,CAAC,WAAW,CAAC;oBAChC,KAAK,cAAc,CAAC,OAAO,CAAC;oBAC5B,KAAK,cAAc,CAAC,WAAW;wBAC7B,MAAM;oBACR,OAAO,CAAC,CAAC,CAAC;wBACR,MAAM,UAAU,GAAU,GAAG,CAAC,cAAc,CAAC;wBAC7C,MAAM,IAAI,KAAK,CAAC,6DAA6D,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;oBACrG,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxB,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;QACjD,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC"}
@@ -9,6 +9,15 @@
9
9
  * Every row of the matrix below is either a flag here or internal to one
10
10
  * adapter; nothing in it needed a third kind of thing.
11
11
  *
12
+ * One flag is declared for the matrix and read by no runtime phase today:
13
+ * `systemPrompt`. Its readers are the adapters' own prompt builders, by
14
+ * placement (the native builder renders a system prompt rebuilt every turn;
15
+ * the Cursor builder renders the session's first user message), and the
16
+ * shared prompt glue (`shared/prompt-sections.ts`) is written so that
17
+ * placement stays each adapter's. The runtime would branch on it only if it
18
+ * ever composed prompts itself — the S4/S5 unification question, not a phase
19
+ * that exists (S3 M5, Q-M5-6).
20
+ *
12
21
  * The matrix the contract was designed against (2026-09; Claude and Codex are
13
22
  * the surveyed SDKs, not built harnesses):
14
23
  *
@@ -59,13 +68,15 @@ export type PausePrimitive = "interrupt" | "deny-and-retry" | "callback" | "none
59
68
  */
60
69
  export type StateIdSource = "deterministic" | "engine-minted";
61
70
  /**
62
- * The two facts the runtime's file-review reconcile needs from the harness
63
- * and cannot know: the id the projection reads from the BASELINE payload
64
- * (`shared/filereview/capture.ts` `applyCaptureDecisions`), and the
71
+ * The two facts the runtime's file-review capture and reconcile need from
72
+ * the harness and cannot know: the id the projection reads from the
73
+ * BASELINE payload (`shared/filereview/capture.ts`), and the
65
74
  * workspace-relative paths the harness writes into the repo that a turn's
66
75
  * diff must never show (Cursor's transient `.cursor/hooks.json`). Declared
67
- * once per adapter, read by `turn-context.ts` (ruled Q-M2-6 as an argument,
68
- * homed here at M3).
76
+ * once per adapter, read by `harness/capture.ts` (the pin, the progress
77
+ * slice, the candidate) and `turn-context.ts` (the reconcile). Ruled Q-M2-6
78
+ * as an argument, homed here at S2 M3; the capture joined the reconcile as a
79
+ * reader at S3 M4.
69
80
  */
70
81
  export interface FileReviewIdentity {
71
82
  readonly harnessId: string;
@@ -9,6 +9,15 @@
9
9
  * Every row of the matrix below is either a flag here or internal to one
10
10
  * adapter; nothing in it needed a third kind of thing.
11
11
  *
12
+ * One flag is declared for the matrix and read by no runtime phase today:
13
+ * `systemPrompt`. Its readers are the adapters' own prompt builders, by
14
+ * placement (the native builder renders a system prompt rebuilt every turn;
15
+ * the Cursor builder renders the session's first user message), and the
16
+ * shared prompt glue (`shared/prompt-sections.ts`) is written so that
17
+ * placement stays each adapter's. The runtime would branch on it only if it
18
+ * ever composed prompts itself — the S4/S5 unification question, not a phase
19
+ * that exists (S3 M5, Q-M5-6).
20
+ *
12
21
  * The matrix the contract was designed against (2026-09; Claude and Codex are
13
22
  * the surveyed SDKs, not built harnesses):
14
23
  *
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/harness/capabilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/harness/capabilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG"}