pulseed 0.5.3 → 0.5.4

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 (512) hide show
  1. package/dist/base/state/state-manager-goal-state.d.ts +40 -0
  2. package/dist/base/state/state-manager-goal-state.d.ts.map +1 -0
  3. package/dist/base/state/state-manager-goal-state.js +235 -0
  4. package/dist/base/state/state-manager-goal-state.js.map +1 -0
  5. package/dist/base/state/state-manager.d.ts +0 -5
  6. package/dist/base/state/state-manager.d.ts.map +1 -1
  7. package/dist/base/state/state-manager.js +27 -273
  8. package/dist/base/state/state-manager.js.map +1 -1
  9. package/dist/base/types/goal-activation.d.ts +25 -0
  10. package/dist/base/types/goal-activation.d.ts.map +1 -0
  11. package/dist/base/types/goal-activation.js +9 -0
  12. package/dist/base/types/goal-activation.js.map +1 -0
  13. package/dist/interface/chat/chat-history.d.ts +129 -0
  14. package/dist/interface/chat/chat-history.d.ts.map +1 -1
  15. package/dist/interface/chat/chat-history.js +135 -0
  16. package/dist/interface/chat/chat-history.js.map +1 -1
  17. package/dist/interface/chat/chat-runner-command-helpers.d.ts +50 -0
  18. package/dist/interface/chat/chat-runner-command-helpers.d.ts.map +1 -0
  19. package/dist/interface/chat/chat-runner-command-helpers.js +189 -0
  20. package/dist/interface/chat/chat-runner-command-helpers.js.map +1 -0
  21. package/dist/interface/chat/chat-runner-commands.d.ts +76 -0
  22. package/dist/interface/chat/chat-runner-commands.d.ts.map +1 -0
  23. package/dist/interface/chat/chat-runner-commands.js +814 -0
  24. package/dist/interface/chat/chat-runner-commands.js.map +1 -0
  25. package/dist/interface/chat/chat-runner-event-bridge.d.ts +53 -0
  26. package/dist/interface/chat/chat-runner-event-bridge.d.ts.map +1 -0
  27. package/dist/interface/chat/chat-runner-event-bridge.js +311 -0
  28. package/dist/interface/chat/chat-runner-event-bridge.js.map +1 -0
  29. package/dist/interface/chat/chat-runner-routes.d.ts +67 -0
  30. package/dist/interface/chat/chat-runner-routes.d.ts.map +1 -0
  31. package/dist/interface/chat/chat-runner-routes.js +594 -0
  32. package/dist/interface/chat/chat-runner-routes.js.map +1 -0
  33. package/dist/interface/chat/chat-runner-runtime.d.ts +37 -0
  34. package/dist/interface/chat/chat-runner-runtime.d.ts.map +1 -0
  35. package/dist/interface/chat/chat-runner-runtime.js +236 -0
  36. package/dist/interface/chat/chat-runner-runtime.js.map +1 -0
  37. package/dist/interface/chat/chat-runner-state.d.ts +20 -0
  38. package/dist/interface/chat/chat-runner-state.d.ts.map +1 -0
  39. package/dist/interface/chat/chat-runner-state.js +157 -0
  40. package/dist/interface/chat/chat-runner-state.js.map +1 -0
  41. package/dist/interface/chat/chat-runner-support.d.ts +15 -0
  42. package/dist/interface/chat/chat-runner-support.d.ts.map +1 -0
  43. package/dist/interface/chat/chat-runner-support.js +116 -0
  44. package/dist/interface/chat/chat-runner-support.js.map +1 -0
  45. package/dist/interface/chat/chat-runner.d.ts +10 -153
  46. package/dist/interface/chat/chat-runner.d.ts.map +1 -1
  47. package/dist/interface/chat/chat-runner.js +299 -2642
  48. package/dist/interface/chat/chat-runner.js.map +1 -1
  49. package/dist/interface/chat/chat-session-store.d.ts +32 -0
  50. package/dist/interface/chat/chat-session-store.d.ts.map +1 -1
  51. package/dist/interface/chat/chat-session-store.js +100 -10
  52. package/dist/interface/chat/chat-session-store.js.map +1 -1
  53. package/dist/interface/chat/cross-platform-session.d.ts.map +1 -1
  54. package/dist/interface/chat/cross-platform-session.js +2 -5
  55. package/dist/interface/chat/cross-platform-session.js.map +1 -1
  56. package/dist/interface/chat/event-subscriber.d.ts.map +1 -1
  57. package/dist/interface/chat/event-subscriber.js +41 -0
  58. package/dist/interface/chat/event-subscriber.js.map +1 -1
  59. package/dist/interface/chat/ingress-router.d.ts +0 -25
  60. package/dist/interface/chat/ingress-router.d.ts.map +1 -1
  61. package/dist/interface/chat/ingress-router.js +12 -85
  62. package/dist/interface/chat/ingress-router.js.map +1 -1
  63. package/dist/interface/chat/tend-command.d.ts.map +1 -1
  64. package/dist/interface/chat/tend-command.js +2 -0
  65. package/dist/interface/chat/tend-command.js.map +1 -1
  66. package/dist/interface/cli/commands/daemon-shared.d.ts +32 -0
  67. package/dist/interface/cli/commands/daemon-shared.d.ts.map +1 -0
  68. package/dist/interface/cli/commands/daemon-shared.js +120 -0
  69. package/dist/interface/cli/commands/daemon-shared.js.map +1 -0
  70. package/dist/interface/cli/commands/daemon.d.ts +2 -2
  71. package/dist/interface/cli/commands/daemon.d.ts.map +1 -1
  72. package/dist/interface/cli/commands/daemon.js +4 -120
  73. package/dist/interface/cli/commands/daemon.js.map +1 -1
  74. package/dist/interface/cli/commands/schedule/history.d.ts.map +1 -1
  75. package/dist/interface/cli/commands/schedule/history.js +5 -1
  76. package/dist/interface/cli/commands/schedule/history.js.map +1 -1
  77. package/dist/interface/cli/commands/schedule.js +34 -4
  78. package/dist/interface/cli/commands/schedule.js.map +1 -1
  79. package/dist/interface/tui/app.d.ts.map +1 -1
  80. package/dist/interface/tui/app.js +14 -1
  81. package/dist/interface/tui/app.js.map +1 -1
  82. package/dist/interface/tui/chat/suggestions.d.ts.map +1 -1
  83. package/dist/interface/tui/chat/suggestions.js +118 -4
  84. package/dist/interface/tui/chat/suggestions.js.map +1 -1
  85. package/dist/interface/tui/entry-approval.d.ts +8 -0
  86. package/dist/interface/tui/entry-approval.d.ts.map +1 -0
  87. package/dist/interface/tui/entry-approval.js +59 -0
  88. package/dist/interface/tui/entry-approval.js.map +1 -0
  89. package/dist/interface/tui/entry-daemon.d.ts +12 -0
  90. package/dist/interface/tui/entry-daemon.d.ts.map +1 -0
  91. package/dist/interface/tui/entry-daemon.js +74 -0
  92. package/dist/interface/tui/entry-daemon.js.map +1 -0
  93. package/dist/interface/tui/entry-deps.d.ts +22 -0
  94. package/dist/interface/tui/entry-deps.d.ts.map +1 -0
  95. package/dist/interface/tui/entry-deps.js +409 -0
  96. package/dist/interface/tui/entry-deps.js.map +1 -0
  97. package/dist/interface/tui/entry.d.ts +2 -4
  98. package/dist/interface/tui/entry.d.ts.map +1 -1
  99. package/dist/interface/tui/entry.js +10 -557
  100. package/dist/interface/tui/entry.js.map +1 -1
  101. package/dist/interface/tui/fullscreen-chat-render.d.ts +127 -0
  102. package/dist/interface/tui/fullscreen-chat-render.d.ts.map +1 -0
  103. package/dist/interface/tui/fullscreen-chat-render.js +667 -0
  104. package/dist/interface/tui/fullscreen-chat-render.js.map +1 -0
  105. package/dist/interface/tui/fullscreen-chat.d.ts +2 -111
  106. package/dist/interface/tui/fullscreen-chat.d.ts.map +1 -1
  107. package/dist/interface/tui/fullscreen-chat.js +4 -663
  108. package/dist/interface/tui/fullscreen-chat.js.map +1 -1
  109. package/dist/interface/tui/help-overlay.d.ts.map +1 -1
  110. package/dist/interface/tui/help-overlay.js +1 -1
  111. package/dist/interface/tui/help-overlay.js.map +1 -1
  112. package/dist/interface/tui/intent-recognizer.js +2 -2
  113. package/dist/interface/tui/intent-recognizer.js.map +1 -1
  114. package/dist/orchestrator/execution/agent-loop/agent-loop-default-profile.d.ts.map +1 -1
  115. package/dist/orchestrator/execution/agent-loop/agent-loop-default-profile.js +8 -0
  116. package/dist/orchestrator/execution/agent-loop/agent-loop-default-profile.js.map +1 -1
  117. package/dist/orchestrator/execution/agent-loop/agent-loop-tool-router.d.ts.map +1 -1
  118. package/dist/orchestrator/execution/agent-loop/agent-loop-tool-router.js +2 -1
  119. package/dist/orchestrator/execution/agent-loop/agent-loop-tool-router.js.map +1 -1
  120. package/dist/orchestrator/execution/agent-loop/agent-loop-tool-runtime.d.ts +2 -0
  121. package/dist/orchestrator/execution/agent-loop/agent-loop-tool-runtime.d.ts.map +1 -1
  122. package/dist/orchestrator/execution/agent-loop/agent-loop-tool-runtime.js +31 -0
  123. package/dist/orchestrator/execution/agent-loop/agent-loop-tool-runtime.js.map +1 -1
  124. package/dist/orchestrator/execution/agent-loop/agent-loop-turn-context.d.ts +1 -0
  125. package/dist/orchestrator/execution/agent-loop/agent-loop-turn-context.d.ts.map +1 -1
  126. package/dist/orchestrator/execution/agent-loop/agent-loop-turn-context.js.map +1 -1
  127. package/dist/orchestrator/execution/agent-loop/bounded-agent-loop-runner.d.ts +1 -0
  128. package/dist/orchestrator/execution/agent-loop/bounded-agent-loop-runner.d.ts.map +1 -1
  129. package/dist/orchestrator/execution/agent-loop/bounded-agent-loop-runner.js +36 -2
  130. package/dist/orchestrator/execution/agent-loop/bounded-agent-loop-runner.js.map +1 -1
  131. package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.d.ts.map +1 -1
  132. package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.js +2 -1
  133. package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.js.map +1 -1
  134. package/dist/orchestrator/execution/agent-loop/core-loop-control-tools.d.ts +19 -0
  135. package/dist/orchestrator/execution/agent-loop/core-loop-control-tools.d.ts.map +1 -1
  136. package/dist/orchestrator/execution/agent-loop/core-loop-control-tools.js +164 -14
  137. package/dist/orchestrator/execution/agent-loop/core-loop-control-tools.js.map +1 -1
  138. package/dist/orchestrator/execution/reflection-generator.d.ts +1 -0
  139. package/dist/orchestrator/execution/reflection-generator.d.ts.map +1 -1
  140. package/dist/orchestrator/execution/reflection-generator.js +10 -1
  141. package/dist/orchestrator/execution/reflection-generator.js.map +1 -1
  142. package/dist/orchestrator/execution/task/task-context-enricher.d.ts +2 -0
  143. package/dist/orchestrator/execution/task/task-context-enricher.d.ts.map +1 -1
  144. package/dist/orchestrator/execution/task/task-context-enricher.js +9 -4
  145. package/dist/orchestrator/execution/task/task-context-enricher.js.map +1 -1
  146. package/dist/orchestrator/execution/task/task-execution-helpers-internal.d.ts +5 -0
  147. package/dist/orchestrator/execution/task/task-execution-helpers-internal.d.ts.map +1 -0
  148. package/dist/orchestrator/execution/task/task-execution-helpers-internal.js +6 -0
  149. package/dist/orchestrator/execution/task/task-execution-helpers-internal.js.map +1 -0
  150. package/dist/orchestrator/execution/task/task-generation.d.ts.map +1 -1
  151. package/dist/orchestrator/execution/task/task-generation.js +8 -3
  152. package/dist/orchestrator/execution/task/task-generation.js.map +1 -1
  153. package/dist/orchestrator/execution/task/task-lifecycle-runner.d.ts +73 -0
  154. package/dist/orchestrator/execution/task/task-lifecycle-runner.d.ts.map +1 -0
  155. package/dist/orchestrator/execution/task/task-lifecycle-runner.js +184 -0
  156. package/dist/orchestrator/execution/task/task-lifecycle-runner.js.map +1 -0
  157. package/dist/orchestrator/execution/task/task-lifecycle.d.ts +7 -7
  158. package/dist/orchestrator/execution/task/task-lifecycle.d.ts.map +1 -1
  159. package/dist/orchestrator/execution/task/task-lifecycle.js +37 -181
  160. package/dist/orchestrator/execution/task/task-lifecycle.js.map +1 -1
  161. package/dist/orchestrator/execution/task/task-verifier-internal.d.ts +2 -0
  162. package/dist/orchestrator/execution/task/task-verifier-internal.d.ts.map +1 -0
  163. package/dist/orchestrator/execution/task/task-verifier-internal.js +2 -0
  164. package/dist/orchestrator/execution/task/task-verifier-internal.js.map +1 -0
  165. package/dist/orchestrator/goal/goal-negotiator.d.ts.map +1 -1
  166. package/dist/orchestrator/goal/goal-negotiator.js +23 -3
  167. package/dist/orchestrator/goal/goal-negotiator.js.map +1 -1
  168. package/dist/orchestrator/loop/core-loop/contracts.d.ts +1 -0
  169. package/dist/orchestrator/loop/core-loop/contracts.d.ts.map +1 -1
  170. package/dist/orchestrator/loop/core-loop/contracts.js.map +1 -1
  171. package/dist/orchestrator/loop/core-loop/iteration-kernel-knowledge.d.ts +7 -0
  172. package/dist/orchestrator/loop/core-loop/iteration-kernel-knowledge.d.ts.map +1 -0
  173. package/dist/orchestrator/loop/core-loop/iteration-kernel-knowledge.js +43 -0
  174. package/dist/orchestrator/loop/core-loop/iteration-kernel-knowledge.js.map +1 -0
  175. package/dist/orchestrator/loop/core-loop/iteration-kernel-wait.d.ts +14 -0
  176. package/dist/orchestrator/loop/core-loop/iteration-kernel-wait.d.ts.map +1 -0
  177. package/dist/orchestrator/loop/core-loop/iteration-kernel-wait.js +41 -0
  178. package/dist/orchestrator/loop/core-loop/iteration-kernel-wait.js.map +1 -0
  179. package/dist/orchestrator/loop/core-loop/iteration-kernel.d.ts +3 -2
  180. package/dist/orchestrator/loop/core-loop/iteration-kernel.d.ts.map +1 -1
  181. package/dist/orchestrator/loop/core-loop/iteration-kernel.js +16 -87
  182. package/dist/orchestrator/loop/core-loop/iteration-kernel.js.map +1 -1
  183. package/dist/orchestrator/loop/core-loop/phase-policy.js +5 -5
  184. package/dist/orchestrator/loop/core-loop/task-cycle-stall.d.ts +9 -0
  185. package/dist/orchestrator/loop/core-loop/task-cycle-stall.d.ts.map +1 -0
  186. package/dist/orchestrator/loop/core-loop/task-cycle-stall.js +297 -0
  187. package/dist/orchestrator/loop/core-loop/task-cycle-stall.js.map +1 -0
  188. package/dist/orchestrator/loop/core-loop/task-cycle-wait.d.ts +11 -0
  189. package/dist/orchestrator/loop/core-loop/task-cycle-wait.d.ts.map +1 -0
  190. package/dist/orchestrator/loop/core-loop/task-cycle-wait.js +176 -0
  191. package/dist/orchestrator/loop/core-loop/task-cycle-wait.js.map +1 -0
  192. package/dist/orchestrator/loop/core-loop/task-cycle.d.ts +3 -15
  193. package/dist/orchestrator/loop/core-loop/task-cycle.d.ts.map +1 -1
  194. package/dist/orchestrator/loop/core-loop/task-cycle.js +10 -444
  195. package/dist/orchestrator/loop/core-loop/task-cycle.js.map +1 -1
  196. package/dist/orchestrator/loop/core-loop.d.ts +3 -0
  197. package/dist/orchestrator/loop/core-loop.d.ts.map +1 -1
  198. package/dist/orchestrator/loop/core-loop.js +4 -0
  199. package/dist/orchestrator/loop/core-loop.js.map +1 -1
  200. package/dist/orchestrator/strategy/portfolio-manager.d.ts +3 -2
  201. package/dist/orchestrator/strategy/portfolio-manager.d.ts.map +1 -1
  202. package/dist/orchestrator/strategy/portfolio-manager.js +16 -11
  203. package/dist/orchestrator/strategy/portfolio-manager.js.map +1 -1
  204. package/dist/orchestrator/strategy/portfolio-rebalance.d.ts +1 -1
  205. package/dist/orchestrator/strategy/portfolio-rebalance.d.ts.map +1 -1
  206. package/dist/orchestrator/strategy/portfolio-rebalance.js +31 -9
  207. package/dist/orchestrator/strategy/portfolio-rebalance.js.map +1 -1
  208. package/dist/orchestrator/strategy/strategy-manager-base.d.ts +12 -2
  209. package/dist/orchestrator/strategy/strategy-manager-base.d.ts.map +1 -1
  210. package/dist/orchestrator/strategy/strategy-manager-base.js +23 -7
  211. package/dist/orchestrator/strategy/strategy-manager-base.js.map +1 -1
  212. package/dist/orchestrator/strategy/strategy-manager.d.ts +1 -11
  213. package/dist/orchestrator/strategy/strategy-manager.d.ts.map +1 -1
  214. package/dist/orchestrator/strategy/strategy-manager.js +78 -19
  215. package/dist/orchestrator/strategy/strategy-manager.js.map +1 -1
  216. package/dist/platform/dream/dream-consolidator/fs-metrics.d.ts +18 -0
  217. package/dist/platform/dream/dream-consolidator/fs-metrics.d.ts.map +1 -0
  218. package/dist/platform/dream/dream-consolidator/fs-metrics.js +130 -0
  219. package/dist/platform/dream/dream-consolidator/fs-metrics.js.map +1 -0
  220. package/dist/platform/dream/dream-consolidator.d.ts +4 -14
  221. package/dist/platform/dream/dream-consolidator.d.ts.map +1 -1
  222. package/dist/platform/dream/dream-consolidator.js +46 -166
  223. package/dist/platform/dream/dream-consolidator.js.map +1 -1
  224. package/dist/platform/dream/dream-soil-sync.d.ts +1 -0
  225. package/dist/platform/dream/dream-soil-sync.d.ts.map +1 -1
  226. package/dist/platform/dream/dream-soil-sync.js +8 -1
  227. package/dist/platform/dream/dream-soil-sync.js.map +1 -1
  228. package/dist/platform/dream/dream-types.d.ts +5 -0
  229. package/dist/platform/dream/dream-types.d.ts.map +1 -1
  230. package/dist/platform/dream/dream-types.js +1 -0
  231. package/dist/platform/dream/dream-types.js.map +1 -1
  232. package/dist/platform/dream/playbook-memory.d.ts +4 -4
  233. package/dist/platform/drive/stall-detector/analysis.d.ts +5 -0
  234. package/dist/platform/drive/stall-detector/analysis.d.ts.map +1 -0
  235. package/dist/platform/drive/stall-detector/analysis.js +55 -0
  236. package/dist/platform/drive/stall-detector/analysis.js.map +1 -0
  237. package/dist/platform/drive/stall-detector/repetitive.d.ts +3 -0
  238. package/dist/platform/drive/stall-detector/repetitive.d.ts.map +1 -0
  239. package/dist/platform/drive/stall-detector/repetitive.js +72 -0
  240. package/dist/platform/drive/stall-detector/repetitive.js.map +1 -0
  241. package/dist/platform/drive/stall-detector/thresholds.d.ts +10 -0
  242. package/dist/platform/drive/stall-detector/thresholds.d.ts.map +1 -0
  243. package/dist/platform/drive/stall-detector/thresholds.js +61 -0
  244. package/dist/platform/drive/stall-detector/thresholds.js.map +1 -0
  245. package/dist/platform/drive/stall-detector.d.ts +2 -20
  246. package/dist/platform/drive/stall-detector.d.ts.map +1 -1
  247. package/dist/platform/drive/stall-detector.js +9 -202
  248. package/dist/platform/drive/stall-detector.js.map +1 -1
  249. package/dist/platform/knowledge/knowledge-manager-agent-memory.d.ts +55 -0
  250. package/dist/platform/knowledge/knowledge-manager-agent-memory.d.ts.map +1 -0
  251. package/dist/platform/knowledge/knowledge-manager-agent-memory.js +232 -0
  252. package/dist/platform/knowledge/knowledge-manager-agent-memory.js.map +1 -0
  253. package/dist/platform/knowledge/knowledge-manager-internals.d.ts +10 -0
  254. package/dist/platform/knowledge/knowledge-manager-internals.d.ts.map +1 -0
  255. package/dist/platform/knowledge/knowledge-manager-internals.js +43 -0
  256. package/dist/platform/knowledge/knowledge-manager-internals.js.map +1 -0
  257. package/dist/platform/knowledge/knowledge-manager-store.d.ts +13 -0
  258. package/dist/platform/knowledge/knowledge-manager-store.d.ts.map +1 -0
  259. package/dist/platform/knowledge/knowledge-manager-store.js +67 -0
  260. package/dist/platform/knowledge/knowledge-manager-store.js.map +1 -0
  261. package/dist/platform/knowledge/knowledge-manager.d.ts +6 -2
  262. package/dist/platform/knowledge/knowledge-manager.d.ts.map +1 -1
  263. package/dist/platform/knowledge/knowledge-manager.js +43 -344
  264. package/dist/platform/knowledge/knowledge-manager.js.map +1 -1
  265. package/dist/platform/knowledge/memory/memory-lifecycle-storage.d.ts +4 -0
  266. package/dist/platform/knowledge/memory/memory-lifecycle-storage.d.ts.map +1 -0
  267. package/dist/platform/knowledge/memory/memory-lifecycle-storage.js +106 -0
  268. package/dist/platform/knowledge/memory/memory-lifecycle-storage.js.map +1 -0
  269. package/dist/platform/knowledge/memory/memory-lifecycle.d.ts.map +1 -1
  270. package/dist/platform/knowledge/memory/memory-lifecycle.js +6 -112
  271. package/dist/platform/knowledge/memory/memory-lifecycle.js.map +1 -1
  272. package/dist/platform/observation/capability-detector/prompts.d.ts +18 -0
  273. package/dist/platform/observation/capability-detector/prompts.d.ts.map +1 -0
  274. package/dist/platform/observation/capability-detector/prompts.js +80 -0
  275. package/dist/platform/observation/capability-detector/prompts.js.map +1 -0
  276. package/dist/platform/observation/capability-detector/recommendations.d.ts +5 -0
  277. package/dist/platform/observation/capability-detector/recommendations.d.ts.map +1 -0
  278. package/dist/platform/observation/capability-detector/recommendations.js +76 -0
  279. package/dist/platform/observation/capability-detector/recommendations.js.map +1 -0
  280. package/dist/platform/observation/capability-detector/types.d.ts +112 -0
  281. package/dist/platform/observation/capability-detector/types.d.ts.map +1 -0
  282. package/dist/platform/observation/capability-detector/types.js +75 -0
  283. package/dist/platform/observation/capability-detector/types.js.map +1 -0
  284. package/dist/platform/observation/capability-detector.d.ts +4 -9
  285. package/dist/platform/observation/capability-detector.d.ts.map +1 -1
  286. package/dist/platform/observation/capability-detector.js +12 -212
  287. package/dist/platform/observation/capability-detector.js.map +1 -1
  288. package/dist/platform/observation/context-provider/collector.d.ts +13 -0
  289. package/dist/platform/observation/context-provider/collector.d.ts.map +1 -0
  290. package/dist/platform/observation/context-provider/collector.js +259 -0
  291. package/dist/platform/observation/context-provider/collector.js.map +1 -0
  292. package/dist/platform/observation/context-provider/search-terms.d.ts +2 -0
  293. package/dist/platform/observation/context-provider/search-terms.d.ts.map +1 -0
  294. package/dist/platform/observation/context-provider/search-terms.js +24 -0
  295. package/dist/platform/observation/context-provider/search-terms.js.map +1 -0
  296. package/dist/platform/observation/context-provider/shared.d.ts +17 -0
  297. package/dist/platform/observation/context-provider/shared.d.ts.map +1 -0
  298. package/dist/platform/observation/context-provider/shared.js +87 -0
  299. package/dist/platform/observation/context-provider/shared.js.map +1 -0
  300. package/dist/platform/observation/context-provider.d.ts +3 -28
  301. package/dist/platform/observation/context-provider.d.ts.map +1 -1
  302. package/dist/platform/observation/context-provider.js +7 -395
  303. package/dist/platform/observation/context-provider.js.map +1 -1
  304. package/dist/platform/soil/compiled-memory-projections.d.ts +2 -0
  305. package/dist/platform/soil/compiled-memory-projections.d.ts.map +1 -1
  306. package/dist/platform/soil/compiled-memory-projections.js +59 -0
  307. package/dist/platform/soil/compiled-memory-projections.js.map +1 -1
  308. package/dist/platform/soil/contracts.d.ts +2 -2
  309. package/dist/platform/soil/retriever.d.ts +25 -0
  310. package/dist/platform/soil/retriever.d.ts.map +1 -1
  311. package/dist/platform/soil/retriever.js +94 -5
  312. package/dist/platform/soil/retriever.js.map +1 -1
  313. package/dist/platform/soil/sqlite-repository-helpers.d.ts +80 -0
  314. package/dist/platform/soil/sqlite-repository-helpers.d.ts.map +1 -0
  315. package/dist/platform/soil/sqlite-repository-helpers.js +143 -0
  316. package/dist/platform/soil/sqlite-repository-helpers.js.map +1 -0
  317. package/dist/platform/soil/sqlite-repository-search.d.ts +8 -0
  318. package/dist/platform/soil/sqlite-repository-search.d.ts.map +1 -0
  319. package/dist/platform/soil/sqlite-repository-search.js +367 -0
  320. package/dist/platform/soil/sqlite-repository-search.js.map +1 -0
  321. package/dist/platform/soil/sqlite-repository-storage.d.ts +8 -0
  322. package/dist/platform/soil/sqlite-repository-storage.d.ts.map +1 -0
  323. package/dist/platform/soil/sqlite-repository-storage.js +278 -0
  324. package/dist/platform/soil/sqlite-repository-storage.js.map +1 -0
  325. package/dist/platform/soil/sqlite-repository.d.ts +1 -4
  326. package/dist/platform/soil/sqlite-repository.d.ts.map +1 -1
  327. package/dist/platform/soil/sqlite-repository.js +26 -820
  328. package/dist/platform/soil/sqlite-repository.js.map +1 -1
  329. package/dist/runtime/daemon/index.d.ts +1 -1
  330. package/dist/runtime/daemon/index.d.ts.map +1 -1
  331. package/dist/runtime/daemon/index.js +1 -1
  332. package/dist/runtime/daemon/index.js.map +1 -1
  333. package/dist/runtime/daemon/maintenance.d.ts +2 -10
  334. package/dist/runtime/daemon/maintenance.d.ts.map +1 -1
  335. package/dist/runtime/daemon/maintenance.js +14 -45
  336. package/dist/runtime/daemon/maintenance.js.map +1 -1
  337. package/dist/runtime/daemon/runner-bootstrap.d.ts +25 -0
  338. package/dist/runtime/daemon/runner-bootstrap.d.ts.map +1 -0
  339. package/dist/runtime/daemon/runner-bootstrap.js +77 -0
  340. package/dist/runtime/daemon/runner-bootstrap.js.map +1 -0
  341. package/dist/runtime/daemon/runner-commands.d.ts +7 -7
  342. package/dist/runtime/daemon/runner-commands.d.ts.map +1 -1
  343. package/dist/runtime/daemon/runner-commands.js +35 -20
  344. package/dist/runtime/daemon/runner-commands.js.map +1 -1
  345. package/dist/runtime/daemon/runner-goal-cycle.d.ts.map +1 -1
  346. package/dist/runtime/daemon/runner-goal-cycle.js +3 -5
  347. package/dist/runtime/daemon/runner-goal-cycle.js.map +1 -1
  348. package/dist/runtime/daemon/runner-resident-curiosity.d.ts +12 -0
  349. package/dist/runtime/daemon/runner-resident-curiosity.d.ts.map +1 -0
  350. package/dist/runtime/daemon/runner-resident-curiosity.js +155 -0
  351. package/dist/runtime/daemon/runner-resident-curiosity.js.map +1 -0
  352. package/dist/runtime/daemon/runner-resident-dream.d.ts +20 -0
  353. package/dist/runtime/daemon/runner-resident-dream.d.ts.map +1 -0
  354. package/dist/runtime/daemon/runner-resident-dream.js +148 -0
  355. package/dist/runtime/daemon/runner-resident-dream.js.map +1 -0
  356. package/dist/runtime/daemon/runner-resident-proactive.d.ts +4 -0
  357. package/dist/runtime/daemon/runner-resident-proactive.d.ts.map +1 -0
  358. package/dist/runtime/daemon/runner-resident-proactive.js +113 -0
  359. package/dist/runtime/daemon/runner-resident-proactive.js.map +1 -0
  360. package/dist/runtime/daemon/runner-resident-shared.d.ts +40 -0
  361. package/dist/runtime/daemon/runner-resident-shared.d.ts.map +1 -0
  362. package/dist/runtime/daemon/runner-resident-shared.js +101 -0
  363. package/dist/runtime/daemon/runner-resident-shared.js.map +1 -0
  364. package/dist/runtime/daemon/runner-resident.d.ts +4 -68
  365. package/dist/runtime/daemon/runner-resident.d.ts.map +1 -1
  366. package/dist/runtime/daemon/runner-resident.js +4 -506
  367. package/dist/runtime/daemon/runner-resident.js.map +1 -1
  368. package/dist/runtime/daemon/runner-runtime.d.ts +12 -0
  369. package/dist/runtime/daemon/runner-runtime.d.ts.map +1 -0
  370. package/dist/runtime/daemon/runner-runtime.js +43 -0
  371. package/dist/runtime/daemon/runner-runtime.js.map +1 -0
  372. package/dist/runtime/daemon/runner-startup.js +3 -4
  373. package/dist/runtime/daemon/runner-startup.js.map +1 -1
  374. package/dist/runtime/daemon/runner.d.ts +10 -23
  375. package/dist/runtime/daemon/runner.d.ts.map +1 -1
  376. package/dist/runtime/daemon/runner.js +27 -110
  377. package/dist/runtime/daemon/runner.js.map +1 -1
  378. package/dist/runtime/daemon/wait-deadline-resolver.d.ts +5 -2
  379. package/dist/runtime/daemon/wait-deadline-resolver.d.ts.map +1 -1
  380. package/dist/runtime/daemon/wait-deadline-resolver.js +55 -35
  381. package/dist/runtime/daemon/wait-deadline-resolver.js.map +1 -1
  382. package/dist/runtime/event/dispatcher.d.ts +0 -2
  383. package/dist/runtime/event/dispatcher.d.ts.map +1 -1
  384. package/dist/runtime/event/dispatcher.js +0 -4
  385. package/dist/runtime/event/dispatcher.js.map +1 -1
  386. package/dist/runtime/executor/goal-worker.d.ts +2 -1
  387. package/dist/runtime/executor/goal-worker.d.ts.map +1 -1
  388. package/dist/runtime/executor/goal-worker.js +2 -1
  389. package/dist/runtime/executor/goal-worker.js.map +1 -1
  390. package/dist/runtime/executor/loop-supervisor.d.ts +3 -0
  391. package/dist/runtime/executor/loop-supervisor.d.ts.map +1 -1
  392. package/dist/runtime/executor/loop-supervisor.js +37 -11
  393. package/dist/runtime/executor/loop-supervisor.js.map +1 -1
  394. package/dist/runtime/schedule/engine-cron-reflection.d.ts +31 -0
  395. package/dist/runtime/schedule/engine-cron-reflection.d.ts.map +1 -0
  396. package/dist/runtime/schedule/engine-cron-reflection.js +229 -0
  397. package/dist/runtime/schedule/engine-cron-reflection.js.map +1 -0
  398. package/dist/runtime/schedule/engine-execution.d.ts +47 -0
  399. package/dist/runtime/schedule/engine-execution.d.ts.map +1 -0
  400. package/dist/runtime/schedule/engine-execution.js +424 -0
  401. package/dist/runtime/schedule/engine-execution.js.map +1 -0
  402. package/dist/runtime/schedule/engine-heartbeat.d.ts +5 -0
  403. package/dist/runtime/schedule/engine-heartbeat.d.ts.map +1 -0
  404. package/dist/runtime/schedule/engine-heartbeat.js +104 -0
  405. package/dist/runtime/schedule/engine-heartbeat.js.map +1 -0
  406. package/dist/runtime/schedule/engine-layers.d.ts +2 -0
  407. package/dist/runtime/schedule/engine-layers.d.ts.map +1 -1
  408. package/dist/runtime/schedule/engine-layers.js +12 -228
  409. package/dist/runtime/schedule/engine-layers.js.map +1 -1
  410. package/dist/runtime/schedule/engine-mutations.d.ts +37 -0
  411. package/dist/runtime/schedule/engine-mutations.d.ts.map +1 -0
  412. package/dist/runtime/schedule/engine-mutations.js +263 -0
  413. package/dist/runtime/schedule/engine-mutations.js.map +1 -0
  414. package/dist/runtime/schedule/engine.d.ts +11 -38
  415. package/dist/runtime/schedule/engine.d.ts.map +1 -1
  416. package/dist/runtime/schedule/engine.js +65 -810
  417. package/dist/runtime/schedule/engine.js.map +1 -1
  418. package/dist/runtime/schedule/history.d.ts +16 -0
  419. package/dist/runtime/schedule/history.d.ts.map +1 -1
  420. package/dist/runtime/schedule/history.js +8 -0
  421. package/dist/runtime/schedule/history.js.map +1 -1
  422. package/dist/runtime/schedule/index.d.ts +1 -0
  423. package/dist/runtime/schedule/index.d.ts.map +1 -1
  424. package/dist/runtime/schedule/index.js +1 -0
  425. package/dist/runtime/schedule/index.js.map +1 -1
  426. package/dist/runtime/schedule/legacy-cron-migration.d.ts +9 -0
  427. package/dist/runtime/schedule/legacy-cron-migration.d.ts.map +1 -0
  428. package/dist/runtime/schedule/legacy-cron-migration.js +89 -0
  429. package/dist/runtime/schedule/legacy-cron-migration.js.map +1 -0
  430. package/dist/runtime/schedule/wait-projection.d.ts +6 -0
  431. package/dist/runtime/schedule/wait-projection.d.ts.map +1 -0
  432. package/dist/runtime/schedule/wait-projection.js +102 -0
  433. package/dist/runtime/schedule/wait-projection.js.map +1 -0
  434. package/dist/runtime/session-registry/registry-helpers.d.ts +34 -0
  435. package/dist/runtime/session-registry/registry-helpers.d.ts.map +1 -0
  436. package/dist/runtime/session-registry/registry-helpers.js +241 -0
  437. package/dist/runtime/session-registry/registry-helpers.js.map +1 -0
  438. package/dist/runtime/session-registry/registry.d.ts.map +1 -1
  439. package/dist/runtime/session-registry/registry.js +14 -243
  440. package/dist/runtime/session-registry/registry.js.map +1 -1
  441. package/dist/runtime/session-registry/types.d.ts +36 -36
  442. package/dist/runtime/store/runtime-operation-schemas.d.ts +36 -36
  443. package/dist/runtime/store/runtime-schemas.d.ts +2 -2
  444. package/dist/runtime/types/daemon.d.ts +10 -0
  445. package/dist/runtime/types/daemon.d.ts.map +1 -1
  446. package/dist/runtime/types/daemon.js +2 -0
  447. package/dist/runtime/types/daemon.js.map +1 -1
  448. package/dist/runtime/types/schedule.d.ts +65 -0
  449. package/dist/runtime/types/schedule.d.ts.map +1 -1
  450. package/dist/runtime/types/schedule.js +5 -0
  451. package/dist/runtime/types/schedule.js.map +1 -1
  452. package/dist/tools/builtin/exports.d.ts +1 -0
  453. package/dist/tools/builtin/exports.d.ts.map +1 -1
  454. package/dist/tools/builtin/exports.js +1 -0
  455. package/dist/tools/builtin/exports.js.map +1 -1
  456. package/dist/tools/builtin/factory.d.ts +2 -0
  457. package/dist/tools/builtin/factory.d.ts.map +1 -1
  458. package/dist/tools/builtin/factory.js +8 -1
  459. package/dist/tools/builtin/factory.js.map +1 -1
  460. package/dist/tools/fs/FileValidationTool/protected-path-policy.d.ts +1 -0
  461. package/dist/tools/fs/FileValidationTool/protected-path-policy.d.ts.map +1 -1
  462. package/dist/tools/fs/FileValidationTool/protected-path-policy.js +17 -4
  463. package/dist/tools/fs/FileValidationTool/protected-path-policy.js.map +1 -1
  464. package/dist/tools/fs/ListDirTool/ListDirTool.js +1 -1
  465. package/dist/tools/fs/ListDirTool/ListDirTool.js.map +1 -1
  466. package/dist/tools/kaggle/paths.d.ts.map +1 -1
  467. package/dist/tools/kaggle/paths.js +6 -0
  468. package/dist/tools/kaggle/paths.js.map +1 -1
  469. package/dist/tools/query/CodeSearchRepairTool/CodeSearchRepairTool.d.ts.map +1 -1
  470. package/dist/tools/query/CodeSearchRepairTool/CodeSearchRepairTool.js +23 -2
  471. package/dist/tools/query/CodeSearchRepairTool/CodeSearchRepairTool.js.map +1 -1
  472. package/dist/tools/query/CodeSearchTool/CodeSearchTool.d.ts.map +1 -1
  473. package/dist/tools/query/CodeSearchTool/CodeSearchTool.js +24 -2
  474. package/dist/tools/query/CodeSearchTool/CodeSearchTool.js.map +1 -1
  475. package/dist/tools/query/SoilQueryTool/SoilQueryTool.d.ts.map +1 -1
  476. package/dist/tools/query/SoilQueryTool/SoilQueryTool.js +43 -9
  477. package/dist/tools/query/SoilQueryTool/SoilQueryTool.js.map +1 -1
  478. package/dist/tools/query/code-search-root.d.ts +8 -0
  479. package/dist/tools/query/code-search-root.d.ts.map +1 -0
  480. package/dist/tools/query/code-search-root.js +41 -0
  481. package/dist/tools/query/code-search-root.js.map +1 -0
  482. package/dist/tools/query/runtime-session-tools.d.ts +560 -0
  483. package/dist/tools/query/runtime-session-tools.d.ts.map +1 -0
  484. package/dist/tools/query/runtime-session-tools.js +1015 -0
  485. package/dist/tools/query/runtime-session-tools.js.map +1 -0
  486. package/dist/tools/runtime/LongRunningRuntimeTools.d.ts +821 -0
  487. package/dist/tools/runtime/LongRunningRuntimeTools.d.ts.map +1 -0
  488. package/dist/tools/runtime/LongRunningRuntimeTools.js +845 -0
  489. package/dist/tools/runtime/LongRunningRuntimeTools.js.map +1 -0
  490. package/dist/tools/system/ProcessSessionTool/ProcessSessionTool.d.ts +1 -0
  491. package/dist/tools/system/ProcessSessionTool/ProcessSessionTool.d.ts.map +1 -1
  492. package/dist/tools/system/ProcessSessionTool/ProcessSessionTool.js +11 -0
  493. package/dist/tools/system/ProcessSessionTool/ProcessSessionTool.js.map +1 -1
  494. package/dist/tools/system/ShellTool/ShellTool.d.ts.map +1 -1
  495. package/dist/tools/system/ShellTool/ShellTool.js +2 -1
  496. package/dist/tools/system/ShellTool/ShellTool.js.map +1 -1
  497. package/dist/tools/types.d.ts +2 -0
  498. package/dist/tools/types.d.ts.map +1 -1
  499. package/dist/tools/types.js.map +1 -1
  500. package/package.json +1 -1
  501. package/dist/base/types/cron.d.ts +0 -2
  502. package/dist/base/types/cron.d.ts.map +0 -1
  503. package/dist/base/types/cron.js +0 -3
  504. package/dist/base/types/cron.js.map +0 -1
  505. package/dist/runtime/cron-scheduler.d.ts +0 -13
  506. package/dist/runtime/cron-scheduler.d.ts.map +0 -1
  507. package/dist/runtime/cron-scheduler.js +0 -90
  508. package/dist/runtime/cron-scheduler.js.map +0 -1
  509. package/dist/runtime/types/cron.d.ts +0 -59
  510. package/dist/runtime/types/cron.d.ts.map +0 -1
  511. package/dist/runtime/types/cron.js +0 -13
  512. package/dist/runtime/types/cron.js.map +0 -1
