@axm.sh/cli 0.0.6 → 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 (445) hide show
  1. package/dist/src/agents/claude-code/descriptor.d.ts.map +1 -1
  2. package/dist/src/agents/claude-code/descriptor.js +0 -2
  3. package/dist/src/agents/claude-code/descriptor.js.map +1 -1
  4. package/dist/src/agents/claude-code/index.d.ts +0 -2
  5. package/dist/src/agents/claude-code/index.d.ts.map +1 -1
  6. package/dist/src/agents/claude-code/index.js +0 -2
  7. package/dist/src/agents/claude-code/index.js.map +1 -1
  8. package/dist/src/agents/codex/descriptor.d.ts.map +1 -1
  9. package/dist/src/agents/codex/descriptor.js +0 -2
  10. package/dist/src/agents/codex/descriptor.js.map +1 -1
  11. package/dist/src/agents/codex/index.d.ts +0 -2
  12. package/dist/src/agents/codex/index.d.ts.map +1 -1
  13. package/dist/src/agents/codex/index.js +0 -2
  14. package/dist/src/agents/codex/index.js.map +1 -1
  15. package/dist/src/agents/continue/descriptor.d.ts.map +1 -1
  16. package/dist/src/agents/continue/descriptor.js +0 -2
  17. package/dist/src/agents/continue/descriptor.js.map +1 -1
  18. package/dist/src/agents/continue/index.d.ts +0 -1
  19. package/dist/src/agents/continue/index.d.ts.map +1 -1
  20. package/dist/src/agents/continue/index.js +0 -1
  21. package/dist/src/agents/continue/index.js.map +1 -1
  22. package/dist/src/agents/cursor/descriptor.d.ts.map +1 -1
  23. package/dist/src/agents/cursor/descriptor.js +0 -2
  24. package/dist/src/agents/cursor/descriptor.js.map +1 -1
  25. package/dist/src/agents/cursor/index.d.ts +0 -1
  26. package/dist/src/agents/cursor/index.d.ts.map +1 -1
  27. package/dist/src/agents/cursor/index.js +0 -1
  28. package/dist/src/agents/cursor/index.js.map +1 -1
  29. package/dist/src/agents/detection.d.ts +13 -55
  30. package/dist/src/agents/detection.d.ts.map +1 -1
  31. package/dist/src/agents/detection.js +27 -84
  32. package/dist/src/agents/detection.js.map +1 -1
  33. package/dist/src/agents/index.d.ts +1 -3
  34. package/dist/src/agents/index.d.ts.map +1 -1
  35. package/dist/src/agents/index.js +1 -4
  36. package/dist/src/agents/index.js.map +1 -1
  37. package/dist/src/agents/opencode/descriptor.d.ts.map +1 -1
  38. package/dist/src/agents/opencode/descriptor.js +0 -2
  39. package/dist/src/agents/opencode/descriptor.js.map +1 -1
  40. package/dist/src/agents/opencode/index.d.ts +0 -1
  41. package/dist/src/agents/opencode/index.d.ts.map +1 -1
  42. package/dist/src/agents/opencode/index.js +0 -1
  43. package/dist/src/agents/opencode/index.js.map +1 -1
  44. package/dist/src/agents/types.d.ts +1 -16
  45. package/dist/src/agents/types.d.ts.map +1 -1
  46. package/dist/src/agents/windsurf/descriptor.d.ts.map +1 -1
  47. package/dist/src/agents/windsurf/descriptor.js +0 -2
  48. package/dist/src/agents/windsurf/descriptor.js.map +1 -1
  49. package/dist/src/agents/windsurf/index.d.ts +0 -1
  50. package/dist/src/agents/windsurf/index.d.ts.map +1 -1
  51. package/dist/src/agents/windsurf/index.js +0 -1
  52. package/dist/src/agents/windsurf/index.js.map +1 -1
  53. package/dist/src/cli-commands/init/handler.d.ts +1 -1
  54. package/dist/src/cli-commands/init/handler.d.ts.map +1 -1
  55. package/dist/src/cli-commands/init/handler.js +1 -1
  56. package/dist/src/cli-commands/init/handler.js.map +1 -1
  57. package/dist/src/cli-commands/skills/command.d.ts.map +1 -1
  58. package/dist/src/cli-commands/skills/command.js +6 -0
  59. package/dist/src/cli-commands/skills/command.js.map +1 -1
  60. package/dist/src/cli-commands/skills/constants.d.ts +9 -0
  61. package/dist/src/cli-commands/skills/constants.d.ts.map +1 -0
  62. package/dist/src/cli-commands/skills/constants.js +9 -0
  63. package/dist/src/cli-commands/skills/constants.js.map +1 -0
  64. package/dist/src/cli-commands/skills/copy-skill.d.ts +1 -1
  65. package/dist/src/cli-commands/skills/copy-skill.d.ts.map +1 -1
  66. package/dist/src/cli-commands/skills/copy-skill.js +11 -24
  67. package/dist/src/cli-commands/skills/copy-skill.js.map +1 -1
  68. package/dist/src/cli-commands/skills/disable/command.d.ts +15 -0
  69. package/dist/src/cli-commands/skills/disable/command.d.ts.map +1 -0
  70. package/dist/src/cli-commands/skills/disable/command.js +56 -0
  71. package/dist/src/cli-commands/skills/disable/command.js.map +1 -0
  72. package/dist/src/cli-commands/skills/disable/disable-skill.d.ts +25 -0
  73. package/dist/src/cli-commands/skills/disable/disable-skill.d.ts.map +1 -0
  74. package/dist/src/cli-commands/skills/disable/disable-skill.js +101 -0
  75. package/dist/src/cli-commands/skills/disable/disable-skill.js.map +1 -0
  76. package/dist/src/cli-commands/skills/disable/handler.d.ts +18 -0
  77. package/dist/src/cli-commands/skills/disable/handler.d.ts.map +1 -0
  78. package/dist/src/cli-commands/skills/disable/handler.js +72 -0
  79. package/dist/src/cli-commands/skills/disable/handler.js.map +1 -0
  80. package/dist/src/cli-commands/skills/enable/command.d.ts +15 -0
  81. package/dist/src/cli-commands/skills/enable/command.d.ts.map +1 -0
  82. package/dist/src/cli-commands/skills/enable/command.js +56 -0
  83. package/dist/src/cli-commands/skills/enable/command.js.map +1 -0
  84. package/dist/src/cli-commands/skills/enable/enable-skill.d.ts +26 -0
  85. package/dist/src/cli-commands/skills/enable/enable-skill.d.ts.map +1 -0
  86. package/dist/src/cli-commands/skills/enable/enable-skill.js +138 -0
  87. package/dist/src/cli-commands/skills/enable/enable-skill.js.map +1 -0
  88. package/dist/src/cli-commands/skills/enable/handler.d.ts +18 -0
  89. package/dist/src/cli-commands/skills/enable/handler.d.ts.map +1 -0
  90. package/dist/src/cli-commands/skills/enable/handler.js +72 -0
  91. package/dist/src/cli-commands/skills/enable/handler.js.map +1 -0
  92. package/dist/src/cli-commands/skills/fork/handler.d.ts +4 -13
  93. package/dist/src/cli-commands/skills/fork/handler.d.ts.map +1 -1
  94. package/dist/src/cli-commands/skills/fork/handler.js +37 -29
  95. package/dist/src/cli-commands/skills/fork/handler.js.map +1 -1
  96. package/dist/src/cli-commands/skills/fs-helpers.d.ts +12 -0
  97. package/dist/src/cli-commands/skills/fs-helpers.d.ts.map +1 -0
  98. package/dist/src/cli-commands/skills/fs-helpers.js +12 -0
  99. package/dist/src/cli-commands/skills/fs-helpers.js.map +1 -0
  100. package/dist/src/cli-commands/skills/install/discover-skills.d.ts +3 -18
  101. package/dist/src/cli-commands/skills/install/discover-skills.d.ts.map +1 -1
  102. package/dist/src/cli-commands/skills/install/discover-skills.js +7 -20
  103. package/dist/src/cli-commands/skills/install/discover-skills.js.map +1 -1
  104. package/dist/src/cli-commands/skills/install/handler.d.ts +1 -16
  105. package/dist/src/cli-commands/skills/install/handler.d.ts.map +1 -1
  106. package/dist/src/cli-commands/skills/install/handler.js +20 -27
  107. package/dist/src/cli-commands/skills/install/handler.js.map +1 -1
  108. package/dist/src/cli-commands/skills/install/install-skill.d.ts +1 -1
  109. package/dist/src/cli-commands/skills/install/install-skill.d.ts.map +1 -1
  110. package/dist/src/cli-commands/skills/install/install-skill.js +12 -18
  111. package/dist/src/cli-commands/skills/install/install-skill.js.map +1 -1
  112. package/dist/src/cli-commands/skills/install/select-skills.d.ts +4 -5
  113. package/dist/src/cli-commands/skills/install/select-skills.d.ts.map +1 -1
  114. package/dist/src/cli-commands/skills/install/select-skills.js +13 -13
  115. package/dist/src/cli-commands/skills/install/select-skills.js.map +1 -1
  116. package/dist/src/cli-commands/skills/install/skill-utils.d.ts +1 -6
  117. package/dist/src/cli-commands/skills/install/skill-utils.d.ts.map +1 -1
  118. package/dist/src/cli-commands/skills/install/skill-utils.js +8 -4
  119. package/dist/src/cli-commands/skills/install/skill-utils.js.map +1 -1
  120. package/dist/src/cli-commands/skills/list/handler.d.ts +1 -1
  121. package/dist/src/cli-commands/skills/list/handler.d.ts.map +1 -1
  122. package/dist/src/cli-commands/skills/list/handler.js +1 -1
  123. package/dist/src/cli-commands/skills/list/handler.js.map +1 -1
  124. package/dist/src/cli-commands/skills/naming.d.ts +17 -0
  125. package/dist/src/cli-commands/skills/naming.d.ts.map +1 -0
  126. package/dist/src/cli-commands/skills/naming.js +20 -0
  127. package/dist/src/cli-commands/skills/naming.js.map +1 -0
  128. package/dist/src/cli-commands/skills/operations.d.ts +25 -1
  129. package/dist/src/cli-commands/skills/operations.d.ts.map +1 -1
  130. package/dist/src/cli-commands/skills/publish/handler.d.ts +1 -10
  131. package/dist/src/cli-commands/skills/publish/handler.d.ts.map +1 -1
  132. package/dist/src/cli-commands/skills/publish/handler.js +31 -47
  133. package/dist/src/cli-commands/skills/publish/handler.js.map +1 -1
  134. package/dist/src/cli-commands/skills/publish-skill.d.ts +1 -1
  135. package/dist/src/cli-commands/skills/publish-skill.d.ts.map +1 -1
  136. package/dist/src/cli-commands/skills/publish-skill.js +37 -52
  137. package/dist/src/cli-commands/skills/publish-skill.js.map +1 -1
  138. package/dist/src/cli-commands/skills/rename/command.d.ts +16 -0
  139. package/dist/src/cli-commands/skills/rename/command.d.ts.map +1 -0
  140. package/dist/src/cli-commands/skills/rename/command.js +62 -0
  141. package/dist/src/cli-commands/skills/rename/command.js.map +1 -0
  142. package/dist/src/cli-commands/skills/rename/handler.d.ts +20 -0
  143. package/dist/src/cli-commands/skills/rename/handler.d.ts.map +1 -0
  144. package/dist/src/cli-commands/skills/rename/handler.js +77 -0
  145. package/dist/src/cli-commands/skills/rename/handler.js.map +1 -0
  146. package/dist/src/cli-commands/skills/rename/rename-skill.d.ts +25 -0
  147. package/dist/src/cli-commands/skills/rename/rename-skill.d.ts.map +1 -0
  148. package/dist/src/cli-commands/skills/rename/rename-skill.js +110 -0
  149. package/dist/src/cli-commands/skills/rename/rename-skill.js.map +1 -0
  150. package/dist/src/cli-commands/skills/uninstall/handler.d.ts +1 -1
  151. package/dist/src/cli-commands/skills/uninstall/handler.d.ts.map +1 -1
  152. package/dist/src/cli-commands/skills/uninstall/handler.js +12 -1
  153. package/dist/src/cli-commands/skills/uninstall/handler.js.map +1 -1
  154. package/dist/src/cli-commands/skills/uninstall/uninstall-skill.d.ts +1 -1
  155. package/dist/src/cli-commands/skills/uninstall/uninstall-skill.d.ts.map +1 -1
  156. package/dist/src/cli-commands/skills/uninstall/uninstall-skill.js +14 -23
  157. package/dist/src/cli-commands/skills/uninstall/uninstall-skill.js.map +1 -1
  158. package/dist/src/cli-commands/skills/update/build-plan.d.ts +7 -2
  159. package/dist/src/cli-commands/skills/update/build-plan.d.ts.map +1 -1
  160. package/dist/src/cli-commands/skills/update/build-plan.js +28 -20
  161. package/dist/src/cli-commands/skills/update/build-plan.js.map +1 -1
  162. package/dist/src/cli-commands/skills/update/handler.d.ts +11 -20
  163. package/dist/src/cli-commands/skills/update/handler.d.ts.map +1 -1
  164. package/dist/src/cli-commands/skills/update/handler.js +161 -90
  165. package/dist/src/cli-commands/skills/update/handler.js.map +1 -1
  166. package/dist/src/cli-commands/skills/utils.d.ts +2 -16
  167. package/dist/src/cli-commands/skills/utils.d.ts.map +1 -1
  168. package/dist/src/cli-commands/skills/utils.js +36 -20
  169. package/dist/src/cli-commands/skills/utils.js.map +1 -1
  170. package/dist/src/cli-error/cli-error.d.ts +21 -0
  171. package/dist/src/cli-error/cli-error.d.ts.map +1 -0
  172. package/dist/src/cli-error/cli-error.js +12 -0
  173. package/dist/src/cli-error/cli-error.js.map +1 -0
  174. package/dist/src/cli-error/index.d.ts +3 -0
  175. package/dist/src/cli-error/index.d.ts.map +1 -0
  176. package/dist/src/cli-error/index.js +3 -0
  177. package/dist/src/cli-error/index.js.map +1 -0
  178. package/dist/src/cli-error/render.d.ts +4 -0
  179. package/dist/src/cli-error/render.d.ts.map +1 -0
  180. package/dist/src/cli-error/render.js +25 -0
  181. package/dist/src/cli-error/render.js.map +1 -0
  182. package/dist/src/extensions/skills/index.d.ts +0 -5
  183. package/dist/src/extensions/skills/index.d.ts.map +1 -1
  184. package/dist/src/extensions/skills/index.js +1 -4
  185. package/dist/src/extensions/skills/index.js.map +1 -1
  186. package/dist/src/extensions/skills/state/index.d.ts +2 -2
  187. package/dist/src/extensions/skills/state/index.d.ts.map +1 -1
  188. package/dist/src/extensions/skills/state/index.js +1 -1
  189. package/dist/src/extensions/skills/state/index.js.map +1 -1
  190. package/dist/src/extensions/skills/state/pure-functions.d.ts +4 -29
  191. package/dist/src/extensions/skills/state/pure-functions.d.ts.map +1 -1
  192. package/dist/src/extensions/skills/state/pure-functions.js +4 -37
  193. package/dist/src/extensions/skills/state/pure-functions.js.map +1 -1
  194. package/dist/src/extensions/skills/state/types.d.ts +0 -1
  195. package/dist/src/extensions/skills/state/types.d.ts.map +1 -1
  196. package/dist/src/extensions/skills/state/types.js.map +1 -1
  197. package/dist/src/extensions/skills/types.d.ts +0 -40
  198. package/dist/src/extensions/skills/types.d.ts.map +1 -1
  199. package/dist/src/extensions/skills/types.js +0 -1
  200. package/dist/src/extensions/skills/types.js.map +1 -1
  201. package/dist/src/git/errors.d.ts +1 -2
  202. package/dist/src/git/errors.d.ts.map +1 -1
  203. package/dist/src/git/errors.js +0 -1
  204. package/dist/src/git/errors.js.map +1 -1
  205. package/dist/src/git/index.d.ts +0 -1
  206. package/dist/src/git/index.d.ts.map +1 -1
  207. package/dist/src/git/index.js +0 -1
  208. package/dist/src/git/index.js.map +1 -1
  209. package/dist/src/git/operations.d.ts +7 -7
  210. package/dist/src/git/operations.d.ts.map +1 -1
  211. package/dist/src/git/operations.js +22 -19
  212. package/dist/src/git/operations.js.map +1 -1
  213. package/dist/src/lockfile/index.d.ts +1 -2
  214. package/dist/src/lockfile/index.d.ts.map +1 -1
  215. package/dist/src/lockfile/index.js +2 -1
  216. package/dist/src/lockfile/index.js.map +1 -1
  217. package/dist/src/lockfile/lockfile.d.ts +77 -51
  218. package/dist/src/lockfile/lockfile.d.ts.map +1 -1
  219. package/dist/src/lockfile/lockfile.js +27 -51
  220. package/dist/src/lockfile/lockfile.js.map +1 -1
  221. package/dist/src/resolution/index.d.ts +0 -1
  222. package/dist/src/resolution/index.d.ts.map +1 -1
  223. package/dist/src/resolution/index.js +0 -2
  224. package/dist/src/resolution/index.js.map +1 -1
  225. package/dist/src/resolution/resolver.d.ts +2 -2
  226. package/dist/src/resolution/resolver.d.ts.map +1 -1
  227. package/dist/src/resolution/resolver.js +1 -1
  228. package/dist/src/resolution/resolver.js.map +1 -1
  229. package/dist/src/resolution/resolvers/ambiguous.js +1 -1
  230. package/dist/src/resolution/resolvers/ambiguous.js.map +1 -1
  231. package/dist/src/resolution/resolvers/axm-name.d.ts.map +1 -1
  232. package/dist/src/resolution/resolvers/axm-name.js +1 -1
  233. package/dist/src/resolution/resolvers/axm-name.js.map +1 -1
  234. package/dist/src/resolution/resolvers/bare-name.js +1 -1
  235. package/dist/src/resolution/resolvers/bare-name.js.map +1 -1
  236. package/dist/src/resolution/resolvers/explicit-source.d.ts.map +1 -1
  237. package/dist/src/resolution/resolvers/explicit-source.js +1 -1
  238. package/dist/src/resolution/resolvers/explicit-source.js.map +1 -1
  239. package/dist/src/resolution/resolvers/local-path.d.ts.map +1 -1
  240. package/dist/src/resolution/resolvers/local-path.js +1 -1
  241. package/dist/src/resolution/resolvers/local-path.js.map +1 -1
  242. package/dist/src/resolution/resolvers/url.d.ts.map +1 -1
  243. package/dist/src/resolution/resolvers/url.js +1 -1
  244. package/dist/src/resolution/resolvers/url.js.map +1 -1
  245. package/dist/src/runtime/error-handling.d.ts +10 -0
  246. package/dist/src/runtime/error-handling.d.ts.map +1 -0
  247. package/dist/src/runtime/error-handling.js +10 -0
  248. package/dist/src/runtime/error-handling.js.map +1 -0
  249. package/dist/src/runtime/index.d.ts +5 -4
  250. package/dist/src/runtime/index.d.ts.map +1 -1
  251. package/dist/src/runtime/index.js +11 -4
  252. package/dist/src/runtime/index.js.map +1 -1
  253. package/dist/src/settings/format-preserving-json.d.ts +1 -2
  254. package/dist/src/settings/format-preserving-json.d.ts.map +1 -1
  255. package/dist/src/settings/format-preserving-json.js +7 -7
  256. package/dist/src/settings/format-preserving-json.js.map +1 -1
  257. package/dist/src/settings/index.d.ts +5 -4
  258. package/dist/src/settings/index.d.ts.map +1 -1
  259. package/dist/src/settings/index.js +4 -2
  260. package/dist/src/settings/index.js.map +1 -1
  261. package/dist/src/settings/schema.d.ts +48 -8
  262. package/dist/src/settings/schema.d.ts.map +1 -1
  263. package/dist/src/settings/schema.js +26 -7
  264. package/dist/src/settings/schema.js.map +1 -1
  265. package/dist/src/settings/settings.d.ts +10 -52
  266. package/dist/src/settings/settings.d.ts.map +1 -1
  267. package/dist/src/settings/settings.js +22 -48
  268. package/dist/src/settings/settings.js.map +1 -1
  269. package/dist/src/settings/skill-entry.d.ts +44 -0
  270. package/dist/src/settings/skill-entry.d.ts.map +1 -0
  271. package/dist/src/settings/skill-entry.js +58 -0
  272. package/dist/src/settings/skill-entry.js.map +1 -0
  273. package/dist/src/sources/azurerepos/repo-exists.d.ts +2 -2
  274. package/dist/src/sources/azurerepos/repo-exists.d.ts.map +1 -1
  275. package/dist/src/sources/azurerepos/repo-exists.js +9 -7
  276. package/dist/src/sources/azurerepos/repo-exists.js.map +1 -1
  277. package/dist/src/sources/azurerepos/scp.d.ts +1 -2
  278. package/dist/src/sources/azurerepos/scp.d.ts.map +1 -1
  279. package/dist/src/sources/azurerepos/scp.js +6 -2
  280. package/dist/src/sources/azurerepos/scp.js.map +1 -1
  281. package/dist/src/sources/azurerepos/url.d.ts +1 -2
  282. package/dist/src/sources/azurerepos/url.d.ts.map +1 -1
  283. package/dist/src/sources/azurerepos/url.js +11 -3
  284. package/dist/src/sources/azurerepos/url.js.map +1 -1
  285. package/dist/src/sources/bitbucket/resolve-repo.d.ts +2 -2
  286. package/dist/src/sources/bitbucket/resolve-repo.d.ts.map +1 -1
  287. package/dist/src/sources/bitbucket/resolve-repo.js +5 -4
  288. package/dist/src/sources/bitbucket/resolve-repo.js.map +1 -1
  289. package/dist/src/sources/bitbucket/scp.d.ts +1 -2
  290. package/dist/src/sources/bitbucket/scp.d.ts.map +1 -1
  291. package/dist/src/sources/bitbucket/scp.js +6 -2
  292. package/dist/src/sources/bitbucket/scp.js.map +1 -1
  293. package/dist/src/sources/bitbucket/shorthand.d.ts +1 -1
  294. package/dist/src/sources/bitbucket/shorthand.d.ts.map +1 -1
  295. package/dist/src/sources/bitbucket/url.d.ts +1 -2
  296. package/dist/src/sources/bitbucket/url.d.ts.map +1 -1
  297. package/dist/src/sources/bitbucket/url.js +11 -3
  298. package/dist/src/sources/bitbucket/url.js.map +1 -1
  299. package/dist/src/sources/clone-url.d.ts +3 -4
  300. package/dist/src/sources/clone-url.d.ts.map +1 -1
  301. package/dist/src/sources/clone-url.js +6 -6
  302. package/dist/src/sources/clone-url.js.map +1 -1
  303. package/dist/src/sources/github/api.d.ts +3 -21
  304. package/dist/src/sources/github/api.d.ts.map +1 -1
  305. package/dist/src/sources/github/api.js +16 -28
  306. package/dist/src/sources/github/api.js.map +1 -1
  307. package/dist/src/sources/github/index.d.ts +1 -1
  308. package/dist/src/sources/github/index.d.ts.map +1 -1
  309. package/dist/src/sources/github/index.js +1 -1
  310. package/dist/src/sources/github/index.js.map +1 -1
  311. package/dist/src/sources/github/resolve-repo.d.ts +2 -2
  312. package/dist/src/sources/github/resolve-repo.d.ts.map +1 -1
  313. package/dist/src/sources/github/resolve-repo.js +5 -4
  314. package/dist/src/sources/github/resolve-repo.js.map +1 -1
  315. package/dist/src/sources/github/scp.d.ts +1 -2
  316. package/dist/src/sources/github/scp.d.ts.map +1 -1
  317. package/dist/src/sources/github/scp.js +6 -2
  318. package/dist/src/sources/github/scp.js.map +1 -1
  319. package/dist/src/sources/github/shorthand.d.ts +1 -1
  320. package/dist/src/sources/github/shorthand.d.ts.map +1 -1
  321. package/dist/src/sources/github/url.d.ts +1 -2
  322. package/dist/src/sources/github/url.d.ts.map +1 -1
  323. package/dist/src/sources/github/url.js +11 -3
  324. package/dist/src/sources/github/url.js.map +1 -1
  325. package/dist/src/sources/gitlab/resolve-repo.d.ts +2 -2
  326. package/dist/src/sources/gitlab/resolve-repo.d.ts.map +1 -1
  327. package/dist/src/sources/gitlab/resolve-repo.js +5 -4
  328. package/dist/src/sources/gitlab/resolve-repo.js.map +1 -1
  329. package/dist/src/sources/gitlab/scp.d.ts +1 -2
  330. package/dist/src/sources/gitlab/scp.d.ts.map +1 -1
  331. package/dist/src/sources/gitlab/scp.js +6 -2
  332. package/dist/src/sources/gitlab/scp.js.map +1 -1
  333. package/dist/src/sources/gitlab/shorthand.d.ts +1 -1
  334. package/dist/src/sources/gitlab/shorthand.d.ts.map +1 -1
  335. package/dist/src/sources/gitlab/url.d.ts +1 -2
  336. package/dist/src/sources/gitlab/url.d.ts.map +1 -1
  337. package/dist/src/sources/gitlab/url.js +11 -3
  338. package/dist/src/sources/gitlab/url.js.map +1 -1
  339. package/dist/src/sources/index.d.ts +0 -4
  340. package/dist/src/sources/index.d.ts.map +1 -1
  341. package/dist/src/sources/index.js +2 -3
  342. package/dist/src/sources/index.js.map +1 -1
  343. package/dist/src/sources/local/parser.d.ts +2 -2
  344. package/dist/src/sources/local/parser.d.ts.map +1 -1
  345. package/dist/src/sources/local/parser.js.map +1 -1
  346. package/dist/src/sources/parse-provider-shorthand.d.ts +2 -3
  347. package/dist/src/sources/parse-provider-shorthand.d.ts.map +1 -1
  348. package/dist/src/sources/parse-provider-shorthand.js +7 -3
  349. package/dist/src/sources/parse-provider-shorthand.js.map +1 -1
  350. package/dist/src/sources/provider.d.ts +5 -44
  351. package/dist/src/sources/provider.d.ts.map +1 -1
  352. package/dist/src/sources/provider.js +12 -26
  353. package/dist/src/sources/provider.js.map +1 -1
  354. package/dist/src/sources/providers/azurerepos.js +7 -7
  355. package/dist/src/sources/providers/azurerepos.js.map +1 -1
  356. package/dist/src/sources/providers/git-hosting.d.ts +3 -3
  357. package/dist/src/sources/providers/git-hosting.d.ts.map +1 -1
  358. package/dist/src/sources/providers/git-hosting.js +14 -33
  359. package/dist/src/sources/providers/git-hosting.js.map +1 -1
  360. package/dist/src/sources/providers/git.js +7 -7
  361. package/dist/src/sources/providers/git.js.map +1 -1
  362. package/dist/src/sources/providers/local.d.ts.map +1 -1
  363. package/dist/src/sources/providers/local.js +7 -18
  364. package/dist/src/sources/providers/local.js.map +1 -1
  365. package/dist/src/sources/providers/registry.d.ts +5 -5
  366. package/dist/src/sources/providers/registry.d.ts.map +1 -1
  367. package/dist/src/sources/providers/registry.js +136 -92
  368. package/dist/src/sources/providers/registry.js.map +1 -1
  369. package/dist/src/sources/registry-guard.d.ts +2 -3
  370. package/dist/src/sources/registry-guard.d.ts.map +1 -1
  371. package/dist/src/sources/registry-guard.js +8 -6
  372. package/dist/src/sources/registry-guard.js.map +1 -1
  373. package/dist/src/sources/resolve-source.d.ts +3 -3
  374. package/dist/src/sources/resolve-source.d.ts.map +1 -1
  375. package/dist/src/sources/resolve-source.js +83 -49
  376. package/dist/src/sources/resolve-source.js.map +1 -1
  377. package/dist/src/sources/service.d.ts +3 -4
  378. package/dist/src/sources/service.d.ts.map +1 -1
  379. package/dist/src/sources/service.js +8 -5
  380. package/dist/src/sources/service.js.map +1 -1
  381. package/dist/src/tui/confirm/service.d.ts +2 -2
  382. package/dist/src/tui/confirm/service.d.ts.map +1 -1
  383. package/dist/src/tui/confirm/service.js.map +1 -1
  384. package/dist/src/tui/errors.d.ts +0 -9
  385. package/dist/src/tui/errors.d.ts.map +1 -1
  386. package/dist/src/tui/errors.js +0 -2
  387. package/dist/src/tui/errors.js.map +1 -1
  388. package/dist/src/tui/index.d.ts +1 -1
  389. package/dist/src/tui/index.d.ts.map +1 -1
  390. package/dist/src/tui/index.js +1 -1
  391. package/dist/src/tui/index.js.map +1 -1
  392. package/dist/src/tui/multiselect/service.d.ts +3 -2
  393. package/dist/src/tui/multiselect/service.d.ts.map +1 -1
  394. package/dist/src/tui/multiselect/service.js +7 -5
  395. package/dist/src/tui/multiselect/service.js.map +1 -1
  396. package/dist/src/tui/password-input/service.d.ts +3 -2
  397. package/dist/src/tui/password-input/service.d.ts.map +1 -1
  398. package/dist/src/tui/password-input/service.js +7 -5
  399. package/dist/src/tui/password-input/service.js.map +1 -1
  400. package/dist/src/tui/select/service.d.ts +3 -2
  401. package/dist/src/tui/select/service.d.ts.map +1 -1
  402. package/dist/src/tui/select/service.js +5 -5
  403. package/dist/src/tui/select/service.js.map +1 -1
  404. package/dist/src/tui/spinner/index.d.ts +1 -1
  405. package/dist/src/tui/spinner/index.d.ts.map +1 -1
  406. package/dist/src/tui/spinner/service.d.ts +1 -5
  407. package/dist/src/tui/spinner/service.d.ts.map +1 -1
  408. package/dist/src/tui/spinner/service.js +25 -12
  409. package/dist/src/tui/spinner/service.js.map +1 -1
  410. package/dist/src/tui/spinner/test.d.ts +3 -0
  411. package/dist/src/tui/spinner/test.d.ts.map +1 -1
  412. package/dist/src/tui/spinner/test.js +9 -0
  413. package/dist/src/tui/spinner/test.js.map +1 -1
  414. package/dist/src/tui/spinner/types.d.ts +5 -0
  415. package/dist/src/tui/spinner/types.d.ts.map +1 -1
  416. package/dist/src/tui/text-input/service.d.ts +2 -2
  417. package/dist/src/tui/text-input/service.d.ts.map +1 -1
  418. package/dist/src/tui/text-input/service.js.map +1 -1
  419. package/dist/src/utils/create-symlink.d.ts +1 -14
  420. package/dist/src/utils/create-symlink.d.ts.map +1 -1
  421. package/dist/src/utils/create-symlink.js +17 -15
  422. package/dist/src/utils/create-symlink.js.map +1 -1
  423. package/dist/src/utils/index.d.ts +1 -2
  424. package/dist/src/utils/index.d.ts.map +1 -1
  425. package/dist/src/utils/index.js +1 -2
  426. package/dist/src/utils/index.js.map +1 -1
  427. package/dist/src/workspace/apply-plan.d.ts +5 -17
  428. package/dist/src/workspace/apply-plan.d.ts.map +1 -1
  429. package/dist/src/workspace/apply-plan.js +3 -12
  430. package/dist/src/workspace/apply-plan.js.map +1 -1
  431. package/dist/src/workspace/ensure-agents.d.ts +2 -15
  432. package/dist/src/workspace/ensure-agents.d.ts.map +1 -1
  433. package/dist/src/workspace/ensure-agents.js +7 -15
  434. package/dist/src/workspace/ensure-agents.js.map +1 -1
  435. package/dist/src/workspace/errors.d.ts +1 -1
  436. package/dist/src/workspace/errors.d.ts.map +1 -1
  437. package/dist/src/workspace/index.d.ts +1 -2
  438. package/dist/src/workspace/index.d.ts.map +1 -1
  439. package/dist/src/workspace/index.js +1 -2
  440. package/dist/src/workspace/index.js.map +1 -1
  441. package/dist/src/workspace/service.d.ts +31 -24
  442. package/dist/src/workspace/service.d.ts.map +1 -1
  443. package/dist/src/workspace/service.js +110 -81
  444. package/dist/src/workspace/service.js.map +1 -1
  445. package/package.json +1 -1
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Shared naming utilities for scoped extension names (`@scope/name`).
3
+ *
4
+ * @experimental This API is unstable and may change without notice.
5
+ */
6
+ /**
7
+ * Parse `@scope/name` into its parts.
8
+ */
9
+ export declare const parseScopedName: (name: string) => {
10
+ readonly scope: string;
11
+ readonly skillName: string;
12
+ };
13
+ /**
14
+ * Determine whether the name already contains a scope (`@scope/name`).
15
+ */
16
+ export declare const hasScopePrefix: (name: string) => boolean;
17
+ //# sourceMappingURL=naming.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../../../../src/cli-commands/skills/naming.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe,GAC1B,MAAM,MAAM,KACX;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAMtD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,KAAG,OAAqD,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Shared naming utilities for scoped extension names (`@scope/name`).
3
+ *
4
+ * @experimental This API is unstable and may change without notice.
5
+ */
6
+ /**
7
+ * Parse `@scope/name` into its parts.
8
+ */
9
+ export const parseScopedName = (name) => {
10
+ const slashIdx = name.indexOf("/");
11
+ return {
12
+ scope: name.slice(0, slashIdx),
13
+ skillName: name.slice(slashIdx + 1),
14
+ };
15
+ };
16
+ /**
17
+ * Determine whether the name already contains a scope (`@scope/name`).
18
+ */
19
+ export const hasScopePrefix = (name) => name.startsWith("@") && name.includes("/");
20
+ //# sourceMappingURL=naming.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"naming.js","sourceRoot":"","sources":["../../../../src/cli-commands/skills/naming.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,IAAY,EAC4C,EAAE;IAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;QAC9B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;KACpC,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC"}
@@ -21,7 +21,6 @@ export interface Skill {
21
21
  /** Optional metadata from SKILL.md frontmatter */
22
22
  readonly metadata: Option<ReadonlyRecord<string, unknown>>;
23
23
  }
