codehere 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of codehere might be problematic. Click here for more details.

Files changed (603) hide show
  1. package/README.md +51 -25
  2. package/dist/agents/base.d.ts +107 -0
  3. package/dist/agents/base.d.ts.map +1 -0
  4. package/dist/agents/base.js +101 -0
  5. package/dist/agents/base.js.map +1 -0
  6. package/dist/agents/orchestrator-model-driven.d.ts +41 -0
  7. package/dist/agents/orchestrator-model-driven.d.ts.map +1 -0
  8. package/dist/agents/orchestrator-model-driven.js +141 -0
  9. package/dist/agents/orchestrator-model-driven.js.map +1 -0
  10. package/dist/agents/react-orchestrator-agent.d.ts +15 -0
  11. package/dist/agents/react-orchestrator-agent.d.ts.map +1 -0
  12. package/dist/agents/react-orchestrator-agent.js +54 -0
  13. package/dist/agents/react-orchestrator-agent.js.map +1 -0
  14. package/dist/application/agents/execution-agent.d.ts +68 -0
  15. package/dist/application/agents/execution-agent.d.ts.map +1 -0
  16. package/dist/application/agents/execution-agent.js +299 -0
  17. package/dist/application/agents/execution-agent.js.map +1 -0
  18. package/dist/application/agents/multi-agent-orchestrator.d.ts +64 -0
  19. package/dist/application/agents/multi-agent-orchestrator.d.ts.map +1 -0
  20. package/dist/application/agents/multi-agent-orchestrator.js +209 -0
  21. package/dist/application/agents/multi-agent-orchestrator.js.map +1 -0
  22. package/dist/application/agents/planning-agent.d.ts +61 -0
  23. package/dist/application/agents/planning-agent.d.ts.map +1 -0
  24. package/dist/application/agents/planning-agent.js +357 -0
  25. package/dist/application/agents/planning-agent.js.map +1 -0
  26. package/dist/application/agents/validation-agent.d.ts +64 -0
  27. package/dist/application/agents/validation-agent.d.ts.map +1 -0
  28. package/dist/application/agents/validation-agent.js +182 -0
  29. package/dist/application/agents/validation-agent.js.map +1 -0
  30. package/dist/application/architectures/plan-and-act.d.ts +94 -0
  31. package/dist/application/architectures/plan-and-act.d.ts.map +1 -0
  32. package/dist/application/architectures/plan-and-act.js +242 -0
  33. package/dist/application/architectures/plan-and-act.js.map +1 -0
  34. package/dist/application/index.d.ts +12 -0
  35. package/dist/application/index.d.ts.map +1 -0
  36. package/dist/application/index.js +12 -0
  37. package/dist/application/index.js.map +1 -0
  38. package/dist/application/services/agent-factory.d.ts +9 -0
  39. package/dist/application/services/agent-factory.d.ts.map +1 -0
  40. package/dist/application/services/agent-factory.js +28 -0
  41. package/dist/application/services/agent-factory.js.map +1 -0
  42. package/dist/application/services/dependency-container.d.ts +140 -0
  43. package/dist/application/services/dependency-container.d.ts.map +1 -0
  44. package/dist/application/services/dependency-container.js +402 -0
  45. package/dist/application/services/dependency-container.js.map +1 -0
  46. package/dist/application/services/git-context-service.d.ts +30 -0
  47. package/dist/application/services/git-context-service.d.ts.map +1 -0
  48. package/dist/application/services/git-context-service.js +83 -0
  49. package/dist/application/services/git-context-service.js.map +1 -0
  50. package/dist/application/services/intelligent-router.d.ts +74 -0
  51. package/dist/application/services/intelligent-router.d.ts.map +1 -0
  52. package/dist/application/services/intelligent-router.js +711 -0
  53. package/dist/application/services/intelligent-router.js.map +1 -0
  54. package/dist/application/services/tool-executor-service.d.ts +14 -0
  55. package/dist/application/services/tool-executor-service.d.ts.map +1 -0
  56. package/dist/application/services/tool-executor-service.js +94 -0
  57. package/dist/application/services/tool-executor-service.js.map +1 -0
  58. package/dist/application/use-cases/ask-question-use-case.d.ts +36 -0
  59. package/dist/application/use-cases/ask-question-use-case.d.ts.map +1 -0
  60. package/dist/application/use-cases/ask-question-use-case.js +150 -0
  61. package/dist/application/use-cases/ask-question-use-case.js.map +1 -0
  62. package/dist/application/use-cases/edit-file-use-case.d.ts +76 -0
  63. package/dist/application/use-cases/edit-file-use-case.d.ts.map +1 -0
  64. package/dist/application/use-cases/edit-file-use-case.js +685 -0
  65. package/dist/application/use-cases/edit-file-use-case.js.map +1 -0
  66. package/dist/application/use-cases/explain-file-use-case.d.ts +21 -0
  67. package/dist/application/use-cases/explain-file-use-case.d.ts.map +1 -0
  68. package/dist/application/use-cases/explain-file-use-case.js +50 -0
  69. package/dist/application/use-cases/explain-file-use-case.js.map +1 -0
  70. package/dist/application/use-cases/index-codebase-use-case.d.ts +46 -0
  71. package/dist/application/use-cases/index-codebase-use-case.d.ts.map +1 -0
  72. package/dist/application/use-cases/index-codebase-use-case.js +113 -0
  73. package/dist/application/use-cases/index-codebase-use-case.js.map +1 -0
  74. package/dist/application/use-cases/planning-use-case.d.ts +46 -0
  75. package/dist/application/use-cases/planning-use-case.d.ts.map +1 -0
  76. package/dist/application/use-cases/planning-use-case.js +267 -0
  77. package/dist/application/use-cases/planning-use-case.js.map +1 -0
  78. package/dist/application/use-cases/react-orchestration-use-case.d.ts +51 -0
  79. package/dist/application/use-cases/react-orchestration-use-case.d.ts.map +1 -0
  80. package/dist/application/use-cases/react-orchestration-use-case.js +325 -0
  81. package/dist/application/use-cases/react-orchestration-use-case.js.map +1 -0
  82. package/dist/application/use-cases/reflexion-use-case.d.ts +24 -0
  83. package/dist/application/use-cases/reflexion-use-case.d.ts.map +1 -0
  84. package/dist/application/use-cases/reflexion-use-case.js +30 -0
  85. package/dist/application/use-cases/reflexion-use-case.js.map +1 -0
  86. package/dist/application/workflows/deterministic-workflows.d.ts +61 -0
  87. package/dist/application/workflows/deterministic-workflows.d.ts.map +1 -0
  88. package/dist/application/workflows/deterministic-workflows.js +189 -0
  89. package/dist/application/workflows/deterministic-workflows.js.map +1 -0
  90. package/dist/cache.d.ts.map +1 -1
  91. package/dist/cache.js +1 -3
  92. package/dist/cache.js.map +1 -1
  93. package/dist/chat.js +10 -10
  94. package/dist/chat.js.map +1 -1
  95. package/dist/docs.d.ts.map +1 -1
  96. package/dist/docs.js +1 -2
  97. package/dist/docs.js.map +1 -1
  98. package/dist/domain/entities/code-chunk.d.ts +26 -0
  99. package/dist/domain/entities/code-chunk.d.ts.map +1 -0
  100. package/dist/domain/entities/code-chunk.js +6 -0
  101. package/dist/domain/entities/code-chunk.js.map +1 -0
  102. package/dist/domain/entities/decision.d.ts +37 -0
  103. package/dist/domain/entities/decision.d.ts.map +1 -0
  104. package/dist/domain/entities/decision.js +9 -0
  105. package/dist/domain/entities/decision.js.map +1 -0
  106. package/dist/domain/entities/edit.d.ts +35 -0
  107. package/dist/domain/entities/edit.d.ts.map +1 -0
  108. package/dist/domain/entities/edit.js +6 -0
  109. package/dist/domain/entities/edit.js.map +1 -0
  110. package/dist/domain/entities/knowledge-node.d.ts +83 -0
  111. package/dist/domain/entities/knowledge-node.d.ts.map +1 -0
  112. package/dist/domain/entities/knowledge-node.js +9 -0
  113. package/dist/domain/entities/knowledge-node.js.map +1 -0
  114. package/dist/domain/entities/knowledge-preservation.d.ts +42 -0
  115. package/dist/domain/entities/knowledge-preservation.d.ts.map +1 -0
  116. package/dist/domain/entities/knowledge-preservation.js +10 -0
  117. package/dist/domain/entities/knowledge-preservation.js.map +1 -0
  118. package/dist/domain/entities/memory.d.ts +36 -0
  119. package/dist/domain/entities/memory.d.ts.map +1 -0
  120. package/dist/domain/entities/memory.js +6 -0
  121. package/dist/domain/entities/memory.js.map +1 -0
  122. package/dist/domain/entities/pattern.d.ts +49 -0
  123. package/dist/domain/entities/pattern.d.ts.map +1 -0
  124. package/dist/domain/entities/pattern.js +7 -0
  125. package/dist/domain/entities/pattern.js.map +1 -0
  126. package/dist/domain/entities/plan.d.ts +42 -0
  127. package/dist/domain/entities/plan.d.ts.map +1 -0
  128. package/dist/domain/entities/plan.js +6 -0
  129. package/dist/domain/entities/plan.js.map +1 -0
  130. package/dist/domain/entities/query.d.ts +17 -0
  131. package/dist/domain/entities/query.d.ts.map +1 -0
  132. package/dist/domain/entities/query.js +6 -0
  133. package/dist/domain/entities/query.js.map +1 -0
  134. package/dist/domain/index.d.ts +16 -0
  135. package/dist/domain/index.d.ts.map +1 -0
  136. package/dist/domain/index.js +19 -0
  137. package/dist/domain/index.js.map +1 -0
  138. package/dist/domain/interfaces/ai-service.interface.d.ts +62 -0
  139. package/dist/domain/interfaces/ai-service.interface.d.ts.map +1 -0
  140. package/dist/domain/interfaces/ai-service.interface.js +6 -0
  141. package/dist/domain/interfaces/ai-service.interface.js.map +1 -0
  142. package/dist/domain/interfaces/code-analyzer.interface.d.ts +38 -0
  143. package/dist/domain/interfaces/code-analyzer.interface.d.ts.map +1 -0
  144. package/dist/domain/interfaces/code-analyzer.interface.js +6 -0
  145. package/dist/domain/interfaces/code-analyzer.interface.js.map +1 -0
  146. package/dist/domain/interfaces/decision-repository.interface.d.ts +51 -0
  147. package/dist/domain/interfaces/decision-repository.interface.d.ts.map +1 -0
  148. package/dist/domain/interfaces/decision-repository.interface.js +9 -0
  149. package/dist/domain/interfaces/decision-repository.interface.js.map +1 -0
  150. package/dist/domain/interfaces/embedding-repository.interface.d.ts +28 -0
  151. package/dist/domain/interfaces/embedding-repository.interface.d.ts.map +1 -0
  152. package/dist/domain/interfaces/embedding-repository.interface.js +6 -0
  153. package/dist/domain/interfaces/embedding-repository.interface.js.map +1 -0
  154. package/dist/domain/interfaces/knowledge-graph-repository.interface.d.ts +91 -0
  155. package/dist/domain/interfaces/knowledge-graph-repository.interface.d.ts.map +1 -0
  156. package/dist/domain/interfaces/knowledge-graph-repository.interface.js +9 -0
  157. package/dist/domain/interfaces/knowledge-graph-repository.interface.js.map +1 -0
  158. package/dist/domain/interfaces/knowledge-preservation-repository.interface.d.ts +50 -0
  159. package/dist/domain/interfaces/knowledge-preservation-repository.interface.d.ts.map +1 -0
  160. package/dist/domain/interfaces/knowledge-preservation-repository.interface.js +8 -0
  161. package/dist/domain/interfaces/knowledge-preservation-repository.interface.js.map +1 -0
  162. package/dist/domain/interfaces/memory-repository.interface.d.ts +49 -0
  163. package/dist/domain/interfaces/memory-repository.interface.d.ts.map +1 -0
  164. package/dist/domain/interfaces/memory-repository.interface.js +6 -0
  165. package/dist/domain/interfaces/memory-repository.interface.js.map +1 -0
  166. package/dist/domain/interfaces/pattern-repository.interface.d.ts +48 -0
  167. package/dist/domain/interfaces/pattern-repository.interface.d.ts.map +1 -0
  168. package/dist/domain/interfaces/pattern-repository.interface.js +6 -0
  169. package/dist/domain/interfaces/pattern-repository.interface.js.map +1 -0
  170. package/dist/domain/interfaces/verification-service.interface.d.ts +20 -0
  171. package/dist/domain/interfaces/verification-service.interface.d.ts.map +1 -0
  172. package/dist/domain/interfaces/verification-service.interface.js +6 -0
  173. package/dist/domain/interfaces/verification-service.interface.js.map +1 -0
  174. package/dist/domain/services/codebase-detector.d.ts +18 -0
  175. package/dist/domain/services/codebase-detector.d.ts.map +1 -0
  176. package/dist/domain/services/codebase-detector.js +91 -0
  177. package/dist/domain/services/codebase-detector.js.map +1 -0
  178. package/dist/domain/services/cross-team-pattern-sharing.d.ts +65 -0
  179. package/dist/domain/services/cross-team-pattern-sharing.d.ts.map +1 -0
  180. package/dist/domain/services/cross-team-pattern-sharing.js +125 -0
  181. package/dist/domain/services/cross-team-pattern-sharing.js.map +1 -0
  182. package/dist/domain/services/decision-recorder.d.ts +76 -0
  183. package/dist/domain/services/decision-recorder.d.ts.map +1 -0
  184. package/dist/domain/services/decision-recorder.js +223 -0
  185. package/dist/domain/services/decision-recorder.js.map +1 -0
  186. package/dist/domain/services/decision-retriever.d.ts +75 -0
  187. package/dist/domain/services/decision-retriever.d.ts.map +1 -0
  188. package/dist/domain/services/decision-retriever.js +133 -0
  189. package/dist/domain/services/decision-retriever.js.map +1 -0
  190. package/dist/domain/services/graded-memory-activation.d.ts +37 -0
  191. package/dist/domain/services/graded-memory-activation.d.ts.map +1 -0
  192. package/dist/domain/services/graded-memory-activation.js +69 -0
  193. package/dist/domain/services/graded-memory-activation.js.map +1 -0
  194. package/dist/domain/services/knowledge-access.d.ts +63 -0
  195. package/dist/domain/services/knowledge-access.d.ts.map +1 -0
  196. package/dist/domain/services/knowledge-access.js +132 -0
  197. package/dist/domain/services/knowledge-access.js.map +1 -0
  198. package/dist/domain/services/knowledge-extractor.d.ts +54 -0
  199. package/dist/domain/services/knowledge-extractor.d.ts.map +1 -0
  200. package/dist/domain/services/knowledge-extractor.js +247 -0
  201. package/dist/domain/services/knowledge-extractor.js.map +1 -0
  202. package/dist/domain/services/knowledge-graph-builder.d.ts +70 -0
  203. package/dist/domain/services/knowledge-graph-builder.d.ts.map +1 -0
  204. package/dist/domain/services/knowledge-graph-builder.js +268 -0
  205. package/dist/domain/services/knowledge-graph-builder.js.map +1 -0
  206. package/dist/domain/services/knowledge-graph-query.d.ts +69 -0
  207. package/dist/domain/services/knowledge-graph-query.d.ts.map +1 -0
  208. package/dist/domain/services/knowledge-graph-query.js +187 -0
  209. package/dist/domain/services/knowledge-graph-query.js.map +1 -0
  210. package/dist/domain/services/memory-retriever.d.ts +30 -0
  211. package/dist/domain/services/memory-retriever.d.ts.map +1 -0
  212. package/dist/domain/services/memory-retriever.js +82 -0
  213. package/dist/domain/services/memory-retriever.js.map +1 -0
  214. package/dist/domain/services/memory-synthesizer.d.ts +57 -0
  215. package/dist/domain/services/memory-synthesizer.d.ts.map +1 -0
  216. package/dist/domain/services/memory-synthesizer.js +91 -0
  217. package/dist/domain/services/memory-synthesizer.js.map +1 -0
  218. package/dist/domain/services/pattern-extractor.d.ts +108 -0
  219. package/dist/domain/services/pattern-extractor.d.ts.map +1 -0
  220. package/dist/domain/services/pattern-extractor.js +442 -0
  221. package/dist/domain/services/pattern-extractor.js.map +1 -0
  222. package/dist/domain/services/query-intent-classifier.d.ts +16 -0
  223. package/dist/domain/services/query-intent-classifier.d.ts.map +1 -0
  224. package/dist/domain/services/query-intent-classifier.js +140 -0
  225. package/dist/domain/services/query-intent-classifier.js.map +1 -0
  226. package/dist/domain/services/react-loop.d.ts +44 -0
  227. package/dist/domain/services/react-loop.d.ts.map +1 -0
  228. package/dist/domain/services/react-loop.js +110 -0
  229. package/dist/domain/services/react-loop.js.map +1 -0
  230. package/dist/edit.d.ts +0 -12
  231. package/dist/edit.d.ts.map +1 -1
  232. package/dist/edit.js +76 -351
  233. package/dist/edit.js.map +1 -1
  234. package/dist/embed.d.ts +0 -4
  235. package/dist/embed.d.ts.map +1 -1
  236. package/dist/embed.js +100 -174
  237. package/dist/embed.js.map +1 -1
  238. package/dist/error-handler.d.ts +1 -0
  239. package/dist/error-handler.d.ts.map +1 -1
  240. package/dist/error-handler.js +46 -3
  241. package/dist/error-handler.js.map +1 -1
  242. package/dist/index.js +228 -231
  243. package/dist/index.js.map +1 -1
  244. package/dist/infrastructure/ai/cohere-ai-service.d.ts +54 -0
  245. package/dist/infrastructure/ai/cohere-ai-service.d.ts.map +1 -0
  246. package/dist/infrastructure/ai/cohere-ai-service.js +547 -0
  247. package/dist/infrastructure/ai/cohere-ai-service.js.map +1 -0
  248. package/dist/infrastructure/ai/command-r-evaluation.d.ts +42 -0
  249. package/dist/infrastructure/ai/command-r-evaluation.d.ts.map +1 -0
  250. package/dist/infrastructure/ai/command-r-evaluation.js +206 -0
  251. package/dist/infrastructure/ai/command-r-evaluation.js.map +1 -0
  252. package/dist/infrastructure/ai/model-config.d.ts +47 -0
  253. package/dist/infrastructure/ai/model-config.d.ts.map +1 -0
  254. package/dist/infrastructure/ai/model-config.js +84 -0
  255. package/dist/infrastructure/ai/model-config.js.map +1 -0
  256. package/dist/infrastructure/cache/embedding-cache.d.ts +46 -0
  257. package/dist/infrastructure/cache/embedding-cache.d.ts.map +1 -0
  258. package/dist/infrastructure/cache/embedding-cache.js +104 -0
  259. package/dist/infrastructure/cache/embedding-cache.js.map +1 -0
  260. package/dist/infrastructure/chunking/ast-code-chunker.d.ts +12 -0
  261. package/dist/infrastructure/chunking/ast-code-chunker.d.ts.map +1 -0
  262. package/dist/infrastructure/chunking/ast-code-chunker.js +19 -0
  263. package/dist/infrastructure/chunking/ast-code-chunker.js.map +1 -0
  264. package/dist/infrastructure/chunking/code-aware-chunker.d.ts +63 -0
  265. package/dist/infrastructure/chunking/code-aware-chunker.d.ts.map +1 -0
  266. package/dist/infrastructure/chunking/code-aware-chunker.js +397 -0
  267. package/dist/infrastructure/chunking/code-aware-chunker.js.map +1 -0
  268. package/dist/infrastructure/config/config-manager.d.ts +79 -0
  269. package/dist/infrastructure/config/config-manager.d.ts.map +1 -0
  270. package/dist/infrastructure/config/config-manager.js +162 -0
  271. package/dist/infrastructure/config/config-manager.js.map +1 -0
  272. package/dist/infrastructure/cost/cost-tracker.d.ts +90 -0
  273. package/dist/infrastructure/cost/cost-tracker.d.ts.map +1 -0
  274. package/dist/infrastructure/cost/cost-tracker.js +353 -0
  275. package/dist/infrastructure/cost/cost-tracker.js.map +1 -0
  276. package/dist/infrastructure/file-scanner/file-scanner.d.ts +31 -0
  277. package/dist/infrastructure/file-scanner/file-scanner.d.ts.map +1 -0
  278. package/dist/infrastructure/file-scanner/file-scanner.js +106 -0
  279. package/dist/infrastructure/file-scanner/file-scanner.js.map +1 -0
  280. package/dist/infrastructure/governance/nist-ai-rmf.d.ts +107 -0
  281. package/dist/infrastructure/governance/nist-ai-rmf.d.ts.map +1 -0
  282. package/dist/infrastructure/governance/nist-ai-rmf.js +294 -0
  283. package/dist/infrastructure/governance/nist-ai-rmf.js.map +1 -0
  284. package/dist/infrastructure/governance/policy-as-code.d.ts +90 -0
  285. package/dist/infrastructure/governance/policy-as-code.d.ts.map +1 -0
  286. package/dist/infrastructure/governance/policy-as-code.js +244 -0
  287. package/dist/infrastructure/governance/policy-as-code.js.map +1 -0
  288. package/dist/infrastructure/governance/prompt-to-code-lineage.d.ts +138 -0
  289. package/dist/infrastructure/governance/prompt-to-code-lineage.d.ts.map +1 -0
  290. package/dist/infrastructure/governance/prompt-to-code-lineage.js +241 -0
  291. package/dist/infrastructure/governance/prompt-to-code-lineage.js.map +1 -0
  292. package/dist/infrastructure/index.d.ts +7 -0
  293. package/dist/infrastructure/index.d.ts.map +1 -0
  294. package/dist/infrastructure/index.js +7 -0
  295. package/dist/infrastructure/index.js.map +1 -0
  296. package/dist/infrastructure/observability/execution-tracer.d.ts +105 -0
  297. package/dist/infrastructure/observability/execution-tracer.d.ts.map +1 -0
  298. package/dist/infrastructure/observability/execution-tracer.js +190 -0
  299. package/dist/infrastructure/observability/execution-tracer.js.map +1 -0
  300. package/dist/infrastructure/observability/prompt-versioner.d.ts +67 -0
  301. package/dist/infrastructure/observability/prompt-versioner.d.ts.map +1 -0
  302. package/dist/infrastructure/observability/prompt-versioner.js +145 -0
  303. package/dist/infrastructure/observability/prompt-versioner.js.map +1 -0
  304. package/dist/infrastructure/protocols/a2a-metadata.d.ts +278 -0
  305. package/dist/infrastructure/protocols/a2a-metadata.d.ts.map +1 -0
  306. package/dist/infrastructure/protocols/a2a-metadata.js +137 -0
  307. package/dist/infrastructure/protocols/a2a-metadata.js.map +1 -0
  308. package/dist/infrastructure/protocols/a2a-protocol.d.ts +132 -0
  309. package/dist/infrastructure/protocols/a2a-protocol.d.ts.map +1 -0
  310. package/dist/infrastructure/protocols/a2a-protocol.js +314 -0
  311. package/dist/infrastructure/protocols/a2a-protocol.js.map +1 -0
  312. package/dist/infrastructure/protocols/mcp-oauth.d.ts +91 -0
  313. package/dist/infrastructure/protocols/mcp-oauth.d.ts.map +1 -0
  314. package/dist/infrastructure/protocols/mcp-oauth.js +184 -0
  315. package/dist/infrastructure/protocols/mcp-oauth.js.map +1 -0
  316. package/dist/infrastructure/protocols/mcp-server.d.ts +126 -0
  317. package/dist/infrastructure/protocols/mcp-server.d.ts.map +1 -0
  318. package/dist/infrastructure/protocols/mcp-server.js +333 -0
  319. package/dist/infrastructure/protocols/mcp-server.js.map +1 -0
  320. package/dist/infrastructure/protocols/streaming-handler.d.ts +57 -0
  321. package/dist/infrastructure/protocols/streaming-handler.d.ts.map +1 -0
  322. package/dist/infrastructure/protocols/streaming-handler.js +103 -0
  323. package/dist/infrastructure/protocols/streaming-handler.js.map +1 -0
  324. package/dist/infrastructure/security/ai-sast-scanner.d.ts +55 -0
  325. package/dist/infrastructure/security/ai-sast-scanner.d.ts.map +1 -0
  326. package/dist/infrastructure/security/ai-sast-scanner.js +163 -0
  327. package/dist/infrastructure/security/ai-sast-scanner.js.map +1 -0
  328. package/dist/infrastructure/security/docker-sandbox.d.ts +57 -0
  329. package/dist/infrastructure/security/docker-sandbox.d.ts.map +1 -0
  330. package/dist/infrastructure/security/docker-sandbox.js +178 -0
  331. package/dist/infrastructure/security/docker-sandbox.js.map +1 -0
  332. package/dist/infrastructure/security/enhanced-security-gate.d.ts +51 -0
  333. package/dist/infrastructure/security/enhanced-security-gate.d.ts.map +1 -0
  334. package/dist/infrastructure/security/enhanced-security-gate.js +92 -0
  335. package/dist/infrastructure/security/enhanced-security-gate.js.map +1 -0
  336. package/dist/infrastructure/security/input-validator.d.ts +33 -0
  337. package/dist/infrastructure/security/input-validator.d.ts.map +1 -0
  338. package/dist/infrastructure/security/input-validator.js +152 -0
  339. package/dist/infrastructure/security/input-validator.js.map +1 -0
  340. package/dist/infrastructure/security/license-scanner.d.ts +55 -0
  341. package/dist/infrastructure/security/license-scanner.d.ts.map +1 -0
  342. package/dist/infrastructure/security/license-scanner.js +167 -0
  343. package/dist/infrastructure/security/license-scanner.js.map +1 -0
  344. package/dist/infrastructure/security/provider-bias-detector.d.ts +53 -0
  345. package/dist/infrastructure/security/provider-bias-detector.d.ts.map +1 -0
  346. package/dist/infrastructure/security/provider-bias-detector.js +164 -0
  347. package/dist/infrastructure/security/provider-bias-detector.js.map +1 -0
  348. package/dist/infrastructure/security/sandbox-executor.d.ts +34 -0
  349. package/dist/infrastructure/security/sandbox-executor.d.ts.map +1 -0
  350. package/dist/infrastructure/security/sandbox-executor.js +64 -0
  351. package/dist/infrastructure/security/sandbox-executor.js.map +1 -0
  352. package/dist/infrastructure/storage/memory-stream-service.d.ts +47 -0
  353. package/dist/infrastructure/storage/memory-stream-service.d.ts.map +1 -0
  354. package/dist/infrastructure/storage/memory-stream-service.js +204 -0
  355. package/dist/infrastructure/storage/memory-stream-service.js.map +1 -0
  356. package/dist/infrastructure/storage/sqlite-decision-repository.d.ts +29 -0
  357. package/dist/infrastructure/storage/sqlite-decision-repository.d.ts.map +1 -0
  358. package/dist/infrastructure/storage/sqlite-decision-repository.js +232 -0
  359. package/dist/infrastructure/storage/sqlite-decision-repository.js.map +1 -0
  360. package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts +24 -0
  361. package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts.map +1 -0
  362. package/dist/infrastructure/storage/sqlite-embedding-repository.js +162 -0
  363. package/dist/infrastructure/storage/sqlite-embedding-repository.js.map +1 -0
  364. package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.d.ts +41 -0
  365. package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.d.ts.map +1 -0
  366. package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.js +417 -0
  367. package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.js.map +1 -0
  368. package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.d.ts +29 -0
  369. package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.d.ts.map +1 -0
  370. package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.js +230 -0
  371. package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.js.map +1 -0
  372. package/dist/infrastructure/storage/sqlite-memory-repository.d.ts +40 -0
  373. package/dist/infrastructure/storage/sqlite-memory-repository.d.ts.map +1 -0
  374. package/dist/infrastructure/storage/sqlite-memory-repository.js +229 -0
  375. package/dist/infrastructure/storage/sqlite-memory-repository.js.map +1 -0
  376. package/dist/infrastructure/storage/sqlite-pattern-repository.d.ts +25 -0
  377. package/dist/infrastructure/storage/sqlite-pattern-repository.d.ts.map +1 -0
  378. package/dist/infrastructure/storage/sqlite-pattern-repository.js +249 -0
  379. package/dist/infrastructure/storage/sqlite-pattern-repository.js.map +1 -0
  380. package/dist/infrastructure/ux/appropriate-friction.d.ts +77 -0
  381. package/dist/infrastructure/ux/appropriate-friction.d.ts.map +1 -0
  382. package/dist/infrastructure/ux/appropriate-friction.js +213 -0
  383. package/dist/infrastructure/ux/appropriate-friction.js.map +1 -0
  384. package/dist/infrastructure/ux/bi-directional-learning.d.ts +109 -0
  385. package/dist/infrastructure/ux/bi-directional-learning.d.ts.map +1 -0
  386. package/dist/infrastructure/ux/bi-directional-learning.js +200 -0
  387. package/dist/infrastructure/ux/bi-directional-learning.js.map +1 -0
  388. package/dist/infrastructure/ux/expectation-management.d.ts +65 -0
  389. package/dist/infrastructure/ux/expectation-management.d.ts.map +1 -0
  390. package/dist/infrastructure/ux/expectation-management.js +193 -0
  391. package/dist/infrastructure/ux/expectation-management.js.map +1 -0
  392. package/dist/infrastructure/ux/hitl-validation.d.ts +104 -0
  393. package/dist/infrastructure/ux/hitl-validation.d.ts.map +1 -0
  394. package/dist/infrastructure/ux/hitl-validation.js +211 -0
  395. package/dist/infrastructure/ux/hitl-validation.js.map +1 -0
  396. package/dist/infrastructure/ux/progressive-disclosure.d.ts +84 -0
  397. package/dist/infrastructure/ux/progressive-disclosure.d.ts.map +1 -0
  398. package/dist/infrastructure/ux/progressive-disclosure.js +235 -0
  399. package/dist/infrastructure/ux/progressive-disclosure.js.map +1 -0
  400. package/dist/infrastructure/ux/team-standards.d.ts +94 -0
  401. package/dist/infrastructure/ux/team-standards.d.ts.map +1 -0
  402. package/dist/infrastructure/ux/team-standards.js +196 -0
  403. package/dist/infrastructure/ux/team-standards.js.map +1 -0
  404. package/dist/infrastructure/verification/verification-service.d.ts +12 -0
  405. package/dist/infrastructure/verification/verification-service.d.ts.map +1 -0
  406. package/dist/infrastructure/verification/verification-service.js +47 -0
  407. package/dist/infrastructure/verification/verification-service.js.map +1 -0
  408. package/dist/infrastructure/xai/attention-visualizer.d.ts +73 -0
  409. package/dist/infrastructure/xai/attention-visualizer.d.ts.map +1 -0
  410. package/dist/infrastructure/xai/attention-visualizer.js +174 -0
  411. package/dist/infrastructure/xai/attention-visualizer.js.map +1 -0
  412. package/dist/infrastructure/xai/cot-visualizer.d.ts +105 -0
  413. package/dist/infrastructure/xai/cot-visualizer.d.ts.map +1 -0
  414. package/dist/infrastructure/xai/cot-visualizer.js +239 -0
  415. package/dist/infrastructure/xai/cot-visualizer.js.map +1 -0
  416. package/dist/infrastructure/xai/decision-tree-log.d.ts +104 -0
  417. package/dist/infrastructure/xai/decision-tree-log.d.ts.map +1 -0
  418. package/dist/infrastructure/xai/decision-tree-log.js +216 -0
  419. package/dist/infrastructure/xai/decision-tree-log.js.map +1 -0
  420. package/dist/infrastructure/xai/interactive-xai.d.ts +106 -0
  421. package/dist/infrastructure/xai/interactive-xai.d.ts.map +1 -0
  422. package/dist/infrastructure/xai/interactive-xai.js +262 -0
  423. package/dist/infrastructure/xai/interactive-xai.js.map +1 -0
  424. package/dist/infrastructure/xai/uncertainty-quantifier.d.ts +80 -0
  425. package/dist/infrastructure/xai/uncertainty-quantifier.d.ts.map +1 -0
  426. package/dist/infrastructure/xai/uncertainty-quantifier.js +201 -0
  427. package/dist/infrastructure/xai/uncertainty-quantifier.js.map +1 -0
  428. package/dist/intelligent-retrieval.d.ts.map +1 -1
  429. package/dist/intelligent-retrieval.js +8 -1
  430. package/dist/intelligent-retrieval.js.map +1 -1
  431. package/dist/intent/classifier.d.ts +6 -0
  432. package/dist/intent/classifier.d.ts.map +1 -0
  433. package/dist/intent/classifier.js +2 -0
  434. package/dist/intent/classifier.js.map +1 -0
  435. package/dist/intent/context.d.ts +4 -0
  436. package/dist/intent/context.d.ts.map +1 -0
  437. package/dist/intent/context.js +2 -0
  438. package/dist/intent/context.js.map +1 -0
  439. package/dist/iterative-refinement.d.ts.map +1 -1
  440. package/dist/iterative-refinement.js +20 -3
  441. package/dist/iterative-refinement.js.map +1 -1
  442. package/dist/learning.d.ts.map +1 -1
  443. package/dist/learning.js +1 -2
  444. package/dist/learning.js.map +1 -1
  445. package/dist/monitoring.d.ts.map +1 -1
  446. package/dist/monitoring.js +1 -2
  447. package/dist/monitoring.js.map +1 -1
  448. package/dist/parallel-processor.d.ts +3 -2
  449. package/dist/parallel-processor.d.ts.map +1 -1
  450. package/dist/parallel-processor.js +183 -56
  451. package/dist/parallel-processor.js.map +1 -1
  452. package/dist/presentation/cli/commands/ask-command.d.ts +8 -0
  453. package/dist/presentation/cli/commands/ask-command.d.ts.map +1 -0
  454. package/dist/presentation/cli/commands/ask-command.js +133 -0
  455. package/dist/presentation/cli/commands/ask-command.js.map +1 -0
  456. package/dist/presentation/cli/commands/config-command.d.ts +9 -0
  457. package/dist/presentation/cli/commands/config-command.d.ts.map +1 -0
  458. package/dist/presentation/cli/commands/config-command.js +123 -0
  459. package/dist/presentation/cli/commands/config-command.js.map +1 -0
  460. package/dist/presentation/cli/commands/cost-command.d.ts +8 -0
  461. package/dist/presentation/cli/commands/cost-command.d.ts.map +1 -0
  462. package/dist/presentation/cli/commands/cost-command.js +191 -0
  463. package/dist/presentation/cli/commands/cost-command.js.map +1 -0
  464. package/dist/presentation/cli/commands/decision-command.d.ts +12 -0
  465. package/dist/presentation/cli/commands/decision-command.d.ts.map +1 -0
  466. package/dist/presentation/cli/commands/decision-command.js +207 -0
  467. package/dist/presentation/cli/commands/decision-command.js.map +1 -0
  468. package/dist/presentation/cli/commands/help-command.d.ts +9 -0
  469. package/dist/presentation/cli/commands/help-command.d.ts.map +1 -0
  470. package/dist/presentation/cli/commands/help-command.js +281 -0
  471. package/dist/presentation/cli/commands/help-command.js.map +1 -0
  472. package/dist/presentation/cli/commands/knowledge-command.d.ts +13 -0
  473. package/dist/presentation/cli/commands/knowledge-command.d.ts.map +1 -0
  474. package/dist/presentation/cli/commands/knowledge-command.js +129 -0
  475. package/dist/presentation/cli/commands/knowledge-command.js.map +1 -0
  476. package/dist/presentation/cli/commands/learning-dashboard-command.d.ts +8 -0
  477. package/dist/presentation/cli/commands/learning-dashboard-command.d.ts.map +1 -0
  478. package/dist/presentation/cli/commands/learning-dashboard-command.js +183 -0
  479. package/dist/presentation/cli/commands/learning-dashboard-command.js.map +1 -0
  480. package/dist/presentation/cli/commands/orchestrate-command.d.ts +8 -0
  481. package/dist/presentation/cli/commands/orchestrate-command.d.ts.map +1 -0
  482. package/dist/presentation/cli/commands/orchestrate-command.js +112 -0
  483. package/dist/presentation/cli/commands/orchestrate-command.js.map +1 -0
  484. package/dist/presentation/cli/commands/plan-command.d.ts +8 -0
  485. package/dist/presentation/cli/commands/plan-command.d.ts.map +1 -0
  486. package/dist/presentation/cli/commands/plan-command.js +114 -0
  487. package/dist/presentation/cli/commands/plan-command.js.map +1 -0
  488. package/dist/presentation/cli/commands/react-command.d.ts +8 -0
  489. package/dist/presentation/cli/commands/react-command.d.ts.map +1 -0
  490. package/dist/presentation/cli/commands/react-command.js +99 -0
  491. package/dist/presentation/cli/commands/react-command.js.map +1 -0
  492. package/dist/presentation/cli/commands/setup-command.d.ts +10 -0
  493. package/dist/presentation/cli/commands/setup-command.d.ts.map +1 -0
  494. package/dist/presentation/cli/commands/setup-command.js +231 -0
  495. package/dist/presentation/cli/commands/setup-command.js.map +1 -0
  496. package/dist/presentation/cli/commands/smart-command.d.ts +6 -0
  497. package/dist/presentation/cli/commands/smart-command.d.ts.map +1 -0
  498. package/dist/presentation/cli/commands/smart-command.js +212 -0
  499. package/dist/presentation/cli/commands/smart-command.js.map +1 -0
  500. package/dist/presentation/cli/commands/trace-command.d.ts +8 -0
  501. package/dist/presentation/cli/commands/trace-command.d.ts.map +1 -0
  502. package/dist/presentation/cli/commands/trace-command.js +125 -0
  503. package/dist/presentation/cli/commands/trace-command.js.map +1 -0
  504. package/dist/presentation/cli/commands/undo-command.d.ts +8 -0
  505. package/dist/presentation/cli/commands/undo-command.d.ts.map +1 -0
  506. package/dist/presentation/cli/commands/undo-command.js +141 -0
  507. package/dist/presentation/cli/commands/undo-command.js.map +1 -0
  508. package/dist/presentation/cli/error-display.d.ts +23 -0
  509. package/dist/presentation/cli/error-display.d.ts.map +1 -0
  510. package/dist/presentation/cli/error-display.js +122 -0
  511. package/dist/presentation/cli/error-display.js.map +1 -0
  512. package/dist/refactor.d.ts.map +1 -1
  513. package/dist/refactor.js +2 -4
  514. package/dist/refactor.js.map +1 -1
  515. package/dist/search.d.ts.map +1 -1
  516. package/dist/search.js +2 -63
  517. package/dist/search.js.map +1 -1
  518. package/dist/session.d.ts.map +1 -1
  519. package/dist/session.js +52 -3
  520. package/dist/session.js.map +1 -1
  521. package/dist/testgen.d.ts.map +1 -1
  522. package/dist/testgen.js +1 -2
  523. package/dist/testgen.js.map +1 -1
  524. package/dist/tools/bash.d.ts +53 -0
  525. package/dist/tools/bash.d.ts.map +1 -0
  526. package/dist/tools/bash.js +213 -0
  527. package/dist/tools/bash.js.map +1 -0
  528. package/dist/tools/edit.d.ts +48 -0
  529. package/dist/tools/edit.d.ts.map +1 -0
  530. package/dist/tools/edit.js +235 -0
  531. package/dist/tools/edit.js.map +1 -0
  532. package/dist/tools/executor.d.ts +29 -0
  533. package/dist/tools/executor.d.ts.map +1 -0
  534. package/dist/tools/executor.js +153 -0
  535. package/dist/tools/executor.js.map +1 -0
  536. package/dist/tools/git-tool.d.ts +87 -0
  537. package/dist/tools/git-tool.d.ts.map +1 -0
  538. package/dist/tools/git-tool.js +292 -0
  539. package/dist/tools/git-tool.js.map +1 -0
  540. package/dist/tools/parser.d.ts +33 -0
  541. package/dist/tools/parser.d.ts.map +1 -0
  542. package/dist/tools/parser.js +158 -0
  543. package/dist/tools/parser.js.map +1 -0
  544. package/dist/tools/registry.d.ts +74 -0
  545. package/dist/tools/registry.d.ts.map +1 -0
  546. package/dist/tools/registry.js +302 -0
  547. package/dist/tools/registry.js.map +1 -0
  548. package/dist/tools/search.d.ts +41 -0
  549. package/dist/tools/search.d.ts.map +1 -0
  550. package/dist/tools/search.js +100 -0
  551. package/dist/tools/search.js.map +1 -0
  552. package/dist/ui.d.ts.map +1 -1
  553. package/dist/ui.js +4 -2
  554. package/dist/ui.js.map +1 -1
  555. package/dist/utils/check-api-status.d.ts +12 -0
  556. package/dist/utils/check-api-status.d.ts.map +1 -0
  557. package/dist/utils/check-api-status.js +82 -0
  558. package/dist/utils/check-api-status.js.map +1 -0
  559. package/dist/utils/diff-parser.d.ts +22 -0
  560. package/dist/utils/diff-parser.d.ts.map +1 -0
  561. package/dist/utils/diff-parser.js +160 -0
  562. package/dist/utils/diff-parser.js.map +1 -0
  563. package/dist/utils/logger.d.ts +34 -0
  564. package/dist/utils/logger.d.ts.map +1 -0
  565. package/dist/utils/logger.js +56 -0
  566. package/dist/utils/logger.js.map +1 -0
  567. package/dist/utils/version.d.ts +21 -0
  568. package/dist/utils/version.d.ts.map +1 -0
  569. package/dist/utils/version.js +52 -0
  570. package/dist/utils/version.js.map +1 -0
  571. package/dist/verification/backup.d.ts +30 -0
  572. package/dist/verification/backup.d.ts.map +1 -0
  573. package/dist/verification/backup.js +238 -0
  574. package/dist/verification/backup.js.map +1 -0
  575. package/dist/verification/compiler.d.ts +20 -0
  576. package/dist/verification/compiler.d.ts.map +1 -0
  577. package/dist/verification/compiler.js +228 -0
  578. package/dist/verification/compiler.js.map +1 -0
  579. package/dist/verification/index.d.ts +59 -0
  580. package/dist/verification/index.d.ts.map +1 -0
  581. package/dist/verification/index.js +273 -0
  582. package/dist/verification/index.js.map +1 -0
  583. package/dist/verification/test-runner.d.ts +27 -0
  584. package/dist/verification/test-runner.d.ts.map +1 -0
  585. package/dist/verification/test-runner.js +379 -0
  586. package/dist/verification/test-runner.js.map +1 -0
  587. package/package.json +39 -14
  588. package/ARCHITECTURE.md +0 -240
  589. package/CHANGELOG.md +0 -44
  590. package/CONTRIBUTING.md +0 -171
  591. package/dist/benchmark.d.ts +0 -39
  592. package/dist/benchmark.d.ts.map +0 -1
  593. package/dist/benchmark.js +0 -195
  594. package/dist/benchmark.js.map +0 -1
  595. package/dist/scaffold.d.ts +0 -14
  596. package/dist/scaffold.d.ts.map +0 -1
  597. package/dist/scaffold.js +0 -85
  598. package/dist/scaffold.js.map +0 -1
  599. package/templates/next-page/app/layout.tsx +0 -19
  600. package/templates/next-page/app/page.tsx +0 -10
  601. package/templates/next-page/package.json +0 -22
  602. package/templates/node-api/index.js +0 -57
  603. package/templates/node-api/package.json +0 -13
