codehere 0.1.1 → 0.2.2

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 +8 -17
  49. package/dist/parallel-processor.js +50 -122
  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 +267 -274
  69. package/dist/presentation/cli/commands/undo-command.js +2 -2
  70. package/dist/search.js +37 -67
  71. package/dist/session.js +595 -484
  72. package/dist/task-verification.js +4 -4
  73. package/dist/token-optimizer.js +1 -6
  74. package/dist/ui.js +132 -16
  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 +36 -43
  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
@@ -2,11 +2,11 @@
2
2
  * Application Use Case: EditFileUseCase
3
3
  * Handles file editing with verification and Reflexion
4
4
  */
5
+ const DEBUG = process.env.CODEHERE_DEBUG === '1';
5
6
  import { container } from '../services/dependency-container.js';
6
7
  import { backupFile, rollbackFile } from '../../verification/backup.js';
7
8
  import { executionTracer } from '../../infrastructure/observability/execution-tracer.js';
8
9
  import { validateFilePath } from '../../infrastructure/security/input-validator.js';
9
- import { calculateCost } from '../../infrastructure/cost-calculator.js';
10
10
  export class EditFileUseCase {
11
11
  aiService;
12
12
  verificationService;
@@ -62,11 +62,6 @@ export class EditFileUseCase {
62
62
  rootNodeId = lineage?.rootNodeId;
63
63
  }
64
64
  }
65
- // Cost tracking variables (populated during AI generation)
66
- let usage;
67
- let model;
68
- let costBreakdown;
69
- let explanation; // Explanation of changes (if requested)
70
65
  // Validate file path
71
66
  const pathValidation = validateFilePath(request.filepath);
72
67
  if (!pathValidation.valid) {
@@ -90,7 +85,8 @@ export class EditFileUseCase {
90
85
  regulatoryRelevant: this.isRegulatoryRelevant(request.filepath, request.instruction),
91
86
  };
92
87
  const governDecision = await this.nistAIRMF.govern(riskContext);
93
- console.log(`[EditFileUseCase] NIST AI RMF Govern: ${governDecision.decision}`);
88
+ if (DEBUG)
89
+ console.log(`[EditFileUseCase] NIST AI RMF Govern: ${governDecision.decision}`);
94
90
  if (governDecision.outcome === 'blocked') {
95
91
  return {
96
92
  success: false,
@@ -98,44 +94,14 @@ export class EditFileUseCase {
98
94
  };
99
95
  }
100
96
  if (governDecision.outcome === 'requires_review') {
101
- console.warn(`[EditFileUseCase] ⚠️ Governance requires review: ${governDecision.rationale}`);
102
- }
103
- }
104
- // CRITICAL FIX: Security check FIRST (before any expensive operations)
105
- // This prevents wasting time and tokens on dangerous code
106
- // RESEARCH CONTEXT: 45% of AI-generated code has security flaws, 35% has license issues
107
- // Use Enhanced Security Gate if available (includes all scanners), fallback to SAST only
108
- if (this.enhancedSecurityGate) {
109
- // Fast pre-check on instruction before generating edit
110
- const fastCheck = await this.enhancedSecurityGate.fastCheck(request.instruction);
111
- if (!fastCheck.allowed) {
112
- return {
113
- success: false,
114
- error: `Security vulnerabilities detected in instruction: ${fastCheck.findings.join('; ')}`,
115
- securityFindings: fastCheck.findings,
116
- };
117
- }
118
- }
119
- else if (this.sastScanner) {
120
- // Legacy: Quick security check on instruction before generating edit
121
- // This is a fast pattern-based check, full AI scan happens after edit generation
122
- // Skip security checks in test mode (CODEHERE_SKIP_SECURITY=1)
123
- const skipSecurity = process.env.CODEHERE_SKIP_SECURITY === '1';
124
- if (!skipSecurity) {
125
- const quickSecurityCheck = await this.sastScanner.scanInstruction(request.instruction);
126
- if (quickSecurityCheck && quickSecurityCheck.findings && quickSecurityCheck.findings.length > 0) {
127
- const criticalFindings = quickSecurityCheck.findings.filter((f) => f.severity === 'critical') || [];
128
- const highFindings = quickSecurityCheck.findings.filter((f) => f.severity === 'high') || [];
129
- if (criticalFindings.length > 0 || highFindings.length > 0) {
130
- return {
131
- success: false,
132
- error: `Security vulnerabilities detected: ${criticalFindings.length} critical, ${highFindings.length} high severity findings. Review and fix before applying.`,
133
- securityFindings: quickSecurityCheck.findings,
134
- };
135
- }
136
- }
97
+ if (DEBUG)
98
+ console.warn(`[EditFileUseCase] ⚠️ Governance requires review: ${governDecision.rationale}`);
137
99
  }
138
100
  }
101
+ // NOTE: We do NOT scan the instruction text itself for security patterns.
102
+ // The instruction is a human request like "fix the SQL injection" — scanning it
103
+ // would block legitimate fix requests. Security scanning happens on the GENERATED
104
+ // code output, not on what the user asked for.
139
105
  const { readFileSync, writeFileSync, existsSync, mkdirSync } = await import('fs');
140
106
  const { join, dirname } = await import('path');
141
107
  // Use sanitized path if validation found issues
@@ -156,26 +122,33 @@ export class EditFileUseCase {
156
122
  });