24
- export type { SkillRef } from "../../sources/provider.js";
25
24
  /**
26
25
  * Args for the install-skill operation.
27
26
  */
@@ -92,4 +91,29 @@ export type PublishSkillOperationArgs = {
92
91
  * @experimental This API is unstable and may change without notice.
93
92
  */
94
93
  export type PublishSkillOperation = Operation<"publish-skill", PublishSkillOperationArgs>;
94
+ /**
95
+ * Enable a previously disabled skill (re-install files and update state).
96
+ *
97
+ * @experimental This API is unstable and may change without notice.
98
+ */
99
+ export type EnableSkillOperation = Operation<"enable-skill", {
100
+ readonly skillName: string;
101
+ }>;
102
+ /**
103
+ * Disable a skill (remove files but keep settings/lockfile entry).
104
+ *
105
+ * @experimental This API is unstable and may change without notice.
106
+ */
107
+ export type DisableSkillOperation = Operation<"disable-skill", {
108
+ readonly skillName: string;
109
+ }>;
110
+ /**
111
+ * Rename a skill (rename files and update settings/lockfile keys).
112
+ *
113
+ * @experimental This API is unstable and may change without notice.
114
+ */
115
+ export type RenameSkillOperation = Operation<"rename-skill", {
116
+ readonly oldName: string;
117
+ readonly newName: string;
118
+ }>;
95
119
  //# sourceMappingURL=operations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../../../src/cli-commands/skills/operations.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAMzD;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC5D;AAED,YAAY,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAM1D;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;CACrC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,SAAS,CAAC,eAAe,EAAE,yBAAyB,CAAC,CAAC;AAE1F;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACxC;AAED;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG,SAAS,CAAC,iBAAiB,EAAE,2BAA2B,CAAC,CAAC;AAEhG;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,qDAAqD;IACrD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,+CAA+C;IAC/C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,wDAAwD;IACxD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC;AAEjF;;;;;GAKG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iDAAiD;IACjD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,SAAS,CAAC,eAAe,EAAE,yBAAyB,CAAC,CAAC"}
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../../../src/cli-commands/skills/operations.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAMzD;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC5D;AAMD;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;CACrC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,SAAS,CAAC,eAAe,EAAE,yBAAyB,CAAC,CAAC;AAE1F;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACxC;AAED;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG,SAAS,CAAC,iBAAiB,EAAE,2BAA2B,CAAC,CAAC;AAEhG;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,qDAAqD;IACrD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,+CAA+C;IAC/C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,wDAAwD;IACxD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC;AAEjF;;;;;GAKG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iDAAiD;IACjD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,SAAS,CAAC,eAAe,EAAE,yBAAyB,CAAC,CAAC;AAM1F;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,SAAS,CAAC,cAAc,EAAE;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE7F;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,SAAS,CAAC,eAAe,EAAE;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE/F;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,SAAS,CAC1C,cAAc,EACd;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CACvD,CAAC"}
@@ -27,17 +27,8 @@ export interface PublishHandlerArgs {
27
27
  /** Skip confirmations. */
28
28
  readonly yes: boolean;
29
29
  }
30
- declare const PublishError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
31
- readonly _tag: "PublishError";
32
- } & Readonly<A>;
33
- export declare class PublishError extends PublishError_base<{
34
- readonly message: string;
35
- readonly cause: unknown;
36
- }> {
37
- }
38
30
  /**
39
31
  * Handles the `axm skills publish` command.
40
32
  */
