pulseed 0.4.0 → 0.4.2

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 (335) hide show
  1. package/dist/base/state/state-manager-goal-write.d.ts +22 -0
  2. package/dist/base/state/state-manager-goal-write.d.ts.map +1 -0
  3. package/dist/base/state/state-manager-goal-write.js +74 -0
  4. package/dist/base/state/state-manager-goal-write.js.map +1 -0
  5. package/dist/base/state/state-manager-wal.d.ts +11 -0
  6. package/dist/base/state/state-manager-wal.d.ts.map +1 -0
  7. package/dist/base/state/state-manager-wal.js +89 -0
  8. package/dist/base/state/state-manager-wal.js.map +1 -0
  9. package/dist/base/state/state-manager.d.ts +1 -4
  10. package/dist/base/state/state-manager.d.ts.map +1 -1
  11. package/dist/base/state/state-manager.js +18 -127
  12. package/dist/base/state/state-manager.js.map +1 -1
  13. package/dist/interface/chat/chat-runner.d.ts +1 -1
  14. package/dist/interface/chat/event-subscriber.d.ts +4 -0
  15. package/dist/interface/chat/event-subscriber.d.ts.map +1 -1
  16. package/dist/interface/chat/event-subscriber.js +49 -2
  17. package/dist/interface/chat/event-subscriber.js.map +1 -1
  18. package/dist/interface/chat/tend-command.d.ts +1 -1
  19. package/dist/interface/cli/cli-command-registry.js +1 -1
  20. package/dist/interface/cli/cli-command-registry.js.map +1 -1
  21. package/dist/interface/cli/commands/chat.js +2 -2
  22. package/dist/interface/cli/commands/daemon.d.ts.map +1 -1
  23. package/dist/interface/cli/commands/daemon.js +87 -44
  24. package/dist/interface/cli/commands/daemon.js.map +1 -1
  25. package/dist/interface/cli/commands/schedule.js +2 -2
  26. package/dist/interface/cli/commands/setup/steps-runtime.js +1 -1
  27. package/dist/interface/cli/ensure-api-key.d.ts +4 -1
  28. package/dist/interface/cli/ensure-api-key.d.ts.map +1 -1
  29. package/dist/interface/cli/ensure-api-key.js +52 -15
  30. package/dist/interface/cli/ensure-api-key.js.map +1 -1
  31. package/dist/interface/tui/app.d.ts +1 -1
  32. package/dist/interface/tui/chat/scroll.d.ts +14 -0
  33. package/dist/interface/tui/chat/scroll.d.ts.map +1 -0
  34. package/dist/interface/tui/chat/scroll.js +46 -0
  35. package/dist/interface/tui/chat/scroll.js.map +1 -0
  36. package/dist/interface/tui/chat/suggestions.d.ts +8 -0
  37. package/dist/interface/tui/chat/suggestions.d.ts.map +1 -0
  38. package/dist/interface/tui/chat/suggestions.js +112 -0
  39. package/dist/interface/tui/chat/suggestions.js.map +1 -0
  40. package/dist/interface/tui/chat/types.d.ts +31 -0
  41. package/dist/interface/tui/chat/types.d.ts.map +1 -0
  42. package/dist/interface/tui/chat/types.js +2 -0
  43. package/dist/interface/tui/chat/types.js.map +1 -0
  44. package/dist/interface/tui/chat/viewport.d.ts +3 -0
  45. package/dist/interface/tui/chat/viewport.d.ts.map +1 -0
  46. package/dist/interface/tui/chat/viewport.js +78 -0
  47. package/dist/interface/tui/chat/viewport.js.map +1 -0
  48. package/dist/interface/tui/chat.d.ts +5 -49
  49. package/dist/interface/tui/chat.d.ts.map +1 -1
  50. package/dist/interface/tui/chat.js +7 -236
  51. package/dist/interface/tui/chat.js.map +1 -1
  52. package/dist/interface/tui/entry.js +3 -3
  53. package/dist/interface/tui/use-loop.d.ts +1 -1
  54. package/dist/orchestrator/execution/task/task-lifecycle.d.ts +3 -0
  55. package/dist/orchestrator/execution/task/task-lifecycle.d.ts.map +1 -1
  56. package/dist/orchestrator/execution/task/task-lifecycle.js +3 -0
  57. package/dist/orchestrator/execution/task/task-lifecycle.js.map +1 -1
  58. package/dist/orchestrator/execution/task/task-verifier-rules.d.ts.map +1 -1
  59. package/dist/orchestrator/execution/task/task-verifier-rules.js +34 -2
  60. package/dist/orchestrator/execution/task/task-verifier-rules.js.map +1 -1
  61. package/dist/orchestrator/execution/task/task-verifier-types.d.ts +2 -0
  62. package/dist/orchestrator/execution/task/task-verifier-types.d.ts.map +1 -1
  63. package/dist/orchestrator/loop/checkpoint-manager-loop.d.ts +1 -1
  64. package/dist/orchestrator/loop/checkpoint-manager-loop.d.ts.map +1 -1
  65. package/dist/orchestrator/loop/core-loop/capability.d.ts +22 -0
  66. package/dist/orchestrator/loop/core-loop/capability.d.ts.map +1 -0
  67. package/dist/orchestrator/loop/core-loop/capability.js +151 -0
  68. package/dist/orchestrator/loop/core-loop/capability.js.map +1 -0
  69. package/dist/orchestrator/loop/core-loop/contracts.d.ts +245 -0
  70. package/dist/orchestrator/loop/core-loop/contracts.d.ts.map +1 -0
  71. package/dist/orchestrator/loop/core-loop/contracts.js +40 -0
  72. package/dist/orchestrator/loop/core-loop/contracts.js.map +1 -0
  73. package/dist/orchestrator/loop/core-loop/control.d.ts +27 -0
  74. package/dist/orchestrator/loop/core-loop/control.d.ts.map +1 -0
  75. package/dist/orchestrator/loop/core-loop/control.js +72 -0
  76. package/dist/orchestrator/loop/core-loop/control.js.map +1 -0
  77. package/dist/orchestrator/loop/core-loop/learning.d.ts +31 -0
  78. package/dist/orchestrator/loop/core-loop/learning.d.ts.map +1 -0
  79. package/dist/orchestrator/loop/core-loop/learning.js +92 -0
  80. package/dist/orchestrator/loop/core-loop/learning.js.map +1 -0
  81. package/dist/orchestrator/loop/core-loop/preparation.d.ts +63 -0
  82. package/dist/orchestrator/loop/core-loop/preparation.d.ts.map +1 -0
  83. package/dist/orchestrator/loop/core-loop/preparation.js +362 -0
  84. package/dist/orchestrator/loop/core-loop/preparation.js.map +1 -0
  85. package/dist/orchestrator/loop/core-loop/task-cycle.d.ts +29 -0
  86. package/dist/orchestrator/loop/core-loop/task-cycle.d.ts.map +1 -0
  87. package/dist/orchestrator/loop/core-loop/task-cycle.js +674 -0
  88. package/dist/orchestrator/loop/core-loop/task-cycle.js.map +1 -0
  89. package/dist/orchestrator/loop/core-loop-capability.d.ts +1 -24
  90. package/dist/orchestrator/loop/core-loop-capability.d.ts.map +1 -1
  91. package/dist/orchestrator/loop/core-loop-capability.js +1 -153
  92. package/dist/orchestrator/loop/core-loop-capability.js.map +1 -1
  93. package/dist/orchestrator/loop/core-loop-learning.d.ts +1 -34
  94. package/dist/orchestrator/loop/core-loop-learning.d.ts.map +1 -1
  95. package/dist/orchestrator/loop/core-loop-learning.js +1 -95
  96. package/dist/orchestrator/loop/core-loop-learning.js.map +1 -1
  97. package/dist/orchestrator/loop/core-loop-phases-b.d.ts +1 -31
  98. package/dist/orchestrator/loop/core-loop-phases-b.d.ts.map +1 -1
  99. package/dist/orchestrator/loop/core-loop-phases-b.js +1 -669
  100. package/dist/orchestrator/loop/core-loop-phases-b.js.map +1 -1
  101. package/dist/orchestrator/loop/core-loop-phases-c.d.ts +1 -26
  102. package/dist/orchestrator/loop/core-loop-phases-c.d.ts.map +1 -1
  103. package/dist/orchestrator/loop/core-loop-phases-c.js +1 -71
  104. package/dist/orchestrator/loop/core-loop-phases-c.js.map +1 -1
  105. package/dist/orchestrator/loop/core-loop-phases.d.ts +1 -68
  106. package/dist/orchestrator/loop/core-loop-phases.d.ts.map +1 -1
  107. package/dist/orchestrator/loop/core-loop-phases.js +1 -367
  108. package/dist/orchestrator/loop/core-loop-phases.js.map +1 -1
  109. package/dist/orchestrator/loop/core-loop-types.d.ts +1 -244
  110. package/dist/orchestrator/loop/core-loop-types.d.ts.map +1 -1
  111. package/dist/orchestrator/loop/core-loop-types.js +1 -39
  112. package/dist/orchestrator/loop/core-loop-types.js.map +1 -1
  113. package/dist/orchestrator/loop/core-loop.d.ts +3 -3
  114. package/dist/orchestrator/loop/core-loop.d.ts.map +1 -1
  115. package/dist/orchestrator/loop/core-loop.js +6 -6
  116. package/dist/orchestrator/loop/core-loop.js.map +1 -1
  117. package/dist/orchestrator/loop/loop-report-helper.d.ts +1 -1
  118. package/dist/orchestrator/loop/loop-report-helper.d.ts.map +1 -1
  119. package/dist/orchestrator/loop/parallel-dispatch.d.ts +2 -2
  120. package/dist/orchestrator/loop/parallel-dispatch.d.ts.map +1 -1
  121. package/dist/orchestrator/loop/post-loop-hooks.d.ts +1 -1
  122. package/dist/orchestrator/loop/post-loop-hooks.d.ts.map +1 -1
  123. package/dist/orchestrator/loop/tree-loop-runner.d.ts +1 -1
  124. package/dist/orchestrator/loop/tree-loop-runner.d.ts.map +1 -1
  125. package/dist/orchestrator/loop/tree-loop-runner.js +1 -1
  126. package/dist/orchestrator/loop/tree-loop-runner.js.map +1 -1
  127. package/dist/platform/dream/dream-schedule-suggestions.d.ts +1 -1
  128. package/dist/platform/drive/drive-system.d.ts +8 -0
  129. package/dist/platform/drive/drive-system.d.ts.map +1 -1
  130. package/dist/platform/drive/drive-system.js +39 -22
  131. package/dist/platform/drive/drive-system.js.map +1 -1
  132. package/dist/platform/observation/engine/observe-context.d.ts +4 -0
  133. package/dist/platform/observation/engine/observe-context.d.ts.map +1 -0
  134. package/dist/platform/observation/engine/observe-context.js +26 -0
  135. package/dist/platform/observation/engine/observe-context.js.map +1 -0
  136. package/dist/platform/observation/engine/observe-datasource-stage.d.ts +33 -0
  137. package/dist/platform/observation/engine/observe-datasource-stage.d.ts.map +1 -0
  138. package/dist/platform/observation/engine/observe-datasource-stage.js +66 -0
  139. package/dist/platform/observation/engine/observe-datasource-stage.js.map +1 -0
  140. package/dist/platform/observation/engine/observe-llm-stage.d.ts +25 -0
  141. package/dist/platform/observation/engine/observe-llm-stage.d.ts.map +1 -0
  142. package/dist/platform/observation/engine/observe-llm-stage.js +79 -0
  143. package/dist/platform/observation/engine/observe-llm-stage.js.map +1 -0
  144. package/dist/platform/observation/engine/observe-precheck.d.ts +21 -0
  145. package/dist/platform/observation/engine/observe-precheck.d.ts.map +1 -0
  146. package/dist/platform/observation/engine/observe-precheck.js +51 -0
  147. package/dist/platform/observation/engine/observe-precheck.js.map +1 -0
  148. package/dist/platform/observation/engine/observe-self-report.d.ts +18 -0
  149. package/dist/platform/observation/engine/observe-self-report.d.ts.map +1 -0
  150. package/dist/platform/observation/engine/observe-self-report.js +26 -0
  151. package/dist/platform/observation/engine/observe-self-report.js.map +1 -0
  152. package/dist/platform/observation/engine/observe-tool-stage.d.ts +21 -0
  153. package/dist/platform/observation/engine/observe-tool-stage.d.ts.map +1 -0
  154. package/dist/platform/observation/engine/observe-tool-stage.js +49 -0
  155. package/dist/platform/observation/engine/observe-tool-stage.js.map +1 -0
  156. package/dist/platform/observation/observation-engine.d.ts.map +1 -1
  157. package/dist/platform/observation/observation-engine.js +67 -246
  158. package/dist/platform/observation/observation-engine.js.map +1 -1
  159. package/dist/prompt/context-assembler.d.ts +61 -13
  160. package/dist/prompt/context-assembler.d.ts.map +1 -1
  161. package/dist/prompt/context-assembler.js +18 -3
  162. package/dist/prompt/context-assembler.js.map +1 -1
  163. package/dist/runtime/approval-broker.d.ts.map +1 -1
  164. package/dist/runtime/approval-broker.js +1 -0
  165. package/dist/runtime/approval-broker.js.map +1 -1
  166. package/dist/runtime/command-dispatcher.d.ts +35 -0
  167. package/dist/runtime/command-dispatcher.d.ts.map +1 -0
  168. package/dist/runtime/command-dispatcher.js +145 -0
  169. package/dist/runtime/command-dispatcher.js.map +1 -0
  170. package/dist/runtime/daemon/client.d.ts +67 -0
  171. package/dist/runtime/daemon/client.d.ts.map +1 -0
  172. package/dist/runtime/daemon/client.js +330 -0
  173. package/dist/runtime/daemon/client.js.map +1 -0
  174. package/dist/runtime/daemon/health.d.ts +31 -0
  175. package/dist/runtime/daemon/health.d.ts.map +1 -0
  176. package/dist/runtime/daemon/health.js +113 -0
  177. package/dist/runtime/daemon/health.js.map +1 -0
  178. package/dist/runtime/daemon/index.d.ts +9 -0
  179. package/dist/runtime/daemon/index.d.ts.map +1 -0
  180. package/dist/runtime/daemon/index.js +8 -0
  181. package/dist/runtime/daemon/index.js.map +1 -0
  182. package/dist/runtime/daemon/maintenance.d.ts +47 -0
  183. package/dist/runtime/daemon/maintenance.d.ts.map +1 -0
  184. package/dist/runtime/daemon/maintenance.js +230 -0
  185. package/dist/runtime/daemon/maintenance.js.map +1 -0
  186. package/dist/runtime/daemon/persistence.d.ts +20 -0
  187. package/dist/runtime/daemon/persistence.d.ts.map +1 -0
  188. package/dist/runtime/daemon/persistence.js +112 -0
  189. package/dist/runtime/daemon/persistence.js.map +1 -0
  190. package/dist/runtime/daemon/runner-lifecycle.d.ts +29 -0
  191. package/dist/runtime/daemon/runner-lifecycle.d.ts.map +1 -0
  192. package/dist/runtime/daemon/runner-lifecycle.js +56 -0
  193. package/dist/runtime/daemon/runner-lifecycle.js.map +1 -0
  194. package/dist/runtime/daemon/runner.d.ts +229 -0
  195. package/dist/runtime/daemon/runner.d.ts.map +1 -0
  196. package/dist/runtime/daemon/runner.js +875 -0
  197. package/dist/runtime/daemon/runner.js.map +1 -0
  198. package/dist/runtime/daemon/runtime-ownership.d.ts +30 -0
  199. package/dist/runtime/daemon/runtime-ownership.d.ts.map +1 -0
  200. package/dist/runtime/daemon/runtime-ownership.js +132 -0
  201. package/dist/runtime/daemon/runtime-ownership.js.map +1 -0
  202. package/dist/runtime/daemon/signals.d.ts +17 -0
  203. package/dist/runtime/daemon/signals.d.ts.map +1 -0
  204. package/dist/runtime/daemon/signals.js +31 -0
  205. package/dist/runtime/daemon/signals.js.map +1 -0
  206. package/dist/runtime/daemon/types.d.ts +8 -0
  207. package/dist/runtime/daemon/types.d.ts.map +1 -0
  208. package/dist/runtime/daemon/types.js +2 -0
  209. package/dist/runtime/daemon/types.js.map +1 -0
  210. package/dist/runtime/daemon-client.d.ts +1 -55
  211. package/dist/runtime/daemon-client.d.ts.map +1 -1
  212. package/dist/runtime/daemon-client.js +1 -297
  213. package/dist/runtime/daemon-client.js.map +1 -1
  214. package/dist/runtime/daemon-health.d.ts +1 -30
  215. package/dist/runtime/daemon-health.d.ts.map +1 -1
  216. package/dist/runtime/daemon-health.js +1 -112
  217. package/dist/runtime/daemon-health.js.map +1 -1
  218. package/dist/runtime/daemon-runner-lifecycle.d.ts +2 -0
  219. package/dist/runtime/daemon-runner-lifecycle.d.ts.map +1 -0
  220. package/dist/runtime/daemon-runner-lifecycle.js +2 -0
  221. package/dist/runtime/daemon-runner-lifecycle.js.map +1 -0
  222. package/dist/runtime/daemon-runner.d.ts +1 -231
  223. package/dist/runtime/daemon-runner.d.ts.map +1 -1
  224. package/dist/runtime/daemon-runner.js +1 -1042
  225. package/dist/runtime/daemon-runner.js.map +1 -1
  226. package/dist/runtime/daemon-runtime-ownership.d.ts +2 -0
  227. package/dist/runtime/daemon-runtime-ownership.d.ts.map +1 -0
  228. package/dist/runtime/daemon-runtime-ownership.js +2 -0
  229. package/dist/runtime/daemon-runtime-ownership.js.map +1 -0
  230. package/dist/runtime/daemon-signals.d.ts +1 -16
  231. package/dist/runtime/daemon-signals.d.ts.map +1 -1
  232. package/dist/runtime/daemon-signals.js +1 -30
  233. package/dist/runtime/daemon-signals.js.map +1 -1
  234. package/dist/runtime/event/dispatcher.d.ts +34 -0
  235. package/dist/runtime/event/dispatcher.d.ts.map +1 -0
  236. package/dist/runtime/event/dispatcher.js +124 -0
  237. package/dist/runtime/event/dispatcher.js.map +1 -0
  238. package/dist/runtime/event/index.d.ts +5 -0
  239. package/dist/runtime/event/index.d.ts.map +1 -0
  240. package/dist/runtime/event/index.js +5 -0
  241. package/dist/runtime/event/index.js.map +1 -0
  242. package/dist/runtime/event/server-snapshot-reader.d.ts +31 -0
  243. package/dist/runtime/event/server-snapshot-reader.d.ts.map +1 -0
  244. package/dist/runtime/event/server-snapshot-reader.js +94 -0
  245. package/dist/runtime/event/server-snapshot-reader.js.map +1 -0
  246. package/dist/runtime/event/server-sse.d.ts +25 -0
  247. package/dist/runtime/event/server-sse.d.ts.map +1 -0
  248. package/dist/runtime/event/server-sse.js +149 -0
  249. package/dist/runtime/event/server-sse.js.map +1 -0
  250. package/dist/runtime/event/server.d.ts +114 -0
  251. package/dist/runtime/event/server.d.ts.map +1 -0
  252. package/dist/runtime/event/server.js +651 -0
  253. package/dist/runtime/event/server.js.map +1 -0
  254. package/dist/runtime/event-dispatcher.d.ts +2 -0
  255. package/dist/runtime/event-dispatcher.d.ts.map +1 -0
  256. package/dist/runtime/event-dispatcher.js +2 -0
  257. package/dist/runtime/event-dispatcher.js.map +1 -0
  258. package/dist/runtime/event-server-snapshot-reader.d.ts +2 -0
  259. package/dist/runtime/event-server-snapshot-reader.d.ts.map +1 -0
  260. package/dist/runtime/event-server-snapshot-reader.js +2 -0
  261. package/dist/runtime/event-server-snapshot-reader.js.map +1 -0
  262. package/dist/runtime/event-server-sse.d.ts +2 -0
  263. package/dist/runtime/event-server-sse.d.ts.map +1 -0
  264. package/dist/runtime/event-server-sse.js +2 -0
  265. package/dist/runtime/event-server-sse.js.map +1 -0
  266. package/dist/runtime/event-server.d.ts +1 -91
  267. package/dist/runtime/event-server.d.ts.map +1 -1
  268. package/dist/runtime/event-server.js +1 -698
  269. package/dist/runtime/event-server.js.map +1 -1
  270. package/dist/runtime/executor/loop-supervisor.d.ts +9 -5
  271. package/dist/runtime/executor/loop-supervisor.d.ts.map +1 -1
  272. package/dist/runtime/executor/loop-supervisor.js +59 -76
  273. package/dist/runtime/executor/loop-supervisor.js.map +1 -1
  274. package/dist/runtime/gateway/http-channel-adapter.d.ts +1 -1
  275. package/dist/runtime/plugin-loader.d.ts +1 -1
  276. package/dist/runtime/queue/index.d.ts +0 -4
  277. package/dist/runtime/queue/index.d.ts.map +1 -1
  278. package/dist/runtime/queue/index.js +0 -2
  279. package/dist/runtime/queue/index.js.map +1 -1
  280. package/dist/runtime/queue/journal-backed-queue.d.ts.map +1 -1
  281. package/dist/runtime/queue/journal-backed-queue.js +2 -0
  282. package/dist/runtime/queue/journal-backed-queue.js.map +1 -1
  283. package/dist/runtime/schedule/engine-layers.d.ts +44 -0
  284. package/dist/runtime/schedule/engine-layers.d.ts.map +1 -0
  285. package/dist/runtime/schedule/engine-layers.js +433 -0
  286. package/dist/runtime/schedule/engine-layers.js.map +1 -0
  287. package/dist/runtime/schedule/engine.d.ts +82 -0
  288. package/dist/runtime/schedule/engine.d.ts.map +1 -0
  289. package/dist/runtime/schedule/engine.js +480 -0
  290. package/dist/runtime/schedule/engine.js.map +1 -0
  291. package/dist/runtime/schedule/index.d.ts +5 -0
  292. package/dist/runtime/schedule/index.d.ts.map +1 -0
  293. package/dist/runtime/schedule/index.js +5 -0
  294. package/dist/runtime/schedule/index.js.map +1 -0
  295. package/dist/runtime/schedule/presets.d.ts +536 -0
  296. package/dist/runtime/schedule/presets.d.ts.map +1 -0
  297. package/dist/runtime/schedule/presets.js +166 -0
  298. package/dist/runtime/schedule/presets.js.map +1 -0
  299. package/dist/runtime/schedule/source.d.ts +65 -0
  300. package/dist/runtime/schedule/source.d.ts.map +1 -0
  301. package/dist/runtime/schedule/source.js +16 -0
  302. package/dist/runtime/schedule/source.js.map +1 -0
  303. package/dist/runtime/schedule-engine-layers.d.ts +1 -43
  304. package/dist/runtime/schedule-engine-layers.d.ts.map +1 -1
  305. package/dist/runtime/schedule-engine-layers.js +1 -432
  306. package/dist/runtime/schedule-engine-layers.js.map +1 -1
  307. package/dist/runtime/schedule-engine.d.ts +1 -81
  308. package/dist/runtime/schedule-engine.d.ts.map +1 -1
  309. package/dist/runtime/schedule-engine.js +1 -479
  310. package/dist/runtime/schedule-engine.js.map +1 -1
  311. package/dist/runtime/schedule-presets.d.ts +1 -535
  312. package/dist/runtime/schedule-presets.d.ts.map +1 -1
  313. package/dist/runtime/schedule-presets.js +1 -165
  314. package/dist/runtime/schedule-presets.js.map +1 -1
  315. package/dist/runtime/schedule-source.d.ts +1 -64
  316. package/dist/runtime/schedule-source.d.ts.map +1 -1
  317. package/dist/runtime/schedule-source.js +1 -15
  318. package/dist/runtime/schedule-source.js.map +1 -1
  319. package/dist/runtime/types/daemon.d.ts.map +1 -1
  320. package/dist/runtime/types/daemon.js +2 -1
  321. package/dist/runtime/types/daemon.js.map +1 -1
  322. package/dist/runtime/watchdog.d.ts +44 -0
  323. package/dist/runtime/watchdog.d.ts.map +1 -0
  324. package/dist/runtime/watchdog.js +185 -0
  325. package/dist/runtime/watchdog.js.map +1 -0
  326. package/dist/tools/builtin/index.d.ts +1 -1
  327. package/dist/tools/schedule/CreateScheduleTool/CreateScheduleTool.d.ts +1 -1
  328. package/dist/tools/schedule/CreateScheduleTool/CreateScheduleTool.js +1 -1
  329. package/dist/tools/schedule/GetScheduleTool/GetScheduleTool.d.ts +1 -1
  330. package/dist/tools/schedule/ListSchedulesTool/ListSchedulesTool.d.ts +1 -1
  331. package/dist/tools/schedule/PauseScheduleTool/PauseScheduleTool.d.ts +1 -1
  332. package/dist/tools/schedule/RemoveScheduleTool/RemoveScheduleTool.d.ts +1 -1
  333. package/dist/tools/schedule/ResumeScheduleTool/ResumeScheduleTool.d.ts +1 -1
  334. package/dist/tools/schedule/UpdateScheduleTool/UpdateScheduleTool.d.ts +1 -1
  335. package/package.json +1 -1
