codehere 0.1.0 → 0.3.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 (671) 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 +65 -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 +143 -0
  43. package/dist/application/services/dependency-container.d.ts.map +1 -0
  44. package/dist/application/services/dependency-container.js +426 -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 +48 -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 +270 -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 +752 -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 +276 -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 +329 -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 +52 -0
  227. package/dist/domain/services/react-loop.d.ts.map +1 -0
  228. package/dist/domain/services/react-loop.js +186 -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/formatter.d.ts +2 -2
  243. package/dist/formatter.d.ts.map +1 -1
  244. package/dist/formatter.js +30 -17
  245. package/dist/formatter.js.map +1 -1
  246. package/dist/index.js +355 -239
  247. package/dist/index.js.map +1 -1
  248. package/dist/infrastructure/ai/cohere-ai-service.d.ts +56 -0
  249. package/dist/infrastructure/ai/cohere-ai-service.d.ts.map +1 -0
  250. package/dist/infrastructure/ai/cohere-ai-service.js +594 -0
  251. package/dist/infrastructure/ai/cohere-ai-service.js.map +1 -0
  252. package/dist/infrastructure/ai/command-r-evaluation.d.ts +42 -0
  253. package/dist/infrastructure/ai/command-r-evaluation.d.ts.map +1 -0
  254. package/dist/infrastructure/ai/command-r-evaluation.js +206 -0
  255. package/dist/infrastructure/ai/command-r-evaluation.js.map +1 -0
  256. package/dist/infrastructure/ai/model-config.d.ts +47 -0
  257. package/dist/infrastructure/ai/model-config.d.ts.map +1 -0
  258. package/dist/infrastructure/ai/model-config.js +84 -0
  259. package/dist/infrastructure/ai/model-config.js.map +1 -0
  260. package/dist/infrastructure/cache/embedding-cache.d.ts +46 -0
  261. package/dist/infrastructure/cache/embedding-cache.d.ts.map +1 -0
  262. package/dist/infrastructure/cache/embedding-cache.js +104 -0
  263. package/dist/infrastructure/cache/embedding-cache.js.map +1 -0
  264. package/dist/infrastructure/cache/query-result-cache.d.ts +68 -0
  265. package/dist/infrastructure/cache/query-result-cache.d.ts.map +1 -0
  266. package/dist/infrastructure/cache/query-result-cache.js +138 -0
  267. package/dist/infrastructure/cache/query-result-cache.js.map +1 -0
  268. package/dist/infrastructure/cache/security-scan-cache.d.ts +57 -0
  269. package/dist/infrastructure/cache/security-scan-cache.d.ts.map +1 -0
  270. package/dist/infrastructure/cache/security-scan-cache.js +124 -0
  271. package/dist/infrastructure/cache/security-scan-cache.js.map +1 -0
  272. package/dist/infrastructure/chunking/ast-code-chunker.d.ts +12 -0
  273. package/dist/infrastructure/chunking/ast-code-chunker.d.ts.map +1 -0
  274. package/dist/infrastructure/chunking/ast-code-chunker.js +19 -0
  275. package/dist/infrastructure/chunking/ast-code-chunker.js.map +1 -0
  276. package/dist/infrastructure/chunking/code-aware-chunker.d.ts +63 -0
  277. package/dist/infrastructure/chunking/code-aware-chunker.d.ts.map +1 -0
  278. package/dist/infrastructure/chunking/code-aware-chunker.js +397 -0
  279. package/dist/infrastructure/chunking/code-aware-chunker.js.map +1 -0
  280. package/dist/infrastructure/completion/bash-completion.d.ts +8 -0
  281. package/dist/infrastructure/completion/bash-completion.d.ts.map +1 -0
  282. package/dist/infrastructure/completion/bash-completion.js +101 -0
  283. package/dist/infrastructure/completion/bash-completion.js.map +1 -0
  284. package/dist/infrastructure/completion/completion-generator.d.ts +42 -0
  285. package/dist/infrastructure/completion/completion-generator.d.ts.map +1 -0
  286. package/dist/infrastructure/completion/completion-generator.js +184 -0
  287. package/dist/infrastructure/completion/completion-generator.js.map +1 -0
  288. package/dist/infrastructure/completion/fish-completion.d.ts +8 -0
  289. package/dist/infrastructure/completion/fish-completion.d.ts.map +1 -0
  290. package/dist/infrastructure/completion/fish-completion.js +65 -0
  291. package/dist/infrastructure/completion/fish-completion.js.map +1 -0
  292. package/dist/infrastructure/completion/zsh-completion.d.ts +8 -0
  293. package/dist/infrastructure/completion/zsh-completion.d.ts.map +1 -0
  294. package/dist/infrastructure/completion/zsh-completion.js +85 -0
  295. package/dist/infrastructure/completion/zsh-completion.js.map +1 -0
  296. package/dist/infrastructure/config/config-manager.d.ts +79 -0
  297. package/dist/infrastructure/config/config-manager.d.ts.map +1 -0
  298. package/dist/infrastructure/config/config-manager.js +162 -0
  299. package/dist/infrastructure/config/config-manager.js.map +1 -0
  300. package/dist/infrastructure/context/context-compressor.d.ts +94 -0
  301. package/dist/infrastructure/context/context-compressor.d.ts.map +1 -0
  302. package/dist/infrastructure/context/context-compressor.js +329 -0
  303. package/dist/infrastructure/context/context-compressor.js.map +1 -0
  304. package/dist/infrastructure/cost/cost-tracker.d.ts +90 -0
  305. package/dist/infrastructure/cost/cost-tracker.d.ts.map +1 -0
  306. package/dist/infrastructure/cost/cost-tracker.js +353 -0
  307. package/dist/infrastructure/cost/cost-tracker.js.map +1 -0
  308. package/dist/infrastructure/file-scanner/file-scanner.d.ts +31 -0
  309. package/dist/infrastructure/file-scanner/file-scanner.d.ts.map +1 -0
  310. package/dist/infrastructure/file-scanner/file-scanner.js +106 -0
  311. package/dist/infrastructure/file-scanner/file-scanner.js.map +1 -0
  312. package/dist/infrastructure/governance/nist-ai-rmf.d.ts +107 -0
  313. package/dist/infrastructure/governance/nist-ai-rmf.d.ts.map +1 -0
  314. package/dist/infrastructure/governance/nist-ai-rmf.js +294 -0
  315. package/dist/infrastructure/governance/nist-ai-rmf.js.map +1 -0
  316. package/dist/infrastructure/governance/policy-as-code.d.ts +90 -0
  317. package/dist/infrastructure/governance/policy-as-code.d.ts.map +1 -0
  318. package/dist/infrastructure/governance/policy-as-code.js +259 -0
  319. package/dist/infrastructure/governance/policy-as-code.js.map +1 -0
  320. package/dist/infrastructure/governance/prompt-to-code-lineage.d.ts +138 -0
  321. package/dist/infrastructure/governance/prompt-to-code-lineage.d.ts.map +1 -0
  322. package/dist/infrastructure/governance/prompt-to-code-lineage.js +241 -0
  323. package/dist/infrastructure/governance/prompt-to-code-lineage.js.map +1 -0
  324. package/dist/infrastructure/index.d.ts +7 -0
  325. package/dist/infrastructure/index.d.ts.map +1 -0
  326. package/dist/infrastructure/index.js +7 -0
  327. package/dist/infrastructure/index.js.map +1 -0
  328. package/dist/infrastructure/observability/execution-tracer.d.ts +108 -0
  329. package/dist/infrastructure/observability/execution-tracer.d.ts.map +1 -0
  330. package/dist/infrastructure/observability/execution-tracer.js +227 -0
  331. package/dist/infrastructure/observability/execution-tracer.js.map +1 -0
  332. package/dist/infrastructure/observability/prompt-versioner.d.ts +67 -0
  333. package/dist/infrastructure/observability/prompt-versioner.d.ts.map +1 -0
  334. package/dist/infrastructure/observability/prompt-versioner.js +145 -0
  335. package/dist/infrastructure/observability/prompt-versioner.js.map +1 -0
  336. package/dist/infrastructure/protocols/a2a-metadata.d.ts +278 -0
  337. package/dist/infrastructure/protocols/a2a-metadata.d.ts.map +1 -0
  338. package/dist/infrastructure/protocols/a2a-metadata.js +137 -0
  339. package/dist/infrastructure/protocols/a2a-metadata.js.map +1 -0
  340. package/dist/infrastructure/protocols/a2a-protocol.d.ts +132 -0
  341. package/dist/infrastructure/protocols/a2a-protocol.d.ts.map +1 -0
  342. package/dist/infrastructure/protocols/a2a-protocol.js +314 -0
  343. package/dist/infrastructure/protocols/a2a-protocol.js.map +1 -0
  344. package/dist/infrastructure/protocols/mcp-oauth.d.ts +91 -0
  345. package/dist/infrastructure/protocols/mcp-oauth.d.ts.map +1 -0
  346. package/dist/infrastructure/protocols/mcp-oauth.js +184 -0
  347. package/dist/infrastructure/protocols/mcp-oauth.js.map +1 -0
  348. package/dist/infrastructure/protocols/mcp-server.d.ts +126 -0
  349. package/dist/infrastructure/protocols/mcp-server.d.ts.map +1 -0
  350. package/dist/infrastructure/protocols/mcp-server.js +333 -0
  351. package/dist/infrastructure/protocols/mcp-server.js.map +1 -0
  352. package/dist/infrastructure/protocols/streaming-handler.d.ts +57 -0
  353. package/dist/infrastructure/protocols/streaming-handler.d.ts.map +1 -0
  354. package/dist/infrastructure/protocols/streaming-handler.js +103 -0
  355. package/dist/infrastructure/protocols/streaming-handler.js.map +1 -0
  356. package/dist/infrastructure/security/ai-sast-scanner.d.ts +59 -0
  357. package/dist/infrastructure/security/ai-sast-scanner.d.ts.map +1 -0
  358. package/dist/infrastructure/security/ai-sast-scanner.js +241 -0
  359. package/dist/infrastructure/security/ai-sast-scanner.js.map +1 -0
  360. package/dist/infrastructure/security/docker-sandbox.d.ts +57 -0
  361. package/dist/infrastructure/security/docker-sandbox.d.ts.map +1 -0
  362. package/dist/infrastructure/security/docker-sandbox.js +178 -0
  363. package/dist/infrastructure/security/docker-sandbox.js.map +1 -0
  364. package/dist/infrastructure/security/enhanced-security-gate.d.ts +53 -0
  365. package/dist/infrastructure/security/enhanced-security-gate.d.ts.map +1 -0
  366. package/dist/infrastructure/security/enhanced-security-gate.js +151 -0
  367. package/dist/infrastructure/security/enhanced-security-gate.js.map +1 -0
  368. package/dist/infrastructure/security/input-validator.d.ts +33 -0
  369. package/dist/infrastructure/security/input-validator.d.ts.map +1 -0
  370. package/dist/infrastructure/security/input-validator.js +152 -0
  371. package/dist/infrastructure/security/input-validator.js.map +1 -0
  372. package/dist/infrastructure/security/license-scanner.d.ts +55 -0
  373. package/dist/infrastructure/security/license-scanner.d.ts.map +1 -0
  374. package/dist/infrastructure/security/license-scanner.js +167 -0
  375. package/dist/infrastructure/security/license-scanner.js.map +1 -0
  376. package/dist/infrastructure/security/provider-bias-detector.d.ts +53 -0
  377. package/dist/infrastructure/security/provider-bias-detector.d.ts.map +1 -0
  378. package/dist/infrastructure/security/provider-bias-detector.js +164 -0
  379. package/dist/infrastructure/security/provider-bias-detector.js.map +1 -0
  380. package/dist/infrastructure/security/sandbox-executor.d.ts +34 -0
  381. package/dist/infrastructure/security/sandbox-executor.d.ts.map +1 -0
  382. package/dist/infrastructure/security/sandbox-executor.js +64 -0
  383. package/dist/infrastructure/security/sandbox-executor.js.map +1 -0
  384. package/dist/infrastructure/storage/memory-stream-service.d.ts +47 -0
  385. package/dist/infrastructure/storage/memory-stream-service.d.ts.map +1 -0
  386. package/dist/infrastructure/storage/memory-stream-service.js +204 -0
  387. package/dist/infrastructure/storage/memory-stream-service.js.map +1 -0
  388. package/dist/infrastructure/storage/plan-repository.d.ts +38 -0
  389. package/dist/infrastructure/storage/plan-repository.d.ts.map +1 -0
  390. package/dist/infrastructure/storage/plan-repository.js +133 -0
  391. package/dist/infrastructure/storage/plan-repository.js.map +1 -0
  392. package/dist/infrastructure/storage/sqlite-decision-repository.d.ts +29 -0
  393. package/dist/infrastructure/storage/sqlite-decision-repository.d.ts.map +1 -0
  394. package/dist/infrastructure/storage/sqlite-decision-repository.js +232 -0
  395. package/dist/infrastructure/storage/sqlite-decision-repository.js.map +1 -0
  396. package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts +35 -0
  397. package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts.map +1 -0
  398. package/dist/infrastructure/storage/sqlite-embedding-repository.js +277 -0
  399. package/dist/infrastructure/storage/sqlite-embedding-repository.js.map +1 -0
  400. package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.d.ts +41 -0
  401. package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.d.ts.map +1 -0
  402. package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.js +417 -0
  403. package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.js.map +1 -0
  404. package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.d.ts +29 -0
  405. package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.d.ts.map +1 -0
  406. package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.js +230 -0
  407. package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.js.map +1 -0
  408. package/dist/infrastructure/storage/sqlite-memory-repository.d.ts +40 -0
  409. package/dist/infrastructure/storage/sqlite-memory-repository.d.ts.map +1 -0
  410. package/dist/infrastructure/storage/sqlite-memory-repository.js +229 -0
  411. package/dist/infrastructure/storage/sqlite-memory-repository.js.map +1 -0
  412. package/dist/infrastructure/storage/sqlite-pattern-repository.d.ts +25 -0
  413. package/dist/infrastructure/storage/sqlite-pattern-repository.d.ts.map +1 -0
  414. package/dist/infrastructure/storage/sqlite-pattern-repository.js +249 -0
  415. package/dist/infrastructure/storage/sqlite-pattern-repository.js.map +1 -0
  416. package/dist/infrastructure/ux/appropriate-friction.d.ts +77 -0
  417. package/dist/infrastructure/ux/appropriate-friction.d.ts.map +1 -0
  418. package/dist/infrastructure/ux/appropriate-friction.js +213 -0
  419. package/dist/infrastructure/ux/appropriate-friction.js.map +1 -0
  420. package/dist/infrastructure/ux/bi-directional-learning.d.ts +109 -0
  421. package/dist/infrastructure/ux/bi-directional-learning.d.ts.map +1 -0
  422. package/dist/infrastructure/ux/bi-directional-learning.js +200 -0
  423. package/dist/infrastructure/ux/bi-directional-learning.js.map +1 -0
  424. package/dist/infrastructure/ux/contextual-feature-discovery.d.ts +24 -0
  425. package/dist/infrastructure/ux/contextual-feature-discovery.d.ts.map +1 -0
  426. package/dist/infrastructure/ux/contextual-feature-discovery.js +144 -0
  427. package/dist/infrastructure/ux/contextual-feature-discovery.js.map +1 -0
  428. package/dist/infrastructure/ux/expectation-management.d.ts +98 -0
  429. package/dist/infrastructure/ux/expectation-management.d.ts.map +1 -0
  430. package/dist/infrastructure/ux/expectation-management.js +327 -0
  431. package/dist/infrastructure/ux/expectation-management.js.map +1 -0
  432. package/dist/infrastructure/ux/feature-discovery.d.ts +47 -0
  433. package/dist/infrastructure/ux/feature-discovery.d.ts.map +1 -0
  434. package/dist/infrastructure/ux/feature-discovery.js +190 -0
  435. package/dist/infrastructure/ux/feature-discovery.js.map +1 -0
  436. package/dist/infrastructure/ux/hitl-review-portal.d.ts +47 -0
  437. package/dist/infrastructure/ux/hitl-review-portal.d.ts.map +1 -0
  438. package/dist/infrastructure/ux/hitl-review-portal.js +225 -0
  439. package/dist/infrastructure/ux/hitl-review-portal.js.map +1 -0
  440. package/dist/infrastructure/ux/hitl-validation.d.ts +104 -0
  441. package/dist/infrastructure/ux/hitl-validation.d.ts.map +1 -0
  442. package/dist/infrastructure/ux/hitl-validation.js +211 -0
  443. package/dist/infrastructure/ux/hitl-validation.js.map +1 -0
  444. package/dist/infrastructure/ux/progress-indicator.d.ts +54 -0
  445. package/dist/infrastructure/ux/progress-indicator.d.ts.map +1 -0
  446. package/dist/infrastructure/ux/progress-indicator.js +121 -0
  447. package/dist/infrastructure/ux/progress-indicator.js.map +1 -0
  448. package/dist/infrastructure/ux/progressive-disclosure.d.ts +84 -0
  449. package/dist/infrastructure/ux/progressive-disclosure.d.ts.map +1 -0
  450. package/dist/infrastructure/ux/progressive-disclosure.js +236 -0
  451. package/dist/infrastructure/ux/progressive-disclosure.js.map +1 -0
  452. package/dist/infrastructure/ux/review-checkpoint.d.ts +35 -0
  453. package/dist/infrastructure/ux/review-checkpoint.d.ts.map +1 -0
  454. package/dist/infrastructure/ux/review-checkpoint.js +119 -0
  455. package/dist/infrastructure/ux/review-checkpoint.js.map +1 -0
  456. package/dist/infrastructure/ux/staged-feature-intro.d.ts +47 -0
  457. package/dist/infrastructure/ux/staged-feature-intro.d.ts.map +1 -0
  458. package/dist/infrastructure/ux/staged-feature-intro.js +144 -0
  459. package/dist/infrastructure/ux/staged-feature-intro.js.map +1 -0
  460. package/dist/infrastructure/ux/syntax-highlighter.d.ts +21 -0
  461. package/dist/infrastructure/ux/syntax-highlighter.d.ts.map +1 -0
  462. package/dist/infrastructure/ux/syntax-highlighter.js +172 -0
  463. package/dist/infrastructure/ux/syntax-highlighter.js.map +1 -0
  464. package/dist/infrastructure/ux/team-standards.d.ts +94 -0
  465. package/dist/infrastructure/ux/team-standards.d.ts.map +1 -0
  466. package/dist/infrastructure/ux/team-standards.js +196 -0
  467. package/dist/infrastructure/ux/team-standards.js.map +1 -0
  468. package/dist/infrastructure/verification/verification-service.d.ts +12 -0
  469. package/dist/infrastructure/verification/verification-service.d.ts.map +1 -0
  470. package/dist/infrastructure/verification/verification-service.js +47 -0
  471. package/dist/infrastructure/verification/verification-service.js.map +1 -0
  472. package/dist/infrastructure/xai/attention-visualizer.d.ts +73 -0
  473. package/dist/infrastructure/xai/attention-visualizer.d.ts.map +1 -0
  474. package/dist/infrastructure/xai/attention-visualizer.js +174 -0
  475. package/dist/infrastructure/xai/attention-visualizer.js.map +1 -0
  476. package/dist/infrastructure/xai/cot-visualizer.d.ts +106 -0
  477. package/dist/infrastructure/xai/cot-visualizer.d.ts.map +1 -0
  478. package/dist/infrastructure/xai/cot-visualizer.js +286 -0
  479. package/dist/infrastructure/xai/cot-visualizer.js.map +1 -0
  480. package/dist/infrastructure/xai/decision-tree-log.d.ts +104 -0
  481. package/dist/infrastructure/xai/decision-tree-log.d.ts.map +1 -0
  482. package/dist/infrastructure/xai/decision-tree-log.js +216 -0
  483. package/dist/infrastructure/xai/decision-tree-log.js.map +1 -0
  484. package/dist/infrastructure/xai/interactive-xai.d.ts +106 -0
  485. package/dist/infrastructure/xai/interactive-xai.d.ts.map +1 -0
  486. package/dist/infrastructure/xai/interactive-xai.js +262 -0
  487. package/dist/infrastructure/xai/interactive-xai.js.map +1 -0
  488. package/dist/infrastructure/xai/uncertainty-quantifier.d.ts +80 -0
  489. package/dist/infrastructure/xai/uncertainty-quantifier.d.ts.map +1 -0
  490. package/dist/infrastructure/xai/uncertainty-quantifier.js +201 -0
  491. package/dist/infrastructure/xai/uncertainty-quantifier.js.map +1 -0
  492. package/dist/intelligent-retrieval.d.ts.map +1 -1
  493. package/dist/intelligent-retrieval.js +8 -1
  494. package/dist/intelligent-retrieval.js.map +1 -1
  495. package/dist/intent/classifier.d.ts +6 -0
  496. package/dist/intent/classifier.d.ts.map +1 -0
  497. package/dist/intent/classifier.js +2 -0
  498. package/dist/intent/classifier.js.map +1 -0
  499. package/dist/intent/context.d.ts +4 -0
  500. package/dist/intent/context.d.ts.map +1 -0
  501. package/dist/intent/context.js +2 -0
  502. package/dist/intent/context.js.map +1 -0
  503. package/dist/iterative-refinement.d.ts.map +1 -1
  504. package/dist/iterative-refinement.js +20 -3
  505. package/dist/iterative-refinement.js.map +1 -1
  506. package/dist/learning.d.ts.map +1 -1
  507. package/dist/learning.js +1 -2
  508. package/dist/learning.js.map +1 -1
  509. package/dist/monitoring.d.ts.map +1 -1
  510. package/dist/monitoring.js +1 -2
  511. package/dist/monitoring.js.map +1 -1
  512. package/dist/parallel-processor.d.ts +3 -2
  513. package/dist/parallel-processor.d.ts.map +1 -1
  514. package/dist/parallel-processor.js +183 -56
  515. package/dist/parallel-processor.js.map +1 -1
  516. package/dist/presentation/cli/commands/ask-command.d.ts +8 -0
  517. package/dist/presentation/cli/commands/ask-command.d.ts.map +1 -0
  518. package/dist/presentation/cli/commands/ask-command.js +190 -0
  519. package/dist/presentation/cli/commands/ask-command.js.map +1 -0
  520. package/dist/presentation/cli/commands/config-command.d.ts +9 -0
  521. package/dist/presentation/cli/commands/config-command.d.ts.map +1 -0
  522. package/dist/presentation/cli/commands/config-command.js +123 -0
  523. package/dist/presentation/cli/commands/config-command.js.map +1 -0
  524. package/dist/presentation/cli/commands/cost-command.d.ts +8 -0
  525. package/dist/presentation/cli/commands/cost-command.d.ts.map +1 -0
  526. package/dist/presentation/cli/commands/cost-command.js +191 -0
  527. package/dist/presentation/cli/commands/cost-command.js.map +1 -0
  528. package/dist/presentation/cli/commands/decision-command.d.ts +12 -0
  529. package/dist/presentation/cli/commands/decision-command.d.ts.map +1 -0
  530. package/dist/presentation/cli/commands/decision-command.js +207 -0
  531. package/dist/presentation/cli/commands/decision-command.js.map +1 -0
  532. package/dist/presentation/cli/commands/help-command.d.ts +9 -0
  533. package/dist/presentation/cli/commands/help-command.d.ts.map +1 -0
  534. package/dist/presentation/cli/commands/help-command.js +281 -0
  535. package/dist/presentation/cli/commands/help-command.js.map +1 -0
  536. package/dist/presentation/cli/commands/knowledge-command.d.ts +13 -0
  537. package/dist/presentation/cli/commands/knowledge-command.d.ts.map +1 -0
  538. package/dist/presentation/cli/commands/knowledge-command.js +129 -0
  539. package/dist/presentation/cli/commands/knowledge-command.js.map +1 -0
  540. package/dist/presentation/cli/commands/learning-dashboard-command.d.ts +8 -0
  541. package/dist/presentation/cli/commands/learning-dashboard-command.d.ts.map +1 -0
  542. package/dist/presentation/cli/commands/learning-dashboard-command.js +183 -0
  543. package/dist/presentation/cli/commands/learning-dashboard-command.js.map +1 -0
  544. package/dist/presentation/cli/commands/orchestrate-command.d.ts +9 -0
  545. package/dist/presentation/cli/commands/orchestrate-command.d.ts.map +1 -0
  546. package/dist/presentation/cli/commands/orchestrate-command.js +146 -0
  547. package/dist/presentation/cli/commands/orchestrate-command.js.map +1 -0
  548. package/dist/presentation/cli/commands/plan-command.d.ts +8 -0
  549. package/dist/presentation/cli/commands/plan-command.d.ts.map +1 -0
  550. package/dist/presentation/cli/commands/plan-command.js +166 -0
  551. package/dist/presentation/cli/commands/plan-command.js.map +1 -0
  552. package/dist/presentation/cli/commands/react-command.d.ts +8 -0
  553. package/dist/presentation/cli/commands/react-command.d.ts.map +1 -0
  554. package/dist/presentation/cli/commands/react-command.js +179 -0
  555. package/dist/presentation/cli/commands/react-command.js.map +1 -0
  556. package/dist/presentation/cli/commands/setup-command.d.ts +10 -0
  557. package/dist/presentation/cli/commands/setup-command.d.ts.map +1 -0
  558. package/dist/presentation/cli/commands/setup-command.js +286 -0
  559. package/dist/presentation/cli/commands/setup-command.js.map +1 -0
  560. package/dist/presentation/cli/commands/smart-command.d.ts +6 -0
  561. package/dist/presentation/cli/commands/smart-command.d.ts.map +1 -0
  562. package/dist/presentation/cli/commands/smart-command.js +330 -0
  563. package/dist/presentation/cli/commands/smart-command.js.map +1 -0
  564. package/dist/presentation/cli/commands/trace-command.d.ts +8 -0
  565. package/dist/presentation/cli/commands/trace-command.d.ts.map +1 -0
  566. package/dist/presentation/cli/commands/trace-command.js +129 -0
  567. package/dist/presentation/cli/commands/trace-command.js.map +1 -0
  568. package/dist/presentation/cli/commands/undo-command.d.ts +8 -0
  569. package/dist/presentation/cli/commands/undo-command.d.ts.map +1 -0
  570. package/dist/presentation/cli/commands/undo-command.js +150 -0
  571. package/dist/presentation/cli/commands/undo-command.js.map +1 -0
  572. package/dist/presentation/cli/error-display.d.ts +25 -0
  573. package/dist/presentation/cli/error-display.d.ts.map +1 -0
  574. package/dist/presentation/cli/error-display.js +297 -0
  575. package/dist/presentation/cli/error-display.js.map +1 -0
  576. package/dist/presentation/cli/keyboard-shortcuts.d.ts +27 -0
  577. package/dist/presentation/cli/keyboard-shortcuts.d.ts.map +1 -0
  578. package/dist/presentation/cli/keyboard-shortcuts.js +77 -0
  579. package/dist/presentation/cli/keyboard-shortcuts.js.map +1 -0
  580. package/dist/refactor.d.ts.map +1 -1
  581. package/dist/refactor.js +2 -4
  582. package/dist/refactor.js.map +1 -1
  583. package/dist/search.d.ts.map +1 -1
  584. package/dist/search.js +2 -63
  585. package/dist/search.js.map +1 -1
  586. package/dist/session.d.ts.map +1 -1
  587. package/dist/session.js +72 -3
  588. package/dist/session.js.map +1 -1
  589. package/dist/testgen.d.ts.map +1 -1
  590. package/dist/testgen.js +1 -2
  591. package/dist/testgen.js.map +1 -1
  592. package/dist/tools/bash.d.ts +53 -0
  593. package/dist/tools/bash.d.ts.map +1 -0
  594. package/dist/tools/bash.js +213 -0
  595. package/dist/tools/bash.js.map +1 -0
  596. package/dist/tools/edit.d.ts +48 -0
  597. package/dist/tools/edit.d.ts.map +1 -0
  598. package/dist/tools/edit.js +235 -0
  599. package/dist/tools/edit.js.map +1 -0
  600. package/dist/tools/executor.d.ts +29 -0
  601. package/dist/tools/executor.d.ts.map +1 -0
  602. package/dist/tools/executor.js +153 -0
  603. package/dist/tools/executor.js.map +1 -0
  604. package/dist/tools/git-tool.d.ts +87 -0
  605. package/dist/tools/git-tool.d.ts.map +1 -0
  606. package/dist/tools/git-tool.js +292 -0
  607. package/dist/tools/git-tool.js.map +1 -0
  608. package/dist/tools/parser.d.ts +33 -0
  609. package/dist/tools/parser.d.ts.map +1 -0
  610. package/dist/tools/parser.js +158 -0
  611. package/dist/tools/parser.js.map +1 -0
  612. package/dist/tools/registry.d.ts +74 -0
  613. package/dist/tools/registry.d.ts.map +1 -0
  614. package/dist/tools/registry.js +302 -0
  615. package/dist/tools/registry.js.map +1 -0
  616. package/dist/tools/search.d.ts +41 -0
  617. package/dist/tools/search.d.ts.map +1 -0
  618. package/dist/tools/search.js +100 -0
  619. package/dist/tools/search.js.map +1 -0
  620. package/dist/ui.d.ts.map +1 -1
  621. package/dist/ui.js +4 -2
  622. package/dist/ui.js.map +1 -1
  623. package/dist/utils/check-api-status.d.ts +12 -0
  624. package/dist/utils/check-api-status.d.ts.map +1 -0
  625. package/dist/utils/check-api-status.js +82 -0
  626. package/dist/utils/check-api-status.js.map +1 -0
  627. package/dist/utils/diff-parser.d.ts +22 -0
  628. package/dist/utils/diff-parser.d.ts.map +1 -0
  629. package/dist/utils/diff-parser.js +160 -0
  630. package/dist/utils/diff-parser.js.map +1 -0
  631. package/dist/utils/logger.d.ts +34 -0
  632. package/dist/utils/logger.d.ts.map +1 -0
  633. package/dist/utils/logger.js +56 -0
  634. package/dist/utils/logger.js.map +1 -0
  635. package/dist/utils/version.d.ts +21 -0
  636. package/dist/utils/version.d.ts.map +1 -0
  637. package/dist/utils/version.js +52 -0
  638. package/dist/utils/version.js.map +1 -0
  639. package/dist/verification/backup.d.ts +30 -0
  640. package/dist/verification/backup.d.ts.map +1 -0
  641. package/dist/verification/backup.js +259 -0
  642. package/dist/verification/backup.js.map +1 -0
  643. package/dist/verification/compiler.d.ts +20 -0
  644. package/dist/verification/compiler.d.ts.map +1 -0
  645. package/dist/verification/compiler.js +263 -0
  646. package/dist/verification/compiler.js.map +1 -0
  647. package/dist/verification/index.d.ts +59 -0
  648. package/dist/verification/index.d.ts.map +1 -0
  649. package/dist/verification/index.js +273 -0
  650. package/dist/verification/index.js.map +1 -0
  651. package/dist/verification/test-runner.d.ts +27 -0
  652. package/dist/verification/test-runner.d.ts.map +1 -0
  653. package/dist/verification/test-runner.js +379 -0
  654. package/dist/verification/test-runner.js.map +1 -0
  655. package/package.json +39 -14
  656. package/ARCHITECTURE.md +0 -240
  657. package/CHANGELOG.md +0 -44
  658. package/CONTRIBUTING.md +0 -171
  659. package/dist/benchmark.d.ts +0 -39
  660. package/dist/benchmark.d.ts.map +0 -1
  661. package/dist/benchmark.js +0 -195
  662. package/dist/benchmark.js.map +0 -1
  663. package/dist/scaffold.d.ts +0 -14
  664. package/dist/scaffold.d.ts.map +0 -1
  665. package/dist/scaffold.js +0 -85
  666. package/dist/scaffold.js.map +0 -1
  667. package/templates/next-page/app/layout.tsx +0 -19
  668. package/templates/next-page/app/page.tsx +0 -10
  669. package/templates/next-page/package.json +0 -22
  670. package/templates/node-api/index.js +0 -57
  671. package/templates/node-api/package.json +0 -13
