@a1st/aix-core 0.0.3

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 (397) hide show
  1. package/dist/backup.d.ts +12 -0
  2. package/dist/backup.d.ts.map +1 -0
  3. package/dist/backup.js +70 -0
  4. package/dist/backup.js.map +1 -0
  5. package/dist/cache/cleanup.d.ts +14 -0
  6. package/dist/cache/cleanup.d.ts.map +1 -0
  7. package/dist/cache/cleanup.js +61 -0
  8. package/dist/cache/cleanup.js.map +1 -0
  9. package/dist/cache/clear.d.ts +10 -0
  10. package/dist/cache/clear.d.ts.map +1 -0
  11. package/dist/cache/clear.js +30 -0
  12. package/dist/cache/clear.js.map +1 -0
  13. package/dist/cache/index.d.ts +5 -0
  14. package/dist/cache/index.d.ts.map +1 -0
  15. package/dist/cache/index.js +5 -0
  16. package/dist/cache/index.js.map +1 -0
  17. package/dist/cache/paths.d.ts +57 -0
  18. package/dist/cache/paths.d.ts.map +1 -0
  19. package/dist/cache/paths.js +86 -0
  20. package/dist/cache/paths.js.map +1 -0
  21. package/dist/cache/status.d.ts +21 -0
  22. package/dist/cache/status.d.ts.map +1 -0
  23. package/dist/cache/status.js +67 -0
  24. package/dist/cache/status.js.map +1 -0
  25. package/dist/discovery.d.ts +14 -0
  26. package/dist/discovery.d.ts.map +1 -0
  27. package/dist/discovery.js +96 -0
  28. package/dist/discovery.js.map +1 -0
  29. package/dist/editors/adapters/base.d.ts +101 -0
  30. package/dist/editors/adapters/base.d.ts.map +1 -0
  31. package/dist/editors/adapters/base.js +399 -0
  32. package/dist/editors/adapters/base.js.map +1 -0
  33. package/dist/editors/adapters/claude-code.d.ts +27 -0
  34. package/dist/editors/adapters/claude-code.d.ts.map +1 -0
  35. package/dist/editors/adapters/claude-code.js +46 -0
  36. package/dist/editors/adapters/claude-code.js.map +1 -0
  37. package/dist/editors/adapters/codex.d.ts +30 -0
  38. package/dist/editors/adapters/codex.d.ts.map +1 -0
  39. package/dist/editors/adapters/codex.js +56 -0
  40. package/dist/editors/adapters/codex.js.map +1 -0
  41. package/dist/editors/adapters/cursor.d.ts +23 -0
  42. package/dist/editors/adapters/cursor.d.ts.map +1 -0
  43. package/dist/editors/adapters/cursor.js +39 -0
  44. package/dist/editors/adapters/cursor.js.map +1 -0
  45. package/dist/editors/adapters/index.d.ts +8 -0
  46. package/dist/editors/adapters/index.d.ts.map +1 -0
  47. package/dist/editors/adapters/index.js +8 -0
  48. package/dist/editors/adapters/index.js.map +1 -0
  49. package/dist/editors/adapters/vscode.d.ts +23 -0
  50. package/dist/editors/adapters/vscode.d.ts.map +1 -0
  51. package/dist/editors/adapters/vscode.js +36 -0
  52. package/dist/editors/adapters/vscode.js.map +1 -0
  53. package/dist/editors/adapters/windsurf.d.ts +23 -0
  54. package/dist/editors/adapters/windsurf.d.ts.map +1 -0
  55. package/dist/editors/adapters/windsurf.js +38 -0
  56. package/dist/editors/adapters/windsurf.js.map +1 -0
  57. package/dist/editors/adapters/zed.d.ts +29 -0
  58. package/dist/editors/adapters/zed.d.ts.map +1 -0
  59. package/dist/editors/adapters/zed.js +61 -0
  60. package/dist/editors/adapters/zed.js.map +1 -0
  61. package/dist/editors/import.d.ts +31 -0
  62. package/dist/editors/import.d.ts.map +1 -0
  63. package/dist/editors/import.js +271 -0
  64. package/dist/editors/import.js.map +1 -0
  65. package/dist/editors/index.d.ts +6 -0
  66. package/dist/editors/index.d.ts.map +1 -0
  67. package/dist/editors/index.js +4 -0
  68. package/dist/editors/index.js.map +1 -0
  69. package/dist/editors/install.d.ts +33 -0
  70. package/dist/editors/install.d.ts.map +1 -0
  71. package/dist/editors/install.js +186 -0
  72. package/dist/editors/install.js.map +1 -0
  73. package/dist/editors/strategies/claude-code/hooks.d.ts +13 -0
  74. package/dist/editors/strategies/claude-code/hooks.d.ts.map +1 -0
  75. package/dist/editors/strategies/claude-code/hooks.js +61 -0
  76. package/dist/editors/strategies/claude-code/hooks.js.map +1 -0
  77. package/dist/editors/strategies/claude-code/index.d.ts +5 -0
  78. package/dist/editors/strategies/claude-code/index.d.ts.map +1 -0
  79. package/dist/editors/strategies/claude-code/index.js +5 -0
  80. package/dist/editors/strategies/claude-code/index.js.map +1 -0
  81. package/dist/editors/strategies/claude-code/mcp.d.ts +10 -0
  82. package/dist/editors/strategies/claude-code/mcp.d.ts.map +1 -0
  83. package/dist/editors/strategies/claude-code/mcp.js +17 -0
  84. package/dist/editors/strategies/claude-code/mcp.js.map +1 -0
  85. package/dist/editors/strategies/claude-code/prompts.d.ts +18 -0
  86. package/dist/editors/strategies/claude-code/prompts.d.ts.map +1 -0
  87. package/dist/editors/strategies/claude-code/prompts.js +42 -0
  88. package/dist/editors/strategies/claude-code/prompts.js.map +1 -0
  89. package/dist/editors/strategies/claude-code/rules.d.ts +17 -0
  90. package/dist/editors/strategies/claude-code/rules.d.ts.map +1 -0
  91. package/dist/editors/strategies/claude-code/rules.js +61 -0
  92. package/dist/editors/strategies/claude-code/rules.js.map +1 -0
  93. package/dist/editors/strategies/codex/index.d.ts +4 -0
  94. package/dist/editors/strategies/codex/index.d.ts.map +1 -0
  95. package/dist/editors/strategies/codex/index.js +4 -0
  96. package/dist/editors/strategies/codex/index.js.map +1 -0
  97. package/dist/editors/strategies/codex/mcp.d.ts +18 -0
  98. package/dist/editors/strategies/codex/mcp.d.ts.map +1 -0
  99. package/dist/editors/strategies/codex/mcp.js +93 -0
  100. package/dist/editors/strategies/codex/mcp.js.map +1 -0
  101. package/dist/editors/strategies/codex/prompts.d.ts +37 -0
  102. package/dist/editors/strategies/codex/prompts.d.ts.map +1 -0
  103. package/dist/editors/strategies/codex/prompts.js +82 -0
  104. package/dist/editors/strategies/codex/prompts.js.map +1 -0
  105. package/dist/editors/strategies/codex/rules.d.ts +17 -0
  106. package/dist/editors/strategies/codex/rules.d.ts.map +1 -0
  107. package/dist/editors/strategies/codex/rules.js +35 -0
  108. package/dist/editors/strategies/codex/rules.js.map +1 -0
  109. package/dist/editors/strategies/cursor/hooks.d.ts +13 -0
  110. package/dist/editors/strategies/cursor/hooks.d.ts.map +1 -0
  111. package/dist/editors/strategies/cursor/hooks.js +54 -0
  112. package/dist/editors/strategies/cursor/hooks.js.map +1 -0
  113. package/dist/editors/strategies/cursor/index.d.ts +4 -0
  114. package/dist/editors/strategies/cursor/index.d.ts.map +1 -0
  115. package/dist/editors/strategies/cursor/index.js +4 -0
  116. package/dist/editors/strategies/cursor/index.js.map +1 -0
  117. package/dist/editors/strategies/cursor/prompts.d.ts +18 -0
  118. package/dist/editors/strategies/cursor/prompts.d.ts.map +1 -0
  119. package/dist/editors/strategies/cursor/prompts.js +67 -0
  120. package/dist/editors/strategies/cursor/prompts.js.map +1 -0
  121. package/dist/editors/strategies/cursor/rules.d.ts +17 -0
  122. package/dist/editors/strategies/cursor/rules.d.ts.map +1 -0
  123. package/dist/editors/strategies/cursor/rules.js +41 -0
  124. package/dist/editors/strategies/cursor/rules.js.map +1 -0
  125. package/dist/editors/strategies/index.d.ts +9 -0
  126. package/dist/editors/strategies/index.d.ts.map +1 -0
  127. package/dist/editors/strategies/index.js +10 -0
  128. package/dist/editors/strategies/index.js.map +1 -0
  129. package/dist/editors/strategies/shared/global-mcp.d.ts +74 -0
  130. package/dist/editors/strategies/shared/global-mcp.d.ts.map +1 -0
  131. package/dist/editors/strategies/shared/global-mcp.js +85 -0
  132. package/dist/editors/strategies/shared/global-mcp.js.map +1 -0
  133. package/dist/editors/strategies/shared/index.d.ts +8 -0
  134. package/dist/editors/strategies/shared/index.d.ts.map +1 -0
  135. package/dist/editors/strategies/shared/index.js +8 -0
  136. package/dist/editors/strategies/shared/index.js.map +1 -0
  137. package/dist/editors/strategies/shared/native-skills.d.ts +19 -0
  138. package/dist/editors/strategies/shared/native-skills.d.ts.map +1 -0
  139. package/dist/editors/strategies/shared/native-skills.js +72 -0
  140. package/dist/editors/strategies/shared/native-skills.js.map +1 -0
  141. package/dist/editors/strategies/shared/no-hooks.d.ts +13 -0
  142. package/dist/editors/strategies/shared/no-hooks.d.ts.map +1 -0
  143. package/dist/editors/strategies/shared/no-hooks.js +19 -0
  144. package/dist/editors/strategies/shared/no-hooks.js.map +1 -0
  145. package/dist/editors/strategies/shared/no-mcp.d.ts +16 -0
  146. package/dist/editors/strategies/shared/no-mcp.d.ts.map +1 -0
  147. package/dist/editors/strategies/shared/no-mcp.js +21 -0
  148. package/dist/editors/strategies/shared/no-mcp.js.map +1 -0
  149. package/dist/editors/strategies/shared/no-prompts.d.ts +17 -0
  150. package/dist/editors/strategies/shared/no-prompts.d.ts.map +1 -0
  151. package/dist/editors/strategies/shared/no-prompts.js +24 -0
  152. package/dist/editors/strategies/shared/no-prompts.js.map +1 -0
  153. package/dist/editors/strategies/shared/pointer-skills.d.ts +17 -0
  154. package/dist/editors/strategies/shared/pointer-skills.d.ts.map +1 -0
  155. package/dist/editors/strategies/shared/pointer-skills.js +72 -0
  156. package/dist/editors/strategies/shared/pointer-skills.js.map +1 -0
  157. package/dist/editors/strategies/shared/standard-mcp.d.ts +16 -0
  158. package/dist/editors/strategies/shared/standard-mcp.d.ts.map +1 -0
  159. package/dist/editors/strategies/shared/standard-mcp.js +68 -0
  160. package/dist/editors/strategies/shared/standard-mcp.js.map +1 -0
  161. package/dist/editors/strategies/types.d.ts +126 -0
  162. package/dist/editors/strategies/types.d.ts.map +1 -0
  163. package/dist/editors/strategies/types.js +2 -0
  164. package/dist/editors/strategies/types.js.map +1 -0
  165. package/dist/editors/strategies/vscode/index.d.ts +4 -0
  166. package/dist/editors/strategies/vscode/index.d.ts.map +1 -0
  167. package/dist/editors/strategies/vscode/index.js +4 -0
  168. package/dist/editors/strategies/vscode/index.js.map +1 -0
  169. package/dist/editors/strategies/vscode/mcp.d.ts +17 -0
  170. package/dist/editors/strategies/vscode/mcp.d.ts.map +1 -0
  171. package/dist/editors/strategies/vscode/mcp.js +85 -0
  172. package/dist/editors/strategies/vscode/mcp.js.map +1 -0
  173. package/dist/editors/strategies/vscode/prompts.d.ts +18 -0
  174. package/dist/editors/strategies/vscode/prompts.d.ts.map +1 -0
  175. package/dist/editors/strategies/vscode/prompts.js +81 -0
  176. package/dist/editors/strategies/vscode/prompts.js.map +1 -0
  177. package/dist/editors/strategies/vscode/rules.d.ts +17 -0
  178. package/dist/editors/strategies/vscode/rules.d.ts.map +1 -0
  179. package/dist/editors/strategies/vscode/rules.js +38 -0
  180. package/dist/editors/strategies/vscode/rules.js.map +1 -0
  181. package/dist/editors/strategies/windsurf/hooks.d.ts +13 -0
  182. package/dist/editors/strategies/windsurf/hooks.d.ts.map +1 -0
  183. package/dist/editors/strategies/windsurf/hooks.js +61 -0
  184. package/dist/editors/strategies/windsurf/hooks.js.map +1 -0
  185. package/dist/editors/strategies/windsurf/index.d.ts +6 -0
  186. package/dist/editors/strategies/windsurf/index.d.ts.map +1 -0
  187. package/dist/editors/strategies/windsurf/index.js +6 -0
  188. package/dist/editors/strategies/windsurf/index.js.map +1 -0
  189. package/dist/editors/strategies/windsurf/mcp.d.ts +8 -0
  190. package/dist/editors/strategies/windsurf/mcp.d.ts.map +1 -0
  191. package/dist/editors/strategies/windsurf/mcp.js +99 -0
  192. package/dist/editors/strategies/windsurf/mcp.js.map +1 -0
  193. package/dist/editors/strategies/windsurf/prompts.d.ts +18 -0
  194. package/dist/editors/strategies/windsurf/prompts.d.ts.map +1 -0
  195. package/dist/editors/strategies/windsurf/prompts.js +68 -0
  196. package/dist/editors/strategies/windsurf/prompts.js.map +1 -0
  197. package/dist/editors/strategies/windsurf/rules.d.ts +17 -0
  198. package/dist/editors/strategies/windsurf/rules.d.ts.map +1 -0
  199. package/dist/editors/strategies/windsurf/rules.js +55 -0
  200. package/dist/editors/strategies/windsurf/rules.js.map +1 -0
  201. package/dist/editors/strategies/windsurf/skills.d.ts +9 -0
  202. package/dist/editors/strategies/windsurf/skills.d.ts.map +1 -0
  203. package/dist/editors/strategies/windsurf/skills.js +11 -0
  204. package/dist/editors/strategies/windsurf/skills.js.map +1 -0
  205. package/dist/editors/strategies/zed/index.d.ts +4 -0
  206. package/dist/editors/strategies/zed/index.d.ts.map +1 -0
  207. package/dist/editors/strategies/zed/index.js +4 -0
  208. package/dist/editors/strategies/zed/index.js.map +1 -0
  209. package/dist/editors/strategies/zed/mcp.d.ts +17 -0
  210. package/dist/editors/strategies/zed/mcp.d.ts.map +1 -0
  211. package/dist/editors/strategies/zed/mcp.js +68 -0
  212. package/dist/editors/strategies/zed/mcp.js.map +1 -0
  213. package/dist/editors/strategies/zed/prompts.d.ts +18 -0
  214. package/dist/editors/strategies/zed/prompts.d.ts.map +1 -0
  215. package/dist/editors/strategies/zed/prompts.js +25 -0
  216. package/dist/editors/strategies/zed/prompts.js.map +1 -0
  217. package/dist/editors/strategies/zed/rules.d.ts +17 -0
  218. package/dist/editors/strategies/zed/rules.d.ts.map +1 -0
  219. package/dist/editors/strategies/zed/rules.js +33 -0
  220. package/dist/editors/strategies/zed/rules.js.map +1 -0
  221. package/dist/editors/types.d.ts +164 -0
  222. package/dist/editors/types.d.ts.map +1 -0
  223. package/dist/editors/types.js +2 -0
  224. package/dist/editors/types.js.map +1 -0
  225. package/dist/env/ci.d.ts +6 -0
  226. package/dist/env/ci.d.ts.map +1 -0
  227. package/dist/env/ci.js +22 -0
  228. package/dist/env/ci.js.map +1 -0
  229. package/dist/env/index.d.ts +2 -0
  230. package/dist/env/index.d.ts.map +1 -0
  231. package/dist/env/index.js +2 -0
  232. package/dist/env/index.js.map +1 -0
  233. package/dist/errors.d.ts +44 -0
  234. package/dist/errors.d.ts.map +1 -0
  235. package/dist/errors.js +68 -0
  236. package/dist/errors.js.map +1 -0
  237. package/dist/format-error.d.ts +18 -0
  238. package/dist/format-error.d.ts.map +1 -0
  239. package/dist/format-error.js +113 -0
  240. package/dist/format-error.js.map +1 -0
  241. package/dist/fs/safe-rm.d.ts +20 -0
  242. package/dist/fs/safe-rm.d.ts.map +1 -0
  243. package/dist/fs/safe-rm.js +129 -0
  244. package/dist/fs/safe-rm.js.map +1 -0
  245. package/dist/git-loader.d.ts +21 -0
  246. package/dist/git-loader.d.ts.map +1 -0
  247. package/dist/git-loader.js +61 -0
  248. package/dist/git-loader.js.map +1 -0
  249. package/dist/global/comparison.d.ts +16 -0
  250. package/dist/global/comparison.d.ts.map +1 -0
  251. package/dist/global/comparison.js +52 -0
  252. package/dist/global/comparison.js.map +1 -0
  253. package/dist/global/index.d.ts +5 -0
  254. package/dist/global/index.d.ts.map +1 -0
  255. package/dist/global/index.js +4 -0
  256. package/dist/global/index.js.map +1 -0
  257. package/dist/global/processor.d.ts +26 -0
  258. package/dist/global/processor.d.ts.map +1 -0
  259. package/dist/global/processor.js +318 -0
  260. package/dist/global/processor.js.map +1 -0
  261. package/dist/global/tracking.d.ts +109 -0
  262. package/dist/global/tracking.d.ts.map +1 -0
  263. package/dist/global/tracking.js +193 -0
  264. package/dist/global/tracking.js.map +1 -0
  265. package/dist/global/types.d.ts +54 -0
  266. package/dist/global/types.d.ts.map +1 -0
  267. package/dist/global/types.js +2 -0
  268. package/dist/global/types.js.map +1 -0
  269. package/dist/import-writer.d.ts +37 -0
  270. package/dist/import-writer.d.ts.map +1 -0
  271. package/dist/import-writer.js +129 -0
  272. package/dist/import-writer.js.map +1 -0
  273. package/dist/index.d.ts +23 -0
  274. package/dist/index.d.ts.map +1 -0
  275. package/dist/index.js +23 -0
  276. package/dist/index.js.map +1 -0
  277. package/dist/inheritance.d.ts +9 -0
  278. package/dist/inheritance.d.ts.map +1 -0
  279. package/dist/inheritance.js +133 -0
  280. package/dist/inheritance.js.map +1 -0
  281. package/dist/json.d.ts +75 -0
  282. package/dist/json.d.ts.map +1 -0
  283. package/dist/json.js +123 -0
  284. package/dist/json.js.map +1 -0
  285. package/dist/loader.d.ts +35 -0
  286. package/dist/loader.d.ts.map +1 -0
  287. package/dist/loader.js +147 -0
  288. package/dist/loader.js.map +1 -0
  289. package/dist/mcp/env.d.ts +28 -0
  290. package/dist/mcp/env.d.ts.map +1 -0
  291. package/dist/mcp/env.js +47 -0
  292. package/dist/mcp/env.js.map +1 -0
  293. package/dist/mcp/index.d.ts +4 -0
  294. package/dist/mcp/index.d.ts.map +1 -0
  295. package/dist/mcp/index.js +4 -0
  296. package/dist/mcp/index.js.map +1 -0
  297. package/dist/mcp/normalize.d.ts +33 -0
  298. package/dist/mcp/normalize.d.ts.map +1 -0
  299. package/dist/mcp/normalize.js +29 -0
  300. package/dist/mcp/normalize.js.map +1 -0
  301. package/dist/mcp/templates.d.ts +18 -0
  302. package/dist/mcp/templates.d.ts.map +1 -0
  303. package/dist/mcp/templates.js +66 -0
  304. package/dist/mcp/templates.js.map +1 -0
  305. package/dist/merge.d.ts +29 -0
  306. package/dist/merge.d.ts.map +1 -0
  307. package/dist/merge.js +154 -0
  308. package/dist/merge.js.map +1 -0
  309. package/dist/npm/index.d.ts +2 -0
  310. package/dist/npm/index.d.ts.map +1 -0
  311. package/dist/npm/index.js +2 -0
  312. package/dist/npm/index.js.map +1 -0
  313. package/dist/npm/resolve.d.ts +16 -0
  314. package/dist/npm/resolve.d.ts.map +1 -0
  315. package/dist/npm/resolve.js +42 -0
  316. package/dist/npm/resolve.js.map +1 -0
  317. package/dist/prompts/index.d.ts +2 -0
  318. package/dist/prompts/index.d.ts.map +1 -0
  319. package/dist/prompts/index.js +2 -0
  320. package/dist/prompts/index.js.map +1 -0
  321. package/dist/prompts/loader.d.ts +23 -0
  322. package/dist/prompts/loader.d.ts.map +1 -0
  323. package/dist/prompts/loader.js +115 -0
  324. package/dist/prompts/loader.js.map +1 -0
  325. package/dist/remote-loader.d.ts +29 -0
  326. package/dist/remote-loader.d.ts.map +1 -0
  327. package/dist/remote-loader.js +208 -0
  328. package/dist/remote-loader.js.map +1 -0
  329. package/dist/rules/index.d.ts +6 -0
  330. package/dist/rules/index.d.ts.map +1 -0
  331. package/dist/rules/index.js +6 -0
  332. package/dist/rules/index.js.map +1 -0
  333. package/dist/rules/interpolate.d.ts +27 -0
  334. package/dist/rules/interpolate.d.ts.map +1 -0
  335. package/dist/rules/interpolate.js +48 -0
  336. package/dist/rules/interpolate.js.map +1 -0
  337. package/dist/rules/loader.d.ts +27 -0
  338. package/dist/rules/loader.d.ts.map +1 -0
  339. package/dist/rules/loader.js +94 -0
  340. package/dist/rules/loader.js.map +1 -0
  341. package/dist/rules/merger.d.ts +37 -0
  342. package/dist/rules/merger.d.ts.map +1 -0
  343. package/dist/rules/merger.js +93 -0
  344. package/dist/rules/merger.js.map +1 -0
  345. package/dist/rules/skill-rules.d.ts +13 -0
  346. package/dist/rules/skill-rules.d.ts.map +1 -0
  347. package/dist/rules/skill-rules.js +70 -0
  348. package/dist/rules/skill-rules.js.map +1 -0
  349. package/dist/rules/utils.d.ts +36 -0
  350. package/dist/rules/utils.d.ts.map +1 -0
  351. package/dist/rules/utils.js +82 -0
  352. package/dist/rules/utils.js.map +1 -0
  353. package/dist/skills/cache.d.ts +10 -0
  354. package/dist/skills/cache.d.ts.map +1 -0
  355. package/dist/skills/cache.js +20 -0
  356. package/dist/skills/cache.js.map +1 -0
  357. package/dist/skills/index.d.ts +9 -0
  358. package/dist/skills/index.d.ts.map +1 -0
  359. package/dist/skills/index.js +9 -0
  360. package/dist/skills/index.js.map +1 -0
  361. package/dist/skills/parser.d.ts +6 -0
  362. package/dist/skills/parser.d.ts.map +1 -0
  363. package/dist/skills/parser.js +28 -0
  364. package/dist/skills/parser.js.map +1 -0
  365. package/dist/skills/reference-parser.d.ts +23 -0
  366. package/dist/skills/reference-parser.d.ts.map +1 -0
  367. package/dist/skills/reference-parser.js +162 -0
  368. package/dist/skills/reference-parser.js.map +1 -0
  369. package/dist/skills/resolve.d.ts +21 -0
  370. package/dist/skills/resolve.d.ts.map +1 -0
  371. package/dist/skills/resolve.js +43 -0
  372. package/dist/skills/resolve.js.map +1 -0
  373. package/dist/skills/resolvers/git.d.ts +8 -0
  374. package/dist/skills/resolvers/git.d.ts.map +1 -0
  375. package/dist/skills/resolvers/git.js +43 -0
  376. package/dist/skills/resolvers/git.js.map +1 -0
  377. package/dist/skills/resolvers/local.d.ts +7 -0
  378. package/dist/skills/resolvers/local.d.ts.map +1 -0
  379. package/dist/skills/resolvers/local.js +16 -0
  380. package/dist/skills/resolvers/local.js.map +1 -0
  381. package/dist/skills/resolvers/npm.d.ts +12 -0
  382. package/dist/skills/resolvers/npm.d.ts.map +1 -0
  383. package/dist/skills/resolvers/npm.js +28 -0
  384. package/dist/skills/resolvers/npm.js.map +1 -0
  385. package/dist/skills/validate.d.ts +11 -0
  386. package/dist/skills/validate.d.ts.map +1 -0
  387. package/dist/skills/validate.js +43 -0
  388. package/dist/skills/validate.js.map +1 -0
  389. package/dist/updater.d.ts +23 -0
  390. package/dist/updater.d.ts.map +1 -0
  391. package/dist/updater.js +100 -0
  392. package/dist/updater.js.map +1 -0
  393. package/dist/url-parsing.d.ts +121 -0
  394. package/dist/url-parsing.d.ts.map +1 -0
  395. package/dist/url-parsing.js +199 -0
  396. package/dist/url-parsing.js.map +1 -0
  397. package/package.json +41 -0
