codehere 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (991) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +378 -0
  3. package/dist/agents/base.d.ts +107 -0
  4. package/dist/agents/base.d.ts.map +1 -0
  5. package/dist/agents/base.js +101 -0
  6. package/dist/agents/base.js.map +1 -0
  7. package/dist/agents/orchestrator-model-driven.d.ts +41 -0
  8. package/dist/agents/orchestrator-model-driven.d.ts.map +1 -0
  9. package/dist/agents/orchestrator-model-driven.js +141 -0
  10. package/dist/agents/orchestrator-model-driven.js.map +1 -0
  11. package/dist/agents/react-orchestrator-agent.d.ts +15 -0
  12. package/dist/agents/react-orchestrator-agent.d.ts.map +1 -0
  13. package/dist/agents/react-orchestrator-agent.js +54 -0
  14. package/dist/agents/react-orchestrator-agent.js.map +1 -0
  15. package/dist/application/agents/execution-agent.d.ts +79 -0
  16. package/dist/application/agents/execution-agent.d.ts.map +1 -0
  17. package/dist/application/agents/execution-agent.js +534 -0
  18. package/dist/application/agents/execution-agent.js.map +1 -0
  19. package/dist/application/agents/multi-agent-orchestrator.d.ts +69 -0
  20. package/dist/application/agents/multi-agent-orchestrator.d.ts.map +1 -0
  21. package/dist/application/agents/multi-agent-orchestrator.js +296 -0
  22. package/dist/application/agents/multi-agent-orchestrator.js.map +1 -0
  23. package/dist/application/agents/planning-agent.d.ts +65 -0
  24. package/dist/application/agents/planning-agent.d.ts.map +1 -0
  25. package/dist/application/agents/planning-agent.js +553 -0
  26. package/dist/application/agents/planning-agent.js.map +1 -0
  27. package/dist/application/agents/validation-agent.d.ts +68 -0
  28. package/dist/application/agents/validation-agent.d.ts.map +1 -0
  29. package/dist/application/agents/validation-agent.js +317 -0
  30. package/dist/application/agents/validation-agent.js.map +1 -0
  31. package/dist/application/architectures/plan-and-act.d.ts +94 -0
  32. package/dist/application/architectures/plan-and-act.d.ts.map +1 -0
  33. package/dist/application/architectures/plan-and-act.js +242 -0
  34. package/dist/application/architectures/plan-and-act.js.map +1 -0
  35. package/dist/application/index.d.ts +12 -0
  36. package/dist/application/index.d.ts.map +1 -0
  37. package/dist/application/index.js +12 -0
  38. package/dist/application/index.js.map +1 -0
  39. package/dist/application/services/agent-factory.d.ts +9 -0
  40. package/dist/application/services/agent-factory.d.ts.map +1 -0
  41. package/dist/application/services/agent-factory.js +28 -0
  42. package/dist/application/services/agent-factory.js.map +1 -0
  43. package/dist/application/services/context-importer.d.ts +71 -0
  44. package/dist/application/services/context-importer.d.ts.map +1 -0
  45. package/dist/application/services/context-importer.js +436 -0
  46. package/dist/application/services/context-importer.js.map +1 -0
  47. package/dist/application/services/context-manager.d.ts +132 -0
  48. package/dist/application/services/context-manager.d.ts.map +1 -0
  49. package/dist/application/services/context-manager.js +369 -0
  50. package/dist/application/services/context-manager.js.map +1 -0
  51. package/dist/application/services/dependency-container.d.ts +187 -0
  52. package/dist/application/services/dependency-container.d.ts.map +1 -0
  53. package/dist/application/services/dependency-container.js +607 -0
  54. package/dist/application/services/dependency-container.js.map +1 -0
  55. package/dist/application/services/git-context-service.d.ts +30 -0
  56. package/dist/application/services/git-context-service.d.ts.map +1 -0
  57. package/dist/application/services/git-context-service.js +83 -0
  58. package/dist/application/services/git-context-service.js.map +1 -0
  59. package/dist/application/services/intelligent-router.d.ts +90 -0
  60. package/dist/application/services/intelligent-router.d.ts.map +1 -0
  61. package/dist/application/services/intelligent-router.js +942 -0
  62. package/dist/application/services/intelligent-router.js.map +1 -0
  63. package/dist/application/services/token-counting-service.d.ts +87 -0
  64. package/dist/application/services/token-counting-service.d.ts.map +1 -0
  65. package/dist/application/services/token-counting-service.js +196 -0
  66. package/dist/application/services/token-counting-service.js.map +1 -0
  67. package/dist/application/services/tool-executor-service.d.ts +14 -0
  68. package/dist/application/services/tool-executor-service.d.ts.map +1 -0
  69. package/dist/application/services/tool-executor-service.js +94 -0
  70. package/dist/application/services/tool-executor-service.js.map +1 -0
  71. package/dist/application/use-cases/ask-question-use-case.d.ts +67 -0
  72. package/dist/application/use-cases/ask-question-use-case.d.ts.map +1 -0
  73. package/dist/application/use-cases/ask-question-use-case.js +437 -0
  74. package/dist/application/use-cases/ask-question-use-case.js.map +1 -0
  75. package/dist/application/use-cases/edit-file-use-case.d.ts +92 -0
  76. package/dist/application/use-cases/edit-file-use-case.d.ts.map +1 -0
  77. package/dist/application/use-cases/edit-file-use-case.js +819 -0
  78. package/dist/application/use-cases/edit-file-use-case.js.map +1 -0
  79. package/dist/application/use-cases/explain-file-use-case.d.ts +21 -0
  80. package/dist/application/use-cases/explain-file-use-case.d.ts.map +1 -0
  81. package/dist/application/use-cases/explain-file-use-case.js +50 -0
  82. package/dist/application/use-cases/explain-file-use-case.js.map +1 -0
  83. package/dist/application/use-cases/index-codebase-use-case.d.ts +46 -0
  84. package/dist/application/use-cases/index-codebase-use-case.d.ts.map +1 -0
  85. package/dist/application/use-cases/index-codebase-use-case.js +113 -0
  86. package/dist/application/use-cases/index-codebase-use-case.js.map +1 -0
  87. package/dist/application/use-cases/planning-use-case.d.ts +46 -0
  88. package/dist/application/use-cases/planning-use-case.d.ts.map +1 -0
  89. package/dist/application/use-cases/planning-use-case.js +276 -0
  90. package/dist/application/use-cases/planning-use-case.js.map +1 -0
  91. package/dist/application/use-cases/react-orchestration-use-case.d.ts +51 -0
  92. package/dist/application/use-cases/react-orchestration-use-case.d.ts.map +1 -0
  93. package/dist/application/use-cases/react-orchestration-use-case.js +362 -0
  94. package/dist/application/use-cases/react-orchestration-use-case.js.map +1 -0
  95. package/dist/application/use-cases/reflexion-use-case.d.ts +24 -0
  96. package/dist/application/use-cases/reflexion-use-case.d.ts.map +1 -0
  97. package/dist/application/use-cases/reflexion-use-case.js +30 -0
  98. package/dist/application/use-cases/reflexion-use-case.js.map +1 -0
  99. package/dist/application/workflows/deterministic-workflows.d.ts +61 -0
  100. package/dist/application/workflows/deterministic-workflows.d.ts.map +1 -0
  101. package/dist/application/workflows/deterministic-workflows.js +189 -0
  102. package/dist/application/workflows/deterministic-workflows.js.map +1 -0
  103. package/dist/ast-parser.d 2.ts +55 -0
  104. package/dist/ast-parser.d.ts +55 -0
  105. package/dist/ast-parser.d.ts.map +1 -0
  106. package/dist/ast-parser.js +331 -0
  107. package/dist/ast-parser.js.map +1 -0
  108. package/dist/cache.d.ts +45 -0
  109. package/dist/cache.d.ts.map +1 -0
  110. package/dist/cache.js +180 -0
  111. package/dist/cache.js.map +1 -0
  112. package/dist/chat.d.ts +4 -0
  113. package/dist/chat.d.ts.map +1 -0
  114. package/dist/chat.js +175 -0
  115. package/dist/chat.js.map +1 -0
  116. package/dist/code-analysis 2.js +327 -0
  117. package/dist/code-analysis.d.ts +50 -0
  118. package/dist/code-analysis.d.ts.map +1 -0
  119. package/dist/code-analysis.js +327 -0
  120. package/dist/code-analysis.js.map +1 -0
  121. package/dist/context.d.ts +44 -0
  122. package/dist/context.d.ts 2.map +1 -0
  123. package/dist/context.d.ts.map +1 -0
  124. package/dist/context.js +187 -0
  125. package/dist/context.js.map +1 -0
  126. package/dist/docs.d.ts +21 -0
  127. package/dist/docs.d.ts.map +1 -0
  128. package/dist/docs.js +146 -0
  129. package/dist/docs.js.map +1 -0
  130. package/dist/domain/entities/code-chunk.d.ts +26 -0
  131. package/dist/domain/entities/code-chunk.d.ts.map +1 -0
  132. package/dist/domain/entities/code-chunk.js +6 -0
  133. package/dist/domain/entities/code-chunk.js.map +1 -0
  134. package/dist/domain/entities/conversation-context.d.ts +245 -0
  135. package/dist/domain/entities/conversation-context.d.ts.map +1 -0
  136. package/dist/domain/entities/conversation-context.js +50 -0
  137. package/dist/domain/entities/conversation-context.js.map +1 -0
  138. package/dist/domain/entities/decision.d.ts +37 -0
  139. package/dist/domain/entities/decision.d.ts.map +1 -0
  140. package/dist/domain/entities/decision.js +9 -0
  141. package/dist/domain/entities/decision.js.map +1 -0
  142. package/dist/domain/entities/edit.d.ts +35 -0
  143. package/dist/domain/entities/edit.d.ts.map +1 -0
  144. package/dist/domain/entities/edit.js +6 -0
  145. package/dist/domain/entities/edit.js.map +1 -0
  146. package/dist/domain/entities/knowledge-node.d.ts +83 -0
  147. package/dist/domain/entities/knowledge-node.d.ts.map +1 -0
  148. package/dist/domain/entities/knowledge-node.js +9 -0
  149. package/dist/domain/entities/knowledge-node.js.map +1 -0
  150. package/dist/domain/entities/knowledge-preservation.d.ts +42 -0
  151. package/dist/domain/entities/knowledge-preservation.d.ts.map +1 -0
  152. package/dist/domain/entities/knowledge-preservation.js +10 -0
  153. package/dist/domain/entities/knowledge-preservation.js.map +1 -0
  154. package/dist/domain/entities/memory.d.ts +36 -0
  155. package/dist/domain/entities/memory.d.ts.map +1 -0
  156. package/dist/domain/entities/memory.js +6 -0
  157. package/dist/domain/entities/memory.js.map +1 -0
  158. package/dist/domain/entities/pattern.d.ts +49 -0
  159. package/dist/domain/entities/pattern.d.ts.map +1 -0
  160. package/dist/domain/entities/pattern.js +7 -0
  161. package/dist/domain/entities/pattern.js.map +1 -0
  162. package/dist/domain/entities/plan.d.ts +42 -0
  163. package/dist/domain/entities/plan.d.ts.map +1 -0
  164. package/dist/domain/entities/plan.js +6 -0
  165. package/dist/domain/entities/plan.js.map +1 -0
  166. package/dist/domain/entities/query.d.ts +17 -0
  167. package/dist/domain/entities/query.d.ts.map +1 -0
  168. package/dist/domain/entities/query.js +6 -0
  169. package/dist/domain/entities/query.js.map +1 -0
  170. package/dist/domain/entities/task.d.ts +152 -0
  171. package/dist/domain/entities/task.d.ts.map +1 -0
  172. package/dist/domain/entities/task.js +61 -0
  173. package/dist/domain/entities/task.js.map +1 -0
  174. package/dist/domain/errors/embeddings-not-found-error.d.ts +9 -0
  175. package/dist/domain/errors/embeddings-not-found-error.d.ts.map +1 -0
  176. package/dist/domain/errors/embeddings-not-found-error.js +13 -0
  177. package/dist/domain/errors/embeddings-not-found-error.js.map +1 -0
  178. package/dist/domain/index.d.ts +16 -0
  179. package/dist/domain/index.d.ts.map +1 -0
  180. package/dist/domain/index.js +19 -0
  181. package/dist/domain/index.js.map +1 -0
  182. package/dist/domain/interfaces/ai-service.interface.d.ts +72 -0
  183. package/dist/domain/interfaces/ai-service.interface.d.ts.map +1 -0
  184. package/dist/domain/interfaces/ai-service.interface.js +6 -0
  185. package/dist/domain/interfaces/ai-service.interface.js.map +1 -0
  186. package/dist/domain/interfaces/code-analyzer.interface.d.ts +38 -0
  187. package/dist/domain/interfaces/code-analyzer.interface.d.ts.map +1 -0
  188. package/dist/domain/interfaces/code-analyzer.interface.js +6 -0
  189. package/dist/domain/interfaces/code-analyzer.interface.js.map +1 -0
  190. package/dist/domain/interfaces/context-repository.interface.d.ts +71 -0
  191. package/dist/domain/interfaces/context-repository.interface.d.ts.map +1 -0
  192. package/dist/domain/interfaces/context-repository.interface.js +10 -0
  193. package/dist/domain/interfaces/context-repository.interface.js.map +1 -0
  194. package/dist/domain/interfaces/decision-repository.interface.d.ts +51 -0
  195. package/dist/domain/interfaces/decision-repository.interface.d.ts.map +1 -0
  196. package/dist/domain/interfaces/decision-repository.interface.js +9 -0
  197. package/dist/domain/interfaces/decision-repository.interface.js.map +1 -0
  198. package/dist/domain/interfaces/embedding-repository.interface.d.ts +33 -0
  199. package/dist/domain/interfaces/embedding-repository.interface.d.ts.map +1 -0
  200. package/dist/domain/interfaces/embedding-repository.interface.js +6 -0
  201. package/dist/domain/interfaces/embedding-repository.interface.js.map +1 -0
  202. package/dist/domain/interfaces/knowledge-graph-repository.interface.d.ts +91 -0
  203. package/dist/domain/interfaces/knowledge-graph-repository.interface.d.ts.map +1 -0
  204. package/dist/domain/interfaces/knowledge-graph-repository.interface.js +9 -0
  205. package/dist/domain/interfaces/knowledge-graph-repository.interface.js.map +1 -0
  206. package/dist/domain/interfaces/knowledge-preservation-repository.interface.d.ts +50 -0
  207. package/dist/domain/interfaces/knowledge-preservation-repository.interface.d.ts.map +1 -0
  208. package/dist/domain/interfaces/knowledge-preservation-repository.interface.js +8 -0
  209. package/dist/domain/interfaces/knowledge-preservation-repository.interface.js.map +1 -0
  210. package/dist/domain/interfaces/memory-repository.interface.d.ts +49 -0
  211. package/dist/domain/interfaces/memory-repository.interface.d.ts.map +1 -0
  212. package/dist/domain/interfaces/memory-repository.interface.js +6 -0
  213. package/dist/domain/interfaces/memory-repository.interface.js.map +1 -0
  214. package/dist/domain/interfaces/pattern-repository.interface.d.ts +48 -0
  215. package/dist/domain/interfaces/pattern-repository.interface.d.ts.map +1 -0
  216. package/dist/domain/interfaces/pattern-repository.interface.js +6 -0
  217. package/dist/domain/interfaces/pattern-repository.interface.js.map +1 -0
  218. package/dist/domain/interfaces/verification-service.interface.d.ts +20 -0
  219. package/dist/domain/interfaces/verification-service.interface.d.ts.map +1 -0
  220. package/dist/domain/interfaces/verification-service.interface.js +6 -0
  221. package/dist/domain/interfaces/verification-service.interface.js.map +1 -0
  222. package/dist/domain/services/codebase-detector.d.ts +18 -0
  223. package/dist/domain/services/codebase-detector.d.ts.map +1 -0
  224. package/dist/domain/services/codebase-detector.js +91 -0
  225. package/dist/domain/services/codebase-detector.js.map +1 -0
  226. package/dist/domain/services/cross-team-pattern-sharing.d.ts +65 -0
  227. package/dist/domain/services/cross-team-pattern-sharing.d.ts.map +1 -0
  228. package/dist/domain/services/cross-team-pattern-sharing.js +125 -0
  229. package/dist/domain/services/cross-team-pattern-sharing.js.map +1 -0
  230. package/dist/domain/services/decision-recorder.d.ts +76 -0
  231. package/dist/domain/services/decision-recorder.d.ts.map +1 -0
  232. package/dist/domain/services/decision-recorder.js +223 -0
  233. package/dist/domain/services/decision-recorder.js.map +1 -0
  234. package/dist/domain/services/decision-retriever.d.ts +75 -0
  235. package/dist/domain/services/decision-retriever.d.ts.map +1 -0
  236. package/dist/domain/services/decision-retriever.js +133 -0
  237. package/dist/domain/services/decision-retriever.js.map +1 -0
  238. package/dist/domain/services/environment-mode-manager.d.ts +12 -0
  239. package/dist/domain/services/environment-mode-manager.d.ts.map +1 -0
  240. package/dist/domain/services/environment-mode-manager.js +22 -0
  241. package/dist/domain/services/environment-mode-manager.js.map +1 -0
  242. package/dist/domain/services/graded-memory-activation.d.ts +37 -0
  243. package/dist/domain/services/graded-memory-activation.d.ts.map +1 -0
  244. package/dist/domain/services/graded-memory-activation.js +69 -0
  245. package/dist/domain/services/graded-memory-activation.js.map +1 -0
  246. package/dist/domain/services/knowledge-access.d.ts +63 -0
  247. package/dist/domain/services/knowledge-access.d.ts.map +1 -0
  248. package/dist/domain/services/knowledge-access.js +132 -0
  249. package/dist/domain/services/knowledge-access.js.map +1 -0
  250. package/dist/domain/services/knowledge-extractor.d.ts +54 -0
  251. package/dist/domain/services/knowledge-extractor.d.ts.map +1 -0
  252. package/dist/domain/services/knowledge-extractor.js +247 -0
  253. package/dist/domain/services/knowledge-extractor.js.map +1 -0
  254. package/dist/domain/services/knowledge-graph-builder.d.ts +70 -0
  255. package/dist/domain/services/knowledge-graph-builder.d.ts.map +1 -0
  256. package/dist/domain/services/knowledge-graph-builder.js +268 -0
  257. package/dist/domain/services/knowledge-graph-builder.js.map +1 -0
  258. package/dist/domain/services/knowledge-graph-query.d.ts +69 -0
  259. package/dist/domain/services/knowledge-graph-query.d.ts.map +1 -0
  260. package/dist/domain/services/knowledge-graph-query.js +187 -0
  261. package/dist/domain/services/knowledge-graph-query.js.map +1 -0
  262. package/dist/domain/services/memory-retriever.d.ts +30 -0
  263. package/dist/domain/services/memory-retriever.d.ts.map +1 -0
  264. package/dist/domain/services/memory-retriever.js +82 -0
  265. package/dist/domain/services/memory-retriever.js.map +1 -0
  266. package/dist/domain/services/memory-synthesizer.d.ts +57 -0
  267. package/dist/domain/services/memory-synthesizer.d.ts.map +1 -0
  268. package/dist/domain/services/memory-synthesizer.js +91 -0
  269. package/dist/domain/services/memory-synthesizer.js.map +1 -0
  270. package/dist/domain/services/pattern-extractor.d.ts +108 -0
  271. package/dist/domain/services/pattern-extractor.d.ts.map +1 -0
  272. package/dist/domain/services/pattern-extractor.js +442 -0
  273. package/dist/domain/services/pattern-extractor.js.map +1 -0
  274. package/dist/domain/services/query-intent-classifier.d.ts +16 -0
  275. package/dist/domain/services/query-intent-classifier.d.ts.map +1 -0
  276. package/dist/domain/services/query-intent-classifier.js +173 -0
  277. package/dist/domain/services/query-intent-classifier.js.map +1 -0
  278. package/dist/domain/services/react-loop.d.ts +52 -0
  279. package/dist/domain/services/react-loop.d.ts.map +1 -0
  280. package/dist/domain/services/react-loop.js +186 -0
  281. package/dist/domain/services/react-loop.js.map +1 -0
  282. package/dist/domain/services/risk-tier-detector.d.ts +17 -0
  283. package/dist/domain/services/risk-tier-detector.d.ts.map +1 -0
  284. package/dist/domain/services/risk-tier-detector.js +78 -0
  285. package/dist/domain/services/risk-tier-detector.js.map +1 -0
  286. package/dist/edit.d.ts +26 -0
  287. package/dist/edit.d.ts 2.map +1 -0
  288. package/dist/edit.d.ts.map +1 -0
  289. package/dist/edit.js +319 -0
  290. package/dist/edit.js.map +1 -0
  291. package/dist/embed.d 2.ts +14 -0
  292. package/dist/embed.d.ts +14 -0
  293. package/dist/embed.d.ts.map +1 -0
  294. package/dist/embed.js +472 -0
  295. package/dist/embed.js.map +1 -0
  296. package/dist/error-handler.d 2.ts +77 -0
  297. package/dist/error-handler.d.ts +77 -0
  298. package/dist/error-handler.d.ts.map +1 -0
  299. package/dist/error-handler.js +256 -0
  300. package/dist/error-handler.js.map +1 -0
  301. package/dist/formatter 2.js +168 -0
  302. package/dist/formatter.d.ts +25 -0
  303. package/dist/formatter.d.ts 2.map +1 -0
  304. package/dist/formatter.d.ts.map +1 -0
  305. package/dist/formatter.js +168 -0
  306. package/dist/formatter.js.map +1 -0
  307. package/dist/git 2.js +198 -0
  308. package/dist/git.d 2.ts +55 -0
  309. package/dist/git.d.ts +55 -0
  310. package/dist/git.d.ts.map +1 -0
  311. package/dist/git.js +198 -0
  312. package/dist/git.js.map +1 -0
  313. package/dist/index 2.d.ts +16 -0
  314. package/dist/index 2.d.ts.map +1 -0
  315. package/dist/index 2.js +429 -0
  316. package/dist/index 2.js.map +1 -0
  317. package/dist/index-backup-before-lazy-loading.d.ts +3 -0
  318. package/dist/index-backup-before-lazy-loading.d.ts.map +1 -0
  319. package/dist/index-backup-before-lazy-loading.js +1551 -0
  320. package/dist/index-backup-before-lazy-loading.js.map +1 -0
  321. package/dist/index.d.ts +16 -0
  322. package/dist/index.d.ts 2.map +1 -0
  323. package/dist/index.d.ts.map +1 -0
  324. package/dist/index.js +489 -0
  325. package/dist/index.js 2.map +1 -0
  326. package/dist/index.js.map +1 -0
  327. package/dist/infrastructure/ai/cohere-ai-service.d.ts +71 -0
  328. package/dist/infrastructure/ai/cohere-ai-service.d.ts.map +1 -0
  329. package/dist/infrastructure/ai/cohere-ai-service.js +676 -0
  330. package/dist/infrastructure/ai/cohere-ai-service.js.map +1 -0
  331. package/dist/infrastructure/ai/command-r-evaluation.d.ts +42 -0
  332. package/dist/infrastructure/ai/command-r-evaluation.d.ts.map +1 -0
  333. package/dist/infrastructure/ai/command-r-evaluation.js +206 -0
  334. package/dist/infrastructure/ai/command-r-evaluation.js.map +1 -0
  335. package/dist/infrastructure/ai/model-config.d.ts +47 -0
  336. package/dist/infrastructure/ai/model-config.d.ts.map +1 -0
  337. package/dist/infrastructure/ai/model-config.js +84 -0
  338. package/dist/infrastructure/ai/model-config.js.map +1 -0
  339. package/dist/infrastructure/ai/provider-ai-service.d.ts +67 -0
  340. package/dist/infrastructure/ai/provider-ai-service.d.ts.map +1 -0
  341. package/dist/infrastructure/ai/provider-ai-service.js +580 -0
  342. package/dist/infrastructure/ai/provider-ai-service.js.map +1 -0
  343. package/dist/infrastructure/cache/embedding-cache.d.ts +58 -0
  344. package/dist/infrastructure/cache/embedding-cache.d.ts.map +1 -0
  345. package/dist/infrastructure/cache/embedding-cache.js +175 -0
  346. package/dist/infrastructure/cache/embedding-cache.js.map +1 -0
  347. package/dist/infrastructure/cache/query-result-cache.d.ts +27 -0
  348. package/dist/infrastructure/cache/query-result-cache.d.ts.map +1 -0
  349. package/dist/infrastructure/cache/query-result-cache.js +66 -0
  350. package/dist/infrastructure/cache/query-result-cache.js.map +1 -0
  351. package/dist/infrastructure/cache/response-cache.d.ts +18 -0
  352. package/dist/infrastructure/cache/response-cache.d.ts.map +1 -0
  353. package/dist/infrastructure/cache/response-cache.js +48 -0
  354. package/dist/infrastructure/cache/response-cache.js.map +1 -0
  355. package/dist/infrastructure/cache/security-scan-cache.d.ts +16 -0
  356. package/dist/infrastructure/cache/security-scan-cache.d.ts.map +1 -0
  357. package/dist/infrastructure/cache/security-scan-cache.js +47 -0
  358. package/dist/infrastructure/cache/security-scan-cache.js.map +1 -0
  359. package/dist/infrastructure/chunking/ast-code-chunker.d.ts +12 -0
  360. package/dist/infrastructure/chunking/ast-code-chunker.d.ts.map +1 -0
  361. package/dist/infrastructure/chunking/ast-code-chunker.js +19 -0
  362. package/dist/infrastructure/chunking/ast-code-chunker.js.map +1 -0
  363. package/dist/infrastructure/chunking/code-aware-chunker.d.ts +63 -0
  364. package/dist/infrastructure/chunking/code-aware-chunker.d.ts.map +1 -0
  365. package/dist/infrastructure/chunking/code-aware-chunker.js +397 -0
  366. package/dist/infrastructure/chunking/code-aware-chunker.js.map +1 -0
  367. package/dist/infrastructure/completion/bash-completion.d.ts +7 -0
  368. package/dist/infrastructure/completion/bash-completion.d.ts.map +1 -0
  369. package/dist/infrastructure/completion/bash-completion.js +25 -0
  370. package/dist/infrastructure/completion/bash-completion.js.map +1 -0
  371. package/dist/infrastructure/completion/fish-completion.d.ts +7 -0
  372. package/dist/infrastructure/completion/fish-completion.d.ts.map +1 -0
  373. package/dist/infrastructure/completion/fish-completion.js +22 -0
  374. package/dist/infrastructure/completion/fish-completion.js.map +1 -0
  375. package/dist/infrastructure/completion/zsh-completion.d.ts +7 -0
  376. package/dist/infrastructure/completion/zsh-completion.d.ts.map +1 -0
  377. package/dist/infrastructure/completion/zsh-completion.js +30 -0
  378. package/dist/infrastructure/completion/zsh-completion.js.map +1 -0
  379. package/dist/infrastructure/config/config-manager.d.ts +158 -0
  380. package/dist/infrastructure/config/config-manager.d.ts.map +1 -0
  381. package/dist/infrastructure/config/config-manager.js +294 -0
  382. package/dist/infrastructure/config/config-manager.js.map +1 -0
  383. package/dist/infrastructure/context/context-compressor.d.ts +94 -0
  384. package/dist/infrastructure/context/context-compressor.d.ts.map +1 -0
  385. package/dist/infrastructure/context/context-compressor.js +329 -0
  386. package/dist/infrastructure/context/context-compressor.js.map +1 -0
  387. package/dist/infrastructure/context/conversation-context.d.ts +82 -0
  388. package/dist/infrastructure/context/conversation-context.d.ts.map +1 -0
  389. package/dist/infrastructure/context/conversation-context.js +213 -0
  390. package/dist/infrastructure/context/conversation-context.js.map +1 -0
  391. package/dist/infrastructure/context/direct-context-provider.d.ts +18 -0
  392. package/dist/infrastructure/context/direct-context-provider.d.ts.map +1 -0
  393. package/dist/infrastructure/context/direct-context-provider.js +222 -0
  394. package/dist/infrastructure/context/direct-context-provider.js.map +1 -0
  395. package/dist/infrastructure/context/git-context-provider.d.ts +30 -0
  396. package/dist/infrastructure/context/git-context-provider.d.ts.map +1 -0
  397. package/dist/infrastructure/context/git-context-provider.js +140 -0
  398. package/dist/infrastructure/context/git-context-provider.js.map +1 -0
  399. package/dist/infrastructure/context/project-context-loader.d.ts +35 -0
  400. package/dist/infrastructure/context/project-context-loader.d.ts.map +1 -0
  401. package/dist/infrastructure/context/project-context-loader.js +184 -0
  402. package/dist/infrastructure/context/project-context-loader.js.map +1 -0
  403. package/dist/infrastructure/context/session-manager.d.ts +42 -0
  404. package/dist/infrastructure/context/session-manager.d.ts.map +1 -0
  405. package/dist/infrastructure/context/session-manager.js +94 -0
  406. package/dist/infrastructure/context/session-manager.js.map +1 -0
  407. package/dist/infrastructure/cost/cost-tracker.d.ts +91 -0
  408. package/dist/infrastructure/cost/cost-tracker.d.ts.map +1 -0
  409. package/dist/infrastructure/cost/cost-tracker.js +361 -0
  410. package/dist/infrastructure/cost/cost-tracker.js.map +1 -0
  411. package/dist/infrastructure/cost/session-token-tracker.d.ts +68 -0
  412. package/dist/infrastructure/cost/session-token-tracker.d.ts.map +1 -0
  413. package/dist/infrastructure/cost/session-token-tracker.js +178 -0
  414. package/dist/infrastructure/cost/session-token-tracker.js.map +1 -0
  415. package/dist/infrastructure/cost-calculator.d.ts +34 -0
  416. package/dist/infrastructure/cost-calculator.d.ts.map +1 -0
  417. package/dist/infrastructure/cost-calculator.js +145 -0
  418. package/dist/infrastructure/cost-calculator.js.map +1 -0
  419. package/dist/infrastructure/cost-estimator.d.ts +48 -0
  420. package/dist/infrastructure/cost-estimator.d.ts.map +1 -0
  421. package/dist/infrastructure/cost-estimator.js +201 -0
  422. package/dist/infrastructure/cost-estimator.js.map +1 -0
  423. package/dist/infrastructure/file-scanner/file-scanner.d.ts +31 -0
  424. package/dist/infrastructure/file-scanner/file-scanner.d.ts.map +1 -0
  425. package/dist/infrastructure/file-scanner/file-scanner.js +106 -0
  426. package/dist/infrastructure/file-scanner/file-scanner.js.map +1 -0
  427. package/dist/infrastructure/governance/nist-ai-rmf.d.ts +105 -0
  428. package/dist/infrastructure/governance/nist-ai-rmf.d.ts.map +1 -0
  429. package/dist/infrastructure/governance/nist-ai-rmf.js +292 -0
  430. package/dist/infrastructure/governance/nist-ai-rmf.js.map +1 -0
  431. package/dist/infrastructure/governance/policy-as-code.d.ts +88 -0
  432. package/dist/infrastructure/governance/policy-as-code.d.ts.map +1 -0
  433. package/dist/infrastructure/governance/policy-as-code.js +257 -0
  434. package/dist/infrastructure/governance/policy-as-code.js.map +1 -0
  435. package/dist/infrastructure/governance/prompt-to-code-lineage.d.ts +136 -0
  436. package/dist/infrastructure/governance/prompt-to-code-lineage.d.ts.map +1 -0
  437. package/dist/infrastructure/governance/prompt-to-code-lineage.js +239 -0
  438. package/dist/infrastructure/governance/prompt-to-code-lineage.js.map +1 -0
  439. package/dist/infrastructure/index.d.ts +7 -0
  440. package/dist/infrastructure/index.d.ts.map +1 -0
  441. package/dist/infrastructure/index.js +7 -0
  442. package/dist/infrastructure/index.js.map +1 -0
  443. package/dist/infrastructure/observability/execution-tracer.d.ts +130 -0
  444. package/dist/infrastructure/observability/execution-tracer.d.ts.map +1 -0
  445. package/dist/infrastructure/observability/execution-tracer.js +400 -0
  446. package/dist/infrastructure/observability/execution-tracer.js.map +1 -0
  447. package/dist/infrastructure/observability/prompt-versioner.d.ts +67 -0
  448. package/dist/infrastructure/observability/prompt-versioner.d.ts.map +1 -0
  449. package/dist/infrastructure/observability/prompt-versioner.js +145 -0
  450. package/dist/infrastructure/observability/prompt-versioner.js.map +1 -0
  451. package/dist/infrastructure/protocols/a2a-metadata.d.ts +278 -0
  452. package/dist/infrastructure/protocols/a2a-metadata.d.ts.map +1 -0
  453. package/dist/infrastructure/protocols/a2a-metadata.js +137 -0
  454. package/dist/infrastructure/protocols/a2a-metadata.js.map +1 -0
  455. package/dist/infrastructure/protocols/a2a-protocol.d.ts +132 -0
  456. package/dist/infrastructure/protocols/a2a-protocol.d.ts.map +1 -0
  457. package/dist/infrastructure/protocols/a2a-protocol.js +314 -0
  458. package/dist/infrastructure/protocols/a2a-protocol.js.map +1 -0
  459. package/dist/infrastructure/protocols/mcp-oauth.d.ts +91 -0
  460. package/dist/infrastructure/protocols/mcp-oauth.d.ts.map +1 -0
  461. package/dist/infrastructure/protocols/mcp-oauth.js +184 -0
  462. package/dist/infrastructure/protocols/mcp-oauth.js.map +1 -0
  463. package/dist/infrastructure/protocols/mcp-server.d.ts +126 -0
  464. package/dist/infrastructure/protocols/mcp-server.d.ts.map +1 -0
  465. package/dist/infrastructure/protocols/mcp-server.js +333 -0
  466. package/dist/infrastructure/protocols/mcp-server.js.map +1 -0
  467. package/dist/infrastructure/protocols/streaming-handler.d.ts +57 -0
  468. package/dist/infrastructure/protocols/streaming-handler.d.ts.map +1 -0
  469. package/dist/infrastructure/protocols/streaming-handler.js +103 -0
  470. package/dist/infrastructure/protocols/streaming-handler.js.map +1 -0
  471. package/dist/infrastructure/providers/cohere-provider.d.ts +39 -0
  472. package/dist/infrastructure/providers/cohere-provider.d.ts.map +1 -0
  473. package/dist/infrastructure/providers/cohere-provider.js +470 -0
  474. package/dist/infrastructure/providers/cohere-provider.js.map +1 -0
  475. package/dist/infrastructure/providers/fake-provider.d.ts +43 -0
  476. package/dist/infrastructure/providers/fake-provider.d.ts.map +1 -0
  477. package/dist/infrastructure/providers/fake-provider.js +138 -0
  478. package/dist/infrastructure/providers/fake-provider.js.map +1 -0
  479. package/dist/infrastructure/providers/local-llm-provider.d.ts +49 -0
  480. package/dist/infrastructure/providers/local-llm-provider.d.ts.map +1 -0
  481. package/dist/infrastructure/providers/local-llm-provider.js +336 -0
  482. package/dist/infrastructure/providers/local-llm-provider.js.map +1 -0
  483. package/dist/infrastructure/providers/model-config.types.d.ts +70 -0
  484. package/dist/infrastructure/providers/model-config.types.d.ts.map +1 -0
  485. package/dist/infrastructure/providers/model-config.types.js +9 -0
  486. package/dist/infrastructure/providers/model-config.types.js.map +1 -0
  487. package/dist/infrastructure/providers/model-provider.interface.d.ts +113 -0
  488. package/dist/infrastructure/providers/model-provider.interface.d.ts.map +1 -0
  489. package/dist/infrastructure/providers/model-provider.interface.js +8 -0
  490. package/dist/infrastructure/providers/model-provider.interface.js.map +1 -0
  491. package/dist/infrastructure/providers/openai-provider.d.ts +38 -0
  492. package/dist/infrastructure/providers/openai-provider.d.ts.map +1 -0
  493. package/dist/infrastructure/providers/openai-provider.js +445 -0
  494. package/dist/infrastructure/providers/openai-provider.js.map +1 -0
  495. package/dist/infrastructure/providers/openrouter-provider.d.ts +42 -0
  496. package/dist/infrastructure/providers/openrouter-provider.d.ts.map +1 -0
  497. package/dist/infrastructure/providers/openrouter-provider.js +407 -0
  498. package/dist/infrastructure/providers/openrouter-provider.js.map +1 -0
  499. package/dist/infrastructure/providers/operation-provider-resolver.d.ts +48 -0
  500. package/dist/infrastructure/providers/operation-provider-resolver.d.ts.map +1 -0
  501. package/dist/infrastructure/providers/operation-provider-resolver.js +105 -0
  502. package/dist/infrastructure/providers/operation-provider-resolver.js.map +1 -0
  503. package/dist/infrastructure/providers/provider-config-loader.d.ts +37 -0
  504. package/dist/infrastructure/providers/provider-config-loader.d.ts.map +1 -0
  505. package/dist/infrastructure/providers/provider-config-loader.js +120 -0
  506. package/dist/infrastructure/providers/provider-config-loader.js.map +1 -0
  507. package/dist/infrastructure/providers/provider-registry.d.ts +53 -0
  508. package/dist/infrastructure/providers/provider-registry.d.ts.map +1 -0
  509. package/dist/infrastructure/providers/provider-registry.js +88 -0
  510. package/dist/infrastructure/providers/provider-registry.js.map +1 -0
  511. package/dist/infrastructure/security/ai-sast-scanner.d.ts +59 -0
  512. package/dist/infrastructure/security/ai-sast-scanner.d.ts.map +1 -0
  513. package/dist/infrastructure/security/ai-sast-scanner.js +241 -0
  514. package/dist/infrastructure/security/ai-sast-scanner.js.map +1 -0
  515. package/dist/infrastructure/security/docker-sandbox.d.ts +57 -0
  516. package/dist/infrastructure/security/docker-sandbox.d.ts.map +1 -0
  517. package/dist/infrastructure/security/docker-sandbox.js +178 -0
  518. package/dist/infrastructure/security/docker-sandbox.js.map +1 -0
  519. package/dist/infrastructure/security/enhanced-security-gate.d.ts +66 -0
  520. package/dist/infrastructure/security/enhanced-security-gate.d.ts.map +1 -0
  521. package/dist/infrastructure/security/enhanced-security-gate.js +210 -0
  522. package/dist/infrastructure/security/enhanced-security-gate.js.map +1 -0
  523. package/dist/infrastructure/security/input-validator.d.ts +46 -0
  524. package/dist/infrastructure/security/input-validator.d.ts.map +1 -0
  525. package/dist/infrastructure/security/input-validator.js +269 -0
  526. package/dist/infrastructure/security/input-validator.js.map +1 -0
  527. package/dist/infrastructure/security/license-scanner.d.ts +55 -0
  528. package/dist/infrastructure/security/license-scanner.d.ts.map +1 -0
  529. package/dist/infrastructure/security/license-scanner.js +167 -0
  530. package/dist/infrastructure/security/license-scanner.js.map +1 -0
  531. package/dist/infrastructure/security/provider-bias-detector.d.ts +53 -0
  532. package/dist/infrastructure/security/provider-bias-detector.d.ts.map +1 -0
  533. package/dist/infrastructure/security/provider-bias-detector.js +164 -0
  534. package/dist/infrastructure/security/provider-bias-detector.js.map +1 -0
  535. package/dist/infrastructure/security/sandbox-executor.d.ts +34 -0
  536. package/dist/infrastructure/security/sandbox-executor.d.ts.map +1 -0
  537. package/dist/infrastructure/security/sandbox-executor.js +64 -0
  538. package/dist/infrastructure/security/sandbox-executor.js.map +1 -0
  539. package/dist/infrastructure/serialization/toon-serializer.d.ts +45 -0
  540. package/dist/infrastructure/serialization/toon-serializer.d.ts.map +1 -0
  541. package/dist/infrastructure/serialization/toon-serializer.js +119 -0
  542. package/dist/infrastructure/serialization/toon-serializer.js.map +1 -0
  543. package/dist/infrastructure/storage/embeddings-path.d.ts +18 -0
  544. package/dist/infrastructure/storage/embeddings-path.d.ts.map +1 -0
  545. package/dist/infrastructure/storage/embeddings-path.js +47 -0
  546. package/dist/infrastructure/storage/embeddings-path.js.map +1 -0
  547. package/dist/infrastructure/storage/memory-stream-service.d.ts +47 -0
  548. package/dist/infrastructure/storage/memory-stream-service.d.ts.map +1 -0
  549. package/dist/infrastructure/storage/memory-stream-service.js +204 -0
  550. package/dist/infrastructure/storage/memory-stream-service.js.map +1 -0
  551. package/dist/infrastructure/storage/plan-repository.d.ts +40 -0
  552. package/dist/infrastructure/storage/plan-repository.d.ts.map +1 -0
  553. package/dist/infrastructure/storage/plan-repository.js +95 -0
  554. package/dist/infrastructure/storage/plan-repository.js.map +1 -0
  555. package/dist/infrastructure/storage/sqlite-context-repository.d.ts +95 -0
  556. package/dist/infrastructure/storage/sqlite-context-repository.d.ts.map +1 -0
  557. package/dist/infrastructure/storage/sqlite-context-repository.js +467 -0
  558. package/dist/infrastructure/storage/sqlite-context-repository.js.map +1 -0
  559. package/dist/infrastructure/storage/sqlite-decision-repository.d.ts +29 -0
  560. package/dist/infrastructure/storage/sqlite-decision-repository.d.ts.map +1 -0
  561. package/dist/infrastructure/storage/sqlite-decision-repository.js +228 -0
  562. package/dist/infrastructure/storage/sqlite-decision-repository.js.map +1 -0
  563. package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts +47 -0
  564. package/dist/infrastructure/storage/sqlite-embedding-repository.d.ts.map +1 -0
  565. package/dist/infrastructure/storage/sqlite-embedding-repository.js +323 -0
  566. package/dist/infrastructure/storage/sqlite-embedding-repository.js.map +1 -0
  567. package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.d.ts +41 -0
  568. package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.d.ts.map +1 -0
  569. package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.js +413 -0
  570. package/dist/infrastructure/storage/sqlite-knowledge-graph-repository.js.map +1 -0
  571. package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.d.ts +29 -0
  572. package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.d.ts.map +1 -0
  573. package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.js +226 -0
  574. package/dist/infrastructure/storage/sqlite-knowledge-preservation-repository.js.map +1 -0
  575. package/dist/infrastructure/storage/sqlite-memory-repository.d.ts +40 -0
  576. package/dist/infrastructure/storage/sqlite-memory-repository.d.ts.map +1 -0
  577. package/dist/infrastructure/storage/sqlite-memory-repository.js +225 -0
  578. package/dist/infrastructure/storage/sqlite-memory-repository.js.map +1 -0
  579. package/dist/infrastructure/storage/sqlite-pattern-repository.d.ts +25 -0
  580. package/dist/infrastructure/storage/sqlite-pattern-repository.d.ts.map +1 -0
  581. package/dist/infrastructure/storage/sqlite-pattern-repository.js +245 -0
  582. package/dist/infrastructure/storage/sqlite-pattern-repository.js.map +1 -0
  583. package/dist/infrastructure/storage/task-helpers.d.ts +69 -0
  584. package/dist/infrastructure/storage/task-helpers.d.ts.map +1 -0
  585. package/dist/infrastructure/storage/task-helpers.js +197 -0
  586. package/dist/infrastructure/storage/task-helpers.js.map +1 -0
  587. package/dist/infrastructure/storage/task-repository.d.ts +67 -0
  588. package/dist/infrastructure/storage/task-repository.d.ts.map +1 -0
  589. package/dist/infrastructure/storage/task-repository.js +205 -0
  590. package/dist/infrastructure/storage/task-repository.js.map +1 -0
  591. package/dist/infrastructure/telemetry/telemetry-service.d.ts +74 -0
  592. package/dist/infrastructure/telemetry/telemetry-service.d.ts.map +1 -0
  593. package/dist/infrastructure/telemetry/telemetry-service.js +167 -0
  594. package/dist/infrastructure/telemetry/telemetry-service.js.map +1 -0
  595. package/dist/infrastructure/ux/appropriate-friction.d.ts +77 -0
  596. package/dist/infrastructure/ux/appropriate-friction.d.ts.map +1 -0
  597. package/dist/infrastructure/ux/appropriate-friction.js +213 -0
  598. package/dist/infrastructure/ux/appropriate-friction.js.map +1 -0
  599. package/dist/infrastructure/ux/bi-directional-learning.d.ts +131 -0
  600. package/dist/infrastructure/ux/bi-directional-learning.d.ts.map +1 -0
  601. package/dist/infrastructure/ux/bi-directional-learning.js +337 -0
  602. package/dist/infrastructure/ux/bi-directional-learning.js.map +1 -0
  603. package/dist/infrastructure/ux/capability-boundaries.d.ts +22 -0
  604. package/dist/infrastructure/ux/capability-boundaries.d.ts.map +1 -0
  605. package/dist/infrastructure/ux/capability-boundaries.js +42 -0
  606. package/dist/infrastructure/ux/capability-boundaries.js.map +1 -0
  607. package/dist/infrastructure/ux/cli-style-guide.d.ts +105 -0
  608. package/dist/infrastructure/ux/cli-style-guide.d.ts.map +1 -0
  609. package/dist/infrastructure/ux/cli-style-guide.js +220 -0
  610. package/dist/infrastructure/ux/cli-style-guide.js.map +1 -0
  611. package/dist/infrastructure/ux/comprehensive-formatter.d.ts +21 -0
  612. package/dist/infrastructure/ux/comprehensive-formatter.d.ts.map +1 -0
  613. package/dist/infrastructure/ux/comprehensive-formatter.js +117 -0
  614. package/dist/infrastructure/ux/comprehensive-formatter.js.map +1 -0
  615. package/dist/infrastructure/ux/contextual-feature-discovery.d.ts +11 -0
  616. package/dist/infrastructure/ux/contextual-feature-discovery.d.ts.map +1 -0
  617. package/dist/infrastructure/ux/contextual-feature-discovery.js +10 -0
  618. package/dist/infrastructure/ux/contextual-feature-discovery.js.map +1 -0
  619. package/dist/infrastructure/ux/expectation-management.d.ts +98 -0
  620. package/dist/infrastructure/ux/expectation-management.d.ts.map +1 -0
  621. package/dist/infrastructure/ux/expectation-management.js +327 -0
  622. package/dist/infrastructure/ux/expectation-management.js.map +1 -0
  623. package/dist/infrastructure/ux/feature-discovery.d.ts +17 -0
  624. package/dist/infrastructure/ux/feature-discovery.d.ts.map +1 -0
  625. package/dist/infrastructure/ux/feature-discovery.js +14 -0
  626. package/dist/infrastructure/ux/feature-discovery.js.map +1 -0
  627. package/dist/infrastructure/ux/feedback-prompt.d.ts +26 -0
  628. package/dist/infrastructure/ux/feedback-prompt.d.ts.map +1 -0
  629. package/dist/infrastructure/ux/feedback-prompt.js +45 -0
  630. package/dist/infrastructure/ux/feedback-prompt.js.map +1 -0
  631. package/dist/infrastructure/ux/hitl-validation.d.ts +139 -0
  632. package/dist/infrastructure/ux/hitl-validation.d.ts.map +1 -0
  633. package/dist/infrastructure/ux/hitl-validation.js +297 -0
  634. package/dist/infrastructure/ux/hitl-validation.js.map +1 -0
  635. package/dist/infrastructure/ux/progress-indicator.d.ts +53 -0
  636. package/dist/infrastructure/ux/progress-indicator.d.ts.map +1 -0
  637. package/dist/infrastructure/ux/progress-indicator.js +116 -0
  638. package/dist/infrastructure/ux/progress-indicator.js.map +1 -0
  639. package/dist/infrastructure/ux/progressive-disclosure.d.ts +84 -0
  640. package/dist/infrastructure/ux/progressive-disclosure.d.ts.map +1 -0
  641. package/dist/infrastructure/ux/progressive-disclosure.js +236 -0
  642. package/dist/infrastructure/ux/progressive-disclosure.js.map +1 -0
  643. package/dist/infrastructure/ux/review-checkpoint.d.ts +37 -0
  644. package/dist/infrastructure/ux/review-checkpoint.d.ts.map +1 -0
  645. package/dist/infrastructure/ux/review-checkpoint.js +72 -0
  646. package/dist/infrastructure/ux/review-checkpoint.js.map +1 -0
  647. package/dist/infrastructure/ux/staged-feature-intro.d.ts +22 -0
  648. package/dist/infrastructure/ux/staged-feature-intro.d.ts.map +1 -0
  649. package/dist/infrastructure/ux/staged-feature-intro.js +24 -0
  650. package/dist/infrastructure/ux/staged-feature-intro.js.map +1 -0
  651. package/dist/infrastructure/ux/syntax-highlighter.d.ts +20 -0
  652. package/dist/infrastructure/ux/syntax-highlighter.d.ts.map +1 -0
  653. package/dist/infrastructure/ux/syntax-highlighter.js +91 -0
  654. package/dist/infrastructure/ux/syntax-highlighter.js.map +1 -0
  655. package/dist/infrastructure/ux/team-standards.d.ts +94 -0
  656. package/dist/infrastructure/ux/team-standards.d.ts.map +1 -0
  657. package/dist/infrastructure/ux/team-standards.js +196 -0
  658. package/dist/infrastructure/ux/team-standards.js.map +1 -0
  659. package/dist/infrastructure/validation/agent-feedback.d.ts +57 -0
  660. package/dist/infrastructure/validation/agent-feedback.d.ts.map +1 -0
  661. package/dist/infrastructure/validation/agent-feedback.js +100 -0
  662. package/dist/infrastructure/validation/agent-feedback.js.map +1 -0
  663. package/dist/infrastructure/validation/agent-validation-helper.d.ts +75 -0
  664. package/dist/infrastructure/validation/agent-validation-helper.d.ts.map +1 -0
  665. package/dist/infrastructure/validation/agent-validation-helper.js +137 -0
  666. package/dist/infrastructure/validation/agent-validation-helper.js.map +1 -0
  667. package/dist/infrastructure/validation/hallucination-detector.d.ts +121 -0
  668. package/dist/infrastructure/validation/hallucination-detector.d.ts.map +1 -0
  669. package/dist/infrastructure/validation/hallucination-detector.js +388 -0
  670. package/dist/infrastructure/validation/hallucination-detector.js.map +1 -0
  671. package/dist/infrastructure/validation/review-handler.d.ts +26 -0
  672. package/dist/infrastructure/validation/review-handler.d.ts.map +1 -0
  673. package/dist/infrastructure/validation/review-handler.js +40 -0
  674. package/dist/infrastructure/validation/review-handler.js.map +1 -0
  675. package/dist/infrastructure/validation/summary-aggregator.d.ts +45 -0
  676. package/dist/infrastructure/validation/summary-aggregator.d.ts.map +1 -0
  677. package/dist/infrastructure/validation/summary-aggregator.js +70 -0
  678. package/dist/infrastructure/validation/summary-aggregator.js.map +1 -0
  679. package/dist/infrastructure/validation/summary-extractor.d.ts +24 -0
  680. package/dist/infrastructure/validation/summary-extractor.d.ts.map +1 -0
  681. package/dist/infrastructure/validation/summary-extractor.js +45 -0
  682. package/dist/infrastructure/validation/summary-extractor.js.map +1 -0
  683. package/dist/infrastructure/validation/trace-summary.d.ts +45 -0
  684. package/dist/infrastructure/validation/trace-summary.d.ts.map +1 -0
  685. package/dist/infrastructure/validation/trace-summary.js +52 -0
  686. package/dist/infrastructure/validation/trace-summary.js.map +1 -0
  687. package/dist/infrastructure/verification/verification-service.d.ts +12 -0
  688. package/dist/infrastructure/verification/verification-service.d.ts.map +1 -0
  689. package/dist/infrastructure/verification/verification-service.js +47 -0
  690. package/dist/infrastructure/verification/verification-service.js.map +1 -0
  691. package/dist/infrastructure/xai/attention-visualizer.d.ts +71 -0
  692. package/dist/infrastructure/xai/attention-visualizer.d.ts.map +1 -0
  693. package/dist/infrastructure/xai/attention-visualizer.js +172 -0
  694. package/dist/infrastructure/xai/attention-visualizer.js.map +1 -0
  695. package/dist/infrastructure/xai/cot-visualizer.d.ts +103 -0
  696. package/dist/infrastructure/xai/cot-visualizer.d.ts.map +1 -0
  697. package/dist/infrastructure/xai/cot-visualizer.js +283 -0
  698. package/dist/infrastructure/xai/cot-visualizer.js.map +1 -0
  699. package/dist/infrastructure/xai/decision-tree-log.d.ts +100 -0
  700. package/dist/infrastructure/xai/decision-tree-log.d.ts.map +1 -0
  701. package/dist/infrastructure/xai/decision-tree-log.js +212 -0
  702. package/dist/infrastructure/xai/decision-tree-log.js.map +1 -0
  703. package/dist/infrastructure/xai/interactive-xai.d.ts +104 -0
  704. package/dist/infrastructure/xai/interactive-xai.d.ts.map +1 -0
  705. package/dist/infrastructure/xai/interactive-xai.js +260 -0
  706. package/dist/infrastructure/xai/interactive-xai.js.map +1 -0
  707. package/dist/infrastructure/xai/uncertainty-quantifier.d.ts +77 -0
  708. package/dist/infrastructure/xai/uncertainty-quantifier.d.ts.map +1 -0
  709. package/dist/infrastructure/xai/uncertainty-quantifier.js +198 -0
  710. package/dist/infrastructure/xai/uncertainty-quantifier.js.map +1 -0
  711. package/dist/intelligent-retrieval 2.js +272 -0
  712. package/dist/intelligent-retrieval.d.ts +41 -0
  713. package/dist/intelligent-retrieval.d.ts 2.map +1 -0
  714. package/dist/intelligent-retrieval.d.ts.map +1 -0
  715. package/dist/intelligent-retrieval.js +272 -0
  716. package/dist/intelligent-retrieval.js.map +1 -0
  717. package/dist/intent/classifier.d.ts +6 -0
  718. package/dist/intent/classifier.d.ts.map +1 -0
  719. package/dist/intent/classifier.js +2 -0
  720. package/dist/intent/classifier.js.map +1 -0
  721. package/dist/intent/context.d.ts +4 -0
  722. package/dist/intent/context.d.ts.map +1 -0
  723. package/dist/intent/context.js +2 -0
  724. package/dist/intent/context.js.map +1 -0
  725. package/dist/iterative-refinement.d.ts +31 -0
  726. package/dist/iterative-refinement.d.ts.map +1 -0
  727. package/dist/iterative-refinement.js +189 -0
  728. package/dist/iterative-refinement.js.map +1 -0
  729. package/dist/learning.d.ts +69 -0
  730. package/dist/learning.d.ts.map +1 -0
  731. package/dist/learning.js +232 -0
  732. package/dist/learning.js.map +1 -0
  733. package/dist/log.d.ts +4 -0
  734. package/dist/log.d.ts.map +1 -0
  735. package/dist/log.js +31 -0
  736. package/dist/log.js 2.map +1 -0
  737. package/dist/log.js.map +1 -0
  738. package/dist/migrate.d.ts +33 -0
  739. package/dist/migrate.d.ts.map +1 -0
  740. package/dist/migrate.js +133 -0
  741. package/dist/migrate.js 2.map +1 -0
  742. package/dist/migrate.js.map +1 -0
  743. package/dist/monitoring.d.ts +75 -0
  744. package/dist/monitoring.d.ts.map +1 -0
  745. package/dist/monitoring.js +250 -0
  746. package/dist/monitoring.js.map +1 -0
  747. package/dist/parallel-processor.d 2.ts +44 -0
  748. package/dist/parallel-processor.d.ts +44 -0
  749. package/dist/parallel-processor.d.ts.map +1 -0
  750. package/dist/parallel-processor.js +606 -0
  751. package/dist/parallel-processor.js.map +1 -0
  752. package/dist/planner.d.ts +47 -0
  753. package/dist/planner.d.ts.map +1 -0
  754. package/dist/planner.js +198 -0
  755. package/dist/planner.js.map +1 -0
  756. package/dist/policy.d 2.ts +3 -0
  757. package/dist/policy.d.ts +3 -0
  758. package/dist/policy.d.ts.map +1 -0
  759. package/dist/policy.js +26 -0
  760. package/dist/policy.js.map +1 -0
  761. package/dist/presentation/cli/commands/ask-command.d.ts +9 -0
  762. package/dist/presentation/cli/commands/ask-command.d.ts.map +1 -0
  763. package/dist/presentation/cli/commands/ask-command.js +355 -0
  764. package/dist/presentation/cli/commands/ask-command.js.map +1 -0
  765. package/dist/presentation/cli/commands/audit-command.d.ts +13 -0
  766. package/dist/presentation/cli/commands/audit-command.d.ts.map +1 -0
  767. package/dist/presentation/cli/commands/audit-command.js +96 -0
  768. package/dist/presentation/cli/commands/audit-command.js.map +1 -0
  769. package/dist/presentation/cli/commands/config-command.d.ts +9 -0
  770. package/dist/presentation/cli/commands/config-command.d.ts.map +1 -0
  771. package/dist/presentation/cli/commands/config-command.js +125 -0
  772. package/dist/presentation/cli/commands/config-command.js.map +1 -0
  773. package/dist/presentation/cli/commands/context-command.d.ts +32 -0
  774. package/dist/presentation/cli/commands/context-command.d.ts.map +1 -0
  775. package/dist/presentation/cli/commands/context-command.js +295 -0
  776. package/dist/presentation/cli/commands/context-command.js.map +1 -0
  777. package/dist/presentation/cli/commands/context-helper.d.ts +16 -0
  778. package/dist/presentation/cli/commands/context-helper.d.ts.map +1 -0
  779. package/dist/presentation/cli/commands/context-helper.js +88 -0
  780. package/dist/presentation/cli/commands/context-helper.js.map +1 -0
  781. package/dist/presentation/cli/commands/cost-command.d.ts +8 -0
  782. package/dist/presentation/cli/commands/cost-command.d.ts.map +1 -0
  783. package/dist/presentation/cli/commands/cost-command.js +191 -0
  784. package/dist/presentation/cli/commands/cost-command.js.map +1 -0
  785. package/dist/presentation/cli/commands/decision-command.d.ts +12 -0
  786. package/dist/presentation/cli/commands/decision-command.d.ts.map +1 -0
  787. package/dist/presentation/cli/commands/decision-command.js +207 -0
  788. package/dist/presentation/cli/commands/decision-command.js.map +1 -0
  789. package/dist/presentation/cli/commands/docs-command.d.ts +14 -0
  790. package/dist/presentation/cli/commands/docs-command.d.ts.map +1 -0
  791. package/dist/presentation/cli/commands/docs-command.js +25 -0
  792. package/dist/presentation/cli/commands/docs-command.js.map +1 -0
  793. package/dist/presentation/cli/commands/fix-command.d.ts +15 -0
  794. package/dist/presentation/cli/commands/fix-command.d.ts.map +1 -0
  795. package/dist/presentation/cli/commands/fix-command.js +93 -0
  796. package/dist/presentation/cli/commands/fix-command.js.map +1 -0
  797. package/dist/presentation/cli/commands/help-command.d.ts +9 -0
  798. package/dist/presentation/cli/commands/help-command.d.ts.map +1 -0
  799. package/dist/presentation/cli/commands/help-command.js +283 -0
  800. package/dist/presentation/cli/commands/help-command.js.map +1 -0
  801. package/dist/presentation/cli/commands/knowledge-command.d.ts +13 -0
  802. package/dist/presentation/cli/commands/knowledge-command.d.ts.map +1 -0
  803. package/dist/presentation/cli/commands/knowledge-command.js +129 -0
  804. package/dist/presentation/cli/commands/knowledge-command.js.map +1 -0
  805. package/dist/presentation/cli/commands/learning-dashboard-command.d.ts +8 -0
  806. package/dist/presentation/cli/commands/learning-dashboard-command.d.ts.map +1 -0
  807. package/dist/presentation/cli/commands/learning-dashboard-command.js +183 -0
  808. package/dist/presentation/cli/commands/learning-dashboard-command.js.map +1 -0
  809. package/dist/presentation/cli/commands/models-command.d.ts +13 -0
  810. package/dist/presentation/cli/commands/models-command.d.ts.map +1 -0
  811. package/dist/presentation/cli/commands/models-command.js +194 -0
  812. package/dist/presentation/cli/commands/models-command.js.map +1 -0
  813. package/dist/presentation/cli/commands/orchestrate-command.d.ts +10 -0
  814. package/dist/presentation/cli/commands/orchestrate-command.d.ts.map +1 -0
  815. package/dist/presentation/cli/commands/orchestrate-command.js +249 -0
  816. package/dist/presentation/cli/commands/orchestrate-command.js.map +1 -0
  817. package/dist/presentation/cli/commands/plan-command.d.ts +9 -0
  818. package/dist/presentation/cli/commands/plan-command.d.ts.map +1 -0
  819. package/dist/presentation/cli/commands/plan-command.js +246 -0
  820. package/dist/presentation/cli/commands/plan-command.js.map +1 -0
  821. package/dist/presentation/cli/commands/product-command.d.ts +14 -0
  822. package/dist/presentation/cli/commands/product-command.d.ts.map +1 -0
  823. package/dist/presentation/cli/commands/product-command.js +22 -0
  824. package/dist/presentation/cli/commands/product-command.js.map +1 -0
  825. package/dist/presentation/cli/commands/react-command.d.ts +8 -0
  826. package/dist/presentation/cli/commands/react-command.d.ts.map +1 -0
  827. package/dist/presentation/cli/commands/react-command.js +181 -0
  828. package/dist/presentation/cli/commands/react-command.js.map +1 -0
  829. package/dist/presentation/cli/commands/review-command.d.ts +14 -0
  830. package/dist/presentation/cli/commands/review-command.d.ts.map +1 -0
  831. package/dist/presentation/cli/commands/review-command.js +154 -0
  832. package/dist/presentation/cli/commands/review-command.js.map +1 -0
  833. package/dist/presentation/cli/commands/run-command.d.ts +13 -0
  834. package/dist/presentation/cli/commands/run-command.d.ts.map +1 -0
  835. package/dist/presentation/cli/commands/run-command.js +188 -0
  836. package/dist/presentation/cli/commands/run-command.js.map +1 -0
  837. package/dist/presentation/cli/commands/setup-command.d.ts +10 -0
  838. package/dist/presentation/cli/commands/setup-command.d.ts.map +1 -0
  839. package/dist/presentation/cli/commands/setup-command.js +301 -0
  840. package/dist/presentation/cli/commands/setup-command.js.map +1 -0
  841. package/dist/presentation/cli/commands/smart-command.d.ts +11 -0
  842. package/dist/presentation/cli/commands/smart-command.d.ts.map +1 -0
  843. package/dist/presentation/cli/commands/smart-command.js +517 -0
  844. package/dist/presentation/cli/commands/smart-command.js.map +1 -0
  845. package/dist/presentation/cli/commands/status-command.d.ts +14 -0
  846. package/dist/presentation/cli/commands/status-command.d.ts.map +1 -0
  847. package/dist/presentation/cli/commands/status-command.js +167 -0
  848. package/dist/presentation/cli/commands/status-command.js.map +1 -0
  849. package/dist/presentation/cli/commands/suggest-command.d.ts +11 -0
  850. package/dist/presentation/cli/commands/suggest-command.d.ts.map +1 -0
  851. package/dist/presentation/cli/commands/suggest-command.js +138 -0
  852. package/dist/presentation/cli/commands/suggest-command.js.map +1 -0
  853. package/dist/presentation/cli/commands/trace-command.d.ts +8 -0
  854. package/dist/presentation/cli/commands/trace-command.d.ts.map +1 -0
  855. package/dist/presentation/cli/commands/trace-command.js +129 -0
  856. package/dist/presentation/cli/commands/trace-command.js.map +1 -0
  857. package/dist/presentation/cli/commands/trust-command.d.ts +28 -0
  858. package/dist/presentation/cli/commands/trust-command.d.ts.map +1 -0
  859. package/dist/presentation/cli/commands/trust-command.js +301 -0
  860. package/dist/presentation/cli/commands/trust-command.js.map +1 -0
  861. package/dist/presentation/cli/commands/undo-command.d.ts +8 -0
  862. package/dist/presentation/cli/commands/undo-command.d.ts.map +1 -0
  863. package/dist/presentation/cli/commands/undo-command.js +150 -0
  864. package/dist/presentation/cli/commands/undo-command.js.map +1 -0
  865. package/dist/presentation/cli/error-display.d.ts +25 -0
  866. package/dist/presentation/cli/error-display.d.ts.map +1 -0
  867. package/dist/presentation/cli/error-display.js +340 -0
  868. package/dist/presentation/cli/error-display.js.map +1 -0
  869. package/dist/query-optimizer.d.ts +32 -0
  870. package/dist/query-optimizer.d.ts.map +1 -0
  871. package/dist/query-optimizer.js +205 -0
  872. package/dist/query-optimizer.js.map +1 -0
  873. package/dist/refactor.d.ts +27 -0
  874. package/dist/refactor.d.ts.map +1 -0
  875. package/dist/refactor.js +116 -0
  876. package/dist/refactor.js.map +1 -0
  877. package/dist/review 2.js +206 -0
  878. package/dist/review.d.ts +31 -0
  879. package/dist/review.d.ts.map +1 -0
  880. package/dist/review.js +206 -0
  881. package/dist/review.js.map +1 -0
  882. package/dist/search.d.ts +19 -0
  883. package/dist/search.d.ts.map +1 -0
  884. package/dist/search.js +193 -0
  885. package/dist/search.js 2.map +1 -0
  886. package/dist/search.js.map +1 -0
  887. package/dist/session 2.js +593 -0
  888. package/dist/session.d.ts +17 -0
  889. package/dist/session.d.ts 2.map +1 -0
  890. package/dist/session.d.ts.map +1 -0
  891. package/dist/session.js +593 -0
  892. package/dist/session.js.map +1 -0
  893. package/dist/task-verification 2.js +336 -0
  894. package/dist/task-verification.d.ts +39 -0
  895. package/dist/task-verification.d.ts 2.map +1 -0
  896. package/dist/task-verification.d.ts.map +1 -0
  897. package/dist/task-verification.js +336 -0
  898. package/dist/task-verification.js.map +1 -0
  899. package/dist/test-minimal.d.ts +2 -0
  900. package/dist/test-minimal.d.ts.map +1 -0
  901. package/dist/test-minimal.js +2 -0
  902. package/dist/test-minimal.js.map +1 -0
  903. package/dist/testgen.d.ts +24 -0
  904. package/dist/testgen.d.ts.map +1 -0
  905. package/dist/testgen.js +166 -0
  906. package/dist/testgen.js 2.map +1 -0
  907. package/dist/testgen.js.map +1 -0
  908. package/dist/token-optimizer.d 2.ts +20 -0
  909. package/dist/token-optimizer.d.ts +20 -0
  910. package/dist/token-optimizer.d.ts.map +1 -0
  911. package/dist/token-optimizer.js +282 -0
  912. package/dist/token-optimizer.js.map +1 -0
  913. package/dist/tools/bash.d.ts +53 -0
  914. package/dist/tools/bash.d.ts.map +1 -0
  915. package/dist/tools/bash.js +213 -0
  916. package/dist/tools/bash.js.map +1 -0
  917. package/dist/tools/edit.d.ts +48 -0
  918. package/dist/tools/edit.d.ts.map +1 -0
  919. package/dist/tools/edit.js +235 -0
  920. package/dist/tools/edit.js.map +1 -0
  921. package/dist/tools/executor.d.ts +29 -0
  922. package/dist/tools/executor.d.ts.map +1 -0
  923. package/dist/tools/executor.js +153 -0
  924. package/dist/tools/executor.js.map +1 -0
  925. package/dist/tools/git-tool.d.ts +87 -0
  926. package/dist/tools/git-tool.d.ts.map +1 -0
  927. package/dist/tools/git-tool.js +292 -0
  928. package/dist/tools/git-tool.js.map +1 -0
  929. package/dist/tools/parser.d.ts +33 -0
  930. package/dist/tools/parser.d.ts.map +1 -0
  931. package/dist/tools/parser.js +158 -0
  932. package/dist/tools/parser.js.map +1 -0
  933. package/dist/tools/registry.d.ts +74 -0
  934. package/dist/tools/registry.d.ts.map +1 -0
  935. package/dist/tools/registry.js +302 -0
  936. package/dist/tools/registry.js.map +1 -0
  937. package/dist/tools/search.d.ts +41 -0
  938. package/dist/tools/search.d.ts.map +1 -0
  939. package/dist/tools/search.js +100 -0
  940. package/dist/tools/search.js.map +1 -0
  941. package/dist/types.d.ts +36 -0
  942. package/dist/types.d.ts.map +1 -0
  943. package/dist/types.js +2 -0
  944. package/dist/types.js.map +1 -0
  945. package/dist/ui.d.ts +60 -0
  946. package/dist/ui.d.ts 2.map +1 -0
  947. package/dist/ui.d.ts.map +1 -0
  948. package/dist/ui.js +334 -0
  949. package/dist/ui.js.map +1 -0
  950. package/dist/utils/check-api-status.d.ts +12 -0
  951. package/dist/utils/check-api-status.d.ts.map +1 -0
  952. package/dist/utils/check-api-status.js +82 -0
  953. package/dist/utils/check-api-status.js.map +1 -0
  954. package/dist/utils/debug.d.ts +7 -0
  955. package/dist/utils/debug.d.ts.map +1 -0
  956. package/dist/utils/debug.js +24 -0
  957. package/dist/utils/debug.js.map +1 -0
  958. package/dist/utils/diff-parser.d.ts +22 -0
  959. package/dist/utils/diff-parser.d.ts.map +1 -0
  960. package/dist/utils/diff-parser.js +192 -0
  961. package/dist/utils/diff-parser.js.map +1 -0
  962. package/dist/utils/provider-check.d.ts +21 -0
  963. package/dist/utils/provider-check.d.ts.map +1 -0
  964. package/dist/utils/provider-check.js +124 -0
  965. package/dist/utils/provider-check.js.map +1 -0
  966. package/dist/utils/version.d.ts +21 -0
  967. package/dist/utils/version.d.ts.map +1 -0
  968. package/dist/utils/version.js +52 -0
  969. package/dist/utils/version.js.map +1 -0
  970. package/dist/verification/backup.d.ts +30 -0
  971. package/dist/verification/backup.d.ts.map +1 -0
  972. package/dist/verification/backup.js +259 -0
  973. package/dist/verification/backup.js.map +1 -0
  974. package/dist/verification/compiler.d.ts +20 -0
  975. package/dist/verification/compiler.d.ts.map +1 -0
  976. package/dist/verification/compiler.js +263 -0
  977. package/dist/verification/compiler.js.map +1 -0
  978. package/dist/verification/index.d.ts +59 -0
  979. package/dist/verification/index.d.ts.map +1 -0
  980. package/dist/verification/index.js +273 -0
  981. package/dist/verification/index.js.map +1 -0
  982. package/dist/verification/test-runner.d.ts +27 -0
  983. package/dist/verification/test-runner.d.ts.map +1 -0
  984. package/dist/verification/test-runner.js +379 -0
  985. package/dist/verification/test-runner.js.map +1 -0
  986. package/dist/verify_db.d.ts +2 -0
  987. package/dist/verify_db.d.ts.map +1 -0
  988. package/dist/verify_db.js +52 -0
  989. package/dist/verify_db.js 2.map +1 -0
  990. package/dist/verify_db.js.map +1 -0
  991. package/package.json +125 -0
