pulseed 0.4.0 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (335) hide show
  1. package/dist/base/state/state-manager-goal-write.d.ts +22 -0
  2. package/dist/base/state/state-manager-goal-write.d.ts.map +1 -0
  3. package/dist/base/state/state-manager-goal-write.js +74 -0
  4. package/dist/base/state/state-manager-goal-write.js.map +1 -0
  5. package/dist/base/state/state-manager-wal.d.ts +11 -0
  6. package/dist/base/state/state-manager-wal.d.ts.map +1 -0
  7. package/dist/base/state/state-manager-wal.js +89 -0
  8. package/dist/base/state/state-manager-wal.js.map +1 -0
  9. package/dist/base/state/state-manager.d.ts +1 -4
  10. package/dist/base/state/state-manager.d.ts.map +1 -1
  11. package/dist/base/state/state-manager.js +18 -127
  12. package/dist/base/state/state-manager.js.map +1 -1
  13. package/dist/interface/chat/chat-runner.d.ts +1 -1
  14. package/dist/interface/chat/event-subscriber.d.ts +4 -0
  15. package/dist/interface/chat/event-subscriber.d.ts.map +1 -1
  16. package/dist/interface/chat/event-subscriber.js +49 -2
  17. package/dist/interface/chat/event-subscriber.js.map +1 -1
  18. package/dist/interface/chat/tend-command.d.ts +1 -1
  19. package/dist/interface/cli/cli-command-registry.js +1 -1
  20. package/dist/interface/cli/cli-command-registry.js.map +1 -1
  21. package/dist/interface/cli/commands/chat.js +2 -2
  22. package/dist/interface/cli/commands/daemon.d.ts.map +1 -1
  23. package/dist/interface/cli/commands/daemon.js +87 -44
  24. package/dist/interface/cli/commands/daemon.js.map +1 -1
  25. package/dist/interface/cli/commands/schedule.js +2 -2
  26. package/dist/interface/cli/commands/setup/steps-runtime.js +1 -1
  27. package/dist/interface/cli/ensure-api-key.d.ts +4 -1
  28. package/dist/interface/cli/ensure-api-key.d.ts.map +1 -1
  29. package/dist/interface/cli/ensure-api-key.js +52 -15
  30. package/dist/interface/cli/ensure-api-key.js.map +1 -1
  31. package/dist/interface/tui/app.d.ts +1 -1
  32. package/dist/interface/tui/chat/scroll.d.ts +14 -0
  33. package/dist/interface/tui/chat/scroll.d.ts.map +1 -0
  34. package/dist/interface/tui/chat/scroll.js +46 -0
  35. package/dist/interface/tui/chat/scroll.js.map +1 -0
  36. package/dist/interface/tui/chat/suggestions.d.ts +8 -0
  37. package/dist/interface/tui/chat/suggestions.d.ts.map +1 -0
  38. package/dist/interface/tui/chat/suggestions.js +112 -0
  39. package/dist/interface/tui/chat/suggestions.js.map +1 -0
  40. package/dist/interface/tui/chat/types.d.ts +31 -0
  41. package/dist/interface/tui/chat/types.d.ts.map +1 -0
  42. package/dist/interface/tui/chat/types.js +2 -0
  43. package/dist/interface/tui/chat/types.js.map +1 -0
  44. package/dist/interface/tui/chat/viewport.d.ts +3 -0
  45. package/dist/interface/tui/chat/viewport.d.ts.map +1 -0
  46. package/dist/interface/tui/chat/viewport.js +78 -0
  47. package/dist/interface/tui/chat/viewport.js.map +1 -0
  48. package/dist/interface/tui/chat.d.ts +5 -49
  49. package/dist/interface/tui/chat.d.ts.map +1 -1
  50. package/dist/interface/tui/chat.js +7 -236
  51. package/dist/interface/tui/chat.js.map +1 -1
  52. package/dist/interface/tui/entry.js +3 -3
  53. package/dist/interface/tui/use-loop.d.ts +1 -1
  54. package/dist/orchestrator/execution/task/task-lifecycle.d.ts +3 -0
  55. package/dist/orchestrator/execution/task/task-lifecycle.d.ts.map +1 -1
  56. package/dist/orchestrator/execution/task/task-lifecycle.js +3 -0
  57. package/dist/orchestrator/execution/task/task-lifecycle.js.map +1 -1
  58. package/dist/orchestrator/execution/task/task-verifier-rules.d.ts.map +1 -1
  59. package/dist/orchestrator/execution/task/task-verifier-rules.js +34 -2
  60. package/dist/orchestrator/execution/task/task-verifier-rules.js.map +1 -1
  61. package/dist/orchestrator/execution/task/task-verifier-types.d.ts +2 -0
  62. package/dist/orchestrator/execution/task/task-verifier-types.d.ts.map +1 -1
  63. package/dist/orchestrator/loop/checkpoint-manager-loop.d.ts +1 -1
  64. package/dist/orchestrator/loop/checkpoint-manager-loop.d.ts.map +1 -1
  65. package/dist/orchestrator/loop/core-loop/capability.d.ts +22 -0
  66. package/dist/orchestrator/loop/core-loop/capability.d.ts.map +1 -0
  67. package/dist/orchestrator/loop/core-loop/capability.js +151 -0
  68. package/dist/orchestrator/loop/core-loop/capability.js.map +1 -0
  69. package/dist/orchestrator/loop/core-loop/contracts.d.ts +245 -0
  70. package/dist/orchestrator/loop/core-loop/contracts.d.ts.map +1 -0
  71. package/dist/orchestrator/loop/core-loop/contracts.js +40 -0
  72. package/dist/orchestrator/loop/core-loop/contracts.js.map +1 -0
  73. package/dist/orchestrator/loop/core-loop/control.d.ts +27 -0
  74. package/dist/orchestrator/loop/core-loop/control.d.ts.map +1 -0
  75. package/dist/orchestrator/loop/core-loop/control.js +72 -0
  76. package/dist/orchestrator/loop/core-loop/control.js.map +1 -0
  77. package/dist/orchestrator/loop/core-loop/learning.d.ts +31 -0
  78. package/dist/orchestrator/loop/core-loop/learning.d.ts.map +1 -0
  79. package/dist/orchestrator/loop/core-loop/learning.js +92 -0
  80. package/dist/orchestrator/loop/core-loop/learning.js.map +1 -0
  81. package/dist/orchestrator/loop/core-loop/preparation.d.ts +63 -0
  82. package/dist/orchestrator/loop/core-loop/preparation.d.ts.map +1 -0
  83. package/dist/orchestrator/loop/core-loop/preparation.js +362 -0
  84. package/dist/orchestrator/loop/core-loop/preparation.js.map +1 -0
  85. package/dist/orchestrator/loop/core-loop/task-cycle.d.ts +29 -0
  86. package/dist/orchestrator/loop/core-loop/task-cycle.d.ts.map +1 -0
  87. package/dist/orchestrator/loop/core-loop/task-cycle.js +674 -0
  88. package/dist/orchestrator/loop/core-loop/task-cycle.js.map +1 -0
  89. package/dist/orchestrator/loop/core-loop-capability.d.ts +1 -24
  90. package/dist/orchestrator/loop/core-loop-capability.d.ts.map +1 -1
  91. package/dist/orchestrator/loop/core-loop-capability.js +1 -153
  92. package/dist/orchestrator/loop/core-loop-capability.js.map +1 -1
  93. package/dist/orchestrator/loop/core-loop-learning.d.ts +1 -34
  94. package/dist/orchestrator/loop/core-loop-learning.d.ts.map +1 -1
  95. package/dist/orchestrator/loop/core-loop-learning.js +1 -95
  96. package/dist/orchestrator/loop/core-loop-learning.js.map +1 -1
  97. package/dist/orchestrator/loop/core-loop-phases-b.d.ts +1 -31
  98. package/dist/orchestrator/loop/core-loop-phases-b.d.ts.map +1 -1
  99. package/dist/orchestrator/loop/core-loop-phases-b.js +1 -669
  100. package/dist/orchestrator/loop/core-loop-phases-b.js.map +1 -1
  101. package/dist/orchestrator/loop/core-loop-phases-c.d.ts +1 -26
  102. package/dist/orchestrator/loop/core-loop-phases-c.d.ts.map +1 -1
  103. package/dist/orchestrator/loop/core-loop-phases-c.js +1 -71
  104. package/dist/orchestrator/loop/core-loop-phases-c.js.map +1 -1
  105. package/dist/orchestrator/loop/core-loop-phases.d.ts +1 -68
  106. package/dist/orchestrator/loop/core-loop-phases.d.ts.map +1 -1
  107. package/dist/orchestrator/loop/core-loop-phases.js +1 -367
  108. package/dist/orchestrator/loop/core-loop-phases.js.map +1 -1
  109. package/dist/orchestrator/loop/core-loop-types.d.ts +1 -244
  110. package/dist/orchestrator/loop/core-loop-types.d.ts.map +1 -1
  111. package/dist/orchestrator/loop/core-loop-types.js +1 -39
  112. package/dist/orchestrator/loop/core-loop-types.js.map +1 -1
  113. package/dist/orchestrator/loop/core-loop.d.ts +3 -3
  114. package/dist/orchestrator/loop/core-loop.d.ts.map +1 -1
  115. package/dist/orchestrator/loop/core-loop.js +6 -6
  116. package/dist/orchestrator/loop/core-loop.js.map +1 -1
  117. package/dist/orchestrator/loop/loop-report-helper.d.ts +1 -1
  118. package/dist/orchestrator/loop/loop-report-helper.d.ts.map +1 -1
  119. package/dist/orchestrator/loop/parallel-dispatch.d.ts +2 -2
  120. package/dist/orchestrator/loop/parallel-dispatch.d.ts.map +1 -1
  121. package/dist/orchestrator/loop/post-loop-hooks.d.ts +1 -1
  122. package/dist/orchestrator/loop/post-loop-hooks.d.ts.map +1 -1
  123. package/dist/orchestrator/loop/tree-loop-runner.d.ts +1 -1
  124. package/dist/orchestrator/loop/tree-loop-runner.d.ts.map +1 -1
  125. package/dist/orchestrator/loop/tree-loop-runner.js +1 -1
  126. package/dist/orchestrator/loop/tree-loop-runner.js.map +1 -1
  127. package/dist/platform/dream/dream-schedule-suggestions.d.ts +1 -1
  128. package/dist/platform/drive/drive-system.d.ts +8 -0
  129. package/dist/platform/drive/drive-system.d.ts.map +1 -1
  130. package/dist/platform/drive/drive-system.js +39 -22
  131. package/dist/platform/drive/drive-system.js.map +1 -1
  132. package/dist/platform/observation/engine/observe-context.d.ts +4 -0
  133. package/dist/platform/observation/engine/observe-context.d.ts.map +1 -0
  134. package/dist/platform/observation/engine/observe-context.js +26 -0
  135. package/dist/platform/observation/engine/observe-context.js.map +1 -0
  136. package/dist/platform/observation/engine/observe-datasource-stage.d.ts +33 -0
  137. package/dist/platform/observation/engine/observe-datasource-stage.d.ts.map +1 -0
  138. package/dist/platform/observation/engine/observe-datasource-stage.js +66 -0
  139. package/dist/platform/observation/engine/observe-datasource-stage.js.map +1 -0
  140. package/dist/platform/observation/engine/observe-llm-stage.d.ts +25 -0
  141. package/dist/platform/observation/engine/observe-llm-stage.d.ts.map +1 -0
  142. package/dist/platform/observation/engine/observe-llm-stage.js +79 -0
  143. package/dist/platform/observation/engine/observe-llm-stage.js.map +1 -0
  144. package/dist/platform/observation/engine/observe-precheck.d.ts +21 -0
  145. package/dist/platform/observation/engine/observe-precheck.d.ts.map +1 -0
  146. package/dist/platform/observation/engine/observe-precheck.js +51 -0
  147. package/dist/platform/observation/engine/observe-precheck.js.map +1 -0
  148. package/dist/platform/observation/engine/observe-self-report.d.ts +18 -0
  149. package/dist/platform/observation/engine/observe-self-report.d.ts.map +1 -0
  150. package/dist/platform/observation/engine/observe-self-report.js +26 -0
  151. package/dist/platform/observation/engine/observe-self-report.js.map +1 -0
  152. package/dist/platform/observation/engine/observe-tool-stage.d.ts +21 -0
  153. package/dist/platform/observation/engine/observe-tool-stage.d.ts.map +1 -0
  154. package/dist/platform/observation/engine/observe-tool-stage.js +49 -0
  155. package/dist/platform/observation/engine/observe-tool-stage.js.map +1 -0
  156. package/dist/platform/observation/observation-engine.d.ts.map +1 -1
  157. package/dist/platform/observation/observation-engine.js +67 -246
  158. package/dist/platform/observation/observation-engine.js.map +1 -1
  159. package/dist/prompt/context-assembler.d.ts +61 -13
  160. package/dist/prompt/context-assembler.d.ts.map +1 -1
  161. package/dist/prompt/context-assembler.js +18 -3
  162. package/dist/prompt/context-assembler.js.map +1 -1
  163. package/dist/runtime/approval-broker.d.ts.map +1 -1
  164. package/dist/runtime/approval-broker.js +1 -0
  165. package/dist/runtime/approval-broker.js.map +1 -1
  166. package/dist/runtime/command-dispatcher.d.ts +35 -0
  167. package/dist/runtime/command-dispatcher.d.ts.map +1 -0
  168. package/dist/runtime/command-dispatcher.js +145 -0
  169. package/dist/runtime/command-dispatcher.js.map +1 -0
  170. package/dist/runtime/daemon/client.d.ts +67 -0
  171. package/dist/runtime/daemon/client.d.ts.map +1 -0
  172. package/dist/runtime/daemon/client.js +330 -0
  173. package/dist/runtime/daemon/client.js.map +1 -0
  174. package/dist/runtime/daemon/health.d.ts +31 -0
  175. package/dist/runtime/daemon/health.d.ts.map +1 -0
  176. package/dist/runtime/daemon/health.js +113 -0
  177. package/dist/runtime/daemon/health.js.map +1 -0
  178. package/dist/runtime/daemon/index.d.ts +9 -0
  179. package/dist/runtime/daemon/index.d.ts.map +1 -0
  180. package/dist/runtime/daemon/index.js +8 -0
  181. package/dist/runtime/daemon/index.js.map +1 -0
  182. package/dist/runtime/daemon/maintenance.d.ts +47 -0
  183. package/dist/runtime/daemon/maintenance.d.ts.map +1 -0
  184. package/dist/runtime/daemon/maintenance.js +230 -0
  185. package/dist/runtime/daemon/maintenance.js.map +1 -0
  186. package/dist/runtime/daemon/persistence.d.ts +20 -0
  187. package/dist/runtime/daemon/persistence.d.ts.map +1 -0
  188. package/dist/runtime/daemon/persistence.js +112 -0
  189. package/dist/runtime/daemon/persistence.js.map +1 -0
  190. package/dist/runtime/daemon/runner-lifecycle.d.ts +29 -0
  191. package/dist/runtime/daemon/runner-lifecycle.d.ts.map +1 -0
  192. package/dist/runtime/daemon/runner-lifecycle.js +56 -0
  193. package/dist/runtime/daemon/runner-lifecycle.js.map +1 -0
  194. package/dist/runtime/daemon/runner.d.ts +229 -0
  195. package/dist/runtime/daemon/runner.d.ts.map +1 -0
  196. package/dist/runtime/daemon/runner.js +875 -0
  197. package/dist/runtime/daemon/runner.js.map +1 -0
  198. package/dist/runtime/daemon/runtime-ownership.d.ts +30 -0
  199. package/dist/runtime/daemon/runtime-ownership.d.ts.map +1 -0
  200. package/dist/runtime/daemon/runtime-ownership.js +132 -0
  201. package/dist/runtime/daemon/runtime-ownership.js.map +1 -0
  202. package/dist/runtime/daemon/signals.d.ts +17 -0
  203. package/dist/runtime/daemon/signals.d.ts.map +1 -0
  204. package/dist/runtime/daemon/signals.js +31 -0
  205. package/dist/runtime/daemon/signals.js.map +1 -0
  206. package/dist/runtime/daemon/types.d.ts +8 -0
  207. package/dist/runtime/daemon/types.d.ts.map +1 -0
  208. package/dist/runtime/daemon/types.js +2 -0
  209. package/dist/runtime/daemon/types.js.map +1 -0
  210. package/dist/runtime/daemon-client.d.ts +1 -55
  211. package/dist/runtime/daemon-client.d.ts.map +1 -1
  212. package/dist/runtime/daemon-client.js +1 -297
  213. package/dist/runtime/daemon-client.js.map +1 -1
  214. package/dist/runtime/daemon-health.d.ts +1 -30
  215. package/dist/runtime/daemon-health.d.ts.map +1 -1
  216. package/dist/runtime/daemon-health.js +1 -112
  217. package/dist/runtime/daemon-health.js.map +1 -1
  218. package/dist/runtime/daemon-runner-lifecycle.d.ts +2 -0
  219. package/dist/runtime/daemon-runner-lifecycle.d.ts.map +1 -0
  220. package/dist/runtime/daemon-runner-lifecycle.js +2 -0
  221. package/dist/runtime/daemon-runner-lifecycle.js.map +1 -0
  222. package/dist/runtime/daemon-runner.d.ts +1 -231
  223. package/dist/runtime/daemon-runner.d.ts.map +1 -1
  224. package/dist/runtime/daemon-runner.js +1 -1042
  225. package/dist/runtime/daemon-runner.js.map +1 -1
  226. package/dist/runtime/daemon-runtime-ownership.d.ts +2 -0
  227. package/dist/runtime/daemon-runtime-ownership.d.ts.map +1 -0
  228. package/dist/runtime/daemon-runtime-ownership.js +2 -0
  229. package/dist/runtime/daemon-runtime-ownership.js.map +1 -0
  230. package/dist/runtime/daemon-signals.d.ts +1 -16
  231. package/dist/runtime/daemon-signals.d.ts.map +1 -1
  232. package/dist/runtime/daemon-signals.js +1 -30
  233. package/dist/runtime/daemon-signals.js.map +1 -1
  234. package/dist/runtime/event/dispatcher.d.ts +34 -0
  235. package/dist/runtime/event/dispatcher.d.ts.map +1 -0
  236. package/dist/runtime/event/dispatcher.js +124 -0
  237. package/dist/runtime/event/dispatcher.js.map +1 -0
  238. package/dist/runtime/event/index.d.ts +5 -0
  239. package/dist/runtime/event/index.d.ts.map +1 -0
  240. package/dist/runtime/event/index.js +5 -0
  241. package/dist/runtime/event/index.js.map +1 -0
  242. package/dist/runtime/event/server-snapshot-reader.d.ts +31 -0
  243. package/dist/runtime/event/server-snapshot-reader.d.ts.map +1 -0
  244. package/dist/runtime/event/server-snapshot-reader.js +94 -0
  245. package/dist/runtime/event/server-snapshot-reader.js.map +1 -0
  246. package/dist/runtime/event/server-sse.d.ts +25 -0
  247. package/dist/runtime/event/server-sse.d.ts.map +1 -0
  248. package/dist/runtime/event/server-sse.js +149 -0
  249. package/dist/runtime/event/server-sse.js.map +1 -0
  250. package/dist/runtime/event/server.d.ts +114 -0
  251. package/dist/runtime/event/server.d.ts.map +1 -0
  252. package/dist/runtime/event/server.js +651 -0
  253. package/dist/runtime/event/server.js.map +1 -0
  254. package/dist/runtime/event-dispatcher.d.ts +2 -0
  255. package/dist/runtime/event-dispatcher.d.ts.map +1 -0
  256. package/dist/runtime/event-dispatcher.js +2 -0
  257. package/dist/runtime/event-dispatcher.js.map +1 -0
  258. package/dist/runtime/event-server-snapshot-reader.d.ts +2 -0
  259. package/dist/runtime/event-server-snapshot-reader.d.ts.map +1 -0
  260. package/dist/runtime/event-server-snapshot-reader.js +2 -0
  261. package/dist/runtime/event-server-snapshot-reader.js.map +1 -0
  262. package/dist/runtime/event-server-sse.d.ts +2 -0
  263. package/dist/runtime/event-server-sse.d.ts.map +1 -0
  264. package/dist/runtime/event-server-sse.js +2 -0
  265. package/dist/runtime/event-server-sse.js.map +1 -0
  266. package/dist/runtime/event-server.d.ts +1 -91
  267. package/dist/runtime/event-server.d.ts.map +1 -1
  268. package/dist/runtime/event-server.js +1 -698
  269. package/dist/runtime/event-server.js.map +1 -1
  270. package/dist/runtime/executor/loop-supervisor.d.ts +9 -5
  271. package/dist/runtime/executor/loop-supervisor.d.ts.map +1 -1
  272. package/dist/runtime/executor/loop-supervisor.js +59 -76
  273. package/dist/runtime/executor/loop-supervisor.js.map +1 -1
  274. package/dist/runtime/gateway/http-channel-adapter.d.ts +1 -1
  275. package/dist/runtime/plugin-loader.d.ts +1 -1
  276. package/dist/runtime/queue/index.d.ts +0 -4
  277. package/dist/runtime/queue/index.d.ts.map +1 -1
  278. package/dist/runtime/queue/index.js +0 -2
  279. package/dist/runtime/queue/index.js.map +1 -1
  280. package/dist/runtime/queue/journal-backed-queue.d.ts.map +1 -1
  281. package/dist/runtime/queue/journal-backed-queue.js +2 -0
  282. package/dist/runtime/queue/journal-backed-queue.js.map +1 -1
  283. package/dist/runtime/schedule/engine-layers.d.ts +44 -0
  284. package/dist/runtime/schedule/engine-layers.d.ts.map +1 -0
  285. package/dist/runtime/schedule/engine-layers.js +433 -0
  286. package/dist/runtime/schedule/engine-layers.js.map +1 -0
  287. package/dist/runtime/schedule/engine.d.ts +82 -0
  288. package/dist/runtime/schedule/engine.d.ts.map +1 -0
  289. package/dist/runtime/schedule/engine.js +480 -0
  290. package/dist/runtime/schedule/engine.js.map +1 -0
  291. package/dist/runtime/schedule/index.d.ts +5 -0
  292. package/dist/runtime/schedule/index.d.ts.map +1 -0
  293. package/dist/runtime/schedule/index.js +5 -0
  294. package/dist/runtime/schedule/index.js.map +1 -0
  295. package/dist/runtime/schedule/presets.d.ts +536 -0
  296. package/dist/runtime/schedule/presets.d.ts.map +1 -0
  297. package/dist/runtime/schedule/presets.js +166 -0
  298. package/dist/runtime/schedule/presets.js.map +1 -0
  299. package/dist/runtime/schedule/source.d.ts +65 -0
  300. package/dist/runtime/schedule/source.d.ts.map +1 -0
  301. package/dist/runtime/schedule/source.js +16 -0
  302. package/dist/runtime/schedule/source.js.map +1 -0
  303. package/dist/runtime/schedule-engine-layers.d.ts +1 -43
  304. package/dist/runtime/schedule-engine-layers.d.ts.map +1 -1
  305. package/dist/runtime/schedule-engine-layers.js +1 -432
  306. package/dist/runtime/schedule-engine-layers.js.map +1 -1
  307. package/dist/runtime/schedule-engine.d.ts +1 -81
  308. package/dist/runtime/schedule-engine.d.ts.map +1 -1
  309. package/dist/runtime/schedule-engine.js +1 -479
  310. package/dist/runtime/schedule-engine.js.map +1 -1
  311. package/dist/runtime/schedule-presets.d.ts +1 -535
  312. package/dist/runtime/schedule-presets.d.ts.map +1 -1
  313. package/dist/runtime/schedule-presets.js +1 -165
  314. package/dist/runtime/schedule-presets.js.map +1 -1
  315. package/dist/runtime/schedule-source.d.ts +1 -64
  316. package/dist/runtime/schedule-source.d.ts.map +1 -1
  317. package/dist/runtime/schedule-source.js +1 -15
  318. package/dist/runtime/schedule-source.js.map +1 -1
  319. package/dist/runtime/types/daemon.d.ts.map +1 -1
  320. package/dist/runtime/types/daemon.js +2 -1
  321. package/dist/runtime/types/daemon.js.map +1 -1
  322. package/dist/runtime/watchdog.d.ts +44 -0
  323. package/dist/runtime/watchdog.d.ts.map +1 -0
  324. package/dist/runtime/watchdog.js +185 -0
  325. package/dist/runtime/watchdog.js.map +1 -0
  326. package/dist/tools/builtin/index.d.ts +1 -1
  327. package/dist/tools/schedule/CreateScheduleTool/CreateScheduleTool.d.ts +1 -1
  328. package/dist/tools/schedule/CreateScheduleTool/CreateScheduleTool.js +1 -1
  329. package/dist/tools/schedule/GetScheduleTool/GetScheduleTool.d.ts +1 -1
  330. package/dist/tools/schedule/ListSchedulesTool/ListSchedulesTool.d.ts +1 -1
  331. package/dist/tools/schedule/PauseScheduleTool/PauseScheduleTool.d.ts +1 -1
  332. package/dist/tools/schedule/RemoveScheduleTool/RemoveScheduleTool.d.ts +1 -1
  333. package/dist/tools/schedule/ResumeScheduleTool/ResumeScheduleTool.d.ts +1 -1
  334. package/dist/tools/schedule/UpdateScheduleTool/UpdateScheduleTool.d.ts +1 -1
  335. package/package.json +1 -1
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Learning and transfer state that spans CoreLoop iterations.
3
+ */
4
+ import type { Logger } from "../../../runtime/logger.js";
5
+ import type { CoreLoopDeps } from "./contracts.js";
6
+ import type { ToolExecutor } from "../../../tools/executor.js";
7
+ export declare class CoreLoopLearning {
8
+ private lastLearningReviewAt;
9
+ private transferCheckCounter;
10
+ /** Tracks consecutive capability acquisition failures per capability name */
11
+ private capabilityAcquisitionFailures;
12
+ getCapabilityFailures(): Map<string, number>;
13
+ incrementTransferCounter(): number;
14
+ /**
15
+ * Returns the periodic learning review interval in milliseconds based on
16
+ * how much time remains until the goal's target_date.
17
+ */
18
+ getPeriodicReviewInterval(goalId: string, stateManager: CoreLoopDeps["stateManager"]): Promise<number>;
19
+ /**
20
+ * Checks whether it is time to run a periodic learning review and, if so,
21
+ * calls learningPipeline.onPeriodicReview(). Non-fatal — errors are logged
22
+ * but do not bubble up.
23
+ */
24
+ checkPeriodicReview(goalId: string, deps: CoreLoopDeps, logger: Logger | undefined, toolExecutor?: ToolExecutor): Promise<void>;
25
+ /**
26
+ * Called after the run loop completes with finalStatus === "completed".
27
+ * Triggers learningPipeline.onGoalCompleted(). Non-fatal.
28
+ */
29
+ onGoalCompleted(goalId: string, deps: CoreLoopDeps, logger: Logger | undefined, toolExecutor?: ToolExecutor): Promise<void>;
30
+ }
31
+ //# sourceMappingURL=learning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"learning.d.ts","sourceRoot":"","sources":["../../../../src/orchestrator/loop/core-loop/learning.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG/D,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,oBAAoB,CAAa;IACzC,6EAA6E;IAC7E,OAAO,CAAC,6BAA6B,CAAkC;IAEvE,qBAAqB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAI5C,wBAAwB,IAAI,MAAM;IAIlC;;;OAGG;IACG,yBAAyB,CAC7B,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,CAAC,cAAc,CAAC,GACzC,OAAO,CAAC,MAAM,CAAC;IAYlB;;;;OAIG;IACG,mBAAmB,CACvB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,IAAI,CAAC;IA2BhB;;;OAGG;IACG,eAAe,CACnB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,IAAI,CAAC;CAsBjB"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Learning and transfer state that spans CoreLoop iterations.
3
+ */
4
+ import { gatherLearningEvidence } from "../learning-evidence.js";
5
+ export class CoreLoopLearning {
6
+ lastLearningReviewAt = Date.now();
7
+ transferCheckCounter = 0;
8
+ /** Tracks consecutive capability acquisition failures per capability name */
9
+ capabilityAcquisitionFailures = new Map();
10
+ getCapabilityFailures() {
11
+ return this.capabilityAcquisitionFailures;
12
+ }
13
+ incrementTransferCounter() {
14
+ return ++this.transferCheckCounter;
15
+ }
16
+ /**
17
+ * Returns the periodic learning review interval in milliseconds based on
18
+ * how much time remains until the goal's target_date.
19
+ */
20
+ async getPeriodicReviewInterval(goalId, stateManager) {
21
+ const goal = await stateManager.loadGoal(goalId);
22
+ if (!goal?.target_date) {
23
+ return 72 * 3600 * 1000; // default: 72 hours
24
+ }
25
+ const remainingDays = (new Date(goal.target_date).getTime() - Date.now()) / (1000 * 60 * 60 * 24);
26
+ if (remainingDays <= 30)
27
+ return 72 * 3600 * 1000; // 短期: 72h
28
+ if (remainingDays <= 180)
29
+ return 168 * 3600 * 1000; // 中期: 1week
30
+ return 336 * 3600 * 1000; // 長期: 2weeks
31
+ }
32
+ /**
33
+ * Checks whether it is time to run a periodic learning review and, if so,
34
+ * calls learningPipeline.onPeriodicReview(). Non-fatal — errors are logged
35
+ * but do not bubble up.
36
+ */
37
+ async checkPeriodicReview(goalId, deps, logger, toolExecutor) {
38
+ if (!deps.learningPipeline)
39
+ return;
40
+ const now = Date.now();
41
+ const intervalMs = await this.getPeriodicReviewInterval(goalId, deps.stateManager);
42
+ if (now - this.lastLearningReviewAt >= intervalMs) {
43
+ try {
44
+ if (toolExecutor) {
45
+ const toolCtx = { cwd: ".", goalId, trustBalance: 0, preApproved: true, approvalFn: async () => false };
46
+ const evidence = await gatherLearningEvidence(toolExecutor, toolCtx);
47
+ if (evidence.errors.length > 0) {
48
+ logger?.warn("CoreLoop: evidence gathering errors", { goalId, errors: evidence.errors });
49
+ }
50
+ logger?.debug("CoreLoop: periodic review evidence", { goalId, artifactCount: evidence.artifactCount, changesLen: evidence.recentChanges.length });
51
+ }
52
+ await deps.learningPipeline.onPeriodicReview(goalId);
53
+ this.lastLearningReviewAt = now;
54
+ }
55
+ catch (err) {
56
+ // non-fatal: learning pipeline failure should not block main loop
57
+ logger?.warn("CoreLoop: learningPipeline.onPeriodicReview failed", {
58
+ goalId,
59
+ error: err instanceof Error ? err.message : String(err),
60
+ });
61
+ }
62
+ }
63
+ }
64
+ /**
65
+ * Called after the run loop completes with finalStatus === "completed".
66
+ * Triggers learningPipeline.onGoalCompleted(). Non-fatal.
67
+ */
68
+ async onGoalCompleted(goalId, deps, logger, toolExecutor) {
69
+ if (!deps.learningPipeline)
70
+ return;
71
+ try {
72
+ if (toolExecutor) {
73
+ const toolCtx = { cwd: ".", goalId, trustBalance: 0, preApproved: true, approvalFn: async () => false };
74
+ const evidence = await gatherLearningEvidence(toolExecutor, toolCtx);
75
+ if (evidence.errors.length > 0) {
76
+ logger?.warn("CoreLoop: evidence gathering errors", { goalId, errors: evidence.errors });
77
+ }
78
+ // Evidence is informational — log artifact count for observability
79
+ logger?.debug("CoreLoop: goal completed evidence", { goalId, artifactCount: evidence.artifactCount });
80
+ }
81
+ await deps.learningPipeline.onGoalCompleted(goalId);
82
+ }
83
+ catch (err) {
84
+ // non-fatal
85
+ logger?.warn("CoreLoop: learningPipeline.onGoalCompleted failed", {
86
+ goalId,
87
+ error: err instanceof Error ? err.message : String(err),
88
+ });
89
+ }
90
+ }
91
+ }
92
+ //# sourceMappingURL=learning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"learning.js","sourceRoot":"","sources":["../../../../src/orchestrator/loop/core-loop/learning.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Preparation and scoring steps for a single CoreLoop iteration.
3
+ */
4
+ import type { Logger } from "../../../runtime/logger.js";
5
+ import type { ToolExecutor } from "../../../tools/executor.js";
6
+ import type { Goal } from "../../../base/types/goal.js";
7
+ import type { GapVector } from "../../../base/types/gap.js";
8
+ import type { DriveScore } from "../../../base/types/drive.js";
9
+ import { type CoreLoopDeps, type ResolvedLoopConfig, type LoopIterationResult } from "./contracts.js";
10
+ /** Minimal context passed to every phase function. */
11
+ export interface PhaseCtx {
12
+ deps: CoreLoopDeps;
13
+ config: ResolvedLoopConfig;
14
+ logger: Logger | undefined;
15
+ toolExecutor?: ToolExecutor;
16
+ /**
17
+ * Optional TimeHorizonEngine for canAffordWait gate in rebalancePortfolio (Gap 1).
18
+ * When present, WaitStrategy processing is skipped if the engine reports the goal
19
+ * cannot afford to wait given the remaining time budget.
20
+ */
21
+ timeHorizonEngine?: import("../../../platform/time/time-horizon-engine.js").ITimeHorizonEngine;
22
+ }
23
+ /** Load goal from state, apply tree aggregation if applicable.
24
+ * Returns the loaded Goal, or null if an error occurred (result is mutated). */
25
+ export declare function loadGoalWithAggregation(ctx: PhaseCtx, goalId: string, result: LoopIterationResult, startTime: number): Promise<Goal | null>;
26
+ /**
27
+ * Automatically decompose an abstract goal into sub-goals using
28
+ * TreeLoopOrchestrator.ensureGoalRefined(). Skipped when disabled,
29
+ * when the goal already has children, or when the goal is a leaf.
30
+ * Only root goals (decomposition_depth === 0) are auto-decomposed to
31
+ * prevent recursive decomposition of child nodes.
32
+ * Specificity checks are delegated to ensureGoalRefined internally.
33
+ *
34
+ * @param decomposedGoals - Set of goal IDs already decomposed this run.
35
+ * When provided, goals already in the set are skipped and the goal ID is
36
+ * added to the set after a successful decomposition attempt.
37
+ */
38
+ export declare function phaseAutoDecompose(goalId: string, goal: Goal, deps: CoreLoopDeps, config: ResolvedLoopConfig, logger: Logger | undefined, decomposedGoals?: Set<string>, isFirstIteration?: boolean): Promise<void>;
39
+ /** Build a ToolCallContext from PhaseCtx for CoreLoop autonomous tool calls. */
40
+ export declare function buildLoopToolContext(ctx: PhaseCtx, goalId: string): Promise<import("../../../tools/types.js").ToolCallContext>;
41
+ /** Run observation engine, reload goal after observation.
42
+ * Observation failure is non-fatal — returns current goal state.
43
+ * When ctx.toolExecutor is present, routes through the observe-goal tool first
44
+ * and falls back to direct engine.observe() on tool failure. */
45
+ export declare function observeAndReload(ctx: PhaseCtx, goalId: string, goal: Goal, loopIndex: number): Promise<Goal>;
46
+ /** Calculate gap vector and aggregate.
47
+ * Returns null on error.
48
+ * When gap === 0, returns the gap result with skipTaskGeneration=true so the
49
+ * caller continues to Phase 5 (SatisficingJudge) instead of short-circuiting.
50
+ */
51
+ export declare function calculateGapOrComplete(ctx: PhaseCtx, goalId: string, goal: Goal, loopIndex: number, result: LoopIterationResult, startTime: number): Promise<{
52
+ gapVector: GapVector;
53
+ gapAggregate: number;
54
+ skipTaskGeneration?: boolean;
55
+ } | null>;
56
+ /** Score drives, update DriveScoreAdapter, check knowledge gap.
57
+ * Returns ranked DriveScores with highDissatisfactionDimensions, or null if the caller should
58
+ * return result early (knowledge gap task generated or drive scoring failed). */
59
+ export declare function scoreDrivesAndCheckKnowledge(ctx: PhaseCtx, goalId: string, goal: Goal, gapVector: GapVector, loopIndex: number, result: LoopIterationResult, startTime: number, tryGenerateReport: (goalId: string, loopIndex: number, result: LoopIterationResult, goal: Goal) => void): Promise<{
60
+ driveScores: DriveScore[];
61
+ highDissatisfactionDimensions: string[];
62
+ } | null>;
63
+ //# sourceMappingURL=preparation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preparation.d.ts","sourceRoot":"","sources":["../../../../src/orchestrator/loop/core-loop/preparation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACzB,MAAM,gBAAgB,CAAC;AAGxB,sDAAsD;AACtD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,+CAA+C,EAAE,kBAAkB,CAAC;CAChG;AAID;gFACgF;AAChF,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,mBAAmB,EAC3B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CA6BtB;AAID;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7B,gBAAgB,CAAC,EAAE,OAAO,GACzB,OAAO,CAAC,IAAI,CAAC,CA4Cf;AAID,gFAAgF;AAChF,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,yBAAyB,EAAE,eAAe,CAAC,CAiB5D;AAID;;;gEAGgE;AAChE,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAuCf;AAID;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,mBAAmB,EAC3B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAAC,CAyF9F;AAID;;iFAEiF;AACjF,wBAAsB,4BAA4B,CAChD,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,mBAAmB,EAC3B,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,GACtG,OAAO,CAAC;IAAE,WAAW,EAAE,UAAU,EAAE,CAAC;IAAC,6BAA6B,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAAC,CAoHxF"}
@@ -0,0 +1,362 @@
1
+ /**
2
+ * Preparation and scoring steps for a single CoreLoop iteration.
3
+ */
4
+ import { buildDriveContext, } from "./contracts.js";
5
+ import { logRewardComputation } from "../../../platform/drive/reward-log.js";
6
+ // ─── Phase 1 ───
7
+ /** Load goal from state, apply tree aggregation if applicable.
8
+ * Returns the loaded Goal, or null if an error occurred (result is mutated). */
9
+ export async function loadGoalWithAggregation(ctx, goalId, result, startTime) {
10
+ let goal;
11
+ try {
12
+ const loaded = await ctx.deps.stateManager.loadGoal(goalId);
13
+ if (!loaded) {
14
+ result.error = `Goal "${goalId}" not found`;
15
+ result.elapsedMs = Date.now() - startTime;
16
+ return null;
17
+ }
18
+ goal = loaded;
19
+ }
20
+ catch (err) {
21
+ result.error = `Failed to load goal: ${err instanceof Error ? err.message : String(err)}`;
22
+ ctx.logger?.error(`CoreLoop: ${result.error}`, { goalId });
23
+ result.elapsedMs = Date.now() - startTime;
24
+ return null;
25
+ }
26
+ // Tree aggregation
27
+ if (ctx.deps.stateAggregator && goal.children_ids.length > 0) {
28
+ try {
29
+ await ctx.deps.stateAggregator.aggregateChildStates(goalId);
30
+ const reloaded = await ctx.deps.stateManager.loadGoal(goalId);
31
+ if (reloaded)
32
+ goal = reloaded;
33
+ }
34
+ catch {
35
+ // Tree aggregation failure is non-fatal
36
+ }
37
+ }
38
+ return goal;
39
+ }
40
+ // ─── Phase 1b: Auto-decompose ───
41
+ /**
42
+ * Automatically decompose an abstract goal into sub-goals using
43
+ * TreeLoopOrchestrator.ensureGoalRefined(). Skipped when disabled,
44
+ * when the goal already has children, or when the goal is a leaf.
45
+ * Only root goals (decomposition_depth === 0) are auto-decomposed to
46
+ * prevent recursive decomposition of child nodes.
47
+ * Specificity checks are delegated to ensureGoalRefined internally.
48
+ *
49
+ * @param decomposedGoals - Set of goal IDs already decomposed this run.
50
+ * When provided, goals already in the set are skipped and the goal ID is
51
+ * added to the set after a successful decomposition attempt.
52
+ */
53
+ export async function phaseAutoDecompose(goalId, goal, deps, config, logger, decomposedGoals, isFirstIteration) {
54
+ if (config.autoDecompose === false)
55
+ return;
56
+ if (!deps.treeLoopOrchestrator)
57
+ return;
58
+ if (goal.children_ids.length > 0) {
59
+ logger?.debug("[CoreLoop] phaseAutoDecompose: skipped — goal already has children", { goalId });
60
+ return;
61
+ }
62
+ if (goal.node_type === "leaf") {
63
+ logger?.debug("[CoreLoop] phaseAutoDecompose: skipped — goal is leaf", { goalId });
64
+ return;
65
+ }
66
+ // Only auto-decompose root goals — prevent recursive decomposition of children
67
+ if ((goal.decomposition_depth ?? 0) > 0) {
68
+ logger?.debug("[CoreLoop] phaseAutoDecompose: skipped — non-root goal (depth > 0)", { goalId, depth: goal.decomposition_depth });
69
+ return;
70
+ }
71
+ // Skip if already decomposed this run
72
+ if (decomposedGoals?.has(goalId)) {
73
+ logger?.debug("[CoreLoop] phaseAutoDecompose: skipped — already decomposed this run", { goalId });
74
+ return;
75
+ }
76
+ const force = isFirstIteration === true;
77
+ if (force) {
78
+ logger?.info("[decompose] forcing goal decomposition on first iteration", { goalId });
79
+ }
80
+ else {
81
+ logger?.info("[CoreLoop] phaseAutoDecompose: decomposing abstract goal", { goalId });
82
+ }
83
+ decomposedGoals?.add(goalId);
84
+ try {
85
+ await deps.treeLoopOrchestrator.ensureGoalRefined(goalId, { force });
86
+ }
87
+ catch (err) {
88
+ logger?.warn("[CoreLoop] phaseAutoDecompose: ensureGoalRefined failed (non-fatal)", {
89
+ goalId,
90
+ error: err instanceof Error ? err.message : String(err),
91
+ });
92
+ return;
93
+ }
94
+ logger?.info("[CoreLoop] phaseAutoDecompose: decomposition complete", { goalId });
95
+ }
96
+ // ─── Phase 2 helpers ───
97
+ /** Build a ToolCallContext from PhaseCtx for CoreLoop autonomous tool calls. */
98
+ export async function buildLoopToolContext(ctx, goalId) {
99
+ let trustBalance = 0;
100
+ if (ctx.deps.trustManager) {
101
+ try {
102
+ const balance = await ctx.deps.trustManager.getBalance(goalId);
103
+ trustBalance = balance.balance;
104
+ }
105
+ catch {
106
+ // Non-fatal — default to 0
107
+ }
108
+ }
109
+ return {
110
+ cwd: process.cwd(),
111
+ goalId,
112
+ trustBalance,
113
+ preApproved: true,
114
+ approvalFn: async () => false,
115
+ };
116
+ }
117
+ // ─── Phase 2 ───
118
+ /** Run observation engine, reload goal after observation.
119
+ * Observation failure is non-fatal — returns current goal state.
120
+ * When ctx.toolExecutor is present, routes through the observe-goal tool first
121
+ * and falls back to direct engine.observe() on tool failure. */
122
+ export async function observeAndReload(ctx, goalId, goal, loopIndex) {
123
+ ctx.deps.onProgress?.({
124
+ iteration: loopIndex + 1,
125
+ maxIterations: ctx.config.maxIterations,
126
+ phase: "Observing...",
127
+ });
128
+ // Tool path: route through ToolExecutor when available
129
+ if (ctx.toolExecutor) {
130
+ try {
131
+ const toolCtx = await buildLoopToolContext(ctx, goalId);
132
+ const toolResult = await ctx.toolExecutor.execute("observe-goal", { goal_id: goalId }, toolCtx);
133
+ if (toolResult.success) {
134
+ const reloaded = await ctx.deps.stateManager.loadGoal(goalId);
135
+ if (reloaded)
136
+ return reloaded;
137
+ return goal;
138
+ }
139
+ ctx.logger?.warn(`CoreLoop: observe-goal tool failed: ${toolResult.error}, falling back to direct call`);
140
+ }
141
+ catch (err) {
142
+ ctx.logger?.warn("CoreLoop: observe-goal tool threw (falling back to direct call)", { error: err instanceof Error ? err.message : String(err) });
143
+ }
144
+ }
145
+ // Direct path: fallback (or when toolExecutor is absent)
146
+ try {
147
+ const engine = ctx.deps.observationEngine;
148
+ ctx.logger?.debug("CoreLoop: engine.getDataSources exists", { exists: true });
149
+ const dataSources = engine.getDataSources();
150
+ ctx.logger?.debug("CoreLoop: observation setup", { dataSourceCount: dataSources.length });
151
+ await engine.observe(goalId, []);
152
+ const reloaded = await ctx.deps.stateManager.loadGoal(goalId);
153
+ if (reloaded)
154
+ return reloaded;
155
+ }
156
+ catch (err) {
157
+ ctx.logger?.warn("CoreLoop: observation failed (non-fatal)", { error: err instanceof Error ? err.message : String(err) });
158
+ }
159
+ return goal;
160
+ }
161
+ // ─── Phase 3 ───
162
+ /** Calculate gap vector and aggregate.
163
+ * Returns null on error.
164
+ * When gap === 0, returns the gap result with skipTaskGeneration=true so the
165
+ * caller continues to Phase 5 (SatisficingJudge) instead of short-circuiting.
166
+ */
167
+ export async function calculateGapOrComplete(ctx, goalId, goal, loopIndex, result, startTime) {
168
+ let gapVector;
169
+ let gapAggregate;
170
+ try {
171
+ // Refresh stale dimensions via tool measurement before gap calculation
172
+ if (ctx.toolExecutor && goal.dimensions) {
173
+ const { needsDirectMeasurement, measureDirectly } = await import("../../../platform/drive/gap-calculator-tools.js");
174
+ let anyRefreshed = false;
175
+ for (const dim of goal.dimensions) {
176
+ if (needsDirectMeasurement(dim)) {
177
+ try {
178
+ const refreshed = await measureDirectly(dim, ctx.toolExecutor, {
179
+ cwd: process.cwd(),
180
+ goalId,
181
+ trustBalance: 0,
182
+ preApproved: true,
183
+ approvalFn: async () => false,
184
+ });
185
+ if (refreshed !== null) {
186
+ dim.current_value = refreshed.value;
187
+ dim.confidence = refreshed.confidence;
188
+ anyRefreshed = true;
189
+ ctx.logger?.debug(`[GapRefresh] Refreshed stale dimension ${dim.name}: confidence ${dim.confidence}`);
190
+ }
191
+ }
192
+ catch (err) {
193
+ ctx.logger?.warn(`[GapRefresh] Failed to refresh ${dim.name}: ${err instanceof Error ? err.message : String(err)}`);
194
+ }
195
+ }
196
+ }
197
+ // Persist refreshed dimension values to avoid re-measuring on the next iteration
198
+ if (anyRefreshed) {
199
+ try {
200
+ await ctx.deps.stateManager.saveGoal(goal);
201
+ ctx.logger?.debug('[GapRefresh] Persisted refreshed dimensions for goal ' + goalId);
202
+ }
203
+ catch (err) {
204
+ ctx.logger?.warn?.('[GapRefresh] Failed to persist refreshed dimensions: ' + String(err));
205
+ }
206
+ }
207
+ }
208
+ gapVector = ctx.deps.gapCalculator.calculateGapVector(goalId, goal.dimensions, goal.uncertainty_weight);
209
+ const gapValues = gapVector.gaps.map((g) => g.normalized_weighted_gap);
210
+ gapAggregate = ctx.deps.gapCalculator.aggregateGaps(gapValues, goal.gap_aggregation);
211
+ result.gapAggregate = gapAggregate;
212
+ await ctx.deps.stateManager.appendGapHistoryEntry(goalId, {
213
+ iteration: loopIndex,
214
+ timestamp: new Date().toISOString(),
215
+ gap_vector: gapVector.gaps.map((g) => ({
216
+ dimension_name: g.dimension_name,
217
+ normalized_weighted_gap: g.normalized_weighted_gap,
218
+ })),
219
+ confidence_vector: gapVector.gaps.map((g) => ({
220
+ dimension_name: g.dimension_name,
221
+ confidence: g.confidence,
222
+ })),
223
+ });
224
+ }
225
+ catch (err) {
226
+ result.error = `Gap calculation failed: ${err instanceof Error ? err.message : String(err)}`;
227
+ ctx.logger?.error(`CoreLoop: ${result.error}`, { goalId });
228
+ result.elapsedMs = Date.now() - startTime;
229
+ return null;
230
+ }
231
+ // Gap zero check — gap is satisfied; skip task generation but continue to
232
+ // Phase 5 so SatisficingJudge can enforce confidence and double-confirmation.
233
+ if (gapAggregate === 0) {
234
+ ctx.logger?.info(`[CoreLoop] gap=0 for goal ${goalId} — skipping task generation, deferring to SatisficingJudge`);
235
+ return { gapVector, gapAggregate, skipTaskGeneration: true };
236
+ }
237
+ const avgConf = gapVector.gaps.length > 0
238
+ ? gapVector.gaps.reduce((s, g) => s + g.confidence, 0) / gapVector.gaps.length
239
+ : undefined;
240
+ ctx.deps.onProgress?.({
241
+ iteration: loopIndex + 1,
242
+ maxIterations: ctx.config.maxIterations,
243
+ phase: "Generating task...",
244
+ gap: gapAggregate,
245
+ confidence: avgConf,
246
+ });
247
+ return { gapVector, gapAggregate };
248
+ }
249
+ // ─── Phase 4 ───
250
+ /** Score drives, update DriveScoreAdapter, check knowledge gap.
251
+ * Returns ranked DriveScores with highDissatisfactionDimensions, or null if the caller should
252
+ * return result early (knowledge gap task generated or drive scoring failed). */
253
+ export async function scoreDrivesAndCheckKnowledge(ctx, goalId, goal, gapVector, loopIndex, result, startTime, tryGenerateReport) {
254
+ let driveScores;
255
+ let highDissatisfactionDimensions = [];
256
+ try {
257
+ const driveContext = buildDriveContext(goal);
258
+ driveScores = ctx.deps.driveScorer.scoreAllDimensions(gapVector, driveContext);
259
+ const rankedScores = ctx.deps.driveScorer.rankDimensions(driveScores);
260
+ result.driveScores = rankedScores;
261
+ driveScores = rankedScores;
262
+ if (ctx.deps.driveScoreAdapter) {
263
+ ctx.deps.driveScoreAdapter.update(driveScores);
264
+ }
265
+ // Extract dimensions with high dissatisfaction (> 0.7) for memory tier promotion
266
+ highDissatisfactionDimensions = driveScores
267
+ .filter((s) => s.dissatisfaction > 0.7)
268
+ .map((s) => s.dimension_name);
269
+ // Consolidated reward computation log (PULSEED_REWARD_LOG=1 to enable)
270
+ const confidenceAvg = gapVector.gaps.reduce((sum, g) => sum + g.confidence, 0) /
271
+ Math.max(gapVector.gaps.length, 1);
272
+ let trustScore = null;
273
+ if (ctx.deps.trustManager) {
274
+ try {
275
+ const balance = await ctx.deps.trustManager.getBalance(ctx.config.adapterType);
276
+ trustScore = balance.balance;
277
+ }
278
+ catch {
279
+ // Non-fatal: trust score is diagnostic-only
280
+ }
281
+ }
282
+ logRewardComputation({
283
+ goalId,
284
+ iteration: loopIndex,
285
+ gapAggregate: result.gapAggregate ?? 0,
286
+ confidenceAvg,
287
+ trustScore,
288
+ driveScores,
289
+ completionJudgment: null,
290
+ });
291
+ }
292
+ catch (err) {
293
+ result.error = `Drive scoring failed: ${err instanceof Error ? err.message : String(err)}`;
294
+ ctx.logger?.error(`CoreLoop: ${result.error}`, { goalId });
295
+ result.elapsedMs = Date.now() - startTime;
296
+ return null;
297
+ }
298
+ // Knowledge gap check
299
+ if (ctx.deps.knowledgeManager) {
300
+ try {
301
+ let strategies = null;
302
+ try {
303
+ const portfolio = await ctx.deps.strategyManager.getPortfolio(goalId);
304
+ strategies = portfolio !== null ? portfolio.strategies : null;
305
+ }
306
+ catch {
307
+ // If strategy loading fails, leave as null
308
+ }
309
+ const observationContext = {
310
+ observations: goal.dimensions.map((d) => ({
311
+ name: d.name,
312
+ current_value: d.current_value,
313
+ confidence: d.confidence,
314
+ })),
315
+ strategies,
316
+ confidence: gapVector.gaps.reduce((sum, g) => sum + g.confidence, 0) /
317
+ Math.max(gapVector.gaps.length, 1),
318
+ };
319
+ // Skip knowledge gap detection when:
320
+ // 1. Observations are purely self-report (confidence <= 0.3, no data sources)
321
+ // 2. Not the first iteration — prevents repeated gap detection from blocking
322
+ // task execution every loop. Gap detection runs once; after that, let the
323
+ // normal task cycle proceed.
324
+ const skipGapDetection = observationContext.confidence <= 0.3 ||
325
+ !Number.isFinite(observationContext.confidence) ||
326
+ loopIndex > 0;
327
+ const gapSignal = skipGapDetection
328
+ ? null
329
+ : await ctx.deps.knowledgeManager.detectKnowledgeGap(observationContext);
330
+ if (gapSignal !== null) {
331
+ const acquisitionTask = await ctx.deps.knowledgeManager.generateAcquisitionTask(gapSignal, goalId);
332
+ const acquisitionVerification = {
333
+ task_id: acquisitionTask.id,
334
+ verdict: "pass",
335
+ confidence: 0.9,
336
+ evidence: [
337
+ {
338
+ layer: "mechanical",
339
+ description: "Knowledge acquisition task generated for gap: " + gapSignal.signal_type,
340
+ confidence: 0.9,
341
+ },
342
+ ],
343
+ dimension_updates: [],
344
+ timestamp: new Date().toISOString(),
345
+ };
346
+ result.taskResult = {
347
+ task: acquisitionTask,
348
+ verificationResult: acquisitionVerification,
349
+ action: "completed",
350
+ };
351
+ tryGenerateReport(goalId, loopIndex, result, goal);
352
+ result.elapsedMs = Date.now() - startTime;
353
+ return null;
354
+ }
355
+ }
356
+ catch {
357
+ // Knowledge gap detection failure is non-fatal
358
+ }
359
+ }
360
+ return { driveScores, highDissatisfactionDimensions };
361
+ }
362
+ //# sourceMappingURL=preparation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preparation.js","sourceRoot":"","sources":["../../../../src/orchestrator/loop/core-loop/preparation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Completion checks, stall handling, and task execution for a CoreLoop iteration.
3
+ */
4
+ import type { Goal } from "../../../base/types/goal.js";
5
+ import type { GapVector } from "../../../base/types/gap.js";
6
+ import type { DriveScore } from "../../../base/types/drive.js";
7
+ import { type LoopIterationResult } from "./contracts.js";
8
+ import type { PhaseCtx } from "./preparation.js";
9
+ import type { CapabilityAcquisitionOutcome } from "./capability.js";
10
+ /** Completion check + milestone deadline check.
11
+ * Sets result.error on fatal failure, sets result.completionJudgment. */
12
+ export declare function checkCompletionAndMilestones(ctx: PhaseCtx, goalId: string, goal: Goal, result: LoopIterationResult, startTime: number): Promise<void>;
13
+ /** Stall detection per-dimension and globally, plus portfolio rebalance. */
14
+ export declare function detectStallsAndRebalance(ctx: PhaseCtx, goalId: string, goal: Goal, result: LoopIterationResult): Promise<void>;
15
+ /** Check dependency graph block.
16
+ * Returns true if goal is blocked (result.error set, caller should return). */
17
+ export declare function checkDependencyBlock(ctx: PhaseCtx, goalId: string, result: LoopIterationResult): boolean;
18
+ /** Callbacks passed to runTaskCycleWithContext to keep mutable state and side-effects on CoreLoop. */
19
+ export interface LoopCallbacks {
20
+ handleCapabilityAcquisition: (task: unknown, goalId: string, adapter: unknown) => Promise<CapabilityAcquisitionOutcome | void>;
21
+ incrementTransferCounter: () => number;
22
+ tryGenerateReport: (goalId: string, loopIndex: number, result: LoopIterationResult, goal: Goal) => void;
23
+ }
24
+ /** Collect context, run task cycle, handle capability acquisition,
25
+ * transfer detection, and post-task completion re-check.
26
+ * Returns true on success, false if the caller should return result early.
27
+ * `transferCheckCounter` is incremented via the callback to keep mutable state on CoreLoop. */
28
+ export declare function runTaskCycleWithContext(ctx: PhaseCtx, goalId: string, goal: Goal, gapVector: GapVector, driveScores: DriveScore[], highDissatisfactionDimensions: string[], loopIndex: number, result: LoopIterationResult, startTime: number, callbacks: LoopCallbacks): Promise<boolean>;
29
+ //# sourceMappingURL=task-cycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-cycle.d.ts","sourceRoot":"","sources":["../../../../src/orchestrator/loop/core-loop/task-cycle.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,4BAA4B,CAAC;AAE7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAG/D,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAYjD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAIpE;yEACyE;AACzE,wBAAsB,4BAA4B,CAChD,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,mBAAmB,EAC3B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAuEf;AAID,4EAA4E;AAC5E,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAoGf;AA6QD;+EAC+E;AAC/E,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAaT;AAID,sGAAsG;AACtG,MAAM,WAAW,aAAa;IAC5B,2BAA2B,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAAC,CAAC;IAC/H,wBAAwB,EAAE,MAAM,MAAM,CAAC;IACvC,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;CACzG;AAED;;;+FAG+F;AAC/F,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,UAAU,EAAE,EACzB,6BAA6B,EAAE,MAAM,EAAE,EACvC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,mBAAmB,EAC3B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,aAAa,GACvB,OAAO,CAAC,OAAO,CAAC,CA+SlB"}