attocode 0.2.4 → 0.2.6

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 (813) hide show
  1. package/CHANGELOG.md +88 -1
  2. package/dist/src/adapters.d.ts +39 -1
  3. package/dist/src/adapters.d.ts.map +1 -1
  4. package/dist/src/adapters.js +201 -16
  5. package/dist/src/adapters.js.map +1 -1
  6. package/dist/src/agent/agent-builder.d.ts +117 -0
  7. package/dist/src/agent/agent-builder.d.ts.map +1 -0
  8. package/dist/src/agent/agent-builder.js +204 -0
  9. package/dist/src/agent/agent-builder.js.map +1 -0
  10. package/dist/src/agent/feature-initializer.d.ts +80 -0
  11. package/dist/src/agent/feature-initializer.d.ts.map +1 -0
  12. package/dist/src/agent/feature-initializer.js +676 -0
  13. package/dist/src/agent/feature-initializer.js.map +1 -0
  14. package/dist/src/agent/index.d.ts +13 -0
  15. package/dist/src/agent/index.d.ts.map +1 -0
  16. package/dist/src/agent/index.js +13 -0
  17. package/dist/src/agent/index.js.map +1 -0
  18. package/dist/src/agent/message-builder.d.ts +50 -0
  19. package/dist/src/agent/message-builder.d.ts.map +1 -0
  20. package/dist/src/agent/message-builder.js +176 -0
  21. package/dist/src/agent/message-builder.js.map +1 -0
  22. package/dist/src/agent/session-api.d.ts +94 -0
  23. package/dist/src/agent/session-api.d.ts.map +1 -0
  24. package/dist/src/agent/session-api.js +264 -0
  25. package/dist/src/agent/session-api.js.map +1 -0
  26. package/dist/src/agent-tools/lsp-file-tools.d.ts +1 -1
  27. package/dist/src/agent-tools/lsp-file-tools.d.ts.map +1 -1
  28. package/dist/src/agent-tools/lsp-file-tools.js +17 -13
  29. package/dist/src/agent-tools/lsp-file-tools.js.map +1 -1
  30. package/dist/src/agent.d.ts +26 -117
  31. package/dist/src/agent.d.ts.map +1 -1
  32. package/dist/src/agent.js +239 -1249
  33. package/dist/src/agent.js.map +1 -1
  34. package/dist/src/analysis/feedback-loop.d.ts.map +1 -1
  35. package/dist/src/analysis/feedback-loop.js +13 -9
  36. package/dist/src/analysis/feedback-loop.js.map +1 -1
  37. package/dist/src/analysis/index.d.ts +1 -1
  38. package/dist/src/analysis/index.d.ts.map +1 -1
  39. package/dist/src/analysis/index.js +1 -1
  40. package/dist/src/analysis/index.js.map +1 -1
  41. package/dist/src/analysis/prompt-templates.d.ts.map +1 -1
  42. package/dist/src/analysis/prompt-templates.js.map +1 -1
  43. package/dist/src/analysis/trace-summary.d.ts.map +1 -1
  44. package/dist/src/analysis/trace-summary.js +25 -9
  45. package/dist/src/analysis/trace-summary.js.map +1 -1
  46. package/dist/src/cli.d.ts.map +1 -1
  47. package/dist/src/cli.js +4 -2
  48. package/dist/src/cli.js.map +1 -1
  49. package/dist/src/commands/agents-commands.d.ts.map +1 -1
  50. package/dist/src/commands/agents-commands.js +3 -3
  51. package/dist/src/commands/agents-commands.js.map +1 -1
  52. package/dist/src/commands/handler.d.ts.map +1 -1
  53. package/dist/src/commands/handler.js +68 -44
  54. package/dist/src/commands/handler.js.map +1 -1
  55. package/dist/src/commands/init-commands.d.ts.map +1 -1
  56. package/dist/src/commands/init-commands.js +8 -10
  57. package/dist/src/commands/init-commands.js.map +1 -1
  58. package/dist/src/commands/init.js +17 -17
  59. package/dist/src/commands/init.js.map +1 -1
  60. package/dist/src/commands/skills-commands.d.ts.map +1 -1
  61. package/dist/src/commands/skills-commands.js +10 -7
  62. package/dist/src/commands/skills-commands.js.map +1 -1
  63. package/dist/src/commands/types.d.ts.map +1 -1
  64. package/dist/src/config/config-manager.d.ts.map +1 -1
  65. package/dist/src/config/config-manager.js +4 -1
  66. package/dist/src/config/config-manager.js.map +1 -1
  67. package/dist/src/config/index.d.ts +1 -1
  68. package/dist/src/config/index.d.ts.map +1 -1
  69. package/dist/src/config/schema.d.ts +6 -6
  70. package/dist/src/config/schema.d.ts.map +1 -1
  71. package/dist/src/config/schema.js +6 -2
  72. package/dist/src/config/schema.js.map +1 -1
  73. package/dist/src/core/agent-state-machine.d.ts.map +1 -1
  74. package/dist/src/core/agent-state-machine.js +5 -2
  75. package/dist/src/core/agent-state-machine.js.map +1 -1
  76. package/dist/src/core/completion-analyzer.d.ts.map +1 -1
  77. package/dist/src/core/completion-analyzer.js +2 -2
  78. package/dist/src/core/completion-analyzer.js.map +1 -1
  79. package/dist/src/core/execution-loop.d.ts +172 -1
  80. package/dist/src/core/execution-loop.d.ts.map +1 -1
  81. package/dist/src/core/execution-loop.js +597 -360
  82. package/dist/src/core/execution-loop.js.map +1 -1
  83. package/dist/src/core/index.d.ts +2 -2
  84. package/dist/src/core/index.d.ts.map +1 -1
  85. package/dist/src/core/index.js +1 -1
  86. package/dist/src/core/index.js.map +1 -1
  87. package/dist/src/core/queues/event-queue.d.ts.map +1 -1
  88. package/dist/src/core/queues/event-queue.js.map +1 -1
  89. package/dist/src/core/response-handler.d.ts.map +1 -1
  90. package/dist/src/core/response-handler.js +20 -10
  91. package/dist/src/core/response-handler.js.map +1 -1
  92. package/dist/src/core/subagent-spawner.d.ts.map +1 -1
  93. package/dist/src/core/subagent-spawner.js +98 -59
  94. package/dist/src/core/subagent-spawner.js.map +1 -1
  95. package/dist/src/core/tool-executor.d.ts.map +1 -1
  96. package/dist/src/core/tool-executor.js +63 -27
  97. package/dist/src/core/tool-executor.js.map +1 -1
  98. package/dist/src/core/types.d.ts +1 -0
  99. package/dist/src/core/types.d.ts.map +1 -1
  100. package/dist/src/core/types.js.map +1 -1
  101. package/dist/src/costs/model-registry.js +6 -6
  102. package/dist/src/costs/model-registry.js.map +1 -1
  103. package/dist/src/defaults.d.ts.map +1 -1
  104. package/dist/src/defaults.js +67 -20
  105. package/dist/src/defaults.js.map +1 -1
  106. package/dist/src/errors/index.d.ts.map +1 -1
  107. package/dist/src/errors/index.js +6 -8
  108. package/dist/src/errors/index.js.map +1 -1
  109. package/dist/src/first-run.d.ts.map +1 -1
  110. package/dist/src/first-run.js +11 -11
  111. package/dist/src/first-run.js.map +1 -1
  112. package/dist/src/integrations/agents/agent-registry.d.ts +262 -0
  113. package/dist/src/integrations/agents/agent-registry.d.ts.map +1 -0
  114. package/dist/src/integrations/agents/agent-registry.js +686 -0
  115. package/dist/src/integrations/agents/agent-registry.js.map +1 -0
  116. package/dist/src/integrations/agents/async-subagent.d.ts +135 -0
  117. package/dist/src/integrations/agents/async-subagent.d.ts.map +1 -0
  118. package/dist/src/integrations/agents/async-subagent.js +211 -0
  119. package/dist/src/integrations/agents/async-subagent.js.map +1 -0
  120. package/dist/src/integrations/agents/complexity-classifier.d.ts +86 -0
  121. package/dist/src/integrations/agents/complexity-classifier.d.ts.map +1 -0
  122. package/dist/src/integrations/agents/complexity-classifier.js +264 -0
  123. package/dist/src/integrations/agents/complexity-classifier.js.map +1 -0
  124. package/dist/src/integrations/agents/delegation-protocol.d.ts +86 -0
  125. package/dist/src/integrations/agents/delegation-protocol.d.ts.map +1 -0
  126. package/dist/src/integrations/agents/delegation-protocol.js +127 -0
  127. package/dist/src/integrations/agents/delegation-protocol.js.map +1 -0
  128. package/dist/src/integrations/agents/multi-agent.d.ts +150 -0
  129. package/dist/src/integrations/agents/multi-agent.d.ts.map +1 -0
  130. package/dist/src/integrations/agents/multi-agent.js +302 -0
  131. package/dist/src/integrations/agents/multi-agent.js.map +1 -0
  132. package/dist/src/integrations/agents/result-synthesizer.d.ts +389 -0
  133. package/dist/src/integrations/agents/result-synthesizer.d.ts.map +1 -0
  134. package/dist/src/integrations/agents/result-synthesizer.js +953 -0
  135. package/dist/src/integrations/agents/result-synthesizer.js.map +1 -0
  136. package/dist/src/integrations/agents/shared-blackboard.d.ts +406 -0
  137. package/dist/src/integrations/agents/shared-blackboard.d.ts.map +1 -0
  138. package/dist/src/integrations/agents/shared-blackboard.js +757 -0
  139. package/dist/src/integrations/agents/shared-blackboard.js.map +1 -0
  140. package/dist/src/integrations/agents/subagent-output-store.d.ts +91 -0
  141. package/dist/src/integrations/agents/subagent-output-store.d.ts.map +1 -0
  142. package/dist/src/integrations/agents/subagent-output-store.js +256 -0
  143. package/dist/src/integrations/agents/subagent-output-store.js.map +1 -0
  144. package/dist/src/integrations/budget/budget-pool.d.ts +115 -0
  145. package/dist/src/integrations/budget/budget-pool.d.ts.map +1 -0
  146. package/dist/src/integrations/budget/budget-pool.js +201 -0
  147. package/dist/src/integrations/budget/budget-pool.js.map +1 -0
  148. package/dist/src/integrations/budget/cancellation.d.ts +229 -0
  149. package/dist/src/integrations/budget/cancellation.d.ts.map +1 -0
  150. package/dist/src/integrations/budget/cancellation.js +534 -0
  151. package/dist/src/integrations/budget/cancellation.js.map +1 -0
  152. package/dist/src/integrations/budget/dynamic-budget.d.ts +81 -0
  153. package/dist/src/integrations/budget/dynamic-budget.d.ts.map +1 -0
  154. package/dist/src/integrations/budget/dynamic-budget.js +149 -0
  155. package/dist/src/integrations/budget/dynamic-budget.js.map +1 -0
  156. package/dist/src/integrations/budget/economics.d.ts +435 -0
  157. package/dist/src/integrations/budget/economics.d.ts.map +1 -0
  158. package/dist/src/integrations/budget/economics.js +1039 -0
  159. package/dist/src/integrations/budget/economics.js.map +1 -0
  160. package/dist/src/integrations/budget/injection-budget.d.ts +71 -0
  161. package/dist/src/integrations/budget/injection-budget.d.ts.map +1 -0
  162. package/dist/src/integrations/budget/injection-budget.js +137 -0
  163. package/dist/src/integrations/budget/injection-budget.js.map +1 -0
  164. package/dist/src/integrations/budget/loop-detector.d.ts +105 -0
  165. package/dist/src/integrations/budget/loop-detector.d.ts.map +1 -0
  166. package/dist/src/integrations/budget/loop-detector.js +304 -0
  167. package/dist/src/integrations/budget/loop-detector.js.map +1 -0
  168. package/dist/src/integrations/budget/phase-tracker.d.ts +114 -0
  169. package/dist/src/integrations/budget/phase-tracker.d.ts.map +1 -0
  170. package/dist/src/integrations/budget/phase-tracker.js +265 -0
  171. package/dist/src/integrations/budget/phase-tracker.js.map +1 -0
  172. package/dist/src/integrations/budget/resources.d.ts +182 -0
  173. package/dist/src/integrations/budget/resources.d.ts.map +1 -0
  174. package/dist/src/integrations/budget/resources.js +362 -0
  175. package/dist/src/integrations/budget/resources.js.map +1 -0
  176. package/dist/src/integrations/context/auto-compaction.d.ts +210 -0
  177. package/dist/src/integrations/context/auto-compaction.d.ts.map +1 -0
  178. package/dist/src/integrations/context/auto-compaction.js +485 -0
  179. package/dist/src/integrations/context/auto-compaction.js.map +1 -0
  180. package/dist/src/integrations/context/code-analyzer.d.ts +71 -0
  181. package/dist/src/integrations/context/code-analyzer.d.ts.map +1 -0
  182. package/dist/src/integrations/context/code-analyzer.js +445 -0
  183. package/dist/src/integrations/context/code-analyzer.js.map +1 -0
  184. package/dist/src/integrations/context/code-selector.d.ts +78 -0
  185. package/dist/src/integrations/context/code-selector.d.ts.map +1 -0
  186. package/dist/src/integrations/context/code-selector.js +668 -0
  187. package/dist/src/integrations/context/code-selector.js.map +1 -0
  188. package/dist/src/integrations/context/codebase-ast.d.ts +138 -0
  189. package/dist/src/integrations/context/codebase-ast.d.ts.map +1 -0
  190. package/dist/src/integrations/context/codebase-ast.js +881 -0
  191. package/dist/src/integrations/context/codebase-ast.js.map +1 -0
  192. package/dist/src/integrations/context/codebase-context.d.ts +473 -0
  193. package/dist/src/integrations/context/codebase-context.d.ts.map +1 -0
  194. package/dist/src/integrations/context/codebase-context.js +694 -0
  195. package/dist/src/integrations/context/codebase-context.js.map +1 -0
  196. package/dist/src/integrations/context/compaction.d.ts +191 -0
  197. package/dist/src/integrations/context/compaction.d.ts.map +1 -0
  198. package/dist/src/integrations/context/compaction.js +391 -0
  199. package/dist/src/integrations/context/compaction.js.map +1 -0
  200. package/dist/src/integrations/context/context-engineering.d.ts +274 -0
  201. package/dist/src/integrations/context/context-engineering.d.ts.map +1 -0
  202. package/dist/src/integrations/context/context-engineering.js +437 -0
  203. package/dist/src/integrations/context/context-engineering.js.map +1 -0
  204. package/dist/src/integrations/context/file-cache.d.ts +97 -0
  205. package/dist/src/integrations/context/file-cache.d.ts.map +1 -0
  206. package/dist/src/integrations/context/file-cache.js +218 -0
  207. package/dist/src/integrations/context/file-cache.js.map +1 -0
  208. package/dist/src/integrations/context/semantic-cache.d.ts +178 -0
  209. package/dist/src/integrations/context/semantic-cache.d.ts.map +1 -0
  210. package/dist/src/integrations/context/semantic-cache.js +377 -0
  211. package/dist/src/integrations/context/semantic-cache.js.map +1 -0
  212. package/dist/src/integrations/index.d.ts +72 -68
  213. package/dist/src/integrations/index.d.ts.map +1 -1
  214. package/dist/src/integrations/index.js +76 -68
  215. package/dist/src/integrations/index.js.map +1 -1
  216. package/dist/src/integrations/lsp/lsp.d.ts +196 -0
  217. package/dist/src/integrations/lsp/lsp.d.ts.map +1 -0
  218. package/dist/src/integrations/lsp/lsp.js +583 -0
  219. package/dist/src/integrations/lsp/lsp.js.map +1 -0
  220. package/dist/src/integrations/mcp/mcp-client.d.ts +279 -0
  221. package/dist/src/integrations/mcp/mcp-client.d.ts.map +1 -0
  222. package/dist/src/integrations/mcp/mcp-client.js +776 -0
  223. package/dist/src/integrations/mcp/mcp-client.js.map +1 -0
  224. package/dist/src/integrations/mcp/mcp-custom-tools.d.ts +102 -0
  225. package/dist/src/integrations/mcp/mcp-custom-tools.d.ts.map +1 -0
  226. package/dist/src/integrations/mcp/mcp-custom-tools.js +232 -0
  227. package/dist/src/integrations/mcp/mcp-custom-tools.js.map +1 -0
  228. package/dist/src/integrations/mcp/mcp-tool-search.d.ts +77 -0
  229. package/dist/src/integrations/mcp/mcp-tool-search.d.ts.map +1 -0
  230. package/dist/src/integrations/mcp/mcp-tool-search.js +220 -0
  231. package/dist/src/integrations/mcp/mcp-tool-search.js.map +1 -0
  232. package/dist/src/integrations/mcp/mcp-tool-validator.d.ts +60 -0
  233. package/dist/src/integrations/mcp/mcp-tool-validator.d.ts.map +1 -0
  234. package/dist/src/integrations/mcp/mcp-tool-validator.js +139 -0
  235. package/dist/src/integrations/mcp/mcp-tool-validator.js.map +1 -0
  236. package/dist/src/integrations/persistence/codebase-repository.d.ts +45 -0
  237. package/dist/src/integrations/persistence/codebase-repository.d.ts.map +1 -0
  238. package/dist/src/integrations/persistence/codebase-repository.js +85 -0
  239. package/dist/src/integrations/persistence/codebase-repository.js.map +1 -0
  240. package/dist/src/integrations/persistence/goal-repository.d.ts +71 -0
  241. package/dist/src/integrations/persistence/goal-repository.d.ts.map +1 -0
  242. package/dist/src/integrations/persistence/goal-repository.js +187 -0
  243. package/dist/src/integrations/persistence/goal-repository.js.map +1 -0
  244. package/dist/src/integrations/persistence/history.d.ts +72 -0
  245. package/dist/src/integrations/persistence/history.d.ts.map +1 -0
  246. package/dist/src/integrations/persistence/history.js +163 -0
  247. package/dist/src/integrations/persistence/history.js.map +1 -0
  248. package/dist/src/integrations/persistence/persistence.d.ts +49 -0
  249. package/dist/src/integrations/persistence/persistence.d.ts.map +1 -0
  250. package/dist/src/integrations/persistence/persistence.js +200 -0
  251. package/dist/src/integrations/persistence/persistence.js.map +1 -0
  252. package/dist/src/integrations/persistence/session-repository.d.ts +212 -0
  253. package/dist/src/integrations/persistence/session-repository.d.ts.map +1 -0
  254. package/dist/src/integrations/persistence/session-repository.js +781 -0
  255. package/dist/src/integrations/persistence/session-repository.js.map +1 -0
  256. package/dist/src/integrations/persistence/session-store.d.ts +184 -0
  257. package/dist/src/integrations/persistence/session-store.d.ts.map +1 -0
  258. package/dist/src/integrations/persistence/session-store.js +346 -0
  259. package/dist/src/integrations/persistence/session-store.js.map +1 -0
  260. package/dist/src/integrations/persistence/sqlite-store.d.ts +453 -0
  261. package/dist/src/integrations/persistence/sqlite-store.d.ts.map +1 -0
  262. package/dist/src/integrations/persistence/sqlite-store.js +680 -0
  263. package/dist/src/integrations/persistence/sqlite-store.js.map +1 -0
  264. package/dist/src/integrations/persistence/worker-repository.d.ts +65 -0
  265. package/dist/src/integrations/persistence/worker-repository.d.ts.map +1 -0
  266. package/dist/src/integrations/persistence/worker-repository.js +181 -0
  267. package/dist/src/integrations/persistence/worker-repository.js.map +1 -0
  268. package/dist/src/integrations/quality/auto-checkpoint.d.ts +98 -0
  269. package/dist/src/integrations/quality/auto-checkpoint.d.ts.map +1 -0
  270. package/dist/src/integrations/quality/auto-checkpoint.js +250 -0
  271. package/dist/src/integrations/quality/auto-checkpoint.js.map +1 -0
  272. package/dist/src/integrations/quality/dead-letter-queue.d.ts +233 -0
  273. package/dist/src/integrations/quality/dead-letter-queue.d.ts.map +1 -0
  274. package/dist/src/integrations/quality/dead-letter-queue.js +549 -0
  275. package/dist/src/integrations/quality/dead-letter-queue.js.map +1 -0
  276. package/dist/src/integrations/quality/health-check.d.ts +218 -0
  277. package/dist/src/integrations/quality/health-check.d.ts.map +1 -0
  278. package/dist/src/integrations/quality/health-check.js +418 -0
  279. package/dist/src/integrations/quality/health-check.js.map +1 -0
  280. package/dist/src/integrations/quality/learning-store.d.ts +291 -0
  281. package/dist/src/integrations/quality/learning-store.d.ts.map +1 -0
  282. package/dist/src/integrations/quality/learning-store.js +723 -0
  283. package/dist/src/integrations/quality/learning-store.js.map +1 -0
  284. package/dist/src/integrations/quality/self-improvement.d.ts +90 -0
  285. package/dist/src/integrations/quality/self-improvement.d.ts.map +1 -0
  286. package/dist/src/integrations/quality/self-improvement.js +229 -0
  287. package/dist/src/integrations/quality/self-improvement.js.map +1 -0
  288. package/dist/src/integrations/quality/tool-recommendation.d.ts +61 -0
  289. package/dist/src/integrations/quality/tool-recommendation.d.ts.map +1 -0
  290. package/dist/src/integrations/quality/tool-recommendation.js +298 -0
  291. package/dist/src/integrations/quality/tool-recommendation.js.map +1 -0
  292. package/dist/src/integrations/safety/bash-policy.d.ts +33 -0
  293. package/dist/src/integrations/safety/bash-policy.d.ts.map +1 -0
  294. package/dist/src/integrations/safety/bash-policy.js +147 -0
  295. package/dist/src/integrations/safety/bash-policy.js.map +1 -0
  296. package/dist/src/integrations/safety/edit-validator.d.ts +30 -0
  297. package/dist/src/integrations/safety/edit-validator.d.ts.map +1 -0
  298. package/dist/src/integrations/safety/edit-validator.js +87 -0
  299. package/dist/src/integrations/safety/edit-validator.js.map +1 -0
  300. package/dist/src/integrations/safety/execution-policy.d.ts +189 -0
  301. package/dist/src/integrations/safety/execution-policy.d.ts.map +1 -0
  302. package/dist/src/integrations/safety/execution-policy.js +362 -0
  303. package/dist/src/integrations/safety/execution-policy.js.map +1 -0
  304. package/dist/src/integrations/safety/policy-engine.d.ts +55 -0
  305. package/dist/src/integrations/safety/policy-engine.d.ts.map +1 -0
  306. package/dist/src/integrations/safety/policy-engine.js +287 -0
  307. package/dist/src/integrations/safety/policy-engine.js.map +1 -0
  308. package/dist/src/integrations/safety/safety.d.ts +174 -0
  309. package/dist/src/integrations/safety/safety.d.ts.map +1 -0
  310. package/dist/src/integrations/safety/safety.js +473 -0
  311. package/dist/src/integrations/safety/safety.js.map +1 -0
  312. package/dist/src/integrations/safety/sandbox/basic.d.ts +81 -0
  313. package/dist/src/integrations/safety/sandbox/basic.d.ts.map +1 -0
  314. package/dist/src/integrations/safety/sandbox/basic.js +333 -0
  315. package/dist/src/integrations/safety/sandbox/basic.js.map +1 -0
  316. package/dist/src/integrations/safety/sandbox/docker.d.ts +94 -0
  317. package/dist/src/integrations/safety/sandbox/docker.d.ts.map +1 -0
  318. package/dist/src/integrations/safety/sandbox/docker.js +294 -0
  319. package/dist/src/integrations/safety/sandbox/docker.js.map +1 -0
  320. package/dist/src/integrations/safety/sandbox/index.d.ts +188 -0
  321. package/dist/src/integrations/safety/sandbox/index.d.ts.map +1 -0
  322. package/dist/src/integrations/safety/sandbox/index.js +410 -0
  323. package/dist/src/integrations/safety/sandbox/index.js.map +1 -0
  324. package/dist/src/integrations/safety/sandbox/landlock.d.ts +59 -0
  325. package/dist/src/integrations/safety/sandbox/landlock.d.ts.map +1 -0
  326. package/dist/src/integrations/safety/sandbox/landlock.js +333 -0
  327. package/dist/src/integrations/safety/sandbox/landlock.js.map +1 -0
  328. package/dist/src/integrations/safety/sandbox/seatbelt.d.ts +68 -0
  329. package/dist/src/integrations/safety/sandbox/seatbelt.d.ts.map +1 -0
  330. package/dist/src/integrations/safety/sandbox/seatbelt.js +291 -0
  331. package/dist/src/integrations/safety/sandbox/seatbelt.js.map +1 -0
  332. package/dist/src/integrations/safety/type-checker.d.ts +53 -0
  333. package/dist/src/integrations/safety/type-checker.d.ts.map +1 -0
  334. package/dist/src/integrations/safety/type-checker.js +146 -0
  335. package/dist/src/integrations/safety/type-checker.js.map +1 -0
  336. package/dist/src/integrations/skills/skill-executor.d.ts +113 -0
  337. package/dist/src/integrations/skills/skill-executor.d.ts.map +1 -0
  338. package/dist/src/integrations/skills/skill-executor.js +266 -0
  339. package/dist/src/integrations/skills/skill-executor.js.map +1 -0
  340. package/dist/src/integrations/skills/skills.d.ts +262 -0
  341. package/dist/src/integrations/skills/skills.d.ts.map +1 -0
  342. package/dist/src/integrations/skills/skills.js +611 -0
  343. package/dist/src/integrations/skills/skills.js.map +1 -0
  344. package/dist/src/integrations/streaming/pty-shell.d.ts +169 -0
  345. package/dist/src/integrations/streaming/pty-shell.d.ts.map +1 -0
  346. package/dist/src/integrations/streaming/pty-shell.js +371 -0
  347. package/dist/src/integrations/streaming/pty-shell.js.map +1 -0
  348. package/dist/src/integrations/streaming/streaming.d.ts +102 -0
  349. package/dist/src/integrations/streaming/streaming.d.ts.map +1 -0
  350. package/dist/src/integrations/streaming/streaming.js +364 -0
  351. package/dist/src/integrations/streaming/streaming.js.map +1 -0
  352. package/dist/src/integrations/swarm/failure-classifier.d.ts.map +1 -1
  353. package/dist/src/integrations/swarm/failure-classifier.js +18 -3
  354. package/dist/src/integrations/swarm/failure-classifier.js.map +1 -1
  355. package/dist/src/integrations/swarm/index.d.ts +6 -5
  356. package/dist/src/integrations/swarm/index.d.ts.map +1 -1
  357. package/dist/src/integrations/swarm/index.js +5 -3
  358. package/dist/src/integrations/swarm/index.js.map +1 -1
  359. package/dist/src/integrations/swarm/model-selector.d.ts.map +1 -1
  360. package/dist/src/integrations/swarm/model-selector.js +21 -24
  361. package/dist/src/integrations/swarm/model-selector.js.map +1 -1
  362. package/dist/src/integrations/swarm/request-throttle.d.ts.map +1 -1
  363. package/dist/src/integrations/swarm/request-throttle.js +7 -4
  364. package/dist/src/integrations/swarm/request-throttle.js.map +1 -1
  365. package/dist/src/integrations/swarm/swarm-budget.d.ts +1 -1
  366. package/dist/src/integrations/swarm/swarm-budget.d.ts.map +1 -1
  367. package/dist/src/integrations/swarm/swarm-budget.js +1 -1
  368. package/dist/src/integrations/swarm/swarm-budget.js.map +1 -1
  369. package/dist/src/integrations/swarm/swarm-config-loader.d.ts.map +1 -1
  370. package/dist/src/integrations/swarm/swarm-config-loader.js +53 -17
  371. package/dist/src/integrations/swarm/swarm-config-loader.js.map +1 -1
  372. package/dist/src/integrations/swarm/swarm-event-bridge.d.ts.map +1 -1
  373. package/dist/src/integrations/swarm/swarm-event-bridge.js +69 -23
  374. package/dist/src/integrations/swarm/swarm-event-bridge.js.map +1 -1
  375. package/dist/src/integrations/swarm/swarm-events.d.ts +1 -1
  376. package/dist/src/integrations/swarm/swarm-events.d.ts.map +1 -1
  377. package/dist/src/integrations/swarm/swarm-events.js +1 -1
  378. package/dist/src/integrations/swarm/swarm-events.js.map +1 -1
  379. package/dist/src/integrations/swarm/swarm-execution.d.ts +27 -0
  380. package/dist/src/integrations/swarm/swarm-execution.d.ts.map +1 -0
  381. package/dist/src/integrations/swarm/swarm-execution.js +1071 -0
  382. package/dist/src/integrations/swarm/swarm-execution.js.map +1 -0
  383. package/dist/src/integrations/swarm/swarm-helpers.d.ts +26 -0
  384. package/dist/src/integrations/swarm/swarm-helpers.d.ts.map +1 -0
  385. package/dist/src/integrations/swarm/swarm-helpers.js +108 -0
  386. package/dist/src/integrations/swarm/swarm-helpers.js.map +1 -0
  387. package/dist/src/integrations/swarm/swarm-lifecycle.d.ts +100 -0
  388. package/dist/src/integrations/swarm/swarm-lifecycle.d.ts.map +1 -0
  389. package/dist/src/integrations/swarm/swarm-lifecycle.js +977 -0
  390. package/dist/src/integrations/swarm/swarm-lifecycle.js.map +1 -0
  391. package/dist/src/integrations/swarm/swarm-orchestrator.d.ts +84 -203
  392. package/dist/src/integrations/swarm/swarm-orchestrator.d.ts.map +1 -1
  393. package/dist/src/integrations/swarm/swarm-orchestrator.js +338 -2899
  394. package/dist/src/integrations/swarm/swarm-orchestrator.js.map +1 -1
  395. package/dist/src/integrations/swarm/swarm-quality-gate.d.ts.map +1 -1
  396. package/dist/src/integrations/swarm/swarm-quality-gate.js +19 -15
  397. package/dist/src/integrations/swarm/swarm-quality-gate.js.map +1 -1
  398. package/dist/src/integrations/swarm/swarm-recovery.d.ts +75 -0
  399. package/dist/src/integrations/swarm/swarm-recovery.d.ts.map +1 -0
  400. package/dist/src/integrations/swarm/swarm-recovery.js +563 -0
  401. package/dist/src/integrations/swarm/swarm-recovery.js.map +1 -0
  402. package/dist/src/integrations/swarm/swarm-state-store.d.ts.map +1 -1
  403. package/dist/src/integrations/swarm/swarm-state-store.js +8 -0
  404. package/dist/src/integrations/swarm/swarm-state-store.js.map +1 -1
  405. package/dist/src/integrations/swarm/task-queue.d.ts +8 -2
  406. package/dist/src/integrations/swarm/task-queue.d.ts.map +1 -1
  407. package/dist/src/integrations/swarm/task-queue.js +60 -26
  408. package/dist/src/integrations/swarm/task-queue.js.map +1 -1
  409. package/dist/src/integrations/swarm/types.d.ts +17 -5
  410. package/dist/src/integrations/swarm/types.d.ts.map +1 -1
  411. package/dist/src/integrations/swarm/types.js +89 -12
  412. package/dist/src/integrations/swarm/types.js.map +1 -1
  413. package/dist/src/integrations/swarm/worker-pool.d.ts +1 -1
  414. package/dist/src/integrations/swarm/worker-pool.d.ts.map +1 -1
  415. package/dist/src/integrations/swarm/worker-pool.js +43 -31
  416. package/dist/src/integrations/swarm/worker-pool.js.map +1 -1
  417. package/dist/src/integrations/tasks/dependency-analyzer.d.ts +34 -0
  418. package/dist/src/integrations/tasks/dependency-analyzer.d.ts.map +1 -0
  419. package/dist/src/integrations/tasks/dependency-analyzer.js +231 -0
  420. package/dist/src/integrations/tasks/dependency-analyzer.js.map +1 -0
  421. package/dist/src/integrations/tasks/interactive-planning.d.ts +322 -0
  422. package/dist/src/integrations/tasks/interactive-planning.d.ts.map +1 -0
  423. package/dist/src/integrations/tasks/interactive-planning.js +648 -0
  424. package/dist/src/integrations/tasks/interactive-planning.js.map +1 -0
  425. package/dist/src/integrations/tasks/pending-plan.d.ts +196 -0
  426. package/dist/src/integrations/tasks/pending-plan.d.ts.map +1 -0
  427. package/dist/src/integrations/tasks/pending-plan.js +431 -0
  428. package/dist/src/integrations/tasks/pending-plan.js.map +1 -0
  429. package/dist/src/integrations/tasks/planning.d.ts +115 -0
  430. package/dist/src/integrations/tasks/planning.d.ts.map +1 -0
  431. package/dist/src/integrations/tasks/planning.js +432 -0
  432. package/dist/src/integrations/tasks/planning.js.map +1 -0
  433. package/dist/src/integrations/tasks/smart-decomposer.d.ts +316 -0
  434. package/dist/src/integrations/tasks/smart-decomposer.d.ts.map +1 -0
  435. package/dist/src/integrations/tasks/smart-decomposer.js +668 -0
  436. package/dist/src/integrations/tasks/smart-decomposer.js.map +1 -0
  437. package/dist/src/integrations/tasks/task-manager.d.ts +164 -0
  438. package/dist/src/integrations/tasks/task-manager.d.ts.map +1 -0
  439. package/dist/src/integrations/tasks/task-manager.js +390 -0
  440. package/dist/src/integrations/tasks/task-manager.js.map +1 -0
  441. package/dist/src/integrations/tasks/task-splitter.d.ts +56 -0
  442. package/dist/src/integrations/tasks/task-splitter.d.ts.map +1 -0
  443. package/dist/src/integrations/tasks/task-splitter.js +542 -0
  444. package/dist/src/integrations/tasks/task-splitter.js.map +1 -0
  445. package/dist/src/integrations/tasks/verification-gate.d.ts +103 -0
  446. package/dist/src/integrations/tasks/verification-gate.d.ts.map +1 -0
  447. package/dist/src/integrations/tasks/verification-gate.js +195 -0
  448. package/dist/src/integrations/tasks/verification-gate.js.map +1 -0
  449. package/dist/src/integrations/tasks/work-log.d.ts +87 -0
  450. package/dist/src/integrations/tasks/work-log.d.ts.map +1 -0
  451. package/dist/src/integrations/tasks/work-log.js +287 -0
  452. package/dist/src/integrations/tasks/work-log.js.map +1 -0
  453. package/dist/src/integrations/utilities/capabilities.d.ts +160 -0
  454. package/dist/src/integrations/utilities/capabilities.d.ts.map +1 -0
  455. package/dist/src/integrations/utilities/capabilities.js +464 -0
  456. package/dist/src/integrations/utilities/capabilities.js.map +1 -0
  457. package/dist/src/integrations/utilities/diff-utils.d.ts +105 -0
  458. package/dist/src/integrations/utilities/diff-utils.d.ts.map +1 -0
  459. package/dist/src/integrations/utilities/diff-utils.js +496 -0
  460. package/dist/src/integrations/utilities/diff-utils.js.map +1 -0
  461. package/dist/src/integrations/utilities/environment-facts.d.ts +52 -0
  462. package/dist/src/integrations/utilities/environment-facts.d.ts.map +1 -0
  463. package/dist/src/integrations/utilities/environment-facts.js +94 -0
  464. package/dist/src/integrations/utilities/environment-facts.js.map +1 -0
  465. package/dist/src/integrations/utilities/file-change-tracker.d.ts +162 -0
  466. package/dist/src/integrations/utilities/file-change-tracker.d.ts.map +1 -0
  467. package/dist/src/integrations/utilities/file-change-tracker.js +537 -0
  468. package/dist/src/integrations/utilities/file-change-tracker.js.map +1 -0
  469. package/dist/src/integrations/utilities/graph-visualization.d.ts +72 -0
  470. package/dist/src/integrations/utilities/graph-visualization.d.ts.map +1 -0
  471. package/dist/src/integrations/utilities/graph-visualization.js +385 -0
  472. package/dist/src/integrations/utilities/graph-visualization.js.map +1 -0
  473. package/dist/src/integrations/utilities/hierarchical-config.d.ts +215 -0
  474. package/dist/src/integrations/utilities/hierarchical-config.d.ts.map +1 -0
  475. package/dist/src/integrations/utilities/hierarchical-config.js +508 -0
  476. package/dist/src/integrations/utilities/hierarchical-config.js.map +1 -0
  477. package/dist/src/integrations/utilities/hooks.d.ts +116 -0
  478. package/dist/src/integrations/utilities/hooks.d.ts.map +1 -0
  479. package/dist/src/integrations/utilities/hooks.js +410 -0
  480. package/dist/src/integrations/utilities/hooks.js.map +1 -0
  481. package/dist/src/integrations/utilities/ignore.d.ts +143 -0
  482. package/dist/src/integrations/utilities/ignore.d.ts.map +1 -0
  483. package/dist/src/integrations/utilities/ignore.js +417 -0
  484. package/dist/src/integrations/utilities/ignore.js.map +1 -0
  485. package/dist/src/integrations/utilities/image-renderer.d.ts +119 -0
  486. package/dist/src/integrations/utilities/image-renderer.d.ts.map +1 -0
  487. package/dist/src/integrations/utilities/image-renderer.js +301 -0
  488. package/dist/src/integrations/utilities/image-renderer.js.map +1 -0
  489. package/dist/src/integrations/utilities/logger.d.ts +104 -0
  490. package/dist/src/integrations/utilities/logger.d.ts.map +1 -0
  491. package/dist/src/integrations/utilities/logger.js +217 -0
  492. package/dist/src/integrations/utilities/logger.js.map +1 -0
  493. package/dist/src/integrations/utilities/memory.d.ts +116 -0
  494. package/dist/src/integrations/utilities/memory.d.ts.map +1 -0
  495. package/dist/src/integrations/utilities/memory.js +309 -0
  496. package/dist/src/integrations/utilities/memory.js.map +1 -0
  497. package/dist/src/integrations/utilities/observability.d.ts +162 -0
  498. package/dist/src/integrations/utilities/observability.d.ts.map +1 -0
  499. package/dist/src/integrations/utilities/observability.js +408 -0
  500. package/dist/src/integrations/utilities/observability.js.map +1 -0
  501. package/dist/src/integrations/utilities/openrouter-pricing.d.ts +67 -0
  502. package/dist/src/integrations/utilities/openrouter-pricing.d.ts.map +1 -0
  503. package/dist/src/integrations/utilities/openrouter-pricing.js +166 -0
  504. package/dist/src/integrations/utilities/openrouter-pricing.js.map +1 -0
  505. package/dist/src/integrations/utilities/react.d.ts +139 -0
  506. package/dist/src/integrations/utilities/react.d.ts.map +1 -0
  507. package/dist/src/integrations/utilities/react.js +269 -0
  508. package/dist/src/integrations/utilities/react.js.map +1 -0
  509. package/dist/src/integrations/utilities/retry.d.ts +132 -0
  510. package/dist/src/integrations/utilities/retry.d.ts.map +1 -0
  511. package/dist/src/integrations/utilities/retry.js +233 -0
  512. package/dist/src/integrations/utilities/retry.js.map +1 -0
  513. package/dist/src/integrations/utilities/routing.d.ts +118 -0
  514. package/dist/src/integrations/utilities/routing.d.ts.map +1 -0
  515. package/dist/src/integrations/utilities/routing.js +360 -0
  516. package/dist/src/integrations/utilities/routing.js.map +1 -0
  517. package/dist/src/integrations/utilities/rules.d.ts +131 -0
  518. package/dist/src/integrations/utilities/rules.d.ts.map +1 -0
  519. package/dist/src/integrations/utilities/rules.js +282 -0
  520. package/dist/src/integrations/utilities/rules.js.map +1 -0
  521. package/dist/src/integrations/utilities/sourcegraph.d.ts +169 -0
  522. package/dist/src/integrations/utilities/sourcegraph.d.ts.map +1 -0
  523. package/dist/src/integrations/utilities/sourcegraph.js +377 -0
  524. package/dist/src/integrations/utilities/sourcegraph.js.map +1 -0
  525. package/dist/src/integrations/utilities/thinking-strategy.d.ts +52 -0
  526. package/dist/src/integrations/utilities/thinking-strategy.d.ts.map +1 -0
  527. package/dist/src/integrations/utilities/thinking-strategy.js +129 -0
  528. package/dist/src/integrations/utilities/thinking-strategy.js.map +1 -0
  529. package/dist/src/integrations/utilities/thread-manager.d.ts +199 -0
  530. package/dist/src/integrations/utilities/thread-manager.d.ts.map +1 -0
  531. package/dist/src/integrations/utilities/thread-manager.js +359 -0
  532. package/dist/src/integrations/utilities/thread-manager.js.map +1 -0
  533. package/dist/src/integrations/utilities/token-estimate.d.ts +16 -0
  534. package/dist/src/integrations/utilities/token-estimate.d.ts.map +1 -0
  535. package/dist/src/integrations/utilities/token-estimate.js +20 -0
  536. package/dist/src/integrations/utilities/token-estimate.js.map +1 -0
  537. package/dist/src/main.js +50 -27
  538. package/dist/src/main.js.map +1 -1
  539. package/dist/src/modes/repl.d.ts.map +1 -1
  540. package/dist/src/modes/repl.js +73 -22
  541. package/dist/src/modes/repl.js.map +1 -1
  542. package/dist/src/modes/tui.d.ts.map +1 -1
  543. package/dist/src/modes/tui.js +93 -16
  544. package/dist/src/modes/tui.js.map +1 -1
  545. package/dist/src/modes.d.ts.map +1 -1
  546. package/dist/src/modes.js +14 -14
  547. package/dist/src/modes.js.map +1 -1
  548. package/dist/src/observability/tracer.d.ts.map +1 -1
  549. package/dist/src/observability/tracer.js +8 -4
  550. package/dist/src/observability/tracer.js.map +1 -1
  551. package/dist/src/observability/types.d.ts.map +1 -1
  552. package/dist/src/observability/types.js.map +1 -1
  553. package/dist/src/paths.d.ts.map +1 -1
  554. package/dist/src/paths.js +2 -6
  555. package/dist/src/paths.js.map +1 -1
  556. package/dist/src/persistence/migrator.d.ts.map +1 -1
  557. package/dist/src/persistence/migrator.js +7 -7
  558. package/dist/src/persistence/migrator.js.map +1 -1
  559. package/dist/src/persistence/schema.d.ts +2 -0
  560. package/dist/src/persistence/schema.d.ts.map +1 -1
  561. package/dist/src/persistence/schema.js +31 -0
  562. package/dist/src/persistence/schema.js.map +1 -1
  563. package/dist/src/providers/adapters/anthropic.d.ts +6 -0
  564. package/dist/src/providers/adapters/anthropic.d.ts.map +1 -1
  565. package/dist/src/providers/adapters/anthropic.js +132 -36
  566. package/dist/src/providers/adapters/anthropic.js.map +1 -1
  567. package/dist/src/providers/adapters/azure.d.ts +74 -0
  568. package/dist/src/providers/adapters/azure.d.ts.map +1 -0
  569. package/dist/src/providers/adapters/azure.js +369 -0
  570. package/dist/src/providers/adapters/azure.js.map +1 -0
  571. package/dist/src/providers/adapters/mock.d.ts +16 -2
  572. package/dist/src/providers/adapters/mock.d.ts.map +1 -1
  573. package/dist/src/providers/adapters/mock.js +51 -10
  574. package/dist/src/providers/adapters/mock.js.map +1 -1
  575. package/dist/src/providers/adapters/openai.d.ts +6 -1
  576. package/dist/src/providers/adapters/openai.d.ts.map +1 -1
  577. package/dist/src/providers/adapters/openai.js +57 -19
  578. package/dist/src/providers/adapters/openai.js.map +1 -1
  579. package/dist/src/providers/adapters/openrouter.d.ts +6 -0
  580. package/dist/src/providers/adapters/openrouter.d.ts.map +1 -1
  581. package/dist/src/providers/adapters/openrouter.js +127 -30
  582. package/dist/src/providers/adapters/openrouter.js.map +1 -1
  583. package/dist/src/providers/circuit-breaker.d.ts.map +1 -1
  584. package/dist/src/providers/circuit-breaker.js +4 -3
  585. package/dist/src/providers/circuit-breaker.js.map +1 -1
  586. package/dist/src/providers/fallback-chain.d.ts.map +1 -1
  587. package/dist/src/providers/fallback-chain.js +3 -3
  588. package/dist/src/providers/fallback-chain.js.map +1 -1
  589. package/dist/src/providers/llm-resilience.d.ts.map +1 -1
  590. package/dist/src/providers/llm-resilience.js +2 -2
  591. package/dist/src/providers/llm-resilience.js.map +1 -1
  592. package/dist/src/providers/provider.d.ts.map +1 -1
  593. package/dist/src/providers/provider.js +2 -3
  594. package/dist/src/providers/provider.js.map +1 -1
  595. package/dist/src/providers/resilient-fetch.d.ts.map +1 -1
  596. package/dist/src/providers/resilient-fetch.js +3 -4
  597. package/dist/src/providers/resilient-fetch.js.map +1 -1
  598. package/dist/src/providers/resilient-provider.d.ts.map +1 -1
  599. package/dist/src/providers/resilient-provider.js +9 -6
  600. package/dist/src/providers/resilient-provider.js.map +1 -1
  601. package/dist/src/providers/types.d.ts +23 -2
  602. package/dist/src/providers/types.d.ts.map +1 -1
  603. package/dist/src/session-picker.d.ts +1 -1
  604. package/dist/src/session-picker.d.ts.map +1 -1
  605. package/dist/src/session-picker.js +10 -6
  606. package/dist/src/session-picker.js.map +1 -1
  607. package/dist/src/shared/budget-tracker.d.ts.map +1 -1
  608. package/dist/src/shared/budget-tracker.js +2 -2
  609. package/dist/src/shared/budget-tracker.js.map +1 -1
  610. package/dist/src/shared/context-engine.d.ts.map +1 -1
  611. package/dist/src/shared/context-engine.js +1 -1
  612. package/dist/src/shared/context-engine.js.map +1 -1
  613. package/dist/src/shared/persistence.d.ts.map +1 -1
  614. package/dist/src/shared/persistence.js +2 -6
  615. package/dist/src/shared/persistence.js.map +1 -1
  616. package/dist/src/shared/shared-context-state.d.ts.map +1 -1
  617. package/dist/src/shared/shared-context-state.js.map +1 -1
  618. package/dist/src/shared/shared-economics-state.d.ts.map +1 -1
  619. package/dist/src/shared/shared-economics-state.js.map +1 -1
  620. package/dist/src/tools/agent.d.ts +2 -2
  621. package/dist/src/tools/agent.d.ts.map +1 -1
  622. package/dist/src/tools/agent.js +10 -7
  623. package/dist/src/tools/agent.js.map +1 -1
  624. package/dist/src/tools/bash.d.ts.map +1 -1
  625. package/dist/src/tools/bash.js +1 -1
  626. package/dist/src/tools/bash.js.map +1 -1
  627. package/dist/src/tools/coercion.js +1 -1
  628. package/dist/src/tools/coercion.js.map +1 -1
  629. package/dist/src/tools/file.d.ts.map +1 -1
  630. package/dist/src/tools/file.js +2 -2
  631. package/dist/src/tools/file.js.map +1 -1
  632. package/dist/src/tools/permission.js +7 -8
  633. package/dist/src/tools/permission.js.map +1 -1
  634. package/dist/src/tools/registry.d.ts +1 -1
  635. package/dist/src/tools/registry.d.ts.map +1 -1
  636. package/dist/src/tools/registry.js +4 -6
  637. package/dist/src/tools/registry.js.map +1 -1
  638. package/dist/src/tools/standard.d.ts.map +1 -1
  639. package/dist/src/tools/standard.js +1 -3
  640. package/dist/src/tools/standard.js.map +1 -1
  641. package/dist/src/tools/tasks.d.ts +1 -1
  642. package/dist/src/tools/tasks.d.ts.map +1 -1
  643. package/dist/src/tools/tasks.js +4 -4
  644. package/dist/src/tools/tasks.js.map +1 -1
  645. package/dist/src/tools/types.d.ts.map +1 -1
  646. package/dist/src/tools/types.js +5 -1
  647. package/dist/src/tools/types.js.map +1 -1
  648. package/dist/src/tools/undo.d.ts +1 -1
  649. package/dist/src/tools/undo.d.ts.map +1 -1
  650. package/dist/src/tools/undo.js +4 -2
  651. package/dist/src/tools/undo.js.map +1 -1
  652. package/dist/src/tracing/cache-boundary-tracker.d.ts.map +1 -1
  653. package/dist/src/tracing/cache-boundary-tracker.js +9 -13
  654. package/dist/src/tracing/cache-boundary-tracker.js.map +1 -1
  655. package/dist/src/tracing/trace-collector.d.ts +22 -0
  656. package/dist/src/tracing/trace-collector.d.ts.map +1 -1
  657. package/dist/src/tracing/trace-collector.js +55 -31
  658. package/dist/src/tracing/trace-collector.js.map +1 -1
  659. package/dist/src/tracing/types.d.ts +17 -1
  660. package/dist/src/tracing/types.d.ts.map +1 -1
  661. package/dist/src/tracing/types.js.map +1 -1
  662. package/dist/src/tricks/failure-evidence.d.ts.map +1 -1
  663. package/dist/src/tricks/failure-evidence.js +17 -27
  664. package/dist/src/tricks/failure-evidence.js.map +1 -1
  665. package/dist/src/tricks/json-utils.d.ts.map +1 -1
  666. package/dist/src/tricks/json-utils.js +1 -4
  667. package/dist/src/tricks/json-utils.js.map +1 -1
  668. package/dist/src/tricks/kv-cache-context.d.ts.map +1 -1
  669. package/dist/src/tricks/kv-cache-context.js +2 -3
  670. package/dist/src/tricks/kv-cache-context.js.map +1 -1
  671. package/dist/src/tricks/recitation.d.ts.map +1 -1
  672. package/dist/src/tricks/recitation.js +24 -19
  673. package/dist/src/tricks/recitation.js.map +1 -1
  674. package/dist/src/tricks/recursive-context.d.ts.map +1 -1
  675. package/dist/src/tricks/recursive-context.js +10 -7
  676. package/dist/src/tricks/recursive-context.js.map +1 -1
  677. package/dist/src/tricks/reversible-compaction.d.ts.map +1 -1
  678. package/dist/src/tricks/reversible-compaction.js +17 -9
  679. package/dist/src/tricks/reversible-compaction.js.map +1 -1
  680. package/dist/src/tricks/serialization-diversity.d.ts.map +1 -1
  681. package/dist/src/tricks/serialization-diversity.js +12 -12
  682. package/dist/src/tricks/serialization-diversity.js.map +1 -1
  683. package/dist/src/tui/app.d.ts +9 -5
  684. package/dist/src/tui/app.d.ts.map +1 -1
  685. package/dist/src/tui/app.js +690 -565
  686. package/dist/src/tui/app.js.map +1 -1
  687. package/dist/src/tui/components/ActiveAgentsPanel.d.ts +2 -0
  688. package/dist/src/tui/components/ActiveAgentsPanel.d.ts.map +1 -1
  689. package/dist/src/tui/components/ActiveAgentsPanel.js +5 -5
  690. package/dist/src/tui/components/ActiveAgentsPanel.js.map +1 -1
  691. package/dist/src/tui/components/ApprovalDialog.d.ts.map +1 -1
  692. package/dist/src/tui/components/ApprovalDialog.js +14 -0
  693. package/dist/src/tui/components/ApprovalDialog.js.map +1 -1
  694. package/dist/src/tui/components/BudgetExtensionDialog.d.ts +18 -0
  695. package/dist/src/tui/components/BudgetExtensionDialog.d.ts.map +1 -0
  696. package/dist/src/tui/components/BudgetExtensionDialog.js +40 -0
  697. package/dist/src/tui/components/BudgetExtensionDialog.js.map +1 -0
  698. package/dist/src/tui/components/CollapsibleDiffView.d.ts +1 -1
  699. package/dist/src/tui/components/CollapsibleDiffView.d.ts.map +1 -1
  700. package/dist/src/tui/components/CollapsibleDiffView.js +18 -13
  701. package/dist/src/tui/components/CollapsibleDiffView.js.map +1 -1
  702. package/dist/src/tui/components/DebugPanel.d.ts.map +1 -1
  703. package/dist/src/tui/components/DebugPanel.js +46 -26
  704. package/dist/src/tui/components/DebugPanel.js.map +1 -1
  705. package/dist/src/tui/components/DiagnosticsPanel.d.ts +24 -0
  706. package/dist/src/tui/components/DiagnosticsPanel.d.ts.map +1 -0
  707. package/dist/src/tui/components/DiagnosticsPanel.js +63 -0
  708. package/dist/src/tui/components/DiagnosticsPanel.js.map +1 -0
  709. package/dist/src/tui/components/DiffView.d.ts +1 -1
  710. package/dist/src/tui/components/DiffView.d.ts.map +1 -1
  711. package/dist/src/tui/components/DiffView.js +21 -14
  712. package/dist/src/tui/components/DiffView.js.map +1 -1
  713. package/dist/src/tui/components/ErrorBoundary.d.ts.map +1 -1
  714. package/dist/src/tui/components/ErrorBoundary.js +8 -3
  715. package/dist/src/tui/components/ErrorBoundary.js.map +1 -1
  716. package/dist/src/tui/components/ErrorDetailPanel.d.ts.map +1 -1
  717. package/dist/src/tui/components/ErrorDetailPanel.js +4 -4
  718. package/dist/src/tui/components/ErrorDetailPanel.js.map +1 -1
  719. package/dist/src/tui/components/FileChangeSummary.d.ts.map +1 -1
  720. package/dist/src/tui/components/FileChangeSummary.js +3 -3
  721. package/dist/src/tui/components/FileChangeSummary.js.map +1 -1
  722. package/dist/src/tui/components/InputArea.d.ts.map +1 -1
  723. package/dist/src/tui/components/InputArea.js +32 -15
  724. package/dist/src/tui/components/InputArea.js.map +1 -1
  725. package/dist/src/tui/components/LearningValidationDialog.d.ts +25 -0
  726. package/dist/src/tui/components/LearningValidationDialog.d.ts.map +1 -0
  727. package/dist/src/tui/components/LearningValidationDialog.js +35 -0
  728. package/dist/src/tui/components/LearningValidationDialog.js.map +1 -0
  729. package/dist/src/tui/components/MessageItem.d.ts.map +1 -1
  730. package/dist/src/tui/components/MessageItem.js.map +1 -1
  731. package/dist/src/tui/components/PlanPanel.d.ts +27 -0
  732. package/dist/src/tui/components/PlanPanel.d.ts.map +1 -0
  733. package/dist/src/tui/components/PlanPanel.js +45 -0
  734. package/dist/src/tui/components/PlanPanel.js.map +1 -0
  735. package/dist/src/tui/components/ScrollableBox.d.ts.map +1 -1
  736. package/dist/src/tui/components/ScrollableBox.js +2 -2
  737. package/dist/src/tui/components/ScrollableBox.js.map +1 -1
  738. package/dist/src/tui/components/SideBySideDiff.d.ts.map +1 -1
  739. package/dist/src/tui/components/SideBySideDiff.js +20 -18
  740. package/dist/src/tui/components/SideBySideDiff.js.map +1 -1
  741. package/dist/src/tui/components/StatusBar.d.ts +41 -0
  742. package/dist/src/tui/components/StatusBar.d.ts.map +1 -0
  743. package/dist/src/tui/components/StatusBar.js +114 -0
  744. package/dist/src/tui/components/StatusBar.js.map +1 -0
  745. package/dist/src/tui/components/SwarmStatusPanel.d.ts.map +1 -1
  746. package/dist/src/tui/components/SwarmStatusPanel.js +25 -17
  747. package/dist/src/tui/components/SwarmStatusPanel.js.map +1 -1
  748. package/dist/src/tui/components/TasksPanel.d.ts +1 -1
  749. package/dist/src/tui/components/TasksPanel.d.ts.map +1 -1
  750. package/dist/src/tui/components/TasksPanel.js +12 -11
  751. package/dist/src/tui/components/TasksPanel.js.map +1 -1
  752. package/dist/src/tui/components/ToolCallItem.d.ts.map +1 -1
  753. package/dist/src/tui/components/ToolCallItem.js +19 -6
  754. package/dist/src/tui/components/ToolCallItem.js.map +1 -1
  755. package/dist/src/tui/components/ToolCallsPanel.d.ts +15 -0
  756. package/dist/src/tui/components/ToolCallsPanel.d.ts.map +1 -0
  757. package/dist/src/tui/components/ToolCallsPanel.js +34 -0
  758. package/dist/src/tui/components/ToolCallsPanel.js.map +1 -0
  759. package/dist/src/tui/components/TransparencyPanel.d.ts +15 -0
  760. package/dist/src/tui/components/TransparencyPanel.d.ts.map +1 -0
  761. package/dist/src/tui/components/TransparencyPanel.js +46 -0
  762. package/dist/src/tui/components/TransparencyPanel.js.map +1 -0
  763. package/dist/src/tui/components/index.d.ts +8 -2
  764. package/dist/src/tui/components/index.d.ts.map +1 -1
  765. package/dist/src/tui/components/index.js +14 -2
  766. package/dist/src/tui/components/index.js.map +1 -1
  767. package/dist/src/tui/event-display.d.ts.map +1 -1
  768. package/dist/src/tui/event-display.js +13 -4
  769. package/dist/src/tui/event-display.js.map +1 -1
  770. package/dist/src/tui/hooks/index.d.ts +1 -0
  771. package/dist/src/tui/hooks/index.d.ts.map +1 -1
  772. package/dist/src/tui/hooks/index.js +1 -0
  773. package/dist/src/tui/hooks/index.js.map +1 -1
  774. package/dist/src/tui/hooks/use-agent-events.d.ts +53 -0
  775. package/dist/src/tui/hooks/use-agent-events.d.ts.map +1 -0
  776. package/dist/src/tui/hooks/use-agent-events.js +444 -0
  777. package/dist/src/tui/hooks/use-agent-events.js.map +1 -0
  778. package/dist/src/tui/hooks/use-throttled-state.d.ts +18 -0
  779. package/dist/src/tui/hooks/use-throttled-state.d.ts.map +1 -0
  780. package/dist/src/tui/hooks/use-throttled-state.js +93 -0
  781. package/dist/src/tui/hooks/use-throttled-state.js.map +1 -0
  782. package/dist/src/tui/hooks/useMessagePruning.d.ts.map +1 -1
  783. package/dist/src/tui/hooks/useMessagePruning.js.map +1 -1
  784. package/dist/src/tui/index.d.ts +2 -2
  785. package/dist/src/tui/index.d.ts.map +1 -1
  786. package/dist/src/tui/index.js +102 -7
  787. package/dist/src/tui/index.js.map +1 -1
  788. package/dist/src/tui/input/CommandPalette.d.ts.map +1 -1
  789. package/dist/src/tui/input/CommandPalette.js +2 -2
  790. package/dist/src/tui/input/CommandPalette.js.map +1 -1
  791. package/dist/src/tui/input/index.d.ts +1 -1
  792. package/dist/src/tui/input/index.d.ts.map +1 -1
  793. package/dist/src/tui/input/index.js +1 -1
  794. package/dist/src/tui/input/index.js.map +1 -1
  795. package/dist/src/tui/syntax/languages/bash.js +94 -16
  796. package/dist/src/tui/syntax/languages/bash.js.map +1 -1
  797. package/dist/src/tui/syntax/languages/javascript.js +65 -12
  798. package/dist/src/tui/syntax/languages/javascript.js.map +1 -1
  799. package/dist/src/tui/syntax/languages/json.js.map +1 -1
  800. package/dist/src/tui/syntax/languages/python.js +81 -15
  801. package/dist/src/tui/syntax/languages/python.js.map +1 -1
  802. package/dist/src/tui/theme/index.js.map +1 -1
  803. package/dist/src/tui/transparency-aggregator.d.ts +13 -0
  804. package/dist/src/tui/transparency-aggregator.d.ts.map +1 -1
  805. package/dist/src/tui/transparency-aggregator.js +39 -4
  806. package/dist/src/tui/transparency-aggregator.js.map +1 -1
  807. package/dist/src/tui/types.d.ts.map +1 -1
  808. package/dist/src/tui/types.js.map +1 -1
  809. package/dist/src/tui/utils/keyboard.d.ts.map +1 -1
  810. package/dist/src/tui/utils/keyboard.js.map +1 -1
  811. package/dist/src/types.d.ts +39 -2
  812. package/dist/src/types.d.ts.map +1 -1
  813. package/package.json +1 -1
