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
@@ -0,0 +1,115 @@
1
+ /**
2
+ * Transcript sources for Dreaming ingestion (#2805 stage 2).
3
+ *
4
+ * A source is one transcript session of one thread, read as a single ordered
5
+ * record stream across its live file and its archives. After a compaction the
6
+ * session trimmer moves older lines into append-only `*.archive.<date>.jsonl`
7
+ * files, and the image pruner rewrites live lines in place, so byte offsets in
8
+ * the live file are not stable. Records are therefore identified by the
9
+ * provider's own record id (Claude `uuid`, Pi `id`), with a hash of the raw
10
+ * line as the fallback, and the ingestion watermark names the last ingested
11
+ * record rather than a file position.
12
+ */
13
+ import type { VocabularySource } from "../vocabulary-evidence.js";
14
+ /** Bounds on one ingestion slice: small enough for one batch to finish safely. */
15
+ export declare const DREAM_SLICE_MAX_CHARS = 48000;
16
+ export declare const DREAM_SLICE_MAX_RECORDS = 400;
17
+ /**
18
+ * A few new records are not worth a worker session; they wait for more
19
+ * content, unless they are already old enough that nothing more is coming.
20
+ */
21
+ export declare const DREAM_MIN_SLICE_RECORDS = 4;
22
+ export declare const DREAM_SMALL_SLICE_MAX_AGE_MS: number;
23
+ /**
24
+ * A session seen for the first time is ingested from this far back. Older
25
+ * history was covered by the previous single-pass Dreaming or predates it;
26
+ * re-reading months of it on upgrade would cost far more than it adds.
27
+ */
28
+ export declare const DREAM_FIRST_INGESTION_WINDOW_MS: number;
29
+ type TranscriptKind = "claude" | "pi-general";
30
+ /**
31
+ * Every directory a single profile/thread dir can hold transcripts in. The
32
+ * Claude SDK writes under `~/.claude/projects/<slug>`; the Pi engine writes
33
+ * under `<profileDir>/pi-agent/general/sessions`. Transcripts the removed
34
+ * Coding session left under `pi-agent/coding/sessions` are not dreamed over.
35
+ */
36
+ export declare function transcriptDirsForProfileDir(profileDir: string): {
37
+ kind: TranscriptKind;
38
+ dir: string;
39
+ }[];
40
+ export interface TranscriptSource {
41
+ sourceKey: string;
42
+ threadId: string;
43
+ sessionId: string;
44
+ /** Non-content label for logs and prompts. */
45
+ label: string;
46
+ /** Archives first (oldest first), then the live file. */
47
+ files: string[];
48
+ newestMtimeMs: number;
49
+ }
50
+ export declare function sourceKeyFor(threadId: string, kind: string, sessionId: string): string;
51
+ /** Sessions of the main process and of every persisted thread, without reading their content. */
52
+ export declare function discoverTranscriptSources(threadIds: string[]): TranscriptSource[];
53
+ export interface TranscriptRecord {
54
+ key: string;
55
+ timestamp: string | null;
56
+ parsed: unknown;
57
+ }
58
+ /** Stable identity of a record across trimming into archives and in-place rewrites. */
59
+ export declare function transcriptRecordKey(parsed: unknown, line: string): string;
60
+ /**
61
+ * Read a source's records in order. A record that appears twice (the Pi
62
+ * session header is copied into the live file when older lines are archived)
63
+ * is kept once. Malformed lines carry nothing to ingest and are skipped.
64
+ */
65
+ export declare function readSourceRecords(source: Pick<TranscriptSource, "files">): TranscriptRecord[];
66
+ export interface IngestionWatermark {
67
+ /** Last ingested record; null until the first slice of the source is accepted. */
68
+ record: string | null;
69
+ /** Character offset into `record` while a long record spans slices. */
70
+ recordOffset?: number;
71
+ /** Rendered text hash paired with a non-zero recordOffset. */
72
+ recordTextHash?: string;
73
+ timestamp: string | null;
74
+ /** A source without a watermark starts after this instant, fixed when it is first seen. */
75
+ cutoffMs: number;
76
+ }
77
+ /**
78
+ * Cursor for the first text not yet ingested. The watermark record is looked
79
+ * up by key; if it no longer exists (archive retention removed it), records
80
+ * newer than its timestamp are pending.
81
+ */
82
+ export interface PendingStart {
83
+ index: number;
84
+ offset: number;
85
+ textHash?: string;
86
+ }
87
+ /** Resolve the next record and, for a long record, the next text offset. */
88
+ export declare function pendingStart(records: readonly TranscriptRecord[], watermark: IngestionWatermark): PendingStart;
89
+ /** Backwards-compatible index-only view for callers that do not need chunks. */
90
+ export declare function pendingStartIndex(records: readonly TranscriptRecord[], watermark: IngestionWatermark): number;
91
+ export interface BuiltSlice {
92
+ text: string;
93
+ /** Records with text in the slice. */
94
+ recordCount: number;
95
+ /** Last record covered, including trailing records that carry no text. */
96
+ lastRecord: TranscriptRecord | null;
97
+ /** Non-zero when the last record continues in a later slice. */
98
+ lastRecordOffset: number;
99
+ /** Rendered text hash paired with a non-zero lastRecordOffset. */
100
+ lastRecordTextHash: string | null;
101
+ /** Newest record timestamp with text in the slice, if any. */
102
+ newestTimestamp: string | null;
103
+ more: boolean;
104
+ sources: Record<string, VocabularySource>;
105
+ }
106
+ /**
107
+ * Take the next bounded run of records after `start` (or from `startOffset`
108
+ * within that record). Compact summaries
109
+ * restate earlier content and are covered without being shown. Source markers
110
+ * are namespaced by the source key, so a record keeps its source id after it
111
+ * moves from the live file into an archive.
112
+ */
113
+ export declare function buildSlice(records: readonly TranscriptRecord[], start: number, sourceKey: string, startOffset?: number, startTextHash?: string): BuiltSlice;
114
+ export {};
115
+ //# sourceMappingURL=dreaming-sources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dreaming-sources.d.ts","sourceRoot":"","sources":["../../../src/agent/nightly-maintenance/dreaming-sources.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,270 @@
1
+ /**
2
+ * Transcript sources for Dreaming ingestion (#2805 stage 2).
3
+ *
4
+ * A source is one transcript session of one thread, read as a single ordered
5
+ * record stream across its live file and its archives. After a compaction the
6
+ * session trimmer moves older lines into append-only `*.archive.<date>.jsonl`
7
+ * files, and the image pruner rewrites live lines in place, so byte offsets in
8
+ * the live file are not stable. Records are therefore identified by the
9
+ * provider's own record id (Claude `uuid`, Pi `id`), with a hash of the raw
10
+ * line as the fallback, and the ingestion watermark names the last ingested
11
+ * record rather than a file position.
12
+ */
13
+ import crypto from "node:crypto";
14
+ import fs from "node:fs";
15
+ import path from "node:path";
16
+ import { getConfigDir, getThreadDir } from "../../config/index.js";
17
+ import { discoverTranscriptSessionFiles } from "../../data-processing/transcript-discovery.js";
18
+ import { getClaudeTranscriptDirForProfileDir } from "../../utils/claude-transcripts.js";
19
+ import { collectTranscriptToolNames, extractTranscriptRecord, transcriptRecordEvidence, } from "../transcript-summarizer.js";
20
+ /** Bounds on one ingestion slice: small enough for one batch to finish safely. */
21
+ export const DREAM_SLICE_MAX_CHARS = 48_000;
22
+ export const DREAM_SLICE_MAX_RECORDS = 400;
23
+ /**
24
+ * A record larger than one slice is delivered in consecutive chunks. The
25
+ * ingestion watermark stores the character offset of the next chunk, so a
26
+ * successful batch can never move past text it did not show.
27
+ */
28
+ const RECORD_CONTINUATION_PREFIX = "[record continued from the previous batch]\n";
29
+ const RECORD_CONTINUATION_SUFFIX = "\n[record continues in the next batch]";
30
+ /**
31
+ * A few new records are not worth a worker session; they wait for more
32
+ * content, unless they are already old enough that nothing more is coming.
33
+ */
34
+ export const DREAM_MIN_SLICE_RECORDS = 4;
35
+ export const DREAM_SMALL_SLICE_MAX_AGE_MS = 7 * 24 * 60 * 60 * 1000;
36
+ /**
37
+ * A session seen for the first time is ingested from this far back. Older
38
+ * history was covered by the previous single-pass Dreaming or predates it;
39
+ * re-reading months of it on upgrade would cost far more than it adds.
40
+ */
41
+ export const DREAM_FIRST_INGESTION_WINDOW_MS = 72 * 60 * 60 * 1000;
42
+ /**
43
+ * Every directory a single profile/thread dir can hold transcripts in. The
44
+ * Claude SDK writes under `~/.claude/projects/<slug>`; the Pi engine writes
45
+ * under `<profileDir>/pi-agent/general/sessions`. Transcripts the removed
46
+ * Coding session left under `pi-agent/coding/sessions` are not dreamed over.
47
+ */
48
+ export function transcriptDirsForProfileDir(profileDir) {
49
+ return [
50
+ { kind: "claude", dir: getClaudeTranscriptDirForProfileDir(profileDir) },
51
+ { kind: "pi-general", dir: path.join(profileDir, "pi-agent", "general", "sessions") },
52
+ ];
53
+ }
54
+ export function sourceKeyFor(threadId, kind, sessionId) {
55
+ return crypto.createHash("sha256").update(`${threadId}\0${kind}\0${sessionId}`).digest("hex").slice(0, 32);
56
+ }
57
+ /** Sessions of the main process and of every persisted thread, without reading their content. */
58
+ export function discoverTranscriptSources(threadIds) {
59
+ const scopes = [
60
+ { threadId: "main", profileDir: getConfigDir() },
61
+ ...threadIds.map((threadId) => ({ threadId, profileDir: getThreadDir(threadId) })),
62
+ ];
63
+ const sources = [];
64
+ for (const { threadId, profileDir } of scopes) {
65
+ for (const { kind, dir } of transcriptDirsForProfileDir(profileDir)) {
66
+ let sessions;
67
+ try {
68
+ if (!fs.existsSync(dir))
69
+ continue;
70
+ sessions = discoverTranscriptSessionFiles(dir);
71
+ }
72
+ catch {
73
+ continue;
74
+ }
75
+ for (const session of sessions) {
76
+ let newestMtimeMs = 0;
77
+ const files = session.files.filter((file) => {
78
+ try {
79
+ newestMtimeMs = Math.max(newestMtimeMs, fs.statSync(file).mtimeMs);
80
+ return true;
81
+ }
82
+ catch {
83
+ return false; // vanished between discovery and stat
84
+ }
85
+ });
86
+ if (files.length === 0)
87
+ continue;
88
+ files.sort((a, b) => fileOrder(a) - fileOrder(b) || a.localeCompare(b));
89
+ sources.push({
90
+ sourceKey: sourceKeyFor(threadId, kind, session.sessionId),
91
+ threadId,
92
+ sessionId: session.sessionId,
93
+ label: `thread=${threadId} ${kind} session=${session.sessionId.slice(0, 8)}`,
94
+ files,
95
+ newestMtimeMs,
96
+ });
97
+ }
98
+ }
99
+ }
100
+ return sources;
101
+ }
102
+ /**
103
+ * Read order of a session's files: the undated legacy archive is the oldest,
104
+ * dated archives follow by date, the live file comes last. A plain name sort
105
+ * would put `x.archive.jsonl` after `x.archive.2026-09-05.jsonl`.
106
+ */
107
+ function fileOrder(file) {
108
+ const name = path.basename(file);
109
+ if (name.endsWith(".archive.jsonl"))
110
+ return 0;
111
+ const dated = /\.archive\.(\d{4})-(\d{2})-(\d{2})\.jsonl$/.exec(name);
112
+ if (dated)
113
+ return Number(`${dated[1]}${dated[2]}${dated[3]}`);
114
+ return Number.MAX_SAFE_INTEGER;
115
+ }
116
+ function asRecord(value) {
117
+ return typeof value === "object" && value !== null ? value : null;
118
+ }
119
+ /** Stable identity of a record across trimming into archives and in-place rewrites. */
120
+ export function transcriptRecordKey(parsed, line) {
121
+ const obj = asRecord(parsed);
122
+ const id = [obj?.uuid, obj?.id].find((value) => typeof value === "string" && value.trim().length > 0);
123
+ return id ? `id:${id}` : `line:${crypto.createHash("sha256").update(line).digest("hex").slice(0, 24)}`;
124
+ }
125
+ /**
126
+ * Read a source's records in order. A record that appears twice (the Pi
127
+ * session header is copied into the live file when older lines are archived)
128
+ * is kept once. Malformed lines carry nothing to ingest and are skipped.
129
+ */
130
+ export function readSourceRecords(source) {
131
+ const records = [];
132
+ const seen = new Set();
133
+ for (const file of source.files) {
134
+ let content;
135
+ try {
136
+ content = fs.readFileSync(file, "utf8");
137
+ }
138
+ catch (error) {
139
+ if (error.code === "ENOENT")
140
+ continue;
141
+ throw error;
142
+ }
143
+ for (const line of content.split("\n")) {
144
+ if (!line.trim())
145
+ continue;
146
+ let parsed;
147
+ try {
148
+ parsed = JSON.parse(line);
149
+ }
150
+ catch {
151
+ continue;
152
+ }
153
+ const key = transcriptRecordKey(parsed, line);
154
+ if (seen.has(key))
155
+ continue;
156
+ seen.add(key);
157
+ const timestamp = asRecord(parsed)?.timestamp;
158
+ records.push({ key, timestamp: typeof timestamp === "string" ? timestamp : null, parsed });
159
+ }
160
+ }
161
+ return records;
162
+ }
163
+ /** Resolve the next record and, for a long record, the next text offset. */
164
+ export function pendingStart(records, watermark) {
165
+ let after = watermark.cutoffMs;
166
+ if (watermark.record !== null) {
167
+ const index = records.findIndex((record) => record.key === watermark.record);
168
+ if (index >= 0) {
169
+ const offset = Math.max(0, watermark.recordOffset ?? 0);
170
+ return offset > 0
171
+ ? { index, offset, textHash: watermark.recordTextHash }
172
+ : { index: index + 1, offset: 0 };
173
+ }
174
+ // A lost watermark without a timestamp cannot be placed; treat the history
175
+ // as ingested rather than replaying all of it.
176
+ after = watermark.timestamp ? Date.parse(watermark.timestamp) : Number.NaN;
177
+ if (Number.isNaN(after))
178
+ return { index: records.length, offset: 0 };
179
+ }
180
+ const index = records.findIndex((record) => record.timestamp !== null && Date.parse(record.timestamp) > after);
181
+ return { index: index < 0 ? records.length : index, offset: 0 };
182
+ }
183
+ /** Backwards-compatible index-only view for callers that do not need chunks. */
184
+ export function pendingStartIndex(records, watermark) {
185
+ return pendingStart(records, watermark).index;
186
+ }
187
+ /**
188
+ * Take the next bounded run of records after `start` (or from `startOffset`
189
+ * within that record). Compact summaries
190
+ * restate earlier content and are covered without being shown. Source markers
191
+ * are namespaced by the source key, so a record keeps its source id after it
192
+ * moves from the live file into an archive.
193
+ */
194
+ export function buildSlice(records, start, sourceKey, startOffset = 0, startTextHash) {
195
+ const toolNames = collectTranscriptToolNames(records.map((record) => record.parsed));
196
+ const texts = [];
197
+ const sources = {};
198
+ let chars = 0;
199
+ let index = start;
200
+ let lastRecord = null;
201
+ let lastRecordOffset = 0;
202
+ let lastRecordTextHash = null;
203
+ let newestTimestamp = null;
204
+ while (index < records.length) {
205
+ const record = records[index];
206
+ const extracted = extractTranscriptRecord(record.parsed, sourceKey);
207
+ if (extracted && !extracted.isCompactSummary) {
208
+ const currentTextHash = crypto.createHash("sha256").update(extracted.text, "utf8").digest("hex");
209
+ const offset = index === start && (!startTextHash || startTextHash === currentTextHash)
210
+ ? Math.max(0, startOffset)
211
+ : 0;
212
+ const boundedOffset = Math.min(offset, extracted.text.length);
213
+ const remaining = extracted.text.slice(boundedOffset);
214
+ if (!remaining) {
215
+ lastRecord = record;
216
+ lastRecordOffset = 0;
217
+ lastRecordTextHash = null;
218
+ index += 1;
219
+ continue;
220
+ }
221
+ const separator = texts.length > 0 ? 2 : 0;
222
+ if (texts.length >= DREAM_SLICE_MAX_RECORDS || chars + separator >= DREAM_SLICE_MAX_CHARS)
223
+ break;
224
+ const continuationPrefix = boundedOffset > 0 ? RECORD_CONTINUATION_PREFIX : "";
225
+ const budget = DREAM_SLICE_MAX_CHARS - chars - separator;
226
+ const fullFits = continuationPrefix.length + remaining.length <= budget;
227
+ // Leave room for an explicit marker when the record must continue. The
228
+ // marker is part of the prompt, never part of the persisted offset.
229
+ if (!fullFits && budget <= continuationPrefix.length + RECORD_CONTINUATION_SUFFIX.length + 1)
230
+ break;
231
+ const rawLength = fullFits
232
+ ? remaining.length
233
+ : Math.max(1, budget - continuationPrefix.length - RECORD_CONTINUATION_SUFFIX.length);
234
+ const partial = rawLength < remaining.length;
235
+ const raw = remaining.slice(0, rawLength);
236
+ const text = `${continuationPrefix}${raw}${partial ? RECORD_CONTINUATION_SUFFIX : ""}`;
237
+ texts.push(text);
238
+ chars += text.length + separator;
239
+ if (record.timestamp)
240
+ newestTimestamp = record.timestamp;
241
+ for (const [id, source] of transcriptRecordEvidence(record.parsed, sourceKey, toolNames)) {
242
+ if (!text.includes(`sourceId=${id}`))
243
+ continue;
244
+ sources[id] = partial ? { ...source, text: source.text.slice(0, raw.length) } : source;
245
+ }
246
+ lastRecord = record;
247
+ lastRecordOffset = partial ? boundedOffset + raw.length : 0;
248
+ lastRecordTextHash = partial ? currentTextHash : null;
249
+ index += 1;
250
+ if (partial)
251
+ break;
252
+ continue;
253
+ }
254
+ lastRecord = record;
255
+ lastRecordOffset = 0;
256
+ lastRecordTextHash = null;
257
+ index += 1;
258
+ }
259
+ return {
260
+ text: texts.join("\n\n"),
261
+ recordCount: texts.length,
262
+ lastRecord,
263
+ lastRecordOffset,
264
+ lastRecordTextHash,
265
+ newestTimestamp,
266
+ more: lastRecordOffset > 0 || index < records.length,
267
+ sources,
268
+ };
269
+ }
270
+ //# sourceMappingURL=dreaming-sources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dreaming-sources.js","sourceRoot":"","sources":["../../../src/agent/nightly-maintenance/dreaming-sources.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,31 @@
1
- import type { DreamingTarget } from "./memory-dreaming-sweep.js";
2
1
  export declare const NIGHTLY_RESTART_MIN_UPTIME_MS: number;
