@ai-coders/context 0.4.0 → 0.5.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 (435) hide show
  1. package/README.md +117 -146
  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/agentGenerator.d.ts +8 -1
  55. package/dist/generators/agents/agentGenerator.d.ts.map +1 -1
  56. package/dist/generators/agents/agentGenerator.js +108 -10
  57. package/dist/generators/agents/agentGenerator.js.map +1 -1
  58. package/dist/generators/agents/templates/playbookTemplate.d.ts +3 -2
  59. package/dist/generators/agents/templates/playbookTemplate.d.ts.map +1 -1
  60. package/dist/generators/agents/templates/playbookTemplate.js +147 -45
  61. package/dist/generators/agents/templates/playbookTemplate.js.map +1 -1
  62. package/dist/generators/agents/templates/types.d.ts +9 -1
  63. package/dist/generators/agents/templates/types.d.ts.map +1 -1
  64. package/dist/generators/documentation/documentationGenerator.d.ts +2 -0
  65. package/dist/generators/documentation/documentationGenerator.d.ts.map +1 -1
  66. package/dist/generators/documentation/documentationGenerator.js +18 -3
  67. package/dist/generators/documentation/documentationGenerator.js.map +1 -1
  68. package/dist/generators/documentation/guideRegistry.d.ts.map +1 -1
  69. package/dist/generators/documentation/guideRegistry.js +0 -8
  70. package/dist/generators/documentation/guideRegistry.js.map +1 -1
  71. package/dist/generators/documentation/templates/apiReferenceTemplate.d.ts.map +1 -1
  72. package/dist/generators/documentation/templates/apiReferenceTemplate.js +3 -22
  73. package/dist/generators/documentation/templates/apiReferenceTemplate.js.map +1 -1
  74. package/dist/generators/documentation/templates/architectureTemplate.d.ts.map +1 -1
  75. package/dist/generators/documentation/templates/architectureTemplate.js +174 -36
  76. package/dist/generators/documentation/templates/architectureTemplate.js.map +1 -1
  77. package/dist/generators/documentation/templates/common.d.ts +33 -1
  78. package/dist/generators/documentation/templates/common.d.ts.map +1 -1
  79. package/dist/generators/documentation/templates/common.js +144 -10
  80. package/dist/generators/documentation/templates/common.js.map +1 -1
  81. package/dist/generators/documentation/templates/dataFlowTemplate.d.ts.map +1 -1
  82. package/dist/generators/documentation/templates/dataFlowTemplate.js +106 -22
  83. package/dist/generators/documentation/templates/dataFlowTemplate.js.map +1 -1
  84. package/dist/generators/documentation/templates/developmentWorkflowTemplate.d.ts.map +1 -1
  85. package/dist/generators/documentation/templates/developmentWorkflowTemplate.js +4 -19
  86. package/dist/generators/documentation/templates/developmentWorkflowTemplate.js.map +1 -1
  87. package/dist/generators/documentation/templates/glossaryTemplate.d.ts +1 -1
  88. package/dist/generators/documentation/templates/glossaryTemplate.d.ts.map +1 -1
  89. package/dist/generators/documentation/templates/glossaryTemplate.js +57 -25
  90. package/dist/generators/documentation/templates/glossaryTemplate.js.map +1 -1
  91. package/dist/generators/documentation/templates/indexTemplate.d.ts.map +1 -1
  92. package/dist/generators/documentation/templates/indexTemplate.js +1 -18
  93. package/dist/generators/documentation/templates/indexTemplate.js.map +1 -1
  94. package/dist/generators/documentation/templates/migrationTemplate.d.ts.map +1 -1
  95. package/dist/generators/documentation/templates/migrationTemplate.js +3 -23
  96. package/dist/generators/documentation/templates/migrationTemplate.js.map +1 -1
  97. package/dist/generators/documentation/templates/onboardingTemplate.d.ts.map +1 -1
  98. package/dist/generators/documentation/templates/onboardingTemplate.js +3 -23
  99. package/dist/generators/documentation/templates/onboardingTemplate.js.map +1 -1
  100. package/dist/generators/documentation/templates/projectOverviewTemplate.d.ts.map +1 -1
  101. package/dist/generators/documentation/templates/projectOverviewTemplate.js +94 -28
  102. package/dist/generators/documentation/templates/projectOverviewTemplate.js.map +1 -1
  103. package/dist/generators/documentation/templates/securityTemplate.d.ts.map +1 -1
  104. package/dist/generators/documentation/templates/securityTemplate.js +11 -22
  105. package/dist/generators/documentation/templates/securityTemplate.js.map +1 -1
  106. package/dist/generators/documentation/templates/testingTemplate.d.ts.map +1 -1
  107. package/dist/generators/documentation/templates/testingTemplate.js +4 -19
  108. package/dist/generators/documentation/templates/testingTemplate.js.map +1 -1
  109. package/dist/generators/documentation/templates/toolingTemplate.d.ts.map +1 -1
  110. package/dist/generators/documentation/templates/toolingTemplate.js +11 -25
  111. package/dist/generators/documentation/templates/toolingTemplate.js.map +1 -1
  112. package/dist/generators/documentation/templates/troubleshootingTemplate.d.ts.map +1 -1
  113. package/dist/generators/documentation/templates/troubleshootingTemplate.js +3 -23
  114. package/dist/generators/documentation/templates/troubleshootingTemplate.js.map +1 -1
  115. package/dist/generators/documentation/templates/types.d.ts +2 -1
  116. package/dist/generators/documentation/templates/types.d.ts.map +1 -1
  117. package/dist/generators/plans/planGenerator.d.ts +4 -0
  118. package/dist/generators/plans/planGenerator.d.ts.map +1 -1
  119. package/dist/generators/plans/planGenerator.js +30 -2
  120. package/dist/generators/plans/planGenerator.js.map +1 -1
  121. package/dist/generators/plans/templates/indexTemplate.d.ts.map +1 -1
  122. package/dist/generators/plans/templates/indexTemplate.js +3 -12
  123. package/dist/generators/plans/templates/indexTemplate.js.map +1 -1
  124. package/dist/generators/plans/templates/planTemplate.d.ts.map +1 -1
  125. package/dist/generators/plans/templates/planTemplate.js +57 -33
  126. package/dist/generators/plans/templates/planTemplate.js.map +1 -1
  127. package/dist/generators/plans/templates/types.d.ts +10 -0
  128. package/dist/generators/plans/templates/types.d.ts.map +1 -1
  129. package/dist/generators/shared/generatorUtils.d.ts.map +1 -1
  130. package/dist/generators/shared/generatorUtils.js +6 -9
  131. package/dist/generators/shared/generatorUtils.js.map +1 -1
  132. package/dist/index.d.ts.map +1 -1
  133. package/dist/index.js +646 -114
  134. package/dist/index.js.map +1 -1
  135. package/dist/prompts/defaults.d.ts +2 -2
  136. package/dist/prompts/defaults.d.ts.map +1 -1
  137. package/dist/prompts/defaults.js +26 -56
  138. package/dist/prompts/defaults.js.map +1 -1
  139. package/dist/services/ai/agentEvents.d.ts +45 -0
  140. package/dist/services/ai/agentEvents.d.ts.map +1 -0
  141. package/dist/services/ai/agentEvents.js +61 -0
  142. package/dist/services/ai/agentEvents.js.map +1 -0
  143. package/dist/services/ai/agents/documentationAgent.d.ts +53 -0
  144. package/dist/services/ai/agents/documentationAgent.d.ts.map +1 -0
  145. package/dist/services/ai/agents/documentationAgent.js +217 -0
  146. package/dist/services/ai/agents/documentationAgent.js.map +1 -0
  147. package/dist/services/ai/agents/index.d.ts +7 -0
  148. package/dist/services/ai/agents/index.d.ts.map +1 -0
  149. package/dist/services/ai/agents/index.js +10 -0
  150. package/dist/services/ai/agents/index.js.map +1 -0
  151. package/dist/services/ai/agents/planAgent.d.ts +68 -0
  152. package/dist/services/ai/agents/planAgent.d.ts.map +1 -0
  153. package/dist/services/ai/agents/planAgent.js +342 -0
  154. package/dist/services/ai/agents/planAgent.js.map +1 -0
  155. package/dist/services/ai/agents/playbookAgent.d.ts +54 -0
  156. package/dist/services/ai/agents/playbookAgent.d.ts.map +1 -0
  157. package/dist/services/ai/agents/playbookAgent.js +244 -0
  158. package/dist/services/ai/agents/playbookAgent.js.map +1 -0
  159. package/dist/services/ai/aiSdkClient.d.ts +67 -0
  160. package/dist/services/ai/aiSdkClient.d.ts.map +1 -0
  161. package/dist/services/ai/aiSdkClient.js +143 -0
  162. package/dist/services/ai/aiSdkClient.js.map +1 -0
  163. package/dist/services/ai/index.d.ts +7 -0
  164. package/dist/services/ai/index.d.ts.map +1 -0
  165. package/dist/services/ai/index.js +49 -0
  166. package/dist/services/ai/index.js.map +1 -0
  167. package/dist/services/ai/prompts/index.d.ts +2 -0
  168. package/dist/services/ai/prompts/index.d.ts.map +1 -0
  169. package/dist/services/ai/prompts/index.js +12 -0
  170. package/dist/services/ai/prompts/index.js.map +1 -0
  171. package/dist/services/ai/prompts/sharedPrompts.d.ts +33 -0
  172. package/dist/services/ai/prompts/sharedPrompts.d.ts.map +1 -0
  173. package/dist/services/ai/prompts/sharedPrompts.js +136 -0
  174. package/dist/services/ai/prompts/sharedPrompts.js.map +1 -0
  175. package/dist/services/ai/providerFactory.d.ts +35 -0
  176. package/dist/services/ai/providerFactory.d.ts.map +1 -0
  177. package/dist/services/ai/providerFactory.js +107 -0
  178. package/dist/services/ai/providerFactory.js.map +1 -0
  179. package/dist/services/ai/schemas.d.ts +331 -0
  180. package/dist/services/ai/schemas.d.ts.map +1 -0
  181. package/dist/services/ai/schemas.js +236 -0
  182. package/dist/services/ai/schemas.js.map +1 -0
  183. package/dist/services/ai/toolRegistry.d.ts +27 -0
  184. package/dist/services/ai/toolRegistry.d.ts.map +1 -0
  185. package/dist/services/ai/toolRegistry.js +126 -0
  186. package/dist/services/ai/toolRegistry.js.map +1 -0
  187. package/dist/services/ai/tools/analyzeSymbolsTool.d.ts +33 -0
  188. package/dist/services/ai/tools/analyzeSymbolsTool.d.ts.map +1 -0
  189. package/dist/services/ai/tools/analyzeSymbolsTool.js +57 -0
  190. package/dist/services/ai/tools/analyzeSymbolsTool.js.map +1 -0
  191. package/dist/services/ai/tools/checkScaffoldingTool.d.ts +18 -0
  192. package/dist/services/ai/tools/checkScaffoldingTool.d.ts.map +1 -0
  193. package/dist/services/ai/tools/checkScaffoldingTool.js +86 -0
  194. package/dist/services/ai/tools/checkScaffoldingTool.js.map +1 -0
  195. package/dist/services/ai/tools/fillScaffoldingTool.d.ts +108 -0
  196. package/dist/services/ai/tools/fillScaffoldingTool.d.ts.map +1 -0
  197. package/dist/services/ai/tools/fillScaffoldingTool.js +463 -0
  198. package/dist/services/ai/tools/fillScaffoldingTool.js.map +1 -0
  199. package/dist/services/ai/tools/getFileStructureTool.d.ts +29 -0
  200. package/dist/services/ai/tools/getFileStructureTool.d.ts.map +1 -0
  201. package/dist/services/ai/tools/getFileStructureTool.js +48 -0
  202. package/dist/services/ai/tools/getFileStructureTool.js.map +1 -0
  203. package/dist/services/ai/tools/index.d.ts +20 -0
  204. package/dist/services/ai/tools/index.d.ts.map +1 -0
  205. package/dist/services/ai/tools/index.js +68 -0
  206. package/dist/services/ai/tools/index.js.map +1 -0
  207. package/dist/services/ai/tools/initializeContextTool.d.ts +25 -0
  208. package/dist/services/ai/tools/initializeContextTool.d.ts.map +1 -0
  209. package/dist/services/ai/tools/initializeContextTool.js +121 -0
  210. package/dist/services/ai/tools/initializeContextTool.js.map +1 -0
  211. package/dist/services/ai/tools/listFilesTool.d.ts +18 -0
  212. package/dist/services/ai/tools/listFilesTool.d.ts.map +1 -0
  213. package/dist/services/ai/tools/listFilesTool.js +34 -0
  214. package/dist/services/ai/tools/listFilesTool.js.map +1 -0
  215. package/dist/services/ai/tools/readFileTool.d.ts +17 -0
  216. package/dist/services/ai/tools/readFileTool.d.ts.map +1 -0
  217. package/dist/services/ai/tools/readFileTool.js +63 -0
  218. package/dist/services/ai/tools/readFileTool.js.map +1 -0
  219. package/dist/services/ai/tools/scaffoldPlanTool.d.ts +19 -0
  220. package/dist/services/ai/tools/scaffoldPlanTool.d.ts.map +1 -0
  221. package/dist/services/ai/tools/scaffoldPlanTool.js +81 -0
  222. package/dist/services/ai/tools/scaffoldPlanTool.js.map +1 -0
  223. package/dist/services/ai/tools/searchCodeTool.d.ts +25 -0
  224. package/dist/services/ai/tools/searchCodeTool.d.ts.map +1 -0
  225. package/dist/services/ai/tools/searchCodeTool.js +96 -0
  226. package/dist/services/ai/tools/searchCodeTool.js.map +1 -0
  227. package/dist/services/fill/fillService.d.ts +11 -1
  228. package/dist/services/fill/fillService.d.ts.map +1 -1
  229. package/dist/services/fill/fillService.js +157 -40
  230. package/dist/services/fill/fillService.js.map +1 -1
  231. package/dist/services/init/initService.d.ts +1 -0
  232. package/dist/services/init/initService.d.ts.map +1 -1
  233. package/dist/services/init/initService.js +12 -7
  234. package/dist/services/init/initService.js.map +1 -1
  235. package/dist/services/llmClientFactory.d.ts +36 -2
  236. package/dist/services/llmClientFactory.d.ts.map +1 -1
  237. package/dist/services/llmClientFactory.js +57 -11
  238. package/dist/services/llmClientFactory.js.map +1 -1
  239. package/dist/services/mcp/index.d.ts +2 -0
  240. package/dist/services/mcp/index.d.ts.map +1 -0
  241. package/dist/services/mcp/index.js +7 -0
  242. package/dist/services/mcp/index.js.map +1 -0
  243. package/dist/services/mcp/mcpServer.d.ts +45 -0
  244. package/dist/services/mcp/mcpServer.d.ts.map +1 -0
  245. package/dist/services/mcp/mcpServer.js +411 -0
  246. package/dist/services/mcp/mcpServer.js.map +1 -0
  247. package/dist/services/openRouterClient.js +1 -1
  248. package/dist/services/openRouterClient.js.map +1 -1
  249. package/dist/services/passthrough/commandRouter.d.ts +53 -0
  250. package/dist/services/passthrough/commandRouter.d.ts.map +1 -0
  251. package/dist/services/passthrough/commandRouter.js +349 -0
  252. package/dist/services/passthrough/commandRouter.js.map +1 -0
  253. package/dist/services/passthrough/index.d.ts +7 -0
  254. package/dist/services/passthrough/index.d.ts.map +1 -0
  255. package/dist/services/passthrough/index.js +23 -0
  256. package/dist/services/passthrough/index.js.map +1 -0
  257. package/dist/services/passthrough/protocol.d.ts +269 -0
  258. package/dist/services/passthrough/protocol.d.ts.map +1 -0
  259. package/dist/services/passthrough/protocol.js +151 -0
  260. package/dist/services/passthrough/protocol.js.map +1 -0
  261. package/dist/services/passthrough/stdinReader.d.ts +42 -0
  262. package/dist/services/passthrough/stdinReader.d.ts.map +1 -0
  263. package/dist/services/passthrough/stdinReader.js +111 -0
  264. package/dist/services/passthrough/stdinReader.js.map +1 -0
  265. package/dist/services/plan/planService.d.ts +3 -1
  266. package/dist/services/plan/planService.d.ts.map +1 -1
  267. package/dist/services/plan/planService.js +49 -41
  268. package/dist/services/plan/planService.js.map +1 -1
  269. package/dist/services/semantic/codebaseAnalyzer.d.ts +40 -0
  270. package/dist/services/semantic/codebaseAnalyzer.d.ts.map +1 -0
  271. package/dist/services/semantic/codebaseAnalyzer.js +540 -0
  272. package/dist/services/semantic/codebaseAnalyzer.js.map +1 -0
  273. package/dist/services/semantic/contextBuilder.d.ts +79 -0
  274. package/dist/services/semantic/contextBuilder.d.ts.map +1 -0
  275. package/dist/services/semantic/contextBuilder.js +538 -0
  276. package/dist/services/semantic/contextBuilder.js.map +1 -0
  277. package/dist/services/semantic/index.d.ts +12 -0
  278. package/dist/services/semantic/index.d.ts.map +1 -0
  279. package/dist/services/semantic/index.js +33 -0
  280. package/dist/services/semantic/index.js.map +1 -0
  281. package/dist/services/semantic/lsp/index.d.ts +2 -0
  282. package/dist/services/semantic/lsp/index.d.ts.map +1 -0
  283. package/dist/services/semantic/lsp/index.js +6 -0
  284. package/dist/services/semantic/lsp/index.js.map +1 -0
  285. package/dist/services/semantic/lsp/lspLayer.d.ts +32 -0
  286. package/dist/services/semantic/lsp/lspLayer.d.ts.map +1 -0
  287. package/dist/services/semantic/lsp/lspLayer.js +378 -0
  288. package/dist/services/semantic/lsp/lspLayer.js.map +1 -0
  289. package/dist/services/semantic/treeSitter/index.d.ts +2 -0
  290. package/dist/services/semantic/treeSitter/index.d.ts.map +1 -0
  291. package/dist/services/semantic/treeSitter/index.js +6 -0
  292. package/dist/services/semantic/treeSitter/index.js.map +1 -0
  293. package/dist/services/semantic/treeSitter/treeSitterLayer.d.ts +37 -0
  294. package/dist/services/semantic/treeSitter/treeSitterLayer.d.ts.map +1 -0
  295. package/dist/services/semantic/treeSitter/treeSitterLayer.js +518 -0
  296. package/dist/services/semantic/treeSitter/treeSitterLayer.js.map +1 -0
  297. package/dist/services/semantic/types.d.ts +122 -0
  298. package/dist/services/semantic/types.d.ts.map +1 -0
  299. package/dist/services/semantic/types.js +31 -0
  300. package/dist/services/semantic/types.js.map +1 -0
  301. package/dist/services/serve/index.d.ts +2 -0
  302. package/dist/services/serve/index.d.ts.map +1 -0
  303. package/dist/services/serve/index.js +6 -0
  304. package/dist/services/serve/index.js.map +1 -0
  305. package/dist/services/serve/serveService.d.ts +38 -0
  306. package/dist/services/serve/serveService.d.ts.map +1 -0
  307. package/dist/services/serve/serveService.js +99 -0
  308. package/dist/services/serve/serveService.js.map +1 -0
  309. package/dist/services/shared/llmConfig.d.ts +19 -3
  310. package/dist/services/shared/llmConfig.d.ts.map +1 -1
  311. package/dist/services/shared/llmConfig.js +39 -10
  312. package/dist/services/shared/llmConfig.js.map +1 -1
  313. package/dist/services/state/index.d.ts +2 -0
  314. package/dist/services/state/index.d.ts.map +1 -0
  315. package/dist/services/state/index.js +6 -0
  316. package/dist/services/state/index.js.map +1 -0
  317. package/dist/services/state/stateDetector.d.ts +53 -0
  318. package/dist/services/state/stateDetector.d.ts.map +1 -0
  319. package/dist/services/state/stateDetector.js +189 -0
  320. package/dist/services/state/stateDetector.js.map +1 -0
  321. package/dist/services/sync/index.d.ts +6 -0
  322. package/dist/services/sync/index.d.ts.map +1 -0
  323. package/dist/services/sync/index.js +16 -0
  324. package/dist/services/sync/index.js.map +1 -0
  325. package/dist/services/sync/markdownReferenceHandler.d.ts +3 -0
  326. package/dist/services/sync/markdownReferenceHandler.d.ts.map +1 -0
  327. package/dist/services/sync/markdownReferenceHandler.js +133 -0
  328. package/dist/services/sync/markdownReferenceHandler.js.map +1 -0
  329. package/dist/services/sync/presets.d.ts +6 -0
  330. package/dist/services/sync/presets.d.ts.map +1 -0
  331. package/dist/services/sync/presets.js +49 -0
  332. package/dist/services/sync/presets.js.map +1 -0
  333. package/dist/services/sync/symlinkHandler.d.ts +7 -0
  334. package/dist/services/sync/symlinkHandler.d.ts.map +1 -0
  335. package/dist/services/sync/symlinkHandler.js +129 -0
  336. package/dist/services/sync/symlinkHandler.js.map +1 -0
  337. package/dist/services/sync/syncService.d.ts +15 -0
  338. package/dist/services/sync/syncService.d.ts.map +1 -0
  339. package/dist/services/sync/syncService.js +222 -0
  340. package/dist/services/sync/syncService.js.map +1 -0
  341. package/dist/services/sync/types.d.ts +62 -0
  342. package/dist/services/sync/types.d.ts.map +1 -0
  343. package/dist/services/sync/types.js +3 -0
  344. package/dist/services/sync/types.js.map +1 -0
  345. package/dist/services/update/index.d.ts +2 -0
  346. package/dist/services/update/index.d.ts.map +1 -0
  347. package/dist/services/update/index.js +6 -0
  348. package/dist/services/update/index.js.map +1 -0
  349. package/dist/services/update/updateService.d.ts +64 -0
  350. package/dist/services/update/updateService.d.ts.map +1 -0
  351. package/dist/services/update/updateService.js +295 -0
  352. package/dist/services/update/updateService.js.map +1 -0
  353. package/dist/types.d.ts +2 -6
  354. package/dist/types.d.ts.map +1 -1
  355. package/dist/utils/cliUI.d.ts +33 -0
  356. package/dist/utils/cliUI.d.ts.map +1 -1
  357. package/dist/utils/cliUI.js +157 -107
  358. package/dist/utils/cliUI.js.map +1 -1
  359. package/dist/utils/contentSanitizer.d.ts +42 -0
  360. package/dist/utils/contentSanitizer.d.ts.map +1 -0
  361. package/dist/utils/contentSanitizer.js +238 -0
  362. package/dist/utils/contentSanitizer.js.map +1 -0
  363. package/dist/utils/frontMatter.d.ts +55 -0
  364. package/dist/utils/frontMatter.d.ts.map +1 -0
  365. package/dist/utils/frontMatter.js +173 -0
  366. package/dist/utils/frontMatter.js.map +1 -0
  367. package/dist/utils/gitService.d.ts.map +1 -1
  368. package/dist/utils/gitService.js +12 -14
  369. package/dist/utils/gitService.js.map +1 -1
  370. package/dist/utils/i18n.d.ts +101 -13
  371. package/dist/utils/i18n.d.ts.map +1 -1
  372. package/dist/utils/i18n.js +204 -28
  373. package/dist/utils/i18n.js.map +1 -1
  374. package/dist/utils/prompts/configSummary.d.ts +7 -0
  375. package/dist/utils/prompts/configSummary.d.ts.map +1 -0
  376. package/dist/utils/prompts/configSummary.js +63 -0
  377. package/dist/utils/prompts/configSummary.js.map +1 -0
  378. package/dist/utils/prompts/index.d.ts +22 -0
  379. package/dist/utils/prompts/index.d.ts.map +1 -0
  380. package/dist/utils/prompts/index.js +122 -0
  381. package/dist/utils/prompts/index.js.map +1 -0
  382. package/dist/utils/prompts/llmPrompts.d.ts +11 -0
  383. package/dist/utils/prompts/llmPrompts.d.ts.map +1 -0
  384. package/dist/utils/prompts/llmPrompts.js +96 -0
  385. package/dist/utils/prompts/llmPrompts.js.map +1 -0
  386. package/dist/utils/prompts/smartDefaults.d.ts +15 -0
  387. package/dist/utils/prompts/smartDefaults.d.ts.map +1 -0
  388. package/dist/utils/prompts/smartDefaults.js +105 -0
  389. package/dist/utils/prompts/smartDefaults.js.map +1 -0
  390. package/dist/utils/prompts/types.d.ts +38 -0
  391. package/dist/utils/prompts/types.d.ts.map +1 -0
  392. package/dist/utils/prompts/types.js +3 -0
  393. package/dist/utils/prompts/types.js.map +1 -0
  394. package/dist/utils/theme.d.ts +66 -0
  395. package/dist/utils/theme.d.ts.map +1 -0
  396. package/dist/utils/theme.js +93 -0
  397. package/dist/utils/theme.js.map +1 -0
  398. package/dist/version.d.ts +8 -0
  399. package/dist/version.d.ts.map +1 -0
  400. package/dist/version.js +15 -0
  401. package/dist/version.js.map +1 -0
  402. package/package.json +12 -2
  403. package/prompts/update_scaffold_prompt.md +14 -34
  404. package/dist/commands/shared/agents.d.ts +0 -2
  405. package/dist/commands/shared/agents.d.ts.map +0 -1
  406. package/dist/commands/shared/agents.js +0 -15
  407. package/dist/commands/shared/agents.js.map +0 -1
  408. package/dist/commands/shared/selection.d.ts +0 -12
  409. package/dist/commands/shared/selection.d.ts.map +0 -1
  410. package/dist/commands/shared/selection.js +0 -95
  411. package/dist/commands/shared/selection.js.map +0 -1
  412. package/dist/generators/documentation/templates/frontMatter.d.ts +0 -11
  413. package/dist/generators/documentation/templates/frontMatter.d.ts.map +0 -1
  414. package/dist/generators/documentation/templates/frontMatter.js +0 -29
  415. package/dist/generators/documentation/templates/frontMatter.js.map +0 -1
  416. package/dist/services/anthropicClient.d.ts +0 -12
  417. package/dist/services/anthropicClient.d.ts.map +0 -1
  418. package/dist/services/anthropicClient.js +0 -98
  419. package/dist/services/anthropicClient.js.map +0 -1
  420. package/dist/services/geminiClient.d.ts +0 -12
  421. package/dist/services/geminiClient.d.ts.map +0 -1
  422. package/dist/services/geminiClient.js +0 -96
  423. package/dist/services/geminiClient.js.map +0 -1
  424. package/dist/services/grokClient.d.ts +0 -12
  425. package/dist/services/grokClient.d.ts.map +0 -1
  426. package/dist/services/grokClient.js +0 -101
  427. package/dist/services/grokClient.js.map +0 -1
  428. package/dist/services/openaiClient.d.ts +0 -12
  429. package/dist/services/openaiClient.d.ts.map +0 -1
  430. package/dist/services/openaiClient.js +0 -98
  431. package/dist/services/openaiClient.js.map +0 -1
  432. package/dist/utils/pricing.d.ts +0 -14
  433. package/dist/utils/pricing.d.ts.map +0 -1
  434. package/dist/utils/pricing.js +0 -115
  435. package/dist/utils/pricing.js.map +0 -1
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Context Fragment System
3
+ *
4
+ * Atomic, typed pieces of context that AI can query, filter, and compose freely.
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * import {
9
+ * createFragmentStore,
10
+ * createExtractorRegistry,
11
+ * queryFrom,
12
+ * createComposer,
13
+ * renderFragments,
14
+ * } from './fragments';
15
+ *
16
+ * // Create store and extract fragments
17
+ * const store = createFragmentStore();
18
+ * const registry = createExtractorRegistry();
19
+ * const fragments = registry.extractAll({ repoStructure, semantics });
20
+ * store.addAll(fragments);
21
+ *
22
+ * // Query fragments
23
+ * const types = queryFrom(store)
24
+ * .ofType('type-definition')
25
+ * .withTags('exported')
26
+ * .orderByPriority()
27
+ * .limit(10)
28
+ * .execute();
29
+ *
30
+ * // Compose context for a task
31
+ * const composer = createComposer(store);
32
+ * const context = composer.forTask('Add user authentication', 8000);
33
+ *
34
+ * // Render to output format
35
+ * const markdown = renderFragments(context, 'markdown');
36
+ * const json = renderFragments(context, 'json');
37
+ * const compact = renderFragments(context, 'compact');
38
+ * ```
39
+ */
40
+ export type { FragmentType, FragmentScope, ContextFragment, FragmentRefs, FragmentMeta, ProjectOverviewData, ModuleData, FileSummaryData, TypeDefinitionData, FunctionData, ApiEndpointData, ComponentData, DependencyGraphData, PatternData, ConventionData, ConfigData, CommandData, ProjectOverviewFragment, ModuleFragment, FileSummaryFragment, TypeDefinitionFragment, FunctionFragment, ApiEndpointFragment, ComponentFragment, DependencyGraphFragment, PatternFragment, ConventionFragment, ConfigFragment, CommandFragment, FragmentQuery, CompositionStrategy, CompositionOptions, RenderFormat, RenderOptions, FragmentStore, FragmentExtractor, } from './types.js';
41
+ export { InMemoryFragmentStore, createFragmentStore } from './store.js';
42
+ export { FragmentQueryBuilder, queryFrom, getEssentialContext, getTypesForFile, getFunctionsForFile, getApiEndpoints, getPatternsAndConventions, getContextForSymbol, getModuleContext, } from './query.js';
43
+ export { composeFragments, createComposer } from './compose.js';
44
+ export { renderFragments, getAvailableFormats, renderMarkdown, renderJSON, renderCompact, } from './render/index.js';
45
+ export { createExtractorRegistry, extractProjectFragments, extractModuleFragments, extractSemanticFragments, } from './extractors/index.js';
46
+ export type { ExtractionInput, ExtractorRegistry } from './extractors/index.js';
47
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fragments/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAGH,YAAY,EACV,YAAY,EACZ,aAAa,EACb,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,UAAU,EACV,WAAW,EACX,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGxE,OAAO,EACL,oBAAoB,EACpB,SAAS,EACT,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,yBAAyB,EACzB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGhE,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,UAAU,EACV,aAAa,GACd,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ /**
3
+ * Context Fragment System
4
+ *
5
+ * Atomic, typed pieces of context that AI can query, filter, and compose freely.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import {
10
+ * createFragmentStore,
11
+ * createExtractorRegistry,
12
+ * queryFrom,
13
+ * createComposer,
14
+ * renderFragments,
15
+ * } from './fragments';
16
+ *
17
+ * // Create store and extract fragments
18
+ * const store = createFragmentStore();
19
+ * const registry = createExtractorRegistry();
20
+ * const fragments = registry.extractAll({ repoStructure, semantics });
21
+ * store.addAll(fragments);
22
+ *
23
+ * // Query fragments
24
+ * const types = queryFrom(store)
25
+ * .ofType('type-definition')
26
+ * .withTags('exported')
27
+ * .orderByPriority()
28
+ * .limit(10)
29
+ * .execute();
30
+ *
31
+ * // Compose context for a task
32
+ * const composer = createComposer(store);
33
+ * const context = composer.forTask('Add user authentication', 8000);
34
+ *
35
+ * // Render to output format
36
+ * const markdown = renderFragments(context, 'markdown');
37
+ * const json = renderFragments(context, 'json');
38
+ * const compact = renderFragments(context, 'compact');
39
+ * ```
40
+ */
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.extractSemanticFragments = exports.extractModuleFragments = exports.extractProjectFragments = exports.createExtractorRegistry = exports.renderCompact = exports.renderJSON = exports.renderMarkdown = exports.getAvailableFormats = exports.renderFragments = exports.createComposer = exports.composeFragments = exports.getModuleContext = exports.getContextForSymbol = exports.getPatternsAndConventions = exports.getApiEndpoints = exports.getFunctionsForFile = exports.getTypesForFile = exports.getEssentialContext = exports.queryFrom = exports.FragmentQueryBuilder = exports.createFragmentStore = exports.InMemoryFragmentStore = void 0;
43
+ // Store
44
+ var store_js_1 = require("./store.js");
45
+ Object.defineProperty(exports, "InMemoryFragmentStore", { enumerable: true, get: function () { return store_js_1.InMemoryFragmentStore; } });
46
+ Object.defineProperty(exports, "createFragmentStore", { enumerable: true, get: function () { return store_js_1.createFragmentStore; } });
47
+ // Query
48
+ var query_js_1 = require("./query.js");
49
+ Object.defineProperty(exports, "FragmentQueryBuilder", { enumerable: true, get: function () { return query_js_1.FragmentQueryBuilder; } });
50
+ Object.defineProperty(exports, "queryFrom", { enumerable: true, get: function () { return query_js_1.queryFrom; } });
51
+ Object.defineProperty(exports, "getEssentialContext", { enumerable: true, get: function () { return query_js_1.getEssentialContext; } });
52
+ Object.defineProperty(exports, "getTypesForFile", { enumerable: true, get: function () { return query_js_1.getTypesForFile; } });
53
+ Object.defineProperty(exports, "getFunctionsForFile", { enumerable: true, get: function () { return query_js_1.getFunctionsForFile; } });
54
+ Object.defineProperty(exports, "getApiEndpoints", { enumerable: true, get: function () { return query_js_1.getApiEndpoints; } });
55
+ Object.defineProperty(exports, "getPatternsAndConventions", { enumerable: true, get: function () { return query_js_1.getPatternsAndConventions; } });
56
+ Object.defineProperty(exports, "getContextForSymbol", { enumerable: true, get: function () { return query_js_1.getContextForSymbol; } });
57
+ Object.defineProperty(exports, "getModuleContext", { enumerable: true, get: function () { return query_js_1.getModuleContext; } });
58
+ // Composition
59
+ var compose_js_1 = require("./compose.js");
60
+ Object.defineProperty(exports, "composeFragments", { enumerable: true, get: function () { return compose_js_1.composeFragments; } });
61
+ Object.defineProperty(exports, "createComposer", { enumerable: true, get: function () { return compose_js_1.createComposer; } });
62
+ // Renderers
63
+ var index_js_1 = require("./render/index.js");
64
+ Object.defineProperty(exports, "renderFragments", { enumerable: true, get: function () { return index_js_1.renderFragments; } });
65
+ Object.defineProperty(exports, "getAvailableFormats", { enumerable: true, get: function () { return index_js_1.getAvailableFormats; } });
66
+ Object.defineProperty(exports, "renderMarkdown", { enumerable: true, get: function () { return index_js_1.renderMarkdown; } });
67
+ Object.defineProperty(exports, "renderJSON", { enumerable: true, get: function () { return index_js_1.renderJSON; } });
68
+ Object.defineProperty(exports, "renderCompact", { enumerable: true, get: function () { return index_js_1.renderCompact; } });
69
+ // Extractors
70
+ var index_js_2 = require("./extractors/index.js");
71
+ Object.defineProperty(exports, "createExtractorRegistry", { enumerable: true, get: function () { return index_js_2.createExtractorRegistry; } });
72
+ Object.defineProperty(exports, "extractProjectFragments", { enumerable: true, get: function () { return index_js_2.extractProjectFragments; } });
73
+ Object.defineProperty(exports, "extractModuleFragments", { enumerable: true, get: function () { return index_js_2.extractModuleFragments; } });
74
+ Object.defineProperty(exports, "extractSemanticFragments", { enumerable: true, get: function () { return index_js_2.extractSemanticFragments; } });
75
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fragments/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;;;AA0CH,QAAQ;AACR,uCAAwE;AAA/D,iHAAA,qBAAqB,OAAA;AAAE,+GAAA,mBAAmB,OAAA;AAEnD,QAAQ;AACR,uCAUoB;AATlB,gHAAA,oBAAoB,OAAA;AACpB,qGAAA,SAAS,OAAA;AACT,+GAAA,mBAAmB,OAAA;AACnB,2GAAA,eAAe,OAAA;AACf,+GAAA,mBAAmB,OAAA;AACnB,2GAAA,eAAe,OAAA;AACf,qHAAA,yBAAyB,OAAA;AACzB,+GAAA,mBAAmB,OAAA;AACnB,4GAAA,gBAAgB,OAAA;AAGlB,cAAc;AACd,2CAAgE;AAAvD,8GAAA,gBAAgB,OAAA;AAAE,4GAAA,cAAc,OAAA;AAEzC,YAAY;AACZ,8CAM2B;AALzB,2GAAA,eAAe,OAAA;AACf,+GAAA,mBAAmB,OAAA;AACnB,0GAAA,cAAc,OAAA;AACd,sGAAA,UAAU,OAAA;AACV,yGAAA,aAAa,OAAA;AAGf,aAAa;AACb,kDAK+B;AAJ7B,mHAAA,uBAAuB,OAAA;AACvB,mHAAA,uBAAuB,OAAA;AACvB,kHAAA,sBAAsB,OAAA;AACtB,oHAAA,wBAAwB,OAAA"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Query Builder - Fluent API for querying fragments
3
+ */
4
+ import type { ContextFragment, FragmentQuery, FragmentScope, FragmentStore, FragmentType } from './types.js';
5
+ /**
6
+ * Fluent query builder for fragments
7
+ */
8
+ export declare class FragmentQueryBuilder {
9
+ private store;
10
+ private queryDef;
11
+ constructor(store: FragmentStore);
12
+ /**
13
+ * Filter by fragment types
14
+ */
15
+ ofType(...types: FragmentType[]): this;
16
+ /**
17
+ * Filter by scope
18
+ */
19
+ inScope(...scopes: FragmentScope[]): this;
20
+ /**
21
+ * Include fragments with any of these tags
22
+ */
23
+ withTags(...tags: string[]): this;
24
+ /**
25
+ * Exclude fragments with any of these tags
26
+ */
27
+ withoutTags(...tags: string[]): this;
28
+ /**
29
+ * Filter by related files (partial path matching)
30
+ */
31
+ relatedToFiles(...patterns: string[]): this;
32
+ /**
33
+ * Filter by related symbols
34
+ */
35
+ relatedToSymbols(...symbols: string[]): this;
36
+ /**
37
+ * Order results by priority (highest first)
38
+ */
39
+ orderByPriority(): this;
40
+ /**
41
+ * Order results by freshness (newest first)
42
+ */
43
+ orderByFreshness(): this;
44
+ /**
45
+ * Order results by relevance
46
+ */
47
+ orderByRelevance(): this;
48
+ /**
49
+ * Limit number of results
50
+ */
51
+ limit(n: number): this;
52
+ /**
53
+ * Execute the query and return results
54
+ */
55
+ execute(): ContextFragment<unknown>[];
56
+ /**
57
+ * Execute and return first result
58
+ */
59
+ first(): ContextFragment<unknown> | undefined;
60
+ /**
61
+ * Execute and return count
62
+ */
63
+ count(): number;
64
+ /**
65
+ * Get the raw query definition
66
+ */
67
+ toQuery(): FragmentQuery;
68
+ }
69
+ /**
70
+ * Create a query builder for a store
71
+ */
72
+ export declare function queryFrom(store: FragmentStore): FragmentQueryBuilder;
73
+ /**
74
+ * Get essential project context (overview + high priority)
75
+ */
76
+ export declare function getEssentialContext(store: FragmentStore): ContextFragment<unknown>[];
77
+ /**
78
+ * Get type definitions for a file
79
+ */
80
+ export declare function getTypesForFile(store: FragmentStore, filePath: string): ContextFragment<unknown>[];
81
+ /**
82
+ * Get functions for a file
83
+ */
84
+ export declare function getFunctionsForFile(store: FragmentStore, filePath: string): ContextFragment<unknown>[];
85
+ /**
86
+ * Get all API endpoints
87
+ */
88
+ export declare function getApiEndpoints(store: FragmentStore): ContextFragment<unknown>[];
89
+ /**
90
+ * Get patterns and conventions
91
+ */
92
+ export declare function getPatternsAndConventions(store: FragmentStore): ContextFragment<unknown>[];
93
+ /**
94
+ * Get context related to a specific symbol
95
+ */
96
+ export declare function getContextForSymbol(store: FragmentStore, symbol: string): ContextFragment<unknown>[];
97
+ /**
98
+ * Get module-level context
99
+ */
100
+ export declare function getModuleContext(store: FragmentStore, modulePath: string): ContextFragment<unknown>[];
101
+ //# sourceMappingURL=query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/fragments/query.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,QAAQ,CAAqB;gBAEzB,KAAK,EAAE,aAAa;IAIhC;;OAEG;IACH,MAAM,CAAC,GAAG,KAAK,EAAE,YAAY,EAAE,GAAG,IAAI;IAKtC;;OAEG;IACH,OAAO,CAAC,GAAG,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI;IAKzC;;OAEG;IACH,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IAQjC;;OAEG;IACH,WAAW,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IAQpC;;OAEG;IACH,cAAc,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAQ3C;;OAEG;IACH,gBAAgB,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAQ5C;;OAEG;IACH,eAAe,IAAI,IAAI;IAKvB;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAKxB;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAKxB;;OAEG;IACH,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKtB;;OAEG;IACH,OAAO,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE;IAIrC;;OAEG;IACH,KAAK,IAAI,eAAe,CAAC,OAAO,CAAC,GAAG,SAAS;IAI7C;;OAEG;IACH,KAAK,IAAI,MAAM;IAIf;;OAEG;IACH,OAAO,IAAI,aAAa;CAGzB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,oBAAoB,CAEpE;AAID;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC,EAAE,CAKpF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,MAAM,GACf,eAAe,CAAC,OAAO,CAAC,EAAE,CAM5B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,MAAM,GACf,eAAe,CAAC,OAAO,CAAC,EAAE,CAM5B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC,EAAE,CAEhF;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,aAAa,GACnB,eAAe,CAAC,OAAO,CAAC,EAAE,CAK5B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,MAAM,GACb,eAAe,CAAC,OAAO,CAAC,EAAE,CAK5B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,MAAM,GACjB,eAAe,CAAC,OAAO,CAAC,EAAE,CAK5B"}
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ /**
3
+ * Query Builder - Fluent API for querying fragments
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.FragmentQueryBuilder = void 0;
7
+ exports.queryFrom = queryFrom;
8
+ exports.getEssentialContext = getEssentialContext;
9
+ exports.getTypesForFile = getTypesForFile;
10
+ exports.getFunctionsForFile = getFunctionsForFile;
11
+ exports.getApiEndpoints = getApiEndpoints;
12
+ exports.getPatternsAndConventions = getPatternsAndConventions;
13
+ exports.getContextForSymbol = getContextForSymbol;
14
+ exports.getModuleContext = getModuleContext;
15
+ /**
16
+ * Fluent query builder for fragments
17
+ */
18
+ class FragmentQueryBuilder {
19
+ constructor(store) {
20
+ this.queryDef = {};
21
+ this.store = store;
22
+ }
23
+ /**
24
+ * Filter by fragment types
25
+ */
26
+ ofType(...types) {
27
+ this.queryDef.types = types;
28
+ return this;
29
+ }
30
+ /**
31
+ * Filter by scope
32
+ */
33
+ inScope(...scopes) {
34
+ this.queryDef.scope = scopes;
35
+ return this;
36
+ }
37
+ /**
38
+ * Include fragments with any of these tags
39
+ */
40
+ withTags(...tags) {
41
+ this.queryDef.tags = {
42
+ ...this.queryDef.tags,
43
+ include: tags,
44
+ };
45
+ return this;
46
+ }
47
+ /**
48
+ * Exclude fragments with any of these tags
49
+ */
50
+ withoutTags(...tags) {
51
+ this.queryDef.tags = {
52
+ ...this.queryDef.tags,
53
+ exclude: tags,
54
+ };
55
+ return this;
56
+ }
57
+ /**
58
+ * Filter by related files (partial path matching)
59
+ */
60
+ relatedToFiles(...patterns) {
61
+ this.queryDef.relatedTo = {
62
+ ...this.queryDef.relatedTo,
63
+ files: patterns,
64
+ };
65
+ return this;
66
+ }
67
+ /**
68
+ * Filter by related symbols
69
+ */
70
+ relatedToSymbols(...symbols) {
71
+ this.queryDef.relatedTo = {
72
+ ...this.queryDef.relatedTo,
73
+ symbols: symbols,
74
+ };
75
+ return this;
76
+ }
77
+ /**
78
+ * Order results by priority (highest first)
79
+ */
80
+ orderByPriority() {
81
+ this.queryDef.orderBy = 'priority';
82
+ return this;
83
+ }
84
+ /**
85
+ * Order results by freshness (newest first)
86
+ */
87
+ orderByFreshness() {
88
+ this.queryDef.orderBy = 'freshness';
89
+ return this;
90
+ }
91
+ /**
92
+ * Order results by relevance
93
+ */
94
+ orderByRelevance() {
95
+ this.queryDef.orderBy = 'relevance';
96
+ return this;
97
+ }
98
+ /**
99
+ * Limit number of results
100
+ */
101
+ limit(n) {
102
+ this.queryDef.limit = n;
103
+ return this;
104
+ }
105
+ /**
106
+ * Execute the query and return results
107
+ */
108
+ execute() {
109
+ return this.store.query(this.queryDef);
110
+ }
111
+ /**
112
+ * Execute and return first result
113
+ */
114
+ first() {
115
+ return this.limit(1).execute()[0];
116
+ }
117
+ /**
118
+ * Execute and return count
119
+ */
120
+ count() {
121
+ return this.execute().length;
122
+ }
123
+ /**
124
+ * Get the raw query definition
125
+ */
126
+ toQuery() {
127
+ return { ...this.queryDef };
128
+ }
129
+ }
130
+ exports.FragmentQueryBuilder = FragmentQueryBuilder;
131
+ /**
132
+ * Create a query builder for a store
133
+ */
134
+ function queryFrom(store) {
135
+ return new FragmentQueryBuilder(store);
136
+ }
137
+ // Predefined query helpers
138
+ /**
139
+ * Get essential project context (overview + high priority)
140
+ */
141
+ function getEssentialContext(store) {
142
+ return queryFrom(store)
143
+ .ofType('project-overview', 'module', 'config')
144
+ .orderByPriority()
145
+ .execute();
146
+ }
147
+ /**
148
+ * Get type definitions for a file
149
+ */
150
+ function getTypesForFile(store, filePath) {
151
+ return queryFrom(store)
152
+ .ofType('type-definition')
153
+ .relatedToFiles(filePath)
154
+ .orderByPriority()
155
+ .execute();
156
+ }
157
+ /**
158
+ * Get functions for a file
159
+ */
160
+ function getFunctionsForFile(store, filePath) {
161
+ return queryFrom(store)
162
+ .ofType('function')
163
+ .relatedToFiles(filePath)
164
+ .orderByPriority()
165
+ .execute();
166
+ }
167
+ /**
168
+ * Get all API endpoints
169
+ */
170
+ function getApiEndpoints(store) {
171
+ return queryFrom(store).ofType('api-endpoint').orderByPriority().execute();
172
+ }
173
+ /**
174
+ * Get patterns and conventions
175
+ */
176
+ function getPatternsAndConventions(store) {
177
+ return queryFrom(store)
178
+ .ofType('pattern', 'convention')
179
+ .orderByPriority()
180
+ .execute();
181
+ }
182
+ /**
183
+ * Get context related to a specific symbol
184
+ */
185
+ function getContextForSymbol(store, symbol) {
186
+ return queryFrom(store)
187
+ .relatedToSymbols(symbol)
188
+ .orderByPriority()
189
+ .execute();
190
+ }
191
+ /**
192
+ * Get module-level context
193
+ */
194
+ function getModuleContext(store, modulePath) {
195
+ return queryFrom(store)
196
+ .relatedToFiles(modulePath)
197
+ .orderByPriority()
198
+ .execute();
199
+ }
200
+ //# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/fragments/query.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAiJH,8BAEC;AAOD,kDAKC;AAKD,0CASC;AAKD,kDASC;AAKD,0CAEC;AAKD,8DAOC;AAKD,kDAQC;AAKD,4CAQC;AA9ND;;GAEG;AACH,MAAa,oBAAoB;IAI/B,YAAY,KAAoB;QAFxB,aAAQ,GAAkB,EAAE,CAAC;QAGnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,GAAG,KAAqB;QAC7B,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,GAAG,MAAuB;QAChC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,GAAG,IAAc;QACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG;YACnB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI;YACrB,OAAO,EAAE,IAAI;SACd,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,GAAG,IAAc;QAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG;YACnB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI;YACrB,OAAO,EAAE,IAAI;SACd,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,GAAG,QAAkB;QAClC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG;YACxB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS;YAC1B,KAAK,EAAE,QAAQ;SAChB,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,GAAG,OAAiB;QACnC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG;YACxB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS;YAC1B,OAAO,EAAE,OAAO;SACjB,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,eAAe;QACb,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,WAAW,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,WAAW,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,CAAS;QACb,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK;QACH,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;CACF;AA/HD,oDA+HC;AAED;;GAEG;AACH,SAAgB,SAAS,CAAC,KAAoB;IAC5C,OAAO,IAAI,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC;AAED,2BAA2B;AAE3B;;GAEG;AACH,SAAgB,mBAAmB,CAAC,KAAoB;IACtD,OAAO,SAAS,CAAC,KAAK,CAAC;SACpB,MAAM,CAAC,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,CAAC;SAC9C,eAAe,EAAE;SACjB,OAAO,EAAE,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAC7B,KAAoB,EACpB,QAAgB;IAEhB,OAAO,SAAS,CAAC,KAAK,CAAC;SACpB,MAAM,CAAC,iBAAiB,CAAC;SACzB,cAAc,CAAC,QAAQ,CAAC;SACxB,eAAe,EAAE;SACjB,OAAO,EAAE,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CACjC,KAAoB,EACpB,QAAgB;IAEhB,OAAO,SAAS,CAAC,KAAK,CAAC;SACpB,MAAM,CAAC,UAAU,CAAC;SAClB,cAAc,CAAC,QAAQ,CAAC;SACxB,eAAe,EAAE;SACjB,OAAO,EAAE,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,KAAoB;IAClD,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,CAAC;AAC7E,CAAC;AAED;;GAEG;AACH,SAAgB,yBAAyB,CACvC,KAAoB;IAEpB,OAAO,SAAS,CAAC,KAAK,CAAC;SACpB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC;SAC/B,eAAe,EAAE;SACjB,OAAO,EAAE,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CACjC,KAAoB,EACpB,MAAc;IAEd,OAAO,SAAS,CAAC,KAAK,CAAC;SACpB,gBAAgB,CAAC,MAAM,CAAC;SACxB,eAAe,EAAE;SACjB,OAAO,EAAE,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAC9B,KAAoB,EACpB,UAAkB;IAElB,OAAO,SAAS,CAAC,KAAK,CAAC;SACpB,cAAc,CAAC,UAAU,CAAC;SAC1B,eAAe,EAAE;SACjB,OAAO,EAAE,CAAC;AACf,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Compact Renderer - Token-efficient output for AI consumption
3
+ *
4
+ * Uses abbreviated format to maximize information density while
5
+ * remaining parseable by AI systems.
6
+ */
7
+ import type { ContextFragment, RenderOptions } from '../types.js';
8
+ /**
9
+ * Render fragments in compact format
10
+ *
11
+ * Format:
12
+ * [TYPE:name] summary | key:value | key:value
13
+ */
14
+ export declare function renderCompact(fragments: ContextFragment<unknown>[], options?: Partial<RenderOptions>): string;
15
+ //# sourceMappingURL=compact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compact.d.ts","sourceRoot":"","sources":["../../../src/fragments/render/compact.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAElE;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,EACrC,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAC/B,MAAM,CAqBR"}
@@ -0,0 +1,209 @@
1
+ "use strict";
2
+ /**
3
+ * Compact Renderer - Token-efficient output for AI consumption
4
+ *
5
+ * Uses abbreviated format to maximize information density while
6
+ * remaining parseable by AI systems.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.renderCompact = renderCompact;
10
+ /**
11
+ * Render fragments in compact format
12
+ *
13
+ * Format:
14
+ * [TYPE:name] summary | key:value | key:value
15
+ */
16
+ function renderCompact(fragments, options) {
17
+ const lines = [];
18
+ // Header
19
+ lines.push(`# Context (${fragments.length} fragments)`);
20
+ lines.push('');
21
+ // Group by type for organization
22
+ const grouped = groupByType(fragments);
23
+ for (const [type, typeFragments] of grouped) {
24
+ lines.push(`## ${abbreviateType(type)}`);
25
+ for (const fragment of typeFragments) {
26
+ lines.push(renderCompactFragment(fragment));
27
+ }
28
+ lines.push('');
29
+ }
30
+ return lines.join('\n');
31
+ }
32
+ function groupByType(fragments) {
33
+ const grouped = new Map();
34
+ for (const fragment of fragments) {
35
+ const existing = grouped.get(fragment.type) || [];
36
+ existing.push(fragment);
37
+ grouped.set(fragment.type, existing);
38
+ }
39
+ return grouped;
40
+ }
41
+ function renderCompactFragment(fragment) {
42
+ const parts = [];
43
+ // [TYPE:name]
44
+ const name = extractName(fragment);
45
+ parts.push(`[${abbreviateType(fragment.type)}:${name}]`);
46
+ // Core data based on type
47
+ parts.push(extractCoreData(fragment));
48
+ // Priority if high
49
+ if (fragment.meta.priority >= 8) {
50
+ parts.push(`P${fragment.meta.priority}`);
51
+ }
52
+ // Key files (abbreviated)
53
+ if (fragment.refs.files.length > 0) {
54
+ const mainFile = abbreviatePath(fragment.refs.files[0]);
55
+ parts.push(`@${mainFile}`);
56
+ }
57
+ return parts.filter(Boolean).join(' | ');
58
+ }
59
+ function extractName(fragment) {
60
+ const data = fragment.data;
61
+ if (data && typeof data === 'object') {
62
+ if ('name' in data && typeof data.name === 'string') {
63
+ return data.name;
64
+ }
65
+ if ('path' in data && typeof data.path === 'string') {
66
+ return abbreviatePath(data.path);
67
+ }
68
+ }
69
+ return fragment.id.slice(0, 20);
70
+ }
71
+ function extractCoreData(fragment) {
72
+ const data = fragment.data;
73
+ switch (fragment.type) {
74
+ case 'project-overview':
75
+ return compactProject(data);
76
+ case 'module':
77
+ return compactModule(data);
78
+ case 'type-definition':
79
+ return compactType(data);
80
+ case 'function':
81
+ return compactFunction(data);
82
+ case 'config':
83
+ return compactConfig(data);
84
+ case 'command':
85
+ return compactCommand(data);
86
+ case 'pattern':
87
+ return compactPattern(data);
88
+ case 'file-summary':
89
+ return compactFile(data);
90
+ default:
91
+ return fragment.summary || '';
92
+ }
93
+ }
94
+ function compactProject(data) {
95
+ const parts = [];
96
+ if (Array.isArray(data.languages)) {
97
+ parts.push(`lang:${data.languages.join(',')}`);
98
+ }
99
+ if (data.packageManager) {
100
+ parts.push(`pm:${data.packageManager}`);
101
+ }
102
+ if (Array.isArray(data.entryPoints) && data.entryPoints.length > 0) {
103
+ parts.push(`entry:${abbreviatePath(data.entryPoints[0])}`);
104
+ }
105
+ return parts.join(' ');
106
+ }
107
+ function compactModule(data) {
108
+ const parts = [];
109
+ if (Array.isArray(data.exports)) {
110
+ parts.push(`exp:${data.exports.length}`);
111
+ }
112
+ if (Array.isArray(data.dependencies)) {
113
+ parts.push(`dep:${data.dependencies.length}`);
114
+ }
115
+ if (data.description) {
116
+ parts.push(truncate(data.description, 30));
117
+ }
118
+ return parts.join(' ');
119
+ }
120
+ function compactType(data) {
121
+ const parts = [];
122
+ parts.push(`${data.kind}`);
123
+ if (Array.isArray(data.properties)) {
124
+ parts.push(`props:${data.properties.length}`);
125
+ }
126
+ if (Array.isArray(data.methods)) {
127
+ parts.push(`methods:${data.methods.length}`);
128
+ }
129
+ if (Array.isArray(data.extends) && data.extends.length > 0) {
130
+ parts.push(`<${data.extends[0]}`);
131
+ }
132
+ return parts.join(' ');
133
+ }
134
+ function compactFunction(data) {
135
+ const parts = [];
136
+ if (data.async)
137
+ parts.push('async');
138
+ if (data.exported)
139
+ parts.push('exp');
140
+ // Signature (abbreviated)
141
+ if (data.signature) {
142
+ const sig = data.signature
143
+ .replace(/function\s+/, '')
144
+ .replace(/\s+/g, '');
145
+ parts.push(truncate(sig, 40));
146
+ }
147
+ return parts.join(' ');
148
+ }
149
+ function compactConfig(data) {
150
+ return `${data.format} ${truncate(data.purpose || '', 30)}`;
151
+ }
152
+ function compactCommand(data) {
153
+ return truncate(data.command, 50);
154
+ }
155
+ function compactPattern(data) {
156
+ const parts = [];
157
+ parts.push(truncate(data.description, 40));
158
+ if (Array.isArray(data.locations)) {
159
+ parts.push(`(${data.locations.length} locs)`);
160
+ }
161
+ return parts.join(' ');
162
+ }
163
+ function compactFile(data) {
164
+ const parts = [];
165
+ parts.push(data.language);
166
+ if (Array.isArray(data.exports) && data.exports.length > 0) {
167
+ parts.push(`exp:${data.exports.slice(0, 3).join(',')}`);
168
+ }
169
+ if (data.purpose) {
170
+ parts.push(truncate(data.purpose, 30));
171
+ }
172
+ return parts.join(' ');
173
+ }
174
+ function abbreviateType(type) {
175
+ const abbrevs = {
176
+ 'project-overview': 'PROJ',
177
+ module: 'MOD',
178
+ 'file-summary': 'FILE',
179
+ 'type-definition': 'TYPE',
180
+ function: 'FUNC',
181
+ 'api-endpoint': 'API',
182
+ component: 'COMP',
183
+ 'dependency-graph': 'DEPS',
184
+ 'data-flow': 'FLOW',
185
+ 'call-graph': 'CALL',
186
+ pattern: 'PAT',
187
+ convention: 'CONV',
188
+ example: 'EX',
189
+ config: 'CFG',
190
+ environment: 'ENV',
191
+ command: 'CMD',
192
+ };
193
+ return abbrevs[type] || type.toUpperCase().slice(0, 4);
194
+ }
195
+ function abbreviatePath(filePath) {
196
+ // Remove common prefixes and truncate
197
+ return filePath
198
+ .replace(/^src\//, '')
199
+ .replace(/^lib\//, '')
200
+ .replace(/\.ts$/, '')
201
+ .replace(/\.js$/, '')
202
+ .replace(/\/index$/, '/');
203
+ }
204
+ function truncate(str, maxLen) {
205
+ if (str.length <= maxLen)
206
+ return str;
207
+ return str.slice(0, maxLen - 3) + '...';
208
+ }
209
+ //# sourceMappingURL=compact.js.map