@@ -0,0 +1,282 @@
1
+ /**
2
+ * Token Optimization System
3
+ * 80-90% token reduction through smart compression
4
+ */
5
+ import { encoding_for_model } from 'tiktoken';
6
+ import { getConfigManager } from './infrastructure/config/config-manager.js';
7
+ // Token encoder - tiktoken is OpenAI-specific, use GPT model
8
+ const tokenConfig = getConfigManager();
9
+ const defaultModel = tokenConfig.getModel('default') || tokenConfig.getPreference('defaultModel');
10
+ const tiktokenModel = (defaultModel && defaultModel.includes('gpt')) ? defaultModel : 'gpt-3.5-turbo';
11
+ const enc = encoding_for_model(tiktokenModel);
12
+ /**
13
+ * Optimize context to minimize tokens while preserving relevance
14
+ */
15
+ export function optimizeContext(chunks, query, maxTokens, strategy = 'relevant-only') {
16
+ const originalTokens = chunks.reduce((sum, chunk) => sum + enc.encode(chunk.content).length, 0);
17
+ let optimized;
18
+ switch (strategy) {
19
+ case 'function-level':
20
+ optimized = optimizeFunctionLevel(chunks, query, maxTokens);
21
+ break;
22
+ case 'file-level':
23
+ optimized = optimizeFileLevel(chunks, query, maxTokens);
24
+ break;
25
+ case 'relevant-only':
26
+ optimized = optimizeRelevantOnly(chunks, query, maxTokens);
27
+ break;
28
+ case 'compressed':
29
+ optimized = optimizeCompressed(chunks, query, maxTokens);
30
+ break;
31
+ default:
32
+ optimized = optimizeRelevantOnly(chunks, query, maxTokens);
33
+ }
34
+ const optimizedTokens = optimized.reduce((sum, chunk) => sum + enc.encode(chunk.content).length, 0);
35
+ const reductionPercent = originalTokens > 0
36
+ ? ((originalTokens - optimizedTokens) / originalTokens) * 100
37
+ : 0;
38
+ return {
39
+ chunks: optimized,
40
+ totalTokens: optimizedTokens,
41
+ reductionPercent,
42
+ strategy,
43
+ };
44
+ }
45
+ /**
46
+ * Extract only relevant functions/classes from chunks
47
+ */
48
+ function optimizeFunctionLevel(chunks, query, maxTokens) {
49
+ const optimized = [];
50
+ let currentTokens = 0;
51
+ // Extract function/class names from query
52
+ const querySymbols = extractSymbolsFromQuery(query);
53
+ for (const chunk of chunks) {
54
+ if (currentTokens >= maxTokens)
55
+ break;
56
+ // Try to extract relevant functions/classes
57
+ const relevantCode = extractRelevantCode(chunk.content, querySymbols);
58
+ if (relevantCode) {
59
+ const tokens = enc.encode(relevantCode).length;
60
+ if (currentTokens + tokens <= maxTokens) {
61
+ optimized.push({
62
+ ...chunk,
63
+ content: relevantCode,
64
+ });
65
+ currentTokens += tokens;
66
+ }
67
+ }
68
+ else {
69
+ // Fallback: use chunk but truncate
70
+ const tokens = enc.encode(chunk.content).length;
71
+ const remaining = maxTokens - currentTokens;
72
+ if (tokens <= remaining) {
73
+ optimized.push(chunk);
74
+ currentTokens += tokens;
75
+ }
76
+ else if (remaining > 100) {
77
+ const truncated = truncateToTokens(chunk.content, remaining);
78
+ optimized.push({
79
+ ...chunk,
80
+ content: truncated,
81
+ });
82
+ currentTokens = maxTokens;
83
+ break;
84
+ }
85
+ }
86
+ }
87
+ return optimized;
88
+ }
89
+ /**
90
+ * Deduplicate and keep only unique files
91
+ */
92
+ function optimizeFileLevel(chunks, query, maxTokens) {
93
+ // Group by file
94
+ const fileGroups = new Map();
95
+ for (const chunk of chunks) {
96
+ if (!fileGroups.has(chunk.filepath)) {
97
+ fileGroups.set(chunk.filepath, []);
98
+ }
99
+ fileGroups.get(chunk.filepath).push(chunk);
100
+ }
101
+ // Keep best chunk per file
102
+ const optimized = [];
103
+ let currentTokens = 0;
104
+ for (const [filepath, fileChunks] of fileGroups.entries()) {
105
+ if (currentTokens >= maxTokens)
106
+ break;
107
+ // Sort by score and take best
108
+ const bestChunk = fileChunks.sort((a, b) => b.score - a.score)[0];
109
+ const tokens = enc.encode(bestChunk.content).length;
110
+ if (currentTokens + tokens <= maxTokens) {
111
+ optimized.push(bestChunk);
112
+ currentTokens += tokens;
113
+ }
114
+ }
115
+ return optimized;
116
+ }
117
+ /**
118
+ * Keep only most relevant chunks
119
+ */
120
+ function optimizeRelevantOnly(chunks, query, maxTokens) {
121
+ // Sort by relevance (score)
122
+ const sorted = [...chunks].sort((a, b) => b.score - a.score);
123
+ const optimized = [];
124
+ let currentTokens = 0;
125
+ for (const chunk of sorted) {
126
+ if (currentTokens >= maxTokens)
127
+ break;
128
+ const tokens = enc.encode(chunk.content).length;
129
+ const remaining = maxTokens - currentTokens;
130
+ if (tokens <= remaining) {
131
+ optimized.push(chunk);
132
+ currentTokens += tokens;
133
+ }
134
+ else if (remaining > 100) {
135
+ // Truncate to fit
136
+ const truncated = truncateToTokens(chunk.content, remaining);
137
+ optimized.push({
138
+ ...chunk,
139
+ content: truncated,
140
+ });
141
+ currentTokens = maxTokens;
142
+ break;
143
+ }
144
+ }
145
+ return optimized;
146
+ }
147
+ /**
148
+ * Compress chunks by removing comments and whitespace
149
+ */
150
+ function optimizeCompressed(chunks, query, maxTokens) {
151
+ const optimized = [];
152
+ let currentTokens = 0;
153
+ for (const chunk of chunks) {
154
+ if (currentTokens >= maxTokens)
155
+ break;
156
+ // Remove comments and excessive whitespace
157
+ const compressed = compressCode(chunk.content);
158
+ const tokens = enc.encode(compressed).length;
159
+ const remaining = maxTokens - currentTokens;
160
+ if (tokens <= remaining) {
161
+ optimized.push({
162
+ ...chunk,
163
+ content: compressed,
164
+ });
165
+ currentTokens += tokens;
166
+ }
167
+ else if (remaining > 100) {
168
+ const truncated = truncateToTokens(compressed, remaining);
169
+ optimized.push({
170
+ ...chunk,
171
+ content: truncated,
172
+ });
173
+ currentTokens = maxTokens;
174
+ break;
175
+ }
176
+ }
177
+ return optimized;
178
+ }
179
+ /**
180
+ * Extract relevant code (functions/classes) from chunk
181
+ */
182
+ function extractRelevantCode(content, symbols) {
183
+ if (symbols.length === 0)
184
+ return null;
185
+ const lines = content.split('\n');
186
+ const relevant = [];
187
+ let inRelevantBlock = false;
188
+ let braceCount = 0;
189
+ for (let i = 0; i < lines.length; i++) {
190
+ const line = lines[i];
191
+ // Check if line contains a symbol we're looking for
192
+ const hasSymbol = symbols.some(symbol => line.includes(symbol) &&
193
+ (line.match(/(function|class|interface|type|const|let|var)\s+/)));
194
+ if (hasSymbol) {
195
+ inRelevantBlock = true;
196
+ braceCount = 0;
197
+ }
198
+ if (inRelevantBlock) {
199
+ relevant.push(line);
200
+ // Count braces to find end of block
201
+ braceCount += (line.match(/{/g) || []).length;
202
+ braceCount -= (line.match(/}/g) || []).length;
203
+ if (braceCount === 0 && relevant.length > 1) {
204
+ // End of block
205
+ return relevant.join('\n');
206
+ }
207
+ }
208
+ }
209
+ return relevant.length > 0 ? relevant.join('\n') : null;
210
+ }
211
+ /**
212
+ * Extract symbol names from query
213
+ */
214
+ function extractSymbolsFromQuery(query) {
215
+ const patterns = [
216
+ /function\s+(\w+)/gi,
217
+ /class\s+(\w+)/gi,
218
+ /interface\s+(\w+)/gi,
219
+ /type\s+(\w+)/gi,
220
+ /([A-Z][a-zA-Z0-9]+)/g,
221
+ /([a-z][a-zA-Z0-9]*\(\))/g,
222
+ ];
223
+ const symbols = new Set();
224
+ for (const pattern of patterns) {
225
+ const matches = query.matchAll(pattern);
226
+ for (const match of matches) {
227
+ if (match[1]) {
228
+ symbols.add(match[1]);
229
+ }
230
+ }
231
+ }
232
+ return Array.from(symbols);
233
+ }
234
+ /**
235
+ * Compress code by removing comments and whitespace
236
+ */
237
+ function compressCode(code) {
238
+ return code
239
+ // Remove single-line comments
240
+ .replace(/\/\/.*$/gm, '')
241
+ // Remove multi-line comments
242
+ .replace(/\/\*[\s\S]*?\*\//g, '')
243
+ // Remove excessive whitespace
244
+ .replace(/\n\s*\n\s*\n/g, '\n\n')
245
+ // Trim lines
246
+ .split('\n')
247
+ .map(line => line.trim())
248
+ .filter(line => line.length > 0)
249
+ .join('\n');
250
+ }
251
+ /**
252
+ * Truncate text to fit token limit
253
+ */
254
+ function truncateToTokens(text, maxTokens) {
255
+ const tokens = enc.encode(text);
256
+ if (tokens.length <= maxTokens) {
257
+ return text;
258
+ }
259
+ const truncatedTokens = tokens.slice(0, maxTokens - 10); // Leave room for "..."
260
+ const decoded = enc.decode(truncatedTokens);
261
+ const decodedText = typeof decoded === 'string'
262
+ ? decoded
263
+ : new TextDecoder().decode(decoded);
264
+ return decodedText + '...';
265
+ }
266
+ /**
267
+ * Deduplicate chunks
268
+ */
269
+ export function deduplicateChunks(chunks) {
270
+ const seen = new Set();
271
+ const unique = [];
272
+ for (const chunk of chunks) {
273
+ // Create a key from filepath and content hash
274
+ const key = `${chunk.filepath}:${chunk.content.substring(0, 100)}`;
275
+ if (!seen.has(key)) {
276
+ seen.add(key);
277
+ unique.push(chunk);
278
+ }
279
+ }
280
+ return unique;
281
+ }
282
+ //# sourceMappingURL=token-optimizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-optimizer.js","sourceRoot":"","sources":["../src/token-optimizer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Bash Tool
3
+ * Execute shell commands safely with detailed descriptions for the model
4
+ * Following Claude Code approach: detailed tool descriptions, error-proofing
5
+ *
6
+ * SECURITY: Uses Docker sandbox when available for isolated execution
7
+ */
8
+ export interface BashOptions {
9
+ /** Working directory (will be resolved to absolute path) */
10
+ cwd?: string;
11
+ /** Timeout in milliseconds (default: 30000 = 30s) */
12
+ timeout?: number;
13
+ /** Maximum output size in bytes (default: 1MB) */
14
+ maxOutputSize?: number;
15
+ /** Environment variables */
16
+ env?: Record<string, string>;
17
+ }
18
+ export interface BashResult {
19
+ /** Exit code (0 = success) */
20
+ exitCode: number;
21
+ /** Standard output */
22
+ stdout: string;
23
+ /** Standard error */
24
+ stderr: string;
25
+ /** Command that was executed */
26
+ command: string;
27
+ /** Execution time in milliseconds */
28
+ duration: number;
29
+ /** Whether command succeeded */
30
+ success: boolean;
31
+ /** Whether command was executed in sandbox */
32
+ sandboxed?: boolean;
33
+ /** Sandbox status message */
34
+ sandboxStatus?: string;
35
+ }
36
+ /**
37
+ * Execute a bash command safely
38
+ *
39
+ * SECURITY & ERROR-PROOFING:
40
+ * - All paths are resolved to absolute paths
41
+ * - Commands are executed in Docker sandbox when available (MANDATORY for production)
42
+ * - Falls back to direct execution with warning if sandbox unavailable
43
+ * - Timeout protection prevents hanging
44
+ * - Output size limits prevent memory issues
45
+ * - Command injection attempts are logged
46
+ */
47
+ export declare function executeBash(command: string, options?: BashOptions): Promise<BashResult>;
48
+ /**
49
+ * Tool description for the model
50
+ * This is critical - the model needs to understand how to use this tool
51
+ */
52
+ export declare const BASH_TOOL_DESCRIPTION = "\nBash Tool - Execute shell commands\n\nDESCRIPTION:\nExecute bash/shell commands in a controlled environment. All paths are automatically resolved to absolute paths.\n\nAVAILABLE COMMANDS:\n- Any valid bash/shell command\n- Commands run in the project directory by default\n- Working directory can be specified\n\nIMPORTANT CONSTRAINTS:\n1. **Absolute Paths Required**: Always use absolute paths or paths relative to the working directory\n2. **No Internet Access**: Commands run in isolated environment (no network access)\n3. **Available Packages**: Standard Unix utilities (ls, cat, grep, find, etc.)\n4. **Timeout**: Commands timeout after 30 seconds (configurable)\n5. **Output Limit**: Maximum 1MB output (configurable)\n\nESCAPING:\n- Use single quotes for strings: 'string with spaces'\n- Escape special characters: Use backslash before $, backtick, or double quote\n- For complex commands, consider breaking into multiple steps\n\nBACKGROUND PROCESSES:\n- Background processes (&) are NOT supported\n- Use sequential commands instead\n\nPATH HANDLING:\n- All paths are resolved to absolute paths automatically\n- Use resolve() or absolute paths to avoid relative path issues\n- Example: /Users/username/project/file.txt (absolute)\n- Example: ./file.txt (relative to cwd)\n\nERROR HANDLING:\n- Exit code 0 = success\n- Exit code != 0 = failure\n- Check stderr for error messages\n- Timeout errors are reported in stderr\n\nEXAMPLES:\n- executeBash('ls -la', { cwd: '/path/to/dir' })\n- executeBash('grep -r \"pattern\" .', { cwd: '/path/to/project' })\n- executeBash('cat /absolute/path/to/file.txt')\n- executeBash('find . -name \"*.ts\" -type f', { cwd: '/path/to/project' })\n\nSECURITY NOTES:\n- Commands execute in Docker sandbox when available (MANDATORY for production)\n- Falls back to direct execution with warning if Docker unavailable\n- Potentially dangerous commands are logged but not blocked\n- Use with caution for destructive operations\n- Always verify paths before executing\n\nSANDBOX STATUS:\n- Check result.sandboxed to see if command ran in sandbox\n- Check result.sandboxStatus for sandbox availability information\n- Production deployments should always have Docker available\n";
53
+ //# sourceMappingURL=bash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bash.d.ts","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAuBH,MAAM,WAAW,WAAW;IAC1B,4DAA4D;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,UAAU;IACzB,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6BAA6B;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,UAAU,CAAC,CAiIrB;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,yqEAwDjC,CAAC"}
@@ -0,0 +1,213 @@
1
+ /**
2
+ * Bash Tool
3
+ * Execute shell commands safely with detailed descriptions for the model
4
+ * Following Claude Code approach: detailed tool descriptions, error-proofing
5
+ *
6
+ * SECURITY: Uses Docker sandbox when available for isolated execution
7
+ */
8
+ import { exec } from 'child_process';
9
+ import { promisify } from 'util';
10
+ import { resolve } from 'path';
11
+ import { existsSync } from 'fs';
12
+ import { SandboxExecutor } from '../infrastructure/security/sandbox-executor.js';
13
+ const execAsync = promisify(exec);
14
+ // Singleton sandbox executor instance
15
+ let sandboxExecutor = null;
16
+ /**
17
+ * Get or create sandbox executor instance
18
+ */
19
+ function getSandboxExecutor() {
20
+ if (!sandboxExecutor) {
21
+ sandboxExecutor = new SandboxExecutor();
22
+ }
23
+ return sandboxExecutor;
24
+ }
25
+ /**
26
+ * Execute a bash command safely
27
+ *
28
+ * SECURITY & ERROR-PROOFING:
29
+ * - All paths are resolved to absolute paths
30
+ * - Commands are executed in Docker sandbox when available (MANDATORY for production)
31
+ * - Falls back to direct execution with warning if sandbox unavailable
32
+ * - Timeout protection prevents hanging
33
+ * - Output size limits prevent memory issues
34
+ * - Command injection attempts are logged
35
+ */
36
+ export async function executeBash(command, options = {}) {
37
+ const startTime = Date.now();
38
+ // Resolve working directory to absolute path
39
+ const cwd = options.cwd
40
+ ? resolve(options.cwd)
41
+ : process.cwd();
42
+ // Verify directory exists
43
+ if (!existsSync(cwd)) {
44
+ throw new Error(`Working directory does not exist: ${cwd}`);
45
+ }
46
+ // Security: Log suspicious patterns (but don't block - let model decide)
47
+ const suspiciousPatterns = [
48
+ /rm\s+-rf\s+\//, // Dangerous rm -rf /
49
+ /format\s+c:/i, // Windows format
50
+ /mkfs/, // Filesystem creation
51
+ /dd\s+if=/, // Disk operations
52
+ ];
53
+ for (const pattern of suspiciousPatterns) {
54
+ if (pattern.test(command)) {
55
+ console.warn(`⚠️ Warning: Potentially dangerous command detected: ${command}`);
56
+ }
57
+ }
58
+ // Try to use sandbox first (MANDATORY for production security)
59
+ const sandbox = getSandboxExecutor();
60
+ const sandboxAvailable = await sandbox.isAvailable();
61
+ if (sandboxAvailable) {
62
+ try {
63
+ // Execute in sandbox
64
+ const sandboxOptions = {
65
+ timeout: options.timeout || 30000,
66
+ memoryLimit: '512m',
67
+ cpuLimit: '0.5',
68
+ networkAccess: false, // No network access by default
69
+ };
70
+ const sandboxResult = await sandbox.executeBash(command, sandboxOptions);
71
+ const duration = Date.now() - startTime;
72
+ return {
73
+ exitCode: sandboxResult.exitCode || (sandboxResult.success ? 0 : 1),
74
+ stdout: sandboxResult.output || '',
75
+ stderr: sandboxResult.error || '',
76
+ command,
77
+ duration,
78
+ success: sandboxResult.success,
79
+ sandboxed: true,
80
+ sandboxStatus: 'Executed in Docker sandbox (secure)',
81
+ };
82
+ }
83
+ catch (sandboxError) {
84
+ // If sandbox execution fails, fall through to direct execution with warning
85
+ console.warn(`⚠️ Sandbox execution failed, falling back to direct execution: ${sandboxError.message}`);
86
+ }
87
+ }
88
+ else {
89
+ // Sandbox not available - use direct execution with warning
90
+ console.warn(`⚠️ WARNING: Docker sandbox not available. Executing command directly (less secure).`);
91
+ console.warn(`⚠️ For production use, please install Docker to enable secure sandbox execution.`);
92
+ }
93
+ // Fallback: Direct execution (with security warning)
94
+ const timeout = options.timeout || 30000; // 30 seconds
95
+ const maxOutputSize = options.maxOutputSize || 1024 * 1024; // 1MB
96
+ // Merge environment variables
97
+ const env = {
98
+ ...process.env,
99
+ ...options.env,
100
+ };
101
+ try {
102
+ // Execute command with timeout
103
+ const { stdout, stderr } = await Promise.race([
104
+ execAsync(command, {
105
+ cwd,
106
+ env,
107
+ maxBuffer: maxOutputSize,
108
+ }),
109
+ new Promise((_, reject) => {
110
+ setTimeout(() => {
111
+ reject(new Error(`Command timed out after ${timeout}ms`));
112
+ }, timeout);
113
+ }),
114
+ ]);
115
+ const duration = Date.now() - startTime;
116
+ // Check output size
117
+ const totalSize = (stdout?.length || 0) + (stderr?.length || 0);
118
+ if (totalSize > maxOutputSize) {
119
+ console.warn(`⚠️ Warning: Command output exceeds ${maxOutputSize} bytes, truncated`);
120
+ }
121
+ return {
122
+ exitCode: 0,
123
+ stdout: stdout || '',
124
+ stderr: stderr || '',
125
+ command,
126
+ duration,
127
+ success: true,
128
+ sandboxed: false,
129
+ sandboxStatus: sandboxAvailable
130
+ ? 'Sandbox available but execution failed, used direct execution'
131
+ : 'Docker sandbox not available, used direct execution (less secure)',
132
+ };
133
+ }
134
+ catch (error) {
135
+ const duration = Date.now() - startTime;
136
+ // Extract exit code from error
137
+ const exitCode = error.code || (error.signal ? 128 : 1);
138
+ return {
139
+ exitCode,
140
+ stdout: error.stdout || '',
141
+ stderr: error.stderr || error.message || '',
142
+ command,
143
+ duration,
144
+ success: exitCode === 0,
145
+ sandboxed: false,
146
+ sandboxStatus: sandboxAvailable
147
+ ? 'Sandbox available but execution failed, used direct execution'
148
+ : 'Docker sandbox not available, used direct execution (less secure)',
149
+ };
150
+ }
151
+ }
152
+ /**
153
+ * Tool description for the model
154
+ * This is critical - the model needs to understand how to use this tool
155
+ */
156
+ export const BASH_TOOL_DESCRIPTION = `
157
+ Bash Tool - Execute shell commands
158
+
159
+ DESCRIPTION:
160
+ Execute bash/shell commands in a controlled environment. All paths are automatically resolved to absolute paths.
161
+
162
+ AVAILABLE COMMANDS:
163
+ - Any valid bash/shell command
164
+ - Commands run in the project directory by default
165
+ - Working directory can be specified
166
+
167
+ IMPORTANT CONSTRAINTS:
168
+ 1. **Absolute Paths Required**: Always use absolute paths or paths relative to the working directory
169
+ 2. **No Internet Access**: Commands run in isolated environment (no network access)
170
+ 3. **Available Packages**: Standard Unix utilities (ls, cat, grep, find, etc.)
171
+ 4. **Timeout**: Commands timeout after 30 seconds (configurable)
172
+ 5. **Output Limit**: Maximum 1MB output (configurable)
173
+
174
+ ESCAPING:
175
+ - Use single quotes for strings: 'string with spaces'
176
+ - Escape special characters: Use backslash before $, backtick, or double quote
177
+ - For complex commands, consider breaking into multiple steps
178
+
179
+ BACKGROUND PROCESSES:
180
+ - Background processes (&) are NOT supported
181
+ - Use sequential commands instead
182
+
183
+ PATH HANDLING:
184
+ - All paths are resolved to absolute paths automatically
185
+ - Use resolve() or absolute paths to avoid relative path issues
186
+ - Example: /Users/username/project/file.txt (absolute)
187
+ - Example: ./file.txt (relative to cwd)
188
+
189
+ ERROR HANDLING:
190
+ - Exit code 0 = success
191
+ - Exit code != 0 = failure
192
+ - Check stderr for error messages
193
+ - Timeout errors are reported in stderr
194
+
195
+ EXAMPLES:
196
+ - executeBash('ls -la', { cwd: '/path/to/dir' })
197
+ - executeBash('grep -r "pattern" .', { cwd: '/path/to/project' })
198
+ - executeBash('cat /absolute/path/to/file.txt')
199
+ - executeBash('find . -name "*.ts" -type f', { cwd: '/path/to/project' })
200
+
201
+ SECURITY NOTES:
202
+ - Commands execute in Docker sandbox when available (MANDATORY for production)
203
+ - Falls back to direct execution with warning if Docker unavailable
204
+ - Potentially dangerous commands are logged but not blocked
205
+ - Use with caution for destructive operations
206
+ - Always verify paths before executing
207
+
208
+ SANDBOX STATUS:
209
+ - Check result.sandboxed to see if command ran in sandbox
210
+ - Check result.sandboxStatus for sandbox availability information
211
+ - Production deployments should always have Docker available
212
+ `;
213
+ //# sourceMappingURL=bash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Edit Tool
3
+ * String replacement-based file editing (like Claude Code)
4
+ * Requires exact matches for safety
5
+ */
6
+ export interface EditOptions {
7
+ /** Working directory (will be resolved to absolute path) */
8
+ cwd?: string;
9
+ /** Create file if it doesn't exist */
10
+ createIfNotExists?: boolean;
11
+ }
12
+ export interface EditResult {
13
+ /** Whether operation succeeded */
14
+ success: boolean;
15
+ /** File path (absolute) */
16
+ filepath: string;
17
+ /** Operation performed */
18
+ operation: 'view' | 'create' | 'str_replace' | 'undo';
19
+ /** Error message if failed */
20
+ error?: string;
21
+ /** File content (for view operations) */
22
+ content?: string;
23
+ /** Number of replacements made */
24
+ replacements?: number;
25
+ }
26
+ /**
27
+ * View file content
28
+ */
29
+ export declare function viewFile(filepath: string, options?: EditOptions): EditResult;
30
+ /**
31
+ * Create a new file
32
+ */
33
+ export declare function createFile(filepath: string, content: string, options?: EditOptions): EditResult;
34
+ /**
35
+ * String replacement (exact match required)
36
+ * CRITICAL: Must match exactly, or error if multiple matches
37
+ */
38
+ export declare function strReplace(filepath: string, oldString: string, newString: string, options?: EditOptions): EditResult;
39
+ /**
40
+ * Undo last edit
41
+ */
42
+ export declare function undoEdit(filepath: string, options?: EditOptions): EditResult;
43
+ /**
44
+ * Tool description for the model
45
+ * This is critical - the model needs to understand how to use this tool
46
+ */
47
+ export declare const EDIT_TOOL_DESCRIPTION = "\nEdit Tool - String replacement-based file editing\n\nDESCRIPTION:\nEdit files using string replacement. Requires exact matches for safety.\n\nAVAILABLE OPERATIONS:\n1. **view(filepath)**: View file content\n2. **create(filepath, content)**: Create new file\n3. **str_replace(filepath, oldString, newString)**: Replace string in file\n4. **undo(filepath)**: Undo last edit\n\nCRITICAL RULES:\n1. **Exact Match Required**: oldString must match EXACTLY in the file\n2. **Unique Match Required**: If multiple matches found, provide more context\n3. **Absolute Paths**: All paths are resolved to absolute paths automatically\n4. **Context for Uniqueness**: Include surrounding lines if needed to make match unique\n\nSTRING REPLACEMENT:\n- oldString must appear EXACTLY ONCE in the file\n- If 0 matches: Error - string not found\n- If 2+ matches: Error - provide more context\n- Include surrounding code/whitespace to ensure uniqueness\n\nEXAMPLES:\n- str_replace('/path/to/file.ts', 'function old()', 'function new()')\n- str_replace('/path/to/file.ts', 'const x = 1;\\n', 'const x = 2;\\n')\n- Include context: str_replace('/path/to/file.ts', ' // Comment\\n function old()', ' // Comment\\n function new()')\n\nPATH HANDLING:\n- All paths are resolved to absolute paths\n- Use absolute paths or paths relative to cwd\n- Example: '/Users/username/project/file.ts' (absolute)\n- Example: './file.ts' (relative to cwd)\n\nUNDO:\n- undo() restores file to previous state\n- Only one level of undo (last edit)\n- Undo stack is in-memory (lost on restart)\n\nERROR HANDLING:\n- Check success field in result\n- Check error field for error message\n- Common errors:\n - File not found\n - String not found (0 matches)\n - Multiple matches (need more context)\n\nSECURITY:\n- All paths are validated\n- No file system traversal beyond project directory\n- Exact match requirement prevents accidental replacements\n";
48
+ //# sourceMappingURL=edit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../src/tools/edit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,WAAW,WAAW;IAC1B,4DAA4D;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU;IACzB,kCAAkC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,aAAa,GAAG,MAAM,CAAC;IACtD,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAKD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,UAAU,CA4BhF;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,WAAgB,GACxB,UAAU,CA6CZ;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,WAAgB,GACxB,UAAU,CA+DZ;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,UAAU,CA8BhF;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,83DAoDjC,CAAC"}