@@ -0,0 +1,680 @@
1
+ /**
2
+ * SQLite Session Store
3
+ *
4
+ * Alternative backend for session persistence using SQLite.
5
+ * Provides better query performance and ACID guarantees.
6
+ *
7
+ * Implementation is split across repository modules:
8
+ * - session-repository.ts: Session CRUD, checkpoints, costs, hierarchy, plans, permissions, manifest
9
+ * - goal-repository.ts: Goals + junctures
10
+ * - worker-repository.ts: Worker results + artifacts
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * const store = await createSQLiteStore({ dbPath: '.agent/sessions.db' });
15
+ * await store.createSession('My Session');
16
+ * await store.appendMessage({ role: 'user', content: 'Hello' });
17
+ * ```
18
+ */
19
+ import Database from 'better-sqlite3';
20
+ import { join, dirname } from 'node:path';
21
+ import { mkdir } from 'node:fs/promises';
22
+ import { existsSync, mkdirSync } from 'node:fs';
23
+ import { applyMigrations, getMigrationStatus, detectFeatures, } from '../../persistence/schema.js';
24
+ // Repository modules (extracted implementation)
25
+ import * as sessionRepo from './session-repository.js';
26
+ import * as goalRepo from './goal-repository.js';
27
+ import * as workerRepo from './worker-repository.js';
28
+ import * as codebaseRepo from './codebase-repository.js';
29
+ // =============================================================================
30
+ // SQLITE STORE
31
+ // =============================================================================
32
+ /**
33
+ * SQLite-backed session store.
34
+ */
35
+ export class SQLiteStore {
36
+ db;
37
+ config;
38
+ currentSessionId = null;
39
+ listeners = [];
40
+ /** Available schema features (detected after migration) */
41
+ features = {
42
+ core: false,
43
+ costs: false,
44
+ hierarchy: false,
45
+ compaction: false,
46
+ fileChanges: false,
47
+ goals: false,
48
+ workerResults: false,
49
+ pendingPlans: false,
50
+ deadLetterQueue: false,
51
+ rememberedPermissions: false,
52
+ codebaseAnalysis: false,
53
+ };
54
+ // Prepared statements for performance
55
+ stmts;
56
+ constructor(config = {}) {
57
+ this.config = {
58
+ baseDir: config.baseDir || '.agent/sessions',
59
+ dbPath: config.dbPath || join(config.baseDir || '.agent/sessions', 'sessions.db'),
60
+ autoSave: config.autoSave ?? true,
61
+ maxSessions: config.maxSessions || 50,
62
+ walMode: config.walMode ?? true,
63
+ };
64
+ // Ensure directory exists BEFORE opening database
65
+ // (better-sqlite3 requires the parent directory to exist)
66
+ const dbDir = dirname(this.config.dbPath);
67
+ if (!existsSync(dbDir)) {
68
+ mkdirSync(dbDir, { recursive: true });
69
+ }
70
+ // Initialize database
71
+ this.db = new Database(this.config.dbPath);
72
+ // Enable WAL mode for better concurrent access
73
+ if (this.config.walMode) {
74
+ this.db.pragma('journal_mode = WAL');
75
+ }
76
+ // Enable foreign keys
77
+ this.db.pragma('foreign_keys = ON');
78
+ }
79
+ /**
80
+ * Get the deps object for repository modules.
81
+ */
82
+ get deps() {
83
+ return {
84
+ db: this.db,
85
+ stmts: this.stmts,
86
+ features: this.features,
87
+ config: this.config,
88
+ getCurrentSessionId: () => this.currentSessionId,
89
+ setCurrentSessionId: (id) => {
90
+ this.currentSessionId = id;
91
+ },
92
+ emit: (event) => this.emit(event),
93
+ ensureSession: () => {
94
+ this.createSession();
95
+ },
96
+ };
97
+ }
98
+ /**
99
+ * Initialize the store (create tables, prepare statements).
100
+ */
101
+ async initialize() {
102
+ // Ensure directory exists
103
+ const dbDir = dirname(this.config.dbPath);
104
+ if (!existsSync(dbDir)) {
105
+ await mkdir(dbDir, { recursive: true });
106
+ }
107
+ // Apply embedded migrations (no file I/O needed)
108
+ const isDebug = process.env.DEBUG || process.argv.includes('--debug');
109
+ if (isDebug) {
110
+ const status = getMigrationStatus(this.db);
111
+ process.stderr.write(`[DEBUG] [SQLite] DB version: ${status.currentVersion}, latest: ${status.latestVersion}, pending: ${status.pendingCount}\n`);
112
+ }
113
+ const result = applyMigrations(this.db);
114
+ if (isDebug && result.applied > 0) {
115
+ process.stderr.write(`[DEBUG] [SQLite] Applied ${result.applied} migrations: ${result.appliedMigrations.join(', ')}\n`);
116
+ }
117
+ // Detect available features after migrations
118
+ this.features = detectFeatures(this.db);
119
+ if (isDebug) {
120
+ const enabled = Object.entries(this.features)
121
+ .filter(([, v]) => v)
122
+ .map(([k]) => k);
123
+ process.stderr.write(`[DEBUG] [SQLite] Features: ${enabled.join(', ')}\n`);
124
+ }
125
+ // Prepare statements for available features
126
+ this.prepareStatements();
127
+ }
128
+ /**
129
+ * Prepare SQL statements for reuse.
130
+ */
131
+ prepareStatements() {
132
+ this.stmts = {
133
+ insertSession: this.db.prepare(`
134
+ INSERT INTO sessions (id, name, workspace_path, workspace_fingerprint, created_at, last_active_at, message_count, token_count)
135
+ VALUES (@id, @name, @workspacePath, @workspaceFingerprint, @createdAt, @lastActiveAt, @messageCount, @tokenCount)
136
+ `),
137
+ updateSession: this.db.prepare(`
138
+ UPDATE sessions SET
139
+ name = COALESCE(@name, name),
140
+ last_active_at = COALESCE(@lastActiveAt, last_active_at),
141
+ message_count = COALESCE(@messageCount, message_count),
142
+ token_count = COALESCE(@tokenCount, token_count),
143
+ summary = COALESCE(@summary, summary)
144
+ WHERE id = @id
145
+ `),
146
+ deleteSession: this.db.prepare(`DELETE FROM sessions WHERE id = ?`),
147
+ getSession: this.db.prepare(`
148
+ SELECT id, name, created_at as createdAt,
149
+ workspace_path as workspacePath, workspace_fingerprint as workspaceFingerprint,
150
+ COALESCE(last_active_at, created_at) as lastActiveAt,
151
+ message_count as messageCount, token_count as tokenCount, summary,
152
+ parent_session_id as parentSessionId, session_type as sessionType,
153
+ prompt_tokens as promptTokens, completion_tokens as completionTokens,
154
+ cost_usd as costUsd
155
+ FROM sessions WHERE id = ?
156
+ `),
157
+ listSessions: this.db.prepare(`
158
+ SELECT id, name, created_at as createdAt,
159
+ workspace_path as workspacePath, workspace_fingerprint as workspaceFingerprint,
160
+ COALESCE(last_active_at, created_at) as lastActiveAt,
161
+ message_count as messageCount, token_count as tokenCount, summary,
162
+ parent_session_id as parentSessionId, session_type as sessionType,
163
+ prompt_tokens as promptTokens, completion_tokens as completionTokens,
164
+ cost_usd as costUsd
165
+ FROM sessions ORDER BY COALESCE(last_active_at, created_at) DESC
166
+ `),
167
+ insertEntry: this.db.prepare(`
168
+ INSERT INTO entries (session_id, timestamp, type, data)
169
+ VALUES (@sessionId, @timestamp, @type, @data)
170
+ `),
171
+ getEntries: this.db.prepare(`
172
+ SELECT timestamp, type, data FROM entries
173
+ WHERE session_id = ? ORDER BY id ASC
174
+ `),
175
+ insertToolCall: this.db.prepare(`
176
+ INSERT INTO tool_calls (id, session_id, name, arguments, status, created_at)
177
+ VALUES (@id, @sessionId, @name, @arguments, @status, @createdAt)
178
+ `),
179
+ updateToolCall: this.db.prepare(`
180
+ UPDATE tool_calls SET
181
+ status = @status,
182
+ result = @result,
183
+ error = @error,
184
+ duration_ms = @durationMs,
185
+ completed_at = @completedAt
186
+ WHERE id = @id
187
+ `),
188
+ insertCheckpoint: this.db.prepare(`
189
+ INSERT INTO checkpoints (id, session_id, state_json, created_at, description)
190
+ VALUES (@id, @sessionId, @stateJson, @createdAt, @description)
191
+ `),
192
+ getLatestCheckpoint: this.db.prepare(`
193
+ SELECT id, session_id as sessionId, state_json as stateJson,
194
+ created_at as createdAt, description
195
+ FROM checkpoints WHERE session_id = ?
196
+ ORDER BY created_at DESC, rowid DESC LIMIT 1
197
+ `),
198
+ // Cost tracking statements
199
+ insertUsageLog: this.db.prepare(`
200
+ INSERT INTO usage_logs (session_id, model_id, prompt_tokens, completion_tokens, cost_usd, timestamp)
201
+ VALUES (@sessionId, @modelId, @promptTokens, @completionTokens, @costUsd, @timestamp)
202
+ `),
203
+ updateSessionCosts: this.db.prepare(`
204
+ UPDATE sessions SET
205
+ prompt_tokens = COALESCE(prompt_tokens, 0) + @promptTokens,
206
+ completion_tokens = COALESCE(completion_tokens, 0) + @completionTokens,
207
+ cost_usd = COALESCE(cost_usd, 0) + @costUsd
208
+ WHERE id = @sessionId
209
+ `),
210
+ getSessionUsage: this.db.prepare(`
211
+ SELECT
212
+ COALESCE(SUM(prompt_tokens), 0) as promptTokens,
213
+ COALESCE(SUM(completion_tokens), 0) as completionTokens,
214
+ COALESCE(SUM(cost_usd), 0) as costUsd
215
+ FROM usage_logs WHERE session_id = ?
216
+ `),
217
+ // Session hierarchy statements
218
+ insertChildSession: this.db.prepare(`
219
+ INSERT INTO sessions (id, name, workspace_path, workspace_fingerprint, created_at, last_active_at, message_count, token_count, parent_session_id, session_type)
220
+ VALUES (@id, @name, @workspacePath, @workspaceFingerprint, @createdAt, @lastActiveAt, @messageCount, @tokenCount, @parentSessionId, @sessionType)
221
+ `),
222
+ getChildSessions: this.db.prepare(`
223
+ SELECT id, name, created_at as createdAt, last_active_at as lastActiveAt,
224
+ workspace_path as workspacePath, workspace_fingerprint as workspaceFingerprint,
225
+ message_count as messageCount, token_count as tokenCount, summary,
226
+ parent_session_id as parentSessionId, session_type as sessionType,
227
+ prompt_tokens as promptTokens, completion_tokens as completionTokens,
228
+ cost_usd as costUsd
229
+ FROM sessions WHERE parent_session_id = ?
230
+ ORDER BY created_at ASC
231
+ `),
232
+ getSessionTree: this.db.prepare(`
233
+ WITH RECURSIVE session_tree AS (
234
+ SELECT id, name, created_at as createdAt, last_active_at as lastActiveAt,
235
+ workspace_path as workspacePath, workspace_fingerprint as workspaceFingerprint,
236
+ message_count as messageCount, token_count as tokenCount, summary,
237
+ parent_session_id as parentSessionId, session_type as sessionType,
238
+ prompt_tokens as promptTokens, completion_tokens as completionTokens,
239
+ cost_usd as costUsd, 0 as depth
240
+ FROM sessions WHERE id = ?
241
+ UNION ALL
242
+ SELECT s.id, s.name, s.created_at, s.last_active_at,
243
+ s.workspace_path, s.workspace_fingerprint,
244
+ s.message_count, s.token_count, s.summary,
245
+ s.parent_session_id, s.session_type,
246
+ s.prompt_tokens, s.completion_tokens,
247
+ s.cost_usd, st.depth + 1
248
+ FROM sessions s
249
+ INNER JOIN session_tree st ON s.parent_session_id = st.id
250
+ )
251
+ SELECT * FROM session_tree ORDER BY depth, createdAt ASC
252
+ `),
253
+ };
254
+ // Goal integrity statements - only prepare if feature is available
255
+ if (this.features.goals) {
256
+ this.stmts.insertGoal = this.db.prepare(`
257
+ INSERT INTO goals (id, session_id, goal_text, status, priority, parent_goal_id,
258
+ progress_current, progress_total, created_at, updated_at, metadata)
259
+ VALUES (@id, @sessionId, @goalText, @status, @priority, @parentGoalId,
260
+ @progressCurrent, @progressTotal, @createdAt, @updatedAt, @metadata)
261
+ `);
262
+ this.stmts.updateGoal = this.db.prepare(`
263
+ UPDATE goals SET
264
+ goal_text = COALESCE(@goalText, goal_text),
265
+ status = COALESCE(@status, status),
266
+ priority = COALESCE(@priority, priority),
267
+ progress_current = COALESCE(@progressCurrent, progress_current),
268
+ progress_total = COALESCE(@progressTotal, progress_total),
269
+ updated_at = @updatedAt,
270
+ completed_at = @completedAt,
271
+ metadata = COALESCE(@metadata, metadata)
272
+ WHERE id = @id
273
+ `);
274
+ this.stmts.getGoal = this.db.prepare(`
275
+ SELECT id, session_id as sessionId, goal_text as goalText, status, priority,
276
+ parent_goal_id as parentGoalId, progress_current as progressCurrent,
277
+ progress_total as progressTotal, created_at as createdAt,
278
+ updated_at as updatedAt, completed_at as completedAt, metadata
279
+ FROM goals WHERE id = ?
280
+ `);
281
+ this.stmts.listGoals = this.db.prepare(`
282
+ SELECT id, session_id as sessionId, goal_text as goalText, status, priority,
283
+ parent_goal_id as parentGoalId, progress_current as progressCurrent,
284
+ progress_total as progressTotal, created_at as createdAt,
285
+ updated_at as updatedAt, completed_at as completedAt, metadata
286
+ FROM goals WHERE session_id = ? ORDER BY priority ASC, created_at ASC
287
+ `);
288
+ this.stmts.listActiveGoals = this.db.prepare(`
289
+ SELECT id, session_id as sessionId, goal_text as goalText, status, priority,
290
+ parent_goal_id as parentGoalId, progress_current as progressCurrent,
291
+ progress_total as progressTotal, created_at as createdAt,
292
+ updated_at as updatedAt, completed_at as completedAt, metadata
293
+ FROM goals WHERE session_id = ? AND status = 'active'
294
+ ORDER BY priority ASC, created_at ASC
295
+ `);
296
+ this.stmts.insertJuncture = this.db.prepare(`
297
+ INSERT INTO junctures (session_id, goal_id, type, description, outcome,
298
+ importance, context, created_at)
299
+ VALUES (@sessionId, @goalId, @type, @description, @outcome,
300
+ @importance, @context, @createdAt)
301
+ `);
302
+ this.stmts.listJunctures = this.db.prepare(`
303
+ SELECT id, session_id as sessionId, goal_id as goalId, type, description,
304
+ outcome, importance, context, created_at as createdAt
305
+ FROM junctures WHERE session_id = ? ORDER BY created_at DESC
306
+ `);
307
+ }
308
+ // Worker result statements - only prepare if feature is available
309
+ if (this.features.workerResults) {
310
+ this.stmts.insertWorkerResult = this.db.prepare(`
311
+ INSERT INTO worker_results (id, session_id, worker_id, task_description, model_used,
312
+ status, summary, full_output, artifacts, metrics, error,
313
+ created_at, completed_at)
314
+ VALUES (@id, @sessionId, @workerId, @taskDescription, @modelUsed,
315
+ @status, @summary, @fullOutput, @artifacts, @metrics, @error,
316
+ @createdAt, @completedAt)
317
+ `);
318
+ this.stmts.updateWorkerResult = this.db.prepare(`
319
+ UPDATE worker_results SET
320
+ status = COALESCE(@status, status),
321
+ summary = COALESCE(@summary, summary),
322
+ full_output = COALESCE(@fullOutput, full_output),
323
+ artifacts = COALESCE(@artifacts, artifacts),
324
+ metrics = COALESCE(@metrics, metrics),
325
+ error = @error,
326
+ completed_at = @completedAt
327
+ WHERE id = @id
328
+ `);
329
+ this.stmts.getWorkerResult = this.db.prepare(`
330
+ SELECT id, session_id as sessionId, worker_id as workerId,
331
+ task_description as taskDescription, model_used as modelUsed,
332
+ status, summary, full_output as fullOutput, artifacts, metrics,
333
+ error, created_at as createdAt, completed_at as completedAt
334
+ FROM worker_results WHERE id = ?
335
+ `);
336
+ this.stmts.listWorkerResults = this.db.prepare(`
337
+ SELECT id, session_id as sessionId, worker_id as workerId,
338
+ task_description as taskDescription, model_used as modelUsed,
339
+ status, summary, full_output as fullOutput, artifacts, metrics,
340
+ error, created_at as createdAt, completed_at as completedAt
341
+ FROM worker_results WHERE session_id = ?
342
+ ORDER BY created_at DESC
343
+ `);
344
+ this.stmts.listPendingWorkerResults = this.db.prepare(`
345
+ SELECT id, session_id as sessionId, worker_id as workerId,
346
+ task_description as taskDescription, model_used as modelUsed,
347
+ status, summary, created_at as createdAt
348
+ FROM worker_results WHERE session_id = ? AND status = 'pending'
349
+ ORDER BY created_at ASC
350
+ `);
351
+ }
352
+ // Pending plan statements (optional - only if pendingPlans feature available)
353
+ if (this.features.pendingPlans) {
354
+ this.stmts.insertPendingPlan = this.db.prepare(`
355
+ INSERT INTO pending_plans (id, session_id, task, proposed_changes, exploration_summary, status, created_at, updated_at)
356
+ VALUES (@id, @sessionId, @task, @proposedChanges, @explorationSummary, @status, @createdAt, @updatedAt)
357
+ `);
358
+ this.stmts.updatePendingPlan = this.db.prepare(`
359
+ UPDATE pending_plans SET
360
+ proposed_changes = @proposedChanges,
361
+ exploration_summary = @explorationSummary,
362
+ status = @status,
363
+ updated_at = @updatedAt
364
+ WHERE id = @id
365
+ `);
366
+ this.stmts.getPendingPlan = this.db.prepare(`
367
+ SELECT id, session_id as sessionId, task, proposed_changes as proposedChanges,
368
+ exploration_summary as explorationSummary, status, created_at as createdAt, updated_at as updatedAt
369
+ FROM pending_plans WHERE session_id = ? AND status = 'pending'
370
+ ORDER BY created_at DESC LIMIT 1
371
+ `);
372
+ this.stmts.deletePendingPlan = this.db.prepare(`
373
+ DELETE FROM pending_plans WHERE id = ?
374
+ `);
375
+ }
376
+ // Remembered permissions statements (optional - only if feature available)
377
+ if (this.features.rememberedPermissions) {
378
+ this.stmts.insertRememberedPermission = this.db.prepare(`
379
+ INSERT OR REPLACE INTO remembered_permissions (tool_name, pattern, decision, created_at)
380
+ VALUES (@toolName, @pattern, @decision, @createdAt)
381
+ `);
382
+ this.stmts.getRememberedPermission = this.db.prepare(`
383
+ SELECT tool_name as toolName, pattern, decision, created_at as createdAt
384
+ FROM remembered_permissions
385
+ WHERE tool_name = ? AND (pattern = ? OR pattern IS NULL)
386
+ ORDER BY pattern IS NULL ASC
387
+ LIMIT 1
388
+ `);
389
+ this.stmts.listRememberedPermissions = this.db.prepare(`
390
+ SELECT tool_name as toolName, pattern, decision, created_at as createdAt
391
+ FROM remembered_permissions
392
+ ORDER BY tool_name, pattern
393
+ `);
394
+ this.stmts.deleteRememberedPermission = this.db.prepare(`
395
+ DELETE FROM remembered_permissions WHERE tool_name = ? AND (pattern = ? OR (? IS NULL AND pattern IS NULL))
396
+ `);
397
+ }
398
+ }
399
+ // ===========================================================================
400
+ // SESSION MANAGEMENT (delegates to session-repository.ts)
401
+ // ===========================================================================
402
+ createSession(name) {
403
+ return sessionRepo.createSession(this.deps, name);
404
+ }
405
+ getCurrentSessionId() {
406
+ return this.currentSessionId;
407
+ }
408
+ setCurrentSessionId(sessionId) {
409
+ this.currentSessionId = sessionId;
410
+ }
411
+ appendEntry(entry) {
412
+ sessionRepo.appendEntry(this.deps, entry);
413
+ }
414
+ appendMessage(message) {
415
+ sessionRepo.appendMessage(this.deps, message);
416
+ }
417
+ appendToolCall(toolCall) {
418
+ sessionRepo.appendToolCall(this.deps, toolCall);
419
+ }
420
+ appendToolResult(callId, result) {
421
+ sessionRepo.appendToolResult(this.deps, callId, result);
422
+ }
423
+ appendCompaction(summary, compactedCount) {
424
+ sessionRepo.appendCompaction(this.deps, summary, compactedCount);
425
+ }
426
+ loadSession(sessionId) {
427
+ return sessionRepo.loadSession(this.deps, sessionId);
428
+ }
429
+ loadSessionMessages(sessionId) {
430
+ return sessionRepo.loadSessionMessages(this.deps, sessionId);
431
+ }
432
+ deleteSession(sessionId) {
433
+ sessionRepo.deleteSession(this.deps, sessionId);
434
+ }
435
+ listSessions() {
436
+ return sessionRepo.listSessions(this.deps);
437
+ }
438
+ getRecentSession() {
439
+ return sessionRepo.getRecentSession(this.deps);
440
+ }
441
+ getSessionMetadata(sessionId) {
442
+ return sessionRepo.getSessionMetadata(this.deps, sessionId);
443
+ }
444
+ updateSessionMetadata(sessionId, updates) {
445
+ sessionRepo.updateSessionMetadata(this.deps, sessionId, updates);
446
+ }
447
+ // ===========================================================================
448
+ // SQLITE-SPECIFIC FEATURES (delegates to session-repository.ts)
449
+ // ===========================================================================
450
+ saveCheckpoint(state, description) {
451
+ return sessionRepo.saveCheckpoint(this.deps, state, description);
452
+ }
453
+ loadLatestCheckpoint(sessionId) {
454
+ return sessionRepo.loadLatestCheckpoint(this.deps, sessionId);
455
+ }
456
+ query(sql, params = []) {
457
+ return sessionRepo.query(this.deps, sql, params);
458
+ }
459
+ getStats() {
460
+ return sessionRepo.getStats(this.deps);
461
+ }
462
+ getDatabase() {
463
+ return this.db;
464
+ }
465
+ // ===========================================================================
466
+ // COST TRACKING (delegates to session-repository.ts)
467
+ // ===========================================================================
468
+ logUsage(usage) {
469
+ sessionRepo.logUsage(this.deps, usage);
470
+ }
471
+ getSessionUsage(sessionId) {
472
+ return sessionRepo.getSessionUsage(this.deps, sessionId);
473
+ }
474
+ // ===========================================================================
475
+ // SESSION HIERARCHY (delegates to session-repository.ts)
476
+ // ===========================================================================
477
+ createChildSession(parentId, name, type = 'subagent') {
478
+ return sessionRepo.createChildSession(this.deps, parentId, name, type);
479
+ }
480
+ getChildSessions(parentId) {
481
+ return sessionRepo.getChildSessions(this.deps, parentId);
482
+ }
483
+ getSessionTree(rootId) {
484
+ return sessionRepo.getSessionTree(this.deps, rootId);
485
+ }
486
+ // ===========================================================================
487
+ // GOAL INTEGRITY (delegates to goal-repository.ts)
488
+ // ===========================================================================
489
+ hasGoalsFeature() {
490
+ return this.features.goals;
491
+ }
492
+ createGoal(goalText, options = {}) {
493
+ return goalRepo.createGoal(this.deps, goalText, options);
494
+ }
495
+ updateGoal(goalId, updates) {
496
+ goalRepo.updateGoal(this.deps, goalId, updates);
497
+ }
498
+ completeGoal(goalId) {
499
+ goalRepo.completeGoal(this.deps, goalId);
500
+ }
501
+ getGoal(goalId) {
502
+ return goalRepo.getGoal(this.deps, goalId);
503
+ }
504
+ listGoals(sessionId) {
505
+ return goalRepo.listGoals(this.deps, sessionId);
506
+ }
507
+ listActiveGoals(sessionId) {
508
+ return goalRepo.listActiveGoals(this.deps, sessionId);
509
+ }
510
+ getGoalsSummary(sessionId) {
511
+ return goalRepo.getGoalsSummary(this.deps, sessionId);
512
+ }
513
+ logJuncture(type, description, options = {}) {
514
+ return goalRepo.logJuncture(this.deps, type, description, options);
515
+ }
516
+ listJunctures(sessionId, limit) {
517
+ return goalRepo.listJunctures(this.deps, sessionId, limit);
518
+ }
519
+ getJuncturesSummary(sessionId, limit = 5) {
520
+ return goalRepo.getJuncturesSummary(this.deps, sessionId, limit);
521
+ }
522
+ // ===========================================================================
523
+ // WORKER RESULTS (delegates to worker-repository.ts)
524
+ // ===========================================================================
525
+ hasWorkerResultsFeature() {
526
+ return this.features.workerResults;
527
+ }
528
+ createWorkerResult(workerId, taskDescription, modelUsed) {
529
+ return workerRepo.createWorkerResult(this.deps, workerId, taskDescription, modelUsed);
530
+ }
531
+ completeWorkerResult(resultId, output) {
532
+ return workerRepo.completeWorkerResult(this.deps, resultId, output);
533
+ }
534
+ failWorkerResult(resultId, error) {
535
+ workerRepo.failWorkerResult(this.deps, resultId, error);
536
+ }
537
+ getWorkerResult(resultId) {
538
+ return workerRepo.getWorkerResult(this.deps, resultId);
539
+ }
540
+ getWorkerResultRef(resultId) {
541
+ return workerRepo.getWorkerResultRef(this.deps, resultId);
542
+ }
543
+ listWorkerResults(sessionId) {
544
+ return workerRepo.listWorkerResults(this.deps, sessionId);
545
+ }
546
+ listPendingWorkerResults(sessionId) {
547
+ return workerRepo.listPendingWorkerResults(this.deps, sessionId);
548
+ }
549
+ getWorkerResultsSummary(sessionId) {
550
+ return workerRepo.getWorkerResultsSummary(this.deps, sessionId);
551
+ }
552
+ // ===========================================================================
553
+ // PENDING PLANS (delegates to session-repository.ts)
554
+ // ===========================================================================
555
+ hasPendingPlansFeature() {
556
+ return this.features.pendingPlans;
557
+ }
558
+ savePendingPlan(plan, sessionId) {
559
+ sessionRepo.savePendingPlan(this.deps, plan, sessionId);
560
+ }
561
+ getPendingPlan(sessionId) {
562
+ return sessionRepo.getPendingPlan(this.deps, sessionId);
563
+ }
564
+ updatePlanStatus(planId, status) {
565
+ sessionRepo.updatePlanStatus(this.deps, planId, status);
566
+ }
567
+ deletePendingPlan(planId) {
568
+ sessionRepo.deletePendingPlan(this.deps, planId);
569
+ }
570
+ // ===========================================================================
571
+ // SESSION MANIFEST (delegates to session-repository.ts)
572
+ // ===========================================================================
573
+ exportSessionManifest(sessionId) {
574
+ return sessionRepo.exportSessionManifest(this.deps, this.manifestCallbacks, sessionId);
575
+ }
576
+ exportSessionMarkdown(sessionId) {
577
+ return sessionRepo.exportSessionMarkdown(this.deps, this.manifestCallbacks, sessionId);
578
+ }
579
+ /** Callbacks for manifest export (bridges to goal/worker repositories). */
580
+ get manifestCallbacks() {
581
+ return {
582
+ listGoals: (sid) => this.listGoals(sid),
583
+ listJunctures: (sid, limit) => this.listJunctures(sid, limit),
584
+ listWorkerResults: (sid) => this.listWorkerResults(sid),
585
+ };
586
+ }
587
+ // ===========================================================================
588
+ // MIGRATION (delegates to session-repository.ts)
589
+ // ===========================================================================
590
+ async migrateFromJSONL(jsonlDir) {
591
+ return sessionRepo.migrateFromJSONL(this.deps, jsonlDir);
592
+ }
593
+ // ===========================================================================
594
+ // REMEMBERED PERMISSIONS (delegates to session-repository.ts)
595
+ // ===========================================================================
596
+ hasRememberedPermissionsFeature() {
597
+ return this.features.rememberedPermissions;
598
+ }
599
+ rememberPermission(toolName, decision, pattern) {
600
+ sessionRepo.rememberPermission(this.deps, toolName, decision, pattern);
601
+ }
602
+ getRememberedPermission(toolName, pattern) {
603
+ return sessionRepo.getRememberedPermission(this.deps, toolName, pattern);
604
+ }
605
+ listRememberedPermissions() {
606
+ return sessionRepo.listRememberedPermissions(this.deps);
607
+ }
608
+ forgetPermission(toolName, pattern) {
609
+ sessionRepo.forgetPermission(this.deps, toolName, pattern);
610
+ }
611
+ clearRememberedPermissions(toolName) {
612
+ sessionRepo.clearRememberedPermissions(this.deps, toolName);
613
+ }
614
+ // ===========================================================================
615
+ // LIFECYCLE
616
+ // ===========================================================================
617
+ /**
618
+ * Subscribe to events.
619
+ */
620
+ on(listener) {
621
+ this.listeners.push(listener);
622
+ return () => {
623
+ const idx = this.listeners.indexOf(listener);
624
+ if (idx >= 0)
625
+ this.listeners.splice(idx, 1);
626
+ };
627
+ }
628
+ /**
629
+ * Emit an event.
630
+ */
631
+ emit(event) {
632
+ for (const listener of this.listeners) {
633
+ try {
634
+ listener(event);
635
+ }
636
+ catch {
637
+ // Ignore listener errors
638
+ }
639
+ }
640
+ }
641
+ /**
642
+ * Close the database connection.
643
+ */
644
+ close() {
645
+ this.db.close();
646
+ }
647
+ // ===========================================================================
648
+ // CODEBASE ANALYSIS PERSISTENCE
649
+ // ===========================================================================
650
+ /**
651
+ * Save codebase analysis to SQLite for warm startup next session.
652
+ */
653
+ saveCodebaseAnalysis(root, chunks, dependencyGraph) {
654
+ codebaseRepo.saveCodebaseAnalysis(this.deps, root, chunks, dependencyGraph);
655
+ }
656
+ /**
657
+ * Load persisted codebase analysis from SQLite.
658
+ */
659
+ loadCodebaseAnalysis(root) {
660
+ return codebaseRepo.loadCodebaseAnalysis(this.deps, root);
661
+ }
662
+ /**
663
+ * Cleanup - same as close for compatibility.
664
+ */
665
+ async cleanup() {
666
+ this.close();
667
+ }
668
+ }
669
+ // =============================================================================
670
+ // FACTORY
671
+ // =============================================================================
672
+ /**
673
+ * Create and initialize a SQLite session store.
674
+ */
675
+ export async function createSQLiteStore(config) {
676
+ const store = new SQLiteStore(config);
677
+ await store.initialize();
678
+ return store;
679
+ }
680
+ //# sourceMappingURL=sqlite-store.js.map