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
@@ -0,0 +1,480 @@
1
+ import { CronExpressionParser } from "cron-parser";
2
+ import * as path from "node:path";
3
+ import * as net from "node:net";
4
+ import { randomUUID } from "node:crypto";
5
+ import { exec } from "node:child_process";
6
+ import { writeJsonFileAtomic, readJsonFileOrNull } from "../../base/utils/json-io.js";
7
+ import { ScheduleEntrySchema, ScheduleEntryListSchema, ScheduleResultSchema, } from "../types/schedule.js";
8
+ import { executeCron, executeGoalTrigger, executeProbe } from "./engine-layers.js";
9
+ const SCHEDULES_FILE = "schedules.json";
10
+ const noopLogger = {
11
+ info: (_msg, _ctx) => { },
12
+ warn: (_msg, _ctx) => { },
13
+ error: (_msg, _ctx) => { },
14
+ };
15
+ export class ScheduleEngine {
16
+ entries = [];
17
+ baseDir;
18
+ schedulesPath;
19
+ logger;
20
+ dataSourceRegistry;
21
+ llmClient;
22
+ notificationDispatcher;
23
+ coreLoop;
24
+ stateManager;
25
+ reportingEngine;
26
+ hookManager;
27
+ memoryLifecycle;
28
+ knowledgeManager;
29
+ constructor(deps) {
30
+ this.baseDir = deps.baseDir;
31
+ this.schedulesPath = path.join(deps.baseDir, SCHEDULES_FILE);
32
+ this.logger = deps.logger ?? noopLogger;
33
+ this.dataSourceRegistry = deps.dataSourceRegistry;
34
+ this.llmClient = deps.llmClient;
35
+ this.notificationDispatcher = deps.notificationDispatcher;
36
+ this.coreLoop = deps.coreLoop;
37
+ this.stateManager = deps.stateManager;
38
+ this.reportingEngine = deps.reportingEngine;
39
+ this.hookManager = deps.hookManager;
40
+ this.memoryLifecycle = deps.memoryLifecycle;
41
+ this.knowledgeManager = deps.knowledgeManager;
42
+ }
43
+ // ─── Persistence ───
44
+ async loadEntries() {
45
+ const raw = await readJsonFileOrNull(this.schedulesPath);
46
+ if (raw === null) {
47
+ this.entries = [];
48
+ return [];
49
+ }
50
+ const result = ScheduleEntryListSchema.safeParse(raw);
51
+ this.entries = result.success ? result.data : [];
52
+ return this.entries;
53
+ }
54
+ async saveEntries() {
55
+ await writeJsonFileAtomic(this.schedulesPath, this.entries);
56
+ }
57
+ getEntries() {
58
+ return this.entries;
59
+ }
60
+ // ─── Entry management ───
61
+ async addEntry(input) {
62
+ const now = new Date().toISOString();
63
+ const entry = ScheduleEntrySchema.parse({
64
+ ...input,
65
+ id: randomUUID(),
66
+ created_at: now,
67
+ updated_at: now,
68
+ last_fired_at: null,
69
+ next_fire_at: this.computeNextFireAt(input.trigger),
70
+ consecutive_failures: 0,
71
+ last_escalation_at: null,
72
+ baseline_results: [],
73
+ total_executions: 0,
74
+ total_tokens_used: 0,
75
+ });
76
+ this.entries.push(entry);
77
+ await this.saveEntries();
78
+ return entry;
79
+ }
80
+ async removeEntry(id) {
81
+ const before = this.entries.length;
82
+ this.entries = this.entries.filter((e) => e.id !== id);
83
+ if (this.entries.length === before)
84
+ return false;
85
+ await this.saveEntries();
86
+ return true;
87
+ }
88
+ async updateEntry(id, patch) {
89
+ const idx = this.entries.findIndex((entry) => entry.id === id);
90
+ if (idx === -1)
91
+ return null;
92
+ const hasUpdatableFields = patch.name !== undefined ||
93
+ patch.enabled !== undefined ||
94
+ patch.trigger !== undefined ||
95
+ patch.heartbeat !== undefined ||
96
+ patch.probe !== undefined ||
97
+ patch.cron !== undefined ||
98
+ patch.goal_trigger !== undefined ||
99
+ patch.escalation !== undefined;
100
+ if (!hasUpdatableFields) {
101
+ throw new Error("No updatable fields provided");
102
+ }
103
+ const current = this.entries[idx];
104
+ const layerConfigFields = [
105
+ ["heartbeat", patch.heartbeat],
106
+ ["probe", patch.probe],
107
+ ["cron", patch.cron],
108
+ ["goal_trigger", patch.goal_trigger],
109
+ ];
110
+ for (const [field, value] of layerConfigFields) {
111
+ if (value === undefined)
112
+ continue;
113
+ if (current.layer !== field) {
114
+ throw new Error(`Cannot update ${field} config for ${current.layer} entry`);
115
+ }
116
+ }
117
+ const nextEntry = { ...current };
118
+ if (patch.name !== undefined)
119
+ nextEntry.name = patch.name;
120
+ if (patch.enabled !== undefined)
121
+ nextEntry.enabled = patch.enabled;
122
+ if (patch.trigger !== undefined)
123
+ nextEntry.trigger = patch.trigger;
124
+ if (patch.heartbeat !== undefined)
125
+ nextEntry.heartbeat = patch.heartbeat;
126
+ if (patch.probe !== undefined)
127
+ nextEntry.probe = patch.probe;
128
+ if (patch.cron !== undefined)
129
+ nextEntry.cron = patch.cron;
130
+ if (patch.goal_trigger !== undefined)
131
+ nextEntry.goal_trigger = patch.goal_trigger;
132
+ if (patch.escalation !== undefined) {
133
+ if (patch.escalation === null) {
134
+ delete nextEntry.escalation;
135
+ }
136
+ else {
137
+ nextEntry.escalation = patch.escalation;
138
+ }
139
+ }
140
+ if (patch.trigger !== undefined || (current.enabled === false && patch.enabled === true)) {
141
+ nextEntry.next_fire_at = this.computeNextFireAt(nextEntry.trigger);
142
+ }
143
+ nextEntry.updated_at = new Date().toISOString();
144
+ const parsedEntry = ScheduleEntrySchema.parse(nextEntry);
145
+ const previousEntries = this.entries;
146
+ const nextEntries = [...this.entries];
147
+ nextEntries[idx] = parsedEntry;
148
+ this.entries = nextEntries;
149
+ try {
150
+ await this.saveEntries();
151
+ }
152
+ catch (error) {
153
+ this.entries = previousEntries;
154
+ throw error;
155
+ }
156
+ return parsedEntry;
157
+ }
158
+ // ─── Scheduling ───
159
+ async getDueEntries() {
160
+ const now = Date.now();
161
+ return this.entries.filter((e) => e.enabled && new Date(e.next_fire_at).getTime() <= now);
162
+ }
163
+ async tick() {
164
+ // Reset daily budget for entries whose budget_reset_at is null or in the past
165
+ const nowMs = Date.now();
166
+ for (let i = 0; i < this.entries.length; i++) {
167
+ const e = this.entries[i];
168
+ if (!e.budget_reset_at || new Date(e.budget_reset_at).getTime() <= nowMs) {
169
+ this.entries[i] = {
170
+ ...e,
171
+ tokens_used_today: 0,
172
+ budget_reset_at: new Date(nowMs + 24 * 60 * 60 * 1000).toISOString(),
173
+ };
174
+ }
175
+ }
176
+ const due = await this.getDueEntries();
177
+ const results = [];
178
+ for (const entry of due) {
179
+ let result;
180
+ if (entry.layer === "heartbeat") {
181
+ result = await this.executeHeartbeat(entry);
182
+ }
183
+ else if (entry.layer === "probe") {
184
+ result = await this.executeProbe(entry);
185
+ }
186
+ else if (entry.layer === "cron") {
187
+ result = await this.executeCron(entry);
188
+ }
189
+ else if (entry.layer === "goal_trigger") {
190
+ result = await this.executeGoalTrigger(entry);
191
+ }
192
+ else {
193
+ result = ScheduleResultSchema.parse({
194
+ entry_id: entry.id,
195
+ status: "skipped",
196
+ duration_ms: 0,
197
+ fired_at: new Date().toISOString(),
198
+ });
199
+ this.logger.info(`Skipping unknown layer entry: ${entry.name} (layer=${entry.layer})`);
200
+ }
201
+ // Update entry state
202
+ const idx = this.entries.findIndex((e) => e.id === entry.id);
203
+ if (idx !== -1) {
204
+ const e = this.entries[idx];
205
+ const newFailures = result.status === "error" || result.status === "down"
206
+ ? e.consecutive_failures + 1
207
+ : 0;
208
+ this.entries[idx] = {
209
+ ...e,
210
+ last_fired_at: result.fired_at,
211
+ next_fire_at: this.computeNextFireAt(e.trigger),
212
+ updated_at: new Date().toISOString(),
213
+ total_executions: e.total_executions + 1,
214
+ total_tokens_used: e.total_tokens_used + (result.tokens_used ?? 0),
215
+ tokens_used_today: (e.tokens_used_today ?? 0) + (result.tokens_used ?? 0),
216
+ consecutive_failures: newFailures,
217
+ };
218
+ // Circuit breaker: disable entry if threshold exceeded
219
+ if (e.escalation?.circuit_breaker_threshold &&
220
+ newFailures >= e.escalation.circuit_breaker_threshold) {
221
+ this.entries[idx].enabled = false;
222
+ this.logger.warn(`Entry "${e.name}" disabled by circuit breaker (${newFailures}/${e.escalation.circuit_breaker_threshold})`);
223
+ }
224
+ // Heartbeat failure threshold warning
225
+ if (result.status === "down" &&
226
+ e.heartbeat &&
227
+ newFailures >= e.heartbeat.failure_threshold) {
228
+ this.logger.warn(`Entry "${e.name}" reached failure threshold (${newFailures}/${e.heartbeat.failure_threshold})`);
229
+ }
230
+ // Escalation check
231
+ const escalationResult = await this.checkEscalation(this.entries[idx], result);
232
+ if (escalationResult !== null) {
233
+ result = escalationResult;
234
+ results.push(result);
235
+ continue;
236
+ }
237
+ }
238
+ results.push(result);
239
+ }
240
+ if (results.length > 0) {
241
+ await this.saveEntries();
242
+ }
243
+ return results;
244
+ }
245
+ // ─── Probe execution (Phase 2) ───
246
+ async executeProbe(entry) {
247
+ return executeProbe(entry, {
248
+ ...this.layerDeps(),
249
+ updateBaseline: (entryId, value, windowSize) => {
250
+ const idx = this.entries.findIndex((e) => e.id === entryId);
251
+ if (idx !== -1) {
252
+ const updated = [...this.entries[idx].baseline_results, value];
253
+ this.entries[idx] = {
254
+ ...this.entries[idx],
255
+ baseline_results: updated.slice(-windowSize),
256
+ };
257
+ }
258
+ },
259
+ });
260
+ }
261
+ // ─── Cron execution (Phase 3) ───
262
+ async executeCron(entry) {
263
+ return executeCron(entry, this.layerDeps());
264
+ }
265
+ // ─── GoalTrigger execution (Phase 3) ───
266
+ async executeGoalTrigger(entry) {
267
+ return executeGoalTrigger(entry, this.layerDeps());
268
+ }
269
+ layerDeps() {
270
+ return {
271
+ baseDir: this.baseDir,
272
+ dataSourceRegistry: this.dataSourceRegistry,
273
+ llmClient: this.llmClient,
274
+ notificationDispatcher: this.notificationDispatcher,
275
+ coreLoop: this.coreLoop,
276
+ stateManager: this.stateManager,
277
+ reportingEngine: this.reportingEngine,
278
+ hookManager: this.hookManager,
279
+ memoryLifecycle: this.memoryLifecycle,
280
+ knowledgeManager: this.knowledgeManager,
281
+ logger: this.logger,
282
+ };
283
+ }
284
+ // ─── Escalation logic ───
285
+ async checkEscalation(entry, result) {
286
+ const esc = entry.escalation;
287
+ if (!esc?.enabled)
288
+ return null;
289
+ const isFailure = result.status === "error" || result.status === "down";
290
+ if (!isFailure)
291
+ return null;
292
+ const now = Date.now();
293
+ // Check cooldown
294
+ if (entry.last_escalation_at) {
295
+ const lastEsc = new Date(entry.last_escalation_at).getTime();
296
+ if (now - lastEsc < esc.cooldown_minutes * 60 * 1000) {
297
+ this.logger.info(`Escalation for "${entry.name}" suppressed (cooldown)`);
298
+ return null;
299
+ }
300
+ }
301
+ // Rolling-window rate-limit: check escalation_timestamps within the last hour
302
+ const hourAgo = now - 60 * 60 * 1000;
303
+ const recentTimestamps = (entry.escalation_timestamps ?? []).filter((ts) => new Date(ts).getTime() > hourAgo);
304
+ if (recentTimestamps.length >= esc.max_per_hour) {
305
+ this.logger.info(`Escalation for "${entry.name}" suppressed (max_per_hour=${esc.max_per_hour} reached)`);
306
+ return null;
307
+ }
308
+ // Update last_escalation_at and rolling-window escalation_timestamps
309
+ const nowIso = new Date(now).toISOString();
310
+ const hourAgoForPrune = now - 60 * 60 * 1000;
311
+ const idx = this.entries.findIndex((e) => e.id === entry.id);
312
+ if (idx !== -1) {
313
+ const prunedTimestamps = [
314
+ ...(this.entries[idx].escalation_timestamps ?? []).filter((ts) => new Date(ts).getTime() > hourAgoForPrune),
315
+ nowIso,
316
+ ];
317
+ this.entries[idx] = {
318
+ ...this.entries[idx],
319
+ last_escalation_at: nowIso,
320
+ escalation_timestamps: prunedTimestamps,
321
+ };
322
+ }
323
+ // Dispatch escalation notification
324
+ await this.dispatchNotification({
325
+ report_type: "schedule_escalation",
326
+ entry_id: entry.id,
327
+ entry_name: entry.name,
328
+ target_layer: esc.target_layer,
329
+ target_entry_id: esc.target_entry_id,
330
+ consecutive_failures: entry.consecutive_failures,
331
+ });
332
+ this.logger.warn(`Escalating "${entry.name}" to ${esc.target_layer ?? "unknown"} (failures=${entry.consecutive_failures})`);
333
+ // Activate target entry if specified
334
+ if (esc.target_entry_id) {
335
+ const targetIdx = this.entries.findIndex((e) => e.id === esc.target_entry_id);
336
+ if (targetIdx !== -1) {
337
+ this.entries[targetIdx] = {
338
+ ...this.entries[targetIdx],
339
+ enabled: true,
340
+ next_fire_at: new Date().toISOString(), // fire immediately
341
+ };
342
+ }
343
+ }
344
+ return ScheduleResultSchema.parse({
345
+ ...result,
346
+ status: "escalated",
347
+ escalated_to: esc.target_entry_id ?? esc.target_layer ?? null,
348
+ });
349
+ }
350
+ // ─── Notification dispatch ───
351
+ async dispatchNotification(payload) {
352
+ if (!this.notificationDispatcher)
353
+ return;
354
+ try {
355
+ await this.notificationDispatcher.dispatch(payload);
356
+ }
357
+ catch (err) {
358
+ this.logger.warn(`Notification dispatch failed: ${err instanceof Error ? err.message : String(err)}`);
359
+ }
360
+ }
361
+ // ─── Heartbeat execution (Phase 1) ───
362
+ async executeHeartbeat(entry) {
363
+ const firedAt = new Date().toISOString();
364
+ const start = Date.now();
365
+ const cfg = entry.heartbeat;
366
+ if (!cfg) {
367
+ return ScheduleResultSchema.parse({
368
+ entry_id: entry.id,
369
+ status: "error",
370
+ duration_ms: 0,
371
+ error_message: "No heartbeat config",
372
+ fired_at: firedAt,
373
+ });
374
+ }
375
+ try {
376
+ const timeoutMs = cfg.timeout_ms;
377
+ const config = cfg.check_config;
378
+ switch (cfg.check_type) {
379
+ case "http":
380
+ await this.checkHttp(config.url, timeoutMs);
381
+ break;
382
+ case "tcp":
383
+ await this.checkTcp(config.host, config.port, timeoutMs);
384
+ break;
385
+ case "process":
386
+ this.checkProcess(config.pid);
387
+ break;
388
+ case "disk":
389
+ await this.checkDisk(config.path);
390
+ break;
391
+ case "custom":
392
+ await this.checkCustom(config.command, timeoutMs);
393
+ break;
394
+ }
395
+ return ScheduleResultSchema.parse({
396
+ entry_id: entry.id,
397
+ status: "ok",
398
+ duration_ms: Date.now() - start,
399
+ fired_at: firedAt,
400
+ });
401
+ }
402
+ catch (err) {
403
+ const msg = err instanceof Error ? err.message : String(err);
404
+ this.logger.error(`Heartbeat "${entry.name}" failed: ${msg}`);
405
+ return ScheduleResultSchema.parse({
406
+ entry_id: entry.id,
407
+ status: "down",
408
+ duration_ms: Date.now() - start,
409
+ error_message: msg,
410
+ fired_at: firedAt,
411
+ });
412
+ }
413
+ }
414
+ // ─── Check implementations ───
415
+ async checkHttp(url, timeoutMs) {
416
+ const controller = new AbortController();
417
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
418
+ try {
419
+ const res = await fetch(url, { signal: controller.signal });
420
+ if (!res.ok)
421
+ throw new Error(`HTTP ${res.status}`);
422
+ }
423
+ finally {
424
+ clearTimeout(timer);
425
+ }
426
+ }
427
+ checkTcp(host, port, timeoutMs) {
428
+ return new Promise((resolve, reject) => {
429
+ const socket = net.createConnection({ host, port }, () => {
430
+ socket.destroy();
431
+ resolve();
432
+ });
433
+ socket.setTimeout(timeoutMs);
434
+ socket.on("timeout", () => {
435
+ socket.destroy();
436
+ reject(new Error(`TCP timeout after ${timeoutMs}ms`));
437
+ });
438
+ socket.on("error", (err) => {
439
+ socket.destroy();
440
+ reject(err);
441
+ });
442
+ });
443
+ }
444
+ checkProcess(pid) {
445
+ process.kill(pid, 0); // throws if process doesn't exist
446
+ }
447
+ checkCustom(command, timeoutMs) {
448
+ return new Promise((resolve, reject) => {
449
+ exec(command, { timeout: timeoutMs }, (err) => {
450
+ if (err)
451
+ reject(err);
452
+ else
453
+ resolve();
454
+ });
455
+ });
456
+ }
457
+ async checkDisk(diskPath) {
458
+ const { statfs } = await import("node:fs/promises");
459
+ await statfs(diskPath); // throws if path doesn't exist
460
+ }
461
+ // ─── Schedule computation ───
462
+ computeNextFireAt(trigger) {
463
+ if (trigger.type === "cron") {
464
+ const next = CronExpressionParser.parse(trigger.expression, { tz: trigger.timezone || "UTC" }).next();
465
+ return next.toISOString() ?? new Date().toISOString();
466
+ }
467
+ let nextTime = new Date(Date.now() + trigger.seconds * 1000);
468
+ if (trigger.jitter_factor && trigger.jitter_factor > 0) {
469
+ const jitterMs = trigger.seconds * 1000 * trigger.jitter_factor * (Math.random() * 2 - 1);
470
+ nextTime = new Date(nextTime.getTime() + jitterMs);
471
+ }
472
+ // Clamp to at least now + 1s to avoid past-scheduling from negative jitter
473
+ const minTime = Date.now() + 1000;
474
+ if (nextTime.getTime() < minTime) {
475
+ nextTime = new Date(minTime);
476
+ }
477
+ return nextTime.toISOString();
478
+ }
479
+ }
480
+ //# sourceMappingURL=engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/runtime/schedule/engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export * from "./engine.js";
2
+ export * from "./engine-layers.js";
3
+ export * from "./presets.js";
4
+ export * from "./source.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/schedule/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from "./engine.js";
2
+ export * from "./engine-layers.js";
3
+ export * from "./presets.js";
4
+ export * from "./source.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/schedule/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}