visionclaw 0.1.219-beta.0 → 0.1.219-dev.codex-issue-2805-worker-runtime.1

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 (520) hide show
  1. package/dist/agent/api-proxy.d.ts +0 -16
  2. package/dist/agent/api-proxy.d.ts.map +1 -1
  3. package/dist/agent/api-proxy.js +9 -8
  4. package/dist/agent/api-proxy.js.map +1 -1
  5. package/dist/agent/browser-launcher.d.ts +3 -0
  6. package/dist/agent/browser-launcher.d.ts.map +1 -1
  7. package/dist/agent/browser-launcher.js +101 -43
  8. package/dist/agent/browser-launcher.js.map +1 -1
  9. package/dist/agent/coding-conventions.d.ts +8 -0
  10. package/dist/agent/coding-conventions.d.ts.map +1 -0
  11. package/dist/agent/coding-conventions.js +19 -0
  12. package/dist/agent/coding-conventions.js.map +1 -0
  13. package/dist/agent/command-handlers.d.ts.map +1 -1
  14. package/dist/agent/command-handlers.js +4 -16
  15. package/dist/agent/command-handlers.js.map +1 -1
  16. package/dist/agent/context-action-restart-fallback.d.ts.map +1 -1
  17. package/dist/agent/context-action-restart-fallback.js +9 -3
  18. package/dist/agent/context-action-restart-fallback.js.map +1 -1
  19. package/dist/agent/context-refresh.d.ts.map +1 -1
  20. package/dist/agent/context-refresh.js +0 -7
  21. package/dist/agent/context-refresh.js.map +1 -1
  22. package/dist/agent/context.d.ts +2 -4
  23. package/dist/agent/context.d.ts.map +1 -1
  24. package/dist/agent/context.js +12 -21
  25. package/dist/agent/context.js.map +1 -1
  26. package/dist/agent/engine-fallback.d.ts +0 -35
  27. package/dist/agent/engine-fallback.d.ts.map +1 -1
  28. package/dist/agent/engine-fallback.js +4 -3
  29. package/dist/agent/engine-fallback.js.map +1 -1
  30. package/dist/agent/engine-switch.d.ts +19 -38
  31. package/dist/agent/engine-switch.d.ts.map +1 -1
  32. package/dist/agent/engine-switch.js +46 -111
  33. package/dist/agent/engine-switch.js.map +1 -1
  34. package/dist/agent/engines/browser-tool-policy.d.ts +12 -1
  35. package/dist/agent/engines/browser-tool-policy.d.ts.map +1 -1
  36. package/dist/agent/engines/browser-tool-policy.js +17 -2
  37. package/dist/agent/engines/browser-tool-policy.js.map +1 -1
  38. package/dist/agent/engines/claude/executor-shell-groups.d.ts +11 -0
  39. package/dist/agent/engines/claude/executor-shell-groups.d.ts.map +1 -0
  40. package/dist/agent/engines/claude/executor-shell-groups.js +22 -0
  41. package/dist/agent/engines/claude/executor-shell-groups.js.map +1 -0
  42. package/dist/agent/engines/claude/session.d.ts +13 -4
  43. package/dist/agent/engines/claude/session.d.ts.map +1 -1
  44. package/dist/agent/engines/claude/session.js +165 -84
  45. package/dist/agent/engines/claude/session.js.map +1 -1
  46. package/dist/agent/engines/pi/shared/usage.d.ts +6 -8
  47. package/dist/agent/engines/pi/shared/usage.d.ts.map +1 -1
  48. package/dist/agent/engines/pi/shared/usage.js +24 -7
  49. package/dist/agent/engines/pi/shared/usage.js.map +1 -1
  50. package/dist/agent/engines/pi/tools.d.ts +3 -10
  51. package/dist/agent/engines/pi/tools.d.ts.map +1 -1
  52. package/dist/agent/engines/pi/tools.js +6 -20
  53. package/dist/agent/engines/pi/tools.js.map +1 -1
  54. package/dist/agent/engines/pi-coding/executor-shell.d.ts +4 -0
  55. package/dist/agent/engines/pi-coding/executor-shell.d.ts.map +1 -0
  56. package/dist/agent/engines/pi-coding/executor-shell.js +175 -0
  57. package/dist/agent/engines/pi-coding/executor-shell.js.map +1 -0
  58. package/dist/agent/engines/pi-coding/session.d.ts +4 -4
  59. package/dist/agent/engines/pi-coding/session.d.ts.map +1 -1
  60. package/dist/agent/engines/pi-coding/session.js +118 -66
  61. package/dist/agent/engines/pi-coding/session.js.map +1 -1
  62. package/dist/agent/engines/pi-coding/tools.d.ts +2 -5
  63. package/dist/agent/engines/pi-coding/tools.d.ts.map +1 -1
  64. package/dist/agent/engines/pi-coding/tools.js +7 -5
  65. package/dist/agent/engines/pi-coding/tools.js.map +1 -1
  66. package/dist/agent/engines/session-types.d.ts +8 -8
  67. package/dist/agent/engines/session-types.d.ts.map +1 -1
  68. package/dist/agent/external-context/interrupt.d.ts +0 -2
  69. package/dist/agent/external-context/interrupt.d.ts.map +1 -1
  70. package/dist/agent/external-context/interrupt.js +0 -1
  71. package/dist/agent/external-context/interrupt.js.map +1 -1
  72. package/dist/agent/external-context/registry.d.ts +0 -2
  73. package/dist/agent/external-context/registry.d.ts.map +1 -1
  74. package/dist/agent/external-context/registry.js +2 -4
  75. package/dist/agent/external-context/registry.js.map +1 -1
  76. package/dist/agent/external-context/runtime.d.ts.map +1 -1
  77. package/dist/agent/external-context/runtime.js +15 -14
  78. package/dist/agent/external-context/runtime.js.map +1 -1
  79. package/dist/agent/external-context/types.d.ts +0 -2
  80. package/dist/agent/external-context/types.d.ts.map +1 -1
  81. package/dist/agent/fast-responder.d.ts +4 -20
  82. package/dist/agent/fast-responder.d.ts.map +1 -1
  83. package/dist/agent/fast-responder.js +28 -42
  84. package/dist/agent/fast-responder.js.map +1 -1
  85. package/dist/agent/interrupt-handler.d.ts +0 -6
  86. package/dist/agent/interrupt-handler.d.ts.map +1 -1
  87. package/dist/agent/interrupt-handler.js +5 -47
  88. package/dist/agent/interrupt-handler.js.map +1 -1
  89. package/dist/agent/lab-run-system-prompt.d.ts.map +1 -1
  90. package/dist/agent/lab-run-system-prompt.js +4 -1
  91. package/dist/agent/lab-run-system-prompt.js.map +1 -1
  92. package/dist/agent/lifecycle-trace.d.ts.map +1 -1
  93. package/dist/agent/lifecycle-trace.js +6 -5
  94. package/dist/agent/lifecycle-trace.js.map +1 -1
  95. package/dist/agent/loop.d.ts +8 -2
  96. package/dist/agent/loop.d.ts.map +1 -1
  97. package/dist/agent/loop.js +287 -156
  98. package/dist/agent/loop.js.map +1 -1
  99. package/dist/agent/memory-protocol.d.ts +2 -2
  100. package/dist/agent/memory-protocol.d.ts.map +1 -1
  101. package/dist/agent/memory-protocol.js +3 -15
  102. package/dist/agent/memory-protocol.js.map +1 -1
  103. package/dist/agent/memory-store.d.ts +58 -0
  104. package/dist/agent/memory-store.d.ts.map +1 -0
  105. package/dist/agent/memory-store.js +152 -0
  106. package/dist/agent/memory-store.js.map +1 -0
  107. package/dist/agent/model-provider.d.ts +18 -5
  108. package/dist/agent/model-provider.d.ts.map +1 -1
  109. package/dist/agent/model-provider.js +58 -18
  110. package/dist/agent/model-provider.js.map +1 -1
  111. package/dist/agent/nightly-maintenance/dreaming-batch.d.ts +184 -0
  112. package/dist/agent/nightly-maintenance/dreaming-batch.d.ts.map +1 -0
  113. package/dist/agent/nightly-maintenance/dreaming-batch.js +192 -0
  114. package/dist/agent/nightly-maintenance/dreaming-batch.js.map +1 -0
  115. package/dist/agent/nightly-maintenance/dreaming-files.d.ts +48 -0
  116. package/dist/agent/nightly-maintenance/dreaming-files.d.ts.map +1 -0
  117. package/dist/agent/nightly-maintenance/dreaming-files.js +109 -0
  118. package/dist/agent/nightly-maintenance/dreaming-files.js.map +1 -0
  119. package/dist/agent/nightly-maintenance/dreaming-ledger.d.ts +62 -0
  120. package/dist/agent/nightly-maintenance/dreaming-ledger.d.ts.map +1 -0
  121. package/dist/agent/nightly-maintenance/dreaming-ledger.js +146 -0
  122. package/dist/agent/nightly-maintenance/dreaming-ledger.js.map +1 -0
  123. package/dist/agent/nightly-maintenance/dreaming-planner.d.ts +86 -0
  124. package/dist/agent/nightly-maintenance/dreaming-planner.d.ts.map +1 -0
  125. package/dist/agent/nightly-maintenance/dreaming-planner.js +304 -0
  126. package/dist/agent/nightly-maintenance/dreaming-planner.js.map +1 -0
  127. package/dist/agent/nightly-maintenance/dreaming-runner.d.ts +93 -0
  128. package/dist/agent/nightly-maintenance/dreaming-runner.d.ts.map +1 -0
  129. package/dist/agent/nightly-maintenance/dreaming-runner.js +156 -0
  130. package/dist/agent/nightly-maintenance/dreaming-runner.js.map +1 -0
  131. package/dist/agent/nightly-maintenance/dreaming-sources.d.ts +115 -0
  132. package/dist/agent/nightly-maintenance/dreaming-sources.d.ts.map +1 -0
  133. package/dist/agent/nightly-maintenance/dreaming-sources.js +270 -0
  134. package/dist/agent/nightly-maintenance/dreaming-sources.js.map +1 -0
  135. package/dist/agent/nightly-maintenance/index.d.ts +28 -8
  136. package/dist/agent/nightly-maintenance/index.d.ts.map +1 -1
  137. package/dist/agent/nightly-maintenance/index.js +42 -15
  138. package/dist/agent/nightly-maintenance/index.js.map +1 -1
  139. package/dist/agent/nightly-maintenance/skill-learning-gate.js +1 -1
  140. package/dist/agent/nightly-maintenance/skill-learning-gate.js.map +1 -1
  141. package/dist/agent/nightly-maintenance/vocabulary-processor.d.ts +1 -1
  142. package/dist/agent/nightly-maintenance/vocabulary-processor.d.ts.map +1 -1
  143. package/dist/agent/product-identity.d.ts +5 -4
  144. package/dist/agent/product-identity.d.ts.map +1 -1
  145. package/dist/agent/product-identity.js +7 -6
  146. package/dist/agent/product-identity.js.map +1 -1
  147. package/dist/agent/public-activity.js +1 -1
  148. package/dist/agent/public-activity.js.map +1 -1
  149. package/dist/agent/runtime-context.d.ts +27 -0
  150. package/dist/agent/runtime-context.d.ts.map +1 -0
  151. package/dist/agent/runtime-context.js +60 -0
  152. package/dist/agent/runtime-context.js.map +1 -0
  153. package/dist/agent/runtime-disclosure-policy.d.ts +6 -0
  154. package/dist/agent/runtime-disclosure-policy.d.ts.map +1 -0
  155. package/dist/agent/runtime-disclosure-policy.js +16 -0
  156. package/dist/agent/runtime-disclosure-policy.js.map +1 -0
  157. package/dist/agent/runtime-surface.d.ts +15 -4
  158. package/dist/agent/runtime-surface.d.ts.map +1 -1
  159. package/dist/agent/runtime-surface.js +0 -1
  160. package/dist/agent/runtime-surface.js.map +1 -1
  161. package/dist/agent/session-manager.d.ts +30 -126
  162. package/dist/agent/session-manager.d.ts.map +1 -1
  163. package/dist/agent/session-manager.js +60 -484
  164. package/dist/agent/session-manager.js.map +1 -1
  165. package/dist/agent/state.d.ts +42 -2
  166. package/dist/agent/state.d.ts.map +1 -1
  167. package/dist/agent/state.js +21 -11
  168. package/dist/agent/state.js.map +1 -1
  169. package/dist/agent/stream-handler.d.ts +6 -13
  170. package/dist/agent/stream-handler.d.ts.map +1 -1
  171. package/dist/agent/stream-handler.js +8 -62
  172. package/dist/agent/stream-handler.js.map +1 -1
  173. package/dist/agent/system-prompt.d.ts +2 -0
  174. package/dist/agent/system-prompt.d.ts.map +1 -1
  175. package/dist/agent/system-prompt.js +21 -20
  176. package/dist/agent/system-prompt.js.map +1 -1
  177. package/dist/agent/tool-usage.d.ts.map +1 -1
  178. package/dist/agent/tool-usage.js +0 -1
  179. package/dist/agent/tool-usage.js.map +1 -1
  180. package/dist/agent/transcript/transcript-backfill.js +3 -3
  181. package/dist/agent/transcript/transcript-backfill.js.map +1 -1
  182. package/dist/agent/transcript/transcript-indexer.d.ts +3 -31
  183. package/dist/agent/transcript/transcript-indexer.d.ts.map +1 -1
  184. package/dist/agent/transcript/transcript-indexer.js +58 -57
  185. package/dist/agent/transcript/transcript-indexer.js.map +1 -1
  186. package/dist/agent/transcript-parsers/trivial-tools.d.ts.map +1 -1
  187. package/dist/agent/transcript-parsers/trivial-tools.js +0 -2
  188. package/dist/agent/transcript-parsers/trivial-tools.js.map +1 -1
  189. package/dist/agent/transcript-parsers/types.d.ts +1 -1
  190. package/dist/agent/transcript-summarizer.d.ts +14 -0
  191. package/dist/agent/transcript-summarizer.d.ts.map +1 -1
  192. package/dist/agent/transcript-summarizer.js +69 -45
  193. package/dist/agent/transcript-summarizer.js.map +1 -1
  194. package/dist/agent/usage/usage-report-queue.d.ts.map +1 -1
  195. package/dist/agent/usage/usage-report-queue.js +53 -52
  196. package/dist/agent/usage/usage-report-queue.js.map +1 -1
  197. package/dist/agent/usage/usage-report-types.d.ts +1 -1
  198. package/dist/agent/usage/usage-report-types.d.ts.map +1 -1
  199. package/dist/agent/vocabulary-glossary.d.ts +3 -3
  200. package/dist/agent/wake-cycle-runner.d.ts +14 -17
  201. package/dist/agent/wake-cycle-runner.d.ts.map +1 -1
  202. package/dist/agent/wake-cycle-runner.js +121 -290
  203. package/dist/agent/wake-cycle-runner.js.map +1 -1
  204. package/dist/builtin-skills/owner-manual/SKILL.md +2 -2
  205. package/dist/calendar/occurrence-ownership.d.ts.map +1 -1
  206. package/dist/calendar/occurrence-ownership.js +6 -5
  207. package/dist/calendar/occurrence-ownership.js.map +1 -1
  208. package/dist/calendar/scheduler.d.ts.map +1 -1
  209. package/dist/calendar/scheduler.js +4 -3
  210. package/dist/calendar/scheduler.js.map +1 -1
  211. package/dist/channels/interface.d.ts +8 -2
  212. package/dist/channels/interface.d.ts.map +1 -1
  213. package/dist/channels/interface.js +8 -1
  214. package/dist/channels/interface.js.map +1 -1
  215. package/dist/channels/manager.d.ts.map +1 -1
  216. package/dist/channels/manager.js +5 -1
  217. package/dist/channels/manager.js.map +1 -1
  218. package/dist/channels/queue.d.ts.map +1 -1
  219. package/dist/channels/queue.js +8 -0
  220. package/dist/channels/queue.js.map +1 -1
  221. package/dist/channels/tui.d.ts +14 -1
  222. package/dist/channels/tui.d.ts.map +1 -1
  223. package/dist/channels/tui.js +64 -2
  224. package/dist/channels/tui.js.map +1 -1
  225. package/dist/cli/index.d.ts +2 -2
  226. package/dist/cli/index.d.ts.map +1 -1
  227. package/dist/cli/index.js +22 -53
  228. package/dist/cli/index.js.map +1 -1
  229. package/dist/config/index.d.ts +13 -7
  230. package/dist/config/index.d.ts.map +1 -1
  231. package/dist/config/index.js +51 -64
  232. package/dist/config/index.js.map +1 -1
  233. package/dist/config/types.d.ts +28 -7
  234. package/dist/config/types.d.ts.map +1 -1
  235. package/dist/config/types.js +22 -20
  236. package/dist/config/types.js.map +1 -1
  237. package/dist/conversations/lazy-runtime.d.ts +5 -0
  238. package/dist/conversations/lazy-runtime.d.ts.map +1 -0
  239. package/dist/conversations/lazy-runtime.js +12 -0
  240. package/dist/conversations/lazy-runtime.js.map +1 -0
  241. package/dist/conversations/runtime.d.ts +17 -0
  242. package/dist/conversations/runtime.d.ts.map +1 -0
  243. package/dist/conversations/runtime.js +92 -0
  244. package/dist/conversations/runtime.js.map +1 -0
  245. package/dist/conversations/scheduler.d.ts +57 -0
  246. package/dist/conversations/scheduler.d.ts.map +1 -0
  247. package/dist/conversations/scheduler.js +175 -0
  248. package/dist/conversations/scheduler.js.map +1 -0
  249. package/dist/data-processing/pipeline.d.ts +0 -2
  250. package/dist/data-processing/pipeline.d.ts.map +1 -1
  251. package/dist/data-processing/pipeline.js +19 -24
  252. package/dist/data-processing/pipeline.js.map +1 -1
  253. package/dist/data-processing/restructure.d.ts +0 -2
  254. package/dist/data-processing/restructure.d.ts.map +1 -1
  255. package/dist/data-processing/restructure.js +6 -9
  256. package/dist/data-processing/restructure.js.map +1 -1
  257. package/dist/data-processing/types.d.ts +2 -9
  258. package/dist/data-processing/types.d.ts.map +1 -1
  259. package/dist/data-processing/types.js +2 -13
  260. package/dist/data-processing/types.js.map +1 -1
  261. package/dist/email/email-route-store.d.ts.map +1 -1
  262. package/dist/email/email-route-store.js +6 -5
  263. package/dist/email/email-route-store.js.map +1 -1
  264. package/dist/i18n/messages.d.ts +26 -2
  265. package/dist/i18n/messages.d.ts.map +1 -1
  266. package/dist/i18n/messages.js +30 -5
  267. package/dist/i18n/messages.js.map +1 -1
  268. package/dist/index.js.map +1 -1
  269. package/dist/logger.d.ts +11 -0
  270. package/dist/logger.d.ts.map +1 -1
  271. package/dist/logger.js +49 -1
  272. package/dist/logger.js.map +1 -1
  273. package/dist/obs/mini-app/status.d.ts.map +1 -1
  274. package/dist/obs/mini-app/status.js +0 -1
  275. package/dist/obs/mini-app/status.js.map +1 -1
  276. package/dist/onboarding/onboarding-service-client.d.ts +1 -0
  277. package/dist/onboarding/onboarding-service-client.d.ts.map +1 -1
  278. package/dist/onboarding/onboarding-service-client.js.map +1 -1
  279. package/dist/onboarding/remote-set-owner.d.ts.map +1 -1
  280. package/dist/onboarding/remote-set-owner.js +0 -1
  281. package/dist/onboarding/remote-set-owner.js.map +1 -1
  282. package/dist/onboarding/set-owner.d.ts +1 -1
  283. package/dist/onboarding/set-owner.d.ts.map +1 -1
  284. package/dist/onboarding/set-owner.js +3 -6
  285. package/dist/onboarding/set-owner.js.map +1 -1
  286. package/dist/reconfigure.d.ts.map +1 -1
  287. package/dist/reconfigure.js +1 -32
  288. package/dist/reconfigure.js.map +1 -1
  289. package/dist/reset.d.ts.map +1 -1
  290. package/dist/reset.js +3 -1
  291. package/dist/reset.js.map +1 -1
  292. package/dist/threads/active-threads-store.d.ts.map +1 -1
  293. package/dist/threads/active-threads-store.js +8 -27
  294. package/dist/threads/active-threads-store.js.map +1 -1
  295. package/dist/threads/dreaming-execution.d.ts +10 -0
  296. package/dist/threads/dreaming-execution.d.ts.map +1 -0
  297. package/dist/threads/dreaming-execution.js +78 -0
  298. package/dist/threads/dreaming-execution.js.map +1 -0
  299. package/dist/threads/execution-authority.d.ts +43 -0
  300. package/dist/threads/execution-authority.d.ts.map +1 -0
  301. package/dist/threads/execution-authority.js +75 -0
  302. package/dist/threads/execution-authority.js.map +1 -0
  303. package/dist/threads/execution-budget.d.ts +107 -0
  304. package/dist/threads/execution-budget.d.ts.map +1 -0
  305. package/dist/threads/execution-budget.js +257 -0
  306. package/dist/threads/execution-budget.js.map +1 -0
  307. package/dist/threads/execution-host.d.ts +17 -0
  308. package/dist/threads/execution-host.d.ts.map +1 -0
  309. package/dist/threads/execution-host.js +66 -0
  310. package/dist/threads/execution-host.js.map +1 -0
  311. package/dist/threads/execution-scheduler.d.ts +162 -0
  312. package/dist/threads/execution-scheduler.d.ts.map +1 -0
  313. package/dist/threads/execution-scheduler.js +413 -0
  314. package/dist/threads/execution-scheduler.js.map +1 -0
  315. package/dist/threads/execution-snapshot.d.ts +91 -0
  316. package/dist/threads/execution-snapshot.d.ts.map +1 -0
  317. package/dist/threads/execution-snapshot.js +146 -0
  318. package/dist/threads/execution-snapshot.js.map +1 -0
  319. package/dist/threads/execution-store.d.ts +374 -0
  320. package/dist/threads/execution-store.d.ts.map +1 -0
  321. package/dist/threads/execution-store.js +910 -0
  322. package/dist/threads/execution-store.js.map +1 -0
  323. package/dist/threads/execution-thread-error.d.ts +9 -0
  324. package/dist/threads/execution-thread-error.d.ts.map +1 -0
  325. package/dist/threads/execution-thread-error.js +12 -0
  326. package/dist/threads/execution-thread-error.js.map +1 -0
  327. package/dist/threads/executor-exit.d.ts +18 -0
  328. package/dist/threads/executor-exit.d.ts.map +1 -0
  329. package/dist/threads/executor-exit.js +21 -0
  330. package/dist/threads/executor-exit.js.map +1 -0
  331. package/dist/threads/foreground-task.d.ts +91 -0
  332. package/dist/threads/foreground-task.d.ts.map +1 -0
  333. package/dist/threads/foreground-task.js +191 -0
  334. package/dist/threads/foreground-task.js.map +1 -0
  335. package/dist/threads/foreman-business.d.ts +9 -0
  336. package/dist/threads/foreman-business.d.ts.map +1 -0
  337. package/dist/threads/foreman-business.js +117 -0
  338. package/dist/threads/foreman-business.js.map +1 -0
  339. package/dist/threads/foreman-client.d.ts +18 -0
  340. package/dist/threads/foreman-client.d.ts.map +1 -0
  341. package/dist/threads/foreman-client.js +51 -0
  342. package/dist/threads/foreman-client.js.map +1 -0
  343. package/dist/threads/foreman-delivery.d.ts +5 -0
  344. package/dist/threads/foreman-delivery.d.ts.map +1 -0
  345. package/dist/threads/foreman-delivery.js +21 -0
  346. package/dist/threads/foreman-delivery.js.map +1 -0
  347. package/dist/threads/foreman-execution.d.ts +32 -0
  348. package/dist/threads/foreman-execution.d.ts.map +1 -0
  349. package/dist/threads/foreman-execution.js +90 -0
  350. package/dist/threads/foreman-execution.js.map +1 -0
  351. package/dist/threads/foreman-host.d.ts +77 -0
  352. package/dist/threads/foreman-host.d.ts.map +1 -0
  353. package/dist/threads/foreman-host.js +891 -0
  354. package/dist/threads/foreman-host.js.map +1 -0
  355. package/dist/threads/foreman-protocol.d.ts +242 -0
  356. package/dist/threads/foreman-protocol.d.ts.map +1 -0
  357. package/dist/threads/foreman-protocol.js +116 -0
  358. package/dist/threads/foreman-protocol.js.map +1 -0
  359. package/dist/threads/foreman-store.d.ts +151 -0
  360. package/dist/threads/foreman-store.d.ts.map +1 -0
  361. package/dist/threads/foreman-store.js +299 -0
  362. package/dist/threads/foreman-store.js.map +1 -0
  363. package/dist/threads/generic-execution.d.ts +25 -0
  364. package/dist/threads/generic-execution.d.ts.map +1 -0
  365. package/dist/threads/generic-execution.js +86 -0
  366. package/dist/threads/generic-execution.js.map +1 -0
  367. package/dist/threads/init-thread-dir.d.ts +2 -2
  368. package/dist/threads/init-thread-dir.d.ts.map +1 -1
  369. package/dist/threads/init-thread-dir.js +6 -6
  370. package/dist/threads/init-thread-dir.js.map +1 -1
  371. package/dist/threads/ipc.d.ts +108 -2
  372. package/dist/threads/ipc.d.ts.map +1 -1
  373. package/dist/threads/ipc.js +14 -2
  374. package/dist/threads/ipc.js.map +1 -1
  375. package/dist/threads/lab-run-thread.d.ts +3 -5
  376. package/dist/threads/lab-run-thread.d.ts.map +1 -1
  377. package/dist/threads/lab-run-thread.js +3 -5
  378. package/dist/threads/lab-run-thread.js.map +1 -1
  379. package/dist/threads/lab-runtime-policy.d.ts +26 -21
  380. package/dist/threads/lab-runtime-policy.d.ts.map +1 -1
  381. package/dist/threads/lab-runtime-policy.js +31 -126
  382. package/dist/threads/lab-runtime-policy.js.map +1 -1
  383. package/dist/threads/process-group.d.ts +41 -0
  384. package/dist/threads/process-group.d.ts.map +1 -0
  385. package/dist/threads/process-group.js +161 -0
  386. package/dist/threads/process-group.js.map +1 -0
  387. package/dist/threads/relay-adapter.d.ts +8 -0
  388. package/dist/threads/relay-adapter.d.ts.map +1 -1
  389. package/dist/threads/relay-adapter.js +26 -1
  390. package/dist/threads/relay-adapter.js.map +1 -1
  391. package/dist/threads/supervisor.d.ts +191 -57
  392. package/dist/threads/supervisor.d.ts.map +1 -1
  393. package/dist/threads/supervisor.js +766 -427
  394. package/dist/threads/supervisor.js.map +1 -1
  395. package/dist/threads/task-workspace.d.ts +8 -0
  396. package/dist/threads/task-workspace.d.ts.map +1 -0
  397. package/dist/threads/task-workspace.js +52 -0
  398. package/dist/threads/task-workspace.js.map +1 -0
  399. package/dist/threads/worker-entry.d.ts.map +1 -1
  400. package/dist/threads/worker-entry.js +314 -34
  401. package/dist/threads/worker-entry.js.map +1 -1
  402. package/dist/threads/worker-execution-runtime.d.ts +75 -0
  403. package/dist/threads/worker-execution-runtime.d.ts.map +1 -0
  404. package/dist/threads/worker-execution-runtime.js +142 -0
  405. package/dist/threads/worker-execution-runtime.js.map +1 -0
  406. package/dist/threads/worker-execution.d.ts +35 -0
  407. package/dist/threads/worker-execution.d.ts.map +1 -0
  408. package/dist/threads/worker-execution.js +2 -0
  409. package/dist/threads/worker-execution.js.map +1 -0
  410. package/dist/threads/worker-runtime-policy.d.ts +42 -0
  411. package/dist/threads/worker-runtime-policy.d.ts.map +1 -0
  412. package/dist/threads/worker-runtime-policy.js +98 -0
  413. package/dist/threads/worker-runtime-policy.js.map +1 -0
  414. package/dist/tools/adapter-tool.d.ts +12 -0
  415. package/dist/tools/adapter-tool.d.ts.map +1 -0
  416. package/dist/tools/adapter-tool.js +2 -0
  417. package/dist/tools/adapter-tool.js.map +1 -0
  418. package/dist/tools/data-service.d.ts +2 -2
  419. package/dist/tools/delegation.d.ts +121 -0
  420. package/dist/tools/delegation.d.ts.map +1 -0
  421. package/dist/tools/delegation.js +106 -0
  422. package/dist/tools/delegation.js.map +1 -0
  423. package/dist/tools/dream-memory.d.ts +122 -0
  424. package/dist/tools/dream-memory.d.ts.map +1 -0
  425. package/dist/tools/dream-memory.js +513 -0
  426. package/dist/tools/dream-memory.js.map +1 -0
  427. package/dist/tools/email.d.ts +1 -1
  428. package/dist/tools/execution-control.d.ts +31 -0
  429. package/dist/tools/execution-control.d.ts.map +1 -0
  430. package/dist/tools/execution-control.js +71 -0
  431. package/dist/tools/execution-control.js.map +1 -0
  432. package/dist/tools/index.d.ts +5 -7
  433. package/dist/tools/index.d.ts.map +1 -1
  434. package/dist/tools/index.js +7 -13
  435. package/dist/tools/index.js.map +1 -1
  436. package/dist/tools/mcp-manager.d.ts +1 -1
  437. package/dist/tools/memory.d.ts +1 -1
  438. package/dist/tools/memory.d.ts.map +1 -1
  439. package/dist/tools/memory.js +69 -45
  440. package/dist/tools/memory.js.map +1 -1
  441. package/dist/tools/notify.d.ts +5 -0
  442. package/dist/tools/notify.d.ts.map +1 -1
  443. package/dist/tools/notify.js +45 -10
  444. package/dist/tools/notify.js.map +1 -1
  445. package/dist/tools/skill.d.ts +1 -1
  446. package/dist/tools/totp.d.ts +1 -1
  447. package/dist/tui/client.d.ts +1 -16
  448. package/dist/tui/client.d.ts.map +1 -1
  449. package/dist/tui/client.js +0 -4
  450. package/dist/tui/client.js.map +1 -1
  451. package/dist/tui/index.d.ts.map +1 -1
  452. package/dist/tui/index.js +0 -41
  453. package/dist/tui/index.js.map +1 -1
  454. package/dist/tui/protocol.d.ts +2 -1
  455. package/dist/tui/protocol.d.ts.map +1 -1
  456. package/dist/tui/protocol.js +2 -1
  457. package/dist/tui/protocol.js.map +1 -1
  458. package/dist/tui/renderer.d.ts.map +1 -1
  459. package/dist/tui/renderer.js +0 -5
  460. package/dist/tui/renderer.js.map +1 -1
  461. package/dist/tui/request-store.d.ts +1 -1
  462. package/dist/tui/request-store.d.ts.map +1 -1
  463. package/dist/tui/request-store.js +2 -2
  464. package/dist/tui/request-store.js.map +1 -1
  465. package/dist/tui/server.d.ts.map +1 -1
  466. package/dist/tui/server.js +137 -25
  467. package/dist/tui/server.js.map +1 -1
  468. package/dist/utils/claude-transcripts.d.ts +6 -0
  469. package/dist/utils/claude-transcripts.d.ts.map +1 -1
  470. package/dist/utils/claude-transcripts.js +8 -2
  471. package/dist/utils/claude-transcripts.js.map +1 -1
  472. package/dist/utils/restart.d.ts.map +1 -1
  473. package/dist/utils/restart.js +6 -0
  474. package/dist/utils/restart.js.map +1 -1
  475. package/dist-agent/bundle.cjs +2 -2
  476. package/package.json +1 -1
  477. package/dist/agent/mailbox.d.ts +0 -50
  478. package/dist/agent/mailbox.d.ts.map +0 -1
  479. package/dist/agent/mailbox.js +0 -124
  480. package/dist/agent/mailbox.js.map +0 -1
  481. package/dist/agent/nightly-maintenance/memory-dreaming-sweep.d.ts +0 -77
  482. package/dist/agent/nightly-maintenance/memory-dreaming-sweep.d.ts.map +0 -1
  483. package/dist/agent/nightly-maintenance/memory-dreaming-sweep.js +0 -158
  484. package/dist/agent/nightly-maintenance/memory-dreaming-sweep.js.map +0 -1
  485. package/dist/agent/nightly-maintenance/memory-dreaming.d.ts +0 -116
  486. package/dist/agent/nightly-maintenance/memory-dreaming.d.ts.map +0 -1
  487. package/dist/agent/nightly-maintenance/memory-dreaming.js +0 -458
  488. package/dist/agent/nightly-maintenance/memory-dreaming.js.map +0 -1
  489. package/dist/threads/task-contracts.d.ts +0 -194
  490. package/dist/threads/task-contracts.d.ts.map +0 -1
  491. package/dist/threads/task-contracts.js +0 -82
  492. package/dist/threads/task-contracts.js.map +0 -1
  493. package/dist/threads/task-sidecar.d.ts +0 -145
  494. package/dist/threads/task-sidecar.d.ts.map +0 -1
  495. package/dist/threads/task-sidecar.js +0 -311
  496. package/dist/threads/task-sidecar.js.map +0 -1
  497. package/dist/threads/task-store.d.ts +0 -172
  498. package/dist/threads/task-store.d.ts.map +0 -1
  499. package/dist/threads/task-store.js +0 -599
  500. package/dist/threads/task-store.js.map +0 -1
  501. package/dist/threads/thread-task-context.d.ts +0 -40
  502. package/dist/threads/thread-task-context.d.ts.map +0 -1
  503. package/dist/threads/thread-task-context.js +0 -160
  504. package/dist/threads/thread-task-context.js.map +0 -1
  505. package/dist/threads/thread-task-controller.d.ts +0 -122
  506. package/dist/threads/thread-task-controller.d.ts.map +0 -1
  507. package/dist/threads/thread-task-controller.js +0 -276
  508. package/dist/threads/thread-task-controller.js.map +0 -1
  509. package/dist/threads/thread-task-runtime.d.ts +0 -354
  510. package/dist/threads/thread-task-runtime.d.ts.map +0 -1
  511. package/dist/threads/thread-task-runtime.js +0 -917
  512. package/dist/threads/thread-task-runtime.js.map +0 -1
  513. package/dist/tools/switch-session.d.ts +0 -15
  514. package/dist/tools/switch-session.d.ts.map +0 -1
  515. package/dist/tools/switch-session.js +0 -88
  516. package/dist/tools/switch-session.js.map +0 -1
  517. package/dist/tools/thread-tasks.d.ts +0 -23
  518. package/dist/tools/thread-tasks.d.ts.map +0 -1
  519. package/dist/tools/thread-tasks.js +0 -122
  520. package/dist/tools/thread-tasks.js.map +0 -1
