@ai-coders/context 0.3.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (514) hide show
  1. package/README.md +269 -29
  2. package/dist/fragments/compose.d.ts +30 -0
  3. package/dist/fragments/compose.d.ts.map +1 -0
  4. package/dist/fragments/compose.js +274 -0
  5. package/dist/fragments/compose.js.map +1 -0
  6. package/dist/fragments/extractors/index.d.ts +26 -0
  7. package/dist/fragments/extractors/index.d.ts.map +1 -0
  8. package/dist/fragments/extractors/index.js +58 -0
  9. package/dist/fragments/extractors/index.js.map +1 -0
  10. package/dist/fragments/extractors/module.d.ts +12 -0
  11. package/dist/fragments/extractors/module.d.ts.map +1 -0
  12. package/dist/fragments/extractors/module.js +302 -0
  13. package/dist/fragments/extractors/module.js.map +1 -0
  14. package/dist/fragments/extractors/project.d.ts +12 -0
  15. package/dist/fragments/extractors/project.d.ts.map +1 -0
  16. package/dist/fragments/extractors/project.js +274 -0
  17. package/dist/fragments/extractors/project.js.map +1 -0
  18. package/dist/fragments/extractors/semantic.d.ts +12 -0
  19. package/dist/fragments/extractors/semantic.d.ts.map +1 -0
  20. package/dist/fragments/extractors/semantic.js +329 -0
  21. package/dist/fragments/extractors/semantic.js.map +1 -0
  22. package/dist/fragments/index.d.ts +47 -0
  23. package/dist/fragments/index.d.ts.map +1 -0
  24. package/dist/fragments/index.js +75 -0
  25. package/dist/fragments/index.js.map +1 -0
  26. package/dist/fragments/query.d.ts +101 -0
  27. package/dist/fragments/query.d.ts.map +1 -0
  28. package/dist/fragments/query.js +200 -0
  29. package/dist/fragments/query.js.map +1 -0
  30. package/dist/fragments/render/compact.d.ts +15 -0
  31. package/dist/fragments/render/compact.d.ts.map +1 -0
  32. package/dist/fragments/render/compact.js +209 -0
  33. package/dist/fragments/render/compact.js.map +1 -0
  34. package/dist/fragments/render/index.d.ts +17 -0
  35. package/dist/fragments/render/index.d.ts.map +1 -0
  36. package/dist/fragments/render/index.js +40 -0
  37. package/dist/fragments/render/index.js.map +1 -0
  38. package/dist/fragments/render/json.d.ts +9 -0
  39. package/dist/fragments/render/json.d.ts.map +1 -0
  40. package/dist/fragments/render/json.js +44 -0
  41. package/dist/fragments/render/json.js.map +1 -0
  42. package/dist/fragments/render/markdown.d.ts +9 -0
  43. package/dist/fragments/render/markdown.d.ts.map +1 -0
  44. package/dist/fragments/render/markdown.js +291 -0
  45. package/dist/fragments/render/markdown.js.map +1 -0
  46. package/dist/fragments/store.d.ts +49 -0
  47. package/dist/fragments/store.d.ts.map +1 -0
  48. package/dist/fragments/store.js +161 -0
  49. package/dist/fragments/store.js.map +1 -0
  50. package/dist/fragments/types.d.ts +241 -0
  51. package/dist/fragments/types.d.ts.map +1 -0
  52. package/dist/fragments/types.js +8 -0
  53. package/dist/fragments/types.js.map +1 -0
  54. package/dist/generators/agents/agentConfig.d.ts.map +1 -1
  55. package/dist/generators/agents/agentConfig.js +42 -0
  56. package/dist/generators/agents/agentConfig.js.map +1 -1
  57. package/dist/generators/agents/agentGenerator.d.ts +8 -2
  58. package/dist/generators/agents/agentGenerator.d.ts.map +1 -1
  59. package/dist/generators/agents/agentGenerator.js +112 -54
  60. package/dist/generators/agents/agentGenerator.js.map +1 -1
  61. package/dist/generators/agents/agentTypes.d.ts +1 -1
  62. package/dist/generators/agents/agentTypes.d.ts.map +1 -1
  63. package/dist/generators/agents/agentTypes.js +4 -1
  64. package/dist/generators/agents/agentTypes.js.map +1 -1
  65. package/dist/generators/agents/templates/indexTemplate.d.ts.map +1 -1
  66. package/dist/generators/agents/templates/indexTemplate.js +2 -1
  67. package/dist/generators/agents/templates/indexTemplate.js.map +1 -1
  68. package/dist/generators/agents/templates/playbookTemplate.d.ts +3 -2
  69. package/dist/generators/agents/templates/playbookTemplate.d.ts.map +1 -1
  70. package/dist/generators/agents/templates/playbookTemplate.js +144 -10
  71. package/dist/generators/agents/templates/playbookTemplate.js.map +1 -1
  72. package/dist/generators/agents/templates/types.d.ts +9 -1
  73. package/dist/generators/agents/templates/types.d.ts.map +1 -1
  74. package/dist/generators/documentation/documentationGenerator.d.ts +5 -1
  75. package/dist/generators/documentation/documentationGenerator.d.ts.map +1 -1
  76. package/dist/generators/documentation/documentationGenerator.js +106 -18
  77. package/dist/generators/documentation/documentationGenerator.js.map +1 -1
  78. package/dist/generators/documentation/guideRegistry.d.ts.map +1 -1
  79. package/dist/generators/documentation/guideRegistry.js +0 -8
  80. package/dist/generators/documentation/guideRegistry.js.map +1 -1
  81. package/dist/generators/documentation/templates/apiReferenceTemplate.d.ts +2 -0
  82. package/dist/generators/documentation/templates/apiReferenceTemplate.d.ts.map +1 -0
  83. package/dist/generators/documentation/templates/apiReferenceTemplate.js +469 -0
  84. package/dist/generators/documentation/templates/apiReferenceTemplate.js.map +1 -0
  85. package/dist/generators/documentation/templates/architectureTemplate.d.ts.map +1 -1
  86. package/dist/generators/documentation/templates/architectureTemplate.js +175 -41
  87. package/dist/generators/documentation/templates/architectureTemplate.js.map +1 -1
  88. package/dist/generators/documentation/templates/common.d.ts +28 -1
  89. package/dist/generators/documentation/templates/common.d.ts.map +1 -1
  90. package/dist/generators/documentation/templates/common.js +130 -10
  91. package/dist/generators/documentation/templates/common.js.map +1 -1
  92. package/dist/generators/documentation/templates/dataFlowTemplate.d.ts.map +1 -1
  93. package/dist/generators/documentation/templates/dataFlowTemplate.js +98 -33
  94. package/dist/generators/documentation/templates/dataFlowTemplate.js.map +1 -1
  95. package/dist/generators/documentation/templates/developmentWorkflowTemplate.d.ts.map +1 -1
  96. package/dist/generators/documentation/templates/developmentWorkflowTemplate.js +2 -34
  97. package/dist/generators/documentation/templates/developmentWorkflowTemplate.js.map +1 -1
  98. package/dist/generators/documentation/templates/glossaryTemplate.d.ts +1 -1
  99. package/dist/generators/documentation/templates/glossaryTemplate.d.ts.map +1 -1
  100. package/dist/generators/documentation/templates/glossaryTemplate.js +51 -37
  101. package/dist/generators/documentation/templates/glossaryTemplate.js.map +1 -1
  102. package/dist/generators/documentation/templates/index.d.ts +4 -0
  103. package/dist/generators/documentation/templates/index.d.ts.map +1 -1
  104. package/dist/generators/documentation/templates/index.js +9 -1
  105. package/dist/generators/documentation/templates/index.js.map +1 -1
  106. package/dist/generators/documentation/templates/indexTemplate.d.ts.map +1 -1
  107. package/dist/generators/documentation/templates/indexTemplate.js +1 -32
  108. package/dist/generators/documentation/templates/indexTemplate.js.map +1 -1
  109. package/dist/generators/documentation/templates/migrationTemplate.d.ts +2 -0
  110. package/dist/generators/documentation/templates/migrationTemplate.d.ts.map +1 -0
  111. package/dist/generators/documentation/templates/migrationTemplate.js +400 -0
  112. package/dist/generators/documentation/templates/migrationTemplate.js.map +1 -0
  113. package/dist/generators/documentation/templates/onboardingTemplate.d.ts +2 -0
  114. package/dist/generators/documentation/templates/onboardingTemplate.d.ts.map +1 -0
  115. package/dist/generators/documentation/templates/onboardingTemplate.js +409 -0
  116. package/dist/generators/documentation/templates/onboardingTemplate.js.map +1 -0
  117. package/dist/generators/documentation/templates/projectOverviewTemplate.d.ts.map +1 -1
  118. package/dist/generators/documentation/templates/projectOverviewTemplate.js +97 -38
  119. package/dist/generators/documentation/templates/projectOverviewTemplate.js.map +1 -1
  120. package/dist/generators/documentation/templates/securityTemplate.d.ts.map +1 -1
  121. package/dist/generators/documentation/templates/securityTemplate.js +1 -32
  122. package/dist/generators/documentation/templates/securityTemplate.js.map +1 -1
  123. package/dist/generators/documentation/templates/testingTemplate.d.ts.map +1 -1
  124. package/dist/generators/documentation/templates/testingTemplate.js +1 -33
  125. package/dist/generators/documentation/templates/testingTemplate.js.map +1 -1
  126. package/dist/generators/documentation/templates/toolingTemplate.d.ts.map +1 -1
  127. package/dist/generators/documentation/templates/toolingTemplate.js +2 -33
  128. package/dist/generators/documentation/templates/toolingTemplate.js.map +1 -1
  129. package/dist/generators/documentation/templates/troubleshootingTemplate.d.ts +2 -0
  130. package/dist/generators/documentation/templates/troubleshootingTemplate.d.ts.map +1 -0
  131. package/dist/generators/documentation/templates/troubleshootingTemplate.js +270 -0
  132. package/dist/generators/documentation/templates/troubleshootingTemplate.js.map +1 -0
  133. package/dist/generators/documentation/templates/types.d.ts +2 -1
  134. package/dist/generators/documentation/templates/types.d.ts.map +1 -1
  135. package/dist/generators/plans/planGenerator.d.ts +4 -0
  136. package/dist/generators/plans/planGenerator.d.ts.map +1 -1
  137. package/dist/generators/plans/planGenerator.js +30 -2
  138. package/dist/generators/plans/planGenerator.js.map +1 -1
  139. package/dist/generators/plans/templates/indexTemplate.d.ts.map +1 -1
  140. package/dist/generators/plans/templates/indexTemplate.js +5 -13
  141. package/dist/generators/plans/templates/indexTemplate.js.map +1 -1
  142. package/dist/generators/plans/templates/planTemplate.d.ts.map +1 -1
  143. package/dist/generators/plans/templates/planTemplate.js +123 -30
  144. package/dist/generators/plans/templates/planTemplate.js.map +1 -1
  145. package/dist/generators/plans/templates/types.d.ts +10 -0
  146. package/dist/generators/plans/templates/types.d.ts.map +1 -1
  147. package/dist/generators/shared/generatorUtils.d.ts +1 -1
  148. package/dist/generators/shared/generatorUtils.d.ts.map +1 -1
  149. package/dist/generators/shared/generatorUtils.js +7 -10
  150. package/dist/generators/shared/generatorUtils.js.map +1 -1
  151. package/dist/index.d.ts +2 -2
  152. package/dist/index.d.ts.map +1 -1
  153. package/dist/index.js +459 -1073
  154. package/dist/index.js.map +1 -1
  155. package/dist/prompts/defaults.d.ts +2 -2
  156. package/dist/prompts/defaults.d.ts.map +1 -1
  157. package/dist/prompts/defaults.js +26 -56
  158. package/dist/prompts/defaults.js.map +1 -1
  159. package/dist/services/ai/agentEvents.d.ts +45 -0
  160. package/dist/services/ai/agentEvents.d.ts.map +1 -0
  161. package/dist/services/ai/agentEvents.js +61 -0
  162. package/dist/services/ai/agentEvents.js.map +1 -0
  163. package/dist/services/ai/agents/documentationAgent.d.ts +53 -0
  164. package/dist/services/ai/agents/documentationAgent.d.ts.map +1 -0
  165. package/dist/services/ai/agents/documentationAgent.js +243 -0
  166. package/dist/services/ai/agents/documentationAgent.js.map +1 -0
  167. package/dist/services/ai/agents/index.d.ts +7 -0
  168. package/dist/services/ai/agents/index.d.ts.map +1 -0
  169. package/dist/services/ai/agents/index.js +10 -0
  170. package/dist/services/ai/agents/index.js.map +1 -0
  171. package/dist/services/ai/agents/planAgent.d.ts +68 -0
  172. package/dist/services/ai/agents/planAgent.d.ts.map +1 -0
  173. package/dist/services/ai/agents/planAgent.js +389 -0
  174. package/dist/services/ai/agents/planAgent.js.map +1 -0
  175. package/dist/services/ai/agents/playbookAgent.d.ts +54 -0
  176. package/dist/services/ai/agents/playbookAgent.d.ts.map +1 -0
  177. package/dist/services/ai/agents/playbookAgent.js +265 -0
  178. package/dist/services/ai/agents/playbookAgent.js.map +1 -0
  179. package/dist/services/ai/aiSdkClient.d.ts +67 -0
  180. package/dist/services/ai/aiSdkClient.d.ts.map +1 -0
  181. package/dist/services/ai/aiSdkClient.js +143 -0
  182. package/dist/services/ai/aiSdkClient.js.map +1 -0
  183. package/dist/services/ai/index.d.ts +7 -0
  184. package/dist/services/ai/index.d.ts.map +1 -0
  185. package/dist/services/ai/index.js +49 -0
  186. package/dist/services/ai/index.js.map +1 -0
  187. package/dist/services/ai/providerFactory.d.ts +35 -0
  188. package/dist/services/ai/providerFactory.d.ts.map +1 -0
  189. package/dist/services/ai/providerFactory.js +107 -0
  190. package/dist/services/ai/providerFactory.js.map +1 -0
  191. package/dist/services/ai/schemas.d.ts +331 -0
  192. package/dist/services/ai/schemas.d.ts.map +1 -0
  193. package/dist/services/ai/schemas.js +236 -0
  194. package/dist/services/ai/schemas.js.map +1 -0
  195. package/dist/services/ai/tools/analyzeSymbolsTool.d.ts +33 -0
  196. package/dist/services/ai/tools/analyzeSymbolsTool.d.ts.map +1 -0
  197. package/dist/services/ai/tools/analyzeSymbolsTool.js +57 -0
  198. package/dist/services/ai/tools/analyzeSymbolsTool.js.map +1 -0
  199. package/dist/services/ai/tools/checkScaffoldingTool.d.ts +18 -0
  200. package/dist/services/ai/tools/checkScaffoldingTool.d.ts.map +1 -0
  201. package/dist/services/ai/tools/checkScaffoldingTool.js +86 -0
  202. package/dist/services/ai/tools/checkScaffoldingTool.js.map +1 -0
  203. package/dist/services/ai/tools/fillScaffoldingTool.d.ts +38 -0
  204. package/dist/services/ai/tools/fillScaffoldingTool.d.ts.map +1 -0
  205. package/dist/services/ai/tools/fillScaffoldingTool.js +259 -0
  206. package/dist/services/ai/tools/fillScaffoldingTool.js.map +1 -0
  207. package/dist/services/ai/tools/getFileStructureTool.d.ts +29 -0
  208. package/dist/services/ai/tools/getFileStructureTool.d.ts.map +1 -0
  209. package/dist/services/ai/tools/getFileStructureTool.js +48 -0
  210. package/dist/services/ai/tools/getFileStructureTool.js.map +1 -0
  211. package/dist/services/ai/tools/index.d.ts +20 -0
  212. package/dist/services/ai/tools/index.d.ts.map +1 -0
  213. package/dist/services/ai/tools/index.js +62 -0
  214. package/dist/services/ai/tools/index.js.map +1 -0
  215. package/dist/services/ai/tools/initializeContextTool.d.ts +25 -0
  216. package/dist/services/ai/tools/initializeContextTool.d.ts.map +1 -0
  217. package/dist/services/ai/tools/initializeContextTool.js +121 -0
  218. package/dist/services/ai/tools/initializeContextTool.js.map +1 -0
  219. package/dist/services/ai/tools/listFilesTool.d.ts +18 -0
  220. package/dist/services/ai/tools/listFilesTool.d.ts.map +1 -0
  221. package/dist/services/ai/tools/listFilesTool.js +34 -0
  222. package/dist/services/ai/tools/listFilesTool.js.map +1 -0
  223. package/dist/services/ai/tools/readFileTool.d.ts +17 -0
  224. package/dist/services/ai/tools/readFileTool.d.ts.map +1 -0
  225. package/dist/services/ai/tools/readFileTool.js +63 -0
  226. package/dist/services/ai/tools/readFileTool.js.map +1 -0
  227. package/dist/services/ai/tools/scaffoldPlanTool.d.ts +19 -0
  228. package/dist/services/ai/tools/scaffoldPlanTool.d.ts.map +1 -0
  229. package/dist/services/ai/tools/scaffoldPlanTool.js +81 -0
  230. package/dist/services/ai/tools/scaffoldPlanTool.js.map +1 -0
  231. package/dist/services/ai/tools/searchCodeTool.d.ts +25 -0
  232. package/dist/services/ai/tools/searchCodeTool.d.ts.map +1 -0
  233. package/dist/services/ai/tools/searchCodeTool.js +96 -0
  234. package/dist/services/ai/tools/searchCodeTool.js.map +1 -0
  235. package/dist/services/baseLLMClient.d.ts +3 -3
  236. package/dist/services/baseLLMClient.d.ts.map +1 -1
  237. package/dist/services/baseLLMClient.js +44 -5
  238. package/dist/services/baseLLMClient.js.map +1 -1
  239. package/dist/services/fill/fillService.d.ts +11 -5
  240. package/dist/services/fill/fillService.d.ts.map +1 -1
  241. package/dist/services/fill/fillService.js +152 -88
  242. package/dist/services/fill/fillService.js.map +1 -1
  243. package/dist/services/init/initService.d.ts +3 -2
  244. package/dist/services/init/initService.d.ts.map +1 -1
  245. package/dist/services/init/initService.js +54 -19
  246. package/dist/services/init/initService.js.map +1 -1
  247. package/dist/services/llmClientFactory.d.ts +37 -9
  248. package/dist/services/llmClientFactory.d.ts.map +1 -1
  249. package/dist/services/llmClientFactory.js +54 -94
  250. package/dist/services/llmClientFactory.js.map +1 -1
  251. package/dist/services/mcp/index.d.ts +2 -0
  252. package/dist/services/mcp/index.d.ts.map +1 -0
  253. package/dist/services/mcp/index.js +7 -0
  254. package/dist/services/mcp/index.js.map +1 -0
  255. package/dist/services/mcp/mcpServer.d.ts +45 -0
  256. package/dist/services/mcp/mcpServer.d.ts.map +1 -0
  257. package/dist/services/mcp/mcpServer.js +371 -0
  258. package/dist/services/mcp/mcpServer.js.map +1 -0
  259. package/dist/services/openRouterClient.d.ts +0 -3
  260. package/dist/services/openRouterClient.d.ts.map +1 -1
  261. package/dist/services/openRouterClient.js +2 -49
  262. package/dist/services/openRouterClient.js.map +1 -1
  263. package/dist/services/passthrough/commandRouter.d.ts +53 -0
  264. package/dist/services/passthrough/commandRouter.d.ts.map +1 -0
  265. package/dist/services/passthrough/commandRouter.js +349 -0
  266. package/dist/services/passthrough/commandRouter.js.map +1 -0
  267. package/dist/services/passthrough/index.d.ts +7 -0
  268. package/dist/services/passthrough/index.d.ts.map +1 -0
  269. package/dist/services/passthrough/index.js +23 -0
  270. package/dist/services/passthrough/index.js.map +1 -0
  271. package/dist/services/passthrough/protocol.d.ts +269 -0
  272. package/dist/services/passthrough/protocol.d.ts.map +1 -0
  273. package/dist/services/passthrough/protocol.js +151 -0
  274. package/dist/services/passthrough/protocol.js.map +1 -0
  275. package/dist/services/passthrough/stdinReader.d.ts +42 -0
  276. package/dist/services/passthrough/stdinReader.d.ts.map +1 -0
  277. package/dist/services/passthrough/stdinReader.js +111 -0
  278. package/dist/services/passthrough/stdinReader.js.map +1 -0
  279. package/dist/services/plan/planService.d.ts +5 -5
  280. package/dist/services/plan/planService.d.ts.map +1 -1
  281. package/dist/services/plan/planService.js +52 -53
  282. package/dist/services/plan/planService.js.map +1 -1
  283. package/dist/services/semantic/codebaseAnalyzer.d.ts +40 -0
  284. package/dist/services/semantic/codebaseAnalyzer.d.ts.map +1 -0
  285. package/dist/services/semantic/codebaseAnalyzer.js +540 -0
  286. package/dist/services/semantic/codebaseAnalyzer.js.map +1 -0
  287. package/dist/services/semantic/contextBuilder.d.ts +79 -0
  288. package/dist/services/semantic/contextBuilder.d.ts.map +1 -0
  289. package/dist/services/semantic/contextBuilder.js +538 -0
  290. package/dist/services/semantic/contextBuilder.js.map +1 -0
  291. package/dist/services/semantic/index.d.ts +12 -0
  292. package/dist/services/semantic/index.d.ts.map +1 -0
  293. package/dist/services/semantic/index.js +33 -0
  294. package/dist/services/semantic/index.js.map +1 -0
  295. package/dist/services/semantic/lsp/index.d.ts +2 -0
  296. package/dist/services/semantic/lsp/index.d.ts.map +1 -0
  297. package/dist/services/semantic/lsp/index.js +6 -0
  298. package/dist/services/semantic/lsp/index.js.map +1 -0
  299. package/dist/services/semantic/lsp/lspLayer.d.ts +32 -0
  300. package/dist/services/semantic/lsp/lspLayer.d.ts.map +1 -0
  301. package/dist/services/semantic/lsp/lspLayer.js +378 -0
  302. package/dist/services/semantic/lsp/lspLayer.js.map +1 -0
  303. package/dist/services/semantic/treeSitter/index.d.ts +2 -0
  304. package/dist/services/semantic/treeSitter/index.d.ts.map +1 -0
  305. package/dist/services/semantic/treeSitter/index.js +6 -0
  306. package/dist/services/semantic/treeSitter/index.js.map +1 -0
  307. package/dist/services/semantic/treeSitter/treeSitterLayer.d.ts +37 -0
  308. package/dist/services/semantic/treeSitter/treeSitterLayer.d.ts.map +1 -0
  309. package/dist/services/semantic/treeSitter/treeSitterLayer.js +518 -0
  310. package/dist/services/semantic/treeSitter/treeSitterLayer.js.map +1 -0
  311. package/dist/services/semantic/types.d.ts +122 -0
  312. package/dist/services/semantic/types.d.ts.map +1 -0
  313. package/dist/services/semantic/types.js +31 -0
  314. package/dist/services/semantic/types.js.map +1 -0
  315. package/dist/services/serve/index.d.ts +2 -0
  316. package/dist/services/serve/index.d.ts.map +1 -0
  317. package/dist/services/serve/index.js +6 -0
  318. package/dist/services/serve/index.js.map +1 -0
  319. package/dist/services/serve/serveService.d.ts +38 -0
  320. package/dist/services/serve/serveService.d.ts.map +1 -0
  321. package/dist/services/serve/serveService.js +99 -0
  322. package/dist/services/serve/serveService.js.map +1 -0
  323. package/dist/services/shared/llmConfig.d.ts +19 -3
  324. package/dist/services/shared/llmConfig.d.ts.map +1 -1
  325. package/dist/services/shared/llmConfig.js +44 -57
  326. package/dist/services/shared/llmConfig.js.map +1 -1
  327. package/dist/services/sync/index.d.ts +6 -0
  328. package/dist/services/sync/index.d.ts.map +1 -0
  329. package/dist/services/sync/index.js +16 -0
  330. package/dist/services/sync/index.js.map +1 -0
  331. package/dist/services/sync/markdownReferenceHandler.d.ts +3 -0
  332. package/dist/services/sync/markdownReferenceHandler.d.ts.map +1 -0
  333. package/dist/services/sync/markdownReferenceHandler.js +133 -0
  334. package/dist/services/sync/markdownReferenceHandler.js.map +1 -0
  335. package/dist/services/sync/presets.d.ts +6 -0
  336. package/dist/services/sync/presets.d.ts.map +1 -0
  337. package/dist/services/sync/presets.js +49 -0
  338. package/dist/services/sync/presets.js.map +1 -0
  339. package/dist/services/sync/symlinkHandler.d.ts +7 -0
  340. package/dist/services/sync/symlinkHandler.d.ts.map +1 -0
  341. package/dist/services/sync/symlinkHandler.js +129 -0
  342. package/dist/services/sync/symlinkHandler.js.map +1 -0
  343. package/dist/services/sync/syncService.d.ts +15 -0
  344. package/dist/services/sync/syncService.d.ts.map +1 -0
  345. package/dist/services/sync/syncService.js +222 -0
  346. package/dist/services/sync/syncService.js.map +1 -0
  347. package/dist/services/sync/types.d.ts +62 -0
  348. package/dist/services/sync/types.d.ts.map +1 -0
  349. package/dist/services/sync/types.js +3 -0
  350. package/dist/services/sync/types.js.map +1 -0
  351. package/dist/types.d.ts +8 -2
  352. package/dist/types.d.ts.map +1 -1
  353. package/dist/utils/cliUI.d.ts +33 -0
  354. package/dist/utils/cliUI.d.ts.map +1 -1
  355. package/dist/utils/cliUI.js +157 -107
  356. package/dist/utils/cliUI.js.map +1 -1
  357. package/dist/utils/contentSanitizer.d.ts +42 -0
  358. package/dist/utils/contentSanitizer.d.ts.map +1 -0
  359. package/dist/utils/contentSanitizer.js +238 -0
  360. package/dist/utils/contentSanitizer.js.map +1 -0
  361. package/dist/utils/fileMapper.d.ts +1 -1
  362. package/dist/utils/fileMapper.d.ts.map +1 -1
  363. package/dist/utils/fileMapper.js +40 -19
  364. package/dist/utils/fileMapper.js.map +1 -1
  365. package/dist/utils/gitService.d.ts.map +1 -1
  366. package/dist/utils/gitService.js +12 -14
  367. package/dist/utils/gitService.js.map +1 -1
  368. package/dist/utils/i18n.d.ts +96 -43
  369. package/dist/utils/i18n.d.ts.map +1 -1
  370. package/dist/utils/i18n.js +194 -88
  371. package/dist/utils/i18n.js.map +1 -1
  372. package/dist/utils/prompts/configSummary.d.ts +7 -0
  373. package/dist/utils/prompts/configSummary.d.ts.map +1 -0
  374. package/dist/utils/prompts/configSummary.js +63 -0
  375. package/dist/utils/prompts/configSummary.js.map +1 -0
  376. package/dist/utils/prompts/index.d.ts +22 -0
  377. package/dist/utils/prompts/index.d.ts.map +1 -0
  378. package/dist/utils/prompts/index.js +122 -0
  379. package/dist/utils/prompts/index.js.map +1 -0
  380. package/dist/utils/prompts/llmPrompts.d.ts +11 -0
  381. package/dist/utils/prompts/llmPrompts.d.ts.map +1 -0
  382. package/dist/utils/prompts/llmPrompts.js +96 -0
  383. package/dist/utils/prompts/llmPrompts.js.map +1 -0
  384. package/dist/utils/prompts/smartDefaults.d.ts +15 -0
  385. package/dist/utils/prompts/smartDefaults.d.ts.map +1 -0
  386. package/dist/utils/prompts/smartDefaults.js +105 -0
  387. package/dist/utils/prompts/smartDefaults.js.map +1 -0
  388. package/dist/utils/prompts/types.d.ts +38 -0
  389. package/dist/utils/prompts/types.d.ts.map +1 -0
  390. package/dist/utils/prompts/types.js +3 -0
  391. package/dist/utils/prompts/types.js.map +1 -0
  392. package/dist/utils/theme.d.ts +66 -0
  393. package/dist/utils/theme.d.ts.map +1 -0
  394. package/dist/utils/theme.js +93 -0
  395. package/dist/utils/theme.js.map +1 -0
  396. package/dist/version.d.ts +8 -0
  397. package/dist/version.d.ts.map +1 -0
  398. package/dist/version.js +15 -0
  399. package/dist/version.js.map +1 -0
  400. package/package.json +18 -11
  401. package/prompts/update_plan_prompt.md +4 -5
  402. package/prompts/update_scaffold_prompt.md +14 -35
  403. package/dist/commands/shared/agents.d.ts +0 -2
  404. package/dist/commands/shared/agents.d.ts.map +0 -1
  405. package/dist/commands/shared/agents.js +0 -15
  406. package/dist/commands/shared/agents.js.map +0 -1
  407. package/dist/commands/shared/selection.d.ts +0 -12
  408. package/dist/commands/shared/selection.d.ts.map +0 -1
  409. package/dist/commands/shared/selection.js +0 -95
  410. package/dist/commands/shared/selection.js.map +0 -1
  411. package/dist/generators/agents/contextUtils.d.ts +0 -8
  412. package/dist/generators/agents/contextUtils.d.ts.map +0 -1
  413. package/dist/generators/agents/contextUtils.js +0 -15
  414. package/dist/generators/agents/contextUtils.js.map +0 -1
  415. package/dist/generators/agents/promptFormatter.d.ts +0 -9
  416. package/dist/generators/agents/promptFormatter.d.ts.map +0 -1
  417. package/dist/generators/agents/promptFormatter.js +0 -84
  418. package/dist/generators/agents/promptFormatter.js.map +0 -1
  419. package/dist/generators/analyzers/codebaseAnalyzer.d.ts +0 -45
  420. package/dist/generators/analyzers/codebaseAnalyzer.d.ts.map +0 -1
  421. package/dist/generators/analyzers/codebaseAnalyzer.js +0 -293
  422. package/dist/generators/analyzers/codebaseAnalyzer.js.map +0 -1
  423. package/dist/generators/analyzers/index.d.ts +0 -3
  424. package/dist/generators/analyzers/index.d.ts.map +0 -1
  425. package/dist/generators/analyzers/index.js +0 -6
  426. package/dist/generators/analyzers/index.js.map +0 -1
  427. package/dist/generators/documentation/documentationTemplates.d.ts +0 -21
  428. package/dist/generators/documentation/documentationTemplates.d.ts.map +0 -1
  429. package/dist/generators/documentation/documentationTemplates.js +0 -359
  430. package/dist/generators/documentation/documentationTemplates.js.map +0 -1
  431. package/dist/generators/documentation/documentationTypes.d.ts +0 -11
  432. package/dist/generators/documentation/documentationTypes.d.ts.map +0 -1
  433. package/dist/generators/documentation/documentationTypes.js +0 -22
  434. package/dist/generators/documentation/documentationTypes.js.map +0 -1
  435. package/dist/generators/documentation/documentationUtils.d.ts +0 -7
  436. package/dist/generators/documentation/documentationUtils.d.ts.map +0 -1
  437. package/dist/generators/documentation/documentationUtils.js +0 -28
  438. package/dist/generators/documentation/documentationUtils.js.map +0 -1
  439. package/dist/generators/documentation/incrementalDocumentationGenerator.d.ts +0 -33
  440. package/dist/generators/documentation/incrementalDocumentationGenerator.d.ts.map +0 -1
  441. package/dist/generators/documentation/incrementalDocumentationGenerator.js +0 -400
  442. package/dist/generators/documentation/incrementalDocumentationGenerator.js.map +0 -1
  443. package/dist/generators/documentation/templates/frontMatter.d.ts +0 -11
  444. package/dist/generators/documentation/templates/frontMatter.d.ts.map +0 -1
  445. package/dist/generators/documentation/templates/frontMatter.js +0 -29
  446. package/dist/generators/documentation/templates/frontMatter.js.map +0 -1
  447. package/dist/generators/documentation/templates.d.ts +0 -31
  448. package/dist/generators/documentation/templates.d.ts.map +0 -1
  449. package/dist/generators/documentation/templates.js +0 -566
  450. package/dist/generators/documentation/templates.js.map +0 -1
  451. package/dist/generators/guidelines/agentIntegration.d.ts +0 -43
  452. package/dist/generators/guidelines/agentIntegration.d.ts.map +0 -1
  453. package/dist/generators/guidelines/agentIntegration.js +0 -157
  454. package/dist/generators/guidelines/agentIntegration.js.map +0 -1
  455. package/dist/generators/guidelines/guidelineTypes.d.ts +0 -40
  456. package/dist/generators/guidelines/guidelineTypes.d.ts.map +0 -1
  457. package/dist/generators/guidelines/guidelineTypes.js +0 -144
  458. package/dist/generators/guidelines/guidelineTypes.js.map +0 -1
  459. package/dist/generators/guidelines/guidelinesAnalyzer.d.ts +0 -30
  460. package/dist/generators/guidelines/guidelinesAnalyzer.d.ts.map +0 -1
  461. package/dist/generators/guidelines/guidelinesAnalyzer.js +0 -263
  462. package/dist/generators/guidelines/guidelinesAnalyzer.js.map +0 -1
  463. package/dist/generators/guidelines/guidelinesGenerator.d.ts +0 -30
  464. package/dist/generators/guidelines/guidelinesGenerator.d.ts.map +0 -1
  465. package/dist/generators/guidelines/guidelinesGenerator.js +0 -249
  466. package/dist/generators/guidelines/guidelinesGenerator.js.map +0 -1
  467. package/dist/generators/guidelines/guidelinesTemplates.d.ts +0 -23
  468. package/dist/generators/guidelines/guidelinesTemplates.d.ts.map +0 -1
  469. package/dist/generators/guidelines/guidelinesTemplates.js +0 -304
  470. package/dist/generators/guidelines/guidelinesTemplates.js.map +0 -1
  471. package/dist/generators/guidelines/index.d.ts +0 -6
  472. package/dist/generators/guidelines/index.d.ts.map +0 -1
  473. package/dist/generators/guidelines/index.js +0 -16
  474. package/dist/generators/guidelines/index.js.map +0 -1
  475. package/dist/generators/moduleGrouper.d.ts +0 -14
  476. package/dist/generators/moduleGrouper.d.ts.map +0 -1
  477. package/dist/generators/moduleGrouper.js +0 -82
  478. package/dist/generators/moduleGrouper.js.map +0 -1
  479. package/dist/generators/projectAnalyzer.d.ts +0 -14
  480. package/dist/generators/projectAnalyzer.d.ts.map +0 -1
  481. package/dist/generators/projectAnalyzer.js +0 -217
  482. package/dist/generators/projectAnalyzer.js.map +0 -1
  483. package/dist/services/anthropicClient.d.ts +0 -12
  484. package/dist/services/anthropicClient.d.ts.map +0 -1
  485. package/dist/services/anthropicClient.js +0 -98
  486. package/dist/services/anthropicClient.js.map +0 -1
  487. package/dist/services/changeAnalyzer.d.ts +0 -44
  488. package/dist/services/changeAnalyzer.d.ts.map +0 -1
  489. package/dist/services/changeAnalyzer.js +0 -344
  490. package/dist/services/changeAnalyzer.js.map +0 -1
  491. package/dist/services/geminiClient.d.ts +0 -12
  492. package/dist/services/geminiClient.d.ts.map +0 -1
  493. package/dist/services/geminiClient.js +0 -96
  494. package/dist/services/geminiClient.js.map +0 -1
  495. package/dist/services/grokClient.d.ts +0 -12
  496. package/dist/services/grokClient.d.ts.map +0 -1
  497. package/dist/services/grokClient.js +0 -101
  498. package/dist/services/grokClient.js.map +0 -1
  499. package/dist/services/openaiClient.d.ts +0 -12
  500. package/dist/services/openaiClient.d.ts.map +0 -1
  501. package/dist/services/openaiClient.js +0 -98
  502. package/dist/services/openaiClient.js.map +0 -1
  503. package/dist/utils/interactiveMode.d.ts +0 -21
  504. package/dist/utils/interactiveMode.d.ts.map +0 -1
  505. package/dist/utils/interactiveMode.js +0 -737
  506. package/dist/utils/interactiveMode.js.map +0 -1
  507. package/dist/utils/pricing.d.ts +0 -14
  508. package/dist/utils/pricing.d.ts.map +0 -1
  509. package/dist/utils/pricing.js +0 -115
  510. package/dist/utils/pricing.js.map +0 -1
  511. package/dist/utils/tokenEstimator.d.ts +0 -28
  512. package/dist/utils/tokenEstimator.d.ts.map +0 -1
  513. package/dist/utils/tokenEstimator.js +0 -134
  514. package/dist/utils/tokenEstimator.js.map +0 -1
