visionclaw 0.1.218 → 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 (595) 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 +5 -0
  47. package/dist/agent/engines/pi/shared/usage.d.ts.map +1 -1
  48. package/dist/agent/engines/pi/shared/usage.js +22 -3
  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 -17
  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 +291 -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/owner-channel-resolver.d.ts +2 -0
  144. package/dist/agent/owner-channel-resolver.d.ts.map +1 -1
  145. package/dist/agent/owner-channel-resolver.js +4 -0
  146. package/dist/agent/owner-channel-resolver.js.map +1 -1
  147. package/dist/agent/product-identity.d.ts +5 -4
  148. package/dist/agent/product-identity.d.ts.map +1 -1
  149. package/dist/agent/product-identity.js +7 -6
  150. package/dist/agent/product-identity.js.map +1 -1
  151. package/dist/agent/public-activity.js +1 -1
  152. package/dist/agent/public-activity.js.map +1 -1
  153. package/dist/agent/runtime-context.d.ts +27 -0
  154. package/dist/agent/runtime-context.d.ts.map +1 -0
  155. package/dist/agent/runtime-context.js +60 -0
  156. package/dist/agent/runtime-context.js.map +1 -0
  157. package/dist/agent/runtime-disclosure-policy.d.ts +6 -0
  158. package/dist/agent/runtime-disclosure-policy.d.ts.map +1 -0
  159. package/dist/agent/runtime-disclosure-policy.js +16 -0
  160. package/dist/agent/runtime-disclosure-policy.js.map +1 -0
  161. package/dist/agent/runtime-surface.d.ts +15 -4
  162. package/dist/agent/runtime-surface.d.ts.map +1 -1
  163. package/dist/agent/runtime-surface.js +0 -1
  164. package/dist/agent/runtime-surface.js.map +1 -1
  165. package/dist/agent/session-manager.d.ts +30 -126
  166. package/dist/agent/session-manager.d.ts.map +1 -1
  167. package/dist/agent/session-manager.js +60 -484
  168. package/dist/agent/session-manager.js.map +1 -1
  169. package/dist/agent/state.d.ts +42 -2
  170. package/dist/agent/state.d.ts.map +1 -1
  171. package/dist/agent/state.js +21 -11
  172. package/dist/agent/state.js.map +1 -1
  173. package/dist/agent/stream-handler.d.ts +6 -13
  174. package/dist/agent/stream-handler.d.ts.map +1 -1
  175. package/dist/agent/stream-handler.js +8 -62
  176. package/dist/agent/stream-handler.js.map +1 -1
  177. package/dist/agent/system-prompt.d.ts +2 -0
  178. package/dist/agent/system-prompt.d.ts.map +1 -1
  179. package/dist/agent/system-prompt.js +21 -20
  180. package/dist/agent/system-prompt.js.map +1 -1
  181. package/dist/agent/tool-usage.d.ts.map +1 -1
  182. package/dist/agent/tool-usage.js +0 -1
  183. package/dist/agent/tool-usage.js.map +1 -1
  184. package/dist/agent/transcript/transcript-backfill.js +3 -3
  185. package/dist/agent/transcript/transcript-backfill.js.map +1 -1
  186. package/dist/agent/transcript/transcript-indexer.d.ts +3 -31
  187. package/dist/agent/transcript/transcript-indexer.d.ts.map +1 -1
  188. package/dist/agent/transcript/transcript-indexer.js +58 -57
  189. package/dist/agent/transcript/transcript-indexer.js.map +1 -1
  190. package/dist/agent/transcript-parsers/trivial-tools.d.ts.map +1 -1
  191. package/dist/agent/transcript-parsers/trivial-tools.js +0 -2
  192. package/dist/agent/transcript-parsers/trivial-tools.js.map +1 -1
  193. package/dist/agent/transcript-parsers/types.d.ts +1 -1
  194. package/dist/agent/transcript-summarizer.d.ts +14 -0
  195. package/dist/agent/transcript-summarizer.d.ts.map +1 -1
  196. package/dist/agent/transcript-summarizer.js +69 -45
  197. package/dist/agent/transcript-summarizer.js.map +1 -1
  198. package/dist/agent/usage/usage-report-queue.d.ts.map +1 -1
  199. package/dist/agent/usage/usage-report-queue.js +53 -52
  200. package/dist/agent/usage/usage-report-queue.js.map +1 -1
  201. package/dist/agent/usage/usage-report-types.d.ts +1 -1
  202. package/dist/agent/usage/usage-report-types.d.ts.map +1 -1
  203. package/dist/agent/vocabulary-glossary.d.ts +3 -3
  204. package/dist/agent/wake-cycle-runner.d.ts +22 -17
  205. package/dist/agent/wake-cycle-runner.d.ts.map +1 -1
  206. package/dist/agent/wake-cycle-runner.js +190 -320
  207. package/dist/agent/wake-cycle-runner.js.map +1 -1
  208. package/dist/builtin-skills/owner-manual/SKILL.md +2 -2
  209. package/dist/calendar/occurrence-ownership.d.ts.map +1 -1
  210. package/dist/calendar/occurrence-ownership.js +6 -5
  211. package/dist/calendar/occurrence-ownership.js.map +1 -1
  212. package/dist/calendar/scheduler.d.ts.map +1 -1
  213. package/dist/calendar/scheduler.js +4 -3
  214. package/dist/calendar/scheduler.js.map +1 -1
  215. package/dist/channels/interface.d.ts +8 -2
  216. package/dist/channels/interface.d.ts.map +1 -1
  217. package/dist/channels/interface.js +8 -1
  218. package/dist/channels/interface.js.map +1 -1
  219. package/dist/channels/manager.d.ts +12 -0
  220. package/dist/channels/manager.d.ts.map +1 -1
  221. package/dist/channels/manager.js +97 -8
  222. package/dist/channels/manager.js.map +1 -1
  223. package/dist/channels/queue.d.ts.map +1 -1
  224. package/dist/channels/queue.js +8 -0
  225. package/dist/channels/queue.js.map +1 -1
  226. package/dist/channels/telegram.d.ts.map +1 -1
  227. package/dist/channels/telegram.js +28 -2
  228. package/dist/channels/telegram.js.map +1 -1
  229. package/dist/channels/tui.d.ts +14 -1
  230. package/dist/channels/tui.d.ts.map +1 -1
  231. package/dist/channels/tui.js +64 -2
  232. package/dist/channels/tui.js.map +1 -1
  233. package/dist/channels/unavailable-target.d.ts +20 -0
  234. package/dist/channels/unavailable-target.d.ts.map +1 -0
  235. package/dist/channels/unavailable-target.js +82 -0
  236. package/dist/channels/unavailable-target.js.map +1 -0
  237. package/dist/cli/index.d.ts +2 -2
  238. package/dist/cli/index.d.ts.map +1 -1
  239. package/dist/cli/index.js +22 -53
  240. package/dist/cli/index.js.map +1 -1
  241. package/dist/config/index.d.ts +13 -7
  242. package/dist/config/index.d.ts.map +1 -1
  243. package/dist/config/index.js +51 -64
  244. package/dist/config/index.js.map +1 -1
  245. package/dist/config/types.d.ts +28 -7
  246. package/dist/config/types.d.ts.map +1 -1
  247. package/dist/config/types.js +22 -20
  248. package/dist/config/types.js.map +1 -1
  249. package/dist/conversations/lazy-runtime.d.ts +5 -0
  250. package/dist/conversations/lazy-runtime.d.ts.map +1 -0
  251. package/dist/conversations/lazy-runtime.js +12 -0
  252. package/dist/conversations/lazy-runtime.js.map +1 -0
  253. package/dist/conversations/runtime.d.ts +17 -0
  254. package/dist/conversations/runtime.d.ts.map +1 -0
  255. package/dist/conversations/runtime.js +92 -0
  256. package/dist/conversations/runtime.js.map +1 -0
  257. package/dist/conversations/scheduler.d.ts +57 -0
  258. package/dist/conversations/scheduler.d.ts.map +1 -0
  259. package/dist/conversations/scheduler.js +175 -0
  260. package/dist/conversations/scheduler.js.map +1 -0
  261. package/dist/data-processing/pipeline.d.ts +0 -2
  262. package/dist/data-processing/pipeline.d.ts.map +1 -1
  263. package/dist/data-processing/pipeline.js +19 -24
  264. package/dist/data-processing/pipeline.js.map +1 -1
  265. package/dist/data-processing/restructure.d.ts +0 -2
  266. package/dist/data-processing/restructure.d.ts.map +1 -1
  267. package/dist/data-processing/restructure.js +6 -9
  268. package/dist/data-processing/restructure.js.map +1 -1
  269. package/dist/data-processing/types.d.ts +2 -9
  270. package/dist/data-processing/types.d.ts.map +1 -1
  271. package/dist/data-processing/types.js +2 -13
  272. package/dist/data-processing/types.js.map +1 -1
  273. package/dist/email/email-route-store.d.ts.map +1 -1
  274. package/dist/email/email-route-store.js +6 -5
  275. package/dist/email/email-route-store.js.map +1 -1
  276. package/dist/i18n/messages.d.ts +26 -2
  277. package/dist/i18n/messages.d.ts.map +1 -1
  278. package/dist/i18n/messages.js +30 -5
  279. package/dist/i18n/messages.js.map +1 -1
  280. package/dist/index.js.map +1 -1
  281. package/dist/logger.d.ts +11 -0
  282. package/dist/logger.d.ts.map +1 -1
  283. package/dist/logger.js +49 -1
  284. package/dist/logger.js.map +1 -1
  285. package/dist/obs/mini-app/status.d.ts.map +1 -1
  286. package/dist/obs/mini-app/status.js +0 -1
  287. package/dist/obs/mini-app/status.js.map +1 -1
  288. package/dist/onboarding/onboarding-service-client.d.ts +1 -0
  289. package/dist/onboarding/onboarding-service-client.d.ts.map +1 -1
  290. package/dist/onboarding/onboarding-service-client.js.map +1 -1
  291. package/dist/onboarding/remote-set-owner.d.ts.map +1 -1
  292. package/dist/onboarding/remote-set-owner.js +0 -1
  293. package/dist/onboarding/remote-set-owner.js.map +1 -1
  294. package/dist/onboarding/set-owner.d.ts +1 -1
  295. package/dist/onboarding/set-owner.d.ts.map +1 -1
  296. package/dist/onboarding/set-owner.js +3 -6
  297. package/dist/onboarding/set-owner.js.map +1 -1
  298. package/dist/reconfigure.d.ts.map +1 -1
  299. package/dist/reconfigure.js +1 -32
  300. package/dist/reconfigure.js.map +1 -1
  301. package/dist/reset.d.ts.map +1 -1
  302. package/dist/reset.js +3 -1
  303. package/dist/reset.js.map +1 -1
  304. package/dist/threads/active-threads-store.d.ts.map +1 -1
  305. package/dist/threads/active-threads-store.js +8 -27
  306. package/dist/threads/active-threads-store.js.map +1 -1
  307. package/dist/threads/dreaming-execution.d.ts +10 -0
  308. package/dist/threads/dreaming-execution.d.ts.map +1 -0
  309. package/dist/threads/dreaming-execution.js +78 -0
  310. package/dist/threads/dreaming-execution.js.map +1 -0
  311. package/dist/threads/execution-authority.d.ts +43 -0
  312. package/dist/threads/execution-authority.d.ts.map +1 -0
  313. package/dist/threads/execution-authority.js +75 -0
  314. package/dist/threads/execution-authority.js.map +1 -0
  315. package/dist/threads/execution-budget.d.ts +107 -0
  316. package/dist/threads/execution-budget.d.ts.map +1 -0
  317. package/dist/threads/execution-budget.js +257 -0
  318. package/dist/threads/execution-budget.js.map +1 -0
  319. package/dist/threads/execution-host.d.ts +17 -0
  320. package/dist/threads/execution-host.d.ts.map +1 -0
  321. package/dist/threads/execution-host.js +66 -0
  322. package/dist/threads/execution-host.js.map +1 -0
  323. package/dist/threads/execution-scheduler.d.ts +162 -0
  324. package/dist/threads/execution-scheduler.d.ts.map +1 -0
  325. package/dist/threads/execution-scheduler.js +413 -0
  326. package/dist/threads/execution-scheduler.js.map +1 -0
  327. package/dist/threads/execution-snapshot.d.ts +91 -0
  328. package/dist/threads/execution-snapshot.d.ts.map +1 -0
  329. package/dist/threads/execution-snapshot.js +146 -0
  330. package/dist/threads/execution-snapshot.js.map +1 -0
  331. package/dist/threads/execution-store.d.ts +374 -0
  332. package/dist/threads/execution-store.d.ts.map +1 -0
  333. package/dist/threads/execution-store.js +910 -0
  334. package/dist/threads/execution-store.js.map +1 -0
  335. package/dist/threads/execution-thread-error.d.ts +9 -0
  336. package/dist/threads/execution-thread-error.d.ts.map +1 -0
  337. package/dist/threads/execution-thread-error.js +12 -0
  338. package/dist/threads/execution-thread-error.js.map +1 -0
  339. package/dist/threads/executor-exit.d.ts +18 -0
  340. package/dist/threads/executor-exit.d.ts.map +1 -0
  341. package/dist/threads/executor-exit.js +21 -0
  342. package/dist/threads/executor-exit.js.map +1 -0
  343. package/dist/threads/foreground-task.d.ts +91 -0
  344. package/dist/threads/foreground-task.d.ts.map +1 -0
  345. package/dist/threads/foreground-task.js +191 -0
  346. package/dist/threads/foreground-task.js.map +1 -0
  347. package/dist/threads/foreman-business.d.ts +9 -0
  348. package/dist/threads/foreman-business.d.ts.map +1 -0
  349. package/dist/threads/foreman-business.js +117 -0
  350. package/dist/threads/foreman-business.js.map +1 -0
  351. package/dist/threads/foreman-client.d.ts +18 -0
  352. package/dist/threads/foreman-client.d.ts.map +1 -0
  353. package/dist/threads/foreman-client.js +51 -0
  354. package/dist/threads/foreman-client.js.map +1 -0
  355. package/dist/threads/foreman-delivery.d.ts +5 -0
  356. package/dist/threads/foreman-delivery.d.ts.map +1 -0
  357. package/dist/threads/foreman-delivery.js +21 -0
  358. package/dist/threads/foreman-delivery.js.map +1 -0
  359. package/dist/threads/foreman-execution.d.ts +32 -0
  360. package/dist/threads/foreman-execution.d.ts.map +1 -0
  361. package/dist/threads/foreman-execution.js +90 -0
  362. package/dist/threads/foreman-execution.js.map +1 -0
  363. package/dist/threads/foreman-host.d.ts +77 -0
  364. package/dist/threads/foreman-host.d.ts.map +1 -0
  365. package/dist/threads/foreman-host.js +891 -0
  366. package/dist/threads/foreman-host.js.map +1 -0
  367. package/dist/threads/foreman-protocol.d.ts +242 -0
  368. package/dist/threads/foreman-protocol.d.ts.map +1 -0
  369. package/dist/threads/foreman-protocol.js +116 -0
  370. package/dist/threads/foreman-protocol.js.map +1 -0
  371. package/dist/threads/foreman-store.d.ts +151 -0
  372. package/dist/threads/foreman-store.d.ts.map +1 -0
  373. package/dist/threads/foreman-store.js +299 -0
  374. package/dist/threads/foreman-store.js.map +1 -0
  375. package/dist/threads/generic-execution.d.ts +25 -0
  376. package/dist/threads/generic-execution.d.ts.map +1 -0
  377. package/dist/threads/generic-execution.js +86 -0
  378. package/dist/threads/generic-execution.js.map +1 -0
  379. package/dist/threads/init-thread-dir.d.ts +2 -2
  380. package/dist/threads/init-thread-dir.d.ts.map +1 -1
  381. package/dist/threads/init-thread-dir.js +6 -6
  382. package/dist/threads/init-thread-dir.js.map +1 -1
  383. package/dist/threads/ipc.d.ts +108 -2
  384. package/dist/threads/ipc.d.ts.map +1 -1
  385. package/dist/threads/ipc.js +14 -2
  386. package/dist/threads/ipc.js.map +1 -1
  387. package/dist/threads/lab-run-thread.d.ts +3 -5
  388. package/dist/threads/lab-run-thread.d.ts.map +1 -1
  389. package/dist/threads/lab-run-thread.js +3 -5
  390. package/dist/threads/lab-run-thread.js.map +1 -1
  391. package/dist/threads/lab-runtime-policy.d.ts +26 -21
  392. package/dist/threads/lab-runtime-policy.d.ts.map +1 -1
  393. package/dist/threads/lab-runtime-policy.js +31 -126
  394. package/dist/threads/lab-runtime-policy.js.map +1 -1
  395. package/dist/threads/process-group.d.ts +41 -0
  396. package/dist/threads/process-group.d.ts.map +1 -0
  397. package/dist/threads/process-group.js +161 -0
  398. package/dist/threads/process-group.js.map +1 -0
  399. package/dist/threads/relay-adapter.d.ts +8 -0
  400. package/dist/threads/relay-adapter.d.ts.map +1 -1
  401. package/dist/threads/relay-adapter.js +26 -1
  402. package/dist/threads/relay-adapter.js.map +1 -1
  403. package/dist/threads/supervisor.d.ts +191 -57
  404. package/dist/threads/supervisor.d.ts.map +1 -1
  405. package/dist/threads/supervisor.js +766 -427
  406. package/dist/threads/supervisor.js.map +1 -1
  407. package/dist/threads/task-workspace.d.ts +8 -0
  408. package/dist/threads/task-workspace.d.ts.map +1 -0
  409. package/dist/threads/task-workspace.js +52 -0
  410. package/dist/threads/task-workspace.js.map +1 -0
  411. package/dist/threads/worker-entry.d.ts.map +1 -1
  412. package/dist/threads/worker-entry.js +314 -34
  413. package/dist/threads/worker-entry.js.map +1 -1
  414. package/dist/threads/worker-execution-runtime.d.ts +75 -0
  415. package/dist/threads/worker-execution-runtime.d.ts.map +1 -0
  416. package/dist/threads/worker-execution-runtime.js +142 -0
  417. package/dist/threads/worker-execution-runtime.js.map +1 -0
  418. package/dist/threads/worker-execution.d.ts +35 -0
  419. package/dist/threads/worker-execution.d.ts.map +1 -0
  420. package/dist/threads/worker-execution.js +2 -0
  421. package/dist/threads/worker-execution.js.map +1 -0
  422. package/dist/threads/worker-runtime-policy.d.ts +42 -0
  423. package/dist/threads/worker-runtime-policy.d.ts.map +1 -0
  424. package/dist/threads/worker-runtime-policy.js +98 -0
  425. package/dist/threads/worker-runtime-policy.js.map +1 -0
  426. package/dist/tools/adapter-tool.d.ts +12 -0
  427. package/dist/tools/adapter-tool.d.ts.map +1 -0
  428. package/dist/tools/adapter-tool.js +2 -0
  429. package/dist/tools/adapter-tool.js.map +1 -0
  430. package/dist/tools/data-service.d.ts +2 -2
  431. package/dist/tools/delegation.d.ts +121 -0
  432. package/dist/tools/delegation.d.ts.map +1 -0
  433. package/dist/tools/delegation.js +106 -0
  434. package/dist/tools/delegation.js.map +1 -0
  435. package/dist/tools/dream-memory.d.ts +122 -0
  436. package/dist/tools/dream-memory.d.ts.map +1 -0
  437. package/dist/tools/dream-memory.js +513 -0
  438. package/dist/tools/dream-memory.js.map +1 -0
  439. package/dist/tools/email.d.ts +1 -1
  440. package/dist/tools/execution-control.d.ts +31 -0
  441. package/dist/tools/execution-control.d.ts.map +1 -0
  442. package/dist/tools/execution-control.js +71 -0
  443. package/dist/tools/execution-control.js.map +1 -0
  444. package/dist/tools/index.d.ts +5 -7
  445. package/dist/tools/index.d.ts.map +1 -1
  446. package/dist/tools/index.js +7 -13
  447. package/dist/tools/index.js.map +1 -1
  448. package/dist/tools/mcp-manager.d.ts +1 -1
  449. package/dist/tools/memory.d.ts +1 -1
  450. package/dist/tools/memory.d.ts.map +1 -1
  451. package/dist/tools/memory.js +69 -45
  452. package/dist/tools/memory.js.map +1 -1
  453. package/dist/tools/notify.d.ts +5 -0
  454. package/dist/tools/notify.d.ts.map +1 -1
  455. package/dist/tools/notify.js +45 -10
  456. package/dist/tools/notify.js.map +1 -1
  457. package/dist/tools/skill.d.ts +1 -1
  458. package/dist/tools/totp.d.ts +1 -1
  459. package/dist/tui/client.d.ts +1 -16
  460. package/dist/tui/client.d.ts.map +1 -1
  461. package/dist/tui/client.js +0 -4
  462. package/dist/tui/client.js.map +1 -1
  463. package/dist/tui/index.d.ts.map +1 -1
  464. package/dist/tui/index.js +0 -41
  465. package/dist/tui/index.js.map +1 -1
  466. package/dist/tui/protocol.d.ts +2 -1
  467. package/dist/tui/protocol.d.ts.map +1 -1
  468. package/dist/tui/protocol.js +2 -1
  469. package/dist/tui/protocol.js.map +1 -1
  470. package/dist/tui/renderer.d.ts.map +1 -1
  471. package/dist/tui/renderer.js +0 -5
  472. package/dist/tui/renderer.js.map +1 -1
  473. package/dist/tui/request-store.d.ts +1 -1
  474. package/dist/tui/request-store.d.ts.map +1 -1
  475. package/dist/tui/request-store.js +2 -2
  476. package/dist/tui/request-store.js.map +1 -1
  477. package/dist/tui/server.d.ts.map +1 -1
  478. package/dist/tui/server.js +137 -25
  479. package/dist/tui/server.js.map +1 -1
  480. package/dist/utils/claude-transcripts.d.ts +6 -0
  481. package/dist/utils/claude-transcripts.d.ts.map +1 -1
  482. package/dist/utils/claude-transcripts.js +8 -2
  483. package/dist/utils/claude-transcripts.js.map +1 -1
  484. package/dist/utils/restart.d.ts.map +1 -1
  485. package/dist/utils/restart.js +6 -0
  486. package/dist/utils/restart.js.map +1 -1
  487. package/dist-agent/bundle.cjs +2 -2
  488. package/package.json +1 -1
  489. package/dist/agent/mailbox.d.ts +0 -50
  490. package/dist/agent/mailbox.d.ts.map +0 -1
  491. package/dist/agent/mailbox.js +0 -124
  492. package/dist/agent/mailbox.js.map +0 -1
  493. package/dist/agent/nightly-maintenance/memory-dreaming-sweep.d.ts +0 -77
  494. package/dist/agent/nightly-maintenance/memory-dreaming-sweep.d.ts.map +0 -1
  495. package/dist/agent/nightly-maintenance/memory-dreaming-sweep.js +0 -158
  496. package/dist/agent/nightly-maintenance/memory-dreaming-sweep.js.map +0 -1
  497. package/dist/agent/nightly-maintenance/memory-dreaming.d.ts +0 -116
  498. package/dist/agent/nightly-maintenance/memory-dreaming.d.ts.map +0 -1
  499. package/dist/agent/nightly-maintenance/memory-dreaming.js +0 -458
  500. package/dist/agent/nightly-maintenance/memory-dreaming.js.map +0 -1
  501. package/dist/builtin-skills/catalog/phone-adb-automation/SKILL.md +0 -412
  502. package/dist/builtin-skills/catalog/phone-adb-automation/phone_input.sh +0 -132
  503. package/dist/builtin-skills/catalog/phone-adb-automation/phone_launch.sh +0 -166
  504. package/dist/builtin-skills/catalog/phone-adb-automation/phone_screenshot.sh +0 -87
  505. package/dist/builtin-skills/catalog/phone-adb-automation/phone_security_kbd.py +0 -174
  506. package/dist/builtin-skills/catalog/phone-adb-automation/phone_setup.sh +0 -274
  507. package/dist/builtin-skills/catalog/phone-adb-automation/phone_swipe.sh +0 -111
  508. package/dist/builtin-skills/catalog/phone-adb-automation/phone_tap.sh +0 -87
  509. package/dist/builtin-skills/catalog/phone-adb-automation/phone_ui_parse.py +0 -176
  510. package/dist/builtin-skills/catalog/phone-adb-automation/phone_wake_unlock.sh +0 -67
  511. package/dist/builtin-skills/macos-automation/SKILL.md +0 -132
  512. package/dist/builtin-skills/transcribe-audio/SKILL.md +0 -122
  513. package/dist/builtin-skills/visionclaw-manual/SKILL.md +0 -337
  514. package/dist/obs/rdp/icons/icons/app_windows.svg +0 -4
  515. package/dist/obs/rdp/icons/icons/clip_get.svg +0 -4
  516. package/dist/obs/rdp/icons/icons/clip_send.svg +0 -4
  517. package/dist/obs/rdp/icons/icons/clip_shared.svg +0 -4
  518. package/dist/obs/rdp/icons/icons/clipboard.svg +0 -4
  519. package/dist/obs/rdp/icons/icons/clipboard_shared.svg +0 -4
  520. package/dist/obs/rdp/icons/icons/control.svg +0 -4
  521. package/dist/obs/rdp/icons/icons/desktop.svg +0 -4
  522. package/dist/obs/rdp/icons/icons/display.svg +0 -4
  523. package/dist/obs/rdp/icons/icons/launchpad.svg +0 -4
  524. package/dist/obs/rdp/icons/icons/mission_control.svg +0 -4
  525. package/dist/obs/rdp/icons/icons/screenshot.svg +0 -4
  526. package/dist/obs/rdp/icons/icons/zoom_actual.svg +0 -4
  527. package/dist/obs/rdp/icons/icons/zoom_fit.svg +0 -4
  528. package/dist/obs/rdp/icons/icons/zoom_in.svg +0 -4
  529. package/dist/obs/rdp/icons/icons/zoom_out.svg +0 -4
  530. package/dist/realtime/assets/index.html +0 -1058
  531. package/dist/realtime/assets/samples/alloy.mp3 +0 -0
  532. package/dist/realtime/assets/samples/ash.mp3 +0 -0
  533. package/dist/realtime/assets/samples/ballad.mp3 +0 -0
  534. package/dist/realtime/assets/samples/cedar.mp3 +0 -0
  535. package/dist/realtime/assets/samples/coral.mp3 +0 -0
  536. package/dist/realtime/assets/samples/echo.mp3 +0 -0
  537. package/dist/realtime/assets/samples/marin.mp3 +0 -0
  538. package/dist/realtime/assets/samples/sage.mp3 +0 -0
  539. package/dist/realtime/assets/samples/shimmer.mp3 +0 -0
  540. package/dist/realtime/assets/samples/verse.mp3 +0 -0
  541. package/dist/threads/task-contracts.d.ts +0 -194
  542. package/dist/threads/task-contracts.d.ts.map +0 -1
  543. package/dist/threads/task-contracts.js +0 -82
  544. package/dist/threads/task-contracts.js.map +0 -1
  545. package/dist/threads/task-sidecar.d.ts +0 -143
  546. package/dist/threads/task-sidecar.d.ts.map +0 -1
  547. package/dist/threads/task-sidecar.js +0 -309
  548. package/dist/threads/task-sidecar.js.map +0 -1
  549. package/dist/threads/task-store.d.ts +0 -172
  550. package/dist/threads/task-store.d.ts.map +0 -1
  551. package/dist/threads/task-store.js +0 -594
  552. package/dist/threads/task-store.js.map +0 -1
  553. package/dist/threads/thread-task-context.d.ts +0 -40
  554. package/dist/threads/thread-task-context.d.ts.map +0 -1
  555. package/dist/threads/thread-task-context.js +0 -159
  556. package/dist/threads/thread-task-context.js.map +0 -1
  557. package/dist/threads/thread-task-controller.d.ts +0 -122
  558. package/dist/threads/thread-task-controller.d.ts.map +0 -1
  559. package/dist/threads/thread-task-controller.js +0 -276
  560. package/dist/threads/thread-task-controller.js.map +0 -1
  561. package/dist/threads/thread-task-runtime.d.ts +0 -320
  562. package/dist/threads/thread-task-runtime.d.ts.map +0 -1
  563. package/dist/threads/thread-task-runtime.js +0 -843
  564. package/dist/threads/thread-task-runtime.js.map +0 -1
  565. package/dist/tools/switch-session.d.ts +0 -15
  566. package/dist/tools/switch-session.d.ts.map +0 -1
  567. package/dist/tools/switch-session.js +0 -88
  568. package/dist/tools/switch-session.js.map +0 -1
  569. package/dist/tools/thread-tasks.d.ts +0 -10
  570. package/dist/tools/thread-tasks.d.ts.map +0 -1
  571. package/dist/tools/thread-tasks.js +0 -88
  572. package/dist/tools/thread-tasks.js.map +0 -1
  573. package/dist-agent/assets/index.html +0 -1058
  574. package/dist-agent/assets/samples/alloy.mp3 +0 -0
  575. package/dist-agent/assets/samples/ash.mp3 +0 -0
  576. package/dist-agent/assets/samples/ballad.mp3 +0 -0
  577. package/dist-agent/assets/samples/cedar.mp3 +0 -0
  578. package/dist-agent/assets/samples/coral.mp3 +0 -0
  579. package/dist-agent/assets/samples/echo.mp3 +0 -0
  580. package/dist-agent/assets/samples/marin.mp3 +0 -0
  581. package/dist-agent/assets/samples/sage.mp3 +0 -0
  582. package/dist-agent/assets/samples/shimmer.mp3 +0 -0
  583. package/dist-agent/assets/samples/verse.mp3 +0 -0
  584. package/dist-agent/playwriter-relay.cjs +0 -95
  585. package/dist-agent/realtime/assets/index.html +0 -1058
  586. package/dist-agent/realtime/assets/samples/alloy.mp3 +0 -0
  587. package/dist-agent/realtime/assets/samples/ash.mp3 +0 -0
  588. package/dist-agent/realtime/assets/samples/ballad.mp3 +0 -0
  589. package/dist-agent/realtime/assets/samples/cedar.mp3 +0 -0
  590. package/dist-agent/realtime/assets/samples/coral.mp3 +0 -0
  591. package/dist-agent/realtime/assets/samples/echo.mp3 +0 -0
  592. package/dist-agent/realtime/assets/samples/marin.mp3 +0 -0
  593. package/dist-agent/realtime/assets/samples/sage.mp3 +0 -0
  594. package/dist-agent/realtime/assets/samples/shimmer.mp3 +0 -0
  595. package/dist-agent/realtime/assets/samples/verse.mp3 +0 -0
