codehere 0.3.0 → 0.5.0-alpha

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 (455) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +329 -65
  3. package/dist/application/agents/documentation-agent.d.ts +24 -0
  4. package/dist/application/agents/documentation-agent.d.ts.map +1 -0
  5. package/dist/application/agents/documentation-agent.js +399 -0
  6. package/dist/application/agents/documentation-agent.js.map +1 -0
  7. package/dist/application/agents/execution-agent.d.ts +11 -0
  8. package/dist/application/agents/execution-agent.d.ts.map +1 -1
  9. package/dist/application/agents/execution-agent.js +289 -80
  10. package/dist/application/agents/execution-agent.js.map +1 -1
  11. package/dist/application/agents/multi-agent-orchestrator.d.ts +4 -0
  12. package/dist/application/agents/multi-agent-orchestrator.d.ts.map +1 -1
  13. package/dist/application/agents/multi-agent-orchestrator.js +95 -2
  14. package/dist/application/agents/multi-agent-orchestrator.js.map +1 -1
  15. package/dist/application/agents/planning-agent.d.ts +3 -0
  16. package/dist/application/agents/planning-agent.d.ts.map +1 -1
  17. package/dist/application/agents/planning-agent.js +151 -71
  18. package/dist/application/agents/planning-agent.js.map +1 -1
  19. package/dist/application/agents/product-requirements-agent.d.ts +21 -0
  20. package/dist/application/agents/product-requirements-agent.d.ts.map +1 -0
  21. package/dist/application/agents/product-requirements-agent.js +247 -0
  22. package/dist/application/agents/product-requirements-agent.js.map +1 -0
  23. package/dist/application/agents/validation-agent.d.ts +5 -1
  24. package/dist/application/agents/validation-agent.d.ts.map +1 -1
  25. package/dist/application/agents/validation-agent.js +156 -21
  26. package/dist/application/agents/validation-agent.js.map +1 -1
  27. package/dist/application/reasoning/multi-model-planning-strategy.d.ts +21 -0
  28. package/dist/application/reasoning/multi-model-planning-strategy.d.ts.map +1 -0
  29. package/dist/application/reasoning/multi-model-planning-strategy.js +158 -0
  30. package/dist/application/reasoning/multi-model-planning-strategy.js.map +1 -0
  31. package/dist/application/reasoning/reasoning-config.d.ts +15 -0
  32. package/dist/application/reasoning/reasoning-config.d.ts.map +1 -0
  33. package/dist/application/reasoning/reasoning-config.js +50 -0
  34. package/dist/application/reasoning/reasoning-config.js.map +1 -0
  35. package/dist/application/reasoning/reasoning-orchestrator.d.ts +18 -0
  36. package/dist/application/reasoning/reasoning-orchestrator.d.ts.map +1 -0
  37. package/dist/application/reasoning/reasoning-orchestrator.js +170 -0
  38. package/dist/application/reasoning/reasoning-orchestrator.js.map +1 -0
  39. package/dist/application/reasoning/reasoning-strategy.interface.d.ts +24 -0
  40. package/dist/application/reasoning/reasoning-strategy.interface.d.ts.map +1 -0
  41. package/dist/application/reasoning/reasoning-strategy.interface.js +6 -0
  42. package/dist/application/reasoning/reasoning-strategy.interface.js.map +1 -0
  43. package/dist/application/reasoning/role-provider-resolver.d.ts +36 -0
  44. package/dist/application/reasoning/role-provider-resolver.d.ts.map +1 -0
  45. package/dist/application/reasoning/role-provider-resolver.js +74 -0
  46. package/dist/application/reasoning/role-provider-resolver.js.map +1 -0
  47. package/dist/application/reasoning/simple-planning-strategy.d.ts +22 -0
  48. package/dist/application/reasoning/simple-planning-strategy.d.ts.map +1 -0
  49. package/dist/application/reasoning/simple-planning-strategy.js +217 -0
  50. package/dist/application/reasoning/simple-planning-strategy.js.map +1 -0
  51. package/dist/application/reasoning/types.d.ts +65 -0
  52. package/dist/application/reasoning/types.d.ts.map +1 -0
  53. package/dist/application/reasoning/types.js +6 -0
  54. package/dist/application/reasoning/types.js.map +1 -0
  55. package/dist/application/reasoning/validator-strategy.d.ts +56 -0
  56. package/dist/application/reasoning/validator-strategy.d.ts.map +1 -0
  57. package/dist/application/reasoning/validator-strategy.js +103 -0
  58. package/dist/application/reasoning/validator-strategy.js.map +1 -0
  59. package/dist/application/services/dependency-container.d.ts +46 -2
  60. package/dist/application/services/dependency-container.d.ts.map +1 -1
  61. package/dist/application/services/dependency-container.js +198 -8
  62. package/dist/application/services/dependency-container.js.map +1 -1
  63. package/dist/application/services/intelligent-router.d.ts +19 -0
  64. package/dist/application/services/intelligent-router.d.ts.map +1 -1
  65. package/dist/application/services/intelligent-router.js +393 -91
  66. package/dist/application/services/intelligent-router.js.map +1 -1
  67. package/dist/application/use-cases/ask-question-use-case.d.ts +20 -0
  68. package/dist/application/use-cases/ask-question-use-case.d.ts.map +1 -1
  69. package/dist/application/use-cases/ask-question-use-case.js +129 -49
  70. package/dist/application/use-cases/ask-question-use-case.js.map +1 -1
  71. package/dist/application/use-cases/edit-file-use-case.d.ts.map +1 -1
  72. package/dist/application/use-cases/edit-file-use-case.js +16 -1
  73. package/dist/application/use-cases/edit-file-use-case.js.map +1 -1
  74. package/dist/application/use-cases/planning-use-case.d.ts +14 -1
  75. package/dist/application/use-cases/planning-use-case.d.ts.map +1 -1
  76. package/dist/application/use-cases/planning-use-case.js +109 -2
  77. package/dist/application/use-cases/planning-use-case.js.map +1 -1
  78. package/dist/domain/entities/documentation.d.ts +35 -0
  79. package/dist/domain/entities/documentation.d.ts.map +1 -0
  80. package/dist/domain/entities/documentation.js +6 -0
  81. package/dist/domain/entities/documentation.js.map +1 -0
  82. package/dist/domain/entities/memory.d.ts.map +1 -1
  83. package/dist/domain/entities/product-requirements.d.ts +50 -0
  84. package/dist/domain/entities/product-requirements.d.ts.map +1 -0
  85. package/dist/domain/entities/product-requirements.js +6 -0
  86. package/dist/domain/entities/product-requirements.js.map +1 -0
  87. package/dist/domain/entities/task.d.ts +152 -0
  88. package/dist/domain/entities/task.d.ts.map +1 -0
  89. package/dist/domain/entities/task.js +61 -0
  90. package/dist/domain/entities/task.js.map +1 -0
  91. package/dist/domain/errors/embeddings-not-found-error.d.ts +9 -0
  92. package/dist/domain/errors/embeddings-not-found-error.d.ts.map +1 -0
  93. package/dist/domain/errors/embeddings-not-found-error.js +13 -0
  94. package/dist/domain/errors/embeddings-not-found-error.js.map +1 -0
  95. package/dist/domain/interfaces/agent.interface.d.ts +15 -0
  96. package/dist/domain/interfaces/agent.interface.d.ts.map +1 -0
  97. package/dist/domain/interfaces/agent.interface.js +6 -0
  98. package/dist/domain/interfaces/agent.interface.js.map +1 -0
  99. package/dist/domain/interfaces/embedding-repository.interface.d.ts +5 -0
  100. package/dist/domain/interfaces/embedding-repository.interface.d.ts.map +1 -1
  101. package/dist/domain/services/environment-mode-manager.d.ts +12 -0
  102. package/dist/domain/services/environment-mode-manager.d.ts.map +1 -0
  103. package/dist/domain/services/environment-mode-manager.js +22 -0
  104. package/dist/domain/services/environment-mode-manager.js.map +1 -0
  105. package/dist/domain/services/query-intent-classifier.d.ts.map +1 -1
  106. package/dist/domain/services/query-intent-classifier.js +20 -1
  107. package/dist/domain/services/query-intent-classifier.js.map +1 -1
  108. package/dist/domain/services/risk-tier-detector.d.ts +17 -0
  109. package/dist/domain/services/risk-tier-detector.d.ts.map +1 -0
  110. package/dist/domain/services/risk-tier-detector.js +78 -0
  111. package/dist/domain/services/risk-tier-detector.js.map +1 -0
  112. package/dist/embed.d.ts.map +1 -1
  113. package/dist/embed.js +18 -8
  114. package/dist/embed.js.map +1 -1
  115. package/dist/formatter.d.ts.map +1 -1
  116. package/dist/formatter.js +10 -3
  117. package/dist/formatter.js.map +1 -1
  118. package/dist/index.js +494 -167
  119. package/dist/index.js.map +1 -1
  120. package/dist/infrastructure/ai/cohere-ai-service.d.ts.map +1 -1
  121. package/dist/infrastructure/ai/cohere-ai-service.js +19 -6
  122. package/dist/infrastructure/ai/cohere-ai-service.js.map +1 -1
  123. package/dist/infrastructure/ai/fake-ai-service.d.ts +22 -0
  124. package/dist/infrastructure/ai/fake-ai-service.d.ts.map +1 -0
  125. package/dist/infrastructure/ai/fake-ai-service.js +59 -0
  126. package/dist/infrastructure/ai/fake-ai-service.js.map +1 -0
  127. package/dist/infrastructure/ai/provider-ai-service.d.ts +59 -0
  128. package/dist/infrastructure/ai/provider-ai-service.d.ts.map +1 -0
  129. package/dist/infrastructure/ai/provider-ai-service.js +477 -0
  130. package/dist/infrastructure/ai/provider-ai-service.js.map +1 -0
  131. package/dist/infrastructure/cache/embedding-cache.d.ts +13 -1
  132. package/dist/infrastructure/cache/embedding-cache.d.ts.map +1 -1
  133. package/dist/infrastructure/cache/embedding-cache.js +80 -9
  134. package/dist/infrastructure/cache/embedding-cache.js.map +1 -1
  135. package/dist/infrastructure/cache/query-result-cache.d.ts +14 -55
  136. package/dist/infrastructure/cache/query-result-cache.d.ts.map +1 -1
  137. package/dist/infrastructure/cache/query-result-cache.js +40 -112
  138. package/dist/infrastructure/cache/query-result-cache.js.map +1 -1
  139. package/dist/infrastructure/cache/response-cache.d.ts +18 -0
  140. package/dist/infrastructure/cache/response-cache.d.ts.map +1 -0
  141. package/dist/infrastructure/cache/response-cache.js +48 -0
  142. package/dist/infrastructure/cache/response-cache.js.map +1 -0
  143. package/dist/infrastructure/cache/security-scan-cache.d.ts +8 -49
  144. package/dist/infrastructure/cache/security-scan-cache.d.ts.map +1 -1
  145. package/dist/infrastructure/cache/security-scan-cache.js +25 -102
  146. package/dist/infrastructure/cache/security-scan-cache.js.map +1 -1
  147. package/dist/infrastructure/completion/bash-completion.d.ts +2 -3
  148. package/dist/infrastructure/completion/bash-completion.d.ts.map +1 -1
  149. package/dist/infrastructure/completion/bash-completion.js +11 -87
  150. package/dist/infrastructure/completion/bash-completion.js.map +1 -1
  151. package/dist/infrastructure/completion/fish-completion.d.ts +2 -3
  152. package/dist/infrastructure/completion/fish-completion.d.ts.map +1 -1
  153. package/dist/infrastructure/completion/fish-completion.js +15 -58
  154. package/dist/infrastructure/completion/fish-completion.js.map +1 -1
  155. package/dist/infrastructure/completion/zsh-completion.d.ts +2 -3
  156. package/dist/infrastructure/completion/zsh-completion.d.ts.map +1 -1
  157. package/dist/infrastructure/completion/zsh-completion.js +18 -73
  158. package/dist/infrastructure/completion/zsh-completion.js.map +1 -1
  159. package/dist/infrastructure/config/config-manager.d.ts +10 -0
  160. package/dist/infrastructure/config/config-manager.d.ts.map +1 -1
  161. package/dist/infrastructure/config/config-manager.js +13 -2
  162. package/dist/infrastructure/config/config-manager.js.map +1 -1
  163. package/dist/infrastructure/context/conversation-context.d.ts +54 -0
  164. package/dist/infrastructure/context/conversation-context.d.ts.map +1 -0
  165. package/dist/infrastructure/context/conversation-context.js +129 -0
  166. package/dist/infrastructure/context/conversation-context.js.map +1 -0
  167. package/dist/infrastructure/context/session-manager.d.ts +42 -0
  168. package/dist/infrastructure/context/session-manager.d.ts.map +1 -0
  169. package/dist/infrastructure/context/session-manager.js +94 -0
  170. package/dist/infrastructure/context/session-manager.js.map +1 -0
  171. package/dist/infrastructure/cost/cost-tracker.d.ts +1 -0
  172. package/dist/infrastructure/cost/cost-tracker.d.ts.map +1 -1
  173. package/dist/infrastructure/cost/cost-tracker.js +12 -5
  174. package/dist/infrastructure/cost/cost-tracker.js.map +1 -1
  175. package/dist/infrastructure/governance/nist-ai-rmf.d.ts +6 -8
  176. package/dist/infrastructure/governance/nist-ai-rmf.d.ts.map +1 -1
  177. package/dist/infrastructure/governance/nist-ai-rmf.js +6 -8
  178. package/dist/infrastructure/governance/nist-ai-rmf.js.map +1 -1
  179. package/dist/infrastructure/governance/policy-as-code.d.ts +6 -8
  180. package/dist/infrastructure/governance/policy-as-code.d.ts.map +1 -1
  181. package/dist/infrastructure/governance/policy-as-code.js +6 -8
  182. package/dist/infrastructure/governance/policy-as-code.js.map +1 -1
  183. package/dist/infrastructure/governance/prompt-to-code-lineage.d.ts +7 -9
  184. package/dist/infrastructure/governance/prompt-to-code-lineage.d.ts.map +1 -1
  185. package/dist/infrastructure/governance/prompt-to-code-lineage.js +7 -9
  186. package/dist/infrastructure/governance/prompt-to-code-lineage.js.map +1 -1
  187. package/dist/infrastructure/protocols/a2a-metadata.js +1 -1
  188. package/dist/infrastructure/protocols/mcp-oauth.js +1 -1
  189. package/dist/infrastructure/providers/cohere-provider.d.ts +39 -0
  190. package/dist/infrastructure/providers/cohere-provider.d.ts.map +1 -0
  191. package/dist/infrastructure/providers/cohere-provider.js +444 -0
  192. package/dist/infrastructure/providers/cohere-provider.js.map +1 -0
  193. package/dist/infrastructure/providers/fake-provider.d.ts +43 -0
  194. package/dist/infrastructure/providers/fake-provider.d.ts.map +1 -0
  195. package/dist/infrastructure/providers/fake-provider.js +130 -0
  196. package/dist/infrastructure/providers/fake-provider.js.map +1 -0
  197. package/dist/infrastructure/providers/local-llm-provider.d.ts +49 -0
  198. package/dist/infrastructure/providers/local-llm-provider.d.ts.map +1 -0
  199. package/dist/infrastructure/providers/local-llm-provider.js +330 -0
  200. package/dist/infrastructure/providers/local-llm-provider.js.map +1 -0
  201. package/dist/infrastructure/providers/model-config.types.d.ts +70 -0
  202. package/dist/infrastructure/providers/model-config.types.d.ts.map +1 -0
  203. package/dist/infrastructure/providers/model-config.types.js +9 -0
  204. package/dist/infrastructure/providers/model-config.types.js.map +1 -0
  205. package/dist/infrastructure/providers/model-provider.interface.d.ts +113 -0
  206. package/dist/infrastructure/providers/model-provider.interface.d.ts.map +1 -0
  207. package/dist/infrastructure/providers/model-provider.interface.js +8 -0
  208. package/dist/infrastructure/providers/model-provider.interface.js.map +1 -0
  209. package/dist/infrastructure/providers/openai-provider.d.ts +38 -0
  210. package/dist/infrastructure/providers/openai-provider.d.ts.map +1 -0
  211. package/dist/infrastructure/providers/openai-provider.js +413 -0
  212. package/dist/infrastructure/providers/openai-provider.js.map +1 -0
  213. package/dist/infrastructure/providers/openrouter-provider.d.ts +42 -0
  214. package/dist/infrastructure/providers/openrouter-provider.d.ts.map +1 -0
  215. package/dist/infrastructure/providers/openrouter-provider.js +401 -0
  216. package/dist/infrastructure/providers/openrouter-provider.js.map +1 -0
  217. package/dist/infrastructure/providers/operation-provider-resolver.d.ts +48 -0
  218. package/dist/infrastructure/providers/operation-provider-resolver.d.ts.map +1 -0
  219. package/dist/infrastructure/providers/operation-provider-resolver.js +131 -0
  220. package/dist/infrastructure/providers/operation-provider-resolver.js.map +1 -0
  221. package/dist/infrastructure/providers/provider-config-loader.d.ts +37 -0
  222. package/dist/infrastructure/providers/provider-config-loader.d.ts.map +1 -0
  223. package/dist/infrastructure/providers/provider-config-loader.js +120 -0
  224. package/dist/infrastructure/providers/provider-config-loader.js.map +1 -0
  225. package/dist/infrastructure/providers/provider-registry.d.ts +53 -0
  226. package/dist/infrastructure/providers/provider-registry.d.ts.map +1 -0
  227. package/dist/infrastructure/providers/provider-registry.js +88 -0
  228. package/dist/infrastructure/providers/provider-registry.js.map +1 -0
  229. package/dist/infrastructure/security/input-validator.d.ts.map +1 -1
  230. package/dist/infrastructure/security/input-validator.js +19 -6
  231. package/dist/infrastructure/security/input-validator.js.map +1 -1
  232. package/dist/infrastructure/serialization/toon-serializer.d.ts +45 -0
  233. package/dist/infrastructure/serialization/toon-serializer.d.ts.map +1 -0
  234. package/dist/infrastructure/serialization/toon-serializer.js +119 -0
  235. package/dist/infrastructure/serialization/toon-serializer.js.map +1 -0
  236. package/dist/infrastructure/storage/embeddings-path.d.ts +18 -0
  237. package/dist/infrastructure/storage/embeddings-path.d.ts.map +1 -0
  238. package/dist/infrastructure/storage/embeddings-path.js +37 -0
  239. package/dist/infrastructure/storage/embeddings-path.js.map +1 -0
  240. package/dist/infrastructure/storage/plan-repository.d.ts +2 -0
  241. package/dist/infrastructure/storage/plan-repository.d.ts.map +1 -1
  242. package/dist/infrastructure/storage/plan-repository.js +36 -73
  243. package/dist/infrastructure/storage/plan-repository.js.map +1 -1
  244. package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts +10 -1
  245. package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts.map +1 -1
  246. package/dist/infrastructure/storage/sqlite-embedding-repository.js +37 -3
  247. package/dist/infrastructure/storage/sqlite-embedding-repository.js.map +1 -1
  248. package/dist/infrastructure/storage/task-helpers.d.ts +69 -0
  249. package/dist/infrastructure/storage/task-helpers.d.ts.map +1 -0
  250. package/dist/infrastructure/storage/task-helpers.js +197 -0
  251. package/dist/infrastructure/storage/task-helpers.js.map +1 -0
  252. package/dist/infrastructure/storage/task-repository.d.ts +68 -0
  253. package/dist/infrastructure/storage/task-repository.d.ts.map +1 -0
  254. package/dist/infrastructure/storage/task-repository.js +216 -0
  255. package/dist/infrastructure/storage/task-repository.js.map +1 -0
  256. package/dist/infrastructure/telemetry/telemetry-service.d.ts +74 -0
  257. package/dist/infrastructure/telemetry/telemetry-service.d.ts.map +1 -0
  258. package/dist/infrastructure/telemetry/telemetry-service.js +167 -0
  259. package/dist/infrastructure/telemetry/telemetry-service.js.map +1 -0
  260. package/dist/infrastructure/ux/bi-directional-learning.d.ts +22 -0
  261. package/dist/infrastructure/ux/bi-directional-learning.d.ts.map +1 -1
  262. package/dist/infrastructure/ux/bi-directional-learning.js +144 -7
  263. package/dist/infrastructure/ux/bi-directional-learning.js.map +1 -1
  264. package/dist/infrastructure/ux/capability-boundaries.d.ts +22 -0
  265. package/dist/infrastructure/ux/capability-boundaries.d.ts.map +1 -0
  266. package/dist/infrastructure/ux/capability-boundaries.js +42 -0
  267. package/dist/infrastructure/ux/capability-boundaries.js.map +1 -0
  268. package/dist/infrastructure/ux/comprehensive-formatter.d.ts +21 -0
  269. package/dist/infrastructure/ux/comprehensive-formatter.d.ts.map +1 -0
  270. package/dist/infrastructure/ux/comprehensive-formatter.js +117 -0
  271. package/dist/infrastructure/ux/comprehensive-formatter.js.map +1 -0
  272. package/dist/infrastructure/ux/contextual-feature-discovery.d.ts +5 -18
  273. package/dist/infrastructure/ux/contextual-feature-discovery.d.ts.map +1 -1
  274. package/dist/infrastructure/ux/contextual-feature-discovery.js +5 -139
  275. package/dist/infrastructure/ux/contextual-feature-discovery.js.map +1 -1
  276. package/dist/infrastructure/ux/feature-discovery.d.ts +3 -33
  277. package/dist/infrastructure/ux/feature-discovery.d.ts.map +1 -1
  278. package/dist/infrastructure/ux/feature-discovery.js +5 -181
  279. package/dist/infrastructure/ux/feature-discovery.js.map +1 -1
  280. package/dist/infrastructure/ux/feedback-prompt.d.ts +26 -0
  281. package/dist/infrastructure/ux/feedback-prompt.d.ts.map +1 -0
  282. package/dist/infrastructure/ux/feedback-prompt.js +45 -0
  283. package/dist/infrastructure/ux/feedback-prompt.js.map +1 -0
  284. package/dist/infrastructure/ux/hitl-review-portal.d.ts.map +1 -1
  285. package/dist/infrastructure/ux/hitl-review-portal.js +4 -1
  286. package/dist/infrastructure/ux/hitl-review-portal.js.map +1 -1
  287. package/dist/infrastructure/ux/hitl-validation.d.ts +35 -0
  288. package/dist/infrastructure/ux/hitl-validation.d.ts.map +1 -1
  289. package/dist/infrastructure/ux/hitl-validation.js +86 -0
  290. package/dist/infrastructure/ux/hitl-validation.js.map +1 -1
  291. package/dist/infrastructure/ux/progress-indicator.d.ts +5 -6
  292. package/dist/infrastructure/ux/progress-indicator.d.ts.map +1 -1
  293. package/dist/infrastructure/ux/progress-indicator.js +36 -41
  294. package/dist/infrastructure/ux/progress-indicator.js.map +1 -1
  295. package/dist/infrastructure/ux/proportional-friction.d.ts +73 -0
  296. package/dist/infrastructure/ux/proportional-friction.d.ts.map +1 -0
  297. package/dist/infrastructure/ux/proportional-friction.js +200 -0
  298. package/dist/infrastructure/ux/proportional-friction.js.map +1 -0
  299. package/dist/infrastructure/ux/review-checkpoint.d.ts +3 -1
  300. package/dist/infrastructure/ux/review-checkpoint.d.ts.map +1 -1
  301. package/dist/infrastructure/ux/review-checkpoint.js +33 -80
  302. package/dist/infrastructure/ux/review-checkpoint.js.map +1 -1
  303. package/dist/infrastructure/ux/staged-feature-intro.d.ts +14 -39
  304. package/dist/infrastructure/ux/staged-feature-intro.d.ts.map +1 -1
  305. package/dist/infrastructure/ux/staged-feature-intro.js +12 -132
  306. package/dist/infrastructure/ux/staged-feature-intro.js.map +1 -1
  307. package/dist/infrastructure/ux/syntax-highlighter.d.ts +1 -2
  308. package/dist/infrastructure/ux/syntax-highlighter.d.ts.map +1 -1
  309. package/dist/infrastructure/ux/syntax-highlighter.js +67 -148
  310. package/dist/infrastructure/ux/syntax-highlighter.js.map +1 -1
  311. package/dist/infrastructure/validation/agent-feedback.d.ts +51 -0
  312. package/dist/infrastructure/validation/agent-feedback.d.ts.map +1 -0
  313. package/dist/infrastructure/validation/agent-feedback.js +55 -0
  314. package/dist/infrastructure/validation/agent-feedback.js.map +1 -0
  315. package/dist/infrastructure/validation/agent-validation-helper.d.ts +75 -0
  316. package/dist/infrastructure/validation/agent-validation-helper.d.ts.map +1 -0
  317. package/dist/infrastructure/validation/agent-validation-helper.js +137 -0
  318. package/dist/infrastructure/validation/agent-validation-helper.js.map +1 -0
  319. package/dist/infrastructure/validation/feedback-stats.d.ts +99 -0
  320. package/dist/infrastructure/validation/feedback-stats.d.ts.map +1 -0
  321. package/dist/infrastructure/validation/feedback-stats.js +173 -0
  322. package/dist/infrastructure/validation/feedback-stats.js.map +1 -0
  323. package/dist/infrastructure/validation/review-handler.d.ts +26 -0
  324. package/dist/infrastructure/validation/review-handler.d.ts.map +1 -0
  325. package/dist/infrastructure/validation/review-handler.js +40 -0
  326. package/dist/infrastructure/validation/review-handler.js.map +1 -0
  327. package/dist/infrastructure/validation/summary-aggregator.d.ts +45 -0
  328. package/dist/infrastructure/validation/summary-aggregator.d.ts.map +1 -0
  329. package/dist/infrastructure/validation/summary-aggregator.js +70 -0
  330. package/dist/infrastructure/validation/summary-aggregator.js.map +1 -0
  331. package/dist/infrastructure/validation/summary-extractor.d.ts +24 -0
  332. package/dist/infrastructure/validation/summary-extractor.d.ts.map +1 -0
  333. package/dist/infrastructure/validation/summary-extractor.js +45 -0
  334. package/dist/infrastructure/validation/summary-extractor.js.map +1 -0
  335. package/dist/infrastructure/validation/trace-summary.d.ts +45 -0
  336. package/dist/infrastructure/validation/trace-summary.d.ts.map +1 -0
  337. package/dist/infrastructure/validation/trace-summary.js +52 -0
  338. package/dist/infrastructure/validation/trace-summary.js.map +1 -0
  339. package/dist/infrastructure/validation/trust-config.d.ts +27 -0
  340. package/dist/infrastructure/validation/trust-config.d.ts.map +1 -0
  341. package/dist/infrastructure/validation/trust-config.js +113 -0
  342. package/dist/infrastructure/validation/trust-config.js.map +1 -0
  343. package/dist/infrastructure/xai/attention-visualizer.d.ts +6 -8
  344. package/dist/infrastructure/xai/attention-visualizer.d.ts.map +1 -1
  345. package/dist/infrastructure/xai/attention-visualizer.js +6 -8
  346. package/dist/infrastructure/xai/attention-visualizer.js.map +1 -1
  347. package/dist/infrastructure/xai/cot-visualizer.d.ts +6 -9
  348. package/dist/infrastructure/xai/cot-visualizer.d.ts.map +1 -1
  349. package/dist/infrastructure/xai/cot-visualizer.js +6 -9
  350. package/dist/infrastructure/xai/cot-visualizer.js.map +1 -1
  351. package/dist/infrastructure/xai/decision-tree-log.d.ts +6 -10
  352. package/dist/infrastructure/xai/decision-tree-log.d.ts.map +1 -1
  353. package/dist/infrastructure/xai/decision-tree-log.js +6 -10
  354. package/dist/infrastructure/xai/decision-tree-log.js.map +1 -1
  355. package/dist/infrastructure/xai/interactive-xai.d.ts +6 -8
  356. package/dist/infrastructure/xai/interactive-xai.d.ts.map +1 -1
  357. package/dist/infrastructure/xai/interactive-xai.js +6 -8
  358. package/dist/infrastructure/xai/interactive-xai.js.map +1 -1
  359. package/dist/infrastructure/xai/uncertainty-quantifier.d.ts +6 -9
  360. package/dist/infrastructure/xai/uncertainty-quantifier.d.ts.map +1 -1
  361. package/dist/infrastructure/xai/uncertainty-quantifier.js +6 -9
  362. package/dist/infrastructure/xai/uncertainty-quantifier.js.map +1 -1
  363. package/dist/monitoring.d.ts +1 -1
  364. package/dist/monitoring.d.ts.map +1 -1
  365. package/dist/monitoring.js +12 -9
  366. package/dist/monitoring.js.map +1 -1
  367. package/dist/parallel-processor.d.ts.map +1 -1
  368. package/dist/parallel-processor.js +124 -45
  369. package/dist/parallel-processor.js.map +1 -1
  370. package/dist/presentation/cli/commands/ask-command.d.ts +2 -0
  371. package/dist/presentation/cli/commands/ask-command.d.ts.map +1 -1
  372. package/dist/presentation/cli/commands/ask-command.js +356 -87
  373. package/dist/presentation/cli/commands/ask-command.js.map +1 -1
  374. package/dist/presentation/cli/commands/config-command.d.ts.map +1 -1
  375. package/dist/presentation/cli/commands/config-command.js +22 -8
  376. package/dist/presentation/cli/commands/config-command.js.map +1 -1
  377. package/dist/presentation/cli/commands/decision-command.js +23 -6
  378. package/dist/presentation/cli/commands/decision-command.js.map +1 -1
  379. package/dist/presentation/cli/commands/docs-command.d.ts +14 -0
  380. package/dist/presentation/cli/commands/docs-command.d.ts.map +1 -0
  381. package/dist/presentation/cli/commands/docs-command.js +25 -0
  382. package/dist/presentation/cli/commands/docs-command.js.map +1 -0
  383. package/dist/presentation/cli/commands/fix-command.d.ts +10 -0
  384. package/dist/presentation/cli/commands/fix-command.d.ts.map +1 -0
  385. package/dist/presentation/cli/commands/fix-command.js +94 -0
  386. package/dist/presentation/cli/commands/fix-command.js.map +1 -0
  387. package/dist/presentation/cli/commands/help-command.d.ts.map +1 -1
  388. package/dist/presentation/cli/commands/help-command.js +23 -1
  389. package/dist/presentation/cli/commands/help-command.js.map +1 -1
  390. package/dist/presentation/cli/commands/memory-command.d.ts +17 -0
  391. package/dist/presentation/cli/commands/memory-command.d.ts.map +1 -0
  392. package/dist/presentation/cli/commands/memory-command.js +252 -0
  393. package/dist/presentation/cli/commands/memory-command.js.map +1 -0
  394. package/dist/presentation/cli/commands/models-command.d.ts +13 -0
  395. package/dist/presentation/cli/commands/models-command.d.ts.map +1 -0
  396. package/dist/presentation/cli/commands/models-command.js +194 -0
  397. package/dist/presentation/cli/commands/models-command.js.map +1 -0
  398. package/dist/presentation/cli/commands/orchestrate-command.d.ts +2 -0
  399. package/dist/presentation/cli/commands/orchestrate-command.d.ts.map +1 -1
  400. package/dist/presentation/cli/commands/orchestrate-command.js +182 -14
  401. package/dist/presentation/cli/commands/orchestrate-command.js.map +1 -1
  402. package/dist/presentation/cli/commands/plan-command.d.ts +2 -0
  403. package/dist/presentation/cli/commands/plan-command.d.ts.map +1 -1
  404. package/dist/presentation/cli/commands/plan-command.js +212 -26
  405. package/dist/presentation/cli/commands/plan-command.js.map +1 -1
  406. package/dist/presentation/cli/commands/product-command.d.ts +14 -0
  407. package/dist/presentation/cli/commands/product-command.d.ts.map +1 -0
  408. package/dist/presentation/cli/commands/product-command.js +22 -0
  409. package/dist/presentation/cli/commands/product-command.js.map +1 -0
  410. package/dist/presentation/cli/commands/react-command.d.ts.map +1 -1
  411. package/dist/presentation/cli/commands/react-command.js +8 -2
  412. package/dist/presentation/cli/commands/react-command.js.map +1 -1
  413. package/dist/presentation/cli/commands/review-command.d.ts +14 -0
  414. package/dist/presentation/cli/commands/review-command.d.ts.map +1 -0
  415. package/dist/presentation/cli/commands/review-command.js +173 -0
  416. package/dist/presentation/cli/commands/review-command.js.map +1 -0
  417. package/dist/presentation/cli/commands/run-command.d.ts +13 -0
  418. package/dist/presentation/cli/commands/run-command.d.ts.map +1 -0
  419. package/dist/presentation/cli/commands/run-command.js +188 -0
  420. package/dist/presentation/cli/commands/run-command.js.map +1 -0
  421. package/dist/presentation/cli/commands/setup-command.d.ts.map +1 -1
  422. package/dist/presentation/cli/commands/setup-command.js +15 -0
  423. package/dist/presentation/cli/commands/setup-command.js.map +1 -1
  424. package/dist/presentation/cli/commands/smart-command.d.ts +3 -1
  425. package/dist/presentation/cli/commands/smart-command.d.ts.map +1 -1
  426. package/dist/presentation/cli/commands/smart-command.js +165 -11
  427. package/dist/presentation/cli/commands/smart-command.js.map +1 -1
  428. package/dist/presentation/cli/commands/status-command.d.ts +14 -0
  429. package/dist/presentation/cli/commands/status-command.d.ts.map +1 -0
  430. package/dist/presentation/cli/commands/status-command.js +171 -0
  431. package/dist/presentation/cli/commands/status-command.js.map +1 -0
  432. package/dist/presentation/cli/commands/suggest-command.d.ts +11 -0
  433. package/dist/presentation/cli/commands/suggest-command.d.ts.map +1 -0
  434. package/dist/presentation/cli/commands/suggest-command.js +138 -0
  435. package/dist/presentation/cli/commands/suggest-command.js.map +1 -0
  436. package/dist/presentation/cli/error-display.d.ts.map +1 -1
  437. package/dist/presentation/cli/error-display.js +118 -17
  438. package/dist/presentation/cli/error-display.js.map +1 -1
  439. package/dist/search.d.ts.map +1 -1
  440. package/dist/search.js +6 -1
  441. package/dist/search.js.map +1 -1
  442. package/dist/session.d.ts +1 -0
  443. package/dist/session.d.ts.map +1 -1
  444. package/dist/session.js +69 -4
  445. package/dist/session.js.map +1 -1
  446. package/dist/tools/bash.d.ts.map +1 -1
  447. package/dist/tools/bash.js +3 -0
  448. package/dist/tools/bash.js.map +1 -1
  449. package/dist/tools/git-tool.js +7 -7
  450. package/dist/tools/git-tool.js.map +1 -1
  451. package/dist/ui.d.ts +11 -0
  452. package/dist/ui.d.ts.map +1 -1
  453. package/dist/ui.js +62 -6
  454. package/dist/ui.js.map +1 -1
  455. package/package.json +22 -4