@@ -0,0 +1,371 @@
1
+ "use strict";
2
+ /**
3
+ * MCP Server - Model Context Protocol server for Claude Code integration
4
+ *
5
+ * Exposes code analysis tools and semantic context as MCP resources.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.AIContextMCPServer = void 0;
9
+ exports.startMCPServer = startMCPServer;
10
+ const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
11
+ const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
12
+ const zod_1 = require("zod");
13
+ const tools_1 = require("../ai/tools");
14
+ const contextBuilder_1 = require("../semantic/contextBuilder");
15
+ const version_1 = require("../../version");
16
+ class AIContextMCPServer {
17
+ constructor(options = {}) {
18
+ this.transport = null;
19
+ this.options = {
20
+ name: 'ai-context',
21
+ verbose: false,
22
+ ...options
23
+ };
24
+ this.server = new mcp_js_1.McpServer({
25
+ name: this.options.name,
26
+ version: version_1.VERSION
27
+ });
28
+ this.contextBuilder = new contextBuilder_1.SemanticContextBuilder();
29
+ this.registerTools();
30
+ this.registerResources();
31
+ }
32
+ /**
33
+ * Register code analysis tools
34
+ */
35
+ registerTools() {
36
+ // readFile tool
37
+ this.server.registerTool('readFile', {
38
+ description: 'Read the contents of a file from the filesystem',
39
+ inputSchema: {
40
+ filePath: zod_1.z.string().describe('Absolute or relative path to the file to read'),
41
+ encoding: zod_1.z.enum(['utf-8', 'ascii', 'binary']).default('utf-8').optional()
42
+ }
43
+ }, async ({ filePath, encoding }) => {
44
+ const result = await tools_1.readFileTool.execute({ filePath, encoding }, { toolCallId: '', messages: [] });
45
+ return {
46
+ content: [{
47
+ type: 'text',
48
+ text: JSON.stringify(result, null, 2)
49
+ }]
50
+ };
51
+ });
52
+ // listFiles tool
53
+ this.server.registerTool('listFiles', {
54
+ description: 'List files matching a glob pattern',
55
+ inputSchema: {
56
+ pattern: zod_1.z.string().describe('Glob pattern to match files (e.g., "**/*.ts")'),
57
+ cwd: zod_1.z.string().optional().describe('Working directory for the glob pattern'),
58
+ ignore: zod_1.z.array(zod_1.z.string()).optional().describe('Patterns to ignore')
59
+ }
60
+ }, async ({ pattern, cwd, ignore }) => {
61
+ const result = await tools_1.listFilesTool.execute({ pattern, cwd: cwd || this.options.repoPath, ignore }, { toolCallId: '', messages: [] });
62
+ return {
63
+ content: [{
64
+ type: 'text',
65
+ text: JSON.stringify(result, null, 2)
66
+ }]
67
+ };
68
+ });
69
+ // analyzeSymbols tool
70
+ this.server.registerTool('analyzeSymbols', {
71
+ description: 'Analyze symbols in a source file (classes, functions, interfaces, types, enums)',
72
+ inputSchema: {
73
+ filePath: zod_1.z.string().describe('Path to the file to analyze'),
74
+ symbolTypes: zod_1.z.array(zod_1.z.enum(['class', 'interface', 'function', 'type', 'enum']))
75
+ .optional()
76
+ .describe('Types of symbols to extract')
77
+ }
78
+ }, async ({ filePath, symbolTypes }) => {
79
+ const result = await tools_1.analyzeSymbolsTool.execute({ filePath, symbolTypes }, { toolCallId: '', messages: [] });
80
+ return {
81
+ content: [{
82
+ type: 'text',
83
+ text: JSON.stringify(result, null, 2)
84
+ }]
85
+ };
86
+ });
87
+ // getFileStructure tool
88
+ this.server.registerTool('getFileStructure', {
89
+ description: 'Get the file structure of a repository',
90
+ inputSchema: {
91
+ rootPath: zod_1.z.string().describe('Root path of the repository'),
92
+ maxDepth: zod_1.z.number().optional().default(3).describe('Maximum directory depth'),
93
+ includePatterns: zod_1.z.array(zod_1.z.string()).optional()
94
+ }
95
+ }, async ({ rootPath, maxDepth, includePatterns }) => {
96
+ const result = await tools_1.getFileStructureTool.execute({ rootPath: rootPath || this.options.repoPath || '.', maxDepth, includePatterns }, { toolCallId: '', messages: [] });
97
+ return {
98
+ content: [{
99
+ type: 'text',
100
+ text: JSON.stringify(result, null, 2)
101
+ }]
102
+ };
103
+ });
104
+ // searchCode tool
105
+ this.server.registerTool('searchCode', {
106
+ description: 'Search for code patterns using regex',
107
+ inputSchema: {
108
+ pattern: zod_1.z.string().describe('Regex pattern to search for'),
109
+ fileGlob: zod_1.z.string().optional().describe('Glob pattern to filter files'),
110
+ maxResults: zod_1.z.number().optional().default(50),
111
+ cwd: zod_1.z.string().optional().describe('Working directory for the search')
112
+ }
113
+ }, async ({ pattern, fileGlob, maxResults, cwd }) => {
114
+ const result = await tools_1.searchCodeTool.execute({
115
+ pattern,
116
+ fileGlob,
117
+ maxResults,
118
+ cwd: cwd || this.options.repoPath
119
+ }, { toolCallId: '', messages: [] });
120
+ return {
121
+ content: [{
122
+ type: 'text',
123
+ text: JSON.stringify(result, null, 2)
124
+ }]
125
+ };
126
+ });
127
+ // buildSemanticContext tool - higher-level context building
128
+ this.server.registerTool('buildSemanticContext', {
129
+ description: 'Build optimized semantic context for LLM prompts. Pre-analyzes the codebase and returns formatted context.',
130
+ inputSchema: {
131
+ repoPath: zod_1.z.string().describe('Path to the repository'),
132
+ contextType: zod_1.z.enum(['documentation', 'playbook', 'plan', 'compact'])
133
+ .default('compact')
134
+ .describe('Type of context to build'),
135
+ targetFile: zod_1.z.string().optional().describe('Optional target file for focused context'),
136
+ options: zod_1.z.object({
137
+ useLSP: zod_1.z.boolean().optional(),
138
+ maxContextLength: zod_1.z.number().optional(),
139
+ includeDocumentation: zod_1.z.boolean().optional(),
140
+ includeSignatures: zod_1.z.boolean().optional()
141
+ }).optional()
142
+ }
143
+ }, async ({ repoPath, contextType, targetFile, options }) => {
144
+ const isLocalBuilder = !!options;
145
+ const builder = isLocalBuilder
146
+ ? new contextBuilder_1.SemanticContextBuilder(options)
147
+ : this.contextBuilder;
148
+ try {
149
+ let context;
150
+ const resolvedPath = repoPath || this.options.repoPath || '.';
151
+ switch (contextType) {
152
+ case 'documentation':
153
+ context = await builder.buildDocumentationContext(resolvedPath, targetFile);
154
+ break;
155
+ case 'playbook':
156
+ context = await builder.buildPlaybookContext(resolvedPath, targetFile || 'generic');
157
+ break;
158
+ case 'plan':
159
+ context = await builder.buildPlanContext(resolvedPath, targetFile);
160
+ break;
161
+ case 'compact':
162
+ default:
163
+ context = await builder.buildCompactContext(resolvedPath);
164
+ break;
165
+ }
166
+ return {
167
+ content: [{
168
+ type: 'text',
169
+ text: context
170
+ }]
171
+ };
172
+ }
173
+ finally {
174
+ if (isLocalBuilder) {
175
+ await builder.shutdown();
176
+ }
177
+ }
178
+ });
179
+ // checkScaffolding tool
180
+ this.server.registerTool('checkScaffolding', {
181
+ description: 'Check if .context scaffolding exists and return granular status',
182
+ inputSchema: {
183
+ repoPath: zod_1.z.string().optional().describe('Repository path to check (defaults to cwd)')
184
+ }
185
+ }, async ({ repoPath }) => {
186
+ const result = await tools_1.checkScaffoldingTool.execute({ repoPath: repoPath || this.options.repoPath }, { toolCallId: '', messages: [] });
187
+ return {
188
+ content: [{
189
+ type: 'text',
190
+ text: JSON.stringify(result, null, 2)
191
+ }]
192
+ };
193
+ });
194
+ // initializeContext tool
195
+ this.server.registerTool('initializeContext', {
196
+ description: `Initialize .context scaffolding and create template files.
197
+ IMPORTANT: After this tool completes, you MUST fill the generated files:
198
+ 1. Use buildSemanticContext to analyze the codebase
199
+ 2. Read each generated template file
200
+ 3. Write filled content to each file based on the analysis`,
201
+ inputSchema: {
202
+ repoPath: zod_1.z.string().describe('Repository path to initialize'),
203
+ type: zod_1.z.enum(['docs', 'agents', 'both']).default('both').optional()
204
+ .describe('Type of scaffolding to create'),
205
+ outputDir: zod_1.z.string().optional().describe('Output directory (default: ./.context)'),
206
+ semantic: zod_1.z.boolean().default(true).optional()
207
+ .describe('Enable semantic analysis for richer templates'),
208
+ include: zod_1.z.array(zod_1.z.string()).optional().describe('Include patterns'),
209
+ exclude: zod_1.z.array(zod_1.z.string()).optional().describe('Exclude patterns')
210
+ }
211
+ }, async ({ repoPath, type, outputDir, semantic, include, exclude }) => {
212
+ const result = await tools_1.initializeContextTool.execute({
213
+ repoPath: repoPath || this.options.repoPath || process.cwd(),
214
+ type,
215
+ outputDir,
216
+ semantic,
217
+ include,
218
+ exclude
219
+ }, { toolCallId: '', messages: [] });
220
+ return {
221
+ content: [{
222
+ type: 'text',
223
+ text: JSON.stringify(result, null, 2)
224
+ }]
225
+ };
226
+ });
227
+ // scaffoldPlan tool
228
+ this.server.registerTool('scaffoldPlan', {
229
+ description: 'Create a plan template in .context/plans/',
230
+ inputSchema: {
231
+ planName: zod_1.z.string().describe('Name of the plan (will be slugified)'),
232
+ repoPath: zod_1.z.string().optional().describe('Repository path'),
233
+ outputDir: zod_1.z.string().optional().describe('Output directory'),
234
+ title: zod_1.z.string().optional().describe('Plan title (defaults to formatted planName)'),
235
+ summary: zod_1.z.string().optional().describe('Plan summary/goal'),
236
+ semantic: zod_1.z.boolean().default(true).optional().describe('Enable semantic analysis')
237
+ }
238
+ }, async ({ planName, repoPath, outputDir, title, summary, semantic }) => {
239
+ const result = await tools_1.scaffoldPlanTool.execute({
240
+ planName,
241
+ repoPath: repoPath || this.options.repoPath || process.cwd(),
242
+ outputDir,
243
+ title,
244
+ summary,
245
+ semantic
246
+ }, { toolCallId: '', messages: [] });
247
+ return {
248
+ content: [{
249
+ type: 'text',
250
+ text: JSON.stringify(result, null, 2)
251
+ }]
252
+ };
253
+ });
254
+ // fillScaffolding tool
255
+ this.server.registerTool('fillScaffolding', {
256
+ description: `Analyze codebase and generate filled content for scaffolding templates.
257
+ Returns suggestedContent for each file that you should write to the file path.
258
+ IMPORTANT: After calling this, write each suggestedContent to its corresponding file path.`,
259
+ inputSchema: {
260
+ repoPath: zod_1.z.string().describe('Repository path'),
261
+ outputDir: zod_1.z.string().optional().describe('Scaffold directory (default: ./.context)'),
262
+ target: zod_1.z.enum(['docs', 'agents', 'plans', 'all']).default('all').optional()
263
+ .describe('Which scaffolding to fill')
264
+ }
265
+ }, async ({ repoPath, outputDir, target }) => {
266
+ const result = await tools_1.fillScaffoldingTool.execute({
267
+ repoPath: repoPath || this.options.repoPath || process.cwd(),
268
+ outputDir,
269
+ target
270
+ }, { toolCallId: '', messages: [] });
271
+ return {
272
+ content: [{
273
+ type: 'text',
274
+ text: JSON.stringify(result, null, 2)
275
+ }]
276
+ };
277
+ });
278
+ this.log('Registered 10 tools');
279
+ }
280
+ /**
281
+ * Register semantic context resources
282
+ */
283
+ registerResources() {
284
+ const repoPath = this.options.repoPath || process.cwd();
285
+ // Register context resources as templates with URI patterns
286
+ this.server.registerResource('codebase-context', `context://codebase/{contextType}`, {
287
+ description: 'Semantic context for the codebase. Use contextType: documentation, playbook, plan, or compact',
288
+ mimeType: 'text/markdown'
289
+ }, async (uri) => {
290
+ // Extract context type from URI
291
+ const match = uri.pathname.match(/\/([^/]+)$/);
292
+ const contextType = (match?.[1] || 'compact');
293
+ let context;
294
+ switch (contextType) {
295
+ case 'documentation':
296
+ context = await this.contextBuilder.buildDocumentationContext(repoPath);
297
+ break;
298
+ case 'playbook':
299
+ context = await this.contextBuilder.buildPlaybookContext(repoPath, 'generic');
300
+ break;
301
+ case 'plan':
302
+ context = await this.contextBuilder.buildPlanContext(repoPath);
303
+ break;
304
+ case 'compact':
305
+ default:
306
+ context = await this.contextBuilder.buildCompactContext(repoPath);
307
+ break;
308
+ }
309
+ return {
310
+ contents: [{
311
+ uri: uri.href,
312
+ mimeType: 'text/markdown',
313
+ text: context
314
+ }]
315
+ };
316
+ });
317
+ // Register file resource template
318
+ this.server.registerResource('file-content', `file://{path}`, {
319
+ description: 'Read file contents from the repository',
320
+ mimeType: 'text/plain'
321
+ }, async (uri) => {
322
+ const filePath = uri.pathname;
323
+ const result = await tools_1.readFileTool.execute({ filePath }, { toolCallId: '', messages: [] });
324
+ if (!result.success) {
325
+ throw new Error(result.error || 'Failed to read file');
326
+ }
327
+ return {
328
+ contents: [{
329
+ uri: uri.href,
330
+ mimeType: 'text/plain',
331
+ text: result.content || ''
332
+ }]
333
+ };
334
+ });
335
+ this.log('Registered 2 resource templates');
336
+ }
337
+ /**
338
+ * Start the MCP server with stdio transport
339
+ */
340
+ async start() {
341
+ this.transport = new stdio_js_1.StdioServerTransport();
342
+ await this.server.connect(this.transport);
343
+ this.log('MCP Server started on stdio');
344
+ }
345
+ /**
346
+ * Stop the MCP server
347
+ */
348
+ async stop() {
349
+ await this.server.close();
350
+ await this.contextBuilder.shutdown();
351
+ this.log('MCP Server stopped');
352
+ }
353
+ /**
354
+ * Log message to stderr (not stdout, to avoid polluting MCP messages)
355
+ */
356
+ log(message) {
357
+ if (this.options.verbose) {
358
+ process.stderr.write(`[mcp] ${message}\n`);
359
+ }
360
+ }
361
+ }
362
+ exports.AIContextMCPServer = AIContextMCPServer;
363
+ /**
364
+ * Create and start an MCP server
365
+ */
366
+ async function startMCPServer(options = {}) {
367
+ const server = new AIContextMCPServer(options);
368
+ await server.start();
369
+ return server;
370
+ }
371
+ //# sourceMappingURL=mcpServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcpServer.js","sourceRoot":"","sources":["../../../src/services/mcp/mcpServer.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,5 @@ export declare class OpenRouterClient extends BaseLLMClient {
5
5
  private config;