@@ -0,0 +1,129 @@
1
+ import { rm } from 'node:fs/promises';
2
+ import { homedir, tmpdir, platform } from 'node:os';
3
+ import { resolve, normalize, sep } from 'pathe';
4
+ /**
5
+ * Error thrown when attempting to remove a protected path.
6
+ */
7
+ export class UnsafePathError extends Error {
8
+ path;
9
+ reason;
10
+ constructor(path, reason) {
11
+ super(`Refusing to remove "${path}": ${reason}`);
12
+ this.path = path;
13
+ this.reason = reason;
14
+ this.name = 'UnsafePathError';
15
+ }
16
+ }
17
+ // Paths that should never be deleted (normalized, lowercase for case-insensitive comparison)
18
+ const BLOCKED_PATHS_UNIX = new Set([
19
+ '/',
20
+ '/bin',
21
+ '/boot',
22
+ '/dev',
23
+ '/etc',
24
+ '/home',
25
+ '/lib',
26
+ '/lib64',
27
+ '/opt',
28
+ '/proc',
29
+ '/root',
30
+ '/run',
31
+ '/sbin',
32
+ '/srv',
33
+ '/sys',
34
+ '/tmp',
35
+ '/usr',
36
+ '/var',
37
+ ]);
38
+ const BLOCKED_PATHS_WINDOWS = new Set([
39
+ 'c:',
40
+ 'c:\\',
41
+ 'c:\\windows',
42
+ 'c:\\program files',
43
+ 'c:\\program files (x86)',
44
+ 'c:\\users',
45
+ 'c:\\programdata',
46
+ ]);
47
+ /**
48
+ * Check if a path is in the blocklist.
49
+ */
50
+ function isBlockedPath(normalizedPath) {
51
+ const lower = normalizedPath.toLowerCase();
52
+ if (platform() === 'win32') {
53
+ return BLOCKED_PATHS_WINDOWS.has(lower);
54
+ }
55
+ return BLOCKED_PATHS_UNIX.has(lower);
56
+ }
57
+ /**
58
+ * Check if path has sufficient depth (at least 3 segments).
59
+ * Examples:
60
+ * - "/" -> 1 segment (blocked)
61
+ * - "/foo" -> 2 segments (blocked)
62
+ * - "/foo/bar" -> 3 segments (allowed)
63
+ * - "C:\foo" -> 2 segments (blocked)
64
+ * - "C:\foo\bar" -> 3 segments (allowed)
65
+ */
66
+ function hasMinimumDepth(normalizedPath, minDepth = 3) {
67
+ const segments = normalizedPath.split(sep).filter(Boolean);
68
+ // On Windows, "C:" counts as a segment
69
+ return segments.length >= minDepth;
70
+ }
71
+ /**
72
+ * Check if path is within the system temp directory.
73
+ */
74
+ function isInTempDir(normalizedPath) {
75
+ const tempDir = normalize(tmpdir());
76
+ return normalizedPath.startsWith(tempDir + sep) || normalizedPath === tempDir;
77
+ }
78
+ /**
79
+ * Check if path is within a .aix directory.
80
+ */
81
+ function isInAixDir(normalizedPath) {
82
+ return normalizedPath.includes(`${sep}.aix${sep}`) || normalizedPath.endsWith(`${sep}.aix`);
83
+ }
84
+ /**
85
+ * Check if path is within an editor config directory.
86
+ */
87
+ function isInEditorConfigDir(normalizedPath) {
88
+ const editorDirs = ['.windsurf', '.cursor', '.claude', '.vscode', '.zed', '.codex'];
89
+ return editorDirs.some((dir) => normalizedPath.includes(`${sep}${dir}${sep}`) || normalizedPath.endsWith(`${sep}${dir}`));
90
+ }
91
+ /**
92
+ * Check if path is within a test-fixtures directory (for test cleanup).
93
+ */
94
+ function isInTestFixturesDir(normalizedPath) {
95
+ return (normalizedPath.includes(`${sep}test-fixtures${sep}`) || normalizedPath.endsWith(`${sep}test-fixtures`));
96
+ }
97
+ /**
98
+ * Safely remove a directory recursively, with validation to prevent accidental deletion
99
+ * of critical system or project directories.
100
+ *
101
+ * @param targetPath - The path to remove
102
+ * @param options - Options passed to fs.rm (force is commonly used)
103
+ * @throws UnsafePathError if the path is protected
104
+ */
105
+ export async function safeRm(targetPath, options = {}) {
106
+ const resolved = resolve(targetPath), normalized = normalize(resolved), home = normalize(homedir());
107
+ // Check blocklist
108
+ if (isBlockedPath(normalized)) {
109
+ throw new UnsafePathError(normalized, 'path is a protected system directory');
110
+ }
111
+ // Check home directory
112
+ if (normalized === home) {
113
+ throw new UnsafePathError(normalized, 'path is the home directory');
114
+ }
115
+ // Validate path is in an allowed location
116
+ const isAllowed = isInTempDir(normalized) ||
117
+ isInAixDir(normalized) ||
118
+ isInEditorConfigDir(normalized) ||
119
+ isInTestFixturesDir(normalized);
120
+ if (!isAllowed) {
121
+ throw new UnsafePathError(normalized, 'path is not within temp directory, .aix directory, editor config directory, or test-fixtures directory');
122
+ }
123
+ // Check minimum depth (skip for temp directories which are already validated as safe)
124
+ if (!isInTempDir(normalized) && !hasMinimumDepth(normalized)) {
125
+ throw new UnsafePathError(normalized, 'path is too shallow (minimum 3 segments required)');
126
+ }
127
+ await rm(resolved, { recursive: true, ...options });
128
+ }
129
+ //# sourceMappingURL=safe-rm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe-rm.js","sourceRoot":"","sources":["../../src/fs/safe-rm.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { GitSource } from '@a1st/aix-schema';
2
+ export interface GitLoadOptions {
3
+ /** Git source configuration */
4
+ git: GitSource;
5
+ /** Directory for caching downloaded repos */
6
+ cacheDir: string;
7
+ /** Default file path if not specified in git source (e.g., 'prompt.md', 'RULES.md') */
8
+ defaultFilePath: string;
9
+ }
10
+ export interface GitLoadResult {
11
+ /** File content */
12
+ content: string;
13
+ /** Source path for attribution (e.g., 'https://github.com/user/repo#main:path/file.md') */
14
+ sourcePath: string;
15
+ }
16
+ /**
17
+ * Load content from a git repository using giget.
18
+ * Handles GitHub blob URLs, caching, and provider URL normalization.
19
+ */
20
+ export declare function loadFromGit(options: GitLoadOptions): Promise<GitLoadResult>;
21
+ //# sourceMappingURL=git-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-loader.d.ts","sourceRoot":"","sources":["../src/git-loader.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGlD,MAAM,WAAW,cAAc;IAC5B,+BAA+B;IAC/B,GAAG,EAAE,SAAS,CAAC;IACf,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,uFAAuF;IACvF,eAAe,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC3B,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,2FAA2F;IAC3F,UAAU,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CA2DjF"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Shared git loading utilities for fetching content from git repositories.
3
+ * Used by prompts/loader.ts and rules/loader.ts.
4
+ */
5
+ import { readFile } from 'node:fs/promises';
6
+ import { join } from 'pathe';
7
+ import { downloadTemplate } from 'giget';
8
+ import { parseGitHubBlobUrl } from './url-parsing.js';
9
+ /**
10
+ * Load content from a git repository using giget.
11
+ * Handles GitHub blob URLs, caching, and provider URL normalization.
12
+ */
13
+ export async function loadFromGit(options) {
14
+ const { git, cacheDir, defaultFilePath } = options;
15
+ let { url, path: filePath, ref } = git;
16
+ // Handle GitHub blob URLs (direct file links)
17
+ const blobParsed = parseGitHubBlobUrl(url);
18
+ if (blobParsed) {
19
+ url = `https://github.com/${blobParsed.owner}/${blobParsed.repo}`;
20
+ ref = ref ?? blobParsed.ref;
21
+ filePath = filePath ?? blobParsed.path;
22
+ }
23
+ // Default values
24
+ filePath = filePath ?? defaultFilePath;
25
+ ref = ref ?? 'main';
26
+ // Create cache key from URL + ref + path
27
+ const cacheKey = Buffer.from(`${url}:${ref}:${filePath}`).toString('base64url').slice(0, 32), cachePath = join(cacheDir, cacheKey);
28
+ // Build giget source string
29
+ let source = url;
30
+ if (source.startsWith('https://github.com/')) {
31
+ source = source.replace('https://github.com/', 'gh:');
32
+ }
33
+ else if (source.startsWith('https://gitlab.com/')) {
34
+ source = source.replace('https://gitlab.com/', 'gitlab:');
35
+ }
36
+ if (ref) {
37
+ source = `${source}#${ref}`;
38
+ }
39
+ // Check if cache already exists
40
+ const cachedFilePath = join(cachePath, filePath);
41
+ try {
42
+ const content = await readFile(cachedFilePath, 'utf-8');
43
+ return {
44
+ content: content.trim(),
45
+ sourcePath: `${url}#${ref}:${filePath}`,
46
+ };
47
+ }
48
+ catch {
49
+ // Cache miss - download using giget
50
+ }
51
+ const { dir } = await downloadTemplate(source, {
52
+ dir: cachePath,
53
+ force: true,
54
+ });
55
+ const content = await readFile(join(dir, filePath), 'utf-8');
56
+ return {
57
+ content: content.trim(),
58
+ sourcePath: `${url}#${ref}:${filePath}`,
59
+ };
60
+ }
61
+ //# sourceMappingURL=git-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-loader.js","sourceRoot":"","sources":["../src/git-loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAEzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAkBtD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAuB;IACtD,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;IACnD,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IAEvC,8CAA8C;IAC9C,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAE3C,IAAI,UAAU,EAAE,CAAC;QACd,GAAG,GAAG,sBAAsB,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;QAClE,GAAG,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC;QAC5B,QAAQ,GAAG,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC;IAC1C,CAAC;IAED,iBAAiB;IACjB,QAAQ,GAAG,QAAQ,IAAI,eAAe,CAAC;IACvC,GAAG,GAAG,GAAG,IAAI,MAAM,CAAC;IAEpB,yCAAyC;IACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EACtF,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE3C,4BAA4B;IAC5B,IAAI,MAAM,GAAG,GAAG,CAAC;IAEjB,IAAI,MAAM,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAC5C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;SAAM,IAAI,MAAM,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACnD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,GAAG,EAAE,CAAC;QACP,MAAM,GAAG,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC;IAC/B,CAAC;IAED,gCAAgC;IAChC,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEjD,IAAI,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAExD,OAAO;YACJ,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE;YACvB,UAAU,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI,QAAQ,EAAE;SACzC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACN,oCAAoC;IACvC,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE;QAC5C,GAAG,EAAE,SAAS;QACd,KAAK,EAAE,IAAI;KACb,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;IAE7D,OAAO;QACJ,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE;QACvB,UAAU,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI,QAAQ,EAAE;KACzC,CAAC;AACL,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { McpServerConfig } from '@a1st/aix-schema';
2
+ /**
3
+ * Deep equality check for two values. Used to determine if configs "substantially differ".
4
+ */
5
+ export declare function deepEqual(a: unknown, b: unknown): boolean;
6
+ /**
7
+ * Compare two MCP server configs to determine if they substantially differ.
8
+ * Returns true if configs are equivalent (no substantial difference).
9
+ */
10
+ export declare function mcpConfigsMatch(local: McpServerConfig, existing: McpServerConfig): boolean;
11
+ /**
12
+ * Compare two prompt contents to determine if they substantially differ.
13
+ * Returns true if prompts are equivalent (no substantial difference).
14
+ */
15
+ export declare function promptsMatch(local: string, existing: string): boolean;
16
+ //# sourceMappingURL=comparison.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comparison.d.ts","sourceRoot":"","sources":["../../src/global/comparison.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAsCzD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,eAAe,GAAG,OAAO,CAE1F;AASD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAErE"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Deep equality check for two values. Used to determine if configs "substantially differ".
3
+ */
4
+ export function deepEqual(a, b) {
5
+ if (a === b) {
6
+ return true;
7
+ }
8
+ if (a === null || b === null) {
9
+ return false;
10
+ }
11
+ if (typeof a !== typeof b) {
12
+ return false;
13
+ }
14
+ if (typeof a !== 'object') {
15
+ return false;
16
+ }
17
+ if (Array.isArray(a) !== Array.isArray(b)) {
18
+ return false;
19
+ }
20
+ if (Array.isArray(a) && Array.isArray(b)) {
21
+ if (a.length !== b.length) {
22
+ return false;
23
+ }
24
+ return a.every((item, index) => deepEqual(item, b[index]));
25
+ }
26
+ const aObj = a, bObj = b, aKeys = Object.keys(aObj), bKeys = Object.keys(bObj);
27
+ if (aKeys.length !== bKeys.length) {
28
+ return false;
29
+ }
30
+ return aKeys.every((key) => Object.hasOwn(bObj, key) && deepEqual(aObj[key], bObj[key]));
31
+ }
32
+ /**
33
+ * Compare two MCP server configs to determine if they substantially differ.
34
+ * Returns true if configs are equivalent (no substantial difference).
35
+ */
36
+ export function mcpConfigsMatch(local, existing) {
37
+ return deepEqual(local, existing);
38
+ }
39
+ /**
40
+ * Normalize whitespace for prompt comparison.
41
+ */
42
+ function normalizeWhitespace(s) {
43
+ return s.trim().replace(/\r\n/g, '\n');
44
+ }
45
+ /**
46
+ * Compare two prompt contents to determine if they substantially differ.
47
+ * Returns true if prompts are equivalent (no substantial difference).
48
+ */
49
+ export function promptsMatch(local, existing) {
50
+ return normalizeWhitespace(local) === normalizeWhitespace(existing);
51
+ }
52
+ //# sourceMappingURL=comparison.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comparison.js","sourceRoot":"","sources":["../../src/global/comparison.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,CAAU,EAAE,CAAU;IAC7C,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACf,CAAC;IAED,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IAChB,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IAChB,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IAChB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IAChB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QAChB,CAAC;QACD,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,IAAI,GAAG,CAA4B,EACnC,IAAI,GAAG,CAA4B,EACnC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EACzB,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhC,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IAChB,CAAC;IAED,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,KAAsB,EAAE,QAAyB;IAC9E,OAAO,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,CAAS;IACnC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,QAAgB;IACzD,OAAO,mBAAmB,CAAC,KAAK,CAAC,KAAK,mBAAmB,CAAC,QAAQ,CAAC,CAAC;AACvE,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { GlobalTrackingService, GlobalTrackingEntry, GlobalTrackingFile, makeTrackingKey, getTrackingFilePath, } from './tracking.js';
2
+ export { deepEqual, mcpConfigsMatch, promptsMatch } from './comparison.js';
3
+ export type { GlobalChangeRequest, GlobalChangeResult, GlobalChangeOptions, } from './types.js';
4
+ export { analyzeGlobalChanges, applyGlobalChanges, summarizeGlobalChanges, removeFromGlobalMcpConfig, } from './processor.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/global/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACJ,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,GACrB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE3E,YAAY,EACT,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACJ,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,GAC3B,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { GlobalTrackingService, makeTrackingKey, getTrackingFilePath, } from './tracking.js';
2
+ export { deepEqual, mcpConfigsMatch, promptsMatch } from './comparison.js';
3
+ export { analyzeGlobalChanges, applyGlobalChanges, summarizeGlobalChanges, removeFromGlobalMcpConfig, } from './processor.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/global/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACJ,qBAAqB,EAGrB,eAAe,EACf,mBAAmB,GACrB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAQ3E,OAAO,EACJ,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,GAC3B,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,26 @@
1
+ import type { EditorName, EditorConfig } from '../editors/types.js';
2
+ import type { McpStrategy, PromptsStrategy } from '../editors/strategies/types.js';
3
+ import type { GlobalChangeRequest, GlobalChangeResult, GlobalChangeOptions } from './types.js';
4
+ /**
5
+ * Analyze global-only features and determine what changes are needed.
6
+ * This does NOT modify any files - it just builds a list of change requests.
7
+ */
8
+ export declare function analyzeGlobalChanges(editor: EditorName, editorConfig: EditorConfig, mcpStrategy: McpStrategy, promptsStrategy: PromptsStrategy): Promise<GlobalChangeRequest[]>;
9
+ /**
10
+ * Apply approved global changes. Writes files and updates tracking.
11
+ */
12
+ export declare function applyGlobalChanges(changes: GlobalChangeRequest[], options: GlobalChangeOptions): Promise<GlobalChangeResult>;
13
+ /**
14
+ * Get a summary of global changes for display to the user.
15
+ */
16
+ export declare function summarizeGlobalChanges(changes: GlobalChangeRequest[]): {
17
+ toAdd: GlobalChangeRequest[];
18
+ toSkip: GlobalChangeRequest[];
19
+ alreadyConfigured: GlobalChangeRequest[];
20
+ };
21
+ /**
22
+ * Remove an MCP server from a global config file.
23
+ * Returns true if the server was removed, false if it didn't exist.
24
+ */
25
+ export declare function removeFromGlobalMcpConfig(globalPath: string, serverName: string): Promise<boolean>;
26
+ //# sourceMappingURL=processor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../../src/global/processor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAiC/F;;;GAGG;AACH,wBAAsB,oBAAoB,CACvC,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,eAAe,GAChC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAoFhC;AA+ED;;GAEG;AACH,wBAAsB,kBAAkB,CACrC,OAAO,EAAE,mBAAmB,EAAE,EAC9B,OAAO,EAAE,mBAAmB,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CA6F7B;AAuDD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG;IACrE,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,iBAAiB,EAAE,mBAAmB,EAAE,CAAC;CAC3C,CAMA;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAC5C,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC,CA2BlB"}