@@ -0,0 +1,286 @@
1
+ /**
2
+ * Setup Wizard Command
3
+ * Interactive first-time setup for Codehere
4
+ * Checks environment, API keys, and guides users through configuration
5
+ */
6
+ import { readFileSync, existsSync, writeFileSync, mkdirSync } from 'fs';
7
+ import { join } from 'path';
8
+ import { getConfigManager } from '../../../infrastructure/config/config-manager.js';
9
+ import { colors, separator, newline, sectionHeader, success, error, warning, info, createBanner, createWelcomeMessage, } from '../../../ui.js';
10
+ import { executionTracer } from '../../../infrastructure/observability/execution-tracer.js';
11
+ import { findCodebaseRoot } from '../../../domain/services/codebase-detector.js';
12
+ /**
13
+ * Check if API key is configured
14
+ */
15
+ function checkAPIKey() {
16
+ const apiKey = process.env.COHERE_API_KEY;
17
+ if (apiKey && apiKey.trim() && !apiKey.includes('your_key_here') && apiKey.length > 10) {
18
+ return { configured: true, key: apiKey };
19
+ }
20
+ return { configured: false };
21
+ }
22
+ /**
23
+ * Detect codebase type and root
24
+ */
25
+ function detectCodebase() {
26
+ const cwd = process.cwd();
27
+ // Check for common project indicators
28
+ const indicators = {
29
+ node: ['package.json'],
30
+ python: ['requirements.txt', 'setup.py', 'pyproject.toml'],
31
+ rust: ['Cargo.toml'],
32
+ go: ['go.mod'],
33
+ java: ['pom.xml', 'build.gradle'],
34
+ };
35
+ for (const [type, files] of Object.entries(indicators)) {
36
+ for (const file of files) {
37
+ if (existsSync(join(cwd, file))) {
38
+ return { detected: true, type, root: cwd };
39
+ }
40
+ }
41
+ }
42
+ return { detected: false, root: cwd };
43
+ }
44
+ /**
45
+ * Detect preferred model from config
46
+ */
47
+ function detectModel() {
48
+ try {
49
+ const configPath = join(process.cwd(), 'data', 'model-config.json');
50
+ if (existsSync(configPath)) {
51
+ const config = JSON.parse(readFileSync(configPath, 'utf-8'));
52
+ return config.preferredModel || config.modelFamily || null;
53
+ }
54
+ }
55
+ catch {
56
+ // Ignore errors
57
+ }
58
+ return null;
59
+ }
60
+ /**
61
+ * Create config directory if needed
62
+ */
63
+ function ensureConfigDir() {
64
+ const configDir = join(process.cwd(), 'data');
65
+ if (!existsSync(configDir)) {
66
+ mkdirSync(configDir, { recursive: true });
67
+ }
68
+ return configDir;
69
+ }
70
+ /**
71
+ * Save setup configuration
72
+ */
73
+ function saveSetupConfig(result) {
74
+ const configDir = ensureConfigDir();
75
+ const configPath = join(configDir, 'setup-config.json');
76
+ const config = {
77
+ setupComplete: true,
78
+ setupDate: new Date().toISOString(),
79
+ apiKeyConfigured: result.apiKeyConfigured,
80
+ modelDetected: result.modelDetected,
81
+ codebaseDetected: result.codebaseDetected,
82
+ };
83
+ writeFileSync(configPath, JSON.stringify(config, null, 2));
84
+ }
85
+ /**
86
+ * Check if setup has been completed before
87
+ */
88
+ function isSetupComplete() {
89
+ try {
90
+ const configPath = join(process.cwd(), 'data', 'setup-config.json');
91
+ if (existsSync(configPath)) {
92
+ const config = JSON.parse(readFileSync(configPath, 'utf-8'));
93
+ return config.setupComplete === true;
94
+ }
95
+ }
96
+ catch {
97
+ // Ignore errors
98
+ }
99
+ return false;
100
+ }
101
+ /**
102
+ * Execute setup wizard
103
+ */
104
+ export async function executeSetupCommand(force = false) {
105
+ // Start execution tracing
106
+ const codebaseInfo = findCodebaseRoot(process.cwd());
107
+ const runId = executionTracer.startRun('setup', {
108
+ codebaseId: codebaseInfo?.rootPath || process.cwd(),
109
+ });
110
+ try {
111
+ const isFirstTime = !isSetupComplete() || force;
112
+ // Welcome banner for first-time users
113
+ if (isFirstTime) {
114
+ newline();
115
+ console.log(createWelcomeMessage());
116
+ newline();
117
+ console.log(createBanner('Welcome to Codehere', 'Your AI-powered coding assistant'));
118
+ newline();
119
+ // Feature overview for first-time users
120
+ console.log(colors.bold('What Codehere Can Do:'));
121
+ console.log(colors.dim(' • ') + colors.cyan('Ask questions') + colors.dim(' about your codebase'));
122
+ console.log(colors.dim(' • ') + colors.cyan('Edit code') + colors.dim(' with natural language instructions'));
123
+ console.log(colors.dim(' • ') + colors.cyan('Explain code') + colors.dim(' files and functions'));
124
+ console.log(colors.dim(' • ') + colors.cyan('Plan complex tasks') + colors.dim(' with multi-step workflows'));
125
+ console.log(colors.dim(' • ') + colors.cyan('Multi-agent orchestration') + colors.dim(' for advanced tasks'));
126
+ newline();
127
+ console.log(colors.bold('Quick Start Guide:'));
128
+ console.log(colors.dim(' 1. ') + colors.cyan('codehere "explain this function"') + colors.dim(' - Ask questions'));
129
+ console.log(colors.dim(' 2. ') + colors.cyan('codehere "add error handling to auth.ts"') + colors.dim(' - Edit code'));
130
+ console.log(colors.dim(' 3. ') + colors.cyan('codehere plan "refactor authentication"') + colors.dim(' - Plan tasks'));
131
+ newline();
132
+ console.log(separator('═', 80));
133
+ console.log(colors.bold('Setup Wizard'));
134
+ console.log(separator('═', 80));
135
+ newline();
136
+ }
137
+ else {
138
+ // Regular setup header for reconfigure
139
+ newline();
140
+ console.log(separator('═', 80));
141
+ console.log(colors.bold('Codehere - Setup Wizard'));
142
+ console.log(separator('═', 80));
143
+ newline();
144
+ }
145
+ // Check if already set up
146
+ if (!force && isSetupComplete()) {
147
+ console.log(info('Setup has already been completed.'));
148
+ newline();
149
+ console.log(colors.dim('Run with --force to reconfigure.'));
150
+ newline();
151
+ return;
152
+ }
153
+ const result = {
154
+ apiKeyConfigured: false,
155
+ modelDetected: null,
156
+ codebaseDetected: false,
157
+ configPath: join(process.cwd(), 'data'),
158
+ };
159
+ // Step 1: API Key
160
+ sectionHeader('Step 1: API Key Configuration');
161
+ const apiKeyCheck = checkAPIKey();
162
+ if (apiKeyCheck.configured) {
163
+ console.log(success(`API Key: Found and configured`));
164
+ console.log(colors.dim(` Key preview: ${apiKeyCheck.key?.substring(0, 8)}...${apiKeyCheck.key?.substring(apiKeyCheck.key.length - 4)}`));
165
+ result.apiKeyConfigured = true;
166
+ }
167
+ else {
168
+ console.log(warning('API Key: Not configured'));
169
+ newline();
170
+ console.log(colors.bold('To configure your API key:'));
171
+ console.log(colors.dim(` 1. Get your API key from: ${colors.cyan('https://dashboard.cohere.com/api-keys')}`));
172
+ console.log(colors.dim(` 2. Create a .env file in your project root:`));
173
+ console.log(colors.cyan(' echo "COHERE_API_KEY=your_key_here" > .env'));
174
+ console.log(colors.dim(` 3. Or export it in your shell:`));
175
+ console.log(colors.cyan(' export COHERE_API_KEY=your_key_here'));
176
+ newline();
177
+ }
178
+ newline();
179
+ // Step 2: Model Detection
180
+ sectionHeader('Step 2: Model Configuration');
181
+ const model = detectModel();
182
+ if (model) {
183
+ console.log(success(`Preferred Model: ${model}`));
184
+ result.modelDetected = model;
185
+ }
186
+ else {
187
+ console.log(info('Model: Using default (Command R+)'));
188
+ console.log(colors.dim(' Run model evaluation to set preferred model.'));
189
+ result.modelDetected = 'Command R+ (default)';
190
+ }
191
+ newline();
192
+ // Step 3: Codebase Detection
193
+ sectionHeader('Step 3: Codebase Detection');
194
+ const codebase = detectCodebase();
195
+ if (codebase.detected) {
196
+ console.log(success(`Codebase: Detected (${codebase.type})`));
197
+ console.log(colors.dim(` Root: ${codebase.root}`));
198
+ result.codebaseDetected = true;
199
+ }
200
+ else {
201
+ console.log(warning('Codebase: Not detected'));
202
+ console.log(colors.dim(' Make sure you\'re in your project directory.'));
203
+ result.codebaseDetected = false;
204
+ }
205
+ newline();
206
+ // Step 4: Summary
207
+ sectionHeader('Setup Summary');
208
+ const summaryItems = [
209
+ ['API Key', result.apiKeyConfigured ? success('Configured') : error('Not Configured')],
210
+ ['Model', result.modelDetected || info('Default')],
211
+ ['Codebase', result.codebaseDetected ? success('Detected') : warning('Not Detected')],
212
+ ];
213
+ summaryItems.forEach(([label, status]) => {
214
+ console.log(` ${label.padEnd(15)} ${status}`);
215
+ });
216
+ newline();
217
+ // Step 5: Save Configuration
218
+ if (result.apiKeyConfigured) {
219
+ const configManager = getConfigManager();
220
+ // Update codebase info if detected
221
+ if (codebase.detected) {
222
+ configManager.updateCodebase(codebase.root);
223
+ }
224
+ // Update model preference if detected
225
+ if (model) {
226
+ configManager.setPreference('defaultModel', model.replace(' (default)', ''));
227
+ }
228
+ // Save configuration
229
+ configManager.saveConfig();
230
+ result.configPath = configManager.getConfigPath();
231
+ console.log(separator('═', 80));
232
+ console.log(success('Setup Complete!'));
233
+ console.log(separator('═', 80));
234
+ newline();
235
+ console.log(colors.bold('Configuration Saved:'));
236
+ console.log(colors.dim(` ${result.configPath}`));
237
+ newline();
238
+ // Enhanced next steps with feature discovery
239
+ if (isFirstTime) {
240
+ console.log(colors.bold('🎉 Setup Complete! Next Steps:'));
241
+ console.log(colors.dim(` 1. Index your codebase: ${colors.cyan('codehere index')}`));
242
+ console.log(colors.dim(` 2. Try asking a question: ${colors.cyan('codehere "explain this function"')}`));
243
+ console.log(colors.dim(` 3. Get help: ${colors.cyan('codehere --help')}`));
244
+ newline();
245
+ console.log(colors.bold('💡 Pro Tip:'));
246
+ console.log(colors.dim(' After you\'ve tried the basics, discover advanced features:'));
247
+ console.log(colors.dim(` • Multi-agent orchestration: ${colors.cyan('codehere orchestrate')}`));
248
+ console.log(colors.dim(` • ReAct reasoning: ${colors.cyan('codehere react')}`));
249
+ console.log(colors.dim(` • Configuration: ${colors.cyan('codehere config')}`));
250
+ newline();
251
+ }
252
+ else {
253
+ console.log(colors.bold('Next Steps:'));
254
+ console.log(colors.dim(` 1. Index your codebase: ${colors.cyan('codehere index')}`));
255
+ console.log(colors.dim(` 2. Try asking a question: ${colors.cyan('codehere "explain this function"')}`));
256
+ console.log(colors.dim(` 3. Get help: ${colors.cyan('codehere --help')}`));
257
+ console.log(colors.dim(` 4. Configure preferences: ${colors.cyan('codehere config')}`));
258
+ newline();
259
+ }
260
+ saveSetupConfig(result);
261
+ // Track onboarding completion for first-time users
262
+ if (isFirstTime) {
263
+ const onboardingConfig = {
264
+ onboardingComplete: true,
265
+ onboardingDate: new Date().toISOString(),
266
+ commandCount: 0, // Will be tracked by feature discovery
267
+ };
268
+ const onboardingPath = join(ensureConfigDir(), 'onboarding.json');
269
+ writeFileSync(onboardingPath, JSON.stringify(onboardingConfig, null, 2));
270
+ }
271
+ }
272
+ else {
273
+ console.log(separator('═', 80));
274
+ console.log(warning('Setup Incomplete'));
275
+ console.log(separator('═', 80));
276
+ newline();
277
+ console.log(colors.bold('Please configure your API key to continue.'));
278
+ console.log(colors.dim('Run this command again after setting up your API key.'));
279
+ newline();
280
+ }
281
+ }
282
+ finally {
283
+ executionTracer.endRun();
284
+ }
285
+ }
286
+ //# sourceMappingURL=setup-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-command.js","sourceRoot":"","sources":["../../../../src/presentation/cli/commands/setup-command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * CLI Command: Smart Router
3
+ * Intelligent routing - user just types what they want
4
+ */
5
+ export declare function executeSmartCommand(query: string): Promise<void>;
6
+ //# sourceMappingURL=smart-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smart-command.d.ts","sourceRoot":"","sources":["../../../../src/presentation/cli/commands/smart-command.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA6BH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8WtE"}
@@ -0,0 +1,330 @@
1
+ /**
2
+ * CLI Command: Smart Router
3
+ * Intelligent routing - user just types what they want
4
+ */
5
+ import { IntelligentRouter } from '../../../application/services/intelligent-router.js';
6
+ import { colors, sectionHeader, formatNumber, formatPath, createTable, success, error, warning, newline, separator, symbols, } from '../../../ui.js';
7
+ import { cleanResponse } from '../../../formatter.js';
8
+ import { executionTracer } from '../../../infrastructure/observability/execution-tracer.js';
9
+ import { displayError } from '../error-display.js';
10
+ import { trackCommand, shouldShowFeatureDiscovery, markFeatureDiscoveryShown, } from '../../../infrastructure/ux/feature-discovery.js';
11
+ export async function executeSmartCommand(query) {
12
+ // Use dependency container to get memory-aware router
13
+ const { container } = await import('../../../application/services/dependency-container.js');
14
+ const router = new IntelligentRouter(undefined, // Use default QueryIntentClassifier
15
+ container.aiService, container.memoryStreamService);
16
+ // Professional banner with query
17
+ console.log('\n' + separator('═', 80));
18
+ console.log(colors.bold('Codehere - AI Coding Assistant'));
19
+ console.log(separator('═', 80));
20
+ newline();
21
+ console.log(colors.bold('Query:') + ' ' + colors.cyan(`"${query}"`));
22
+ newline();
23
+ // Start execution tracing and track start time for summary statistics
24
+ const startTime = Date.now();
25
+ const runId = executionTracer.startRun('smart-route', {
26
+ query,
27
+ codebaseId: process.cwd(),
28
+ });
29
+ // No verbose spinner - atomic interaction
30
+ try {
31
+ const result = await router.route({
32
+ query,
33
+ context: {
34
+ currentDirectory: process.cwd(),
35
+ },
36
+ });
37
+ // Calculate execution time for summary
38
+ const executionTime = ((Date.now() - startTime) / 1000).toFixed(2);
39
+ // Display result based on action type - enhanced with better formatting
40
+ switch (result.action) {
41
+ case 'ask':
42
+ // Enhanced: Show answer with better formatting and summary
43
+ sectionHeader('Answer');
44
+ console.log(cleanResponse(result.message || 'No answer generated'));
45
+ newline();
46
+ // Show summary statistics
47
+ const summaryRows = [];
48
+ summaryRows.push(['Execution Time', `${executionTime}s`]);
49
+ if (result.memoriesUsed) {
50
+ summaryRows.push(['Memories Used', formatNumber(result.memoriesUsed)]);
51
+ }
52
+ // Add summary if we have metrics
53
+ if (summaryRows.length > 1) {
54
+ console.log(separator('─', 80));
55
+ sectionHeader('Summary');
56
+ const summaryTable = createTable(['Metric', 'Value'], summaryRows);
57
+ console.log(summaryTable.toString());
58
+ newline();
59
+ }
60
+ break;
61
+ case 'explain':
62
+ // Atomic: Just show the explanation
63
+ if (result.result) {
64
+ const explainResult = result.result;
65
+ console.log(cleanResponse(explainResult.explanation));
66
+ }
67
+ newline();
68
+ break;
69
+ case 'edit':
70
+ console.log(separator('═', 80));
71
+ sectionHeader('Edit Result');
72
+ console.log(separator('═', 80));
73
+ newline();
74
+ if (result.success) {
75
+ const editResult = result.result;
76
+ // Display license warnings if present (Enhanced Security - License Scanning)
77
+ if (editResult?.licenseFindings && editResult.licenseFindings.length > 0) {
78
+ sectionHeader('License Scan');
79
+ const criticalFindings = editResult.licenseFindings.filter((f) => f.severity === 'critical' || f.severity === 'high');
80
+ if (criticalFindings.length > 0) {
81
+ console.log(warning(`⚠️ ${criticalFindings.length} license conflict(s) detected:`));
82
+ criticalFindings.slice(0, 3).forEach((finding) => {
83
+ console.log(colors.yellow(` • ${finding.license} license detected in ${finding.filepath || 'code'}`));
84
+ if (finding.message) {
85
+ console.log(colors.dim(` ${finding.message}`));
86
+ }
87
+ });
88
+ if (criticalFindings.length > 3) {
89
+ console.log(colors.dim(` ... and ${criticalFindings.length - 3} more`));
90
+ }
91
+ newline();
92
+ }
93
+ }
94
+ // Display provider bias warnings if present (Enhanced Security - Provider Bias Detection)
95
+ if (editResult?.providerBiasFindings && editResult.providerBiasFindings.length > 0) {
96
+ sectionHeader('Provider Bias Detection');
97
+ const criticalFindings = editResult.providerBiasFindings.filter((f) => f.severity === 'critical' || f.severity === 'high');
98
+ if (criticalFindings.length > 0) {
99
+ console.log(warning(`⚠️ ${criticalFindings.length} vendor lock-in risk(s) detected:`));
100
+ criticalFindings.slice(0, 3).forEach((finding) => {
101
+ console.log(colors.yellow(` • ${finding.provider} provider detected`));
102
+ if (finding.message) {
103
+ console.log(colors.dim(` ${finding.message}`));
104
+ }
105
+ });
106
+ if (criticalFindings.length > 3) {
107
+ console.log(colors.dim(` ... and ${criticalFindings.length - 3} more`));
108
+ }
109
+ newline();
110
+ }
111
+ }
112
+ console.log(success('Edit applied successfully'));
113
+ if (editResult?.edit?.filepath) {
114
+ console.log(colors.dim(`File: ${formatPath(editResult.edit.filepath)}`));
115
+ }
116
+ if (editResult?.edit?.linesAdded || editResult?.edit?.linesRemoved) {
117
+ const changesTable = createTable(['Metric', 'Value'], [
118
+ ['Lines Added', formatNumber(editResult.edit.linesAdded || 0)],
119
+ ['Lines Removed', formatNumber(editResult.edit.linesRemoved || 0)],
120
+ ['Execution Time', `${executionTime}s`],
121
+ ]);
122
+ console.log(changesTable.toString());
123
+ newline();
124
+ }
125
+ }
126
+ else {
127
+ // Use centralized error display
128
+ const errorMessage = result.error || 'Edit failed';
129
+ displayError(new Error(errorMessage), {
130
+ operation: 'edit',
131
+ query: query,
132
+ filepath: result.result?.edit?.filepath,
133
+ showSuggestions: true,
134
+ });
135
+ // Display security/license findings even on failure
136
+ const editResult = result.result;
137
+ if (editResult?.licenseFindings && editResult.licenseFindings.length > 0) {
138
+ newline();
139
+ sectionHeader('License Scan');
140
+ editResult.licenseFindings.slice(0, 3).forEach((finding) => {
141
+ console.log(colors.yellow(`⚠️ ${finding.license} license: ${finding.message || 'License conflict detected'}`));
142
+ });
143
+ }
144
+ if (editResult?.providerBiasFindings && editResult.providerBiasFindings.length > 0) {
145
+ newline();
146
+ sectionHeader('Provider Bias Detection');
147
+ editResult.providerBiasFindings.slice(0, 3).forEach((finding) => {
148
+ console.log(colors.yellow(`⚠️ ${finding.provider} provider: ${finding.message || 'Vendor lock-in risk detected'}`));
149
+ });
150
+ }
151
+ if (editResult?.reflection) {
152
+ newline();
153
+ sectionHeader('Learning');
154
+ console.log(colors.yellow(` ${editResult.reflection}`));
155
+ }
156
+ newline();
157
+ console.log(colors.dim(`Execution Time: ${executionTime}s`));
158
+ }
159
+ console.log(separator('═', 80));
160
+ newline();
161
+ break;
162
+ case 'react':
163
+ // Atomic: Just show the final answer, not reasoning steps
164
+ if (result.result) {
165
+ const reactResult = result.result;
166
+ // Only show answer, not verbose reasoning steps
167
+ console.log(cleanResponse(result.message || reactResult.answer || 'Processing complete'));
168
+ }
169
+ newline();
170
+ break;
171
+ case 'plan':
172
+ if (result.result) {
173
+ const planResult = result.result;
174
+ // Check if it's from orchestrator (has execution/validation) or just planning
175
+ if (planResult.plan) {
176
+ console.log(separator('═', 80));
177
+ console.log(colors.bold('Plan'));
178
+ console.log(separator('═', 80));
179
+ newline();
180
+ console.log(colors.bold('Goal:') + ' ' + colors.cyan(planResult.plan.goal || query));
181
+ if (planResult.plan.metadata?.complexity) {
182
+ console.log(colors.dim(`Complexity: ${planResult.plan.metadata.complexity}`));
183
+ }
184
+ if (planResult.plan.metadata?.estimatedDuration) {
185
+ console.log(colors.dim(`Estimated Duration: ${planResult.plan.metadata.estimatedDuration} minutes`));
186
+ }
187
+ newline();
188
+ if (planResult.plan.subPlans && planResult.plan.subPlans.length > 0) {
189
+ console.log(colors.bold('Sub-Plans:'));
190
+ planResult.plan.subPlans.forEach((subPlan, i) => {
191
+ const statusIconMap = {
192
+ pending: '○',
193
+ in_progress: '⟳',
194
+ completed: '✓',
195
+ failed: '✗',
196
+ };
197
+ const statusIcon = statusIconMap[subPlan.status] || '○';
198
+ console.log(` ${statusIcon} [${subPlan.type || 'task'}] ${subPlan.description || 'Sub-plan ' + (i + 1)}`);
199
+ if (subPlan.dependencies && subPlan.dependencies.length > 0) {
200
+ console.log(colors.dim(` Depends on: ${subPlan.dependencies.join(', ')}`));
201
+ }
202
+ if (subPlan.estimatedSteps) {
203
+ console.log(colors.dim(` Estimated steps: ${subPlan.estimatedSteps}`));
204
+ }
205
+ });
206
+ newline();
207
+ }
208
+ }
209
+ // Show execution results if from orchestrator
210
+ if (planResult.execution) {
211
+ console.log(separator('═', 80));
212
+ console.log(colors.bold('Execution Results'));
213
+ console.log(separator('═', 80));
214
+ newline();
215
+ console.log(colors.bold(`Completed: ${planResult.execution.completedSubPlans || 0}/${planResult.execution.totalSubPlans || 0} sub-plans`));
216
+ console.log(colors.bold(`Overall Success: ${planResult.execution.overallSuccess ? '[SUCCESS]' : '[FAILED]'}`));
217
+ newline();
218
+ if (planResult.execution.results && planResult.execution.results.length > 0) {
219
+ planResult.execution.results.forEach((execResult) => {
220
+ const icon = execResult.success ? symbols.success : symbols.error;
221
+ const color = execResult.success ? colors.green : colors.red;
222
+ console.log(`${color(icon)} ${execResult.subPlanId || 'Sub-plan'}: ${execResult.success ? 'Success' : 'Failed'}${execResult.duration ? ` (${execResult.duration}ms)` : ''}`);
223
+ if (execResult.error) {
224
+ console.log(colors.dim(` Error: ${execResult.error}`));
225
+ }
226
+ });
227
+ newline();
228
+ }
229
+ }
230
+ // Show validation results if available
231
+ if (planResult.validation) {
232
+ console.log(separator('═', 80));
233
+ console.log(colors.bold('Validation Results'));
234
+ console.log(separator('═', 80));
235
+ newline();
236
+ if (planResult.validation.qualityScore !== undefined) {
237
+ console.log(colors.bold(`Quality Score: ${planResult.validation.qualityScore}/100`));
238
+ }
239
+ if (planResult.validation.compilationSuccess !== undefined) {
240
+ console.log(`Compilation: ${planResult.validation.compilationSuccess ? success('Pass') : error('Fail')}`);
241
+ }
242
+ if (planResult.validation.testsPassed !== undefined) {
243
+ console.log(`Tests: ${planResult.validation.testsPassed ? success('Pass') : error('Fail')}`);
244
+ }
245
+ if (planResult.validation.testResults) {
246
+ const tr = planResult.validation.testResults;
247
+ console.log(colors.dim(`Test Results: ${tr.passed || 0} passed, ${tr.failed || 0} failed, ${tr.total || 0} total`));
248
+ }
249
+ newline();
250
+ }
251
+ // Show final message
252
+ if (result.success) {
253
+ console.log(separator('═', 80));
254
+ console.log(success(result.message || 'Plan completed successfully'));
255
+ console.log(separator('═', 80));
256
+ }
257
+ else {
258
+ // Use centralized error display
259
+ const errorMessage = result.message || result.error || 'Plan failed';
260
+ displayError(new Error(errorMessage), {
261
+ operation: 'plan',
262
+ query: query,
263
+ showSuggestions: true,
264
+ });
265
+ }
266
+ newline();
267
+ }
268
+ else {
269
+ console.log(separator('═', 80));
270
+ console.log(colors.bold('Plan'));
271
+ console.log(separator('═', 80));
272
+ newline();
273
+ console.log(result.message || 'Planning in progress...');
274
+ newline();
275
+ }
276
+ break;
277
+ case 'index':
278
+ console.log(warning(result.message || 'Indexing required'));
279
+ break;
280
+ default:
281
+ console.log(result.message || 'Processing...');
282
+ }
283
+ // Atomic interaction: No summary table for better UX
284
+ // Summary statistics are tracked internally but not displayed
285
+ // Track command usage for feature discovery
286
+ trackCommand('smart');
287
+ // Contextual Feature Discovery: Show relevant features based on query (Task 2.2)
288
+ const { shouldShowContextualSuggestion } = await import('../../../infrastructure/ux/contextual-feature-discovery.js');
289
+ const contextualSuggestion = shouldShowContextualSuggestion(query, 'smart');
290
+ if (contextualSuggestion) {
291
+ newline();
292
+ console.log(separator('─', 80));
293
+ console.log(colors.bold(`💡 ${contextualSuggestion.reason}`));
294
+ console.log(colors.dim(` Try: ${colors.cyan(contextualSuggestion.command)}`));
295
+ console.log(colors.dim(` ${contextualSuggestion.description}`));
296
+ console.log(separator('─', 80));
297
+ newline();
298
+ }
299
+ else {
300
+ // Show milestone-based feature discovery if appropriate
301
+ const discovery = shouldShowFeatureDiscovery('smart');
302
+ if (discovery) {
303
+ newline();
304
+ console.log(separator('─', 80));
305
+ console.log(colors.bold(`💡 ${discovery.message}`));
306
+ discovery.features.forEach(feature => {
307
+ console.log(colors.dim(` • ${colors.cyan(feature.name)}: ${feature.description}`));
308
+ console.log(colors.dim(` ${colors.cyan(feature.command)}`));
309
+ });
310
+ console.log(separator('─', 80));
311
+ newline();
312
+ markFeatureDiscoveryShown(discovery.id);
313
+ }
314
+ }
315
+ newline();
316
+ }
317
+ catch (err) {
318
+ const { displayError } = await import('../error-display.js');
319
+ displayError(err, {
320
+ operation: 'smart-route',
321
+ query,
322
+ showSuggestions: true,
323
+ });
324
+ throw err;
325
+ }
326
+ finally {
327
+ executionTracer.endRun();
328
+ }
329
+ }
330
+ //# sourceMappingURL=smart-command.js.map