codehere 0.1.1 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (849) hide show
  1. package/README.md +68 -329
  2. package/dist/application/agents/execution-agent.js +4 -30
  3. package/dist/application/agents/multi-agent-orchestrator.js +0 -1
  4. package/dist/application/agents/planning-agent.js +79 -199
  5. package/dist/application/services/dependency-container.js +9 -20
  6. package/dist/application/services/intelligent-router.js +56 -64
  7. package/dist/application/use-cases/ask-question-use-case.js +22 -121
  8. package/dist/application/use-cases/edit-file-use-case.js +171 -160
  9. package/dist/application/use-cases/react-orchestration-use-case.js +10 -43
  10. package/dist/chat.js +130 -54
  11. package/dist/domain/services/query-intent-classifier.js +3 -36
  12. package/dist/embed.js +61 -74
  13. package/dist/index.js +1299 -259
  14. package/dist/infrastructure/ai/cohere-ai-service.js +9 -78
  15. package/dist/infrastructure/ai/provider-ai-service.js +18 -121
  16. package/dist/infrastructure/config/config-manager.js +14 -135
  17. package/dist/infrastructure/config/product-context.js +66 -0
  18. package/dist/infrastructure/context/conversation-context.js +1 -86
  19. package/dist/infrastructure/cost/cost-router.js +104 -0
  20. package/dist/infrastructure/cost/cost-tracker.js +2 -3
  21. package/dist/infrastructure/governance/policy-as-code.js +2 -1
  22. package/dist/infrastructure/hooks/claude-sdk-hook.js +253 -0
  23. package/dist/infrastructure/hooks/session-analyzer.js +111 -0
  24. package/dist/infrastructure/observability/execution-tracer.js +7 -180
  25. package/dist/infrastructure/protocols/mcp-helpers.js +45 -0
  26. package/dist/infrastructure/protocols/mcp-server-impl.js +286 -0
  27. package/dist/infrastructure/providers/cohere-provider.js +5 -31
  28. package/dist/infrastructure/providers/fake-provider.js +0 -8
  29. package/dist/infrastructure/providers/local-llm-provider.js +2 -8
  30. package/dist/infrastructure/providers/openai-provider.js +5 -37
  31. package/dist/infrastructure/providers/openrouter-provider.js +3 -11
  32. package/dist/infrastructure/safety/pattern-detector.js +133 -0
  33. package/dist/infrastructure/security/ai-sast-scanner.js +62 -13
  34. package/dist/infrastructure/security/enhanced-security-gate.js +2 -61
  35. package/dist/infrastructure/security/input-validator.js +29 -146
  36. package/dist/infrastructure/security/trust-scorer.js +337 -0
  37. package/dist/infrastructure/storage/embeddings-path.js +4 -14
  38. package/dist/infrastructure/storage/plan-repository.js +5 -4
  39. package/dist/infrastructure/storage/sqlite-decision-repository.js +8 -4
  40. package/dist/infrastructure/storage/sqlite-embedding-repository.js +11 -23
  41. package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.js +8 -4
  42. package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.js +8 -4
  43. package/dist/infrastructure/storage/sqlite-memory-repository.js +8 -4
  44. package/dist/infrastructure/storage/sqlite-pattern-repository.js +8 -4
  45. package/dist/infrastructure/ux/stream-markdown.js +151 -0
  46. package/dist/infrastructure/ux/transparency.js +71 -0
  47. package/dist/infrastructure/validation/agent-feedback.js +12 -57
  48. package/dist/monitoring.js +4 -3
  49. package/dist/parallel-processor.js +42 -118
  50. package/dist/presentation/cli/commands/ask-command.js +39 -80
  51. package/dist/presentation/cli/commands/config-command.js +1 -1
  52. package/dist/presentation/cli/commands/cost-command.js +6 -6
  53. package/dist/presentation/cli/commands/decision-command.js +5 -5
  54. package/dist/presentation/cli/commands/fix-command.js +4 -44
  55. package/dist/presentation/cli/commands/help-command.js +151 -100
  56. package/dist/presentation/cli/commands/hook-command.js +272 -0
  57. package/dist/presentation/cli/commands/knowledge-command.js +4 -4
  58. package/dist/presentation/cli/commands/learning-dashboard-command.js +3 -3
  59. package/dist/presentation/cli/commands/orchestrate-command.js +6 -48
  60. package/dist/presentation/cli/commands/plan-command.js +1 -1
  61. package/dist/presentation/cli/commands/product-command.js +193 -16
  62. package/dist/presentation/cli/commands/report-command.js +353 -0
  63. package/dist/presentation/cli/commands/run-command.js +3 -3
  64. package/dist/presentation/cli/commands/scan-tool-command.js +65 -0
  65. package/dist/presentation/cli/commands/setup-command.js +34 -81
  66. package/dist/presentation/cli/commands/smart-command.js +50 -172
  67. package/dist/presentation/cli/commands/status-command.js +304 -119
  68. package/dist/presentation/cli/commands/trust-command.js +263 -274
  69. package/dist/presentation/cli/commands/undo-command.js +2 -2
  70. package/dist/search.js +37 -67
  71. package/dist/session.js +549 -490
  72. package/dist/task-verification.js +4 -4
  73. package/dist/token-optimizer.js +1 -6
  74. package/dist/ui.js +126 -15
  75. package/dist/utils/check-api-status.js +30 -12
  76. package/dist/utils/diff-parser.js +18 -48
  77. package/dist/verification/compiler.js +12 -11
  78. package/package.json +24 -37
  79. package/dist/agents/base.d.ts +0 -107
  80. package/dist/agents/base.d.ts.map +0 -1
  81. package/dist/agents/base.js.map +0 -1
  82. package/dist/agents/orchestrator-model-driven.d.ts +0 -41
  83. package/dist/agents/orchestrator-model-driven.d.ts.map +0 -1
  84. package/dist/agents/orchestrator-model-driven.js.map +0 -1
  85. package/dist/agents/react-orchestrator-agent.d.ts +0 -15
  86. package/dist/agents/react-orchestrator-agent.d.ts.map +0 -1
  87. package/dist/agents/react-orchestrator-agent.js.map +0 -1
  88. package/dist/application/agents/execution-agent.d.ts +0 -79
  89. package/dist/application/agents/execution-agent.d.ts.map +0 -1
  90. package/dist/application/agents/execution-agent.js.map +0 -1
  91. package/dist/application/agents/multi-agent-orchestrator.d.ts +0 -69
  92. package/dist/application/agents/multi-agent-orchestrator.d.ts.map +0 -1
  93. package/dist/application/agents/multi-agent-orchestrator.js.map +0 -1
  94. package/dist/application/agents/planning-agent.d.ts +0 -65
  95. package/dist/application/agents/planning-agent.d.ts.map +0 -1
  96. package/dist/application/agents/planning-agent.js.map +0 -1
  97. package/dist/application/agents/validation-agent.d.ts +0 -68
  98. package/dist/application/agents/validation-agent.d.ts.map +0 -1
  99. package/dist/application/agents/validation-agent.js.map +0 -1
  100. package/dist/application/architectures/plan-and-act.d.ts +0 -94
  101. package/dist/application/architectures/plan-and-act.d.ts.map +0 -1
  102. package/dist/application/architectures/plan-and-act.js.map +0 -1
  103. package/dist/application/index.d.ts +0 -12
  104. package/dist/application/index.d.ts.map +0 -1
  105. package/dist/application/index.js.map +0 -1
  106. package/dist/application/services/agent-factory.d.ts +0 -9
  107. package/dist/application/services/agent-factory.d.ts.map +0 -1
  108. package/dist/application/services/agent-factory.js.map +0 -1
  109. package/dist/application/services/context-importer.d.ts +0 -71
  110. package/dist/application/services/context-importer.d.ts.map +0 -1
  111. package/dist/application/services/context-importer.js +0 -436
  112. package/dist/application/services/context-importer.js.map +0 -1
  113. package/dist/application/services/context-manager.d.ts +0 -132
  114. package/dist/application/services/context-manager.d.ts.map +0 -1
  115. package/dist/application/services/context-manager.js +0 -369
  116. package/dist/application/services/context-manager.js.map +0 -1
  117. package/dist/application/services/dependency-container.d.ts +0 -187
  118. package/dist/application/services/dependency-container.d.ts.map +0 -1
  119. package/dist/application/services/dependency-container.js.map +0 -1
  120. package/dist/application/services/git-context-service.d.ts +0 -30
  121. package/dist/application/services/git-context-service.d.ts.map +0 -1
  122. package/dist/application/services/git-context-service.js.map +0 -1
  123. package/dist/application/services/intelligent-router.d.ts +0 -90
  124. package/dist/application/services/intelligent-router.d.ts.map +0 -1
  125. package/dist/application/services/intelligent-router.js.map +0 -1
  126. package/dist/application/services/token-counting-service.d.ts +0 -87
  127. package/dist/application/services/token-counting-service.d.ts.map +0 -1
  128. package/dist/application/services/token-counting-service.js +0 -196
  129. package/dist/application/services/token-counting-service.js.map +0 -1
  130. package/dist/application/services/tool-executor-service.d.ts +0 -14
  131. package/dist/application/services/tool-executor-service.d.ts.map +0 -1
  132. package/dist/application/services/tool-executor-service.js.map +0 -1
  133. package/dist/application/use-cases/ask-question-use-case.d.ts +0 -67
  134. package/dist/application/use-cases/ask-question-use-case.d.ts.map +0 -1
  135. package/dist/application/use-cases/ask-question-use-case.js.map +0 -1
  136. package/dist/application/use-cases/edit-file-use-case.d.ts +0 -92
  137. package/dist/application/use-cases/edit-file-use-case.d.ts.map +0 -1
  138. package/dist/application/use-cases/edit-file-use-case.js.map +0 -1
  139. package/dist/application/use-cases/explain-file-use-case.d.ts +0 -21
  140. package/dist/application/use-cases/explain-file-use-case.d.ts.map +0 -1
  141. package/dist/application/use-cases/explain-file-use-case.js.map +0 -1
  142. package/dist/application/use-cases/index-codebase-use-case.d.ts +0 -46
  143. package/dist/application/use-cases/index-codebase-use-case.d.ts.map +0 -1
  144. package/dist/application/use-cases/index-codebase-use-case.js.map +0 -1
  145. package/dist/application/use-cases/planning-use-case.d.ts +0 -46
  146. package/dist/application/use-cases/planning-use-case.d.ts.map +0 -1
  147. package/dist/application/use-cases/planning-use-case.js.map +0 -1
  148. package/dist/application/use-cases/react-orchestration-use-case.d.ts +0 -51
  149. package/dist/application/use-cases/react-orchestration-use-case.d.ts.map +0 -1
  150. package/dist/application/use-cases/react-orchestration-use-case.js.map +0 -1
  151. package/dist/application/use-cases/reflexion-use-case.d.ts +0 -24
  152. package/dist/application/use-cases/reflexion-use-case.d.ts.map +0 -1
  153. package/dist/application/use-cases/reflexion-use-case.js.map +0 -1
  154. package/dist/application/workflows/deterministic-workflows.d.ts +0 -61
  155. package/dist/application/workflows/deterministic-workflows.d.ts.map +0 -1
  156. package/dist/application/workflows/deterministic-workflows.js.map +0 -1
  157. package/dist/ast-parser.d 2.ts +0 -55
  158. package/dist/ast-parser.d.ts +0 -55
  159. package/dist/ast-parser.d.ts.map +0 -1
  160. package/dist/ast-parser.js.map +0 -1
  161. package/dist/cache.d.ts +0 -45
  162. package/dist/cache.d.ts.map +0 -1
  163. package/dist/cache.js.map +0 -1
  164. package/dist/chat.d.ts +0 -4
  165. package/dist/chat.d.ts.map +0 -1
  166. package/dist/chat.js.map +0 -1
  167. package/dist/code-analysis 2.js +0 -327
  168. package/dist/code-analysis.d.ts +0 -50
  169. package/dist/code-analysis.d.ts.map +0 -1
  170. package/dist/code-analysis.js.map +0 -1
  171. package/dist/context.d.ts +0 -44
  172. package/dist/context.d.ts 2.map +0 -1
  173. package/dist/context.d.ts.map +0 -1
  174. package/dist/context.js.map +0 -1
  175. package/dist/docs.d.ts +0 -21
  176. package/dist/docs.d.ts.map +0 -1
  177. package/dist/docs.js.map +0 -1
  178. package/dist/domain/entities/code-chunk.d.ts +0 -26
  179. package/dist/domain/entities/code-chunk.d.ts.map +0 -1
  180. package/dist/domain/entities/code-chunk.js.map +0 -1
  181. package/dist/domain/entities/conversation-context.d.ts +0 -245
  182. package/dist/domain/entities/conversation-context.d.ts.map +0 -1
  183. package/dist/domain/entities/conversation-context.js +0 -50
  184. package/dist/domain/entities/conversation-context.js.map +0 -1
  185. package/dist/domain/entities/decision.d.ts +0 -37
  186. package/dist/domain/entities/decision.d.ts.map +0 -1
  187. package/dist/domain/entities/decision.js.map +0 -1
  188. package/dist/domain/entities/edit.d.ts +0 -35
  189. package/dist/domain/entities/edit.d.ts.map +0 -1
  190. package/dist/domain/entities/edit.js.map +0 -1
  191. package/dist/domain/entities/knowledge-node.d.ts +0 -83
  192. package/dist/domain/entities/knowledge-node.d.ts.map +0 -1
  193. package/dist/domain/entities/knowledge-node.js.map +0 -1
  194. package/dist/domain/entities/knowledge-preservation.d.ts +0 -42
  195. package/dist/domain/entities/knowledge-preservation.d.ts.map +0 -1
  196. package/dist/domain/entities/knowledge-preservation.js.map +0 -1
  197. package/dist/domain/entities/memory.d.ts +0 -36
  198. package/dist/domain/entities/memory.d.ts.map +0 -1
  199. package/dist/domain/entities/memory.js.map +0 -1
  200. package/dist/domain/entities/pattern.d.ts +0 -49
  201. package/dist/domain/entities/pattern.d.ts.map +0 -1
  202. package/dist/domain/entities/pattern.js.map +0 -1
  203. package/dist/domain/entities/plan.d.ts +0 -42
  204. package/dist/domain/entities/plan.d.ts.map +0 -1
  205. package/dist/domain/entities/plan.js.map +0 -1
  206. package/dist/domain/entities/query.d.ts +0 -17
  207. package/dist/domain/entities/query.d.ts.map +0 -1
  208. package/dist/domain/entities/query.js.map +0 -1
  209. package/dist/domain/entities/task.d.ts +0 -152
  210. package/dist/domain/entities/task.d.ts.map +0 -1
  211. package/dist/domain/entities/task.js.map +0 -1
  212. package/dist/domain/errors/embeddings-not-found-error.d.ts +0 -9
  213. package/dist/domain/errors/embeddings-not-found-error.d.ts.map +0 -1
  214. package/dist/domain/errors/embeddings-not-found-error.js.map +0 -1
  215. package/dist/domain/index.d.ts +0 -16
  216. package/dist/domain/index.d.ts.map +0 -1
  217. package/dist/domain/index.js.map +0 -1
  218. package/dist/domain/interfaces/ai-service.interface.d.ts +0 -72
  219. package/dist/domain/interfaces/ai-service.interface.d.ts.map +0 -1
  220. package/dist/domain/interfaces/ai-service.interface.js.map +0 -1
  221. package/dist/domain/interfaces/code-analyzer.interface.d.ts +0 -38
  222. package/dist/domain/interfaces/code-analyzer.interface.d.ts.map +0 -1
  223. package/dist/domain/interfaces/code-analyzer.interface.js.map +0 -1
  224. package/dist/domain/interfaces/context-repository.interface.d.ts +0 -71
  225. package/dist/domain/interfaces/context-repository.interface.d.ts.map +0 -1
  226. package/dist/domain/interfaces/context-repository.interface.js +0 -10
  227. package/dist/domain/interfaces/context-repository.interface.js.map +0 -1
  228. package/dist/domain/interfaces/decision-repository.interface.d.ts +0 -51
  229. package/dist/domain/interfaces/decision-repository.interface.d.ts.map +0 -1
  230. package/dist/domain/interfaces/decision-repository.interface.js.map +0 -1
  231. package/dist/domain/interfaces/embedding-repository.interface.d.ts +0 -33
  232. package/dist/domain/interfaces/embedding-repository.interface.d.ts.map +0 -1
  233. package/dist/domain/interfaces/embedding-repository.interface.js.map +0 -1
  234. package/dist/domain/interfaces/knowledge-graph-repository.interface.d.ts +0 -91
  235. package/dist/domain/interfaces/knowledge-graph-repository.interface.d.ts.map +0 -1
  236. package/dist/domain/interfaces/knowledge-graph-repository.interface.js.map +0 -1
  237. package/dist/domain/interfaces/knowledge-preservation-repository.interface.d.ts +0 -50
  238. package/dist/domain/interfaces/knowledge-preservation-repository.interface.d.ts.map +0 -1
  239. package/dist/domain/interfaces/knowledge-preservation-repository.interface.js.map +0 -1
  240. package/dist/domain/interfaces/memory-repository.interface.d.ts +0 -49
  241. package/dist/domain/interfaces/memory-repository.interface.d.ts.map +0 -1
  242. package/dist/domain/interfaces/memory-repository.interface.js.map +0 -1
  243. package/dist/domain/interfaces/pattern-repository.interface.d.ts +0 -48
  244. package/dist/domain/interfaces/pattern-repository.interface.d.ts.map +0 -1
  245. package/dist/domain/interfaces/pattern-repository.interface.js.map +0 -1
  246. package/dist/domain/interfaces/verification-service.interface.d.ts +0 -20
  247. package/dist/domain/interfaces/verification-service.interface.d.ts.map +0 -1
  248. package/dist/domain/interfaces/verification-service.interface.js.map +0 -1
  249. package/dist/domain/services/codebase-detector.d.ts +0 -18
  250. package/dist/domain/services/codebase-detector.d.ts.map +0 -1
  251. package/dist/domain/services/codebase-detector.js.map +0 -1
  252. package/dist/domain/services/cross-team-pattern-sharing.d.ts +0 -65
  253. package/dist/domain/services/cross-team-pattern-sharing.d.ts.map +0 -1
  254. package/dist/domain/services/cross-team-pattern-sharing.js.map +0 -1
  255. package/dist/domain/services/decision-recorder.d.ts +0 -76
  256. package/dist/domain/services/decision-recorder.d.ts.map +0 -1
  257. package/dist/domain/services/decision-recorder.js.map +0 -1
  258. package/dist/domain/services/decision-retriever.d.ts +0 -75
  259. package/dist/domain/services/decision-retriever.d.ts.map +0 -1
  260. package/dist/domain/services/decision-retriever.js.map +0 -1
  261. package/dist/domain/services/environment-mode-manager.d.ts +0 -12
  262. package/dist/domain/services/environment-mode-manager.d.ts.map +0 -1
  263. package/dist/domain/services/environment-mode-manager.js.map +0 -1
  264. package/dist/domain/services/graded-memory-activation.d.ts +0 -37
  265. package/dist/domain/services/graded-memory-activation.d.ts.map +0 -1
  266. package/dist/domain/services/graded-memory-activation.js.map +0 -1
  267. package/dist/domain/services/knowledge-access.d.ts +0 -63
  268. package/dist/domain/services/knowledge-access.d.ts.map +0 -1
  269. package/dist/domain/services/knowledge-access.js.map +0 -1
  270. package/dist/domain/services/knowledge-extractor.d.ts +0 -54
  271. package/dist/domain/services/knowledge-extractor.d.ts.map +0 -1
  272. package/dist/domain/services/knowledge-extractor.js.map +0 -1
  273. package/dist/domain/services/knowledge-graph-builder.d.ts +0 -70
  274. package/dist/domain/services/knowledge-graph-builder.d.ts.map +0 -1
  275. package/dist/domain/services/knowledge-graph-builder.js.map +0 -1
  276. package/dist/domain/services/knowledge-graph-query.d.ts +0 -69
  277. package/dist/domain/services/knowledge-graph-query.d.ts.map +0 -1
  278. package/dist/domain/services/knowledge-graph-query.js.map +0 -1
  279. package/dist/domain/services/memory-retriever.d.ts +0 -30
  280. package/dist/domain/services/memory-retriever.d.ts.map +0 -1
  281. package/dist/domain/services/memory-retriever.js.map +0 -1
  282. package/dist/domain/services/memory-synthesizer.d.ts +0 -57
  283. package/dist/domain/services/memory-synthesizer.d.ts.map +0 -1
  284. package/dist/domain/services/memory-synthesizer.js.map +0 -1
  285. package/dist/domain/services/pattern-extractor.d.ts +0 -108
  286. package/dist/domain/services/pattern-extractor.d.ts.map +0 -1
  287. package/dist/domain/services/pattern-extractor.js.map +0 -1
  288. package/dist/domain/services/query-intent-classifier.d.ts +0 -16
  289. package/dist/domain/services/query-intent-classifier.d.ts.map +0 -1
  290. package/dist/domain/services/query-intent-classifier.js.map +0 -1
  291. package/dist/domain/services/react-loop.d.ts +0 -52
  292. package/dist/domain/services/react-loop.d.ts.map +0 -1
  293. package/dist/domain/services/react-loop.js.map +0 -1
  294. package/dist/domain/services/risk-tier-detector.d.ts +0 -17
  295. package/dist/domain/services/risk-tier-detector.d.ts.map +0 -1
  296. package/dist/domain/services/risk-tier-detector.js.map +0 -1
  297. package/dist/edit.d.ts +0 -26
  298. package/dist/edit.d.ts 2.map +0 -1
  299. package/dist/edit.d.ts.map +0 -1
  300. package/dist/edit.js.map +0 -1
  301. package/dist/embed.d 2.ts +0 -14
  302. package/dist/embed.d.ts +0 -14
  303. package/dist/embed.d.ts.map +0 -1
  304. package/dist/embed.js.map +0 -1
  305. package/dist/error-handler.d 2.ts +0 -77
  306. package/dist/error-handler.d.ts +0 -77
  307. package/dist/error-handler.d.ts.map +0 -1
  308. package/dist/error-handler.js.map +0 -1
  309. package/dist/formatter 2.js +0 -168
  310. package/dist/formatter.d.ts +0 -25
  311. package/dist/formatter.d.ts 2.map +0 -1
  312. package/dist/formatter.d.ts.map +0 -1
  313. package/dist/formatter.js.map +0 -1
  314. package/dist/git 2.js +0 -198
  315. package/dist/git.d 2.ts +0 -55
  316. package/dist/git.d.ts +0 -55
  317. package/dist/git.d.ts.map +0 -1
  318. package/dist/git.js.map +0 -1
  319. package/dist/index 2.d.ts +0 -16
  320. package/dist/index 2.d.ts.map +0 -1
  321. package/dist/index 2.js +0 -429
  322. package/dist/index 2.js.map +0 -1
  323. package/dist/index-backup-before-lazy-loading.d.ts +0 -3
  324. package/dist/index-backup-before-lazy-loading.d.ts.map +0 -1
  325. package/dist/index-backup-before-lazy-loading.js +0 -1551
  326. package/dist/index-backup-before-lazy-loading.js.map +0 -1
  327. package/dist/index.d.ts +0 -16
  328. package/dist/index.d.ts 2.map +0 -1
  329. package/dist/index.d.ts.map +0 -1
  330. package/dist/index.js 2.map +0 -1
  331. package/dist/index.js.map +0 -1
  332. package/dist/infrastructure/ai/cohere-ai-service.d.ts +0 -71
  333. package/dist/infrastructure/ai/cohere-ai-service.d.ts.map +0 -1
  334. package/dist/infrastructure/ai/cohere-ai-service.js.map +0 -1
  335. package/dist/infrastructure/ai/command-r-evaluation.d.ts +0 -42
  336. package/dist/infrastructure/ai/command-r-evaluation.d.ts.map +0 -1
  337. package/dist/infrastructure/ai/command-r-evaluation.js.map +0 -1
  338. package/dist/infrastructure/ai/model-config.d.ts +0 -47
  339. package/dist/infrastructure/ai/model-config.d.ts.map +0 -1
  340. package/dist/infrastructure/ai/model-config.js.map +0 -1
  341. package/dist/infrastructure/ai/provider-ai-service.d.ts +0 -67
  342. package/dist/infrastructure/ai/provider-ai-service.d.ts.map +0 -1
  343. package/dist/infrastructure/ai/provider-ai-service.js.map +0 -1
  344. package/dist/infrastructure/cache/embedding-cache.d.ts +0 -58
  345. package/dist/infrastructure/cache/embedding-cache.d.ts.map +0 -1
  346. package/dist/infrastructure/cache/embedding-cache.js.map +0 -1
  347. package/dist/infrastructure/cache/query-result-cache.d.ts +0 -27
  348. package/dist/infrastructure/cache/query-result-cache.d.ts.map +0 -1
  349. package/dist/infrastructure/cache/query-result-cache.js.map +0 -1
  350. package/dist/infrastructure/cache/response-cache.d.ts +0 -18
  351. package/dist/infrastructure/cache/response-cache.d.ts.map +0 -1
  352. package/dist/infrastructure/cache/response-cache.js.map +0 -1
  353. package/dist/infrastructure/cache/security-scan-cache.d.ts +0 -16
  354. package/dist/infrastructure/cache/security-scan-cache.d.ts.map +0 -1
  355. package/dist/infrastructure/cache/security-scan-cache.js.map +0 -1
  356. package/dist/infrastructure/chunking/ast-code-chunker.d.ts +0 -12
  357. package/dist/infrastructure/chunking/ast-code-chunker.d.ts.map +0 -1
  358. package/dist/infrastructure/chunking/ast-code-chunker.js.map +0 -1
  359. package/dist/infrastructure/chunking/code-aware-chunker.d.ts +0 -63
  360. package/dist/infrastructure/chunking/code-aware-chunker.d.ts.map +0 -1
  361. package/dist/infrastructure/chunking/code-aware-chunker.js.map +0 -1
  362. package/dist/infrastructure/completion/bash-completion.d.ts +0 -7
  363. package/dist/infrastructure/completion/bash-completion.d.ts.map +0 -1
  364. package/dist/infrastructure/completion/bash-completion.js.map +0 -1
  365. package/dist/infrastructure/completion/fish-completion.d.ts +0 -7
  366. package/dist/infrastructure/completion/fish-completion.d.ts.map +0 -1
  367. package/dist/infrastructure/completion/fish-completion.js.map +0 -1
  368. package/dist/infrastructure/completion/zsh-completion.d.ts +0 -7
  369. package/dist/infrastructure/completion/zsh-completion.d.ts.map +0 -1
  370. package/dist/infrastructure/completion/zsh-completion.js.map +0 -1
  371. package/dist/infrastructure/config/config-manager.d.ts +0 -158
  372. package/dist/infrastructure/config/config-manager.d.ts.map +0 -1
  373. package/dist/infrastructure/config/config-manager.js.map +0 -1
  374. package/dist/infrastructure/context/context-compressor.d.ts +0 -94
  375. package/dist/infrastructure/context/context-compressor.d.ts.map +0 -1
  376. package/dist/infrastructure/context/context-compressor.js.map +0 -1
  377. package/dist/infrastructure/context/conversation-context.d.ts +0 -82
  378. package/dist/infrastructure/context/conversation-context.d.ts.map +0 -1
  379. package/dist/infrastructure/context/conversation-context.js.map +0 -1
  380. package/dist/infrastructure/context/direct-context-provider.d.ts +0 -18
  381. package/dist/infrastructure/context/direct-context-provider.d.ts.map +0 -1
  382. package/dist/infrastructure/context/direct-context-provider.js +0 -222
  383. package/dist/infrastructure/context/direct-context-provider.js.map +0 -1
  384. package/dist/infrastructure/context/git-context-provider.d.ts +0 -30
  385. package/dist/infrastructure/context/git-context-provider.d.ts.map +0 -1
  386. package/dist/infrastructure/context/git-context-provider.js +0 -140
  387. package/dist/infrastructure/context/git-context-provider.js.map +0 -1
  388. package/dist/infrastructure/context/project-context-loader.d.ts +0 -35
  389. package/dist/infrastructure/context/project-context-loader.d.ts.map +0 -1
  390. package/dist/infrastructure/context/project-context-loader.js +0 -184
  391. package/dist/infrastructure/context/project-context-loader.js.map +0 -1
  392. package/dist/infrastructure/context/session-manager.d.ts +0 -42
  393. package/dist/infrastructure/context/session-manager.d.ts.map +0 -1
  394. package/dist/infrastructure/context/session-manager.js.map +0 -1
  395. package/dist/infrastructure/cost/cost-tracker.d.ts +0 -91
  396. package/dist/infrastructure/cost/cost-tracker.d.ts.map +0 -1
  397. package/dist/infrastructure/cost/cost-tracker.js.map +0 -1
  398. package/dist/infrastructure/cost/session-token-tracker.d.ts +0 -68
  399. package/dist/infrastructure/cost/session-token-tracker.d.ts.map +0 -1
  400. package/dist/infrastructure/cost/session-token-tracker.js +0 -178
  401. package/dist/infrastructure/cost/session-token-tracker.js.map +0 -1
  402. package/dist/infrastructure/cost-calculator.d.ts +0 -34
  403. package/dist/infrastructure/cost-calculator.d.ts.map +0 -1
  404. package/dist/infrastructure/cost-calculator.js +0 -145
  405. package/dist/infrastructure/cost-calculator.js.map +0 -1
  406. package/dist/infrastructure/cost-estimator.d.ts +0 -48
  407. package/dist/infrastructure/cost-estimator.d.ts.map +0 -1
  408. package/dist/infrastructure/cost-estimator.js +0 -201
  409. package/dist/infrastructure/cost-estimator.js.map +0 -1
  410. package/dist/infrastructure/file-scanner/file-scanner.d.ts +0 -31
  411. package/dist/infrastructure/file-scanner/file-scanner.d.ts.map +0 -1
  412. package/dist/infrastructure/file-scanner/file-scanner.js.map +0 -1
  413. package/dist/infrastructure/governance/nist-ai-rmf.d.ts +0 -105
  414. package/dist/infrastructure/governance/nist-ai-rmf.d.ts.map +0 -1
  415. package/dist/infrastructure/governance/nist-ai-rmf.js.map +0 -1
  416. package/dist/infrastructure/governance/policy-as-code.d.ts +0 -88
  417. package/dist/infrastructure/governance/policy-as-code.d.ts.map +0 -1
  418. package/dist/infrastructure/governance/policy-as-code.js.map +0 -1
  419. package/dist/infrastructure/governance/prompt-to-code-lineage.d.ts +0 -136
  420. package/dist/infrastructure/governance/prompt-to-code-lineage.d.ts.map +0 -1
  421. package/dist/infrastructure/governance/prompt-to-code-lineage.js.map +0 -1
  422. package/dist/infrastructure/index.d.ts +0 -7
  423. package/dist/infrastructure/index.d.ts.map +0 -1
  424. package/dist/infrastructure/index.js.map +0 -1
  425. package/dist/infrastructure/observability/execution-tracer.d.ts +0 -130
  426. package/dist/infrastructure/observability/execution-tracer.d.ts.map +0 -1
  427. package/dist/infrastructure/observability/execution-tracer.js.map +0 -1
  428. package/dist/infrastructure/observability/prompt-versioner.d.ts +0 -67
  429. package/dist/infrastructure/observability/prompt-versioner.d.ts.map +0 -1
  430. package/dist/infrastructure/observability/prompt-versioner.js.map +0 -1
  431. package/dist/infrastructure/protocols/a2a-metadata.d.ts +0 -278
  432. package/dist/infrastructure/protocols/a2a-metadata.d.ts.map +0 -1
  433. package/dist/infrastructure/protocols/a2a-metadata.js.map +0 -1
  434. package/dist/infrastructure/protocols/a2a-protocol.d.ts +0 -132
  435. package/dist/infrastructure/protocols/a2a-protocol.d.ts.map +0 -1
  436. package/dist/infrastructure/protocols/a2a-protocol.js.map +0 -1
  437. package/dist/infrastructure/protocols/mcp-oauth.d.ts +0 -91
  438. package/dist/infrastructure/protocols/mcp-oauth.d.ts.map +0 -1
  439. package/dist/infrastructure/protocols/mcp-oauth.js.map +0 -1
  440. package/dist/infrastructure/protocols/mcp-server.d.ts +0 -126
  441. package/dist/infrastructure/protocols/mcp-server.d.ts.map +0 -1
  442. package/dist/infrastructure/protocols/mcp-server.js.map +0 -1
  443. package/dist/infrastructure/protocols/streaming-handler.d.ts +0 -57
  444. package/dist/infrastructure/protocols/streaming-handler.d.ts.map +0 -1
  445. package/dist/infrastructure/protocols/streaming-handler.js.map +0 -1
  446. package/dist/infrastructure/providers/cohere-provider.d.ts +0 -39
  447. package/dist/infrastructure/providers/cohere-provider.d.ts.map +0 -1
  448. package/dist/infrastructure/providers/cohere-provider.js.map +0 -1
  449. package/dist/infrastructure/providers/fake-provider.d.ts +0 -43
  450. package/dist/infrastructure/providers/fake-provider.d.ts.map +0 -1
  451. package/dist/infrastructure/providers/fake-provider.js.map +0 -1
  452. package/dist/infrastructure/providers/local-llm-provider.d.ts +0 -49
  453. package/dist/infrastructure/providers/local-llm-provider.d.ts.map +0 -1
  454. package/dist/infrastructure/providers/local-llm-provider.js.map +0 -1
  455. package/dist/infrastructure/providers/model-config.types.d.ts +0 -70
  456. package/dist/infrastructure/providers/model-config.types.d.ts.map +0 -1
  457. package/dist/infrastructure/providers/model-config.types.js.map +0 -1
  458. package/dist/infrastructure/providers/model-provider.interface.d.ts +0 -113
  459. package/dist/infrastructure/providers/model-provider.interface.d.ts.map +0 -1
  460. package/dist/infrastructure/providers/model-provider.interface.js.map +0 -1
  461. package/dist/infrastructure/providers/openai-provider.d.ts +0 -38
  462. package/dist/infrastructure/providers/openai-provider.d.ts.map +0 -1
  463. package/dist/infrastructure/providers/openai-provider.js.map +0 -1
  464. package/dist/infrastructure/providers/openrouter-provider.d.ts +0 -42
  465. package/dist/infrastructure/providers/openrouter-provider.d.ts.map +0 -1
  466. package/dist/infrastructure/providers/openrouter-provider.js.map +0 -1
  467. package/dist/infrastructure/providers/operation-provider-resolver.d.ts +0 -48
  468. package/dist/infrastructure/providers/operation-provider-resolver.d.ts.map +0 -1
  469. package/dist/infrastructure/providers/operation-provider-resolver.js.map +0 -1
  470. package/dist/infrastructure/providers/provider-config-loader.d.ts +0 -37
  471. package/dist/infrastructure/providers/provider-config-loader.d.ts.map +0 -1
  472. package/dist/infrastructure/providers/provider-config-loader.js.map +0 -1
  473. package/dist/infrastructure/providers/provider-registry.d.ts +0 -53
  474. package/dist/infrastructure/providers/provider-registry.d.ts.map +0 -1
  475. package/dist/infrastructure/providers/provider-registry.js.map +0 -1
  476. package/dist/infrastructure/security/ai-sast-scanner.d.ts +0 -59
  477. package/dist/infrastructure/security/ai-sast-scanner.d.ts.map +0 -1
  478. package/dist/infrastructure/security/ai-sast-scanner.js.map +0 -1
  479. package/dist/infrastructure/security/docker-sandbox.d.ts +0 -57
  480. package/dist/infrastructure/security/docker-sandbox.d.ts.map +0 -1
  481. package/dist/infrastructure/security/docker-sandbox.js.map +0 -1
  482. package/dist/infrastructure/security/enhanced-security-gate.d.ts +0 -66
  483. package/dist/infrastructure/security/enhanced-security-gate.d.ts.map +0 -1
  484. package/dist/infrastructure/security/enhanced-security-gate.js.map +0 -1
  485. package/dist/infrastructure/security/input-validator.d.ts +0 -46
  486. package/dist/infrastructure/security/input-validator.d.ts.map +0 -1
  487. package/dist/infrastructure/security/input-validator.js.map +0 -1
  488. package/dist/infrastructure/security/license-scanner.d.ts +0 -55
  489. package/dist/infrastructure/security/license-scanner.d.ts.map +0 -1
  490. package/dist/infrastructure/security/license-scanner.js.map +0 -1
  491. package/dist/infrastructure/security/provider-bias-detector.d.ts +0 -53
  492. package/dist/infrastructure/security/provider-bias-detector.d.ts.map +0 -1
  493. package/dist/infrastructure/security/provider-bias-detector.js.map +0 -1
  494. package/dist/infrastructure/security/sandbox-executor.d.ts +0 -34
  495. package/dist/infrastructure/security/sandbox-executor.d.ts.map +0 -1
  496. package/dist/infrastructure/security/sandbox-executor.js.map +0 -1
  497. package/dist/infrastructure/serialization/toon-serializer.d.ts +0 -45
  498. package/dist/infrastructure/serialization/toon-serializer.d.ts.map +0 -1
  499. package/dist/infrastructure/serialization/toon-serializer.js.map +0 -1
  500. package/dist/infrastructure/storage/embeddings-path.d.ts +0 -18
  501. package/dist/infrastructure/storage/embeddings-path.d.ts.map +0 -1
  502. package/dist/infrastructure/storage/embeddings-path.js.map +0 -1
  503. package/dist/infrastructure/storage/memory-stream-service.d.ts +0 -47
  504. package/dist/infrastructure/storage/memory-stream-service.d.ts.map +0 -1
  505. package/dist/infrastructure/storage/memory-stream-service.js.map +0 -1
  506. package/dist/infrastructure/storage/plan-repository.d.ts +0 -40
  507. package/dist/infrastructure/storage/plan-repository.d.ts.map +0 -1
  508. package/dist/infrastructure/storage/plan-repository.js.map +0 -1
  509. package/dist/infrastructure/storage/sqlite-context-repository.d.ts +0 -95
  510. package/dist/infrastructure/storage/sqlite-context-repository.d.ts.map +0 -1
  511. package/dist/infrastructure/storage/sqlite-context-repository.js +0 -467
  512. package/dist/infrastructure/storage/sqlite-context-repository.js.map +0 -1
  513. package/dist/infrastructure/storage/sqlite-decision-repository.d.ts +0 -29
  514. package/dist/infrastructure/storage/sqlite-decision-repository.d.ts.map +0 -1
  515. package/dist/infrastructure/storage/sqlite-decision-repository.js.map +0 -1
  516. package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts +0 -47
  517. package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts.map +0 -1
  518. package/dist/infrastructure/storage/sqlite-embedding-repository.js.map +0 -1
  519. package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.d.ts +0 -41
  520. package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.d.ts.map +0 -1
  521. package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.js.map +0 -1
  522. package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.d.ts +0 -29
  523. package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.d.ts.map +0 -1
  524. package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.js.map +0 -1
  525. package/dist/infrastructure/storage/sqlite-memory-repository.d.ts +0 -40
  526. package/dist/infrastructure/storage/sqlite-memory-repository.d.ts.map +0 -1
  527. package/dist/infrastructure/storage/sqlite-memory-repository.js.map +0 -1
  528. package/dist/infrastructure/storage/sqlite-pattern-repository.d.ts +0 -25
  529. package/dist/infrastructure/storage/sqlite-pattern-repository.d.ts.map +0 -1
  530. package/dist/infrastructure/storage/sqlite-pattern-repository.js.map +0 -1
  531. package/dist/infrastructure/storage/task-helpers.d.ts +0 -69
  532. package/dist/infrastructure/storage/task-helpers.d.ts.map +0 -1
  533. package/dist/infrastructure/storage/task-helpers.js.map +0 -1
  534. package/dist/infrastructure/storage/task-repository.d.ts +0 -67
  535. package/dist/infrastructure/storage/task-repository.d.ts.map +0 -1
  536. package/dist/infrastructure/storage/task-repository.js.map +0 -1
  537. package/dist/infrastructure/telemetry/telemetry-service.d.ts +0 -74
  538. package/dist/infrastructure/telemetry/telemetry-service.d.ts.map +0 -1
  539. package/dist/infrastructure/telemetry/telemetry-service.js.map +0 -1
  540. package/dist/infrastructure/ux/appropriate-friction.d.ts +0 -77
  541. package/dist/infrastructure/ux/appropriate-friction.d.ts.map +0 -1
  542. package/dist/infrastructure/ux/appropriate-friction.js.map +0 -1
  543. package/dist/infrastructure/ux/bi-directional-learning.d.ts +0 -131
  544. package/dist/infrastructure/ux/bi-directional-learning.d.ts.map +0 -1
  545. package/dist/infrastructure/ux/bi-directional-learning.js.map +0 -1
  546. package/dist/infrastructure/ux/capability-boundaries.d.ts +0 -22
  547. package/dist/infrastructure/ux/capability-boundaries.d.ts.map +0 -1
  548. package/dist/infrastructure/ux/capability-boundaries.js.map +0 -1
  549. package/dist/infrastructure/ux/cli-style-guide.d.ts +0 -105
  550. package/dist/infrastructure/ux/cli-style-guide.d.ts.map +0 -1
  551. package/dist/infrastructure/ux/cli-style-guide.js +0 -220
  552. package/dist/infrastructure/ux/cli-style-guide.js.map +0 -1
  553. package/dist/infrastructure/ux/comprehensive-formatter.d.ts +0 -21
  554. package/dist/infrastructure/ux/comprehensive-formatter.d.ts.map +0 -1
  555. package/dist/infrastructure/ux/comprehensive-formatter.js.map +0 -1
  556. package/dist/infrastructure/ux/contextual-feature-discovery.d.ts +0 -11
  557. package/dist/infrastructure/ux/contextual-feature-discovery.d.ts.map +0 -1
  558. package/dist/infrastructure/ux/contextual-feature-discovery.js.map +0 -1
  559. package/dist/infrastructure/ux/expectation-management.d.ts +0 -98
  560. package/dist/infrastructure/ux/expectation-management.d.ts.map +0 -1
  561. package/dist/infrastructure/ux/expectation-management.js.map +0 -1
  562. package/dist/infrastructure/ux/feature-discovery.d.ts +0 -17
  563. package/dist/infrastructure/ux/feature-discovery.d.ts.map +0 -1
  564. package/dist/infrastructure/ux/feature-discovery.js.map +0 -1
  565. package/dist/infrastructure/ux/feedback-prompt.d.ts +0 -26
  566. package/dist/infrastructure/ux/feedback-prompt.d.ts.map +0 -1
  567. package/dist/infrastructure/ux/feedback-prompt.js.map +0 -1
  568. package/dist/infrastructure/ux/hitl-validation.d.ts +0 -139
  569. package/dist/infrastructure/ux/hitl-validation.d.ts.map +0 -1
  570. package/dist/infrastructure/ux/hitl-validation.js.map +0 -1
  571. package/dist/infrastructure/ux/progress-indicator.d.ts +0 -53
  572. package/dist/infrastructure/ux/progress-indicator.d.ts.map +0 -1
  573. package/dist/infrastructure/ux/progress-indicator.js.map +0 -1
  574. package/dist/infrastructure/ux/progressive-disclosure.d.ts +0 -84
  575. package/dist/infrastructure/ux/progressive-disclosure.d.ts.map +0 -1
  576. package/dist/infrastructure/ux/progressive-disclosure.js.map +0 -1
  577. package/dist/infrastructure/ux/review-checkpoint.d.ts +0 -37
  578. package/dist/infrastructure/ux/review-checkpoint.d.ts.map +0 -1
  579. package/dist/infrastructure/ux/review-checkpoint.js.map +0 -1
  580. package/dist/infrastructure/ux/staged-feature-intro.d.ts +0 -22
  581. package/dist/infrastructure/ux/staged-feature-intro.d.ts.map +0 -1
  582. package/dist/infrastructure/ux/staged-feature-intro.js.map +0 -1
  583. package/dist/infrastructure/ux/syntax-highlighter.d.ts +0 -20
  584. package/dist/infrastructure/ux/syntax-highlighter.d.ts.map +0 -1
  585. package/dist/infrastructure/ux/syntax-highlighter.js.map +0 -1
  586. package/dist/infrastructure/ux/team-standards.d.ts +0 -94
  587. package/dist/infrastructure/ux/team-standards.d.ts.map +0 -1
  588. package/dist/infrastructure/ux/team-standards.js.map +0 -1
  589. package/dist/infrastructure/validation/agent-feedback.d.ts +0 -57
  590. package/dist/infrastructure/validation/agent-feedback.d.ts.map +0 -1
  591. package/dist/infrastructure/validation/agent-feedback.js.map +0 -1
  592. package/dist/infrastructure/validation/agent-validation-helper.d.ts +0 -75
  593. package/dist/infrastructure/validation/agent-validation-helper.d.ts.map +0 -1
  594. package/dist/infrastructure/validation/agent-validation-helper.js.map +0 -1
  595. package/dist/infrastructure/validation/hallucination-detector.d.ts +0 -121
  596. package/dist/infrastructure/validation/hallucination-detector.d.ts.map +0 -1
  597. package/dist/infrastructure/validation/hallucination-detector.js +0 -388
  598. package/dist/infrastructure/validation/hallucination-detector.js.map +0 -1
  599. package/dist/infrastructure/validation/review-handler.d.ts +0 -26
  600. package/dist/infrastructure/validation/review-handler.d.ts.map +0 -1
  601. package/dist/infrastructure/validation/review-handler.js.map +0 -1
  602. package/dist/infrastructure/validation/summary-aggregator.d.ts +0 -45
  603. package/dist/infrastructure/validation/summary-aggregator.d.ts.map +0 -1
  604. package/dist/infrastructure/validation/summary-aggregator.js.map +0 -1
  605. package/dist/infrastructure/validation/summary-extractor.d.ts +0 -24
  606. package/dist/infrastructure/validation/summary-extractor.d.ts.map +0 -1
  607. package/dist/infrastructure/validation/summary-extractor.js.map +0 -1
  608. package/dist/infrastructure/validation/trace-summary.d.ts +0 -45
  609. package/dist/infrastructure/validation/trace-summary.d.ts.map +0 -1
  610. package/dist/infrastructure/validation/trace-summary.js.map +0 -1
  611. package/dist/infrastructure/verification/verification-service.d.ts +0 -12
  612. package/dist/infrastructure/verification/verification-service.d.ts.map +0 -1
  613. package/dist/infrastructure/verification/verification-service.js.map +0 -1
  614. package/dist/infrastructure/xai/attention-visualizer.d.ts +0 -71
  615. package/dist/infrastructure/xai/attention-visualizer.d.ts.map +0 -1
  616. package/dist/infrastructure/xai/attention-visualizer.js.map +0 -1
  617. package/dist/infrastructure/xai/cot-visualizer.d.ts +0 -103
  618. package/dist/infrastructure/xai/cot-visualizer.d.ts.map +0 -1
  619. package/dist/infrastructure/xai/cot-visualizer.js.map +0 -1
  620. package/dist/infrastructure/xai/decision-tree-log.d.ts +0 -100
  621. package/dist/infrastructure/xai/decision-tree-log.d.ts.map +0 -1
  622. package/dist/infrastructure/xai/decision-tree-log.js.map +0 -1
  623. package/dist/infrastructure/xai/interactive-xai.d.ts +0 -104
  624. package/dist/infrastructure/xai/interactive-xai.d.ts.map +0 -1
  625. package/dist/infrastructure/xai/interactive-xai.js.map +0 -1
  626. package/dist/infrastructure/xai/uncertainty-quantifier.d.ts +0 -77
  627. package/dist/infrastructure/xai/uncertainty-quantifier.d.ts.map +0 -1
  628. package/dist/infrastructure/xai/uncertainty-quantifier.js.map +0 -1
  629. package/dist/intelligent-retrieval 2.js +0 -272
  630. package/dist/intelligent-retrieval.d.ts +0 -41
  631. package/dist/intelligent-retrieval.d.ts 2.map +0 -1
  632. package/dist/intelligent-retrieval.d.ts.map +0 -1
  633. package/dist/intelligent-retrieval.js.map +0 -1
  634. package/dist/intent/classifier.d.ts +0 -6
  635. package/dist/intent/classifier.d.ts.map +0 -1
  636. package/dist/intent/classifier.js.map +0 -1
  637. package/dist/intent/context.d.ts +0 -4
  638. package/dist/intent/context.d.ts.map +0 -1
  639. package/dist/intent/context.js.map +0 -1
  640. package/dist/iterative-refinement.d.ts +0 -31
  641. package/dist/iterative-refinement.d.ts.map +0 -1
  642. package/dist/iterative-refinement.js.map +0 -1
  643. package/dist/learning.d.ts +0 -69
  644. package/dist/learning.d.ts.map +0 -1
  645. package/dist/learning.js.map +0 -1
  646. package/dist/log.d.ts +0 -4
  647. package/dist/log.d.ts.map +0 -1
  648. package/dist/log.js 2.map +0 -1
  649. package/dist/log.js.map +0 -1
  650. package/dist/migrate.d.ts +0 -33
  651. package/dist/migrate.d.ts.map +0 -1
  652. package/dist/migrate.js 2.map +0 -1
  653. package/dist/migrate.js.map +0 -1
  654. package/dist/monitoring.d.ts +0 -75
  655. package/dist/monitoring.d.ts.map +0 -1
  656. package/dist/monitoring.js.map +0 -1
  657. package/dist/parallel-processor.d 2.ts +0 -44
  658. package/dist/parallel-processor.d.ts +0 -44
  659. package/dist/parallel-processor.d.ts.map +0 -1
  660. package/dist/parallel-processor.js.map +0 -1
  661. package/dist/planner.d.ts +0 -47
  662. package/dist/planner.d.ts.map +0 -1
  663. package/dist/planner.js.map +0 -1
  664. package/dist/policy.d 2.ts +0 -3
  665. package/dist/policy.d.ts +0 -3
  666. package/dist/policy.d.ts.map +0 -1
  667. package/dist/policy.js.map +0 -1
  668. package/dist/presentation/cli/commands/ask-command.d.ts +0 -9
  669. package/dist/presentation/cli/commands/ask-command.d.ts.map +0 -1
  670. package/dist/presentation/cli/commands/ask-command.js.map +0 -1
  671. package/dist/presentation/cli/commands/audit-command.d.ts +0 -13
  672. package/dist/presentation/cli/commands/audit-command.d.ts.map +0 -1
  673. package/dist/presentation/cli/commands/audit-command.js +0 -96
  674. package/dist/presentation/cli/commands/audit-command.js.map +0 -1
  675. package/dist/presentation/cli/commands/config-command.d.ts +0 -9
  676. package/dist/presentation/cli/commands/config-command.d.ts.map +0 -1
  677. package/dist/presentation/cli/commands/config-command.js.map +0 -1
  678. package/dist/presentation/cli/commands/context-command.d.ts +0 -32
  679. package/dist/presentation/cli/commands/context-command.d.ts.map +0 -1
  680. package/dist/presentation/cli/commands/context-command.js +0 -295
  681. package/dist/presentation/cli/commands/context-command.js.map +0 -1
  682. package/dist/presentation/cli/commands/context-helper.d.ts +0 -16
  683. package/dist/presentation/cli/commands/context-helper.d.ts.map +0 -1
  684. package/dist/presentation/cli/commands/context-helper.js +0 -88
  685. package/dist/presentation/cli/commands/context-helper.js.map +0 -1
  686. package/dist/presentation/cli/commands/cost-command.d.ts +0 -8
  687. package/dist/presentation/cli/commands/cost-command.d.ts.map +0 -1
  688. package/dist/presentation/cli/commands/cost-command.js.map +0 -1
  689. package/dist/presentation/cli/commands/decision-command.d.ts +0 -12
  690. package/dist/presentation/cli/commands/decision-command.d.ts.map +0 -1
  691. package/dist/presentation/cli/commands/decision-command.js.map +0 -1
  692. package/dist/presentation/cli/commands/docs-command.d.ts +0 -14
  693. package/dist/presentation/cli/commands/docs-command.d.ts.map +0 -1
  694. package/dist/presentation/cli/commands/docs-command.js.map +0 -1
  695. package/dist/presentation/cli/commands/fix-command.d.ts +0 -15
  696. package/dist/presentation/cli/commands/fix-command.d.ts.map +0 -1
  697. package/dist/presentation/cli/commands/fix-command.js.map +0 -1
  698. package/dist/presentation/cli/commands/help-command.d.ts +0 -9
  699. package/dist/presentation/cli/commands/help-command.d.ts.map +0 -1
  700. package/dist/presentation/cli/commands/help-command.js.map +0 -1
  701. package/dist/presentation/cli/commands/knowledge-command.d.ts +0 -13
  702. package/dist/presentation/cli/commands/knowledge-command.d.ts.map +0 -1
  703. package/dist/presentation/cli/commands/knowledge-command.js.map +0 -1
  704. package/dist/presentation/cli/commands/learning-dashboard-command.d.ts +0 -8
  705. package/dist/presentation/cli/commands/learning-dashboard-command.d.ts.map +0 -1
  706. package/dist/presentation/cli/commands/learning-dashboard-command.js.map +0 -1
  707. package/dist/presentation/cli/commands/models-command.d.ts +0 -13
  708. package/dist/presentation/cli/commands/models-command.d.ts.map +0 -1
  709. package/dist/presentation/cli/commands/models-command.js.map +0 -1
  710. package/dist/presentation/cli/commands/orchestrate-command.d.ts +0 -10
  711. package/dist/presentation/cli/commands/orchestrate-command.d.ts.map +0 -1
  712. package/dist/presentation/cli/commands/orchestrate-command.js.map +0 -1
  713. package/dist/presentation/cli/commands/plan-command.d.ts +0 -9
  714. package/dist/presentation/cli/commands/plan-command.d.ts.map +0 -1
  715. package/dist/presentation/cli/commands/plan-command.js.map +0 -1
  716. package/dist/presentation/cli/commands/product-command.d.ts +0 -14
  717. package/dist/presentation/cli/commands/product-command.d.ts.map +0 -1
  718. package/dist/presentation/cli/commands/product-command.js.map +0 -1
  719. package/dist/presentation/cli/commands/react-command.d.ts +0 -8
  720. package/dist/presentation/cli/commands/react-command.d.ts.map +0 -1
  721. package/dist/presentation/cli/commands/react-command.js.map +0 -1
  722. package/dist/presentation/cli/commands/review-command.d.ts +0 -14
  723. package/dist/presentation/cli/commands/review-command.d.ts.map +0 -1
  724. package/dist/presentation/cli/commands/review-command.js.map +0 -1
  725. package/dist/presentation/cli/commands/run-command.d.ts +0 -13
  726. package/dist/presentation/cli/commands/run-command.d.ts.map +0 -1
  727. package/dist/presentation/cli/commands/run-command.js.map +0 -1
  728. package/dist/presentation/cli/commands/setup-command.d.ts +0 -10
  729. package/dist/presentation/cli/commands/setup-command.d.ts.map +0 -1
  730. package/dist/presentation/cli/commands/setup-command.js.map +0 -1
  731. package/dist/presentation/cli/commands/smart-command.d.ts +0 -11
  732. package/dist/presentation/cli/commands/smart-command.d.ts.map +0 -1
  733. package/dist/presentation/cli/commands/smart-command.js.map +0 -1
  734. package/dist/presentation/cli/commands/status-command.d.ts +0 -14
  735. package/dist/presentation/cli/commands/status-command.d.ts.map +0 -1
  736. package/dist/presentation/cli/commands/status-command.js.map +0 -1
  737. package/dist/presentation/cli/commands/suggest-command.d.ts +0 -11
  738. package/dist/presentation/cli/commands/suggest-command.d.ts.map +0 -1
  739. package/dist/presentation/cli/commands/suggest-command.js.map +0 -1
  740. package/dist/presentation/cli/commands/trace-command.d.ts +0 -8
  741. package/dist/presentation/cli/commands/trace-command.d.ts.map +0 -1
  742. package/dist/presentation/cli/commands/trace-command.js.map +0 -1
  743. package/dist/presentation/cli/commands/trust-command.d.ts +0 -28
  744. package/dist/presentation/cli/commands/trust-command.d.ts.map +0 -1
  745. package/dist/presentation/cli/commands/trust-command.js.map +0 -1
  746. package/dist/presentation/cli/commands/undo-command.d.ts +0 -8
  747. package/dist/presentation/cli/commands/undo-command.d.ts.map +0 -1
  748. package/dist/presentation/cli/commands/undo-command.js.map +0 -1
  749. package/dist/presentation/cli/error-display.d.ts +0 -25
  750. package/dist/presentation/cli/error-display.d.ts.map +0 -1
  751. package/dist/presentation/cli/error-display.js.map +0 -1
  752. package/dist/query-optimizer.d.ts +0 -32
  753. package/dist/query-optimizer.d.ts.map +0 -1
  754. package/dist/query-optimizer.js.map +0 -1
  755. package/dist/refactor.d.ts +0 -27
  756. package/dist/refactor.d.ts.map +0 -1
  757. package/dist/refactor.js.map +0 -1
  758. package/dist/review 2.js +0 -206
  759. package/dist/review.d.ts +0 -31
  760. package/dist/review.d.ts.map +0 -1
  761. package/dist/review.js.map +0 -1
  762. package/dist/search.d.ts +0 -19
  763. package/dist/search.d.ts.map +0 -1
  764. package/dist/search.js 2.map +0 -1
  765. package/dist/search.js.map +0 -1
  766. package/dist/session 2.js +0 -593
  767. package/dist/session.d.ts +0 -17
  768. package/dist/session.d.ts 2.map +0 -1
  769. package/dist/session.d.ts.map +0 -1
  770. package/dist/session.js.map +0 -1
  771. package/dist/task-verification 2.js +0 -336
  772. package/dist/task-verification.d.ts +0 -39
  773. package/dist/task-verification.d.ts 2.map +0 -1
  774. package/dist/task-verification.d.ts.map +0 -1
  775. package/dist/task-verification.js.map +0 -1
  776. package/dist/test-minimal.d.ts +0 -2
  777. package/dist/test-minimal.d.ts.map +0 -1
  778. package/dist/test-minimal.js +0 -2
  779. package/dist/test-minimal.js.map +0 -1
  780. package/dist/testgen.d.ts +0 -24
  781. package/dist/testgen.d.ts.map +0 -1
  782. package/dist/testgen.js 2.map +0 -1
  783. package/dist/testgen.js.map +0 -1
  784. package/dist/token-optimizer.d 2.ts +0 -20
  785. package/dist/token-optimizer.d.ts +0 -20
  786. package/dist/token-optimizer.d.ts.map +0 -1
  787. package/dist/token-optimizer.js.map +0 -1
  788. package/dist/tools/bash.d.ts +0 -53
  789. package/dist/tools/bash.d.ts.map +0 -1
  790. package/dist/tools/bash.js.map +0 -1
  791. package/dist/tools/edit.d.ts +0 -48
  792. package/dist/tools/edit.d.ts.map +0 -1
  793. package/dist/tools/edit.js.map +0 -1
  794. package/dist/tools/executor.d.ts +0 -29
  795. package/dist/tools/executor.d.ts.map +0 -1
  796. package/dist/tools/executor.js.map +0 -1
  797. package/dist/tools/git-tool.d.ts +0 -87
  798. package/dist/tools/git-tool.d.ts.map +0 -1
  799. package/dist/tools/git-tool.js.map +0 -1
  800. package/dist/tools/parser.d.ts +0 -33
  801. package/dist/tools/parser.d.ts.map +0 -1
  802. package/dist/tools/parser.js.map +0 -1
  803. package/dist/tools/registry.d.ts +0 -74
  804. package/dist/tools/registry.d.ts.map +0 -1
  805. package/dist/tools/registry.js.map +0 -1
  806. package/dist/tools/search.d.ts +0 -41
  807. package/dist/tools/search.d.ts.map +0 -1
  808. package/dist/tools/search.js.map +0 -1
  809. package/dist/types.d.ts +0 -36
  810. package/dist/types.d.ts.map +0 -1
  811. package/dist/types.js.map +0 -1
  812. package/dist/ui.d.ts +0 -60
  813. package/dist/ui.d.ts 2.map +0 -1
  814. package/dist/ui.d.ts.map +0 -1
  815. package/dist/ui.js.map +0 -1
  816. package/dist/utils/check-api-status.d.ts +0 -12
  817. package/dist/utils/check-api-status.d.ts.map +0 -1
  818. package/dist/utils/check-api-status.js.map +0 -1
  819. package/dist/utils/debug.d.ts +0 -7
  820. package/dist/utils/debug.d.ts.map +0 -1
  821. package/dist/utils/debug.js +0 -24
  822. package/dist/utils/debug.js.map +0 -1
  823. package/dist/utils/diff-parser.d.ts +0 -22
  824. package/dist/utils/diff-parser.d.ts.map +0 -1
  825. package/dist/utils/diff-parser.js.map +0 -1
  826. package/dist/utils/provider-check.d.ts +0 -21
  827. package/dist/utils/provider-check.d.ts.map +0 -1
  828. package/dist/utils/provider-check.js +0 -124
  829. package/dist/utils/provider-check.js.map +0 -1
  830. package/dist/utils/version.d.ts +0 -21
  831. package/dist/utils/version.d.ts.map +0 -1
  832. package/dist/utils/version.js.map +0 -1
  833. package/dist/verification/backup.d.ts +0 -30
  834. package/dist/verification/backup.d.ts.map +0 -1
  835. package/dist/verification/backup.js.map +0 -1
  836. package/dist/verification/compiler.d.ts +0 -20
  837. package/dist/verification/compiler.d.ts.map +0 -1
  838. package/dist/verification/compiler.js.map +0 -1
  839. package/dist/verification/index.d.ts +0 -59
  840. package/dist/verification/index.d.ts.map +0 -1
  841. package/dist/verification/index.js.map +0 -1
  842. package/dist/verification/test-runner.d.ts +0 -27
  843. package/dist/verification/test-runner.d.ts.map +0 -1
  844. package/dist/verification/test-runner.js.map +0 -1
  845. package/dist/verify_db.d.ts +0 -2
  846. package/dist/verify_db.d.ts.map +0 -1
  847. package/dist/verify_db.js +0 -52
  848. package/dist/verify_db.js 2.map +0 -1
  849. package/dist/verify_db.js.map +0 -1
