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
@@ -141,13 +141,13 @@ function checkJavaScript(filepath) {
141
141
  try {
142
142
  // Try to parse with node
143
143
  const content = readFileSync(filepath, 'utf-8');
144
- // Basic syntax check: try to parse
144
+ // Basic syntax check: use node --check (parse-only, no execution)
145
145
  try {
146
- // Use eval in a safe way to check syntax (just parsing, not execution)
147
- new Function(content);
146
+ execSync(`node --check "${filepath}"`, { stdio: 'pipe' });
148
147
  }
149
148
  catch (parseError) {
150
- errors.push(`Syntax error: ${parseError instanceof Error ? parseError.message : String(parseError)}`);
149
+ const msg = parseError instanceof Error ? parseError.message : String(parseError);
150
+ errors.push(`Syntax error: ${msg}`);
151
151
  return { success: false, errors, warnings };
152
152
  }
153
153
  return { success: true, errors, warnings };
@@ -3,12 +3,7 @@
3
3
  * 80-90% token reduction through smart compression
4
4
  */
5
5
  import { encoding_for_model } from 'tiktoken';
6
- import { getConfigManager } from './infrastructure/config/config-manager.js';
7
- // Token encoder - tiktoken is OpenAI-specific, use GPT model
8
- const tokenConfig = getConfigManager();
9
- const defaultModel = tokenConfig.getModel('default') || tokenConfig.getPreference('defaultModel');
10
- const tiktokenModel = (defaultModel && defaultModel.includes('gpt')) ? defaultModel : 'gpt-3.5-turbo';
11
- const enc = encoding_for_model(tiktokenModel);
6
+ const enc = encoding_for_model('gpt-3.5-turbo');
12
7
  /**
13
8
  * Optimize context to minimize tokens while preserving relevance
14
9
  */
package/dist/ui.js CHANGED
@@ -210,6 +210,35 @@ export function newline(count = 1) {
210
210
  console.log();
211
211
  }
212
212
  }
213
+ /**
214
+ * Show a human-voice "you need an API key" message and exit.
215
+ * Covers all supported providers — not just Cohere.
216
+ */
217
+ export function hasAnyApiKey() {
218
+ return !!(process.env.ANTHROPIC_API_KEY ||
219
+ process.env.OPENAI_API_KEY ||
220
+ process.env.COHERE_API_KEY ||
221
+ process.env.OPENROUTER_API_KEY ||
222
+ process.env.CODEHERE_AI_PROVIDER === 'local' ||
223
+ process.env.CODEHERE_FAKE_AI === '1');
224
+ }
225
+ export function requireApiKey() {
226
+ newline();
227
+ console.log(error('You need an API key to use this command.'));
228
+ newline();
229
+ console.log(' Fastest options:');
230
+ console.log(colors.cyan(' export ANTHROPIC_API_KEY=sk-ant-...') + colors.dim(' (Claude models — recommended)'));
231
+ console.log(colors.cyan(' export OPENAI_API_KEY=sk-...'));
232
+ console.log(colors.cyan(' export COHERE_API_KEY=...'));
233
+ console.log(colors.cyan(' export CODEHERE_AI_PROVIDER=local') + colors.dim(' (Ollama — no key needed)'));
234
+ newline();
235
+ console.log(colors.dim(' These work right now, no key needed:'));
236
+ console.log(colors.dim(' codehere trust .'));
237
+ console.log(colors.dim(' codehere hook status'));
238
+ console.log(colors.dim(' codehere serve'));
239
+ newline();
240
+ process.exit(1);
241
+ }
213
242
  // Status indicator
214
243
  export function statusIndicator(status) {
215
244
  const map = {
@@ -225,17 +254,16 @@ export function statusIndicator(status) {
225
254
  export function createCodehereLogo() {
226
255
  const text = 'codehere';
227
256
  const letters = text.split('');
228
- // Color stops: coral → purple → blue
229
- // RGB values for smooth gradient
257
+ // Color stops: coral → blue (matches landing page #ff9a76 → #4a90e2)
230
258
  const colorStops = [
231
- { r: 255, g: 127, b: 102 }, // coral
232
- { r: 255, g: 140, b: 120 }, // light coral
233
- { r: 230, g: 150, b: 180 }, // coral-purple
234
- { r: 200, g: 160, b: 200 }, // purple
235
- { r: 180, g: 170, b: 220 }, // light purple
236
- { r: 150, g: 180, b: 240 }, // purple-blue
237
- { r: 120, g: 190, b: 255 }, // light blue
238
- { r: 100, g: 180, b: 255 }, // blue
259
+ { r: 255, g: 154, b: 118 }, // #ff9a76 coral
260
+ { r: 255, g: 148, b: 110 },
261
+ { r: 230, g: 148, b: 130 },
262
+ { r: 200, g: 150, b: 155 },
263
+ { r: 160, g: 155, b: 190 },
264
+ { r: 120, g: 158, b: 218 },
265
+ { r: 85, g: 150, b: 232 },
266
+ { r: 74, g: 144, b: 226 }, // #4a90e2 blue
239
267
  ];
240
268
  // Map each letter to a color
241
269
  const coloredLetters = letters.map((letter, index) => {
@@ -252,7 +280,7 @@ import { getVersionWithPrefix } from './utils/version.js';
252
280
  export function createWelcomeMessage() {
253
281
  const logo = createCodehereLogo();
254
282
  const version = getVersionWithPrefix();
255
- const tagline = 'AI-powered coding assistant';
283
+ const tagline = 'AI coding agent with built-in safety';
256
284
  return `
257
285
  ${colors.bold(logo)} ${colors.dim(version)}
258
286
  ${colors.dim(tagline)}
@@ -320,15 +348,98 @@ export function createSessionWelcome() {
320
348
  welcomeBox += createLine(colors.dim(tip2));
321
349
  welcomeBox += borderColor('│') + ' '.repeat(width - 2) + borderColor('│\n');
322
350
  // Quick examples
323
- const examplesHeader = 'Quick examples:';
351
+ const examplesHeader = 'Quick start:';
324
352
  welcomeBox += createLine(colors.cyan(examplesHeader));
325
- const example1 = ' • explain src/index.ts';
353
+ const example1 = ' • codehere hook install — activate pre-execution scanning';
326
354
  welcomeBox += createLine(colors.dim(example1));
327
- const example2 = ' • fix src/utils.js "Add error handling"';
355
+ const example2 = ' • codehere trust . — score this codebase (no API key needed)';
328
356
  welcomeBox += createLine(colors.dim(example2));
329
- const example3 = ' • review src/auth.ts';
357
+ const example3 = ' • codehere report — generate shareable audit report';
330
358
  welcomeBox += createLine(colors.dim(example3));
331
359
  welcomeBox += borderColor('└' + '─'.repeat(width - 2) + '┘');
332
360
  return welcomeBox;
333
361
  }
362
+ // ── Delight utilities ─────────────────────────────────────────────────────────
363
+ const THINKING_MESSAGES = [
364
+ 'On it...',
365
+ 'Let me look...',
366
+ 'Thinking...',
367
+ 'One sec...',
368
+ 'Reading your code...',
369
+ 'Working through this...',
370
+ 'Bear with me...',
371
+ 'Pulling it together...',
372
+ ];
373
+ const FAREWELL_MESSAGES = [
374
+ 'See you later! 👋',
375
+ 'Happy shipping!',
376
+ 'Good luck out there.',
377
+ 'Back to building.',
378
+ 'See you on the next one.',
379
+ 'Later! Go build something great.',
380
+ 'Until next time.',
381
+ ];
382
+ const CLEAN_SCAN_CELEBRATIONS = [
383
+ 'Perfect score. Nothing to worry about.',
384
+ 'All clear — clean scan.',
385
+ 'Zero findings. Enjoy the green.',
386
+ 'Nothing suspicious. Carry on.',
387
+ 'Clean as a whistle.',
388
+ ];
389
+ export function randomThinkingMessage() {
390
+ return colors.dim(THINKING_MESSAGES[Math.floor(Math.random() * THINKING_MESSAGES.length)]);
391
+ }
392
+ export function randomFarewell() {
393
+ return info(FAREWELL_MESSAGES[Math.floor(Math.random() * FAREWELL_MESSAGES.length)]);
394
+ }
395
+ export function randomCleanScan() {
396
+ return CLEAN_SCAN_CELEBRATIONS[Math.floor(Math.random() * CLEAN_SCAN_CELEBRATIONS.length)];
397
+ }
398
+ export const SLASH_COMMANDS = [
399
+ // AI-powered
400
+ { name: 'ask', args: '<question>', description: 'Ask anything about your codebase' },
401
+ { name: 'explain', args: '<file>', description: 'Explain a file' },
402
+ { name: 'fix', args: '<file> <hint>', description: 'Apply a targeted fix' },
403
+ { name: 'review', args: '<file>', description: 'Code review with findings' },
404
+ { name: 'plan', args: '<goal>', description: 'Break a goal into steps' },
405
+ { name: 'suggest', args: '<query>', description: 'Read-only assistant — no changes' },
406
+ { name: 'test', args: '<file>', description: 'Generate tests for a file' },
407
+ { name: 'docs', args: '<type>', description: 'Generate documentation' },
408
+ { name: 'refactor', args: '<pattern> <instr>', description: 'Refactor across files' },
409
+ { name: 'orchestrate', args: '<goal>', description: 'Multi-agent workflow' },
410
+ { name: 'run', args: '<goal>', description: 'Execute a task or goal' },
411
+ { name: 'git-review', args: '', description: 'Review git changes' },
412
+ // Safety & config (no key)
413
+ { name: 'trust', args: '[path]', description: 'Scan for vulnerabilities', noKey: true },
414
+ { name: 'report', args: '[path]', description: 'Security audit report', noKey: true },
415
+ { name: 'hook', args: '[install|status]', description: 'Safety hook management', noKey: true },
416
+ { name: 'status', args: '', description: 'Dashboard — hook activity', noKey: true },
417
+ { name: 'health', args: '', description: 'System health check', noKey: true },
418
+ { name: 'index', args: '', description: 'Build the search index' },
419
+ { name: 'serve', args: '', description: 'Start MCP server', noKey: true },
420
+ { name: 'setup', args: '', description: 'Configure API provider', noKey: true },
421
+ { name: 'config', args: '[key] [value]', description: 'Manage preferences', noKey: true },
422
+ { name: 'cost', args: '', description: 'View API cost tracking', noKey: true },
423
+ { name: 'models', args: '', description: 'List available AI models', noKey: true },
424
+ { name: 'undo', args: '<file>', description: 'Undo file changes', noKey: true },
425
+ // Utility
426
+ { name: 'help', args: '', description: 'Command reference', noKey: true },
427
+ { name: 'clear', args: '', description: 'Clear the screen', noKey: true },
428
+ { name: 'exit', args: '', description: 'Leave the session', noKey: true },
429
+ ];
430
+ export function showSlashCommandMenu() {
431
+ newline();
432
+ console.log(colors.bold(' Slash commands'));
433
+ newline();
434
+ const maxNameLen = Math.max(...SLASH_COMMANDS.map(c => c.name.length + c.args.length)) + 1;
435
+ for (const cmd of SLASH_COMMANDS) {
436
+ const signature = `/${cmd.name}${cmd.args ? ' ' + cmd.args : ''}`;
437
+ const pad = ' '.repeat(Math.max(0, maxNameLen + 2 - signature.length + 8));
438
+ const badge = cmd.noKey ? colors.dim(' (no key)') : '';
439
+ console.log(` ${colors.cyan(signature)}${pad}${colors.dim(cmd.description)}${badge}`);
440
+ }
441
+ newline();
442
+ console.log(colors.dim(' Type any command with / prefix, or just ask a question directly.'));
443
+ newline();
444
+ }
334
445
  //# sourceMappingURL=ui.js.map
@@ -1,8 +1,7 @@
1
1
  /**
2
2
  * Utility: Check API Status
3
- * Checks if Cohere API is available and not rate limited
3
+ * Checks if any AI provider API is available
4
4
  */
5
- import { CohereClient } from 'cohere-ai';
6
5
  import { config } from 'dotenv';
7
6
  import { join, dirname } from 'path';
8
7
  import { fileURLToPath } from 'url';
@@ -16,23 +15,42 @@ try {
16
15
  catch { }
17
16
  config();
18
17
  export async function checkAPIStatus() {
19
- const apiKey = process.env.COHERE_API_KEY;
20
- if (!apiKey) {
18
+ const hasKey = !!(process.env.ANTHROPIC_API_KEY || process.env.OPENAI_API_KEY || process.env.COHERE_API_KEY);
19
+ if (!hasKey) {
21
20
  return {
22
21
  available: false,
23
22
  rateLimited: false,
24
- message: 'COHERE_API_KEY not found in environment',
23
+ message: 'No API key found (ANTHROPIC_API_KEY, OPENAI_API_KEY, or COHERE_API_KEY)',
25
24
  canProceed: false,
26
25
  };
27
26
  }
28
27
  try {
29
- const client = new CohereClient({ token: apiKey });
30
- // Minimal test call (embedding is cheapest)
31
- await client.embed({
32
- texts: ['test'],
33
- model: 'embed-english-v3.0',
34
- inputType: 'search_document',
35
- });
28
+ // Quick health check with whichever provider is available
29
+ if (process.env.ANTHROPIC_API_KEY) {
30
+ const r = await fetch('https://api.anthropic.com/v1/messages', {
31
+ method: 'POST',
32
+ headers: { 'x-api-key': process.env.ANTHROPIC_API_KEY, 'anthropic-version': '2023-06-01', 'content-type': 'application/json' },
33
+ body: JSON.stringify({ model: 'claude-sonnet-4-20250514', max_tokens: 1, messages: [{ role: 'user', content: 'hi' }] }),
34
+ });
35
+ if (!r.ok && r.status === 429)
36
+ throw Object.assign(new Error('Rate limited'), { status: 429 });
37
+ if (!r.ok)
38
+ throw new Error(`Anthropic API error: ${r.status}`);
39
+ }
40
+ else if (process.env.OPENAI_API_KEY) {
41
+ const r = await fetch('https://api.openai.com/v1/models', {
42
+ headers: { 'Authorization': `Bearer ${process.env.OPENAI_API_KEY}` },
43
+ });
44
+ if (!r.ok && r.status === 429)
45
+ throw Object.assign(new Error('Rate limited'), { status: 429 });
46
+ if (!r.ok)
47
+ throw new Error(`OpenAI API error: ${r.status}`);
48
+ }
49
+ else if (process.env.COHERE_API_KEY) {
50
+ const { CohereClient } = require('cohere-ai');
51
+ const client = new CohereClient({ token: process.env.COHERE_API_KEY });
52
+ await client.embed({ texts: ['test'], model: 'embed-english-v3.0', inputType: 'search_document' });
53
+ }
36
54
  return {
37
55
  available: true,
38
56
  rateLimited: false,
@@ -112,51 +112,26 @@ export function applyEditFallback(originalContent, diff) {
112
112
  }
113
113
  // Clean the diff
114
114
  let cleanDiff = diff.trim();
115
- // Strategy 1: Extract from markdown code blocks (handle multiple blocks, take the largest)
116
- const codeBlockMatches = cleanDiff.matchAll(/```(?:\w+)?\n([\s\S]*?)\n```/g);
117
- let largestBlock = '';
118
- for (const match of codeBlockMatches) {
119
- const blockContent = match[1].trim();
120
- if (blockContent.length > largestBlock.length) {
121
- largestBlock = blockContent;
122
- }
123
- }
124
- if (largestBlock) {
125
- console.log('[DiffParser] Strategy 1: Extracted from code block, length:', largestBlock.length);
126
- cleanDiff = largestBlock;
115
+ // Strategy 1: Extract from markdown code blocks
116
+ const codeBlockMatch = cleanDiff.match(/```(?:\w+)?\n([\s\S]*?)\n```/);
117
+ if (codeBlockMatch) {
118
+ cleanDiff = codeBlockMatch[1].trim();
127
119
  }
128
120
  // Strategy 2: Check if it's a complete file (no diff markers)
129
121
  const hasDiffMarkers = cleanDiff.includes('---') || cleanDiff.includes('+++') || cleanDiff.includes('@@');
130
122
  // If no diff markers and substantial content, treat as complete file
131
123
  if (!hasDiffMarkers) {
132
- // More lenient check: if content is different from original and substantial, use it
133
- // This handles simple files that don't have function/class keywords
134
- // For very small original files (< 20 chars), accept any substantial diff (> 10 chars)
135
- const originalIsSmall = originalContent.trim().length < 20;
136
- const isSubstantial = cleanDiff.length > 10 || (originalIsSmall && cleanDiff.length > originalContent.trim().length);
137
- const isDifferent = cleanDiff.trim() !== originalContent.trim();
138
- // Additional check: if it looks like code (has common patterns) OR is different from original
139
- // Use case-insensitive matching and check for patterns with word boundaries
140
- const looksLikeCode = /\bfunction\b/i.test(cleanDiff) ||
141
- /\bclass\b/i.test(cleanDiff) ||
142
- /\bimport\b/i.test(cleanDiff) ||
143
- /\bexport\b/i.test(cleanDiff) ||
144
- /\bconst\b/i.test(cleanDiff) ||
145
- /\basync\b/i.test(cleanDiff) ||
146
- /\bconsole\b/i.test(cleanDiff) ||
147
- /\breturn\b/i.test(cleanDiff) ||
148
- /\bif\s+/i.test(cleanDiff) ||
149
- /\btry\s*{/i.test(cleanDiff) ||
150
- /\bcatch\s*\(/i.test(cleanDiff) ||
151
- cleanDiff.includes('{') && cleanDiff.includes('}'); // Has code blocks
152
- if (isSubstantial && (looksLikeCode || isDifferent)) {
124
+ // Verify it looks like code (has common patterns)
125
+ const looksLikeCode = cleanDiff.includes('function') ||
126
+ cleanDiff.includes('class') ||
127
+ cleanDiff.includes('import') ||
128
+ cleanDiff.includes('export') ||
129
+ cleanDiff.includes('const') ||
130
+ cleanDiff.includes('async');
131
+ if (looksLikeCode && cleanDiff.length > 100) {
153
132
  // Likely complete file content
154
- console.log('[DiffParser] Strategy 2 matched: complete file content detected');
155
133
  return cleanDiff;
156
134
  }
157
- else {
158
- console.log('[DiffParser] Strategy 2 failed:', { isSubstantial, looksLikeCode, isDifferent, cleanDiffLength: cleanDiff.length, originalLength: originalContent.length });
159
- }
160
135
  }
161
136
  // Strategy 3: Try unified diff parsing if it has diff markers
162
137
  if (hasDiffMarkers) {
@@ -171,22 +146,17 @@ export function applyEditFallback(originalContent, diff) {
171
146
  }
172
147
  }
173
148
  catch (error) {
174
- console.warn('[DiffParser] Unified diff parsing failed:', error);
149
+ if (process.env.CODEHERE_DEBUG === '1')
150
+ console.warn('[DiffParser] Unified diff parsing failed:', error);
175
151
  }
176
152
  }
177
- // Strategy 4: Last resort - if it's substantial content and different from original, use it
178
- if (cleanDiff.length > 10 &&
179
- cleanDiff !== originalContent.trim() &&
180
- !cleanDiff.startsWith('---') &&
181
- !cleanDiff.startsWith('+++') &&
182
- !cleanDiff.toLowerCase().includes('here is') &&
183
- !cleanDiff.toLowerCase().includes('here\'s') &&
184
- !cleanDiff.toLowerCase().startsWith('the modified')) {
153
+ // Strategy 4: Last resort - if it's substantial content, use it
154
+ if (cleanDiff.length > 200 && !cleanDiff.startsWith('---') && !cleanDiff.startsWith('+++')) {
185
155
  return cleanDiff;
186
156
  }
187
157
  // Strategy 5: If all else fails, return original (safer than broken code)
188
- console.warn('[DiffParser] Could not parse diff, returning original content');
189
- console.warn('[DiffParser] Diff preview (first 200 chars):', cleanDiff.substring(0, 200));
158
+ if (process.env.CODEHERE_DEBUG === '1')
159
+ console.warn('[DiffParser] Could not parse diff, returning original content');
190
160
  return originalContent;
191
161
  }
192
162
  //# sourceMappingURL=diff-parser.js.map
@@ -193,23 +193,24 @@ async function verifyJavaScriptSyntax(filepath, code, options = {}) {
193
193
  const errors = [];
194
194
  const warnings = [];
195
195
  try {
196
- // Basic syntax check using Node.js parser
197
- // Use Function constructor for syntax-only check (doesn't execute)
196
+ // Syntax check: write to temp file and use node --check (parse-only, no execution)
197
+ const tmpFile = join(tmpdir(), `codehere-syntax-${Date.now()}.js`);
198
198
  try {
199
- new Function(code);
199
+ writeFileSync(tmpFile, code, 'utf-8');
200
+ execSync(`node --check "${tmpFile}"`, { stdio: 'pipe' });
200
201
  }
201
202
  catch (parseError) {
202
- // Extract meaningful error message
203
- const errorMsg = parseError.message || String(parseError);
204
- // Try to extract line number if available
203
+ const errorMsg = parseError instanceof Error ? parseError.message : String(parseError);
205
204
  const lineMatch = errorMsg.match(/line (\d+)/i) || errorMsg.match(/:(\d+):/);
206
205
  const lineNum = lineMatch ? lineMatch[1] : '?';
207
206
  errors.push(`Syntax error at line ${lineNum}: ${errorMsg}`);
208
- return {
209
- success: false,
210
- errors,
211
- warnings,
212
- };
207
+ return { success: false, errors, warnings };
208
+ }
209
+ finally {
210
+ try {
211
+ unlinkSync(tmpFile);
212
+ }
213
+ catch { /* ignore */ }
213
214
  }
214
215
  // Additional check: Try to parse as ES module
215
216
  // This catches import/export syntax errors
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "codehere",
3
- "version": "0.1.1",
4
- "description": "AI coding assistant focused on learning and understanding. Index your codebase, ask questions, plan tasks. Multi-provider support (OpenAI, Cohere, Ollama, OpenRouter). Local-first, privacy-focused.",
3
+ "version": "0.2.1",
4
+ "description": "Know what your AI agent actually did — scans every AI write before it touches your codebase",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
7
7
  "bin": {
@@ -13,7 +13,8 @@
13
13
  "LICENSE"
14
14
  ],
15
15
  "scripts": {
16
- "build": "node node_modules/typescript/bin/tsc",
16
+ "build": "tsc",
17
+ "prepublishOnly": "npm run build && find dist -name '*.map' -delete && find dist -name '*.d.ts' -delete",
17
18
  "start": "node dist/index.js",
18
19
  "start:api": "npm run build && node dist/api/server.js",
19
20
  "dev": "tsx src/index.ts",
@@ -36,7 +37,7 @@
36
37
  "check-api": "npm run build && tsx -e \"import('./dist/utils/check-api-status.js').then(m => m.checkAPIStatus().then(s => { console.log(s.canProceed ? '✅ ' + s.message : '❌ ' + s.message); process.exit(s.canProceed ? 0 : 1); }))\"",
37
38
  "test:all": "npm run build && npm run test:integration && npm run test:scenarios && npm run test:security && npm run test:security-gate && npm run test:git-workflow && npm run test:memory && npm run test:performance",
38
39
  "test:unit": "npm run build && tsx test/unit/run-unit-tests.ts",
39
- "test:coverage": "jest --coverage",
40
+ "test:coverage": "c8 npm run test:unit && c8 report --reporter=text --reporter=html",
40
41
  "test:rerank": "tsx test/rerank-integration.test.ts",
41
42
  "eval:command-r": "tsx test/command-a-evaluation.test.ts",
42
43
  "test:verification": "npm run build && node test-verification-simple.js",
@@ -46,33 +47,24 @@
46
47
  "smoke:cohere": "npm run build && tsx scripts/smoke-cohere.ts",
47
48
  "smoke:openai": "npm run build && tsx scripts/smoke-openai.ts",
48
49
  "test:real-providers": "npm run build && tsx test/integration/real-provider-comprehensive.test.ts",
49
- "test:user-flows": "npm run build && tsx test/integration/user-flow-validation.test.ts",
50
- "test:jest": "jest",
51
- "test:integration:jest": "jest --testPathPatterns=integration",
52
- "test:watch": "jest --watch"
50
+ "test:user-flows": "npm run build && tsx test/integration/user-flow-validation.test.ts"
53
51
  },
54
52
  "keywords": [
55
- "enterprise-safe",
56
- "coding-agent",
57
- "local-first",
53
+ "ai-coding-agent",
54
+ "code-security",
55
+ "sast",
56
+ "trust-scoring",
57
+ "ai-safety",
58
58
  "multi-agent",
59
- "privacy",
60
- "security",
61
- "ai",
62
- "semantic-search",
63
- "cohere",
64
- "openai",
65
- "openrouter",
66
- "ollama",
67
- "local-llm",
68
- "provider-abstraction",
69
- "multi-provider",
70
- "typescript",
59
+ "orchestration",
60
+ "claude-code",
61
+ "cursor",
62
+ "coding-assistant",
71
63
  "cli-tool",
72
- "code-analysis",
73
- "embeddings",
74
- "vector-search",
75
- "sqlite"
64
+ "code-review",
65
+ "hook-system",
66
+ "audit-trail",
67
+ "typescript"
76
68
  ],
77
69
  "author": "Muhammad Ega",
78
70
  "license": "MIT",
@@ -86,12 +78,11 @@
86
78
  "homepage": "https://codehere.uk",
87
79
  "logo": "https://codehere.uk/icon.svg",
88
80
  "dependencies": {
89
- "@aws-sdk/credential-providers": "^3.955.0",
90
81
  "boxen": "^8.0.1",
91
82
  "chalk": "^5.3.0",
92
83
  "cli-progress": "^3.12.0",
93
84
  "cli-table3": "^0.6.5",
94
- "cohere-ai": "^7.20.0",
85
+ "cohere-ai": "^7.7.0",
95
86
  "commander": "^11.1.0",
96
87
  "cors": "^2.8.5",
97
88
  "diff": "^5.1.0",
@@ -99,27 +90,23 @@
99
90
  "express": "^5.1.0",
100
91
  "get-tsconfig": "^4.13.0",
101
92
  "inquirer": "^13.0.1",
102
- "ora": "^9.0.0",
93
+ "ora": "^7.0.1",
103
94
  "resolve-pkg-maps": "^1.0.0",
104
95
  "sql.js": "^1.10.3",
105
96
  "tiktoken": "^1.0.10",
106
- "typescript": "^5.9.3",
107
97
  "wrap-ansi": "^9.0.2"
108
98
  },
109
99
  "devDependencies": {
110
- "@jest/globals": "^30.2.0",
111
100
  "@types/cli-progress": "^3.11.5",
112
101
  "@types/cors": "^2.8.19",
113
102
  "@types/diff": "^5.0.8",
114
103
  "@types/express": "^5.0.5",
115
- "@types/jest": "^30.0.0",
116
- "@types/node": "^20.19.27",
104
+ "@types/node": "^20.19.25",
117
105
  "@types/sql.js": "^1.4.8",
118
106
  "@types/supertest": "^6.0.3",
119
107
  "c8": "^10.1.3",
120
- "jest": "^30.2.0",
121
108
  "supertest": "^7.1.4",
122
- "ts-jest": "^29.4.6",
123
- "tsx": "^4.21.0"
109
+ "tsx": "^4.21.0",
110
+ "typescript": "^5.9.3"
124
111
  }
125
112
  }
@@ -1,107 +0,0 @@
1
- /**
2
- * Base Agent Interface
3
- * Foundation for multi-agent system in Codehere
4
- *
5
- * These agents ARE Codehere - they help end-users.
6
- * But organizing them this way makes it easier for YOU to develop and improve Codehere.
7
- */
8
- import type { IntentResult } from '../intent/classifier.js';
9
- import type { QueryContext } from '../intent/context.js';
10
- /**
11
- * Request to an agent
12
- */
13
- export interface AgentRequest {
14
- query: string;
15
- context: QueryContext;
16
- intent: IntentResult;
17
- caller?: string;
18
- metadata?: Record<string, any>;
19
- }
20
- /**
21
- * Response from an agent
22
- */
23
- export interface AgentResponse {
24
- success: boolean;
25
- result?: any;
26
- message?: string;
27
- error?: string;
28
- suggestions?: string[];
29
- nextAgent?: string;
30
- metadata?: Record<string, any>;
31
- }
32
- /**
33
- * Agent interface
34
- * Each agent owns a specific domain (e.g., ScaffoldAgent owns all templates)
35
- */
36
- export interface Agent {
37
- /** Unique agent name */
38
- name: string;
39
- /** Human-readable description */
40
- description: string;
41
- /** What this agent can do */
42
- capabilities: string[];
43
- /** Other agents this agent can call */
44
- canCall: string[];
45
- /** Handle a request */
46
- handle(request: AgentRequest): Promise<AgentResponse>;
47
- /** Check if this agent can handle a request */
48
- canHandle?(request: AgentRequest): boolean;
49
- /** Validate request before handling */
50
- validate?(request: AgentRequest): boolean;
51
- }
52
- /**
53
- * Base agent class
54
- * Provides common functionality for all agents
55
- */
56
- export declare abstract class BaseAgent implements Agent {
57
- abstract name: string;
58
- abstract description: string;
59
- abstract capabilities: string[];
60
- abstract canCall: string[];
61
- abstract handle(request: AgentRequest): Promise<AgentResponse>;
62
- /** Agent registry (set by OrchestratorAgent) */
63
- protected agentRegistry?: AgentRegistry;
64
- /**
65
- * Call another agent
66
- * Enables agent-to-agent collaboration
67
- */
68
- protected callAgent(agentName: string, request: AgentRequest): Promise<AgentResponse>;
69
- /**
70
- * Default canHandle implementation
71
- * Checks if intent matches agent's name
72
- */
73
- canHandle(request: AgentRequest): boolean;
74
- /**
75
- * Default validate implementation
76
- * Can be overridden by subclasses
77
- */
78
- validate(request: AgentRequest): boolean;
79
- }
80
- /**
81
- * Agent Registry
82
- * Manages all agents in the system
83
- */
84
- export declare class AgentRegistry {
85
- private agents;
86
- /**
87
- * Register an agent
88
- */
89
- register(agent: Agent): void;
90
- /**
91
- * Get an agent by name
92
- */
93
- get(name: string): Agent | undefined;
94
- /**
95
- * Get all registered agents
96
- */
97
- getAll(): Agent[];
98
- /**
99
- * Get agents by capability
100
- */
101
- getByCapability(capability: string): Agent[];
102
- /**
103
- * Get agent names
104
- */
105
- getNames(): string[];
106
- }
107
- //# sourceMappingURL=base.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/agents/base.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,KAAK;IACpB,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IAEb,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IAEpB,6BAA6B;IAC7B,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,uCAAuC;IACvC,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,uBAAuB;IACvB,MAAM,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAEtD,+CAA+C;IAC/C,SAAS,CAAC,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC;IAE3C,uCAAuC;IACvC,QAAQ,CAAC,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC;CAC3C;AAED;;;GAGG;AACH,8BAAsB,SAAU,YAAW,KAAK;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAE3B,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAE9D,gDAAgD;IAChD,SAAS,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IAExC;;;OAGG;cACa,SAAS,CACvB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,aAAa,CAAC;IA8BzB;;;OAGG;IACH,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAIzC;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;CAGzC;AAED;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAA4B;IAE1C;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAS5B;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAIpC;;OAEG;IACH,MAAM,IAAI,KAAK,EAAE;IAIjB;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,KAAK,EAAE;IAM5C;;OAEG;IACH,QAAQ,IAAI,MAAM,EAAE;CAGrB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/agents/base.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAwDH;;;GAGG;AACH,MAAM,OAAgB,SAAS;IAQ7B,gDAAgD;IACtC,aAAa,CAAiB;IAExC;;;OAGG;IACO,KAAK,CAAC,SAAS,CACvB,SAAiB,EACjB,OAAqB;QAErB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,kDAAkD;aAC1D,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,UAAU,SAAS,kCAAkC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;aACtH,CAAC;QACJ,CAAC;QAED,0DAA0D;QAC1D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjE,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,UAAU,IAAI,CAAC,IAAI,6BAA6B,SAAS,eAAe,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;aACzG,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC,MAAM,CAAC;YAClB,GAAG,OAAO;YACV,MAAM,EAAE,IAAI,CAAC,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,OAAqB;QAC7B,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,OAAqB;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,aAAa;IAChB,MAAM,GAAG,IAAI,GAAG,EAAiB,CAAC;IAE1C;;OAEG;IACH,QAAQ,CAAC,KAAY;QACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAEnC,4CAA4C;QAC5C,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;YAC9B,KAAa,CAAC,aAAa,GAAG,IAAI,CAAC;QACtC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,UAAkB;QAChC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAClC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CACxC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;CACF"}