@@ -1,166 +1,2 @@
1
- import { z } from "zod";
2
- import { ScheduleTriggerSchema, } from "./types/schedule.js";
3
- const RecordSchema = z.record(z.string(), z.unknown());
4
- const SchedulePresetBaseSchema = z.object({
5
- name: z.string().min(1).optional(),
6
- enabled: z.boolean().default(true),
7
- trigger: ScheduleTriggerSchema.optional(),
8
- });
9
- export const DailyBriefPresetInputSchema = SchedulePresetBaseSchema.extend({
10
- preset: z.literal("daily_brief"),
11
- context_sources: z.array(z.string()).default([]),
12
- });
13
- export const WeeklyReviewPresetInputSchema = SchedulePresetBaseSchema.extend({
14
- preset: z.literal("weekly_review"),
15
- context_sources: z.array(z.string()).default([]),
16
- });
17
- export const DreamConsolidationPresetInputSchema = SchedulePresetBaseSchema.extend({
18
- preset: z.literal("dream_consolidation"),
19
- context_sources: z.array(z.string()).default([]),
20
- });
21
- export const GoalProbePresetInputSchema = SchedulePresetBaseSchema.extend({
22
- preset: z.literal("goal_probe"),
23
- data_source_id: z.string().min(1),
24
- probe_dimension: z.string().optional(),
25
- query_params: RecordSchema.default({}),
26
- detector_mode: z.enum(["threshold", "diff", "presence"]).default("diff"),
27
- threshold_value: z.number().optional(),
28
- baseline_window: z.number().int().min(1).default(5),
29
- llm_on_change: z.boolean().default(true),
30
- llm_prompt_template: z.string().optional(),
31
- });
32
- export const SchedulePresetInputSchema = z.discriminatedUnion("preset", [
33
- DailyBriefPresetInputSchema,
34
- WeeklyReviewPresetInputSchema,
35
- DreamConsolidationPresetInputSchema,
36
- GoalProbePresetInputSchema,
37
- ]);
38
- const PRESET_DEFINITIONS = {
39
- daily_brief: {
40
- key: "daily_brief",
41
- title: "Daily brief",
42
- description: "Runs the morning planning reflection and delivers a concise daily briefing.",
43
- defaultTrigger: { type: "cron", expression: "0 9 * * *", timezone: "UTC" },
44
- dependencyHints: ["llm_client", "notification_dispatcher"],
45
- },
46
- weekly_review: {
47
- key: "weekly_review",
48
- title: "Weekly review",
49
- description: "Runs the weekly reflection review and emits a report plus notification.",
50
- defaultTrigger: { type: "cron", expression: "0 9 * * 1", timezone: "UTC" },
51
- dependencyHints: ["llm_client", "notification_dispatcher"],
52
- },
53
- dream_consolidation: {
54
- key: "dream_consolidation",
55
- title: "Dream consolidation",
56
- description: "Runs overnight consolidation for memory and stale knowledge cleanup.",
57
- defaultTrigger: { type: "cron", expression: "0 2 * * *", timezone: "UTC" },
58
- dependencyHints: ["memory_lifecycle", "knowledge_manager"],
59
- },
60
- goal_probe: {
61
- key: "goal_probe",
62
- title: "Goal probe",
63
- description: "Polls a data source and triggers change detection for goal-relevant signals.",
64
- defaultTrigger: { type: "interval", seconds: 3600, jitter_factor: 0 },
65
- dependencyHints: ["data_source_registry"],
66
- },
67
- };
68
- function cloneTrigger(trigger) {
69
- return trigger.type === "cron"
70
- ? { type: "cron", expression: trigger.expression, timezone: trigger.timezone ?? "UTC" }
71
- : { type: "interval", seconds: trigger.seconds, jitter_factor: trigger.jitter_factor ?? 0 };
72
- }
73
- export function listSchedulePresetDefinitions() {
74
- return Object.values(PRESET_DEFINITIONS).map((definition) => ({
75
- ...definition,
76
- defaultTrigger: cloneTrigger(definition.defaultTrigger),
77
- dependencyHints: [...definition.dependencyHints],
78
- }));
79
- }
80
- export function getSchedulePresetDefinition(key) {
81
- const definition = PRESET_DEFINITIONS[key];
82
- return {
83
- ...definition,
84
- defaultTrigger: cloneTrigger(definition.defaultTrigger),
85
- dependencyHints: [...definition.dependencyHints],
86
- };
87
- }
88
- function resolveTrigger(input) {
89
- return input.trigger ? input.trigger : cloneTrigger(PRESET_DEFINITIONS[input.preset].defaultTrigger);
90
- }
91
- export function buildSchedulePresetEntry(input) {
92
- const parsed = SchedulePresetInputSchema.parse(input);
93
- const definition = PRESET_DEFINITIONS[parsed.preset];
94
- const base = {
95
- name: parsed.name ?? definition.title,
96
- enabled: parsed.enabled,
97
- trigger: resolveTrigger(parsed),
98
- metadata: {
99
- source: "preset",
100
- preset_key: parsed.preset,
101
- dependency_hints: [...definition.dependencyHints],
102
- },
103
- };
104
- switch (parsed.preset) {
105
- case "daily_brief":
106
- return {
107
- ...base,
108
- layer: "cron",
109
- cron: {
110
- job_kind: "reflection",
111
- reflection_kind: "morning_planning",
112
- prompt_template: "Run the daily brief reflection workflow.",
113
- context_sources: parsed.context_sources,
114
- output_format: "notification",
115
- report_type: "daily_brief",
116
- max_tokens: 1200,
117
- },
118
- };
119
- case "weekly_review":
120
- return {
121
- ...base,
122
- layer: "cron",
123
- cron: {
124
- job_kind: "reflection",
125
- reflection_kind: "weekly_review",
126
- prompt_template: "Run the weekly review reflection workflow.",
127
- context_sources: parsed.context_sources,
128
- output_format: "both",
129
- report_type: "weekly_review",
130
- max_tokens: 2000,
131
- },
132
- };
133
- case "dream_consolidation":
134
- return {
135
- ...base,
136
- layer: "cron",
137
- cron: {
138
- job_kind: "reflection",
139
- reflection_kind: "dream_consolidation",
140
- prompt_template: "Run the dream consolidation workflow.",
141
- context_sources: parsed.context_sources,
142
- output_format: "report",
143
- report_type: "dream_consolidation",
144
- max_tokens: 1200,
145
- },
146
- };
147
- case "goal_probe":
148
- return {
149
- ...base,
150
- layer: "probe",
151
- probe: {
152
- data_source_id: parsed.data_source_id,
153
- probe_dimension: parsed.probe_dimension,
154
- query_params: parsed.query_params,
155
- change_detector: {
156
- mode: parsed.detector_mode,
157
- threshold_value: parsed.threshold_value,
158
- baseline_window: parsed.baseline_window,
159
- },
160
- llm_on_change: parsed.llm_on_change,
161
- llm_prompt_template: parsed.llm_prompt_template,
162
- },
163
- };
164
- }
165
- }
1
+ export * from "./schedule/presets.js";
166
2
  //# sourceMappingURL=schedule-presets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schedule-presets.js","sourceRoot":"","sources":["../../src/runtime/schedule-presets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schedule-presets.js","sourceRoot":"","sources":["../../src/runtime/schedule-presets.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
