pulseed 0.5.3 → 0.6.0

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 (910) hide show
  1. package/README.md +13 -9
  2. package/dist/adapters/datasources/artifact-metric-datasource.d.ts +18 -0
  3. package/dist/adapters/datasources/artifact-metric-datasource.d.ts.map +1 -0
  4. package/dist/adapters/datasources/artifact-metric-datasource.js +592 -0
  5. package/dist/adapters/datasources/artifact-metric-datasource.js.map +1 -0
  6. package/dist/adapters/types/mcp.d.ts +6 -6
  7. package/dist/base/state/state-manager-goal-state.d.ts +40 -0
  8. package/dist/base/state/state-manager-goal-state.d.ts.map +1 -0
  9. package/dist/base/state/state-manager-goal-state.js +235 -0
  10. package/dist/base/state/state-manager-goal-state.js.map +1 -0
  11. package/dist/base/state/state-manager.d.ts +0 -5
  12. package/dist/base/state/state-manager.d.ts.map +1 -1
  13. package/dist/base/state/state-manager.js +27 -273
  14. package/dist/base/state/state-manager.js.map +1 -1
  15. package/dist/base/types/goal-activation.d.ts +37 -0
  16. package/dist/base/types/goal-activation.d.ts.map +1 -0
  17. package/dist/base/types/goal-activation.js +13 -0
  18. package/dist/base/types/goal-activation.js.map +1 -0
  19. package/dist/index.d.ts +6 -0
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +4 -0
  22. package/dist/index.js.map +1 -1
  23. package/dist/interface/chat/chat-history.d.ts +129 -0
  24. package/dist/interface/chat/chat-history.d.ts.map +1 -1
  25. package/dist/interface/chat/chat-history.js +135 -0
  26. package/dist/interface/chat/chat-history.js.map +1 -1
  27. package/dist/interface/chat/chat-runner-command-helpers.d.ts +50 -0
  28. package/dist/interface/chat/chat-runner-command-helpers.d.ts.map +1 -0
  29. package/dist/interface/chat/chat-runner-command-helpers.js +189 -0
  30. package/dist/interface/chat/chat-runner-command-helpers.js.map +1 -0
  31. package/dist/interface/chat/chat-runner-commands.d.ts +82 -0
  32. package/dist/interface/chat/chat-runner-commands.d.ts.map +1 -0
  33. package/dist/interface/chat/chat-runner-commands.js +906 -0
  34. package/dist/interface/chat/chat-runner-commands.js.map +1 -0
  35. package/dist/interface/chat/chat-runner-event-bridge.d.ts +60 -0
  36. package/dist/interface/chat/chat-runner-event-bridge.d.ts.map +1 -0
  37. package/dist/interface/chat/chat-runner-event-bridge.js +377 -0
  38. package/dist/interface/chat/chat-runner-event-bridge.js.map +1 -0
  39. package/dist/interface/chat/chat-runner-routes.d.ts +67 -0
  40. package/dist/interface/chat/chat-runner-routes.d.ts.map +1 -0
  41. package/dist/interface/chat/chat-runner-routes.js +610 -0
  42. package/dist/interface/chat/chat-runner-routes.js.map +1 -0
  43. package/dist/interface/chat/chat-runner-runtime.d.ts +37 -0
  44. package/dist/interface/chat/chat-runner-runtime.d.ts.map +1 -0
  45. package/dist/interface/chat/chat-runner-runtime.js +236 -0
  46. package/dist/interface/chat/chat-runner-runtime.js.map +1 -0
  47. package/dist/interface/chat/chat-runner-state.d.ts +20 -0
  48. package/dist/interface/chat/chat-runner-state.d.ts.map +1 -0
  49. package/dist/interface/chat/chat-runner-state.js +157 -0
  50. package/dist/interface/chat/chat-runner-state.js.map +1 -0
  51. package/dist/interface/chat/chat-runner-support.d.ts +39 -0
  52. package/dist/interface/chat/chat-runner-support.d.ts.map +1 -0
  53. package/dist/interface/chat/chat-runner-support.js +170 -0
  54. package/dist/interface/chat/chat-runner-support.js.map +1 -0
  55. package/dist/interface/chat/chat-runner.d.ts +10 -153
  56. package/dist/interface/chat/chat-runner.d.ts.map +1 -1
  57. package/dist/interface/chat/chat-runner.js +330 -2643
  58. package/dist/interface/chat/chat-runner.js.map +1 -1
  59. package/dist/interface/chat/chat-session-store.d.ts +32 -0
  60. package/dist/interface/chat/chat-session-store.d.ts.map +1 -1
  61. package/dist/interface/chat/chat-session-store.js +100 -10
  62. package/dist/interface/chat/chat-session-store.js.map +1 -1
  63. package/dist/interface/chat/cross-platform-session.d.ts.map +1 -1
  64. package/dist/interface/chat/cross-platform-session.js +15 -6
  65. package/dist/interface/chat/cross-platform-session.js.map +1 -1
  66. package/dist/interface/chat/event-subscriber.d.ts.map +1 -1
  67. package/dist/interface/chat/event-subscriber.js +61 -0
  68. package/dist/interface/chat/event-subscriber.js.map +1 -1
  69. package/dist/interface/chat/failure-recovery.d.ts +43 -1
  70. package/dist/interface/chat/failure-recovery.d.ts.map +1 -1
  71. package/dist/interface/chat/failure-recovery.js +259 -89
  72. package/dist/interface/chat/failure-recovery.js.map +1 -1
  73. package/dist/interface/chat/ingress-router.d.ts +2 -26
  74. package/dist/interface/chat/ingress-router.d.ts.map +1 -1
  75. package/dist/interface/chat/ingress-router.js +14 -88
  76. package/dist/interface/chat/ingress-router.js.map +1 -1
  77. package/dist/interface/chat/tend-command.d.ts.map +1 -1
  78. package/dist/interface/chat/tend-command.js +3 -0
  79. package/dist/interface/chat/tend-command.js.map +1 -1
  80. package/dist/interface/cli/cli-command-registry.d.ts.map +1 -1
  81. package/dist/interface/cli/cli-command-registry.js +19 -3
  82. package/dist/interface/cli/cli-command-registry.js.map +1 -1
  83. package/dist/interface/cli/commands/daemon-shared.d.ts +33 -0
  84. package/dist/interface/cli/commands/daemon-shared.d.ts.map +1 -0
  85. package/dist/interface/cli/commands/daemon-shared.js +152 -0
  86. package/dist/interface/cli/commands/daemon-shared.js.map +1 -0
  87. package/dist/interface/cli/commands/daemon.d.ts +2 -2
  88. package/dist/interface/cli/commands/daemon.d.ts.map +1 -1
  89. package/dist/interface/cli/commands/daemon.js +62 -127
  90. package/dist/interface/cli/commands/daemon.js.map +1 -1
  91. package/dist/interface/cli/commands/goal-read.d.ts.map +1 -1
  92. package/dist/interface/cli/commands/goal-read.js +10 -3
  93. package/dist/interface/cli/commands/goal-read.js.map +1 -1
  94. package/dist/interface/cli/commands/notify.d.ts.map +1 -1
  95. package/dist/interface/cli/commands/notify.js +7 -1
  96. package/dist/interface/cli/commands/notify.js.map +1 -1
  97. package/dist/interface/cli/commands/run.d.ts.map +1 -1
  98. package/dist/interface/cli/commands/run.js +29 -0
  99. package/dist/interface/cli/commands/run.js.map +1 -1
  100. package/dist/interface/cli/commands/runtime.d.ts +1 -1
  101. package/dist/interface/cli/commands/runtime.d.ts.map +1 -1
  102. package/dist/interface/cli/commands/runtime.js +407 -2
  103. package/dist/interface/cli/commands/runtime.js.map +1 -1
  104. package/dist/interface/cli/commands/schedule/history.d.ts.map +1 -1
  105. package/dist/interface/cli/commands/schedule/history.js +5 -1
  106. package/dist/interface/cli/commands/schedule/history.js.map +1 -1
  107. package/dist/interface/cli/commands/schedule.js +34 -4
  108. package/dist/interface/cli/commands/schedule.js.map +1 -1
  109. package/dist/interface/cli/data-source-bootstrap.d.ts.map +1 -1
  110. package/dist/interface/cli/data-source-bootstrap.js +25 -12
  111. package/dist/interface/cli/data-source-bootstrap.js.map +1 -1
  112. package/dist/interface/cli/setup.d.ts.map +1 -1
  113. package/dist/interface/cli/setup.js +14 -0
  114. package/dist/interface/cli/setup.js.map +1 -1
  115. package/dist/interface/cli/utils/loop-runner.d.ts.map +1 -1
  116. package/dist/interface/cli/utils/loop-runner.js +2 -1
  117. package/dist/interface/cli/utils/loop-runner.js.map +1 -1
  118. package/dist/interface/cli/utils.d.ts.map +1 -1
  119. package/dist/interface/cli/utils.js +8 -1
  120. package/dist/interface/cli/utils.js.map +1 -1
  121. package/dist/interface/tui/app.d.ts +4 -1
  122. package/dist/interface/tui/app.d.ts.map +1 -1
  123. package/dist/interface/tui/app.js +282 -11
  124. package/dist/interface/tui/app.js.map +1 -1
  125. package/dist/interface/tui/chat/suggestions.d.ts.map +1 -1
  126. package/dist/interface/tui/chat/suggestions.js +118 -4
  127. package/dist/interface/tui/chat/suggestions.js.map +1 -1
  128. package/dist/interface/tui/chat-surface.d.ts +2 -0
  129. package/dist/interface/tui/chat-surface.d.ts.map +1 -1
  130. package/dist/interface/tui/chat-surface.js +3 -0
  131. package/dist/interface/tui/chat-surface.js.map +1 -1
  132. package/dist/interface/tui/dashboard.d.ts +37 -1
  133. package/dist/interface/tui/dashboard.d.ts.map +1 -1
  134. package/dist/interface/tui/dashboard.js +264 -1
  135. package/dist/interface/tui/dashboard.js.map +1 -1
  136. package/dist/interface/tui/entry-approval.d.ts +8 -0
  137. package/dist/interface/tui/entry-approval.d.ts.map +1 -0
  138. package/dist/interface/tui/entry-approval.js +59 -0
  139. package/dist/interface/tui/entry-approval.js.map +1 -0
  140. package/dist/interface/tui/entry-daemon.d.ts +12 -0
  141. package/dist/interface/tui/entry-daemon.d.ts.map +1 -0
  142. package/dist/interface/tui/entry-daemon.js +74 -0
  143. package/dist/interface/tui/entry-daemon.js.map +1 -0
  144. package/dist/interface/tui/entry-deps.d.ts +24 -0
  145. package/dist/interface/tui/entry-deps.d.ts.map +1 -0
  146. package/dist/interface/tui/entry-deps.js +427 -0
  147. package/dist/interface/tui/entry-deps.js.map +1 -0
  148. package/dist/interface/tui/entry.d.ts +2 -4
  149. package/dist/interface/tui/entry.d.ts.map +1 -1
  150. package/dist/interface/tui/entry.js +11 -556
  151. package/dist/interface/tui/entry.js.map +1 -1
  152. package/dist/interface/tui/fullscreen-chat-render.d.ts +127 -0
  153. package/dist/interface/tui/fullscreen-chat-render.d.ts.map +1 -0
  154. package/dist/interface/tui/fullscreen-chat-render.js +667 -0
  155. package/dist/interface/tui/fullscreen-chat-render.js.map +1 -0
  156. package/dist/interface/tui/fullscreen-chat.d.ts +2 -111
  157. package/dist/interface/tui/fullscreen-chat.d.ts.map +1 -1
  158. package/dist/interface/tui/fullscreen-chat.js +4 -663
  159. package/dist/interface/tui/fullscreen-chat.js.map +1 -1
  160. package/dist/interface/tui/help-overlay.d.ts.map +1 -1
  161. package/dist/interface/tui/help-overlay.js +1 -1
  162. package/dist/interface/tui/help-overlay.js.map +1 -1
  163. package/dist/interface/tui/intent-recognizer.d.ts +8 -3
  164. package/dist/interface/tui/intent-recognizer.d.ts.map +1 -1
  165. package/dist/interface/tui/intent-recognizer.js +74 -68
  166. package/dist/interface/tui/intent-recognizer.js.map +1 -1
  167. package/dist/orchestrator/execution/agent-loop/agent-loop-default-profile.d.ts.map +1 -1
  168. package/dist/orchestrator/execution/agent-loop/agent-loop-default-profile.js +49 -0
  169. package/dist/orchestrator/execution/agent-loop/agent-loop-default-profile.js.map +1 -1
  170. package/dist/orchestrator/execution/agent-loop/agent-loop-tool-router.d.ts.map +1 -1
  171. package/dist/orchestrator/execution/agent-loop/agent-loop-tool-router.js +2 -1
  172. package/dist/orchestrator/execution/agent-loop/agent-loop-tool-router.js.map +1 -1
  173. package/dist/orchestrator/execution/agent-loop/agent-loop-tool-runtime.d.ts +2 -0
  174. package/dist/orchestrator/execution/agent-loop/agent-loop-tool-runtime.d.ts.map +1 -1
  175. package/dist/orchestrator/execution/agent-loop/agent-loop-tool-runtime.js +31 -0
  176. package/dist/orchestrator/execution/agent-loop/agent-loop-tool-runtime.js.map +1 -1
  177. package/dist/orchestrator/execution/agent-loop/agent-loop-turn-context.d.ts +1 -0
  178. package/dist/orchestrator/execution/agent-loop/agent-loop-turn-context.d.ts.map +1 -1
  179. package/dist/orchestrator/execution/agent-loop/agent-loop-turn-context.js.map +1 -1
  180. package/dist/orchestrator/execution/agent-loop/bounded-agent-loop-runner.d.ts +1 -0
  181. package/dist/orchestrator/execution/agent-loop/bounded-agent-loop-runner.d.ts.map +1 -1
  182. package/dist/orchestrator/execution/agent-loop/bounded-agent-loop-runner.js +36 -2
  183. package/dist/orchestrator/execution/agent-loop/bounded-agent-loop-runner.js.map +1 -1
  184. package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.d.ts +1 -1
  185. package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.d.ts.map +1 -1
  186. package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.js +2 -1
  187. package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.js.map +1 -1
  188. package/dist/orchestrator/execution/agent-loop/core-loop-control-tools.d.ts +19 -0
  189. package/dist/orchestrator/execution/agent-loop/core-loop-control-tools.d.ts.map +1 -1
  190. package/dist/orchestrator/execution/agent-loop/core-loop-control-tools.js +165 -14
  191. package/dist/orchestrator/execution/agent-loop/core-loop-control-tools.js.map +1 -1
  192. package/dist/orchestrator/execution/agent-loop/core-phase-runner.d.ts +1 -1
  193. package/dist/orchestrator/execution/agent-loop/core-phase-runner.d.ts.map +1 -1
  194. package/dist/orchestrator/execution/agent-loop/core-phase-runner.js +10 -1
  195. package/dist/orchestrator/execution/agent-loop/core-phase-runner.js.map +1 -1
  196. package/dist/orchestrator/execution/agent-loop/kaggle-training-benchmark.d.ts +2 -0
  197. package/dist/orchestrator/execution/agent-loop/kaggle-training-benchmark.d.ts.map +1 -1
  198. package/dist/orchestrator/execution/agent-loop/kaggle-training-benchmark.js +4 -0
  199. package/dist/orchestrator/execution/agent-loop/kaggle-training-benchmark.js.map +1 -1
  200. package/dist/orchestrator/execution/agent-loop/task-agent-loop-result.d.ts +8 -8
  201. package/dist/orchestrator/execution/reflection-generator.d.ts +1 -0
  202. package/dist/orchestrator/execution/reflection-generator.d.ts.map +1 -1
  203. package/dist/orchestrator/execution/reflection-generator.js +10 -1
  204. package/dist/orchestrator/execution/reflection-generator.js.map +1 -1
  205. package/dist/orchestrator/execution/task/task-context-enricher.d.ts +2 -0
  206. package/dist/orchestrator/execution/task/task-context-enricher.d.ts.map +1 -1
  207. package/dist/orchestrator/execution/task/task-context-enricher.js +9 -4
  208. package/dist/orchestrator/execution/task/task-context-enricher.js.map +1 -1
  209. package/dist/orchestrator/execution/task/task-execution-helpers-internal.d.ts +5 -0
  210. package/dist/orchestrator/execution/task/task-execution-helpers-internal.d.ts.map +1 -0
  211. package/dist/orchestrator/execution/task/task-execution-helpers-internal.js +6 -0
  212. package/dist/orchestrator/execution/task/task-execution-helpers-internal.js.map +1 -0
  213. package/dist/orchestrator/execution/task/task-generation.d.ts +3 -1
  214. package/dist/orchestrator/execution/task/task-generation.d.ts.map +1 -1
  215. package/dist/orchestrator/execution/task/task-generation.js +25 -5
  216. package/dist/orchestrator/execution/task/task-generation.js.map +1 -1
  217. package/dist/orchestrator/execution/task/task-lifecycle-runner.d.ts +77 -0
  218. package/dist/orchestrator/execution/task/task-lifecycle-runner.d.ts.map +1 -0
  219. package/dist/orchestrator/execution/task/task-lifecycle-runner.js +188 -0
  220. package/dist/orchestrator/execution/task/task-lifecycle-runner.js.map +1 -0
  221. package/dist/orchestrator/execution/task/task-lifecycle.d.ts +17 -8
  222. package/dist/orchestrator/execution/task/task-lifecycle.d.ts.map +1 -1
  223. package/dist/orchestrator/execution/task/task-lifecycle.js +144 -187
  224. package/dist/orchestrator/execution/task/task-lifecycle.js.map +1 -1
  225. package/dist/orchestrator/execution/task/task-prompt-builder.d.ts +2 -1
  226. package/dist/orchestrator/execution/task/task-prompt-builder.d.ts.map +1 -1
  227. package/dist/orchestrator/execution/task/task-prompt-builder.js +4 -2
  228. package/dist/orchestrator/execution/task/task-prompt-builder.js.map +1 -1
  229. package/dist/orchestrator/execution/task/task-verifier-internal.d.ts +2 -0
  230. package/dist/orchestrator/execution/task/task-verifier-internal.d.ts.map +1 -0
  231. package/dist/orchestrator/execution/task/task-verifier-internal.js +2 -0
  232. package/dist/orchestrator/execution/task/task-verifier-internal.js.map +1 -0
  233. package/dist/orchestrator/execution/types/pipeline.d.ts +6 -6
  234. package/dist/orchestrator/goal/goal-negotiator.d.ts.map +1 -1
  235. package/dist/orchestrator/goal/goal-negotiator.js +23 -3
  236. package/dist/orchestrator/goal/goal-negotiator.js.map +1 -1
  237. package/dist/orchestrator/goal/types/goal.d.ts +282 -0
  238. package/dist/orchestrator/goal/types/goal.d.ts.map +1 -1
  239. package/dist/orchestrator/goal/types/goal.js +20 -0
  240. package/dist/orchestrator/goal/types/goal.js.map +1 -1
  241. package/dist/orchestrator/loop/core-loop/contracts.d.ts +47 -3
  242. package/dist/orchestrator/loop/core-loop/contracts.d.ts.map +1 -1
  243. package/dist/orchestrator/loop/core-loop/contracts.js.map +1 -1
  244. package/dist/orchestrator/loop/core-loop/decision-engine.d.ts.map +1 -1
  245. package/dist/orchestrator/loop/core-loop/decision-engine.js +4 -0
  246. package/dist/orchestrator/loop/core-loop/decision-engine.js.map +1 -1
  247. package/dist/orchestrator/loop/core-loop/dream-review-checkpoint.d.ts +48 -0
  248. package/dist/orchestrator/loop/core-loop/dream-review-checkpoint.d.ts.map +1 -0
  249. package/dist/orchestrator/loop/core-loop/dream-review-checkpoint.js +377 -0
  250. package/dist/orchestrator/loop/core-loop/dream-review-checkpoint.js.map +1 -0
  251. package/dist/orchestrator/loop/core-loop/evidence-ledger.js +1 -1
  252. package/dist/orchestrator/loop/core-loop/evidence-ledger.js.map +1 -1
  253. package/dist/orchestrator/loop/core-loop/iteration-kernel-knowledge.d.ts +7 -0
  254. package/dist/orchestrator/loop/core-loop/iteration-kernel-knowledge.d.ts.map +1 -0
  255. package/dist/orchestrator/loop/core-loop/iteration-kernel-knowledge.js +43 -0
  256. package/dist/orchestrator/loop/core-loop/iteration-kernel-knowledge.js.map +1 -0
  257. package/dist/orchestrator/loop/core-loop/iteration-kernel-wait.d.ts +14 -0
  258. package/dist/orchestrator/loop/core-loop/iteration-kernel-wait.d.ts.map +1 -0
  259. package/dist/orchestrator/loop/core-loop/iteration-kernel-wait.js +41 -0
  260. package/dist/orchestrator/loop/core-loop/iteration-kernel-wait.js.map +1 -0
  261. package/dist/orchestrator/loop/core-loop/iteration-kernel.d.ts +4 -2
  262. package/dist/orchestrator/loop/core-loop/iteration-kernel.d.ts.map +1 -1
  263. package/dist/orchestrator/loop/core-loop/iteration-kernel.js +507 -87
  264. package/dist/orchestrator/loop/core-loop/iteration-kernel.js.map +1 -1
  265. package/dist/orchestrator/loop/core-loop/phase-policy.d.ts.map +1 -1
  266. package/dist/orchestrator/loop/core-loop/phase-policy.js +40 -5
  267. package/dist/orchestrator/loop/core-loop/phase-policy.js.map +1 -1
  268. package/dist/orchestrator/loop/core-loop/phase-runtime.d.ts +2 -0
  269. package/dist/orchestrator/loop/core-loop/phase-runtime.d.ts.map +1 -1
  270. package/dist/orchestrator/loop/core-loop/phase-runtime.js +43 -2
  271. package/dist/orchestrator/loop/core-loop/phase-runtime.js.map +1 -1
  272. package/dist/orchestrator/loop/core-loop/phase-specs.d.ts +969 -2
  273. package/dist/orchestrator/loop/core-loop/phase-specs.d.ts.map +1 -1
  274. package/dist/orchestrator/loop/core-loop/phase-specs.js +198 -0
  275. package/dist/orchestrator/loop/core-loop/phase-specs.js.map +1 -1
  276. package/dist/orchestrator/loop/core-loop/public-research.d.ts +32 -0
  277. package/dist/orchestrator/loop/core-loop/public-research.d.ts.map +1 -0
  278. package/dist/orchestrator/loop/core-loop/public-research.js +112 -0
  279. package/dist/orchestrator/loop/core-loop/public-research.js.map +1 -0
  280. package/dist/orchestrator/loop/core-loop/task-cycle-stall.d.ts +9 -0
  281. package/dist/orchestrator/loop/core-loop/task-cycle-stall.d.ts.map +1 -0
  282. package/dist/orchestrator/loop/core-loop/task-cycle-stall.js +433 -0
  283. package/dist/orchestrator/loop/core-loop/task-cycle-stall.js.map +1 -0
  284. package/dist/orchestrator/loop/core-loop/task-cycle-wait.d.ts +11 -0
  285. package/dist/orchestrator/loop/core-loop/task-cycle-wait.d.ts.map +1 -0
  286. package/dist/orchestrator/loop/core-loop/task-cycle-wait.js +176 -0
  287. package/dist/orchestrator/loop/core-loop/task-cycle-wait.js.map +1 -0
  288. package/dist/orchestrator/loop/core-loop/task-cycle.d.ts +7 -15
  289. package/dist/orchestrator/loop/core-loop/task-cycle.d.ts.map +1 -1
  290. package/dist/orchestrator/loop/core-loop/task-cycle.js +17 -444
  291. package/dist/orchestrator/loop/core-loop/task-cycle.js.map +1 -1
  292. package/dist/orchestrator/loop/core-loop.d.ts +18 -5
  293. package/dist/orchestrator/loop/core-loop.d.ts.map +1 -1
  294. package/dist/orchestrator/loop/core-loop.js +287 -17
  295. package/dist/orchestrator/loop/core-loop.js.map +1 -1
  296. package/dist/orchestrator/loop/loop-report-helper.d.ts.map +1 -1
  297. package/dist/orchestrator/loop/loop-report-helper.js +4 -0
  298. package/dist/orchestrator/loop/loop-report-helper.js.map +1 -1
  299. package/dist/orchestrator/loop/loop-result-types.d.ts +20 -1
  300. package/dist/orchestrator/loop/loop-result-types.d.ts.map +1 -1
  301. package/dist/orchestrator/loop/loop-result-types.js.map +1 -1
  302. package/dist/orchestrator/loop/post-loop-hooks.d.ts +1 -0
  303. package/dist/orchestrator/loop/post-loop-hooks.d.ts.map +1 -1
  304. package/dist/orchestrator/loop/post-loop-hooks.js +34 -1
  305. package/dist/orchestrator/loop/post-loop-hooks.js.map +1 -1
  306. package/dist/orchestrator/loop/run-policy.d.ts +10 -0
  307. package/dist/orchestrator/loop/run-policy.d.ts.map +1 -0
  308. package/dist/orchestrator/loop/run-policy.js +30 -0
  309. package/dist/orchestrator/loop/run-policy.js.map +1 -0
  310. package/dist/orchestrator/strategy/divergent-exploration.d.ts +37 -0
  311. package/dist/orchestrator/strategy/divergent-exploration.d.ts.map +1 -0
  312. package/dist/orchestrator/strategy/divergent-exploration.js +324 -0
  313. package/dist/orchestrator/strategy/divergent-exploration.js.map +1 -0
  314. package/dist/orchestrator/strategy/portfolio-manager.d.ts +3 -2
  315. package/dist/orchestrator/strategy/portfolio-manager.d.ts.map +1 -1
  316. package/dist/orchestrator/strategy/portfolio-manager.js +16 -11
  317. package/dist/orchestrator/strategy/portfolio-manager.js.map +1 -1
  318. package/dist/orchestrator/strategy/portfolio-rebalance.d.ts +1 -1
  319. package/dist/orchestrator/strategy/portfolio-rebalance.d.ts.map +1 -1
  320. package/dist/orchestrator/strategy/portfolio-rebalance.js +31 -9
  321. package/dist/orchestrator/strategy/portfolio-rebalance.js.map +1 -1
  322. package/dist/orchestrator/strategy/strategy-helpers.d.ts +108 -0
  323. package/dist/orchestrator/strategy/strategy-helpers.d.ts.map +1 -1
  324. package/dist/orchestrator/strategy/strategy-helpers.js +34 -2
  325. package/dist/orchestrator/strategy/strategy-helpers.js.map +1 -1
  326. package/dist/orchestrator/strategy/strategy-manager-base.d.ts +31 -2
  327. package/dist/orchestrator/strategy/strategy-manager-base.d.ts.map +1 -1
  328. package/dist/orchestrator/strategy/strategy-manager-base.js +93 -12
  329. package/dist/orchestrator/strategy/strategy-manager-base.js.map +1 -1
  330. package/dist/orchestrator/strategy/strategy-manager.d.ts +1 -11
  331. package/dist/orchestrator/strategy/strategy-manager.d.ts.map +1 -1
  332. package/dist/orchestrator/strategy/strategy-manager.js +78 -19
  333. package/dist/orchestrator/strategy/strategy-manager.js.map +1 -1
  334. package/dist/orchestrator/strategy/types/cross-portfolio.d.ts +2 -2
  335. package/dist/orchestrator/strategy/types/strategy.d.ts +364 -0
  336. package/dist/orchestrator/strategy/types/strategy.d.ts.map +1 -1
  337. package/dist/orchestrator/strategy/types/strategy.js +43 -0
  338. package/dist/orchestrator/strategy/types/strategy.js.map +1 -1
  339. package/dist/platform/dream/dream-activation.d.ts +1 -1
  340. package/dist/platform/dream/dream-consolidator/fs-metrics.d.ts +18 -0
  341. package/dist/platform/dream/dream-consolidator/fs-metrics.d.ts.map +1 -0
  342. package/dist/platform/dream/dream-consolidator/fs-metrics.js +130 -0
  343. package/dist/platform/dream/dream-consolidator/fs-metrics.js.map +1 -0
  344. package/dist/platform/dream/dream-consolidator.d.ts +4 -14
  345. package/dist/platform/dream/dream-consolidator.d.ts.map +1 -1
  346. package/dist/platform/dream/dream-consolidator.js +46 -166
  347. package/dist/platform/dream/dream-consolidator.js.map +1 -1
  348. package/dist/platform/dream/dream-event-workflows.d.ts +6 -6
  349. package/dist/platform/dream/dream-soil-sync.d.ts +1 -0
  350. package/dist/platform/dream/dream-soil-sync.d.ts.map +1 -1
  351. package/dist/platform/dream/dream-soil-sync.js +8 -1
  352. package/dist/platform/dream/dream-soil-sync.js.map +1 -1
  353. package/dist/platform/dream/dream-types.d.ts +94 -89
  354. package/dist/platform/dream/dream-types.d.ts.map +1 -1
  355. package/dist/platform/dream/dream-types.js +1 -0
  356. package/dist/platform/dream/dream-types.js.map +1 -1
  357. package/dist/platform/dream/playbook-memory.d.ts +4 -4
  358. package/dist/platform/drive/metric-history.d.ts +61 -0
  359. package/dist/platform/drive/metric-history.d.ts.map +1 -0
  360. package/dist/platform/drive/metric-history.js +206 -0
  361. package/dist/platform/drive/metric-history.js.map +1 -0
  362. package/dist/platform/drive/progress-predictor.d.ts +7 -0
  363. package/dist/platform/drive/progress-predictor.d.ts.map +1 -1
  364. package/dist/platform/drive/progress-predictor.js +23 -0
  365. package/dist/platform/drive/progress-predictor.js.map +1 -1
  366. package/dist/platform/drive/stall-detector/analysis.d.ts +5 -0
  367. package/dist/platform/drive/stall-detector/analysis.d.ts.map +1 -0
  368. package/dist/platform/drive/stall-detector/analysis.js +55 -0
  369. package/dist/platform/drive/stall-detector/analysis.js.map +1 -0
  370. package/dist/platform/drive/stall-detector/repetitive.d.ts +3 -0
  371. package/dist/platform/drive/stall-detector/repetitive.d.ts.map +1 -0
  372. package/dist/platform/drive/stall-detector/repetitive.js +72 -0
  373. package/dist/platform/drive/stall-detector/repetitive.js.map +1 -0
  374. package/dist/platform/drive/stall-detector/thresholds.d.ts +10 -0
  375. package/dist/platform/drive/stall-detector/thresholds.d.ts.map +1 -0
  376. package/dist/platform/drive/stall-detector/thresholds.js +61 -0
  377. package/dist/platform/drive/stall-detector/thresholds.js.map +1 -0
  378. package/dist/platform/drive/stall-detector.d.ts +5 -21
  379. package/dist/platform/drive/stall-detector.d.ts.map +1 -1
  380. package/dist/platform/drive/stall-detector.js +47 -201
  381. package/dist/platform/drive/stall-detector.js.map +1 -1
  382. package/dist/platform/drive/types/satisficing.d.ts +2 -2
  383. package/dist/platform/drive/types/stall.d.ts +4 -0
  384. package/dist/platform/drive/types/stall.d.ts.map +1 -1
  385. package/dist/platform/drive/types/stall.js +1 -0
  386. package/dist/platform/drive/types/stall.js.map +1 -1
  387. package/dist/platform/knowledge/knowledge-manager-agent-memory.d.ts +55 -0
  388. package/dist/platform/knowledge/knowledge-manager-agent-memory.d.ts.map +1 -0
  389. package/dist/platform/knowledge/knowledge-manager-agent-memory.js +232 -0
  390. package/dist/platform/knowledge/knowledge-manager-agent-memory.js.map +1 -0
  391. package/dist/platform/knowledge/knowledge-manager-internals.d.ts +10 -0
  392. package/dist/platform/knowledge/knowledge-manager-internals.d.ts.map +1 -0
  393. package/dist/platform/knowledge/knowledge-manager-internals.js +43 -0
  394. package/dist/platform/knowledge/knowledge-manager-internals.js.map +1 -0
  395. package/dist/platform/knowledge/knowledge-manager-store.d.ts +13 -0
  396. package/dist/platform/knowledge/knowledge-manager-store.d.ts.map +1 -0
  397. package/dist/platform/knowledge/knowledge-manager-store.js +67 -0
  398. package/dist/platform/knowledge/knowledge-manager-store.js.map +1 -0
  399. package/dist/platform/knowledge/knowledge-manager.d.ts +6 -2
  400. package/dist/platform/knowledge/knowledge-manager.d.ts.map +1 -1
  401. package/dist/platform/knowledge/knowledge-manager.js +43 -344
  402. package/dist/platform/knowledge/knowledge-manager.js.map +1 -1
  403. package/dist/platform/knowledge/memory/memory-lifecycle-storage.d.ts +4 -0
  404. package/dist/platform/knowledge/memory/memory-lifecycle-storage.d.ts.map +1 -0
  405. package/dist/platform/knowledge/memory/memory-lifecycle-storage.js +106 -0
  406. package/dist/platform/knowledge/memory/memory-lifecycle-storage.js.map +1 -0
  407. package/dist/platform/knowledge/memory/memory-lifecycle.d.ts.map +1 -1
  408. package/dist/platform/knowledge/memory/memory-lifecycle.js +6 -112
  409. package/dist/platform/knowledge/memory/memory-lifecycle.js.map +1 -1
  410. package/dist/platform/knowledge/types/learning.d.ts +2 -2
  411. package/dist/platform/observation/capability-detector/prompts.d.ts +18 -0
  412. package/dist/platform/observation/capability-detector/prompts.d.ts.map +1 -0
  413. package/dist/platform/observation/capability-detector/prompts.js +80 -0
  414. package/dist/platform/observation/capability-detector/prompts.js.map +1 -0
  415. package/dist/platform/observation/capability-detector/recommendations.d.ts +5 -0
  416. package/dist/platform/observation/capability-detector/recommendations.d.ts.map +1 -0
  417. package/dist/platform/observation/capability-detector/recommendations.js +76 -0
  418. package/dist/platform/observation/capability-detector/recommendations.js.map +1 -0
  419. package/dist/platform/observation/capability-detector/types.d.ts +112 -0
  420. package/dist/platform/observation/capability-detector/types.d.ts.map +1 -0
  421. package/dist/platform/observation/capability-detector/types.js +75 -0
  422. package/dist/platform/observation/capability-detector/types.js.map +1 -0
  423. package/dist/platform/observation/capability-detector.d.ts +4 -9
  424. package/dist/platform/observation/capability-detector.d.ts.map +1 -1
  425. package/dist/platform/observation/capability-detector.js +12 -212
  426. package/dist/platform/observation/capability-detector.js.map +1 -1
  427. package/dist/platform/observation/context-provider/collector.d.ts +13 -0
  428. package/dist/platform/observation/context-provider/collector.d.ts.map +1 -0
  429. package/dist/platform/observation/context-provider/collector.js +259 -0
  430. package/dist/platform/observation/context-provider/collector.js.map +1 -0
  431. package/dist/platform/observation/context-provider/search-terms.d.ts +2 -0
  432. package/dist/platform/observation/context-provider/search-terms.d.ts.map +1 -0
  433. package/dist/platform/observation/context-provider/search-terms.js +24 -0
  434. package/dist/platform/observation/context-provider/search-terms.js.map +1 -0
  435. package/dist/platform/observation/context-provider/shared.d.ts +17 -0
  436. package/dist/platform/observation/context-provider/shared.d.ts.map +1 -0
  437. package/dist/platform/observation/context-provider/shared.js +87 -0
  438. package/dist/platform/observation/context-provider/shared.js.map +1 -0
  439. package/dist/platform/observation/context-provider.d.ts +3 -28
  440. package/dist/platform/observation/context-provider.d.ts.map +1 -1
  441. package/dist/platform/observation/context-provider.js +7 -395
  442. package/dist/platform/observation/context-provider.js.map +1 -1
  443. package/dist/platform/observation/data-source-adapter.d.ts +1 -0
  444. package/dist/platform/observation/data-source-adapter.d.ts.map +1 -1
  445. package/dist/platform/observation/data-source-adapter.js.map +1 -1
  446. package/dist/platform/observation/observation-datasource.d.ts.map +1 -1
  447. package/dist/platform/observation/observation-datasource.js +2 -0
  448. package/dist/platform/observation/observation-datasource.js.map +1 -1
  449. package/dist/platform/observation/types/data-source.d.ts +153 -9
  450. package/dist/platform/observation/types/data-source.d.ts.map +1 -1
  451. package/dist/platform/observation/types/data-source.js +13 -1
  452. package/dist/platform/observation/types/data-source.js.map +1 -1
  453. package/dist/platform/soil/compiled-memory-projections.d.ts +2 -0
  454. package/dist/platform/soil/compiled-memory-projections.d.ts.map +1 -1
  455. package/dist/platform/soil/compiled-memory-projections.js +59 -0
  456. package/dist/platform/soil/compiled-memory-projections.js.map +1 -1
  457. package/dist/platform/soil/contracts.d.ts +67 -67
  458. package/dist/platform/soil/importer.d.ts +6 -6
  459. package/dist/platform/soil/retriever.d.ts +25 -0
  460. package/dist/platform/soil/retriever.d.ts.map +1 -1
  461. package/dist/platform/soil/retriever.js +94 -5
  462. package/dist/platform/soil/retriever.js.map +1 -1
  463. package/dist/platform/soil/sqlite-repository-helpers.d.ts +80 -0
  464. package/dist/platform/soil/sqlite-repository-helpers.d.ts.map +1 -0
  465. package/dist/platform/soil/sqlite-repository-helpers.js +143 -0
  466. package/dist/platform/soil/sqlite-repository-helpers.js.map +1 -0
  467. package/dist/platform/soil/sqlite-repository-search.d.ts +8 -0
  468. package/dist/platform/soil/sqlite-repository-search.d.ts.map +1 -0
  469. package/dist/platform/soil/sqlite-repository-search.js +367 -0
  470. package/dist/platform/soil/sqlite-repository-search.js.map +1 -0
  471. package/dist/platform/soil/sqlite-repository-storage.d.ts +8 -0
  472. package/dist/platform/soil/sqlite-repository-storage.d.ts.map +1 -0
  473. package/dist/platform/soil/sqlite-repository-storage.js +278 -0
  474. package/dist/platform/soil/sqlite-repository-storage.js.map +1 -0
  475. package/dist/platform/soil/sqlite-repository.d.ts +1 -4
  476. package/dist/platform/soil/sqlite-repository.d.ts.map +1 -1
  477. package/dist/platform/soil/sqlite-repository.js +26 -820
  478. package/dist/platform/soil/sqlite-repository.js.map +1 -1
  479. package/dist/platform/soil/types.d.ts +8 -8
  480. package/dist/platform/time/deadline-finalization.d.ts +57 -0
  481. package/dist/platform/time/deadline-finalization.d.ts.map +1 -0
  482. package/dist/platform/time/deadline-finalization.js +136 -0
  483. package/dist/platform/time/deadline-finalization.js.map +1 -0
  484. package/dist/platform/time/execution-mode.d.ts +29 -0
  485. package/dist/platform/time/execution-mode.d.ts.map +1 -0
  486. package/dist/platform/time/execution-mode.js +84 -0
  487. package/dist/platform/time/execution-mode.js.map +1 -0
  488. package/dist/platform/traits/types/curiosity.d.ts +9 -9
  489. package/dist/platform/traits/types/guardrail.d.ts +6 -6
  490. package/dist/reporting/report-formatters.d.ts.map +1 -1
  491. package/dist/reporting/report-formatters.js +67 -2
  492. package/dist/reporting/report-formatters.js.map +1 -1
  493. package/dist/reporting/reporting-engine.d.ts.map +1 -1
  494. package/dist/reporting/reporting-engine.js +3 -1
  495. package/dist/reporting/reporting-engine.js.map +1 -1
  496. package/dist/reporting/reporting-types.d.ts +4 -0
  497. package/dist/reporting/reporting-types.d.ts.map +1 -1
  498. package/dist/reporting/types/report.d.ts +59 -0
  499. package/dist/reporting/types/report.d.ts.map +1 -1
  500. package/dist/reporting/types/report.js +9 -0
  501. package/dist/reporting/types/report.js.map +1 -1
  502. package/dist/runtime/command-dispatcher.d.ts +2 -0
  503. package/dist/runtime/command-dispatcher.d.ts.map +1 -1
  504. package/dist/runtime/command-dispatcher.js +16 -0
  505. package/dist/runtime/command-dispatcher.js.map +1 -1
  506. package/dist/runtime/confirmation-decision.d.ts +94 -0
  507. package/dist/runtime/confirmation-decision.d.ts.map +1 -0
  508. package/dist/runtime/confirmation-decision.js +109 -0
  509. package/dist/runtime/confirmation-decision.js.map +1 -0
  510. package/dist/runtime/control/daemon-runtime-control-executor.d.ts.map +1 -1
  511. package/dist/runtime/control/daemon-runtime-control-executor.js +31 -1
  512. package/dist/runtime/control/daemon-runtime-control-executor.js.map +1 -1
  513. package/dist/runtime/control/runtime-control-intent.d.ts +9 -1
  514. package/dist/runtime/control/runtime-control-intent.d.ts.map +1 -1
  515. package/dist/runtime/control/runtime-control-intent.js +82 -16
  516. package/dist/runtime/control/runtime-control-intent.js.map +1 -1
  517. package/dist/runtime/control/runtime-control-service.d.ts +35 -1
  518. package/dist/runtime/control/runtime-control-service.d.ts.map +1 -1
  519. package/dist/runtime/control/runtime-control-service.js +285 -5
  520. package/dist/runtime/control/runtime-control-service.js.map +1 -1
  521. package/dist/runtime/daemon/client.d.ts +12 -0
  522. package/dist/runtime/daemon/client.d.ts.map +1 -1
  523. package/dist/runtime/daemon/client.js +9 -0
  524. package/dist/runtime/daemon/client.js.map +1 -1
  525. package/dist/runtime/daemon/index.d.ts +1 -1
  526. package/dist/runtime/daemon/index.d.ts.map +1 -1
  527. package/dist/runtime/daemon/index.js +1 -1
  528. package/dist/runtime/daemon/index.js.map +1 -1
  529. package/dist/runtime/daemon/maintenance.d.ts +2 -10
  530. package/dist/runtime/daemon/maintenance.d.ts.map +1 -1
  531. package/dist/runtime/daemon/maintenance.js +14 -45
  532. package/dist/runtime/daemon/maintenance.js.map +1 -1
  533. package/dist/runtime/daemon/runner-bootstrap.d.ts +25 -0
  534. package/dist/runtime/daemon/runner-bootstrap.d.ts.map +1 -0
  535. package/dist/runtime/daemon/runner-bootstrap.js +77 -0
  536. package/dist/runtime/daemon/runner-bootstrap.js.map +1 -0
  537. package/dist/runtime/daemon/runner-commands.d.ts +13 -9
  538. package/dist/runtime/daemon/runner-commands.d.ts.map +1 -1
  539. package/dist/runtime/daemon/runner-commands.js +272 -21
  540. package/dist/runtime/daemon/runner-commands.js.map +1 -1
  541. package/dist/runtime/daemon/runner-goal-cycle.d.ts.map +1 -1
  542. package/dist/runtime/daemon/runner-goal-cycle.js +62 -6
  543. package/dist/runtime/daemon/runner-goal-cycle.js.map +1 -1
  544. package/dist/runtime/daemon/runner-resident-curiosity.d.ts +12 -0
  545. package/dist/runtime/daemon/runner-resident-curiosity.d.ts.map +1 -0
  546. package/dist/runtime/daemon/runner-resident-curiosity.js +155 -0
  547. package/dist/runtime/daemon/runner-resident-curiosity.js.map +1 -0
  548. package/dist/runtime/daemon/runner-resident-dream.d.ts +20 -0
  549. package/dist/runtime/daemon/runner-resident-dream.d.ts.map +1 -0
  550. package/dist/runtime/daemon/runner-resident-dream.js +148 -0
  551. package/dist/runtime/daemon/runner-resident-dream.js.map +1 -0
  552. package/dist/runtime/daemon/runner-resident-proactive.d.ts +4 -0
  553. package/dist/runtime/daemon/runner-resident-proactive.d.ts.map +1 -0
  554. package/dist/runtime/daemon/runner-resident-proactive.js +113 -0
  555. package/dist/runtime/daemon/runner-resident-proactive.js.map +1 -0
  556. package/dist/runtime/daemon/runner-resident-shared.d.ts +40 -0
  557. package/dist/runtime/daemon/runner-resident-shared.d.ts.map +1 -0
  558. package/dist/runtime/daemon/runner-resident-shared.js +101 -0
  559. package/dist/runtime/daemon/runner-resident-shared.js.map +1 -0
  560. package/dist/runtime/daemon/runner-resident.d.ts +4 -68
  561. package/dist/runtime/daemon/runner-resident.d.ts.map +1 -1
  562. package/dist/runtime/daemon/runner-resident.js +4 -506
  563. package/dist/runtime/daemon/runner-resident.js.map +1 -1
  564. package/dist/runtime/daemon/runner-runtime.d.ts +12 -0
  565. package/dist/runtime/daemon/runner-runtime.d.ts.map +1 -0
  566. package/dist/runtime/daemon/runner-runtime.js +43 -0
  567. package/dist/runtime/daemon/runner-runtime.js.map +1 -0
  568. package/dist/runtime/daemon/runner-startup.d.ts.map +1 -1
  569. package/dist/runtime/daemon/runner-startup.js +15 -6
  570. package/dist/runtime/daemon/runner-startup.js.map +1 -1
  571. package/dist/runtime/daemon/runner.d.ts +14 -23
  572. package/dist/runtime/daemon/runner.d.ts.map +1 -1
  573. package/dist/runtime/daemon/runner.js +40 -110
  574. package/dist/runtime/daemon/runner.js.map +1 -1
  575. package/dist/runtime/daemon/runtime-ownership.d.ts +9 -0
  576. package/dist/runtime/daemon/runtime-ownership.d.ts.map +1 -1
  577. package/dist/runtime/daemon/runtime-ownership.js +248 -1
  578. package/dist/runtime/daemon/runtime-ownership.js.map +1 -1
  579. package/dist/runtime/daemon/wait-deadline-resolver.d.ts +5 -2
  580. package/dist/runtime/daemon/wait-deadline-resolver.d.ts.map +1 -1
  581. package/dist/runtime/daemon/wait-deadline-resolver.js +55 -35
  582. package/dist/runtime/daemon/wait-deadline-resolver.js.map +1 -1
  583. package/dist/runtime/dream-sidecar-review.d.ts +92 -0
  584. package/dist/runtime/dream-sidecar-review.d.ts.map +1 -0
  585. package/dist/runtime/dream-sidecar-review.js +495 -0
  586. package/dist/runtime/dream-sidecar-review.js.map +1 -0
  587. package/dist/runtime/event/dispatcher.d.ts +0 -2
  588. package/dist/runtime/event/dispatcher.d.ts.map +1 -1
  589. package/dist/runtime/event/dispatcher.js +0 -4
  590. package/dist/runtime/event/dispatcher.js.map +1 -1
  591. package/dist/runtime/event/server-command-handler.d.ts +2 -4
  592. package/dist/runtime/event/server-command-handler.d.ts.map +1 -1
  593. package/dist/runtime/event/server-command-handler.js +36 -6
  594. package/dist/runtime/event/server-command-handler.js.map +1 -1
  595. package/dist/runtime/event/server-snapshot-reader.d.ts +15 -1
  596. package/dist/runtime/event/server-snapshot-reader.d.ts.map +1 -1
  597. package/dist/runtime/event/server-snapshot-reader.js +66 -2
  598. package/dist/runtime/event/server-snapshot-reader.js.map +1 -1
  599. package/dist/runtime/event/server-types.d.ts +7 -0
  600. package/dist/runtime/event/server-types.d.ts.map +1 -1
  601. package/dist/runtime/event/server.d.ts +5 -0
  602. package/dist/runtime/event/server.d.ts.map +1 -1
  603. package/dist/runtime/event/server.js +43 -11
  604. package/dist/runtime/event/server.js.map +1 -1
  605. package/dist/runtime/evidence-answer.d.ts +41 -0
  606. package/dist/runtime/evidence-answer.d.ts.map +1 -0
  607. package/dist/runtime/evidence-answer.js +366 -0
  608. package/dist/runtime/evidence-answer.js.map +1 -0
  609. package/dist/runtime/executor/goal-worker.d.ts +6 -2
  610. package/dist/runtime/executor/goal-worker.d.ts.map +1 -1
  611. package/dist/runtime/executor/goal-worker.js +7 -2
  612. package/dist/runtime/executor/goal-worker.js.map +1 -1
  613. package/dist/runtime/executor/loop-supervisor.d.ts +7 -0
  614. package/dist/runtime/executor/loop-supervisor.d.ts.map +1 -1
  615. package/dist/runtime/executor/loop-supervisor.js +72 -17
  616. package/dist/runtime/executor/loop-supervisor.js.map +1 -1
  617. package/dist/runtime/guardrails/backpressure-controller.d.ts +32 -0
  618. package/dist/runtime/guardrails/backpressure-controller.d.ts.map +1 -0
  619. package/dist/runtime/guardrails/backpressure-controller.js +88 -0
  620. package/dist/runtime/guardrails/backpressure-controller.js.map +1 -0
  621. package/dist/runtime/guardrails/circuit-breaker.d.ts +32 -0
  622. package/dist/runtime/guardrails/circuit-breaker.d.ts.map +1 -0
  623. package/dist/runtime/guardrails/circuit-breaker.js +88 -0
  624. package/dist/runtime/guardrails/circuit-breaker.js.map +1 -0
  625. package/dist/runtime/guardrails/guardrail-store.d.ts +23 -0
  626. package/dist/runtime/guardrails/guardrail-store.d.ts.map +1 -0
  627. package/dist/runtime/guardrails/guardrail-store.js +95 -0
  628. package/dist/runtime/guardrails/guardrail-store.js.map +1 -0
  629. package/dist/runtime/guardrails/index.d.ts +4 -0
  630. package/dist/runtime/guardrails/index.d.ts.map +1 -0
  631. package/dist/runtime/guardrails/index.js +4 -0
  632. package/dist/runtime/guardrails/index.js.map +1 -0
  633. package/dist/runtime/interactive-automation/browser-session-store.d.ts +43 -0
  634. package/dist/runtime/interactive-automation/browser-session-store.d.ts.map +1 -0
  635. package/dist/runtime/interactive-automation/browser-session-store.js +104 -0
  636. package/dist/runtime/interactive-automation/browser-session-store.js.map +1 -0
  637. package/dist/runtime/interactive-automation/failure-classifier.d.ts +12 -0
  638. package/dist/runtime/interactive-automation/failure-classifier.d.ts.map +1 -0
  639. package/dist/runtime/interactive-automation/failure-classifier.js +50 -0
  640. package/dist/runtime/interactive-automation/failure-classifier.js.map +1 -0
  641. package/dist/runtime/interactive-automation/index.d.ts +2 -0
  642. package/dist/runtime/interactive-automation/index.d.ts.map +1 -1
  643. package/dist/runtime/interactive-automation/index.js +2 -0
  644. package/dist/runtime/interactive-automation/index.js.map +1 -1
  645. package/dist/runtime/interactive-automation/providers/manus-browser.d.ts.map +1 -1
  646. package/dist/runtime/interactive-automation/providers/manus-browser.js +17 -1
  647. package/dist/runtime/interactive-automation/providers/manus-browser.js.map +1 -1
  648. package/dist/runtime/interactive-automation/types.d.ts +4 -0
  649. package/dist/runtime/interactive-automation/types.d.ts.map +1 -1
  650. package/dist/runtime/interactive-automation/types.js.map +1 -1
  651. package/dist/runtime/notification-routing.d.ts +45 -2
  652. package/dist/runtime/notification-routing.d.ts.map +1 -1
  653. package/dist/runtime/notification-routing.js +196 -79
  654. package/dist/runtime/notification-routing.js.map +1 -1
  655. package/dist/runtime/run-spec/confirmation.d.ts +34 -0
  656. package/dist/runtime/run-spec/confirmation.d.ts.map +1 -0
  657. package/dist/runtime/run-spec/confirmation.js +176 -0
  658. package/dist/runtime/run-spec/confirmation.js.map +1 -0
  659. package/dist/runtime/run-spec/derive.d.ts +284 -0
  660. package/dist/runtime/run-spec/derive.d.ts.map +1 -0
  661. package/dist/runtime/run-spec/derive.js +379 -0
  662. package/dist/runtime/run-spec/derive.js.map +1 -0
  663. package/dist/runtime/run-spec/index.d.ts +5 -0
  664. package/dist/runtime/run-spec/index.d.ts.map +1 -0
  665. package/dist/runtime/run-spec/index.js +5 -0
  666. package/dist/runtime/run-spec/index.js.map +1 -0
  667. package/dist/runtime/run-spec/store.d.ts +11 -0
  668. package/dist/runtime/run-spec/store.d.ts.map +1 -0
  669. package/dist/runtime/run-spec/store.js +36 -0
  670. package/dist/runtime/run-spec/store.js.map +1 -0
  671. package/dist/runtime/run-spec/types.d.ts +495 -0
  672. package/dist/runtime/run-spec/types.d.ts.map +1 -0
  673. package/dist/runtime/run-spec/types.js +87 -0
  674. package/dist/runtime/run-spec/types.js.map +1 -0
  675. package/dist/runtime/schedule/engine-cron-reflection.d.ts +31 -0
  676. package/dist/runtime/schedule/engine-cron-reflection.d.ts.map +1 -0
  677. package/dist/runtime/schedule/engine-cron-reflection.js +229 -0
  678. package/dist/runtime/schedule/engine-cron-reflection.js.map +1 -0
  679. package/dist/runtime/schedule/engine-execution.d.ts +48 -0
  680. package/dist/runtime/schedule/engine-execution.d.ts.map +1 -0
  681. package/dist/runtime/schedule/engine-execution.js +424 -0
  682. package/dist/runtime/schedule/engine-execution.js.map +1 -0
  683. package/dist/runtime/schedule/engine-heartbeat.d.ts +5 -0
  684. package/dist/runtime/schedule/engine-heartbeat.d.ts.map +1 -0
  685. package/dist/runtime/schedule/engine-heartbeat.js +104 -0
  686. package/dist/runtime/schedule/engine-heartbeat.js.map +1 -0
  687. package/dist/runtime/schedule/engine-layers.d.ts +4 -1
  688. package/dist/runtime/schedule/engine-layers.d.ts.map +1 -1
  689. package/dist/runtime/schedule/engine-layers.js +15 -229
  690. package/dist/runtime/schedule/engine-layers.js.map +1 -1
  691. package/dist/runtime/schedule/engine-mutations.d.ts +37 -0
  692. package/dist/runtime/schedule/engine-mutations.d.ts.map +1 -0
  693. package/dist/runtime/schedule/engine-mutations.js +263 -0
  694. package/dist/runtime/schedule/engine-mutations.js.map +1 -0
  695. package/dist/runtime/schedule/engine.d.ts +13 -39
  696. package/dist/runtime/schedule/engine.d.ts.map +1 -1
  697. package/dist/runtime/schedule/engine.js +65 -810
  698. package/dist/runtime/schedule/engine.js.map +1 -1
  699. package/dist/runtime/schedule/history.d.ts +20 -4
  700. package/dist/runtime/schedule/history.d.ts.map +1 -1
  701. package/dist/runtime/schedule/history.js +8 -0
  702. package/dist/runtime/schedule/history.js.map +1 -1
  703. package/dist/runtime/schedule/index.d.ts +1 -0
  704. package/dist/runtime/schedule/index.d.ts.map +1 -1
  705. package/dist/runtime/schedule/index.js +1 -0
  706. package/dist/runtime/schedule/index.js.map +1 -1
  707. package/dist/runtime/schedule/legacy-cron-migration.d.ts +9 -0
  708. package/dist/runtime/schedule/legacy-cron-migration.d.ts.map +1 -0
  709. package/dist/runtime/schedule/legacy-cron-migration.js +89 -0
  710. package/dist/runtime/schedule/legacy-cron-migration.js.map +1 -0
  711. package/dist/runtime/schedule/wait-projection.d.ts +6 -0
  712. package/dist/runtime/schedule/wait-projection.d.ts.map +1 -0
  713. package/dist/runtime/schedule/wait-projection.js +102 -0
  714. package/dist/runtime/schedule/wait-projection.js.map +1 -0
  715. package/dist/runtime/session-registry/registry-helpers.d.ts +34 -0
  716. package/dist/runtime/session-registry/registry-helpers.d.ts.map +1 -0
  717. package/dist/runtime/session-registry/registry-helpers.js +241 -0
  718. package/dist/runtime/session-registry/registry-helpers.js.map +1 -0
  719. package/dist/runtime/session-registry/registry.d.ts.map +1 -1
  720. package/dist/runtime/session-registry/registry.js +16 -243
  721. package/dist/runtime/session-registry/registry.js.map +1 -1
  722. package/dist/runtime/session-registry/types.d.ts +138 -130
  723. package/dist/runtime/session-registry/types.d.ts.map +1 -1
  724. package/dist/runtime/session-registry/types.js +2 -0
  725. package/dist/runtime/session-registry/types.js.map +1 -1
  726. package/dist/runtime/store/artifact-retention.d.ts +44 -0
  727. package/dist/runtime/store/artifact-retention.d.ts.map +1 -0
  728. package/dist/runtime/store/artifact-retention.js +263 -0
  729. package/dist/runtime/store/artifact-retention.js.map +1 -0
  730. package/dist/runtime/store/background-run-store.d.ts +1 -0
  731. package/dist/runtime/store/background-run-store.d.ts.map +1 -1
  732. package/dist/runtime/store/background-run-store.js +1 -0
  733. package/dist/runtime/store/background-run-store.js.map +1 -1
  734. package/dist/runtime/store/budget-store.d.ts +442 -0
  735. package/dist/runtime/store/budget-store.d.ts.map +1 -0
  736. package/dist/runtime/store/budget-store.js +318 -0
  737. package/dist/runtime/store/budget-store.js.map +1 -0
  738. package/dist/runtime/store/dream-checkpoints.d.ts +9 -0
  739. package/dist/runtime/store/dream-checkpoints.d.ts.map +1 -0
  740. package/dist/runtime/store/dream-checkpoints.js +16 -0
  741. package/dist/runtime/store/dream-checkpoints.js.map +1 -0
  742. package/dist/runtime/store/evaluator-results.d.ts +97 -0
  743. package/dist/runtime/store/evaluator-results.d.ts.map +1 -0
  744. package/dist/runtime/store/evaluator-results.js +355 -0
  745. package/dist/runtime/store/evaluator-results.js.map +1 -0
  746. package/dist/runtime/store/evidence-ledger.d.ts +5298 -0
  747. package/dist/runtime/store/evidence-ledger.d.ts.map +1 -0
  748. package/dist/runtime/store/evidence-ledger.js +1452 -0
  749. package/dist/runtime/store/evidence-ledger.js.map +1 -0
  750. package/dist/runtime/store/experiment-queue-store.d.ts +1164 -0
  751. package/dist/runtime/store/experiment-queue-store.d.ts.map +1 -0
  752. package/dist/runtime/store/experiment-queue-store.js +341 -0
  753. package/dist/runtime/store/experiment-queue-store.js.map +1 -0
  754. package/dist/runtime/store/health-store.d.ts.map +1 -1
  755. package/dist/runtime/store/health-store.js +6 -0
  756. package/dist/runtime/store/health-store.js.map +1 -1
  757. package/dist/runtime/store/index.d.ts +25 -2
  758. package/dist/runtime/store/index.d.ts.map +1 -1
  759. package/dist/runtime/store/index.js +13 -1
  760. package/dist/runtime/store/index.js.map +1 -1
  761. package/dist/runtime/store/metric-history.d.ts +10 -0
  762. package/dist/runtime/store/metric-history.d.ts.map +1 -0
  763. package/dist/runtime/store/metric-history.js +56 -0
  764. package/dist/runtime/store/metric-history.js.map +1 -0
  765. package/dist/runtime/store/operator-handoff-store.d.ts +179 -0
  766. package/dist/runtime/store/operator-handoff-store.d.ts.map +1 -0
  767. package/dist/runtime/store/operator-handoff-store.js +120 -0
  768. package/dist/runtime/store/operator-handoff-store.js.map +1 -0
  769. package/dist/runtime/store/postmortem-report.d.ts +485 -0
  770. package/dist/runtime/store/postmortem-report.d.ts.map +1 -0
  771. package/dist/runtime/store/postmortem-report.js +561 -0
  772. package/dist/runtime/store/postmortem-report.js.map +1 -0
  773. package/dist/runtime/store/reproducibility-manifest.d.ts +565 -0
  774. package/dist/runtime/store/reproducibility-manifest.d.ts.map +1 -0
  775. package/dist/runtime/store/reproducibility-manifest.js +392 -0
  776. package/dist/runtime/store/reproducibility-manifest.js.map +1 -0
  777. package/dist/runtime/store/research-evidence.d.ts +8 -0
  778. package/dist/runtime/store/research-evidence.d.ts.map +1 -0
  779. package/dist/runtime/store/research-evidence.js +15 -0
  780. package/dist/runtime/store/research-evidence.js.map +1 -0
  781. package/dist/runtime/store/runtime-operation-schemas.d.ts +80 -34
  782. package/dist/runtime/store/runtime-operation-schemas.d.ts.map +1 -1
  783. package/dist/runtime/store/runtime-operation-schemas.js +16 -1
  784. package/dist/runtime/store/runtime-operation-schemas.js.map +1 -1
  785. package/dist/runtime/store/runtime-paths.d.ts +25 -0
  786. package/dist/runtime/store/runtime-paths.d.ts.map +1 -1
  787. package/dist/runtime/store/runtime-paths.js +73 -0
  788. package/dist/runtime/store/runtime-paths.js.map +1 -1
  789. package/dist/runtime/store/runtime-schemas.d.ts +1934 -15
  790. package/dist/runtime/store/runtime-schemas.d.ts.map +1 -1
  791. package/dist/runtime/store/runtime-schemas.js +201 -0
  792. package/dist/runtime/store/runtime-schemas.js.map +1 -1
  793. package/dist/runtime/store/safe-pause-store.d.ts +28 -0
  794. package/dist/runtime/store/safe-pause-store.d.ts.map +1 -0
  795. package/dist/runtime/store/safe-pause-store.js +103 -0
  796. package/dist/runtime/store/safe-pause-store.js.map +1 -0
  797. package/dist/runtime/types/daemon.d.ts +234 -14
  798. package/dist/runtime/types/daemon.d.ts.map +1 -1
  799. package/dist/runtime/types/daemon.js +29 -2
  800. package/dist/runtime/types/daemon.js.map +1 -1
  801. package/dist/runtime/types/envelope.d.ts +10 -10
  802. package/dist/runtime/types/hook.d.ts +9 -9
  803. package/dist/runtime/types/notification.d.ts +6 -6
  804. package/dist/runtime/types/plugin.d.ts +2 -2
  805. package/dist/runtime/types/schedule.d.ts +162 -54
  806. package/dist/runtime/types/schedule.d.ts.map +1 -1
  807. package/dist/runtime/types/schedule.js +15 -1
  808. package/dist/runtime/types/schedule.js.map +1 -1
  809. package/dist/runtime/types/trigger.d.ts +2 -2
  810. package/dist/tools/automation/InteractiveAutomationTools.d.ts +10 -0
  811. package/dist/tools/automation/InteractiveAutomationTools.d.ts.map +1 -1
  812. package/dist/tools/automation/InteractiveAutomationTools.js +139 -8
  813. package/dist/tools/automation/InteractiveAutomationTools.js.map +1 -1
  814. package/dist/tools/builtin/exports.d.ts +2 -1
  815. package/dist/tools/builtin/exports.d.ts.map +1 -1
  816. package/dist/tools/builtin/exports.js +2 -1
  817. package/dist/tools/builtin/exports.js.map +1 -1
  818. package/dist/tools/builtin/factory.d.ts +7 -0
  819. package/dist/tools/builtin/factory.d.ts.map +1 -1
  820. package/dist/tools/builtin/factory.js +26 -3
  821. package/dist/tools/builtin/factory.js.map +1 -1
  822. package/dist/tools/fs/FileValidationTool/protected-path-policy.d.ts +1 -0
  823. package/dist/tools/fs/FileValidationTool/protected-path-policy.d.ts.map +1 -1
  824. package/dist/tools/fs/FileValidationTool/protected-path-policy.js +17 -4
  825. package/dist/tools/fs/FileValidationTool/protected-path-policy.js.map +1 -1
  826. package/dist/tools/fs/ListDirTool/ListDirTool.js +1 -1
  827. package/dist/tools/fs/ListDirTool/ListDirTool.js.map +1 -1
  828. package/dist/tools/kaggle/KaggleExperimentTools.d.ts +792 -8
  829. package/dist/tools/kaggle/KaggleExperimentTools.d.ts.map +1 -1
  830. package/dist/tools/kaggle/KaggleExperimentTools.js +284 -19
  831. package/dist/tools/kaggle/KaggleExperimentTools.js.map +1 -1
  832. package/dist/tools/kaggle/KaggleSubmissionTools.d.ts +18 -12
  833. package/dist/tools/kaggle/KaggleSubmissionTools.d.ts.map +1 -1
  834. package/dist/tools/kaggle/KaggleSubmissionTools.js +23 -4
  835. package/dist/tools/kaggle/KaggleSubmissionTools.js.map +1 -1
  836. package/dist/tools/kaggle/KaggleWorkspacePrepareTool.d.ts +28 -9
  837. package/dist/tools/kaggle/KaggleWorkspacePrepareTool.d.ts.map +1 -1
  838. package/dist/tools/kaggle/KaggleWorkspacePrepareTool.js +182 -4
  839. package/dist/tools/kaggle/KaggleWorkspacePrepareTool.js.map +1 -1
  840. package/dist/tools/kaggle/index.d.ts +1 -1
  841. package/dist/tools/kaggle/index.d.ts.map +1 -1
  842. package/dist/tools/kaggle/index.js +1 -1
  843. package/dist/tools/kaggle/index.js.map +1 -1
  844. package/dist/tools/kaggle/metrics.d.ts +845 -4
  845. package/dist/tools/kaggle/metrics.d.ts.map +1 -1
  846. package/dist/tools/kaggle/metrics.js +410 -1
  847. package/dist/tools/kaggle/metrics.js.map +1 -1
  848. package/dist/tools/kaggle/paths.d.ts.map +1 -1
  849. package/dist/tools/kaggle/paths.js +6 -0
  850. package/dist/tools/kaggle/paths.js.map +1 -1
  851. package/dist/tools/mutation/ConfigureNotificationRoutingTool/ConfigureNotificationRoutingTool.d.ts +6 -0
  852. package/dist/tools/mutation/ConfigureNotificationRoutingTool/ConfigureNotificationRoutingTool.d.ts.map +1 -1
  853. package/dist/tools/mutation/ConfigureNotificationRoutingTool/ConfigureNotificationRoutingTool.js +9 -2
  854. package/dist/tools/mutation/ConfigureNotificationRoutingTool/ConfigureNotificationRoutingTool.js.map +1 -1
  855. package/dist/tools/mutation/TaskCreateTool/TaskCreateTool.d.ts +4 -4
  856. package/dist/tools/network/McpStdioTool/McpStdioTool.d.ts +4 -4
  857. package/dist/tools/query/CodeSearchRepairTool/CodeSearchRepairTool.d.ts.map +1 -1
  858. package/dist/tools/query/CodeSearchRepairTool/CodeSearchRepairTool.js +23 -2
  859. package/dist/tools/query/CodeSearchRepairTool/CodeSearchRepairTool.js.map +1 -1
  860. package/dist/tools/query/CodeSearchTool/CodeSearchTool.d.ts.map +1 -1
  861. package/dist/tools/query/CodeSearchTool/CodeSearchTool.js +24 -2
  862. package/dist/tools/query/CodeSearchTool/CodeSearchTool.js.map +1 -1
  863. package/dist/tools/query/MemoryRecallTool/MemoryRecallTool.d.ts +2 -2
  864. package/dist/tools/query/SoilQueryTool/SoilQueryTool.d.ts.map +1 -1
  865. package/dist/tools/query/SoilQueryTool/SoilQueryTool.js +43 -9
  866. package/dist/tools/query/SoilQueryTool/SoilQueryTool.js.map +1 -1
  867. package/dist/tools/query/code-search-root.d.ts +8 -0
  868. package/dist/tools/query/code-search-root.d.ts.map +1 -0
  869. package/dist/tools/query/code-search-root.js +41 -0
  870. package/dist/tools/query/code-search-root.js.map +1 -0
  871. package/dist/tools/query/runtime-dream-review-tool.d.ts +34 -0
  872. package/dist/tools/query/runtime-dream-review-tool.d.ts.map +1 -0
  873. package/dist/tools/query/runtime-dream-review-tool.js +62 -0
  874. package/dist/tools/query/runtime-dream-review-tool.js.map +1 -0
  875. package/dist/tools/query/runtime-session-tools.d.ts +560 -0
  876. package/dist/tools/query/runtime-session-tools.d.ts.map +1 -0
  877. package/dist/tools/query/runtime-session-tools.js +1017 -0
  878. package/dist/tools/query/runtime-session-tools.js.map +1 -0
  879. package/dist/tools/runtime/LongRunningRuntimeTools.d.ts +821 -0
  880. package/dist/tools/runtime/LongRunningRuntimeTools.d.ts.map +1 -0
  881. package/dist/tools/runtime/LongRunningRuntimeTools.js +905 -0
  882. package/dist/tools/runtime/LongRunningRuntimeTools.js.map +1 -0
  883. package/dist/tools/schedule/CreateScheduleTool/CreateScheduleTool.d.ts +62 -32
  884. package/dist/tools/schedule/CreateScheduleTool/CreateScheduleTool.d.ts.map +1 -1
  885. package/dist/tools/schedule/UpdateScheduleTool/UpdateScheduleTool.d.ts +78 -44
  886. package/dist/tools/schedule/UpdateScheduleTool/UpdateScheduleTool.d.ts.map +1 -1
  887. package/dist/tools/system/ProcessSessionTool/ProcessSessionTool.d.ts +1 -0
  888. package/dist/tools/system/ProcessSessionTool/ProcessSessionTool.d.ts.map +1 -1
  889. package/dist/tools/system/ProcessSessionTool/ProcessSessionTool.js +11 -0
  890. package/dist/tools/system/ProcessSessionTool/ProcessSessionTool.js.map +1 -1
  891. package/dist/tools/system/ShellTool/ShellTool.d.ts.map +1 -1
  892. package/dist/tools/system/ShellTool/ShellTool.js +2 -1
  893. package/dist/tools/system/ShellTool/ShellTool.js.map +1 -1
  894. package/dist/tools/system/TestRunnerTool/TestRunnerTool.d.ts +4 -4
  895. package/dist/tools/types.d.ts +2 -0
  896. package/dist/tools/types.d.ts.map +1 -1
  897. package/dist/tools/types.js.map +1 -1
  898. package/package.json +2 -1
  899. package/dist/base/types/cron.d.ts +0 -2
  900. package/dist/base/types/cron.d.ts.map +0 -1
  901. package/dist/base/types/cron.js +0 -3
  902. package/dist/base/types/cron.js.map +0 -1
  903. package/dist/runtime/cron-scheduler.d.ts +0 -13
  904. package/dist/runtime/cron-scheduler.d.ts.map +0 -1
  905. package/dist/runtime/cron-scheduler.js +0 -90
  906. package/dist/runtime/cron-scheduler.js.map +0 -1
  907. package/dist/runtime/types/cron.d.ts +0 -59
  908. package/dist/runtime/types/cron.d.ts.map +0 -1
  909. package/dist/runtime/types/cron.js +0 -13
  910. package/dist/runtime/types/cron.js.map +0 -1