157
123
  if (frictionPoint) {
158
124
  frictionApplied = frictionPoint;
159
- console.log(`[EditFileUseCase] ⚠️ Friction applied: ${frictionPoint.message}`);
125
+ if (DEBUG)
126
+ console.log(`[EditFileUseCase] ⚠️ Friction applied: ${frictionPoint.message}`);
160
127
  // For CLI: Log warning. For UI: This would pause and wait for user interaction
161
128
  if (frictionPoint.requiresExplicitConfirmation) {
162
129
  // In CLI, we'll allow it but log the warning
163
130
  // In UI, this would block until user confirms
164
- console.warn(`[EditFileUseCase] Explicit confirmation required: ${frictionPoint.message}`);
131
+ if (DEBUG)
132
+ console.warn(`[EditFileUseCase] Explicit confirmation required: ${frictionPoint.message}`);
165
133
  }
166
134
  }
167
135
  }
168
136
  // Handle file creation if file doesn't exist
169
137
  if (!fileExists) {
170
- console.log(`[EditFileUseCase] File does not exist, creating new file: ${fullPath}`);
171
- console.log(`[EditFileUseCase] Instruction: ${request.instruction}`);
138
+ if (DEBUG)
139
+ console.log(`[EditFileUseCase] File does not exist, creating new file: ${fullPath}`);
140
+ if (DEBUG)
141
+ console.log(`[EditFileUseCase] Instruction: ${request.instruction}`);
172
142
  return await this.createFile(request, fullPath);
173
143
  }
174
- console.log(`[EditFileUseCase] Editing existing file: ${fullPath}`);
175
- console.log(`[EditFileUseCase] Instruction: ${request.instruction}`);
144
+ if (DEBUG)
145
+ console.log(`[EditFileUseCase] Editing existing file: ${fullPath}`);
146
+ if (DEBUG)
147
+ console.log(`[EditFileUseCase] Instruction: ${request.instruction}`);
176
148
  // Read current content
177
149
  const currentContent = readFileSync(fullPath, 'utf-8');
178
- console.log(`[EditFileUseCase] File size: ${currentContent.length} chars`);
150
+ if (DEBUG)
151
+ console.log(`[EditFileUseCase] File size: ${currentContent.length} chars`);
179
152
  // Update risk level with file context
180
153
  const updatedRiskLevel = this.determineRiskLevel(request.instruction, currentContent);
181
154
  // 3. Check HITL Validation requirement
@@ -190,7 +163,8 @@ export class EditFileUseCase {
190
163
  })) {
191
164
  hitlRequired = true;
192
165
  // Note: In CLI, we proceed with warning. In UI, this would block until approval
193
- console.warn(`[EditFileUseCase] ⚠️ HITL validation required for this operation`);
166
+ if (DEBUG)
167
+ console.warn(`[EditFileUseCase] ⚠️ HITL validation required for this operation`);
194
168
  }
195
169
  // Track edit generation in lineage
196
170
  if (this.promptToCodeLineage && lineageId && rootNodeId) {
@@ -224,48 +198,22 @@ export class EditFileUseCase {
224
198
  enhancedInstruction = `${request.instruction}\n\n${contextParts.join('\n\n')}`;
225
199
  }
226
200
  }
227
- const editResult = await this.aiService.generateEdit(currentContent, enhancedInstruction, request.filepath, request.requestExplanation);
228
- // Extract diff and capture usage/cost/explanation data
229
- diff = editResult.text;
230
- usage = editResult.usage;
231
- model = editResult.model;
232
- explanation = editResult.explanation;
201
+ diff = await this.aiService.generateEdit(currentContent, enhancedInstruction, request.filepath);
233
202
  codeGenSpinner.stop();
