@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
@@ -25,14 +25,14 @@
25
25
  * knows are reported through the sink exactly as the orchestrator reported
26
26
  * them (the resolution labels are the runtime's).
27
27
  *
28
- * One root for everything (Q-S3-8): the deepagents backend, the CAS
28
+ * One root for everything: the deepagents backend, the CAS
29
29
  * observer, the gate's path normalization and the publisher are all rooted
30
30
  * at `workspace.primaryDir` — the same tree the runtime locks, links and
31
31
  * captures. For zero or one workspace entry this is byte-identical to the
32
32
  * orchestrator's `workspaceBackend.rootDir`.
33
33
  *
34
34
  * Moved from `setup.ts` `performSetup` (the LangGraph half; the resolution
35
- * half is the runtime's twelve phases) at S3 M2a; the step bodies are the
35
+ * half is the runtime's twelve phases) in #1096; the step bodies are the
36
36
  * orchestrator's, verbatim where nothing changed.
37
37
  */
38
38
  import type { BaseCheckpointSaver } from "@langchain/langgraph-checkpoint";
@@ -52,7 +52,7 @@ import { CasCaptureObserver } from "./cas-capture-observer.js";
52
52
  * (`execute-cursor/turn-setup.ts` `CursorAdapterConfig` is the idiom): a
53
53
  * whole `Config` satisfies it, a test constructs these fields and nothing
54
54
  * else. Smaller than the orchestrator's reach — the synthesized attachments'
55
- * endpoints it read are the runtime's now (S3 M2a, F-M2a-10).
55
+ * endpoints it read are the runtime's now (since #1096).
56
56
  */
57
57
  export type DeepAgentAdapterConfig = Pick<Config, "checkpointerType" | "checkpointerProxyEndpoint" | "stigmerToken" | "proxyEndpoint" | "mode">;
58
58
  /** The deepagents graph as this module holds it; deepagents exports no stable type for the compiled agent. */
@@ -109,8 +109,8 @@ export type DeepAgentGraphInput = {
109
109
  * spec named none — the one reader of `spec.executionConfig.modelName`, which
110
110
  * the Cursor adapter reads too), or the registry's default for `"default"`.
111
111
  * The same reading the runtime's attachment phase made for the vision budget,
112
- * so the model that sees the images is the model that runs. (Until S3 M5 this
113
- * read the spec field beside the runtime's resolved copy; F-M3-P7.)
112
+ * so the model that sees the images is the model that runs. (Until #1096 this
113
+ * read the spec field beside the runtime's resolved copy.)
114
114
  */
115
115
  export declare function resolveModelName(input: TurnInput): Promise<string>;
116
116
  /**
@@ -122,7 +122,7 @@ export declare function resolveModelName(input: TurnInput): Promise<string>;
122
122
  export declare function openCheckpointer(input: TurnInput, sink: TurnSink, config: DeepAgentAdapterConfig): Promise<BaseCheckpointSaver>;
123
123
  /**
124
124
  * The workspace as the engine sees it, rooted at the runtime's primary tree
125
- * (Q-S3-8). The platform dir the shared provision ensured rides along so
125
+ * (the one root). The platform dir the shared provision ensured rides along so
126
126
  * the backend routes `.stigmer/…` reads to it.
127
127
  *
128
128
  * CAS capture (design docs 08/11/12): the single per-turn observer owns the
@@ -143,7 +143,7 @@ export declare function buildDeepAgentWorkspace(input: TurnInput): DeepAgentWork
143
143
  * refuses an empty config, which is what the orchestrator's MCP gate
144
144
  * (`mcp-gate.ts`) guarded against beside its channel-only reason; the
145
145
  * runtime resolves unconditionally, so the one remaining question is
146
- * "anything to connect?" (S3 M2a, F-M2a-17).
146
+ * "anything to connect?" (since #1096).
147
147
  */
148
148
  export declare function connectTools(input: TurnInput, sink: TurnSink): Promise<DeepAgentTools>;
149
149
  /**
@@ -186,7 +186,7 @@ export declare function composeSystemPrompt(input: TurnInput, recalledMemories:
186
186
  * stop on the invoke config and the budget middleware's ~80% advisory, so
187
187
  * the warning and the enforcement can never disagree.
188
188
  *
189
- * Nothing in the middleware stack stops the run (Q-S3-3, landed at S3 M2b):
189
+ * Nothing in the middleware stack stops the run (since #1096):
190
190
  * the runtime's abort is the platform's one stop, and its TERMINATED arm the
191
191
  * one enforcement of `max_cost_usd`; the cost advisory warns the model at
192
192
  * ~80% of the cap the way the budget middleware warns at ~80% of the
@@ -25,14 +25,14 @@
25
25
  * knows are reported through the sink exactly as the orchestrator reported
26
26
  * them (the resolution labels are the runtime's).
27
27
  *
28
- * One root for everything (Q-S3-8): the deepagents backend, the CAS
28
+ * One root for everything: the deepagents backend, the CAS
29
29
  * observer, the gate's path normalization and the publisher are all rooted
30
30
  * at `workspace.primaryDir` — the same tree the runtime locks, links and
31
31
  * captures. For zero or one workspace entry this is byte-identical to the
32
32
  * orchestrator's `workspaceBackend.rootDir`.
33
33
  *
34
34
  * Moved from `setup.ts` `performSetup` (the LangGraph half; the resolution
35
- * half is the runtime's twelve phases) at S3 M2a; the step bodies are the
35
+ * half is the runtime's twelve phases) in #1096; the step bodies are the
36
36
  * orchestrator's, verbatim where nothing changed.
37
37
  */
38
38
  import { createDeepAgent } from "deepagents";
@@ -71,8 +71,8 @@ import { modelHasNativeThinking, transformAndCompileSubagents } from "./subagent
71
71
  * spec named none — the one reader of `spec.executionConfig.modelName`, which
72
72
  * the Cursor adapter reads too), or the registry's default for `"default"`.
73
73
  * The same reading the runtime's attachment phase made for the vision budget,
74
- * so the model that sees the images is the model that runs. (Until S3 M5 this
75
- * read the spec field beside the runtime's resolved copy; F-M3-P7.)
74
+ * so the model that sees the images is the model that runs. (Until #1096 this
75
+ * read the spec field beside the runtime's resolved copy.)
76
76
  */
77
77
  export async function resolveModelName(input) {
78
78
  return input.model.requested === "default" ? await getDefaultModel() : input.model.requested;
@@ -95,7 +95,7 @@ export async function openCheckpointer(input, sink, config) {
95
95
  }
96
96
  /**
97
97
  * The workspace as the engine sees it, rooted at the runtime's primary tree
98
- * (Q-S3-8). The platform dir the shared provision ensured rides along so
98
+ * (the one root). The platform dir the shared provision ensured rides along so
99
99
  * the backend routes `.stigmer/…` reads to it.
100
100
  *
101
101
  * CAS capture (design docs 08/11/12): the single per-turn observer owns the
@@ -129,7 +129,7 @@ export function buildDeepAgentWorkspace(input) {
129
129
  * refuses an empty config, which is what the orchestrator's MCP gate
130
130
  * (`mcp-gate.ts`) guarded against beside its channel-only reason; the
131
131
  * runtime resolves unconditionally, so the one remaining question is
132
- * "anything to connect?" (S3 M2a, F-M2a-17).
132
+ * "anything to connect?" (since #1096).
133
133
  */
134
134
  export async function connectTools(input, sink) {
135
135
  if (input.mcp.servers.length === 0) {
@@ -231,7 +231,7 @@ export function composeSystemPrompt(input, recalledMemories) {
231
231
  * stop on the invoke config and the budget middleware's ~80% advisory, so
232
232
  * the warning and the enforcement can never disagree.
233
233
  *
234
- * Nothing in the middleware stack stops the run (Q-S3-3, landed at S3 M2b):
234
+ * Nothing in the middleware stack stops the run (since #1096):
235
235
  * the runtime's abort is the platform's one stop, and its TERMINATED arm the
236
236
  * one enforcement of `max_cost_usd`; the cost advisory warns the model at
237
237
  * ~80% of the cap the way the budget middleware warns at ~80% of the
@@ -9,7 +9,7 @@
9
9
  * runtime's stall watchdog measures the engine; `reportUsage()` per parent
10
10
  * `message_finish`, priced here at the registry's rates for the model the
11
11
  * turn runs on (`shared/model-pricing.ts`), so the runtime accounts and
12
- * enforces the cost cap and writes `streamingUsage` (Q-M2a-2); `requestPersist()`
12
+ * enforces the cost cap and writes `streamingUsage`; `requestPersist()`
13
13
  * where a discrete change or the streaming cadence says so
14
14
  * (`shared/persist-decision.ts` over the builder's one dirty flag), AWAITED,
15
15
  * so a platform STOP the runtime reads from that write aborts the signal
@@ -19,7 +19,7 @@
19
19
  * this loop never does). An error the aborted run throws is the abort itself
20
20
  * and settles `interrupted`, never `failed`.
21
21
  *
22
- * WHEN the run is aborted (S3 M2a, F-M2a-18): on the arrival of the next
22
+ * WHEN the run is aborted: on the arrival of the next
23
23
  * event — the graph's own step boundary — or after {@link STOP_GRACE_MS} if
24
24
  * no event arrives. A LangGraph run aborted while a step is in flight leaves
25
25
  * `@langchain/core` with an orphaned rejection (`AsyncGeneratorWithSetup`
@@ -34,7 +34,7 @@
34
34
  * here) is forced, and that one orphan is the price of unblocking it — the
35
35
  * contract's bound on settling `interrupted` is what wins.
36
36
  *
37
- * Until S3 M2a this loop (`streaming-v3.ts`) armed its own 120 s stall
37
+ * Until #1096 this loop (`streaming-v3.ts`) armed its own 120 s stall
38
38
  * check, pulsed the Temporal heartbeat every 2 s, read STOP from its own
39
39
  * persist and activated a graceful-stop middleware on it, told a pause from
40
40
  * the activity's cancellation signal, and wrote PAUSED, COMPLETED and
@@ -47,7 +47,7 @@
47
47
  import type { TurnInput, TurnSink } from "../../harness/types.js";
48
48
  import { InlinePublisher } from "./inline-publisher.js";
49
49
  import { type V3ProtocolEvent } from "./v3-event-recorder.js";
50
- import { V3StatusBuilder } from "./v3-status-builder.js";
50
+ import { DeepAgentTranslator } from "./translator.js";
51
51
  import type { DeepAgentEngine, DeepAgentGraphInput, DeepAgentWorkspace } from "./turn-setup.js";
52
52
  /**
53
53
  * The subset of the v3 `GraphRunStream` this loop consumes. Kept structural
@@ -71,14 +71,17 @@ export interface DeepAgentStreamResult {
71
71
  readonly pendingPublishPromises: readonly Promise<void>[];
72
72
  }
73
73
  /**
74
- * The transcript writers of one turn: the builder over `sink.status` and the
75
- * publisher that writes artifacts through it (so a published artifact still
76
- * forces the next persist). Built by the adapter's turn once and shared by
77
- * the stream and the settle; the builder reports usage into the sink, priced
78
- * for the model the turn runs on.
74
+ * This harness's transcript writers for one turn: the translator that turns
75
+ * the engine's events into canonical ones (over the gate's posture, so every
76
+ * tool start carries its attribution and gate answer), and the publisher
77
+ * that registers artifacts on the runtime's builder (`sink.transcript`, so
78
+ * a published artifact still dirties the next persist). The builder itself
79
+ * is the runtime's, one per turn, and is read from the sink where it is
80
+ * needed. Built by the adapter's turn once and shared by the stream and the
81
+ * settle.
79
82
  */
80
83
  export interface DeepAgentTranscript {
81
- readonly builder: V3StatusBuilder;
84
+ readonly translator: DeepAgentTranslator;
82
85
  readonly publisher: InlinePublisher;
83
86
  }
84
87
  export declare function createDeepAgentTranscript(input: TurnInput, sink: TurnSink, engine: DeepAgentEngine, workspace: DeepAgentWorkspace): DeepAgentTranscript;
@@ -9,7 +9,7 @@
9
9
  * runtime's stall watchdog measures the engine; `reportUsage()` per parent
10
10
  * `message_finish`, priced here at the registry's rates for the model the
11
11
  * turn runs on (`shared/model-pricing.ts`), so the runtime accounts and
12
- * enforces the cost cap and writes `streamingUsage` (Q-M2a-2); `requestPersist()`
12
+ * enforces the cost cap and writes `streamingUsage`; `requestPersist()`
13
13
  * where a discrete change or the streaming cadence says so
14
14
  * (`shared/persist-decision.ts` over the builder's one dirty flag), AWAITED,
15
15
  * so a platform STOP the runtime reads from that write aborts the signal
@@ -19,7 +19,7 @@
19
19
  * this loop never does). An error the aborted run throws is the abort itself
20
20
  * and settles `interrupted`, never `failed`.
21
21
  *
22
- * WHEN the run is aborted (S3 M2a, F-M2a-18): on the arrival of the next
22
+ * WHEN the run is aborted: on the arrival of the next
23
23
  * event — the graph's own step boundary — or after {@link STOP_GRACE_MS} if
24
24
  * no event arrives. A LangGraph run aborted while a step is in flight leaves
25
25
  * `@langchain/core` with an orphaned rejection (`AsyncGeneratorWithSetup`
@@ -34,7 +34,7 @@
34
34
  * here) is forced, and that one orphan is the price of unblocking it — the
35
35
  * contract's bound on settling `interrupted` is what wins.
36
36
  *
37
- * Until S3 M2a this loop (`streaming-v3.ts`) armed its own 120 s stall
37
+ * Until #1096 this loop (`streaming-v3.ts`) armed its own 120 s stall
38
38
  * check, pulsed the Temporal heartbeat every 2 s, read STOP from its own
39
39
  * persist and activated a graceful-stop middleware on it, told a pause from
40
40
  * the activity's cancellation signal, and wrote PAUSED, COMPLETED and
@@ -51,8 +51,7 @@ import { TimeoutError, withTimeout } from "../../shared/with-timeout.js";
51
51
  import { InlinePublisher } from "./inline-publisher.js";
52
52
  import { StreamingSideEffects } from "./streaming-side-effects.js";
53
53
  import { createV3EventRecorder } from "./v3-event-recorder.js";
54
- import { normalize } from "./v3-protocol-normalizer.js";
55
- import { V3StatusBuilder } from "./v3-status-builder.js";
54
+ import { DeepAgentTranslator, usageOf } from "./translator.js";
56
55
  /**
57
56
  * How long the loop waits for `run.output` after the stream ended before
58
57
  * proceeding without the final state (the structured response rides it).
@@ -65,41 +64,39 @@ const RUN_OUTPUT_TIMEOUT_MS = 30_000;
65
64
  */
66
65
  const STOP_GRACE_MS = 1_000;
67
66
  export function createDeepAgentTranscript(input, sink, engine, workspace) {
68
- const builder = new V3StatusBuilder(input.executionId, sink.status, {
69
- onUsage: (usage) => {
70
- // LangChain's `input_tokens` already INCLUDES the cache buckets (the
71
- // Anthropic adapter folds them in; the cost advisory reads them the
72
- // same way), so the counts are reported as delivered and the price
73
- // is computed over the disjoint buckets.
74
- const inputTokens = usage.input_tokens ?? 0;
75
- const outputTokens = usage.output_tokens ?? 0;
76
- const cacheReadTokens = usage.input_token_details?.cache_read ?? 0;
77
- const cacheWriteTokens = usage.input_token_details?.cache_creation ?? 0;
78
- const uncachedInput = Math.max(inputTokens - cacheReadTokens - cacheWriteTokens, 0);
79
- sink.reportUsage({
80
- inputTokens,
81
- outputTokens,
82
- cacheReadTokens,
83
- cacheWriteTokens,
84
- estimatedCostUsd: computeTurnCost(engine.pricing, uncachedInput, outputTokens, cacheWriteTokens, cacheReadTokens),
85
- model: engine.modelName,
86
- });
87
- },
88
- });
89
- builder.setApprovalProvider({
90
- policies: engine.gate.policies,
91
- toolServerMap: engine.gate.toolServerMap,
92
- leasedCategories: engine.gate.leasedCategories,
93
- globalBypass: engine.gate.globalBypass,
94
- unattended: engine.gate.unattended,
95
- });
67
+ const translator = new DeepAgentTranslator(engine.gate);
96
68
  const publisher = new InlinePublisher({
97
69
  workspaceBackend: workspace.backend,
98
70
  artifactStorage: input.artifactStorage,
99
- statusWriter: builder,
71
+ artifacts: sink.transcript,
100
72
  executionId: input.executionId,
101
73
  });
102
- return { builder, publisher };
74
+ return { translator, publisher };
75
+ }
76
+ /**
77
+ * Price one `message-finish`'s usage at the engine's rates and report it to
78
+ * the sink, which accounts, enforces the cost cap and writes `streamingUsage`
79
+ * (one writer of the summary). LangChain's `input_tokens` already INCLUDES the cache buckets
80
+ * (the Anthropic adapter folds them in; the cost advisory reads them the same
81
+ * way), so the counts are reported as delivered and the price is computed
82
+ * over the disjoint buckets. A sub-agent on its own model is priced at the
83
+ * parent's rate, as the in-graph cost cap always did (per-sub-agent pricing
84
+ * is #1121).
85
+ */
86
+ function reportUsage(sink, engine, usage) {
87
+ const inputTokens = usage.input_tokens ?? 0;
88
+ const outputTokens = usage.output_tokens ?? 0;
89
+ const cacheReadTokens = usage.input_token_details?.cache_read ?? 0;
90
+ const cacheWriteTokens = usage.input_token_details?.cache_creation ?? 0;
91
+ const uncachedInput = Math.max(inputTokens - cacheReadTokens - cacheWriteTokens, 0);
92
+ sink.reportUsage({
93
+ inputTokens,
94
+ outputTokens,
95
+ cacheReadTokens,
96
+ cacheWriteTokens,
97
+ estimatedCostUsd: computeTurnCost(engine.pricing, uncachedInput, outputTokens, cacheWriteTokens, cacheReadTokens),
98
+ model: engine.modelName,
99
+ });
103
100
  }
104
101
  /**
105
102
  * Start the graph run and consume it to the end, folding every event into
@@ -109,7 +106,8 @@ export function createDeepAgentTranscript(input, sink, engine, workspace) {
109
106
  export async function consumeDeepAgentStream(deps) {
110
107
  const { input, sink, engine, graphInput, transcript } = deps;
111
108
  const { executionId } = input;
112
- const { builder, publisher } = transcript;
109
+ const { translator, publisher } = transcript;
110
+ const builder = sink.transcript;
113
111
  const scheduler = new StreamingUpdateScheduler(loadStreamingConfig());
114
112
  const recorder = createV3EventRecorder(executionId, process.env.V3_EVENT_RECORD_DIR);
115
113
  const sideEffects = new StreamingSideEffects({ inlinePublisher: publisher });
@@ -152,18 +150,23 @@ export async function consumeDeepAgentStream(deps) {
152
150
  return interrupted();
153
151
  recorder?.record(event, eventsProcessed);
154
152
  let detail;
155
- for (const normalized of normalize(event)) {
156
- builder.processEvent(normalized);
153
+ for (const normalized of translator.translate(event)) {
154
+ builder.apply(normalized);
155
+ sideEffects.onEvent(normalized);
157
156
  if (normalized.kind === "tool_started")
158
157
  detail = normalized.name;
159
158
  }
160
- sideEffects.onProtocolEvent(event);
159
+ const usage = usageOf(event);
160
+ if (usage)
161
+ reportUsage(sink, engine, usage);
161
162
  eventsProcessed++;
162
163
  sink.recordActivity(detail);
163
- const persist = shouldPersistStreamingStatus({ deltaEnricherDirty: false, todosDirty: false, contentDirty: builder.forceNextUpdate }, scheduler, eventsProcessed);
164
+ const persist = shouldPersistStreamingStatus(builder.dirty, scheduler, eventsProcessed);
164
165
  if (!persist)
165
166
  continue;
166
- builder.clearForceFlag();
167
+ // Cleared as the write is requested, not after it lands: a change
168
+ // that folds while the write is in flight must dirty the next one.
169
+ builder.markPersisted();
167
170
  // The runtime attaches the mid-run file-change progress on this write
168
171
  // (the chokepoint's step 2), as it does on every write. Awaited so a platform STOP the runtime reads from this write has
169
172
  // aborted the signal by the time the next event arrives — where the
@@ -1 +1 @@
1
- {"version":3,"file":"turn-stream.js","sourceRoot":"","sources":["../../../src/activities/execute-deep-agent/turn-stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turn-stream.js","sourceRoot":"","sources":["../../../src/activities/execute-deep-agent/turn-stream.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@
24
24
  * other exception — a provider error unwrapped from LangChain's middleware
25
25
  * wrapper, an MCP connect failure, an empty stream — is `failed` on the
26
26
  * `internal` surface with `describeExecutionError`'s sentence as
27
- * `status.error` whole (Q-M2a-9). Never branches on why `stopSignal`
27
+ * `status.error` whole. Never branches on why `stopSignal`
28
28
  * aborted, never writes a phase or a terminal copy, never imports
29
29
  * `@temporalio/*` (`__tests__/adapter-is-temporal-free.test.ts`).
30
30
  *
@@ -33,9 +33,9 @@
33
33
  * are connected and closed per turn. Both are closed on EVERY exit path in
34
34
  * the `finally`, before the runtime removes the link and releases the lock.
35
35
  *
36
- * Extracted from `index.ts` `createDeepAgentActivities` at S3 M2a; the
36
+ * Extracted from `index.ts` `createDeepAgentActivities` in #1096; the
37
37
  * hermetic goldens under `__tests__/hermetic/` pin the result byte for
38
- * byte, with the ruled alignments quoted in their headers.
38
+ * byte, with that move's deliberate alignments quoted in their headers.
39
39
  */
40
40
  import type { TurnInput, TurnOutcome, TurnSink } from "../../harness/types.js";
41
41
  import { type DeepAgentAdapterConfig } from "./turn-setup.js";
@@ -24,7 +24,7 @@
24
24
  * other exception — a provider error unwrapped from LangChain's middleware
25
25
  * wrapper, an MCP connect failure, an empty stream — is `failed` on the
26
26
  * `internal` surface with `describeExecutionError`'s sentence as
27
- * `status.error` whole (Q-M2a-9). Never branches on why `stopSignal`
27
+ * `status.error` whole. Never branches on why `stopSignal`
28
28
  * aborted, never writes a phase or a terminal copy, never imports
29
29
  * `@temporalio/*` (`__tests__/adapter-is-temporal-free.test.ts`).
30
30
  *
@@ -33,9 +33,9 @@
33
33
  * are connected and closed per turn. Both are closed on EVERY exit path in
34
34
  * the `finally`, before the runtime removes the link and releases the lock.
35
35
  *
36
- * Extracted from `index.ts` `createDeepAgentActivities` at S3 M2a; the
36
+ * Extracted from `index.ts` `createDeepAgentActivities` in #1096; the
37
37
  * hermetic goldens under `__tests__/hermetic/` pin the result byte for
38
- * byte, with the ruled alignments quoted in their headers.
38
+ * byte, with that move's deliberate alignments quoted in their headers.
39
39
  */
40
40
  import { tryInferProvider } from "../../shared/llm-proxy.js";
41
41
  import { describeExecutionError } from "../../shared/model-error.js";
@@ -23,12 +23,24 @@
23
23
  * here degrades to a heuristic title (the first words of the user message):
24
24
  * a title is worth having even when no model is reachable.
25
25
  *
26
- * Activity contract (the Go stub dispatches exactly ONE argument — the cloud
27
- * Java signature carries a second, invokerIdentityAccountId, that never
28
- * crosses this wire):
26
+ * Activity contract — exactly ONE argument, in one of two shapes:
29
27
  * Name: "GenerateSessionSubject"
30
28
  * Input: (executionId: string)
29
+ * | ({ execution_id, execution_context_token? }: GenerateSessionSubjectInput)
31
30
  * Output: void
31
+ *
32
+ * The object is what a server sends when the dispatch carries the run's
33
+ * credential (shared/run-credential.ts), so that this activity reads the
34
+ * run and titles the session AS THE RUN'S HUMAN — with sign-in on, the
35
+ * operator's key the process holds cannot read a member's run. The string
36
+ * is what every server sent before, and what a server whose dispatch carries
37
+ * no credential still sends (the cloud's, whose desktop runners in the field
38
+ * must keep titling sessions). Both shapes are accepted — the dual-shape
39
+ * posture the turn activities take (shared/activity-input.ts); the
40
+ * credential itself is entered by the activity boundary
41
+ * (interceptors/run-credential-activity.ts), never read here. The cloud's
42
+ * Java signature carries a second argument, invokerIdentityAccountId, that
43
+ * never crosses this wire.
32
44
  */
33
45
  import type { Config } from "../config.js";
34
46
  import type { AgentExecution } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/api_pb";
@@ -75,6 +87,15 @@ export declare function heuristicSubject(userMessage: string): string;
75
87
  * lockstep with the cloud activity.
76
88
  */
77
89
  export declare function cleanSubject(raw: string): string;
90
+ /**
91
+ * The typed wire shape of the activity's argument (snake_case keys, the
92
+ * polyglot workflow-input convention). `execution_context_token` is the run
93
+ * credential, present exactly when the dispatch carried one.
94
+ */
95
+ export interface GenerateSessionSubjectInput {
96
+ readonly execution_id: string;
97
+ readonly execution_context_token?: string;
98
+ }
78
99
  export declare function createGenerateSessionSubjectActivities(config: Config): {
79
- GenerateSessionSubject: (executionId: string) => Promise<void>;
100
+ GenerateSessionSubject: (input: GenerateSessionSubjectInput | string) => Promise<void>;
80
101
  };
@@ -23,12 +23,24 @@
23
23
  * here degrades to a heuristic title (the first words of the user message):
24
24
  * a title is worth having even when no model is reachable.
25
25
  *
26
- * Activity contract (the Go stub dispatches exactly ONE argument — the cloud
27
- * Java signature carries a second, invokerIdentityAccountId, that never
28
- * crosses this wire):
26
+ * Activity contract — exactly ONE argument, in one of two shapes:
29
27
  * Name: "GenerateSessionSubject"
30
28
  * Input: (executionId: string)
29
+ * | ({ execution_id, execution_context_token? }: GenerateSessionSubjectInput)
31
30
  * Output: void
31
+ *
32
+ * The object is what a server sends when the dispatch carries the run's
33
+ * credential (shared/run-credential.ts), so that this activity reads the
34
+ * run and titles the session AS THE RUN'S HUMAN — with sign-in on, the
35
+ * operator's key the process holds cannot read a member's run. The string
36
+ * is what every server sent before, and what a server whose dispatch carries
37
+ * no credential still sends (the cloud's, whose desktop runners in the field
38
+ * must keep titling sessions). Both shapes are accepted — the dual-shape
39
+ * posture the turn activities take (shared/activity-input.ts); the
40
+ * credential itself is entered by the activity boundary
41
+ * (interceptors/run-credential-activity.ts), never read here. The cloud's
42
+ * Java signature carries a second argument, invokerIdentityAccountId, that
43
+ * never crosses this wire.
32
44
  */
33
45
  import { SystemMessage, HumanMessage } from "@langchain/core/messages";
34
46
  import { ConnectError, Code } from "@connectrpc/connect";
@@ -253,9 +265,6 @@ function message(err) {
253
265
  function log(msg) {
254
266
  console.log(`[GenerateSessionSubject] ${msg}`);
255
267
  }
256
- // ─────────────────────────────────────────────────────────────────────────────
257
- // Temporal Activity Factory
258
- // ─────────────────────────────────────────────────────────────────────────────
259
268
  export function createGenerateSessionSubjectActivities(config) {
260
269
  const client = new StigmerClient({
261
270
  endpoint: config.stigmerBackendEndpoint,
@@ -264,7 +273,8 @@ export function createGenerateSessionSubjectActivities(config) {
264
273
  runnerTokenRef: config.stigmerRunnerTokenRef,
265
274
  });
266
275
  return {
267
- GenerateSessionSubject: async (executionId) => {
276
+ GenerateSessionSubject: async (input) => {
277
+ const executionId = typeof input === "string" ? input : input.execution_id;
268
278
  activityStarted();
269
279
  try {
270
280
  log(`started: execution=${executionId}`);
@@ -1 +1 @@
1
- {"version":3,"file":"generate-session-subject.js","sourceRoot":"","sources":["../../src/activities/generate-session-subject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-session-subject.js","sourceRoot":"","sources":["../../src/activities/generate-session-subject.ts"],"names":[],"mappings":"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"}
@@ -178,11 +178,16 @@ export declare class StigmerClient {
178
178
  * The call authenticates with the runner credential (see the interceptor).
179
179
  * Cloud verifies it is an embedded_runner token and that its identity can
180
180
  * view the named execution, then mints the same session/execution-scoped
181
- * sandbox token a cloud sandbox runner receives at provisioning. OSS mints
182
- * an execution-scoped token for any caller (oss#535 — a lane discriminator
183
- * on a single-user server, not a trust boundary). Returns undefined when
184
- * the server does not mint (pre-oss#535 OSS, or an unserved scope arm) —
185
- * presence-based, like the bootstrap token fields.
181
+ * sandbox token a cloud sandbox runner receives at provisioning. An
182
+ * open-source server with sign-in off mints an execution-scoped token for
183
+ * any caller (oss#535 — there it only unlocks the ExecutionContext decrypt
184
+ * lane); with sign-in on the same token admits its bearer as the run's
185
+ * human, so the exchange mints only for the run's own person (a missing
186
+ * run NOT_FOUND, anyone else PERMISSION_DENIED). Runs normally receive
187
+ * their credential from the dispatch itself (shared/run-credential.ts);
188
+ * this exchange is the fallback. Returns undefined when the server does
189
+ * not mint (pre-oss#535 OSS, or an unserved scope arm) — presence-based,
190
+ * like the bootstrap token fields.
186
191
  *
187
192
  * `callerToken` authenticates the exchange per-call instead of the
188
193
  * process-wide runner credential. The warm-pool attach uses it: a pool
@@ -194,7 +199,13 @@ export declare class StigmerClient {
194
199
  * Acquire a scoped runner token for an ExecutionContext read, if this
195
200
  * runner's credential situation calls for one.
196
201
  *
197
- * The gate is the credential itself, three ways:
202
+ * When the activity this call belongs to carries a run credential (the
203
+ * server minted it for this very execution at dispatch —
204
+ * shared/run-credential.ts), that IS the scoped token: it is answered
205
+ * without an RPC, and the exchange below serves only a dispatch that
206
+ * carried none — an older server, or the cloud's provisioned runner.
207
+ *
208
+ * Otherwise the gate is the credential itself, three ways:
198
209
  *
199
210
  * 1. An unscoped embedded_runner bootstrap token MUST be exchanged, and a
200
211
  * failed exchange is a hard error, not a fallback: since the #156