pulseed 0.4.4 → 0.4.7

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 (884) hide show
  1. package/README.md +30 -102
  2. package/dist/adapters/agents/native-agent-loop.d.ts +7 -0
  3. package/dist/adapters/agents/native-agent-loop.d.ts.map +1 -0
  4. package/dist/adapters/agents/native-agent-loop.js +19 -0
  5. package/dist/adapters/agents/native-agent-loop.js.map +1 -0
  6. package/dist/adapters/agents/openai-codex.d.ts +3 -0
  7. package/dist/adapters/agents/openai-codex.d.ts.map +1 -1
  8. package/dist/adapters/agents/openai-codex.js +7 -1
  9. package/dist/adapters/agents/openai-codex.js.map +1 -1
  10. package/dist/adapters/datasources/github-issue-datasource.d.ts +13 -0
  11. package/dist/adapters/datasources/github-issue-datasource.d.ts.map +1 -1
  12. package/dist/adapters/datasources/github-issue-datasource.js +114 -134
  13. package/dist/adapters/datasources/github-issue-datasource.js.map +1 -1
  14. package/dist/adapters/spawn-helper.js +3 -3
  15. package/dist/adapters/spawn-helper.js.map +1 -1
  16. package/dist/base/llm/provider-config.d.ts +11 -2
  17. package/dist/base/llm/provider-config.d.ts.map +1 -1
  18. package/dist/base/llm/provider-config.js +13 -7
  19. package/dist/base/llm/provider-config.js.map +1 -1
  20. package/dist/base/llm/provider-factory.d.ts +2 -2
  21. package/dist/base/llm/provider-factory.js +4 -4
  22. package/dist/base/llm/provider-factory.js.map +1 -1
  23. package/dist/base/state/state-lock.d.ts +3 -1
  24. package/dist/base/state/state-lock.d.ts.map +1 -1
  25. package/dist/base/state/state-lock.js +52 -10
  26. package/dist/base/state/state-lock.js.map +1 -1
  27. package/dist/base/state/state-manager-goal-write.d.ts +4 -0
  28. package/dist/base/state/state-manager-goal-write.d.ts.map +1 -1
  29. package/dist/base/state/state-manager-goal-write.js +45 -3
  30. package/dist/base/state/state-manager-goal-write.js.map +1 -1
  31. package/dist/base/state/state-manager-wal.d.ts.map +1 -1
  32. package/dist/base/state/state-manager-wal.js +12 -0
  33. package/dist/base/state/state-manager-wal.js.map +1 -1
  34. package/dist/base/state/state-manager.d.ts +12 -0
  35. package/dist/base/state/state-manager.d.ts.map +1 -1
  36. package/dist/base/state/state-manager.js +221 -177
  37. package/dist/base/state/state-manager.js.map +1 -1
  38. package/dist/index.d.ts +13 -1
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +9 -0
  41. package/dist/index.js.map +1 -1
  42. package/dist/interface/chat/chat-event-state.d.ts.map +1 -1
  43. package/dist/interface/chat/chat-event-state.js +12 -24
  44. package/dist/interface/chat/chat-event-state.js.map +1 -1
  45. package/dist/interface/chat/chat-events.d.ts +9 -1
  46. package/dist/interface/chat/chat-events.d.ts.map +1 -1
  47. package/dist/interface/chat/chat-history.d.ts +3 -2
  48. package/dist/interface/chat/chat-history.d.ts.map +1 -1
  49. package/dist/interface/chat/chat-history.js +3 -0
  50. package/dist/interface/chat/chat-history.js.map +1 -1
  51. package/dist/interface/chat/chat-runner.d.ts +28 -0
  52. package/dist/interface/chat/chat-runner.d.ts.map +1 -1
  53. package/dist/interface/chat/chat-runner.js +392 -45
  54. package/dist/interface/chat/chat-runner.js.map +1 -1
  55. package/dist/interface/chat/cross-platform-session.d.ts +78 -0
  56. package/dist/interface/chat/cross-platform-session.d.ts.map +1 -0
  57. package/dist/interface/chat/cross-platform-session.js +249 -0
  58. package/dist/interface/chat/cross-platform-session.js.map +1 -0
  59. package/dist/interface/chat/event-subscriber.d.ts +3 -1
  60. package/dist/interface/chat/event-subscriber.d.ts.map +1 -1
  61. package/dist/interface/chat/event-subscriber.js +13 -3
  62. package/dist/interface/chat/event-subscriber.js.map +1 -1
  63. package/dist/interface/cli/commands/chat.d.ts.map +1 -1
  64. package/dist/interface/cli/commands/chat.js +57 -3
  65. package/dist/interface/cli/commands/chat.js.map +1 -1
  66. package/dist/interface/cli/commands/config.d.ts.map +1 -1
  67. package/dist/interface/cli/commands/config.js +30 -1
  68. package/dist/interface/cli/commands/config.js.map +1 -1
  69. package/dist/interface/cli/commands/daemon.d.ts.map +1 -1
  70. package/dist/interface/cli/commands/daemon.js +29 -6
  71. package/dist/interface/cli/commands/daemon.js.map +1 -1
  72. package/dist/interface/cli/commands/doctor.d.ts +4 -0
  73. package/dist/interface/cli/commands/doctor.d.ts.map +1 -1
  74. package/dist/interface/cli/commands/doctor.js +172 -1
  75. package/dist/interface/cli/commands/doctor.js.map +1 -1
  76. package/dist/interface/cli/commands/install.d.ts +1 -0
  77. package/dist/interface/cli/commands/install.d.ts.map +1 -1
  78. package/dist/interface/cli/commands/install.js +6 -1
  79. package/dist/interface/cli/commands/install.js.map +1 -1
  80. package/dist/interface/cli/commands/notify.d.ts.map +1 -1
  81. package/dist/interface/cli/commands/notify.js +33 -21
  82. package/dist/interface/cli/commands/notify.js.map +1 -1
  83. package/dist/interface/cli/commands/setup/import/apply.d.ts +3 -0
  84. package/dist/interface/cli/commands/setup/import/apply.d.ts.map +1 -0
  85. package/dist/interface/cli/commands/setup/import/apply.js +140 -0
  86. package/dist/interface/cli/commands/setup/import/apply.js.map +1 -0
  87. package/dist/interface/cli/commands/setup/import/constants.d.ts +5 -0
  88. package/dist/interface/cli/commands/setup/import/constants.d.ts.map +1 -0
  89. package/dist/interface/cli/commands/setup/import/constants.js +19 -0
  90. package/dist/interface/cli/commands/setup/import/constants.js.map +1 -0
  91. package/dist/interface/cli/commands/setup/import/discovery.d.ts +3 -0
  92. package/dist/interface/cli/commands/setup/import/discovery.d.ts.map +1 -0
  93. package/dist/interface/cli/commands/setup/import/discovery.js +140 -0
  94. package/dist/interface/cli/commands/setup/import/discovery.js.map +1 -0
  95. package/dist/interface/cli/commands/setup/import/flow.d.ts +5 -0
  96. package/dist/interface/cli/commands/setup/import/flow.d.ts.map +1 -0
  97. package/dist/interface/cli/commands/setup/import/flow.js +138 -0
  98. package/dist/interface/cli/commands/setup/import/flow.js.map +1 -0
  99. package/dist/interface/cli/commands/setup/import/fs-utils.d.ts +9 -0
  100. package/dist/interface/cli/commands/setup/import/fs-utils.d.ts.map +1 -0
  101. package/dist/interface/cli/commands/setup/import/fs-utils.js +83 -0
  102. package/dist/interface/cli/commands/setup/import/fs-utils.js.map +1 -0
  103. package/dist/interface/cli/commands/setup/import/mcp.d.ts +4 -0
  104. package/dist/interface/cli/commands/setup/import/mcp.d.ts.map +1 -0
  105. package/dist/interface/cli/commands/setup/import/mcp.js +71 -0
  106. package/dist/interface/cli/commands/setup/import/mcp.js.map +1 -0
  107. package/dist/interface/cli/commands/setup/import/parse.d.ts +7 -0
  108. package/dist/interface/cli/commands/setup/import/parse.d.ts.map +1 -0
  109. package/dist/interface/cli/commands/setup/import/parse.js +40 -0
  110. package/dist/interface/cli/commands/setup/import/parse.js.map +1 -0
  111. package/dist/interface/cli/commands/setup/import/provider.d.ts +4 -0
  112. package/dist/interface/cli/commands/setup/import/provider.d.ts.map +1 -0
  113. package/dist/interface/cli/commands/setup/import/provider.js +142 -0
  114. package/dist/interface/cli/commands/setup/import/provider.js.map +1 -0
  115. package/dist/interface/cli/commands/setup/import/types.d.ts +53 -0
  116. package/dist/interface/cli/commands/setup/import/types.d.ts.map +1 -0
  117. package/dist/interface/cli/commands/setup/import/types.js +2 -0
  118. package/dist/interface/cli/commands/setup/import/types.js.map +1 -0
  119. package/dist/interface/cli/commands/setup/steps-adapter.d.ts +1 -1
  120. package/dist/interface/cli/commands/setup/steps-adapter.d.ts.map +1 -1
  121. package/dist/interface/cli/commands/setup/steps-adapter.js +32 -5
  122. package/dist/interface/cli/commands/setup/steps-adapter.js.map +1 -1
  123. package/dist/interface/cli/commands/setup/steps-identity.d.ts +2 -2
  124. package/dist/interface/cli/commands/setup/steps-identity.d.ts.map +1 -1
  125. package/dist/interface/cli/commands/setup/steps-identity.js +10 -4
  126. package/dist/interface/cli/commands/setup/steps-identity.js.map +1 -1
  127. package/dist/interface/cli/commands/setup/steps-notification.d.ts.map +1 -1
  128. package/dist/interface/cli/commands/setup/steps-notification.js +3 -2
  129. package/dist/interface/cli/commands/setup/steps-notification.js.map +1 -1
  130. package/dist/interface/cli/commands/setup/steps-provider.d.ts +4 -4
  131. package/dist/interface/cli/commands/setup/steps-provider.d.ts.map +1 -1
  132. package/dist/interface/cli/commands/setup/steps-provider.js +58 -10
  133. package/dist/interface/cli/commands/setup/steps-provider.js.map +1 -1
  134. package/dist/interface/cli/commands/setup/steps-runtime.d.ts.map +1 -1
  135. package/dist/interface/cli/commands/setup/steps-runtime.js +2 -3
  136. package/dist/interface/cli/commands/setup/steps-runtime.js.map +1 -1
  137. package/dist/interface/cli/commands/setup-shared.js +6 -6
  138. package/dist/interface/cli/commands/setup-shared.js.map +1 -1
  139. package/dist/interface/cli/commands/setup-wizard.d.ts.map +1 -1
  140. package/dist/interface/cli/commands/setup-wizard.js +309 -62
  141. package/dist/interface/cli/commands/setup-wizard.js.map +1 -1
  142. package/dist/interface/cli/commands/setup.d.ts.map +1 -1
  143. package/dist/interface/cli/commands/setup.js +38 -1
  144. package/dist/interface/cli/commands/setup.js.map +1 -1
  145. package/dist/interface/cli/commands/telegram.d.ts.map +1 -1
  146. package/dist/interface/cli/commands/telegram.js +15 -1
  147. package/dist/interface/cli/commands/telegram.js.map +1 -1
  148. package/dist/interface/cli/setup.d.ts +12 -1
  149. package/dist/interface/cli/setup.d.ts.map +1 -1
  150. package/dist/interface/cli/setup.js +146 -17
  151. package/dist/interface/cli/setup.js.map +1 -1
  152. package/dist/interface/cli/utils.js +1 -1
  153. package/dist/interface/tui/entry.d.ts.map +1 -1
  154. package/dist/interface/tui/entry.js +69 -17
  155. package/dist/interface/tui/entry.js.map +1 -1
  156. package/dist/orchestrator/execution/adapter-layer.d.ts +19 -0
  157. package/dist/orchestrator/execution/adapter-layer.d.ts.map +1 -1
  158. package/dist/orchestrator/execution/adapter-layer.js.map +1 -1
  159. package/dist/orchestrator/execution/agent-loop/agent-loop-budget.d.ts +15 -0
  160. package/dist/orchestrator/execution/agent-loop/agent-loop-budget.d.ts.map +1 -0
  161. package/dist/orchestrator/execution/agent-loop/agent-loop-budget.js +12 -0
  162. package/dist/orchestrator/execution/agent-loop/agent-loop-budget.js.map +1 -0
  163. package/dist/orchestrator/execution/agent-loop/agent-loop-command-classifier.d.ts +9 -0
  164. package/dist/orchestrator/execution/agent-loop/agent-loop-command-classifier.d.ts.map +1 -0
  165. package/dist/orchestrator/execution/agent-loop/agent-loop-command-classifier.js +40 -0
  166. package/dist/orchestrator/execution/agent-loop/agent-loop-command-classifier.js.map +1 -0
  167. package/dist/orchestrator/execution/agent-loop/agent-loop-compactor.d.ts +33 -0
  168. package/dist/orchestrator/execution/agent-loop/agent-loop-compactor.d.ts.map +1 -0
  169. package/dist/orchestrator/execution/agent-loop/agent-loop-compactor.js +68 -0
  170. package/dist/orchestrator/execution/agent-loop/agent-loop-compactor.js.map +1 -0
  171. package/dist/orchestrator/execution/agent-loop/agent-loop-context-assembler.d.ts +38 -0
  172. package/dist/orchestrator/execution/agent-loop/agent-loop-context-assembler.d.ts.map +1 -0
  173. package/dist/orchestrator/execution/agent-loop/agent-loop-context-assembler.js +109 -0
  174. package/dist/orchestrator/execution/agent-loop/agent-loop-context-assembler.js.map +1 -0
  175. package/dist/orchestrator/execution/agent-loop/agent-loop-dogfood-benchmark.d.ts +76 -0
  176. package/dist/orchestrator/execution/agent-loop/agent-loop-dogfood-benchmark.d.ts.map +1 -0
  177. package/dist/orchestrator/execution/agent-loop/agent-loop-dogfood-benchmark.js +164 -0
  178. package/dist/orchestrator/execution/agent-loop/agent-loop-dogfood-benchmark.js.map +1 -0
  179. package/dist/orchestrator/execution/agent-loop/agent-loop-evaluator.d.ts +46 -0
  180. package/dist/orchestrator/execution/agent-loop/agent-loop-evaluator.d.ts.map +1 -0
  181. package/dist/orchestrator/execution/agent-loop/agent-loop-evaluator.js +75 -0
  182. package/dist/orchestrator/execution/agent-loop/agent-loop-evaluator.js.map +1 -0
  183. package/dist/orchestrator/execution/agent-loop/agent-loop-events.d.ts +98 -0
  184. package/dist/orchestrator/execution/agent-loop/agent-loop-events.d.ts.map +1 -0
  185. package/dist/orchestrator/execution/agent-loop/agent-loop-events.js +6 -0
  186. package/dist/orchestrator/execution/agent-loop/agent-loop-events.js.map +1 -0
  187. package/dist/orchestrator/execution/agent-loop/agent-loop-history.d.ts +8 -0
  188. package/dist/orchestrator/execution/agent-loop/agent-loop-history.d.ts.map +1 -0
  189. package/dist/orchestrator/execution/agent-loop/agent-loop-history.js +7 -0
  190. package/dist/orchestrator/execution/agent-loop/agent-loop-history.js.map +1 -0
  191. package/dist/orchestrator/execution/agent-loop/agent-loop-model-client-factory.d.ts +9 -0
  192. package/dist/orchestrator/execution/agent-loop/agent-loop-model-client-factory.d.ts.map +1 -0
  193. package/dist/orchestrator/execution/agent-loop/agent-loop-model-client-factory.js +19 -0
  194. package/dist/orchestrator/execution/agent-loop/agent-loop-model-client-factory.js.map +1 -0
  195. package/dist/orchestrator/execution/agent-loop/agent-loop-model-client.d.ts +13 -0
  196. package/dist/orchestrator/execution/agent-loop/agent-loop-model-client.d.ts.map +1 -0
  197. package/dist/orchestrator/execution/agent-loop/agent-loop-model-client.js +72 -0
  198. package/dist/orchestrator/execution/agent-loop/agent-loop-model-client.js.map +1 -0
  199. package/dist/orchestrator/execution/agent-loop/agent-loop-model-registry.d.ts +10 -0
  200. package/dist/orchestrator/execution/agent-loop/agent-loop-model-registry.d.ts.map +1 -0
  201. package/dist/orchestrator/execution/agent-loop/agent-loop-model-registry.js +26 -0
  202. package/dist/orchestrator/execution/agent-loop/agent-loop-model-registry.js.map +1 -0
  203. package/dist/orchestrator/execution/agent-loop/agent-loop-model.d.ts +87 -0
  204. package/dist/orchestrator/execution/agent-loop/agent-loop-model.d.ts.map +1 -0
  205. package/dist/orchestrator/execution/agent-loop/agent-loop-model.js +22 -0
  206. package/dist/orchestrator/execution/agent-loop/agent-loop-model.js.map +1 -0
  207. package/dist/orchestrator/execution/agent-loop/agent-loop-prompts.d.ts +5 -0
  208. package/dist/orchestrator/execution/agent-loop/agent-loop-prompts.d.ts.map +1 -0
  209. package/dist/orchestrator/execution/agent-loop/agent-loop-prompts.js +18 -0
  210. package/dist/orchestrator/execution/agent-loop/agent-loop-prompts.js.map +1 -0
  211. package/dist/orchestrator/execution/agent-loop/agent-loop-real-dogfood.d.ts +2 -0
  212. package/dist/orchestrator/execution/agent-loop/agent-loop-real-dogfood.d.ts.map +1 -0
  213. package/dist/orchestrator/execution/agent-loop/agent-loop-real-dogfood.js +362 -0
  214. package/dist/orchestrator/execution/agent-loop/agent-loop-real-dogfood.js.map +1 -0
  215. package/dist/orchestrator/execution/agent-loop/agent-loop-result.d.ts +42 -0
  216. package/dist/orchestrator/execution/agent-loop/agent-loop-result.d.ts.map +1 -0
  217. package/dist/orchestrator/execution/agent-loop/agent-loop-result.js +2 -0
  218. package/dist/orchestrator/execution/agent-loop/agent-loop-result.js.map +1 -0
  219. package/dist/orchestrator/execution/agent-loop/agent-loop-session-factory.d.ts +15 -0
  220. package/dist/orchestrator/execution/agent-loop/agent-loop-session-factory.d.ts.map +1 -0
  221. package/dist/orchestrator/execution/agent-loop/agent-loop-session-factory.js +26 -0
  222. package/dist/orchestrator/execution/agent-loop/agent-loop-session-factory.js.map +1 -0
  223. package/dist/orchestrator/execution/agent-loop/agent-loop-session-state.d.ts +40 -0
  224. package/dist/orchestrator/execution/agent-loop/agent-loop-session-state.d.ts.map +1 -0
  225. package/dist/orchestrator/execution/agent-loop/agent-loop-session-state.js +125 -0
  226. package/dist/orchestrator/execution/agent-loop/agent-loop-session-state.js.map +1 -0
  227. package/dist/orchestrator/execution/agent-loop/agent-loop-session.d.ts +21 -0
  228. package/dist/orchestrator/execution/agent-loop/agent-loop-session.d.ts.map +1 -0
  229. package/dist/orchestrator/execution/agent-loop/agent-loop-session.js +16 -0
  230. package/dist/orchestrator/execution/agent-loop/agent-loop-session.js.map +1 -0
  231. package/dist/orchestrator/execution/agent-loop/agent-loop-tool-output.d.ts +21 -0
  232. package/dist/orchestrator/execution/agent-loop/agent-loop-tool-output.d.ts.map +1 -0
  233. package/dist/orchestrator/execution/agent-loop/agent-loop-tool-output.js +2 -0
  234. package/dist/orchestrator/execution/agent-loop/agent-loop-tool-output.js.map +1 -0
  235. package/dist/orchestrator/execution/agent-loop/agent-loop-tool-router.d.ts +19 -0
  236. package/dist/orchestrator/execution/agent-loop/agent-loop-tool-router.d.ts.map +1 -0
  237. package/dist/orchestrator/execution/agent-loop/agent-loop-tool-router.js +34 -0
  238. package/dist/orchestrator/execution/agent-loop/agent-loop-tool-router.js.map +1 -0
  239. package/dist/orchestrator/execution/agent-loop/agent-loop-tool-runtime.d.ts +21 -0
  240. package/dist/orchestrator/execution/agent-loop/agent-loop-tool-runtime.d.ts.map +1 -0
  241. package/dist/orchestrator/execution/agent-loop/agent-loop-tool-runtime.js +114 -0
  242. package/dist/orchestrator/execution/agent-loop/agent-loop-tool-runtime.js.map +1 -0
  243. package/dist/orchestrator/execution/agent-loop/agent-loop-trace-store.d.ts +18 -0
  244. package/dist/orchestrator/execution/agent-loop/agent-loop-trace-store.d.ts.map +1 -0
  245. package/dist/orchestrator/execution/agent-loop/agent-loop-trace-store.js +31 -0
  246. package/dist/orchestrator/execution/agent-loop/agent-loop-trace-store.js.map +1 -0
  247. package/dist/orchestrator/execution/agent-loop/agent-loop-turn-context.d.ts +39 -0
  248. package/dist/orchestrator/execution/agent-loop/agent-loop-turn-context.d.ts.map +1 -0
  249. package/dist/orchestrator/execution/agent-loop/agent-loop-turn-context.js +5 -0
  250. package/dist/orchestrator/execution/agent-loop/agent-loop-turn-context.js.map +1 -0
  251. package/dist/orchestrator/execution/agent-loop/anthropic-messages-agent-loop-model-client.d.ts +23 -0
  252. package/dist/orchestrator/execution/agent-loop/anthropic-messages-agent-loop-model-client.d.ts.map +1 -0
  253. package/dist/orchestrator/execution/agent-loop/anthropic-messages-agent-loop-model-client.js +156 -0
  254. package/dist/orchestrator/execution/agent-loop/anthropic-messages-agent-loop-model-client.js.map +1 -0
  255. package/dist/orchestrator/execution/agent-loop/bounded-agent-loop-runner.d.ts +38 -0
  256. package/dist/orchestrator/execution/agent-loop/bounded-agent-loop-runner.d.ts.map +1 -0
  257. package/dist/orchestrator/execution/agent-loop/bounded-agent-loop-runner.js +479 -0
  258. package/dist/orchestrator/execution/agent-loop/bounded-agent-loop-runner.js.map +1 -0
  259. package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.d.ts +67 -0
  260. package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.d.ts.map +1 -0
  261. package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.js +113 -0
  262. package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.js.map +1 -0
  263. package/dist/orchestrator/execution/agent-loop/core-loop-control-tools.d.ts +33 -0
  264. package/dist/orchestrator/execution/agent-loop/core-loop-control-tools.d.ts.map +1 -0
  265. package/dist/orchestrator/execution/agent-loop/core-loop-control-tools.js +89 -0
  266. package/dist/orchestrator/execution/agent-loop/core-loop-control-tools.js.map +1 -0
  267. package/dist/orchestrator/execution/agent-loop/core-phase-runner.d.ts +32 -0
  268. package/dist/orchestrator/execution/agent-loop/core-phase-runner.d.ts.map +1 -0
  269. package/dist/orchestrator/execution/agent-loop/core-phase-runner.js +40 -0
  270. package/dist/orchestrator/execution/agent-loop/core-phase-runner.js.map +1 -0
  271. package/dist/orchestrator/execution/agent-loop/index.d.ts +35 -0
  272. package/dist/orchestrator/execution/agent-loop/index.d.ts.map +1 -0
  273. package/dist/orchestrator/execution/agent-loop/index.js +35 -0
  274. package/dist/orchestrator/execution/agent-loop/index.js.map +1 -0
  275. package/dist/orchestrator/execution/agent-loop/openai-responses-agent-loop-model-client.d.ts +18 -0
  276. package/dist/orchestrator/execution/agent-loop/openai-responses-agent-loop-model-client.d.ts.map +1 -0
  277. package/dist/orchestrator/execution/agent-loop/openai-responses-agent-loop-model-client.js +148 -0
  278. package/dist/orchestrator/execution/agent-loop/openai-responses-agent-loop-model-client.js.map +1 -0
  279. package/dist/orchestrator/execution/agent-loop/task-agent-loop-context.d.ts +26 -0
  280. package/dist/orchestrator/execution/agent-loop/task-agent-loop-context.d.ts.map +1 -0
  281. package/dist/orchestrator/execution/agent-loop/task-agent-loop-context.js +79 -0
  282. package/dist/orchestrator/execution/agent-loop/task-agent-loop-context.js.map +1 -0
  283. package/dist/orchestrator/execution/agent-loop/task-agent-loop-factory.d.ts +28 -0
  284. package/dist/orchestrator/execution/agent-loop/task-agent-loop-factory.d.ts.map +1 -0
  285. package/dist/orchestrator/execution/agent-loop/task-agent-loop-factory.js +96 -0
  286. package/dist/orchestrator/execution/agent-loop/task-agent-loop-factory.js.map +1 -0
  287. package/dist/orchestrator/execution/agent-loop/task-agent-loop-result.d.ts +54 -0
  288. package/dist/orchestrator/execution/agent-loop/task-agent-loop-result.d.ts.map +1 -0
  289. package/dist/orchestrator/execution/agent-loop/task-agent-loop-result.js +61 -0
  290. package/dist/orchestrator/execution/agent-loop/task-agent-loop-result.js.map +1 -0
  291. package/dist/orchestrator/execution/agent-loop/task-agent-loop-runner.d.ts +46 -0
  292. package/dist/orchestrator/execution/agent-loop/task-agent-loop-runner.d.ts.map +1 -0
  293. package/dist/orchestrator/execution/agent-loop/task-agent-loop-runner.js +70 -0
  294. package/dist/orchestrator/execution/agent-loop/task-agent-loop-runner.js.map +1 -0
  295. package/dist/orchestrator/execution/agent-loop/task-agent-loop-verification.d.ts +5 -0
  296. package/dist/orchestrator/execution/agent-loop/task-agent-loop-verification.d.ts.map +1 -0
  297. package/dist/orchestrator/execution/agent-loop/task-agent-loop-verification.js +94 -0
  298. package/dist/orchestrator/execution/agent-loop/task-agent-loop-verification.js.map +1 -0
  299. package/dist/orchestrator/execution/agent-loop/task-agent-loop-worktree.d.ts +23 -0
  300. package/dist/orchestrator/execution/agent-loop/task-agent-loop-worktree.d.ts.map +1 -0
  301. package/dist/orchestrator/execution/agent-loop/task-agent-loop-worktree.js +145 -0
  302. package/dist/orchestrator/execution/agent-loop/task-agent-loop-worktree.js.map +1 -0
  303. package/dist/orchestrator/execution/context/dimension-selector.d.ts +5 -1
  304. package/dist/orchestrator/execution/context/dimension-selector.d.ts.map +1 -1
  305. package/dist/orchestrator/execution/context/dimension-selector.js +9 -5
  306. package/dist/orchestrator/execution/context/dimension-selector.js.map +1 -1
  307. package/dist/orchestrator/execution/pipeline-executor.d.ts +1 -0
  308. package/dist/orchestrator/execution/pipeline-executor.d.ts.map +1 -1
  309. package/dist/orchestrator/execution/pipeline-executor.js +39 -8
  310. package/dist/orchestrator/execution/pipeline-executor.js.map +1 -1
  311. package/dist/orchestrator/execution/result-reconciler.d.ts.map +1 -1
  312. package/dist/orchestrator/execution/result-reconciler.js +79 -54
  313. package/dist/orchestrator/execution/result-reconciler.js.map +1 -1
  314. package/dist/orchestrator/execution/task/task-execution-helpers.d.ts +2 -1
  315. package/dist/orchestrator/execution/task/task-execution-helpers.d.ts.map +1 -1
  316. package/dist/orchestrator/execution/task/task-execution-helpers.js +11 -1
  317. package/dist/orchestrator/execution/task/task-execution-helpers.js.map +1 -1
  318. package/dist/orchestrator/execution/task/task-generation.d.ts.map +1 -1
  319. package/dist/orchestrator/execution/task/task-generation.js +46 -6
  320. package/dist/orchestrator/execution/task/task-generation.js.map +1 -1
  321. package/dist/orchestrator/execution/task/task-health-check.d.ts +1 -1
  322. package/dist/orchestrator/execution/task/task-health-check.d.ts.map +1 -1
  323. package/dist/orchestrator/execution/task/task-health-check.js +8 -8
  324. package/dist/orchestrator/execution/task/task-health-check.js.map +1 -1
  325. package/dist/orchestrator/execution/task/task-lifecycle.d.ts +23 -4
  326. package/dist/orchestrator/execution/task/task-lifecycle.d.ts.map +1 -1
  327. package/dist/orchestrator/execution/task/task-lifecycle.js +188 -25
  328. package/dist/orchestrator/execution/task/task-lifecycle.js.map +1 -1
  329. package/dist/orchestrator/execution/task/task-prompt-builder.d.ts.map +1 -1
  330. package/dist/orchestrator/execution/task/task-prompt-builder.js +63 -3
  331. package/dist/orchestrator/execution/task/task-prompt-builder.js.map +1 -1
  332. package/dist/orchestrator/execution/task/task-verifier-llm.d.ts.map +1 -1
  333. package/dist/orchestrator/execution/task/task-verifier-llm.js +19 -1
  334. package/dist/orchestrator/execution/task/task-verifier-llm.js.map +1 -1
  335. package/dist/orchestrator/execution/task/task-verifier-rules.d.ts.map +1 -1
  336. package/dist/orchestrator/execution/task/task-verifier-rules.js +96 -44
  337. package/dist/orchestrator/execution/task/task-verifier-rules.js.map +1 -1
  338. package/dist/orchestrator/execution/task/task-verifier-types.d.ts +8 -0
  339. package/dist/orchestrator/execution/task/task-verifier-types.d.ts.map +1 -1
  340. package/dist/orchestrator/execution/task/task-verifier-types.js.map +1 -1
  341. package/dist/orchestrator/execution/task/task-verifier.d.ts.map +1 -1
  342. package/dist/orchestrator/execution/task/task-verifier.js +19 -1
  343. package/dist/orchestrator/execution/task/task-verifier.js.map +1 -1
  344. package/dist/orchestrator/goal/goal-dependency-graph.d.ts.map +1 -1
  345. package/dist/orchestrator/goal/goal-dependency-graph.js +20 -8
  346. package/dist/orchestrator/goal/goal-dependency-graph.js.map +1 -1
  347. package/dist/orchestrator/goal/goal-refiner.d.ts +3 -5
  348. package/dist/orchestrator/goal/goal-refiner.d.ts.map +1 -1
  349. package/dist/orchestrator/goal/goal-refiner.js +3 -5
  350. package/dist/orchestrator/goal/goal-refiner.js.map +1 -1
  351. package/dist/orchestrator/goal/tree-loop-orchestrator.d.ts +9 -0
  352. package/dist/orchestrator/goal/tree-loop-orchestrator.d.ts.map +1 -1
  353. package/dist/orchestrator/goal/tree-loop-orchestrator.js +32 -0
  354. package/dist/orchestrator/goal/tree-loop-orchestrator.js.map +1 -1
  355. package/dist/orchestrator/loop/core-loop/contracts.d.ts +9 -0
  356. package/dist/orchestrator/loop/core-loop/contracts.d.ts.map +1 -1
  357. package/dist/orchestrator/loop/core-loop/contracts.js.map +1 -1
  358. package/dist/orchestrator/loop/core-loop/decision-engine.d.ts +79 -0
  359. package/dist/orchestrator/loop/core-loop/decision-engine.d.ts.map +1 -0
  360. package/dist/orchestrator/loop/core-loop/decision-engine.js +141 -0
  361. package/dist/orchestrator/loop/core-loop/decision-engine.js.map +1 -0
  362. package/dist/orchestrator/loop/core-loop/evidence-ledger.d.ts +22 -0
  363. package/dist/orchestrator/loop/core-loop/evidence-ledger.d.ts.map +1 -0
  364. package/dist/orchestrator/loop/core-loop/evidence-ledger.js +36 -0
  365. package/dist/orchestrator/loop/core-loop/evidence-ledger.js.map +1 -0
  366. package/dist/orchestrator/loop/core-loop/iteration-kernel.d.ts +34 -0
  367. package/dist/orchestrator/loop/core-loop/iteration-kernel.d.ts.map +1 -0
  368. package/dist/orchestrator/loop/core-loop/iteration-kernel.js +356 -0
  369. package/dist/orchestrator/loop/core-loop/iteration-kernel.js.map +1 -0
  370. package/dist/orchestrator/loop/core-loop/phase-policy.d.ts +20 -0
  371. package/dist/orchestrator/loop/core-loop/phase-policy.d.ts.map +1 -0
  372. package/dist/orchestrator/loop/core-loop/phase-policy.js +96 -0
  373. package/dist/orchestrator/loop/core-loop/phase-policy.js.map +1 -0
  374. package/dist/orchestrator/loop/core-loop/phase-runtime.d.ts +29 -0
  375. package/dist/orchestrator/loop/core-loop/phase-runtime.d.ts.map +1 -0
  376. package/dist/orchestrator/loop/core-loop/phase-runtime.js +62 -0
  377. package/dist/orchestrator/loop/core-loop/phase-runtime.js.map +1 -0
  378. package/dist/orchestrator/loop/core-loop/phase-specs.d.ts +180 -0
  379. package/dist/orchestrator/loop/core-loop/phase-specs.d.ts.map +1 -0
  380. package/dist/orchestrator/loop/core-loop/phase-specs.js +116 -0
  381. package/dist/orchestrator/loop/core-loop/phase-specs.js.map +1 -0
  382. package/dist/orchestrator/loop/core-loop/preparation.d.ts +1 -5
  383. package/dist/orchestrator/loop/core-loop/preparation.d.ts.map +1 -1
  384. package/dist/orchestrator/loop/core-loop/preparation.js +2 -1
  385. package/dist/orchestrator/loop/core-loop/preparation.js.map +1 -1
  386. package/dist/orchestrator/loop/core-loop/task-cycle.d.ts +10 -2
  387. package/dist/orchestrator/loop/core-loop/task-cycle.d.ts.map +1 -1
  388. package/dist/orchestrator/loop/core-loop/task-cycle.js +37 -54
  389. package/dist/orchestrator/loop/core-loop/task-cycle.js.map +1 -1
  390. package/dist/orchestrator/loop/core-loop.d.ts +3 -0
  391. package/dist/orchestrator/loop/core-loop.d.ts.map +1 -1
  392. package/dist/orchestrator/loop/core-loop.js +58 -217
  393. package/dist/orchestrator/loop/core-loop.js.map +1 -1
  394. package/dist/orchestrator/loop/loop-result-types.d.ts +23 -0
  395. package/dist/orchestrator/loop/loop-result-types.d.ts.map +1 -1
  396. package/dist/orchestrator/loop/loop-result-types.js.map +1 -1
  397. package/dist/orchestrator/loop/tree-loop-runner.d.ts +6 -2
  398. package/dist/orchestrator/loop/tree-loop-runner.d.ts.map +1 -1
  399. package/dist/orchestrator/loop/tree-loop-runner.js +62 -6
  400. package/dist/orchestrator/loop/tree-loop-runner.js.map +1 -1
  401. package/dist/orchestrator/strategy/cross-goal-portfolio.d.ts.map +1 -1
  402. package/dist/orchestrator/strategy/cross-goal-portfolio.js +20 -12
  403. package/dist/orchestrator/strategy/cross-goal-portfolio.js.map +1 -1
  404. package/dist/orchestrator/strategy/portfolio-manager.d.ts +3 -3
  405. package/dist/orchestrator/strategy/portfolio-manager.d.ts.map +1 -1
  406. package/dist/orchestrator/strategy/portfolio-manager.js +11 -7
  407. package/dist/orchestrator/strategy/portfolio-manager.js.map +1 -1
  408. package/dist/orchestrator/strategy/portfolio-rebalance.d.ts +3 -3
  409. package/dist/orchestrator/strategy/portfolio-rebalance.d.ts.map +1 -1
  410. package/dist/orchestrator/strategy/portfolio-rebalance.js +14 -7
  411. package/dist/orchestrator/strategy/portfolio-rebalance.js.map +1 -1
  412. package/dist/orchestrator/strategy/strategy-manager-base.d.ts.map +1 -1
  413. package/dist/orchestrator/strategy/strategy-manager-base.js +29 -24
  414. package/dist/orchestrator/strategy/strategy-manager-base.js.map +1 -1
  415. package/dist/orchestrator/strategy/strategy-manager.d.ts +11 -1
  416. package/dist/orchestrator/strategy/strategy-manager.d.ts.map +1 -1
  417. package/dist/orchestrator/strategy/strategy-manager.js +23 -2
  418. package/dist/orchestrator/strategy/strategy-manager.js.map +1 -1
  419. package/dist/platform/dream/dream-activation-artifacts.d.ts +5 -0
  420. package/dist/platform/dream/dream-activation-artifacts.d.ts.map +1 -0
  421. package/dist/platform/dream/dream-activation-artifacts.js +35 -0
  422. package/dist/platform/dream/dream-activation-artifacts.js.map +1 -0
  423. package/dist/platform/dream/dream-activation.d.ts +7 -0
  424. package/dist/platform/dream/dream-activation.d.ts.map +1 -1
  425. package/dist/platform/dream/dream-activation.js +41 -0
  426. package/dist/platform/dream/dream-activation.js.map +1 -1
  427. package/dist/platform/dream/dream-consolidator.d.ts +51 -1
  428. package/dist/platform/dream/dream-consolidator.d.ts.map +1 -1
  429. package/dist/platform/dream/dream-consolidator.js +425 -74
  430. package/dist/platform/dream/dream-consolidator.js.map +1 -1
  431. package/dist/platform/dream/dream-event-workflows.d.ts +115 -0
  432. package/dist/platform/dream/dream-event-workflows.d.ts.map +1 -0
  433. package/dist/platform/dream/dream-event-workflows.js +328 -0
  434. package/dist/platform/dream/dream-event-workflows.js.map +1 -0
  435. package/dist/platform/dream/dream-soil-mutation.d.ts +28 -0
  436. package/dist/platform/dream/dream-soil-mutation.d.ts.map +1 -0
  437. package/dist/platform/dream/dream-soil-mutation.js +605 -0
  438. package/dist/platform/dream/dream-soil-mutation.js.map +1 -0
  439. package/dist/platform/dream/dream-soil-sync.d.ts +32 -0
  440. package/dist/platform/dream/dream-soil-sync.d.ts.map +1 -0
  441. package/dist/platform/dream/dream-soil-sync.js +106 -0
  442. package/dist/platform/dream/dream-soil-sync.js.map +1 -0
  443. package/dist/platform/dream/dream-types.d.ts +635 -50
  444. package/dist/platform/dream/dream-types.d.ts.map +1 -1
  445. package/dist/platform/dream/dream-types.js +70 -0
  446. package/dist/platform/dream/dream-types.js.map +1 -1
  447. package/dist/platform/dream/index.d.ts +4 -0
  448. package/dist/platform/dream/index.d.ts.map +1 -1
  449. package/dist/platform/dream/index.js +4 -0
  450. package/dist/platform/dream/index.js.map +1 -1
  451. package/dist/platform/drive/satisficing-judge.d.ts.map +1 -1
  452. package/dist/platform/drive/satisficing-judge.js +20 -6
  453. package/dist/platform/drive/satisficing-judge.js.map +1 -1
  454. package/dist/platform/knowledge/knowledge-decisions.d.ts.map +1 -1
  455. package/dist/platform/knowledge/knowledge-decisions.js +32 -0
  456. package/dist/platform/knowledge/knowledge-decisions.js.map +1 -1
  457. package/dist/platform/knowledge/knowledge-manager-lint.d.ts +1 -0
  458. package/dist/platform/knowledge/knowledge-manager-lint.d.ts.map +1 -1
  459. package/dist/platform/knowledge/knowledge-manager-lint.js +20 -6
  460. package/dist/platform/knowledge/knowledge-manager-lint.js.map +1 -1
  461. package/dist/platform/knowledge/knowledge-manager.d.ts +3 -0
  462. package/dist/platform/knowledge/knowledge-manager.d.ts.map +1 -1
  463. package/dist/platform/knowledge/knowledge-manager.js +40 -1
  464. package/dist/platform/knowledge/knowledge-manager.js.map +1 -1
  465. package/dist/platform/knowledge/knowledge-search.d.ts.map +1 -1
  466. package/dist/platform/knowledge/knowledge-search.js +15 -3
  467. package/dist/platform/knowledge/knowledge-search.js.map +1 -1
  468. package/dist/platform/knowledge/learning/learning-cross-goal.d.ts.map +1 -1
  469. package/dist/platform/knowledge/learning/learning-cross-goal.js +9 -5
  470. package/dist/platform/knowledge/learning/learning-cross-goal.js.map +1 -1
  471. package/dist/platform/observation/observation-apply.d.ts.map +1 -1
  472. package/dist/platform/observation/observation-apply.js +93 -99
  473. package/dist/platform/observation/observation-apply.js.map +1 -1
  474. package/dist/platform/observation/workspace-context.d.ts.map +1 -1
  475. package/dist/platform/observation/workspace-context.js +12 -6
  476. package/dist/platform/observation/workspace-context.js.map +1 -1
  477. package/dist/platform/soil/checksum.d.ts +2 -0
  478. package/dist/platform/soil/checksum.d.ts.map +1 -0
  479. package/dist/platform/soil/checksum.js +17 -0
  480. package/dist/platform/soil/checksum.js.map +1 -0
  481. package/dist/platform/soil/compiled-memory-projections.d.ts +12 -0
  482. package/dist/platform/soil/compiled-memory-projections.d.ts.map +1 -0
  483. package/dist/platform/soil/compiled-memory-projections.js +238 -0
  484. package/dist/platform/soil/compiled-memory-projections.js.map +1 -0
  485. package/dist/platform/soil/compiler.d.ts +27 -0
  486. package/dist/platform/soil/compiler.d.ts.map +1 -0
  487. package/dist/platform/soil/compiler.js +78 -0
  488. package/dist/platform/soil/compiler.js.map +1 -0
  489. package/dist/platform/soil/config.d.ts +16 -0
  490. package/dist/platform/soil/config.d.ts.map +1 -0
  491. package/dist/platform/soil/config.js +30 -0
  492. package/dist/platform/soil/config.js.map +1 -0
  493. package/dist/platform/soil/content-projections.d.ts +20 -0
  494. package/dist/platform/soil/content-projections.d.ts.map +1 -0
  495. package/dist/platform/soil/content-projections.js +451 -0
  496. package/dist/platform/soil/content-projections.js.map +1 -0
  497. package/dist/platform/soil/context-compiler.d.ts +34 -0
  498. package/dist/platform/soil/context-compiler.d.ts.map +1 -0
  499. package/dist/platform/soil/context-compiler.js +298 -0
  500. package/dist/platform/soil/context-compiler.js.map +1 -0
  501. package/dist/platform/soil/context-evaluation.d.ts +63 -0
  502. package/dist/platform/soil/context-evaluation.d.ts.map +1 -0
  503. package/dist/platform/soil/context-evaluation.js +90 -0
  504. package/dist/platform/soil/context-evaluation.js.map +1 -0
  505. package/dist/platform/soil/contracts.d.ts +1366 -0
  506. package/dist/platform/soil/contracts.d.ts.map +1 -0
  507. package/dist/platform/soil/contracts.js +281 -0
  508. package/dist/platform/soil/contracts.js.map +1 -0
  509. package/dist/platform/soil/ddl.d.ts +8 -0
  510. package/dist/platform/soil/ddl.d.ts.map +1 -0
  511. package/dist/platform/soil/ddl.js +150 -0
  512. package/dist/platform/soil/ddl.js.map +1 -0
  513. package/dist/platform/soil/doctor.d.ts +38 -0
  514. package/dist/platform/soil/doctor.d.ts.map +1 -0
  515. package/dist/platform/soil/doctor.js +473 -0
  516. package/dist/platform/soil/doctor.js.map +1 -0
  517. package/dist/platform/soil/feedback-store.d.ts +10 -0
  518. package/dist/platform/soil/feedback-store.d.ts.map +1 -0
  519. package/dist/platform/soil/feedback-store.js +38 -0
  520. package/dist/platform/soil/feedback-store.js.map +1 -0
  521. package/dist/platform/soil/frontmatter.d.ts +15 -0
  522. package/dist/platform/soil/frontmatter.d.ts.map +1 -0
  523. package/dist/platform/soil/frontmatter.js +82 -0
  524. package/dist/platform/soil/frontmatter.js.map +1 -0
  525. package/dist/platform/soil/health.d.ts +35 -0
  526. package/dist/platform/soil/health.d.ts.map +1 -0
  527. package/dist/platform/soil/health.js +126 -0
  528. package/dist/platform/soil/health.js.map +1 -0
  529. package/dist/platform/soil/importer.d.ts +118 -0
  530. package/dist/platform/soil/importer.d.ts.map +1 -0
  531. package/dist/platform/soil/importer.js +145 -0
  532. package/dist/platform/soil/importer.js.map +1 -0
  533. package/dist/platform/soil/index-store.d.ts +89 -0
  534. package/dist/platform/soil/index-store.d.ts.map +1 -0
  535. package/dist/platform/soil/index-store.js +408 -0
  536. package/dist/platform/soil/index-store.js.map +1 -0
  537. package/dist/platform/soil/index.d.ts +24 -0
  538. package/dist/platform/soil/index.d.ts.map +1 -0
  539. package/dist/platform/soil/index.js +24 -0
  540. package/dist/platform/soil/index.js.map +1 -0
  541. package/dist/platform/soil/io.d.ts +18 -0
  542. package/dist/platform/soil/io.d.ts.map +1 -0
  543. package/dist/platform/soil/io.js +56 -0
  544. package/dist/platform/soil/io.js.map +1 -0
  545. package/dist/platform/soil/open.d.ts +32 -0
  546. package/dist/platform/soil/open.d.ts.map +1 -0
  547. package/dist/platform/soil/open.js +78 -0
  548. package/dist/platform/soil/open.js.map +1 -0
  549. package/dist/platform/soil/paths.d.ts +9 -0
  550. package/dist/platform/soil/paths.d.ts.map +1 -0
  551. package/dist/platform/soil/paths.js +78 -0
  552. package/dist/platform/soil/paths.js.map +1 -0
  553. package/dist/platform/soil/projection-support.d.ts +48 -0
  554. package/dist/platform/soil/projection-support.d.ts.map +1 -0
  555. package/dist/platform/soil/projection-support.js +107 -0
  556. package/dist/platform/soil/projection-support.js.map +1 -0
  557. package/dist/platform/soil/projections.d.ts +16 -0
  558. package/dist/platform/soil/projections.d.ts.map +1 -0
  559. package/dist/platform/soil/projections.js +265 -0
  560. package/dist/platform/soil/projections.js.map +1 -0
  561. package/dist/platform/soil/publish/apple-notes.d.ts +15 -0
  562. package/dist/platform/soil/publish/apple-notes.d.ts.map +1 -0
  563. package/dist/platform/soil/publish/apple-notes.js +58 -0
  564. package/dist/platform/soil/publish/apple-notes.js.map +1 -0
  565. package/dist/platform/soil/publish/config.d.ts +14 -0
  566. package/dist/platform/soil/publish/config.d.ts.map +1 -0
  567. package/dist/platform/soil/publish/config.js +59 -0
  568. package/dist/platform/soil/publish/config.js.map +1 -0
  569. package/dist/platform/soil/publish/index.d.ts +7 -0
  570. package/dist/platform/soil/publish/index.d.ts.map +1 -0
  571. package/dist/platform/soil/publish/index.js +7 -0
  572. package/dist/platform/soil/publish/index.js.map +1 -0
  573. package/dist/platform/soil/publish/notion.d.ts +51 -0
  574. package/dist/platform/soil/publish/notion.d.ts.map +1 -0
  575. package/dist/platform/soil/publish/notion.js +201 -0
  576. package/dist/platform/soil/publish/notion.js.map +1 -0
  577. package/dist/platform/soil/publish/publisher.d.ts +13 -0
  578. package/dist/platform/soil/publish/publisher.d.ts.map +1 -0
  579. package/dist/platform/soil/publish/publisher.js +55 -0
  580. package/dist/platform/soil/publish/publisher.js.map +1 -0
  581. package/dist/platform/soil/publish/snapshot.d.ts +4 -0
  582. package/dist/platform/soil/publish/snapshot.d.ts.map +1 -0
  583. package/dist/platform/soil/publish/snapshot.js +40 -0
  584. package/dist/platform/soil/publish/snapshot.js.map +1 -0
  585. package/dist/platform/soil/publish/types.d.ts +169 -0
  586. package/dist/platform/soil/publish/types.d.ts.map +1 -0
  587. package/dist/platform/soil/publish/types.js +32 -0
  588. package/dist/platform/soil/publish/types.js.map +1 -0
  589. package/dist/platform/soil/retriever.d.ts +52 -0
  590. package/dist/platform/soil/retriever.d.ts.map +1 -0
  591. package/dist/platform/soil/retriever.js +262 -0
  592. package/dist/platform/soil/retriever.js.map +1 -0
  593. package/dist/platform/soil/runtime-rebuild.d.ts +33 -0
  594. package/dist/platform/soil/runtime-rebuild.d.ts.map +1 -0
  595. package/dist/platform/soil/runtime-rebuild.js +200 -0
  596. package/dist/platform/soil/runtime-rebuild.js.map +1 -0
  597. package/dist/platform/soil/sqlite-repository.d.ts +25 -0
  598. package/dist/platform/soil/sqlite-repository.d.ts.map +1 -0
  599. package/dist/platform/soil/sqlite-repository.js +929 -0
  600. package/dist/platform/soil/sqlite-repository.js.map +1 -0
  601. package/dist/platform/soil/types.d.ts +506 -0
  602. package/dist/platform/soil/types.d.ts.map +1 -0
  603. package/dist/platform/soil/types.js +146 -0
  604. package/dist/platform/soil/types.js.map +1 -0
  605. package/dist/reflection/types.d.ts +2 -2
  606. package/dist/reporting/reporting-engine.d.ts.map +1 -1
  607. package/dist/reporting/reporting-engine.js +10 -0
  608. package/dist/reporting/reporting-engine.js.map +1 -1
  609. package/dist/runtime/approval-broker.d.ts.map +1 -1
  610. package/dist/runtime/approval-broker.js +32 -9
  611. package/dist/runtime/approval-broker.js.map +1 -1
  612. package/dist/runtime/command-dispatcher.d.ts +2 -0
  613. package/dist/runtime/command-dispatcher.d.ts.map +1 -1
  614. package/dist/runtime/command-dispatcher.js +11 -0
  615. package/dist/runtime/command-dispatcher.js.map +1 -1
  616. package/dist/runtime/control/daemon-runtime-control-executor.d.ts +13 -0
  617. package/dist/runtime/control/daemon-runtime-control-executor.d.ts.map +1 -0
  618. package/dist/runtime/control/daemon-runtime-control-executor.js +46 -0
  619. package/dist/runtime/control/daemon-runtime-control-executor.js.map +1 -0
  620. package/dist/runtime/control/index.d.ts +7 -0
  621. package/dist/runtime/control/index.d.ts.map +1 -0
  622. package/dist/runtime/control/index.js +4 -0
  623. package/dist/runtime/control/index.js.map +1 -0
  624. package/dist/runtime/control/runtime-control-intent.d.ts +7 -0
  625. package/dist/runtime/control/runtime-control-intent.d.ts.map +1 -0
  626. package/dist/runtime/control/runtime-control-intent.js +31 -0
  627. package/dist/runtime/control/runtime-control-intent.js.map +1 -0
  628. package/dist/runtime/control/runtime-control-service.d.ts +44 -0
  629. package/dist/runtime/control/runtime-control-service.d.ts.map +1 -0
  630. package/dist/runtime/control/runtime-control-service.js +143 -0
  631. package/dist/runtime/control/runtime-control-service.js.map +1 -0
  632. package/dist/runtime/daemon/client.d.ts +17 -0
  633. package/dist/runtime/daemon/client.d.ts.map +1 -1
  634. package/dist/runtime/daemon/client.js +45 -2
  635. package/dist/runtime/daemon/client.js.map +1 -1
  636. package/dist/runtime/daemon/runner-errors.d.ts +28 -0
  637. package/dist/runtime/daemon/runner-errors.d.ts.map +1 -0
  638. package/dist/runtime/daemon/runner-errors.js +41 -0
  639. package/dist/runtime/daemon/runner-errors.js.map +1 -0
  640. package/dist/runtime/daemon/runner-recovery.d.ts +12 -0
  641. package/dist/runtime/daemon/runner-recovery.d.ts.map +1 -0
  642. package/dist/runtime/daemon/runner-recovery.js +146 -0
  643. package/dist/runtime/daemon/runner-recovery.js.map +1 -0
  644. package/dist/runtime/daemon/runner.d.ts +8 -3
  645. package/dist/runtime/daemon/runner.d.ts.map +1 -1
  646. package/dist/runtime/daemon/runner.js +211 -169
  647. package/dist/runtime/daemon/runner.js.map +1 -1
  648. package/dist/runtime/event/server-sse.d.ts.map +1 -1
  649. package/dist/runtime/event/server-sse.js +0 -1
  650. package/dist/runtime/event/server-sse.js.map +1 -1
  651. package/dist/runtime/event/server.d.ts +28 -0
  652. package/dist/runtime/event/server.d.ts.map +1 -1
  653. package/dist/runtime/event/server.js +341 -71
  654. package/dist/runtime/event/server.js.map +1 -1
  655. package/dist/runtime/leader-lock-manager.d.ts.map +1 -1
  656. package/dist/runtime/leader-lock-manager.js +2 -1
  657. package/dist/runtime/leader-lock-manager.js.map +1 -1
  658. package/dist/runtime/notification-dispatcher.d.ts +7 -0
  659. package/dist/runtime/notification-dispatcher.d.ts.map +1 -1
  660. package/dist/runtime/notification-dispatcher.js +43 -1
  661. package/dist/runtime/notification-dispatcher.js.map +1 -1
  662. package/dist/runtime/notification-routing.d.ts +16 -0
  663. package/dist/runtime/notification-routing.d.ts.map +1 -0
  664. package/dist/runtime/notification-routing.js +147 -0
  665. package/dist/runtime/notification-routing.js.map +1 -0
  666. package/dist/runtime/plugin-loader.d.ts +2 -0
  667. package/dist/runtime/plugin-loader.d.ts.map +1 -1
  668. package/dist/runtime/plugin-loader.js +34 -2
  669. package/dist/runtime/plugin-loader.js.map +1 -1
  670. package/dist/runtime/schedule/engine-layers.d.ts.map +1 -1
  671. package/dist/runtime/schedule/engine-layers.js +106 -6
  672. package/dist/runtime/schedule/engine-layers.js.map +1 -1
  673. package/dist/runtime/schedule/engine.d.ts +2 -0
  674. package/dist/runtime/schedule/engine.d.ts.map +1 -1
  675. package/dist/runtime/schedule/engine.js +28 -0
  676. package/dist/runtime/schedule/engine.js.map +1 -1
  677. package/dist/runtime/schedule/history.d.ts +3 -3
  678. package/dist/runtime/schedule/presets.d.ts +128 -15
  679. package/dist/runtime/schedule/presets.d.ts.map +1 -1
  680. package/dist/runtime/schedule/presets.js +24 -0
  681. package/dist/runtime/schedule/presets.js.map +1 -1
  682. package/dist/runtime/schedule/source.d.ts +2 -2
  683. package/dist/runtime/store/index.d.ts +3 -0
  684. package/dist/runtime/store/index.d.ts.map +1 -1
  685. package/dist/runtime/store/index.js +2 -0
  686. package/dist/runtime/store/index.js.map +1 -1
  687. package/dist/runtime/store/runtime-operation-schemas.d.ts +213 -0
  688. package/dist/runtime/store/runtime-operation-schemas.d.ts.map +1 -0
  689. package/dist/runtime/store/runtime-operation-schemas.js +62 -0
  690. package/dist/runtime/store/runtime-operation-schemas.js.map +1 -0
  691. package/dist/runtime/store/runtime-operation-store.d.ts +17 -0
  692. package/dist/runtime/store/runtime-operation-store.d.ts.map +1 -0
  693. package/dist/runtime/store/runtime-operation-store.js +57 -0
  694. package/dist/runtime/store/runtime-operation-store.js.map +1 -0
  695. package/dist/runtime/store/runtime-schemas.d.ts +2 -2
  696. package/dist/runtime/types/cron.d.ts +4 -4
  697. package/dist/runtime/types/daemon.d.ts +6 -0
  698. package/dist/runtime/types/daemon.d.ts.map +1 -1
  699. package/dist/runtime/types/daemon.js +2 -0
  700. package/dist/runtime/types/daemon.js.map +1 -1
  701. package/dist/runtime/types/notification.d.ts +91 -0
  702. package/dist/runtime/types/notification.d.ts.map +1 -1
  703. package/dist/runtime/types/notification.js +10 -0
  704. package/dist/runtime/types/notification.js.map +1 -1
  705. package/dist/runtime/types/schedule.d.ts +60 -60
  706. package/dist/runtime/types/schedule.js +1 -1
  707. package/dist/runtime/types/schedule.js.map +1 -1
  708. package/dist/runtime/types/trigger.d.ts +6 -6
  709. package/dist/runtime/watchdog.d.ts +22 -0
  710. package/dist/runtime/watchdog.d.ts.map +1 -1
  711. package/dist/runtime/watchdog.js +47 -3
  712. package/dist/runtime/watchdog.js.map +1 -1
  713. package/dist/tools/builtin/index.d.ts +17 -0
  714. package/dist/tools/builtin/index.d.ts.map +1 -1
  715. package/dist/tools/builtin/index.js +46 -3
  716. package/dist/tools/builtin/index.js.map +1 -1
  717. package/dist/tools/execution/RunAdapterTool/RunAdapterTool.d.ts.map +1 -1
  718. package/dist/tools/execution/RunAdapterTool/RunAdapterTool.js +20 -0
  719. package/dist/tools/execution/RunAdapterTool/RunAdapterTool.js.map +1 -1
  720. package/dist/tools/execution/SoilDoctorTool/SoilDoctorTool.d.ts +43 -0
  721. package/dist/tools/execution/SoilDoctorTool/SoilDoctorTool.d.ts.map +1 -0
  722. package/dist/tools/execution/SoilDoctorTool/SoilDoctorTool.js +83 -0
  723. package/dist/tools/execution/SoilDoctorTool/SoilDoctorTool.js.map +1 -0
  724. package/dist/tools/execution/SoilDoctorTool/constants.d.ts +8 -0
  725. package/dist/tools/execution/SoilDoctorTool/constants.d.ts.map +1 -0
  726. package/dist/tools/execution/SoilDoctorTool/constants.js +8 -0
  727. package/dist/tools/execution/SoilDoctorTool/constants.js.map +1 -0
  728. package/dist/tools/execution/SoilDoctorTool/prompt.d.ts +2 -0
  729. package/dist/tools/execution/SoilDoctorTool/prompt.d.ts.map +1 -0
  730. package/dist/tools/execution/SoilDoctorTool/prompt.js +2 -0
  731. package/dist/tools/execution/SoilDoctorTool/prompt.js.map +1 -0
  732. package/dist/tools/execution/SoilImportTool/SoilImportTool.d.ts +109 -0
  733. package/dist/tools/execution/SoilImportTool/SoilImportTool.d.ts.map +1 -0
  734. package/dist/tools/execution/SoilImportTool/SoilImportTool.js +72 -0
  735. package/dist/tools/execution/SoilImportTool/SoilImportTool.js.map +1 -0
  736. package/dist/tools/execution/SoilImportTool/constants.d.ts +6 -0
  737. package/dist/tools/execution/SoilImportTool/constants.d.ts.map +1 -0
  738. package/dist/tools/execution/SoilImportTool/constants.js +6 -0
  739. package/dist/tools/execution/SoilImportTool/constants.js.map +1 -0
  740. package/dist/tools/execution/SoilImportTool/prompt.d.ts +2 -0
  741. package/dist/tools/execution/SoilImportTool/prompt.d.ts.map +1 -0
  742. package/dist/tools/execution/SoilImportTool/prompt.js +2 -0
  743. package/dist/tools/execution/SoilImportTool/prompt.js.map +1 -0
  744. package/dist/tools/execution/SoilOpenTool/SoilOpenTool.d.ts +46 -0
  745. package/dist/tools/execution/SoilOpenTool/SoilOpenTool.d.ts.map +1 -0
  746. package/dist/tools/execution/SoilOpenTool/SoilOpenTool.js +64 -0
  747. package/dist/tools/execution/SoilOpenTool/SoilOpenTool.js.map +1 -0
  748. package/dist/tools/execution/SoilOpenTool/constants.d.ts +6 -0
  749. package/dist/tools/execution/SoilOpenTool/constants.d.ts.map +1 -0
  750. package/dist/tools/execution/SoilOpenTool/constants.js +6 -0
  751. package/dist/tools/execution/SoilOpenTool/constants.js.map +1 -0
  752. package/dist/tools/execution/SoilOpenTool/prompt.d.ts +2 -0
  753. package/dist/tools/execution/SoilOpenTool/prompt.d.ts.map +1 -0
  754. package/dist/tools/execution/SoilOpenTool/prompt.js +2 -0
  755. package/dist/tools/execution/SoilOpenTool/prompt.js.map +1 -0
  756. package/dist/tools/execution/SoilPublishTool/SoilPublishTool.d.ts +49 -0
  757. package/dist/tools/execution/SoilPublishTool/SoilPublishTool.d.ts.map +1 -0
  758. package/dist/tools/execution/SoilPublishTool/SoilPublishTool.js +71 -0
  759. package/dist/tools/execution/SoilPublishTool/SoilPublishTool.js.map +1 -0
  760. package/dist/tools/execution/SoilPublishTool/constants.d.ts +6 -0
  761. package/dist/tools/execution/SoilPublishTool/constants.d.ts.map +1 -0
  762. package/dist/tools/execution/SoilPublishTool/constants.js +6 -0
  763. package/dist/tools/execution/SoilPublishTool/constants.js.map +1 -0
  764. package/dist/tools/execution/SoilPublishTool/prompt.d.ts +2 -0
  765. package/dist/tools/execution/SoilPublishTool/prompt.d.ts.map +1 -0
  766. package/dist/tools/execution/SoilPublishTool/prompt.js +2 -0
  767. package/dist/tools/execution/SoilPublishTool/prompt.js.map +1 -0
  768. package/dist/tools/execution/SoilRebuildTool/SoilRebuildTool.d.ts +34 -0
  769. package/dist/tools/execution/SoilRebuildTool/SoilRebuildTool.d.ts.map +1 -0
  770. package/dist/tools/execution/SoilRebuildTool/SoilRebuildTool.js +66 -0
  771. package/dist/tools/execution/SoilRebuildTool/SoilRebuildTool.js.map +1 -0
  772. package/dist/tools/execution/SoilRebuildTool/constants.d.ts +6 -0
  773. package/dist/tools/execution/SoilRebuildTool/constants.d.ts.map +1 -0
  774. package/dist/tools/execution/SoilRebuildTool/constants.js +6 -0
  775. package/dist/tools/execution/SoilRebuildTool/constants.js.map +1 -0
  776. package/dist/tools/execution/SoilRebuildTool/prompt.d.ts +2 -0
  777. package/dist/tools/execution/SoilRebuildTool/prompt.d.ts.map +1 -0
  778. package/dist/tools/execution/SoilRebuildTool/prompt.js +2 -0
  779. package/dist/tools/execution/SoilRebuildTool/prompt.js.map +1 -0
  780. package/dist/tools/executor.d.ts.map +1 -1
  781. package/dist/tools/executor.js +5 -2
  782. package/dist/tools/executor.js.map +1 -1
  783. package/dist/tools/fs/ApplyPatchTool/ApplyPatchTool.d.ts +38 -0
  784. package/dist/tools/fs/ApplyPatchTool/ApplyPatchTool.d.ts.map +1 -0
  785. package/dist/tools/fs/ApplyPatchTool/ApplyPatchTool.js +247 -0
  786. package/dist/tools/fs/ApplyPatchTool/ApplyPatchTool.js.map +1 -0
  787. package/dist/tools/fs/FileValidationTool/FileValidationTool.d.ts.map +1 -1
  788. package/dist/tools/fs/FileValidationTool/FileValidationTool.js +3 -2
  789. package/dist/tools/fs/FileValidationTool/FileValidationTool.js.map +1 -1
  790. package/dist/tools/fs/GlobTool/GlobTool.d.ts +1 -1
  791. package/dist/tools/fs/GlobTool/GlobTool.d.ts.map +1 -1
  792. package/dist/tools/fs/GlobTool/GlobTool.js +12 -1
  793. package/dist/tools/fs/GlobTool/GlobTool.js.map +1 -1
  794. package/dist/tools/fs/GrepTool/GrepTool.d.ts +1 -1
  795. package/dist/tools/fs/GrepTool/GrepTool.d.ts.map +1 -1
  796. package/dist/tools/fs/GrepTool/GrepTool.js +10 -3
  797. package/dist/tools/fs/GrepTool/GrepTool.js.map +1 -1
  798. package/dist/tools/fs/JsonQueryTool/JsonQueryTool.d.ts +1 -1
  799. package/dist/tools/fs/JsonQueryTool/JsonQueryTool.d.ts.map +1 -1
  800. package/dist/tools/fs/JsonQueryTool/JsonQueryTool.js +8 -1
  801. package/dist/tools/fs/JsonQueryTool/JsonQueryTool.js.map +1 -1
  802. package/dist/tools/fs/ListDirTool/ListDirTool.d.ts +2 -2
  803. package/dist/tools/fs/ListDirTool/ListDirTool.d.ts.map +1 -1
  804. package/dist/tools/fs/ListDirTool/ListDirTool.js +13 -5
  805. package/dist/tools/fs/ListDirTool/ListDirTool.js.map +1 -1
  806. package/dist/tools/fs/ReadTool/ReadTool.d.ts +1 -1
  807. package/dist/tools/fs/ReadTool/ReadTool.d.ts.map +1 -1
  808. package/dist/tools/fs/ReadTool/ReadTool.js +8 -1
  809. package/dist/tools/fs/ReadTool/ReadTool.js.map +1 -1
  810. package/dist/tools/index.d.ts +2 -0
  811. package/dist/tools/index.d.ts.map +1 -1
  812. package/dist/tools/index.js +1 -0
  813. package/dist/tools/index.js.map +1 -1
  814. package/dist/tools/media/ViewImageTool/ViewImageTool.d.ts +31 -0
  815. package/dist/tools/media/ViewImageTool/ViewImageTool.d.ts.map +1 -0
  816. package/dist/tools/media/ViewImageTool/ViewImageTool.js +53 -0
  817. package/dist/tools/media/ViewImageTool/ViewImageTool.js.map +1 -0
  818. package/dist/tools/mutation/ConfigureNotificationRoutingTool/ConfigureNotificationRoutingTool.d.ts +25 -0
  819. package/dist/tools/mutation/ConfigureNotificationRoutingTool/ConfigureNotificationRoutingTool.d.ts.map +1 -0
  820. package/dist/tools/mutation/ConfigureNotificationRoutingTool/ConfigureNotificationRoutingTool.js +59 -0
  821. package/dist/tools/mutation/ConfigureNotificationRoutingTool/ConfigureNotificationRoutingTool.js.map +1 -0
  822. package/dist/tools/mutation/ConfigureNotificationRoutingTool/constants.d.ts +5 -0
  823. package/dist/tools/mutation/ConfigureNotificationRoutingTool/constants.d.ts.map +1 -0
  824. package/dist/tools/mutation/ConfigureNotificationRoutingTool/constants.js +5 -0
  825. package/dist/tools/mutation/ConfigureNotificationRoutingTool/constants.js.map +1 -0
  826. package/dist/tools/mutation/ConfigureNotificationRoutingTool/prompt.d.ts +2 -0
  827. package/dist/tools/mutation/ConfigureNotificationRoutingTool/prompt.d.ts.map +1 -0
  828. package/dist/tools/mutation/ConfigureNotificationRoutingTool/prompt.js +5 -0
  829. package/dist/tools/mutation/ConfigureNotificationRoutingTool/prompt.js.map +1 -0
  830. package/dist/tools/mutation/TaskCreateTool/TaskCreateTool.d.ts +4 -4
  831. package/dist/tools/mutation/TaskOutputTool/TaskOutputTool.d.ts +2 -2
  832. package/dist/tools/network/GitHubCliTool/GitHubCliTool.d.ts +144 -0
  833. package/dist/tools/network/GitHubCliTool/GitHubCliTool.d.ts.map +1 -0
  834. package/dist/tools/network/GitHubCliTool/GitHubCliTool.js +245 -0
  835. package/dist/tools/network/GitHubCliTool/GitHubCliTool.js.map +1 -0
  836. package/dist/tools/network/HttpFetchTool/HttpFetchTool.d.ts +16 -0
  837. package/dist/tools/network/HttpFetchTool/HttpFetchTool.d.ts.map +1 -1
  838. package/dist/tools/network/HttpFetchTool/HttpFetchTool.js +252 -13
  839. package/dist/tools/network/HttpFetchTool/HttpFetchTool.js.map +1 -1
  840. package/dist/tools/network/McpStdioTool/McpStdioTool.d.ts +109 -0
  841. package/dist/tools/network/McpStdioTool/McpStdioTool.d.ts.map +1 -0
  842. package/dist/tools/network/McpStdioTool/McpStdioTool.js +121 -0
  843. package/dist/tools/network/McpStdioTool/McpStdioTool.js.map +1 -0
  844. package/dist/tools/query/GoalStateTool/GoalStateTool.js +1 -1
  845. package/dist/tools/query/GoalStateTool/GoalStateTool.js.map +1 -1
  846. package/dist/tools/query/MemoryRecallTool/MemoryRecallTool.d.ts +4 -4
  847. package/dist/tools/query/SoilQueryTool/SoilQueryTool.d.ts +118 -0
  848. package/dist/tools/query/SoilQueryTool/SoilQueryTool.d.ts.map +1 -0
  849. package/dist/tools/query/SoilQueryTool/SoilQueryTool.js +335 -0
  850. package/dist/tools/query/SoilQueryTool/SoilQueryTool.js.map +1 -0
  851. package/dist/tools/query/SoilQueryTool/constants.d.ts +8 -0
  852. package/dist/tools/query/SoilQueryTool/constants.d.ts.map +1 -0
  853. package/dist/tools/query/SoilQueryTool/constants.js +8 -0
  854. package/dist/tools/query/SoilQueryTool/constants.js.map +1 -0
  855. package/dist/tools/query/SoilQueryTool/prompt.d.ts +2 -0
  856. package/dist/tools/query/SoilQueryTool/prompt.d.ts.map +1 -0
  857. package/dist/tools/query/SoilQueryTool/prompt.js +2 -0
  858. package/dist/tools/query/SoilQueryTool/prompt.js.map +1 -0
  859. package/dist/tools/schedule/CreateScheduleTool/CreateScheduleTool.d.ts +164 -52
  860. package/dist/tools/schedule/CreateScheduleTool/CreateScheduleTool.d.ts.map +1 -1
  861. package/dist/tools/schedule/ListSchedulesTool/ListSchedulesTool.d.ts +4 -4
  862. package/dist/tools/schedule/UpdateScheduleTool/UpdateScheduleTool.d.ts +76 -76
  863. package/dist/tools/system/EnvTool/EnvTool.d.ts +4 -4
  864. package/dist/tools/system/GitLogTool/GitLogTool.d.ts +4 -4
  865. package/dist/tools/system/ProcessSessionTool/ProcessSessionTool.d.ts +220 -0
  866. package/dist/tools/system/ProcessSessionTool/ProcessSessionTool.d.ts.map +1 -0
  867. package/dist/tools/system/ProcessSessionTool/ProcessSessionTool.js +354 -0
  868. package/dist/tools/system/ProcessSessionTool/ProcessSessionTool.js.map +1 -0
  869. package/dist/tools/system/ShellCommandTool/ShellCommandTool.d.ts +44 -0
  870. package/dist/tools/system/ShellCommandTool/ShellCommandTool.d.ts.map +1 -0
  871. package/dist/tools/system/ShellCommandTool/ShellCommandTool.js +40 -0
  872. package/dist/tools/system/ShellCommandTool/ShellCommandTool.js.map +1 -0
  873. package/dist/tools/system/UpdatePlanTool/UpdatePlanTool.d.ts +61 -0
  874. package/dist/tools/system/UpdatePlanTool/UpdatePlanTool.d.ts.map +1 -0
  875. package/dist/tools/system/UpdatePlanTool/UpdatePlanTool.js +42 -0
  876. package/dist/tools/system/UpdatePlanTool/UpdatePlanTool.js.map +1 -0
  877. package/dist/tools/types.d.ts +6 -2
  878. package/dist/tools/types.d.ts.map +1 -1
  879. package/dist/tools/types.js.map +1 -1
  880. package/package.json +7 -1
  881. package/dist/adapters/agents/browser-use-cli.d.ts +0 -19
  882. package/dist/adapters/agents/browser-use-cli.d.ts.map +0 -1
  883. package/dist/adapters/agents/browser-use-cli.js +0 -74
  884. package/dist/adapters/agents/browser-use-cli.js.map +0 -1
