@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
@@ -1,400 +0,0 @@
1
- /**
2
- * SubAgentTracker — tracks sub-agent lifecycle and routes namespace-scoped
3
- * events to per-sub-agent message lists.
4
- *
5
- * Correlation strategy (mirrors deepagents createSubagentTransformer):
6
- * - Parent calls "task" tool → tool_started at depth 0 or 1
7
- * (depth 1 in real runtime: namespace = ["tools:<pregelTaskUuid>"])
8
- * - The task tool-started event's namespace segment becomes the routing prefix
9
- * - Sub-agent child events arrive at depth >= 2, with the routing prefix as
10
- * their first segment (e.g. "tools:<pregelUuid>|model_request:<innerUuid>")
11
- * - First segment match (before "|") correlates child events to sub-agent
12
- *
13
- * The tracker builds INTO the status's own `subAgentExecutions` array, by
14
- * reference: it pushes new rows and mutates existing ones, never replaces the
15
- * array, so the caller that seeded the array from the persisted transcript
16
- * (the turn runtime's `seedFromPersistedStatus`) keeps every prior turn's
17
- * row and every wrapper of the status sees the same rows. Seeded rows are
18
- * indexed by id on construction; a re-emitted `task` tool start for a known
19
- * id binds its routing prefix to the existing row instead of pushing a twin
20
- * (the memory-checkpointer replay re-drives the whole graph), exactly as the
21
- * parent builder reconciles re-emitted tool calls through its rebuilt index.
22
- * Until S3 M2a the tracker owned a private array that `syncSubAgentExecutions`
23
- * assigned onto the status wholesale, which a resumed turn's first delegation
24
- * would have used to drop turn 1's rows (S3 M1 deferred debt).
25
- *
26
- * V3StatusBuilder delegates sub-agent-scoped events here instead of the
27
- * parent message list. Marking rows CANCELLED when a turn stops is NOT the
28
- * tracker's: `shared/subagent-rows.ts` `cancelInProgressSubAgentProtos` is
29
- * the one home of that transition for every harness (the runtime's thrown
30
- * arms and both adapters' stops call it); the tracker only clears the
31
- * streaming flags those rows' messages still carry
32
- * ({@link SubAgentTracker.finalizeAllStreaming}).
33
- */
34
- import { create } from "@bufbuild/protobuf";
35
- import { SubAgentExecutionSchema } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/subagent_pb";
36
- import { AgentMessageSchema, ToolCallSchema, } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/message_pb";
37
- import { SubAgentStatus, MessageType, ToolCallStatus, } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
38
- import { utcTimestamp } from "../../shared/status.js";
39
- import { classifyTool } from "../../shared/tool-kind.js";
40
- import { extractToolResultV3 } from "./status-builder-shared.js";
41
- /** Fresh routing state over a row; `namespacePrefix` is `""` for a seeded row until its `task` start re-announces it. */
42
- function newSubAgentState(proto, callId, namespacePrefix) {
43
- return {
44
- proto,
45
- callId,
46
- namespacePrefix,
47
- messagesByRun: new Map(),
48
- currentAiMessage: new Map(),
49
- lastLlmRunId: new Map(),
50
- toolCalls: new Map(),
51
- toolArgBuffers: new Map(),
52
- };
53
- }
54
- // ── SubAgentTracker ──────────────────────────────────────────────────────────
55
- export class SubAgentTracker {
56
- executions;
57
- stateByCallId = new Map();
58
- stateByPrefix = new Map();
59
- /**
60
- * @param executions - The status's own `subAgentExecutions` array, built
61
- * into by reference. Rows already on it (the runtime's seed on a
62
- * reinvocation) are indexed by id, with their tool calls, so a re-driven
63
- * event reconciles onto them; their routing prefix is unknown until a
64
- * `task` tool start re-announces it.
65
- */
66
- constructor(executions) {
67
- this.executions = executions;
68
- for (const proto of executions) {
69
- const state = newSubAgentState(proto, proto.id, "");
70
- for (const message of proto.messages) {
71
- for (const tc of message.toolCalls) {
72
- if (tc.id)
73
- state.toolCalls.set(tc.id, tc);
74
- }
75
- }
76
- this.stateByCallId.set(proto.id, state);
77
- }
78
- }
79
- /**
80
- * Called when a "task" tool_started event is observed at depth 0 or 1.
81
- * Creates a new SubAgentExecution and begins tracking — or, for a seeded
82
- * row re-announced by a replayed graph, binds the routing prefix to the
83
- * row that already exists.
84
- *
85
- * @param callId - Provider tool call ID (e.g. "toolu_01HW...")
86
- * @param args - Tool input arguments (subagent_type, description)
87
- * @param routingPrefix - The namespace segment used to match child events.
88
- * At depth 1 this is the event's own namespace (the LangGraph tools-node
89
- * segment, e.g. "tools:<pregelUuid>"). At depth 0 (edge case / tests) the
90
- * caller provides a synthetic prefix like "tools:<callId>".
91
- */
92
- onTaskToolStarted(callId, args, routingPrefix) {
93
- const existing = this.stateByCallId.get(callId);
94
- if (existing) {
95
- if (existing.namespacePrefix === "") {
96
- const bound = { ...existing, namespacePrefix: routingPrefix };
97
- this.stateByCallId.set(callId, bound);
98
- this.stateByPrefix.set(routingPrefix, bound);
99
- }
100
- return;
101
- }
102
- const name = safeString(args, "subagent_type") || "task";
103
- const description = safeString(args, "description") || "";
104
- const proto = create(SubAgentExecutionSchema, {
105
- id: callId,
106
- name,
107
- subject: description,
108
- input: description,
109
- status: SubAgentStatus.SUB_AGENT_IN_PROGRESS,
110
- startedAt: utcTimestamp(),
111
- });
112
- const state = newSubAgentState(proto, callId, routingPrefix);
113
- this.executions.push(proto);
114
- this.stateByCallId.set(callId, state);
115
- this.stateByPrefix.set(routingPrefix, state);
116
- }
117
- /**
118
- * Called when the "task" tool finishes successfully.
119
- */
120
- onTaskToolFinished(callId, output) {
121
- const state = this.stateByCallId.get(callId);
122
- if (!state)
123
- return;
124
- state.proto.status = SubAgentStatus.SUB_AGENT_COMPLETED;
125
- state.proto.completedAt = utcTimestamp();
126
- state.proto.output = extractToolResultV3(output);
127
- this.finalizeStreamingMessages(state);
128
- }
129
- /**
130
- * Called when the "task" tool errors.
131
- */
132
- onTaskToolError(callId, errorMessage) {
133
- const state = this.stateByCallId.get(callId);
134
- if (!state)
135
- return;
136
- state.proto.status = SubAgentStatus.SUB_AGENT_FAILED;
137
- state.proto.completedAt = utcTimestamp();
138
- state.proto.error = errorMessage;
139
- this.finalizeStreamingMessages(state);
140
- }
141
- /**
142
- * Clear the streaming flag on every tracked sub-agent's in-flight
143
- * messages. Called when the turn stops before the sub-agents finished;
144
- * the rows' own CANCELLED transition is the caller's, through the shared
145
- * `cancelInProgressSubAgentProtos` (see the header).
146
- */
147
- finalizeAllStreaming() {
148
- for (const state of this.stateByCallId.values()) {
149
- this.finalizeStreamingMessages(state);
150
- }
151
- }
152
- /**
153
- * Returns true if the given formatted namespace belongs to a tracked sub-agent.
154
- *
155
- * Only matches events at depth >= 2 (namespace contains a pipe separator).
156
- * Depth-1 events share the same first segment as registered prefixes but are
157
- * parent-level tool lifecycle events (handled separately by isTrackedTaskTool).
158
- * Child events have the registered prefix as their first segment PLUS additional
159
- * inner segments (e.g. "tools:<pregelUuid>|model_request:<innerUuid>").
160
- */
161
- isSubAgentNamespace(namespace) {
162
- if (!namespace || !namespace.includes("|"))
163
- return false;
164
- const firstSegment = extractFirstSegment(namespace);
165
- return this.stateByPrefix.has(firstSegment);
166
- }
167
- /**
168
- * Route a sub-agent-scoped event to the correct SubAgentExecution's messages.
169
- * The event has already been confirmed as sub-agent-scoped via isSubAgentNamespace.
170
- */
171
- routeEvent(event) {
172
- const firstSegment = extractFirstSegment(event.namespace);
173
- const state = this.stateByPrefix.get(firstSegment);
174
- if (!state)
175
- return;
176
- // Resolve agent namespace: strip the sub-agent's graph segment AND any
177
- // tools:* segments from the remaining path. Within a sub-agent, all events
178
- // (from node "model_request", from "tools:callId", etc.) belong to the same
179
- // flat agent context — map them all to the canonical "" key.
180
- const localNs = this.resolveAgentNamespace(stripFirstSegment(event.namespace));
181
- switch (event.kind) {
182
- case "message_start":
183
- this.handleMessageStart(state, event.runId, localNs);
184
- break;
185
- case "text_delta":
186
- this.handleTextDelta(state, event.runId, localNs, event.text);
187
- break;
188
- case "reasoning_delta":
189
- this.handleReasoningDelta(state, event.runId, localNs, event.text);
190
- break;
191
- case "tool_call_arg_delta":
192
- this.handleToolCallArgDelta(state, event.callId, event.argsChunk);
193
- break;
194
- case "message_finish":
195
- this.handleMessageFinish(state, event.runId);
196
- break;
197
- case "tool_started":
198
- this.handleToolStarted(state, event.callId, event.name, event.input, localNs);
199
- break;
200
- case "tool_finished":
201
- this.handleToolFinished(state, event.callId, event.output);
202
- break;
203
- case "tool_error":
204
- this.handleToolError(state, event.callId, event.message);
205
- break;
206
- case "tool_output_delta":
207
- this.handleToolOutputDelta(state, event.callId, event.delta);
208
- break;
209
- case "usage":
210
- case "lifecycle":
211
- case "provider":
212
- break;
213
- }
214
- }
215
- // ── Message Handlers ─────────────────────────────────────────────────────
216
- handleMessageStart(state, runId, localNs) {
217
- const lastRunId = state.lastLlmRunId.get(localNs);
218
- if (lastRunId && lastRunId !== runId) {
219
- const existingMsg = state.currentAiMessage.get(localNs);
220
- if (existingMsg)
221
- existingMsg.isStreaming = false;
222
- }
223
- state.lastLlmRunId.set(localNs, runId);
224
- }
225
- handleTextDelta(state, runId, localNs, text) {
226
- const msg = this.ensureAiMessage(state, runId, localNs, MessageType.MESSAGE_AI);
227
- msg.content += text;
228
- msg.isStreaming = true;
229
- }
230
- handleReasoningDelta(state, runId, localNs, text) {
231
- const thinkingKey = `thinking:${localNs}`;
232
- const existing = state.messagesByRun.get(thinkingKey);
233
- if (existing && existing.type === MessageType.MESSAGE_THINKING) {
234
- existing.content += text;
235
- existing.isStreaming = true;
236
- return;
237
- }
238
- const msg = create(AgentMessageSchema, {
239
- type: MessageType.MESSAGE_THINKING,
240
- content: text,
241
- timestamp: utcTimestamp(),
242
- isStreaming: true,
243
- });
244
- state.proto.messages.push(msg);
245
- state.messagesByRun.set(thinkingKey, msg);
246
- }
247
- handleMessageFinish(state, runId) {
248
- const msg = state.messagesByRun.get(runId);
249
- if (msg)
250
- msg.isStreaming = false;
251
- // The usage on this event was reported by `V3StatusBuilder.processEvent`
252
- // before it routed here (Q-M2b-1); the tracker owns the transcript only.
253
- }
254
- // ── Tool Handlers ──────────────────────────────────────────────────────
255
- handleToolStarted(state, callId, name, input, localNs) {
256
- const agentNs = this.resolveAgentNamespace(localNs);
257
- const parentMsg = state.currentAiMessage.get(agentNs)
258
- ?? this.ensureAiMessageForToolCall(state, agentNs);
259
- if (!parentMsg)
260
- return;
261
- const tc = create(ToolCallSchema, {
262
- id: callId,
263
- name,
264
- status: ToolCallStatus.TOOL_CALL_RUNNING,
265
- startedAt: utcTimestamp(),
266
- toolKind: classifyTool(name),
267
- });
268
- if (Object.keys(input).length > 0) {
269
- tc.args = input;
270
- }
271
- parentMsg.toolCalls.push(tc);
272
- state.toolCalls.set(callId, tc);
273
- }
274
- handleToolFinished(state, callId, output) {
275
- const tc = state.toolCalls.get(callId);
276
- if (!tc)
277
- return;
278
- // Faithful result only; payload size is bounded at the persist chokepoint
279
- // (see v3 builder note). Truncating here would corrupt image base64.
280
- tc.status = ToolCallStatus.TOOL_CALL_COMPLETED;
281
- tc.result = extractToolResultV3(output);
282
- tc.completedAt = utcTimestamp();
283
- tc.isStreaming = false;
284
- state.toolArgBuffers.delete(callId);
285
- }
286
- handleToolError(state, callId, message) {
287
- const tc = state.toolCalls.get(callId);
288
- if (!tc)
289
- return;
290
- tc.status = ToolCallStatus.TOOL_CALL_FAILED;
291
- tc.error = message;
292
- tc.completedAt = utcTimestamp();
293
- tc.isStreaming = false;
294
- state.toolArgBuffers.delete(callId);
295
- }
296
- handleToolCallArgDelta(state, callId, argsChunk) {
297
- const tc = state.toolCalls.get(callId);
298
- if (!tc)
299
- return;
300
- const buffer = (state.toolArgBuffers.get(callId) ?? "") + argsChunk;
301
- state.toolArgBuffers.set(callId, buffer);
302
- try {
303
- tc.args = JSON.parse(buffer);
304
- }
305
- catch {
306
- // Partial JSON — will resolve on next chunk or tool-finished
307
- }
308
- }
309
- handleToolOutputDelta(state, callId, delta) {
310
- const tc = state.toolCalls.get(callId);
311
- if (!tc)
312
- return;
313
- tc.result = (tc.result ?? "") + delta;
314
- }
315
- // ── Helpers ────────────────────────────────────────────────────────────
316
- ensureAiMessage(state, runId, localNs, type) {
317
- const existing = state.messagesByRun.get(runId);
318
- if (existing)
319
- return existing;
320
- const lastRunId = state.lastLlmRunId.get(localNs);
321
- if (lastRunId && lastRunId !== runId) {
322
- const prev = state.currentAiMessage.get(localNs);
323
- if (prev)
324
- prev.isStreaming = false;
325
- }
326
- const msg = create(AgentMessageSchema, {
327
- type,
328
- content: "",
329
- timestamp: utcTimestamp(),
330
- isStreaming: true,
331
- });
332
- state.proto.messages.push(msg);
333
- state.messagesByRun.set(runId, msg);
334
- state.currentAiMessage.set(localNs, msg);
335
- state.lastLlmRunId.set(localNs, runId);
336
- return msg;
337
- }
338
- ensureAiMessageForToolCall(state, localNs) {
339
- const lastRunId = state.lastLlmRunId.get(localNs);
340
- if (lastRunId) {
341
- const existing = state.messagesByRun.get(lastRunId);
342
- if (existing) {
343
- state.currentAiMessage.set(localNs, existing);
344
- return existing;
345
- }
346
- }
347
- const msg = create(AgentMessageSchema, {
348
- type: MessageType.MESSAGE_AI,
349
- content: "",
350
- timestamp: utcTimestamp(),
351
- isStreaming: false,
352
- });
353
- state.proto.messages.push(msg);
354
- state.currentAiMessage.set(localNs, msg);
355
- return msg;
356
- }
357
- /**
358
- * Resolve a local namespace to an agent-level key.
359
- *
360
- * Within a sub-agent's flat execution context, internal namespace segments
361
- * (graph node names like "model_request", tool scopes like "tools:callId")
362
- * all belong to the same single agent. We collapse them to "" — the sub-agent
363
- * has only one conversation thread.
364
- */
365
- resolveAgentNamespace(ns) {
366
- if (!ns)
367
- return "";
368
- // Strip tools:* and known graph-node segments — sub-agents are flat
369
- const parts = ns.split("|").filter(p => !p.startsWith("tools:") && !p.startsWith("model_request"));
370
- return parts.join("|");
371
- }
372
- finalizeStreamingMessages(state) {
373
- for (const msg of state.currentAiMessage.values()) {
374
- msg.isStreaming = false;
375
- }
376
- }
377
- }
378
- // ── Namespace Utilities ──────────────────────────────────────────────────────
379
- /**
380
- * Extract the first segment from a pipe-separated namespace.
381
- * "tools:toolu_123|model_request:0" → "tools:toolu_123"
382
- */
383
- function extractFirstSegment(namespace) {
384
- const pipeIdx = namespace.indexOf("|");
385
- return pipeIdx === -1 ? namespace : namespace.slice(0, pipeIdx);
386
- }
387
- /**
388
- * Strip the first segment, returning everything after the first pipe.
389
- * "tools:toolu_123|model_request:0" → "model_request:0"
390
- * "tools:toolu_123" → ""
391
- */
392
- function stripFirstSegment(namespace) {
393
- const pipeIdx = namespace.indexOf("|");
394
- return pipeIdx === -1 ? "" : namespace.slice(pipeIdx + 1);
395
- }
396
- function safeString(obj, key) {
397
- const val = obj[key];
398
- return typeof val === "string" ? val : "";
399
- }
400
- //# sourceMappingURL=subagent-tracker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subagent-tracker.js","sourceRoot":"","sources":["../../../src/activities/execute-deep-agent/subagent-tracker.ts"],"names":[],"mappings":"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"}
@@ -1,102 +0,0 @@
1
- /**
2
- * StigmerRunEvent — normalized v3 protocol event types.
3
- *
4
- * The V3ProtocolNormalizer converts raw LangGraph ProtocolEvents into
5
- * these typed variants. V3StatusBuilder consumes them to build the
6
- * AgentExecutionStatus proto.
7
- *
8
- * This is a runner-internal contract (not persisted, not exposed to
9
- * clients). It isolates the V3StatusBuilder from LangGraph protocol
10
- * instability (field naming, delta shapes, channel semantics).
11
- *
12
- * ID conventions:
13
- * - `runId` — LLM invocation ID; shared across message events in one turn
14
- * - `callId` — provider tool call ID (e.g. `toolu_...`); keys ToolCall records
15
- * - `namespace` — formatted string from v3 namespace array; empty = parent agent
16
- */
17
- interface StigmerRunEventBase {
18
- readonly kind: string;
19
- readonly seq: number;
20
- /** Formatted namespace string: empty = parent agent, joined with "|" for nested. */
21
- readonly namespace: string;
22
- readonly node?: string;
23
- }
24
- export interface MessageStartEvent extends StigmerRunEventBase {
25
- readonly kind: "message_start";
26
- readonly runId: string;
27
- readonly messageId?: string;
28
- }
29
- export interface TextDeltaEvent extends StigmerRunEventBase {
30
- readonly kind: "text_delta";
31
- readonly runId: string;
32
- readonly text: string;
33
- }
34
- export interface ReasoningDeltaEvent extends StigmerRunEventBase {
35
- readonly kind: "reasoning_delta";
36
- readonly runId: string;
37
- readonly text: string;
38
- }
39
- export interface ToolCallArgDeltaEvent extends StigmerRunEventBase {
40
- readonly kind: "tool_call_arg_delta";
41
- readonly callId: string;
42
- readonly argsChunk: string;
43
- }
44
- export interface MessageFinishEvent extends StigmerRunEventBase {
45
- readonly kind: "message_finish";
46
- readonly runId: string;
47
- readonly usage?: V3UsagePayload;
48
- readonly reason?: string;
49
- }
50
- export interface ToolStartedEvent extends StigmerRunEventBase {
51
- readonly kind: "tool_started";
52
- readonly callId: string;
53
- readonly name: string;
54
- readonly input: Record<string, unknown>;
55
- }
56
- export interface ToolOutputDeltaEvent extends StigmerRunEventBase {
57
- readonly kind: "tool_output_delta";
58
- readonly callId: string;
59
- readonly delta: string;
60
- }
61
- export interface ToolFinishedEvent extends StigmerRunEventBase {
62
- readonly kind: "tool_finished";
63
- readonly callId: string;
64
- readonly output: unknown;
65
- }
66
- export interface ToolErrorEvent extends StigmerRunEventBase {
67
- readonly kind: "tool_error";
68
- readonly callId: string;
69
- readonly message: string;
70
- }
71
- export interface UsageEvent extends StigmerRunEventBase {
72
- readonly kind: "usage";
73
- readonly runId: string;
74
- readonly usage: V3UsagePayload;
75
- }
76
- export interface LifecycleEvent extends StigmerRunEventBase {
77
- readonly kind: "lifecycle";
78
- readonly event: string;
79
- readonly graphName?: string;
80
- }
81
- export interface ProviderEvent extends StigmerRunEventBase {
82
- readonly kind: "provider";
83
- readonly provider: string;
84
- readonly model?: string;
85
- }
86
- export interface V3UsagePayload {
87
- readonly input_tokens?: number;
88
- readonly output_tokens?: number;
89
- readonly total_tokens?: number;
90
- readonly input_token_details?: {
91
- readonly cache_creation?: number;
92
- readonly cache_read?: number;
93
- };
94
- }
95
- export type StigmerRunEvent = MessageStartEvent | TextDeltaEvent | ReasoningDeltaEvent | ToolCallArgDeltaEvent | MessageFinishEvent | ToolStartedEvent | ToolOutputDeltaEvent | ToolFinishedEvent | ToolErrorEvent | UsageEvent | LifecycleEvent | ProviderEvent;
96
- export declare function formatNamespace(ns: readonly string[]): string;
97
- /**
98
- * Returns the depth (number of segments) of a formatted namespace string.
99
- * Empty string → 0, single segment → 1, "a|b" → 2, etc.
100
- */
101
- export declare function namespaceDepth(namespace: string): number;
102
- export {};
@@ -1,35 +0,0 @@
1
- /**
2
- * StigmerRunEvent — normalized v3 protocol event types.
3
- *
4
- * The V3ProtocolNormalizer converts raw LangGraph ProtocolEvents into
5
- * these typed variants. V3StatusBuilder consumes them to build the
6
- * AgentExecutionStatus proto.
7
- *
8
- * This is a runner-internal contract (not persisted, not exposed to
9
- * clients). It isolates the V3StatusBuilder from LangGraph protocol
10
- * instability (field naming, delta shapes, channel semantics).
11
- *
12
- * ID conventions:
13
- * - `runId` — LLM invocation ID; shared across message events in one turn
14
- * - `callId` — provider tool call ID (e.g. `toolu_...`); keys ToolCall records
15
- * - `namespace` — formatted string from v3 namespace array; empty = parent agent
16
- */
17
- // ── Namespace Formatting ──────────────────────────────────────────
18
- export function formatNamespace(ns) {
19
- return ns.length === 0 ? "" : ns.join("|");
20
- }
21
- /**
22
- * Returns the depth (number of segments) of a formatted namespace string.
23
- * Empty string → 0, single segment → 1, "a|b" → 2, etc.
24
- */
25
- export function namespaceDepth(namespace) {
26
- if (!namespace)
27
- return 0;
28
- let count = 1;
29
- for (let i = 0; i < namespace.length; i++) {
30
- if (namespace[i] === "|")
31
- count++;
32
- }
33
- return count;
34
- }
35
- //# sourceMappingURL=v3-events.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"v3-events.js","sourceRoot":"","sources":["../../../src/activities/execute-deep-agent/v3-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAwHH,qEAAqE;AAErE,MAAM,UAAU,eAAe,CAAC,EAAqB;IACnD,OAAO,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC9C,IAAI,CAAC,SAAS;QAAE,OAAO,CAAC,CAAC;IACzB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;IACpC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,15 +0,0 @@
1
- /**
2
- * V3ProtocolNormalizer — converts raw LangGraph v3 ProtocolEvents
3
- * into the StigmerRunEvent discriminated union.
4
- *
5
- * Stateless: each event is self-describing per real recordings.
6
- * Routes by `event.method`, then by `data.event` within channels.
7
- *
8
- * Defensive parsing: handles both snake_case and camelCase field names
9
- * for tool IDs/names (protocol spec uses camelCase but recordings show
10
- * snake_case). Uses `data.event` as canonical discriminator, with
11
- * `data.type` as fallback (CP04 finding).
12
- */
13
- import type { V3ProtocolEvent } from "./v3-event-recorder.js";
14
- import type { StigmerRunEvent } from "./v3-events.js";
15
- export declare function normalize(event: V3ProtocolEvent): StigmerRunEvent[];