234
- console.log(`[EditFileUseCase] Generated diff length: ${diff.length} chars`);
235
- // Calculate cost if usage data is available
236
- if (usage && model) {
237
- const provider = process.env.CODEHERE_AI_PROVIDER || 'openai';
238
- costBreakdown = calculateCost(usage, model, provider);
239
- console.log(`[EditFileUseCase] Cost: $${costBreakdown.totalCost.toFixed(4)} (${usage.inputTokens} input + ${usage.outputTokens} output tokens)`);
240
- }
241
- // P0 Security: Validate LLM output before processing
242
- if (this.enhancedSecurityGate) {
243
- const outputValidation = await this.enhancedSecurityGate.validateOutput(diff, {
244
- query: enhancedInstruction,
245
- operation: 'generateEdit',
246
- });
247
- if (!outputValidation.allowed) {
248
- return {
249
- success: false,
250
- error: `Security: Output validation failed. Findings: ${outputValidation.findings.join('; ')}`,
251
- securityFindings: outputValidation.findings,
252
- };
253
- }
254
- // Use sanitized output if available
255
- if (outputValidation.sanitized && outputValidation.sanitized !== diff) {
256
- console.warn(`[EditFileUseCase] Output sanitized due to security findings`);
257
- diff = outputValidation.sanitized;
258
- }
259
- }
203
+ if (DEBUG)
204
+ console.log(`[EditFileUseCase] Generated diff length: ${diff.length} chars`);
260
205
  if (diff.length > 0) {
261
- console.log(`[EditFileUseCase] Diff preview: ${diff.substring(0, 200)}...`);
206
+ if (DEBUG)
207
+ console.log(`[EditFileUseCase] Diff preview: ${diff.substring(0, 200)}...`);
262
208
  }
263
209
  else {
264
- console.warn(`[EditFileUseCase] Warning: Empty diff generated`);
210
+ if (DEBUG)
211
+ console.warn(`[EditFileUseCase] Warning: Empty diff generated`);
265
212
  }
266
213
  }