@@ -0,0 +1,247 @@
1
+ /**
2
+ * Application Agent: Product Requirements Agent
3
+ * Generates product requirements documents (PRD) and feature specifications
4
+ */
5
+ import { writeFileSync, existsSync, mkdirSync } from 'fs';
6
+ import { dirname, resolve } from 'path';
7
+ export class ProductRequirementsAgent {
8
+ aiService;
9
+ memoryStream;
10
+ cwd;
11
+ name = 'product-requirements-agent';
12
+ type = 'non-engineering';
13
+ constructor(aiService, memoryStream, cwd = process.cwd()) {
14
+ this.aiService = aiService;
15
+ this.memoryStream = memoryStream;
16
+ this.cwd = cwd;
17
+ }
18
+ async execute(request) {
19
+ const errors = [];
20
+ const documents = [];
21
+ try {
22
+ // Build prompt for PRD generation
23
+ const prompt = this.buildPRDPrompt(request);
24
+ // Generate PRD content using AI
25
+ const prdContent = await this.aiService.chat(prompt, []);
26
+ // Parse structured data from response
27
+ const structured = this.parseStructuredData(prdContent, request);
28
+ // Generate documents based on format option
29
+ const format = request.options?.format || 'both';
30
+ const outputPath = request.options?.outputPath;
31
+ let markdownPath;
32
+ let jsonPath;
33
+ if (format === 'markdown' || format === 'both') {
34
+ if (outputPath) {
35
+ // Write to file
36
+ const fullPath = resolve(this.cwd, outputPath);
37
+ const dir = dirname(fullPath);
38
+ if (!existsSync(dir)) {
39
+ mkdirSync(dir, { recursive: true });
40
+ }
41
+ writeFileSync(fullPath, prdContent, 'utf-8');
42
+ markdownPath = outputPath;
43
+ }
44
+ else {
45
+ markdownPath = 'stdout';
46
+ }
47
+ documents.push({
48
+ path: markdownPath,
49
+ type: 'prd',
50
+ format: 'markdown',
51
+ contentPreview: prdContent.slice(0, 200),
52
+ content: prdContent, // Store full content for stdout output
53
+ });
54
+ }
55
+ if (format === 'json' || format === 'both') {
56
+ const jsonContent = JSON.stringify(structured, null, 2);
57
+ if (outputPath && format === 'json') {
58
+ // Write JSON to file
59
+ const fullPath = resolve(this.cwd, outputPath);
60
+ const dir = dirname(fullPath);
61
+ if (!existsSync(dir)) {
62
+ mkdirSync(dir, { recursive: true });
63
+ }
64
+ writeFileSync(fullPath, jsonContent, 'utf-8');
65
+ jsonPath = outputPath;
66
+ }
67
+ else {
68
+ jsonPath = 'stdout';
69
+ }
70
+ documents.push({
71
+ path: jsonPath,
72
+ type: 'features',
73
+ format: 'json',
74
+ contentPreview: jsonContent.slice(0, 200),
75
+ });
76
+ }
77
+ // Generate technical spec if requested
78
+ if (request.options?.includeTechnicalSpec) {
79
+ const techSpecContent = await this.generateTechnicalSpec(request, structured);
80
+ const techSpecPath = outputPath
81
+ ? outputPath.replace(/\.(md|json)$/, '-technical.md')
82
+ : 'stdout';
83
+ if (techSpecPath !== 'stdout' && outputPath) {
84
+ const fullPath = resolve(this.cwd, techSpecPath);
85
+ const dir = dirname(fullPath);
86
+ if (!existsSync(dir)) {
87
+ mkdirSync(dir, { recursive: true });
88
+ }
89
+ writeFileSync(fullPath, techSpecContent, 'utf-8');
90
+ }
91
+ documents.push({
92
+ path: techSpecPath,
93
+ type: 'technical-spec',
94
+ format: 'markdown',
95
+ contentPreview: techSpecContent.slice(0, 200),
96
+ });
97
+ }
98
+ return {
99
+ success: true,
100
+ documents,
101
+ structured,
102
+ };
103
+ }
104
+ catch (error) {
105
+ return {
106
+ success: false,
107
+ documents,
108
+ structured: {
109
+ features: [],
110
+ },
111
+ errors: [error instanceof Error ? error.message : String(error)],
112
+ };
113
+ }
114
+ }
115
+ buildPRDPrompt(request) {
116
+ const context = request.context || {};
117
+ const detailLevel = request.options?.detailLevel || 'medium';
118
+ let prompt = `Generate a Product Requirements Document (PRD) for the following goal:
119
+
120
+ Goal: ${request.goal}
121
+
122
+ `;
123
+ if (context.targetUsers) {
124
+ prompt += `Target Users: ${context.targetUsers}\n`;
125
+ }
126
+ if (context.constraints && context.constraints.length > 0) {
127
+ prompt += `Constraints: ${context.constraints.join(', ')}\n`;
128
+ }
129
+ if (context.existingFeatures && context.existingFeatures.length > 0) {
130
+ prompt += `Existing Features: ${context.existingFeatures.join(', ')}\n`;
131
+ }
132
+ if (context.technicalStack) {
133
+ prompt += `Technical Stack: ${context.technicalStack}\n`;
134
+ }
135
+ prompt += `
136
+ Detail Level: ${detailLevel}
137
+
138
+ Please provide:
139
+ 1. An executive summary
140
+ 2. A list of features with priorities (high/medium/low)
141
+ 3. User stories or use cases
142
+ 4. Success criteria
143
+
144
+ Format the response as a clear, structured markdown document.
145
+ `;
146
+ return prompt;
147
+ }
148
+ parseStructuredData(content, request) {
149
+ // Check if we're using fake AI (detect by content pattern)
150
+ const isFakeAI = content.startsWith('FAKE_RESPONSE:') || content.length < 200;
151
+ const features = [];
152
+ if (isFakeAI) {
153
+ // For fake AI, generate meaningful features from the goal
154
+ const goal = request.goal.toLowerCase();
155
+ const featureCount = request.options?.detailLevel === 'high' ? 5 :
156
+ request.options?.detailLevel === 'low' ? 2 : 3;
157
+ // Extract key nouns/verbs from goal for feature names
158
+ const words = goal.split(/\s+/).filter(w => w.length > 3);
159
+ const keyTerms = words.slice(0, featureCount);
160
+ keyTerms.forEach((term, index) => {
161
+ const capitalized = term.charAt(0).toUpperCase() + term.slice(1);
162
+ features.push({
163
+ id: `feature-${index + 1}`,
164
+ name: `${capitalized} functionality`,
165
+ description: `Implement ${term} as part of: ${request.goal}`,
166
+ priority: index === 0 ? 'high' : index < 2 ? 'medium' : 'low',
167
+ estimatedComplexity: index < 2 ? 'medium' : 'low',
168
+ });
169
+ });
170
+ // Always ensure at least one main feature
171
+ if (features.length === 0) {
172
+ const mainFeature = request.goal.split(/[.,;]/)[0].trim();
173
+ features.push({
174
+ id: 'feature-1',
175
+ name: mainFeature.length > 50 ? mainFeature.slice(0, 47) + '...' : mainFeature,
176
+ description: request.goal,
177
+ priority: 'high',
178
+ estimatedComplexity: 'medium',
179
+ });
180
+ }
181
+ }
182
+ else {
183
+ // For real AI, try to extract features from content
184
+ const featureMatches = content.match(/###?\s*(.+?)(?:\n|$)/g) || [];
185
+ if (featureMatches.length > 0) {
186
+ featureMatches.forEach((match, index) => {
187
+ const name = match.replace(/###?\s*/, '').trim();
188
+ if (name && !name.toLowerCase().includes('summary') && !name.toLowerCase().includes('overview')) {
189
+ features.push({
190
+ id: `feature-${index + 1}`,
191
+ name,
192
+ description: `Feature extracted from PRD: ${name}`,
193
+ priority: index < 2 ? 'high' : index < 4 ? 'medium' : 'low',
194
+ estimatedComplexity: 'medium',
195
+ });
196
+ }
197
+ });
198
+ }
199
+ // If no features extracted, create at least one from the goal
200
+ if (features.length === 0) {
201
+ features.push({
202
+ id: 'feature-1',
203
+ name: request.goal.slice(0, 50),
204
+ description: request.goal,
205
+ priority: 'high',
206
+ estimatedComplexity: 'medium',
207
+ });
208
+ }
209
+ }
210
+ // Limit to reasonable number
211
+ const maxFeatures = request.options?.detailLevel === 'high' ? 10 :
212
+ request.options?.detailLevel === 'low' ? 3 : 5;
213
+ const finalFeatures = features.slice(0, maxFeatures);
214
+ const technicalApproach = request.options?.includeTechnicalSpec
215
+ ? {
216
+ stack: request.context?.technicalStack ? [request.context.technicalStack] : [],
217
+ architecture: 'To be determined based on requirements',
218
+ considerations: request.context?.constraints || [],
219
+ }
220
+ : undefined;
221
+ return {
222
+ features: finalFeatures,
223
+ technicalApproach,
224
+ };
225
+ }
226
+ async generateTechnicalSpec(request, structured) {
227
+ const prompt = `Generate a technical specification document for:
228
+
229
+ Goal: ${request.goal}
230
+
231
+ Features:
232
+ ${structured.features.map(f => `- ${f.name}: ${f.description}`).join('\n')}
233
+
234
+ ${request.context?.technicalStack ? `Technical Stack: ${request.context.technicalStack}\n` : ''}
235
+
236
+ Provide:
237
+ 1. Architecture overview
238
+ 2. Technology choices
239
+ 3. Implementation approach
240
+ 4. Technical considerations
241
+
242
+ Format as markdown.
243
+ `;
244
+ return await this.aiService.chat(prompt, []);
245
+ }
246
+ }
247
+ //# sourceMappingURL=product-requirements-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-requirements-agent.js","sourceRoot":"","sources":["../../../src/application/agents/product-requirements-agent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC1D,OAAO,EAAQ,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE9C,MAAM,OAAO,wBAAwB;IAKzB;IACA;IACA;IANV,IAAI,GAAG,4BAA4B,CAAC;IACpC,IAAI,GAAG,iBAA0B,CAAC;IAElC,YACU,SAAqB,EACrB,YAAkC,EAClC,MAAc,OAAO,CAAC,GAAG,EAAE;QAF3B,cAAS,GAAT,SAAS,CAAY;QACrB,iBAAY,GAAZ,YAAY,CAAsB;QAClC,QAAG,GAAH,GAAG,CAAwB;IAClC,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,OAAmC;QAC/C,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,SAAS,GAA6C,EAAE,CAAC;QAE/D,IAAI,CAAC;YACH,kCAAkC;YAClC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAE5C,gCAAgC;YAChC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAEzD,sCAAsC;YACtC,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAEjE,4CAA4C;YAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,MAAM,CAAC;YACjD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC;YAE/C,IAAI,YAAgC,CAAC;YACrC,IAAI,QAA4B,CAAC;YAEjC,IAAI,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC/C,IAAI,UAAU,EAAE,CAAC;oBACf,gBAAgB;oBAChB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;oBAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;wBACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACtC,CAAC;oBACD,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;oBAC7C,YAAY,GAAG,UAAU,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,YAAY,GAAG,QAAQ,CAAC;gBAC1B,CAAC;gBAED,SAAS,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,KAAK;oBACX,MAAM,EAAE,UAAU;oBAClB,cAAc,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;oBACxC,OAAO,EAAE,UAAU,EAAE,uCAAuC;iBAC7D,CAAC,CAAC;YACL,CAAC;YAED,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBAExD,IAAI,UAAU,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;oBACpC,qBAAqB;oBACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;oBAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;wBACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACtC,CAAC;oBACD,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;oBAC9C,QAAQ,GAAG,UAAU,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBACN,QAAQ,GAAG,QAAQ,CAAC;gBACtB,CAAC;gBAED,SAAS,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE,MAAM;oBACd,cAAc,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;iBAC1C,CAAC,CAAC;YACL,CAAC;YAED,uCAAuC;YACvC,IAAI,OAAO,CAAC,OAAO,EAAE,oBAAoB,EAAE,CAAC;gBAC1C,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBAE9E,MAAM,YAAY,GAAG,UAAU;oBAC7B,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,EAAE,eAAe,CAAC;oBACrD,CAAC,CAAC,QAAQ,CAAC;gBAEb,IAAI,YAAY,KAAK,QAAQ,IAAI,UAAU,EAAE,CAAC;oBAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;oBACjD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;oBAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;wBACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACtC,CAAC;oBACD,aAAa,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;gBACpD,CAAC;gBAED,SAAS,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,gBAAgB;oBACtB,MAAM,EAAE,UAAU;oBAClB,cAAc,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;iBAC9C,CAAC,CAAC;YACL,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,SAAS;gBACT,UAAU;aACX,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,SAAS;gBACT,UAAU,EAAE;oBACV,QAAQ,EAAE,EAAE;iBACb;gBACD,MAAM,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACjE,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,OAAmC;QACxD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE,WAAW,IAAI,QAAQ,CAAC;QAE7D,IAAI,MAAM,GAAG;;QAET,OAAO,CAAC,IAAI;;CAEnB,CAAC;QAEE,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,IAAI,iBAAiB,OAAO,CAAC,WAAW,IAAI,CAAC;QACrD,CAAC;QACD,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,gBAAgB,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC/D,CAAC;QACD,IAAI,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,sBAAsB,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1E,CAAC;QACD,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,MAAM,IAAI,oBAAoB,OAAO,CAAC,cAAc,IAAI,CAAC;QAC3D,CAAC;QAED,MAAM,IAAI;gBACE,WAAW;;;;;;;;;CAS1B,CAAC;QAEE,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,mBAAmB,CAAC,OAAe,EAAE,OAAmC;QAI9E,2DAA2D;QAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC;QAE9E,MAAM,QAAQ,GAAqB,EAAE,CAAC;QAEtC,IAAI,QAAQ,EAAE,CAAC;YACb,0DAA0D;YAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACxC,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9C,OAAO,CAAC,OAAO,EAAE,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEnE,sDAAsD;YACtD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;YAE9C,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjE,QAAQ,CAAC,IAAI,CAAC;oBACZ,EAAE,EAAE,WAAW,KAAK,GAAG,CAAC,EAAE;oBAC1B,IAAI,EAAE,GAAG,WAAW,gBAAgB;oBACpC,WAAW,EAAE,aAAa,IAAI,gBAAgB,OAAO,CAAC,IAAI,EAAE;oBAC5D,QAAQ,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;oBAC7D,mBAAmB,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;iBAClD,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,0CAA0C;YAC1C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC1D,QAAQ,CAAC,IAAI,CAAC;oBACZ,EAAE,EAAE,WAAW;oBACf,IAAI,EAAE,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,WAAW;oBAC9E,WAAW,EAAE,OAAO,CAAC,IAAI;oBACzB,QAAQ,EAAE,MAAM;oBAChB,mBAAmB,EAAE,QAAQ;iBAC9B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,CAAC;YACN,oDAAoD;YACpD,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;YAEpE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;oBACtC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBACjD,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;wBAChG,QAAQ,CAAC,IAAI,CAAC;4BACZ,EAAE,EAAE,WAAW,KAAK,GAAG,CAAC,EAAE;4BAC1B,IAAI;4BACJ,WAAW,EAAE,+BAA+B,IAAI,EAAE;4BAClD,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;4BAC3D,mBAAmB,EAAE,QAAQ;yBAC9B,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YAED,8DAA8D;YAC9D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,QAAQ,CAAC,IAAI,CAAC;oBACZ,EAAE,EAAE,WAAW;oBACf,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;oBAC/B,WAAW,EAAE,OAAO,CAAC,IAAI;oBACzB,QAAQ,EAAE,MAAM;oBAChB,mBAAmB,EAAE,QAAQ;iBAC9B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/C,OAAO,CAAC,OAAO,EAAE,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QAErD,MAAM,iBAAiB,GAAyC,OAAO,CAAC,OAAO,EAAE,oBAAoB;YACnG,CAAC,CAAC;gBACE,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC9E,YAAY,EAAE,wCAAwC;gBACtD,cAAc,EAAE,OAAO,CAAC,OAAO,EAAE,WAAW,IAAI,EAAE;aACnD;YACH,CAAC,CAAC,SAAS,CAAC;QAEd,OAAO;YACL,QAAQ,EAAE,aAAa;YACvB,iBAAiB;SAClB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,OAAmC,EACnC,UAAwF;QAExF,MAAM,MAAM,GAAG;;QAEX,OAAO,CAAC,IAAI;;;EAGlB,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;EAExE,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,oBAAoB,OAAO,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC,EAAE;;;;;;;;;CAS9F,CAAC;QAEE,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/C,CAAC;CACF"}
@@ -30,11 +30,15 @@ export interface ValidationResult {
30
30
  compilationErrors?: string[];
31
31
  recommendations: string[];
32
32
  qualityScore: number;
33
+ validationSummary?: any;
34
+ feedbackId?: string;
35
+ runId?: string;
33
36
  }
34
37
  export declare class ValidationAgent {
35
38
  private aiService;
36
39
  private verificationService?;
37
- constructor(aiService: IAIService, verificationService?: IVerificationService | undefined);
40
+ private cwd;
41
+ constructor(aiService: IAIService, verificationService?: IVerificationService | undefined, cwd?: string);
38
42
  /**
39
43
  * Validate execution results
40
44
  * Runs tests, checks compilation, analyzes quality
@@ -1 +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"}
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;AAS5D,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;IAErB,iBAAiB,CAAC,EAAE,GAAG,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,eAAe;IAIxB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,mBAAmB,CAAC;IAJ9B,OAAO,CAAC,GAAG,CAAyB;gBAG1B,SAAS,EAAE,UAAU,EACrB,mBAAmB,CAAC,EAAE,oBAAoB,YAAA,EAClD,GAAG,CAAC,EAAE,MAAM;IAOd;;;OAGG;IACG,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkMrE;;OAEG;YACW,gBAAgB;IA4B9B;;OAEG;YACW,QAAQ;IAgEtB;;OAEG;YACW,cAAc;IA4B5B;;OAEG;YACW,uBAAuB;IAgCrC;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAoB9B"}
@@ -8,13 +8,19 @@
8
8
  import { exec } from 'child_process';
9
9
  import { promisify } from 'util';
10
10
  import { existsSync, readFileSync } from 'fs';
11
+ import { agentValidationHelper } from '../../infrastructure/validation/agent-validation-helper.js';
12
+ import { findCodebaseRoot } from '../../domain/services/codebase-detector.js';
11
13
  const execAsync = promisify(exec);
12
14
  export class ValidationAgent {
13
15
  aiService;
14
16
  verificationService;
15
- constructor(aiService, verificationService) {
17
+ cwd = process.cwd();
18
+ constructor(aiService, verificationService, cwd) {
16
19
  this.aiService = aiService;
17
20
  this.verificationService = verificationService;
21
+ if (cwd) {
22
+ this.cwd = cwd;
23
+ }
18
24
  }
19
25
  /**
20
26
  * Validate execution results
@@ -22,26 +28,155 @@ export class ValidationAgent {
22
28
  */
23
29
  async validate(request) {
24
30
  const { plan, executionResults, filesModified = [] } = request;
25
- // 1. Check compilation for modified files
26
- const compilationResult = await this.checkCompilation(filesModified);
27
- // 2. Run test suite
28
- const testResult = await this.runTests();
29
- // 3. Analyze code quality
30
- const qualityAnalysis = await this.analyzeQuality(plan, executionResults);
31
- // 4. Generate recommendations
32
- const recommendations = await this.generateRecommendations(compilationResult, testResult, qualityAnalysis);
33
- // 5. Calculate quality score
34
- const qualityScore = this.calculateQualityScore(compilationResult, testResult, qualityAnalysis);
35
- const success = compilationResult.success && testResult.testsPassed;
36
- return {
37
- success,
38
- testsPassed: testResult.testsPassed,
39
- compilationSuccess: compilationResult.success,
40
- testResults: testResult.testResults,
41
- compilationErrors: compilationResult.errors,
42
- recommendations,
43
- qualityScore,
44
- };
31
+ // Start validation context
32
+ const codebaseInfo = findCodebaseRoot(this.cwd);
33
+ const validationContext = agentValidationHelper.startAgentOperation('validation-agent', 'validate', {
34
+ query: plan.goal,
35
+ codebaseId: codebaseInfo?.codebaseId,
36
+ });
37
+ try {
38
+ // Track validation checks
39
+ const validationChecks = [];
40
+ const errors = [];
41
+ const warnings = [];
42
+ // 1. Check compilation for modified files
43
+ const compilationResult = await this.checkCompilation(filesModified);
44
+ // Record compilation check
45
+ validationChecks.push({
46
+ check: 'Compilation',
47
+ passed: compilationResult.success,
48
+ message: compilationResult.success
49
+ ? 'All files compile successfully'
50
+ : `${compilationResult.errors.length} compilation error(s)`,
51
+ critical: true,
52
+ });
53
+ if (!compilationResult.success && compilationResult.errors.length > 0) {
54
+ errors.push(...compilationResult.errors);
55
+ }
56
+ // Trace compilation check
57
+ agentValidationHelper.trace({
58
+ operationType: 'code_analysis',
59
+ operationName: 'compile_check',
60
+ input: { files: filesModified },
61
+ output: compilationResult,
62
+ error: compilationResult.success ? undefined : new Error('Compilation failed'),
63
+ metadata: {
64
+ filesChecked: filesModified.length,
65
+ errors: compilationResult.errors.length,
66
+ },
67
+ });
68
+ // 2. Run test suite
69
+ const testResult = await this.runTests();
70
+ // Record test check
71
+ const testsPassed = testResult.testsPassed;
72
+ if (testResult.testResults) {
73
+ validationChecks.push({
74
+ check: 'Tests',
75
+ passed: testsPassed,
76
+ message: testsPassed
77
+ ? `All ${testResult.testResults.total} tests passed`
78
+ : `${testResult.testResults.failed} of ${testResult.testResults.total} tests failed`,
79
+ critical: true,
80
+ });
81
+ if (testResult.testResults.failures) {
82
+ testResult.testResults.failures.forEach(failure => {
83
+ errors.push(`Test failure: ${failure.test} - ${failure.error}`);
84
+ });
85
+ }
86
+ }
87
+ else {
88
+ validationChecks.push({
89
+ check: 'Tests',
90
+ passed: true,
91
+ message: 'No tests to run',
92
+ });
93
+ }
94
+ // Trace test execution
95
+ agentValidationHelper.trace({
96
+ operationType: 'code_analysis',
97
+ operationName: 'test_execution',
98
+ input: {},
99
+ output: testResult,
100
+ metadata: {
101
+ testsTotal: testResult.testResults?.total,
102
+ testsPassed: testResult.testResults?.passed,
103
+ testsFailed: testResult.testResults?.failed,
104
+ },
105
+ });
106
+ // 3. Analyze code quality
107
+ const qualityAnalysis = await this.analyzeQuality(plan, executionResults);
108
+ // Calculate quality score for validation check
109
+ const qualityScore = this.calculateQualityScore(compilationResult, testResult, qualityAnalysis);
110
+ // Record quality check
111
+ validationChecks.push({
112
+ check: 'Code Quality',
113
+ passed: qualityScore >= 70, // Threshold
114
+ message: `Quality score: ${qualityScore}/100`,
115
+ critical: false,
116
+ });
117
+ if (qualityAnalysis.errorRate > 0.3) {
118
+ warnings.push(`High error rate: ${(qualityAnalysis.errorRate * 100).toFixed(1)}%`);
119
+ }
120
+ // 4. Generate recommendations
121
+ const recommendations = await this.generateRecommendations(compilationResult, testResult, qualityAnalysis);
122
+ const success = compilationResult.success && testResult.testsPassed;
123
+ // Complete validation
124
+ const validationResult = await agentValidationHelper.completeAgentOperation(validationContext, {
125
+ success,
126
+ testsPassed: testResult.testsPassed,
127
+ compilationSuccess: compilationResult.success,
128
+ testResults: testResult.testResults,
129
+ compilationErrors: compilationResult.errors,
130
+ recommendations,
131
+ qualityScore,
132
+ }, {
133
+ outcome: success ? 'success' : 'failure',
134
+ validationChecks,
135
+ errors: errors.length > 0 ? errors : undefined,
136
+ warnings: warnings.length > 0 ? warnings : undefined,
137
+ metrics: {
138
+ filesAnalyzed: filesModified.length,
139
+ },
140
+ additionalContext: {
141
+ query: plan.goal,
142
+ codebaseId: codebaseInfo?.codebaseId,
143
+ qualityScore,
144
+ testResults: testResult.testResults,
145
+ },
146
+ }).catch(error => {
147
+ // Non-blocking
148
+ console.warn('[ValidationAgent] Validation recording failed (non-critical):', error);
149
+ return null;
150
+ });
151
+ return {
152
+ success,
153
+ testsPassed: testResult.testsPassed,
154
+ compilationSuccess: compilationResult.success,
155
+ testResults: testResult.testResults,
156
+ compilationErrors: compilationResult.errors,
157
+ recommendations,
158
+ qualityScore,
159
+ ...(validationResult ? {
160
+ validationSummary: validationResult.summary,
161
+ feedbackId: validationResult.feedbackId || undefined,
162
+ runId: validationResult.runId || undefined,
163
+ } : {}),
164
+ };
165
+ }
166
+ catch (error) {
167
+ // Record failure
168
+ await agentValidationHelper.completeAgentOperation(validationContext, null, {
169
+ outcome: 'failure',
170
+ errors: [error instanceof Error ? error.message : String(error)],
171
+ additionalContext: {
172
+ query: plan.goal,
173
+ codebaseId: codebaseInfo?.codebaseId,
174
+ },
175
+ }).catch(() => {
176
+ // Non-blocking
177
+ });
178
+ throw error;
179
+ }
45
180
  }
46
181
  /**
47
182
  * Check compilation for modified files
@@ -1 +1 @@
1
- {"version":3,"file":"validation-agent.js","sourceRoot":"","sources":["../../../src/application/agents/validation-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation-agent.js","sourceRoot":"","sources":["../../../src/application/agents/validation-agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Multi-Model Planning Strategy
3
+ * Implements two-stage planning pipeline: planner + optional validator
4
+ */
5
+ import type { IReasoningStrategy, PlanningResult } from './reasoning-strategy.interface.js';
6
+ import type { PlanningInputContext } from './types.js';
7
+ import type { IAIService } from '../../domain/interfaces/ai-service.interface.js';
8
+ import { RoleProviderResolver } from './role-provider-resolver.js';
9
+ /**
10
+ * Multi-model planning strategy
11
+ * Uses planner role for initial plan, validator role for validation (if configured)
12
+ */
13
+ export declare class MultiModelPlanningStrategy implements IReasoningStrategy {
14
+ private defaultAIService;
15
+ private plannerStrategy;
16
+ private validatorStrategy;
17
+ private roleResolver;
18
+ constructor(defaultAIService: IAIService, roleResolver?: RoleProviderResolver);
19
+ executePlanning(context: PlanningInputContext): Promise<PlanningResult>;
20
+ }
21
+ //# sourceMappingURL=multi-model-planning-strategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-model-planning-strategy.d.ts","sourceRoot":"","sources":["../../../src/application/reasoning/multi-model-planning-strategy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAC5F,OAAO,KAAK,EAAE,oBAAoB,EAAiC,MAAM,YAAY,CAAC;AAEtF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iDAAiD,CAAC;AAGlF,OAAO,EAAE,oBAAoB,EAAsB,MAAM,6BAA6B,CAAC;AAKvF;;;GAGG;AACH,qBAAa,0BAA2B,YAAW,kBAAkB;IAMjE,OAAO,CAAC,gBAAgB;IAL1B,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,iBAAiB,CAAmC;IAC5D,OAAO,CAAC,YAAY,CAAuB;gBAGjC,gBAAgB,EAAE,UAAU,EACpC,YAAY,CAAC,EAAE,oBAAoB;IAsB/B,eAAe,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC;CAqI9E"}