@stigmer/runner 3.15.3-dev.20260914121148 → 3.16.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 (592) hide show
  1. package/README.md +2 -1
  2. package/dist/.build-fingerprint +1 -1
  3. package/dist/__test-utils__/approval-contract/types.d.ts +1 -1
  4. package/dist/__test-utils__/hermetic-activity.d.ts +61 -7
  5. package/dist/__test-utils__/hermetic-activity.js +100 -9
  6. package/dist/__test-utils__/hermetic-activity.js.map +1 -1
  7. package/dist/__test-utils__/model-registry-fixture.d.ts +22 -3
  8. package/dist/__test-utils__/model-registry-fixture.js +22 -7
  9. package/dist/__test-utils__/model-registry-fixture.js.map +1 -1
  10. package/dist/activities/execute-cursor/__test-utils__/contract-subject.d.ts +2 -2
  11. package/dist/activities/execute-cursor/__test-utils__/contract-subject.js +2 -2
  12. package/dist/activities/execute-cursor/__test-utils__/fold.d.ts +61 -0
  13. package/dist/activities/execute-cursor/__test-utils__/fold.js +94 -0
  14. package/dist/activities/execute-cursor/__test-utils__/fold.js.map +1 -0
  15. package/dist/activities/execute-cursor/__test-utils__/gateway-substrate.js +1 -1
  16. package/dist/activities/execute-cursor/__test-utils__/gateway-substrate.js.map +1 -1
  17. package/dist/activities/execute-cursor/__test-utils__/hermetic-cursor.d.ts +47 -12
  18. package/dist/activities/execute-cursor/__test-utils__/hermetic-cursor.js +41 -10
  19. package/dist/activities/execute-cursor/__test-utils__/hermetic-cursor.js.map +1 -1
  20. package/dist/activities/execute-cursor/__test-utils__/scripted-agent.d.ts +15 -6
  21. package/dist/activities/execute-cursor/__test-utils__/scripted-agent.js +17 -4
  22. package/dist/activities/execute-cursor/__test-utils__/scripted-agent.js.map +1 -1
  23. package/dist/activities/execute-cursor/adapter.d.ts +4 -4
  24. package/dist/activities/execute-cursor/adapter.js +4 -4
  25. package/dist/activities/execute-cursor/approval-policy.d.ts +10 -10
  26. package/dist/activities/execute-cursor/approval-policy.js +12 -23
  27. package/dist/activities/execute-cursor/approval-policy.js.map +1 -1
  28. package/dist/activities/execute-cursor/approval-state.d.ts +35 -1
  29. package/dist/activities/execute-cursor/approval-state.js +65 -0
  30. package/dist/activities/execute-cursor/approval-state.js.map +1 -1
  31. package/dist/activities/execute-cursor/{message-translator.d.ts → boundary-rows.d.ts} +45 -341
  32. package/dist/activities/execute-cursor/boundary-rows.js +1018 -0
  33. package/dist/activities/execute-cursor/boundary-rows.js.map +1 -0
  34. package/dist/activities/execute-cursor/cursor-capabilities.d.ts +1 -1
  35. package/dist/activities/execute-cursor/cursor-capabilities.js +1 -1
  36. package/dist/activities/execute-cursor/cursor-event-recorder.d.ts +33 -14
  37. package/dist/activities/execute-cursor/cursor-event-recorder.js +43 -21
  38. package/dist/activities/execute-cursor/cursor-event-recorder.js.map +1 -1
  39. package/dist/activities/execute-cursor/prompt-builder.d.ts +3 -3
  40. package/dist/activities/execute-cursor/prompt-builder.js +4 -4
  41. package/dist/activities/execute-cursor/prompt-builder.js.map +1 -1
  42. package/dist/activities/execute-cursor/service-tier.js +1 -2
  43. package/dist/activities/execute-cursor/service-tier.js.map +1 -1
  44. package/dist/activities/execute-cursor/sub-agent-steps.d.ts +79 -0
  45. package/dist/activities/execute-cursor/sub-agent-steps.js +180 -0
  46. package/dist/activities/execute-cursor/sub-agent-steps.js.map +1 -0
  47. package/dist/activities/execute-cursor/tool-result.d.ts +49 -0
  48. package/dist/activities/execute-cursor/tool-result.js +130 -0
  49. package/dist/activities/execute-cursor/tool-result.js.map +1 -0
  50. package/dist/activities/execute-cursor/translator.d.ts +178 -0
  51. package/dist/activities/execute-cursor/translator.js +485 -0
  52. package/dist/activities/execute-cursor/translator.js.map +1 -0
  53. package/dist/activities/execute-cursor/turn-boundary.d.ts +15 -5
  54. package/dist/activities/execute-cursor/turn-boundary.js +10 -14
  55. package/dist/activities/execute-cursor/turn-boundary.js.map +1 -1
  56. package/dist/activities/execute-cursor/turn-settle.d.ts +11 -7
  57. package/dist/activities/execute-cursor/turn-settle.js +47 -34
  58. package/dist/activities/execute-cursor/turn-settle.js.map +1 -1
  59. package/dist/activities/execute-cursor/turn-setup.d.ts +2 -2
  60. package/dist/activities/execute-cursor/turn-setup.js +5 -5
  61. package/dist/activities/execute-cursor/turn-setup.js.map +1 -1
  62. package/dist/activities/execute-cursor/turn-stream.d.ts +23 -14
  63. package/dist/activities/execute-cursor/turn-stream.js +41 -28
  64. package/dist/activities/execute-cursor/turn-stream.js.map +1 -1
  65. package/dist/activities/execute-cursor/turn.d.ts +4 -4
  66. package/dist/activities/execute-cursor/turn.js +5 -5
  67. package/dist/activities/execute-cursor/usage-pricing.d.ts +2 -2
  68. package/dist/activities/execute-cursor/usage-pricing.js +2 -2
  69. package/dist/activities/execute-deep-agent/__test-utils__/contract-subject.d.ts +2 -2
  70. package/dist/activities/execute-deep-agent/__test-utils__/contract-subject.js +2 -2
  71. package/dist/activities/execute-deep-agent/__test-utils__/hermetic-deep-agent.d.ts +16 -11
  72. package/dist/activities/execute-deep-agent/__test-utils__/hermetic-deep-agent.js +22 -10
  73. package/dist/activities/execute-deep-agent/__test-utils__/hermetic-deep-agent.js.map +1 -1
  74. package/dist/activities/execute-deep-agent/__test-utils__/hitl-script.js +1 -1
  75. package/dist/activities/execute-deep-agent/__test-utils__/hitl-script.js.map +1 -1
  76. package/dist/activities/execute-deep-agent/__test-utils__/scripted-model-module.d.ts +2 -3
  77. package/dist/activities/execute-deep-agent/__test-utils__/scripted-model-module.js +2 -3
  78. package/dist/activities/execute-deep-agent/__test-utils__/scripted-model-module.js.map +1 -1
  79. package/dist/activities/execute-deep-agent/__test-utils__/scripted-model.d.ts +12 -3
  80. package/dist/activities/execute-deep-agent/__test-utils__/scripted-model.js +18 -4
  81. package/dist/activities/execute-deep-agent/__test-utils__/scripted-model.js.map +1 -1
  82. package/dist/activities/execute-deep-agent/__test-utils__/v3-event-fixtures.d.ts +10 -1
  83. package/dist/activities/execute-deep-agent/__test-utils__/v3-event-fixtures.js +24 -11
  84. package/dist/activities/execute-deep-agent/__test-utils__/v3-event-fixtures.js.map +1 -1
  85. package/dist/activities/execute-deep-agent/adapter.d.ts +1 -1
  86. package/dist/activities/execute-deep-agent/adapter.js +1 -1
  87. package/dist/activities/execute-deep-agent/approval-file-change.d.ts +19 -19
  88. package/dist/activities/execute-deep-agent/approval-file-change.js +16 -15
  89. package/dist/activities/execute-deep-agent/approval-file-change.js.map +1 -1
  90. package/dist/activities/execute-deep-agent/deep-agent-capabilities.d.ts +2 -2
  91. package/dist/activities/execute-deep-agent/deep-agent-capabilities.js +2 -2
  92. package/dist/activities/execute-deep-agent/hitl.d.ts +2 -2
  93. package/dist/activities/execute-deep-agent/hitl.js +2 -2
  94. package/dist/activities/execute-deep-agent/inline-publisher.d.ts +13 -3
  95. package/dist/activities/execute-deep-agent/inline-publisher.js +3 -3
  96. package/dist/activities/execute-deep-agent/inline-publisher.js.map +1 -1
  97. package/dist/activities/execute-deep-agent/prompt-builder.d.ts +3 -3
  98. package/dist/activities/execute-deep-agent/prompt-builder.js +6 -7
  99. package/dist/activities/execute-deep-agent/prompt-builder.js.map +1 -1
  100. package/dist/activities/execute-deep-agent/streaming-side-effects.d.ts +16 -8
  101. package/dist/activities/execute-deep-agent/streaming-side-effects.js +20 -33
  102. package/dist/activities/execute-deep-agent/streaming-side-effects.js.map +1 -1
  103. package/dist/activities/execute-deep-agent/subagent-transformer.d.ts +3 -3
  104. package/dist/activities/execute-deep-agent/subagent-transformer.js +1 -1
  105. package/dist/activities/execute-deep-agent/translator.d.ts +134 -0
  106. package/dist/activities/execute-deep-agent/translator.js +418 -0
  107. package/dist/activities/execute-deep-agent/translator.js.map +1 -0
  108. package/dist/activities/execute-deep-agent/turn-settle.d.ts +13 -7
  109. package/dist/activities/execute-deep-agent/turn-settle.js +34 -45
  110. package/dist/activities/execute-deep-agent/turn-settle.js.map +1 -1
  111. package/dist/activities/execute-deep-agent/turn-setup.d.ts +8 -8
  112. package/dist/activities/execute-deep-agent/turn-setup.js +7 -7
  113. package/dist/activities/execute-deep-agent/turn-stream.d.ts +13 -10
  114. package/dist/activities/execute-deep-agent/turn-stream.js +44 -41
  115. package/dist/activities/execute-deep-agent/turn-stream.js.map +1 -1
  116. package/dist/activities/execute-deep-agent/turn.d.ts +3 -3
  117. package/dist/activities/execute-deep-agent/turn.js +3 -3
  118. package/dist/activities/generate-session-subject.d.ts +25 -4
  119. package/dist/activities/generate-session-subject.js +17 -7
  120. package/dist/activities/generate-session-subject.js.map +1 -1
  121. package/dist/client/stigmer-client.d.ts +17 -6
  122. package/dist/client/stigmer-client.js +47 -14
  123. package/dist/client/stigmer-client.js.map +1 -1
  124. package/dist/config.d.ts +6 -3
  125. package/dist/config.js +4 -1
  126. package/dist/config.js.map +1 -1
  127. package/dist/harness/approval-decisions.d.ts +1 -1
  128. package/dist/harness/approval-decisions.js +1 -1
  129. package/dist/harness/capabilities.d.ts +21 -11
  130. package/dist/harness/capabilities.js +2 -2
  131. package/dist/harness/capture.d.ts +4 -4
  132. package/dist/harness/capture.js +4 -4
  133. package/dist/harness/persist-chokepoint.d.ts +3 -3
  134. package/dist/harness/persist-chokepoint.js +3 -3
  135. package/dist/harness/registry.d.ts +2 -2
  136. package/dist/harness/registry.js +2 -2
  137. package/dist/harness/run-turn.d.ts +6 -4
  138. package/dist/harness/run-turn.js +31 -9
  139. package/dist/harness/run-turn.js.map +1 -1
  140. package/dist/harness/stop-controller.d.ts +1 -1
  141. package/dist/harness/stop-controller.js +1 -1
  142. package/dist/harness/terminal-table.d.ts +7 -7
  143. package/dist/harness/terminal-table.js +7 -7
  144. package/dist/harness/transcript/builder.d.ts +182 -0
  145. package/dist/harness/transcript/builder.js +693 -0
  146. package/dist/harness/transcript/builder.js.map +1 -0
  147. package/dist/harness/transcript/events.d.ts +218 -0
  148. package/dist/harness/transcript/events.js +50 -0
  149. package/dist/harness/transcript/events.js.map +1 -0
  150. package/dist/harness/transcript/state.d.ts +110 -0
  151. package/dist/harness/transcript/state.js +148 -0
  152. package/dist/harness/transcript/state.js.map +1 -0
  153. package/dist/harness/turn-context.d.ts +54 -38
  154. package/dist/harness/turn-context.js +42 -43
  155. package/dist/harness/turn-context.js.map +1 -1
  156. package/dist/harness/types.d.ts +63 -22
  157. package/dist/harness/types.js +12 -11
  158. package/dist/harness/types.js.map +1 -1
  159. package/dist/harness/usage-accumulator.d.ts +2 -2
  160. package/dist/harness/usage-accumulator.js +2 -2
  161. package/dist/harness-adapters.d.ts +5 -4
  162. package/dist/harness-adapters.js +5 -4
  163. package/dist/harness-adapters.js.map +1 -1
  164. package/dist/interceptors/run-credential-activity.d.ts +28 -0
  165. package/dist/interceptors/run-credential-activity.js +56 -0
  166. package/dist/interceptors/run-credential-activity.js.map +1 -0
  167. package/dist/middleware/approval-gate.d.ts +6 -0
  168. package/dist/middleware/approval-gate.js +7 -57
  169. package/dist/middleware/approval-gate.js.map +1 -1
  170. package/dist/middleware/cost-advisory.d.ts +3 -3
  171. package/dist/middleware/cost-advisory.js +3 -3
  172. package/dist/middleware/index.d.ts +1 -1
  173. package/dist/middleware/index.js +1 -1
  174. package/dist/runner-manager.js +10 -4
  175. package/dist/runner-manager.js.map +1 -1
  176. package/dist/shared/activity-input.d.ts +9 -0
  177. package/dist/shared/activity-input.js +17 -0
  178. package/dist/shared/activity-input.js.map +1 -1
  179. package/dist/shared/approval-policy.d.ts +53 -0
  180. package/dist/shared/approval-policy.js +76 -0
  181. package/dist/shared/approval-policy.js.map +1 -1
  182. package/dist/shared/args-preview.d.ts +45 -22
  183. package/dist/shared/args-preview.js +51 -41
  184. package/dist/shared/args-preview.js.map +1 -1
  185. package/dist/shared/attachment-resolver.d.ts +4 -4
  186. package/dist/shared/attachment-resolver.js +4 -4
  187. package/dist/shared/attachment-zip.d.ts +2 -2
  188. package/dist/shared/attachment-zip.js +2 -2
  189. package/dist/shared/channel-attachment.d.ts +8 -5
  190. package/dist/shared/channel-attachment.js +10 -6
  191. package/dist/shared/channel-attachment.js.map +1 -1
  192. package/dist/shared/cost-guard.d.ts +2 -2
  193. package/dist/shared/cost-guard.js +2 -2
  194. package/dist/shared/exact-apply.d.ts +1 -1
  195. package/dist/shared/exact-apply.js +1 -1
  196. package/dist/shared/execution-context.d.ts +2 -2
  197. package/dist/shared/execution-context.js +2 -2
  198. package/dist/shared/extract-structured-output.d.ts +2 -2
  199. package/dist/shared/extract-structured-output.js +2 -2
  200. package/dist/shared/filereview/cas-touched.d.ts +2 -2
  201. package/dist/shared/filereview/cas-touched.js +2 -2
  202. package/dist/shared/filereview/progress.d.ts +13 -0
  203. package/dist/shared/filereview/progress.js +13 -0
  204. package/dist/shared/filereview/progress.js.map +1 -1
  205. package/dist/shared/heartbeat.d.ts +1 -1
  206. package/dist/shared/heartbeat.js +1 -1
  207. package/dist/shared/llm-backend.d.ts +0 -4
  208. package/dist/shared/llm-backend.js +0 -4
  209. package/dist/shared/llm-backend.js.map +1 -1
  210. package/dist/shared/memory-attachment.d.ts +16 -9
  211. package/dist/shared/memory-attachment.js +18 -10
  212. package/dist/shared/memory-attachment.js.map +1 -1
  213. package/dist/shared/model-error.d.ts +1 -2
  214. package/dist/shared/model-error.js +1 -2
  215. package/dist/shared/model-error.js.map +1 -1
  216. package/dist/shared/persist-decision.d.ts +18 -24
  217. package/dist/shared/persist-decision.js +19 -11
  218. package/dist/shared/persist-decision.js.map +1 -1
  219. package/dist/shared/prompt-sections.d.ts +4 -4
  220. package/dist/shared/prompt-sections.js +4 -4
  221. package/dist/shared/run-credential-store.d.ts +32 -0
  222. package/dist/shared/run-credential-store.js +39 -0
  223. package/dist/shared/run-credential-store.js.map +1 -0
  224. package/dist/shared/run-credential.d.ts +61 -0
  225. package/dist/shared/run-credential.js +68 -0
  226. package/dist/shared/run-credential.js.map +1 -0
  227. package/dist/shared/skill-resolver.d.ts +3 -3
  228. package/dist/shared/skill-resolver.js +3 -3
  229. package/dist/shared/status-offload.d.ts +1 -1
  230. package/dist/shared/status-offload.js +2 -2
  231. package/dist/shared/status-offload.js.map +1 -1
  232. package/dist/shared/streaming-scheduler.d.ts +2 -7
  233. package/dist/shared/streaming-scheduler.js +6 -14
  234. package/dist/shared/streaming-scheduler.js.map +1 -1
  235. package/dist/shared/subagent-rows.d.ts +2 -2
  236. package/dist/shared/subagent-rows.js +2 -2
  237. package/dist/shared/synthesized-attachment.d.ts +30 -3
  238. package/dist/shared/synthesized-attachment.js +26 -0
  239. package/dist/shared/synthesized-attachment.js.map +1 -1
  240. package/dist/shared/todos.d.ts +3 -3
  241. package/dist/shared/todos.js +3 -3
  242. package/dist/shared/tool-row.d.ts +19 -1
  243. package/dist/shared/tool-row.js +36 -2
  244. package/dist/shared/tool-row.js.map +1 -1
  245. package/dist/shared/worker-shutdown.d.ts +1 -1
  246. package/dist/shared/worker-shutdown.js +1 -1
  247. package/dist/shared/workspace/session-provision.d.ts +1 -1
  248. package/dist/shared/workspace/session-provision.js +1 -1
  249. package/dist/shared/workspace/sources/empty.d.ts +1 -1
  250. package/dist/shared/workspace/sources/empty.js +1 -2
  251. package/dist/shared/workspace/sources/empty.js.map +1 -1
  252. package/dist/shared/workspace/sources/git.js +4 -4
  253. package/dist/shared/workspace/sources/git.js.map +1 -1
  254. package/dist/shared/workspace/sources/local-path.js +6 -6
  255. package/dist/shared/workspace/sources/local-path.js.map +1 -1
  256. package/dist/shared/workspace/stigmer-link.d.ts +1 -1
  257. package/dist/shared/workspace/stigmer-link.js +1 -1
  258. package/dist/shared/workspace/types.d.ts +2 -5
  259. package/dist/shared/workspace/types.js +0 -6
  260. package/dist/shared/workspace/types.js.map +1 -1
  261. package/dist/shared/workspace/writeback-coordinator.d.ts +17 -4
  262. package/dist/shared/workspace/writeback-coordinator.js +7 -9
  263. package/dist/shared/workspace/writeback-coordinator.js.map +1 -1
  264. package/dist/worker.js +10 -3
  265. package/dist/worker.js.map +1 -1
  266. package/dist/workflow-source.d.ts +10 -0
  267. package/dist/workflow-source.js +12 -0
  268. package/dist/workflow-source.js.map +1 -1
  269. package/dist/workflows/execute-from-execution.d.ts +15 -0
  270. package/dist/workflows/execute-from-execution.js +11 -0
  271. package/dist/workflows/execute-from-execution.js.map +1 -1
  272. package/dist/workflows/index.d.ts +5 -3
  273. package/dist/workflows/index.js +5 -3
  274. package/dist/workflows/index.js.map +1 -1
  275. package/dist/workflows/interceptors/run-credential.d.ts +34 -0
  276. package/dist/workflows/interceptors/run-credential.js +71 -0
  277. package/dist/workflows/interceptors/run-credential.js.map +1 -0
  278. package/package.json +4 -4
  279. package/src/__test-utils__/__tests__/execution-record-barrier.test.ts +70 -0
  280. package/src/__test-utils__/__tests__/harness-contract-self-check.test.ts +35 -1
  281. package/src/__test-utils__/approval-contract/contract.ts +1 -1
  282. package/src/__test-utils__/approval-contract/types.ts +1 -1
  283. package/src/__test-utils__/harness-boot-order-child.ts +1 -1
  284. package/src/__test-utils__/harness-contract/contract.ts +8 -8
  285. package/src/__test-utils__/harness-contract/recording-sink.ts +11 -1
  286. package/src/__test-utils__/harness-contract/runtime-contract.ts +52 -16
  287. package/src/__test-utils__/harness-contract/scripted-adapter.ts +47 -43
  288. package/src/__test-utils__/hermetic-activity.ts +113 -9
  289. package/src/__test-utils__/model-registry-fixture.ts +31 -7
  290. package/src/__test-utils__/module-specifiers.ts +32 -3
  291. package/src/__tests__/harness-boot-order.test.ts +1 -1
  292. package/src/__tests__/harness-contract.test.ts +1 -1
  293. package/src/__tests__/run-credential-e2e.test.ts +233 -0
  294. package/src/__tests__/run-credential-registration.test.ts +80 -0
  295. package/src/__tests__/runner-manager.test.ts +1 -1
  296. package/src/activities/__tests__/generate-session-subject-wire.test.ts +119 -0
  297. package/src/activities/execute-cursor/__test-utils__/__tests__/scripted-double.test.ts +1 -1
  298. package/src/activities/execute-cursor/__test-utils__/contract-subject.ts +2 -2
  299. package/src/activities/execute-cursor/__test-utils__/fold.ts +116 -0
  300. package/src/activities/execute-cursor/__test-utils__/gateway-substrate.ts +1 -1
  301. package/src/activities/execute-cursor/__test-utils__/hermetic-cursor.ts +67 -17
  302. package/src/activities/execute-cursor/__test-utils__/scripted-agent.ts +19 -5
  303. package/src/activities/execute-cursor/__tests__/approval-gate.test.ts +2 -1
  304. package/src/activities/execute-cursor/__tests__/approval-state.test.ts +14 -21
  305. package/src/activities/execute-cursor/__tests__/build-prompt.test.ts +3 -3
  306. package/src/activities/execute-cursor/__tests__/coarse-fingerprint.test.ts +2 -1
  307. package/src/activities/execute-cursor/__tests__/cursor-event-recorder.test.ts +142 -0
  308. package/src/activities/execute-cursor/__tests__/cursor-fetch-interceptor-bypass.test.ts +19 -8
  309. package/src/activities/execute-cursor/__tests__/cursor-sdk-auth-smoke.test.ts +10 -8
  310. package/src/activities/execute-cursor/__tests__/cursor-transcript-live.test.ts +298 -0
  311. package/src/activities/execute-cursor/__tests__/deny-gate-exact-apply.test.ts +4 -2
  312. package/src/activities/execute-cursor/__tests__/fetch-interceptor.test.ts +1 -1
  313. package/src/activities/execute-cursor/__tests__/hermetic/deny-and-retry.test.ts +1 -1
  314. package/src/activities/execute-cursor/__tests__/hermetic/file-review-capture.test.ts +1 -1
  315. package/src/activities/execute-cursor/__tests__/hermetic/goldens/mcp-tool-call.status.json +71 -0
  316. package/src/activities/execute-cursor/__tests__/hermetic/goldens/sdk-task-note.status.json +73 -0
  317. package/src/activities/execute-cursor/__tests__/hermetic/goldens/shell-output-delta.error-delta.status.json +78 -0
  318. package/src/activities/execute-cursor/__tests__/hermetic/goldens/shell-output-delta.output-first.status.json +72 -0
  319. package/src/activities/execute-cursor/__tests__/hermetic/goldens/shell-output-delta.status.json +72 -0
  320. package/src/activities/execute-cursor/__tests__/hermetic/goldens/sub-agent-delegation.status.json +109 -0
  321. package/src/activities/execute-cursor/__tests__/hermetic/goldens/thinking-turn.status.json +78 -0
  322. package/src/activities/execute-cursor/__tests__/hermetic/goldens/todo-write.status.json +119 -0
  323. package/src/activities/execute-cursor/__tests__/hermetic/goldens/tool-error.status.json +68 -0
  324. package/src/activities/execute-cursor/__tests__/hermetic/goldens/tool-only-step.status.json +67 -0
  325. package/src/activities/execute-cursor/__tests__/hermetic/goldens/unattributed-hook-block.status.json +1 -1
  326. package/src/activities/execute-cursor/__tests__/hermetic/harness-contract.test.ts +7 -7
  327. package/src/activities/execute-cursor/__tests__/hermetic/mcp-tool-call.test.ts +146 -0
  328. package/src/activities/execute-cursor/__tests__/hermetic/pause-vs-shutdown.test.ts +5 -5
  329. package/src/activities/execute-cursor/__tests__/hermetic/plain-turn.test.ts +2 -1
  330. package/src/activities/execute-cursor/__tests__/hermetic/run-wait-arms.test.ts +2 -1
  331. package/src/activities/execute-cursor/__tests__/hermetic/sdk-task-note.test.ts +122 -0
  332. package/src/activities/execute-cursor/__tests__/hermetic/shell-output-delta.test.ts +276 -0
  333. package/src/activities/execute-cursor/__tests__/hermetic/stream-self-stop-arms.test.ts +8 -8
  334. package/src/activities/execute-cursor/__tests__/hermetic/sub-agent-delegation.test.ts +196 -0
  335. package/src/activities/execute-cursor/__tests__/hermetic/thinking-turn.test.ts +145 -0
  336. package/src/activities/execute-cursor/__tests__/hermetic/thrown-error-arms.test.ts +1 -1
  337. package/src/activities/execute-cursor/__tests__/hermetic/todo-write.test.ts +165 -0
  338. package/src/activities/execute-cursor/__tests__/hermetic/tool-call.test.ts +3 -3
  339. package/src/activities/execute-cursor/__tests__/hermetic/tool-error.test.ts +138 -0
  340. package/src/activities/execute-cursor/__tests__/hermetic/tool-only-step.test.ts +130 -0
  341. package/src/activities/execute-cursor/__tests__/hermetic/unattributed-hook-block.test.ts +13 -1
  342. package/src/activities/execute-cursor/__tests__/hermetic/workspace-lock-timeout.test.ts +2 -2
  343. package/src/activities/execute-cursor/__tests__/hitl-ledger.test.ts +43 -60
  344. package/src/activities/execute-cursor/__tests__/hitl-resume-history.test.ts +23 -28
  345. package/src/activities/execute-cursor/__tests__/hook-script.test.ts +2 -1
  346. package/src/activities/execute-cursor/__tests__/http2-interceptor.test.ts +1 -1
  347. package/src/activities/execute-cursor/__tests__/prompt-goldens.test.ts +5 -5
  348. package/src/activities/execute-cursor/__tests__/same-identity-reproposal.test.ts +11 -13
  349. package/src/activities/execute-cursor/__tests__/sequential-gate-resume.test.ts +8 -11
  350. package/src/activities/execute-cursor/__tests__/tool-result-image.test.ts +8 -22
  351. package/src/activities/execute-cursor/__tests__/translator.test.ts +594 -0
  352. package/src/activities/execute-cursor/__tests__/turn-boundary.test.ts +8 -5
  353. package/src/activities/execute-cursor/__tests__/turn-stream.test.ts +87 -63
  354. package/src/activities/execute-cursor/adapter.ts +4 -4
  355. package/src/activities/execute-cursor/approval-policy.ts +12 -24
  356. package/src/activities/execute-cursor/approval-state.ts +66 -1
  357. package/src/activities/execute-cursor/boundary-rows.ts +1132 -0
  358. package/src/activities/execute-cursor/cursor-capabilities.ts +1 -1
  359. package/src/activities/execute-cursor/cursor-event-recorder.ts +57 -28
  360. package/src/activities/execute-cursor/fetch-interceptor.ts +1 -1
  361. package/src/activities/execute-cursor/http2-interceptor.ts +1 -1
  362. package/src/activities/execute-cursor/prompt-builder.ts +6 -6
  363. package/src/activities/execute-cursor/service-tier.ts +1 -2
  364. package/src/activities/execute-cursor/sub-agent-steps.ts +188 -0
  365. package/src/activities/execute-cursor/tool-result.ts +128 -0
  366. package/src/activities/execute-cursor/translator.ts +541 -0
  367. package/src/activities/execute-cursor/turn-boundary.ts +21 -14
  368. package/src/activities/execute-cursor/turn-settle.ts +46 -34
  369. package/src/activities/execute-cursor/turn-setup.ts +5 -5
  370. package/src/activities/execute-cursor/turn-stream.ts +49 -46
  371. package/src/activities/execute-cursor/turn.ts +5 -5
  372. package/src/activities/execute-cursor/usage-pricing.ts +2 -2
  373. package/src/activities/execute-deep-agent/__test-utils__/contract-subject.ts +2 -2
  374. package/src/activities/execute-deep-agent/__test-utils__/hermetic-deep-agent.ts +23 -11
  375. package/src/activities/execute-deep-agent/__test-utils__/hitl-script.ts +1 -1
  376. package/src/activities/execute-deep-agent/__test-utils__/scripted-model-module.ts +2 -3
  377. package/src/activities/execute-deep-agent/__test-utils__/scripted-model.ts +25 -4
  378. package/src/activities/execute-deep-agent/__test-utils__/v3-event-fixtures.ts +25 -11
  379. package/src/activities/execute-deep-agent/__tests__/adapter-graph-is-sdk-free.test.ts +1 -1
  380. package/src/activities/execute-deep-agent/__tests__/adapter-is-temporal-free.test.ts +1 -1
  381. package/src/activities/execute-deep-agent/__tests__/approval-file-change.test.ts +6 -17
  382. package/src/activities/execute-deep-agent/__tests__/hermetic/file-review-capture.test.ts +25 -8
  383. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/approve-all-lease.turn1.status.json +2 -7
  384. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/approve-all-lease.turn2.status.json +4 -14
  385. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/approve.turn2.status.json +1 -5
  386. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/file-review-capture.status.json +4 -7
  387. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/gate.turn1.status.json +1 -5
  388. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/inline-artifact.turn1.status.json +2 -9
  389. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/inline-artifact.turn2.status.json +2 -9
  390. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/pause.loop.after-tool.status.json +1 -4
  391. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/pause.loop.mid-tool.status.json +1 -4
  392. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/platform-stop.status.json +1 -4
  393. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/recursion-limit.persisted.status.json +109 -76
  394. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/reject.turn2.status.json +1 -5
  395. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/sequential-gates.turn2.status.json +2 -10
  396. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/sequential-gates.turn3.status.json +2 -10
  397. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/skip.turn2.status.json +1 -5
  398. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/sub-agent-delegation.status.json +3 -6
  399. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/tool-call.status.json +1 -4
  400. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/worker-shutdown.status.json +1 -4
  401. package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/write-todos.status.json +92 -0
  402. package/src/activities/execute-deep-agent/__tests__/hermetic/harness-contract.test.ts +3 -3
  403. package/src/activities/execute-deep-agent/__tests__/hermetic/hitl-approve-all-lease.test.ts +9 -5
  404. package/src/activities/execute-deep-agent/__tests__/hermetic/hitl-round-trips.test.ts +3 -3
  405. package/src/activities/execute-deep-agent/__tests__/hermetic/hitl-sequential-gates.test.ts +3 -3
  406. package/src/activities/execute-deep-agent/__tests__/hermetic/inline-artifact-across-gate.test.ts +7 -6
  407. package/src/activities/execute-deep-agent/__tests__/hermetic/pause-vs-shutdown.test.ts +10 -11
  408. package/src/activities/execute-deep-agent/__tests__/hermetic/plain-turn.test.ts +4 -4
  409. package/src/activities/execute-deep-agent/__tests__/hermetic/platform-stop.test.ts +9 -8
  410. package/src/activities/execute-deep-agent/__tests__/hermetic/recursion-limit.test.ts +21 -13
  411. package/src/activities/execute-deep-agent/__tests__/hermetic/resolution-error.test.ts +2 -2
  412. package/src/activities/execute-deep-agent/__tests__/hermetic/structured-output.test.ts +7 -7
  413. package/src/activities/execute-deep-agent/__tests__/hermetic/sub-agent-delegation.test.ts +28 -12
  414. package/src/activities/execute-deep-agent/__tests__/hermetic/tool-call.test.ts +21 -21
  415. package/src/activities/execute-deep-agent/__tests__/hermetic/workspace-lock-timeout.test.ts +5 -5
  416. package/src/activities/execute-deep-agent/__tests__/hermetic/write-todos.test.ts +160 -0
  417. package/src/activities/execute-deep-agent/__tests__/inline-publisher.test.ts +35 -30
  418. package/src/activities/execute-deep-agent/__tests__/prompt-builder.test.ts +3 -4
  419. package/src/activities/execute-deep-agent/__tests__/prompt-goldens.test.ts +12 -10
  420. package/src/activities/execute-deep-agent/__tests__/scripted-model.test.ts +13 -3
  421. package/src/activities/execute-deep-agent/__tests__/streaming-side-effects.test.ts +26 -18
  422. package/src/activities/execute-deep-agent/__tests__/subagent-wiring.test.ts +1 -1
  423. package/src/activities/execute-deep-agent/__tests__/{subagent-tracker.test.ts → translator-subagents.test.ts} +76 -57
  424. package/src/activities/execute-deep-agent/__tests__/{v3-status-builder.test.ts → translator-through-builder.test.ts} +213 -299
  425. package/src/activities/execute-deep-agent/__tests__/translator.test.ts +505 -0
  426. package/src/activities/execute-deep-agent/__tests__/turn-stream.test.ts +11 -29
  427. package/src/activities/execute-deep-agent/adapter.ts +1 -1
  428. package/src/activities/execute-deep-agent/approval-file-change.ts +20 -22
  429. package/src/activities/execute-deep-agent/deep-agent-capabilities.ts +2 -2
  430. package/src/activities/execute-deep-agent/hitl.ts +2 -2
  431. package/src/activities/execute-deep-agent/inline-publisher.ts +16 -5
  432. package/src/activities/execute-deep-agent/prompt-builder.ts +6 -7
  433. package/src/activities/execute-deep-agent/streaming-side-effects.ts +22 -31
  434. package/src/activities/execute-deep-agent/subagent-transformer.ts +3 -3
  435. package/src/activities/execute-deep-agent/translator.ts +463 -0
  436. package/src/activities/execute-deep-agent/turn-settle.ts +35 -43
  437. package/src/activities/execute-deep-agent/turn-setup.ts +8 -8
  438. package/src/activities/execute-deep-agent/turn-stream.ts +53 -51
  439. package/src/activities/execute-deep-agent/turn.ts +3 -3
  440. package/src/activities/generate-session-subject.ts +29 -4
  441. package/src/client/__tests__/stigmer-client.test.ts +92 -0
  442. package/src/client/stigmer-client.ts +48 -14
  443. package/src/config.ts +6 -3
  444. package/src/harness/README.md +335 -0
  445. package/src/harness/__tests__/approval-decisions.test.ts +2 -2
  446. package/src/harness/__tests__/capture.test.ts +3 -3
  447. package/src/harness/__tests__/import-direction.test.ts +3 -2
  448. package/src/harness/__tests__/mount-skills.test.ts +4 -1
  449. package/src/harness/__tests__/readme-index.test.ts +339 -0
  450. package/src/harness/__tests__/run-turn.test.ts +131 -6
  451. package/src/harness/__tests__/transcript-is-engine-free.test.ts +83 -0
  452. package/src/harness/__tests__/transcript-writers.test.ts +191 -0
  453. package/src/harness/__tests__/turn-attachments-vision.test.ts +5 -2
  454. package/src/harness/__tests__/turn-context.test.ts +5 -5
  455. package/src/harness/approval-decisions.ts +1 -1
  456. package/src/harness/capabilities.ts +21 -11
  457. package/src/harness/capture.ts +4 -4
  458. package/src/harness/persist-chokepoint.ts +3 -3
  459. package/src/harness/registry.ts +2 -2
  460. package/src/harness/run-turn.ts +33 -9
  461. package/src/harness/stop-controller.ts +1 -1
  462. package/src/harness/terminal-table.ts +7 -7
  463. package/src/harness/transcript/__tests__/builder.test.ts +975 -0
  464. package/src/harness/transcript/__tests__/state.test.ts +143 -0
  465. package/src/harness/transcript/builder.ts +755 -0
  466. package/src/harness/transcript/events.ts +262 -0
  467. package/src/harness/transcript/state.ts +167 -0
  468. package/src/harness/turn-context.ts +61 -46
  469. package/src/harness/types.ts +64 -22
  470. package/src/harness/usage-accumulator.ts +2 -2
  471. package/src/harness-adapters.ts +5 -4
  472. package/src/interceptors/__tests__/run-credential-activity.test.ts +133 -0
  473. package/src/interceptors/run-credential-activity.ts +67 -0
  474. package/src/middleware/__tests__/cost-advisory.test.ts +2 -2
  475. package/src/middleware/approval-gate.ts +7 -74
  476. package/src/middleware/cost-advisory.ts +3 -3
  477. package/src/middleware/index.ts +1 -1
  478. package/src/runner-manager.ts +14 -4
  479. package/src/shared/__tests__/approval-policy.test.ts +45 -0
  480. package/src/shared/__tests__/args-preview.test.ts +40 -20
  481. package/src/shared/__tests__/attachment-naming.test.ts +1 -1
  482. package/src/shared/__tests__/attachment-resolver.test.ts +5 -5
  483. package/src/shared/__tests__/attachment-zip.test.ts +1 -1
  484. package/src/shared/__tests__/blueprint-resolver.test.ts +1 -1
  485. package/src/shared/__tests__/channel-attachment.test.ts +12 -0
  486. package/src/shared/__tests__/cost-guard.test.ts +1 -1
  487. package/src/shared/__tests__/exact-apply.test.ts +2 -1
  488. package/src/shared/__tests__/memory-attachment.test.ts +17 -0
  489. package/src/shared/__tests__/persist-decision.test.ts +19 -33
  490. package/src/shared/__tests__/prompt-sections.test.ts +1 -1
  491. package/src/shared/__tests__/run-credential.test.ts +111 -0
  492. package/src/shared/__tests__/stamp-flowed-rows.test.ts +1 -1
  493. package/src/shared/__tests__/status-offload.test.ts +1 -1
  494. package/src/shared/__tests__/streaming-scheduler.test.ts +8 -9
  495. package/src/shared/__tests__/todos.test.ts +1 -1
  496. package/src/shared/__tests__/tool-row.test.ts +1 -1
  497. package/src/shared/activity-input.ts +21 -0
  498. package/src/shared/approval-policy.ts +95 -0
  499. package/src/shared/args-preview.ts +51 -42
  500. package/src/shared/attachment-resolver.ts +4 -4
  501. package/src/shared/attachment-zip.ts +2 -2
  502. package/src/shared/channel-attachment.ts +14 -6
  503. package/src/shared/cost-guard.ts +2 -2
  504. package/src/shared/exact-apply.ts +1 -1
  505. package/src/shared/execution-context.ts +2 -2
  506. package/src/shared/extract-structured-output.ts +2 -2
  507. package/src/shared/filereview/__tests__/capture.test.ts +9 -5
  508. package/src/shared/filereview/__tests__/git-substrate.test.ts +4 -1
  509. package/src/shared/filereview/__tests__/proxy-reconcile.test.ts +3 -3
  510. package/src/shared/filereview/cas-touched.ts +2 -2
  511. package/src/shared/filereview/progress.ts +13 -0
  512. package/src/shared/heartbeat.ts +1 -1
  513. package/src/shared/llm-backend.ts +0 -4
  514. package/src/shared/memory-attachment.ts +22 -10
  515. package/src/shared/model-error.ts +1 -2
  516. package/src/shared/persist-decision.ts +19 -28
  517. package/src/shared/prompt-sections.ts +4 -4
  518. package/src/shared/run-credential-store.ts +45 -0
  519. package/src/shared/run-credential.ts +70 -0
  520. package/src/shared/skill-resolver.ts +3 -3
  521. package/src/shared/status-offload.ts +2 -2
  522. package/src/shared/streaming-scheduler.ts +8 -13
  523. package/src/shared/subagent-rows.ts +2 -2
  524. package/src/shared/synthesized-attachment.ts +38 -3
  525. package/src/shared/todos.ts +3 -3
  526. package/src/shared/tool-row.ts +38 -2
  527. package/src/shared/worker-shutdown.ts +1 -1
  528. package/src/shared/workspace/__tests__/git-source.test.ts +3 -3
  529. package/src/shared/workspace/__tests__/provisioner.test.ts +5 -5
  530. package/src/shared/workspace/__tests__/session-provision.test.ts +2 -2
  531. package/src/shared/workspace/__tests__/writeback-coordinator.integration.test.ts +8 -9
  532. package/src/shared/workspace/__tests__/writeback-coordinator.test.ts +25 -25
  533. package/src/shared/workspace/provisioner.ts +1 -1
  534. package/src/shared/workspace/session-provision.ts +1 -1
  535. package/src/shared/workspace/sources/empty.ts +2 -2
  536. package/src/shared/workspace/sources/git.ts +3 -4
  537. package/src/shared/workspace/sources/local-path.ts +5 -6
  538. package/src/shared/workspace/stigmer-link.ts +1 -1
  539. package/src/shared/workspace/types.ts +2 -5
  540. package/src/shared/workspace/writeback-coordinator.ts +23 -12
  541. package/src/worker.ts +15 -3
  542. package/src/workflow-source.ts +15 -0
  543. package/src/workflows/__tests__/run-credential-interceptor.test.ts +178 -0
  544. package/src/workflows/execute-from-execution.ts +17 -0
  545. package/src/workflows/index.ts +5 -3
  546. package/src/workflows/interceptors/run-credential.ts +101 -0
  547. package/dist/activities/execute-cursor/delta-enricher.d.ts +0 -87
  548. package/dist/activities/execute-cursor/delta-enricher.js +0 -265
  549. package/dist/activities/execute-cursor/delta-enricher.js.map +0 -1
  550. package/dist/activities/execute-cursor/message-translator.js +0 -2040
  551. package/dist/activities/execute-cursor/message-translator.js.map +0 -1
  552. package/dist/activities/execute-cursor/todo-tracker.d.ts +0 -40
  553. package/dist/activities/execute-cursor/todo-tracker.js +0 -80
  554. package/dist/activities/execute-cursor/todo-tracker.js.map +0 -1
  555. package/dist/activities/execute-deep-agent/execution-state.d.ts +0 -54
  556. package/dist/activities/execute-deep-agent/execution-state.js +0 -68
  557. package/dist/activities/execute-deep-agent/execution-state.js.map +0 -1
  558. package/dist/activities/execute-deep-agent/status-builder-shared.d.ts +0 -65
  559. package/dist/activities/execute-deep-agent/status-builder-shared.js +0 -90
  560. package/dist/activities/execute-deep-agent/status-builder-shared.js.map +0 -1
  561. package/dist/activities/execute-deep-agent/subagent-tracker.d.ts +0 -113
  562. package/dist/activities/execute-deep-agent/subagent-tracker.js +0 -400
  563. package/dist/activities/execute-deep-agent/subagent-tracker.js.map +0 -1
  564. package/dist/activities/execute-deep-agent/v3-events.d.ts +0 -102
  565. package/dist/activities/execute-deep-agent/v3-events.js +0 -35
  566. package/dist/activities/execute-deep-agent/v3-events.js.map +0 -1
  567. package/dist/activities/execute-deep-agent/v3-protocol-normalizer.d.ts +0 -15
  568. package/dist/activities/execute-deep-agent/v3-protocol-normalizer.js +0 -235
  569. package/dist/activities/execute-deep-agent/v3-protocol-normalizer.js.map +0 -1
  570. package/dist/activities/execute-deep-agent/v3-status-builder.d.ts +0 -111
  571. package/dist/activities/execute-deep-agent/v3-status-builder.js +0 -457
  572. package/dist/activities/execute-deep-agent/v3-status-builder.js.map +0 -1
  573. package/dist/shared/execution-status-writer.d.ts +0 -31
  574. package/dist/shared/execution-status-writer.js +0 -43
  575. package/dist/shared/execution-status-writer.js.map +0 -1
  576. package/src/activities/execute-cursor/__tests__/delta-enricher.test.ts +0 -310
  577. package/src/activities/execute-cursor/__tests__/message-translator.test.ts +0 -1033
  578. package/src/activities/execute-cursor/__tests__/todo-tracker.test.ts +0 -498
  579. package/src/activities/execute-cursor/delta-enricher.ts +0 -307
  580. package/src/activities/execute-cursor/message-translator.ts +0 -2319
  581. package/src/activities/execute-cursor/todo-tracker.ts +0 -91
  582. package/src/activities/execute-deep-agent/__tests__/execution-state-extended.test.ts +0 -148
  583. package/src/activities/execute-deep-agent/__tests__/execution-state.test.ts +0 -154
  584. package/src/activities/execute-deep-agent/__tests__/status-builder-shared.test.ts +0 -47
  585. package/src/activities/execute-deep-agent/__tests__/v3-protocol-normalizer.test.ts +0 -324
  586. package/src/activities/execute-deep-agent/execution-state.ts +0 -78
  587. package/src/activities/execute-deep-agent/status-builder-shared.ts +0 -142
  588. package/src/activities/execute-deep-agent/subagent-tracker.ts +0 -479
  589. package/src/activities/execute-deep-agent/v3-events.ts +0 -153
  590. package/src/activities/execute-deep-agent/v3-protocol-normalizer.ts +0 -264
  591. package/src/activities/execute-deep-agent/v3-status-builder.ts +0 -565
  592. package/src/shared/execution-status-writer.ts +0 -56
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/harness/transcript/builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,218 @@
1
+ /**
2
+ * TranscriptEvent — the canonical event the transcript builder folds: what
3
+ * every harness's translator emits and `TranscriptBuilder` consumes to build
4
+ * the transcript half of the AgentExecutionStatus proto.
5
+ *
6
+ * A runner-internal contract (not persisted, not exposed to clients). It was
7
+ * born in the native adapter as `StigmerRunEvent`, the normalized form of
8
+ * LangGraph's v3 protocol, and promoted here on 2026-09-14 (#1097) because
9
+ * its own header already called it the thing that isolates the builder from
10
+ * the engine — the same move #1070 and #1096 made for the turn runtime. #1097
11
+ * cut it engine-neutral one rule at a time:
12
+ *
13
+ * - Every member the builder never folded left — `usage`, `lifecycle`,
14
+ * `provider`, and the `seq`/`node`/`messageId`/`reason` fields no handler
15
+ * read. Usage is a LOOP concern: the native loop reads it off the wire
16
+ * (`usageOf`) and prices it into `TurnSink.reportUsage`; the Cursor loop
17
+ * reads its own from the SDK's `turn-ended` delta. A transcript fact is
18
+ * what a row or a message carries; usage is neither.
19
+ * - `tool_finished` carries `result: string`; the engine's output
20
+ * envelope is the translator's to render.
21
+ * - `tool_started` carries the attribution (`mcpServerSlug`), the
22
+ * provenance and — where the harness runs a gated call before its
23
+ * boundary parks it — the gate's word. The translator resolves them from
24
+ * the harness's policy state; the builder writes what it is told and
25
+ * decides nothing about approval.
26
+ * - Scope is `subAgentId?` — the only scope either harness has is
27
+ * "the root, or one sub-agent by the id its row carries" — and the
28
+ * translator says when a sub-agent opens and closes
29
+ * (`sub_agent_started/finished/failed`). LangGraph's namespace grammar
30
+ * (`tools:<uuid>|model_request:<uuid>`), the `task` tool's name and its
31
+ * depth rule are the native translator's alone now.
32
+ * - `approval_proposed`, the one post-stream fact both harnesses
33
+ * produce, and `system_note`, a harness's line in its own voice. The
34
+ * union is complete: a Cursor translator emits it and writes
35
+ * nothing else.
36
+ *
37
+ * The rule the union keeps: a member carries an identity and the
38
+ * fact the builder cannot read elsewhere, nothing else. Every engine fact
39
+ * reaches the builder as a translator's output.
40
+ *
41
+ * ID conventions:
42
+ * - `runId` — the identity of ONE streamed assistant message (LangGraph's
43
+ * LLM-call run id on native; a translator-minted segment id on Cursor);
44
+ * shared across that message's events
45
+ * - `callId` — provider tool call ID (e.g. `toolu_...`); keys ToolCall records
46
+ * - `subAgentId` — the sub-agent row's id, which on both harnesses is the
47
+ * `task` tool call's id
48
+ */
49
+ import type { PolicySource } from "../../shared/approval-policy.js";
50
+ /**
51
+ * Which transcript a fact belongs to: the root's, or a sub-agent's by the id
52
+ * its row carries. Absent = root. The builder keeps one set of handlers and
53
+ * looks the scope's transcript up by this id; how a harness knows which
54
+ * sub-agent an event belongs to (LangGraph's namespace prefix, Cursor's
55
+ * `conversationSteps`) is the translator's knowledge.
56
+ */
57
+ interface Scoped {
58
+ readonly subAgentId?: string;
59
+ }
60
+ export interface MessageStartEvent extends Scoped {
61
+ readonly kind: "message_start";
62
+ readonly runId: string;
63
+ }
64
+ export interface TextDeltaEvent extends Scoped {
65
+ readonly kind: "text_delta";
66
+ readonly runId: string;
67
+ readonly text: string;
68
+ }
69
+ export interface ReasoningDeltaEvent extends Scoped {
70
+ readonly kind: "reasoning_delta";
71
+ readonly runId: string;
72
+ readonly text: string;
73
+ }
74
+ export interface MessageFinishEvent extends Scoped {
75
+ readonly kind: "message_finish";
76
+ readonly runId: string;
77
+ }
78
+ /**
79
+ * The translator's word that a call is GATED — the fields the row carries,
80
+ * never a decision the builder makes (#1097, 2026-09-14). A gated call that
81
+ * has STARTED is running until the
82
+ * harness's boundary parks it through `approval_proposed`: that is Cursor's
83
+ * shape (the SDK runs the tool; the deny-and-retry boundary parks it after
84
+ * the stream). Native never emits this member — LangGraph's `interrupt()`
85
+ * fires before the tool handler runs, so a held call never produces a
86
+ * `tool_started` at all, and the arrival of one IS the engine's word that
87
+ * the call was authorized (capture mode let it flow, a lease or policy
88
+ * cleared it, or the user approved it). Native's gate fact reaches the
89
+ * transcript through `approval_proposed` from the post-stream seed. So a
90
+ * row is never WAITING at creation on either harness; the plan's `parked:
91
+ * true` arm had no producer and was dropped.
92
+ */
93
+ export interface GateAnswer {
94
+ /** The approval card's message, placeholders already resolved. */
95
+ readonly message: string;
96
+ }
97
+ export interface ToolStartedEvent extends Scoped {
98
+ readonly kind: "tool_started";
99
+ readonly callId: string;
100
+ readonly name: string;
101
+ readonly input: Record<string, unknown>;
102
+ /** The MCP server this tool belongs to, `""` for a built-in — resolved by the translator (attribution is engine knowledge). */
103
+ readonly mcpServerSlug: string;
104
+ /**
105
+ * Which policy layer governs this call, for the row's authorization
106
+ * provenance; absent where the harness cannot attribute it (sub-agent rows
107
+ * on both harnesses today, #1133) or no layer governs it.
108
+ */
109
+ readonly provenance?: PolicySource;
110
+ readonly gate?: GateAnswer;
111
+ }
112
+ export interface ToolArgDeltaEvent extends Scoped {
113
+ readonly kind: "tool_arg_delta";
114
+ readonly callId: string;
115
+ readonly argsChunk: string;
116
+ }
117
+ export interface ToolOutputDeltaEvent extends Scoped {
118
+ readonly kind: "tool_output_delta";
119
+ readonly callId: string;
120
+ readonly delta: string;
121
+ }
122
+ /**
123
+ * A fact the harness observed at one instant and delivers at another. The
124
+ * builder is the transcript's one clock — every row stamp is `utcTimestamp()`
125
+ * at apply — except here: a Cursor completion arrives first on the SDK's
126
+ * delta channel, and the translator must QUEUE it for the loop to apply after
127
+ * the current stream event (a delta applied mid-persist would land on a row
128
+ * the offload is replacing). Without the observed
129
+ * instant the row's `completedAt` would be the fold's moment, one stream
130
+ * event late — seconds late while the model narrates — and the tool's
131
+ * duration in the console would lie (fixed 2026-09-15, #1097). Absent
132
+ * means "now": native, and every fact a translator emits as it sees it,
133
+ * never set it.
134
+ */
135
+ interface Observed {
136
+ readonly observedAt?: string;
137
+ }
138
+ export interface ToolFinishedEvent extends Scoped, Observed {
139
+ readonly kind: "tool_finished";
140
+ readonly callId: string;
141
+ /**
142
+ * The result as the row carries it — already a string. Rendering the
143
+ * engine's output (LangChain's ToolMessage envelope, Cursor's result
144
+ * object) is the translator's; the builder stores what it is handed and
145
+ * the persist chokepoint bounds it.
146
+ */
147
+ readonly result: string;
148
+ }
149
+ export interface ToolErrorEvent extends Scoped, Observed {
150
+ readonly kind: "tool_error";
151
+ readonly callId: string;
152
+ readonly message: string;
153
+ }
154
+ /**
155
+ * A sub-agent opens: the builder creates its row (keyed by `subAgentId`) and
156
+ * a transcript of its own that later events scoped to it fold into. Emitted
157
+ * by the translator BEFORE the delegating tool's own `tool_started`, so the
158
+ * row exists when the parent's `task` row is created. For a sub-agent the
159
+ * builder already knows (a seeded row re-announced by a replayed engine)
160
+ * this is a no-op — the row is never duplicated.
161
+ */
162
+ export interface SubAgentStartedEvent {
163
+ readonly kind: "sub_agent_started";
164
+ readonly subAgentId: string;
165
+ /** The sub-agent's declared name (deepagents' `subagent_type`; Cursor's `task` name). */
166
+ readonly name: string;
167
+ /** What it was asked to do, as the card's title and as its input. */
168
+ readonly subject: string;
169
+ readonly input: string;
170
+ }
171
+ export interface SubAgentFinishedEvent {
172
+ readonly kind: "sub_agent_finished";
173
+ readonly subAgentId: string;
174
+ /** The sub-agent's final output as the row carries it — the same string the delegating tool's `tool_finished` carries. */
175
+ readonly output?: string;
176
+ }
177
+ export interface SubAgentFailedEvent {
178
+ readonly kind: "sub_agent_failed";
179
+ readonly subAgentId: string;
180
+ readonly error: string;
181
+ }
182
+ /**
183
+ * A call the harness's boundary parked for approval AFTER the stream — the
184
+ * one post-stream fact both harnesses produce: native's
185
+ * `seedPendingInterrupts` reads the graph checkpoint's un-resumed interrupts
186
+ * (a held call never streamed a `tool_started`, so no row exists yet);
187
+ * Cursor's denial overlay re-proposes a call the hook denied (a row exists,
188
+ * `error`ed). An UPSERT: a known `callId` REOPENS its row — WAITING, the
189
+ * outcome fields cleared, `approvalRequestedAt` stamped once; an unknown one
190
+ * gets a WAITING row on the scope's current AI message, the text that
191
+ * proposed it (the message-boundary rule). Either way the builder reports
192
+ * {@link awaitingApproval}. The one place a row is ever WAITING.
193
+ */
194
+ export interface ApprovalProposedEvent extends Scoped {
195
+ readonly kind: "approval_proposed";
196
+ readonly callId: string;
197
+ readonly name: string;
198
+ readonly mcpServerSlug: string;
199
+ /** The proposed arguments, redacted by the harness — the card renders the change from them; absent when the harness could not correlate them. */
200
+ readonly args?: Record<string, unknown>;
201
+ /** The approval card's message, placeholders already resolved. */
202
+ readonly message: string;
203
+ readonly provenance?: PolicySource;
204
+ /** Cursor's content identity for a same-identity re-proposal (`approvalContentDigest`); native has none. */
205
+ readonly contentDigest?: string;
206
+ }
207
+ /**
208
+ * A line the harness adds to the transcript in its own voice — Cursor's
209
+ * `task` SDK event (a status line about the run), the boundary's
210
+ * unresolved-disclosure row. A SYSTEM message in the scope, never
211
+ * an AI one, so it neither hosts tool rows nor moves the message boundary.
212
+ */
213
+ export interface SystemNoteEvent extends Scoped {
214
+ readonly kind: "system_note";
215
+ readonly text: string;
216
+ }
217
+ export type TranscriptEvent = MessageStartEvent | TextDeltaEvent | ReasoningDeltaEvent | MessageFinishEvent | ToolStartedEvent | ToolArgDeltaEvent | ToolOutputDeltaEvent | ToolFinishedEvent | ToolErrorEvent | SubAgentStartedEvent | SubAgentFinishedEvent | SubAgentFailedEvent | ApprovalProposedEvent | SystemNoteEvent;
218
+ export {};
@@ -0,0 +1,50 @@
1
+ /**
2
+ * TranscriptEvent — the canonical event the transcript builder folds: what
3
+ * every harness's translator emits and `TranscriptBuilder` consumes to build
4
+ * the transcript half of the AgentExecutionStatus proto.
5
+ *
6
+ * A runner-internal contract (not persisted, not exposed to clients). It was
7
+ * born in the native adapter as `StigmerRunEvent`, the normalized form of
8
+ * LangGraph's v3 protocol, and promoted here on 2026-09-14 (#1097) because
9
+ * its own header already called it the thing that isolates the builder from
10
+ * the engine — the same move #1070 and #1096 made for the turn runtime. #1097
11
+ * cut it engine-neutral one rule at a time:
12
+ *
13
+ * - Every member the builder never folded left — `usage`, `lifecycle`,
14
+ * `provider`, and the `seq`/`node`/`messageId`/`reason` fields no handler
15
+ * read. Usage is a LOOP concern: the native loop reads it off the wire
16
+ * (`usageOf`) and prices it into `TurnSink.reportUsage`; the Cursor loop
17
+ * reads its own from the SDK's `turn-ended` delta. A transcript fact is
18
+ * what a row or a message carries; usage is neither.
19
+ * - `tool_finished` carries `result: string`; the engine's output
20
+ * envelope is the translator's to render.
21
+ * - `tool_started` carries the attribution (`mcpServerSlug`), the
22
+ * provenance and — where the harness runs a gated call before its
23
+ * boundary parks it — the gate's word. The translator resolves them from
24
+ * the harness's policy state; the builder writes what it is told and
25
+ * decides nothing about approval.
26
+ * - Scope is `subAgentId?` — the only scope either harness has is
27
+ * "the root, or one sub-agent by the id its row carries" — and the
28
+ * translator says when a sub-agent opens and closes
29
+ * (`sub_agent_started/finished/failed`). LangGraph's namespace grammar
30
+ * (`tools:<uuid>|model_request:<uuid>`), the `task` tool's name and its
31
+ * depth rule are the native translator's alone now.
32
+ * - `approval_proposed`, the one post-stream fact both harnesses
33
+ * produce, and `system_note`, a harness's line in its own voice. The
34
+ * union is complete: a Cursor translator emits it and writes
35
+ * nothing else.
36
+ *
37
+ * The rule the union keeps: a member carries an identity and the
38
+ * fact the builder cannot read elsewhere, nothing else. Every engine fact
39
+ * reaches the builder as a translator's output.
40
+ *
41
+ * ID conventions:
42
+ * - `runId` — the identity of ONE streamed assistant message (LangGraph's
43
+ * LLM-call run id on native; a translator-minted segment id on Cursor);
44
+ * shared across that message's events
45
+ * - `callId` — provider tool call ID (e.g. `toolu_...`); keys ToolCall records
46
+ * - `subAgentId` — the sub-agent row's id, which on both harnesses is the
47
+ * `task` tool call's id
48
+ */
49
+ export {};
50
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/harness/transcript/events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * TranscriptState — the AgentExecutionStatus proto `TranscriptBuilder` is
3
+ * building into, held as one {@link Transcript} per scope: the root's over
4
+ * `status.messages`, and one per sub-agent over its row's `messages`.
5
+ *
6
+ * Indexes, not copies: every map value is the live proto object (a ToolCall
7
+ * inside a message's repeated field, an AgentMessage inside a `messages`
8
+ * array), so a mutation through the index IS the mutation of the proto, and
9
+ * nothing here can drift from what is persisted. The arrays themselves are
10
+ * the status's own, pushed into and never replaced, so every wrapper of the
11
+ * status (the runtime's persist chokepoint, the settle modules that amend
12
+ * rows by identity) keeps seeing every row. A reinvocation's prior rows
13
+ * arrive through {@link TranscriptState.seed} — the turn runtime's
14
+ * `seedFromPersistedStatus` hands them here — so they are indexed by the
15
+ * same routine that indexes a status handed to the constructor.
16
+ *
17
+ * One shape for every scope (since #1097): until then the root's indexes
18
+ * lived here keyed by LangGraph namespace and the
19
+ * sub-agents' in a second module with its own copies of the same maps and
20
+ * handlers (`subagent-tracker.ts`, deleted in #1097). Scope is `subAgentId?`
21
+ * now and the namespace key collapsed — the tracker already resolved every
22
+ * local namespace to `""` — so a transcript's "current AI message" and
23
+ * "last run" are single values.
24
+ *
25
+ * The name says what it holds — the transcript's bookkeeping, not the
26
+ * execution's state, which is the turn runtime's (`harness/turn-context.ts`);
27
+ * it was `ExecutionState` in the native adapter (renamed in #1097).
28
+ */
29
+ import type { AgentExecutionStatus } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/api_pb";
30
+ import type { AgentMessage, ToolCall } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/message_pb";
31
+ import type { SubAgentExecution } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/subagent_pb";
32
+ /**
33
+ * One scope's transcript: the `messages[]` it folds into (by reference) and
34
+ * the live indexes over it. Seeded rows are indexed at construction so a
35
+ * re-emitted event reconciles onto the existing row instead of duplicating
36
+ * it (the durable-checkpoint resume; the memory-checkpointer replay).
37
+ */
38
+ export declare class Transcript {
39
+ readonly messages: AgentMessage[];
40
+ /** tool_call_id → the live ToolCall inside one of this transcript's messages. */
41
+ readonly toolCalls: Map<string, ToolCall>;
42
+ /**
43
+ * runId → the AgentMessage that run streams into (a THINKING row under
44
+ * its own key), so two runs' tokens never interleave.
45
+ */
46
+ readonly messagesByRun: Map<string, AgentMessage>;
47
+ /**
48
+ * The AI message a tool row attaches to — the latest message with text in
49
+ * this scope. Over a seeded transcript it starts as the seed's
50
+ * last AI message: the message that proposed a call is still the
51
+ * one that proposed it across a turn boundary, which is also Cursor's
52
+ * shape (`findOrCreateLastAiMessage`).
53
+ */
54
+ currentAiMessage: AgentMessage | undefined;
55
+ /** The latest LLM run in this scope, for closing the previous message's streaming flag when a new run starts. */
56
+ lastRunId: string | undefined;
57
+ /** Progressive tool-call argument JSON, accumulated per callId until it parses. */
58
+ readonly argBuffers: Map<string, string>;
59
+ constructor(messages: AgentMessage[]);
60
+ /**
61
+ * Take a message that is already on (or is being appended to) this
62
+ * transcript into the indexes: every row by id, and the message as the
63
+ * current AI message when it is one — the seed's last AI message is the
64
+ * one a resumed turn's first row joins. The one routine behind
65
+ * both ways rows arrive before the stream — the status as handed to the
66
+ * constructor, and the runtime's seed of a reinvocation's prior rows
67
+ * ({@link TranscriptState.seed}) — so neither can index differently.
68
+ */
69
+ index(message: AgentMessage): void;
70
+ }
71
+ /** The transcript half of a persisted status: what a reinvocation seeds through the builder. */
72
+ export type TranscriptSeed = Pick<AgentExecutionStatus, "messages" | "subAgentExecutions" | "artifacts" | "workspaceWriteBacks" | "todos">;
73
+ /** A sub-agent's row and the transcript folded into it. */
74
+ export interface SubAgentScope {
75
+ readonly row: SubAgentExecution;
76
+ readonly transcript: Transcript;
77
+ }
78
+ export declare class TranscriptState {
79
+ /** The protobuf projection being built. */
80
+ readonly proto: AgentExecutionStatus;
81
+ /** The root transcript, over `proto.messages`. */
82
+ readonly root: Transcript;
83
+ private readonly subAgentsById;
84
+ /**
85
+ * Indexes the status as handed: the root's messages and every seeded
86
+ * sub-agent row (a reinvocation's seed carries prior turns' rows, whose
87
+ * events may be re-driven).
88
+ */
89
+ constructor(proto: AgentExecutionStatus);
90
+ /** The transcript an event folds into: the root's for no `subAgentId`, a sub-agent's for a known one, `undefined` for an unknown one. */
91
+ scope(subAgentId: string | undefined): Transcript | undefined;
92
+ subAgent(subAgentId: string): SubAgentScope | undefined;
93
+ /** Push a new sub-agent row onto the status and open its transcript. The caller checks the id is new. */
94
+ openSubAgent(row: SubAgentExecution): SubAgentScope;
95
+ /**
96
+ * Append a persisted transcript's rows to the status AND index them — the
97
+ * runtime's seed of a reinvocation (`harness/turn-context.ts`
98
+ * `seedFromPersistedStatus` says why every collection is seeded: the
99
+ * server replaces each list wholesale, so a resumed turn's write must be a
100
+ * superset). Every collection is pushed into, never reassigned, so the
101
+ * status's arrays stay the ones every wrapper of the status holds. A
102
+ * sub-agent row already known by id is skipped (a seed is applied once).
103
+ * The rows arrive through the same {@link Transcript.index} the
104
+ * constructor uses, so a builder that seeds after it is born indexes
105
+ * exactly as one born over the seeded status would.
106
+ */
107
+ seed(persisted: TranscriptSeed): void;
108
+ /** Every transcript, the root's first — for the rules that sweep them all (`finalize`). */
109
+ transcripts(): IterableIterator<Transcript>;
110
+ }
@@ -0,0 +1,148 @@
1
+ /**
2
+ * TranscriptState — the AgentExecutionStatus proto `TranscriptBuilder` is
3
+ * building into, held as one {@link Transcript} per scope: the root's over
4
+ * `status.messages`, and one per sub-agent over its row's `messages`.
5
+ *
6
+ * Indexes, not copies: every map value is the live proto object (a ToolCall
7
+ * inside a message's repeated field, an AgentMessage inside a `messages`
8
+ * array), so a mutation through the index IS the mutation of the proto, and
9
+ * nothing here can drift from what is persisted. The arrays themselves are
10
+ * the status's own, pushed into and never replaced, so every wrapper of the
11
+ * status (the runtime's persist chokepoint, the settle modules that amend
12
+ * rows by identity) keeps seeing every row. A reinvocation's prior rows
13
+ * arrive through {@link TranscriptState.seed} — the turn runtime's
14
+ * `seedFromPersistedStatus` hands them here — so they are indexed by the
15
+ * same routine that indexes a status handed to the constructor.
16
+ *
17
+ * One shape for every scope (since #1097): until then the root's indexes
18
+ * lived here keyed by LangGraph namespace and the
19
+ * sub-agents' in a second module with its own copies of the same maps and
20
+ * handlers (`subagent-tracker.ts`, deleted in #1097). Scope is `subAgentId?`
21
+ * now and the namespace key collapsed — the tracker already resolved every
22
+ * local namespace to `""` — so a transcript's "current AI message" and
23
+ * "last run" are single values.
24
+ *
25
+ * The name says what it holds — the transcript's bookkeeping, not the
26
+ * execution's state, which is the turn runtime's (`harness/turn-context.ts`);
27
+ * it was `ExecutionState` in the native adapter (renamed in #1097).
28
+ */
29
+ import { MessageType } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
30
+ /**
31
+ * One scope's transcript: the `messages[]` it folds into (by reference) and
32
+ * the live indexes over it. Seeded rows are indexed at construction so a
33
+ * re-emitted event reconciles onto the existing row instead of duplicating
34
+ * it (the durable-checkpoint resume; the memory-checkpointer replay).
35
+ */
36
+ export class Transcript {
37
+ messages;
38
+ /** tool_call_id → the live ToolCall inside one of this transcript's messages. */
39
+ toolCalls = new Map();
40
+ /**
41
+ * runId → the AgentMessage that run streams into (a THINKING row under
42
+ * its own key), so two runs' tokens never interleave.
43
+ */
44
+ messagesByRun = new Map();
45
+ /**
46
+ * The AI message a tool row attaches to — the latest message with text in
47
+ * this scope. Over a seeded transcript it starts as the seed's
48
+ * last AI message: the message that proposed a call is still the
49
+ * one that proposed it across a turn boundary, which is also Cursor's
50
+ * shape (`findOrCreateLastAiMessage`).
51
+ */
52
+ currentAiMessage;
53
+ /** The latest LLM run in this scope, for closing the previous message's streaming flag when a new run starts. */
54
+ lastRunId;
55
+ /** Progressive tool-call argument JSON, accumulated per callId until it parses. */
56
+ argBuffers = new Map();
57
+ constructor(messages) {
58
+ this.messages = messages;
59
+ for (const message of messages)
60
+ this.index(message);
61
+ }
62
+ /**
63
+ * Take a message that is already on (or is being appended to) this
64
+ * transcript into the indexes: every row by id, and the message as the
65
+ * current AI message when it is one — the seed's last AI message is the
66
+ * one a resumed turn's first row joins. The one routine behind
67
+ * both ways rows arrive before the stream — the status as handed to the
68
+ * constructor, and the runtime's seed of a reinvocation's prior rows
69
+ * ({@link TranscriptState.seed}) — so neither can index differently.
70
+ */
71
+ index(message) {
72
+ for (const tc of message.toolCalls) {
73
+ if (tc.id)
74
+ this.toolCalls.set(tc.id, tc);
75
+ }
76
+ if (message.type === MessageType.MESSAGE_AI)
77
+ this.currentAiMessage = message;
78
+ }
79
+ }
80
+ export class TranscriptState {
81
+ /** The protobuf projection being built. */
82
+ proto;
83
+ /** The root transcript, over `proto.messages`. */
84
+ root;
85
+ subAgentsById = new Map();
86
+ /**
87
+ * Indexes the status as handed: the root's messages and every seeded
88
+ * sub-agent row (a reinvocation's seed carries prior turns' rows, whose
89
+ * events may be re-driven).
90
+ */
91
+ constructor(proto) {
92
+ this.proto = proto;
93
+ this.root = new Transcript(proto.messages);
94
+ for (const row of proto.subAgentExecutions) {
95
+ this.subAgentsById.set(row.id, { row, transcript: new Transcript(row.messages) });
96
+ }
97
+ }
98
+ /** The transcript an event folds into: the root's for no `subAgentId`, a sub-agent's for a known one, `undefined` for an unknown one. */
99
+ scope(subAgentId) {
100
+ if (subAgentId === undefined)
101
+ return this.root;
102
+ return this.subAgentsById.get(subAgentId)?.transcript;
103
+ }
104
+ subAgent(subAgentId) {
105
+ return this.subAgentsById.get(subAgentId);
106
+ }
107
+ /** Push a new sub-agent row onto the status and open its transcript. The caller checks the id is new. */
108
+ openSubAgent(row) {
109
+ this.proto.subAgentExecutions.push(row);
110
+ const scope = { row, transcript: new Transcript(row.messages) };
111
+ this.subAgentsById.set(row.id, scope);
112
+ return scope;
113
+ }
114
+ /**
115
+ * Append a persisted transcript's rows to the status AND index them — the
116
+ * runtime's seed of a reinvocation (`harness/turn-context.ts`
117
+ * `seedFromPersistedStatus` says why every collection is seeded: the
118
+ * server replaces each list wholesale, so a resumed turn's write must be a
119
+ * superset). Every collection is pushed into, never reassigned, so the
120
+ * status's arrays stay the ones every wrapper of the status holds. A
121
+ * sub-agent row already known by id is skipped (a seed is applied once).
122
+ * The rows arrive through the same {@link Transcript.index} the
123
+ * constructor uses, so a builder that seeds after it is born indexes
124
+ * exactly as one born over the seeded status would.
125
+ */
126
+ seed(persisted) {
127
+ for (const message of persisted.messages) {
128
+ this.proto.messages.push(message);
129
+ this.root.index(message);
130
+ }
131
+ for (const row of persisted.subAgentExecutions) {
132
+ if (this.subAgentsById.has(row.id))
133
+ continue;
134
+ this.openSubAgent(row);
135
+ }
136
+ this.proto.artifacts.push(...persisted.artifacts);
137
+ this.proto.workspaceWriteBacks.push(...persisted.workspaceWriteBacks);
138
+ for (const [id, todo] of Object.entries(persisted.todos))
139
+ this.proto.todos[id] = todo;
140
+ }
141
+ /** Every transcript, the root's first — for the rules that sweep them all (`finalize`). */
142
+ *transcripts() {
143
+ yield this.root;
144
+ for (const { transcript } of this.subAgentsById.values())
145
+ yield transcript;
146
+ }
147
+ }
148
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/harness/transcript/state.ts"],"names":[],"mappings":"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"}