267
214
  catch (error) {
268
- console.error(`[EditFileUseCase] Failed to generate edit:`, error);
215
+ if (DEBUG)
216
+ console.error(`[EditFileUseCase] Failed to generate edit:`, error);
269
217
  return {
270
218
  success: false,
271
219
  error: `Failed to generate edit: ${error instanceof Error ? error.message : String(error)}`,
@@ -275,34 +223,53 @@ export class EditFileUseCase {
275
223
  let newContent;
276
224
  try {
277
225
  newContent = await this.applyDiff(currentContent, diff);
278
- console.log(`[EditFileUseCase] Applied diff, new content size: ${newContent.length} chars`);
226
+ if (DEBUG)
227
+ console.log(`[EditFileUseCase] Applied diff, new content size: ${newContent.length} chars`);
279
228
  // Check if content actually changed
280
229
  if (newContent === currentContent) {
281
- console.warn(`[EditFileUseCase] Warning: Content unchanged after applying diff`);
230
+ if (DEBUG)
231
+ console.warn(`[EditFileUseCase] Warning: Content unchanged after applying diff`);
282
232
  }
283
233
  else {
284
234
  const diffSize = newContent.length - currentContent.length;
285
- console.log(`[EditFileUseCase] Content changed: ${diffSize > 0 ? '+' : ''}${diffSize} chars difference`);
235
+ if (DEBUG)
236
+ console.log(`[EditFileUseCase] Content changed: ${diffSize > 0 ? '+' : ''}${diffSize} chars difference`);
286
237
  }
287
238
  }
288
239
  catch (error) {
289
- console.error(`[EditFileUseCase] Failed to apply diff:`, error);
240
+ if (DEBUG)
241
+ console.error(`[EditFileUseCase] Failed to apply diff:`, error);
290
242
  return {
291
243
  success: false,
292
244
  error: `Failed to apply diff: ${error instanceof Error ? error.message : String(error)}`,
293
245
  };
294
246
  }
295
- // Comprehensive security scan - before verification
296
- // RESEARCH CONTEXT: 45% AI code has flaws, 35% license issues, provider bias risk
297
- // Use Enhanced Security Gate if available (all scanners), fallback to SAST only
298
- let securityResult = null; // Will be set by security scan
247
+ // Security scan: compare BEFORE vs AFTER to detect NEW issues only.
248
+ // We don't block edits for pre-existing vulnerabilities — that would prevent
249
+ // users from fixing files that already have issues (the whole point of `codehere fix`).
250
+ let securityResult = null;
299
251
  if (this.enhancedSecurityGate) {
300
- // Show progress indicator for security scanning (can take 10-15s)
301
252
  const { createSpinner } = await import('../../ui.js');
302
253
  const securitySpinner = createSpinner('Scanning for security vulnerabilities...');
303
254
  securitySpinner.start();
304
- // Comprehensive scan: SAST + License + Provider Bias + Uncertainty
255
+ // Scan the NEW content
305
256
  securityResult = await this.enhancedSecurityGate.scan(request.filepath, newContent, request.instruction, { query: request.instruction });
257
+ // If the new content has issues, check if they're NEW or pre-existing
258
+ if (!securityResult.passed && fileExists) {
259
+ const originalContent = readFileSync(fullPath, 'utf-8');
260
+ const originalResult = await this.enhancedSecurityGate.scan(request.filepath, originalContent, '', {});
261
+ // Count findings: only block if the edit ADDED new vulnerabilities
262
+ const originalCount = (originalResult.sast?.findings?.length || 0);
263
+ const newCount = (securityResult.sast?.findings?.length || 0);
264
+ if (newCount <= originalCount) {
265
+ // Edit didn't make things worse — allow it, but warn
266
+ securityResult.passed = true;
267
+ if (newCount > 0) {
268
+ securityResult.warnings = securityResult.warnings || [];
269
+ securityResult.warnings.push(`File has ${newCount} pre-existing security finding(s). Consider fixing them too.`);
270
+ }
271
+ }
272
+ }
306
273
  securitySpinner.stop();
307
274
  if (!securityResult.passed) {
308
275
  const errorMessages = [
@@ -311,16 +278,16 @@ export class EditFileUseCase {
311
278
  ];
312
279
  return {
313
280
  success: false,
314
- error: `Security validation failed: ${errorMessages.join('; ')}`,
281
+ error: `Edit would introduce new security vulnerabilities: ${errorMessages.join('; ')}`,
315
282
  securityFindings: securityResult.sast.findings,
316
283
  licenseFindings: securityResult.license.findings,
317
284
  providerBiasFindings: securityResult.providerBias.findings,
318
285
  uncertaintyFindings: securityResult.uncertainty,
319
286
  };
320
287
  }
321
- // Log warnings for non-blocking issues (provider bias, uncertainty)
322
- if (securityResult.warnings.length > 0) {
323
- console.warn(`[EditFileUseCase] Security warnings: ${securityResult.warnings.join('; ')}`);
288
+ if (securityResult.warnings && securityResult.warnings.length > 0) {
289
+ if (DEBUG)
290
+ console.warn(`[EditFileUseCase] Security warnings: ${securityResult.warnings.join('; ')}`);
324
291
  }
325
292
  // NIST AI RMF: MAP - Context framing and risk identification (Enterprise Governance)
326
293
  if (this.nistAIRMF) {
@@ -346,7 +313,8 @@ export class EditFileUseCase {
346
313
  dependencies: 0, // Could be enhanced
347
314
  },
348
315
  });
349
- console.log(`[EditFileUseCase] NIST AI RMF Map: ${mapDecision.decision}`);
316
+ if (DEBUG)
317
+ console.log(`[EditFileUseCase] NIST AI RMF Map: ${mapDecision.decision}`);
350
318
  if (mapDecision.outcome === 'blocked') {
351
319
  return {
352
320
  success: false,
@@ -364,15 +332,19 @@ export class EditFileUseCase {
364
332
  providerBiasFindings: securityResult.providerBias.findings?.length || 0,
365
333
  uncertaintyScore: securityResult.uncertainty?.combined?.value,
366
334
  });
367
- console.log(`[EditFileUseCase] NIST AI RMF Measure: ${measureDecision.decision}`);
335
+ if (DEBUG)
336
+ console.log(`[EditFileUseCase] NIST AI RMF Measure: ${measureDecision.decision}`);
368
337
  }
369
338
  // Policy-as-Code: Evaluate policies before proceeding (Enterprise Governance)
370
- if (this.policyAsCode) {
339
+ // Skip policy check if the security gate already approved (edit didn't introduce new issues)
340
+ if (this.policyAsCode && securityResult && !securityResult.passed) {
371
341
  // Debug: Log security findings before policy evaluation
372
342
  const criticalHighFindings = securityResult.sast.findings.filter((f) => f.severity === 'critical' || f.severity === 'high');
373
- console.log(`[EditFileUseCase] Security scan: ${securityResult.sast.findings.length} total findings, ${criticalHighFindings.length} critical/high`);
343
+ if (DEBUG)
344
+ console.log(`[EditFileUseCase] Security scan: ${securityResult.sast.findings.length} total findings, ${criticalHighFindings.length} critical/high`);
374
345
  if (criticalHighFindings.length > 0) {
375
- console.log(`[EditFileUseCase] Critical/High findings:`, criticalHighFindings.map((f) => `${f.severity}: ${f.category} - ${f.description}`).join('; '));
346
+ if (DEBUG)
347
+ console.log(`[EditFileUseCase] Critical/High findings:`, criticalHighFindings.map((f) => `${f.severity}: ${f.category} - ${f.description}`).join('; '));
376
348
  }
377
349
  const policyEvaluation = await this.policyAsCode.evaluate({
378
350
  filepath: request.filepath,
@@ -384,18 +356,22 @@ export class EditFileUseCase {
384
356
  uncertainty: securityResult.uncertainty,
385
357
  });
386
358
  // Debug: Log policy evaluation results
387
- console.log(`[EditFileUseCase] Policy evaluation: ${policyEvaluation.results.length} rules evaluated, ${policyEvaluation.blockingRules.length} blocking`);
359
+ if (DEBUG)
360
+ console.log(`[EditFileUseCase] Policy evaluation: ${policyEvaluation.results.length} rules evaluated, ${policyEvaluation.blockingRules.length} blocking`);
388
361
  policyEvaluation.results.forEach((result) => {
389
362
  if (!result.passed) {
390
- console.log(`[EditFileUseCase] Policy rule "${result.ruleName}": ${result.message}`);
363
+ if (DEBUG)
364
+ console.log(`[EditFileUseCase] Policy rule "${result.ruleName}": ${result.message}`);
391
365
  if (result.evidence) {
392
- console.log(`[EditFileUseCase] Evidence:`, JSON.stringify(result.evidence, null, 2));
366
+ if (DEBUG)
367
+ console.log(`[EditFileUseCase] Evidence:`, JSON.stringify(result.evidence, null, 2));
393
368
  }
394
369
  }
395
370
  });
396
371
  if (!policyEvaluation.passed && policyEvaluation.blockingRules.length > 0) {
397
372
  const blockingRule = policyEvaluation.blockingRules[0];
398
- console.error(`[EditFileUseCase] Policy violation: ${blockingRule.ruleName} - ${blockingRule.message}`);
373
+ if (DEBUG)
374
+ console.error(`[EditFileUseCase] Policy violation: ${blockingRule.ruleName} - ${blockingRule.message}`);
399
375
  return {
400
376
  success: false,
401
377
  error: `Policy violation: ${blockingRule.message}`,
@@ -406,7 +382,8 @@ export class EditFileUseCase {
406
382
  };
407
383
  }
408
384
  if (policyEvaluation.results.length > 0) {
409
- console.log(`[EditFileUseCase] Policy evaluation: ${policyEvaluation.results.filter(r => r.passed).length}/${policyEvaluation.results.length} passed`);
385
+ if (DEBUG)
386
+ console.log(`[EditFileUseCase] Policy evaluation: ${policyEvaluation.results.filter(r => r.passed).length}/${policyEvaluation.results.length} passed`);
410
387
  }
411
388
  }
412
389
  // Track security scan in lineage
@@ -426,24 +403,45 @@ export class EditFileUseCase {
426
403
  }
427
404
  }
428
405
  else if (this.sastScanner) {
429
- // Legacy: SAST-only scan
406
+ // SAST-only scan: compare before vs after to only block NEW issues
430
407
  const securityCheck = await this.sastScanner.scan(request.filepath, newContent);
431
- const criticalFindings = securityCheck.findings?.filter(f => f.severity === 'critical') || [];
432
- const highFindings = securityCheck.findings?.filter(f => f.severity === 'high') || [];
433
- // Block edits with critical or high severity findings
434
- if (criticalFindings.length > 0 || highFindings.length > 0) {
435
- return {
436
- success: false,
437
- error: `Security vulnerabilities detected: ${criticalFindings.length} critical, ${highFindings.length} high severity findings. Review and fix before applying.`,
438
- securityFindings: securityCheck.findings,
439
- };
408
+ const newFindings = securityCheck.findings || [];
409
+ if (newFindings.length > 0 && fileExists) {
410
+ const originalContent = readFileSync(fullPath, 'utf-8');
411
+ const originalCheck = await this.sastScanner.scan(request.filepath, originalContent);
412
+ const originalCount = originalCheck.findings?.length || 0;
413
+ // Only block if the edit ADDED new vulnerabilities
414
+ if (newFindings.length > originalCount) {
415
+ const criticalFindings = newFindings.filter(f => f.severity === 'critical');
416
+ const highFindings = newFindings.filter(f => f.severity === 'high');
417
+ if (criticalFindings.length > 0 || highFindings.length > 0) {
418
+ return {
419
+ success: false,
420
+ error: `Edit would introduce new security vulnerabilities: ${criticalFindings.length} critical, ${highFindings.length} high severity findings.`,
421
+ securityFindings: newFindings,
422
+ };
423
+ }
424
+ }
425
+ }
426
+ else if (newFindings.length > 0 && !fileExists) {
427
+ // New file — block if it has critical/high issues
428
+ const criticalFindings = newFindings.filter(f => f.severity === 'critical');
429
+ const highFindings = newFindings.filter(f => f.severity === 'high');
430
+ if (criticalFindings.length > 0 || highFindings.length > 0) {
431
+ return {
432
+ success: false,
433
+ error: `Security vulnerabilities detected in new file: ${criticalFindings.length} critical, ${highFindings.length} high severity findings.`,
434
+ securityFindings: newFindings,
435
+ };
436
+ }
440
437
  }
441
438
  }
442
439
  // Create backup before applying edit
443
440
  let backupPath;
444
441
  try {
445
442
  backupPath = await backupFile(fullPath);
446
- console.log(`[EditFileUseCase] Backup created: ${backupPath}`);
443
+ if (DEBUG)
444
+ console.log(`[EditFileUseCase] Backup created: ${backupPath}`);
447
445
  // Link backup to current run for undo capability
448
446
  const runId = executionTracer.getCurrentRunId();
449
447
  if (runId) {
@@ -460,7 +458,8 @@ export class EditFileUseCase {
460
458
  }
461
459
  }
462
460
  catch (error) {
463
- console.warn(`[EditFileUseCase] Failed to create backup: ${error instanceof Error ? error.message : String(error)}`);
461
+ if (DEBUG)
462
+ console.warn(`[EditFileUseCase] Failed to create backup: ${error instanceof Error ? error.message : String(error)}`);
464
463
  // Continue anyway - backup failure shouldn't block edit
465
464
  }
466
465
  // 4. Team Standards Validation (before writing file)
@@ -469,13 +468,15 @@ export class EditFileUseCase {
469
468
  const teamId = 'default'; // TODO: Get from config or context
470
469
  const standardsResult = this.teamStandards.validateCode(teamId, newContent, request.filepath);
471
470
  if (!standardsResult.passed) {
472
- console.warn(`[EditFileUseCase] Team standards violations: ${standardsResult.violations.length}`);
471
+ if (DEBUG)
472
+ console.warn(`[EditFileUseCase] Team standards violations: ${standardsResult.violations.length}`);
473
473
  // Try auto-fix
474
474
  const fixedResult = this.teamStandards.applyStyleGuide(teamId, newContent, request.filepath);
475
475
  if (fixedResult.fixesApplied > 0) {
476
476
  newContent = fixedResult.modified;
477
477
  teamStandardsApplied = true;
478
- console.log(`[EditFileUseCase] Auto-fixed ${fixedResult.fixesApplied} style issues`);
478
+ if (DEBUG)
479
+ console.log(`[EditFileUseCase] Auto-fixed ${fixedResult.fixesApplied} style issues`);
479
480
  }
480
481
  else {
481
482
  // Critical violations that can't be auto-fixed
@@ -522,18 +523,11 @@ export class EditFileUseCase {
522
523
  uncertainty: securityResult?.uncertainty?.combined?.value,
523
524
  };
524
525
  displayReviewCheckpoint(reviewInfo);
525
- // Verify if verification service available and not skipped
526
+ // Verify if verification service available
526
527
  let verification;
527
- // Skip verification if --no-verify flag OR CODEHERE_SKIP_VERIFICATION=1 env var
528
- const skipVerification = request.skipVerification || process.env.CODEHERE_SKIP_VERIFICATION === '1';
529
- if (skipVerification) {
530
- const reason = request.skipVerification ? '--no-verify flag' : 'CODEHERE_SKIP_VERIFICATION=1';
531
- console.log(`[EditFileUseCase] ⚠️ Verification skipped (${reason})`);
532
- console.log(`[EditFileUseCase] Writing file without verification...`);
533
- writeFileSync(fullPath, newContent, 'utf-8');
534
- }
535
- else if (this.verificationService) {
536
- console.log(`[EditFileUseCase] Writing file and verifying...`);
528
+ if (this.verificationService) {
529
+ if (DEBUG)
530
+ console.log(`[EditFileUseCase] Writing file and verifying...`);
537
531
  writeFileSync(fullPath, newContent, 'utf-8');
538
532
  // Show progress indicator for verification (can take 5-10s)
539
533
  const { createSpinner } = await import('../../ui.js');
@@ -546,27 +540,34 @@ export class EditFileUseCase {
546
540
  else {
547
541
  verificationSpinner.fail('Verification failed');
548
542
  }
549
- console.log(`[EditFileUseCase] Verification result: success=${verification.success}, compiled=${verification.compiled}, testsPassed=${verification.testsPassed}`);
543
+ if (DEBUG)
544
+ console.log(`[EditFileUseCase] Verification result: success=${verification.success}, compiled=${verification.compiled}, testsPassed=${verification.testsPassed}`);
550
545
  if (verification.errors && verification.errors.length > 0) {
551
- console.error(`[EditFileUseCase] Verification errors: ${verification.errors.join('; ')}`);
546
+ if (DEBUG)
547
+ console.error(`[EditFileUseCase] Verification errors: ${verification.errors.join('; ')}`);
552
548
  }
553
549
  if (!verification.success) {
554
- console.warn(`[EditFileUseCase] Verification failed, rolling back...`);
550
+ if (DEBUG)
551
+ console.warn(`[EditFileUseCase] Verification failed, rolling back...`);
555
552
  // Automatic rollback on verification failure
556
553
  if (backupPath) {
557
554
  try {
558
555
  await rollbackFile(fullPath, backupPath);
559
- console.log(`[EditFileUseCase] File rolled back successfully`);
556
+ if (DEBUG)
557
+ console.log(`[EditFileUseCase] File rolled back successfully`);
560
558
  }
561
559
  catch (rollbackError) {
562
- console.error(`[EditFileUseCase] Rollback failed: ${rollbackError instanceof Error ? rollbackError.message : String(rollbackError)}`);
560
+ if (DEBUG)
561
+ console.error(`[EditFileUseCase] Rollback failed: ${rollbackError instanceof Error ? rollbackError.message : String(rollbackError)}`);
563
562
  // Try to restore from original content as fallback
564
563
  try {
565
564
  writeFileSync(fullPath, currentContent, 'utf-8');
566
- console.log(`[EditFileUseCase] File restored from original content`);
565
+ if (DEBUG)
566
+ console.log(`[EditFileUseCase] File restored from original content`);
567
567
  }
568
568
  catch (restoreError) {
569
- console.error(`[EditFileUseCase] Restore also failed: ${restoreError instanceof Error ? restoreError.message : String(restoreError)}`);
569
+ if (DEBUG)
570
+ console.error(`[EditFileUseCase] Restore also failed: ${restoreError instanceof Error ? restoreError.message : String(restoreError)}`);
570
571
  }
571
572
  }
572
573
  }
@@ -596,7 +597,8 @@ export class EditFileUseCase {
596
597
  }
597
598
  else {
598
599
  // No verification - just apply (still create backup for undo capability)
599
- console.log(`[EditFileUseCase] No verification service, writing file directly`);
600
+ if (DEBUG)
601
+ console.log(`[EditFileUseCase] No verification service, writing file directly`);
600
602
  writeFileSync(fullPath, newContent, 'utf-8');
601
603
  }
602
604
  const edit = {
@@ -623,7 +625,8 @@ export class EditFileUseCase {
623
625
  generatedBy: 'EditFileUseCase',
624
626
  },
625
627
  });
626
- console.log(`[EditFileUseCase] Edit recorded for learning`);
628
+ if (DEBUG)
629
+ console.log(`[EditFileUseCase] Edit recorded for learning`);
627
630
  }
628
631
  // 6. Complete Prompt-to-Code Lineage tracking
629
632
  if (this.promptToCodeLineage && lineageId && rootNodeId) {
@@ -635,9 +638,11 @@ export class EditFileUseCase {
635
638
  }, {
636
639
  verificationPassed: verification?.success || false,
637
640
  });
638
- console.log(`[EditFileUseCase] Lineage tracking complete`);
641
+ if (DEBUG)
642
+ console.log(`[EditFileUseCase] Lineage tracking complete`);
639
643
  }
640
- console.log(`[EditFileUseCase] Edit completed successfully`);
644
+ if (DEBUG)
645
+ console.log(`[EditFileUseCase] Edit completed successfully`);
641
646
  return {
642
647
  success: true,
643
648
  edit,
@@ -645,10 +650,6 @@ export class EditFileUseCase {
645
650
  frictionApplied,
646
651
  hitlRequired,
647
652
  hitlCheckpointId,
648
- usage,
649
- model,
650
- cost: costBreakdown,
651
- explanation,
652
653
  };
653
654
  }
654
655
  /**
@@ -661,18 +662,22 @@ export class EditFileUseCase {
661
662
  // Ensure directory exists
662
663
  const dir = dirname(fullPath);
663
664
  if (!existsSync(dir)) {
664
- console.log(`[EditFileUseCase] Creating directory: ${dir}`);
665
+ if (DEBUG)
666
+ console.log(`[EditFileUseCase] Creating directory: ${dir}`);
665
667
  mkdirSync(dir, { recursive: true });
666
668
  }
667
669
  // Generate file content using AI
668
- console.log(`[EditFileUseCase] Generating new file content...`);
670
+ if (DEBUG)
671
+ console.log(`[EditFileUseCase] Generating new file content...`);
669
672
  let fileContent;
670
673
  try {
671
674
  fileContent = await this.aiService.generateFileContent(request.filepath, request.instruction, request.requirements || []);
672
- console.log(`[EditFileUseCase] Generated content length: ${fileContent.length} chars`);
675
+ if (DEBUG)
676
+ console.log(`[EditFileUseCase] Generated content length: ${fileContent.length} chars`);
673
677
  }
674
678
  catch (error) {
675
- console.error(`[EditFileUseCase] Failed to generate file content:`, error);
679
+ if (DEBUG)
680
+ console.error(`[EditFileUseCase] Failed to generate file content:`, error);
676
681
  return {
677
682
  success: false,
678
683
  error: `Failed to generate file content: ${error instanceof Error ? error.message : String(error)}`,
@@ -693,15 +698,19 @@ export class EditFileUseCase {
693
698
  }
694
699
  // Write file
695
700
  writeFileSync(fullPath, fileContent, 'utf-8');
696
- console.log(`[EditFileUseCase] File created successfully: ${fullPath}`);
701
+ if (DEBUG)
702
+ console.log(`[EditFileUseCase] File created successfully: ${fullPath}`);
697
703
  // Verify if verification service available
698
704
  let verification;
699
705
  if (this.verificationService) {
700
- console.log(`[EditFileUseCase] Verifying new file...`);
706
+ if (DEBUG)
707
+ console.log(`[EditFileUseCase] Verifying new file...`);
701
708
  verification = await this.verificationService.verify(fullPath);
702
- console.log(`[EditFileUseCase] Verification result: success=${verification.success}, compiled=${verification.compiled}, testsPassed=${verification.testsPassed}`);
709
+ if (DEBUG)
710
+ console.log(`[EditFileUseCase] Verification result: success=${verification.success}, compiled=${verification.compiled}, testsPassed=${verification.testsPassed}`);
703
711
  if (!verification.success) {
704
- console.warn(`[EditFileUseCase] Verification failed for new file, but keeping it for inspection`);
712
+ if (DEBUG)
713
+ console.warn(`[EditFileUseCase] Verification failed for new file, but keeping it for inspection`);
705
714
  return {
706
715
  success: false,
707
716
  verification,
@@ -719,7 +728,8 @@ export class EditFileUseCase {
719
728
  verificationResult: verification,
720
729
  },
721
730
  };
722
- console.log(`[EditFileUseCase] File creation completed successfully`);
731
+ if (DEBUG)
732
+ console.log(`[EditFileUseCase] File creation completed successfully`);
723
733
  return {
724
734
  success: true,
725
735
  edit,
@@ -727,7 +737,8 @@ export class EditFileUseCase {
727
737
  };
728
738
  }
729
739
  catch (error) {
730
- console.error(`[EditFileUseCase] Failed to create file:`, error);
740
+ if (DEBUG)
741
+ console.error(`[EditFileUseCase] Failed to create file:`, error);
731
742
  return {
732
743
  success: false,
733
744
  error: `Failed to create file: ${error instanceof Error ? error.message : String(error)}`,