@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 @@
1
+ {"version":3,"file":"markdownReferenceHandler.d.ts","sourceRoot":"","sources":["../../../src/services/sync/markdownReferenceHandler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE5E,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,aAAa,EAAE,EAC3B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,aAAa,CAAC,CA2CxB"}
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.createMarkdownReferences = createMarkdownReferences;
37
+ const path = __importStar(require("path"));
38
+ const fs = __importStar(require("fs-extra"));
39
+ async function createMarkdownReferences(agentFiles, targetPath, sourcePath, options) {
40
+ const result = {
41
+ filesCreated: 0,
42
+ filesSkipped: 0,
43
+ filesFailed: 0,
44
+ errors: []
45
+ };
46
+ for (const agent of agentFiles) {
47
+ const refPath = path.join(targetPath, agent.filename);
48
+ try {
49
+ const exists = await fs.pathExists(refPath);
50
+ if (exists && !options.force) {
51
+ result.filesSkipped++;
52
+ if (options.verbose) {
53
+ console.log(` Skipped (exists): ${refPath}`);
54
+ }
55
+ continue;
56
+ }
57
+ if (!options.dryRun) {
58
+ const relativePath = path.relative(targetPath, agent.sourcePath);
59
+ const content = generateReferenceMarkdown(agent, relativePath, sourcePath);
60
+ await fs.writeFile(refPath, content);
61
+ }
62
+ result.filesCreated++;
63
+ if (options.verbose) {
64
+ console.log(` Created: ${refPath}`);
65
+ }
66
+ }
67
+ catch (error) {
68
+ result.filesFailed++;
69
+ result.errors.push({
70
+ file: agent.filename,
71
+ error: error instanceof Error ? error.message : String(error)
72
+ });
73
+ }
74
+ }
75
+ return result;
76
+ }
77
+ function generateReferenceMarkdown(agent, relativePath, sourcePath) {
78
+ const title = formatAgentTitle(agent.name);
79
+ const timestamp = new Date().toISOString();
80
+ return `# ${title} Agent
81
+
82
+ > **Source**: [${agent.filename}](${relativePath})
83
+ >
84
+ > This is a reference file. The canonical agent definition is maintained in \`.context/agents/\`.
85
+
86
+ ---
87
+
88
+ <!--
89
+ AUTO-GENERATED REFERENCE FILE
90
+
91
+ This file references the canonical agent playbook at:
92
+ ${sourcePath}/${agent.filename}
93
+
94
+ To update the agent, edit the source file directly.
95
+ Re-run 'ai-context sync-agents' to regenerate this reference.
96
+
97
+ Generated: ${timestamp}
98
+ -->
99
+
100
+ ## Quick Reference
101
+
102
+ - **Agent Type**: ${agent.name}
103
+ - **Source Location**: \`${sourcePath}/${agent.filename}\`
104
+ - **Reference Path**: \`${relativePath}\`
105
+
106
+ ## Usage
107
+
108
+ This agent playbook can be accessed via the source file linked above.
109
+ The source file contains the full agent definition including:
110
+
111
+ - Mission and responsibilities
112
+ - Best practices
113
+ - Key project resources
114
+ - Repository starting points
115
+ - Documentation touchpoints
116
+ - Collaboration checklist
117
+
118
+ ## See Also
119
+
120
+ - [Full Agent Playbook](${relativePath})
121
+
122
+ ---
123
+ *Generated by AI Coders Context*
124
+ *Last synced: ${timestamp}*
125
+ `;
126
+ }
127
+ function formatAgentTitle(name) {
128
+ return name
129
+ .split('-')
130
+ .map(word => word.charAt(0).toUpperCase() + word.slice(1))
131
+ .join(' ');
132
+ }
133
+ //# sourceMappingURL=markdownReferenceHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdownReferenceHandler.js","sourceRoot":"","sources":["../../../src/services/sync/markdownReferenceHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,4DAgDC;AApDD,2CAA6B;AAC7B,6CAA+B;AAGxB,KAAK,UAAU,wBAAwB,CAC5C,UAA2B,EAC3B,UAAkB,EAClB,UAAkB,EAClB,OAAuB;IAEvB,MAAM,MAAM,GAAkB;QAC5B,YAAY,EAAE,CAAC;QACf,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,CAAC;QACd,MAAM,EAAE,EAAE;KACX,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEtD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAE5C,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC7B,MAAM,CAAC,YAAY,EAAE,CAAC;gBACtB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,OAAO,CAAC,GAAG,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;gBAChD,CAAC;gBACD,SAAS;YACX,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACpB,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;gBACjE,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;gBAC3E,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACvC,CAAC;YAED,MAAM,CAAC,YAAY,EAAE,CAAC;YAEtB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,KAAK,CAAC,QAAQ;gBACpB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,yBAAyB,CAChC,KAAoB,EACpB,YAAoB,EACpB,UAAkB;IAElB,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE3C,OAAO,KAAK,KAAK;;iBAEF,KAAK,CAAC,QAAQ,KAAK,YAAY;;;;;;;;;;IAU5C,UAAU,IAAI,KAAK,CAAC,QAAQ;;;;;eAKjB,SAAS;;;;;oBAKJ,KAAK,CAAC,IAAI;2BACH,UAAU,IAAI,KAAK,CAAC,QAAQ;0BAC7B,YAAY;;;;;;;;;;;;;;;;0BAgBZ,YAAY;;;;gBAItB,SAAS;CACxB,CAAC;AACF,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,IAAI;SACR,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACzD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { TargetPreset, PresetName } from './types';
2
+ export declare const TARGET_PRESETS: Record<Exclude<PresetName, 'all'>, TargetPreset>;
3
+ export declare function resolvePresets(presetName: PresetName): TargetPreset[];
4
+ export declare function getPresetByPath(targetPath: string): TargetPreset | undefined;
5
+ export declare function getAllPresetNames(): PresetName[];
6
+ //# sourceMappingURL=presets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../../src/services/sync/presets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAExD,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,YAAY,CAgB3E,CAAC;AAEF,wBAAgB,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,YAAY,EAAE,CAOrE;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAa5E;AAED,wBAAgB,iBAAiB,IAAI,UAAU,EAAE,CAEhD"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TARGET_PRESETS = void 0;
7
+ exports.resolvePresets = resolvePresets;
8
+ exports.getPresetByPath = getPresetByPath;
9
+ exports.getAllPresetNames = getAllPresetNames;
10
+ const node_path_1 = __importDefault(require("node:path"));
11
+ exports.TARGET_PRESETS = {
12
+ claude: {
13
+ name: 'claude',
14
+ path: '.claude/agents',
15
+ description: 'Claude Code agents directory'
16
+ },
17
+ github: {
18
+ name: 'github',
19
+ path: '.github/agents',
20
+ description: 'GitHub Copilot agents directory'
21
+ },
22
+ cursor: {
23
+ name: 'cursor',
24
+ path: '.cursor/agents',
25
+ description: 'Cursor AI agents directory'
26
+ }
27
+ };
28
+ function resolvePresets(presetName) {
29
+ if (presetName === 'all') {
30
+ return Object.values(exports.TARGET_PRESETS);
31
+ }
32
+ const preset = exports.TARGET_PRESETS[presetName];
33
+ return preset ? [preset] : [];
34
+ }
35
+ function getPresetByPath(targetPath) {
36
+ const normalizedTarget = node_path_1.default.normalize(node_path_1.default.resolve(targetPath));
37
+ for (const preset of Object.values(exports.TARGET_PRESETS)) {
38
+ const normalizedPreset = node_path_1.default.normalize(node_path_1.default.resolve(preset.path));
39
+ if (normalizedTarget === normalizedPreset ||
40
+ normalizedTarget.startsWith(normalizedPreset + node_path_1.default.sep)) {
41
+ return preset;
42
+ }
43
+ }
44
+ return undefined;
45
+ }
46
+ function getAllPresetNames() {
47
+ return ['claude', 'github', 'cursor', 'all'];
48
+ }
49
+ //# sourceMappingURL=presets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../../src/services/sync/presets.ts"],"names":[],"mappings":";;;;;;AAqBA,wCAOC;AAED,0CAaC;AAED,8CAEC;AA/CD,0DAA6B;AAGhB,QAAA,cAAc,GAAqD;IAC9E,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,8BAA8B;KAC5C;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,iCAAiC;KAC/C;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,4BAA4B;KAC1C;CACF,CAAC;AAEF,SAAgB,cAAc,CAAC,UAAsB;IACnD,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC,MAAM,CAAC,sBAAc,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,MAAM,GAAG,sBAAc,CAAC,UAAU,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAChC,CAAC;AAED,SAAgB,eAAe,CAAC,UAAkB;IAChD,MAAM,gBAAgB,GAAG,mBAAI,CAAC,SAAS,CAAC,mBAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAElE,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,sBAAc,CAAC,EAAE,CAAC;QACnD,MAAM,gBAAgB,GAAG,mBAAI,CAAC,SAAS,CAAC,mBAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnE,IAAI,gBAAgB,KAAK,gBAAgB;YACrC,gBAAgB,CAAC,UAAU,CAAC,gBAAgB,GAAG,mBAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7D,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAgB,iBAAiB;IAC/B,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC/C,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { AgentFileInfo, HandlerOptions, HandlerResult } from './types';
2
+ export declare function createSymlinks(agentFiles: AgentFileInfo[], targetPath: string, sourcePath: string, options: HandlerOptions): Promise<HandlerResult>;
3
+ export declare function checkSymlinkSupport(): Promise<{
4
+ supported: boolean;
5
+ message?: string;
6
+ }>;
7
+ //# sourceMappingURL=symlinkHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symlinkHandler.d.ts","sourceRoot":"","sources":["../../../src/services/sync/symlinkHandler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE5E,wBAAsB,cAAc,CAClC,UAAU,EAAE,aAAa,EAAE,EAC3B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,aAAa,CAAC,CAgDxB;AAyBD,wBAAsB,mBAAmB,IAAI,OAAO,CAAC;IACnD,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC,CA+BD"}
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.createSymlinks = createSymlinks;
37
+ exports.checkSymlinkSupport = checkSymlinkSupport;
38
+ const path = __importStar(require("path"));
39
+ const fs = __importStar(require("fs-extra"));
40
+ async function createSymlinks(agentFiles, targetPath, sourcePath, options) {
41
+ const result = {
42
+ filesCreated: 0,
43
+ filesSkipped: 0,
44
+ filesFailed: 0,
45
+ errors: []
46
+ };
47
+ for (const agent of agentFiles) {
48
+ const linkPath = path.join(targetPath, agent.filename);
49
+ try {
50
+ const exists = await fs.pathExists(linkPath);
51
+ if (exists && !options.force) {
52
+ result.filesSkipped++;
53
+ if (options.verbose) {
54
+ console.log(` Skipped (exists): ${linkPath}`);
55
+ }
56
+ continue;
57
+ }
58
+ if (exists && options.force) {
59
+ if (!options.dryRun) {
60
+ await fs.remove(linkPath);
61
+ }
62
+ }
63
+ if (!options.dryRun) {
64
+ const relativePath = path.relative(targetPath, agent.sourcePath);
65
+ await createPlatformSymlink(relativePath, linkPath, agent.sourcePath);
66
+ }
67
+ result.filesCreated++;
68
+ if (options.verbose) {
69
+ console.log(` Created: ${linkPath} -> ${agent.sourcePath}`);
70
+ }
71
+ }
72
+ catch (error) {
73
+ result.filesFailed++;
74
+ result.errors.push({
75
+ file: agent.filename,
76
+ error: error instanceof Error ? error.message : String(error)
77
+ });
78
+ }
79
+ }
80
+ return result;
81
+ }
82
+ async function createPlatformSymlink(target, linkPath, absoluteTarget) {
83
+ const isWindows = process.platform === 'win32';
84
+ if (isWindows) {
85
+ try {
86
+ await fs.symlink(target, linkPath, 'file');
87
+ }
88
+ catch (windowsError) {
89
+ const err = windowsError;
90
+ if (err.code === 'EPERM' || err.code === 'ENOTSUP') {
91
+ await fs.copy(absoluteTarget, linkPath);
92
+ }
93
+ else {
94
+ throw windowsError;
95
+ }
96
+ }
97
+ }
98
+ else {
99
+ await fs.symlink(target, linkPath);
100
+ }
101
+ }
102
+ async function checkSymlinkSupport() {
103
+ const isWindows = process.platform === 'win32';
104
+ if (!isWindows) {
105
+ return { supported: true };
106
+ }
107
+ const testDir = path.join(process.cwd(), '.symlink-test');
108
+ const testLink = path.join(testDir, 'test-link');
109
+ const testTarget = path.join(testDir, 'test-target');
110
+ try {
111
+ await fs.ensureDir(testDir);
112
+ await fs.writeFile(testTarget, 'test');
113
+ await fs.symlink(testTarget, testLink, 'file');
114
+ await fs.remove(testDir);
115
+ return { supported: true };
116
+ }
117
+ catch (error) {
118
+ await fs.remove(testDir).catch(() => { });
119
+ const err = error;
120
+ if (err.code === 'EPERM') {
121
+ return {
122
+ supported: false,
123
+ message: 'Symlinks require Developer Mode or Administrator privileges on Windows. Consider using --mode markdown instead.'
124
+ };
125
+ }
126
+ return { supported: true };
127
+ }
128
+ }
129
+ //# sourceMappingURL=symlinkHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symlinkHandler.js","sourceRoot":"","sources":["../../../src/services/sync/symlinkHandler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { SyncCommandFlags, SyncServiceDependencies } from './types';
2
+ export declare class SyncService {
3
+ private readonly ui;
4
+ private readonly t;
5
+ private readonly version;
6
+ constructor(dependencies: SyncServiceDependencies);
7
+ run(rawOptions: SyncCommandFlags): Promise<void>;
8
+ private resolveOptions;
9
+ private validateSource;
10
+ private discoverAgentFiles;
11
+ private syncToTarget;
12
+ private displayConfig;
13
+ private displaySummary;
14
+ }
15
+ //# sourceMappingURL=syncService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syncService.d.ts","sourceRoot":"","sources":["../../../src/services/sync/syncService.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,gBAAgB,EAChB,uBAAuB,EAKxB,MAAM,SAAS,CAAC;AAKjB,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAe;IAClC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAc;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,YAAY,EAAE,uBAAuB;IAM3C,GAAG,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;YA6CxC,cAAc;YA+Bd,cAAc;YAYd,kBAAkB;YAyBlB,YAAY;IA2D1B,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,cAAc;CAqCvB"}
@@ -0,0 +1,222 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.SyncService = void 0;
37
+ const path = __importStar(require("path"));
38
+ const fs = __importStar(require("fs-extra"));
39
+ const theme_1 = require("../../utils/theme");
40
+ const presets_1 = require("./presets");
41
+ const symlinkHandler_1 = require("./symlinkHandler");
42
+ const markdownReferenceHandler_1 = require("./markdownReferenceHandler");
43
+ class SyncService {
44
+ constructor(dependencies) {
45
+ this.ui = dependencies.ui;
46
+ this.t = dependencies.t;
47
+ this.version = dependencies.version;
48
+ }
49
+ async run(rawOptions) {
50
+ const options = await this.resolveOptions(rawOptions);
51
+ await this.validateSource(options.sourcePath);
52
+ this.ui.displayWelcome(this.version);
53
+ this.displayConfig(options);
54
+ const agentFiles = await this.discoverAgentFiles(options.sourcePath);
55
+ if (agentFiles.length === 0) {
56
+ this.ui.displayWarning(this.t('warnings.sync.noAgentsFound'));
57
+ return;
58
+ }
59
+ this.ui.displayInfo(this.t('info.sync.foundAgents'), this.t('info.sync.foundAgentsDetail', { count: agentFiles.length }));
60
+ const results = [];
61
+ let step = 1;
62
+ const totalSteps = options.targetPaths.length + 1;
63
+ for (const targetPath of options.targetPaths) {
64
+ this.ui.displayStep(step, totalSteps, this.t('steps.sync.processingTarget', { path: targetPath }));
65
+ const result = await this.syncToTarget(agentFiles, targetPath, options);
66
+ results.push(result);
67
+ step++;
68
+ }
69
+ this.ui.displayStep(totalSteps, totalSteps, this.t('steps.sync.summary'));
70
+ this.displaySummary(results, options.dryRun);
71
+ if (!options.dryRun) {
72
+ this.ui.displaySuccess(this.t('success.sync.completed'));
73
+ }
74
+ }
75
+ async resolveOptions(rawOptions) {
76
+ const sourcePath = path.resolve(rawOptions.source || './.context/agents');
77
+ let targetPaths = [];
78
+ if (rawOptions.preset) {
79
+ const presets = (0, presets_1.resolvePresets)(rawOptions.preset);
80
+ targetPaths = presets.map(p => path.resolve(p.path));
81
+ }
82
+ if (rawOptions.target && rawOptions.target.length > 0) {
83
+ const customTargets = rawOptions.target.map(t => path.resolve(t));
84
+ targetPaths = [...new Set([...targetPaths, ...customTargets])];
85
+ }
86
+ if (targetPaths.length === 0) {
87
+ throw new Error(this.t('errors.sync.noTargetsSpecified'));
88
+ }
89
+ const mode = rawOptions.mode || 'symlink';
90
+ return {
91
+ sourcePath,
92
+ targetPaths,
93
+ mode,
94
+ force: Boolean(rawOptions.force),
95
+ dryRun: Boolean(rawOptions.dryRun),
96
+ verbose: Boolean(rawOptions.verbose)
97
+ };
98
+ }
99
+ async validateSource(sourcePath) {
100
+ const exists = await fs.pathExists(sourcePath);
101
+ if (!exists) {
102
+ throw new Error(this.t('errors.sync.sourceMissing', { path: sourcePath }));
103
+ }
104
+ const stat = await fs.stat(sourcePath);
105
+ if (!stat.isDirectory()) {
106
+ throw new Error(this.t('errors.sync.sourceNotDirectory', { path: sourcePath }));
107
+ }
108
+ }
109
+ async discoverAgentFiles(sourcePath) {
110
+ const files = await fs.readdir(sourcePath);
111
+ const agentFiles = [];
112
+ for (const filename of files) {
113
+ if (!filename.endsWith('.md'))
114
+ continue;
115
+ const fullPath = path.join(sourcePath, filename);
116
+ const stat = await fs.stat(fullPath);
117
+ if (!stat.isFile())
118
+ continue;
119
+ const name = filename.replace('.md', '');
120
+ agentFiles.push({
121
+ name,
122
+ sourcePath: fullPath,
123
+ relativePath: filename,
124
+ filename
125
+ });
126
+ }
127
+ return agentFiles.sort((a, b) => a.name.localeCompare(b.name));
128
+ }
129
+ async syncToTarget(agentFiles, targetPath, options) {
130
+ const result = {
131
+ targetPath,
132
+ filesCreated: 0,
133
+ filesSkipped: 0,
134
+ filesFailed: 0,
135
+ errors: []
136
+ };
137
+ if (!options.dryRun) {
138
+ await fs.ensureDir(targetPath);
139
+ }
140
+ this.ui.startSpinner(this.t('spinner.sync.processing', { path: targetPath }));
141
+ try {
142
+ const handlerResult = options.mode === 'symlink'
143
+ ? await (0, symlinkHandler_1.createSymlinks)(agentFiles, targetPath, options.sourcePath, {
144
+ force: options.force,
145
+ dryRun: options.dryRun,
146
+ verbose: options.verbose
147
+ })
148
+ : await (0, markdownReferenceHandler_1.createMarkdownReferences)(agentFiles, targetPath, options.sourcePath, {
149
+ force: options.force,
150
+ dryRun: options.dryRun,
151
+ verbose: options.verbose
152
+ });
153
+ result.filesCreated = handlerResult.filesCreated;
154
+ result.filesSkipped = handlerResult.filesSkipped;
155
+ result.filesFailed = handlerResult.filesFailed;
156
+ result.errors = handlerResult.errors;
157
+ this.ui.updateSpinner(this.t('spinner.sync.complete', {
158
+ path: targetPath,
159
+ count: result.filesCreated
160
+ }), 'success');
161
+ }
162
+ catch (error) {
163
+ this.ui.updateSpinner(this.t('spinner.sync.failed', { path: targetPath }), 'fail');
164
+ result.filesFailed = agentFiles.length;
165
+ result.errors.push({
166
+ file: targetPath,
167
+ error: error instanceof Error ? error.message : String(error)
168
+ });
169
+ }
170
+ finally {
171
+ this.ui.stopSpinner();
172
+ }
173
+ return result;
174
+ }
175
+ displayConfig(options) {
176
+ console.log('');
177
+ console.log(theme_1.typography.header('Sync Configuration'));
178
+ console.log('');
179
+ console.log(theme_1.typography.labeledValue('Source', options.sourcePath));
180
+ console.log(theme_1.typography.labeledValue('Mode', options.mode));
181
+ console.log(` ${theme_1.colors.secondary('Targets')}`);
182
+ options.targetPaths.forEach(t => {
183
+ console.log(` ${theme_1.colors.secondaryDim(theme_1.symbols.pointer)} ${theme_1.colors.primary(t)}`);
184
+ });
185
+ if (options.dryRun) {
186
+ console.log('');
187
+ console.log(theme_1.typography.warning('DRY RUN - No changes will be made'));
188
+ }
189
+ console.log('');
190
+ }
191
+ displaySummary(results, dryRun) {
192
+ console.log('');
193
+ console.log(theme_1.typography.separator());
194
+ console.log(theme_1.typography.header('Sync Summary'));
195
+ console.log('');
196
+ let totalCreated = 0;
197
+ let totalSkipped = 0;
198
+ let totalFailed = 0;
199
+ for (const result of results) {
200
+ totalCreated += result.filesCreated;
201
+ totalSkipped += result.filesSkipped;
202
+ totalFailed += result.filesFailed;
203
+ const status = result.filesFailed > 0
204
+ ? theme_1.colors.error(theme_1.symbols.error)
205
+ : theme_1.colors.success(theme_1.symbols.success);
206
+ console.log(`${status} ${theme_1.colors.primary(result.targetPath)}`);
207
+ console.log(` ${theme_1.colors.secondary(`Created: ${result.filesCreated}, Skipped: ${result.filesSkipped}, Failed: ${result.filesFailed}`)}`);
208
+ if (result.errors.length > 0) {
209
+ result.errors.forEach(err => {
210
+ console.log(` ${theme_1.colors.error(theme_1.symbols.error)} ${theme_1.colors.secondaryDim(`${err.file} - ${err.error}`)}`);
211
+ });
212
+ }
213
+ }
214
+ console.log('');
215
+ console.log(theme_1.typography.labeledValue('Created', `${totalCreated}${dryRun ? ' (dry run)' : ''}`));
216
+ console.log(theme_1.typography.labeledValue('Skipped', totalSkipped.toString()));
217
+ console.log(theme_1.typography.labeledValue('Failed', totalFailed.toString()));
218
+ console.log('');
219
+ }
220
+ }
221
+ exports.SyncService = SyncService;
222
+ //# sourceMappingURL=syncService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syncService.js","sourceRoot":"","sources":["../../../src/services/sync/syncService.ts"],"names":[],"mappings":"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"}