@@ -0,0 +1,353 @@
1
+ /**
2
+ * CLI Command: report
3
+ *
4
+ * Generates a shareable audit narrative — not just a score.
5
+ * The viral artifact: something developers post in PRs, tweet, and put in READMEs.
6
+ *
7
+ * Usage:
8
+ * codehere report # scan current dir, print markdown
9
+ * codehere report src/ # scan a subdirectory
10
+ * codehere report --out report.md # write to file
11
+ * codehere report --json # machine-readable JSON
12
+ * codehere report --diff HEAD # scan only changed files
13
+ *
14
+ * Output is a markdown document with:
15
+ * - Executive summary with score and grade
16
+ * - Per-severity finding breakdowns with context
17
+ * - Actionable recommendations in plain English
18
+ * - A shareable badge and attribution
19
+ */
20
+ import { writeFileSync } from 'fs';
21
+ import { basename, relative } from 'path';
22
+ import { colors, success, error, newline, info } from '../../../ui.js';
23
+ import { scoreFile } from '../../../infrastructure/security/trust-scorer.js';
24
+ import { readFileSync, existsSync, statSync, readdirSync } from 'fs';
25
+ import { join, extname } from 'path';
26
+ import { loadProductContext, adjustRecommendation } from '../../../infrastructure/config/product-context.js';
27
+ // ── File collection (mirrors trust-command) ──────────────────────────────────
28
+ const CODE_EXTENSIONS = new Set([
29
+ '.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs',
30
+ '.py', '.rb', '.go', '.java', '.cs', '.php',
31
+ '.sh', '.bash', '.zsh',
32
+ '.sql', '.html', '.vue', '.svelte',
33
+ ]);
34
+ const IGNORE_DIRS = new Set(['node_modules', '.git', 'dist', 'build', '.next', 'coverage', '.cache', '.codehere', '.codehere-cache']);
35
+ function collectFiles(target) {
36
+ const stat = statSync(target);
37
+ if (stat.isFile())
38
+ return [target];
39
+ const files = [];
40
+ function walk(dir) {
41
+ for (const entry of readdirSync(dir, { withFileTypes: true })) {
42
+ if (IGNORE_DIRS.has(entry.name))
43
+ continue;
44
+ const full = join(dir, entry.name);
45
+ if (entry.isDirectory()) {
46
+ walk(full);
47
+ }
48
+ else if (CODE_EXTENSIONS.has(extname(entry.name))) {
49
+ files.push(full);
50
+ }
51
+ }
52
+ }
53
+ walk(target);
54
+ return files;
55
+ }
56
+ // ── Markdown generation ───────────────────────────────────────────────────────
57
+ function gradeEmoji(grade) {
58
+ return grade === 'A' ? '🟢' : grade === 'B' ? '🟡' : grade === 'C' ? '🟠' : grade === 'D' ? '🔴' : '🚨';
59
+ }
60
+ function severityLabel(severity) {
61
+ return severity === 'critical' ? '🚨 Critical'
62
+ : severity === 'high' ? '⚠️ High'
63
+ : severity === 'medium' ? '🔵 Medium'
64
+ : '⬇️ Low';
65
+ }
66
+ function badgeUrl(score, grade) {
67
+ const color = grade === 'A' ? 'brightgreen'
68
+ : grade === 'B' ? 'green'
69
+ : grade === 'C' ? 'yellow'
70
+ : grade === 'D' ? 'orange'
71
+ : 'red';
72
+ return `https://img.shields.io/badge/codehere%20trust-${score}%25%20${grade}-${color}?logo=shield&logoColor=white`;
73
+ }
74
+ function narrativeSummary(report) {
75
+ const { overallScore, grade, criticalCount, highCount, mediumCount, lowCount, files } = report;
76
+ if (criticalCount === 0 && highCount === 0) {
77
+ if (overallScore >= 90) {
78
+ return `Clean codebase. ${files.length} file${files.length !== 1 ? 's' : ''} scanned, nothing blocking a merge. ` +
79
+ (mediumCount > 0 ? `${mediumCount} medium-severity pattern${mediumCount !== 1 ? 's' : ''} worth reviewing in a future sprint.` : 'No significant findings.');
80
+ }
81
+ return `Solid codebase with some medium/low findings. ${overallScore}/100 — worth a review pass but not blocking.`;
82
+ }
83
+ if (criticalCount > 0) {
84
+ return `${criticalCount} critical issue${criticalCount !== 1 ? 's' : ''} found that should be resolved before this merges. ` +
85
+ `${highCount > 0 ? `Also ${highCount} high-severity pattern${highCount !== 1 ? 's' : ''} to address.` : ''}`;
86
+ }
87
+ return `No critical issues, but ${highCount} high-severity pattern${highCount !== 1 ? 's' : ''} worth addressing before merge.`;
88
+ }
89
+ function recommendationsMarkdown(report) {
90
+ const { criticalCount, highCount, mediumCount, lowCount, overallScore } = report;
91
+ const lines = [];
92
+ if (criticalCount > 0) {
93
+ lines.push(`1. **Resolve all ${criticalCount} critical issue${criticalCount !== 1 ? 's' : ''} before merging.** These represent active security risks (credentials in code, eval injection, SQL without parameterization, etc.). They're usually quick fixes.`);
94
+ }
95
+ if (highCount > 0) {
96
+ lines.push(`${lines.length + 1}. **Address the ${highCount} high-severity pattern${highCount !== 1 ? 's' : ''} in this sprint.** Not blocking, but worth fixing while the code is fresh.`);
97
+ }
98
+ if (mediumCount > 0) {
99
+ lines.push(`${lines.length + 1}. **${mediumCount} medium-severity item${mediumCount !== 1 ? 's' : ''} can be queued for a future cleanup pass.** Mostly defensive hygiene — redirect hardening, input validation gaps.`);
100
+ }
101
+ if (lowCount > 0) {
102
+ lines.push(`${lines.length + 1}. **${lowCount} low-severity note${lowCount !== 1 ? 's' : ''} for informational purposes.** These rarely cause issues but keep the score from being perfect.`);
103
+ }
104
+ if (lines.length === 0) {
105
+ lines.push('1. **Nothing blocking.** Keep it up — this is what a healthy codebase looks like.');
106
+ }
107
+ return lines.join('\n\n');
108
+ }
109
+ function findingsMarkdown(files, cwd) {
110
+ const sections = [];
111
+ for (const severity of ['critical', 'high', 'medium', 'low']) {
112
+ const allFindings = [];
113
+ for (const f of files) {
114
+ for (const finding of f.findings.filter(x => x.severity === severity)) {
115
+ allFindings.push({ filepath: f.filepath, ...finding });
116
+ }
117
+ }
118
+ if (allFindings.length === 0)
119
+ continue;
120
+ sections.push(`### ${severityLabel(severity)}\n`);
121
+ // Cap per-severity at 10 most impactful findings
122
+ for (const f of allFindings.slice(0, 10)) {
123
+ const loc = f.line ? `:${f.line}` : '';
124
+ const cwe = f.cwe ? ` · ${f.cwe}` : '';
125
+ const matched = f.matched ? `\n> Matched: \`${f.matched.substring(0, 80)}\`` : '';
126
+ sections.push(`**${f.category}** · \`${f.filepath}${loc}\`${cwe} \n> ${f.description}${matched}\n`);
127
+ }
128
+ if (allFindings.length > 10) {
129
+ sections.push(`*... and ${allFindings.length - 10} more ${severity}-severity findings*\n`);
130
+ }
131
+ }
132
+ return sections.length > 0 ? sections.join('\n') : '*No findings.*\n';
133
+ }
134
+ function generateMarkdown(report, target, cwd) {
135
+ const { overallScore, grade, files, criticalCount, highCount, mediumCount, lowCount, scannedAt } = report;
136
+ const targetLabel = basename(target) || '.';
137
+ const dateStr = new Date(scannedAt).toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' });
138
+ const badge = badgeUrl(overallScore, grade);
139
+ const summary = narrativeSummary(report);
140
+ const gradeIcon = gradeEmoji(grade);
141
+ const productCtx = loadProductContext(cwd);
142
+ const contextLine = productCtx
143
+ ? `\nProject: **${productCtx.name}** · Risk level: **${productCtx.riskLevel}**${productCtx.productionApp ? ' · Production' : ''}\n`
144
+ : '';
145
+ const recommendation = adjustRecommendation(report.recommendation, criticalCount, highCount, overallScore, productCtx);
146
+ return `# Security Audit Report · ${targetLabel}
147
+
148
+ ${gradeIcon} **Score: ${overallScore}/100 · Grade ${grade}**
149
+ Generated ${dateStr} by [codehere](https://github.com/codehere-dev/codehere)
150
+ ${contextLine}
151
+ > ${recommendation}
152
+
153
+ ---
154
+
155
+ ## Summary
156
+
157
+ | | |
158
+ |---|---|
159
+ | Files scanned | ${files.length} |
160
+ | Critical | ${criticalCount > 0 ? `**${criticalCount}** 🚨` : criticalCount} |
161
+ | High | ${highCount > 0 ? `**${highCount}** ⚠️` : highCount} |
162
+ | Medium | ${mediumCount} |
163
+ | Low | ${lowCount} |
164
+
165
+ ---
166
+
167
+ ## Findings
168
+
169
+ ${findingsMarkdown(files, cwd)}
170
+
171
+ ---
172
+
173
+ ## Recommendations
174
+
175
+ ${recommendationsMarkdown(report)}
176
+
177
+ ---
178
+
179
+ ## Add to your README
180
+
181
+ \`\`\`markdown
182
+ ![codehere trust](${badge})
183
+ \`\`\`
184
+
185
+ Renders as: ![codehere trust](${badge})
186
+
187
+ ---
188
+
189
+ *Generated with [codehere](https://github.com/codehere-dev/codehere) — the coding agent that makes you smarter, not just faster.*
190
+ `;
191
+ }
192
+ // ── Command ───────────────────────────────────────────────────────────────────
193
+ // ── Simple (non-technical) output ────────────────────────────────────────────
194
+ function generateSimpleReport(report, target) {
195
+ const { overallScore, grade, criticalCount, highCount, mediumCount, files } = report;
196
+ const targetLabel = basename(target) || 'your project';
197
+ const lines = [];
198
+ // Plain English headline
199
+ if (criticalCount > 0) {
200
+ lines.push(`Your AI assistant found ${criticalCount} serious problem${criticalCount !== 1 ? 's' : ''} in ${targetLabel} that need${criticalCount === 1 ? 's' : ''} fixing before you share this code.`);
201
+ }
202
+ else if (highCount > 0) {
203
+ lines.push(`${targetLabel} looks mostly safe. There ${highCount === 1 ? 'is' : 'are'} ${highCount} thing${highCount !== 1 ? 's' : ''} worth reviewing, but nothing that needs urgent attention.`);
204
+ }
205
+ else if (overallScore >= 90) {
206
+ lines.push(`${targetLabel} is clean. Your AI assistant found nothing concerning. You're good to go.`);
207
+ }
208
+ else {
209
+ lines.push(`${targetLabel} is in reasonable shape. A few minor things to be aware of, but nothing blocking.`);
210
+ }
211
+ lines.push('');
212
+ // Score in human terms
213
+ const gradeMeaning = grade === 'A' ? 'Excellent'
214
+ : grade === 'B' ? 'Good'
215
+ : grade === 'C' ? 'Fair — some issues to address'
216
+ : grade === 'D' ? 'Needs work'
217
+ : 'Urgent attention needed';
218
+ lines.push(`Security score: ${overallScore}/100 (${gradeMeaning})`);
219
+ lines.push(`Files checked: ${files.length}`);
220
+ lines.push('');
221
+ // What was found, in plain terms
222
+ if (criticalCount > 0 || highCount > 0 || mediumCount > 0) {
223
+ lines.push('What was found:');
224
+ if (criticalCount > 0) {
225
+ lines.push(` • ${criticalCount} serious issue${criticalCount !== 1 ? 's' : ''} — things like exposed passwords, unsafe commands, or code that could be exploited`);
226
+ }
227
+ if (highCount > 0) {
228
+ lines.push(` • ${highCount} notable issue${highCount !== 1 ? 's' : ''} — worth fixing, but not an emergency`);
229
+ }
230
+ if (mediumCount > 0) {
231
+ lines.push(` • ${mediumCount} minor thing${mediumCount !== 1 ? 's' : ''} — good to know about, low urgency`);
232
+ }
233
+ lines.push('');
234
+ }
235
+ // Plain English what to do
236
+ lines.push('What to do:');
237
+ if (criticalCount > 0) {
238
+ lines.push(` 1. Ask your developer to look at the ${criticalCount} serious issue${criticalCount !== 1 ? 's' : ''} listed in the full report.`);
239
+ lines.push(' 2. Do not share or deploy this code until those are resolved.');
240
+ if (highCount > 0) {
241
+ lines.push(` 3. The ${highCount} notable issue${highCount !== 1 ? 's' : ''} can be addressed in your next sprint.`);
242
+ }
243
+ }
244
+ else if (highCount > 0) {
245
+ lines.push(` 1. Ask your developer to review the ${highCount} notable issue${highCount !== 1 ? 's' : ''} when they get a chance.`);
246
+ lines.push(' 2. This code is safe to continue working on in the meantime.');
247
+ }
248
+ else {
249
+ lines.push(' 1. Keep going — this code is in good shape.');
250
+ lines.push(' 2. Run this scan again before your next release.');
251
+ }
252
+ lines.push('');
253
+ lines.push('---');
254
+ lines.push('Generated by codehere — know what your AI agent did before your tech lead asks.');
255
+ return lines.join('\n');
256
+ }
257
+ export async function executeReportCommand(target, options = {}) {
258
+ const cwd = process.cwd();
259
+ const resolved = target ? join(cwd, target) : cwd;
260
+ if (!existsSync(resolved)) {
261
+ console.error(error(`Not found: ${resolved}`));
262
+ process.exit(1);
263
+ }
264
+ // Collect and scan
265
+ const paths = collectFiles(resolved);
266
+ if (paths.length === 0) {
267
+ console.log(info('No code files found to scan.'));
268
+ return;
269
+ }
270
+ // Show progress for large codebases
271
+ if (!options.out && paths.length > 20 && process.stderr.isTTY) {
272
+ process.stderr.write(colors.dim(` Scanning ${paths.length} files...`));
273
+ }
274
+ const results = paths.map(p => scoreFile(relative(cwd, p), readFileSync(p, 'utf-8')));
275
+ // Clear progress line
276
+ if (!options.out && paths.length > 20 && process.stderr.isTTY) {
277
+ process.stderr.write('\r\x1b[K');
278
+ }
279
+ const totalFindings = results.reduce((s, r) => s + r.findings.length, 0);
280
+ const criticalCount = results.reduce((s, r) => s + r.findings.filter(f => f.severity === 'critical').length, 0);
281
+ const highCount = results.reduce((s, r) => s + r.findings.filter(f => f.severity === 'high').length, 0);
282
+ const mediumCount = results.reduce((s, r) => s + r.findings.filter(f => f.severity === 'medium').length, 0);
283
+ const lowCount = results.reduce((s, r) => s + r.findings.filter(f => f.severity === 'low').length, 0);
284
+ const overallScore = results.length > 0
285
+ ? Math.round(results.reduce((s, r) => s + r.score, 0) / results.length)
286
+ : 100;
287
+ const grade = overallScore >= 90 ? 'A' : overallScore >= 75 ? 'B' : overallScore >= 60 ? 'C' : overallScore >= 40 ? 'D' : 'F';
288
+ const recommendation = criticalCount > 0
289
+ ? `${criticalCount} critical issue${criticalCount !== 1 ? 's' : ''} need${criticalCount === 1 ? 's' : ''} attention before this merges.`
290
+ : highCount > 0
291
+ ? `Nothing critical, but ${highCount} high-severity pattern${highCount !== 1 ? 's' : ''} worth addressing.`
292
+ : overallScore >= 75
293
+ ? 'Clean scan. Nothing blocking a merge.'
294
+ : 'A few things to look at — nothing critical.';
295
+ const report = {
296
+ files: results,
297
+ overallScore,
298
+ grade,
299
+ totalFindings,
300
+ criticalCount,
301
+ highCount,
302
+ mediumCount,
303
+ lowCount,
304
+ recommendation,
305
+ scannedAt: new Date().toISOString(),
306
+ };
307
+ if (paths.length > 20) {
308
+ process.stderr.write(' '.repeat(40) + '\r');
309
+ }
310
+ // JSON output
311
+ if (options.json) {
312
+ const output = JSON.stringify(report, null, 2);
313
+ if (options.out) {
314
+ writeFileSync(options.out, output);
315
+ console.log(success(`Report written to ${options.out}`));
316
+ }
317
+ else {
318
+ console.log(output);
319
+ }
320
+ return;
321
+ }
322
+ // Simple (non-technical) output
323
+ if (options.simple) {
324
+ const simple = generateSimpleReport(report, resolved);
325
+ if (options.out) {
326
+ writeFileSync(options.out, simple);
327
+ console.log(success(`Plain-English report written to ${options.out}`));
328
+ }
329
+ else {
330
+ process.stdout.write(simple + '\n');
331
+ }
332
+ return;
333
+ }
334
+ // Markdown output
335
+ const markdown = generateMarkdown(report, resolved, cwd);
336
+ if (options.out) {
337
+ writeFileSync(options.out, markdown);
338
+ newline();
339
+ console.log(success(`Report written to ${options.out}`));
340
+ console.log(colors.dim(` ${paths.length} files · score ${overallScore}/100 · grade ${grade}`));
341
+ if (criticalCount > 0) {
342
+ console.log(colors.red(` ${criticalCount} critical issue${criticalCount !== 1 ? 's' : ''} — check the report`));
343
+ }
344
+ newline();
345
+ console.log(colors.dim(' Share it: paste it in your PR, add the badge to your README.'));
346
+ newline();
347
+ }
348
+ else {
349
+ // Print to stdout (can be piped to file)
350
+ process.stdout.write(markdown);
351
+ }
352
+ }
353
+ //# sourceMappingURL=report-command.js.map
@@ -57,7 +57,7 @@ export async function executeRunCommand(goal, options) {
57
57
  // Show advisory info
58
58
  if (riskTier === 't3') {
59
59
  // T3 - High risk warning
60
- console.log(warning('⚠️ High-risk operation detected (RiskTier T3)'));
60
+ console.log(warning('⚠️ High-risk changes ahead — review carefully before committing'));
61
61
  if (files.length > 0) {
62
62
  console.log(colors.dim(` Files: ${files.join(', ')}`));
63
63
  }
@@ -65,7 +65,7 @@ export async function executeRunCommand(goal, options) {
65
65
  newline();
66
66
  }
67
67
  else if (riskTier === 't2') {
68
- console.log(warning(`Risk tier: T2 - Review changes carefully before applying.`));
68
+ console.log(warning('Double-check these changes before applying — config files involved.'));
69
69
  newline();
70
70
  }
71
71
  if (environment !== 'local') {
@@ -122,7 +122,7 @@ export async function executeRunCommand(goal, options) {
122
122
  if (result.execution) {
123
123
  sectionHeader('Execution Results');
124
124
  if (result.execution.overallSuccess) {
125
- console.log(success('✓ Execution completed successfully'));
125
+ console.log(success('✓ Done'));
126
126
  }
127
127
  else {
128
128
  console.log(error('✗ Execution failed'));
@@ -0,0 +1,65 @@
1
+ /**
2
+ * CLI Command: scan-tool
3
+ *
4
+ * Reads a Claude Code PreToolUse hook event from stdin (JSON),
5
+ * runs Layer 0 security scan, and outputs a block/allow decision.
6
+ *
7
+ * This is the actual binary that Claude Code's hook system invokes.
8
+ * It must be fast (<100ms) and never crash — any failure falls through to allow.
9
+ *
10
+ * Usage (by hook system, not user):
11
+ * echo '{"hook_event_name":"PreToolUse","tool_name":"Bash","tool_input":{"command":"rm -rf /"}}' | codehere scan-tool
12
+ */
13
+ import { processHookEvent } from '../../../infrastructure/hooks/claude-sdk-hook.js';
14
+ export async function executeScanToolCommand(options) {
15
+ // Read all stdin
16
+ let raw = '';
17
+ try {
18
+ for await (const chunk of process.stdin) {
19
+ raw += chunk;
20
+ }
21
+ }
22
+ catch {
23
+ // If stdin read fails, allow the tool call
24
+ process.exit(0);
25
+ }
26
+ if (!raw.trim()) {
27
+ process.exit(0);
28
+ }
29
+ // Parse event JSON
30
+ let event;
31
+ try {
32
+ event = JSON.parse(raw);
33
+ }
34
+ catch {
35
+ // Malformed JSON — allow by default (fail open for dev experience)
36
+ if (options.debug) {
37
+ process.stderr.write('[codehere] Warning: could not parse hook event JSON\n');
38
+ }
39
+ process.exit(0);
40
+ }
41
+ try {
42
+ const decision = processHookEvent(event);
43
+ if (options.logOnly) {
44
+ // Log-only mode: never block, but log everything
45
+ if (options.debug && decision) {
46
+ process.stderr.write(`[codehere] Would block: ${decision.reason}\n`);
47
+ }
48
+ process.exit(0);
49
+ }
50
+ if (decision?.decision === 'block') {
51
+ // Output block decision as JSON (Claude Code hook contract)
52
+ process.stdout.write(JSON.stringify(decision) + '\n');
53
+ // Also write to stderr for user visibility
54
+ process.stderr.write(`\n${decision.reason}\n`);
55
+ process.exit(2); // non-zero exit = Claude Code treats as block signal
56
+ }
57
+ // Allow — exit 0 with no output
58
+ process.exit(0);
59
+ }
60
+ catch {
61
+ // Any scan failure: fail open (allow), never break developer workflow
62
+ process.exit(0);
63
+ }
64
+ }
65
+ //# sourceMappingURL=scan-tool-command.js.map
@@ -6,16 +6,24 @@
6
6
  import { readFileSync, existsSync, writeFileSync, mkdirSync } from 'fs';
7
7
  import { join } from 'path';
8
8
  import { getConfigManager } from '../../../infrastructure/config/config-manager.js';
9
- import { colors, separator, newline, sectionHeader, success, error, warning, info, createBanner, createWelcomeMessage, } from '../../../ui.js';
9
+ import { colors, separator, newline, sectionHeader, success, error, warning, info, } from '../../../ui.js';
10
10
  import { executionTracer } from '../../../infrastructure/observability/execution-tracer.js';
11
11
  import { findCodebaseRoot } from '../../../domain/services/codebase-detector.js';
12
12
  /**
13
- * Check if API key is configured
13
+ * Check if any API key is configured
14
14
  */
15
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 };
16
+ const providers = [
17
+ { env: 'ANTHROPIC_API_KEY', name: 'Anthropic' },
18
+ { env: 'OPENAI_API_KEY', name: 'OpenAI' },
19
+ { env: 'COHERE_API_KEY', name: 'Cohere' },
20
+ { env: 'OPENROUTER_API_KEY', name: 'OpenRouter' },
21
+ ];
22
+ for (const { env, name } of providers) {
23
+ const key = process.env[env];
24
+ if (key && key.trim() && !key.includes('your_key_here') && key.length > 10) {
25
+ return { configured: true, provider: name, key };
26
+ }
19
27
  }
20
28
  return { configured: false };
21
29
  }
@@ -109,12 +117,10 @@ export async function executeSetupCommand(force = false) {
109
117
  console.log();
110
118
  console.log(warning('Interactive terminal required.'));
111
119
  console.log();
112
- console.log('For non-interactive setup, configure environment variables directly:');
113
- console.log(colors.dim(' • COHERE_API_KEY=<your-cohere-api-key>'));
114
- console.log(colors.dim(' • OPENAI_API_KEY=<your-openai-api-key> (optional)'));
115
- console.log(colors.dim(' • CODEHERE_AI_PROVIDER=cohere|openai|local'));
116
- console.log();
117
- console.log(colors.dim('See: https://docs.codehere.ai/setup'));
120
+ console.log('Set an API key in your environment:');
121
+ console.log(colors.cyan(' export ANTHROPIC_API_KEY=sk-ant-...') + colors.dim(' (recommended)'));
122
+ console.log(colors.cyan(' export OPENAI_API_KEY=sk-...'));
123
+ console.log(colors.cyan(' export COHERE_API_KEY=...'));
118
124
  return;
119
125
  }
120
126
  // Start execution tracing
@@ -124,39 +130,9 @@ export async function executeSetupCommand(force = false) {
124
130
  });
125
131
  try {
126
132
  const isFirstTime = !isSetupComplete() || force;
127
- // Welcome banner for first-time users
128
- if (isFirstTime) {
129
- newline();
130
- console.log(createWelcomeMessage());
131
- newline();
132
- console.log(createBanner('Welcome to Codehere', 'Your AI-powered coding assistant'));
133
- newline();
134
- // Feature overview for first-time users
135
- console.log(colors.bold('What Codehere Can Do:'));
136
- console.log(colors.dim(' • ') + colors.cyan('Ask questions') + colors.dim(' about your codebase'));
137
- console.log(colors.dim(' • ') + colors.cyan('Edit code') + colors.dim(' with natural language instructions'));
138
- console.log(colors.dim(' • ') + colors.cyan('Explain code') + colors.dim(' files and functions'));
139
- console.log(colors.dim(' • ') + colors.cyan('Plan complex tasks') + colors.dim(' with multi-step workflows'));
140
- console.log(colors.dim(' • ') + colors.cyan('Multi-agent orchestration') + colors.dim(' for advanced tasks'));
141
- newline();
142
- console.log(colors.bold('Quick Start Guide:'));
143
- console.log(colors.dim(' 1. ') + colors.cyan('codehere "explain this function"') + colors.dim(' - Ask questions'));
144
- console.log(colors.dim(' 2. ') + colors.cyan('codehere "add error handling to auth.ts"') + colors.dim(' - Edit code'));
145
- console.log(colors.dim(' 3. ') + colors.cyan('codehere plan "refactor authentication"') + colors.dim(' - Plan tasks'));
146
- newline();
147
- console.log(separator('═', 80));
148
- console.log(colors.bold('Setup Wizard'));
149
- console.log(separator('═', 80));
150
- newline();
151
- }
152
- else {
153
- // Regular setup header for reconfigure
154
- newline();
155
- console.log(separator('═', 80));
156
- console.log(colors.bold('Codehere - Setup Wizard'));
157
- console.log(separator('═', 80));
158
- newline();
159
- }
133
+ newline();
134
+ console.log(colors.bold('Setup'));
135
+ newline();
160
136
  // Check if already set up
161
137
  if (!force && isSetupComplete()) {
162
138
  console.log(info('Setup has already been completed.'));
@@ -175,19 +151,17 @@ export async function executeSetupCommand(force = false) {
175
151
  sectionHeader('Step 1: API Key Configuration');
176
152
  const apiKeyCheck = checkAPIKey();
177
153
  if (apiKeyCheck.configured) {
178
- console.log(success(`API Key: Found and configured`));
154
+ console.log(success(`API Key: ${apiKeyCheck.provider} key found`));
179
155
  console.log(colors.dim(` Key preview: ${apiKeyCheck.key?.substring(0, 8)}...${apiKeyCheck.key?.substring(apiKeyCheck.key.length - 4)}`));
180
156
  result.apiKeyConfigured = true;
181
157
  }
182
158
  else {
183
159
  console.log(warning('API Key: Not configured'));
184
160
  newline();
185
- console.log(colors.bold('To configure your API key:'));
186
- console.log(colors.dim(` 1. Get your API key from: ${colors.cyan('https://dashboard.cohere.com/api-keys')}`));
187
- console.log(colors.dim(` 2. Create a .env file in your project root:`));
188
- console.log(colors.cyan(' echo "COHERE_API_KEY=your_key_here" > .env'));
189
- console.log(colors.dim(` 3. Or export it in your shell:`));
190
- console.log(colors.cyan(' export COHERE_API_KEY=your_key_here'));
161
+ console.log(colors.bold('Set one of these environment variables:'));
162
+ console.log(colors.cyan(' export ANTHROPIC_API_KEY=sk-ant-...') + colors.dim(' (recommended)'));
163
+ console.log(colors.cyan(' export OPENAI_API_KEY=sk-...'));
164
+ console.log(colors.cyan(' export COHERE_API_KEY=...'));
191
165
  newline();
192
166
  }
193
167
  newline();
@@ -199,9 +173,9 @@ export async function executeSetupCommand(force = false) {
199
173
  result.modelDetected = model;
200
174
  }
201
175
  else {
202
- console.log(info('Model: Using default (Command R+)'));
203
- console.log(colors.dim(' Run model evaluation to set preferred model.'));
204
- result.modelDetected = 'Command R+ (default)';
176
+ console.log(info('Model: Using default (Claude Sonnet)'));
177
+ console.log(colors.dim(' Configurable via .codehere/providers.json'));
178
+ result.modelDetected = 'Claude Sonnet (default)';
205
179
  }
206
180
  newline();
207
181
  // Step 3: Codebase Detection
@@ -243,35 +217,14 @@ export async function executeSetupCommand(force = false) {
243
217
  // Save configuration
244
218
  configManager.saveConfig();
245
219
  result.configPath = configManager.getConfigPath();
246
- console.log(separator('═', 80));
247
- console.log(success('Setup Complete!'));
248
- console.log(separator('═', 80));
249
220
  newline();
250
- console.log(colors.bold('Configuration Saved:'));
251
- console.log(colors.dim(` ${result.configPath}`));
221
+ console.log(success('Done.'));
222
+ newline();
223
+ console.log(colors.bold('Next steps:'));
224
+ console.log(colors.dim(` 1. ${colors.cyan('codehere index')} Build search index`));
225
+ console.log(colors.dim(` 2. ${colors.cyan('codehere trust .')} Scan for vulnerabilities`));
226
+ console.log(colors.dim(` 3. ${colors.cyan('codehere')} Launch interactive session`));
252
227
  newline();
253
- // Enhanced next steps with feature discovery
254
- if (isFirstTime) {
255
- console.log(colors.bold('🎉 Setup Complete! Next Steps:'));
256
- console.log(colors.dim(` 1. Index your codebase: ${colors.cyan('codehere index')}`));
257
- console.log(colors.dim(` 2. Try asking a question: ${colors.cyan('codehere "explain this function"')}`));
258
- console.log(colors.dim(` 3. Get help: ${colors.cyan('codehere --help')}`));
259
- newline();
260
- console.log(colors.bold('💡 Pro Tip:'));
261
- console.log(colors.dim(' After you\'ve tried the basics, discover advanced features:'));
262
- console.log(colors.dim(` • Multi-agent orchestration: ${colors.cyan('codehere orchestrate')}`));
263
- console.log(colors.dim(` • ReAct reasoning: ${colors.cyan('codehere react')}`));
264
- console.log(colors.dim(` • Configuration: ${colors.cyan('codehere config')}`));
265
- newline();
266
- }
267
- else {
268
- console.log(colors.bold('Next Steps:'));
269
- console.log(colors.dim(` 1. Index your codebase: ${colors.cyan('codehere index')}`));
270
- console.log(colors.dim(` 2. Try asking a question: ${colors.cyan('codehere "explain this function"')}`));
271
- console.log(colors.dim(` 3. Get help: ${colors.cyan('codehere --help')}`));
272
- console.log(colors.dim(` 4. Configure preferences: ${colors.cyan('codehere config')}`));
273
- newline();
274
- }
275
228
  saveSetupConfig(result);
276
229
  // Track onboarding completion for first-time users
277
230
  if (isFirstTime) {