@@ -1,65 +1,2 @@
1
- import { z } from "zod";
2
- export declare const ExternalScheduleEntrySchema: z.ZodObject<{
3
- external_id: z.ZodString;
4
- source_id: z.ZodString;
5
- name: z.ZodString;
6
- layer: z.ZodEnum<["heartbeat", "probe", "cron", "goal_trigger"]>;
7
- trigger: z.ZodEffects<z.ZodObject<{
8
- type: z.ZodEnum<["cron", "interval"]>;
9
- expression: z.ZodOptional<z.ZodString>;
10
- seconds: z.ZodOptional<z.ZodNumber>;
11
- }, "strip", z.ZodTypeAny, {
12
- type: "cron" | "interval";
13
- expression?: string | undefined;
14
- seconds?: number | undefined;
15
- }, {
16
- type: "cron" | "interval";
17
- expression?: string | undefined;
18
- seconds?: number | undefined;
19
- }>, {
20
- type: "cron" | "interval";
21
- expression?: string | undefined;
22
- seconds?: number | undefined;
23
- }, {
24
- type: "cron" | "interval";
25
- expression?: string | undefined;
26
- seconds?: number | undefined;
27
- }>;
28
- metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
29
- synced_at: z.ZodString;
30
- }, "strip", z.ZodTypeAny, {
31
- name: string;
32
- trigger: {
33
- type: "cron" | "interval";
34
- expression?: string | undefined;
35
- seconds?: number | undefined;
36
- };
37
- layer: "heartbeat" | "probe" | "cron" | "goal_trigger";
38
- metadata: Record<string, unknown>;
39
- source_id: string;
40
- external_id: string;
41
- synced_at: string;
42
- }, {
43
- name: string;
44
- trigger: {
45
- type: "cron" | "interval";
46
- expression?: string | undefined;
47
- seconds?: number | undefined;
48
- };
49
- layer: "heartbeat" | "probe" | "cron" | "goal_trigger";
50
- source_id: string;
51
- external_id: string;
52
- synced_at: string;
53
- metadata?: Record<string, unknown> | undefined;
54
- }>;
55
- export type ExternalScheduleEntry = z.infer<typeof ExternalScheduleEntrySchema>;
56
- export interface IScheduleSource {
57
- readonly id: string;
58
- readonly name: string;
59
- fetchEntries(): Promise<ExternalScheduleEntry[]>;
60
- healthCheck(): Promise<{
61
- healthy: boolean;
62
- error?: string;
63
- }>;
64
- }
1
+ export * from "./schedule/source.js";
65
2
  //# sourceMappingURL=schedule-source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schedule-source.d.ts","sourceRoot":"","sources":["../../src/runtime/schedule-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAetC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAGhF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAGtB,YAAY,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAGjD,WAAW,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9D"}