2
+ /**
3
+ * Dreaming steps in a row that may fail or be blocked before Dreaming is
4
+ * ended for the night, so a persistent fault (an unreadable ledger, an
5
+ * executor that cannot be proven stopped) cannot also skip the restart.
6
+ */
7
+ export declare const MAX_DREAM_STALLS = 6;
3
8
  export declare function localDayNumber(now: Date): number;
4
9
  export declare function inNightlyMaintenanceWindow(now: Date): boolean;
10
+ /** What one Dreaming step did; the batch's own outcome lives in the Dreaming ledger. */
11
+ export type DreamStepOutcome =
12
+ /** Nothing left to ingest or review tonight. */
13
+ "idle"
14
+ /** One batch ran to a confirmed stop and its outcome was applied. */
15
+ | "batch"
16
+ /** Preempted by other work: give way until the next maintenance tick. */
17
+ | "yielded"
18
+ /** A batch could not start or a previous executor is not yet stopped; retry on a later tick. */
19
+ | "blocked";
5
20
  export interface NightlyMaintenanceOptions {
6
21
  /** Synchronously claim an idle main loop AND pause worker dispatch. */
7
22
  tryAcquire: () => (() => void) | null;
8
23
  hasPendingSkills: () => boolean;
9
24
  learnSkill: () => Promise<void>;
10
- dreamingTargets: () => DreamingTarget[];
11
- dream: (target: DreamingTarget) => Promise<void>;
12
- /** Honor the old dreaming latch when upgrading during the night. */
13
- lastDreamedDay: () => number | null;
25
+ /** Once per night, before the first Dreaming batch (e.g. glossary decay). */
26
+ startDreaming: () => void;
27
+ /** Run one bounded Dreaming batch to a confirmed stop. */
28
+ dreamBatch: (localDay: number) => Promise<DreamStepOutcome>;
14
29
  canRestart: () => boolean;
15
30
  /** Holds the admission gate through shutdown and process exit. */
16
31
  restart: () => Promise<never>;
@@ -19,9 +34,14 @@ export interface NightlyMaintenanceOptions {
19
34
  }
20
35
  /**
21
36
  * One nightly workflow, advanced only at the main loop's idle boundary.
22
- * Each call runs one skill or one transcript, then releases worker admission
23
- * so queued user work wins before the next step. Heartbeats only request a
24
- * maintenance wake; they never execute work in parallel with the main loop.
37
+ * Each call runs one skill or one Dreaming batch, then releases worker
38
+ * admission so queued user work wins before the next step. Heartbeats only
39
+ * request a maintenance wake; they never execute work in parallel with the
40
+ * main loop.
41
+ *
42
+ * Dreaming progress lives in its own ledger (ingestion watermarks and review
43
+ * hashes), not here: this file only records which phase tonight is in. An
44
+ * interrupted or failed batch therefore neither repeats nor loses work.
25
45
  */
26
46
  export declare class NightlyMaintenance {
27
47
  private readonly options;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agent/nightly-maintenance/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,eAAO,MAAM,6BAA6B,QAAsB,CAAC;AASjE,wBAAgB,cAAc,CAAC,GAAG,EAAE,IAAI,GAAG,MAAM,CAEhD;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,IAAI,GAAG,OAAO,CAE7D;AAED,MAAM,WAAW,yBAAyB;IACxC,uEAAuE;IACvE,UAAU,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IACtC,gBAAgB,EAAE,MAAM,OAAO,CAAC;IAChC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,eAAe,EAAE,MAAM,cAAc,EAAE,CAAC;IACxC,KAAK,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,oEAAoE;IACpE,cAAc,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACpC,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,kEAAkE;IAClE,OAAO,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,qBAAa,kBAAkB;IAIjB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;gBAEK,OAAO,EAAE,yBAAyB;IAE/D,IAAI,SAAS,IAAI,OAAO,CAAwB;IAEhD,IAAI,IAAI,IAAI;IAEZ,KAAK,IAAI,OAAO;IAOhB,4EAA4E;IACtE,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAgDrC,OAAO,CAAC,GAAG;IAEX,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,YAAY;CAOrB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agent/nightly-maintenance/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,6BAA6B,QAAsB,CAAC;AACjE;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAYlC,wBAAgB,cAAc,CAAC,GAAG,EAAE,IAAI,GAAG,MAAM,CAEhD;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,IAAI,GAAG,OAAO,CAE7D;AAED,wFAAwF;AACxF,MAAM,MAAM,gBAAgB;AAC1B,gDAAgD;AAC9C,MAAM;AACR,qEAAqE;GACnE,OAAO;AACT,yEAAyE;GACvE,SAAS;AACX,gGAAgG;GAC9F,SAAS,CAAC;AAEd,MAAM,WAAW,yBAAyB;IACxC,uEAAuE;IACvE,UAAU,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IACtC,gBAAgB,EAAE,MAAM,OAAO,CAAC;IAChC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,6EAA6E;IAC7E,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,0DAA0D;IAC1D,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC5D,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,kEAAkE;IAClE,OAAO,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,kBAAkB;IAIjB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;gBAEK,OAAO,EAAE,yBAAyB;IAE/D,IAAI,SAAS,IAAI,OAAO,CAAwB;IAEhD,IAAI,IAAI,IAAI;IAEZ,KAAK,IAAI,OAAO;IAOhB,4EAA4E;IACtE,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IA0DrC,OAAO,CAAC,GAAG;IAEX,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,YAAY;CAOrB"}
@@ -4,11 +4,20 @@ import { z } from "zod";
4
4
  import { getSharedProfileDir } from "../../config/index.js";
5
5
  import { logger } from "../../logger.js";
6
6
  export const NIGHTLY_RESTART_MIN_UPTIME_MS = 20 * 60 * 60 * 1000;
7
+ /**
8
+ * Dreaming steps in a row that may fail or be blocked before Dreaming is
9
+ * ended for the night, so a persistent fault (an unreadable ledger, an
10
+ * executor that cannot be proven stopped) cannot also skip the restart.
11
+ */
12
+ export const MAX_DREAM_STALLS = 6;
7
13
  const ProgressSchema = z.object({
8
14
  localDay: z.number().int(),
9
15
  phase: z.enum(["learning", "dreaming", "restart", "done"]),
10
- dreams: z.array(z.object({ threadId: z.string(), transcriptPath: z.string() })).default([]),
11
- });
16
+ /** Dreaming batches finished tonight; observability only, never a gate. */
17
+ batches: z.number().int().nonnegative().default(0),
18
+ /** Consecutive Dreaming steps tonight that made no progress (errors, blocked starts). */
19
+ dreamStalls: z.number().int().nonnegative().default(0),
20
+ }).strip();
12
21
  export function localDayNumber(now) {
13
22
  return now.getFullYear() * 10_000 + (now.getMonth() + 1) * 100 + now.getDate();
14
23
  }