@@ -0,0 +1,1017 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import { z } from "zod";
3
+ import { ChatHistory, ChatSessionSchema } from "../../interface/chat/chat-history.js";
4
+ import { ChatSessionCatalog } from "../../interface/chat/chat-session-store.js";
5
+ import { createRuntimeSessionRegistry } from "../../runtime/session-registry/index.js";
6
+ import { OutboxStore } from "../../runtime/store/outbox-store.js";
7
+ import { RuntimeDreamReviewTool } from "./runtime-dream-review-tool.js";
8
+ const READ_ONLY = true;
9
+ const READ_PERMISSION = "read_only";
10
+ const WRITE_PERMISSION = "write_local";
11
+ const TAGS = ["session", "self-grounding"];
12
+ function normalizeConversationSelector(selector) {
13
+ return selector.startsWith("session:conversation:")
14
+ ? selector.slice("session:conversation:".length)
15
+ : selector;
16
+ }
17
+ function toConversationRuntimeId(sessionId) {
18
+ return `session:conversation:${sessionId}`;
19
+ }
20
+ function buildCompletionMessage(session, status, summary) {
21
+ const title = session.title ? ` "${session.title}"` : "";
22
+ return `Session ${session.id}${title} ${status}: ${summary}`;
23
+ }
24
+ function summarizeMessages(messages, limit) {
25
+ return messages.slice(-limit).map((message) => ({
26
+ role: message.role,
27
+ content: message.content,
28
+ timestamp: message.timestamp,
29
+ turnIndex: message.turnIndex,
30
+ }));
31
+ }
32
+ function reindexMessages(messages) {
33
+ return messages.map((message, index) => ({
34
+ role: message.role,
35
+ content: message.content,
36
+ timestamp: message.timestamp,
37
+ turnIndex: index,
38
+ }));
39
+ }
40
+ function toChatSessionRecord(session) {
41
+ return {
42
+ id: session.id,
43
+ cwd: session.cwd,
44
+ createdAt: session.createdAt,
45
+ updatedAt: session.updatedAt,
46
+ messages: [...session.messages],
47
+ ...(session.parentSessionId ? { parentSessionId: session.parentSessionId } : {}),
48
+ ...(session.spawnedBySessionId ? { spawnedBySessionId: session.spawnedBySessionId } : {}),
49
+ ...(session.spawnedByRuntimeSessionId ? { spawnedByRuntimeSessionId: session.spawnedByRuntimeSessionId } : {}),
50
+ ...(session.spawnedAt ? { spawnedAt: session.spawnedAt } : {}),
51
+ ...(session.sessionStatus ? { sessionStatus: session.sessionStatus } : {}),
52
+ ...(session.sessionSummary ? { sessionSummary: session.sessionSummary } : {}),
53
+ ...(session.completedAt ? { completedAt: session.completedAt } : {}),
54
+ ...(session.goalId ? { goalId: session.goalId } : {}),
55
+ ...(session.strategyId ? { strategyId: session.strategyId } : {}),
56
+ ...(session.notificationPolicy ? { notificationPolicy: session.notificationPolicy } : {}),
57
+ ...(session.ownerId ? { ownerId: session.ownerId } : {}),
58
+ ...(session.ownerClaimedAt ? { ownerClaimedAt: session.ownerClaimedAt } : {}),
59
+ ...(session.waitingUntil ? { waitingUntil: session.waitingUntil } : {}),
60
+ ...(session.waitingCondition ? { waitingCondition: session.waitingCondition } : {}),
61
+ ...(session.retryCount !== null && session.retryCount !== undefined ? { retryCount: session.retryCount } : {}),
62
+ ...(session.lastRetryAt ? { lastRetryAt: session.lastRetryAt } : {}),
63
+ ...(session.lastResumedAt ? { lastResumedAt: session.lastResumedAt } : {}),
64
+ ...(session.notificationReplyTarget ? { notificationReplyTarget: session.notificationReplyTarget } : {}),
65
+ ...(session.parentNotificationStatus ? { parentNotificationStatus: session.parentNotificationStatus } : {}),
66
+ ...(session.parentNotificationSummary ? { parentNotificationSummary: session.parentNotificationSummary } : {}),
67
+ ...(session.parentNotifiedAt ? { parentNotifiedAt: session.parentNotifiedAt } : {}),
68
+ ...(session.compactionSummary ? { compactionSummary: session.compactionSummary } : {}),
69
+ ...(session.title ? { title: session.title } : {}),
70
+ ...(session.agentLoopStatePath ? { agentLoopStatePath: session.agentLoopStatePath } : {}),
71
+ ...(session.agentLoopStatus === "running" || session.agentLoopStatus === "completed" || session.agentLoopStatus === "failed"
72
+ ? { agentLoopStatus: session.agentLoopStatus }
73
+ : {}),
74
+ ...(session.agentLoopResumable ? { agentLoopResumable: true } : {}),
75
+ ...(session.agentLoopUpdatedAt ? { agentLoopUpdatedAt: session.agentLoopUpdatedAt } : {}),
76
+ ...(session.agentLoop ? { agentLoop: session.agentLoop } : {}),
77
+ ...(session.usage ? { usage: session.usage } : {}),
78
+ };
79
+ }
80
+ class RuntimeSessionToolService {
81
+ stateManager;
82
+ constructor(stateManager) {
83
+ this.stateManager = stateManager;
84
+ }
85
+ catalog() {
86
+ return new ChatSessionCatalog(this.stateManager);
87
+ }
88
+ registry() {
89
+ return createRuntimeSessionRegistry({ stateManager: this.stateManager });
90
+ }
91
+ outbox() {
92
+ return new OutboxStore(this.stateManager.getBaseDir());
93
+ }
94
+ async listSessions(input, context) {
95
+ const snapshot = await this.registry().snapshot();
96
+ const allowedConversationIds = await this.allowedConversationIds(input.scope, context);
97
+ const runtimeAllowedIds = allowedConversationIds
98
+ ? new Set(Array.from(allowedConversationIds, (id) => toConversationRuntimeId(id)))
99
+ : null;
100
+ const kindFilter = input.kinds?.length ? new Set(input.kinds) : null;
101
+ const sessions = snapshot.sessions.filter((session) => {
102
+ if (kindFilter && !kindFilter.has(session.kind))
103
+ return false;
104
+ if (input.activeOnly && session.status !== "active")
105
+ return false;
106
+ if (!runtimeAllowedIds)
107
+ return true;
108
+ if (session.kind === "conversation")
109
+ return runtimeAllowedIds.has(session.id);
110
+ return session.parent_session_id ? runtimeAllowedIds.has(session.parent_session_id) : false;
111
+ });
112
+ if (!input.includeRuns) {
113
+ return { sessions };
114
+ }
115
+ const runs = snapshot.background_runs.filter((run) => {
116
+ if (!runtimeAllowedIds)
117
+ return true;
118
+ if (run.parent_session_id && runtimeAllowedIds.has(run.parent_session_id))
119
+ return true;
120
+ return run.child_session_id ? sessions.some((session) => session.id === run.child_session_id) : false;
121
+ });
122
+ return { sessions, runs };
123
+ }
124
+ async loadHistory(selector, limit) {
125
+ const session = await this.resolveConversationSession(selector);
126
+ return {
127
+ sessionId: session.id,
128
+ runtimeSessionId: toConversationRuntimeId(session.id),
129
+ title: session.title,
130
+ parentSessionId: session.parentSessionId ?? null,
131
+ cwd: session.cwd,
132
+ createdAt: session.createdAt,
133
+ updatedAt: session.updatedAt,
134
+ ...(session.compactionSummary ? { compactionSummary: session.compactionSummary } : {}),
135
+ messages: summarizeMessages(session.messages, limit),
136
+ };
137
+ }
138
+ async readSession(selector) {
139
+ const session = await this.resolveConversationSession(selector);
140
+ const entries = await this.catalog().listSessions();
141
+ return {
142
+ sessionId: session.id,
143
+ runtimeSessionId: toConversationRuntimeId(session.id),
144
+ title: session.title,
145
+ parentSessionId: session.parentSessionId ?? null,
146
+ childSessionIds: entries.filter((entry) => entry.parentSessionId === session.id).map((entry) => entry.id),
147
+ cwd: session.cwd,
148
+ createdAt: session.createdAt,
149
+ updatedAt: session.updatedAt,
150
+ sessionStatus: session.sessionStatus ?? null,
151
+ sessionSummary: session.sessionSummary ?? null,
152
+ completedAt: session.completedAt ?? null,
153
+ goalId: session.goalId ?? null,
154
+ strategyId: session.strategyId ?? null,
155
+ notificationPolicy: session.notificationPolicy ?? null,
156
+ ownerId: session.ownerId ?? null,
157
+ ownerClaimedAt: session.ownerClaimedAt ?? null,
158
+ waitingUntil: session.waitingUntil ?? null,
159
+ waitingCondition: session.waitingCondition ?? null,
160
+ retryCount: session.retryCount ?? null,
161
+ lastRetryAt: session.lastRetryAt ?? null,
162
+ lastResumedAt: session.lastResumedAt ?? null,
163
+ parentNotificationStatus: session.parentNotificationStatus ?? null,
164
+ parentNotifiedAt: session.parentNotifiedAt ?? null,
165
+ notificationReplyTarget: session.notificationReplyTarget ?? null,
166
+ };
167
+ }
168
+ async listChildren(selector) {
169
+ const session = await this.resolveConversationSession(selector);
170
+ const entries = await this.catalog().listSessions();
171
+ const loadedChildren = await Promise.all(entries
172
+ .filter((entry) => entry.parentSessionId === session.id)
173
+ .map((entry) => this.catalog().loadSession(entry.id)));
174
+ return {
175
+ sessionId: session.id,
176
+ runtimeSessionId: toConversationRuntimeId(session.id),
177
+ children: loadedChildren
178
+ .filter((child) => child !== null)
179
+ .map((child) => ({
180
+ sessionId: child.id,
181
+ runtimeSessionId: toConversationRuntimeId(child.id),
182
+ title: child.title,
183
+ sessionStatus: child.sessionStatus ?? null,
184
+ goalId: child.goalId ?? null,
185
+ strategyId: child.strategyId ?? null,
186
+ waitingUntil: child.waitingUntil ?? null,
187
+ ownerId: child.ownerId ?? null,
188
+ })),
189
+ };
190
+ }
191
+ async spawnSession(input, context) {
192
+ const now = new Date().toISOString();
193
+ const sessionId = randomUUID();
194
+ const parentSessionId = context.conversationSessionId ?? null;
195
+ const baseSession = input.copy_recent_messages && parentSessionId
196
+ ? await this.catalog().loadSession(parentSessionId)
197
+ : null;
198
+ const seededMessages = input.copy_recent_messages && baseSession
199
+ ? reindexMessages(baseSession.messages.slice(-input.recent_message_limit))
200
+ : [];
201
+ const persisted = ChatSessionSchema.parse({
202
+ id: sessionId,
203
+ cwd: input.cwd?.trim() || context.cwd,
204
+ createdAt: now,
205
+ updatedAt: now,
206
+ messages: seededMessages,
207
+ ...(input.title?.trim() ? { title: input.title.trim() } : {}),
208
+ ...(parentSessionId ? { parentSessionId } : {}),
209
+ ...(parentSessionId ? { spawnedBySessionId: parentSessionId } : {}),
210
+ ...(context.sessionId ? { spawnedByRuntimeSessionId: context.sessionId } : {}),
211
+ spawnedAt: now,
212
+ ...(input.goal_id?.trim() ? { goalId: input.goal_id.trim() } : {}),
213
+ ...(input.strategy_id?.trim() ? { strategyId: input.strategy_id.trim() } : {}),
214
+ notificationPolicy: input.notification_policy ?? (parentSessionId ? "all_terminal" : "important_only"),
215
+ ...(input.owner_id?.trim() ? { ownerId: input.owner_id.trim() } : {}),
216
+ ...(input.owner_id?.trim() ? { ownerClaimedAt: now } : {}),
217
+ sessionStatus: input.message?.trim() ? "queued" : "idle",
218
+ parentNotificationStatus: parentSessionId ? "pending" : "none",
219
+ ...(baseSession?.notificationReplyTarget ? { notificationReplyTarget: baseSession.notificationReplyTarget } : {}),
220
+ agentLoopStatePath: `chat/agentloop/${sessionId}.state.json`,
221
+ });
222
+ const history = ChatHistory.fromSession(this.stateManager, persisted);
223
+ if (input.message?.trim()) {
224
+ await history.appendUserMessage(input.message.trim());
225
+ }
226
+ else {
227
+ await history.persist();
228
+ }
229
+ return {
230
+ sessionId,
231
+ runtimeSessionId: toConversationRuntimeId(sessionId),
232
+ parentSessionId,
233
+ resumeCommand: `/resume session:conversation:${sessionId}`,
234
+ messageQueued: Boolean(input.message?.trim()),
235
+ };
236
+ }
237
+ async sendToSession(selector, message) {
238
+ const session = await this.resolveConversationSession(selector);
239
+ const history = ChatHistory.fromSession(this.stateManager, toChatSessionRecord(session));
240
+ history.setSessionLifecycle({ status: "queued" });
241
+ await history.appendUserMessage(message.trim());
242
+ const updated = history.getSessionData();
243
+ return {
244
+ sessionId: session.id,
245
+ runtimeSessionId: toConversationRuntimeId(session.id),
246
+ messageCount: updated.messages.length,
247
+ updatedAt: updated.updatedAt ?? updated.createdAt,
248
+ };
249
+ }
250
+ async updateSession(selector, input) {
251
+ const session = await this.resolveConversationSession(selector);
252
+ const history = ChatHistory.fromSession(this.stateManager, toChatSessionRecord(session));
253
+ const completedAt = input.status === "completed" || input.status === "failed"
254
+ ? (input.completed_at ?? new Date().toISOString())
255
+ : null;
256
+ history.setSessionLifecycle({
257
+ status: input.status,
258
+ summary: input.summary ?? undefined,
259
+ completedAt,
260
+ goalId: input.goal_id ?? undefined,
261
+ strategyId: input.strategy_id ?? undefined,
262
+ notificationPolicy: input.notification_policy ?? undefined,
263
+ waitingUntil: input.waiting_until ?? (input.status === "waiting" ? null : undefined),
264
+ waitingCondition: input.waiting_condition ?? (input.status === "waiting" ? null : undefined),
265
+ lastResumedAt: input.status === "running" ? new Date().toISOString() : undefined,
266
+ parentNotificationStatus: session.parentSessionId && input.notify_parent ? "pending" : undefined,
267
+ });
268
+ if (input.append_assistant_message && input.summary?.trim()) {
269
+ await history.appendAssistantMessage(input.summary.trim());
270
+ }
271
+ else {
272
+ await history.persist();
273
+ }
274
+ let notified = false;
275
+ let parentNotificationStatus = session.parentNotificationStatus ?? null;
276
+ if (session.parentSessionId
277
+ && input.notify_parent
278
+ && input.summary?.trim()
279
+ && (input.status === "completed" || input.status === "failed")) {
280
+ try {
281
+ await this.notifyParentSession(session, input.status, input.summary.trim(), completedAt ?? new Date().toISOString());
282
+ parentNotificationStatus = "sent";
283
+ notified = true;
284
+ }
285
+ catch {
286
+ parentNotificationStatus = "failed";
287
+ }
288
+ const refreshed = ChatHistory.fromSession(this.stateManager, {
289
+ ...history.getSessionData(),
290
+ });
291
+ refreshed.setSessionLifecycle({
292
+ parentNotificationStatus,
293
+ parentNotificationSummary: input.summary.trim(),
294
+ parentNotifiedAt: notified ? new Date().toISOString() : null,
295
+ });
296
+ await refreshed.persist();
297
+ }
298
+ return {
299
+ sessionId: session.id,
300
+ runtimeSessionId: toConversationRuntimeId(session.id),
301
+ status: input.status,
302
+ parentSessionId: session.parentSessionId ?? null,
303
+ parentNotificationStatus,
304
+ notified,
305
+ };
306
+ }
307
+ async claimSession(selector, ownerId) {
308
+ const session = await this.resolveConversationSession(selector);
309
+ const history = ChatHistory.fromSession(this.stateManager, toChatSessionRecord(session));
310
+ const ownerClaimedAt = new Date().toISOString();
311
+ history.setSessionLifecycle({ ownerId, ownerClaimedAt });
312
+ await history.persist();
313
+ return {
314
+ sessionId: session.id,
315
+ runtimeSessionId: toConversationRuntimeId(session.id),
316
+ ownerId,
317
+ ownerClaimedAt,
318
+ };
319
+ }
320
+ async cancelSession(selector, reason) {
321
+ await this.updateSession(selector, {
322
+ session_id: selector,
323
+ status: "failed",
324
+ summary: reason,
325
+ append_assistant_message: false,
326
+ notify_parent: true,
327
+ });
328
+ const session = await this.resolveConversationSession(selector);
329
+ return {
330
+ sessionId: session.id,
331
+ runtimeSessionId: toConversationRuntimeId(session.id),
332
+ status: "failed",
333
+ };
334
+ }
335
+ async retrySession(selector, message) {
336
+ const session = await this.resolveConversationSession(selector);
337
+ const history = ChatHistory.fromSession(this.stateManager, toChatSessionRecord(session));
338
+ const retryCount = (session.retryCount ?? 0) + 1;
339
+ const now = new Date().toISOString();
340
+ history.setSessionLifecycle({
341
+ status: "queued",
342
+ completedAt: null,
343
+ summary: null,
344
+ retryCount,
345
+ lastRetryAt: now,
346
+ waitingUntil: null,
347
+ waitingCondition: null,
348
+ parentNotificationStatus: session.parentSessionId ? "pending" : session.parentNotificationStatus ?? null,
349
+ });
350
+ if (message?.trim()) {
351
+ await history.appendUserMessage(message.trim());
352
+ }
353
+ else {
354
+ await history.persist();
355
+ }
356
+ return {
357
+ sessionId: session.id,
358
+ runtimeSessionId: toConversationRuntimeId(session.id),
359
+ retryCount,
360
+ status: "queued",
361
+ };
362
+ }
363
+ async notifyParentSession(childSession, status, summary, completedAt) {
364
+ const parentSession = await this.resolveConversationSession(childSession.parentSessionId);
365
+ const parentHistory = ChatHistory.fromSession(this.stateManager, toChatSessionRecord(parentSession));
366
+ const message = buildCompletionMessage(childSession, status, summary);
367
+ await parentHistory.appendAssistantMessage(message);
368
+ const replyTarget = parentSession.notificationReplyTarget ?? childSession.notificationReplyTarget ?? null;
369
+ if (!replyTarget)
370
+ return;
371
+ const outbox = this.outbox();
372
+ const createdAt = Date.now();
373
+ await outbox.append({
374
+ event_type: "session_completion",
375
+ correlation_id: childSession.id,
376
+ created_at: createdAt,
377
+ payload: {
378
+ session_id: childSession.id,
379
+ runtime_session_id: toConversationRuntimeId(childSession.id),
380
+ parent_session_id: childSession.parentSessionId,
381
+ status,
382
+ summary,
383
+ completed_at: completedAt,
384
+ reply_target: replyTarget,
385
+ },
386
+ });
387
+ await outbox.append({
388
+ event_type: "chat_response",
389
+ correlation_id: childSession.id,
390
+ created_at: Date.now(),
391
+ payload: {
392
+ goalId: `session:${childSession.id}`,
393
+ goal_id: `session:${childSession.id}`,
394
+ message,
395
+ status,
396
+ reply_target: replyTarget,
397
+ session_completion: {
398
+ session_id: childSession.id,
399
+ runtime_session_id: toConversationRuntimeId(childSession.id),
400
+ parent_session_id: childSession.parentSessionId,
401
+ status,
402
+ summary,
403
+ completed_at: completedAt,
404
+ },
405
+ },
406
+ });
407
+ }
408
+ async resolveConversationSession(selector) {
409
+ const session = await this.catalog().loadSessionBySelector(normalizeConversationSelector(selector));
410
+ if (!session) {
411
+ throw new Error(`No chat session matched selector "${selector}".`);
412
+ }
413
+ return session;
414
+ }
415
+ async allowedConversationIds(scope, context) {
416
+ const currentConversationId = context.conversationSessionId ?? null;
417
+ if (scope === "all" || !currentConversationId)
418
+ return null;
419
+ if (scope === "self")
420
+ return new Set([currentConversationId]);
421
+ const entries = await this.catalog().listSessions();
422
+ const descendants = new Set([currentConversationId]);
423
+ let changed = true;
424
+ while (changed) {
425
+ changed = false;
426
+ for (const entry of entries) {
427
+ if (!entry.parentSessionId)
428
+ continue;
429
+ if (descendants.has(entry.parentSessionId) && !descendants.has(entry.id)) {
430
+ descendants.add(entry.id);
431
+ changed = true;
432
+ }
433
+ }
434
+ }
435
+ return descendants;
436
+ }
437
+ }
438
+ export const RuntimeSessionsListInputSchema = z.object({
439
+ scope: z.enum(["self", "tree", "all"]).default("tree"),
440
+ kinds: z.array(z.enum(["conversation", "agent", "coreloop"])).optional(),
441
+ activeOnly: z.boolean().default(false),
442
+ includeRuns: z.boolean().default(false),
443
+ });
444
+ export class RuntimeSessionsListTool {
445
+ service;
446
+ metadata = {
447
+ name: "sessions_list",
448
+ aliases: ["list_sessions", "runtime_sessions_list"],
449
+ permissionLevel: READ_PERMISSION,
450
+ isReadOnly: READ_ONLY,
451
+ isDestructive: false,
452
+ shouldDefer: false,
453
+ alwaysLoad: false,
454
+ maxConcurrency: 0,
455
+ maxOutputChars: 12000,
456
+ tags: [...TAGS],
457
+ };
458
+ inputSchema = RuntimeSessionsListInputSchema;
459
+ constructor(service) {
460
+ this.service = service;
461
+ }
462
+ description(_context) {
463
+ return "List PulSeed runtime sessions. Supports current-session scope, spawned-session tree scope, or all sessions.";
464
+ }
465
+ async call(input, context) {
466
+ const started = Date.now();
467
+ try {
468
+ const data = await this.service.listSessions(input, context);
469
+ return {
470
+ success: true,
471
+ data,
472
+ summary: `Found ${data.sessions.length} session(s)`,
473
+ durationMs: Date.now() - started,
474
+ };
475
+ }
476
+ catch (error) {
477
+ return {
478
+ success: false,
479
+ data: null,
480
+ summary: `sessions_list failed: ${error instanceof Error ? error.message : String(error)}`,
481
+ error: error instanceof Error ? error.message : String(error),
482
+ durationMs: Date.now() - started,
483
+ };
484
+ }
485
+ }
486
+ async checkPermissions() {
487
+ return { status: "allowed" };
488
+ }
489
+ isConcurrencySafe() {
490
+ return true;
491
+ }
492
+ }
493
+ export const RuntimeSessionsHistoryInputSchema = z.object({
494
+ session_id: z.string().min(1, "session_id is required"),
495
+ limit: z.number().int().positive().max(100).default(20),
496
+ });
497
+ export class RuntimeSessionsHistoryTool {
498
+ service;
499
+ metadata = {
500
+ name: "sessions_history",
501
+ aliases: ["read_session_history", "runtime_session_history"],
502
+ permissionLevel: READ_PERMISSION,
503
+ isReadOnly: READ_ONLY,
504
+ isDestructive: false,
505
+ shouldDefer: false,
506
+ alwaysLoad: false,
507
+ maxConcurrency: 0,
508
+ maxOutputChars: 12000,
509
+ tags: [...TAGS],
510
+ };
511
+ inputSchema = RuntimeSessionsHistoryInputSchema;
512
+ constructor(service) {
513
+ this.service = service;
514
+ }
515
+ description(_context) {
516
+ return "Read recent message history from a PulSeed chat conversation session by chat id or runtime session id.";
517
+ }
518
+ async call(input, _context) {
519
+ const started = Date.now();
520
+ try {
521
+ const data = await this.service.loadHistory(input.session_id, input.limit);
522
+ return {
523
+ success: true,
524
+ data,
525
+ summary: `Loaded ${data.messages.length} message(s) from session ${data.sessionId}`,
526
+ durationMs: Date.now() - started,
527
+ };
528
+ }
529
+ catch (error) {
530
+ return {
531
+ success: false,
532
+ data: null,
533
+ summary: `sessions_history failed: ${error instanceof Error ? error.message : String(error)}`,
534
+ error: error instanceof Error ? error.message : String(error),
535
+ durationMs: Date.now() - started,
536
+ };
537
+ }
538
+ }
539
+ async checkPermissions() {
540
+ return { status: "allowed" };
541
+ }
542
+ isConcurrencySafe() {
543
+ return true;
544
+ }
545
+ }
546
+ export const RuntimeSessionsReadInputSchema = z.object({
547
+ session_id: z.string().min(1, "session_id is required"),
548
+ });
549
+ export class RuntimeSessionsReadTool {
550
+ service;
551
+ metadata = {
552
+ name: "sessions_read",
553
+ aliases: ["read_session", "runtime_session_read"],
554
+ permissionLevel: READ_PERMISSION,
555
+ isReadOnly: READ_ONLY,
556
+ isDestructive: false,
557
+ shouldDefer: false,
558
+ alwaysLoad: false,
559
+ maxConcurrency: 0,
560
+ maxOutputChars: 12000,
561
+ tags: [...TAGS],
562
+ };
563
+ inputSchema = RuntimeSessionsReadInputSchema;
564
+ constructor(service) {
565
+ this.service = service;
566
+ }
567
+ description() {
568
+ return "Read one PulSeed conversation session with parent/child relationships, lifecycle state, and notification metadata.";
569
+ }
570
+ async call(input, _context) {
571
+ const started = Date.now();
572
+ try {
573
+ const data = await this.service.readSession(input.session_id);
574
+ return {
575
+ success: true,
576
+ data,
577
+ summary: `Loaded session ${data.sessionId}`,
578
+ durationMs: Date.now() - started,
579
+ };
580
+ }
581
+ catch (error) {
582
+ return {
583
+ success: false,
584
+ data: null,
585
+ summary: `sessions_read failed: ${error instanceof Error ? error.message : String(error)}`,
586
+ error: error instanceof Error ? error.message : String(error),
587
+ durationMs: Date.now() - started,
588
+ };
589
+ }
590
+ }
591
+ async checkPermissions() {
592
+ return { status: "allowed" };
593
+ }
594
+ isConcurrencySafe() {
595
+ return true;
596
+ }
597
+ }
598
+ export const RuntimeSessionsChildrenInputSchema = z.object({
599
+ session_id: z.string().min(1, "session_id is required"),
600
+ });
601
+ export class RuntimeSessionsChildrenTool {
602
+ service;
603
+ metadata = {
604
+ name: "sessions_children",
605
+ aliases: ["list_session_children", "runtime_session_children"],
606
+ permissionLevel: READ_PERMISSION,
607
+ isReadOnly: READ_ONLY,
608
+ isDestructive: false,
609
+ shouldDefer: false,
610
+ alwaysLoad: false,
611
+ maxConcurrency: 0,
612
+ maxOutputChars: 12000,
613
+ tags: [...TAGS],
614
+ };
615
+ inputSchema = RuntimeSessionsChildrenInputSchema;
616
+ constructor(service) {
617
+ this.service = service;
618
+ }
619
+ description() {
620
+ return "List child conversation sessions spawned from a PulSeed conversation session.";
621
+ }
622
+ async call(input, _context) {
623
+ const started = Date.now();
624
+ try {
625
+ const data = await this.service.listChildren(input.session_id);
626
+ return {
627
+ success: true,
628
+ data,
629
+ summary: `Loaded ${data.children.length} child session(s) for ${data.sessionId}`,
630
+ durationMs: Date.now() - started,
631
+ };
632
+ }
633
+ catch (error) {
634
+ return {
635
+ success: false,
636
+ data: null,
637
+ summary: `sessions_children failed: ${error instanceof Error ? error.message : String(error)}`,
638
+ error: error instanceof Error ? error.message : String(error),
639
+ durationMs: Date.now() - started,
640
+ };
641
+ }
642
+ }
643
+ async checkPermissions() {
644
+ return { status: "allowed" };
645
+ }
646
+ isConcurrencySafe() {
647
+ return true;
648
+ }
649
+ }
650
+ export const RuntimeSessionsSpawnInputSchema = z.object({
651
+ title: z.string().trim().min(1).max(200).optional(),
652
+ message: z.string().trim().min(1).optional(),
653
+ cwd: z.string().trim().min(1).optional(),
654
+ goal_id: z.string().trim().min(1).optional(),
655
+ strategy_id: z.string().trim().min(1).optional(),
656
+ notification_policy: z.enum(["silent", "important_only", "periodic", "all_terminal"]).optional(),
657
+ owner_id: z.string().trim().min(1).optional(),
658
+ copy_recent_messages: z.boolean().default(false),
659
+ recent_message_limit: z.number().int().positive().max(20).default(6),
660
+ });
661
+ export class RuntimeSessionsSpawnTool {
662
+ service;
663
+ metadata = {
664
+ name: "sessions_spawn",
665
+ aliases: ["spawn_session_runtime", "delegate_session"],
666
+ permissionLevel: WRITE_PERMISSION,
667
+ isReadOnly: false,
668
+ isDestructive: false,
669
+ shouldDefer: false,
670
+ alwaysLoad: false,
671
+ maxConcurrency: 1,
672
+ maxOutputChars: 8000,
673
+ tags: [...TAGS],
674
+ };
675
+ inputSchema = RuntimeSessionsSpawnInputSchema;
676
+ constructor(service) {
677
+ this.service = service;
678
+ }
679
+ description(_context) {
680
+ return "Create a new PulSeed chat conversation session, optionally seeded with a task message, so work can be moved into a separate session.";
681
+ }
682
+ async call(input, context) {
683
+ const started = Date.now();
684
+ try {
685
+ const data = await this.service.spawnSession(input, context);
686
+ return {
687
+ success: true,
688
+ data,
689
+ summary: `Spawned session ${data.sessionId}`,
690
+ contextModifier: `Use ${data.resumeCommand} to continue the delegated work in that separate session.`,
691
+ durationMs: Date.now() - started,
692
+ };
693
+ }
694
+ catch (error) {
695
+ return {
696
+ success: false,
697
+ data: null,
698
+ summary: `sessions_spawn failed: ${error instanceof Error ? error.message : String(error)}`,
699
+ error: error instanceof Error ? error.message : String(error),
700
+ durationMs: Date.now() - started,
701
+ };
702
+ }
703
+ }
704
+ async checkPermissions() {
705
+ return { status: "allowed" };
706
+ }
707
+ isConcurrencySafe() {
708
+ return false;
709
+ }
710
+ }
711
+ export const RuntimeSessionsSendInputSchema = z.object({
712
+ session_id: z.string().min(1, "session_id is required"),
713
+ message: z.string().trim().min(1, "message is required"),
714
+ });
715
+ export class RuntimeSessionsSendTool {
716
+ service;
717
+ metadata = {
718
+ name: "sessions_send",
719
+ aliases: ["send_session_message", "enqueue_session_message"],
720
+ permissionLevel: WRITE_PERMISSION,
721
+ isReadOnly: false,
722
+ isDestructive: false,
723
+ shouldDefer: false,
724
+ alwaysLoad: false,
725
+ maxConcurrency: 1,
726
+ maxOutputChars: 8000,
727
+ tags: [...TAGS],
728
+ };
729
+ inputSchema = RuntimeSessionsSendInputSchema;
730
+ constructor(service) {
731
+ this.service = service;
732
+ }
733
+ description(_context) {
734
+ return "Append a user message to another PulSeed chat conversation session by chat id or runtime session id.";
735
+ }
736
+ async call(input, _context) {
737
+ const started = Date.now();
738
+ try {
739
+ const data = await this.service.sendToSession(input.session_id, input.message);
740
+ return {
741
+ success: true,
742
+ data,
743
+ summary: `Queued a message for session ${data.sessionId}`,
744
+ contextModifier: `Resume ${data.runtimeSessionId} later to act on the queued message in that separate session.`,
745
+ durationMs: Date.now() - started,
746
+ };
747
+ }
748
+ catch (error) {
749
+ return {
750
+ success: false,
751
+ data: null,
752
+ summary: `sessions_send failed: ${error instanceof Error ? error.message : String(error)}`,
753
+ error: error instanceof Error ? error.message : String(error),
754
+ durationMs: Date.now() - started,
755
+ };
756
+ }
757
+ }
758
+ async checkPermissions() {
759
+ return { status: "allowed" };
760
+ }
761
+ isConcurrencySafe() {
762
+ return false;
763
+ }
764
+ }
765
+ export const RuntimeSessionsUpdateInputSchema = z.object({
766
+ session_id: z.string().min(1, "session_id is required"),
767
+ status: z.enum(["queued", "running", "waiting", "completed", "failed"]),
768
+ summary: z.string().trim().min(1).optional(),
769
+ goal_id: z.string().trim().min(1).optional(),
770
+ strategy_id: z.string().trim().min(1).optional(),
771
+ notification_policy: z.enum(["silent", "important_only", "periodic", "all_terminal"]).optional(),
772
+ waiting_until: z.string().trim().min(1).nullable().optional(),
773
+ waiting_condition: z.string().trim().min(1).nullable().optional(),
774
+ append_assistant_message: z.boolean().default(false),
775
+ notify_parent: z.boolean().default(false),
776
+ completed_at: z.string().optional(),
777
+ }).superRefine((value, ctx) => {
778
+ if ((value.status === "completed" || value.status === "failed") && !value.summary) {
779
+ ctx.addIssue({
780
+ code: z.ZodIssueCode.custom,
781
+ path: ["summary"],
782
+ message: "summary is required when marking a session completed or failed",
783
+ });
784
+ }
785
+ if (value.status === "waiting" && !value.waiting_until && !value.waiting_condition) {
786
+ ctx.addIssue({
787
+ code: z.ZodIssueCode.custom,
788
+ path: ["waiting_until"],
789
+ message: "waiting_until or waiting_condition is required when marking a session waiting",
790
+ });
791
+ }
792
+ });
793
+ export class RuntimeSessionsUpdateTool {
794
+ service;
795
+ metadata = {
796
+ name: "sessions_update",
797
+ aliases: ["update_session_status", "complete_session", "fail_session"],
798
+ permissionLevel: WRITE_PERMISSION,
799
+ isReadOnly: false,
800
+ isDestructive: false,
801
+ shouldDefer: false,
802
+ alwaysLoad: false,
803
+ maxConcurrency: 1,
804
+ maxOutputChars: 8000,
805
+ tags: [...TAGS],
806
+ };
807
+ inputSchema = RuntimeSessionsUpdateInputSchema;
808
+ constructor(service) {
809
+ this.service = service;
810
+ }
811
+ description() {
812
+ return "Update a PulSeed conversation session lifecycle state. Can mark child sessions completed or failed and notify the parent session durably.";
813
+ }
814
+ async call(input, _context) {
815
+ const started = Date.now();
816
+ try {
817
+ const data = await this.service.updateSession(input.session_id, input);
818
+ return {
819
+ success: true,
820
+ data,
821
+ summary: `Updated session ${data.sessionId} to ${data.status}`,
822
+ durationMs: Date.now() - started,
823
+ };
824
+ }
825
+ catch (error) {
826
+ return {
827
+ success: false,
828
+ data: null,
829
+ summary: `sessions_update failed: ${error instanceof Error ? error.message : String(error)}`,
830
+ error: error instanceof Error ? error.message : String(error),
831
+ durationMs: Date.now() - started,
832
+ };
833
+ }
834
+ }
835
+ async checkPermissions() {
836
+ return { status: "allowed" };
837
+ }
838
+ isConcurrencySafe() {
839
+ return false;
840
+ }
841
+ }
842
+ export const RuntimeSessionsClaimInputSchema = z.object({
843
+ session_id: z.string().min(1, "session_id is required"),
844
+ owner_id: z.string().trim().min(1, "owner_id is required"),
845
+ });
846
+ export class RuntimeSessionsClaimTool {
847
+ service;
848
+ metadata = {
849
+ name: "sessions_claim",
850
+ aliases: ["claim_session", "runtime_session_claim"],
851
+ permissionLevel: WRITE_PERMISSION,
852
+ isReadOnly: false,
853
+ isDestructive: false,
854
+ shouldDefer: false,
855
+ alwaysLoad: false,
856
+ maxConcurrency: 1,
857
+ maxOutputChars: 8000,
858
+ tags: [...TAGS],
859
+ };
860
+ inputSchema = RuntimeSessionsClaimInputSchema;
861
+ constructor(service) {
862
+ this.service = service;
863
+ }
864
+ description() {
865
+ return "Claim ownership of a PulSeed conversation session so delegated work has an explicit owner.";
866
+ }
867
+ async call(input, _context) {
868
+ const started = Date.now();
869
+ try {
870
+ const data = await this.service.claimSession(input.session_id, input.owner_id);
871
+ return {
872
+ success: true,
873
+ data,
874
+ summary: `Claimed session ${data.sessionId} for ${data.ownerId}`,
875
+ durationMs: Date.now() - started,
876
+ };
877
+ }
878
+ catch (error) {
879
+ return {
880
+ success: false,
881
+ data: null,
882
+ summary: `sessions_claim failed: ${error instanceof Error ? error.message : String(error)}`,
883
+ error: error instanceof Error ? error.message : String(error),
884
+ durationMs: Date.now() - started,
885
+ };
886
+ }
887
+ }
888
+ async checkPermissions() {
889
+ return { status: "allowed" };
890
+ }
891
+ isConcurrencySafe() {
892
+ return false;
893
+ }
894
+ }
895
+ export const RuntimeSessionsCancelInputSchema = z.object({
896
+ session_id: z.string().min(1, "session_id is required"),
897
+ reason: z.string().trim().min(1, "reason is required"),
898
+ });
899
+ export class RuntimeSessionsCancelTool {
900
+ service;
901
+ metadata = {
902
+ name: "sessions_cancel",
903
+ aliases: ["cancel_session", "runtime_session_cancel"],
904
+ permissionLevel: WRITE_PERMISSION,
905
+ isReadOnly: false,
906
+ isDestructive: false,
907
+ shouldDefer: false,
908
+ alwaysLoad: false,
909
+ maxConcurrency: 1,
910
+ maxOutputChars: 8000,
911
+ tags: [...TAGS],
912
+ };
913
+ inputSchema = RuntimeSessionsCancelInputSchema;
914
+ constructor(service) {
915
+ this.service = service;
916
+ }
917
+ description() {
918
+ return "Cancel a PulSeed conversation session by marking it failed and notifying its parent if configured.";
919
+ }
920
+ async call(input, _context) {
921
+ const started = Date.now();
922
+ try {
923
+ const data = await this.service.cancelSession(input.session_id, input.reason);
924
+ return {
925
+ success: true,
926
+ data,
927
+ summary: `Canceled session ${data.sessionId}`,
928
+ durationMs: Date.now() - started,
929
+ };
930
+ }
931
+ catch (error) {
932
+ return {
933
+ success: false,
934
+ data: null,
935
+ summary: `sessions_cancel failed: ${error instanceof Error ? error.message : String(error)}`,
936
+ error: error instanceof Error ? error.message : String(error),
937
+ durationMs: Date.now() - started,
938
+ };
939
+ }
940
+ }
941
+ async checkPermissions() {
942
+ return { status: "allowed" };
943
+ }
944
+ isConcurrencySafe() {
945
+ return false;
946
+ }
947
+ }
948
+ export const RuntimeSessionsRetryInputSchema = z.object({
949
+ session_id: z.string().min(1, "session_id is required"),
950
+ message: z.string().trim().min(1).optional(),
951
+ });
952
+ export class RuntimeSessionsRetryTool {
953
+ service;
954
+ metadata = {
955
+ name: "sessions_retry",
956
+ aliases: ["retry_session", "runtime_session_retry"],
957
+ permissionLevel: WRITE_PERMISSION,
958
+ isReadOnly: false,
959
+ isDestructive: false,
960
+ shouldDefer: false,
961
+ alwaysLoad: false,
962
+ maxConcurrency: 1,
963
+ maxOutputChars: 8000,
964
+ tags: [...TAGS],
965
+ };
966
+ inputSchema = RuntimeSessionsRetryInputSchema;
967
+ constructor(service) {
968
+ this.service = service;
969
+ }
970
+ description() {
971
+ return "Re-queue a PulSeed conversation session for another attempt, preserving retry metadata.";
972
+ }
973
+ async call(input, _context) {
974
+ const started = Date.now();
975
+ try {
976
+ const data = await this.service.retrySession(input.session_id, input.message);
977
+ return {
978
+ success: true,
979
+ data,
980
+ summary: `Retried session ${data.sessionId}`,
981
+ durationMs: Date.now() - started,
982
+ };
983
+ }
984
+ catch (error) {
985
+ return {
986
+ success: false,
987
+ data: null,
988
+ summary: `sessions_retry failed: ${error instanceof Error ? error.message : String(error)}`,
989
+ error: error instanceof Error ? error.message : String(error),
990
+ durationMs: Date.now() - started,
991
+ };
992
+ }
993
+ }
994
+ async checkPermissions() {
995
+ return { status: "allowed" };
996
+ }
997
+ isConcurrencySafe() {
998
+ return false;
999
+ }
1000
+ }
1001
+ export function createRuntimeSessionTools(stateManager) {
1002
+ const service = new RuntimeSessionToolService(stateManager);
1003
+ return [
1004
+ new RuntimeSessionsListTool(service),
1005
+ new RuntimeSessionsHistoryTool(service),
1006
+ new RuntimeSessionsReadTool(service),
1007
+ new RuntimeSessionsChildrenTool(service),
1008
+ new RuntimeSessionsSpawnTool(service),
1009
+ new RuntimeSessionsSendTool(service),
1010
+ new RuntimeSessionsUpdateTool(service),
1011
+ new RuntimeSessionsClaimTool(service),
1012
+ new RuntimeSessionsCancelTool(service),
1013
+ new RuntimeSessionsRetryTool(service),
1014
+ new RuntimeDreamReviewTool(stateManager),
1015
+ ];
1016
+ }
1017
+ //# sourceMappingURL=runtime-session-tools.js.map