codehere 0.2.0 → 0.4.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 (405) hide show
  1. package/README.md +223 -42
  2. package/dist/application/agents/documentation-agent.d.ts +24 -0
  3. package/dist/application/agents/documentation-agent.d.ts.map +1 -0
  4. package/dist/application/agents/documentation-agent.js +399 -0
  5. package/dist/application/agents/documentation-agent.js.map +1 -0
  6. package/dist/application/agents/execution-agent.d.ts +11 -0
  7. package/dist/application/agents/execution-agent.d.ts.map +1 -1
  8. package/dist/application/agents/execution-agent.js +289 -80
  9. package/dist/application/agents/execution-agent.js.map +1 -1
  10. package/dist/application/agents/multi-agent-orchestrator.d.ts +4 -0
  11. package/dist/application/agents/multi-agent-orchestrator.d.ts.map +1 -1
  12. package/dist/application/agents/multi-agent-orchestrator.js +86 -0
  13. package/dist/application/agents/multi-agent-orchestrator.js.map +1 -1
  14. package/dist/application/agents/planning-agent.d.ts +3 -0
  15. package/dist/application/agents/planning-agent.d.ts.map +1 -1
  16. package/dist/application/agents/planning-agent.js +132 -64
  17. package/dist/application/agents/planning-agent.js.map +1 -1
  18. package/dist/application/agents/product-requirements-agent.d.ts +21 -0
  19. package/dist/application/agents/product-requirements-agent.d.ts.map +1 -0
  20. package/dist/application/agents/product-requirements-agent.js +247 -0
  21. package/dist/application/agents/product-requirements-agent.js.map +1 -0
  22. package/dist/application/agents/validation-agent.d.ts +5 -1
  23. package/dist/application/agents/validation-agent.d.ts.map +1 -1
  24. package/dist/application/agents/validation-agent.js +156 -21
  25. package/dist/application/agents/validation-agent.js.map +1 -1
  26. package/dist/application/services/dependency-container.d.ts +25 -2
  27. package/dist/application/services/dependency-container.d.ts.map +1 -1
  28. package/dist/application/services/dependency-container.js +163 -1
  29. package/dist/application/services/dependency-container.js.map +1 -1
  30. package/dist/application/services/intelligent-router.d.ts +13 -0
  31. package/dist/application/services/intelligent-router.d.ts.map +1 -1
  32. package/dist/application/services/intelligent-router.js +300 -87
  33. package/dist/application/services/intelligent-router.js.map +1 -1
  34. package/dist/application/use-cases/ask-question-use-case.d.ts +31 -0
  35. package/dist/application/use-cases/ask-question-use-case.d.ts.map +1 -1
  36. package/dist/application/use-cases/ask-question-use-case.js +254 -55
  37. package/dist/application/use-cases/ask-question-use-case.js.map +1 -1
  38. package/dist/application/use-cases/edit-file-use-case.d.ts.map +1 -1
  39. package/dist/application/use-cases/edit-file-use-case.js +86 -4
  40. package/dist/application/use-cases/edit-file-use-case.js.map +1 -1
  41. package/dist/application/use-cases/planning-use-case.d.ts.map +1 -1
  42. package/dist/application/use-cases/planning-use-case.js +10 -1
  43. package/dist/application/use-cases/planning-use-case.js.map +1 -1
  44. package/dist/application/use-cases/react-orchestration-use-case.d.ts.map +1 -1
  45. package/dist/application/use-cases/react-orchestration-use-case.js +6 -2
  46. package/dist/application/use-cases/react-orchestration-use-case.js.map +1 -1
  47. package/dist/domain/entities/documentation.d.ts +35 -0
  48. package/dist/domain/entities/documentation.d.ts.map +1 -0
  49. package/dist/domain/entities/documentation.js +6 -0
  50. package/dist/domain/entities/documentation.js.map +1 -0
  51. package/dist/domain/entities/product-requirements.d.ts +50 -0
  52. package/dist/domain/entities/product-requirements.d.ts.map +1 -0
  53. package/dist/domain/entities/product-requirements.js +6 -0
  54. package/dist/domain/entities/product-requirements.js.map +1 -0
  55. package/dist/domain/entities/task.d.ts +152 -0
  56. package/dist/domain/entities/task.d.ts.map +1 -0
  57. package/dist/domain/entities/task.js +61 -0
  58. package/dist/domain/entities/task.js.map +1 -0
  59. package/dist/domain/interfaces/agent.interface.d.ts +15 -0
  60. package/dist/domain/interfaces/agent.interface.d.ts.map +1 -0
  61. package/dist/domain/interfaces/agent.interface.js +6 -0
  62. package/dist/domain/interfaces/agent.interface.js.map +1 -0
  63. package/dist/domain/services/environment-mode-manager.d.ts +18 -0
  64. package/dist/domain/services/environment-mode-manager.d.ts.map +1 -0
  65. package/dist/domain/services/environment-mode-manager.js +37 -0
  66. package/dist/domain/services/environment-mode-manager.js.map +1 -0
  67. package/dist/domain/services/react-loop.d.ts +8 -0
  68. package/dist/domain/services/react-loop.d.ts.map +1 -1
  69. package/dist/domain/services/react-loop.js +82 -6
  70. package/dist/domain/services/react-loop.js.map +1 -1
  71. package/dist/domain/services/risk-tier-detector.d.ts +18 -0
  72. package/dist/domain/services/risk-tier-detector.d.ts.map +1 -0
  73. package/dist/domain/services/risk-tier-detector.js +65 -0
  74. package/dist/domain/services/risk-tier-detector.js.map +1 -0
  75. package/dist/formatter.d.ts +2 -2
  76. package/dist/formatter.d.ts.map +1 -1
  77. package/dist/formatter.js +40 -20
  78. package/dist/formatter.js.map +1 -1
  79. package/dist/index.js +218 -125
  80. package/dist/index.js.map +1 -1
  81. package/dist/infrastructure/ai/cohere-ai-service.d.ts +3 -1
  82. package/dist/infrastructure/ai/cohere-ai-service.d.ts.map +1 -1
  83. package/dist/infrastructure/ai/cohere-ai-service.js +65 -5
  84. package/dist/infrastructure/ai/cohere-ai-service.js.map +1 -1
  85. package/dist/infrastructure/ai/fake-ai-service.d.ts +22 -0
  86. package/dist/infrastructure/ai/fake-ai-service.d.ts.map +1 -0
  87. package/dist/infrastructure/ai/fake-ai-service.js +59 -0
  88. package/dist/infrastructure/ai/fake-ai-service.js.map +1 -0
  89. package/dist/infrastructure/ai/provider-ai-service.d.ts +59 -0
  90. package/dist/infrastructure/ai/provider-ai-service.d.ts.map +1 -0
  91. package/dist/infrastructure/ai/provider-ai-service.js +477 -0
  92. package/dist/infrastructure/ai/provider-ai-service.js.map +1 -0
  93. package/dist/infrastructure/cache/embedding-cache.d.ts +13 -1
  94. package/dist/infrastructure/cache/embedding-cache.d.ts.map +1 -1
  95. package/dist/infrastructure/cache/embedding-cache.js +80 -9
  96. package/dist/infrastructure/cache/embedding-cache.js.map +1 -1
  97. package/dist/infrastructure/cache/query-result-cache.d.ts +68 -0
  98. package/dist/infrastructure/cache/query-result-cache.d.ts.map +1 -0
  99. package/dist/infrastructure/cache/query-result-cache.js +138 -0
  100. package/dist/infrastructure/cache/query-result-cache.js.map +1 -0
  101. package/dist/infrastructure/cache/response-cache.d.ts +86 -0
  102. package/dist/infrastructure/cache/response-cache.d.ts.map +1 -0
  103. package/dist/infrastructure/cache/response-cache.js +224 -0
  104. package/dist/infrastructure/cache/response-cache.js.map +1 -0
  105. package/dist/infrastructure/cache/security-scan-cache.d.ts +57 -0
  106. package/dist/infrastructure/cache/security-scan-cache.d.ts.map +1 -0
  107. package/dist/infrastructure/cache/security-scan-cache.js +124 -0
  108. package/dist/infrastructure/cache/security-scan-cache.js.map +1 -0
  109. package/dist/infrastructure/completion/bash-completion.d.ts +8 -0
  110. package/dist/infrastructure/completion/bash-completion.d.ts.map +1 -0
  111. package/dist/infrastructure/completion/bash-completion.js +101 -0
  112. package/dist/infrastructure/completion/bash-completion.js.map +1 -0
  113. package/dist/infrastructure/completion/completion-generator.d.ts +42 -0
  114. package/dist/infrastructure/completion/completion-generator.d.ts.map +1 -0
  115. package/dist/infrastructure/completion/completion-generator.js +184 -0
  116. package/dist/infrastructure/completion/completion-generator.js.map +1 -0
  117. package/dist/infrastructure/completion/fish-completion.d.ts +8 -0
  118. package/dist/infrastructure/completion/fish-completion.d.ts.map +1 -0
  119. package/dist/infrastructure/completion/fish-completion.js +65 -0
  120. package/dist/infrastructure/completion/fish-completion.js.map +1 -0
  121. package/dist/infrastructure/completion/zsh-completion.d.ts +8 -0
  122. package/dist/infrastructure/completion/zsh-completion.d.ts.map +1 -0
  123. package/dist/infrastructure/completion/zsh-completion.js +85 -0
  124. package/dist/infrastructure/completion/zsh-completion.js.map +1 -0
  125. package/dist/infrastructure/context/context-compressor.d.ts +94 -0
  126. package/dist/infrastructure/context/context-compressor.d.ts.map +1 -0
  127. package/dist/infrastructure/context/context-compressor.js +329 -0
  128. package/dist/infrastructure/context/context-compressor.js.map +1 -0
  129. package/dist/infrastructure/context/conversation-context.d.ts +58 -0
  130. package/dist/infrastructure/context/conversation-context.d.ts.map +1 -0
  131. package/dist/infrastructure/context/conversation-context.js +170 -0
  132. package/dist/infrastructure/context/conversation-context.js.map +1 -0
  133. package/dist/infrastructure/context/session-manager.d.ts +26 -0
  134. package/dist/infrastructure/context/session-manager.d.ts.map +1 -0
  135. package/dist/infrastructure/context/session-manager.js +98 -0
  136. package/dist/infrastructure/context/session-manager.js.map +1 -0
  137. package/dist/infrastructure/cost/cost-tracker.d.ts +1 -0
  138. package/dist/infrastructure/cost/cost-tracker.d.ts.map +1 -1
  139. package/dist/infrastructure/cost/cost-tracker.js +12 -5
  140. package/dist/infrastructure/cost/cost-tracker.js.map +1 -1
  141. package/dist/infrastructure/governance/nist-ai-rmf.d.ts +6 -8
  142. package/dist/infrastructure/governance/nist-ai-rmf.d.ts.map +1 -1
  143. package/dist/infrastructure/governance/nist-ai-rmf.js +6 -8
  144. package/dist/infrastructure/governance/nist-ai-rmf.js.map +1 -1
  145. package/dist/infrastructure/governance/policy-as-code.d.ts +6 -8
  146. package/dist/infrastructure/governance/policy-as-code.d.ts.map +1 -1
  147. package/dist/infrastructure/governance/policy-as-code.js +24 -11
  148. package/dist/infrastructure/governance/policy-as-code.js.map +1 -1
  149. package/dist/infrastructure/governance/prompt-to-code-lineage.d.ts +7 -9
  150. package/dist/infrastructure/governance/prompt-to-code-lineage.d.ts.map +1 -1
  151. package/dist/infrastructure/governance/prompt-to-code-lineage.js +7 -9
  152. package/dist/infrastructure/governance/prompt-to-code-lineage.js.map +1 -1
  153. package/dist/infrastructure/observability/execution-tracer.d.ts +5 -2
  154. package/dist/infrastructure/observability/execution-tracer.d.ts.map +1 -1
  155. package/dist/infrastructure/observability/execution-tracer.js +45 -8
  156. package/dist/infrastructure/observability/execution-tracer.js.map +1 -1
  157. package/dist/infrastructure/providers/cohere-provider.d.ts +39 -0
  158. package/dist/infrastructure/providers/cohere-provider.d.ts.map +1 -0
  159. package/dist/infrastructure/providers/cohere-provider.js +359 -0
  160. package/dist/infrastructure/providers/cohere-provider.js.map +1 -0
  161. package/dist/infrastructure/providers/fake-provider.d.ts +43 -0
  162. package/dist/infrastructure/providers/fake-provider.d.ts.map +1 -0
  163. package/dist/infrastructure/providers/fake-provider.js +130 -0
  164. package/dist/infrastructure/providers/fake-provider.js.map +1 -0
  165. package/dist/infrastructure/providers/local-llm-provider.d.ts +49 -0
  166. package/dist/infrastructure/providers/local-llm-provider.d.ts.map +1 -0
  167. package/dist/infrastructure/providers/local-llm-provider.js +330 -0
  168. package/dist/infrastructure/providers/local-llm-provider.js.map +1 -0
  169. package/dist/infrastructure/providers/model-config.types.d.ts +70 -0
  170. package/dist/infrastructure/providers/model-config.types.d.ts.map +1 -0
  171. package/dist/infrastructure/providers/model-config.types.js +9 -0
  172. package/dist/infrastructure/providers/model-config.types.js.map +1 -0
  173. package/dist/infrastructure/providers/model-provider.interface.d.ts +113 -0
  174. package/dist/infrastructure/providers/model-provider.interface.d.ts.map +1 -0
  175. package/dist/infrastructure/providers/model-provider.interface.js +8 -0
  176. package/dist/infrastructure/providers/model-provider.interface.js.map +1 -0
  177. package/dist/infrastructure/providers/openai-provider.d.ts +38 -0
  178. package/dist/infrastructure/providers/openai-provider.d.ts.map +1 -0
  179. package/dist/infrastructure/providers/openai-provider.js +413 -0
  180. package/dist/infrastructure/providers/openai-provider.js.map +1 -0
  181. package/dist/infrastructure/providers/operation-provider-resolver.d.ts +48 -0
  182. package/dist/infrastructure/providers/operation-provider-resolver.d.ts.map +1 -0
  183. package/dist/infrastructure/providers/operation-provider-resolver.js +105 -0
  184. package/dist/infrastructure/providers/operation-provider-resolver.js.map +1 -0
  185. package/dist/infrastructure/providers/provider-config-loader.d.ts +37 -0
  186. package/dist/infrastructure/providers/provider-config-loader.d.ts.map +1 -0
  187. package/dist/infrastructure/providers/provider-config-loader.js +120 -0
  188. package/dist/infrastructure/providers/provider-config-loader.js.map +1 -0
  189. package/dist/infrastructure/providers/provider-registry.d.ts +53 -0
  190. package/dist/infrastructure/providers/provider-registry.d.ts.map +1 -0
  191. package/dist/infrastructure/providers/provider-registry.js +88 -0
  192. package/dist/infrastructure/providers/provider-registry.js.map +1 -0
  193. package/dist/infrastructure/security/ai-sast-scanner.d.ts +4 -0
  194. package/dist/infrastructure/security/ai-sast-scanner.d.ts.map +1 -1
  195. package/dist/infrastructure/security/ai-sast-scanner.js +82 -4
  196. package/dist/infrastructure/security/ai-sast-scanner.js.map +1 -1
  197. package/dist/infrastructure/security/enhanced-security-gate.d.ts +2 -0
  198. package/dist/infrastructure/security/enhanced-security-gate.d.ts.map +1 -1
  199. package/dist/infrastructure/security/enhanced-security-gate.js +74 -15
  200. package/dist/infrastructure/security/enhanced-security-gate.js.map +1 -1
  201. package/dist/infrastructure/storage/plan-repository.d.ts +38 -0
  202. package/dist/infrastructure/storage/plan-repository.d.ts.map +1 -0
  203. package/dist/infrastructure/storage/plan-repository.js +133 -0
  204. package/dist/infrastructure/storage/plan-repository.js.map +1 -0
  205. package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts +11 -0
  206. package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts.map +1 -1
  207. package/dist/infrastructure/storage/sqlite-embedding-repository.js +121 -6
  208. package/dist/infrastructure/storage/sqlite-embedding-repository.js.map +1 -1
  209. package/dist/infrastructure/storage/task-helpers.d.ts +58 -0
  210. package/dist/infrastructure/storage/task-helpers.d.ts.map +1 -0
  211. package/dist/infrastructure/storage/task-helpers.js +157 -0
  212. package/dist/infrastructure/storage/task-helpers.js.map +1 -0
  213. package/dist/infrastructure/storage/task-repository.d.ts +67 -0
  214. package/dist/infrastructure/storage/task-repository.d.ts.map +1 -0
  215. package/dist/infrastructure/storage/task-repository.js +205 -0
  216. package/dist/infrastructure/storage/task-repository.js.map +1 -0
  217. package/dist/infrastructure/ux/bi-directional-learning.d.ts +22 -0
  218. package/dist/infrastructure/ux/bi-directional-learning.d.ts.map +1 -1
  219. package/dist/infrastructure/ux/bi-directional-learning.js +144 -7
  220. package/dist/infrastructure/ux/bi-directional-learning.js.map +1 -1
  221. package/dist/infrastructure/ux/capability-boundaries.d.ts +50 -0
  222. package/dist/infrastructure/ux/capability-boundaries.d.ts.map +1 -0
  223. package/dist/infrastructure/ux/capability-boundaries.js +167 -0
  224. package/dist/infrastructure/ux/capability-boundaries.js.map +1 -0
  225. package/dist/infrastructure/ux/comprehensive-formatter.d.ts +63 -0
  226. package/dist/infrastructure/ux/comprehensive-formatter.d.ts.map +1 -0
  227. package/dist/infrastructure/ux/comprehensive-formatter.js +212 -0
  228. package/dist/infrastructure/ux/comprehensive-formatter.js.map +1 -0
  229. package/dist/infrastructure/ux/contextual-feature-discovery.d.ts +24 -0
  230. package/dist/infrastructure/ux/contextual-feature-discovery.d.ts.map +1 -0
  231. package/dist/infrastructure/ux/contextual-feature-discovery.js +144 -0
  232. package/dist/infrastructure/ux/contextual-feature-discovery.js.map +1 -0
  233. package/dist/infrastructure/ux/expectation-management.d.ts +33 -0
  234. package/dist/infrastructure/ux/expectation-management.d.ts.map +1 -1
  235. package/dist/infrastructure/ux/expectation-management.js +138 -4
  236. package/dist/infrastructure/ux/expectation-management.js.map +1 -1
  237. package/dist/infrastructure/ux/feature-discovery.d.ts +47 -0
  238. package/dist/infrastructure/ux/feature-discovery.d.ts.map +1 -0
  239. package/dist/infrastructure/ux/feature-discovery.js +190 -0
  240. package/dist/infrastructure/ux/feature-discovery.js.map +1 -0
  241. package/dist/infrastructure/ux/feedback-prompt.d.ts +42 -0
  242. package/dist/infrastructure/ux/feedback-prompt.d.ts.map +1 -0
  243. package/dist/infrastructure/ux/feedback-prompt.js +181 -0
  244. package/dist/infrastructure/ux/feedback-prompt.js.map +1 -0
  245. package/dist/infrastructure/ux/hitl-review-portal.d.ts +47 -0
  246. package/dist/infrastructure/ux/hitl-review-portal.d.ts.map +1 -0
  247. package/dist/infrastructure/ux/hitl-review-portal.js +228 -0
  248. package/dist/infrastructure/ux/hitl-review-portal.js.map +1 -0
  249. package/dist/infrastructure/ux/hitl-validation.d.ts +35 -0
  250. package/dist/infrastructure/ux/hitl-validation.d.ts.map +1 -1
  251. package/dist/infrastructure/ux/hitl-validation.js +86 -0
  252. package/dist/infrastructure/ux/hitl-validation.js.map +1 -1
  253. package/dist/infrastructure/ux/progress-indicator.d.ts +55 -0
  254. package/dist/infrastructure/ux/progress-indicator.d.ts.map +1 -0
  255. package/dist/infrastructure/ux/progress-indicator.js +131 -0
  256. package/dist/infrastructure/ux/progress-indicator.js.map +1 -0
  257. package/dist/infrastructure/ux/progressive-disclosure.d.ts.map +1 -1
  258. package/dist/infrastructure/ux/progressive-disclosure.js +2 -1
  259. package/dist/infrastructure/ux/progressive-disclosure.js.map +1 -1
  260. package/dist/infrastructure/ux/proportional-friction.d.ts +73 -0
  261. package/dist/infrastructure/ux/proportional-friction.d.ts.map +1 -0
  262. package/dist/infrastructure/ux/proportional-friction.js +200 -0
  263. package/dist/infrastructure/ux/proportional-friction.js.map +1 -0
  264. package/dist/infrastructure/ux/review-checkpoint.d.ts +35 -0
  265. package/dist/infrastructure/ux/review-checkpoint.d.ts.map +1 -0
  266. package/dist/infrastructure/ux/review-checkpoint.js +119 -0
  267. package/dist/infrastructure/ux/review-checkpoint.js.map +1 -0
  268. package/dist/infrastructure/ux/staged-feature-intro.d.ts +47 -0
  269. package/dist/infrastructure/ux/staged-feature-intro.d.ts.map +1 -0
  270. package/dist/infrastructure/ux/staged-feature-intro.js +144 -0
  271. package/dist/infrastructure/ux/staged-feature-intro.js.map +1 -0
  272. package/dist/infrastructure/ux/syntax-highlighter.d.ts +21 -0
  273. package/dist/infrastructure/ux/syntax-highlighter.d.ts.map +1 -0
  274. package/dist/infrastructure/ux/syntax-highlighter.js +172 -0
  275. package/dist/infrastructure/ux/syntax-highlighter.js.map +1 -0
  276. package/dist/infrastructure/validation/agent-feedback.d.ts +115 -0
  277. package/dist/infrastructure/validation/agent-feedback.d.ts.map +1 -0
  278. package/dist/infrastructure/validation/agent-feedback.js +227 -0
  279. package/dist/infrastructure/validation/agent-feedback.js.map +1 -0
  280. package/dist/infrastructure/validation/agent-validation-helper.d.ts +75 -0
  281. package/dist/infrastructure/validation/agent-validation-helper.d.ts.map +1 -0
  282. package/dist/infrastructure/validation/agent-validation-helper.js +88 -0
  283. package/dist/infrastructure/validation/agent-validation-helper.js.map +1 -0
  284. package/dist/infrastructure/validation/feedback-stats.d.ts +99 -0
  285. package/dist/infrastructure/validation/feedback-stats.d.ts.map +1 -0
  286. package/dist/infrastructure/validation/feedback-stats.js +173 -0
  287. package/dist/infrastructure/validation/feedback-stats.js.map +1 -0
  288. package/dist/infrastructure/validation/review-handler.d.ts +54 -0
  289. package/dist/infrastructure/validation/review-handler.d.ts.map +1 -0
  290. package/dist/infrastructure/validation/review-handler.js +206 -0
  291. package/dist/infrastructure/validation/review-handler.js.map +1 -0
  292. package/dist/infrastructure/validation/summary-aggregator.d.ts +42 -0
  293. package/dist/infrastructure/validation/summary-aggregator.d.ts.map +1 -0
  294. package/dist/infrastructure/validation/summary-aggregator.js +156 -0
  295. package/dist/infrastructure/validation/summary-aggregator.js.map +1 -0
  296. package/dist/infrastructure/validation/summary-extractor.d.ts +59 -0
  297. package/dist/infrastructure/validation/summary-extractor.d.ts.map +1 -0
  298. package/dist/infrastructure/validation/summary-extractor.js +102 -0
  299. package/dist/infrastructure/validation/summary-extractor.js.map +1 -0
  300. package/dist/infrastructure/validation/trace-summary.d.ts +72 -0
  301. package/dist/infrastructure/validation/trace-summary.d.ts.map +1 -0
  302. package/dist/infrastructure/validation/trace-summary.js +371 -0
  303. package/dist/infrastructure/validation/trace-summary.js.map +1 -0
  304. package/dist/infrastructure/validation/trust-config.d.ts +27 -0
  305. package/dist/infrastructure/validation/trust-config.d.ts.map +1 -0
  306. package/dist/infrastructure/validation/trust-config.js +113 -0
  307. package/dist/infrastructure/validation/trust-config.js.map +1 -0
  308. package/dist/infrastructure/xai/attention-visualizer.d.ts +6 -8
  309. package/dist/infrastructure/xai/attention-visualizer.d.ts.map +1 -1
  310. package/dist/infrastructure/xai/attention-visualizer.js +6 -8
  311. package/dist/infrastructure/xai/attention-visualizer.js.map +1 -1
  312. package/dist/infrastructure/xai/cot-visualizer.d.ts +6 -8
  313. package/dist/infrastructure/xai/cot-visualizer.d.ts.map +1 -1
  314. package/dist/infrastructure/xai/cot-visualizer.js +62 -18
  315. package/dist/infrastructure/xai/cot-visualizer.js.map +1 -1
  316. package/dist/infrastructure/xai/decision-tree-log.d.ts +6 -10
  317. package/dist/infrastructure/xai/decision-tree-log.d.ts.map +1 -1
  318. package/dist/infrastructure/xai/decision-tree-log.js +6 -10
  319. package/dist/infrastructure/xai/decision-tree-log.js.map +1 -1
  320. package/dist/infrastructure/xai/interactive-xai.d.ts +6 -8
  321. package/dist/infrastructure/xai/interactive-xai.d.ts.map +1 -1
  322. package/dist/infrastructure/xai/interactive-xai.js +6 -8
  323. package/dist/infrastructure/xai/interactive-xai.js.map +1 -1
  324. package/dist/infrastructure/xai/uncertainty-quantifier.d.ts +6 -9
  325. package/dist/infrastructure/xai/uncertainty-quantifier.d.ts.map +1 -1
  326. package/dist/infrastructure/xai/uncertainty-quantifier.js +6 -9
  327. package/dist/infrastructure/xai/uncertainty-quantifier.js.map +1 -1
  328. package/dist/presentation/cli/commands/ask-command.d.ts.map +1 -1
  329. package/dist/presentation/cli/commands/ask-command.js +152 -13
  330. package/dist/presentation/cli/commands/ask-command.js.map +1 -1
  331. package/dist/presentation/cli/commands/docs-command.d.ts +12 -0
  332. package/dist/presentation/cli/commands/docs-command.d.ts.map +1 -0
  333. package/dist/presentation/cli/commands/docs-command.js +196 -0
  334. package/dist/presentation/cli/commands/docs-command.js.map +1 -0
  335. package/dist/presentation/cli/commands/fix-command.d.ts +8 -0
  336. package/dist/presentation/cli/commands/fix-command.d.ts.map +1 -0
  337. package/dist/presentation/cli/commands/fix-command.js +309 -0
  338. package/dist/presentation/cli/commands/fix-command.js.map +1 -0
  339. package/dist/presentation/cli/commands/help-command.d.ts.map +1 -1
  340. package/dist/presentation/cli/commands/help-command.js +2 -0
  341. package/dist/presentation/cli/commands/help-command.js.map +1 -1
  342. package/dist/presentation/cli/commands/orchestrate-command.d.ts +2 -0
  343. package/dist/presentation/cli/commands/orchestrate-command.d.ts.map +1 -1
  344. package/dist/presentation/cli/commands/orchestrate-command.js +88 -1
  345. package/dist/presentation/cli/commands/orchestrate-command.js.map +1 -1
  346. package/dist/presentation/cli/commands/plan-command.d.ts +1 -0
  347. package/dist/presentation/cli/commands/plan-command.d.ts.map +1 -1
  348. package/dist/presentation/cli/commands/plan-command.js +136 -7
  349. package/dist/presentation/cli/commands/plan-command.js.map +1 -1
  350. package/dist/presentation/cli/commands/product-command.d.ts +12 -0
  351. package/dist/presentation/cli/commands/product-command.d.ts.map +1 -0
  352. package/dist/presentation/cli/commands/product-command.js +188 -0
  353. package/dist/presentation/cli/commands/product-command.js.map +1 -0
  354. package/dist/presentation/cli/commands/react-command.d.ts.map +1 -1
  355. package/dist/presentation/cli/commands/react-command.js +98 -16
  356. package/dist/presentation/cli/commands/react-command.js.map +1 -1
  357. package/dist/presentation/cli/commands/review-command.d.ts +14 -0
  358. package/dist/presentation/cli/commands/review-command.d.ts.map +1 -0
  359. package/dist/presentation/cli/commands/review-command.js +22 -0
  360. package/dist/presentation/cli/commands/review-command.js.map +1 -0
  361. package/dist/presentation/cli/commands/run-command.d.ts +15 -0
  362. package/dist/presentation/cli/commands/run-command.d.ts.map +1 -0
  363. package/dist/presentation/cli/commands/run-command.js +29 -0
  364. package/dist/presentation/cli/commands/run-command.js.map +1 -0
  365. package/dist/presentation/cli/commands/setup-command.d.ts.map +1 -1
  366. package/dist/presentation/cli/commands/setup-command.js +67 -12
  367. package/dist/presentation/cli/commands/setup-command.js.map +1 -1
  368. package/dist/presentation/cli/commands/smart-command.d.ts +3 -1
  369. package/dist/presentation/cli/commands/smart-command.d.ts.map +1 -1
  370. package/dist/presentation/cli/commands/smart-command.js +227 -23
  371. package/dist/presentation/cli/commands/smart-command.js.map +1 -1
  372. package/dist/presentation/cli/commands/status-command.d.ts +11 -0
  373. package/dist/presentation/cli/commands/status-command.d.ts.map +1 -0
  374. package/dist/presentation/cli/commands/status-command.js +176 -0
  375. package/dist/presentation/cli/commands/status-command.js.map +1 -0
  376. package/dist/presentation/cli/commands/suggest-command.d.ts +13 -0
  377. package/dist/presentation/cli/commands/suggest-command.d.ts.map +1 -0
  378. package/dist/presentation/cli/commands/suggest-command.js +25 -0
  379. package/dist/presentation/cli/commands/suggest-command.js.map +1 -0
  380. package/dist/presentation/cli/commands/trace-command.d.ts.map +1 -1
  381. package/dist/presentation/cli/commands/trace-command.js +9 -5
  382. package/dist/presentation/cli/commands/trace-command.js.map +1 -1
  383. package/dist/presentation/cli/commands/undo-command.js +15 -6
  384. package/dist/presentation/cli/commands/undo-command.js.map +1 -1
  385. package/dist/presentation/cli/error-display.d.ts +2 -0
  386. package/dist/presentation/cli/error-display.d.ts.map +1 -1
  387. package/dist/presentation/cli/error-display.js +220 -2
  388. package/dist/presentation/cli/error-display.js.map +1 -1
  389. package/dist/presentation/cli/keyboard-shortcuts.d.ts +27 -0
  390. package/dist/presentation/cli/keyboard-shortcuts.d.ts.map +1 -0
  391. package/dist/presentation/cli/keyboard-shortcuts.js +77 -0
  392. package/dist/presentation/cli/keyboard-shortcuts.js.map +1 -0
  393. package/dist/session.d.ts.map +1 -1
  394. package/dist/session.js +39 -2
  395. package/dist/session.js.map +1 -1
  396. package/dist/ui.d.ts.map +1 -1
  397. package/dist/ui.js +8 -5
  398. package/dist/ui.js.map +1 -1
  399. package/dist/utils/version.js +2 -2
  400. package/dist/verification/backup.d.ts.map +1 -1
  401. package/dist/verification/backup.js +24 -3
  402. package/dist/verification/backup.js.map +1 -1
  403. package/dist/verification/compiler.js +47 -12
  404. package/dist/verification/compiler.js.map +1 -1
  405. package/package.json +10 -2