41
- export declare const handlePublish: (args: PublishHandlerArgs) => Effect.Effect<undefined, import("../../../tui/errors.js").PromptError | import("../../../tui/errors.js").PromptCancelled | import("../../../settings/settings.js").SettingsError | import("../../../sources/provider.js").RegistryNotConfiguredError | PublishError, import("../../../tui/index.js").Confirm | Log | Spinner | import("../../../tui/index.js").TextInput | Path.Path | FileSystem.FileSystem | Workspace>;
42
- export {};
33
+ export declare const handlePublish: (args: PublishHandlerArgs) => Effect.Effect<undefined, import("../../../tui/errors.js").PromptCancelled | import("../../../cli-error/cli-error.js").CliError, import("../../../tui/index.js").Confirm | Log | Spinner | import("../../../tui/index.js").TextInput | FileSystem.FileSystem | Path.Path | Workspace>;
43
34
  //# sourceMappingURL=handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/publish/handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAG9C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,SAAS,IAAI,SAAS,EAAE,MAAM,6BAA6B,CAAC;AASrE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzC,0BAA0B;IAC1B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CACvB;;;;AAMD,qBAAa,YAAa,SAAQ,kBAAiC;IACjE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB,CAAC;CAAG;AAsBL;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,kBAAkB,8ZA4HlD,CAAC"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/publish/handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAE9C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,SAAS,IAAI,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAWrE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzC,0BAA0B;IAC1B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;CACvB;AAMD;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,kBAAkB,yRA2HV,CAAC"}
