codehere 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of codehere might be problematic. Click here for more details.

Files changed (603) hide show
  1. package/README.md +51 -25
  2. package/dist/agents/base.d.ts +107 -0
  3. package/dist/agents/base.d.ts.map +1 -0
  4. package/dist/agents/base.js +101 -0
  5. package/dist/agents/base.js.map +1 -0
  6. package/dist/agents/orchestrator-model-driven.d.ts +41 -0
  7. package/dist/agents/orchestrator-model-driven.d.ts.map +1 -0
  8. package/dist/agents/orchestrator-model-driven.js +141 -0
  9. package/dist/agents/orchestrator-model-driven.js.map +1 -0
  10. package/dist/agents/react-orchestrator-agent.d.ts +15 -0
  11. package/dist/agents/react-orchestrator-agent.d.ts.map +1 -0
  12. package/dist/agents/react-orchestrator-agent.js +54 -0
  13. package/dist/agents/react-orchestrator-agent.js.map +1 -0
  14. package/dist/application/agents/execution-agent.d.ts +68 -0
  15. package/dist/application/agents/execution-agent.d.ts.map +1 -0
  16. package/dist/application/agents/execution-agent.js +299 -0
  17. package/dist/application/agents/execution-agent.js.map +1 -0
  18. package/dist/application/agents/multi-agent-orchestrator.d.ts +64 -0
  19. package/dist/application/agents/multi-agent-orchestrator.d.ts.map +1 -0
  20. package/dist/application/agents/multi-agent-orchestrator.js +209 -0
  21. package/dist/application/agents/multi-agent-orchestrator.js.map +1 -0
  22. package/dist/application/agents/planning-agent.d.ts +61 -0
  23. package/dist/application/agents/planning-agent.d.ts.map +1 -0
  24. package/dist/application/agents/planning-agent.js +357 -0
  25. package/dist/application/agents/planning-agent.js.map +1 -0
  26. package/dist/application/agents/validation-agent.d.ts +64 -0
  27. package/dist/application/agents/validation-agent.d.ts.map +1 -0
  28. package/dist/application/agents/validation-agent.js +182 -0
  29. package/dist/application/agents/validation-agent.js.map +1 -0
  30. package/dist/application/architectures/plan-and-act.d.ts +94 -0
  31. package/dist/application/architectures/plan-and-act.d.ts.map +1 -0
  32. package/dist/application/architectures/plan-and-act.js +242 -0
  33. package/dist/application/architectures/plan-and-act.js.map +1 -0
  34. package/dist/application/index.d.ts +12 -0
  35. package/dist/application/index.d.ts.map +1 -0
  36. package/dist/application/index.js +12 -0
  37. package/dist/application/index.js.map +1 -0
  38. package/dist/application/services/agent-factory.d.ts +9 -0
  39. package/dist/application/services/agent-factory.d.ts.map +1 -0
  40. package/dist/application/services/agent-factory.js +28 -0
  41. package/dist/application/services/agent-factory.js.map +1 -0
  42. package/dist/application/services/dependency-container.d.ts +140 -0
  43. package/dist/application/services/dependency-container.d.ts.map +1 -0
  44. package/dist/application/services/dependency-container.js +402 -0
  45. package/dist/application/services/dependency-container.js.map +1 -0
  46. package/dist/application/services/git-context-service.d.ts +30 -0
  47. package/dist/application/services/git-context-service.d.ts.map +1 -0
  48. package/dist/application/services/git-context-service.js +83 -0
  49. package/dist/application/services/git-context-service.js.map +1 -0
  50. package/dist/application/services/intelligent-router.d.ts +74 -0
  51. package/dist/application/services/intelligent-router.d.ts.map +1 -0
  52. package/dist/application/services/intelligent-router.js +711 -0
  53. package/dist/application/services/intelligent-router.js.map +1 -0
  54. package/dist/application/services/tool-executor-service.d.ts +14 -0
  55. package/dist/application/services/tool-executor-service.d.ts.map +1 -0
  56. package/dist/application/services/tool-executor-service.js +94 -0
  57. package/dist/application/services/tool-executor-service.js.map +1 -0
  58. package/dist/application/use-cases/ask-question-use-case.d.ts +36 -0
  59. package/dist/application/use-cases/ask-question-use-case.d.ts.map +1 -0
  60. package/dist/application/use-cases/ask-question-use-case.js +150 -0
  61. package/dist/application/use-cases/ask-question-use-case.js.map +1 -0
  62. package/dist/application/use-cases/edit-file-use-case.d.ts +76 -0
  63. package/dist/application/use-cases/edit-file-use-case.d.ts.map +1 -0
  64. package/dist/application/use-cases/edit-file-use-case.js +685 -0
  65. package/dist/application/use-cases/edit-file-use-case.js.map +1 -0
  66. package/dist/application/use-cases/explain-file-use-case.d.ts +21 -0
  67. package/dist/application/use-cases/explain-file-use-case.d.ts.map +1 -0
  68. package/dist/application/use-cases/explain-file-use-case.js +50 -0
  69. package/dist/application/use-cases/explain-file-use-case.js.map +1 -0
  70. package/dist/application/use-cases/index-codebase-use-case.d.ts +46 -0
  71. package/dist/application/use-cases/index-codebase-use-case.d.ts.map +1 -0
  72. package/dist/application/use-cases/index-codebase-use-case.js +113 -0
  73. package/dist/application/use-cases/index-codebase-use-case.js.map +1 -0
  74. package/dist/application/use-cases/planning-use-case.d.ts +46 -0
  75. package/dist/application/use-cases/planning-use-case.d.ts.map +1 -0
  76. package/dist/application/use-cases/planning-use-case.js +267 -0
  77. package/dist/application/use-cases/planning-use-case.js.map +1 -0
  78. package/dist/application/use-cases/react-orchestration-use-case.d.ts +51 -0
  79. package/dist/application/use-cases/react-orchestration-use-case.d.ts.map +1 -0
  80. package/dist/application/use-cases/react-orchestration-use-case.js +325 -0
  81. package/dist/application/use-cases/react-orchestration-use-case.js.map +1 -0
  82. package/dist/application/use-cases/reflexion-use-case.d.ts +24 -0
  83. package/dist/application/use-cases/reflexion-use-case.d.ts.map +1 -0
  84. package/dist/application/use-cases/reflexion-use-case.js +30 -0
  85. package/dist/application/use-cases/reflexion-use-case.js.map +1 -0
  86. package/dist/application/workflows/deterministic-workflows.d.ts +61 -0
  87. package/dist/application/workflows/deterministic-workflows.d.ts.map +1 -0
  88. package/dist/application/workflows/deterministic-workflows.js +189 -0
  89. package/dist/application/workflows/deterministic-workflows.js.map +1 -0
  90. package/dist/cache.d.ts.map +1 -1
  91. package/dist/cache.js +1 -3
  92. package/dist/cache.js.map +1 -1
  93. package/dist/chat.js +10 -10
  94. package/dist/chat.js.map +1 -1
  95. package/dist/docs.d.ts.map +1 -1
  96. package/dist/docs.js +1 -2
  97. package/dist/docs.js.map +1 -1
  98. package/dist/domain/entities/code-chunk.d.ts +26 -0
  99. package/dist/domain/entities/code-chunk.d.ts.map +1 -0
  100. package/dist/domain/entities/code-chunk.js +6 -0
  101. package/dist/domain/entities/code-chunk.js.map +1 -0
  102. package/dist/domain/entities/decision.d.ts +37 -0
  103. package/dist/domain/entities/decision.d.ts.map +1 -0
  104. package/dist/domain/entities/decision.js +9 -0
  105. package/dist/domain/entities/decision.js.map +1 -0
  106. package/dist/domain/entities/edit.d.ts +35 -0
  107. package/dist/domain/entities/edit.d.ts.map +1 -0
  108. package/dist/domain/entities/edit.js +6 -0
  109. package/dist/domain/entities/edit.js.map +1 -0
  110. package/dist/domain/entities/knowledge-node.d.ts +83 -0
  111. package/dist/domain/entities/knowledge-node.d.ts.map +1 -0
  112. package/dist/domain/entities/knowledge-node.js +9 -0
  113. package/dist/domain/entities/knowledge-node.js.map +1 -0
  114. package/dist/domain/entities/knowledge-preservation.d.ts +42 -0
  115. package/dist/domain/entities/knowledge-preservation.d.ts.map +1 -0
  116. package/dist/domain/entities/knowledge-preservation.js +10 -0
  117. package/dist/domain/entities/knowledge-preservation.js.map +1 -0
  118. package/dist/domain/entities/memory.d.ts +36 -0
  119. package/dist/domain/entities/memory.d.ts.map +1 -0
  120. package/dist/domain/entities/memory.js +6 -0
  121. package/dist/domain/entities/memory.js.map +1 -0
  122. package/dist/domain/entities/pattern.d.ts +49 -0
  123. package/dist/domain/entities/pattern.d.ts.map +1 -0
  124. package/dist/domain/entities/pattern.js +7 -0
  125. package/dist/domain/entities/pattern.js.map +1 -0
  126. package/dist/domain/entities/plan.d.ts +42 -0
  127. package/dist/domain/entities/plan.d.ts.map +1 -0
  128. package/dist/domain/entities/plan.js +6 -0
  129. package/dist/domain/entities/plan.js.map +1 -0
  130. package/dist/domain/entities/query.d.ts +17 -0
  131. package/dist/domain/entities/query.d.ts.map +1 -0
  132. package/dist/domain/entities/query.js +6 -0
  133. package/dist/domain/entities/query.js.map +1 -0
  134. package/dist/domain/index.d.ts +16 -0
  135. package/dist/domain/index.d.ts.map +1 -0
  136. package/dist/domain/index.js +19 -0
  137. package/dist/domain/index.js.map +1 -0
  138. package/dist/domain/interfaces/ai-service.interface.d.ts +62 -0
  139. package/dist/domain/interfaces/ai-service.interface.d.ts.map +1 -0
  140. package/dist/domain/interfaces/ai-service.interface.js +6 -0
  141. package/dist/domain/interfaces/ai-service.interface.js.map +1 -0
  142. package/dist/domain/interfaces/code-analyzer.interface.d.ts +38 -0
  143. package/dist/domain/interfaces/code-analyzer.interface.d.ts.map +1 -0
  144. package/dist/domain/interfaces/code-analyzer.interface.js +6 -0
  145. package/dist/domain/interfaces/code-analyzer.interface.js.map +1 -0
  146. package/dist/domain/interfaces/decision-repository.interface.d.ts +51 -0
  147. package/dist/domain/interfaces/decision-repository.interface.d.ts.map +1 -0
  148. package/dist/domain/interfaces/decision-repository.interface.js +9 -0
  149. package/dist/domain/interfaces/decision-repository.interface.js.map +1 -0
  150. package/dist/domain/interfaces/embedding-repository.interface.d.ts +28 -0
  151. package/dist/domain/interfaces/embedding-repository.interface.d.ts.map +1 -0
  152. package/dist/domain/interfaces/embedding-repository.interface.js +6 -0
  153. package/dist/domain/interfaces/embedding-repository.interface.js.map +1 -0
  154. package/dist/domain/interfaces/knowledge-graph-repository.interface.d.ts +91 -0
  155. package/dist/domain/interfaces/knowledge-graph-repository.interface.d.ts.map +1 -0
  156. package/dist/domain/interfaces/knowledge-graph-repository.interface.js +9 -0
  157. package/dist/domain/interfaces/knowledge-graph-repository.interface.js.map +1 -0
  158. package/dist/domain/interfaces/knowledge-preservation-repository.interface.d.ts +50 -0
  159. package/dist/domain/interfaces/knowledge-preservation-repository.interface.d.ts.map +1 -0
  160. package/dist/domain/interfaces/knowledge-preservation-repository.interface.js +8 -0
  161. package/dist/domain/interfaces/knowledge-preservation-repository.interface.js.map +1 -0
  162. package/dist/domain/interfaces/memory-repository.interface.d.ts +49 -0
  163. package/dist/domain/interfaces/memory-repository.interface.d.ts.map +1 -0
  164. package/dist/domain/interfaces/memory-repository.interface.js +6 -0
  165. package/dist/domain/interfaces/memory-repository.interface.js.map +1 -0
  166. package/dist/domain/interfaces/pattern-repository.interface.d.ts +48 -0
  167. package/dist/domain/interfaces/pattern-repository.interface.d.ts.map +1 -0
  168. package/dist/domain/interfaces/pattern-repository.interface.js +6 -0
  169. package/dist/domain/interfaces/pattern-repository.interface.js.map +1 -0
  170. package/dist/domain/interfaces/verification-service.interface.d.ts +20 -0
  171. package/dist/domain/interfaces/verification-service.interface.d.ts.map +1 -0
  172. package/dist/domain/interfaces/verification-service.interface.js +6 -0
  173. package/dist/domain/interfaces/verification-service.interface.js.map +1 -0
  174. package/dist/domain/services/codebase-detector.d.ts +18 -0
  175. package/dist/domain/services/codebase-detector.d.ts.map +1 -0
  176. package/dist/domain/services/codebase-detector.js +91 -0
  177. package/dist/domain/services/codebase-detector.js.map +1 -0
  178. package/dist/domain/services/cross-team-pattern-sharing.d.ts +65 -0
  179. package/dist/domain/services/cross-team-pattern-sharing.d.ts.map +1 -0
  180. package/dist/domain/services/cross-team-pattern-sharing.js +125 -0
  181. package/dist/domain/services/cross-team-pattern-sharing.js.map +1 -0
  182. package/dist/domain/services/decision-recorder.d.ts +76 -0
  183. package/dist/domain/services/decision-recorder.d.ts.map +1 -0
  184. package/dist/domain/services/decision-recorder.js +223 -0
  185. package/dist/domain/services/decision-recorder.js.map +1 -0
  186. package/dist/domain/services/decision-retriever.d.ts +75 -0
  187. package/dist/domain/services/decision-retriever.d.ts.map +1 -0
  188. package/dist/domain/services/decision-retriever.js +133 -0
  189. package/dist/domain/services/decision-retriever.js.map +1 -0
  190. package/dist/domain/services/graded-memory-activation.d.ts +37 -0
  191. package/dist/domain/services/graded-memory-activation.d.ts.map +1 -0
  192. package/dist/domain/services/graded-memory-activation.js +69 -0
  193. package/dist/domain/services/graded-memory-activation.js.map +1 -0
  194. package/dist/domain/services/knowledge-access.d.ts +63 -0
  195. package/dist/domain/services/knowledge-access.d.ts.map +1 -0
  196. package/dist/domain/services/knowledge-access.js +132 -0
  197. package/dist/domain/services/knowledge-access.js.map +1 -0
  198. package/dist/domain/services/knowledge-extractor.d.ts +54 -0
  199. package/dist/domain/services/knowledge-extractor.d.ts.map +1 -0
  200. package/dist/domain/services/knowledge-extractor.js +247 -0
  201. package/dist/domain/services/knowledge-extractor.js.map +1 -0
  202. package/dist/domain/services/knowledge-graph-builder.d.ts +70 -0
  203. package/dist/domain/services/knowledge-graph-builder.d.ts.map +1 -0
  204. package/dist/domain/services/knowledge-graph-builder.js +268 -0
  205. package/dist/domain/services/knowledge-graph-builder.js.map +1 -0
  206. package/dist/domain/services/knowledge-graph-query.d.ts +69 -0
  207. package/dist/domain/services/knowledge-graph-query.d.ts.map +1 -0
  208. package/dist/domain/services/knowledge-graph-query.js +187 -0
  209. package/dist/domain/services/knowledge-graph-query.js.map +1 -0
  210. package/dist/domain/services/memory-retriever.d.ts +30 -0
  211. package/dist/domain/services/memory-retriever.d.ts.map +1 -0
  212. package/dist/domain/services/memory-retriever.js +82 -0
  213. package/dist/domain/services/memory-retriever.js.map +1 -0
  214. package/dist/domain/services/memory-synthesizer.d.ts +57 -0
  215. package/dist/domain/services/memory-synthesizer.d.ts.map +1 -0
  216. package/dist/domain/services/memory-synthesizer.js +91 -0
  217. package/dist/domain/services/memory-synthesizer.js.map +1 -0
  218. package/dist/domain/services/pattern-extractor.d.ts +108 -0
  219. package/dist/domain/services/pattern-extractor.d.ts.map +1 -0
  220. package/dist/domain/services/pattern-extractor.js +442 -0
  221. package/dist/domain/services/pattern-extractor.js.map +1 -0
  222. package/dist/domain/services/query-intent-classifier.d.ts +16 -0
  223. package/dist/domain/services/query-intent-classifier.d.ts.map +1 -0
  224. package/dist/domain/services/query-intent-classifier.js +140 -0
  225. package/dist/domain/services/query-intent-classifier.js.map +1 -0
  226. package/dist/domain/services/react-loop.d.ts +44 -0
  227. package/dist/domain/services/react-loop.d.ts.map +1 -0
  228. package/dist/domain/services/react-loop.js +110 -0
  229. package/dist/domain/services/react-loop.js.map +1 -0
  230. package/dist/edit.d.ts +0 -12
  231. package/dist/edit.d.ts.map +1 -1
  232. package/dist/edit.js +76 -351
  233. package/dist/edit.js.map +1 -1
  234. package/dist/embed.d.ts +0 -4
  235. package/dist/embed.d.ts.map +1 -1
  236. package/dist/embed.js +100 -174
  237. package/dist/embed.js.map +1 -1
  238. package/dist/error-handler.d.ts +1 -0
  239. package/dist/error-handler.d.ts.map +1 -1
  240. package/dist/error-handler.js +46 -3
  241. package/dist/error-handler.js.map +1 -1
  242. package/dist/index.js +228 -231
  243. package/dist/index.js.map +1 -1
  244. package/dist/infrastructure/ai/cohere-ai-service.d.ts +54 -0
  245. package/dist/infrastructure/ai/cohere-ai-service.d.ts.map +1 -0
  246. package/dist/infrastructure/ai/cohere-ai-service.js +547 -0
  247. package/dist/infrastructure/ai/cohere-ai-service.js.map +1 -0
  248. package/dist/infrastructure/ai/command-r-evaluation.d.ts +42 -0
  249. package/dist/infrastructure/ai/command-r-evaluation.d.ts.map +1 -0
  250. package/dist/infrastructure/ai/command-r-evaluation.js +206 -0
  251. package/dist/infrastructure/ai/command-r-evaluation.js.map +1 -0
  252. package/dist/infrastructure/ai/model-config.d.ts +47 -0
  253. package/dist/infrastructure/ai/model-config.d.ts.map +1 -0
  254. package/dist/infrastructure/ai/model-config.js +84 -0
  255. package/dist/infrastructure/ai/model-config.js.map +1 -0
  256. package/dist/infrastructure/cache/embedding-cache.d.ts +46 -0
  257. package/dist/infrastructure/cache/embedding-cache.d.ts.map +1 -0
  258. package/dist/infrastructure/cache/embedding-cache.js +104 -0
  259. package/dist/infrastructure/cache/embedding-cache.js.map +1 -0
  260. package/dist/infrastructure/chunking/ast-code-chunker.d.ts +12 -0
  261. package/dist/infrastructure/chunking/ast-code-chunker.d.ts.map +1 -0
  262. package/dist/infrastructure/chunking/ast-code-chunker.js +19 -0
  263. package/dist/infrastructure/chunking/ast-code-chunker.js.map +1 -0
  264. package/dist/infrastructure/chunking/code-aware-chunker.d.ts +63 -0
  265. package/dist/infrastructure/chunking/code-aware-chunker.d.ts.map +1 -0
  266. package/dist/infrastructure/chunking/code-aware-chunker.js +397 -0
  267. package/dist/infrastructure/chunking/code-aware-chunker.js.map +1 -0
  268. package/dist/infrastructure/config/config-manager.d.ts +79 -0
  269. package/dist/infrastructure/config/config-manager.d.ts.map +1 -0
  270. package/dist/infrastructure/config/config-manager.js +162 -0
  271. package/dist/infrastructure/config/config-manager.js.map +1 -0
  272. package/dist/infrastructure/cost/cost-tracker.d.ts +90 -0
  273. package/dist/infrastructure/cost/cost-tracker.d.ts.map +1 -0
  274. package/dist/infrastructure/cost/cost-tracker.js +353 -0
  275. package/dist/infrastructure/cost/cost-tracker.js.map +1 -0
  276. package/dist/infrastructure/file-scanner/file-scanner.d.ts +31 -0
  277. package/dist/infrastructure/file-scanner/file-scanner.d.ts.map +1 -0
  278. package/dist/infrastructure/file-scanner/file-scanner.js +106 -0
  279. package/dist/infrastructure/file-scanner/file-scanner.js.map +1 -0
  280. package/dist/infrastructure/governance/nist-ai-rmf.d.ts +107 -0
  281. package/dist/infrastructure/governance/nist-ai-rmf.d.ts.map +1 -0
  282. package/dist/infrastructure/governance/nist-ai-rmf.js +294 -0
  283. package/dist/infrastructure/governance/nist-ai-rmf.js.map +1 -0
  284. package/dist/infrastructure/governance/policy-as-code.d.ts +90 -0
  285. package/dist/infrastructure/governance/policy-as-code.d.ts.map +1 -0
  286. package/dist/infrastructure/governance/policy-as-code.js +244 -0
  287. package/dist/infrastructure/governance/policy-as-code.js.map +1 -0
  288. package/dist/infrastructure/governance/prompt-to-code-lineage.d.ts +138 -0
  289. package/dist/infrastructure/governance/prompt-to-code-lineage.d.ts.map +1 -0
  290. package/dist/infrastructure/governance/prompt-to-code-lineage.js +241 -0
  291. package/dist/infrastructure/governance/prompt-to-code-lineage.js.map +1 -0
  292. package/dist/infrastructure/index.d.ts +7 -0
  293. package/dist/infrastructure/index.d.ts.map +1 -0
  294. package/dist/infrastructure/index.js +7 -0
  295. package/dist/infrastructure/index.js.map +1 -0
  296. package/dist/infrastructure/observability/execution-tracer.d.ts +105 -0
  297. package/dist/infrastructure/observability/execution-tracer.d.ts.map +1 -0
  298. package/dist/infrastructure/observability/execution-tracer.js +190 -0
  299. package/dist/infrastructure/observability/execution-tracer.js.map +1 -0
  300. package/dist/infrastructure/observability/prompt-versioner.d.ts +67 -0
  301. package/dist/infrastructure/observability/prompt-versioner.d.ts.map +1 -0
  302. package/dist/infrastructure/observability/prompt-versioner.js +145 -0
  303. package/dist/infrastructure/observability/prompt-versioner.js.map +1 -0
  304. package/dist/infrastructure/protocols/a2a-metadata.d.ts +278 -0
  305. package/dist/infrastructure/protocols/a2a-metadata.d.ts.map +1 -0
  306. package/dist/infrastructure/protocols/a2a-metadata.js +137 -0
  307. package/dist/infrastructure/protocols/a2a-metadata.js.map +1 -0
  308. package/dist/infrastructure/protocols/a2a-protocol.d.ts +132 -0
  309. package/dist/infrastructure/protocols/a2a-protocol.d.ts.map +1 -0
  310. package/dist/infrastructure/protocols/a2a-protocol.js +314 -0
  311. package/dist/infrastructure/protocols/a2a-protocol.js.map +1 -0
  312. package/dist/infrastructure/protocols/mcp-oauth.d.ts +91 -0
  313. package/dist/infrastructure/protocols/mcp-oauth.d.ts.map +1 -0
  314. package/dist/infrastructure/protocols/mcp-oauth.js +184 -0
  315. package/dist/infrastructure/protocols/mcp-oauth.js.map +1 -0
  316. package/dist/infrastructure/protocols/mcp-server.d.ts +126 -0
  317. package/dist/infrastructure/protocols/mcp-server.d.ts.map +1 -0
  318. package/dist/infrastructure/protocols/mcp-server.js +333 -0
  319. package/dist/infrastructure/protocols/mcp-server.js.map +1 -0
  320. package/dist/infrastructure/protocols/streaming-handler.d.ts +57 -0
  321. package/dist/infrastructure/protocols/streaming-handler.d.ts.map +1 -0
  322. package/dist/infrastructure/protocols/streaming-handler.js +103 -0
  323. package/dist/infrastructure/protocols/streaming-handler.js.map +1 -0
  324. package/dist/infrastructure/security/ai-sast-scanner.d.ts +55 -0
  325. package/dist/infrastructure/security/ai-sast-scanner.d.ts.map +1 -0
  326. package/dist/infrastructure/security/ai-sast-scanner.js +163 -0
  327. package/dist/infrastructure/security/ai-sast-scanner.js.map +1 -0
  328. package/dist/infrastructure/security/docker-sandbox.d.ts +57 -0
  329. package/dist/infrastructure/security/docker-sandbox.d.ts.map +1 -0
  330. package/dist/infrastructure/security/docker-sandbox.js +178 -0
  331. package/dist/infrastructure/security/docker-sandbox.js.map +1 -0
  332. package/dist/infrastructure/security/enhanced-security-gate.d.ts +51 -0
  333. package/dist/infrastructure/security/enhanced-security-gate.d.ts.map +1 -0
  334. package/dist/infrastructure/security/enhanced-security-gate.js +92 -0
  335. package/dist/infrastructure/security/enhanced-security-gate.js.map +1 -0
  336. package/dist/infrastructure/security/input-validator.d.ts +33 -0
  337. package/dist/infrastructure/security/input-validator.d.ts.map +1 -0
  338. package/dist/infrastructure/security/input-validator.js +152 -0
  339. package/dist/infrastructure/security/input-validator.js.map +1 -0
  340. package/dist/infrastructure/security/license-scanner.d.ts +55 -0
  341. package/dist/infrastructure/security/license-scanner.d.ts.map +1 -0
  342. package/dist/infrastructure/security/license-scanner.js +167 -0
  343. package/dist/infrastructure/security/license-scanner.js.map +1 -0
  344. package/dist/infrastructure/security/provider-bias-detector.d.ts +53 -0
  345. package/dist/infrastructure/security/provider-bias-detector.d.ts.map +1 -0
  346. package/dist/infrastructure/security/provider-bias-detector.js +164 -0
  347. package/dist/infrastructure/security/provider-bias-detector.js.map +1 -0
  348. package/dist/infrastructure/security/sandbox-executor.d.ts +34 -0
  349. package/dist/infrastructure/security/sandbox-executor.d.ts.map +1 -0
  350. package/dist/infrastructure/security/sandbox-executor.js +64 -0
  351. package/dist/infrastructure/security/sandbox-executor.js.map +1 -0
  352. package/dist/infrastructure/storage/memory-stream-service.d.ts +47 -0
  353. package/dist/infrastructure/storage/memory-stream-service.d.ts.map +1 -0
  354. package/dist/infrastructure/storage/memory-stream-service.js +204 -0
  355. package/dist/infrastructure/storage/memory-stream-service.js.map +1 -0
  356. package/dist/infrastructure/storage/sqlite-decision-repository.d.ts +29 -0
  357. package/dist/infrastructure/storage/sqlite-decision-repository.d.ts.map +1 -0
  358. package/dist/infrastructure/storage/sqlite-decision-repository.js +232 -0
  359. package/dist/infrastructure/storage/sqlite-decision-repository.js.map +1 -0
  360. package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts +24 -0
  361. package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts.map +1 -0
  362. package/dist/infrastructure/storage/sqlite-embedding-repository.js +162 -0
  363. package/dist/infrastructure/storage/sqlite-embedding-repository.js.map +1 -0
  364. package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.d.ts +41 -0
  365. package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.d.ts.map +1 -0
  366. package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.js +417 -0
  367. package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.js.map +1 -0
  368. package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.d.ts +29 -0
  369. package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.d.ts.map +1 -0
  370. package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.js +230 -0
  371. package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.js.map +1 -0
  372. package/dist/infrastructure/storage/sqlite-memory-repository.d.ts +40 -0
  373. package/dist/infrastructure/storage/sqlite-memory-repository.d.ts.map +1 -0
  374. package/dist/infrastructure/storage/sqlite-memory-repository.js +229 -0
  375. package/dist/infrastructure/storage/sqlite-memory-repository.js.map +1 -0
  376. package/dist/infrastructure/storage/sqlite-pattern-repository.d.ts +25 -0
  377. package/dist/infrastructure/storage/sqlite-pattern-repository.d.ts.map +1 -0
  378. package/dist/infrastructure/storage/sqlite-pattern-repository.js +249 -0
  379. package/dist/infrastructure/storage/sqlite-pattern-repository.js.map +1 -0
  380. package/dist/infrastructure/ux/appropriate-friction.d.ts +77 -0
  381. package/dist/infrastructure/ux/appropriate-friction.d.ts.map +1 -0
  382. package/dist/infrastructure/ux/appropriate-friction.js +213 -0
  383. package/dist/infrastructure/ux/appropriate-friction.js.map +1 -0
  384. package/dist/infrastructure/ux/bi-directional-learning.d.ts +109 -0
  385. package/dist/infrastructure/ux/bi-directional-learning.d.ts.map +1 -0
  386. package/dist/infrastructure/ux/bi-directional-learning.js +200 -0
  387. package/dist/infrastructure/ux/bi-directional-learning.js.map +1 -0
  388. package/dist/infrastructure/ux/expectation-management.d.ts +65 -0
  389. package/dist/infrastructure/ux/expectation-management.d.ts.map +1 -0
  390. package/dist/infrastructure/ux/expectation-management.js +193 -0
  391. package/dist/infrastructure/ux/expectation-management.js.map +1 -0
  392. package/dist/infrastructure/ux/hitl-validation.d.ts +104 -0
  393. package/dist/infrastructure/ux/hitl-validation.d.ts.map +1 -0
  394. package/dist/infrastructure/ux/hitl-validation.js +211 -0
  395. package/dist/infrastructure/ux/hitl-validation.js.map +1 -0
  396. package/dist/infrastructure/ux/progressive-disclosure.d.ts +84 -0
  397. package/dist/infrastructure/ux/progressive-disclosure.d.ts.map +1 -0
  398. package/dist/infrastructure/ux/progressive-disclosure.js +235 -0
  399. package/dist/infrastructure/ux/progressive-disclosure.js.map +1 -0
  400. package/dist/infrastructure/ux/team-standards.d.ts +94 -0
  401. package/dist/infrastructure/ux/team-standards.d.ts.map +1 -0
  402. package/dist/infrastructure/ux/team-standards.js +196 -0
  403. package/dist/infrastructure/ux/team-standards.js.map +1 -0
  404. package/dist/infrastructure/verification/verification-service.d.ts +12 -0
  405. package/dist/infrastructure/verification/verification-service.d.ts.map +1 -0
  406. package/dist/infrastructure/verification/verification-service.js +47 -0
  407. package/dist/infrastructure/verification/verification-service.js.map +1 -0
  408. package/dist/infrastructure/xai/attention-visualizer.d.ts +73 -0
  409. package/dist/infrastructure/xai/attention-visualizer.d.ts.map +1 -0
  410. package/dist/infrastructure/xai/attention-visualizer.js +174 -0
  411. package/dist/infrastructure/xai/attention-visualizer.js.map +1 -0
  412. package/dist/infrastructure/xai/cot-visualizer.d.ts +105 -0
  413. package/dist/infrastructure/xai/cot-visualizer.d.ts.map +1 -0
  414. package/dist/infrastructure/xai/cot-visualizer.js +239 -0
  415. package/dist/infrastructure/xai/cot-visualizer.js.map +1 -0
  416. package/dist/infrastructure/xai/decision-tree-log.d.ts +104 -0
  417. package/dist/infrastructure/xai/decision-tree-log.d.ts.map +1 -0
  418. package/dist/infrastructure/xai/decision-tree-log.js +216 -0
  419. package/dist/infrastructure/xai/decision-tree-log.js.map +1 -0
  420. package/dist/infrastructure/xai/interactive-xai.d.ts +106 -0
  421. package/dist/infrastructure/xai/interactive-xai.d.ts.map +1 -0
  422. package/dist/infrastructure/xai/interactive-xai.js +262 -0
  423. package/dist/infrastructure/xai/interactive-xai.js.map +1 -0
  424. package/dist/infrastructure/xai/uncertainty-quantifier.d.ts +80 -0
  425. package/dist/infrastructure/xai/uncertainty-quantifier.d.ts.map +1 -0
  426. package/dist/infrastructure/xai/uncertainty-quantifier.js +201 -0
  427. package/dist/infrastructure/xai/uncertainty-quantifier.js.map +1 -0
  428. package/dist/intelligent-retrieval.d.ts.map +1 -1
  429. package/dist/intelligent-retrieval.js +8 -1
  430. package/dist/intelligent-retrieval.js.map +1 -1
  431. package/dist/intent/classifier.d.ts +6 -0
  432. package/dist/intent/classifier.d.ts.map +1 -0
  433. package/dist/intent/classifier.js +2 -0
  434. package/dist/intent/classifier.js.map +1 -0
  435. package/dist/intent/context.d.ts +4 -0
  436. package/dist/intent/context.d.ts.map +1 -0
  437. package/dist/intent/context.js +2 -0
  438. package/dist/intent/context.js.map +1 -0
  439. package/dist/iterative-refinement.d.ts.map +1 -1
  440. package/dist/iterative-refinement.js +20 -3
  441. package/dist/iterative-refinement.js.map +1 -1
  442. package/dist/learning.d.ts.map +1 -1
  443. package/dist/learning.js +1 -2
  444. package/dist/learning.js.map +1 -1
  445. package/dist/monitoring.d.ts.map +1 -1
  446. package/dist/monitoring.js +1 -2
  447. package/dist/monitoring.js.map +1 -1
  448. package/dist/parallel-processor.d.ts +3 -2
  449. package/dist/parallel-processor.d.ts.map +1 -1
  450. package/dist/parallel-processor.js +183 -56
  451. package/dist/parallel-processor.js.map +1 -1
  452. package/dist/presentation/cli/commands/ask-command.d.ts +8 -0
  453. package/dist/presentation/cli/commands/ask-command.d.ts.map +1 -0
  454. package/dist/presentation/cli/commands/ask-command.js +133 -0
  455. package/dist/presentation/cli/commands/ask-command.js.map +1 -0
  456. package/dist/presentation/cli/commands/config-command.d.ts +9 -0
  457. package/dist/presentation/cli/commands/config-command.d.ts.map +1 -0
  458. package/dist/presentation/cli/commands/config-command.js +123 -0
  459. package/dist/presentation/cli/commands/config-command.js.map +1 -0
  460. package/dist/presentation/cli/commands/cost-command.d.ts +8 -0
  461. package/dist/presentation/cli/commands/cost-command.d.ts.map +1 -0
  462. package/dist/presentation/cli/commands/cost-command.js +191 -0
  463. package/dist/presentation/cli/commands/cost-command.js.map +1 -0
  464. package/dist/presentation/cli/commands/decision-command.d.ts +12 -0
  465. package/dist/presentation/cli/commands/decision-command.d.ts.map +1 -0
  466. package/dist/presentation/cli/commands/decision-command.js +207 -0
  467. package/dist/presentation/cli/commands/decision-command.js.map +1 -0
  468. package/dist/presentation/cli/commands/help-command.d.ts +9 -0
  469. package/dist/presentation/cli/commands/help-command.d.ts.map +1 -0
  470. package/dist/presentation/cli/commands/help-command.js +281 -0
  471. package/dist/presentation/cli/commands/help-command.js.map +1 -0
  472. package/dist/presentation/cli/commands/knowledge-command.d.ts +13 -0
  473. package/dist/presentation/cli/commands/knowledge-command.d.ts.map +1 -0
  474. package/dist/presentation/cli/commands/knowledge-command.js +129 -0
  475. package/dist/presentation/cli/commands/knowledge-command.js.map +1 -0
  476. package/dist/presentation/cli/commands/learning-dashboard-command.d.ts +8 -0
  477. package/dist/presentation/cli/commands/learning-dashboard-command.d.ts.map +1 -0
  478. package/dist/presentation/cli/commands/learning-dashboard-command.js +183 -0
  479. package/dist/presentation/cli/commands/learning-dashboard-command.js.map +1 -0
  480. package/dist/presentation/cli/commands/orchestrate-command.d.ts +8 -0
  481. package/dist/presentation/cli/commands/orchestrate-command.d.ts.map +1 -0
  482. package/dist/presentation/cli/commands/orchestrate-command.js +112 -0
  483. package/dist/presentation/cli/commands/orchestrate-command.js.map +1 -0
  484. package/dist/presentation/cli/commands/plan-command.d.ts +8 -0
  485. package/dist/presentation/cli/commands/plan-command.d.ts.map +1 -0
  486. package/dist/presentation/cli/commands/plan-command.js +114 -0
  487. package/dist/presentation/cli/commands/plan-command.js.map +1 -0
  488. package/dist/presentation/cli/commands/react-command.d.ts +8 -0
  489. package/dist/presentation/cli/commands/react-command.d.ts.map +1 -0
  490. package/dist/presentation/cli/commands/react-command.js +99 -0
  491. package/dist/presentation/cli/commands/react-command.js.map +1 -0
  492. package/dist/presentation/cli/commands/setup-command.d.ts +10 -0
  493. package/dist/presentation/cli/commands/setup-command.d.ts.map +1 -0
  494. package/dist/presentation/cli/commands/setup-command.js +231 -0
  495. package/dist/presentation/cli/commands/setup-command.js.map +1 -0
  496. package/dist/presentation/cli/commands/smart-command.d.ts +6 -0
  497. package/dist/presentation/cli/commands/smart-command.d.ts.map +1 -0
  498. package/dist/presentation/cli/commands/smart-command.js +212 -0
  499. package/dist/presentation/cli/commands/smart-command.js.map +1 -0
  500. package/dist/presentation/cli/commands/trace-command.d.ts +8 -0
  501. package/dist/presentation/cli/commands/trace-command.d.ts.map +1 -0
  502. package/dist/presentation/cli/commands/trace-command.js +125 -0
  503. package/dist/presentation/cli/commands/trace-command.js.map +1 -0
  504. package/dist/presentation/cli/commands/undo-command.d.ts +8 -0
  505. package/dist/presentation/cli/commands/undo-command.d.ts.map +1 -0
  506. package/dist/presentation/cli/commands/undo-command.js +141 -0
  507. package/dist/presentation/cli/commands/undo-command.js.map +1 -0
  508. package/dist/presentation/cli/error-display.d.ts +23 -0
  509. package/dist/presentation/cli/error-display.d.ts.map +1 -0
  510. package/dist/presentation/cli/error-display.js +122 -0
  511. package/dist/presentation/cli/error-display.js.map +1 -0
  512. package/dist/refactor.d.ts.map +1 -1
  513. package/dist/refactor.js +2 -4
  514. package/dist/refactor.js.map +1 -1
  515. package/dist/search.d.ts.map +1 -1
  516. package/dist/search.js +2 -63
  517. package/dist/search.js.map +1 -1
  518. package/dist/session.d.ts.map +1 -1
  519. package/dist/session.js +52 -3
  520. package/dist/session.js.map +1 -1
  521. package/dist/testgen.d.ts.map +1 -1
  522. package/dist/testgen.js +1 -2
  523. package/dist/testgen.js.map +1 -1
  524. package/dist/tools/bash.d.ts +53 -0
  525. package/dist/tools/bash.d.ts.map +1 -0
  526. package/dist/tools/bash.js +213 -0
  527. package/dist/tools/bash.js.map +1 -0
  528. package/dist/tools/edit.d.ts +48 -0
  529. package/dist/tools/edit.d.ts.map +1 -0
  530. package/dist/tools/edit.js +235 -0
  531. package/dist/tools/edit.js.map +1 -0
  532. package/dist/tools/executor.d.ts +29 -0
  533. package/dist/tools/executor.d.ts.map +1 -0
  534. package/dist/tools/executor.js +153 -0
  535. package/dist/tools/executor.js.map +1 -0
  536. package/dist/tools/git-tool.d.ts +87 -0
  537. package/dist/tools/git-tool.d.ts.map +1 -0
  538. package/dist/tools/git-tool.js +292 -0
  539. package/dist/tools/git-tool.js.map +1 -0
  540. package/dist/tools/parser.d.ts +33 -0
  541. package/dist/tools/parser.d.ts.map +1 -0
  542. package/dist/tools/parser.js +158 -0
  543. package/dist/tools/parser.js.map +1 -0
  544. package/dist/tools/registry.d.ts +74 -0
  545. package/dist/tools/registry.d.ts.map +1 -0
  546. package/dist/tools/registry.js +302 -0
  547. package/dist/tools/registry.js.map +1 -0
  548. package/dist/tools/search.d.ts +41 -0
  549. package/dist/tools/search.d.ts.map +1 -0
  550. package/dist/tools/search.js +100 -0
  551. package/dist/tools/search.js.map +1 -0
  552. package/dist/ui.d.ts.map +1 -1
  553. package/dist/ui.js +4 -2
  554. package/dist/ui.js.map +1 -1
  555. package/dist/utils/check-api-status.d.ts +12 -0
  556. package/dist/utils/check-api-status.d.ts.map +1 -0
  557. package/dist/utils/check-api-status.js +82 -0
  558. package/dist/utils/check-api-status.js.map +1 -0
  559. package/dist/utils/diff-parser.d.ts +22 -0
  560. package/dist/utils/diff-parser.d.ts.map +1 -0
  561. package/dist/utils/diff-parser.js +160 -0
  562. package/dist/utils/diff-parser.js.map +1 -0
  563. package/dist/utils/logger.d.ts +34 -0
  564. package/dist/utils/logger.d.ts.map +1 -0
  565. package/dist/utils/logger.js +56 -0
  566. package/dist/utils/logger.js.map +1 -0
  567. package/dist/utils/version.d.ts +21 -0
  568. package/dist/utils/version.d.ts.map +1 -0
  569. package/dist/utils/version.js +52 -0
  570. package/dist/utils/version.js.map +1 -0
  571. package/dist/verification/backup.d.ts +30 -0
  572. package/dist/verification/backup.d.ts.map +1 -0
  573. package/dist/verification/backup.js +238 -0
  574. package/dist/verification/backup.js.map +1 -0
  575. package/dist/verification/compiler.d.ts +20 -0
  576. package/dist/verification/compiler.d.ts.map +1 -0
  577. package/dist/verification/compiler.js +228 -0
  578. package/dist/verification/compiler.js.map +1 -0
  579. package/dist/verification/index.d.ts +59 -0
  580. package/dist/verification/index.d.ts.map +1 -0
  581. package/dist/verification/index.js +273 -0
  582. package/dist/verification/index.js.map +1 -0
  583. package/dist/verification/test-runner.d.ts +27 -0
  584. package/dist/verification/test-runner.d.ts.map +1 -0
  585. package/dist/verification/test-runner.js +379 -0
  586. package/dist/verification/test-runner.js.map +1 -0
  587. package/package.json +39 -14
  588. package/ARCHITECTURE.md +0 -240
  589. package/CHANGELOG.md +0 -44
  590. package/CONTRIBUTING.md +0 -171
  591. package/dist/benchmark.d.ts +0 -39
  592. package/dist/benchmark.d.ts.map +0 -1
  593. package/dist/benchmark.js +0 -195
  594. package/dist/benchmark.js.map +0 -1
  595. package/dist/scaffold.d.ts +0 -14
  596. package/dist/scaffold.d.ts.map +0 -1
  597. package/dist/scaffold.js +0 -85
  598. package/dist/scaffold.js.map +0 -1
  599. package/templates/next-page/app/layout.tsx +0 -19
  600. package/templates/next-page/app/page.tsx +0 -10
  601. package/templates/next-page/package.json +0 -22
  602. package/templates/node-api/index.js +0 -57
  603. package/templates/node-api/package.json +0 -13
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Application Agent: Planning Agent (Architect)
3
+ * Specialized agent for creating detailed, step-by-step modification plans
4
+ *
5
+ * Based on enterprise architecture: Separate Planning Agent from PlanningUseCase
6
+ * Role: Creates detailed plans before execution
7
+ */
8
+ import type { IAIService } from '../../domain/interfaces/ai-service.interface.js';
9
+ import type { IMemoryRepository } from '../../domain/interfaces/memory-repository.interface.js';
10
+ import { MemoryStreamService } from '../../infrastructure/storage/memory-stream-service.js';
11
+ import type { Plan } from '../../domain/entities/plan.js';
12
+ import type { Memory } from '../../domain/entities/memory.js';
13
+ import type { DecisionRecorder } from '../../domain/services/decision-recorder.js';
14
+ import type { IPatternRepository } from '../../domain/interfaces/pattern-repository.interface.js';
15
+ import type { KnowledgeAccess } from '../../domain/services/knowledge-access.js';
16
+ export interface PlanningRequest {
17
+ goal: string;
18
+ context?: {
19
+ files?: string[];
20
+ constraints?: string[];
21
+ requirements?: string[];
22
+ };
23
+ }
24
+ export interface PlanningResponse {
25
+ plan: Plan;
26
+ reflections: string[];
27
+ salientQuestions: string[];
28
+ memoriesUsed: Memory[];
29
+ confidence: number;
30
+ }
31
+ export declare class PlanningAgent {
32
+ private aiService;
33
+ private memoryStream;
34
+ private memoryRepository;
35
+ private cwd;
36
+ private decisionRecorder?;
37
+ private patternRepository?;
38
+ private knowledgeAccess?;
39
+ private gitTool;
40
+ constructor(aiService: IAIService, memoryStream: MemoryStreamService, memoryRepository: IMemoryRepository, cwd?: string, decisionRecorder?: DecisionRecorder | undefined, // Optional - only record if provided
41
+ patternRepository?: IPatternRepository | undefined, // Optional - for pattern suggestions
42
+ knowledgeAccess?: KnowledgeAccess | undefined);
43
+ /**
44
+ * Create detailed modification plan
45
+ * This is the architect role - plans before execution
46
+ */
47
+ createPlan(request: PlanningRequest): Promise<PlanningResponse>;
48
+ /**
49
+ * Gather Git context for planning
50
+ */
51
+ private gatherGitContext;
52
+ /**
53
+ * Generate detailed hierarchical plan
54
+ */
55
+ private generateDetailedPlan;
56
+ /**
57
+ * Assess confidence in plan quality
58
+ */
59
+ private assessPlanConfidence;
60
+ }
61
+ //# sourceMappingURL=planning-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planning-agent.d.ts","sourceRoot":"","sources":["../../../src/application/agents/planning-agent.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iDAAiD,CAAC;AAClF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wDAAwD,CAAC;AAEhG,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAC5F,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAG9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAEnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yDAAyD,CAAC;AAClG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAEjF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,IAAI,CAAC;IACX,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,aAAa;IAItB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,gBAAgB,CAAC;IACzB,OAAO,CAAC,iBAAiB,CAAC;IAC1B,OAAO,CAAC,eAAe,CAAC;IAT1B,OAAO,CAAC,OAAO,CAAU;gBAGf,SAAS,EAAE,UAAU,EACrB,YAAY,EAAE,mBAAmB,EACjC,gBAAgB,EAAE,iBAAiB,EACnC,GAAG,GAAE,MAAsB,EAC3B,gBAAgB,CAAC,EAAE,gBAAgB,YAAA,EAAE,qCAAqC;IAC1E,iBAAiB,CAAC,EAAE,kBAAkB,YAAA,EAAE,qCAAqC;IAC7E,eAAe,CAAC,EAAE,eAAe,YAAA;IAK3C;;;OAGG;IACG,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiGrE;;OAEG;YACW,gBAAgB;IA2C9B;;OAEG;YACW,oBAAoB;IA6NlC;;OAEG;YACW,oBAAoB;CASnC"}
@@ -0,0 +1,357 @@
1
+ /**
2
+ * Application Agent: Planning Agent (Architect)
3
+ * Specialized agent for creating detailed, step-by-step modification plans
4
+ *
5
+ * Based on enterprise architecture: Separate Planning Agent from PlanningUseCase
6
+ * Role: Creates detailed plans before execution
7
+ */
8
+ import { GitTool } from '../../tools/git-tool.js';
9
+ import { findCodebaseRoot } from '../../domain/services/codebase-detector.js';
10
+ export class PlanningAgent {
11
+ aiService;
12
+ memoryStream;
13
+ memoryRepository;
14
+ cwd;
15
+ decisionRecorder;
16
+ patternRepository;
17
+ knowledgeAccess;
18
+ gitTool;
19
+ constructor(aiService, memoryStream, memoryRepository, cwd = process.cwd(), decisionRecorder, // Optional - only record if provided
20
+ patternRepository, // Optional - for pattern suggestions
21
+ knowledgeAccess // Optional - for knowledge retrieval
22
+ ) {
23
+ this.aiService = aiService;
24
+ this.memoryStream = memoryStream;
25
+ this.memoryRepository = memoryRepository;
26
+ this.cwd = cwd;
27
+ this.decisionRecorder = decisionRecorder;
28
+ this.patternRepository = patternRepository;
29
+ this.knowledgeAccess = knowledgeAccess;
30
+ this.gitTool = new GitTool(cwd);
31
+ }
32
+ /**
33
+ * Create detailed modification plan
34
+ * This is the architect role - plans before execution
35
+ */
36
+ async createPlan(request) {
37
+ // Input validation - fail fast
38
+ if (!request.goal || request.goal.trim().length === 0) {
39
+ throw new Error('Goal cannot be empty');
40
+ }
41
+ // 1. Detect codebase context (for codebase-aware operations)
42
+ const codebaseInfo = findCodebaseRoot(this.cwd);
43
+ const codebaseId = codebaseInfo?.codebaseId;
44
+ const codebasePath = codebaseInfo?.rootPath;
45
+ // 2. Gather context: Git state, memories (filtered by codebase if available)
46
+ const gitContext = await this.gatherGitContext();
47
+ let recentMemories;
48
+ let relevantMemories;
49
+ if (codebaseId) {
50
+ // Use codebase-aware memory retrieval
51
+ recentMemories = await this.memoryRepository.findRecentByCodebase(codebaseId, 100);
52
+ relevantMemories = await this.memoryStream.retrieveByCodebase(request.goal, codebaseId, 50);
53
+ }
54
+ else {
55
+ // Fallback to global memory retrieval (backward compatibility)
56
+ recentMemories = await this.memoryRepository.findRecent(100);
57
+ relevantMemories = await this.memoryStream.retrieve(request.goal, 50);
58
+ }
59
+ // 2. Synthesize memories into reflections
60
+ // Skip synthesis if no memories - fail fast
61
+ const reflections = [];
62
+ const salientQuestions = [];
63
+ if (recentMemories.length > 0) {
64
+ // Only synthesize if we have meaningful memories (skip for speed)
65
+ // For now, use memory descriptions directly as reflections
66
+ // Full synthesis can be done asynchronously if needed
67
+ reflections.push(...recentMemories.slice(0, 5).map(m => m.description));
68
+ }
69
+ // 3. Retrieve relevant patterns for plan generation (if pattern repository available)
70
+ let relevantPatterns = [];
71
+ if (this.patternRepository && codebaseId) {
72
+ try {
73
+ relevantPatterns = await this.patternRepository.search(codebaseId, request.goal, 5);
74
+ }
75
+ catch (error) {
76
+ // Non-critical - pattern retrieval shouldn't fail planning
77
+ console.warn('Pattern retrieval failed (non-critical):', error);
78
+ }
79
+ }
80
+ // 4. Generate hierarchical plan with detailed steps (including Git context and patterns)
81
+ const plan = await this.generateDetailedPlan(request.goal, reflections, relevantMemories, request.context, gitContext, relevantPatterns);
82
+ // 5. Assess plan confidence
83
+ const confidence = await this.assessPlanConfidence(plan, relevantMemories);
84
+ // 6. Store plan in memory (with codebase context)
85
+ await this.memoryStream.recordPlan(`Planning Agent created plan for: "${request.goal}"`, plan, codebaseId, codebasePath);
86
+ // 7. Extract and record decisions from planning context (if decision recorder available)
87
+ if (this.decisionRecorder && codebaseId) {
88
+ try {
89
+ await this.decisionRecorder.extractDecisionFromPlanning({
90
+ goal: request.goal,
91
+ plan,
92
+ constraints: request.context?.constraints,
93
+ }, codebaseId, this.aiService);
94
+ }
95
+ catch (error) {
96
+ // Don't fail planning if decision recording fails
97
+ console.warn('Decision recording failed (non-critical):', error);
98
+ }
99
+ }
100
+ return {
101
+ plan,
102
+ reflections,
103
+ salientQuestions,
104
+ memoriesUsed: relevantMemories,
105
+ confidence,
106
+ };
107
+ }
108
+ /**
109
+ * Gather Git context for planning
110
+ */
111
+ async gatherGitContext() {
112
+ try {
113
+ const status = await this.gitTool.status();
114
+ // status returns: { branch, modified, staged, untracked }
115
+ const currentBranch = status.branch;
116
+ const uncommittedFiles = [
117
+ ...status.modified,
118
+ ...status.staged,
119
+ ...status.untracked,
120
+ ];
121
+ const hasUncommittedChanges = uncommittedFiles.length > 0;
122
+ // Get recent commits (last 5)
123
+ const log = await this.gitTool.log(5);
124
+ const recentCommits = [];
125
+ if (Array.isArray(log)) {
126
+ for (const commit of log.slice(0, 5)) {
127
+ recentCommits.push(commit.hash.substring(0, 12)); // Short hash
128
+ }
129
+ }
130
+ return {
131
+ currentBranch,
132
+ hasUncommittedChanges,
133
+ uncommittedFiles,
134
+ recentCommits,
135
+ };
136
+ }
137
+ catch {
138
+ // Git not available or not a git repo
139
+ return {
140
+ hasUncommittedChanges: false,
141
+ uncommittedFiles: [],
142
+ recentCommits: [],
143
+ };
144
+ }
145
+ }
146
+ /**
147
+ * Generate detailed hierarchical plan
148
+ */
149
+ async generateDetailedPlan(goal, reflections, memories, context, gitContext, relevantPatterns = [], relevantKnowledge = []) {
150
+ const memoryContext = memories.map(m => `- ${m.description} (Type: ${m.type})`).join('\n');
151
+ const reflectionContext = reflections.map(r => `- ${r}`).join('\n');
152
+ const fileContext = context?.files ? `\n\nFiles to modify: ${context.files.join(', ')}` : '';
153
+ const constraintsContext = context?.constraints
154
+ ? `\n\nConstraints: ${context.constraints.join(', ')}`
155
+ : '';
156
+ // Git context
157
+ let gitContextText = '';
158
+ if (gitContext) {
159
+ gitContextText = `\n\nGit Context:`;
160
+ if (gitContext.currentBranch) {
161
+ gitContextText += `\n- Current branch: ${gitContext.currentBranch}`;
162
+ }
163
+ if (gitContext.hasUncommittedChanges) {
164
+ gitContextText += `\n- Uncommitted changes in: ${gitContext.uncommittedFiles.slice(0, 5).join(', ')}${gitContext.uncommittedFiles.length > 5 ? '...' : ''}`;
165
+ gitContextText += `\n⚠️ WARNING: There are uncommitted changes. Consider committing or stashing before making modifications.`;
166
+ }
167
+ if (gitContext.recentCommits.length > 0) {
168
+ gitContextText += `\n- Recent commits: ${gitContext.recentCommits.join(', ')}`;
169
+ }
170
+ }
171
+ // Detect if this is a multi-file operation
172
+ const isMultiFile = /(refactor|migrate|update|implement|create|add|introduce).*(system|codebase|all|multiple|several|across|architecture|pattern|components|layer|abstraction)/i.test(goal);
173
+ // Detect if this requires file/directory creation (architecture patterns, new layers, etc.)
174
+ const requiresFileCreation = /(add|create|introduce).*(repository|service|controller|middleware|pattern|layer|abstraction|directory|folder|file)/i.test(goal) ||
175
+ /(repository|service|controller|middleware)\s+(pattern|layer)/i.test(goal);
176
+ const multiFileGuidance = isMultiFile ? `
177
+
178
+ **IMPORTANT - MULTI-FILE OPERATION DETECTED:**
179
+ This goal requires changes across multiple files. Your plan MUST:
180
+ 1. Create separate sub-plans for EACH file that needs modification or creation
181
+ 2. Include sub-plans to search and identify ALL files that need changes
182
+ 3. Specify the exact filepath in each sub-plan description (e.g., "Edit src/auth/auth-service.ts to add JWT" or "Create src/repositories/user-repository.ts")
183
+ 4. Ensure dependencies are set correctly (search → edit file 1 → edit file 2)
184
+ 5. For file creation, use type "implement" and include the full filepath in the description
185
+ 6. Coordinate changes across files to ensure consistency
186
+ ${requiresFileCreation ? `
187
+
188
+ **FILE CREATION REQUIRED:**
189
+ This operation requires creating new files/directories. For each new file:
190
+ - Use type "implement" in the sub-plan
191
+ - Include the full directory path in the description (e.g., "Create src/repositories/user-repository.ts")
192
+ - Ensure parent directories are created as needed
193
+ - For patterns like "repository pattern", create:
194
+ * Interface files (e.g., "src/repositories/interfaces/user-repository.interface.ts")
195
+ * Implementation files (e.g., "src/repositories/user-repository.ts")
196
+ * Update existing files to use the new pattern
197
+ ` : ''}
198
+
199
+ Example multi-file plan structure:
200
+ - Sub-plan 1: "Search codebase for authentication-related files"
201
+ - Sub-plan 2: "Edit src/auth/auth-service.ts to implement JWT token generation"
202
+ - Sub-plan 3: "Edit src/auth/middleware.ts to add JWT validation middleware"
203
+ - Sub-plan 4: "Update src/config/auth-config.ts to include JWT settings"
204
+ ${requiresFileCreation ? `
205
+ Example file creation plan structure:
206
+ - Sub-plan 1: "Search codebase for data access patterns"
207
+ - Sub-plan 2: "Create src/repositories/interfaces/user-repository.interface.ts with IUserRepository interface"
208
+ - Sub-plan 3: "Create src/repositories/user-repository.ts implementing IUserRepository"
209
+ - Sub-plan 4: "Update src/services/user-service.ts to use UserRepository instead of direct data access"
210
+ ` : ''}
211
+ ` : '';
212
+ const prompt = `You are a Planning Agent (Architect) for an AI coding system. Your role is to create detailed, step-by-step modification plans.
213
+
214
+ Goal: "${goal}"${fileContext}${constraintsContext}${gitContextText}${multiFileGuidance}
215
+
216
+ Consider:
217
+ - **Relevant Past Experiences/Memories**:
218
+ ${memoryContext || 'No relevant past experiences.'}
219
+ - **Synthesized Reflections/Insights**:
220
+ ${reflectionContext || 'No specific reflections.'}
221
+ ${relevantPatterns.length > 0 ? `
222
+ - **Relevant Patterns from Codebase**:
223
+ ${relevantPatterns.map(p => ` - ${p.name}: ${p.description}${p.codeExample ? `\n Example: ${p.codeExample.substring(0, 200)}...` : ''}`).join('\n')}
224
+
225
+ **IMPORTANT**: Consider reusing or following these existing patterns from the codebase when creating your plan.
226
+ ` : ''}
227
+
228
+ Create a detailed plan with:
229
+ 1. Clear sub-plans with specific actions
230
+ 2. Dependencies between sub-plans
231
+ 3. Estimated complexity for each sub-plan
232
+ 4. Required tools/resources for each step
233
+
234
+ For each sub-plan, specify:
235
+ - \`id\`: Unique identifier (e.g., "subplan_1")
236
+ - \`description\`: Clear, actionable description WITH filepath if applicable (e.g., "Edit src/auth/auth-service.ts to add JWT")
237
+ - \`type\`: Action type (search, edit, refactor, review, analyze, implement, test, debug)
238
+ - \`dependencies\`: Array of sub-plan IDs that must complete first
239
+ - \`status\`: Always "pending" initially
240
+ - \`estimatedComplexity\`: "low" | "medium" | "high"
241
+ - \`requiredTools\`: Array of tool names needed (e.g., ["search", "edit"])
242
+
243
+ ${isMultiFile ? '**For multi-file operations, create one sub-plan per file, each with explicit filepath in description.**' : ''}
244
+
245
+ Respond with ONLY a JSON array of sub-plan objects.
246
+
247
+ Example:
248
+ [
249
+ {
250
+ "id": "subplan_1",
251
+ "description": "Search codebase for existing authentication patterns",
252
+ "type": "search",
253
+ "dependencies": [],
254
+ "status": "pending",
255
+ "estimatedComplexity": "low",
256
+ "requiredTools": ["search"]
257
+ },
258
+ {
259
+ "id": "subplan_2",
260
+ "description": "Implement JWT token generation in src/auth/jwt.ts",
261
+ "type": "implement",
262
+ "dependencies": ["subplan_1"],
263
+ "status": "pending",
264
+ "estimatedComplexity": "high",
265
+ "requiredTools": ["edit", "bash"]
266
+ }
267
+ ]
268
+
269
+ JSON only, no other text:`;
270
+ let response;
271
+ try {
272
+ // Add timeout protection for planning calls (60 seconds max)
273
+ const timeoutPromise = new Promise((_, reject) => {
274
+ setTimeout(() => reject(new Error('Planning API call timed out after 60 seconds')), 60000);
275
+ });
276
+ response = await Promise.race([
277
+ this.aiService.chat(prompt, []),
278
+ timeoutPromise,
279
+ ]);
280
+ }
281
+ catch (error) {
282
+ const errorMsg = error instanceof Error ? error.message : String(error);
283
+ console.error('Planning Agent: API call failed:', errorMsg);
284
+ // Provide more helpful error messages
285
+ if (errorMsg.includes('timeout') || errorMsg.includes('timed out')) {
286
+ throw new Error(`Failed to generate plan: API call timed out. The Cohere API may be slow or unresponsive. Please check your API key and network connection.`);
287
+ }
288
+ else if (errorMsg.includes('401') || errorMsg.includes('Unauthorized')) {
289
+ throw new Error(`Failed to generate plan: API authentication failed. Please check your COHERE_API_KEY is valid.`);
290
+ }
291
+ else if (errorMsg.includes('429') || errorMsg.includes('rate limit') || errorMsg.includes('TooManyRequests')) {
292
+ // Check if it's a trial key monthly limit
293
+ const isTrialLimit = errorMsg.includes('Trial key') || errorMsg.includes('1000 API calls');
294
+ if (isTrialLimit) {
295
+ throw new Error(`Failed to generate plan: Trial API key has reached monthly limit (1000 calls/month). Please upgrade to a Production key or wait for the limit to reset. See https://dashboard.cohere.com/api-keys`);
296
+ }
297
+ throw new Error(`Failed to generate plan: API rate limit exceeded (429). Please wait and try again or upgrade your API key.`);
298
+ }
299
+ throw new Error(`Failed to generate plan: API call failed. ${errorMsg}`);
300
+ }
301
+ // Check for empty response
302
+ if (!response || response.trim().length === 0) {
303
+ console.error('Planning Agent: Empty response from API');
304
+ throw new Error('Failed to generate plan: API returned empty response');
305
+ }
306
+ try {
307
+ // Try to extract JSON from response (handle cases where LLM adds extra text)
308
+ let jsonStr = response.trim();
309
+ // Try to find JSON array in response
310
+ const jsonArrayMatch = jsonStr.match(/\[[\s\S]*\]/);
311
+ if (jsonArrayMatch) {
312
+ jsonStr = jsonArrayMatch[0];
313
+ }
314
+ const subPlans = JSON.parse(jsonStr);
315
+ // Validate subPlans
316
+ if (!Array.isArray(subPlans) || subPlans.length === 0) {
317
+ console.error('Planning Agent: Invalid subPlans array:', subPlans);
318
+ throw new Error('Failed to generate plan: API returned empty or invalid sub-plans array');
319
+ }
320
+ return {
321
+ id: `plan_${Date.now()}`,
322
+ goal,
323
+ description: goal,
324
+ subPlans,
325
+ status: 'draft',
326
+ createdAt: new Date(),
327
+ updatedAt: new Date(),
328
+ dependencies: [],
329
+ metadata: {
330
+ memoriesUsed: memories.map(m => m.id || ''),
331
+ reflections: reflections,
332
+ complexity: 'medium',
333
+ priority: 5,
334
+ },
335
+ };
336
+ }
337
+ catch (e) {
338
+ console.error('Planning Agent: Failed to parse planning response');
339
+ console.error('Response length:', response?.length || 0);
340
+ console.error('Response preview:', response?.substring(0, 500) || 'empty');
341
+ console.error('Parse error:', e instanceof Error ? e.message : String(e));
342
+ throw new Error(`Failed to generate a valid plan. AI response was not valid JSON: ${e instanceof Error ? e.message : String(e)}`);
343
+ }
344
+ }
345
+ /**
346
+ * Assess confidence in plan quality
347
+ */
348
+ async assessPlanConfidence(plan, memories) {
349
+ // Simple heuristic: more memories = higher confidence
350
+ // More detailed sub-plans = higher confidence
351
+ const memoryFactor = Math.min(memories.length / 10, 1.0);
352
+ const detailFactor = Math.min(plan.subPlans.length / 5, 1.0);
353
+ const dependencyFactor = plan.subPlans.some(sp => sp.dependencies.length > 0) ? 0.2 : 0;
354
+ return Math.min(memoryFactor * 0.4 + detailFactor * 0.4 + dependencyFactor, 1.0);
355
+ }
356
+ }
357
+ //# sourceMappingURL=planning-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planning-agent.js","sourceRoot":"","sources":["../../../src/application/agents/planning-agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Application Agent: Validation Agent (Test Validator)
3
+ * Specialized agent for updating/generating tests, executing test suite, analyzing results
4
+ *
5
+ * Based on enterprise architecture: Separate Validation Agent
6
+ * Role: Validates execution results, runs tests, provides feedback
7
+ */
8
+ import type { IAIService } from '../../domain/interfaces/ai-service.interface.js';
9
+ import type { IVerificationService } from '../../domain/interfaces/verification-service.interface.js';
10
+ import type { Plan } from '../../domain/entities/plan.js';
11
+ import type { ExecutionResult } from './execution-agent.js';
12
+ export interface ValidationRequest {
13
+ plan: Plan;
14
+ executionResults: ExecutionResult[];
15
+ filesModified?: string[];
16
+ }
17
+ export interface ValidationResult {
18
+ success: boolean;
19
+ testsPassed: boolean;
20
+ compilationSuccess: boolean;
21
+ testResults?: {
22
+ passed: number;
23
+ failed: number;
24
+ total: number;
25
+ failures: Array<{
26
+ test: string;
27
+ error: string;
28
+ }>;
29
+ };
30
+ compilationErrors?: string[];
31
+ recommendations: string[];
32
+ qualityScore: number;
33
+ }
34
+ export declare class ValidationAgent {
35
+ private aiService;
36
+ private verificationService?;
37
+ constructor(aiService: IAIService, verificationService?: IVerificationService | undefined);
38
+ /**
39
+ * Validate execution results
40
+ * Runs tests, checks compilation, analyzes quality
41
+ */
42
+ validate(request: ValidationRequest): Promise<ValidationResult>;
43
+ /**
44
+ * Check compilation for modified files
45
+ */
46
+ private checkCompilation;
47
+ /**
48
+ * Run test suite
49
+ */
50
+ private runTests;
51
+ /**
52
+ * Analyze code quality
53
+ */
54
+ private analyzeQuality;
55
+ /**
56
+ * Generate recommendations based on validation results
57
+ */
58
+ private generateRecommendations;
59
+ /**
60
+ * Calculate overall quality score
61
+ */
62
+ private calculateQualityScore;
63
+ }
64
+ //# sourceMappingURL=validation-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-agent.d.ts","sourceRoot":"","sources":["../../../src/application/agents/validation-agent.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iDAAiD,CAAC;AAClF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2DAA2D,CAAC;AACtG,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAO5D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,IAAI,CAAC;IACX,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAClD,CAAC;IACF,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,eAAe;IAExB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,mBAAmB,CAAC;gBADpB,SAAS,EAAE,UAAU,EACrB,mBAAmB,CAAC,EAAE,oBAAoB,YAAA;IAGpD;;;OAGG;IACG,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuCrE;;OAEG;YACW,gBAAgB;IA4B9B;;OAEG;YACW,QAAQ;IAgEtB;;OAEG;YACW,cAAc;IA4B5B;;OAEG;YACW,uBAAuB;IAgCrC;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAoB9B"}