@axm.sh/cli 0.0.7 → 0.0.8

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 (401) hide show
  1. package/dist/src/agents/detection.d.ts +3 -16
  2. package/dist/src/agents/detection.d.ts.map +1 -1
  3. package/dist/src/agents/detection.js +4 -13
  4. package/dist/src/agents/detection.js.map +1 -1
  5. package/dist/src/agents/index.d.ts +1 -1
  6. package/dist/src/agents/index.d.ts.map +1 -1
  7. package/dist/src/agents/index.js +1 -1
  8. package/dist/src/agents/index.js.map +1 -1
  9. package/dist/src/cli-commands/init/handler.d.ts +1 -1
  10. package/dist/src/cli-commands/init/handler.d.ts.map +1 -1
  11. package/dist/src/cli-commands/init/handler.js +1 -1
  12. package/dist/src/cli-commands/init/handler.js.map +1 -1
  13. package/dist/src/cli-commands/skills/command.d.ts.map +1 -1
  14. package/dist/src/cli-commands/skills/command.js +6 -0
  15. package/dist/src/cli-commands/skills/command.js.map +1 -1
  16. package/dist/src/cli-commands/skills/constants.d.ts +9 -0
  17. package/dist/src/cli-commands/skills/constants.d.ts.map +1 -0
  18. package/dist/src/cli-commands/skills/constants.js +9 -0
  19. package/dist/src/cli-commands/skills/constants.js.map +1 -0
  20. package/dist/src/cli-commands/skills/copy-skill.d.ts +1 -1
  21. package/dist/src/cli-commands/skills/copy-skill.d.ts.map +1 -1
  22. package/dist/src/cli-commands/skills/copy-skill.js +11 -24
  23. package/dist/src/cli-commands/skills/copy-skill.js.map +1 -1
  24. package/dist/src/cli-commands/skills/disable/command.d.ts +15 -0
  25. package/dist/src/cli-commands/skills/disable/command.d.ts.map +1 -0
  26. package/dist/src/cli-commands/skills/disable/command.js +56 -0
  27. package/dist/src/cli-commands/skills/disable/command.js.map +1 -0
  28. package/dist/src/cli-commands/skills/disable/disable-skill.d.ts +25 -0
  29. package/dist/src/cli-commands/skills/disable/disable-skill.d.ts.map +1 -0
  30. package/dist/src/cli-commands/skills/disable/disable-skill.js +101 -0
  31. package/dist/src/cli-commands/skills/disable/disable-skill.js.map +1 -0
  32. package/dist/src/cli-commands/skills/disable/handler.d.ts +18 -0
  33. package/dist/src/cli-commands/skills/disable/handler.d.ts.map +1 -0
  34. package/dist/src/cli-commands/skills/disable/handler.js +72 -0
  35. package/dist/src/cli-commands/skills/disable/handler.js.map +1 -0
  36. package/dist/src/cli-commands/skills/enable/command.d.ts +15 -0
  37. package/dist/src/cli-commands/skills/enable/command.d.ts.map +1 -0
  38. package/dist/src/cli-commands/skills/enable/command.js +56 -0
  39. package/dist/src/cli-commands/skills/enable/command.js.map +1 -0
  40. package/dist/src/cli-commands/skills/enable/enable-skill.d.ts +26 -0
  41. package/dist/src/cli-commands/skills/enable/enable-skill.d.ts.map +1 -0
  42. package/dist/src/cli-commands/skills/enable/enable-skill.js +138 -0
  43. package/dist/src/cli-commands/skills/enable/enable-skill.js.map +1 -0
  44. package/dist/src/cli-commands/skills/enable/handler.d.ts +18 -0
  45. package/dist/src/cli-commands/skills/enable/handler.d.ts.map +1 -0
  46. package/dist/src/cli-commands/skills/enable/handler.js +72 -0
  47. package/dist/src/cli-commands/skills/enable/handler.js.map +1 -0
  48. package/dist/src/cli-commands/skills/fork/handler.d.ts +4 -13
  49. package/dist/src/cli-commands/skills/fork/handler.d.ts.map +1 -1
  50. package/dist/src/cli-commands/skills/fork/handler.js +37 -29
  51. package/dist/src/cli-commands/skills/fork/handler.js.map +1 -1
  52. package/dist/src/cli-commands/skills/fs-helpers.d.ts +12 -0
  53. package/dist/src/cli-commands/skills/fs-helpers.d.ts.map +1 -0
  54. package/dist/src/cli-commands/skills/fs-helpers.js +12 -0
  55. package/dist/src/cli-commands/skills/fs-helpers.js.map +1 -0
  56. package/dist/src/cli-commands/skills/install/discover-skills.d.ts +3 -18
  57. package/dist/src/cli-commands/skills/install/discover-skills.d.ts.map +1 -1
  58. package/dist/src/cli-commands/skills/install/discover-skills.js +7 -20
  59. package/dist/src/cli-commands/skills/install/discover-skills.js.map +1 -1
  60. package/dist/src/cli-commands/skills/install/handler.d.ts +1 -16
  61. package/dist/src/cli-commands/skills/install/handler.d.ts.map +1 -1
  62. package/dist/src/cli-commands/skills/install/handler.js +20 -27
  63. package/dist/src/cli-commands/skills/install/handler.js.map +1 -1
  64. package/dist/src/cli-commands/skills/install/install-skill.d.ts +1 -1
  65. package/dist/src/cli-commands/skills/install/install-skill.d.ts.map +1 -1
  66. package/dist/src/cli-commands/skills/install/install-skill.js +12 -18
  67. package/dist/src/cli-commands/skills/install/install-skill.js.map +1 -1
  68. package/dist/src/cli-commands/skills/install/select-skills.d.ts +4 -5
  69. package/dist/src/cli-commands/skills/install/select-skills.d.ts.map +1 -1
  70. package/dist/src/cli-commands/skills/install/select-skills.js +13 -13
  71. package/dist/src/cli-commands/skills/install/select-skills.js.map +1 -1
  72. package/dist/src/cli-commands/skills/install/skill-utils.d.ts +1 -6
  73. package/dist/src/cli-commands/skills/install/skill-utils.d.ts.map +1 -1
  74. package/dist/src/cli-commands/skills/install/skill-utils.js +8 -4
  75. package/dist/src/cli-commands/skills/install/skill-utils.js.map +1 -1
  76. package/dist/src/cli-commands/skills/list/handler.d.ts +1 -1
  77. package/dist/src/cli-commands/skills/list/handler.d.ts.map +1 -1
  78. package/dist/src/cli-commands/skills/list/handler.js +1 -1
  79. package/dist/src/cli-commands/skills/list/handler.js.map +1 -1
  80. package/dist/src/cli-commands/skills/naming.d.ts +17 -0
  81. package/dist/src/cli-commands/skills/naming.d.ts.map +1 -0
  82. package/dist/src/cli-commands/skills/naming.js +20 -0
  83. package/dist/src/cli-commands/skills/naming.js.map +1 -0
  84. package/dist/src/cli-commands/skills/operations.d.ts +25 -1
  85. package/dist/src/cli-commands/skills/operations.d.ts.map +1 -1
  86. package/dist/src/cli-commands/skills/publish/handler.d.ts +1 -10
  87. package/dist/src/cli-commands/skills/publish/handler.d.ts.map +1 -1
  88. package/dist/src/cli-commands/skills/publish/handler.js +31 -47
  89. package/dist/src/cli-commands/skills/publish/handler.js.map +1 -1
  90. package/dist/src/cli-commands/skills/publish-skill.d.ts +1 -1
  91. package/dist/src/cli-commands/skills/publish-skill.d.ts.map +1 -1
  92. package/dist/src/cli-commands/skills/publish-skill.js +37 -52
  93. package/dist/src/cli-commands/skills/publish-skill.js.map +1 -1
  94. package/dist/src/cli-commands/skills/rename/command.d.ts +16 -0
  95. package/dist/src/cli-commands/skills/rename/command.d.ts.map +1 -0
  96. package/dist/src/cli-commands/skills/rename/command.js +62 -0
  97. package/dist/src/cli-commands/skills/rename/command.js.map +1 -0
  98. package/dist/src/cli-commands/skills/rename/handler.d.ts +20 -0
  99. package/dist/src/cli-commands/skills/rename/handler.d.ts.map +1 -0
  100. package/dist/src/cli-commands/skills/rename/handler.js +77 -0
  101. package/dist/src/cli-commands/skills/rename/handler.js.map +1 -0
  102. package/dist/src/cli-commands/skills/rename/rename-skill.d.ts +25 -0
  103. package/dist/src/cli-commands/skills/rename/rename-skill.d.ts.map +1 -0
  104. package/dist/src/cli-commands/skills/rename/rename-skill.js +110 -0
  105. package/dist/src/cli-commands/skills/rename/rename-skill.js.map +1 -0
  106. package/dist/src/cli-commands/skills/uninstall/handler.d.ts +1 -1
  107. package/dist/src/cli-commands/skills/uninstall/handler.d.ts.map +1 -1
  108. package/dist/src/cli-commands/skills/uninstall/handler.js +12 -1
  109. package/dist/src/cli-commands/skills/uninstall/handler.js.map +1 -1
  110. package/dist/src/cli-commands/skills/uninstall/uninstall-skill.d.ts +1 -1
  111. package/dist/src/cli-commands/skills/uninstall/uninstall-skill.d.ts.map +1 -1
  112. package/dist/src/cli-commands/skills/uninstall/uninstall-skill.js +14 -23
  113. package/dist/src/cli-commands/skills/uninstall/uninstall-skill.js.map +1 -1
  114. package/dist/src/cli-commands/skills/update/build-plan.d.ts +7 -2
  115. package/dist/src/cli-commands/skills/update/build-plan.d.ts.map +1 -1
  116. package/dist/src/cli-commands/skills/update/build-plan.js +28 -20
  117. package/dist/src/cli-commands/skills/update/build-plan.js.map +1 -1
  118. package/dist/src/cli-commands/skills/update/handler.d.ts +11 -20
  119. package/dist/src/cli-commands/skills/update/handler.d.ts.map +1 -1
  120. package/dist/src/cli-commands/skills/update/handler.js +161 -90
  121. package/dist/src/cli-commands/skills/update/handler.js.map +1 -1
  122. package/dist/src/cli-commands/skills/utils.d.ts +2 -16
  123. package/dist/src/cli-commands/skills/utils.d.ts.map +1 -1
  124. package/dist/src/cli-commands/skills/utils.js +36 -20
  125. package/dist/src/cli-commands/skills/utils.js.map +1 -1
  126. package/dist/src/cli-error/cli-error.d.ts +21 -0
  127. package/dist/src/cli-error/cli-error.d.ts.map +1 -0
  128. package/dist/src/cli-error/cli-error.js +12 -0
  129. package/dist/src/cli-error/cli-error.js.map +1 -0
  130. package/dist/src/cli-error/index.d.ts +3 -0
  131. package/dist/src/cli-error/index.d.ts.map +1 -0
  132. package/dist/src/cli-error/index.js +3 -0
  133. package/dist/src/cli-error/index.js.map +1 -0
  134. package/dist/src/cli-error/render.d.ts +4 -0
  135. package/dist/src/cli-error/render.d.ts.map +1 -0
  136. package/dist/src/cli-error/render.js +25 -0
  137. package/dist/src/cli-error/render.js.map +1 -0
  138. package/dist/src/extensions/skills/index.d.ts +0 -5
  139. package/dist/src/extensions/skills/index.d.ts.map +1 -1
  140. package/dist/src/extensions/skills/index.js +1 -4
  141. package/dist/src/extensions/skills/index.js.map +1 -1
  142. package/dist/src/extensions/skills/state/index.d.ts +2 -2
  143. package/dist/src/extensions/skills/state/index.d.ts.map +1 -1
  144. package/dist/src/extensions/skills/state/index.js +1 -1
  145. package/dist/src/extensions/skills/state/index.js.map +1 -1
  146. package/dist/src/extensions/skills/state/pure-functions.d.ts +4 -29
  147. package/dist/src/extensions/skills/state/pure-functions.d.ts.map +1 -1
  148. package/dist/src/extensions/skills/state/pure-functions.js +4 -37
  149. package/dist/src/extensions/skills/state/pure-functions.js.map +1 -1
  150. package/dist/src/extensions/skills/state/types.d.ts +0 -1
  151. package/dist/src/extensions/skills/state/types.d.ts.map +1 -1
  152. package/dist/src/extensions/skills/state/types.js.map +1 -1
  153. package/dist/src/extensions/skills/types.d.ts +0 -40
  154. package/dist/src/extensions/skills/types.d.ts.map +1 -1
  155. package/dist/src/extensions/skills/types.js +0 -1
  156. package/dist/src/extensions/skills/types.js.map +1 -1
  157. package/dist/src/git/errors.d.ts +1 -2
  158. package/dist/src/git/errors.d.ts.map +1 -1
  159. package/dist/src/git/errors.js +0 -1
  160. package/dist/src/git/errors.js.map +1 -1
  161. package/dist/src/git/index.d.ts +0 -1
  162. package/dist/src/git/index.d.ts.map +1 -1
  163. package/dist/src/git/index.js +0 -1
  164. package/dist/src/git/index.js.map +1 -1
  165. package/dist/src/git/operations.d.ts +7 -7
  166. package/dist/src/git/operations.d.ts.map +1 -1
  167. package/dist/src/git/operations.js +22 -19
  168. package/dist/src/git/operations.js.map +1 -1
  169. package/dist/src/lockfile/index.d.ts +1 -2
  170. package/dist/src/lockfile/index.d.ts.map +1 -1
  171. package/dist/src/lockfile/index.js +2 -1
  172. package/dist/src/lockfile/index.js.map +1 -1
  173. package/dist/src/lockfile/lockfile.d.ts +77 -51
  174. package/dist/src/lockfile/lockfile.d.ts.map +1 -1
  175. package/dist/src/lockfile/lockfile.js +27 -51
  176. package/dist/src/lockfile/lockfile.js.map +1 -1
  177. package/dist/src/resolution/index.d.ts +0 -1
  178. package/dist/src/resolution/index.d.ts.map +1 -1
  179. package/dist/src/resolution/index.js +0 -2
  180. package/dist/src/resolution/index.js.map +1 -1
  181. package/dist/src/resolution/resolver.d.ts +2 -2
  182. package/dist/src/resolution/resolver.d.ts.map +1 -1
  183. package/dist/src/resolution/resolver.js +1 -1
  184. package/dist/src/resolution/resolver.js.map +1 -1
  185. package/dist/src/resolution/resolvers/ambiguous.js +1 -1
  186. package/dist/src/resolution/resolvers/ambiguous.js.map +1 -1
  187. package/dist/src/resolution/resolvers/axm-name.d.ts.map +1 -1
  188. package/dist/src/resolution/resolvers/axm-name.js +1 -1
  189. package/dist/src/resolution/resolvers/axm-name.js.map +1 -1
  190. package/dist/src/resolution/resolvers/bare-name.js +1 -1
  191. package/dist/src/resolution/resolvers/bare-name.js.map +1 -1
  192. package/dist/src/resolution/resolvers/explicit-source.d.ts.map +1 -1
  193. package/dist/src/resolution/resolvers/explicit-source.js +1 -1
  194. package/dist/src/resolution/resolvers/explicit-source.js.map +1 -1
  195. package/dist/src/resolution/resolvers/local-path.d.ts.map +1 -1
  196. package/dist/src/resolution/resolvers/local-path.js +1 -1
  197. package/dist/src/resolution/resolvers/local-path.js.map +1 -1
  198. package/dist/src/resolution/resolvers/url.d.ts.map +1 -1
  199. package/dist/src/resolution/resolvers/url.js +1 -1
  200. package/dist/src/resolution/resolvers/url.js.map +1 -1
  201. package/dist/src/runtime/error-handling.d.ts +10 -0
  202. package/dist/src/runtime/error-handling.d.ts.map +1 -0
  203. package/dist/src/runtime/error-handling.js +10 -0
  204. package/dist/src/runtime/error-handling.js.map +1 -0
  205. package/dist/src/runtime/index.d.ts +5 -4
  206. package/dist/src/runtime/index.d.ts.map +1 -1
  207. package/dist/src/runtime/index.js +11 -4
  208. package/dist/src/runtime/index.js.map +1 -1
  209. package/dist/src/settings/format-preserving-json.d.ts +1 -2
  210. package/dist/src/settings/format-preserving-json.d.ts.map +1 -1
  211. package/dist/src/settings/format-preserving-json.js +7 -7
  212. package/dist/src/settings/format-preserving-json.js.map +1 -1
  213. package/dist/src/settings/index.d.ts +5 -4
  214. package/dist/src/settings/index.d.ts.map +1 -1
  215. package/dist/src/settings/index.js +4 -2
  216. package/dist/src/settings/index.js.map +1 -1
  217. package/dist/src/settings/schema.d.ts +48 -8
  218. package/dist/src/settings/schema.d.ts.map +1 -1
  219. package/dist/src/settings/schema.js +26 -7
  220. package/dist/src/settings/schema.js.map +1 -1
  221. package/dist/src/settings/settings.d.ts +10 -52
  222. package/dist/src/settings/settings.d.ts.map +1 -1
  223. package/dist/src/settings/settings.js +22 -48
  224. package/dist/src/settings/settings.js.map +1 -1
  225. package/dist/src/settings/skill-entry.d.ts +44 -0
  226. package/dist/src/settings/skill-entry.d.ts.map +1 -0
  227. package/dist/src/settings/skill-entry.js +58 -0
  228. package/dist/src/settings/skill-entry.js.map +1 -0
  229. package/dist/src/sources/azurerepos/repo-exists.d.ts +2 -2
  230. package/dist/src/sources/azurerepos/repo-exists.d.ts.map +1 -1
  231. package/dist/src/sources/azurerepos/repo-exists.js +9 -7
  232. package/dist/src/sources/azurerepos/repo-exists.js.map +1 -1
  233. package/dist/src/sources/azurerepos/scp.d.ts +1 -2
  234. package/dist/src/sources/azurerepos/scp.d.ts.map +1 -1
  235. package/dist/src/sources/azurerepos/scp.js +6 -2
  236. package/dist/src/sources/azurerepos/scp.js.map +1 -1
  237. package/dist/src/sources/azurerepos/url.d.ts +1 -2
  238. package/dist/src/sources/azurerepos/url.d.ts.map +1 -1
  239. package/dist/src/sources/azurerepos/url.js +11 -3
  240. package/dist/src/sources/azurerepos/url.js.map +1 -1
  241. package/dist/src/sources/bitbucket/resolve-repo.d.ts +2 -2
  242. package/dist/src/sources/bitbucket/resolve-repo.d.ts.map +1 -1
  243. package/dist/src/sources/bitbucket/resolve-repo.js +5 -4
  244. package/dist/src/sources/bitbucket/resolve-repo.js.map +1 -1
  245. package/dist/src/sources/bitbucket/scp.d.ts +1 -2
  246. package/dist/src/sources/bitbucket/scp.d.ts.map +1 -1
  247. package/dist/src/sources/bitbucket/scp.js +6 -2
  248. package/dist/src/sources/bitbucket/scp.js.map +1 -1
  249. package/dist/src/sources/bitbucket/shorthand.d.ts +1 -1
  250. package/dist/src/sources/bitbucket/shorthand.d.ts.map +1 -1
  251. package/dist/src/sources/bitbucket/url.d.ts +1 -2
  252. package/dist/src/sources/bitbucket/url.d.ts.map +1 -1
  253. package/dist/src/sources/bitbucket/url.js +11 -3
  254. package/dist/src/sources/bitbucket/url.js.map +1 -1
  255. package/dist/src/sources/clone-url.d.ts +3 -4
  256. package/dist/src/sources/clone-url.d.ts.map +1 -1
  257. package/dist/src/sources/clone-url.js +6 -6
  258. package/dist/src/sources/clone-url.js.map +1 -1
  259. package/dist/src/sources/github/api.d.ts +3 -21
  260. package/dist/src/sources/github/api.d.ts.map +1 -1
  261. package/dist/src/sources/github/api.js +16 -28
  262. package/dist/src/sources/github/api.js.map +1 -1
  263. package/dist/src/sources/github/index.d.ts +1 -1
  264. package/dist/src/sources/github/index.d.ts.map +1 -1
  265. package/dist/src/sources/github/index.js +1 -1
  266. package/dist/src/sources/github/index.js.map +1 -1
  267. package/dist/src/sources/github/resolve-repo.d.ts +2 -2
  268. package/dist/src/sources/github/resolve-repo.d.ts.map +1 -1
  269. package/dist/src/sources/github/resolve-repo.js +5 -4
  270. package/dist/src/sources/github/resolve-repo.js.map +1 -1
  271. package/dist/src/sources/github/scp.d.ts +1 -2
  272. package/dist/src/sources/github/scp.d.ts.map +1 -1
  273. package/dist/src/sources/github/scp.js +6 -2
  274. package/dist/src/sources/github/scp.js.map +1 -1
  275. package/dist/src/sources/github/shorthand.d.ts +1 -1
  276. package/dist/src/sources/github/shorthand.d.ts.map +1 -1
  277. package/dist/src/sources/github/url.d.ts +1 -2
  278. package/dist/src/sources/github/url.d.ts.map +1 -1
  279. package/dist/src/sources/github/url.js +11 -3
  280. package/dist/src/sources/github/url.js.map +1 -1
  281. package/dist/src/sources/gitlab/resolve-repo.d.ts +2 -2
  282. package/dist/src/sources/gitlab/resolve-repo.d.ts.map +1 -1
  283. package/dist/src/sources/gitlab/resolve-repo.js +5 -4
  284. package/dist/src/sources/gitlab/resolve-repo.js.map +1 -1
  285. package/dist/src/sources/gitlab/scp.d.ts +1 -2
  286. package/dist/src/sources/gitlab/scp.d.ts.map +1 -1
  287. package/dist/src/sources/gitlab/scp.js +6 -2
  288. package/dist/src/sources/gitlab/scp.js.map +1 -1
  289. package/dist/src/sources/gitlab/shorthand.d.ts +1 -1
  290. package/dist/src/sources/gitlab/shorthand.d.ts.map +1 -1
  291. package/dist/src/sources/gitlab/url.d.ts +1 -2
  292. package/dist/src/sources/gitlab/url.d.ts.map +1 -1
  293. package/dist/src/sources/gitlab/url.js +11 -3
  294. package/dist/src/sources/gitlab/url.js.map +1 -1
  295. package/dist/src/sources/index.d.ts +0 -4
  296. package/dist/src/sources/index.d.ts.map +1 -1
  297. package/dist/src/sources/index.js +2 -3
  298. package/dist/src/sources/index.js.map +1 -1
  299. package/dist/src/sources/local/parser.d.ts +2 -2
  300. package/dist/src/sources/local/parser.d.ts.map +1 -1
  301. package/dist/src/sources/local/parser.js.map +1 -1
  302. package/dist/src/sources/parse-provider-shorthand.d.ts +2 -3
  303. package/dist/src/sources/parse-provider-shorthand.d.ts.map +1 -1
  304. package/dist/src/sources/parse-provider-shorthand.js +7 -3
  305. package/dist/src/sources/parse-provider-shorthand.js.map +1 -1
  306. package/dist/src/sources/provider.d.ts +5 -44
  307. package/dist/src/sources/provider.d.ts.map +1 -1
  308. package/dist/src/sources/provider.js +12 -26
  309. package/dist/src/sources/provider.js.map +1 -1
  310. package/dist/src/sources/providers/azurerepos.js +7 -7
  311. package/dist/src/sources/providers/azurerepos.js.map +1 -1
  312. package/dist/src/sources/providers/git-hosting.d.ts +3 -3
  313. package/dist/src/sources/providers/git-hosting.d.ts.map +1 -1
  314. package/dist/src/sources/providers/git-hosting.js +14 -33
  315. package/dist/src/sources/providers/git-hosting.js.map +1 -1
  316. package/dist/src/sources/providers/git.js +7 -7
  317. package/dist/src/sources/providers/git.js.map +1 -1
  318. package/dist/src/sources/providers/local.d.ts.map +1 -1
  319. package/dist/src/sources/providers/local.js +7 -18
  320. package/dist/src/sources/providers/local.js.map +1 -1
  321. package/dist/src/sources/providers/registry.d.ts +5 -5
  322. package/dist/src/sources/providers/registry.d.ts.map +1 -1
  323. package/dist/src/sources/providers/registry.js +136 -92
  324. package/dist/src/sources/providers/registry.js.map +1 -1
  325. package/dist/src/sources/registry-guard.d.ts +2 -3
  326. package/dist/src/sources/registry-guard.d.ts.map +1 -1
  327. package/dist/src/sources/registry-guard.js +8 -6
  328. package/dist/src/sources/registry-guard.js.map +1 -1
  329. package/dist/src/sources/resolve-source.d.ts +3 -3
  330. package/dist/src/sources/resolve-source.d.ts.map +1 -1
  331. package/dist/src/sources/resolve-source.js +83 -49
  332. package/dist/src/sources/resolve-source.js.map +1 -1
  333. package/dist/src/sources/service.d.ts +3 -4
  334. package/dist/src/sources/service.d.ts.map +1 -1
  335. package/dist/src/sources/service.js +8 -5
  336. package/dist/src/sources/service.js.map +1 -1
  337. package/dist/src/tui/confirm/service.d.ts +2 -2
  338. package/dist/src/tui/confirm/service.d.ts.map +1 -1
  339. package/dist/src/tui/confirm/service.js.map +1 -1
  340. package/dist/src/tui/errors.d.ts +0 -9
  341. package/dist/src/tui/errors.d.ts.map +1 -1
  342. package/dist/src/tui/errors.js +0 -2
  343. package/dist/src/tui/errors.js.map +1 -1
  344. package/dist/src/tui/index.d.ts +1 -1
  345. package/dist/src/tui/index.d.ts.map +1 -1
  346. package/dist/src/tui/index.js +1 -1
  347. package/dist/src/tui/index.js.map +1 -1
  348. package/dist/src/tui/multiselect/service.d.ts +3 -2
  349. package/dist/src/tui/multiselect/service.d.ts.map +1 -1
  350. package/dist/src/tui/multiselect/service.js +7 -5
  351. package/dist/src/tui/multiselect/service.js.map +1 -1
  352. package/dist/src/tui/password-input/service.d.ts +3 -2
  353. package/dist/src/tui/password-input/service.d.ts.map +1 -1
  354. package/dist/src/tui/password-input/service.js +7 -5
  355. package/dist/src/tui/password-input/service.js.map +1 -1
  356. package/dist/src/tui/select/service.d.ts +3 -2
  357. package/dist/src/tui/select/service.d.ts.map +1 -1
  358. package/dist/src/tui/select/service.js +5 -5
  359. package/dist/src/tui/select/service.js.map +1 -1
  360. package/dist/src/tui/spinner/index.d.ts +1 -1
  361. package/dist/src/tui/spinner/index.d.ts.map +1 -1
  362. package/dist/src/tui/spinner/service.d.ts +1 -5
  363. package/dist/src/tui/spinner/service.d.ts.map +1 -1
  364. package/dist/src/tui/spinner/service.js +25 -12
  365. package/dist/src/tui/spinner/service.js.map +1 -1
  366. package/dist/src/tui/spinner/test.d.ts +3 -0
  367. package/dist/src/tui/spinner/test.d.ts.map +1 -1
  368. package/dist/src/tui/spinner/test.js +9 -0
  369. package/dist/src/tui/spinner/test.js.map +1 -1
  370. package/dist/src/tui/spinner/types.d.ts +5 -0
  371. package/dist/src/tui/spinner/types.d.ts.map +1 -1
  372. package/dist/src/tui/text-input/service.d.ts +2 -2
  373. package/dist/src/tui/text-input/service.d.ts.map +1 -1
  374. package/dist/src/tui/text-input/service.js.map +1 -1
  375. package/dist/src/utils/create-symlink.d.ts +1 -14
  376. package/dist/src/utils/create-symlink.d.ts.map +1 -1
  377. package/dist/src/utils/create-symlink.js +17 -15
  378. package/dist/src/utils/create-symlink.js.map +1 -1
  379. package/dist/src/utils/index.d.ts +1 -2
  380. package/dist/src/utils/index.d.ts.map +1 -1
  381. package/dist/src/utils/index.js +1 -2
  382. package/dist/src/utils/index.js.map +1 -1
  383. package/dist/src/workspace/apply-plan.d.ts +5 -17
  384. package/dist/src/workspace/apply-plan.d.ts.map +1 -1
  385. package/dist/src/workspace/apply-plan.js +3 -12
  386. package/dist/src/workspace/apply-plan.js.map +1 -1
  387. package/dist/src/workspace/ensure-agents.d.ts +2 -15
  388. package/dist/src/workspace/ensure-agents.d.ts.map +1 -1
  389. package/dist/src/workspace/ensure-agents.js +7 -15
  390. package/dist/src/workspace/ensure-agents.js.map +1 -1
  391. package/dist/src/workspace/errors.d.ts +1 -1
  392. package/dist/src/workspace/errors.d.ts.map +1 -1
  393. package/dist/src/workspace/index.d.ts +1 -2
  394. package/dist/src/workspace/index.d.ts.map +1 -1
  395. package/dist/src/workspace/index.js +1 -2
  396. package/dist/src/workspace/index.js.map +1 -1
  397. package/dist/src/workspace/service.d.ts +30 -23
  398. package/dist/src/workspace/service.d.ts.map +1 -1
  399. package/dist/src/workspace/service.js +105 -38
  400. package/dist/src/workspace/service.js.map +1 -1
  401. package/package.json +1 -1
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Rename command yargs definition - wires handler to `axm skills rename`.
3
+ *
4
+ * @experimental This API is unstable and may change without notice.
5
+ */
6
+ import * as Option from "effect/Option";
7
+ import { run } from "../../../runtime/index.js";
8
+ import { handleRename } from "./handler.js";
9
+ // eslint-disable-next-line @typescript-eslint/no-empty-object-type -- yargs convention
10
+ export const renameCommand = {
11
+ command: "rename <old-name> <new-name>",
12
+ describe: "Rename a skill",
13
+ builder: (yargs) => yargs
14
+ .positional("old-name", {
15
+ type: "string",
16
+ describe: "Current name of the skill",
17
+ demandOption: true,
18
+ })
19
+ .positional("new-name", {
20
+ type: "string",
21
+ describe: "New name for the skill",
22
+ demandOption: true,
23
+ })
24
+ .option("global", {
25
+ type: "boolean",
26
+ describe: "Use global ~/.axm/ workspace",
27
+ default: false,
28
+ })
29
+ .option("yes", {
30
+ alias: "y",
31
+ type: "boolean",
32
+ describe: "Skip all confirmation prompts",
33
+ default: false,
34
+ })
35
+ .option("preview", {
36
+ type: "boolean",
37
+ describe: "Display plan without applying",
38
+ default: false,
39
+ })
40
+ .option("non-interactive", {
41
+ type: "boolean",
42
+ describe: "Disable all interactive prompts",
43
+ })
44
+ .example("$0 skills rename old-name new-name", "Rename a skill")
45
+ .example("$0 skills rename old-name new-name --preview", "Preview what would be renamed"),
46
+ handler: async (argv) => {
47
+ await run(handleRename({
48
+ oldName: argv["old-name"],
49
+ newName: argv["new-name"],
50
+ yes: argv.yes,
51
+ }), {
52
+ workspace: {
53
+ global: argv.global,
54
+ yes: argv.yes,
55
+ nonInteractive: Option.fromNullable(argv["non-interactive"]),
56
+ preview: argv.preview,
57
+ agents: Option.none(),
58
+ },
59
+ });
60
+ },
61
+ };
62
+ //# sourceMappingURL=command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/rename/command.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAW5C,uFAAuF;AACvF,MAAM,CAAC,MAAM,aAAa,GAAyC;IACjE,OAAO,EAAE,8BAA8B;IACvC,QAAQ,EAAE,gBAAgB;IAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK;SACF,UAAU,CAAC,UAAU,EAAE;QACtB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,2BAA2B;QACrC,YAAY,EAAE,IAAI;KACnB,CAAC;SACD,UAAU,CAAC,UAAU,EAAE;QACtB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,wBAAwB;QAClC,YAAY,EAAE,IAAI;KACnB,CAAC;SACD,MAAM,CAAC,QAAQ,EAAE;QAChB,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,8BAA8B;QACxC,OAAO,EAAE,KAAK;KACf,CAAC;SACD,MAAM,CAAC,KAAK,EAAE;QACb,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,+BAA+B;QACzC,OAAO,EAAE,KAAK;KACf,CAAC;SACD,MAAM,CAAC,SAAS,EAAE;QACjB,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,+BAA+B;QACzC,OAAO,EAAE,KAAK;KACf,CAAC;SACD,MAAM,CAAC,iBAAiB,EAAE;QACzB,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,iCAAiC;KAC5C,CAAC;SACD,OAAO,CAAC,oCAAoC,EAAE,gBAAgB,CAAC;SAC/D,OAAO,CAAC,8CAA8C,EAAE,+BAA+B,CAAC;IAC7F,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,MAAM,GAAG,CACP,YAAY,CAAC;YACX,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC;YACzB,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC;YACzB,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,EACF;YACE,SAAS,EAAE;gBACT,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,cAAc,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAC5D,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;aACtB;SACF,CACF,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Rename command handler - Effect-based orchestration for `axm skills rename`.
3
+ *
4
+ * Validates skill state then builds and resolves a single-step plan.
5
+ *
6
+ * @experimental This API is unstable and may change without notice.
7
+ */
8
+ import * as Effect from "effect/Effect";
9
+ import { Log } from "../../../tui/index.js";
10
+ import { Workspace } from "../../../workspace/index.js";
11
+ export interface RenameHandlerArgs {
12
+ /** Current name of the skill */
13
+ readonly oldName: string;
14
+ /** New name for the skill */
15
+ readonly newName: string;
16
+ /** Skip confirmations */
17
+ readonly yes: boolean;
18
+ }
19
+ export declare const handleRename: (args: RenameHandlerArgs) => Effect.Effect<undefined, import("../../../tui/errors.js").PromptCancelled | import("../../../cli-error/cli-error.js").CliError, import("../../../tui/index.js").Confirm | Log | import("@effect/platform/FileSystem").FileSystem | import("@effect/platform/Path").Path | Workspace>;
20
+ //# sourceMappingURL=handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/rename/handler.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AASxD,MAAM,WAAW,iBAAiB;IAChC,gCAAgC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,6BAA6B;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,yBAAyB;IACzB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CACvB;AAMD,eAAO,MAAM,YAAY,GAAI,MAAM,iBAAiB,yRAqET,CAAC"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Rename command handler - Effect-based orchestration for `axm skills rename`.
3
+ *
4
+ * Validates skill state then builds and resolves a single-step plan.
5
+ *
6
+ * @experimental This API is unstable and may change without notice.
7
+ */
8
+ import * as Effect from "effect/Effect";
9
+ import * as Option from "effect/Option";
10
+ import { makeCliError } from "../../../cli-error/index.js";
11
+ import { Log } from "../../../tui/index.js";
12
+ import { Workspace } from "../../../workspace/index.js";
13
+ import { renameSkill } from "./rename-skill.js";
14
+ // -----------------------------------------------------------------------------
15
+ // Main Handler
16
+ // -----------------------------------------------------------------------------
17
+ export const handleRename = (args) => Effect.gen(function* () {
18
+ const ws = yield* Workspace;
19
+ const log = yield* Log;
20
+ yield* log.info("axm skills rename");
21
+ // Load configured skills
22
+ const configuredSkills = yield* ws.getConfiguredSkills();
23
+ const entry = configuredSkills[args.oldName];
24
+ // Validate: old name exists
25
+ if (entry === undefined) {
26
+ return yield* makeCliError({
27
+ code: "SKILL_NOT_FOUND",
28
+ what: `Skill '${args.oldName}' not found`,
29
+ howToFix: "Run `axm skills list` to see available skills",
30
+ });
31
+ }
32
+ // Validate: skill is managed
33
+ if (!entry.managed) {
34
+ return yield* makeCliError({
35
+ code: "SKILL_NOT_MANAGED",
36
+ what: `Cannot rename unmanaged skill '${args.oldName}'`,
37
+ howToFix: "Only managed skills (installed via axm) can be renamed",
38
+ });
39
+ }
40
+ // Validate: new name doesn't conflict
41
+ if (configuredSkills[args.newName] !== undefined) {
42
+ return yield* makeCliError({
43
+ code: "SKILL_NAME_CONFLICT",
44
+ what: `Skill '${args.newName}' already exists`,
45
+ howToFix: "Choose a different name or uninstall the existing skill first",
46
+ });
47
+ }
48
+ // Build operation
49
+ const op = {
50
+ name: "rename-skill",
51
+ args: { oldName: args.oldName, newName: args.newName },
52
+ };
53
+ // Build single-step plan
54
+ const plan = {
55
+ name: "Rename skill",
56
+ description: Option.some(`Rename ${args.oldName} to ${args.newName}`),
57
+ jobs: [
58
+ {
59
+ concurrency: 1,
60
+ steps: [
61
+ {
62
+ _tag: "PlannedJobStep",
63
+ operation: op,
64
+ expectedResult: {
65
+ result: "success",
66
+ message: `Renamed ${args.oldName} to ${args.newName}`,
67
+ },
68
+ label: `${args.oldName} -> ${args.newName}`,
69
+ },
70
+ ],
71
+ },
72
+ ],
73
+ };
74
+ yield* ws.resolvePlan(plan, { "rename-skill": renameSkill });
75
+ yield* log.success("Done");
76
+ }).pipe(Effect.withSpan("Rename.handle"));
77
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/rename/handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Rename skill executor — renames files and updates settings/lockfile keys.
3
+ *
4
+ * Pipeline: read state → rename canonical dir → remove old symlinks →
5
+ * create new symlinks → rename settings/lockfile keys → sync lock agents.
6
+ *
7
+ * @experimental This API is unstable and may change without notice.
8
+ */
9
+ import * as FileSystem from "@effect/platform/FileSystem";
10
+ import * as Path from "@effect/platform/Path";
11
+ import type { OperationHandler } from "../../../workspace/apply-plan.js";
12
+ import { Workspace } from "../../../workspace/service.js";
13
+ import type { RenameSkillOperation } from "../operations.js";
14
+ /**
15
+ * Rename-skill operation handler.
16
+ *
17
+ * 1. Read configured agents, lock entry, settings entry (all by old name)
18
+ * 2. Rename canonical directory (old -> new)
19
+ * 3. Remove old agent symlinks
20
+ * 4. Create new agent symlinks
21
+ * 5. Rename settings/lockfile keys
22
+ * 6. Sync lock agents
23
+ */
24
+ export declare const renameSkill: OperationHandler<RenameSkillOperation, FileSystem.FileSystem | Path.Path | Workspace>;
25
+ //# sourceMappingURL=rename-skill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rename-skill.d.ts","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/rename/rename-skill.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAO9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAO7D;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,EAAE,gBAAgB,CACxC,oBAAoB,EACpB,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,CA+G3C,CAAC"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Rename skill executor — renames files and updates settings/lockfile keys.
3
+ *
4
+ * Pipeline: read state → rename canonical dir → remove old symlinks →
5
+ * create new symlinks → rename settings/lockfile keys → sync lock agents.
6
+ *
7
+ * @experimental This API is unstable and may change without notice.
8
+ */
9
+ import * as FileSystem from "@effect/platform/FileSystem";
10
+ import * as Path from "@effect/platform/Path";
11
+ import * as Effect from "effect/Effect";
12
+ import * as Option from "effect/Option";
13
+ import { getAgentById } from "../../../agents/registry.js";
14
+ import { makeCliError } from "../../../cli-error/index.js";
15
+ import { createSymlink } from "../../../utils/create-symlink.js";
16
+ import { copySkillDirectory } from "../copy-skill-directory.js";
17
+ import { Workspace } from "../../../workspace/service.js";
18
+ import { CANONICAL_SKILLS_DIR } from "../constants.js";
19
+ import { sanitizeName } from "../install/skill-utils.js";
20
+ // -----------------------------------------------------------------------------
21
+ // Public API
22
+ // -----------------------------------------------------------------------------
23
+ /**
24
+ * Rename-skill operation handler.
25
+ *
26
+ * 1. Read configured agents, lock entry, settings entry (all by old name)
27
+ * 2. Rename canonical directory (old -> new)
28
+ * 3. Remove old agent symlinks
29
+ * 4. Create new agent symlinks
30
+ * 5. Rename settings/lockfile keys
31
+ * 6. Sync lock agents
32
+ */
33
+ export const renameSkill = (op) => Effect.gen(function* () {
34
+ const fs = yield* FileSystem.FileSystem;
35
+ const path = yield* Path.Path;
36
+ const ws = yield* Workspace;
37
+ const axmDir = ws.path;
38
+ const base = path.dirname(axmDir);
39
+ const oldSanitized = sanitizeName(op.args.oldName);
40
+ const newSanitized = sanitizeName(op.args.newName);
41
+ // 1. Read workspace state
42
+ const configuredAgents = yield* ws.getConfiguredAgents();
43
+ const lockEntryOption = yield* ws.getLockedSkill(op.args.oldName).pipe(Effect.mapError((e) => makeCliError({
44
+ code: "RENAME_SKILL_LOCKFILE_READ_FAILED",
45
+ what: `Failed to read lockfile: ${e.what}`,
46
+ cause: e,
47
+ })));
48
+ if (Option.isNone(lockEntryOption)) {
49
+ return yield* makeCliError({
50
+ code: "RENAME_SKILL_NOT_FOUND",
51
+ what: `Lock entry for "${op.args.oldName}" not found in lockfile`,
52
+ });
53
+ }
54
+ const lockEntry = lockEntryOption.value;
55
+ const lockAgents = lockEntry.agents;
56
+ // 2. Rename canonical directory — files before state
57
+ const oldCanonical = path.join(base, CANONICAL_SKILLS_DIR, oldSanitized);
58
+ const newCanonical = path.join(base, CANONICAL_SKILLS_DIR, newSanitized);
59
+ yield* fs.rename(oldCanonical, newCanonical).pipe(Effect.mapError((e) => makeCliError({
60
+ code: "RENAME_SKILL_DIR_FAILED",
61
+ what: `Failed to rename skill directory from "${oldSanitized}" to "${newSanitized}"`,
62
+ cause: e,
63
+ })));
64
+ // Content path for symlinks (non-registry sources: same as canonical)
65
+ const contentPath = newCanonical;
66
+ // 3. Remove old agent symlinks (concurrent)
67
+ const allAgents = [...new Set([...lockAgents, ...configuredAgents])];
68
+ yield* Effect.forEach(allAgents, (agentId) => {
69
+ const maybeAgent = getAgentById(agentId);
70
+ if (Option.isNone(maybeAgent))
71
+ return Effect.void;
72
+ const agent = maybeAgent.value;
73
+ // Self-reference detection
74
+ const agentSkillsDir = path.resolve(base, agent.skills.dir);
75
+ const canonicalSkillsDir = path.resolve(base, CANONICAL_SKILLS_DIR);
76
+ if (agentSkillsDir === canonicalSkillsDir)
77
+ return Effect.void;
78
+ const agentSkillPath = path.join(base, agent.skills.dir, oldSanitized);
79
+ return fs
80
+ .remove(agentSkillPath, { recursive: true })
81
+ .pipe(Effect.catchAll(() => Effect.void));
82
+ }, { concurrency: "unbounded" });
83
+ // 4. Create new agent symlinks (concurrent)
84
+ yield* Effect.forEach(configuredAgents, (agentId) => {
85
+ const maybeAgent = getAgentById(agentId);
86
+ if (Option.isNone(maybeAgent))
87
+ return Effect.void;
88
+ const agent = maybeAgent.value;
89
+ // Self-reference detection
90
+ const agentSkillsDir = path.resolve(base, agent.skills.dir);
91
+ const canonicalSkillsDir = path.resolve(base, CANONICAL_SKILLS_DIR);
92
+ if (agentSkillsDir === canonicalSkillsDir)
93
+ return Effect.void;
94
+ const agentSkillPath = path.join(base, agent.skills.dir, newSanitized);
95
+ return createSymlink({ target: contentPath, link: agentSkillPath }).pipe(Effect.catchAll(() => copySkillDirectory(contentPath, agentSkillPath).pipe(Effect.catchAll(() => Effect.void))));
96
+ }, { concurrency: "unbounded" });
97
+ // 5. Rename settings/lockfile keys — state after files
98
+ yield* ws
99
+ .renameSkill(op.args.oldName, op.args.newName)
100
+ .pipe(Effect.catchAll(() => Effect.void));
101
+ // 6. Sync lock agents
102
+ yield* ws
103
+ .updateLockEntryAgents(op.args.newName, configuredAgents)
104
+ .pipe(Effect.catchAll(() => Effect.void));
105
+ return {
106
+ result: "success",
107
+ message: `Renamed ${op.args.oldName} to ${op.args.newName}`,
108
+ };
109
+ });
110
+ //# sourceMappingURL=rename-skill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rename-skill.js","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/rename/rename-skill.ts"],"names":[],"mappings":"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"}
@@ -36,5 +36,5 @@ export interface UninstallHandlerArgs {
36
36
  *
37
37
  * @experimental This API is unstable and may change without notice.
38
38
  */
39
- export declare const handleUninstall: (args: UninstallHandlerArgs) => Effect.Effect<void, import("../../../tui/errors.js").PromptError | import("../../../tui/errors.js").PromptCancelled | import("../../../lockfile/lockfile.js").LockfileError, import("../../../tui/index.js").Confirm | Log | import("@effect/platform/Path").Path | import("@effect/platform/FileSystem").FileSystem | Workspace>;
39
+ export declare const handleUninstall: (args: UninstallHandlerArgs) => Effect.Effect<void, import("../../../tui/errors.js").PromptCancelled | import("../../../cli-error/cli-error.js").CliError, import("../../../tui/index.js").Confirm | Log | import("@effect/platform/FileSystem").FileSystem | import("@effect/platform/Path").Path | Workspace>;
40
40
  //# sourceMappingURL=handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/uninstall/handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,SAAS,IAAI,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAUrE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,qDAAqD;IACrD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,yBAAyB;IACzB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CACvB;AAMD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,oBAAoB,sUA2CtD,CAAC"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/uninstall/handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,SAAS,IAAI,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAUrE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,qDAAqD;IACrD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,yBAAyB;IACzB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CACvB;AAMD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,oBAAoB,oRAuDZ,CAAC"}
@@ -36,6 +36,17 @@ export const handleUninstall = (args) => Effect.gen(function* () {
36
36
  const ws = yield* Workspace;
37
37
  const log = yield* Log;
38
38
  yield* log.info("axm skills uninstall");
39
+ // Check if the target is an unmanaged skill (bypass plan system entirely)
40
+ if (!args.skill.includes("*")) {
41
+ const configuredSkills = yield* ws.getConfiguredSkills();
42
+ const entry = configuredSkills[args.skill];
43
+ if (entry !== undefined && !entry.managed) {
44
+ yield* ws.removeSkill(args.skill);
45
+ yield* log.info(`Removed unmanaged skill marker '${args.skill}'`);
46
+ yield* log.success("Done");
47
+ return;
48
+ }
49
+ }
39
50
  // Step 1: Load lockfile
40
51
  const lockedSkills = yield* ws.getLockedSkills();
41
52
  const lockfile = { lockfileVersion: 1, skills: lockedSkills };
@@ -62,5 +73,5 @@ export const handleUninstall = (args) => Effect.gen(function* () {
62
73
  // Step 5: Resolve plan via workspace
63
74
  yield* ws.resolvePlan(plan, { "uninstall-skill": uninstallSkill });
64
75
  yield* log.success("Done");
65
- });
76
+ }).pipe(Effect.withSpan("Uninstall.handle"));
66
77
  //# sourceMappingURL=handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/uninstall/handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,SAAS,IAAI,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAkBtD,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEhF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAA0B,EAAE,EAAE,CAC5D,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC;IAC5B,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC;IAEvB,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAExC,wBAAwB;IACxB,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC;IACjD,MAAM,QAAQ,GAAG,EAAE,eAAe,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IAE9D,8BAA8B;IAC9B,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAExE,mCAAmC;IACnC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxD,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,8BAA8B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QAC7D,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAC5C,OAAO;IACT,CAAC;IAED,oFAAoF;IACpF,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEhE,2BAA2B;IAC3B,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CACnB,CAAC,IAAI,EAAE,EAAE,CACP,CAAC;QACC,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE;YACJ,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,KAAK;SACnB;KACF,CAAmC,CACvC,CAAC;IAEF,qBAAqB;IACrB,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAE3E,qCAAqC;IACrC,KAAK,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAC,CAAC;IAEnE,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/uninstall/handler.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  */
9
9
  import * as FileSystem from "@effect/platform/FileSystem";
10
10
  import * as Path from "@effect/platform/Path";
11
- import { type OperationHandler } from "../../../workspace/apply-plan.js";
11
+ import type { OperationHandler } from "../../../workspace/apply-plan.js";
12
12
  import { Workspace } from "../../../workspace/service.js";
13
13
  import type { UninstallSkillOperation } from "../operations.js";
14
14
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall-skill.d.ts","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/uninstall/uninstall-skill.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAI9C,OAAO,EAAkB,KAAK,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEzF,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AA8GhE;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,EAAE,gBAAgB,CAC3C,uBAAuB,EACvB,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,CAgH3C,CAAC"}
1
+ {"version":3,"file":"uninstall-skill.d.ts","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/uninstall/uninstall-skill.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAK9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AA0FhE;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,EAAE,gBAAgB,CAC3C,uBAAuB,EACvB,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,CA+G3C,CAAC"}
@@ -11,21 +11,11 @@ import * as Path from "@effect/platform/Path";
11
11
  import * as Effect from "effect/Effect";
12
12
  import * as Option from "effect/Option";
13
13
  import { getAgentById } from "../../../agents/registry.js";
14
- import { OperationError } from "../../../workspace/apply-plan.js";
14
+ import { makeCliError } from "../../../cli-error/index.js";
15
15
  import { Workspace } from "../../../workspace/service.js";
16
+ import { CANONICAL_SKILLS_DIR, REGISTRY_EXTENSIONS_DIR } from "../constants.js";
17
+ import { removeIfExists } from "../fs-helpers.js";
16
18
  import { sanitizeName } from "../install/skill-utils.js";
17
- // -----------------------------------------------------------------------------
18
- // Constants
19
- // -----------------------------------------------------------------------------
20
- const CANONICAL_SKILLS_DIR = ".agents/skills";
21
- const REGISTRY_EXTENSIONS_DIR = ".axm/extensions";
22
- // -----------------------------------------------------------------------------
23
- // Helpers
24
- // -----------------------------------------------------------------------------
25
- /**
26
- * Remove a directory if it exists, ignoring errors.
27
- */
28
- const removeIfExists = (fsService, dirPath) => fsService.exists(dirPath).pipe(Effect.catchAll(() => Effect.succeed(false)), Effect.flatMap((exists) => exists ? fsService.remove(dirPath, { recursive: true }).pipe(Effect.ignore) : Effect.void));
29
19
  /**
30
20
  * Remove a skill from ALL known canonical locations.
31
21
  *
@@ -102,9 +92,9 @@ export const uninstallSkill = (op) => Effect.gen(function* () {
102
92
  const base = path.dirname(axmDir);
103
93
  const sanitizedName = sanitizeName(op.args.skillName);
104
94
  // Read lockfile entry for this skill via Workspace
105
- const lockEntryOption = yield* ws.getLockedSkill(op.args.skillName).pipe(Effect.mapError((e) => new OperationError({
106
- operation: "uninstall-skill",
107
- message: `Failed to read lockfile: ${e.message}`,
95
+ const lockEntryOption = yield* ws.getLockedSkill(op.args.skillName).pipe(Effect.mapError((e) => makeCliError({
96
+ code: "UNINSTALL_SKILL_LOCKFILE_READ_FAILED",
97
+ what: `Failed to read lockfile: ${e.what}`,
108
98
  cause: e,
109
99
  })));
110
100
  const lockEntry = Option.getOrUndefined(lockEntryOption);
@@ -139,20 +129,21 @@ export const uninstallSkill = (op) => Effect.gen(function* () {
139
129
  const remainingAgents = lockAgents.filter((a) => !agentFilter.includes(a));
140
130
  if (remainingAgents.length > 0) {
141
131
  // Update lockfile entry with remaining agents via Workspace.setSkill
142
- const installedSkills = yield* ws.getInstalledSkills().pipe(Effect.mapError((e) => new OperationError({
143
- operation: "uninstall-skill",
144
- message: `Failed to read settings: ${e.message}`,
132
+ const installedSkills = yield* ws.getInstalledSkills().pipe(Effect.mapError((e) => makeCliError({
133
+ code: "UNINSTALL_SKILL_SETTINGS_READ_FAILED",
134
+ what: `Failed to read settings: ${e.what}`,
145
135
  cause: e,
146
136
  })));
147
- const currentSource = installedSkills[op.args.skillName] ?? lockEntry.type;
137
+ const entry = installedSkills[op.args.skillName];
138
+ const currentSource = (entry !== undefined ? Option.getOrUndefined(entry.source) : undefined) ?? lockEntry.type;
148
139
  yield* ws
149
140
  .setSkill(op.args.skillName, currentSource, {
150
141
  ...lockEntry,
151
142
  agents: remainingAgents,
152
143
  })
153
- .pipe(Effect.mapError((e) => new OperationError({
154
- operation: "uninstall-skill",
155
- message: `Failed to update lockfile: ${e.message}`,
144
+ .pipe(Effect.mapError((e) => makeCliError({
145
+ code: "UNINSTALL_SKILL_LOCKFILE_WRITE_FAILED",
146
+ what: `Failed to update lockfile: ${e.what}`,
156
147
  cause: e,
157
148
  })));
158
149
  const agentList = [...agentsToRemove].join(", ");
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall-skill.js","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/uninstall/uninstall-skill.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uninstall-skill.js","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/uninstall/uninstall-skill.ts"],"names":[],"mappings":"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"}
@@ -10,11 +10,16 @@
10
10
  import * as Option from "effect/Option";
11
11
  import type { Lockfile } from "../../../lockfile/schema.js";
12
12
  import type { Plan } from "../../../workspace/plan.js";
13
- import type { InstallSkillOperation } from "../operations.js";
13
+ import type { InstallSkillOperation, UninstallSkillOperation } from "../operations.js";
14
+ type UpdateOperation = InstallSkillOperation | UninstallSkillOperation;
14
15
  /**
15
16
  * Build an update plan by comparing operations against lockfile entries.
16
17
  *
18
+ * Accepts both install operations (compared against lockfile) and uninstall
19
+ * operations (rename cleanup — always marked as success).
20
+ *
17
21
  * Pure function -- no Effect needed.
18
22
  */
19
- export declare const buildUpdatePlan: (ops: ReadonlyArray<InstallSkillOperation>, lockfile: Lockfile, name: string, description: Option.Option<string>) => Plan<InstallSkillOperation>;
23
+ export declare const buildUpdatePlan: (ops: ReadonlyArray<UpdateOperation>, lockfile: Lockfile, name: string, description: Option.Option<string>) => Plan<UpdateOperation>;
24
+ export {};
20
25
  //# sourceMappingURL=build-plan.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"build-plan.d.ts","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/update/build-plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,6BAA6B,CAAC;AAC5E,OAAO,KAAK,EAAE,IAAI,EAAkB,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AA6C9D;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAC1B,KAAK,aAAa,CAAC,qBAAqB,CAAC,EACzC,UAAU,QAAQ,EAClB,MAAM,MAAM,EACZ,aAAa,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KACjC,IAAI,CAAC,qBAAqB,CA6B3B,CAAC"}
1
+ {"version":3,"file":"build-plan.d.ts","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/update/build-plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,6BAA6B,CAAC;AAC5E,OAAO,KAAK,EAAE,IAAI,EAAkB,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAMvF,KAAK,eAAe,GAAG,qBAAqB,GAAG,uBAAuB,CAAC;AA4EvE;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAC1B,KAAK,aAAa,CAAC,eAAe,CAAC,EACnC,UAAU,QAAQ,EAClB,MAAM,MAAM,EACZ,aAAa,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KACjC,IAAI,CAAC,eAAe,CAWrB,CAAC"}
@@ -41,11 +41,38 @@ const hasChanged = (op, entry) => {
41
41
  return true;
42
42
  };
43
43
  // -----------------------------------------------------------------------------
44
+ // Step builders
45
+ // -----------------------------------------------------------------------------
46
+ const buildInstallStep = (op, lockfile) => {
47
+ const entry = lockfile.skills[op.args.skill.name];
48
+ const needsUpdate = !entry || op.args.force || hasChanged(op, entry);
49
+ return {
50
+ _tag: "PlannedJobStep",
51
+ operation: op,
52
+ expectedResult: needsUpdate
53
+ ? { result: "success", message: `Updated ${op.args.skill.name}` }
54
+ : { result: "no-op", message: "already up to date" },
55
+ label: op.args.skill.name,
56
+ };
57
+ };
58
+ const buildUninstallStep = (op) => ({
59
+ _tag: "PlannedJobStep",
60
+ operation: op,
61
+ expectedResult: {
62
+ result: "success",
63
+ message: `Clean up ${op.args.skillName} (renamed)`,
64
+ },
65
+ label: `${op.args.skillName} (renamed)`,
66
+ });
67
+ // -----------------------------------------------------------------------------
44
68
  // Plan builder
45
69
  // -----------------------------------------------------------------------------
46
70
  /**
47
71
  * Build an update plan by comparing operations against lockfile entries.
48
72
  *
73
+ * Accepts both install operations (compared against lockfile) and uninstall
74
+ * operations (rename cleanup — always marked as success).
75
+ *
49
76
  * Pure function -- no Effect needed.
50
77
  */
51
78
  export const buildUpdatePlan = (ops, lockfile, name, description) => ({
@@ -54,26 +81,7 @@ export const buildUpdatePlan = (ops, lockfile, name, description) => ({
54
81
  jobs: [
55
82
  {
56
83
  concurrency: "unbounded",
57
- steps: ops.map((op) => {
58
- const entry = lockfile.skills[op.args.skill.name];
59
- const needsUpdate = !entry || op.args.force || hasChanged(op, entry);
60
- return needsUpdate
61
- ? {
62
- _tag: "PlannedJobStep",
63
- operation: op,
64
- expectedResult: {
65
- result: "success",
66
- message: `Updated ${op.args.skill.name}`,
67
- },
68
- label: op.args.skill.name,
69
- }
70
- : {
71
- _tag: "PlannedJobStep",
72
- operation: op,
73
- expectedResult: { result: "no-op", message: "already up to date" },
74
- label: op.args.skill.name,
75
- };
76
- }),
84
+ steps: ops.map((op) => op.name === "install-skill" ? buildInstallStep(op, lockfile) : buildUninstallStep(op)),
77
85
  },
78
86
  ],
79
87
  });
@@ -1 +1 @@
1
- {"version":3,"file":"build-plan.js","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/update/build-plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC,gFAAgF;AAChF,2DAA2D;AAC3D,gFAAgF;AAEhF,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;AAEzF,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,UAAU,GAAG,CAAC,EAAyB,EAAE,KAAqB,EAAW,EAAE;IAC/E,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;QAElC,qDAAqD;QACrD,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QAElE,OAAO,QAAQ,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC;IACzC,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,KAAK,CAAC,eAAe,CAAC;QAC1C,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE;YACnC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI;YAClB,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,WAAW;SACjD,CAAC,CAAC;IACL,CAAC;IAED,qDAAqD;IACrD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,GAAyC,EACzC,QAAkB,EAClB,IAAY,EACZ,WAAkC,EACL,EAAE,CAAC,CAAC;IACjC,IAAI;IACJ,WAAW;IACX,IAAI,EAAE;QACJ;YACE,WAAW,EAAE,WAAW;YACxB,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;gBACpB,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClD,MAAM,WAAW,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBAErE,OAAO,WAAW;oBAChB,CAAC,CAAE;wBACC,IAAI,EAAE,gBAAgB;wBACtB,SAAS,EAAE,EAAE;wBACb,cAAc,EAAE;4BACd,MAAM,EAAE,SAAS;4BACjB,OAAO,EAAE,WAAW,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;yBACzC;wBACD,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;qBACuB;oBACpD,CAAC,CAAE;wBACC,IAAI,EAAE,gBAAgB;wBACtB,SAAS,EAAE,EAAE;wBACb,cAAc,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE;wBAClE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;qBACuB,CAAC;YACzD,CAAC,CAAC;SACH;KACF;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"build-plan.js","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/update/build-plan.ts"],"names":[],"mappings":"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"}