1
+ {"version":3,"file":"schedule-source.d.ts","sourceRoot":"","sources":["../../src/runtime/schedule-source.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
@@ -1,16 +1,2 @@
1
- import { z } from "zod";
2
- // External schedule entry from a plugin source (e.g., Google Calendar, Jira)
3
- export const ExternalScheduleEntrySchema = z.object({
4
- external_id: z.string(), // ID in the external system
5
- source_id: z.string(), // which IScheduleSource provided this
6
- name: z.string(),
7
- layer: z.enum(['heartbeat', 'probe', 'cron', 'goal_trigger']),
8
- trigger: z.object({
9
- type: z.enum(['cron', 'interval']),
10
- expression: z.string().optional(), // for cron type
11
- seconds: z.number().optional(), // for interval type
12
- }).refine((t) => (t.type === 'cron' ? !!t.expression : !!t.seconds), { message: 'cron trigger requires expression, interval trigger requires seconds' }),
13
- metadata: z.record(z.unknown()).default({}), // source-specific data
14
- synced_at: z.string().datetime(),
15
- });
1
+ export * from "./schedule/source.js";
16
2
  //# sourceMappingURL=schedule-source.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schedule-source.js","sourceRoot":"","sources":["../../src/runtime/schedule-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,6EAA6E;AAC7E,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,EAAY,4BAA4B;IAC/D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAc,sCAAsC;IACzE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;IAC7D,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAClC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAG,gBAAgB;QACpD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAM,oBAAoB;KACzD,CAAC,CAAC,MAAM,CACP,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EACzD,EAAE,OAAO,EAAE,qEAAqE,EAAE,CACnF;IACD,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,uBAAuB;IACpE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC"}
1
+ {"version":3,"file":"schedule-source.js","sourceRoot":"","sources":["../../src/runtime/schedule-source.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../../src/runtime/types/daemon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6B7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAG9D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAG5D,eAAO,MAAM,aAAa;;;;;;;;;;;;EAIxB,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../../src/runtime/types/daemon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8B7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAG9D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAG5D,eAAO,MAAM,aAAa;;;;;;;;;;;;EAIxB,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { z } from "zod";
2
2
  // Daemon configuration
3
3
  export const DaemonConfigSchema = z.object({
4
- runtime_journal_v2: z.boolean().default(false),
4
+ // Deprecated compatibility flag. Durable runtime recovery is always enabled.
5
+ runtime_journal_v2: z.boolean().default(true),
5
6
  check_interval_ms: z.number().int().positive().default(300_000), // 5 min default
6
7
  pid_file: z.string().default("pulseed.pid"),
7
8
  log_dir: z.string().default("logs"),
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../../src/runtime/types/daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../../src/runtime/types/daemon.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import type { PIDManager } from "./pid-manager.js";
2
+ import type { LeaderLockManager } from "./leader-lock-manager.js";
3
+ import type { Logger } from "./logger.js";
4
+ import type { RuntimeHealthStore } from "./store/index.js";
5
+ export interface WatchdogChildProcess {
6
+ pid?: number;
7
+ kill(signal?: NodeJS.Signals | number): boolean;
8
+ once(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;
9
+ removeListener(event: "exit", listener: (code: number | null, signal: NodeJS.Signals | null) => void): this;
10
+ }
11
+ export interface RuntimeWatchdogOptions {
12
+ pidManager: PIDManager;
13
+ healthStore: RuntimeHealthStore;
14
+ leaderLockManager: LeaderLockManager;
15
+ logger: Pick<Logger, "info" | "warn" | "error">;
16
+ startChild: () => WatchdogChildProcess;
17
+ pollIntervalMs?: number;
18
+ heartbeatTimeoutMs?: number;
19
+ startupGraceMs?: number;
20
+ restartBackoffMs?: number;
21
+ maxRestartBackoffMs?: number;
22
+ childShutdownGraceMs?: number;
23
+ }
24
+ export declare class RuntimeWatchdog {
25
+ private readonly pidManager;
26
+ private readonly healthStore;
27
+ private readonly leaderLockManager;
28
+ private readonly logger;
29
+ private readonly startChild;
30
+ private readonly pollIntervalMs;
31
+ private readonly heartbeatTimeoutMs;
32
+ private readonly startupGraceMs;
33
+ private readonly restartBackoffMs;
34
+ private readonly maxRestartBackoffMs;
35
+ private readonly childShutdownGraceMs;
36
+ private currentChild;
37
+ private running;
38
+ private stopping;
39
+ constructor(options: RuntimeWatchdogOptions);
40
+ start(): Promise<void>;
41
+ stop(): void;
42
+ private monitorChild;
43
+ }
44
+ //# sourceMappingURL=watchdog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watchdog.d.ts","sourceRoot":"","sources":["../../src/runtime/watchdog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,MAAM,WAAW,oBAAoB;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAChD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,CAAC;IAClG,cAAc,CACZ,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,KAAK,IAAI,GACrE,IAAI,CAAC;CACT;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,kBAAkB,CAAC;IAChC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAChD,UAAU,EAAE,MAAM,oBAAoB,CAAC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAoBD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;IACjE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IACxD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,YAAY,CAAqC;IACzD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAS;gBAEb,OAAO,EAAE,sBAAsB;IAerC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkD5B,IAAI,IAAI,IAAI;YAWE,YAAY;CAoG3B"}
@@ -0,0 +1,185 @@
1
+ const DEFAULT_POLL_INTERVAL_MS = 1_000;
2
+ const DEFAULT_HEARTBEAT_TIMEOUT_MS = 15_000;
3
+ const DEFAULT_STARTUP_GRACE_MS = 20_000;
4
+ const DEFAULT_RESTART_BACKOFF_MS = 1_000;
5
+ const DEFAULT_MAX_RESTART_BACKOFF_MS = 30_000;
6
+ const DEFAULT_CHILD_SHUTDOWN_GRACE_MS = 5_000;
7
+ function sleep(ms) {
8
+ return new Promise((resolve) => setTimeout(resolve, ms));
9
+ }
10
+ export class RuntimeWatchdog {
11
+ pidManager;
12
+ healthStore;
13
+ leaderLockManager;
14
+ logger;
15
+ startChild;
16
+ pollIntervalMs;
17
+ heartbeatTimeoutMs;
18
+ startupGraceMs;
19
+ restartBackoffMs;
20
+ maxRestartBackoffMs;
21
+ childShutdownGraceMs;
22
+ currentChild = null;
23
+ running = false;
24
+ stopping = false;
25
+ constructor(options) {
26
+ this.pidManager = options.pidManager;
27
+ this.healthStore = options.healthStore;
28
+ this.leaderLockManager = options.leaderLockManager;
29
+ this.logger = options.logger;
30
+ this.startChild = options.startChild;
31
+ this.pollIntervalMs = options.pollIntervalMs ?? DEFAULT_POLL_INTERVAL_MS;
32
+ this.heartbeatTimeoutMs = options.heartbeatTimeoutMs ?? DEFAULT_HEARTBEAT_TIMEOUT_MS;
33
+ this.startupGraceMs = options.startupGraceMs ?? DEFAULT_STARTUP_GRACE_MS;
34
+ this.restartBackoffMs = options.restartBackoffMs ?? DEFAULT_RESTART_BACKOFF_MS;
35
+ this.maxRestartBackoffMs = options.maxRestartBackoffMs ?? DEFAULT_MAX_RESTART_BACKOFF_MS;
36
+ this.childShutdownGraceMs =
37
+ options.childShutdownGraceMs ?? DEFAULT_CHILD_SHUTDOWN_GRACE_MS;
38
+ }
39
+ async start() {
40
+ if (this.running) {
41
+ throw new Error("RuntimeWatchdog is already running");
42
+ }
43
+ if (await this.pidManager.isRunning()) {
44
+ const info = await this.pidManager.readPID();
45
+ throw new Error(`Daemon is already running (PID ${info?.pid ?? "unknown"}). Stop it first or remove the PID file at: ${this.pidManager.getPath()}`);
46
+ }
47
+ this.running = true;
48
+ this.stopping = false;
49
+ let restartDelayMs = this.restartBackoffMs;
50
+ await this.pidManager.writePID();
51
+ try {
52
+ while (!this.stopping) {
53
+ const child = this.startChild();
54
+ this.currentChild = child;
55
+ this.logger.info("Watchdog spawned daemon child", { pid: child.pid });
56
+ const result = await this.monitorChild(child);
57
+ this.currentChild = null;
58
+ if (this.stopping) {
59
+ break;
60
+ }
61
+ restartDelayMs = result.healthy
62
+ ? this.restartBackoffMs
63
+ : Math.min(restartDelayMs * 2, this.maxRestartBackoffMs);
64
+ this.logger.warn("Watchdog restarting daemon child", {
65
+ pid: child.pid,
66
+ reason: result.reason,
67
+ code: result.code,
68
+ signal: result.signal,
69
+ restart_delay_ms: restartDelayMs,
70
+ });
71
+ await sleep(restartDelayMs);
72
+ }
73
+ }
74
+ finally {
75
+ this.currentChild = null;
76
+ this.running = false;
77
+ await this.pidManager.cleanup();
78
+ }
79
+ }
80
+ stop() {
81
+ this.stopping = true;
82
+ const child = this.currentChild;
83
+ if (!child)
84
+ return;
85
+ try {
86
+ child.kill("SIGTERM");
87
+ }
88
+ catch {
89
+ // Ignore stop races.
90
+ }
91
+ }
92
+ async monitorChild(child) {
93
+ const startedAt = Date.now();
94
+ let healthy = false;
95
+ let unhealthyKillTriggered = false;
96
+ let pollInFlight = false;
97
+ let forceKillTimer = null;
98
+ return new Promise((resolve) => {
99
+ const cleanup = () => {
100
+ clearInterval(pollTimer);
101
+ if (forceKillTimer !== null) {
102
+ clearTimeout(forceKillTimer);
103
+ forceKillTimer = null;
104
+ }
105
+ child.removeListener("exit", onExit);
106
+ };
107
+ const onExit = (code, signal) => {
108
+ cleanup();
109
+ resolve({
110
+ code,
111
+ signal,
112
+ healthy,
113
+ reason: unhealthyKillTriggered ? "heartbeat_timeout" : "exit",
114
+ });
115
+ };
116
+ const triggerRestart = () => {
117
+ if (unhealthyKillTriggered || this.stopping)
118
+ return;
119
+ unhealthyKillTriggered = true;
120
+ this.logger.warn("Watchdog detected stale daemon heartbeat", {
121
+ pid: child.pid,
122
+ heartbeat_timeout_ms: this.heartbeatTimeoutMs,
123
+ });
124
+ try {
125
+ child.kill("SIGTERM");
126
+ }
127
+ catch {
128
+ // Ignore if the child already exited.
129
+ }
130
+ forceKillTimer = setTimeout(() => {
131
+ try {
132
+ child.kill("SIGKILL");
133
+ }
134
+ catch {
135
+ // Child already exited.
136
+ }
137
+ }, this.childShutdownGraceMs);
138
+ };
139
+ const pollTimer = setInterval(() => {
140
+ if (pollInFlight || this.stopping || unhealthyKillTriggered)
141
+ return;
142
+ pollInFlight = true;
143
+ void (async () => {
144
+ try {
145
+ const now = Date.now();
146
+ const [daemonHealth, leaderLock] = await Promise.all([
147
+ this.healthStore.loadDaemonHealth(),
148
+ this.leaderLockManager.read(),
149
+ ]);
150
+ const expectedPid = child.pid;
151
+ const healthPid = daemonHealth?.details &&
152
+ typeof daemonHealth.details["pid"] === "number"
153
+ ? daemonHealth.details["pid"]
154
+ : undefined;
155
+ const heartbeatFresh = daemonHealth !== null &&
156
+ daemonHealth.leader === true &&
157
+ healthPid === expectedPid &&
158
+ now - daemonHealth.checked_at <= this.heartbeatTimeoutMs;
159
+ const leaderFresh = leaderLock !== null &&
160
+ leaderLock.pid === expectedPid &&
161
+ leaderLock.lease_until > now;
162
+ if (heartbeatFresh && leaderFresh) {
163
+ healthy = true;
164
+ return;
165
+ }
166
+ if (now - startedAt < this.startupGraceMs) {
167
+ return;
168
+ }
169
+ triggerRestart();
170
+ }
171
+ catch (error) {
172
+ this.logger.warn("Watchdog failed to poll daemon heartbeat", {
173
+ error: error instanceof Error ? error.message : String(error),
174
+ });
175
+ }
176
+ finally {
177
+ pollInFlight = false;
178
+ }
179
+ })();
180
+ }, this.pollIntervalMs);
181
+ child.once("exit", onExit);
182
+ });
183
+ }
184
+ }
185
+ //# sourceMappingURL=watchdog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watchdog.js","sourceRoot":"","sources":["../../src/runtime/watchdog.ts"],"names":[],"mappings":"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"}
@@ -67,7 +67,7 @@ import type { StateManager } from "../../base/state/state-manager.js";
67
67
  import type { KnowledgeManager } from "../../platform/knowledge/knowledge-manager.js";
68
68
  import type { ToolRegistry } from "../registry.js";
69
69
  import type { PluginLoader } from "../../runtime/plugin-loader.js";
70
- import type { ScheduleEngine } from "../../runtime/schedule-engine.js";
70
+ import type { ScheduleEngine } from "../../runtime/schedule/engine.js";
71
71
  import type { TrustManager } from "../../platform/traits/trust-manager.js";
72
72
  export interface BuiltinToolDeps {
73
73
  stateManager?: StateManager;
@@ -1,6 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import type { ITool, ToolResult, ToolCallContext, PermissionCheckResult, ToolMetadata, ToolDescriptionContext } from "../../types.js";
3
- import type { ScheduleEngine } from "../../../runtime/schedule-engine.js";
3
+ import type { ScheduleEngine } from "../../../runtime/schedule/engine.js";
4
4
  import { type ScheduleEntry } from "../../../runtime/types/schedule.js";
5
5
  export declare const CreateScheduleInputSchema: z.ZodUnion<[z.ZodDiscriminatedUnion<"layer", [z.ZodObject<{
6
6
  name: z.ZodString;
@@ -1,6 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import { CronConfigSchema, EscalationConfigSchema, GoalTriggerConfigSchema, HeartbeatConfigSchema, ProbeConfigSchema, ScheduleTriggerSchema, } from "../../../runtime/types/schedule.js";
3
- import { SchedulePresetInputSchema, buildSchedulePresetEntry, } from "../../../runtime/schedule-presets.js";
3
+ import { SchedulePresetInputSchema, buildSchedulePresetEntry, } from "../../../runtime/schedule/presets.js";
4
4
  import { DESCRIPTION } from "./prompt.js";
5
5
  import { TAGS, READ_ONLY, PERMISSION_LEVEL } from "./constants.js";
6
6
  const BaseCreateScheduleInputSchema = z.object({
@@ -1,6 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import type { ITool, PermissionCheckResult, ToolCallContext, ToolDescriptionContext, ToolMetadata, ToolResult } from "../../types.js";
3
- import type { ScheduleEngine } from "../../../runtime/schedule-engine.js";
3
+ import type { ScheduleEngine } from "../../../runtime/schedule/engine.js";
4
4
  export declare const GetScheduleInputSchema: z.ZodObject<{
5
5
  schedule_id: z.ZodString;
6
6
  }, "strip", z.ZodTypeAny, {
@@ -1,6 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import type { ITool, PermissionCheckResult, ToolCallContext, ToolDescriptionContext, ToolMetadata, ToolResult } from "../../types.js";
3
- import type { ScheduleEngine } from "../../../runtime/schedule-engine.js";
3
+ import type { ScheduleEngine } from "../../../runtime/schedule/engine.js";
4
4
  export declare const ListSchedulesInputSchema: z.ZodObject<{
5
5
  layer: z.ZodOptional<z.ZodEnum<["heartbeat", "probe", "cron", "goal_trigger"]>>;
6
6
  enabled: z.ZodOptional<z.ZodBoolean>;
@@ -1,6 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import type { ITool, PermissionCheckResult, ToolCallContext, ToolDescriptionContext, ToolMetadata, ToolResult } from "../../types.js";
3
- import type { ScheduleEngine } from "../../../runtime/schedule-engine.js";
3
+ import type { ScheduleEngine } from "../../../runtime/schedule/engine.js";
4
4
  import type { ScheduleEntry } from "../../../runtime/types/schedule.js";
5
5
  export declare const PauseScheduleInputSchema: z.ZodObject<{
6
6
  schedule_id: z.ZodString;
@@ -1,6 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import type { ITool, PermissionCheckResult, ToolCallContext, ToolDescriptionContext, ToolMetadata, ToolResult } from "../../types.js";
3
- import type { ScheduleEngine } from "../../../runtime/schedule-engine.js";
3
+ import type { ScheduleEngine } from "../../../runtime/schedule/engine.js";
4
4
  export declare const RemoveScheduleInputSchema: z.ZodObject<{
5
5
  schedule_id: z.ZodString;
6
6
  }, "strip", z.ZodTypeAny, {
@@ -1,6 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import type { ITool, PermissionCheckResult, ToolCallContext, ToolDescriptionContext, ToolMetadata, ToolResult } from "../../types.js";
3
- import type { ScheduleEngine } from "../../../runtime/schedule-engine.js";
3
+ import type { ScheduleEngine } from "../../../runtime/schedule/engine.js";
4
4
  import type { ScheduleEntry } from "../../../runtime/types/schedule.js";
5
5
  export declare const ResumeScheduleInputSchema: z.ZodObject<{
6
6
  schedule_id: z.ZodString;