@@ -10,13 +10,16 @@ import { verifyChatAction } from "./chat-verifier.js";
10
10
  import { toToolDefinitionsFiltered } from "../../tools/tool-definition-adapter.js";
11
11
  import { TendCommand } from "./tend-command.js";
12
12
  import { EventSubscriber } from "./event-subscriber.js";
13
+ import { recognizeRuntimeControlIntent } from "../../runtime/control/index.js";
13
14
  const DEFAULT_TIMEOUT_MS = 120_000;
14
15
  const MAX_VERIFY_RETRIES = 2;
15
16
  const MAX_TOOL_LOOPS = 5;
17
+ const ACTIVITY_PREVIEW_CHARS = 40;
16
18
  // ─── Command help text ───
17
19
  const COMMAND_HELP = `Available commands:
18
20
  /help Show this help message
19
21
  /clear Clear conversation history
22
+ /resume Resume the last native agentloop turn when resumable state exists
20
23
  /exit Exit chat mode
21
24
  /track Promote session to Tier 2 goal pursuit (not yet implemented)
22
25
  /tend Generate a goal from chat history and start autonomous daemon execution`;
@@ -28,6 +31,14 @@ function checkGitChanges(cwd) {
28
31
  });
29
32
  });
30
33
  }
34
+ function previewActivityText(value, maxChars = ACTIVITY_PREVIEW_CHARS) {
35
+ const normalized = value.replace(/\s+/g, " ").trim();
36
+ return normalized.length > maxChars ? `${normalized.slice(0, maxChars)}...` : normalized;
37
+ }
38
+ function formatToolActivity(action, toolName, detail) {
39
+ const preview = detail ? previewActivityText(detail) : "";
40
+ return preview ? `${action} tool: ${toolName} - ${preview}` : `${action} tool: ${toolName}`;
41
+ }
31
42
  // ─── ChatRunner ───