@@ -0,0 +1,167 @@
1
+ /**
2
+ * Infrastructure: Explicit Capability Boundaries
3
+ * Task 3.3: Show limitations when user requests unsupported features
4
+ *
5
+ * Features:
6
+ * - Detects unsupported operation requests
7
+ * - Shows clear capability boundaries
8
+ * - Suggests alternatives when capabilities exceeded
9
+ */
10
+ import { colors, separator, warning, info, createBox, } from '../../ui.js';
11
+ /**
12
+ * Display capability boundary message when unsupported operation detected
13
+ */
14
+ export function displayCapabilityBoundary(boundary) {
15
+ console.log('');
16
+ console.log(separator('═', 80));
17
+ console.log(warning('⚠️ Capability Boundary'));
18
+ console.log(separator('═', 80));
19
+ console.log('');
20
+ console.log(colors.bold('Unsupported Operation:'));
21
+ console.log(` ${boundary.unsupportedOperation}`);
22
+ console.log('');
23
+ console.log(colors.bold('Reason:'));
24
+ console.log(` ${colors.dim(boundary.reason)}`);
25
+ console.log('');
26
+ if (boundary.alternatives && boundary.alternatives.length > 0) {
27
+ console.log(colors.bold('Alternatives:'));
28
+ boundary.alternatives.forEach((alt, idx) => {
29
+ console.log(` ${idx + 1}. ${info(alt)}`);
30
+ });
31
+ console.log('');
32
+ }
33
+ console.log(separator('═', 80));
34
+ console.log('');
35
+ }
36
+ /**
37
+ * Detect unsupported operations in user queries
38
+ */
39
+ export class CapabilityBoundaryDetector {
40
+ unsupportedPatterns = [];
41
+ constructor() {
42
+ this.initializePatterns();
43
+ }
44
+ /**
45
+ * Detect if query requests unsupported operation
46
+ */
47
+ detectUnsupported(query) {
48
+ const lowerQuery = query.toLowerCase();
49
+ // Check each unsupported pattern
50
+ for (const { pattern, reason, alternatives } of this.unsupportedPatterns) {
51
+ if (pattern.test(lowerQuery)) {
52
+ return {
53
+ unsupportedOperation: this.extractOperation(query, pattern),
54
+ reason,
55
+ alternatives,
56
+ canSuggest: true,
57
+ };
58
+ }
59
+ }
60
+ return null;
61
+ }
62
+ /**
63
+ * Extract operation from query
64
+ */
65
+ extractOperation(query, pattern) {
66
+ const match = query.match(pattern);
67
+ if (match) {
68
+ return match[0];
69
+ }
70
+ return query.substring(0, 50) + (query.length > 50 ? '...' : '');
71
+ }
72
+ /**
73
+ * Initialize unsupported operation patterns
74
+ */
75
+ initializePatterns() {
76
+ // Code execution (direct execution requests)
77
+ this.unsupportedPatterns.push({
78
+ pattern: /\b(execute|run|test|execute code|run code|run tests|execute tests|run program)\b/i,
79
+ reason: 'I cannot execute code or run tests directly for security reasons.',
80
+ alternatives: [
81
+ 'Generate test code: codehere "create tests for src/auth.ts"',
82
+ 'Suggest test commands: codehere ask "how to test authentication"',
83
+ 'Review code manually and run tests yourself',
84
+ ],
85
+ });
86
+ // Database operations
87
+ this.unsupportedPatterns.push({
88
+ pattern: /\b(connect to database|query database|run sql|execute sql|database connection)\b/i,
89
+ reason: 'I cannot connect to or query databases directly for security reasons.',
90
+ alternatives: [
91
+ 'Show database connection code: codehere "show database connection example"',
92
+ 'Generate database query code: codehere "create SQL query for users table"',
93
+ 'Review database schema: codehere "explain database schema"',
94
+ ],
95
+ });
96
+ // Network operations
97
+ this.unsupportedPatterns.push({
98
+ pattern: /\b(make http request|send request|fetch from url|call api endpoint)\b/i,
99
+ reason: 'I cannot make HTTP requests or call external APIs directly.',
100
+ alternatives: [
101
+ 'Generate HTTP request code: codehere "create HTTP request function"',
102
+ 'Show API integration example: codehere "show API integration pattern"',
103
+ 'Review existing API calls: codehere "explain API calls in codebase"',
104
+ ],
105
+ });
106
+ // File system operations (destructive)
107
+ this.unsupportedPatterns.push({
108
+ pattern: /\b(delete file|remove file|rm -rf|format disk|wipe data)\b/i,
109
+ reason: 'I cannot perform destructive file system operations directly.',
110
+ alternatives: [
111
+ 'Suggest deletion commands: codehere ask "how to safely delete files"',
112
+ 'Review files before deletion: codehere "list files to delete"',
113
+ 'Generate safe deletion script: codehere "create file deletion script"',
114
+ ],
115
+ });
116
+ // System commands
117
+ this.unsupportedPatterns.push({
118
+ pattern: /\b(shutdown|restart|kill process|stop service|install package system-wide)\b/i,
119
+ reason: 'I cannot execute system-level commands for security reasons.',
120
+ alternatives: [
121
+ 'Suggest commands: codehere ask "how to restart service"',
122
+ 'Generate command scripts: codehere "create service restart script"',
123
+ 'Review system configuration: codehere "explain system configuration"',
124
+ ],
125
+ });
126
+ // Real-time operations
127
+ this.unsupportedPatterns.push({
128
+ pattern: /\b(watch|monitor|stream|real-time|live)\b.*\b(execute|run|perform)\b/i,
129
+ reason: 'I cannot perform real-time monitoring or streaming operations.',
130
+ alternatives: [
131
+ 'Generate monitoring code: codehere "create monitoring script"',
132
+ 'Show monitoring patterns: codehere "explain monitoring setup"',
133
+ 'Suggest monitoring tools: codehere ask "what monitoring tools to use"',
134
+ ],
135
+ });
136
+ }
137
+ /**
138
+ * Register custom unsupported pattern
139
+ */
140
+ registerPattern(pattern, reason, alternatives) {
141
+ this.unsupportedPatterns.push({ pattern, reason, alternatives });
142
+ }
143
+ }
144
+ /**
145
+ * Get general capability boundaries message
146
+ */
147
+ export function getCapabilityBoundariesMessage() {
148
+ const content = [
149
+ 'What I CAN do:',
150
+ ' ✓ Answer questions about your codebase',
151
+ ' ✓ Generate and modify code',
152
+ ' ✓ Explain code structure and logic',
153
+ ' ✓ Suggest improvements and refactorings',
154
+ ' ✓ Identify potential issues',
155
+ '',
156
+ 'What I CANNOT do:',
157
+ ' ✗ Execute code or run tests directly',
158
+ ' ✗ Connect to databases or APIs',
159
+ ' ✗ Perform system-level operations',
160
+ ' ✗ Guarantee code correctness',
161
+ ' ✗ Replace thorough testing',
162
+ '',
163
+ 'Always review generated code and test before deploying.',
164
+ ].join('\n');
165
+ return createBox(content, { borderColor: colors.yellow });
166
+ }
167
+ //# sourceMappingURL=capability-boundaries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-boundaries.js","sourceRoot":"","sources":["../../../src/infrastructure/ux/capability-boundaries.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Comprehensive Formatter for All CLI Output
3
+ * Ensures consistent, well-formatted output across ALL commands and use cases
4
+ */
5
+ /**
6
+ * Format any text content with proper indentation, wrapping, and visual hierarchy
7
+ */
8
+ export declare function formatContent(content: string, options?: {
9
+ indent?: number;
10
+ maxWidth?: number;
11
+ preserveFormatting?: boolean;
12
+ color?: (text: string) => string;
13
+ }): string;
14
+ /**
15
+ * Format section headers with consistent styling and color coding
16
+ * DELIGHTFUL UX: Enhanced color coding for better visual hierarchy
17
+ */
18
+ export declare function formatSectionHeader(title: string, level?: 1 | 2 | 3): string;
19
+ /**
20
+ * Format numbered lists with proper indentation
21
+ */
22
+ export declare function formatNumberedList(items: string[], indent?: number): string;
23
+ /**
24
+ * Format bullet lists with proper indentation
25
+ */
26
+ /**
27
+ * Format bullet list with enhanced color coding and spacing
28
+ * DELIGHTFUL UX: Consistent bullet styling with proper spacing and color
29
+ */
30
+ export declare function formatBulletList(items: string[], indent?: number): string;
31
+ /**
32
+ * Format reflection/learning content with proper structure
33
+ */
34
+ export declare function formatReflection(reflection: string): string;
35
+ /**
36
+ * Format code blocks with proper borders and syntax highlighting
37
+ */
38
+ export declare function formatCodeBlock(code: string, language?: string, filepath?: string): string;
39
+ /**
40
+ * Format table data with consistent styling
41
+ */
42
+ export declare function formatTableData(rows: string[][]): string;
43
+ /**
44
+ * Format metadata/summary information
45
+ */
46
+ export declare function formatMetadata(metadata: Record<string, string | number>): string;
47
+ /**
48
+ * Format error messages with proper structure
49
+ */
50
+ export declare function formatErrorMessage(error: string, suggestions?: string[]): string;
51
+ /**
52
+ * Format success messages
53
+ */
54
+ export declare function formatSuccessMessage(message: string): string;
55
+ /**
56
+ * Format warning messages
57
+ */
58
+ export declare function formatWarningMessage(message: string): string;
59
+ /**
60
+ * Format info messages
61
+ */
62
+ export declare function formatInfoMessage(message: string): string;
63
+ //# sourceMappingURL=comprehensive-formatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comprehensive-formatter.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/ux/comprehensive-formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;GAEG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IACP,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CAC7B,GACL,MAAM,CAmCR;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,CAAC,GAAG,CAAC,GAAG,CAAK,GAAG,MAAM,CAc/E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,GAAE,MAAU,GAAG,MAAM,CAY9E;AAED;;GAEG;AACH;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,GAAE,MAAU,GAAG,MAAM,CAe5E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAsD3D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAI1F;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CASxD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,CAMhF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAahF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzD"}
@@ -0,0 +1,212 @@
1
+ /**
2
+ * Comprehensive Formatter for All CLI Output
3
+ * Ensures consistent, well-formatted output across ALL commands and use cases
4
+ */
5
+ import { colors } from '../../ui.js';
6
+ import { formatResponse } from '../../formatter.js';
7
+ /**
8
+ * Format any text content with proper indentation, wrapping, and visual hierarchy
9
+ */
10
+ export function formatContent(content, options = {}) {
11
+ const { indent = 0, maxWidth = 76, // 80 - 4 for default indent
12
+ preserveFormatting = false, color = (text) => text, } = options;
13
+ if (!content || !content.trim()) {
14
+ return '';
15
+ }
16
+ // First, format markdown if not preserving
17
+ let formatted = preserveFormatting ? content : formatResponse(content, maxWidth);
18
+ // Split into lines
19
+ const lines = formatted.split('\n');
20
+ const indentStr = ' '.repeat(indent);
21
+ const result = [];
22
+ for (const line of lines) {
23
+ const trimmed = line.trim();
24
+ if (!trimmed) {
25
+ // Empty line - preserve spacing but avoid multiple consecutive
26
+ if (result.length === 0 || result[result.length - 1] !== '') {
27
+ result.push('');
28
+ }
29
+ }
30
+ else {
31
+ // Apply indentation and color
32
+ result.push(indentStr + color(trimmed));
33
+ }
34
+ }
35
+ return result.join('\n');
36
+ }
37
+ /**
38
+ * Format section headers with consistent styling and color coding
39
+ * DELIGHTFUL UX: Enhanced color coding for better visual hierarchy
40
+ */
41
+ export function formatSectionHeader(title, level = 1) {
42
+ switch (level) {
43
+ case 1:
44
+ // Level 1: Cyan bold for major sections (with spacing)
45
+ return '\n' + colors.bold.cyan(title) + '\n' + colors.dim('─'.repeat(Math.min(title.length, 60))) + '\n';
46
+ case 2:
47
+ // Level 2: Blue bold for subsections
48
+ return '\n' + colors.bold.blue(title) + '\n';
49
+ case 3:
50
+ // Level 3: Regular bold for minor sections
51
+ return colors.bold(title);
52
+ default:
53
+ return colors.bold(title);
54
+ }
55
+ }
56
+ /**
57
+ * Format numbered lists with proper indentation
58
+ */
59
+ export function formatNumberedList(items, indent = 2) {
60
+ return items
61
+ .map((item, index) => {
62
+ const num = `${index + 1}.`;
63
+ const indentStr = ' '.repeat(indent);
64
+ const formattedItem = formatContent(item, {
65
+ indent: indent + num.length + 1,
66
+ maxWidth: 76 - indent - num.length - 1,
67
+ });
68
+ return `${indentStr}${colors.bold(num)} ${formattedItem.split('\n').join('\n' + ' '.repeat(indent + num.length + 1))}`;
69
+ })
70
+ .join('\n\n');
71
+ }
72
+ /**
73
+ * Format bullet lists with proper indentation
74
+ */
75
+ /**
76
+ * Format bullet list with enhanced color coding and spacing
77
+ * DELIGHTFUL UX: Consistent bullet styling with proper spacing and color
78
+ */
79
+ export function formatBulletList(items, indent = 2) {
80
+ return items
81
+ .map((item, index) => {
82
+ const indentStr = ' '.repeat(indent);
83
+ // Use cyan bullet for visual consistency and delight
84
+ const bullet = colors.cyan('•');
85
+ const formattedItem = formatContent(item, {
86
+ indent: indent + 2,
87
+ maxWidth: 76 - indent - 2,
88
+ });
89
+ // Add proper spacing between items
90
+ const spacing = index > 0 ? '\n' : '';
91
+ return `${spacing}${indentStr}${bullet} ${formattedItem.split('\n').join('\n' + ' '.repeat(indent + 2))}`;
92
+ })
93
+ .join('\n');
94
+ }
95
+ /**
96
+ * Format reflection/learning content with proper structure
97
+ */
98
+ export function formatReflection(reflection) {
99
+ if (!reflection || !reflection.trim()) {
100
+ return '';
101
+ }
102
+ // Remove redundant "Reflection:" header
103
+ let cleaned = reflection.trim();
104
+ cleaned = cleaned.replace(/^Reflection:\s*/i, '');
105
+ cleaned = cleaned.replace(/^\*\*Reflection:\*\*\s*/i, '');
106
+ // Format the content
107
+ const formatted = formatResponse(cleaned, 76);
108
+ const lines = formatted.split('\n');
109
+ const result = [];
110
+ let lastWasEmpty = false;
111
+ for (let i = 0; i < lines.length; i++) {
112
+ const line = lines[i];
113
+ const trimmed = line.trim();
114
+ // Skip redundant "Reflection:" header
115
+ if (trimmed.toLowerCase() === 'reflection:' || trimmed.toLowerCase().startsWith('reflection:')) {
116
+ continue;
117
+ }
118
+ if (!trimmed) {
119
+ // Empty line - add spacing but avoid multiple consecutive
120
+ if (!lastWasEmpty && result.length > 0) {
121
+ result.push('');
122
+ lastWasEmpty = true;
123
+ }
124
+ }
125
+ else {
126
+ lastWasEmpty = false;
127
+ // Detect section headers (numbered with capital letter)
128
+ const isNumberedHeader = /^\d+\.\s+[A-Z]/.test(trimmed);
129
+ if (isNumberedHeader) {
130
+ // Section header - add spacing before and make it stand out
131
+ if (i > 0 && lines[i - 1].trim()) {
132
+ result.push('');
133
+ }
134
+ result.push(' ' + colors.bold.cyan(trimmed));
135
+ }
136
+ else if (trimmed.startsWith('•') || /^\d+\./.test(trimmed)) {
137
+ // List item - indent properly
138
+ result.push(' ' + trimmed);
139
+ }
140
+ else {
141
+ // Regular text - indent and wrap
142
+ result.push(' ' + trimmed);
143
+ }
144
+ }
145
+ }
146
+ return result.join('\n');
147
+ }
148
+ /**
149
+ * Format code blocks with proper borders and syntax highlighting
150
+ */
151
+ export function formatCodeBlock(code, language, filepath) {
152
+ // Use existing formatter
153
+ const { formatCodeBlock: formatCode } = require('../../formatter.js');
154
+ return formatCode(code, language, filepath);
155
+ }
156
+ /**
157
+ * Format table data with consistent styling
158
+ */
159
+ export function formatTableData(rows) {
160
+ return rows
161
+ .map((row) => {
162
+ return row.map((cell, idx) => {
163
+ // First column: bold, others: normal
164
+ return idx === 0 ? colors.bold(cell) : cell;
165
+ }).join(' ');
166
+ })
167
+ .join('\n');
168
+ }
169
+ /**
170
+ * Format metadata/summary information
171
+ */
172
+ export function formatMetadata(metadata) {
173
+ const lines = [];
174
+ for (const [key, value] of Object.entries(metadata)) {
175
+ lines.push(` ${colors.dim(key + ':')} ${String(value)}`);
176
+ }
177
+ return lines.join('\n');
178
+ }
179
+ /**
180
+ * Format error messages with proper structure
181
+ */
182
+ export function formatErrorMessage(error, suggestions) {
183
+ const parts = [];
184
+ parts.push(colors.red('Error: ' + error));
185
+ if (suggestions && suggestions.length > 0) {
186
+ parts.push('');
187
+ parts.push(colors.bold('Suggestions:'));
188
+ suggestions.forEach((suggestion) => {
189
+ parts.push(' • ' + suggestion);
190
+ });
191
+ }
192
+ return parts.join('\n');
193
+ }
194
+ /**
195
+ * Format success messages
196
+ */
197
+ export function formatSuccessMessage(message) {
198
+ return colors.green('✓ ' + message);
199
+ }
200
+ /**
201
+ * Format warning messages
202
+ */
203
+ export function formatWarningMessage(message) {
204
+ return colors.yellow('⚠ ' + message);
205
+ }
206
+ /**
207
+ * Format info messages
208
+ */
209
+ export function formatInfoMessage(message) {
210
+ return colors.blue('→ ' + message);
211
+ }
212
+ //# sourceMappingURL=comprehensive-formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comprehensive-formatter.js","sourceRoot":"","sources":["../../../src/infrastructure/ux/comprehensive-formatter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Contextual Feature Discovery
3
+ * Shows relevant features based on user queries and context - Task 2.2
4
+ */
5
+ export interface ContextualSuggestion {
6
+ feature: string;
7
+ description: string;
8
+ command: string;
9
+ reason: string;
10
+ confidence: number;
11
+ }
12
+ /**
13
+ * Analyze query to suggest contextual features
14
+ */
15
+ export declare function getContextualSuggestions(query: string): ContextualSuggestion[];
16
+ /**
17
+ * Get contextual feature suggestions based on query limitations
18
+ */
19
+ export declare function getSuggestionsForLimitation(limitation: string, currentCommand: string): ContextualSuggestion[];
20
+ /**
21
+ * Check if contextual suggestions should be shown
22
+ */
23
+ export declare function shouldShowContextualSuggestion(query: string, currentCommand: string): ContextualSuggestion | null;
24
+ //# sourceMappingURL=contextual-feature-discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextual-feature-discovery.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/ux/contextual-feature-discovery.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAsH9E;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,GACrB,oBAAoB,EAAE,CA2BxB;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,GACrB,oBAAoB,GAAG,IAAI,CAS7B"}
@@ -0,0 +1,144 @@
1
+ /**
2
+ * Contextual Feature Discovery
3
+ * Shows relevant features based on user queries and context - Task 2.2
4
+ */
5
+ /**
6
+ * Analyze query to suggest contextual features
7
+ */
8
+ export function getContextualSuggestions(query) {
9
+ const suggestions = [];
10
+ const queryLower = query.toLowerCase();
11
+ // Multi-file operations → suggest orchestrate
12
+ if ((queryLower.includes('multiple') || queryLower.includes('several') || queryLower.includes('all')) &&
13
+ (queryLower.includes('file') || queryLower.includes('module'))) {
14
+ suggestions.push({
15
+ feature: 'Multi-agent Orchestration',
16
+ description: 'Plan and execute complex multi-step tasks across multiple files',
17
+ command: 'codehere orchestrate "your goal"',
18
+ reason: 'Your query involves multiple files/modules',
19
+ confidence: 0.8,
20
+ });
21
+ }
22
+ // Complex refactoring → suggest plan
23
+ if (queryLower.includes('refactor') &&
24
+ (queryLower.includes('large') || queryLower.includes('complex') || queryLower.includes('multiple'))) {
25
+ suggestions.push({
26
+ feature: 'Planning Mode',
27
+ description: 'Generate hierarchical plans for large refactoring tasks',
28
+ command: 'codehere plan "refactor goal"',
29
+ reason: 'Complex refactoring tasks benefit from structured planning',
30
+ confidence: 0.9,
31
+ });
32
+ }
33
+ // Debugging/problem solving → suggest react
34
+ if (queryLower.includes('debug') ||
35
+ queryLower.includes('fix') ||
36
+ queryLower.includes('error') ||
37
+ queryLower.includes('issue') ||
38
+ queryLower.includes('problem') ||
39
+ queryLower.includes('why') ||
40
+ queryLower.includes('why is')) {
41
+ suggestions.push({
42
+ feature: 'ReAct Reasoning',
43
+ description: 'Debug and solve complex problems step-by-step with reasoning',
44
+ command: 'codehere react "your problem"',
45
+ reason: 'Step-by-step reasoning helps with debugging',
46
+ confidence: 0.85,
47
+ });
48
+ }
49
+ // Security-related → suggest security commands
50
+ if (queryLower.includes('security') ||
51
+ queryLower.includes('vulnerability') ||
52
+ queryLower.includes('vulnerabilities') ||
53
+ queryLower.includes('secure') ||
54
+ queryLower.includes('audit')) {
55
+ suggestions.push({
56
+ feature: 'Security Scanning',
57
+ description: 'Codehere automatically scans for security issues. Use edit command to fix them.',
58
+ command: 'codehere "fix security issues in auth.ts"',
59
+ reason: 'Security-focused queries benefit from comprehensive scanning',
60
+ confidence: 0.9,
61
+ });
62
+ }
63
+ // Knowledge/documentation → suggest knowledge commands
64
+ if (queryLower.includes('document') ||
65
+ queryLower.includes('knowledge') ||
66
+ queryLower.includes('learn') ||
67
+ queryLower.includes('pattern') ||
68
+ queryLower.includes('remember')) {
69
+ suggestions.push({
70
+ feature: 'Knowledge Management',
71
+ description: 'Query and manage preserved knowledge about your codebase',
72
+ command: 'codehere knowledge query "your query"',
73
+ reason: 'Knowledge management helps with documentation and learning',
74
+ confidence: 0.8,
75
+ });
76
+ }
77
+ // Performance optimization → suggest trace/learning
78
+ if (queryLower.includes('performance') ||
79
+ queryLower.includes('optimize') ||
80
+ queryLower.includes('slow') ||
81
+ queryLower.includes('faster')) {
82
+ suggestions.push({
83
+ feature: 'Execution Tracing',
84
+ description: 'Analyze execution patterns to understand performance',
85
+ command: 'codehere trace list',
86
+ reason: 'Tracing helps identify performance bottlenecks',
87
+ confidence: 0.75,
88
+ });
89
+ }
90
+ // Configuration/setup → suggest config commands
91
+ if (queryLower.includes('config') ||
92
+ queryLower.includes('setting') ||
93
+ queryLower.includes('preference') ||
94
+ queryLower.includes('setup')) {
95
+ suggestions.push({
96
+ feature: 'Configuration Management',
97
+ description: 'Manage preferences and settings',
98
+ command: 'codehere config',
99
+ reason: 'Configuration queries can be handled directly',
100
+ confidence: 0.95,
101
+ });
102
+ }
103
+ return suggestions.sort((a, b) => b.confidence - a.confidence); // Sort by confidence
104
+ }
105
+ /**
106
+ * Get contextual feature suggestions based on query limitations
107
+ */
108
+ export function getSuggestionsForLimitation(limitation, currentCommand) {
109
+ const suggestions = [];
110
+ const limitationLower = limitation.toLowerCase();
111
+ // If limitation mentions multi-file, suggest orchestrate
112
+ if (limitationLower.includes('multi-file') || limitationLower.includes('multiple files')) {
113
+ suggestions.push({
114
+ feature: 'Multi-agent Orchestration',
115
+ description: 'Handle complex multi-file operations with planning',
116
+ command: 'codehere orchestrate "your goal"',
117
+ reason: 'Orchestrate mode handles multi-file operations better',
118
+ confidence: 0.9,
119
+ });
120
+ }
121
+ // If limitation mentions complexity, suggest plan
122
+ if (limitationLower.includes('complex') || limitationLower.includes('complicated')) {
123
+ suggestions.push({
124
+ feature: 'Planning Mode',
125
+ description: 'Break down complex tasks into manageable steps',
126
+ command: 'codehere plan "your goal"',
127
+ reason: 'Planning mode helps with complex tasks',
128
+ confidence: 0.85,
129
+ });
130
+ }
131
+ return suggestions;
132
+ }
133
+ /**
134
+ * Check if contextual suggestions should be shown
135
+ */
136
+ export function shouldShowContextualSuggestion(query, currentCommand) {
137
+ const suggestions = getContextualSuggestions(query);
138
+ // Only show top suggestion if confidence is high enough
139
+ if (suggestions.length > 0 && suggestions[0].confidence >= 0.75) {
140
+ return suggestions[0];
141
+ }
142
+ return null;
143
+ }
144
+ //# sourceMappingURL=contextual-feature-discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contextual-feature-discovery.js","sourceRoot":"","sources":["../../../src/infrastructure/ux/contextual-feature-discovery.ts"],"names":[],"mappings":"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"}