@@ -0,0 +1,146 @@
1
+ import { z } from "zod";
2
+ import { signWith, verifySignature } from "./execution-authority.js";
3
+ import { EngineSchema } from "../config/types.js";
4
+ /**
5
+ * Version 1 of the effective snapshot a trusted host freezes when it admits an
6
+ * internal execution (#2805 step 1b). It records only resolved decisions:
7
+ * the model selection and the task budget. Capabilities live in
8
+ * `WorkerRuntimePolicy`; credentials, the profile and conversation history
9
+ * never enter it.
10
+ *
11
+ * A worker starts and recovers from this snapshot instead of the editable
12
+ * `thread.json` or profile defaults, and a host refresh or runtime failover
13
+ * cannot change the engine it selected. Switching models requires a new
14
+ * execution attempt with a new snapshot.
15
+ */
16
+ export const EXECUTION_SNAPSHOT_VERSION = 1;
17
+ export const ExecutionBudgetLimitsSchema = z.object({
18
+ /** Model attempts across every query, restart and recovery of the execution. */
19
+ maxModelAttempts: z.number().int().positive(),
20
+ /** Tool calls that reached the execution boundary, failed ones included. */
21
+ maxToolCalls: z.number().int().positive(),
22
+ /** Execution time from first admission; queue time is recorded separately. */
23
+ maxDurationMs: z.number().int().positive(),
24
+ }).strict();
25
+ export const ExecutionSnapshotV1Schema = z.object({
26
+ version: z.literal(EXECUTION_SNAPSHOT_VERSION),
27
+ executionId: z.string().min(1).max(128),
28
+ /** The model route resolved at admission; the worker never re-resolves it. */
29
+ model: z.object({
30
+ engine: EngineSchema,
31
+ runtime: z.enum(["claude", "pi-coding"]),
32
+ apiProtocol: z.string().trim().min(1),
33
+ models: z.object({
34
+ heavy: z.string().trim().min(1),
35
+ balanced: z.string().trim().min(1),
36
+ fast: z.string().trim().min(1),
37
+ }).strict(),
38
+ /** Explicit owner-pinned model id, when one governed admission. */
39
+ pinnedModel: z.string().trim().min(1).optional(),
40
+ }).strict(),
41
+ budget: ExecutionBudgetLimitsSchema,
42
+ }).strict();
43
+ /**
44
+ * Defaults pending calibration from measured runs (issue #2805 asks for
45
+ * per-batch and full-run measurements first). The attempt cap preserves the
46
+ * existing Pi per-send guard of 100 turns, now applied to the whole task;
47
+ * the tool and time caps are generous upper bounds on a single LabRun.
48
+ */
49
+ export const DEFAULT_LAB_RUN_BUDGET = {
50
+ maxModelAttempts: 100,
51
+ maxToolCalls: 1_000,
52
+ maxDurationMs: 2 * 60 * 60 * 1_000,
53
+ };
54
+ /** Parse a snapshot; an unsupported version fails explicitly instead of guessing. */
55
+ export function parseExecutionSnapshot(raw) {
56
+ if (raw && typeof raw === "object" && "version" in raw && raw.version !== EXECUTION_SNAPSHOT_VERSION) {
57
+ throw new Error(`Unsupported execution snapshot version: ${String(raw.version)}`);
58
+ }
59
+ return ExecutionSnapshotV1Schema.parse(raw);
60
+ }
61
+ /**
62
+ * Resolve the route a new execution is admitted on: the thread's own
63
+ * override, else the profile's, else the routing default. Runtime failover is
64
+ * deliberately ignored; it is transient health state, not an authorization.
65
+ */
66
+ export function freezeExecutionModel(selection, routing, provider) {
67
+ if (!routing)
68
+ throw new Error("Cannot admit an execution: LLM routing is unavailable");
69
+ const engine = selection.engineOverride ?? routing.defaultEngine;
70
+ const route = routing.routes
71
+ .find((item) => item.enabled !== false && item.provider === provider)
72
+ ?.api_protocols.find((item) => item.enabled && item.engine === engine);
73
+ const heavy = route?.models.heavy?.trim();
74
+ const balanced = route?.models.balanced?.trim();
75
+ const fast = route?.models.fast?.trim();
76
+ if (!route || !heavy || !balanced || !fast) {
77
+ throw new Error(`Cannot admit an execution: no complete ${engine} route is available`);
78
+ }
79
+ return {
80
+ engine,
81
+ runtime: route.runtime,
82
+ apiProtocol: route.api_protocol,
83
+ models: { heavy, balanced, fast },
84
+ ...(selection.pinnedModel ? { pinnedModel: selection.pinnedModel } : {}),
85
+ };
86
+ }
87
+ export const EXECUTION_SNAPSHOT_ENV = "VISIONCLAW_EXECUTION_SNAPSHOT";
88
+ /**
89
+ * Sign with the admitting host's snapshot key so a worker cannot be handed an
90
+ * edited snapshot. The key persists with the profile, so a restarted host
91
+ * still verifies the snapshots it froze before the restart.
92
+ */
93
+ export function signExecutionSnapshot(snapshot, domain) {
94
+ const payload = Buffer.from(JSON.stringify(ExecutionSnapshotV1Schema.parse(snapshot)), "utf8").toString("base64url");
95
+ return { payload, signature: signWith(domain, payload) };
96
+ }
97
+ /**
98
+ * Read a snapshot back from the host's own ledger. The ledger is the record
99
+ * of what was admitted; the signature stored with it may come from an earlier
100
+ * host process, so it is not checked here. The host re-signs the snapshot
101
+ * with its current key before it hands the execution to a worker.
102
+ */
103
+ export function readStoredExecutionSnapshot(raw, executionId) {
104
+ let envelope;
105
+ try {
106
+ envelope = z.object({ payload: z.string().min(1).max(50_000), signature: z.string() }).strict().parse(JSON.parse(raw));
107
+ }
108
+ catch {
109
+ throw new Error("Stored execution snapshot is malformed");
110
+ }
111
+ let decoded;
112
+ try {
113
+ decoded = JSON.parse(Buffer.from(envelope.payload, "base64url").toString("utf8"));
114
+ }
115
+ catch {
116
+ throw new Error("Execution snapshot payload is invalid");
117
+ }
118
+ const snapshot = parseExecutionSnapshot(decoded);
119
+ if (snapshot.executionId !== executionId)
120
+ throw new Error("Execution snapshot does not match this execution");
121
+ return snapshot;
122
+ }
123
+ /** Verify the host signature and bind the snapshot to the expected execution. */
124
+ export function verifyExecutionSnapshot(raw, publicKey, executionId) {
125
+ const envelope = z.object({
126
+ payload: z.string().min(1).max(50_000),
127
+ signature: z.string().min(32).max(256),
128
+ }).strict().parse(raw);
129
+ if (!publicKey)
130
+ throw new Error("Execution snapshot signing authority is unavailable");
131
+ if (!verifySignature(publicKey, envelope.payload, envelope.signature)) {
132
+ throw new Error("Execution snapshot signature is invalid");
133
+ }
134
+ let decoded;
135
+ try {
136
+ decoded = JSON.parse(Buffer.from(envelope.payload, "base64url").toString("utf8"));
137
+ }
138
+ catch {
139
+ throw new Error("Execution snapshot payload is invalid");
140
+ }
141
+ const snapshot = parseExecutionSnapshot(decoded);
142
+ if (snapshot.executionId !== executionId)
143
+ throw new Error("Execution snapshot does not match this execution");
144
+ return snapshot;
145
+ }
146
+ //# sourceMappingURL=execution-snapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-snapshot.js","sourceRoot":"","sources":["../../src/threads/execution-snapshot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,374 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Host-side record of internal executions: task protocol v1 (#2805 step 1c).
4
+ *
5
+ * This is the execution host's authoritative ledger. The TUI request store
6
+ * separately correlates a localhost request with SSE output. Callers (General, the Lab adapter, Nightly)
7
+ * submit commands; the host owns state transitions; the worker only reports.
8
+ *
9
+ * Two local atomic boundaries, each one SQLite transaction:
10
+ * 1. A submit stores the command, the execution record and its schedulable
11
+ * state together before `accepted` is returned.
12
+ * 2. A state change, its result or event, and the pending delivery to the
13
+ * caller are stored together before the caller is notified.
14
+ *
15
+ * Delivery to the caller is at-least-once: an outbox row stays until the
16
+ * caller acknowledges that the event reached its own durable queue. Consumers
17
+ * deduplicate by `eventId`. The event `seq` is a transport cursor, distinct
18
+ * from the per-execution `revision` used for concurrency control.
19
+ */
20
+ export declare const EXECUTION_PROTOCOL_VERSION = 1;
21
+ export declare const EXECUTION_STATES: readonly ["queued", "running", "waiting_input", "cancel_requested", "succeeded", "failed", "cancelled"];
22
+ export type ExecutionState = (typeof EXECUTION_STATES)[number];
23
+ export declare function isTerminalExecutionState(state: ExecutionState): boolean;
24
+ /** A caller's internal recipient; never an arbitrary callback URL. */
25
+ export declare const ExecutionCallerSchema: z.ZodObject<{
26
+ kind: z.ZodEnum<{
27
+ general: "general";
28
+ tui: "tui";
29
+ lab: "lab";
30
+ nightly: "nightly";
31
+ }>;
32
+ ref: z.ZodString;
33
+ }, z.core.$strict>;
34
+ export type ExecutionCaller = z.infer<typeof ExecutionCallerSchema>;
35
+ export declare const CheckpointSchema: z.ZodObject<{
36
+ done: z.ZodDefault<z.ZodArray<z.ZodString>>;
37
+ remaining: z.ZodDefault<z.ZodArray<z.ZodString>>;
38
+ decisions: z.ZodDefault<z.ZodArray<z.ZodString>>;
39
+ blockers: z.ZodDefault<z.ZodArray<z.ZodString>>;
40
+ artifactRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
41
+ uncertainOperations: z.ZodDefault<z.ZodArray<z.ZodString>>;
42
+ }, z.core.$strict>;
43
+ export type ExecutionCheckpoint = z.infer<typeof CheckpointSchema>;
44
+ export declare const SubmitPayloadSchema: z.ZodObject<{
45
+ goal: z.ZodString;
46
+ requirements: z.ZodDefault<z.ZodArray<z.ZodString>>;
47
+ expectedOutput: z.ZodOptional<z.ZodString>;
48
+ contextSummary: z.ZodOptional<z.ZodString>;
49
+ inputRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
50
+ checkpoint: z.ZodOptional<z.ZodObject<{
51
+ done: z.ZodDefault<z.ZodArray<z.ZodString>>;
52
+ remaining: z.ZodDefault<z.ZodArray<z.ZodString>>;
53
+ decisions: z.ZodDefault<z.ZodArray<z.ZodString>>;
54
+ blockers: z.ZodDefault<z.ZodArray<z.ZodString>>;
55
+ artifactRefs: z.ZodDefault<z.ZodArray<z.ZodString>>;
56
+ uncertainOperations: z.ZodDefault<z.ZodArray<z.ZodString>>;
57
+ }, z.core.$strict>>;
58
+ title: z.ZodOptional<z.ZodString>;
59
+ foregroundToolCallsUsed: z.ZodDefault<z.ZodNumber>;
60
+ workspaceRef: z.ZodOptional<z.ZodString>;
61
+ workspaceMode: z.ZodOptional<z.ZodEnum<{
62
+ read_only: "read_only";
63
+ shared: "shared";
64
+ isolated: "isolated";
65
+ }>>;
66
+ parentTaskId: z.ZodOptional<z.ZodString>;
67
+ preparedWorkspace: z.ZodOptional<z.ZodBoolean>;
68
+ businessRead: z.ZodOptional<z.ZodBoolean>;
69
+ priorExecutionId: z.ZodOptional<z.ZodString>;
70
+ retryDispatchId: z.ZodOptional<z.ZodString>;
71
+ retrySpecification: z.ZodOptional<z.ZodString>;
72
+ }, z.core.$strict>;
73
+ export type SubmitPayload = z.infer<typeof SubmitPayloadSchema>;
74
+ export declare const EXECUTION_EVENT_TYPES: readonly ["accepted", "started", "progress", "question", "input_applied", "result", "stopped"];
75
+ export type ExecutionEventType = (typeof EXECUTION_EVENT_TYPES)[number];
76
+ export interface ExecutionRecord {
77
+ taskId: string;
78
+ executionId: string;
79
+ scope: string;
80
+ caller: ExecutionCaller;
81
+ state: ExecutionState;
82
+ revision: number;
83
+ /** Highest accepted input sequence; 0 means only the submit payload. */
84
+ inputSeq: number;
85
+ /** Highest input sequence the worker has applied to its context. */
86
+ processedInputSeq: number;
87
+ /** Bumped every time a process (re)acquires the execution; fences late writes. */
88
+ workerInstanceId: number;
89
+ /** Automatic resumptions after host restarts, capped by the host. */
90
+ autoResumeCount: number;
91
+ payload: SubmitPayload;
92
+ /** Signed execution snapshot, opaque to the store. */
93
+ snapshot: string;
94
+ openQuestionId: string | null;
95
+ result: ExecutionResult | null;
96
+ /** Accumulated task budget usage as the host holds it; null before the first report. */
97
+ usage: Record<string, unknown> | null;
98
+ createdAt: string;
99
+ updatedAt: string;
100
+ queuedAt: string;
101
+ startedAt: string | null;
102
+ cancelRequestedAt: string | null;
103
+ stoppedAt: string | null;
104
+ }
105
+ export interface ExecutionResult {
106
+ status: "succeeded" | "failed" | "cancelled";
107
+ summary?: string;
108
+ data?: Record<string, unknown>;
109
+ artifactRefs?: string[];
110
+ error?: {
111
+ code: string;
112
+ message: string;
113
+ };
114
+ checkpoint?: ExecutionCheckpoint;
115
+ processedInputSeq: number;
116
+ usage?: Record<string, unknown>;
117
+ }
118
+ export interface ExecutionEvent {
119
+ protocolVersion: typeof EXECUTION_PROTOCOL_VERSION;
120
+ eventId: string;
121
+ seq: number;
122
+ taskId: string;
123
+ executionId: string;
124
+ type: ExecutionEventType;
125
+ commandId?: string;
126
+ createdAt: string;
127
+ payload: Record<string, unknown>;
128
+ }
129
+ export interface ExecutionInput {
130
+ inputSeq: number;
131
+ executionId: string;
132
+ commandId: string;
133
+ questionId: string | null;
134
+ text: string;
135
+ createdAt: string;
136
+ }
137
+ export declare class ExecutionCommandConflictError extends Error {
138
+ constructor(message: string);
139
+ }
140
+ export type CommandOutcome<T> = {
141
+ kind: "ok";
142
+ replay: boolean;
143
+ value: T;
144
+ } | {
145
+ kind: "stale";
146
+ reason: string;
147
+ record: ExecutionRecord | null;
148
+ };
149
+ export interface SubmitResult {
150
+ accepted: true;
151
+ taskId: string;
152
+ executionId: string;
153
+ state: ExecutionState;
154
+ revision: number;
155
+ }
156
+ /** Fields shared by every mutating command; caller and scope come from the authenticated connection. */
157
+ export interface CommandEnvelope {
158
+ commandId: string;
159
+ caller: ExecutionCaller;
160
+ scope: string;
161
+ }
162
+ export declare function executionStorePath(): string;
163
+ export declare class ExecutionStore {
164
+ private readonly now;
165
+ private transactionDepth;
166
+ private readonly db;
167
+ private readonly statements;
168
+ private closed;
169
+ private readonly eventListeners;
170
+ /** Events appended inside the open transaction; published only after COMMIT. */
171
+ private uncommittedEvents;
172
+ constructor(dbPath?: string, now?: () => Date);
173
+ /**
174
+ * Accept a submit. A replay of the same commandId and content returns the
175
+ * original acceptance; the same key with other content is a conflict.
176
+ * A task that already has a live attempt is never given a second one.
177
+ */
178
+ submit(envelope: CommandEnvelope, input: {
179
+ taskId?: string;
180
+ retryOf?: string;
181
+ payload: unknown;
182
+ snapshot: string;
183
+ executionId?: string;
184
+ }): CommandOutcome<SubmitResult>;
185
+ /**
186
+ * Record an execution the host admits and starts in one step (#2805 1d):
187
+ * a LabRun keeps its own Fin-App lease and capacity contract, so it never
188
+ * sits in this queue. Idempotent on `executionId`; a second admission of the
189
+ * same id returns the existing record instead of creating a new attempt.
190
+ */
191
+ admitAndStart(input: {
192
+ executionId: string;
193
+ taskId: string;
194
+ scope: string;
195
+ caller: ExecutionCaller;
196
+ payload: unknown;
197
+ snapshot: string;
198
+ process: {
199
+ pid: number;
200
+ processStart: string;
201
+ };
202
+ }): ExecutionRecord;
203
+ /**
204
+ * Host-initiated cancel for an execution whose caller is an external
205
+ * protocol (Fin-App cancel, lease loss). Same state rules as `cancel`.
206
+ */
207
+ requestHostCancel(executionId: string, reason: string): ExecutionRecord | null;
208
+ /** Store supplementary input. The worker reads it at its next injection boundary. */
209
+ sendInput(envelope: CommandEnvelope, input: {
210
+ executionId: string;
211
+ text: string;
212
+ questionId?: string;
213
+ }): CommandOutcome<{
214
+ inputSeq: number;
215
+ state: ExecutionState;
216
+ revision: number;
217
+ }>;
218
+ /**
219
+ * Record a cancel request. A queued execution has no executor yet and is
220
+ * cancelled immediately; anything running enters `cancel_requested` and only
221
+ * becomes `cancelled` once the host confirms the executor stopped.
222
+ */
223
+ cancel(envelope: CommandEnvelope, input: {
224
+ executionId: string;
225
+ reason?: string;
226
+ userInitiated?: boolean;
227
+ }): CommandOutcome<{
228
+ state: ExecutionState;
229
+ revision: number;
230
+ }>;
231
+ get(executionId: string): ExecutionRecord | null;
232
+ latestForTask(taskId: string, scope: string): ExecutionRecord | null;
233
+ listByState(state: ExecutionState): ExecutionRecord[];
234
+ liveExecutions(): ExecutionRecord[];
235
+ attemptsForTask(taskId: string, scope: string): ExecutionRecord[];
236
+ /** Atomic, synchronous admission of a set of Tasks. Events publish after commit. */
237
+ atomic<T>(operation: () => T): T;
238
+ /**
239
+ * The host admitted the execution onto an executor. Never emits `started`
240
+ * from the queue; returns the new writer generation the worker must present.
241
+ */
242
+ markStarted(executionId: string, process: {
243
+ pid: number;
244
+ processStart: string;
245
+ }): ExecutionRecord | null;
246
+ /** Record that the worker handed inputs up to `inputSeq` to its model context. */
247
+ markInputApplied(executionId: string, generation: number, inputSeq: number): boolean;
248
+ pendingInputs(executionId: string, afterSeq: number): ExecutionInput[];
249
+ recordProgress(executionId: string, generation: number, payload: {
250
+ summary: string;
251
+ checkpoint?: ExecutionCheckpoint;
252
+ }): boolean;
253
+ /** The worker needs an answer. The question is durable; the executor may be released. */
254
+ askQuestion(executionId: string, generation: number, question: {
255
+ text: string;
256
+ choices?: string[];
257
+ delivery?: "direct" | "review";
258
+ }): string | null;
259
+ /**
260
+ * Commit a worker-reported terminal result. The result applies only if the
261
+ * reporter is the current generation and has processed every accepted
262
+ * input; a late report after a committed cancel request becomes `cancelled`
263
+ * while its artifacts are still recorded.
264
+ */
265
+ completeExecution(executionId: string, generation: number, report: Omit<ExecutionResult, "status"> & {
266
+ status: "succeeded" | "failed";
267
+ }): {
268
+ committed: ExecutionState;
269
+ } | {
270
+ rejected: "stale_writer" | "terminal" | "not_running" | "unprocessed_input";
271
+ pendingInputSeq?: number;
272
+ };
273
+ /**
274
+ * The host verified that the executor for this generation is stopped:
275
+ * its process exited or was killed and reaped. Only now may the record go
276
+ * terminal and the next writer be admitted.
277
+ */
278
+ confirmStopped(executionId: string, generation: number, fallback: {
279
+ status: "failed" | "cancelled";
280
+ error: {
281
+ code: string;
282
+ message: string;
283
+ };
284
+ }): ExecutionRecord | null;
285
+ /**
286
+ * Drop a terminal execution's report content once its caller has applied
287
+ * it: `data`, `summary`, and error messages (codes stay). Used for
288
+ * maintenance executions, whose reports quote memory and conversation.
289
+ * Status, usage and every state transition are unchanged.
290
+ */
291
+ redactResultContent(executionId: string): boolean;
292
+ private truncateWal;
293
+ /**
294
+ * Put an interrupted running execution back in the queue under the same
295
+ * executionId. After `maxResumes` interruptions it fails instead, with the
296
+ * last interruption's cause in the error. A host restart is an
297
+ * interruption too (#2805: fail after 3 consecutive interruptions).
298
+ */
299
+ requeueForResume(executionId: string, generation: number, maxResumes: number, lastError?: string): ExecutionRecord | null;
300
+ /**
301
+ * Fail an execution whose executor can never succeed, e.g. it was refused
302
+ * at startup. Retrying would only fail the same way again.
303
+ */
304
+ failPermanently(executionId: string, generation: number, error: {
305
+ code: string;
306
+ message: string;
307
+ }): ExecutionRecord | null;
308
+ /** A waiting execution was answered and requeued; resume with the next generation. */
309
+ processOf(executionId: string): {
310
+ pid: number;
311
+ processStart: string;
312
+ workerInstanceId: number;
313
+ } | null;
314
+ /**
315
+ * Accumulated task budget usage, held by the host (#2805 1b). The worker
316
+ * reports it over IPC; a task cannot reset it by editing local files.
317
+ */
318
+ usageOf(executionId: string): Record<string, unknown> | null;
319
+ /**
320
+ * Merge a worker's usage report. Counters only grow: a report lower than
321
+ * what the host already holds (a reset local file, a replayed old report)
322
+ * cannot give the task its budget back.
323
+ */
324
+ recordUsage(executionId: string, generation: number, usage: Record<string, unknown>): boolean;
325
+ /** A host-side fact the caller must see, e.g. an executor that cannot be proven stopped. */
326
+ recordHostNotice(executionId: string, payload: Record<string, unknown>): boolean;
327
+ /**
328
+ * Whether another execution may still write to `workspaceRef`: it is
329
+ * running or stopping, or its executor has not been confirmed stopped.
330
+ */
331
+ hasLiveWriter(workspaceRef: string, exceptExecutionId?: string, reader?: boolean): boolean;
332
+ toolCallStarted(executionId: string, callId: string, toolName: string): void;
333
+ toolCallFinished(executionId: string, callId: string): void;
334
+ /** Calls that started but never finished: outcome unknown, verify before replay. */
335
+ unfinishedToolCalls(executionId: string): {
336
+ toolName: string;
337
+ callId: string;
338
+ }[];
339
+ eventsAfter(executionId: string, afterSeq: number): ExecutionEvent[];
340
+ /** Events still owed to their callers. */
341
+ dueDeliveries(limit?: number): {
342
+ event: ExecutionEvent;
343
+ caller: ExecutionCaller;
344
+ attempts: number;
345
+ }[];
346
+ /** The caller confirmed the event is in its own durable queue. */
347
+ acknowledgeDelivery(eventId: string): void;
348
+ deferDelivery(eventId: string, retryAt: Date): void;
349
+ /** After a host restart the callers are back too: retry every owed delivery now. */
350
+ rescheduleOwedDeliveries(): void;
351
+ /**
352
+ * Observe every committed event (live streams). Durable delivery to a
353
+ * caller still goes through the outbox; this is a best-effort live feed.
354
+ */
355
+ onEvent(listener: (event: ExecutionEvent, caller: ExecutionCaller) => void): () => void;
356
+ close(): void;
357
+ private command;
358
+ /** A task id is owned by the scope and caller that first submitted it. */
359
+ private ownsTask;
360
+ private owned;
361
+ private current;
362
+ private update;
363
+ private appendEvent;
364
+ private transaction;
365
+ /** The host-held usage, attached to every terminal result; cost stays unknown. */
366
+ private withUsage;
367
+ private timestamp;
368
+ private mustGetRow;
369
+ private mustGet;
370
+ private row;
371
+ private toRecord;
372
+ private toEvent;
373
+ }
374
+ //# sourceMappingURL=execution-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-store.d.ts","sourceRoot":"","sources":["../../src/threads/execution-store.ts"],"names":[],"mappings":"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"}