@@ -1,5 +1,5 @@
1
- import { StateManager } from "../../base/state/state-manager.js";
2
- import { ReportingEngine } from "../../reporting/reporting-engine.js";
1
+ import type { StateManager } from "../../base/state/state-manager.js";
2
+ import type { ReportingEngine } from "../../reporting/reporting-engine.js";
3
3
  import type { ILLMClient } from "../../base/llm/llm-client.js";
4
4
  import type { IPromptGateway } from "../../prompt/gateway.js";
5
5
  import type { Task } from "../../base/types/task.js";
@@ -7,13 +7,8 @@ import type { PluginMatchResult } from "../../base/types/plugin.js";
7
7
  import type { PluginLoader } from "../../runtime/plugin-loader.js";
8
8
  import type { Capability, CapabilityRegistry, CapabilityGap, CapabilityStatus, AcquisitionContext, CapabilityAcquisitionTask, CapabilityVerificationResult, CapabilityDependency } from "../../base/types/capability.js";
9
9
  import type { AgentResult } from "../../orchestrator/execution/adapter-layer.js";
10
- export interface CapabilityAcquisitionRecommendation {
11
- pluginName: string;
12
- installSource: string;
13
- rationale: string;
14
- verificationHint: string;
15
- requiresApproval: boolean;
16
- }
10
+ import { type CapabilityAcquisitionRecommendation } from "./capability-detector/types.js";
11
+ export type { CapabilityAcquisitionRecommendation } from "./capability-detector/types.js";
17
12
  export declare class CapabilityDetector {
18
13
  private readonly stateManager;
19
14
  private readonly llmClient;
@@ -1 +1 @@
1
- {"version":3,"file":"capability-detector.d.ts","sourceRoot":"","sources":["../../../src/platform/observation/capability-detector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAKnE,OAAO,KAAK,EACV,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,yBAAyB,EACzB,4BAA4B,EAC5B,oBAAoB,EACrB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAyBjF,MAAM,WAAW,mCAAmC;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAwFD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;IACvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAiB;gBAGxC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,UAAU,EACrB,eAAe,EAAE,eAAe,EAChC,YAAY,CAAC,EAAE,YAAY,EAC3B,OAAO,CAAC,EAAE,cAAc;IAW1B;;;;OAIG;IACG,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IA+DjE;;;;;;;;OAQG;IACG,uBAAuB,CAC3B,eAAe,EAAE,MAAM,EACvB,mBAAmB,EAAE,MAAM,EAAE,EAC7B,cAAc,CAAC,EAAE,MAAM,EAAE,GACxB,OAAO,CAAC;QAAE,GAAG,EAAE,aAAa,CAAC;QAAC,UAAU,EAAE,OAAO,CAAC;QAAC,gBAAgB,CAAC,EAAE,iBAAiB,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IAuFtG;;;OAGG;IACG,mBAAmB,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAwC3E,YAAY,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAI3C,YAAY,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhF,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAI9D,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAIpE,mBAAmB,CACvB,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,EAC3D,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,IAAI,CAAC;IASV,cAAc,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvE;;;OAGG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,GAAG,OAAO;IAIxE,oBAAoB,CAAC,GAAG,EAAE,aAAa,GAAG,mCAAmC,EAAE;IAwB/E;;;OAGG;IACH,eAAe,CAAC,GAAG,EAAE,aAAa,GAAG,yBAAyB;IAiE9D;;;;OAIG;IACG,wBAAwB,CAC5B,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,yBAAyB,EAC1C,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,4BAA4B,CAAC;IAsDlC,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvE,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAI9D,mBAAmB,CAAC,YAAY,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE;IAInE,wBAAwB,CAAC,YAAY,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI;IAIzE,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CAG3E"}
1
+ {"version":3,"file":"capability-detector.d.ts","sourceRoot":"","sources":["../../../src/platform/observation/capability-detector.ts"],"names":[],"mappings":"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"}
@@ -1,80 +1,10 @@
1
- import { z } from "zod";
2
- import { CapabilityAcquisitionTaskSchema, CapabilityGapSchema, } from "../../base/types/capability.js";
1
+ import { CapabilityGapSchema } from "../../base/types/capability.js";
3
2
  import { loadRegistry, saveRegistry, registerCapability, removeCapability, findCapabilityByName, getAcquisitionHistory, setCapabilityStatus, escalateToUser, } from "./capability-registry.js";
4
- import { addDependency, getDependencies, resolveDependencies, detectCircularDependency, getAcquisitionOrder, } from "./capability-dependencies.js";
5
- // ─── Constants ───
3
+ import { addDependency, getDependencies, resolveDependencies, detectCircularDependency, getAcquisitionOrder } from "./capability-dependencies.js";
4
+ import { buildDeficiencyPrompt, buildGoalGapPrompt, buildVerificationPrompt, formatAvailableCapabilities, formatAvailableGoalCapabilities, } from "./capability-detector/prompts.js";
5
+ import { recommendAcquisition as buildRecommendations, planAcquisitionTask, } from "./capability-detector/recommendations.js";
6
+ import { DeficiencyResponseSchema, GoalCapabilityGapResponseSchema, VerificationResponseSchema, } from "./capability-detector/types.js";
6
7
  const CONSECUTIVE_FAILURE_THRESHOLD = 3;
7
- const ACQUISITION_RECOMMENDATION_RULES = [
8
- {
9
- pluginName: "postgres-datasource",
10
- installSource: "examples/plugins/postgres-datasource",
11
- capabilityTypes: ["data_source", "service"],
12
- patterns: [/\bpostgres\b/i, /\bpostgresql\b/i, /\banalytics_db\b/i, /\bdatabase\b/i, /\bsql\b/i],
13
- rationale: "Use the first-party Postgres datasource plugin for structured SQL observation.",
14
- verificationHint: "Load the plugin, configure a DSN, and confirm datasource health checks succeed.",
15
- requiresApproval: false,
16
- },
17
- {
18
- pluginName: "mysql-datasource",
19
- installSource: "examples/plugins/mysql-datasource",
20
- capabilityTypes: ["data_source", "service"],
21
- patterns: [/\bmysql\b/i],
22
- rationale: "Use the first-party MySQL datasource plugin when the gap targets MySQL-backed data.",
23
- verificationHint: "Load the plugin, configure the database, and confirm datasource connectivity.",
24
- requiresApproval: false,
25
- },
26
- {
27
- pluginName: "jira-datasource",
28
- installSource: "examples/plugins/jira-datasource",
29
- capabilityTypes: ["service", "data_source"],
30
- patterns: [/\bjira\b/i],
31
- rationale: "Use the first-party Jira datasource plugin instead of bespoke API glue.",
32
- verificationHint: "Load the plugin, configure Jira credentials, and verify plugin/API health.",
33
- requiresApproval: false,
34
- },
35
- {
36
- pluginName: "websocket-datasource",
37
- installSource: "examples/plugins/websocket-datasource",
38
- capabilityTypes: ["service", "data_source"],
39
- patterns: [/\bwebsocket\b/i, /\bws\b/i],
40
- rationale: "Use the first-party WebSocket datasource plugin for realtime observation.",
41
- verificationHint: "Load the plugin, connect to the event stream, and confirm health checks pass.",
42
- requiresApproval: false,
43
- },
44
- ];
45
- // ─── LLM response schema for deficiency detection ───
46
- const DeficiencyResponseSchema = z.union([
47
- z.object({
48
- has_deficiency: z.literal(false),
49
- }),
50
- z.object({
51
- has_deficiency: z.literal(true),
52
- missing_capability: z.object({
53
- name: z.string(),
54
- type: z.enum(["tool", "permission", "service"]),
55
- }),
56
- reason: z.string(),
57
- alternatives: z.array(z.string()),
58
- impact_description: z.string(),
59
- }),
60
- ]);
61
- // ─── LLM response schema for goal-level capability gap detection ───
62
- const GoalCapabilityGapResponseSchema = z.union([
63
- z.object({
64
- has_gap: z.literal(false),
65
- }),
66
- z.object({
67
- has_gap: z.literal(true),
68
- missing_capability: z.object({
69
- name: z.string(),
70
- type: z.enum(["tool", "permission", "service", "data_source"]),
71
- }),
72
- reason: z.string(),
73
- alternatives: z.array(z.string()),
74
- impact_description: z.string(),
75
- acquirable: z.boolean(),
76
- }),
77
- ]);
78
8
  // ─── CapabilityDetector ───
79
9
  export class CapabilityDetector {
80
10
  stateManager;
@@ -97,29 +27,8 @@ export class CapabilityDetector {
97
27
  */
98
28
  async detectDeficiency(task) {
99
29
  const registry = await this.loadRegistry();
100
- const availableCapabilities = registry.capabilities
101
- .filter((c) => c.status === "available")
102
- .map((c) => `- ${c.name} (${c.type}): ${c.description}`)
103
- .join("\n");
104
- const systemPrompt = "You are a capability analyzer for an AI orchestration system. " +
105
- "Your job is to determine whether a given task can be executed with the available capabilities. " +
106
- "Respond with valid JSON only — no markdown, no explanation outside the JSON.";
107
- const userMessage = `Analyze the following task and determine if any required capabilities are missing.\n\n` +
108
- `Task description: ${task.work_description}\n` +
109
- `Task rationale: ${task.rationale}\n` +
110
- `Task approach: ${task.approach}\n\n` +
111
- `Available capabilities:\n${availableCapabilities || "(none registered)"}\n\n` +
112
- `Respond with JSON in one of these two formats:\n` +
113
- `If all capabilities are available:\n` +
114
- `{ "has_deficiency": false }\n\n` +
115
- `If a capability is missing:\n` +
116
- `{\n` +
117
- ` "has_deficiency": true,\n` +
118
- ` "missing_capability": { "name": "<name>", "type": "tool|permission|service" },\n` +
119
- ` "reason": "<why this capability is needed>",\n` +
120
- ` "alternatives": ["<alternative approach 1>", "<alternative approach 2>"],\n` +
121
- ` "impact_description": "<impact if capability remains unavailable>"\n` +
122
- `}`;
30
+ const availableCapabilities = formatAvailableCapabilities(registry.capabilities);
31
+ const { systemPrompt, userMessage } = buildDeficiencyPrompt(task, availableCapabilities);
123
32
  let parsed;
124
33
  if (this.gateway) {
125
34
  parsed = await this.gateway.execute({
@@ -157,30 +66,8 @@ export class CapabilityDetector {
157
66
  async detectGoalCapabilityGap(goalDescription, adapterCapabilities, goalDimensions) {
158
67
  try {
159
68
  const registry = await this.loadRegistry();
160
- const registryCapabilityLines = registry.capabilities
161
- .filter((c) => c.status === "available")
162
- .map((c) => `- ${c.name} (${c.type}): ${c.description}`);
163
- const adapterCapabilityLines = adapterCapabilities.map((cap) => `- ${cap} (adapter-declared)`);
164
- const allAvailableLines = [...registryCapabilityLines, ...adapterCapabilityLines];
165
- const availableCapabilities = allAvailableLines.length > 0 ? allAvailableLines.join("\n") : "(none registered)";
166
- const systemPrompt = "You are a capability analyzer for an AI orchestration system. " +
167
- "Your job is to determine whether a given goal can be achieved with the available capabilities. " +
168
- "Respond with valid JSON only — no markdown, no explanation outside the JSON.";
169
- const userMessage = `Analyze the following goal and determine if any required capabilities are missing.\n\n` +
170
- `Goal description: ${goalDescription}\n\n` +
171
- `Available capabilities (from capability registry and declared adapter capabilities):\n${availableCapabilities}\n\n` +
172
- `Respond with JSON in one of these two formats:\n` +
173
- `If all capabilities are available:\n` +
174
- `{ "has_gap": false }\n\n` +
175
- `If a capability is missing:\n` +
176
- `{\n` +
177
- ` "has_gap": true,\n` +
178
- ` "missing_capability": { "name": "<name>", "type": "tool|permission|service|data_source" },\n` +
179
- ` "reason": "<why this capability is needed>",\n` +
180
- ` "alternatives": ["<alternative approach 1>", "<alternative approach 2>"],\n` +
181
- ` "impact_description": "<impact if capability remains unavailable>",\n` +
182
- ` "acquirable": true|false\n` +
183
- `}`;
69
+ const availableCapabilities = formatAvailableGoalCapabilities(registry.capabilities, adapterCapabilities);
70
+ const { systemPrompt, userMessage } = buildGoalGapPrompt(goalDescription, availableCapabilities);
184
71
  let parsed;
185
72
  if (this.gateway) {
186
73
  parsed = await this.gateway.execute({
@@ -293,22 +180,7 @@ export class CapabilityDetector {
293
180
  return consecutiveFailures >= CONSECUTIVE_FAILURE_THRESHOLD;
294
181
  }
295
182
  recommendAcquisition(gap) {
296
- const haystack = [
297
- gap.missing_capability.name,
298
- gap.reason,
299
- gap.impact_description,
300
- ...gap.alternatives,
301
- ].join(" ");
302
- return ACQUISITION_RECOMMENDATION_RULES
303
- .filter((rule) => rule.capabilityTypes.includes(gap.missing_capability.type) &&
304
- rule.patterns.some((pattern) => pattern.test(haystack)))
305
- .map((rule) => ({
306
- pluginName: rule.pluginName,
307
- installSource: rule.installSource,
308
- rationale: rule.rationale,
309
- verificationHint: rule.verificationHint,
310
- requiresApproval: rule.requiresApproval,
311
- }));
183
+ return buildRecommendations(gap);
312
184
  }
313
185
  // ─── planAcquisition ───
314
186
  /**
@@ -316,61 +188,8 @@ export class CapabilityDetector {
316
188
  * Pure synchronous function — no LLM needed. Rules from design doc §5.3.
317
189
  */
318
190
  planAcquisition(gap) {
319
- const capabilityName = gap.missing_capability.name;
320
- const capabilityType = gap.missing_capability.type;
321
191
  const recommendation = this.recommendAcquisition(gap)[0];
322
- let method;
323
- let task_description;
324
- if (capabilityType === "tool") {
325
- method = "tool_creation";
326
- task_description =
327
- `Create a tool named "${capabilityName}" that fulfills the following need: ${gap.reason}. ` +
328
- `The tool should be implemented and made available for use. ` +
329
- `Impact if unavailable: ${gap.impact_description}`;
330
- }
331
- else if (capabilityType === "permission") {
332
- method = "permission_request";
333
- task_description =
334
- `Request permission for "${capabilityName}" from the user or system administrator. ` +
335
- `Reason the permission is needed: ${gap.reason}. ` +
336
- `Impact if unavailable: ${gap.impact_description}`;
337
- }
338
- else if (capabilityType === "service") {
339
- method = "service_setup";
340
- task_description =
341
- `Set up the service "${capabilityName}" required for the following reason: ${gap.reason}. ` +
342
- `Configure and verify the service is operational. ` +
343
- `Impact if unavailable: ${gap.impact_description}`;
344
- }
345
- else {
346
- // data_source — treated as a form of service setup
347
- method = "service_setup";
348
- task_description =
349
- `Set up access to the data source "${capabilityName}" required for the following reason: ${gap.reason}. ` +
350
- `Configure and verify the data source is accessible. ` +
351
- `Impact if unavailable: ${gap.impact_description}`;
352
- }
353
- if (recommendation) {
354
- task_description +=
355
- ` Recommended acquisition path: install plugin "${recommendation.pluginName}" from ` +
356
- `"${recommendation.installSource}". ${recommendation.rationale} ` +
357
- `Verification hint: ${recommendation.verificationHint}`;
358
- }
359
- const successCriteria = [
360
- "capability registered in registry",
361
- `${capabilityName} is operational and accessible`,
362
- ];
363
- if (recommendation) {
364
- successCriteria.push(`recommended plugin "${recommendation.pluginName}" is installed or otherwise made available`, "follow-up replanning is triggered after the capability becomes available");
365
- }
366
- return CapabilityAcquisitionTaskSchema.parse({
367
- gap,
368
- method,
369
- task_description,
370
- success_criteria: successCriteria,
371
- verification_attempts: 0,
372
- max_verification_attempts: 3,
373
- });
192
+ return planAcquisitionTask(gap, recommendation);
374
193
  }
375
194
  // ─── verifyAcquiredCapability ───
376
195
  /**
@@ -379,26 +198,7 @@ export class CapabilityDetector {
379
198
  * Returns "pass", "fail", or "escalate" (if max verification attempts reached).
380
199
  */
381
200
  async verifyAcquiredCapability(capability, acquisitionTask, agentResult) {
382
- const systemPrompt = "You are a capability verifier for an AI orchestration system. " +
383
- "Your job is to assess whether a newly acquired capability is ready for use. " +
384
- "Respond with valid JSON only — no markdown, no explanation outside the JSON.";
385
- const userMessage = `Verify the following acquired capability.\n\n` +
386
- `Capability name: ${capability.name}\n` +
387
- `Capability type: ${capability.type}\n` +
388
- `Capability description: ${capability.description}\n\n` +
389
- `Acquisition task: ${acquisitionTask.task_description}\n` +
390
- `Success criteria: ${acquisitionTask.success_criteria.join("; ")}\n\n` +
391
- `Agent result output:\n${agentResult.output}\n\n` +
392
- `Evaluate the following three criteria:\n` +
393
- `1. Basic operation — does the capability work as described?\n` +
394
- `2. Error handling — does it handle edge cases gracefully?\n` +
395
- `3. Scope boundary — does it only do what is intended and nothing more?\n\n` +
396
- `Respond with JSON in this format:\n` +
397
- `{ "verdict": "pass" | "fail", "reason": "<explanation>" }`;
398
- const VerificationResponseSchema = z.object({
399
- verdict: z.enum(["pass", "fail"]),
400
- reason: z.string(),
401
- });
201
+ const { systemPrompt, userMessage } = buildVerificationPrompt(capability, acquisitionTask, agentResult);
402
202
  let parsed;
403
203
  if (this.gateway) {
404
204
  parsed = await this.gateway.execute({
@@ -1 +1 @@
1
- {"version":3,"file":"capability-detector.js","sourceRoot":"","sources":["../../../src/platform/observation/capability-detector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capability-detector.js","sourceRoot":"","sources":["../../../src/platform/observation/capability-detector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { ToolExecutor } from "../../../tools/executor.js";
2
+ import type { ToolCallContext } from "../../../tools/types.js";
3
+ import type { ContextItem } from "./shared.js";
4
+ export type CollectorOptions = {
5
+ cwd?: string;
6
+ maxFileContentLines?: number;
7
+ maxTotalChars?: number;
8
+ toolExecutor?: ToolExecutor;
9
+ toolContext?: Partial<ToolCallContext>;
10
+ };
11
+ export declare function collectContextItems(goalId: string, dimensionName: string, options?: CollectorOptions): Promise<ContextItem[]>;
12
+ export declare function collectChatContextParts(taskDescription: string, cwd: string, options?: Pick<CollectorOptions, "toolExecutor" | "toolContext">): Promise<string[]>;
13
+ //# sourceMappingURL=collector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../../../../src/platform/observation/context-provider/collector.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAsB/C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;CACxC,CAAC;AA2RF,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,WAAW,EAAE,CAAC,CAkDxB;AAED,wBAAsB,uBAAuB,CAC3C,eAAe,EAAE,MAAM,EACvB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,cAAc,GAAG,aAAa,CAAC,GAC/D,OAAO,CAAC,MAAM,EAAE,CAAC,CAmCnB"}
@@ -0,0 +1,259 @@
1
+ import { execFile } from "node:child_process";
2
+ import { promisify } from "node:util";
3
+ import { readFile } from "fs/promises";
4
+ import { classifyTier, sanitizeNumberedContent, tailLines, toRelativePath, } from "./shared.js";
5
+ import { dimensionNameToSearchTerms } from "./search-terms.js";
6
+ const execFileAsync = promisify(execFile);
7
+ const DEFAULT_FILE_CONTENT_LINES = 100;
8
+ const REDUCED_FILE_CONTENT_LINES = 50;
9
+ const MAX_GREP_MATCHES = 5;
10
+ const MAX_FILE_READS_PER_TERM = 3;
11
+ const MAX_CHAT_KEYWORDS = 3;
12
+ const TEST_STATUS_LABEL = "[Test status]";
13
+ const TEST_FAILURE_STATUS_LABEL = "[Test status (failures detected)]";
14
+ const WORKSPACE_GIT_LABEL = "[Recent changes: git diff HEAD~1 --stat]";
15
+ const CHAT_GIT_LABEL = "[Recent changes: git diff HEAD --stat]";
16
+ const TOOL_GIT_LABEL = "[Recent changes: git log --oneline]";
17
+ function createCollector(goalId, options) {
18
+ const cwd = options?.cwd || process.cwd();
19
+ return {
20
+ cwd,
21
+ toolExecutor: options?.toolExecutor,
22
+ ctx: {
23
+ cwd,
24
+ goalId: goalId || "context-provider",
25
+ trustBalance: 0,
26
+ preApproved: true,
27
+ approvalFn: async () => true,
28
+ ...(options?.toolContext ?? {}),
29
+ },
30
+ };
31
+ }
32
+ function toContextItem(label, content) {
33
+ return {
34
+ label,
35
+ content,
36
+ memory_tier: classifyTier(label),
37
+ };
38
+ }
39
+ async function findMatchingFiles(collector, searchRoot, term, limit) {
40
+ if (collector.toolExecutor) {
41
+ const result = await collector.toolExecutor.execute("grep", { pattern: term, path: searchRoot, glob: "*.{ts,js}", outputMode: "files_with_matches", limit }, collector.ctx);
42
+ return result.success
43
+ ? String(result.data ?? "").split("\n").filter(Boolean).slice(0, limit)
44
+ : [];
45
+ }
46
+ const { stdout } = await execFileAsync("grep", ["-rn", "--include=*.ts", "--include=*.js", "-l", term, searchRoot], { timeout: 10000 });
47
+ return stdout.trim().split("\n").filter(Boolean).slice(0, limit);
48
+ }
49
+ async function readFileExcerpt(collector, filePath, maxLines) {
50
+ if (collector.toolExecutor) {
51
+ const result = await collector.toolExecutor.execute("read", { file_path: filePath, limit: maxLines }, collector.ctx);
52
+ if (!result.success || typeof result.data !== "string") {
53
+ return [];
54
+ }
55
+ return sanitizeNumberedContent(result.data).split("\n").slice(0, maxLines);
56
+ }
57
+ const content = await readFile(filePath, "utf-8");
58
+ return content.split("\n").slice(0, maxLines);
59
+ }
60
+ async function loadCodeSearchParts(collector, dimensionName, term) {
61
+ if (!collector.toolExecutor) {
62
+ return [];
63
+ }
64
+ const searchResult = await collector.toolExecutor.execute("code_search", {
65
+ task: `${dimensionName}: ${term}`,
66
+ intent: "explain",
67
+ queryTerms: [term, dimensionName],
68
+ budget: { maxRerankCandidates: 8, maxCandidatesPerRetriever: 20 },
69
+ }, collector.ctx).catch(() => null);
70
+ const searchData = searchResult?.success && searchResult.data && typeof searchResult.data === "object"
71
+ ? searchResult.data
72
+ : null;
73
+ const candidates = searchData?.candidates?.slice(0, MAX_FILE_READS_PER_TERM) ?? [];
74
+ if (candidates.length === 0) {
75
+ return [];
76
+ }
77
+ const readResult = await collector.toolExecutor.execute("code_read_context", {
78
+ candidates,
79
+ candidateIds: candidates.map((candidate) => candidate.id),
80
+ phase: "locate",
81
+ maxReadRanges: MAX_FILE_READS_PER_TERM,
82
+ maxReadTokens: 4000,
83
+ }, collector.ctx).catch(() => null);
84
+ const bundle = readResult?.success && readResult.data && typeof readResult.data === "object"
85
+ ? readResult.data
86
+ : null;
87
+ return (bundle?.ranges ?? []).flatMap((range) => [
88
+ `[CodeSearch: ${range.file}]`,
89
+ sanitizeNumberedContent(range.content),
90
+ ]);
91
+ }
92
+ async function collectRecentChangesContent(collector, cwd) {
93
+ if (collector.toolExecutor) {
94
+ const result = await collector.toolExecutor.execute("git_log", { maxCount: 10, format: "oneline", cwd }, collector.ctx);
95
+ const logLines = result.success && Array.isArray(result.data)
96
+ ? result.data.join("\n").trim()
97
+ : "";
98
+ return logLines ? { label: TOOL_GIT_LABEL, content: logLines } : null;
99
+ }
100
+ const gitArgs = cwd === collector.cwd ? ["diff", "HEAD~1", "--stat"] : ["diff", "HEAD", "--stat"];
101
+ const { stdout } = await execFileAsync("git", gitArgs, { cwd, timeout: 10000 });
102
+ const content = cwd === collector.cwd
103
+ ? stdout.trim()
104
+ : stdout.trim().split("\n").slice(0, 30).join("\n");
105
+ if (!content) {
106
+ return null;
107
+ }
108
+ return {
109
+ label: cwd === collector.cwd ? WORKSPACE_GIT_LABEL : CHAT_GIT_LABEL,
110
+ content,
111
+ };
112
+ }
113
+ async function collectTestStatusContent(collector) {
114
+ if (collector.toolExecutor) {
115
+ const result = await collector.toolExecutor.execute("test-runner", { command: "npx vitest run --reporter=dot", timeout: 30000 }, collector.ctx);
116
+ if (result.success && result.data && typeof result.data === "object" && "rawOutput" in result.data) {
117
+ return {
118
+ label: TEST_STATUS_LABEL,
119
+ content: tailLines(result.data.rawOutput, 10),
120
+ };
121
+ }
122
+ if (result.success && typeof result.data === "string") {
123
+ return {
124
+ label: TEST_STATUS_LABEL,
125
+ content: tailLines(result.data, 10),
126
+ };
127
+ }
128
+ return null;
129
+ }
130
+ try {
131
+ const { stdout } = await execFileAsync("npx", ["vitest", "run", "--reporter=dot"], { cwd: collector.cwd, timeout: 30000 });
132
+ return { label: TEST_STATUS_LABEL, content: tailLines(stdout, 10) };
133
+ }
134
+ catch (err) {
135
+ if (typeof err === "object" && err !== null && "stdout" in err) {
136
+ const content = tailLines(err.stdout || "", 10);
137
+ return content.trim() ? { label: TEST_FAILURE_STATUS_LABEL, content } : null;
138
+ }
139
+ return null;
140
+ }
141
+ }
142
+ async function collectSearchTermItems(collector, cwd, dimensionName, term, maxTotalChars, cumulativeChars, readMaxLines) {
143
+ const items = [];
144
+ let addedChars = 0;
145
+ const codeSearchContentParts = await loadCodeSearchParts(collector, dimensionName, term);
146
+ const files = await findMatchingFiles(collector, cwd, term, MAX_GREP_MATCHES);
147
+ if (codeSearchContentParts.length > 0) {
148
+ const label = `[code_search "${term}" — structured ranges]`;
149
+ const itemContent = codeSearchContentParts.join("\n\n");
150
+ addedChars += label.length + itemContent.length;
151
+ items.push(toContextItem(label, itemContent));
152
+ }
153
+ if (files.length === 0) {
154
+ return { items, addedChars };
155
+ }
156
+ const label = `[grep "${term}" — ${files.length} files matched]`;
157
+ const contentParts = [];
158
+ let runningChars = cumulativeChars + addedChars;
159
+ for (const filePath of files.slice(0, MAX_FILE_READS_PER_TERM)) {
160
+ if (runningChars >= maxTotalChars) {
161
+ break;
162
+ }
163
+ try {
164
+ const lines = await readFileExcerpt(collector, filePath, readMaxLines());
165
+ if (lines.length > 0) {
166
+ contentParts.push(`[File: ${toRelativePath(cwd, filePath)} (${lines.length} lines)]`);
167
+ contentParts.push(lines.join("\n"));
168
+ runningChars = cumulativeChars + addedChars + label.length + contentParts.join("\n\n").length;
169
+ }
170
+ }
171
+ catch {
172
+ // skip unreadable files
173
+ }
174
+ }
175
+ const itemContent = contentParts.join("\n\n");
176
+ addedChars += label.length + itemContent.length;
177
+ items.push(toContextItem(label, itemContent));
178
+ return { items, addedChars };
179
+ }
180
+ async function maybeAppendContextItem(items, cumulativeChars, maxTotalChars, loader) {
181
+ if (cumulativeChars >= maxTotalChars) {
182
+ return cumulativeChars;
183
+ }
184
+ try {
185
+ const item = await loader();
186
+ if (!item) {
187
+ return cumulativeChars;
188
+ }
189
+ items.push(toContextItem(item.label, item.content));
190
+ return cumulativeChars + item.label.length + item.content.length;
191
+ }
192
+ catch {
193
+ return cumulativeChars;
194
+ }
195
+ }
196
+ export async function collectContextItems(goalId, dimensionName, options) {
197
+ const collector = createCollector(goalId, options);
198
+ const { cwd } = collector;
199
+ const maxTotalChars = options?.maxTotalChars ?? 32000;
200
+ let cumulativeChars = 0;
201
+ const items = [];
202
+ const effectiveMaxLines = () => {
203
+ const halfBudget = maxTotalChars / 2;
204
+ return cumulativeChars > halfBudget
205
+ ? REDUCED_FILE_CONTENT_LINES
206
+ : (options?.maxFileContentLines ?? DEFAULT_FILE_CONTENT_LINES);
207
+ };
208
+ const searchTerms = dimensionNameToSearchTerms(dimensionName);
209
+ for (const term of searchTerms) {
210
+ if (cumulativeChars >= maxTotalChars) {
211
+ break;
212
+ }
213
+ try {
214
+ const result = await collectSearchTermItems(collector, cwd, dimensionName, term, maxTotalChars, cumulativeChars, effectiveMaxLines);
215
+ items.push(...result.items);
216
+ cumulativeChars += result.addedChars;
217
+ }
218
+ catch {
219
+ // grep returns exit 1 for zero matches — ignore
220
+ }
221
+ }
222
+ cumulativeChars = await maybeAppendContextItem(items, cumulativeChars, maxTotalChars, () => collectRecentChangesContent(collector, cwd));
223
+ cumulativeChars = await maybeAppendContextItem(items, cumulativeChars, maxTotalChars, () => collectTestStatusContent(collector));
224
+ return items;
225
+ }
226
+ export async function collectChatContextParts(taskDescription, cwd, options) {
227
+ const collector = createCollector("context-provider", { cwd, ...options });
228
+ const keywords = taskDescription
229
+ .split(/\s+/)
230
+ .filter((word) => word.length >= 4)
231
+ .slice(0, MAX_CHAT_KEYWORDS);
232
+ const parts = [];
233
+ const recentChanges = await collectRecentChangesContent(collector, cwd);
234
+ if (recentChanges) {
235
+ parts.push(`${recentChanges.label}\n${recentChanges.content}`);
236
+ }
237
+ for (const keyword of keywords) {
238
+ try {
239
+ const files = await findMatchingFiles(collector, cwd, keyword, MAX_GREP_MATCHES);
240
+ for (const filePath of files.slice(0, MAX_FILE_READS_PER_TERM)) {
241
+ try {
242
+ const lines = await readFileExcerpt(collector, filePath, REDUCED_FILE_CONTENT_LINES);
243
+ if (lines.length === 0) {
244
+ continue;
245
+ }
246
+ parts.push(`[File: ${toRelativePath(cwd, filePath)} (keyword: ${keyword})]\n${lines.join("\n")}`);
247
+ }
248
+ catch {
249
+ // skip unreadable files
250
+ }
251
+ }
252
+ }
253
+ catch {
254
+ // grep no match — ignore
255
+ }
256
+ }
257
+ return parts;
258
+ }
259
+ //# sourceMappingURL=collector.js.map