32
43
  export class ChatRunner {
33
44
  deps;
@@ -49,6 +60,8 @@ export class ChatRunner {
49
60
  */
50
61
  onNotification = undefined;
51
62
  onEvent = undefined;
63
+ nativeAgentLoopStatePath = null;
64
+ runtimeControlContext = null;
52
65
  constructor(deps) {
53
66
  this.deps = deps;
54
67
  }
@@ -63,6 +76,10 @@ export class ChatRunner {
63
76
  this.history = new ChatHistory(this.deps.stateManager, sessionId, gitRoot);
64
77
  this.sessionCwd = gitRoot;
65
78
  this.sessionActive = true;
79
+ this.nativeAgentLoopStatePath = `chat/agentloop/${sessionId}.state.json`;
80
+ }
81
+ setRuntimeControlContext(context) {
82
+ this.runtimeControlContext = context;
66
83
  }
67
84
  async handleCommand(input) {
68
85
  const trimmed = input.trim();
@@ -244,8 +261,9 @@ export class ChatRunner {
244
261
  */
245
262
  async execute(input, cwd, timeoutMs = DEFAULT_TIMEOUT_MS) {
246
263
  const eventContext = this.createEventContext();
264
+ const resumeOnly = this.isResumeCommand(input);
247
265
  // Intercept commands before any adapter call
248
- const commandResult = await this.handleCommand(input);
266
+ const commandResult = resumeOnly ? null : await this.handleCommand(input);
249
267
  if (commandResult !== null) {
250
268
  if (commandResult.output) {
251
269
  this.emitEvent({
@@ -259,7 +277,7 @@ export class ChatRunner {
259
277
  return commandResult;
260
278
  }
261
279
  // Intercept plain Y/n responses (and any other input) when a /tend confirmation is pending
262
- if (this.pendingTend !== null) {
280
+ if (this.pendingTend !== null && !resumeOnly) {
263
281
  const confirmationResult = await this.handleTendConfirmation(input.trim(), Date.now());
264
282
  if (confirmationResult.output) {
265
283
  this.emitEvent({
@@ -272,22 +290,40 @@ export class ChatRunner {
272
290
  this.emitLifecycleEndEvent(confirmationResult.success ? "completed" : "error", confirmationResult.elapsed_ms, eventContext, false);
273
291
  return confirmationResult;
274
292
  }
293
+ const runtimeControlResult = resumeOnly
294
+ ? null
295
+ : await this.handleRuntimeControlIntent(input, cwd, Date.now());
296
+ if (runtimeControlResult !== null) {
297
+ if (runtimeControlResult.output) {
298
+ this.emitEvent({
299
+ type: "assistant_final",
300
+ text: runtimeControlResult.output,
301
+ persisted: false,
302
+ ...this.eventBase(eventContext),
303
+ });
304
+ }
305
+ this.emitLifecycleEndEvent(runtimeControlResult.success ? "completed" : "error", runtimeControlResult.elapsed_ms, eventContext, false);
306
+ return runtimeControlResult;
307
+ }
275
308
  // Reuse session (interactive mode) or create a fresh one per call (1-shot mode)
276
309
  if (!this.sessionActive) {
277
310
  const gitRoot = resolveGitRoot(cwd);
278
311
  const sessionId = crypto.randomUUID();
279
312
  this.history = new ChatHistory(this.deps.stateManager, sessionId, gitRoot);
313
+ this.nativeAgentLoopStatePath = `chat/agentloop/${sessionId}.state.json`;
280
314
  }
281
315
  const gitRoot = this.sessionCwd ?? resolveGitRoot(cwd);
282
316
  // history is always assigned by this point (either by startSession or the block above)
283
317
  const history = this.history;
284
- // Persist-before-execute: user message written to disk first
285
- await history.appendUserMessage(input);
286
318
  this.emitEvent({
287
319
  type: "lifecycle_start",
288
320
  input,
289
321
  ...this.eventBase(eventContext),
290
322
  });
323
+ // Persist-before-execute: user message written to disk before model or adapter execution.
324
+ if (!resumeOnly) {
325
+ await history.appendUserMessage(input);
326
+ }
291
327
  // Build static grounding once per session; dynamic context is rebuilt each turn.
292
328
  if (this.cachedStaticSystemPrompt === null) {
293
329
  try {
@@ -299,6 +335,7 @@ export class ChatRunner {
299
335
  }
300
336
  let dynamicSystemPrompt = "";
301
337
  try {
338
+ this.emitActivity("lifecycle", "Preparing context...", eventContext, "lifecycle:context");
302
339
  dynamicSystemPrompt = await buildDynamicContextPrompt({ stateManager: this.deps.stateManager });
303
340
  }
304
341
  catch {
@@ -310,17 +347,111 @@ export class ChatRunner {
310
347
  .trim();
311
348
  // Build conversation history from prior turns (last 10)
312
349
  const messages = history.getMessages();
313
- const priorTurns = messages.slice(0, -1).slice(-10);
350
+ const priorTurns = resumeOnly ? messages.slice(-10) : messages.slice(0, -1).slice(-10);
314
351
  let historyBlock = "";
315
352
  if (priorTurns.length > 0) {
316
353
  const lines = priorTurns.map((m) => `${m.role === "user" ? "User" : "Assistant"}: ${m.content}`).join("\n");
317
354
  historyBlock = `Previous conversation:\n${lines}\n\nCurrent message:\n`;
318
355
  }
319
- const context = await buildChatContext(input, gitRoot);
320
- const basePrompt = context ? `${context}\n\n${input}` : input;
356
+ const context = resumeOnly ? "" : await buildChatContext(input, gitRoot);
357
+ const basePrompt = resumeOnly ? "" : (context ? `${context}\n\n${input}` : input);
321
358
  const prompt = historyBlock ? `${historyBlock}${basePrompt}` : basePrompt;
322
359
  const start = Date.now();
323
360
  const assistantBuffer = { text: "" };
361
+ if (resumeOnly && !this.deps.chatAgentLoopRunner) {
362
+ const elapsed_ms = Date.now() - start;
363
+ const output = "Resume requires the native chat agentloop runtime.";
364
+ this.emitEvent({
365
+ type: "assistant_final",
366
+ text: output,
367
+ persisted: false,
368
+ ...this.eventBase(eventContext),
369
+ });
370
+ this.emitLifecycleEndEvent("error", elapsed_ms, eventContext, false);
371
+ return {
372
+ success: false,
373
+ output,
374
+ elapsed_ms,
375
+ };
376
+ }
377
+ if (this.deps.chatAgentLoopRunner) {
378
+ try {
379
+ const resumeState = resumeOnly ? await this.loadResumableAgentLoopState() : null;
380
+ if (resumeOnly && !resumeState) {
381
+ const elapsed_ms = Date.now() - start;
382
+ const output = "No resumable native agentloop state found.";
383
+ this.emitEvent({
384
+ type: "assistant_final",
385
+ text: output,
386
+ persisted: false,
387
+ ...this.eventBase(eventContext),
388
+ });
389
+ this.emitLifecycleEndEvent("error", elapsed_ms, eventContext, false);
390
+ return {
391
+ success: false,
392
+ output,
393
+ elapsed_ms,
394
+ };
395
+ }
396
+ this.emitActivity("lifecycle", "Calling model...", eventContext, "lifecycle:model");
397
+ const result = await this.deps.chatAgentLoopRunner.execute({
398
+ message: basePrompt,
399
+ cwd,
400
+ goalId: this.deps.goalId,
401
+ history: priorTurns.map((m) => ({
402
+ role: m.role === "assistant" ? "assistant" : "user",
403
+ content: m.content,
404
+ })),
405
+ eventSink: this.createAgentLoopEventSink(eventContext),
406
+ approvalFn: async (request) => {
407
+ if (this.deps.approvalFn) {
408
+ return this.deps.approvalFn(request.reason);
409
+ }
410
+ return false;
411
+ },
412
+ ...(this.nativeAgentLoopStatePath ? { resumeStatePath: this.nativeAgentLoopStatePath } : {}),
413
+ ...(resumeState ? { resumeState } : {}),
414
+ ...(resumeOnly ? { resumeOnly: true } : {}),
415
+ ...(systemPrompt ? { systemPrompt } : {}),
416
+ });
417
+ const elapsed_ms = Date.now() - start;
418
+ if (result.output) {
419
+ this.pushAssistantDelta(result.output, assistantBuffer, eventContext);
420
+ }
421
+ if (result.success) {
422
+ await history.appendAssistantMessage(result.output);
423
+ this.emitActivity("lifecycle", "Finalizing response...", eventContext, "lifecycle:finalizing");
424
+ this.emitEvent({
425
+ type: "assistant_final",
426
+ text: result.output,
427
+ persisted: true,
428
+ ...this.eventBase(eventContext),
429
+ });
430
+ this.emitLifecycleEndEvent("completed", elapsed_ms, eventContext, true);
431
+ }
432
+ else {
433
+ this.emitLifecycleErrorEvent(result.output || result.error || "Unknown error", assistantBuffer.text, eventContext);
434
+ this.emitLifecycleEndEvent("error", elapsed_ms, eventContext, false);
435
+ }
436
+ return {
437
+ success: result.success,
438
+ output: result.output,
439
+ elapsed_ms,
440
+ };
441
+ }
442
+ catch (err) {
443
+ const message = err instanceof Error ? err.message : String(err);
444
+ this.emitLifecycleErrorEvent(message, assistantBuffer.text, eventContext);
445
+ this.emitLifecycleEndEvent("error", Date.now() - start, eventContext, false);
446
+ return {
447
+ success: false,
448
+ output: assistantBuffer.text
449
+ ? `${assistantBuffer.text}\n\n[interrupted: ${message}]`
450
+ : `Error: ${message}`,
451
+ elapsed_ms: Date.now() - start,
452
+ };
453
+ }
454
+ }
324
455
  // Use llmClient with self-knowledge tools when available (function calling path)
325
456
  // Skip executeWithTools for clients that don't support tool calling (e.g. CodexLLMClient)
326
457
  if (this.deps.llmClient && this.deps.llmClient.supportsToolCalling?.() !== false) {
@@ -328,6 +459,7 @@ export class ChatRunner {
328
459
  const toolResult = await this.executeWithTools(prompt, eventContext, assistantBuffer, systemPrompt || undefined);
329
460
  const elapsed_ms = Date.now() - start;
330
461
  await history.appendAssistantMessage(toolResult);
462
+ this.emitActivity("lifecycle", "Finalizing response...", eventContext, "lifecycle:finalizing");
331
463
  this.emitEvent({
332
464
  type: "assistant_final",
333
465
  text: toolResult,
@@ -358,6 +490,7 @@ export class ChatRunner {
358
490
  ...(systemPrompt ? { system_prompt: systemPrompt } : {}),
359
491
  };
360
492
  const resolvedTimeoutMs = task.timeout_ms ?? DEFAULT_TIMEOUT_MS;
493
+ this.emitActivity("lifecycle", "Calling adapter...", eventContext, "lifecycle:adapter");
361
494
  const adapterPromise = this.deps.adapter.execute(task);
362
495
  const timeoutPromise = new Promise((_, reject) => setTimeout(() => reject(new Error(`Chat adapter timed out after ${resolvedTimeoutMs}ms`)), resolvedTimeoutMs));
363
496
  let result = await Promise.race([adapterPromise, timeoutPromise]);
@@ -374,6 +507,7 @@ export class ChatRunner {
374
507
  if (gitChanges !== null && gitChanges !== "") {
375
508
  let retries = 0;
376
509
  const VERIFY_TIMEOUT_MS = 30_000;
510
+ this.emitActivity("lifecycle", "Checking result...", eventContext, "lifecycle:checking");
377
511
  let verification = await Promise.race([
378
512
  verifyChatAction(gitRoot, this.deps.toolExecutor),
379
513
  new Promise((resolve) => setTimeout(() => resolve({ passed: true }), VERIFY_TIMEOUT_MS)),
@@ -397,6 +531,7 @@ export class ChatRunner {
397
531
  }
398
532
  if (result.success) {
399
533
  await history.appendAssistantMessage(result.output);
534
+ this.emitActivity("lifecycle", "Finalizing response...", eventContext, "lifecycle:finalizing");
400
535
  this.emitEvent({
401
536
  type: "assistant_final",
402
537
  text: result.output,
@@ -416,6 +551,40 @@ export class ChatRunner {
416
551
  elapsed_ms,
417
552
  };
418
553
  }
554
+ async handleRuntimeControlIntent(input, cwd, start) {
555
+ const intent = recognizeRuntimeControlIntent(input);
556
+ if (intent === null)
557
+ return null;
558
+ if (!this.deps.runtimeControlService) {
559
+ return {
560
+ success: false,
561
+ output: "Runtime control is not available in this chat surface yet.",
562
+ elapsed_ms: Date.now() - start,
563
+ };
564
+ }
565
+ const replyTarget = this.runtimeControlContext?.replyTarget ?? this.deps.runtimeReplyTarget;
566
+ const actor = this.runtimeControlContext?.actor ?? this.deps.runtimeControlActor;
567
+ const result = await this.deps.runtimeControlService.request({
568
+ intent,
569
+ cwd,
570
+ requestedBy: actor ?? {
571
+ surface: replyTarget?.surface ?? "chat",
572
+ platform: replyTarget?.platform,
573
+ conversation_id: replyTarget?.conversation_id,
574
+ identity_key: replyTarget?.identity_key,
575
+ user_id: replyTarget?.user_id,
576
+ },
577
+ replyTarget: replyTarget ?? { surface: "chat" },
578
+ approvalFn: this.runtimeControlContext?.approvalFn
579
+ ?? this.deps.runtimeControlApprovalFn
580
+ ?? this.deps.approvalFn,
581
+ });
582
+ return {
583
+ success: result.success,
584
+ output: result.message,
585
+ elapsed_ms: Date.now() - start,
586
+ };
587
+ }
419
588
  /**
420
589
  * Execute a chat turn using llmClient with self-knowledge tools (function calling).
421
590
  * Loops up to MAX_TOOL_LOOPS times to resolve tool calls, then returns final text.
@@ -431,6 +600,7 @@ export class ChatRunner {
431
600
  : [];
432
601
  let response;
433
602
  try {
603
+ this.emitActivity("lifecycle", "Calling model...", eventContext, "lifecycle:model");
434
604
  response = await this.sendLLMMessage(llmClient, messages, {
435
605
  tools,
436
606
  ...(systemPrompt ? { system: systemPrompt } : {}),
@@ -487,19 +657,165 @@ export class ChatRunner {
487
657
  // Non-JSON result or unexpected shape — ignore
488
658
  }
489
659
  }
660
+ createAgentLoopEventSink(eventContext) {
661
+ return {
662
+ emit: async (event) => {
663
+ if (event.type === "tool_call_started") {
664
+ const detail = event.inputPreview ? previewActivityText(event.inputPreview) : undefined;
665
+ this.emitActivity("tool", formatToolActivity("Running", event.toolName, detail), eventContext, event.callId);
666
+ this.emitEvent({
667
+ type: "tool_start",
668
+ toolCallId: event.callId,
669
+ toolName: event.toolName,
670
+ args: this.parseAgentLoopPreview(event.inputPreview),
671
+ ...this.eventBase(eventContext),
672
+ });
673
+ this.emitEvent({
674
+ type: "tool_update",
675
+ toolCallId: event.callId,
676
+ toolName: event.toolName,
677
+ status: "running",
678
+ message: "started",
679
+ ...this.eventBase(eventContext),
680
+ });
681
+ return;
682
+ }
683
+ if (event.type === "tool_call_finished") {
684
+ this.emitActivity("tool", formatToolActivity(event.success ? "Finished" : "Failed", event.toolName, event.outputPreview), eventContext, event.callId);
685
+ this.emitEvent({
686
+ type: "tool_end",
687
+ toolCallId: event.callId,
688
+ toolName: event.toolName,
689
+ success: event.success,
690
+ summary: event.outputPreview,
691
+ durationMs: event.durationMs,
692
+ ...this.eventBase(eventContext),
693
+ });
694
+ return;
695
+ }
696
+ if (event.type === "assistant_message" && event.phase === "commentary" && event.contentPreview) {
697
+ this.emitActivity("commentary", previewActivityText(event.contentPreview, 120), eventContext, `commentary:${event.eventId}`);
698
+ return;
699
+ }
700
+ if (event.type === "plan_update") {
701
+ this.emitActivity("tool", `Updated plan: ${previewActivityText(event.summary)}`, eventContext, `plan:${event.turnId}`);
702
+ this.emitEvent({
703
+ type: "tool_update",
704
+ toolCallId: `plan:${event.turnId}:${event.createdAt}`,
705
+ toolName: "update_plan",
706
+ status: "result",
707
+ message: event.summary,
708
+ ...this.eventBase(eventContext),
709
+ });
710
+ return;
711
+ }
712
+ if (event.type === "approval_request") {
713
+ this.emitActivity("tool", formatToolActivity("Running", event.toolName, `awaiting approval: ${event.reason}`), eventContext, event.callId);
714
+ this.emitEvent({
715
+ type: "tool_update",
716
+ toolCallId: event.callId,
717
+ toolName: event.toolName,
718
+ status: "awaiting_approval",
719
+ message: event.reason,
720
+ ...this.eventBase(eventContext),
721
+ });
722
+ return;
723
+ }
724
+ if (event.type === "approval") {
725
+ this.emitActivity("tool", formatToolActivity("Finished", event.toolName, `approval ${event.status}: ${event.reason}`), eventContext);
726
+ this.emitEvent({
727
+ type: "tool_update",
728
+ toolCallId: `approval:${event.turnId}:${event.createdAt}`,
729
+ toolName: event.toolName,
730
+ status: "result",
731
+ message: `approval ${event.status}: ${event.reason}`,
732
+ ...this.eventBase(eventContext),
733
+ });
734
+ return;
735
+ }
736
+ if (event.type === "resumed") {
737
+ this.emitEvent({
738
+ type: "tool_update",
739
+ toolCallId: `resume:${event.turnId}:${event.createdAt}`,
740
+ toolName: "agentloop_resume",
741
+ status: "result",
742
+ message: `resumed ${event.restoredMessages} message(s) from ${event.fromUpdatedAt}`,
743
+ ...this.eventBase(eventContext),
744
+ });
745
+ return;
746
+ }
747
+ if (event.type === "context_compaction") {
748
+ this.emitEvent({
749
+ type: "tool_update",
750
+ toolCallId: `compaction:${event.turnId}:${event.createdAt}`,
751
+ toolName: "context_compaction",
752
+ status: "result",
753
+ message: `${event.phase} ${event.reason}: ${event.inputMessages} -> ${event.outputMessages}`,
754
+ ...this.eventBase(eventContext),
755
+ });
756
+ }
757
+ },
758
+ };
759
+ }
760
+ parseAgentLoopPreview(preview) {
761
+ try {
762
+ const parsed = JSON.parse(preview);
763
+ if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
764
+ return parsed;
765
+ }
766
+ }
767
+ catch {
768
+ // fall through
769
+ }
770
+ return preview ? { preview } : {};
771
+ }
772
+ isResumeCommand(input) {
773
+ return input.trim().toLowerCase() === "/resume";
774
+ }
775
+ async loadResumableAgentLoopState() {
776
+ if (!this.nativeAgentLoopStatePath)
777
+ return null;
778
+ const raw = await this.deps.stateManager.readRaw(this.nativeAgentLoopStatePath);
779
+ if (!this.isAgentLoopSessionState(raw))
780
+ return null;
781
+ if (raw.status === "completed")
782
+ return null;
783
+ return {
784
+ ...raw,
785
+ messages: [...raw.messages],
786
+ calledTools: [...raw.calledTools],
787
+ };
788
+ }
789
+ isAgentLoopSessionState(value) {
790
+ if (!value || typeof value !== "object")
791
+ return false;
792
+ const candidate = value;
793
+ return typeof candidate["sessionId"] === "string"
794
+ && typeof candidate["traceId"] === "string"
795
+ && typeof candidate["turnId"] === "string"
796
+ && typeof candidate["goalId"] === "string"
797
+ && typeof candidate["cwd"] === "string"
798
+ && typeof candidate["modelRef"] === "string"
799
+ && Array.isArray(candidate["messages"])
800
+ && Array.isArray(candidate["calledTools"])
801
+ && typeof candidate["status"] === "string";
802
+ }
490
803
  /** Dispatch a tool call through the registry. */
491
804
  async dispatchToolCall(toolCallId, name, args, context, eventContext) {
492
805
  if (!this.deps.registry) {
806
+ this.emitActivity("tool", formatToolActivity("Failed", name, "No tool registry configured"), eventContext, toolCallId);
493
807
  return JSON.stringify({ error: `No tool registry configured` });
494
808
  }
495
809
  const tool = this.deps.registry.get(name);
496
810
  if (!tool) {
811
+ this.emitActivity("tool", formatToolActivity("Failed", name, `Unknown tool: ${name}`), eventContext, toolCallId);
497
812
  return JSON.stringify({ error: `Unknown tool: ${name}` });
498
813
  }
499
814
  const startTime = Date.now();
500
815
  try {
501
816
  const parsed = tool.inputSchema.safeParse(args);
502
817
  if (!parsed.success) {
818
+ this.emitActivity("tool", formatToolActivity("Failed", name, `Invalid input: ${parsed.error.message}`), eventContext, toolCallId);
503
819
  this.emitEvent({
504
820
  type: "tool_end",
505
821
  toolCallId,
@@ -518,62 +834,80 @@ export class ChatRunner {
518
834
  args,
519
835
  ...this.eventBase(eventContext),
520
836
  });
521
- // Gate: check permissions before execution
522
- const permResult = await tool.checkPermissions(parsed.data, context);
523
- if (permResult.status === "denied") {
524
- this.emitEvent({
525
- type: "tool_end",
526
- toolCallId,
527
- toolName: name,
528
- success: false,
529
- summary: permResult.reason,
530
- durationMs: Date.now() - startTime,
531
- ...this.eventBase(eventContext),
532
- });
533
- return `Tool ${name} denied: ${permResult.reason}`;
534
- }
535
- if (permResult.status === "needs_approval") {
837
+ this.emitActivity("tool", formatToolActivity("Running", name, JSON.stringify(args)), eventContext, toolCallId);
838
+ let result;
839
+ if (this.deps.toolExecutor) {
536
840
  this.emitEvent({
537
841
  type: "tool_update",
538
842
  toolCallId,
539
843
  toolName: name,
540
- status: "awaiting_approval",
541
- message: permResult.reason,
844
+ status: "running",
845
+ message: "running",
542
846
  ...this.eventBase(eventContext),
543
847
  });
544
- const approved = await context.approvalFn({
545
- toolName: name,
546
- input: parsed.data,
547
- reason: permResult.reason,
548
- permissionLevel: tool.metadata.permissionLevel,
549
- isDestructive: tool.metadata.isDestructive,
550
- reversibility: "unknown",
551
- });
552
- if (!approved) {
848
+ this.deps.onToolStart?.(name, args);
849
+ result = await this.deps.toolExecutor.execute(name, parsed.data, context);
850
+ }
851
+ else {
852
+ // Gate: check permissions before execution
853
+ const permResult = await tool.checkPermissions(parsed.data, context);
854
+ if (permResult.status === "denied") {
553
855
  this.emitEvent({
554
856
  type: "tool_end",
555
857
  toolCallId,
556
858
  toolName: name,
557
859
  success: false,
558
- summary: `Not approved: ${permResult.reason}`,
860
+ summary: permResult.reason,
559
861
  durationMs: Date.now() - startTime,
560
862
  ...this.eventBase(eventContext),
561
863
  });
562
- return `Tool ${name} not approved: ${permResult.reason}`;
864
+ return `Tool ${name} denied: ${permResult.reason}`;
865
+ }
866
+ if (permResult.status === "needs_approval") {
867
+ this.emitActivity("tool", formatToolActivity("Running", name, `awaiting approval: ${permResult.reason}`), eventContext, toolCallId);
868
+ this.emitEvent({
869
+ type: "tool_update",
870
+ toolCallId,
871
+ toolName: name,
872
+ status: "awaiting_approval",
873
+ message: permResult.reason,
874
+ ...this.eventBase(eventContext),
875
+ });
876
+ const approved = await context.approvalFn({
877
+ toolName: name,
878
+ input: parsed.data,
879
+ reason: permResult.reason,
880
+ permissionLevel: tool.metadata.permissionLevel,
881
+ isDestructive: tool.metadata.isDestructive,
882
+ reversibility: "unknown",
883
+ });
884
+ if (!approved) {
885
+ this.emitEvent({
886
+ type: "tool_end",
887
+ toolCallId,
888
+ toolName: name,
889
+ success: false,
890
+ summary: `Not approved: ${permResult.reason}`,
891
+ durationMs: Date.now() - startTime,
892
+ ...this.eventBase(eventContext),
893
+ });
894
+ return `Tool ${name} not approved: ${permResult.reason}`;
895
+ }
563
896
  }
897
+ this.emitEvent({
898
+ type: "tool_update",
899
+ toolCallId,
900
+ toolName: name,
901
+ status: "running",
902
+ message: "running",
903
+ ...this.eventBase(eventContext),
904
+ });
905
+ this.deps.onToolStart?.(name, args);
906
+ result = await tool.call(parsed.data, context);
564
907
  }
565
- this.emitEvent({
566
- type: "tool_update",
567
- toolCallId,
568
- toolName: name,
569
- status: "running",
570
- message: "running",
571
- ...this.eventBase(eventContext),
572
- });
573
- this.deps.onToolStart?.(name, args);
574
- const result = await tool.call(parsed.data, context);
575
908
  const durationMs = Date.now() - startTime;
576
909
  this.deps.onToolEnd?.(name, { success: result.success, summary: result.summary || '...', durationMs });
910
+ this.emitActivity("tool", formatToolActivity(result.success ? "Finished" : "Failed", name, result.summary || "..."), eventContext, toolCallId);
577
911
  this.emitEvent({
578
912
  type: "tool_update",
579
913
  toolCallId,
@@ -598,6 +932,7 @@ export class ChatRunner {
598
932
  const message = err instanceof Error ? err.message : String(err);
599
933
  const durationMs = Date.now() - startTime;
600
934
  this.deps.onToolEnd?.(name, { success: false, summary: message, durationMs });
935
+ this.emitActivity("tool", formatToolActivity("Failed", name, message), eventContext, toolCallId);
601
936
  this.emitEvent({
602
937
  type: "tool_end",
603
938
  toolCallId,
@@ -643,6 +978,18 @@ export class ChatRunner {
643
978
  const handler = this.onEvent ?? this.deps.onEvent;
644
979
  handler?.(event);
645
980
  }
981
+ emitActivity(kind, message, eventContext, sourceId) {
982
+ if (!message.trim())
983
+ return;
984
+ this.emitEvent({
985
+ type: "activity",
986
+ kind,
987
+ message,
988
+ ...(sourceId ? { sourceId } : {}),
989
+ transient: true,
990
+ ...this.eventBase(eventContext),
991
+ });
992
+ }
646
993
  pushAssistantDelta(delta, assistantBuffer, eventContext) {
647
994
  if (!delta)
648
995
  return;