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,397 @@
1
+ /**
2
+ * Infrastructure: Code-Aware Chunker
3
+ * Implements enterprise-grade code chunking that respects code structure
4
+ *
5
+ * Based on enterprise architecture requirements:
6
+ * - Split by logical units (functions, classes, modules)
7
+ * - Preserve syntactic integrity
8
+ * - Hierarchical strategy (high-level docs → functions → lines)
9
+ */
10
+ import { readFileSync, existsSync } from 'fs';
11
+ import { parseFile } from '../../ast-parser.js';
12
+ export class CodeAwareChunker {
13
+ /**
14
+ * Chunk code file by logical units (functions, classes, modules)
15
+ * Preserves syntactic integrity - all chunks are valid code blocks
16
+ */
17
+ async chunk(filepath, options = {}) {
18
+ const { preserveSyntax = true, hierarchical = true, maxChunkSize = 2000, // tokens (roughly 8000 chars)
19
+ } = options;
20
+ if (!existsSync(filepath)) {
21
+ throw new Error(`File not found: ${filepath}`);
22
+ }
23
+ const content = readFileSync(filepath, 'utf-8');
24
+ const ext = filepath.split('.').pop()?.toLowerCase() || '';
25
+ // For non-code files, use document-based chunking
26
+ if (!['ts', 'tsx', 'js', 'jsx', 'py', 'java', 'go', 'rs', 'cpp', 'c'].includes(ext)) {
27
+ return this.chunkDocument(content, filepath, maxChunkSize);
28
+ }
29
+ // For code files, use AST-based chunking
30
+ try {
31
+ const analysis = await parseFile(filepath);
32
+ if (!analysis) {
33
+ // Fallback to function-based chunking if AST parsing returns null
34
+ return this.chunkByFunctions(content, filepath, maxChunkSize);
35
+ }
36
+ return this.chunkByAST(analysis, content, filepath, hierarchical, maxChunkSize);
37
+ }
38
+ catch (error) {
39
+ // Fallback to function-based chunking if AST parsing fails
40
+ console.warn(`AST parsing failed for ${filepath}, using function-based chunking:`, error);
41
+ return this.chunkByFunctions(content, filepath, maxChunkSize);
42
+ }
43
+ }
44
+ /**
45
+ * Map symbol kind to chunk metadata type
46
+ */
47
+ mapSymbolKindToChunkType(kind) {
48
+ const kindMap = {
49
+ 'function': 'function',
50
+ 'method': 'function',
51
+ 'class': 'class',
52
+ 'interface': 'interface',
53
+ 'type': 'code-block',
54
+ 'variable': 'code-block',
55
+ 'enum': 'code-block',
56
+ 'property': 'code-block',
57
+ };
58
+ return kindMap[kind] || 'code-block';
59
+ }
60
+ /**
61
+ * Chunk using AST analysis - most precise method
62
+ */
63
+ chunkByAST(analysis, content, filepath, hierarchical, maxChunkSize) {
64
+ const chunks = [];
65
+ const lines = content.split('\n');
66
+ // Hierarchical strategy: classes → functions → statements
67
+ if (hierarchical) {
68
+ // Level 1: Chunk by classes/interfaces
69
+ for (const symbol of analysis.symbols) {
70
+ if (symbol.kind === 'class' || symbol.kind === 'interface') {
71
+ const classChunk = this.extractSymbolContent(symbol, lines, content);
72
+ if (classChunk && classChunk.length <= maxChunkSize) {
73
+ chunks.push({
74
+ filepath,
75
+ content: classChunk,
76
+ score: 1.0,
77
+ lineStart: symbol.line,
78
+ lineEnd: symbol.line + classChunk.split('\n').length,
79
+ metadata: {
80
+ symbols: [symbol.name],
81
+ type: this.mapSymbolKindToChunkType(symbol.kind),
82
+ },
83
+ });
84
+ }
85
+ else if (classChunk) {
86
+ // Class too large, chunk by methods
87
+ const methodChunks = this.chunkLargeClass(symbol, analysis, lines, content, maxChunkSize);
88
+ chunks.push(...methodChunks);
89
+ }
90
+ }
91
+ }
92
+ // Level 2: Chunk standalone functions
93
+ for (const symbol of analysis.symbols) {
94
+ if (symbol.kind === 'function' && !this.isMethodOfClass(symbol, analysis)) {
95
+ const funcChunk = this.extractSymbolContent(symbol, lines, content);
96
+ if (funcChunk && funcChunk.length <= maxChunkSize) {
97
+ chunks.push({
98
+ filepath,
99
+ content: funcChunk,
100
+ score: 1.0,
101
+ lineStart: symbol.line,
102
+ lineEnd: symbol.line + funcChunk.split('\n').length,
103
+ metadata: {
104
+ symbols: [symbol.name],
105
+ type: 'function',
106
+ },
107
+ });
108
+ }
109
+ }
110
+ }
111
+ }
112
+ else {
113
+ // Non-hierarchical: chunk all symbols
114
+ for (const symbol of analysis.symbols) {
115
+ const symbolChunk = this.extractSymbolContent(symbol, lines, content);
116
+ if (symbolChunk) {
117
+ chunks.push({
118
+ filepath,
119
+ content: symbolChunk,
120
+ score: 1.0,
121
+ lineStart: symbol.line,
122
+ lineEnd: symbol.line + symbolChunk.split('\n').length,
123
+ metadata: {
124
+ symbols: [symbol.name],
125
+ type: this.mapSymbolKindToChunkType(symbol.kind),
126
+ },
127
+ });
128
+ }
129
+ }
130
+ }
131
+ // If no chunks created (no symbols found), fallback to function-based
132
+ if (chunks.length === 0) {
133
+ return this.chunkByFunctions(content, filepath, maxChunkSize);
134
+ }
135
+ return chunks;
136
+ }
137
+ /**
138
+ * Chunk large class by its methods
139
+ */
140
+ chunkLargeClass(classSymbol, analysis, lines, content, maxChunkSize) {
141
+ const chunks = [];
142
+ const classStart = classSymbol.line;
143
+ const classEnd = this.findClassEnd(classSymbol, lines);
144
+ // Find methods within this class
145
+ const methods = analysis.symbols.filter(s => s.kind === 'function' && s.line > classStart && s.line < classEnd);
146
+ // Create chunk for class header + first few methods
147
+ let currentChunk = lines.slice(classStart - 1, classStart + 10).join('\n');
148
+ let currentLineStart = classStart;
149
+ for (const method of methods) {
150
+ const methodContent = this.extractSymbolContent(method, lines, content);
151
+ if (!methodContent)
152
+ continue;
153
+ const potentialChunk = currentChunk + '\n\n' + methodContent;
154
+ if (potentialChunk.length <= maxChunkSize) {
155
+ currentChunk = potentialChunk;
156
+ }
157
+ else {
158
+ // Save current chunk and start new one
159
+ chunks.push({
160
+ filepath: classSymbol.filepath,
161
+ content: currentChunk,
162
+ score: 1.0,
163
+ lineStart: currentLineStart,
164
+ lineEnd: method.line - 1,
165
+ metadata: {
166
+ symbols: [classSymbol.name],
167
+ type: 'class-partial',
168
+ },
169
+ });
170
+ currentChunk = methodContent;
171
+ currentLineStart = method.line;
172
+ }
173
+ }
174
+ // Add final chunk
175
+ if (currentChunk) {
176
+ chunks.push({
177
+ filepath: classSymbol.filepath,
178
+ content: currentChunk,
179
+ score: 1.0,
180
+ lineStart: currentLineStart,
181
+ lineEnd: classEnd,
182
+ metadata: {
183
+ symbols: [classSymbol.name],
184
+ type: 'class-partial',
185
+ },
186
+ });
187
+ }
188
+ return chunks;
189
+ }
190
+ /**
191
+ * Chunk by function boundaries (fallback method)
192
+ */
193
+ chunkByFunctions(content, filepath, maxChunkSize) {
194
+ const chunks = [];
195
+ const lines = content.split('\n');
196
+ // Regex patterns for different languages
197
+ const functionPatterns = [
198
+ /^(export\s+)?(async\s+)?function\s+(\w+)/, // JavaScript/TypeScript
199
+ /^(export\s+)?(async\s+)?const\s+(\w+)\s*=\s*(async\s*)?\(/, // Arrow functions
200
+ /^(export\s+)?class\s+(\w+)/, // Classes
201
+ /^(export\s+)?interface\s+(\w+)/, // Interfaces
202
+ /^def\s+(\w+)/, // Python
203
+ ];
204
+ let currentChunk = [];
205
+ let currentLineStart = 1;
206
+ let braceCount = 0;
207
+ let inFunction = false;
208
+ for (let i = 0; i < lines.length; i++) {
209
+ const line = lines[i];
210
+ const isFunctionStart = functionPatterns.some(pattern => pattern.test(line));
211
+ if (isFunctionStart && currentChunk.length > 0) {
212
+ // Save previous chunk
213
+ const chunkContent = currentChunk.join('\n');
214
+ if (chunkContent.trim().length > 0) {
215
+ chunks.push({
216
+ filepath,
217
+ content: chunkContent,
218
+ score: 1.0,
219
+ lineStart: currentLineStart,
220
+ lineEnd: i - 1,
221
+ metadata: {
222
+ type: 'function',
223
+ },
224
+ });
225
+ }
226
+ currentChunk = [line];
227
+ currentLineStart = i + 1;
228
+ inFunction = true;
229
+ braceCount = this.countBraces(line);
230
+ }
231
+ else {
232
+ currentChunk.push(line);
233
+ if (inFunction) {
234
+ braceCount += this.countBraces(line);
235
+ if (braceCount === 0 && line.trim().length > 0) {
236
+ inFunction = false;
237
+ }
238
+ }
239
+ // If chunk gets too large, split it
240
+ if (currentChunk.join('\n').length > maxChunkSize && currentChunk.length > 10) {
241
+ const chunkContent = currentChunk.slice(0, -5).join('\n');
242
+ chunks.push({
243
+ filepath,
244
+ content: chunkContent,
245
+ score: 1.0,
246
+ lineStart: currentLineStart,
247
+ lineEnd: i - 5,
248
+ metadata: {
249
+ type: 'code-block',
250
+ },
251
+ });
252
+ currentChunk = currentChunk.slice(-5);
253
+ currentLineStart = i - 4;
254
+ }
255
+ }
256
+ }
257
+ // Add final chunk
258
+ if (currentChunk.length > 0) {
259
+ chunks.push({
260
+ filepath,
261
+ content: currentChunk.join('\n'),
262
+ score: 1.0,
263
+ lineStart: currentLineStart,
264
+ lineEnd: lines.length,
265
+ metadata: {
266
+ type: 'code-block',
267
+ },
268
+ });
269
+ }
270
+ return chunks.length > 0 ? chunks : [{
271
+ filepath,
272
+ content,
273
+ score: 1.0,
274
+ lineStart: 1,
275
+ lineEnd: lines.length,
276
+ metadata: {
277
+ type: 'file',
278
+ },
279
+ }];
280
+ }
281
+ /**
282
+ * Chunk document files (markdown, text, etc.)
283
+ */
284
+ chunkDocument(content, filepath, maxChunkSize) {
285
+ const chunks = [];
286
+ const paragraphs = content.split(/\n\s*\n/);
287
+ let currentChunk = [];
288
+ let currentLineStart = 1;
289
+ for (const paragraph of paragraphs) {
290
+ const potentialChunk = [...currentChunk, paragraph].join('\n\n');
291
+ if (potentialChunk.length <= maxChunkSize) {
292
+ currentChunk.push(paragraph);
293
+ }
294
+ else {
295
+ if (currentChunk.length > 0) {
296
+ chunks.push({
297
+ filepath,
298
+ content: currentChunk.join('\n\n'),
299
+ score: 1.0,
300
+ lineStart: currentLineStart,
301
+ lineEnd: currentLineStart + currentChunk.join('\n\n').split('\n').length,
302
+ metadata: {
303
+ type: 'document',
304
+ },
305
+ });
306
+ }
307
+ currentChunk = [paragraph];
308
+ currentLineStart += currentChunk.join('\n\n').split('\n').length;
309
+ }
310
+ }
311
+ if (currentChunk.length > 0) {
312
+ chunks.push({
313
+ filepath,
314
+ content: currentChunk.join('\n\n'),
315
+ score: 1.0,
316
+ lineStart: currentLineStart,
317
+ lineEnd: content.split('\n').length,
318
+ metadata: {
319
+ type: 'document',
320
+ },
321
+ });
322
+ }
323
+ return chunks.length > 0 ? chunks : [{
324
+ filepath,
325
+ content,
326
+ score: 1.0,
327
+ lineStart: 1,
328
+ lineEnd: content.split('\n').length,
329
+ metadata: {
330
+ type: 'document',
331
+ },
332
+ }];
333
+ }
334
+ /**
335
+ * Extract content for a symbol from AST
336
+ */
337
+ extractSymbolContent(symbol, lines, content) {
338
+ if (!symbol.line)
339
+ return null;
340
+ const startLine = symbol.line - 1; // 0-indexed
341
+ const endLine = this.findSymbolEnd(symbol, lines, startLine);
342
+ if (endLine <= startLine)
343
+ return null;
344
+ return lines.slice(startLine, endLine).join('\n');
345
+ }
346
+ /**
347
+ * Find end of symbol (class, function, etc.)
348
+ */
349
+ findSymbolEnd(symbol, lines, startLine) {
350
+ // Simple heuristic: find matching braces
351
+ let braceCount = 0;
352
+ let foundStart = false;
353
+ for (let i = startLine; i < lines.length; i++) {
354
+ const line = lines[i];
355
+ if (!foundStart) {
356
+ if (line.includes('{') || line.includes('class') || line.includes('function')) {
357
+ foundStart = true;
358
+ braceCount = this.countBraces(line);
359
+ }
360
+ }
361
+ else {
362
+ braceCount += this.countBraces(line);
363
+ if (braceCount === 0 && line.trim().length > 0) {
364
+ return i + 1;
365
+ }
366
+ }
367
+ }
368
+ return lines.length;
369
+ }
370
+ /**
371
+ * Find end of class
372
+ */
373
+ findClassEnd(classSymbol, lines) {
374
+ return this.findSymbolEnd(classSymbol, lines, classSymbol.line - 1);
375
+ }
376
+ /**
377
+ * Count braces in line
378
+ */
379
+ countBraces(line) {
380
+ return (line.match(/{/g) || []).length - (line.match(/}/g) || []).length;
381
+ }
382
+ /**
383
+ * Check if function is a method of a class
384
+ */
385
+ isMethodOfClass(funcSymbol, analysis) {
386
+ // Find classes before this function
387
+ const classes = analysis.symbols.filter(s => s.kind === 'class' && s.line < funcSymbol.line);
388
+ // Find the closest class
389
+ const closestClass = classes.reduce((prev, curr) => curr.line > prev.line ? curr : prev, classes[0] || { line: 0 });
390
+ if (!closestClass)
391
+ return false;
392
+ // Check if function is within class bounds (simple heuristic)
393
+ const classEnd = this.findClassEnd(closestClass, analysis.symbols.map(() => ''));
394
+ return funcSymbol.line > closestClass.line && funcSymbol.line < classEnd;
395
+ }
396
+ }
397
+ //# sourceMappingURL=code-aware-chunker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-aware-chunker.js","sourceRoot":"","sources":["../../../src/infrastructure/chunking/code-aware-chunker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Configuration Manager
3
+ * Manages user preferences and settings for Codehere
4
+ * Stores configuration in data/config.json
5
+ */
6
+ export interface CodehereConfig {
7
+ version: string;
8
+ preferences: {
9
+ autoCommit?: boolean;
10
+ askBeforeDestructive?: boolean;
11
+ enableCrossTeamLearning?: boolean;
12
+ defaultModel?: string;
13
+ maxTokens?: number;
14
+ temperature?: number;
15
+ enableStreaming?: boolean;
16
+ };
17
+ codebase: {
18
+ root?: string;
19
+ indexedAt?: string;
20
+ lastIndexed?: string;
21
+ };
22
+ api: {
23
+ provider?: string;
24
+ model?: string;
25
+ rateLimitHandling?: 'retry' | 'fail' | 'queue';
26
+ };
27
+ ui: {
28
+ showProgress?: boolean;
29
+ showSummary?: boolean;
30
+ outputFormat?: 'full' | 'compact' | 'minimal';
31
+ };
32
+ }
33
+ export declare class ConfigManager {
34
+ private configPath;
35
+ private config;
36
+ constructor(configDir?: string);
37
+ /**
38
+ * Load configuration from file, creating defaults if not exists
39
+ */
40
+ private loadConfig;
41
+ /**
42
+ * Save configuration to file
43
+ */
44
+ saveConfig(): void;
45
+ /**
46
+ * Get configuration value
47
+ */
48
+ get<K extends keyof CodehereConfig>(key: K): CodehereConfig[K];
49
+ /**
50
+ * Get preference value
51
+ */
52
+ getPreference<K extends keyof CodehereConfig['preferences']>(key: K): CodehereConfig['preferences'][K];
53
+ /**
54
+ * Set configuration value
55
+ */
56
+ set<K extends keyof CodehereConfig>(key: K, value: CodehereConfig[K]): void;
57
+ /**
58
+ * Set preference value
59
+ */
60
+ setPreference<K extends keyof CodehereConfig['preferences']>(key: K, value: CodehereConfig['preferences'][K]): void;
61
+ /**
62
+ * Update codebase information
63
+ */
64
+ updateCodebase(root: string, indexedAt?: string): void;
65
+ /**
66
+ * Get full configuration
67
+ */
68
+ getAll(): CodehereConfig;
69
+ /**
70
+ * Reset to defaults
71
+ */
72
+ reset(): void;
73
+ /**
74
+ * Get config file path
75
+ */
76
+ getConfigPath(): string;
77
+ }
78
+ export declare function getConfigManager(configDir?: string): ConfigManager;
79
+ //# sourceMappingURL=config-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-manager.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/config/config-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE;QACX,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAClC,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,CAAC;IACF,QAAQ,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,GAAG,EAAE;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,iBAAiB,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;KAChD,CAAC;IACF,EAAE,EAAE;QACF,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;KAC/C,CAAC;CACH;AA0BD,qBAAa,aAAa;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAiB;gBAEnB,SAAS,CAAC,EAAE,MAAM;IAM9B;;OAEG;IACH,OAAO,CAAC,UAAU;IA0ClB;;OAEG;IACH,UAAU,IAAI,IAAI;IAYlB;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,cAAc,EAAE,GAAG,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;IAI9D;;OAEG;IACH,aAAa,CAAC,CAAC,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAItG;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,cAAc,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI;IAI3E;;OAEG;IACH,aAAa,CAAC,CAAC,SAAS,MAAM,cAAc,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAInH;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAQtD;;OAEG;IACH,MAAM,IAAI,cAAc;IAIxB;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,aAAa,IAAI,MAAM;CAGxB;AAOD,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,aAAa,CAKlE"}
@@ -0,0 +1,162 @@
1
+ /**
2
+ * Configuration Manager
3
+ * Manages user preferences and settings for Codehere
4
+ * Stores configuration in data/config.json
5
+ */
6
+ import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'fs';
7
+ import { join } from 'path';
8
+ import { getVersion } from '../../utils/version.js';
9
+ const DEFAULT_CONFIG = {
10
+ version: getVersion(),
11
+ preferences: {
12
+ autoCommit: false,
13
+ askBeforeDestructive: true,
14
+ enableCrossTeamLearning: false,
15
+ defaultModel: 'command-r-plus',
16
+ maxTokens: 4096,
17
+ temperature: 0.3,
18
+ enableStreaming: true,
19
+ },
20
+ codebase: {},
21
+ api: {
22
+ provider: 'cohere',
23
+ model: 'command-r-plus',
24
+ rateLimitHandling: 'retry',
25
+ },
26
+ ui: {
27
+ showProgress: true,
28
+ showSummary: true,
29
+ outputFormat: 'full',
30
+ },
31
+ };
32
+ export class ConfigManager {
33
+ configPath;
34
+ config;
35
+ constructor(configDir) {
36
+ const baseDir = configDir || process.cwd();
37
+ this.configPath = join(baseDir, 'data', 'config.json');
38
+ this.config = this.loadConfig();
39
+ }
40
+ /**
41
+ * Load configuration from file, creating defaults if not exists
42
+ */
43
+ loadConfig() {
44
+ // Ensure data directory exists
45
+ const dataDir = join(process.cwd(), 'data');
46
+ if (!existsSync(dataDir)) {
47
+ mkdirSync(dataDir, { recursive: true });
48
+ }
49
+ // Load existing config or use defaults
50
+ if (existsSync(this.configPath)) {
51
+ try {
52
+ const fileContent = readFileSync(this.configPath, 'utf-8');
53
+ const loaded = JSON.parse(fileContent);
54
+ // Merge with defaults to ensure all fields exist
55
+ return {
56
+ ...DEFAULT_CONFIG,
57
+ ...loaded,
58
+ preferences: {
59
+ ...DEFAULT_CONFIG.preferences,
60
+ ...loaded.preferences,
61
+ },
62
+ codebase: {
63
+ ...DEFAULT_CONFIG.codebase,
64
+ ...loaded.codebase,
65
+ },
66
+ api: {
67
+ ...DEFAULT_CONFIG.api,
68
+ ...loaded.api,
69
+ },
70
+ ui: {
71
+ ...DEFAULT_CONFIG.ui,
72
+ ...loaded.ui,
73
+ },
74
+ };
75
+ }
76
+ catch (error) {
77
+ console.warn(`Failed to load config from ${this.configPath}, using defaults:`, error);
78
+ return DEFAULT_CONFIG;
79
+ }
80
+ }
81
+ return DEFAULT_CONFIG;
82
+ }
83
+ /**
84
+ * Save configuration to file
85
+ */
86
+ saveConfig() {
87
+ try {
88
+ const dataDir = join(process.cwd(), 'data');
89
+ if (!existsSync(dataDir)) {
90
+ mkdirSync(dataDir, { recursive: true });
91
+ }
92
+ writeFileSync(this.configPath, JSON.stringify(this.config, null, 2), 'utf-8');
93
+ }
94
+ catch (error) {
95
+ throw new Error(`Failed to save config to ${this.configPath}: ${error instanceof Error ? error.message : String(error)}`);
96
+ }
97
+ }
98
+ /**
99
+ * Get configuration value
100
+ */
101
+ get(key) {
102
+ return this.config[key];
103
+ }
104
+ /**
105
+ * Get preference value
106
+ */
107
+ getPreference(key) {
108
+ return this.config.preferences[key];
109
+ }
110
+ /**
111
+ * Set configuration value
112
+ */
113
+ set(key, value) {
114
+ this.config[key] = value;
115
+ }
116
+ /**
117
+ * Set preference value
118
+ */
119
+ setPreference(key, value) {
120
+ this.config.preferences[key] = value;
121
+ }
122
+ /**
123
+ * Update codebase information
124
+ */
125
+ updateCodebase(root, indexedAt) {
126
+ this.config.codebase.root = root;
127
+ if (indexedAt) {
128
+ this.config.codebase.indexedAt = indexedAt;
129
+ }
130
+ this.config.codebase.lastIndexed = new Date().toISOString();
131
+ }
132
+ /**
133
+ * Get full configuration
134
+ */
135
+ getAll() {
136
+ return { ...this.config };
137
+ }
138
+ /**
139
+ * Reset to defaults
140
+ */
141
+ reset() {
142
+ this.config = DEFAULT_CONFIG;
143
+ this.saveConfig();
144
+ }
145
+ /**
146
+ * Get config file path
147
+ */
148
+ getConfigPath() {
149
+ return this.configPath;
150
+ }
151
+ }
152
+ /**
153
+ * Get global config manager instance
154
+ */
155
+ let globalConfigManager = null;
156
+ export function getConfigManager(configDir) {
157
+ if (!globalConfigManager) {
158
+ globalConfigManager = new ConfigManager(configDir);
159
+ }
160
+ return globalConfigManager;
161
+ }
162
+ //# sourceMappingURL=config-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../../src/infrastructure/config/config-manager.ts"],"names":[],"mappings":"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"}