6
6
  constructor(config: OpenRouterConfig);
7
7
  generateText(prompt: string, systemPrompt?: string): Promise<string>;
8
- private calculateOpenRouterCost;
9
- generateDocumentation(codeContent: string, filePath: string, context: string): Promise<string>;
10
- generateAgentPrompt(repoStructure: string, fileContext: string, agentType: string): Promise<string>;
11
8
  }
12
9
  //# sourceMappingURL=openRouterClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"openRouterClient.d.ts","sourceRoot":"","sources":["../../src/services/openRouterClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,qBAAa,gBAAiB,SAAQ,aAAa;IACjD,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAmB;gBAErB,MAAM,EAAE,gBAAgB;IAc9B,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA6B1E,OAAO,CAAC,uBAAuB;IAIzB,qBAAqB,CACzB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC;IAwBZ,mBAAmB,CACvB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC;CAwBnB"}
1
+ {"version":3,"file":"openRouterClient.d.ts","sourceRoot":"","sources":["../../src/services/openRouterClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,qBAAa,gBAAiB,SAAQ,aAAa;IACjD,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAmB;gBAErB,MAAM,EAAE,gBAAgB;IAc9B,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CA6B3E"}
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.OpenRouterClient = void 0;
7
7
  const axios_1 = __importDefault(require("axios"));
8
- const pricing_1 = require("../utils/pricing");
9
8
  const baseLLMClient_1 = require("./baseLLMClient");
10
9
  class OpenRouterClient extends baseLLMClient_1.BaseLLMClient {
11
10
  constructor(config) {
@@ -29,13 +28,13 @@ class OpenRouterClient extends baseLLMClient_1.BaseLLMClient {
29
28
  }
30
29
  messages.push({ role: 'user', content: prompt });
31
30
  const response = await this.client.post('/chat/completions', {
32
- model: this.config.model || 'google/gemini-2.5-pro',
31
+ model: this.config.model || 'x-ai/grok-4.1-fast',
33
32
  messages,
34
33
  max_tokens: 4000,
35
34
  temperature: 0.7
36
35
  });
37
36
  // Track usage statistics
38
- this.trackUsage(response.data.usage, this.calculateOpenRouterCost.bind(this));
37
+ this.trackUsage(response.data.usage);
39
38
  return response.data.choices[0]?.message?.content || '';
40
39
  }
41
40
  catch (error) {
@@ -45,52 +44,6 @@ class OpenRouterClient extends baseLLMClient_1.BaseLLMClient {
45
44
  throw error;
46
45
  }
47
46
  }
48
- calculateOpenRouterCost(promptTokens, completionTokens) {
49
- return (0, pricing_1.calculateCost)(this.config.model || 'google/gemini-2.5-pro', promptTokens, completionTokens);
50
- }
51
- async generateDocumentation(codeContent, filePath, context) {
52
- const systemPrompt = `You are a technical documentation expert. Generate clear, comprehensive documentation for the provided code file. Include:
53
- 1. Purpose and overview
54
- 2. Key components/functions
55
- 3. Dependencies and relationships
56
- 4. Usage examples where applicable
57
- 5. Important notes or gotchas
58
-
59
- Focus on being practical and helpful for developers working with this codebase.`;
60
- const prompt = `File: ${filePath}
61
-
62
- Context: ${context}
63
-
64
- Code:
65
- \`\`\`
66
- ${codeContent}
67
- \`\`\`
68
-
69
- Generate comprehensive documentation for this file.`;
70
- return this.generateText(prompt, systemPrompt);
71
- }
72
- async generateAgentPrompt(repoStructure, fileContext, agentType) {
73
- const systemPrompt = `You are an expert at creating AI agent prompts for software development. Create a specialized prompt that would help an AI assistant understand and work effectively with this specific codebase.
74
-
75
- The prompt should include:
76
- 1. Clear understanding of the codebase structure and patterns
77
- 2. Key conventions and best practices used in this project
78
- 3. Important files and their purposes
79
- 4. Common tasks and workflows
80
- 5. Specific guidance for the agent type requested
81
-
82
- Make the prompt practical and actionable.`;
83
- const prompt = `Codebase Structure:
84
- ${repoStructure}
85
-
86
- File Context:
87
- ${fileContext}
88
-
89
- Agent Type: ${agentType}
90
-
91
- Generate a comprehensive agent prompt that would help an AI assistant work effectively with this codebase for ${agentType} tasks.`;
92
- return this.generateText(prompt, systemPrompt);
93
- }
94
47
  }
95
48
  exports.OpenRouterClient = OpenRouterClient;
96
49
  //# sourceMappingURL=openRouterClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openRouterClient.js","sourceRoot":"","sources":["../../src/services/openRouterClient.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA6C;AAE7C,8CAAiD;AACjD,mDAAgD;AAEhD,MAAa,gBAAiB,SAAQ,6BAAa;IAIjD,YAAY,MAAwB;QAClC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,eAAK,CAAC,MAAM,CAAC;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,8BAA8B;YACzD,OAAO,EAAE;gBACP,eAAe,EAAE,UAAU,MAAM,CAAC,MAAM,EAAE;gBAC1C,cAAc,EAAE,kBAAkB;gBAClC,cAAc,EAAE,2BAA2B;gBAC3C,SAAS,EAAE,mBAAmB;aAC/B;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,YAAqB;QACtD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,EAAE,CAAC;YAEpB,IAAI,YAAY,EAAE,CAAC;gBACjB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;YAC3D,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAEjD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;gBAC3D,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,uBAAuB;gBACnD,QAAQ;gBACR,UAAU,EAAE,IAAI;gBAChB,WAAW,EAAE,GAAG;aACjB,CAAC,CAAC;YAEH,yBAAyB;YACzB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAE9E,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,eAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACpG,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,uBAAuB,CAAC,YAAoB,EAAE,gBAAwB;QAC5E,OAAO,IAAA,uBAAa,EAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,uBAAuB,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;IACrG,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,WAAmB,EACnB,QAAgB,EAChB,OAAe;QAEf,MAAM,YAAY,GAAG;;;;;;;oFAO2D,CAAC;QAEjF,MAAM,MAAM,GAAG,SAAS,QAAQ;;WAEzB,OAAO;;;;EAIhB,WAAW;;;oDAGuC,CAAC;QAEjD,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,aAAqB,EACrB,WAAmB,EACnB,SAAiB;QAEjB,MAAM,YAAY,GAAG;;;;;;;;;0CASiB,CAAC;QAEvC,MAAM,MAAM,GAAG;EACjB,aAAa;;;EAGb,WAAW;;cAEC,SAAS;;gHAEyF,SAAS,SAAS,CAAC;QAE/H,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACjD,CAAC;CACF;AA3GD,4CA2GC"}
1
+ {"version":3,"file":"openRouterClient.js","sourceRoot":"","sources":["../../src/services/openRouterClient.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA6C;AAE7C,mDAAgD;AAEhD,MAAa,gBAAiB,SAAQ,6BAAa;IAIjD,YAAY,MAAwB;QAClC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,eAAK,CAAC,MAAM,CAAC;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,8BAA8B;YACzD,OAAO,EAAE;gBACP,eAAe,EAAE,UAAU,MAAM,CAAC,MAAM,EAAE;gBAC1C,cAAc,EAAE,kBAAkB;gBAClC,cAAc,EAAE,2BAA2B;gBAC3C,SAAS,EAAE,mBAAmB;aAC/B;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,YAAqB;QACtD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,EAAE,CAAC;YAEpB,IAAI,YAAY,EAAE,CAAC;gBACjB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;YAC3D,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAEjD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;gBAC3D,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,oBAAoB;gBAChD,QAAQ;gBACR,UAAU,EAAE,IAAI;gBAChB,WAAW,EAAE,GAAG;aACjB,CAAC,CAAC;YAEH,yBAAyB;YACzB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAErC,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,eAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACpG,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CAEF;AA/CD,4CA+CC"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * CommandRouter - Routes JSON-RPC style commands to appropriate handlers
3
+ */
4
+ import { type BaseRequest, type Response, type Notification } from './protocol';
5
+ export interface CommandRouterOptions {
6
+ /** Default repository path for tools */
7
+ defaultRepoPath?: string;
8
+ /** Callback for sending notifications */
9
+ onNotification?: (notification: Notification) => void;
10
+ }
11
+ export declare class CommandRouter {
12
+ private options;
13
+ private contextBuilder;
14
+ private toolRegistry;
15
+ constructor(options?: CommandRouterOptions);
16
+ /**
17
+ * Build the tool registry from existing tools
18
+ */
19
+ private buildToolRegistry;
20
+ /**
21
+ * Route a request to the appropriate handler
22
+ */
23
+ route(request: BaseRequest): Promise<Response>;
24
+ /**
25
+ * Handle capabilities request
26
+ */
27
+ private handleCapabilities;
28
+ /**
29
+ * Handle tool.list request
30
+ */
31
+ private handleToolList;
32
+ /**
33
+ * Handle tool.call request
34
+ */
35
+ private handleToolCall;
36
+ /**
37
+ * Handle context.build request
38
+ */
39
+ private handleContextBuild;
40
+ /**
41
+ * Handle agent.run request
42
+ */
43
+ private handleAgentRun;
44
+ /**
45
+ * Send a notification if callback is registered
46
+ */
47
+ private notify;
48
+ /**
49
+ * Cleanup resources
50
+ */
51
+ shutdown(): Promise<void>;
52
+ }
53
+ //# sourceMappingURL=commandRouter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commandRouter.d.ts","sourceRoot":"","sources":["../../../src/services/passthrough/commandRouter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,YAAY,EAUlB,MAAM,YAAY,CAAC;AAgFpB,MAAM,WAAW,oBAAoB;IACnC,wCAAwC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yCAAyC;IACzC,cAAc,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,CAAC;CACvD;AAWD,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,YAAY,CAAyB;gBAEjC,OAAO,GAAE,oBAAyB;IAM9C;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2CzB;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IA+DpD;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAoB1B;;OAEG;IACH,OAAO,CAAC,cAAc;IActB;;OAEG;YACW,cAAc;IAgC5B;;OAEG;YACW,kBAAkB;IA6ChC;;OAEG;YACW,cAAc;IAiH5B;;OAEG;IACH,OAAO,CAAC,MAAM;IAMd;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGhC"}