@@ -0,0 +1,547 @@
1
+ /**
2
+ * Infrastructure: CohereAIService
3
+ * Implements IAIService using Cohere API
4
+ */
5
+ import { CohereClient } from 'cohere-ai';
6
+ import { config } from 'dotenv';
7
+ import { join, dirname } from 'path';
8
+ import { fileURLToPath } from 'url';
9
+ import { encoding_for_model } from 'tiktoken';
10
+ import { retryWithBackoff, cohereCircuitBreaker } from '../../error-handler.js';
11
+ import { executionTracer } from '../observability/execution-tracer.js';
12
+ import { promptVersioner } from '../observability/prompt-versioner.js';
13
+ import { getModelConfigManager } from './model-config.js';
14
+ // Initialize tiktoken encoder for accurate token counting
15
+ // Using cl100k_base which is compatible with most models
16
+ let tokenEncoder = null;
17
+ function getTokenEncoder() {
18
+ if (!tokenEncoder) {
19
+ try {
20
+ tokenEncoder = encoding_for_model('gpt-3.5-turbo'); // cl100k_base encoding
21
+ }
22
+ catch {
23
+ // Fallback if model not found
24
+ tokenEncoder = encoding_for_model('gpt-4');
25
+ }
26
+ }
27
+ return tokenEncoder;
28
+ }
29
+ function countTokens(text) {
30
+ try {
31
+ const encoder = getTokenEncoder();
32
+ return encoder.encode(text).length;
33
+ }
34
+ catch (error) {
35
+ // Fallback: Use character-based estimate only if tiktoken completely fails
36
+ // This should rarely happen, but provides a safety net
37
+ console.warn('Warning: tiktoken failed, using character-based estimate (less accurate)');
38
+ return Math.ceil(text.length / 4);
39
+ }
40
+ }
41
+ // Load .env
42
+ try {
43
+ const __filename = fileURLToPath(import.meta.url);
44
+ const __dirname = dirname(__filename);
45
+ const agentDir = join(__dirname, '../../..');
46
+ config({ path: join(agentDir, '.env') });
47
+ }
48
+ catch { }
49
+ config();
50
+ export class CohereAIService {
51
+ client;
52
+ constructor() {
53
+ const apiKey = process.env.COHERE_API_KEY;
54
+ if (!apiKey) {
55
+ throw new Error('COHERE_API_KEY not found in environment');
56
+ }
57
+ this.client = new CohereClient({ token: apiKey });
58
+ }
59
+ async chat(query, context, memories) {
60
+ const contextText = context
61
+ .map((chunk, idx) => `[Chunk ${idx + 1} from ${chunk.filepath}]\n${chunk.content}`)
62
+ .join('\n\n---\n\n');
63
+ const memoryText = memories && memories.length > 0
64
+ ? `\n\nPREVIOUS EXPERIENCES:\n${memories.map(m => `- ${m.description}`).join('\n')}`
65
+ : '';
66
+ const prompt = `You are a strict coding assistant for enterprise environments.
67
+ Use ONLY the provided code context.
68
+
69
+ CONTEXT:
70
+ ${contextText}${memoryText}
71
+
72
+ USER QUERY:
73
+ ${query}`;
74
+ // Determine model based on context size and use case
75
+ // For now, use default. Command A evaluation will determine if we should migrate.
76
+ const model = this.selectModel(context.length, memories?.length || 0, 'chat');
77
+ // Register prompt version for reproducibility
78
+ const promptVersionId = promptVersioner.registerVersion(prompt, {
79
+ model: model || 'default',
80
+ temperature: 0.7,
81
+ operation: 'chat',
82
+ });
83
+ // Link to current run if available
84
+ const runId = executionTracer.getCurrentRunId();
85
+ if (runId) {
86
+ promptVersioner.linkRunToVersion(prompt, runId);
87
+ }
88
+ const startTime = Date.now();
89
+ return await retryWithBackoff(async () => {
90
+ return await cohereCircuitBreaker.execute(async () => {
91
+ // Trace LLM call
92
+ const traceId = executionTracer.trace({
93
+ operationType: 'llm_call',
94
+ operationName: 'chat',
95
+ input: { query, contextCount: context.length, memoryCount: memories?.length || 0 },
96
+ metadata: {
97
+ model: model || 'default',
98
+ temperature: 0.7,
99
+ promptVersionId,
100
+ },
101
+ });
102
+ try {
103
+ const response = await this.client.chat({
104
+ message: prompt,
105
+ ...(model ? { model } : {}), // Only add model if specified
106
+ temperature: 0.7, // Balanced for general chat/explanation
107
+ });
108
+ const result = response.text || 'No response generated';
109
+ const duration = Date.now() - startTime;
110
+ // Count tokens for trace metadata
111
+ const inputTokens = countTokens(prompt);
112
+ const outputTokens = countTokens(result);
113
+ // Update trace with output
114
+ executionTracer.trace({
115
+ operationType: 'llm_call',
116
+ operationName: 'chat',
117
+ output: { responseLength: result.length, inputTokens, outputTokens },
118
+ duration,
119
+ metadata: {
120
+ model: model || 'default',
121
+ temperature: 0.7,
122
+ promptVersionId,
123
+ },
124
+ });
125
+ return result;
126
+ }
127
+ catch (error) {
128
+ // Trace error
129
+ executionTracer.trace({
130
+ operationType: 'llm_call',
131
+ operationName: 'chat',
132
+ error: error instanceof Error ? error : new Error(String(error)),
133
+ duration: Date.now() - startTime,
134
+ metadata: {
135
+ model: model || 'default',
136
+ temperature: 0.7,
137
+ promptVersionId,
138
+ },
139
+ });
140
+ throw error;
141
+ }
142
+ });
143
+ }, {
144
+ maxRetries: 5,
145
+ baseDelay: 2000,
146
+ maxDelay: 60000,
147
+ operationName: 'chat',
148
+ });
149
+ }
150
+ /**
151
+ * Generate chat response with streaming support
152
+ * Real-time feedback for better UX (target: < 200ms latency)
153
+ *
154
+ * NOTE: Cohere SDK streaming implementation - using async iteration pattern
155
+ * Falls back to regular chat if streaming is not available
156
+ */
157
+ async chatStream(query, context, memories, streamHandler) {
158
+ const contextText = context
159
+ .map((chunk, idx) => `[Chunk ${idx + 1} from ${chunk.filepath}]\n${chunk.content}`)
160
+ .join('\n\n---\n\n');
161
+ const memoryText = memories && memories.length > 0
162
+ ? `\n\nPREVIOUS EXPERIENCES:\n${memories.map(m => `- ${m.description}`).join('\n')}`
163
+ : '';
164
+ const prompt = `You are a strict coding assistant for enterprise environments.
165
+ Use ONLY the provided code context.
166
+
167
+ CONTEXT:
168
+ ${contextText}${memoryText}
169
+
170
+ USER QUERY:
171
+ ${query}`;
172
+ const model = this.selectModel(context.length, memories?.length || 0, 'chat');
173
+ // Register prompt version
174
+ const promptVersionId = promptVersioner.registerVersion(prompt, {
175
+ model: model || 'default',
176
+ temperature: 0.7,
177
+ operation: 'chat-stream',
178
+ });
179
+ const runId = executionTracer.getCurrentRunId();
180
+ if (runId) {
181
+ promptVersioner.linkRunToVersion(prompt, runId);
182
+ }
183
+ const startTime = Date.now();
184
+ let fullText = '';
185
+ try {
186
+ // Trace streaming start
187
+ executionTracer.trace({
188
+ operationType: 'llm_call',
189
+ operationName: 'chat-stream',
190
+ input: { query, contextCount: context.length, memoryCount: memories?.length || 0 },
191
+ metadata: {
192
+ model: model || 'default',
193
+ temperature: 0.7,
194
+ promptVersionId,
195
+ streaming: true,
196
+ },
197
+ });
198
+ // Check if Cohere SDK supports streaming
199
+ // Cohere SDK v7+ should support streaming via chatStream method or stream option
200
+ // Fallback: Use regular chat if streaming not available
201
+ if (typeof this.client.chatStream === 'function') {
202
+ // Use Cohere's native streaming
203
+ const stream = await this.client.chatStream({
204
+ message: prompt,
205
+ ...(model ? { model } : {}),
206
+ temperature: 0.7,
207
+ });
208
+ // Process stream events (Cohere SDK typically uses async iterator)
209
+ for await (const event of stream) {
210
+ if (event.eventType === 'text-generation' || event.type === 'text') {
211
+ const token = event.text || event.delta || '';
212
+ if (token) {
213
+ fullText += token;
214
+ if (streamHandler.onToken) {
215
+ streamHandler.onToken(token);
216
+ }
217
+ }
218
+ }
219
+ }
220
+ }
221
+ else {
222
+ // Fallback: Use regular chat and simulate streaming
223
+ // Split response into chunks for better UX
224
+ const response = await this.client.chat({
225
+ message: prompt,
226
+ ...(model ? { model } : {}),
227
+ temperature: 0.7,
228
+ });
229
+ fullText = response.text || '';
230
+ // Simulate streaming by sending chunks
231
+ // Target: < 200ms latency (send chunks every 50-100ms)
232
+ const chunkSize = 10; // Characters per chunk
233
+ for (let i = 0; i < fullText.length; i += chunkSize) {
234
+ const chunk = fullText.substring(i, i + chunkSize);
235
+ if (streamHandler.onToken) {
236
+ streamHandler.onToken(chunk);
237
+ }
238
+ // Small delay to simulate streaming (only if text is long enough)
239
+ if (fullText.length > chunkSize * 2) {
240
+ await new Promise(resolve => setTimeout(resolve, 50));
241
+ }
242
+ }
243
+ }
244
+ const duration = Date.now() - startTime;
245
+ // Count tokens for trace metadata
246
+ const inputTokens = countTokens(prompt);
247
+ const outputTokens = countTokens(fullText);
248
+ // Update trace
249
+ executionTracer.trace({
250
+ operationType: 'llm_call',
251
+ operationName: 'chat-stream',
252
+ output: { responseLength: fullText.length, inputTokens, outputTokens },
253
+ duration,
254
+ metadata: {
255
+ model: model || 'default',
256
+ temperature: 0.7,
257
+ promptVersionId,
258
+ streaming: true,
259
+ },
260
+ });
261
+ // Call completion handler
262
+ if (streamHandler.onComplete) {
263
+ streamHandler.onComplete(fullText);
264
+ }
265
+ return fullText;
266
+ }
267
+ catch (error) {
268
+ const duration = Date.now() - startTime;
269
+ // Trace error
270
+ executionTracer.trace({
271
+ operationType: 'llm_call',
272
+ operationName: 'chat-stream',
273
+ error: error instanceof Error ? error : new Error(String(error)),
274
+ duration,
275
+ metadata: {
276
+ model: model || 'default',
277
+ temperature: 0.7,
278
+ promptVersionId,
279
+ streaming: true,
280
+ },
281
+ });
282
+ // Call error handler
283
+ if (streamHandler.onError) {
284
+ streamHandler.onError(error instanceof Error ? error : new Error(String(error)));
285
+ }
286
+ throw error;
287
+ }
288
+ }
289
+ /**
290
+ * Select appropriate model based on context size and use case
291
+ * Returns model name if we should use a specific model, undefined for default
292
+ * Uses model configuration from Command A evaluation results
293
+ */
294
+ selectModel(contextChunks, memoryCount, useCase = 'default') {
295
+ const modelConfig = getModelConfigManager();
296
+ // Check if Command models are available from evaluation
297
+ if (modelConfig.isCommandModelAvailable()) {
298
+ const preferredModel = modelConfig.getPreferredModel(useCase);
299
+ if (preferredModel) {
300
+ return preferredModel;
301
+ }
302
+ }
303
+ // Use default model for now (will be updated after Command A evaluation)
304
+ // Large context or many memories → might need Command A (after evaluation)
305
+ if (contextChunks > 20 || memoryCount > 10) {
306
+ // After evaluation, this will return the preferred Command model
307
+ return undefined; // Use default for now
308
+ }
309
+ return undefined; // Use default
310
+ }
311
+ /**
312
+ * Embed text as documents (for code chunks, memory storage)
313
+ * Uses 'search_document' input type for optimal document embedding
314
+ */
315
+ async embed(text) {
316
+ const texts = Array.isArray(text) ? text : [text];
317
+ return await retryWithBackoff(async () => {
318
+ return await cohereCircuitBreaker.execute(async () => {
319
+ const response = await this.client.embed({
320
+ texts,
321
+ model: 'embed-english-v3.0',
322
+ inputType: 'search_document', // For code chunks/documents
323
+ });
324
+ const embeddings = response.embeddings;
325
+ if (texts.length === 1) {
326
+ return embeddings[0];
327
+ }
328
+ return embeddings;
329
+ });
330
+ }, {
331
+ maxRetries: 5,
332
+ baseDelay: 2000,
333
+ maxDelay: 60000,
334
+ operationName: 'embed',
335
+ });
336
+ }
337
+ /**
338
+ * Embed text as a search query (for user queries)
339
+ * Uses 'search_query' input type for optimal query-document matching
340
+ * This is critical for better search quality!
341
+ */
342
+ async embedQuery(query) {
343
+ return await retryWithBackoff(async () => {
344
+ return await cohereCircuitBreaker.execute(async () => {
345
+ const response = await this.client.embed({
346
+ texts: [query],
347
+ model: 'embed-english-v3.0',
348
+ inputType: 'search_query', // For user queries - better matching!
349
+ });
350
+ const embeddings = response.embeddings;
351
+ // Handle both array and object response types
352
+ if (Array.isArray(embeddings)) {
353
+ if (embeddings.length === 0) {
354
+ throw new Error('No embedding returned for query');
355
+ }
356
+ return embeddings[0] || [];
357
+ }
358
+ else {
359
+ // Handle EmbedByTypeResponseEmbeddings type
360
+ const embeddingsArray = embeddings.float || [];
361
+ if (embeddingsArray.length === 0) {
362
+ throw new Error('No embedding returned for query');
363
+ }
364
+ return embeddingsArray[0] || [];
365
+ }
366
+ });
367
+ }, {
368
+ maxRetries: 5,
369
+ baseDelay: 2000,
370
+ maxDelay: 60000,
371
+ operationName: 'embedQuery',
372
+ });
373
+ }
374
+ async generateEdit(fileContent, instruction, filepath) {
375
+ // For simplicity and reliability, always request the complete modified file
376
+ // This avoids diff parsing issues and is more reliable
377
+ const prompt = `You are a code editor. Return the COMPLETE modified file content.
378
+
379
+ CRITICAL RULES:
380
+ 1. Return ONLY the complete modified file content - no explanations, no markdown, no code blocks
381
+ 2. If renaming a function/class/variable, you MUST update ALL references
382
+ 3. Maintain exact indentation and formatting from the original
383
+ 4. Only modify what's necessary for the instruction
384
+ 5. Return the ENTIRE file, not just the changes
385
+
386
+ FILE: ${filepath}
387
+
388
+ CURRENT CODE:
389
+ \`\`\`
390
+ ${fileContent}
391
+ \`\`\`
392
+
393
+ INSTRUCTION: ${instruction}
394
+
395
+ Return the COMPLETE modified file content (entire file, not a diff):`;
396
+ return await retryWithBackoff(async () => {
397
+ return await cohereCircuitBreaker.execute(async () => {
398
+ const response = await this.client.chat({
399
+ message: prompt,
400
+ temperature: 0.3, // Lower for deterministic code generation and editing
401
+ });
402
+ const result = response.text || '';
403
+ return result;
404
+ });
405
+ }, {
406
+ maxRetries: 3,
407
+ baseDelay: 2000,
408
+ maxDelay: 30000,
409
+ operationName: 'generateEdit',
410
+ });
411
+ }
412
+ async generateFileContent(filepath, instruction, requirements = []) {
413
+ const requirementsText = requirements.length > 0
414
+ ? `\n\nREQUIREMENTS:\n${requirements.map((r, i) => `${i + 1}. ${r}`).join('\n')}`
415
+ : '';
416
+ // Detect file type from extension
417
+ const ext = filepath.split('.').pop()?.toLowerCase() || '';
418
+ const languageMap = {
419
+ 'ts': 'TypeScript',
420
+ 'js': 'JavaScript',
421
+ 'tsx': 'TypeScript React',
422
+ 'jsx': 'JavaScript React',
423
+ 'py': 'Python',
424
+ 'java': 'Java',
425
+ 'go': 'Go',
426
+ 'rs': 'Rust',
427
+ 'rb': 'Ruby',
428
+ 'php': 'PHP',
429
+ 'vue': 'Vue',
430
+ 'svelte': 'Svelte',
431
+ 'html': 'HTML',
432
+ 'css': 'CSS',
433
+ 'json': 'JSON',
434
+ 'yaml': 'YAML',
435
+ 'yml': 'YAML',
436
+ 'md': 'Markdown',
437
+ 'sh': 'Bash',
438
+ 'bash': 'Bash',
439
+ };
440
+ const language = languageMap[ext] || 'code';
441
+ const prompt = `You are a code generator. Create a NEW ${language} file from scratch.
442
+
443
+ CRITICAL RULES:
444
+ 1. Return ONLY the complete file content - no explanations, no markdown, no code blocks
445
+ 2. Follow ${language} best practices and conventions
446
+ 3. Include proper imports, exports, and structure
447
+ 4. Add appropriate comments for clarity
448
+ 5. Ensure the code is production-ready and well-structured
449
+
450
+ FILE PATH: ${filepath}
451
+ FILE TYPE: ${language}${requirementsText}
452
+
453
+ INSTRUCTION: ${instruction}
454
+
455
+ Return the COMPLETE file content (entire file, ready to save):`;
456
+ return await retryWithBackoff(async () => {
457
+ return await cohereCircuitBreaker.execute(async () => {
458
+ const response = await this.client.chat({
459
+ message: prompt,
460
+ temperature: 0.35, // Slightly higher for new file generation (allows some creativity while staying deterministic)
461
+ });
462
+ let content = response.text || '';
463
+ // Clean up common markdown formatting
464
+ // Remove code blocks if present
465
+ content = content.replace(/^```[\w]*\n?/gm, '');
466
+ content = content.replace(/^```$/gm, '');
467
+ content = content.trim();
468
+ return content;
469
+ });
470
+ }, {
471
+ maxRetries: 3,
472
+ baseDelay: 2000,
473
+ maxDelay: 30000,
474
+ operationName: 'generateFileContent',
475
+ });
476
+ }
477
+ async generateReflection(trajectory, reward, errors) {
478
+ const prompt = `You are a self-reflection model. Analyze the following failed trajectory:
479
+
480
+ Trajectory:
481
+ ${JSON.stringify(trajectory, null, 2)}
482
+
483
+ Reward: ${reward}
484
+ Errors: ${errors.join('; ')}
485
+
486
+ Generate a reflective text that:
487
+ 1. Identifies the root cause of failure
488
+ 2. Explains what went wrong
489
+ 3. Suggests specific improvements for the next attempt
490
+ 4. Extracts lessons learned
491
+
492
+ Reflection:`;
493
+ return await retryWithBackoff(async () => {
494
+ return await cohereCircuitBreaker.execute(async () => {
495
+ const response = await this.client.chat({
496
+ message: prompt,
497
+ temperature: 0.5, // Balanced for reflection (analytical but open to insights)
498
+ });
499
+ const result = response.text || '';
500
+ return result;
501
+ });
502
+ }, {
503
+ maxRetries: 3,
504
+ baseDelay: 2000,
505
+ maxDelay: 30000,
506
+ operationName: 'generateReflection',
507
+ });
508
+ }
509
+ /**
510
+ * Rerank search results using Cohere Rerank API
511
+ * Implements two-stage retrieval: initial recall → rerank precision
512
+ *
513
+ * Strategy:
514
+ * 1. Initial retrieval (vector search) finds candidate documents
515
+ * 2. Rerank API scores and reorders for precision
516
+ * 3. Returns top N most relevant results
517
+ */
518
+ async rerank(query, documents, topN = 10) {
519
+ if (documents.length === 0) {
520
+ return [];
521
+ }
522
+ // Cohere Rerank API has limits, so we cap at 100 documents
523
+ const documentsToRerank = documents.slice(0, 100);
524
+ const topNAdjusted = Math.min(topN, documentsToRerank.length);
525
+ return await retryWithBackoff(async () => {
526
+ return await cohereCircuitBreaker.execute(async () => {
527
+ const response = await this.client.rerank({
528
+ model: 'rerank-english-v3.0', // Use latest English rerank model
529
+ query,
530
+ documents: documentsToRerank,
531
+ topN: topNAdjusted,
532
+ });
533
+ // Map Cohere rerank results to our format
534
+ return (response.results || []).map((result) => ({
535
+ index: result.index,
536
+ relevanceScore: result.relevanceScore || 0,
537
+ }));
538
+ });
539
+ }, {
540
+ maxRetries: 3,
541
+ baseDelay: 2000,
542
+ maxDelay: 30000,
543
+ operationName: 'rerank',
544
+ });
545
+ }
546
+ }
547
+ //# sourceMappingURL=cohere-ai-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cohere-ai-service.js","sourceRoot":"","sources":["../../../src/infrastructure/ai/cohere-ai-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAI9C,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,0DAA0D;AAC1D,yDAAyD;AACzD,IAAI,YAAY,GAAiD,IAAI,CAAC;AACtE,SAAS,eAAe;IACtB,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,YAAY,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC,CAAC,uBAAuB;QAC7E,CAAC;QAAC,MAAM,CAAC;YACP,8BAA8B;YAC9B,YAAY,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;QAClC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,2EAA2E;QAC3E,uDAAuD;QACvD,OAAO,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QACzF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED,YAAY;AACZ,IAAI,CAAC;IACH,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC7C,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;AAC3C,CAAC;AAAC,MAAM,CAAC,CAAA,CAAC;AACV,MAAM,EAAE,CAAC;AAET,MAAM,OAAO,eAAe;IAClB,MAAM,CAAe;IAE7B;QACE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAa,EAAE,OAAoB,EAAE,QAAmB;QACjE,MAAM,WAAW,GAAG,OAAO;aACxB,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,UAAU,GAAG,GAAG,CAAC,SAAS,KAAK,CAAC,QAAQ,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;aAClF,IAAI,CAAC,aAAa,CAAC,CAAC;QAEvB,MAAM,UAAU,GAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAChD,CAAC,CAAC,8BAA8B,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACpF,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,MAAM,GAAG;;;;EAIjB,WAAW,GAAG,UAAU;;;EAGxB,KAAK,EAAE,CAAC;QAEN,qDAAqD;QACrD,kFAAkF;QAClF,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QAE9E,8CAA8C;QAC9C,MAAM,eAAe,GAAG,eAAe,CAAC,eAAe,CAAC,MAAM,EAAE;YAC9D,KAAK,EAAE,KAAK,IAAI,SAAS;YACzB,WAAW,EAAE,GAAG;YAChB,SAAS,EAAE,MAAM;SAClB,CAAC,CAAC;QAEH,mCAAmC;QACnC,MAAM,KAAK,GAAG,eAAe,CAAC,eAAe,EAAE,CAAC;QAChD,IAAI,KAAK,EAAE,CAAC;YACV,eAAe,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,OAAO,MAAM,gBAAgB,CAC3B,KAAK,IAAI,EAAE;YACT,OAAO,MAAM,oBAAoB,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;gBACnD,iBAAiB;gBACjB,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC;oBACpC,aAAa,EAAE,UAAU;oBACzB,aAAa,EAAE,MAAM;oBACrB,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,EAAE;oBAClF,QAAQ,EAAE;wBACR,KAAK,EAAE,KAAK,IAAI,SAAS;wBACzB,WAAW,EAAE,GAAG;wBAChB,eAAe;qBAChB;iBACF,CAAC,CAAC;gBAEH,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;wBACtC,OAAO,EAAE,MAAM;wBACf,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,8BAA8B;wBAC3D,WAAW,EAAE,GAAG,EAAE,wCAAwC;qBAC3D,CAAC,CAAC;oBAEH,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,IAAI,uBAAuB,CAAC;oBACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;oBAExC,kCAAkC;oBAClC,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;oBACxC,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;oBAEzC,2BAA2B;oBAC3B,eAAe,CAAC,KAAK,CAAC;wBACpB,aAAa,EAAE,UAAU;wBACzB,aAAa,EAAE,MAAM;wBACrB,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE;wBACpE,QAAQ;wBACR,QAAQ,EAAE;4BACR,KAAK,EAAE,KAAK,IAAI,SAAS;4BACzB,WAAW,EAAE,GAAG;4BAChB,eAAe;yBAAG;qBACrB,CAAC,CAAC;oBAEH,OAAO,MAAM,CAAC;gBAChB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,cAAc;oBACd,eAAe,CAAC,KAAK,CAAC;wBACpB,aAAa,EAAE,UAAU;wBACzB,aAAa,EAAE,MAAM;wBACrB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAChE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;wBAChC,QAAQ,EAAE;4BACR,KAAK,EAAE,KAAK,IAAI,SAAS;4BACzB,WAAW,EAAE,GAAG;4BAChB,eAAe;yBAChB;qBACF,CAAC,CAAC;oBACH,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,EACD;YACE,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,aAAa,EAAE,MAAM;SACtB,CACF,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CACd,KAAa,EACb,OAAoB,EACpB,QAA8B,EAC9B,aAA4B;QAE5B,MAAM,WAAW,GAAG,OAAO;aACxB,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,UAAU,GAAG,GAAG,CAAC,SAAS,KAAK,CAAC,QAAQ,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;aAClF,IAAI,CAAC,aAAa,CAAC,CAAC;QAEvB,MAAM,UAAU,GAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAChD,CAAC,CAAC,8BAA8B,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACpF,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,MAAM,GAAG;;;;EAIjB,WAAW,GAAG,UAAU;;;EAGxB,KAAK,EAAE,CAAC;QAEN,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QAE9E,0BAA0B;QAC1B,MAAM,eAAe,GAAG,eAAe,CAAC,eAAe,CAAC,MAAM,EAAE;YAC9D,KAAK,EAAE,KAAK,IAAI,SAAS;YACzB,WAAW,EAAE,GAAG;YAChB,SAAS,EAAE,aAAa;SACzB,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,eAAe,CAAC,eAAe,EAAE,CAAC;QAChD,IAAI,KAAK,EAAE,CAAC;YACV,eAAe,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,QAAQ,GAAG,EAAE,CAAC;QAElB,IAAI,CAAC;YACH,wBAAwB;YACxB,eAAe,CAAC,KAAK,CAAC;gBACpB,aAAa,EAAE,UAAU;gBACzB,aAAa,EAAE,aAAa;gBAC5B,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,EAAE;gBAClF,QAAQ,EAAE;oBACR,KAAK,EAAE,KAAK,IAAI,SAAS;oBACzB,WAAW,EAAE,GAAG;oBAChB,eAAe;oBACf,SAAS,EAAE,IAAI;iBAChB;aACF,CAAC,CAAC;YAEH,yCAAyC;YACzC,iFAAiF;YACjF,wDAAwD;YACxD,IAAI,OAAQ,IAAI,CAAC,MAAc,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;gBAC1D,gCAAgC;gBAChC,MAAM,MAAM,GAAG,MAAO,IAAI,CAAC,MAAc,CAAC,UAAU,CAAC;oBACnD,OAAO,EAAE,MAAM;oBACf,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3B,WAAW,EAAE,GAAG;iBACjB,CAAC,CAAC;gBAEH,mEAAmE;gBACnE,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBACjC,IAAI,KAAK,CAAC,SAAS,KAAK,iBAAiB,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBACnE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;wBAC9C,IAAI,KAAK,EAAE,CAAC;4BACV,QAAQ,IAAI,KAAK,CAAC;4BAClB,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;gCAC1B,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;4BAC/B,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,oDAAoD;gBACpD,2CAA2C;gBAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBACtC,OAAO,EAAE,MAAM;oBACf,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3B,WAAW,EAAE,GAAG;iBACjB,CAAC,CAAC;gBAEH,QAAQ,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;gBAE/B,uCAAuC;gBACvC,uDAAuD;gBACvD,MAAM,SAAS,GAAG,EAAE,CAAC,CAAC,uBAAuB;gBAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;oBACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;oBACnD,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;wBAC1B,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC/B,CAAC;oBACD,kEAAkE;oBAClE,IAAI,QAAQ,CAAC,MAAM,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC;wBACpC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;oBACxD,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAExC,kCAAkC;YAClC,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YACxC,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;YAE3C,eAAe;YACf,eAAe,CAAC,KAAK,CAAC;gBACpB,aAAa,EAAE,UAAU;gBACzB,aAAa,EAAE,aAAa;gBAC5B,MAAM,EAAE,EAAE,cAAc,EAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE;gBACtE,QAAQ;gBACR,QAAQ,EAAE;oBACR,KAAK,EAAE,KAAK,IAAI,SAAS;oBACzB,WAAW,EAAE,GAAG;oBAChB,eAAe;oBACf,SAAS,EAAE,IAAI;iBAChB;aACF,CAAC,CAAC;YAEH,0BAA0B;YAC1B,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;gBAC7B,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACrC,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAExC,cAAc;YACd,eAAe,CAAC,KAAK,CAAC;gBACpB,aAAa,EAAE,UAAU;gBACzB,aAAa,EAAE,aAAa;gBAC5B,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChE,QAAQ;gBACR,QAAQ,EAAE;oBACR,KAAK,EAAE,KAAK,IAAI,SAAS;oBACzB,WAAW,EAAE,GAAG;oBAChB,eAAe;oBACf,SAAS,EAAE,IAAI;iBAChB;aACF,CAAC,CAAC;YAEH,qBAAqB;YACrB,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC1B,aAAa,CAAC,OAAO,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACnF,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,WAAW,CAAC,aAAqB,EAAE,WAAmB,EAAE,UAAyD,SAAS;QAChI,MAAM,WAAW,GAAG,qBAAqB,EAAE,CAAC;QAE5C,wDAAwD;QACxD,IAAI,WAAW,CAAC,uBAAuB,EAAE,EAAE,CAAC;YAC1C,MAAM,cAAc,GAAG,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC9D,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,cAAc,CAAC;YACxB,CAAC;QACH,CAAC;QAED,yEAAyE;QACzE,2EAA2E;QAC3E,IAAI,aAAa,GAAG,EAAE,IAAI,WAAW,GAAG,EAAE,EAAE,CAAC;YAC3C,iEAAiE;YACjE,OAAO,SAAS,CAAC,CAAC,sBAAsB;QAC1C,CAAC;QAED,OAAO,SAAS,CAAC,CAAC,cAAc;IAClC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,IAAuB;QACjC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAElD,OAAO,MAAM,gBAAgB,CAC3B,KAAK,IAAI,EAAE;YACT,OAAO,MAAM,oBAAoB,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;gBACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;oBACvC,KAAK;oBACL,KAAK,EAAE,oBAAoB;oBAC3B,SAAS,EAAE,iBAAiB,EAAE,4BAA4B;iBAC3D,CAAC,CAAC;gBAEH,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;gBAGvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,OAAQ,UAAyB,CAAC,CAAC,CAAa,CAAC;gBACnD,CAAC;gBACD,OAAO,UAAwB,CAAC;YAClC,CAAC,CAAC,CAAC;QACL,CAAC,EACD;YACE,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,aAAa,EAAE,OAAO;SACvB,CACF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,KAAa;QAC5B,OAAO,MAAM,gBAAgB,CAC3B,KAAK,IAAI,EAAE;YACT,OAAO,MAAM,oBAAoB,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;gBACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;oBACvC,KAAK,EAAE,CAAC,KAAK,CAAC;oBACd,KAAK,EAAE,oBAAoB;oBAC3B,SAAS,EAAE,cAAc,EAAE,sCAAsC;iBAClE,CAAC,CAAC;gBAEH,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;gBAEvC,8CAA8C;gBAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC9B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC5B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;oBACrD,CAAC;oBACD,OAAQ,UAAU,CAAC,CAAC,CAAc,IAAI,EAAE,CAAC;gBAC3C,CAAC;qBAAM,CAAC;oBACN,4CAA4C;oBAC5C,MAAM,eAAe,GAAI,UAAkB,CAAC,KAAK,IAAI,EAAE,CAAC;oBACxD,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACjC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;oBACrD,CAAC;oBACD,OAAQ,eAAe,CAAC,CAAC,CAAc,IAAI,EAAE,CAAC;gBAChD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,EACD;YACE,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,aAAa,EAAE,YAAY;SAC5B,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,WAAmB,EAAE,WAAmB,EAAE,QAAgB;QAC3E,4EAA4E;QAC5E,uDAAuD;QACvD,MAAM,MAAM,GAAG;;;;;;;;;QASX,QAAQ;;;;EAId,WAAW;;;eAGE,WAAW;;qEAE2C,CAAC;QAElE,OAAO,MAAM,gBAAgB,CAC3B,KAAK,IAAI,EAAE;YACT,OAAO,MAAM,oBAAoB,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;gBACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBACtC,OAAO,EAAE,MAAM;oBACf,WAAW,EAAE,GAAG,EAAE,sDAAsD;iBACzE,CAAC,CAAC;gBAEH,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;gBAEnC,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,EACD;YACE,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,aAAa,EAAE,cAAc;SAC9B,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,QAAgB,EAAE,WAAmB,EAAE,eAAyB,EAAE;QAC1F,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC;YAC9C,CAAC,CAAC,sBAAsB,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACjF,CAAC,CAAC,EAAE,CAAC;QAEP,kCAAkC;QAClC,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QAC3D,MAAM,WAAW,GAA2B;YAC1C,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,kBAAkB;YACzB,KAAK,EAAE,kBAAkB;YACzB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,MAAM;SACf,CAAC;QACF,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC;QAE5C,MAAM,MAAM,GAAG,0CAA0C,QAAQ;;;;YAIzD,QAAQ;;;;;aAKP,QAAQ;aACR,QAAQ,GAAG,gBAAgB;;eAEzB,WAAW;;+DAEqC,CAAC;QAE5D,OAAO,MAAM,gBAAgB,CAC3B,KAAK,IAAI,EAAE;YACT,OAAO,MAAM,oBAAoB,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;gBACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBACtC,OAAO,EAAE,MAAM;oBACf,WAAW,EAAE,IAAI,EAAE,+FAA+F;iBACnH,CAAC,CAAC;gBACH,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;gBAElC,sCAAsC;gBACtC,gCAAgC;gBAChC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;gBAChD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBACzC,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;gBAEzB,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC,EACD;YACE,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,aAAa,EAAE,qBAAqB;SACrC,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,UAAe,EAAE,MAAc,EAAE,MAAgB;QACxE,MAAM,MAAM,GAAG;;;EAGjB,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;;UAE3B,MAAM;UACN,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;YAQf,CAAC;QAET,OAAO,MAAM,gBAAgB,CAC3B,KAAK,IAAI,EAAE;YACT,OAAO,MAAM,oBAAoB,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;gBACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBACtC,OAAO,EAAE,MAAM;oBACf,WAAW,EAAE,GAAG,EAAE,4DAA4D;iBAC/E,CAAC,CAAC;gBAEH,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;gBAEnC,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,EACD;YACE,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,aAAa,EAAE,oBAAoB;SACpC,CACF,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,SAAmB,EAAE,OAAe,EAAE;QAChE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,2DAA2D;QAC3D,MAAM,iBAAiB,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAE9D,OAAO,MAAM,gBAAgB,CAC3B,KAAK,IAAI,EAAE;YACT,OAAO,MAAM,oBAAoB,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;gBACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;oBACxC,KAAK,EAAE,qBAAqB,EAAE,kCAAkC;oBAChE,KAAK;oBACL,SAAS,EAAE,iBAAiB;oBAC5B,IAAI,EAAE,YAAY;iBACnB,CAAC,CAAC;gBAEH,0CAA0C;gBAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,CAAC;oBACpD,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,CAAC;iBAC3C,CAAC,CAAC,CAAC;YACN,CAAC,CAAC,CAAC;QACL,CAAC,EACD;YACE,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,aAAa,EAAE,QAAQ;SACxB,CACF,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Command R+ / Command A Evaluation Module
3
+ * Evaluates Cohere Command models for migration
4
+ *
5
+ * Based on enterprise architecture requirements and Cohere research:
6
+ * - Command R+: 128k token context window
7
+ * - Command A: 256k token context window (even better!)
8
+ * - Optimized for multi-step tool use
9
+ * - Superior agentic planning
10
+ * - RAG workflow optimization
11
+ */
12
+ import type { CodeChunk } from '../../domain/entities/code-chunk.js';
13
+ export interface CommandREvaluationResult {
14
+ available: boolean;
15
+ modelName: string;
16
+ contextWindow: number;
17
+ toolCallingSupported: boolean;
18
+ performance: {
19
+ latency: number;
20
+ tokenUsage: number;
21
+ };
22
+ recommendations: string[];
23
+ modelFamily: 'command-r-plus' | 'command-a' | 'command-a-reasoning' | 'unknown';
24
+ }
25
+ export declare class CommandREvaluator {
26
+ private client;
27
+ constructor();
28
+ /**
29
+ * Evaluate Command R+ availability and capabilities
30
+ */
31
+ evaluate(): Promise<CommandREvaluationResult>;
32
+ /**
33
+ * Test Command R+ with actual use case
34
+ */
35
+ testWithUseCase(query: string, context: CodeChunk[]): Promise<{
36
+ success: boolean;
37
+ response: string;
38
+ toolCalls?: any[];
39
+ latency: number;
40
+ }>;
41
+ }
42
+ //# sourceMappingURL=command-r-evaluation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-r-evaluation.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/ai/command-r-evaluation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAGrE,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,WAAW,EAAE;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,eAAe,EAAE,MAAM,EAAE,CAAC;IAE1B,WAAW,EAAE,gBAAgB,GAAG,WAAW,GAAG,qBAAqB,GAAG,SAAS,CAAC;CACjF;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAe;;IAU7B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,wBAAwB,CAAC;IAiJnD;;OAEG;IACG,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;QAClE,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CA0CH"}