@@ -13,25 +13,53 @@
13
13
  * NOTE: `setProfile()` and `logger.init()` are already called by the CLI
14
14
  * entry point (index.ts) before this function runs.
15
15
  */
16
- import { loadConfig, setWorkerThreadContext } from "../config/index.js";
16
+ import fs from "node:fs";
17
+ import path from "node:path";
18
+ import { getConfigDir, getMemoriesDir, loadConfig, setWorkerThreadContext } from "../config/index.js";
19
+ import { freezeModelRoute } from "../agent/model-provider.js";
20
+ import { EXECUTION_SNAPSHOT_ENV, verifyExecutionSnapshot } from "./execution-snapshot.js";
21
+ import { ExecutionBudgetMeter } from "./execution-budget.js";
22
+ import { readWorkerVerifyKeys } from "./execution-authority.js";
23
+ import { EXECUTOR_INTERRUPTED_EXIT_CODE, ExecutorRefusedError } from "./executor-exit.js";
24
+ import { GENERIC_ADAPTER_TOOLS, buildGenericExecutionMessage, buildGenericExecutionSystemPrompt, genericExecutionPolicy, isGenericExecutionThreadId, } from "./generic-execution.js";
25
+ import { EXECUTION_INPUT_SEQ_META_KEY, WorkerExecutionRuntime, executorExitCode, installWorkerExecutionRuntime, } from "./worker-execution-runtime.js";
26
+ import { FOREMAN_ADAPTER_TOOLS, buildForemanSystemPrompt, foremanExecutionPolicy } from "./foreman-execution.js";
27
+ import { IpcForemanClient } from "./foreman-client.js";
28
+ import { foremanBusinessTools } from "./foreman-business.js";
29
+ import { installForemanClient } from "./foreman-protocol.js";
30
+ import { buildDreamingExecutionMessage, buildDreamingSystemPrompt, DREAMING_ADAPTER_TOOLS, dreamingExecutionPolicy, } from "./dreaming-execution.js";
31
+ import { batchIdFromRefs, readDreamingBatch } from "../agent/nightly-maintenance/dreaming-batch.js";
32
+ import { dreamingStores } from "../agent/nightly-maintenance/dreaming-files.js";
33
+ import { DreamingMemorySession, installDreamingMemorySession } from "../tools/dream-memory.js";
34
+ import { resolveWorkspaceCwd } from "../agent/workspace-cwd.js";
17
35
  import { setBundleFinAppCredentials } from "../finapp-credentials.js";