@@ -17,9 +26,14 @@ export function inNightlyMaintenanceWindow(now) {
17
26
  }
18
27
  /**
19
28
  * One nightly workflow, advanced only at the main loop's idle boundary.
20
- * Each call runs one skill or one transcript, then releases worker admission
21
- * so queued user work wins before the next step. Heartbeats only request a
22
- * maintenance wake; they never execute work in parallel with the main loop.
29
+ * Each call runs one skill or one Dreaming batch, then releases worker
30
+ * admission so queued user work wins before the next step. Heartbeats only
31
+ * request a maintenance wake; they never execute work in parallel with the
32
+ * main loop.
33
+ *
34
+ * Dreaming progress lives in its own ledger (ingestion watermarks and review
35
+ * hashes), not here: this file only records which phase tonight is in. An
36
+ * interrupted or failed batch therefore neither repeats nor loses work.
23
37
  */
24
38
  export class NightlyMaintenance {
25
39
  options;
@@ -54,21 +68,34 @@ export class NightlyMaintenance {
54
68
  return true;
55
69
  }
56
70
  progress.phase = "dreaming";
57
- progress.dreams = this.options.lastDreamedDay() === progress.localDay
58
- ? [] : this.options.dreamingTargets();
59
71
  this.saveProgress(progress);
72
+ this.options.startDreaming();
60
73
  }