@@ -13,30 +13,14 @@
13
13
  import * as FileSystem from "@effect/platform/FileSystem";
14
14
  import * as Path from "@effect/platform/Path";
15
15
  import { registryGuard } from "../../../sources/index.js";
16
- import * as Data from "effect/Data";
17
16
  import * as Effect from "effect/Effect";
18
17
  import * as Option from "effect/Option";
18
+ import { makeCliError } from "../../../cli-error/index.js";
19
19
  import { Log, Spinner } from "../../../tui/index.js";
20
- import { formatError } from "../../../utils/errors.js";
21
20
  import { Workspace as Workspace } from "../../../workspace/index.js";
22
21
  import { publishSkill } from "../publish-skill.js";
23
- // -----------------------------------------------------------------------------
24
- // Errors
25
- // -----------------------------------------------------------------------------
26
- export class PublishError extends Data.TaggedError("PublishError") {
27
- }
28
- // -----------------------------------------------------------------------------
29
- // Constants
30
- // -----------------------------------------------------------------------------
31
- const REGISTRY_EXTENSIONS_DIR = ".axm/extensions";
32
- const MANIFEST_FILENAME = "axm-skill.json";
33
- // -----------------------------------------------------------------------------
34
- // Helpers
35
- // -----------------------------------------------------------------------------
36
- /**
37
- * Determine whether the extension name already contains a scope (`@scope/name`).
38
- */
39
- const hasScopePrefix = (name) => name.startsWith("@") && name.includes("/");
22
+ import { REGISTRY_EXTENSIONS_DIR, MANIFEST_FILENAME } from "../constants.js";
23
+ import { hasScopePrefix, parseScopedName } from "../naming.js";
40
24
  // -----------------------------------------------------------------------------