18
36
  import { logger } from "../logger.js";
19
37
  import { runGracefulShutdown, getAgentState } from "../agent/state.js";
20
38
  import { startAgentLoop } from "../agent/loop.js";
39
+ import { buildLabRunSystemPrompt } from "../agent/lab-run-system-prompt.js";
21
40
  import { getAgentEngine } from "../agent/engines/engine-factory.js";
22
41
  import { RelayAdapter } from "./relay-adapter.js";
23
42
  import { initThreadDirectory } from "./init-thread-dir.js";
24
43
  import { setActiveThreadsSnapshot } from "./active-threads-store.js";
25
- import { ensureThreadApplication, readExistingThreadApplication, readWorkerThreadMeta, readThreadMeta } from "./thread-meta.js";
26
- import { LAB_RUNTIME_POLICY_ENV, applyLabRuntimePolicyToConfig, loadWorkerLabRuntimePolicy, verifyLabRuntimePolicyEnvelope, writeWorkerLabRuntimePolicy, } from "./lab-runtime-policy.js";
44
+ import { ensureThreadApplication, readExistingThreadApplication, readThreadMeta } from "./thread-meta.js";
45
+ import { LAB_RUNTIME_POLICY_ENV, LAB_ADAPTER_TOOLS, labRuntimePolicyToWorkerPolicy, verifyLabRuntimePolicyEnvelope, writeWorkerLabRuntimePolicy, } from "./lab-runtime-policy.js";
27
46
  import { isLabRunThreadId } from "./lab-run-thread.js";