61
74
  if (progress.phase === "dreaming") {
62
- const target = progress.dreams.shift();
63
- if (target) {
64
- // Record the attempt before running: a crash/failure must not dream
65
- // the same transcript on every tick. Content watermarks stay in the
66
- // dreaming implementation; the remaining queue survives a restart.
75
+ logger.system(`[nightly-maintenance] Dreaming batch ${progress.batches + 1}`);
76
+ let outcome;
77
+ try {
78
+ outcome = await this.options.dreamBatch(progress.localDay);
79
+ }
80
+ catch (err) {
81
+ logger.warn(`[nightly-maintenance] Dreaming step failed: ${err instanceof Error ? err.message : String(err)}`);
82
+ outcome = "blocked";
83
+ }
84
+ if (outcome === "batch") {
85
+ progress.batches += 1;
86
+ progress.dreamStalls = 0;
67
87
  this.saveProgress(progress);
68
- logger.system(`[nightly-maintenance] Dreaming thread=${target.threadId}`);
69
- await this.options.dream(target);
70
88
  return true;
71
89
  }
90
+ if (outcome === "yielded")
91
+ return false;
92
+ if (outcome === "blocked") {
93
+ progress.dreamStalls += 1;
94
+ this.saveProgress(progress);
95
+ if (progress.dreamStalls < MAX_DREAM_STALLS)
96
+ return false;
97
+ logger.warn(`[nightly-maintenance] Dreaming made no progress in ${MAX_DREAM_STALLS} attempts; ending it for tonight`);
98
+ }
72
99
  progress.phase = "restart";
73
100
  this.saveProgress(progress);
74
101
  }
@@ -101,7 +128,7 @@ export class NightlyMaintenance {
101
128
  return parsed.data;
102
129
  }
103
130
  catch { /* First run, unreadable state, or a new local day. */ }
104
- return { localDay, phase: "learning", dreams: [] };
131
+ return { localDay, phase: "learning", batches: 0, dreamStalls: 0 };
105
132
  }
106
133
  saveProgress(progress) {
107
134
  const file = this.statePath();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agent/nightly-maintenance/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agent/nightly-maintenance/index.ts"],"names":[],"mappings":"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"}
@@ -161,7 +161,7 @@ export async function runSkillLearningGate(cycleRunner) {
161
161
  const sourceHash = readPendingSourceHash(skillName);
162
162
  // Run the dedicated learning session (no messages, heartbeat-style trigger)
163
163
  try {
164
- await cycleRunner.run(contentBlocks, "heartbeat", [], "", 0);
164
+ await cycleRunner.run(contentBlocks, "heartbeat", [], 0);
165
165
  // Check if the agent successfully merged this skill (snapshot deleted)
166
166
  const stillPending = new Set(getPendingSkillUpdates());
167
167
  if (!stillPending.has(skillName)) {
@@ -1 +1 @@
1
- {"version":3,"file":"skill-learning-gate.js","sourceRoot":"","sources":["../../../src/agent/nightly-maintenance/skill-learning-gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-learning-gate.js","sourceRoot":"","sources":["../../../src/agent/nightly-maintenance/skill-learning-gate.ts"],"names":[],"mappings":"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"}