41
25
  // Main Handler
42
26
  // -----------------------------------------------------------------------------
@@ -54,22 +38,16 @@ export const handlePublish = (args) => Effect.gen(function* () {
54
38
  // Step 1: Registry guard
55
39
  yield* registryGuard;
56
40
  // Step 2: Resolve extension name
57
- let extensionName;
58
- if (hasScopePrefix(args.extension)) {
59
- extensionName = args.extension;
60
- }
61
- else {
62
- // Bare name -- resolve scope from settings
63
- const scope = yield* ws.getConfiguredScope().pipe(Effect.mapError((e) => new PublishError({
64
- message: `Failed to resolve scope: ${e._tag}`,
41
+ const extensionName = yield* hasScopePrefix(args.extension)
42
+ ? Effect.succeed(args.extension)
43
+ : ws.getConfiguredScope().pipe(Effect.map((scope) => `${scope}/${args.extension}`), Effect.mapError((e) => makeCliError({
44
+ code: "SCOPE_RESOLUTION_FAILED",
45
+ what: `Failed to resolve scope: ${e._tag}`,
46
+ howToFix: "Configure a scope in your settings with `axm init`.",
65
47
  cause: e,
66
48
  })));
67
- extensionName = `${scope}/${args.extension}`;
68
- }
69
49
  // Parse scope and skill name from the extension name
70
- const slashIdx = extensionName.indexOf("/");
71
- const scope = extensionName.slice(0, slashIdx);
72
- const skillName = extensionName.slice(slashIdx + 1);
50
+ const { scope, skillName } = parseScopedName(extensionName);
73
51
  // Step 3: Validate managed extension exists
74
52
  const handle = yield* spinnerSvc.start("Validating extension...");
75
53
  const extensionDir = path.join(base, REGISTRY_EXTENSIONS_DIR, scope, "skills", skillName);
@@ -78,32 +56,38 @@ export const handlePublish = (args) => Effect.gen(function* () {
78
56
  .pipe(Effect.orElseSucceed(() => false));
79
57
  if (!extensionDirExists) {
80
58
  yield* handle.stop("Failed");
81
- return yield* new PublishError({
82
- message: formatError(`Managed extension not found: ${extensionName}`, [`Expected at: ${extensionDir}`], "Only managed extensions (in .axm/extensions/) can be published. Use `axm skills fork` first."),
83
- cause: undefined,
84
- });
59
+ return yield* Effect.fail(makeCliError({
60
+ code: "EXTENSION_NOT_FOUND",
61
+ what: `Managed extension not found: ${extensionName}`,
62
+ details: [`Expected at: ${extensionDir}`],
63
+ howToFix: "Only managed extensions (in .axm/extensions/) can be published. Use `axm skills fork` first.",
64
+ }));
85
65
  }
86
66
  // Validate manifest exists
87
67
  const manifestPath = path.join(extensionDir, MANIFEST_FILENAME);
88
68
  const manifestExists = yield* fs.exists(manifestPath).pipe(Effect.orElseSucceed(() => false));
89
69
  if (!manifestExists) {
90
70
  yield* handle.stop("Failed");
91
- return yield* new PublishError({
92
- message: formatError(`Missing manifest: ${MANIFEST_FILENAME}`, [`Expected at: ${manifestPath}`], "Ensure the extension has a valid axm-skill.json manifest."),
93
- cause: undefined,
94
- });
71
+ return yield* Effect.fail(makeCliError({
72
+ code: "MISSING_MANIFEST",
73
+ what: `Missing manifest: ${MANIFEST_FILENAME}`,
74
+ details: [`Expected at: ${manifestPath}`],
75
+ howToFix: "Ensure the extension has a valid axm-skill.json manifest.",
76
+ }));
95
77
  }
96
78
  yield* handle.stop(`Validated ${extensionName}`);
97
79
  // Step 4: Determine target registry
98
- const registrySources = yield* ws.getConfiguredRegistrySources(Option.none()).pipe(Effect.mapError((e) => new PublishError({
99
- message: `Failed to get registry sources: ${e._tag}`,
80
+ const registrySources = yield* ws.getConfiguredRegistrySources(Option.none()).pipe(Effect.mapError((e) => makeCliError({
81
+ code: "REGISTRY_SOURCES_FAILED",
82
+ what: `Failed to get registry sources: ${e._tag}`,
100
83
  cause: e,
101
84
  })));
102
85
  if (registrySources.length === 0) {
103
- return yield* new PublishError({
104
- message: "No registry sources configured. Run the registry guard first.",
105
- cause: undefined,
106
- });
86
+ return yield* Effect.fail(makeCliError({
87
+ code: "NO_REGISTRY_CONFIGURED",
88
+ what: "No registry sources configured",
89
+ howToFix: "Run the registry guard first.",
90
+ }));
107
91
  }
108
92
  const registryName = Option.match(args.registry, {
109
93
  onNone: () => registrySources[0].name,
@@ -133,5 +117,5 @@ export const handlePublish = (args) => Effect.gen(function* () {
133
117
  "publish-skill": publishSkill,
134
118
  });
135
119
  yield* log.success("Done");
136
- });
120
+ }).pipe(Effect.withSpan("Publish.handle"));
137
121
  //# sourceMappingURL=handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/publish/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/publish/handler.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@
9
9
  */
10
10
  import * as FileSystem from "@effect/platform/FileSystem";
11
11
  import * as Path from "@effect/platform/Path";
12
- import { type OperationHandler } from "../../workspace/apply-plan.js";
12
+ import type { OperationHandler } from "../../workspace/apply-plan.js";
13
13
  import { Workspace } from "../../workspace/service.js";
14
14
  import type { PublishSkillOperation } from "./operations.js";
15
15
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"publish-skill.d.ts","sourceRoot":"","sources":["../../../../src/cli-commands/skills/publish-skill.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAW9C,OAAO,EAAkB,KAAK,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEtF,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAoE7D;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,EAAE,gBAAgB,CACzC,qBAAqB,EACrB,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,CAkH3C,CAAC"}
1
+ {"version":3,"file":"publish-skill.d.ts","sourceRoot":"","sources":["../../../../src/cli-commands/skills/publish-skill.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAY9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AA6C7D;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,EAAE,gBAAgB,CACzC,qBAAqB,EACrB,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,CA6G3C,CAAC"}
@@ -15,34 +15,18 @@ import * as Schema from "effect/Schema";
15
15
  import { SkillManifestSchema, } from "../../extensions/skills/manifest-schema.js";
16
16
  import { createRegistryProvider } from "../../sources/providers/registry.js";
17
17
  import { computeChecksum } from "../../utils/checksum.js";
18
- import { OperationError } from "../../workspace/apply-plan.js";
18
+ import { makeCliError } from "../../cli-error/index.js";
19
19
  import { Workspace } from "../../workspace/service.js";
20
- // -----------------------------------------------------------------------------
21
- // Constants
22
- // -----------------------------------------------------------------------------
23
- const REGISTRY_EXTENSIONS_DIR = ".axm/extensions";
24
- const MANIFEST_FILENAME = "axm-skill.json";
25
- // -----------------------------------------------------------------------------
26
- // Helpers
27
- // -----------------------------------------------------------------------------
28
- /**
29
- * Parse `@scope/name` into its parts.
30
- */
31
- const parseExtensionName = (name) => {
32
- const slashIdx = name.indexOf("/");
33
- return {
34
- scope: name.slice(0, slashIdx),
35
- skillName: name.slice(slashIdx + 1),
36
- };
37
- };
20
+ import { REGISTRY_EXTENSIONS_DIR, MANIFEST_FILENAME } from "./constants.js";
21
+ import { parseScopedName } from "./naming.js";
38
22
  /**
39
23
  * Build a zip archive of a directory.
40
24
  * Files are stored at the root of the zip (no enclosing directory).
41
25
  */
42
26
  const buildZipArchive = (dir) => Effect.tryPromise({
43
27
  try: async () => {
44
- const { execSync } = await import("node:child_process");
45
- const { readFile, mkdtemp } = await import("node:fs/promises");
28
+ const { execFileSync } = await import("node:child_process");
29
+ const { readFile, mkdtemp, rm } = await import("node:fs/promises");
46
30
  const { tmpdir } = await import("node:os");
47
31
  const p = await import("node:path");
48
32
  const tmpDir = await mkdtemp(p.join(tmpdir(), "axm-publish-"));
@@ -50,16 +34,18 @@ const buildZipArchive = (dir) => Effect.tryPromise({
50
34
  // Create deterministic zip (strip extra attributes, normalize timestamps)
51
35
  // -X strips extra file attributes, -D disables directory entries
52
36
  // find + touch normalizes file timestamps for reproducible archives
53
- execSync(`find "${dir}" -exec touch -t 202001010000.00 {} + && cd "${dir}" && zip -r -q -X -D "${archivePath}" .`, { stdio: "pipe" });
37
+ execFileSync("find", [dir, "-exec", "touch", "-t", "202001010000.00", "{}", "+"]);
38
+ execFileSync("zip", ["-r", "-q", "-X", "-D", archivePath, "."], {
39
+ cwd: dir,
40
+ stdio: "pipe",
41
+ });
54
42
  const bytes = await readFile(archivePath);
55
- // Clean up temp file
56
- const { rm } = await import("node:fs/promises");
57
43
  await rm(tmpDir, { recursive: true, force: true });
58
44
  return new Uint8Array(bytes);
59
45
  },
60
- catch: (e) => new OperationError({
61
- operation: "publish-skill",
62
- message: `Failed to build zip archive`,
46
+ catch: (e) => makeCliError({
47
+ code: "PUBLISH_SKILL_ARCHIVE_FAILED",
48
+ what: "Failed to build zip archive",
63
49
  cause: e,
64
50
  }),
65
51
  });
@@ -80,37 +66,36 @@ export const publishSkill = (op) => Effect.gen(function* () {
80
66
  const path = yield* Path.Path;
81
67
  const ws = yield* Workspace;
82
68
  const base = path.dirname(ws.path);
83
- const { scope, skillName } = parseExtensionName(op.args.name);
69
+ const { scope, skillName } = parseScopedName(op.args.name);
84
70
  // Locate the managed extension directory
85
71
  const extensionDir = path.join(base, REGISTRY_EXTENSIONS_DIR, scope, "skills", skillName);
86
72
  const extensionDirExists = yield* fs
87
73
  .exists(extensionDir)
88
74
  .pipe(Effect.orElseSucceed(() => false));
89
75
  if (!extensionDirExists) {
90
- return yield* new OperationError({
91
- operation: "publish-skill",
92
- message: `Managed extension not found: ${extensionDir}`,
93
- cause: null,
76
+ return yield* makeCliError({
77
+ code: "PUBLISH_SKILL_NOT_FOUND",
78
+ what: `Managed extension not found: ${extensionDir}`,
94
79
  });
95
80
  }
96
81
  // Read and validate manifest
97
82
  const manifestPath = path.join(extensionDir, MANIFEST_FILENAME);
98
- const manifestContent = yield* fs.readFileString(manifestPath).pipe(Effect.mapError((e) => new OperationError({
99
- operation: "publish-skill",
100
- message: `Failed to read manifest: ${manifestPath}`,
83
+ const manifestContent = yield* fs.readFileString(manifestPath).pipe(Effect.mapError((e) => makeCliError({
84
+ code: "PUBLISH_SKILL_MANIFEST_READ_FAILED",
85
+ what: `Failed to read manifest: ${manifestPath}`,
101
86
  cause: e,
102
87
  })));
103
88
  const manifestJson = yield* Effect.try({
104
89
  try: () => JSON.parse(manifestContent),
105
- catch: (e) => new OperationError({
106
- operation: "publish-skill",
107
- message: `Invalid JSON in manifest: ${manifestPath}`,
90
+ catch: (e) => makeCliError({
91
+ code: "PUBLISH_SKILL_MANIFEST_PARSE_FAILED",
92
+ what: `Invalid JSON in manifest: ${manifestPath}`,
108
93
  cause: e,
109
94
  }),
110
95
  });
111
- const manifest = yield* Schema.decodeUnknown(SkillManifestSchema)(manifestJson).pipe(Effect.mapError((e) => new OperationError({
112
- operation: "publish-skill",
113
- message: `Invalid manifest schema: ${manifestPath}`,
96
+ const manifest = yield* Schema.decodeUnknown(SkillManifestSchema)(manifestJson).pipe(Effect.mapError((e) => makeCliError({
97
+ code: "PUBLISH_SKILL_MANIFEST_SCHEMA_INVALID",
98
+ what: `Invalid manifest schema: ${manifestPath}`,
114
99
  cause: e,
115
100
  })));
116
101
  // Build zip archive from extension directory (includes manifest + src/)
@@ -118,16 +103,15 @@ export const publishSkill = (op) => Effect.gen(function* () {
118
103
  // Compute checksum
119
104
  const checksum = yield* computeChecksum(archive);
120
105
  // Resolve target registry source
121
- const registrySource = yield* ws.getConfiguredSourceByName(op.args.registryName).pipe(Effect.mapError((e) => new OperationError({
122
- operation: "publish-skill",
123
- message: `Failed to lookup registry source "${op.args.registryName}"`,
106
+ const registrySource = yield* ws.getConfiguredSourceByName(op.args.registryName).pipe(Effect.mapError((e) => makeCliError({
107
+ code: "PUBLISH_SKILL_REGISTRY_LOOKUP_FAILED",
108
+ what: `Failed to lookup registry source "${op.args.registryName}"`,
124
109
  cause: e,
125
110
  })));
126
111
  if (Option.isNone(registrySource) || registrySource.value.type !== "registry") {
127
- return yield* new OperationError({
128
- operation: "publish-skill",
129
- message: `Registry source "${op.args.registryName}" not found or not a registry source`,
130
- cause: null,
112
+ return yield* makeCliError({
113
+ code: "PUBLISH_SKILL_REGISTRY_NOT_FOUND",
114
+ what: `Registry source "${op.args.registryName}" not found or not a registry source`,
131
115
  });
132
116
  }
133
117
  const provider = createRegistryProvider(registrySource.value.url.href);
@@ -142,10 +126,11 @@ export const publishSkill = (op) => Effect.gen(function* () {
142
126
  // Publish to registry (idempotent)
143
127
  yield* provider
144
128
  .publishVersion(scope, "skill", skillName, manifest.version, archive, versionEntry)
145
- .pipe(Effect.mapError((e) => new OperationError({
146
- operation: "publish-skill",
147
- message: e.message,
148
- cause: e.cause,
129
+ .pipe(Effect.mapError((e) => makeCliError({
130
+ code: "PUBLISH_SKILL_PUBLISH_FAILED",
131
+ what: "Failed to publish to registry",
132
+ details: [e.what],
133
+ cause: e,
149
134
  })));
150
135
  return {
151
136
  result: "success",
@@ -1 +1 @@
1
- {"version":3,"file":"publish-skill.js","sourceRoot":"","sources":["../../../../src/cli-commands/skills/publish-skill.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publish-skill.js","sourceRoot":"","sources":["../../../../src/cli-commands/skills/publish-skill.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
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 type { CommandModule } from "yargs";
7
+ export interface RenameCommandArgs {
8
+ "old-name": string;
9
+ "new-name": string;
10
+ global: boolean;
11
+ yes: boolean;
12
+ preview: boolean;
13
+ "non-interactive": boolean | undefined;
14
+ }
15
+ export declare const renameCommand: CommandModule<{}, RenameCommandArgs>;
16
+ //# sourceMappingURL=command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/rename/command.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAK3C,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,OAAO,GAAG,SAAS,CAAC;CACxC;AAGD,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,EAAE,EAAE,iBAAiB,CAuD9D,CAAC"}
@@ -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"}