28
47
  import { ensureLabWorkspace } from "./lab-workspace.js";
29
48
  import { buildLabRunExecutionMessage, failUnreportedLabRun, initializeLabRunRuntime, LabRunBootstrapError, } from "./lab-run-runtime.js";
30
49
  import { isMainToWorkerMessage, } from "./ipc.js";
31
50
  import { parseBrowserRuntimeResolution, parseDesktopRuntimeResolution, WORKER_BROWSER_RUNTIME_ENV, WORKER_DESKTOP_RUNTIME_ENV, } from "./worker-runtime-resolution.js";
32
51
  function sendToMain(msg) {
33
- if (process.send) {
34
- process.send(msg);
52
+ if (!process.send)
53
+ return;
54
+ // Shutdown reports (e.g. final usage) may race the host closing the channel.
55
+ try {
56
+ process.send(msg, (error) => {
57
+ if (error)
58
+ logger.debug(`Worker IPC send failed: ${error.message}`);
59
+ });
60
+ }
61
+ catch (error) {
62
+ logger.debug(`Worker IPC send failed: ${error instanceof Error ? error.message : String(error)}`);
35
63
  }
36
64
  }
37
65
  async function sendToMainSettled(msg) {
@@ -57,9 +85,13 @@ async function sendToMainSettled(msg) {
57
85
  */
58
86
  export async function startWorker(options) {
59
87
  const { threadId } = options;
60
- let config = loadConfig();
88
+ shutdownRequested = false;
89
+ const config = loadConfig();
61
90
  if (threadId === "default")
62
91
  throw new Error("The default context runs in the main daemon, not a worker.");
92
+ if (!isLabRunThreadId(threadId) && !isGenericExecutionThreadId(threadId)) {
93
+ throw new ExecutorRefusedError("Only admitted Tasks and LabRuns use worker processes");
94
+ }
63
95
  if (config.applicationEnforcement === "strict" && !options.app && !readThreadMeta(threadId, true)?.app) {
64
96
  throw new Error(`Worker ${threadId} requires --app or existing application metadata in strict mode.`);
65
97
  }
@@ -76,29 +108,132 @@ export async function startWorker(options) {
76
108
  // thread-local while shared profile resources remain shared.
77
109
  setWorkerThreadContext(threadId);
78
110
  logger.setThreadContext(threadId);
111
+ // Authorization is the envelope verified here, once. The thread-local copy
112
+ // written below is a local record; it is not re-read as a second check.
79
113
  let activeLabPolicy = null;
114
+ let labEnvelope = null;
80
115
  if (isLabRunThreadId(threadId)) {
81
116
  const rawPolicy = process.env[LAB_RUNTIME_POLICY_ENV];
82
117
  if (!rawPolicy)
83
118
  throw new Error(`Lab worker ${threadId} has no runtime policy`);
84
- const envelope = JSON.parse(rawPolicy);
85
- activeLabPolicy = verifyLabRuntimePolicyEnvelope(envelope, process.env.VISIONCLAW_LAB_POLICY_SECRET ?? "", threadId);
119
+ labEnvelope = JSON.parse(rawPolicy);
120
+ // Workers hold verification keys only; they cannot sign anything.
121
+ activeLabPolicy = verifyLabRuntimePolicyEnvelope(labEnvelope, readWorkerVerifyKeys().labPolicy, threadId);
122
+ }
123
+ // A generic internal execution (#2805 1c): the host admitted it, stored its
124
+ // record and froze its snapshot. The worker asks the host for that record
125
+ // over IPC; it never opens the ledger itself.
126
+ const start = isGenericExecutionThreadId(threadId) ? await receiveExecutionStart(threadId) : null;
127
+ const admitted = start?.record ?? null;
128
+ if (admitted?.state === "cancel_requested") {
129
+ // Cancelled while this executor was starting: stop before any model work.
130
+ // A clean exit lets the host confirm the stop and publish the cancel.
131
+ logger.system(`[worker] Execution ${admitted.executionId} was cancelled before start; exiting`);
132
+ process.exit(0);
86
133
  }
134
+ const genericRecord = admitted?.state === "running" ? admitted : null;
135
+ if (isGenericExecutionThreadId(threadId) && !genericRecord) {
136
+ throw new ExecutorRefusedError(`Execution worker ${threadId} has no admitted execution record`);
137
+ }
138
+ // The adapter follows the caller the host stored, never the payload: only
139
+ // the maintenance entry records a "nightly" caller.
140
+ const dreamingBatch = genericRecord?.caller.kind === "nightly" ? readAdmittedDreamingBatch(genericRecord) : null;
141
+ if (dreamingBatch) {
142
+ // A Dreaming batch reads and edits memory: keep its content out of logs.
143
+ logger.redactContent();
144
+ installDreamingMemorySession(new DreamingMemorySession({
145
+ batch: dreamingBatch,
146
+ stores: dreamingStores(),
147
+ memoriesDir: getMemoriesDir(),
148
+ }));
149
+ }
150
+ if (!activeLabPolicy && !genericRecord)
151
+ throw new ExecutorRefusedError("A worker requires an admitted Task or LabRun; conversations run in the foreground host");
87
152
  initThreadDirectory({
88
- isolatedLab: activeLabPolicy !== null,
89
- allowedSkills: activeLabPolicy?.policy.skills.allowed,
153
+ isolatedExecution: activeLabPolicy !== null || genericRecord !== null,
154
+ allowedSkills: activeLabPolicy?.policy.skills.allowed ?? [],
90
155
  });
91
156
  logger.system(`Worker process starting: thread=${threadId} pid=${process.pid}`);
92
- if (activeLabPolicy) {
93
- const rawPolicy = process.env[LAB_RUNTIME_POLICY_ENV];
94
- if (!rawPolicy)
95
- throw new Error(`Lab worker ${threadId} lost its runtime policy`);
96
- const envelope = JSON.parse(rawPolicy);
97
- writeWorkerLabRuntimePolicy(activeLabPolicy, envelope);
98
- config = applyLabRuntimePolicyToConfig(config, activeLabPolicy);
99
- logger.system(`[worker] Applied Lab runtime policy digest=${activeLabPolicy.digest}`);
157
+ // The host adapts the verified Lab policy once. startAgentLoop applies the
158
+ // shared config isolation and relay restriction at its entry; the loop and
159
+ // engines receive an internal execution without Lab identity/protocol.
160
+ const labPolicy = activeLabPolicy;
161
+ if (labPolicy && labEnvelope) {
162
+ writeWorkerLabRuntimePolicy(labPolicy, labEnvelope);
163
+ logger.system(`[worker] Verified Lab runtime policy digest=${labPolicy.digest}`);
164
+ }
165
+ // The supervisor froze this run's model route and budget at admission. Start
166
+ // and recover from that snapshot; editable thread.json or profile defaults
167
+ // and runtime failover cannot change it.
168
+ let executionSnapshot = null;
169
+ if (labPolicy || genericRecord) {
170
+ try {
171
+ executionSnapshot = verifyExecutionSnapshot(JSON.parse(process.env[EXECUTION_SNAPSHOT_ENV] ?? "null"), readWorkerVerifyKeys().snapshot, genericRecord?.executionId ?? threadId);
172
+ }
173
+ catch (error) {
174
+ // Starting this execution again would fail the same way.
175
+ if (genericRecord)
176
+ throw new ExecutorRefusedError(error instanceof Error ? error.message : String(error));
177
+ throw error;
178
+ }
179
+ }
180
+ if (executionSnapshot) {
181
+ freezeModelRoute(executionSnapshot.model);
182
+ logger.system(`[worker] Execution snapshot frozen: engine=${executionSnapshot.model.engine} runtime=${executionSnapshot.model.runtime}`);
183
+ }
184
+ const executionRuntime = genericRecord
185
+ ? new WorkerExecutionRuntime(genericRecord.executionId, genericRecord.processedInputSeq, (report) => sendToMain(report), genericRecord.caller.kind === "general")
186
+ : null;
187
+ installWorkerExecutionRuntime(executionRuntime);
188
+ // Seed the host's ordered inputs before accepting later IPC. They remain
189
+ // buffered until the loop is ready to build its first request.
190
+ for (const input of start?.pendingInputs ?? []) {
191
+ executionRuntime?.receiveInput({ type: "execution-input", ...input });
100
192
  }
193
+ let executionReady = false;
194
+ const businessClient = genericRecord?.caller.kind === "general" && genericRecord.payload.businessRead
195
+ ? new IpcForemanClient((message) => sendToMain(message)) : null;
196
+ const execution = labPolicy && executionSnapshot ? {
197
+ id: labPolicy.policy.runId,
198
+ policy: labRuntimePolicyToWorkerPolicy(labPolicy),
199
+ snapshot: executionSnapshot,
200
+ budget: ExecutionBudgetMeter.open(getConfigDir(), threadId, executionSnapshot.budget),
201
+ buildSystemPrompt: (executionConfig) => buildLabRunSystemPrompt(executionConfig, labPolicy),
202
+ adapterTools: LAB_ADAPTER_TOOLS,
203
+ } : genericRecord && executionSnapshot && dreamingBatch ? {
204
+ id: genericRecord.executionId,
205
+ policy: dreamingExecutionPolicy(),
206
+ snapshot: executionSnapshot,
207
+ budget: ExecutionBudgetMeter.open(getConfigDir(), genericRecord.executionId, executionSnapshot.budget),
208
+ buildSystemPrompt: buildDreamingSystemPrompt,
209
+ adapterTools: DREAMING_ADAPTER_TOOLS,
210
+ privateContent: true,
211
+ } : genericRecord && executionSnapshot ? (() => {
212
+ // Work General delegated gets the Foreman tier; other generic callers keep
213
+ // the restricted local tier. The stored caller decides, never the payload.
214
+ const foreman = genericRecord.caller.kind === "general";
215
+ const workspace = genericWorkspace(genericRecord);
216
+ return {
217
+ id: genericRecord.executionId,
218
+ policy: foreman ? foremanExecutionPolicy(businessClient !== null, genericRecord.payload.workspaceMode === "read_only") : genericExecutionPolicy(genericRecord.payload.workspaceMode === "read_only"),
219
+ snapshot: executionSnapshot,
220
+ // The host's copy of the usage is authoritative and every change goes
221
+ // back to it, so a deleted or edited local file cannot reset the budget.
222
+ budget: ExecutionBudgetMeter.open(getConfigDir(), genericRecord.executionId, executionSnapshot.budget, Date.now, {
223
+ toolCalls: genericRecord.payload.foregroundToolCallsUsed,
224
+ hostUsage: genericRecord.usage,
225
+ onSave: (usage) => executionRuntime?.reportUsage(usage),
226
+ }),
227
+ buildSystemPrompt: (executionConfig) => foreman
228
+ ? buildForemanSystemPrompt(executionConfig, workspace, genericRecord.payload.preparedWorkspace, genericRecord.payload.workspaceMode === "read_only")
229
+ : buildGenericExecutionSystemPrompt(executionConfig, workspace, genericRecord.payload.workspaceMode === "read_only"),
230
+ adapterTools: foreman ? [...FOREMAN_ADAPTER_TOOLS, ...(businessClient ? foremanBusinessTools(businessClient) : [])] : GENERIC_ADAPTER_TOOLS,
231
+ };
232
+ })() : undefined;
233
+ if (!execution)
234
+ throw new ExecutorRefusedError("The worker has no admitted execution runtime");
101
235
  const relay = new RelayAdapter(sendToMain, threadId, undefined, { config });
236
+ installForemanClient(null);
102
237
  let settleLabCredentials = null;
103
238
  let rejectLabCredentials = null;
104
239
  const labCredentials = activeLabPolicy
@@ -142,11 +277,26 @@ export async function startWorker(options) {
142
277
  ? { ...data.msg, text: buildLabRunExecutionMessage() }
143
278
  : data.msg);
144
279
  break;
280
+ case "execution-input":
281
+ if (data.executionId !== executionRuntime?.executionId)
282
+ return;
283
+ // Applied only once the model receives it (see noteMessagesHandedToModel).
284
+ if (executionRuntime.receiveInput(data) && executionReady) {
285
+ for (const input of executionRuntime.takePendingInputs())
286
+ relay.injectMessage(executionInputMessage(input));
287
+ }
288
+ break;
289
+ case "execution-start":
290
+ // Consumed by receiveExecutionStart() before the loop starts.
291
+ break;
145
292
  case "reply-result":
146
293
  // Settles the promise returned by relayDelivery so the worker's
147
294
  // tryDeliver reflects the REAL adapter outcome.
148
295
  relay.handleReplyResult(data);
149
296
  break;
297
+ case "foreman-response":
298
+ businessClient?.handleResponse(data);
299
+ break;
150
300
  case "shutdown":
151
301
  logger.system(`Worker shutdown requested: reason=${data.reason ?? "none"}`);
152
302
  void gracefulShutdown();
@@ -160,16 +310,6 @@ export async function startWorker(options) {
160
310
  logger.system("Worker: IPC disconnected, shutting down.");
161
311
  void gracefulShutdown();
162
312
  });
163
- // Apply per-thread engine overrides from thread.json (if any).
164
- if (isLabRunThreadId(threadId)) {
165
- loadWorkerLabRuntimePolicy(threadId);
166
- }
167
- const meta = readWorkerThreadMeta();
168
- if (meta?.engineOverride) {
169
- config.engineOverride = meta.engineOverride;
170
- config.pinnedModel = meta.pinnedModel;
171
- logger.system(`[worker] Thread engine override: engine=${meta.engineOverride}`);
172
- }
173
313
  const desktopRuntimeResolution = parseDesktopRuntimeResolution(process.env[WORKER_DESKTOP_RUNTIME_ENV]);
174
314
  if (!desktopRuntimeResolution) {
175
315
  logger.warn("Worker did not receive the main-process desktop runtime resolution; probing locally as a fallback");
@@ -182,7 +322,13 @@ export async function startWorker(options) {
182
322
  try {
183
323
  const credentials = await labCredentials;
184
324
  await initializeLabRunRuntime(activeLabPolicy, credentials, {
185
- onLeaseLost: () => {
325
+ onLeaseLost: (error) => {
326
+ sendToMain({
327
+ type: "lab-runtime-lease-lost",
328
+ threadId,
329
+ runId: activeLabPolicy.policy.runId,
330
+ errorMessage: error.message.slice(0, 500),
331
+ });
186
332
  try {
187
333
  getAgentState().sessionManager?.activeSession.requestStop();
188
334
  }
@@ -215,7 +361,9 @@ export async function startWorker(options) {
215
361
  try {
216
362
  workspaceCwd = activeLabPolicy && getAgentEngine(config) === "pi-coding"
217
363
  ? ensureLabWorkspace(activeLabPolicy)
218
- : undefined;
364
+ : genericRecord && getAgentEngine(config) === "pi-coding"
365
+ ? genericWorkspace(genericRecord)
366
+ : undefined;
219
367
  if (workspaceCwd)
220
368
  logger.system(`[worker] Pi Lab workspace ready: ${workspaceCwd}`);
221
369
  }
@@ -238,8 +386,35 @@ export async function startWorker(options) {
238
386
  workerMode: {
239
387
  threadId,
240
388
  relay,
389
+ execution,
241
390
  },
242
- onReady: () => {
391
+ onReady: ({ messageQueue }) => {
392
+ if (genericRecord && executionRuntime && start) {
393
+ // The execution ledger owns recovery. A question stops the old
394
+ // worker before it can acknowledge its queue claims, so replaying
395
+ // queue.db can wake the model on the OLD task before the answer is
396
+ // delivered. Replace those transport rows with one complete dispatch
397
+ // before the loop drains anything or sends its first model request.
398
+ messageQueue.clear();
399
+ const inputs = [...new Map([
400
+ ...start.pendingInputs,
401
+ ...executionRuntime.takePendingInputs(),
402
+ ].map((input) => [input.inputSeq, input])).values()].sort((a, b) => a.inputSeq - b.inputSeq);
403
+ const lastInput = inputs.at(-1);
404
+ relay.injectMessage({
405
+ id: `execution-dispatch-${genericRecord.executionId}-${genericRecord.workerInstanceId}`,
406
+ channel: "system",
407
+ sender: "execution-host",
408
+ text: [dreamingBatch ? buildDreamingExecutionMessage(dreamingBatch) : buildGenericExecutionMessage(genericRecord, start.unfinishedTools),
409
+ ...inputs.map((input) => `${input.inputSeq <= genericRecord.processedInputSeq
410
+ ? `[Accepted input ${input.inputSeq}, replayed for recovery. Ensure it is addressed; verify side effects before repeating work.]\n`
411
+ : ""}${executionInputMessage(input).text}`)].join("\n\n"),
412
+ attachments: [],
413
+ timestamp: new Date().toISOString(),
414
+ ...(lastInput ? { meta: { [EXECUTION_INPUT_SEQ_META_KEY]: lastInput.inputSeq } } : {}),
415
+ });
416
+ executionReady = true;
417
+ }
243
418
  const readyMsg = {
244
419
  type: "ready",
245
420
  threadId,
@@ -250,10 +425,24 @@ export async function startWorker(options) {
250
425
  logger.system(`Worker ready: thread=${threadId}`);
251
426
  },
252
427
  };
253
- if (!activeLabPolicy) {
254
- await startAgentLoop(config, loopOptions);
428
+ if (genericRecord && executionRuntime && start) {
429
+ let loopError = null;
430
+ try {
431
+ await startAgentLoop(config, loopOptions);
432
+ }
433
+ catch (error) {
434
+ loopError = (error instanceof Error ? error.message : String(error)).slice(0, 500);
435
+ }
436
+ // A stop the host asked for is an interruption, reported by the exit code.
437
+ if (!isShutdownRequested() && !executionRuntime.hasReportedResult) {
438
+ reportUnfinishedExecution(executionRuntime, execution.budget.stopReason, loopError);
439
+ }
440
+ await gracefulShutdown();
255
441
  return;
256
442
  }
443
+ if (!activeLabPolicy) {
444
+ throw new ExecutorRefusedError("Only an admitted execution may enter the worker loop");
445
+ }
257
446
  try {
258
447
  await startAgentLoop(config, loopOptions);
259
448
  }
@@ -269,7 +458,97 @@ export async function startWorker(options) {
269
458
  }
270
459
  await gracefulShutdown();
271
460
  }
461
+ /** How long an execution worker waits for its host to hand over the admitted record. */
462
+ const EXECUTION_START_TIMEOUT_MS = 30_000;
463
+ /**
464
+ * Ask the host for this executor's admitted record. The host reads it from
465
+ * its ledger and checks it belongs to the generation it started.
466
+ */
467
+ function receiveExecutionStart(threadId) {
468
+ return new Promise((resolve, reject) => {
469
+ let settled = false;
470
+ const finish = (outcome) => {
471
+ if (settled)
472
+ return;
473
+ settled = true;
474
+ clearTimeout(timer);
475
+ process.off("message", onMessage);
476
+ process.off("disconnect", onDisconnect);
477
+ outcome();
478
+ };
479
+ const onMessage = (data) => {
480
+ if (!isMainToWorkerMessage(data))
481
+ return;
482
+ if (data.type === "execution-start")
483
+ finish(() => resolve(data));
484
+ // Stopped before it started: an interruption, not a refusal.
485
+ if (data.type === "shutdown")
486
+ finish(() => { process.exit(EXECUTOR_INTERRUPTED_EXIT_CODE); });
487
+ };
488
+ const onDisconnect = () => { finish(() => { process.exit(EXECUTOR_INTERRUPTED_EXIT_CODE); }); };
489
+ const timer = setTimeout(() => {
490
+ finish(() => reject(new ExecutorRefusedError(`Execution worker ${threadId} received no admitted record from its host`)));
491
+ }, EXECUTION_START_TIMEOUT_MS);
492
+ process.on("disconnect", onDisconnect);
493
+ process.on("message", onMessage);
494
+ // Listeners first: the host answers as soon as it reads this.
495
+ sendToMain({ type: "execution-bootstrap-ready", threadId });
496
+ });
497
+ }
498
+ /** An accepted input as the model reads it; its sequence travels in the message meta. */
499
+ function executionInputMessage(input) {
500
+ return {
501
+ id: `execution-input-${input.executionId}-${input.inputSeq}`,
502
+ channel: "system",
503
+ sender: "execution-host",
504
+ text: input.questionId
505
+ ? `[Answer to your question]\n${input.text}`
506
+ : `[Additional requirement from the caller]\n${input.text}`,
507
+ attachments: [],
508
+ timestamp: new Date().toISOString(),
509
+ meta: { [EXECUTION_INPUT_SEQ_META_KEY]: input.inputSeq },
510
+ };
511
+ }
512
+ /** The run ended without a result: report why, so the caller sees more than "no result". */
513
+ function reportUnfinishedExecution(runtime, budgetStopReason, loopError) {
514
+ const lastError = loopError ?? runtime.lastErrorMessage;
515
+ runtime.reportResult({
516
+ status: "failed",
517
+ error: budgetStopReason
518
+ ? { code: "budget_exhausted", message: budgetStopReason }
519
+ : loopError
520
+ ? { code: "executor_error", message: loopError }
521
+ : lastError
522
+ ? { code: "executor_error", message: `The task ended without reporting a result; last error: ${lastError}` }
523
+ : { code: "no_result", message: "The task ended without reporting a result" },
524
+ });
525
+ }
526
+ /** The batch a maintenance execution names; a missing or unreadable batch is a startup failure. */
527
+ function readAdmittedDreamingBatch(record) {
528
+ const batchId = batchIdFromRefs(record.payload.inputRefs);
529
+ if (!batchId)
530
+ throw new Error(`Maintenance execution ${record.executionId} names no Dreaming batch`);
531
+ const batch = readDreamingBatch(batchId);
532
+ if (!batch)
533
+ throw new Error(`Dreaming batch ${batchId} is missing`);
534
+ return batch;
535
+ }
536
+ /** The caller's workspace when it named one, else a private directory for this execution. */
537
+ function genericWorkspace(record) {
538
+ if (record.payload.workspaceRef)
539
+ return resolveWorkspaceCwd(record.payload.workspaceRef, { writable: record.payload.workspaceMode !== "read_only" });
540
+ const dir = path.join(getConfigDir(), "workspace");
541
+ fs.mkdirSync(dir, { recursive: true, mode: 0o700 });
542
+ return fs.realpathSync(dir);
543
+ }
544
+ /** Set once a shutdown starts; an execution stopped this way is interrupted, not finished. */
545
+ let shutdownRequested = false;
546
+ /** Read through a function: callbacks set the flag while startWorker awaits. */
547
+ function isShutdownRequested() {
548
+ return shutdownRequested;
549
+ }
272
550
  async function gracefulShutdown() {
551
+ shutdownRequested = true;
273
552
  logger.system("Worker shutting down gracefully...");
274
553
  // Request the active session to stop cleanly before teardown callbacks run.
275
554
  // This aborts any in-flight Pi runLoop and closes input so the stream can
@@ -289,6 +568,7 @@ async function gracefulShutdown() {
289
568
  await runGracefulShutdown().catch((err) => {
290
569
  logger.warn(`Worker graceful shutdown failed: ${err instanceof Error ? err.message : String(err)}`);
291
570
  });
292
- process.exit(0);
571
+ // An execution stopped before its result is an interruption the host may resume.
572
+ process.exit(executorExitCode());
293
573
  }
294
574
  //# sourceMappingURL=worker-entry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker-entry.js","sourceRoot":"","sources":["../../src/threads/worker-entry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-entry.js","sourceRoot":"","sources":["../../src/threads/worker-entry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ import type { CommandMessage } from "../channels/interface.js";
2
+ import type { IpcExecutionInput, IpcExecutionReport } from "./ipc.js";
3
+ /** Message meta key carrying the input sequence an injected message delivers. */
4
+ export declare const EXECUTION_INPUT_SEQ_META_KEY = "executionInputSeq";
5
+ export type ResultReportOutcome = {
6
+ accepted: true;
7
+ } | {
8
+ accepted: false;
9
+ reason: "already_reported" | "pending_input";
10
+ };
11
+ /**
12
+ * Worker side of an internal execution (#2805 1c).
13
+ *
14
+ * The worker never writes the execution store. It reports its result,
15
+ * progress, questions, applied inputs, usage and tool-call boundaries over
16
+ * IPC, and the host validates each report against the executor generation it
17
+ * started. One runtime exists per worker process; tools reach it through
18
+ * {@link getWorkerExecutionRuntime}.
19
+ *
20
+ * An input counts as applied only once it was handed to the model, not when
21
+ * it arrived over IPC: a result reported before the model saw an input must
22
+ * not claim to have processed it.
23
+ */
24
+ export declare class WorkerExecutionRuntime {
25
+ readonly executionId: string;
26
+ private readonly send;
27
+ readonly requiresUserMessage: boolean;
28
+ private processedInputSeq;
29
+ private receivedInputSeq;
30
+ private terminalReported;
31
+ private lastError;
32
+ private readonly pending;
33
+ constructor(executionId: string, initialInputSeq: number, send: (report: IpcExecutionReport) => void, requiresUserMessage?: boolean);
34
+ get hasReportedResult(): boolean;
35
+ get inputSeq(): number;
36
+ /** The last model/session error seen by this worker, for a failure report. */
37
+ get lastErrorMessage(): string | null;
38
+ /**
39
+ * Note an input delivered by the host; ignore duplicates and stale ones.
40
+ * The host accepts input only before it commits a result, so a result this
41
+ * worker reported earlier was refused for it: a new report is allowed.
42
+ */
43
+ receiveInput(input: IpcExecutionInput): boolean;
44
+ /** Take buffered inputs for injection; each becomes `input_applied` once the model receives it. */
45
+ takePendingInputs(): IpcExecutionInput[];
46
+ markInputApplied(inputSeq: number): void;
47
+ reportProgress(summary: string): void;
48
+ askQuestion(text: string, choices?: string[], delivery?: "direct" | "review"): void;
49
+ toolBoundary(callId: string, toolName: string, phase: "started" | "finished"): void;
50
+ /** The host keeps the authoritative usage; every local change is reported. */
51
+ reportUsage(usage: Record<string, unknown>): void;
52
+ noteError(message: string): void;
53
+ /**
54
+ * Report the terminal result once. A success is refused locally while an
55
+ * input that arrived has not reached the model yet: the model must see it
56
+ * first. A failure may be reported regardless.
57
+ */
58
+ reportResult(result: Omit<Extract<IpcExecutionReport, {
59
+ type: "execution-result";
60
+ }>, "type" | "executionId" | "processedInputSeq">): ResultReportOutcome;
61
+ }
62
+ export declare function installWorkerExecutionRuntime(runtime: WorkerExecutionRuntime | null): void;
63
+ export declare function getWorkerExecutionRuntime(): WorkerExecutionRuntime | null;
64
+ /**
65
+ * The exit code this process should end with: an execution stopped before it
66
+ * reported a result (shutdown request, signal, lost host) is an interruption
67
+ * the host may resume, not a finished task.
68
+ */
69
+ export declare function executorExitCode(): number;
70
+ /**
71
+ * These messages were just handed to the model (a new turn, or injected into
72
+ * the running one). Execution inputs among them now count as applied.
73
+ */
74
+ export declare function noteMessagesHandedToModel(messages: readonly CommandMessage[]): void;
75
+ //# sourceMappingURL=worker-execution-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-execution-runtime.d.ts","sourceRoot":"","sources":["../../src/threads/worker-execution-runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAGtE,iFAAiF;AACjF,eAAO,MAAM,4BAA4B,sBAAsB,CAAC;AAEhE,MAAM,MAAM,mBAAmB,GAC3B;IAAE,QAAQ,EAAE,IAAI,CAAA;CAAE,GAClB;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,kBAAkB,GAAG,eAAe,CAAA;CAAE,CAAC;AAEtE;;;;;;;;;;;;GAYG;AACH,qBAAa,sBAAsB;IAQ/B,QAAQ,CAAC,WAAW,EAAE,MAAM;IAE5B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,QAAQ,CAAC,mBAAmB;IAV9B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;gBAGxC,WAAW,EAAE,MAAM,EAC5B,eAAe,EAAE,MAAM,EACN,IAAI,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,EAClD,mBAAmB,UAAQ;IAMtC,IAAI,iBAAiB,IAAI,OAAO,CAE/B;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,8EAA8E;IAC9E,IAAI,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAEpC;IAED;;;;OAIG;IACH,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO;IAS/C,mGAAmG;IACnG,iBAAiB,IAAI,iBAAiB,EAAE;IAKxC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMxC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIrC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,GAAE,QAAQ,GAAG,QAAmB,GAAG,IAAI;IAQ7F,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,UAAU,GAAG,IAAI;IAInF,8EAA8E;IAC9E,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIjD,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIhC;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;QAAE,IAAI,EAAE,kBAAkB,CAAA;KAAE,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,mBAAmB,CAAC,GAAG,mBAAmB;CAezJ;AAID,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI,GAAG,IAAI,CAE1F;AAED,wBAAgB,yBAAyB,IAAI,sBAAsB,GAAG,IAAI,CAEzE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,GAAG,IAAI,CAQnF"}