@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.
- package/dist/src/agents/detection.d.ts +3 -16
- package/dist/src/agents/detection.d.ts.map +1 -1
- package/dist/src/agents/detection.js +4 -13
- package/dist/src/agents/detection.js.map +1 -1
- package/dist/src/agents/index.d.ts +1 -1
- package/dist/src/agents/index.d.ts.map +1 -1
- package/dist/src/agents/index.js +1 -1
- package/dist/src/agents/index.js.map +1 -1
- package/dist/src/cli-commands/init/handler.d.ts +1 -1
- package/dist/src/cli-commands/init/handler.d.ts.map +1 -1
- package/dist/src/cli-commands/init/handler.js +1 -1
- package/dist/src/cli-commands/init/handler.js.map +1 -1
- package/dist/src/cli-commands/skills/command.d.ts.map +1 -1
- package/dist/src/cli-commands/skills/command.js +6 -0
- package/dist/src/cli-commands/skills/command.js.map +1 -1
- package/dist/src/cli-commands/skills/constants.d.ts +9 -0
- package/dist/src/cli-commands/skills/constants.d.ts.map +1 -0
- package/dist/src/cli-commands/skills/constants.js +9 -0
- package/dist/src/cli-commands/skills/constants.js.map +1 -0
- package/dist/src/cli-commands/skills/copy-skill.d.ts +1 -1
- package/dist/src/cli-commands/skills/copy-skill.d.ts.map +1 -1
- package/dist/src/cli-commands/skills/copy-skill.js +11 -24
- package/dist/src/cli-commands/skills/copy-skill.js.map +1 -1
- package/dist/src/cli-commands/skills/disable/command.d.ts +15 -0
- package/dist/src/cli-commands/skills/disable/command.d.ts.map +1 -0
- package/dist/src/cli-commands/skills/disable/command.js +56 -0
- package/dist/src/cli-commands/skills/disable/command.js.map +1 -0
- package/dist/src/cli-commands/skills/disable/disable-skill.d.ts +25 -0
- package/dist/src/cli-commands/skills/disable/disable-skill.d.ts.map +1 -0
- package/dist/src/cli-commands/skills/disable/disable-skill.js +101 -0
- package/dist/src/cli-commands/skills/disable/disable-skill.js.map +1 -0
- package/dist/src/cli-commands/skills/disable/handler.d.ts +18 -0
- package/dist/src/cli-commands/skills/disable/handler.d.ts.map +1 -0
- package/dist/src/cli-commands/skills/disable/handler.js +72 -0
- package/dist/src/cli-commands/skills/disable/handler.js.map +1 -0
- package/dist/src/cli-commands/skills/enable/command.d.ts +15 -0
- package/dist/src/cli-commands/skills/enable/command.d.ts.map +1 -0
- package/dist/src/cli-commands/skills/enable/command.js +56 -0
- package/dist/src/cli-commands/skills/enable/command.js.map +1 -0
- package/dist/src/cli-commands/skills/enable/enable-skill.d.ts +26 -0
- package/dist/src/cli-commands/skills/enable/enable-skill.d.ts.map +1 -0
- package/dist/src/cli-commands/skills/enable/enable-skill.js +138 -0
- package/dist/src/cli-commands/skills/enable/enable-skill.js.map +1 -0
- package/dist/src/cli-commands/skills/enable/handler.d.ts +18 -0
- package/dist/src/cli-commands/skills/enable/handler.d.ts.map +1 -0
- package/dist/src/cli-commands/skills/enable/handler.js +72 -0
- package/dist/src/cli-commands/skills/enable/handler.js.map +1 -0
- package/dist/src/cli-commands/skills/fork/handler.d.ts +4 -13
- package/dist/src/cli-commands/skills/fork/handler.d.ts.map +1 -1
- package/dist/src/cli-commands/skills/fork/handler.js +37 -29
- package/dist/src/cli-commands/skills/fork/handler.js.map +1 -1
- package/dist/src/cli-commands/skills/fs-helpers.d.ts +12 -0
- package/dist/src/cli-commands/skills/fs-helpers.d.ts.map +1 -0
- package/dist/src/cli-commands/skills/fs-helpers.js +12 -0
- package/dist/src/cli-commands/skills/fs-helpers.js.map +1 -0
- package/dist/src/cli-commands/skills/install/discover-skills.d.ts +3 -18
- package/dist/src/cli-commands/skills/install/discover-skills.d.ts.map +1 -1
- package/dist/src/cli-commands/skills/install/discover-skills.js +7 -20
- package/dist/src/cli-commands/skills/install/discover-skills.js.map +1 -1
- package/dist/src/cli-commands/skills/install/handler.d.ts +1 -16
- package/dist/src/cli-commands/skills/install/handler.d.ts.map +1 -1
- package/dist/src/cli-commands/skills/install/handler.js +20 -27
- package/dist/src/cli-commands/skills/install/handler.js.map +1 -1
- package/dist/src/cli-commands/skills/install/install-skill.d.ts +1 -1
- package/dist/src/cli-commands/skills/install/install-skill.d.ts.map +1 -1
- package/dist/src/cli-commands/skills/install/install-skill.js +12 -18
- package/dist/src/cli-commands/skills/install/install-skill.js.map +1 -1
- package/dist/src/cli-commands/skills/install/select-skills.d.ts +4 -5
- package/dist/src/cli-commands/skills/install/select-skills.d.ts.map +1 -1
- package/dist/src/cli-commands/skills/install/select-skills.js +13 -13
- package/dist/src/cli-commands/skills/install/select-skills.js.map +1 -1
- package/dist/src/cli-commands/skills/install/skill-utils.d.ts +1 -6
- package/dist/src/cli-commands/skills/install/skill-utils.d.ts.map +1 -1
- package/dist/src/cli-commands/skills/install/skill-utils.js +8 -4
- package/dist/src/cli-commands/skills/install/skill-utils.js.map +1 -1
- package/dist/src/cli-commands/skills/list/handler.d.ts +1 -1
- package/dist/src/cli-commands/skills/list/handler.d.ts.map +1 -1
- package/dist/src/cli-commands/skills/list/handler.js +1 -1
- package/dist/src/cli-commands/skills/list/handler.js.map +1 -1
- package/dist/src/cli-commands/skills/naming.d.ts +17 -0
- package/dist/src/cli-commands/skills/naming.d.ts.map +1 -0
- package/dist/src/cli-commands/skills/naming.js +20 -0
- package/dist/src/cli-commands/skills/naming.js.map +1 -0
- package/dist/src/cli-commands/skills/operations.d.ts +25 -1
- package/dist/src/cli-commands/skills/operations.d.ts.map +1 -1
- package/dist/src/cli-commands/skills/publish/handler.d.ts +1 -10
- package/dist/src/cli-commands/skills/publish/handler.d.ts.map +1 -1
- package/dist/src/cli-commands/skills/publish/handler.js +31 -47
- package/dist/src/cli-commands/skills/publish/handler.js.map +1 -1
- package/dist/src/cli-commands/skills/publish-skill.d.ts +1 -1
- package/dist/src/cli-commands/skills/publish-skill.d.ts.map +1 -1
- package/dist/src/cli-commands/skills/publish-skill.js +37 -52
- package/dist/src/cli-commands/skills/publish-skill.js.map +1 -1
- package/dist/src/cli-commands/skills/rename/command.d.ts +16 -0
- package/dist/src/cli-commands/skills/rename/command.d.ts.map +1 -0
- package/dist/src/cli-commands/skills/rename/command.js +62 -0
- package/dist/src/cli-commands/skills/rename/command.js.map +1 -0
- package/dist/src/cli-commands/skills/rename/handler.d.ts +20 -0
- package/dist/src/cli-commands/skills/rename/handler.d.ts.map +1 -0
- package/dist/src/cli-commands/skills/rename/handler.js +77 -0
- package/dist/src/cli-commands/skills/rename/handler.js.map +1 -0
- package/dist/src/cli-commands/skills/rename/rename-skill.d.ts +25 -0
- package/dist/src/cli-commands/skills/rename/rename-skill.d.ts.map +1 -0
- package/dist/src/cli-commands/skills/rename/rename-skill.js +110 -0
- package/dist/src/cli-commands/skills/rename/rename-skill.js.map +1 -0
- package/dist/src/cli-commands/skills/uninstall/handler.d.ts +1 -1
- package/dist/src/cli-commands/skills/uninstall/handler.d.ts.map +1 -1
- package/dist/src/cli-commands/skills/uninstall/handler.js +12 -1
- package/dist/src/cli-commands/skills/uninstall/handler.js.map +1 -1
- package/dist/src/cli-commands/skills/uninstall/uninstall-skill.d.ts +1 -1
- package/dist/src/cli-commands/skills/uninstall/uninstall-skill.d.ts.map +1 -1
- package/dist/src/cli-commands/skills/uninstall/uninstall-skill.js +14 -23
- package/dist/src/cli-commands/skills/uninstall/uninstall-skill.js.map +1 -1
- package/dist/src/cli-commands/skills/update/build-plan.d.ts +7 -2
- package/dist/src/cli-commands/skills/update/build-plan.d.ts.map +1 -1
- package/dist/src/cli-commands/skills/update/build-plan.js +28 -20
- package/dist/src/cli-commands/skills/update/build-plan.js.map +1 -1
- package/dist/src/cli-commands/skills/update/handler.d.ts +11 -20
- package/dist/src/cli-commands/skills/update/handler.d.ts.map +1 -1
- package/dist/src/cli-commands/skills/update/handler.js +161 -90
- package/dist/src/cli-commands/skills/update/handler.js.map +1 -1
- package/dist/src/cli-commands/skills/utils.d.ts +2 -16
- package/dist/src/cli-commands/skills/utils.d.ts.map +1 -1
- package/dist/src/cli-commands/skills/utils.js +36 -20
- package/dist/src/cli-commands/skills/utils.js.map +1 -1
- package/dist/src/cli-error/cli-error.d.ts +21 -0
- package/dist/src/cli-error/cli-error.d.ts.map +1 -0
- package/dist/src/cli-error/cli-error.js +12 -0
- package/dist/src/cli-error/cli-error.js.map +1 -0
- package/dist/src/cli-error/index.d.ts +3 -0
- package/dist/src/cli-error/index.d.ts.map +1 -0
- package/dist/src/cli-error/index.js +3 -0
- package/dist/src/cli-error/index.js.map +1 -0
- package/dist/src/cli-error/render.d.ts +4 -0
- package/dist/src/cli-error/render.d.ts.map +1 -0
- package/dist/src/cli-error/render.js +25 -0
- package/dist/src/cli-error/render.js.map +1 -0
- package/dist/src/extensions/skills/index.d.ts +0 -5
- package/dist/src/extensions/skills/index.d.ts.map +1 -1
- package/dist/src/extensions/skills/index.js +1 -4
- package/dist/src/extensions/skills/index.js.map +1 -1
- package/dist/src/extensions/skills/state/index.d.ts +2 -2
- package/dist/src/extensions/skills/state/index.d.ts.map +1 -1
- package/dist/src/extensions/skills/state/index.js +1 -1
- package/dist/src/extensions/skills/state/index.js.map +1 -1
- package/dist/src/extensions/skills/state/pure-functions.d.ts +4 -29
- package/dist/src/extensions/skills/state/pure-functions.d.ts.map +1 -1
- package/dist/src/extensions/skills/state/pure-functions.js +4 -37
- package/dist/src/extensions/skills/state/pure-functions.js.map +1 -1
- package/dist/src/extensions/skills/state/types.d.ts +0 -1
- package/dist/src/extensions/skills/state/types.d.ts.map +1 -1
- package/dist/src/extensions/skills/state/types.js.map +1 -1
- package/dist/src/extensions/skills/types.d.ts +0 -40
- package/dist/src/extensions/skills/types.d.ts.map +1 -1
- package/dist/src/extensions/skills/types.js +0 -1
- package/dist/src/extensions/skills/types.js.map +1 -1
- package/dist/src/git/errors.d.ts +1 -2
- package/dist/src/git/errors.d.ts.map +1 -1
- package/dist/src/git/errors.js +0 -1
- package/dist/src/git/errors.js.map +1 -1
- package/dist/src/git/index.d.ts +0 -1
- package/dist/src/git/index.d.ts.map +1 -1
- package/dist/src/git/index.js +0 -1
- package/dist/src/git/index.js.map +1 -1
- package/dist/src/git/operations.d.ts +7 -7
- package/dist/src/git/operations.d.ts.map +1 -1
- package/dist/src/git/operations.js +22 -19
- package/dist/src/git/operations.js.map +1 -1
- package/dist/src/lockfile/index.d.ts +1 -2
- package/dist/src/lockfile/index.d.ts.map +1 -1
- package/dist/src/lockfile/index.js +2 -1
- package/dist/src/lockfile/index.js.map +1 -1
- package/dist/src/lockfile/lockfile.d.ts +77 -51
- package/dist/src/lockfile/lockfile.d.ts.map +1 -1
- package/dist/src/lockfile/lockfile.js +27 -51
- package/dist/src/lockfile/lockfile.js.map +1 -1
- package/dist/src/resolution/index.d.ts +0 -1
- package/dist/src/resolution/index.d.ts.map +1 -1
- package/dist/src/resolution/index.js +0 -2
- package/dist/src/resolution/index.js.map +1 -1
- package/dist/src/resolution/resolver.d.ts +2 -2
- package/dist/src/resolution/resolver.d.ts.map +1 -1
- package/dist/src/resolution/resolver.js +1 -1
- package/dist/src/resolution/resolver.js.map +1 -1
- package/dist/src/resolution/resolvers/ambiguous.js +1 -1
- package/dist/src/resolution/resolvers/ambiguous.js.map +1 -1
- package/dist/src/resolution/resolvers/axm-name.d.ts.map +1 -1
- package/dist/src/resolution/resolvers/axm-name.js +1 -1
- package/dist/src/resolution/resolvers/axm-name.js.map +1 -1
- package/dist/src/resolution/resolvers/bare-name.js +1 -1
- package/dist/src/resolution/resolvers/bare-name.js.map +1 -1
- package/dist/src/resolution/resolvers/explicit-source.d.ts.map +1 -1
- package/dist/src/resolution/resolvers/explicit-source.js +1 -1
- package/dist/src/resolution/resolvers/explicit-source.js.map +1 -1
- package/dist/src/resolution/resolvers/local-path.d.ts.map +1 -1
- package/dist/src/resolution/resolvers/local-path.js +1 -1
- package/dist/src/resolution/resolvers/local-path.js.map +1 -1
- package/dist/src/resolution/resolvers/url.d.ts.map +1 -1
- package/dist/src/resolution/resolvers/url.js +1 -1
- package/dist/src/resolution/resolvers/url.js.map +1 -1
- package/dist/src/runtime/error-handling.d.ts +10 -0
- package/dist/src/runtime/error-handling.d.ts.map +1 -0
- package/dist/src/runtime/error-handling.js +10 -0
- package/dist/src/runtime/error-handling.js.map +1 -0
- package/dist/src/runtime/index.d.ts +5 -4
- package/dist/src/runtime/index.d.ts.map +1 -1
- package/dist/src/runtime/index.js +11 -4
- package/dist/src/runtime/index.js.map +1 -1
- package/dist/src/settings/format-preserving-json.d.ts +1 -2
- package/dist/src/settings/format-preserving-json.d.ts.map +1 -1
- package/dist/src/settings/format-preserving-json.js +7 -7
- package/dist/src/settings/format-preserving-json.js.map +1 -1
- package/dist/src/settings/index.d.ts +5 -4
- package/dist/src/settings/index.d.ts.map +1 -1
- package/dist/src/settings/index.js +4 -2
- package/dist/src/settings/index.js.map +1 -1
- package/dist/src/settings/schema.d.ts +48 -8
- package/dist/src/settings/schema.d.ts.map +1 -1
- package/dist/src/settings/schema.js +26 -7
- package/dist/src/settings/schema.js.map +1 -1
- package/dist/src/settings/settings.d.ts +10 -52
- package/dist/src/settings/settings.d.ts.map +1 -1
- package/dist/src/settings/settings.js +22 -48
- package/dist/src/settings/settings.js.map +1 -1
- package/dist/src/settings/skill-entry.d.ts +44 -0
- package/dist/src/settings/skill-entry.d.ts.map +1 -0
- package/dist/src/settings/skill-entry.js +58 -0
- package/dist/src/settings/skill-entry.js.map +1 -0
- package/dist/src/sources/azurerepos/repo-exists.d.ts +2 -2
- package/dist/src/sources/azurerepos/repo-exists.d.ts.map +1 -1
- package/dist/src/sources/azurerepos/repo-exists.js +9 -7
- package/dist/src/sources/azurerepos/repo-exists.js.map +1 -1
- package/dist/src/sources/azurerepos/scp.d.ts +1 -2
- package/dist/src/sources/azurerepos/scp.d.ts.map +1 -1
- package/dist/src/sources/azurerepos/scp.js +6 -2
- package/dist/src/sources/azurerepos/scp.js.map +1 -1
- package/dist/src/sources/azurerepos/url.d.ts +1 -2
- package/dist/src/sources/azurerepos/url.d.ts.map +1 -1
- package/dist/src/sources/azurerepos/url.js +11 -3
- package/dist/src/sources/azurerepos/url.js.map +1 -1
- package/dist/src/sources/bitbucket/resolve-repo.d.ts +2 -2
- package/dist/src/sources/bitbucket/resolve-repo.d.ts.map +1 -1
- package/dist/src/sources/bitbucket/resolve-repo.js +5 -4
- package/dist/src/sources/bitbucket/resolve-repo.js.map +1 -1
- package/dist/src/sources/bitbucket/scp.d.ts +1 -2
- package/dist/src/sources/bitbucket/scp.d.ts.map +1 -1
- package/dist/src/sources/bitbucket/scp.js +6 -2
- package/dist/src/sources/bitbucket/scp.js.map +1 -1
- package/dist/src/sources/bitbucket/shorthand.d.ts +1 -1
- package/dist/src/sources/bitbucket/shorthand.d.ts.map +1 -1
- package/dist/src/sources/bitbucket/url.d.ts +1 -2
- package/dist/src/sources/bitbucket/url.d.ts.map +1 -1
- package/dist/src/sources/bitbucket/url.js +11 -3
- package/dist/src/sources/bitbucket/url.js.map +1 -1
- package/dist/src/sources/clone-url.d.ts +3 -4
- package/dist/src/sources/clone-url.d.ts.map +1 -1
- package/dist/src/sources/clone-url.js +6 -6
- package/dist/src/sources/clone-url.js.map +1 -1
- package/dist/src/sources/github/api.d.ts +3 -21
- package/dist/src/sources/github/api.d.ts.map +1 -1
- package/dist/src/sources/github/api.js +16 -28
- package/dist/src/sources/github/api.js.map +1 -1
- package/dist/src/sources/github/index.d.ts +1 -1
- package/dist/src/sources/github/index.d.ts.map +1 -1
- package/dist/src/sources/github/index.js +1 -1
- package/dist/src/sources/github/index.js.map +1 -1
- package/dist/src/sources/github/resolve-repo.d.ts +2 -2
- package/dist/src/sources/github/resolve-repo.d.ts.map +1 -1
- package/dist/src/sources/github/resolve-repo.js +5 -4
- package/dist/src/sources/github/resolve-repo.js.map +1 -1
- package/dist/src/sources/github/scp.d.ts +1 -2
- package/dist/src/sources/github/scp.d.ts.map +1 -1
- package/dist/src/sources/github/scp.js +6 -2
- package/dist/src/sources/github/scp.js.map +1 -1
- package/dist/src/sources/github/shorthand.d.ts +1 -1
- package/dist/src/sources/github/shorthand.d.ts.map +1 -1
- package/dist/src/sources/github/url.d.ts +1 -2
- package/dist/src/sources/github/url.d.ts.map +1 -1
- package/dist/src/sources/github/url.js +11 -3
- package/dist/src/sources/github/url.js.map +1 -1
- package/dist/src/sources/gitlab/resolve-repo.d.ts +2 -2
- package/dist/src/sources/gitlab/resolve-repo.d.ts.map +1 -1
- package/dist/src/sources/gitlab/resolve-repo.js +5 -4
- package/dist/src/sources/gitlab/resolve-repo.js.map +1 -1
- package/dist/src/sources/gitlab/scp.d.ts +1 -2
- package/dist/src/sources/gitlab/scp.d.ts.map +1 -1
- package/dist/src/sources/gitlab/scp.js +6 -2
- package/dist/src/sources/gitlab/scp.js.map +1 -1
- package/dist/src/sources/gitlab/shorthand.d.ts +1 -1
- package/dist/src/sources/gitlab/shorthand.d.ts.map +1 -1
- package/dist/src/sources/gitlab/url.d.ts +1 -2
- package/dist/src/sources/gitlab/url.d.ts.map +1 -1
- package/dist/src/sources/gitlab/url.js +11 -3
- package/dist/src/sources/gitlab/url.js.map +1 -1
- package/dist/src/sources/index.d.ts +0 -4
- package/dist/src/sources/index.d.ts.map +1 -1
- package/dist/src/sources/index.js +2 -3
- package/dist/src/sources/index.js.map +1 -1
- package/dist/src/sources/local/parser.d.ts +2 -2
- package/dist/src/sources/local/parser.d.ts.map +1 -1
- package/dist/src/sources/local/parser.js.map +1 -1
- package/dist/src/sources/parse-provider-shorthand.d.ts +2 -3
- package/dist/src/sources/parse-provider-shorthand.d.ts.map +1 -1
- package/dist/src/sources/parse-provider-shorthand.js +7 -3
- package/dist/src/sources/parse-provider-shorthand.js.map +1 -1
- package/dist/src/sources/provider.d.ts +5 -44
- package/dist/src/sources/provider.d.ts.map +1 -1
- package/dist/src/sources/provider.js +12 -26
- package/dist/src/sources/provider.js.map +1 -1
- package/dist/src/sources/providers/azurerepos.js +7 -7
- package/dist/src/sources/providers/azurerepos.js.map +1 -1
- package/dist/src/sources/providers/git-hosting.d.ts +3 -3
- package/dist/src/sources/providers/git-hosting.d.ts.map +1 -1
- package/dist/src/sources/providers/git-hosting.js +14 -33
- package/dist/src/sources/providers/git-hosting.js.map +1 -1
- package/dist/src/sources/providers/git.js +7 -7
- package/dist/src/sources/providers/git.js.map +1 -1
- package/dist/src/sources/providers/local.d.ts.map +1 -1
- package/dist/src/sources/providers/local.js +7 -18
- package/dist/src/sources/providers/local.js.map +1 -1
- package/dist/src/sources/providers/registry.d.ts +5 -5
- package/dist/src/sources/providers/registry.d.ts.map +1 -1
- package/dist/src/sources/providers/registry.js +136 -92
- package/dist/src/sources/providers/registry.js.map +1 -1
- package/dist/src/sources/registry-guard.d.ts +2 -3
- package/dist/src/sources/registry-guard.d.ts.map +1 -1
- package/dist/src/sources/registry-guard.js +8 -6
- package/dist/src/sources/registry-guard.js.map +1 -1
- package/dist/src/sources/resolve-source.d.ts +3 -3
- package/dist/src/sources/resolve-source.d.ts.map +1 -1
- package/dist/src/sources/resolve-source.js +83 -49
- package/dist/src/sources/resolve-source.js.map +1 -1
- package/dist/src/sources/service.d.ts +3 -4
- package/dist/src/sources/service.d.ts.map +1 -1
- package/dist/src/sources/service.js +8 -5
- package/dist/src/sources/service.js.map +1 -1
- package/dist/src/tui/confirm/service.d.ts +2 -2
- package/dist/src/tui/confirm/service.d.ts.map +1 -1
- package/dist/src/tui/confirm/service.js.map +1 -1
- package/dist/src/tui/errors.d.ts +0 -9
- package/dist/src/tui/errors.d.ts.map +1 -1
- package/dist/src/tui/errors.js +0 -2
- package/dist/src/tui/errors.js.map +1 -1
- package/dist/src/tui/index.d.ts +1 -1
- package/dist/src/tui/index.d.ts.map +1 -1
- package/dist/src/tui/index.js +1 -1
- package/dist/src/tui/index.js.map +1 -1
- package/dist/src/tui/multiselect/service.d.ts +3 -2
- package/dist/src/tui/multiselect/service.d.ts.map +1 -1
- package/dist/src/tui/multiselect/service.js +7 -5
- package/dist/src/tui/multiselect/service.js.map +1 -1
- package/dist/src/tui/password-input/service.d.ts +3 -2
- package/dist/src/tui/password-input/service.d.ts.map +1 -1
- package/dist/src/tui/password-input/service.js +7 -5
- package/dist/src/tui/password-input/service.js.map +1 -1
- package/dist/src/tui/select/service.d.ts +3 -2
- package/dist/src/tui/select/service.d.ts.map +1 -1
- package/dist/src/tui/select/service.js +5 -5
- package/dist/src/tui/select/service.js.map +1 -1
- package/dist/src/tui/spinner/index.d.ts +1 -1
- package/dist/src/tui/spinner/index.d.ts.map +1 -1
- package/dist/src/tui/spinner/service.d.ts +1 -5
- package/dist/src/tui/spinner/service.d.ts.map +1 -1
- package/dist/src/tui/spinner/service.js +25 -12
- package/dist/src/tui/spinner/service.js.map +1 -1
- package/dist/src/tui/spinner/test.d.ts +3 -0
- package/dist/src/tui/spinner/test.d.ts.map +1 -1
- package/dist/src/tui/spinner/test.js +9 -0
- package/dist/src/tui/spinner/test.js.map +1 -1
- package/dist/src/tui/spinner/types.d.ts +5 -0
- package/dist/src/tui/spinner/types.d.ts.map +1 -1
- package/dist/src/tui/text-input/service.d.ts +2 -2
- package/dist/src/tui/text-input/service.d.ts.map +1 -1
- package/dist/src/tui/text-input/service.js.map +1 -1
- package/dist/src/utils/create-symlink.d.ts +1 -14
- package/dist/src/utils/create-symlink.d.ts.map +1 -1
- package/dist/src/utils/create-symlink.js +17 -15
- package/dist/src/utils/create-symlink.js.map +1 -1
- package/dist/src/utils/index.d.ts +1 -2
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.js +1 -2
- package/dist/src/utils/index.js.map +1 -1
- package/dist/src/workspace/apply-plan.d.ts +5 -17
- package/dist/src/workspace/apply-plan.d.ts.map +1 -1
- package/dist/src/workspace/apply-plan.js +3 -12
- package/dist/src/workspace/apply-plan.js.map +1 -1
- package/dist/src/workspace/ensure-agents.d.ts +2 -15
- package/dist/src/workspace/ensure-agents.d.ts.map +1 -1
- package/dist/src/workspace/ensure-agents.js +7 -15
- package/dist/src/workspace/ensure-agents.js.map +1 -1
- package/dist/src/workspace/errors.d.ts +1 -1
- package/dist/src/workspace/errors.d.ts.map +1 -1
- package/dist/src/workspace/index.d.ts +1 -2
- package/dist/src/workspace/index.d.ts.map +1 -1
- package/dist/src/workspace/index.js +1 -2
- package/dist/src/workspace/index.js.map +1 -1
- package/dist/src/workspace/service.d.ts +30 -23
- package/dist/src/workspace/service.d.ts.map +1 -1
- package/dist/src/workspace/service.js +105 -38
- package/dist/src/workspace/service.js.map +1 -1
- package/package.json +1 -1
|
@@ -11,6 +11,7 @@ import * as Effect from "effect/Effect";
|
|
|
11
11
|
import * as Option from "effect/Option";
|
|
12
12
|
import { Log, Spinner } from "../../../tui/index.js";
|
|
13
13
|
import { Workspace } from "../../../workspace/index.js";
|
|
14
|
+
import type { InstallSkillOperation, UninstallSkillOperation } from "../operations.js";
|
|
14
15
|
/**
|
|
15
16
|
* Arguments for the update command.
|
|
16
17
|
*/
|
|
@@ -30,35 +31,25 @@ export interface UpdateHandlerArgs {
|
|
|
30
31
|
/** Disable prompts */
|
|
31
32
|
readonly nonInteractive: Option.Option<boolean>;
|
|
32
33
|
}
|
|
33
|
-
declare const UpdateError_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 & {
|
|
34
|
-
readonly _tag: "UpdateError";
|
|
35
|
-
} & Readonly<A>;
|
|
36
|
-
/**
|
|
37
|
-
* Error that occurs during skill update.
|
|
38
|
-
*
|
|
39
|
-
* @experimental This API is unstable and may change without notice.
|
|
40
|
-
*/
|
|
41
|
-
export declare class UpdateError extends UpdateError_base<{
|
|
42
|
-
readonly message: string;
|
|
43
|
-
readonly cause: unknown;
|
|
44
|
-
}> {
|
|
45
|
-
}
|
|
46
34
|
/**
|
|
47
35
|
* Handles the `axm skills update` command.
|
|
48
36
|
*
|
|
49
37
|
* Flow:
|
|
50
|
-
* 1. Load
|
|
51
|
-
* 2. If no skills
|
|
38
|
+
* 1. Load configured skills and filter to managed + enabled
|
|
39
|
+
* 2. If no eligible skills, log info and return
|
|
52
40
|
* 3. Filter by source argument if provided
|
|
53
41
|
* 4. Filter by --skill glob patterns
|
|
54
42
|
* 5. Re-resolve each source string and discover skills
|
|
55
43
|
* 6. Handle re-resolution failures (warn individual, error if all fail)
|
|
56
|
-
* 7.
|
|
57
|
-
* 8. Build
|
|
58
|
-
* 9.
|
|
44
|
+
* 7. Detect renames (skill name not found in source)
|
|
45
|
+
* 8. Build operations with force flag
|
|
46
|
+
* 9. Build update plan
|
|
47
|
+
* 10. Resolve plan via workspace
|
|
59
48
|
*
|
|
60
49
|
* @experimental This API is unstable and may change without notice.
|
|
61
50
|
*/
|
|
62
|
-
export declare const handleUpdate: (args: UpdateHandlerArgs) => Effect.Effect<undefined, import("../../../tui/errors.js").
|
|
63
|
-
|
|
51
|
+
export declare const handleUpdate: (args: UpdateHandlerArgs) => Effect.Effect<undefined, import("../../../tui/errors.js").PromptCancelled | import("../../../cli-error/cli-error.js").CliError, import("../../../tui/index.js").Confirm | Spinner | import("effect/Scope").Scope | SourceProviders | import("../../../workspace/apply-plan.js").ExecutionContext<{
|
|
52
|
+
"install-skill": import("../../../workspace/apply-plan.js").OperationHandler<InstallSkillOperation, Log | import("@effect/platform/FileSystem").FileSystem | import("@effect/platform/Path").Path | Workspace>;
|
|
53
|
+
"uninstall-skill": import("../../../workspace/apply-plan.js").OperationHandler<UninstallSkillOperation, import("@effect/platform/FileSystem").FileSystem | import("@effect/platform/Path").Path | Workspace>;
|
|
54
|
+
}>>;
|
|
64
55
|
//# sourceMappingURL=handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/update/handler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAEL,eAAe,EAGhB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/update/handler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAEL,eAAe,EAGhB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,KAAK,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AASvF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvC,2BAA2B;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,sBAAsB;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,iDAAiD;IACjD,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,yBAAyB;IACzB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,sCAAsC;IACtC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,sBAAsB;IACtB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;CACjD;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,iBAAiB;;;GA8PnD,CAAC"}
|
|
@@ -8,25 +8,15 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { resolveSource, SourceProviders, printSourceInput, } from "../../../sources/index.js";
|
|
10
10
|
import * as Array from "effect/Array";
|
|
11
|
-
import * as Data from "effect/Data";
|
|
12
11
|
import * as Effect from "effect/Effect";
|
|
13
12
|
import * as Option from "effect/Option";
|
|
13
|
+
import { makeCliError } from "../../../cli-error/index.js";
|
|
14
14
|
import { expandGlobs } from "../../../skills/index.js";
|
|
15
15
|
import { Log, Spinner } from "../../../tui/index.js";
|
|
16
|
-
import { formatError } from "../../../utils/errors.js";
|
|
17
16
|
import { Workspace } from "../../../workspace/index.js";
|
|
18
17
|
import { buildUpdatePlan } from "./build-plan.js";
|
|
19
18
|
import { installSkill } from "../install/install-skill.js";
|
|
20
|
-
|
|
21
|
-
// Errors
|
|
22
|
-
// -----------------------------------------------------------------------------
|
|
23
|
-
/**
|
|
24
|
-
* Error that occurs during skill update.
|
|
25
|
-
*
|
|
26
|
-
* @experimental This API is unstable and may change without notice.
|
|
27
|
-
*/
|
|
28
|
-
export class UpdateError extends Data.TaggedError("UpdateError") {
|
|
29
|
-
}
|
|
19
|
+
import { uninstallSkill } from "../uninstall/uninstall-skill.js";
|
|
30
20
|
// -----------------------------------------------------------------------------
|
|
31
21
|
// Main Handler
|
|
32
22
|
// -----------------------------------------------------------------------------
|
|
@@ -34,15 +24,16 @@ export class UpdateError extends Data.TaggedError("UpdateError") {
|
|
|
34
24
|
* Handles the `axm skills update` command.
|
|
35
25
|
*
|
|
36
26
|
* Flow:
|
|
37
|
-
* 1. Load
|
|
38
|
-
* 2. If no skills
|
|
27
|
+
* 1. Load configured skills and filter to managed + enabled
|
|
28
|
+
* 2. If no eligible skills, log info and return
|
|
39
29
|
* 3. Filter by source argument if provided
|
|
40
30
|
* 4. Filter by --skill glob patterns
|
|
41
31
|
* 5. Re-resolve each source string and discover skills
|
|
42
32
|
* 6. Handle re-resolution failures (warn individual, error if all fail)
|
|
43
|
-
* 7.
|
|
44
|
-
* 8. Build
|
|
45
|
-
* 9.
|
|
33
|
+
* 7. Detect renames (skill name not found in source)
|
|
34
|
+
* 8. Build operations with force flag
|
|
35
|
+
* 9. Build update plan
|
|
36
|
+
* 10. Resolve plan via workspace
|
|
46
37
|
*
|
|
47
38
|
* @experimental This API is unstable and may change without notice.
|
|
48
39
|
*/
|
|
@@ -54,87 +45,136 @@ export const handleUpdate = (args) => {
|
|
|
54
45
|
const log = yield* Log;
|
|
55
46
|
const spinnerSvc = yield* Spinner;
|
|
56
47
|
yield* log.info(`axm skills update (${scopeLabel})`);
|
|
57
|
-
// Step 1: Load
|
|
58
|
-
const
|
|
48
|
+
// Step 1: Load all configured skills and filter to managed + enabled
|
|
49
|
+
const allSkills = yield* ws.getConfiguredSkills();
|
|
59
50
|
const lockedSkills = yield* ws.getLockedSkills();
|
|
60
|
-
const skillEntries =
|
|
51
|
+
const skillEntries = [];
|
|
52
|
+
for (const [name, entry] of Object.entries(allSkills)) {
|
|
53
|
+
if (!entry.managed) {
|
|
54
|
+
yield* log.info(`Skipping ${name} (unmanaged)`);
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
if (!entry.enabled) {
|
|
58
|
+
yield* log.info(`Skipping ${name} (disabled)`);
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
// Managed + enabled entries always have Some source
|
|
62
|
+
const source = Option.getOrThrow(entry.source);
|
|
63
|
+
skillEntries.push([name, source]);
|
|
64
|
+
}
|
|
61
65
|
if (skillEntries.length === 0) {
|
|
62
66
|
yield* log.info("No skills installed. Nothing to update.");
|
|
63
67
|
return;
|
|
64
68
|
}
|
|
65
69
|
// Step 2: Filter by source argument if provided
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
70
|
+
const sourceValue = Option.getOrUndefined(args.source);
|
|
71
|
+
const sourceFilteredEntries = sourceValue !== undefined
|
|
72
|
+
? yield* Effect.gen(function* () {
|
|
73
|
+
const sourceArg = yield* resolveSource(sourceValue).pipe(Effect.mapError((error) => makeCliError({
|
|
74
|
+
code: "INVALID_SOURCE",
|
|
75
|
+
what: `Invalid source: ${error.message}`,
|
|
76
|
+
details: [`Provided: ${sourceValue}`],
|
|
77
|
+
cause: error,
|
|
78
|
+
})));
|
|
79
|
+
return yield* Effect.forEach(skillEntries, ([name, sourceStr]) => resolveSource(sourceStr).pipe(Effect.map((resolved) => {
|
|
80
|
+
// Compare by type + identity fields (ignoring ref/version)
|
|
81
|
+
if (resolved.type !== sourceArg.type)
|
|
82
|
+
return Option.none();
|
|
83
|
+
switch (resolved.type) {
|
|
84
|
+
case "github":
|
|
85
|
+
case "gitlab":
|
|
86
|
+
case "bitbucket":
|
|
87
|
+
if (sourceArg.type === resolved.type &&
|
|
88
|
+
"owner" in sourceArg &&
|
|
89
|
+
"repo" in sourceArg) {
|
|
90
|
+
return resolved.owner === sourceArg.owner &&
|
|
91
|
+
resolved.repo === sourceArg.repo
|
|
92
|
+
? Option.some([name, sourceStr])
|
|
93
|
+
: Option.none();
|
|
94
|
+
}
|
|
95
|
+
return Option.none();
|
|
96
|
+
case "local":
|
|
97
|
+
return sourceArg.type === "local" && resolved.path === sourceArg.path
|
|
86
98
|
? Option.some([name, sourceStr])
|
|
87
99
|
: Option.none();
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
default:
|
|
101
|
-
return Option.some([name, sourceStr]);
|
|
102
|
-
}
|
|
103
|
-
}), Effect.catchAll(() => Effect.succeed(Option.none()))), { concurrency: "unbounded" }).pipe(Effect.map(Array.getSomes));
|
|
104
|
-
}
|
|
100
|
+
case "registry":
|
|
101
|
+
return sourceArg.type === "registry" &&
|
|
102
|
+
resolved.scope === sourceArg.scope &&
|
|
103
|
+
resolved.name === sourceArg.name
|
|
104
|
+
? Option.some([name, sourceStr])
|
|
105
|
+
: Option.none();
|
|
106
|
+
default:
|
|
107
|
+
return Option.some([name, sourceStr]);
|
|
108
|
+
}
|
|
109
|
+
}), Effect.catchAll(() => Effect.succeed(Option.none()))), { concurrency: "unbounded" }).pipe(Effect.map(Array.getSomes));
|
|
110
|
+
})
|
|
111
|
+
: skillEntries;
|
|
105
112
|
// Step 3: Filter by --skill glob patterns
|
|
106
|
-
|
|
107
|
-
|
|
113
|
+
const filteredEntries = (() => {
|
|
114
|
+
if (args.skills.length === 0)
|
|
115
|
+
return sourceFilteredEntries;
|
|
116
|
+
const allNames = sourceFilteredEntries.map(([name]) => name);
|
|
108
117
|
const matchedNames = expandGlobs(args.skills, allNames);
|
|
109
118
|
const matchedSet = new Set(matchedNames);
|
|
110
|
-
|
|
119
|
+
return sourceFilteredEntries.filter(([name]) => matchedSet.has(name));
|
|
120
|
+
})();
|
|
121
|
+
if (args.skills.length > 0) {
|
|
111
122
|
if (filteredEntries.length === 0) {
|
|
112
123
|
yield* log.warn("No installed skills match the --skill filter. Nothing to update.");
|
|
113
124
|
return;
|
|
114
125
|
}
|
|
115
126
|
}
|
|
116
|
-
// Step 4: Re-resolve each source and discover skills
|
|
117
127
|
const resolveHandle = yield* spinnerSvc.start("Resolving sources...");
|
|
118
128
|
const results = yield* Effect.forEach(filteredEntries, ([name, sourceStr]) => Effect.gen(function* () {
|
|
119
129
|
const source = yield* resolveSource(sourceStr);
|
|
120
|
-
|
|
130
|
+
// First try with name filter (fast path)
|
|
131
|
+
const namedRefs = yield* sources.resolveExtension(source, {
|
|
121
132
|
names: [name],
|
|
122
133
|
agents: args.agents,
|
|
123
134
|
type: "skill",
|
|
124
135
|
});
|
|
125
|
-
|
|
126
|
-
const
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
136
|
+
const namedSkillRefs = Array.filter(namedRefs, (r) => r.type === "skill");
|
|
137
|
+
const skillRef = namedSkillRefs.find((r) => r.skill.name === name);
|
|
138
|
+
if (skillRef) {
|
|
139
|
+
// For registry sources, fetch to temp
|
|
140
|
+
if (skillRef.source.type === "registry") {
|
|
141
|
+
const files = yield* sources.fetch(skillRef);
|
|
142
|
+
return Option.some({
|
|
143
|
+
type: "match",
|
|
144
|
+
ref: { ...skillRef, location: `file://${files.directory}` },
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
return Option.some({ type: "match", ref: skillRef });
|
|
148
|
+
}
|
|
149
|
+
// Skill not found by name — re-resolve without name filter for rename detection
|
|
150
|
+
const allRefs = yield* sources.resolveExtension(source, {
|
|
151
|
+
names: [],
|
|
152
|
+
agents: args.agents,
|
|
153
|
+
type: "skill",
|
|
154
|
+
});
|
|
155
|
+
const allSkillRefs = Array.filter(allRefs, (r) => r.type === "skill");
|
|
156
|
+
if (allSkillRefs.length === 1) {
|
|
157
|
+
// Single-skill source: treat as rename
|
|
158
|
+
const newRef = allSkillRefs[0];
|
|
159
|
+
const resolvedNewRef = newRef.source.type === "registry"
|
|
160
|
+
? { ...newRef, location: `file://${(yield* sources.fetch(newRef)).directory}` }
|
|
161
|
+
: newRef;
|
|
162
|
+
return Option.some({
|
|
163
|
+
type: "rename",
|
|
164
|
+
oldName: name,
|
|
165
|
+
newRef: resolvedNewRef,
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
else if (allSkillRefs.length > 1) {
|
|
169
|
+
// Multi-skill source: ambiguous rename
|
|
170
|
+
const availableNames = allSkillRefs.map((r) => r.skill.name).join(", ");
|
|
171
|
+
yield* log.warn(`Skill "${name}" not found in source. Available skills: ${availableNames}. Use \`axm skills rename ${name} <new-name>\` to update.`);
|
|
130
172
|
return Option.none();
|
|
131
173
|
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
return Option.some({ ...skillRef, location: `file://${files.directory}` });
|
|
174
|
+
else {
|
|
175
|
+
yield* log.warn(`Skill "${name}" not found in source ${printSourceInput(source)}`);
|
|
176
|
+
return Option.none();
|
|
136
177
|
}
|
|
137
|
-
return Option.some(skillRef);
|
|
138
178
|
}).pipe(Effect.catchAll((error) => {
|
|
139
179
|
return log
|
|
140
180
|
.warn(`Failed to resolve "${name}": ${String(error)}`)
|
|
@@ -144,31 +184,62 @@ export const handleUpdate = (args) => {
|
|
|
144
184
|
// Step 5: Collect successful resolutions
|
|
145
185
|
const resolved = Array.getSomes(results);
|
|
146
186
|
if (resolved.length === 0) {
|
|
147
|
-
return yield*
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
187
|
+
return yield* Effect.fail(makeCliError({
|
|
188
|
+
code: "UPDATE_FAILED",
|
|
189
|
+
what: "All source re-resolutions failed. Nothing to update.",
|
|
190
|
+
howToFix: "Verify the original source paths are still accessible.",
|
|
191
|
+
}));
|
|
151
192
|
}
|
|
152
193
|
// Step 6: Build operations
|
|
153
194
|
const agentIds = yield* ws.getConfiguredAgents();
|
|
154
|
-
const ops =
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
195
|
+
const ops = [];
|
|
196
|
+
for (const item of resolved) {
|
|
197
|
+
if (item.type === "match") {
|
|
198
|
+
ops.push({
|
|
199
|
+
name: "install-skill",
|
|
200
|
+
args: {
|
|
201
|
+
agents: agentIds,
|
|
202
|
+
force: args.force,
|
|
203
|
+
source: item.ref.source,
|
|
204
|
+
skill: item.ref.skill,
|
|
205
|
+
location: item.ref.location,
|
|
206
|
+
version: item.ref.version,
|
|
207
|
+
gitTreeSha: item.ref.gitTreeSha,
|
|
208
|
+
},
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
// Rename: install new name + uninstall old name
|
|
213
|
+
ops.push({
|
|
214
|
+
name: "install-skill",
|
|
215
|
+
args: {
|
|
216
|
+
agents: agentIds,
|
|
217
|
+
force: args.force,
|
|
218
|
+
source: item.newRef.source,
|
|
219
|
+
skill: item.newRef.skill,
|
|
220
|
+
location: item.newRef.location,
|
|
221
|
+
version: item.newRef.version,
|
|
222
|
+
gitTreeSha: item.newRef.gitTreeSha,
|
|
223
|
+
},
|
|
224
|
+
});
|
|
225
|
+
ops.push({
|
|
226
|
+
name: "uninstall-skill",
|
|
227
|
+
args: {
|
|
228
|
+
skillName: item.oldName,
|
|
229
|
+
agents: [],
|
|
230
|
+
},
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
}
|
|
166
234
|
// Step 7: Build plan
|
|
167
235
|
const lockfile = { lockfileVersion: 1, skills: lockedSkills };
|
|
168
236
|
const plan = buildUpdatePlan(ops, lockfile, "Update skill(s)", Option.some("Update installed skills"));
|
|
169
237
|
// Step 8: Resolve plan
|
|
170
|
-
yield* ws.resolvePlan(plan, {
|
|
238
|
+
yield* ws.resolvePlan(plan, {
|
|
239
|
+
"install-skill": installSkill,
|
|
240
|
+
"uninstall-skill": uninstallSkill,
|
|
241
|
+
});
|
|
171
242
|
yield* log.success("Done");
|
|
172
|
-
});
|
|
243
|
+
}).pipe(Effect.withSpan("Update.handle"));
|
|
173
244
|
};
|
|
174
245
|
//# sourceMappingURL=handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/update/handler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,aAAa,EACb,eAAe,EACf,gBAAgB,GAEjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../../src/cli-commands/skills/update/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,19 +9,6 @@
|
|
|
9
9
|
import type { ExtensionRef } from "../../resolution/index.js";
|
|
10
10
|
import * as Effect from "effect/Effect";
|
|
11
11
|
import { Select } from "../../tui/index.js";
|
|
12
|
-
declare const SkillsError_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 & {
|
|
13
|
-
readonly _tag: "SkillsError";
|
|
14
|
-
} & Readonly<A>;
|
|
15
|
-
/**
|
|
16
|
-
* Error that occurs during skills operations.
|
|
17
|
-
*
|
|
18
|
-
* @experimental This API is unstable and may change without notice.
|
|
19
|
-
*/
|
|
20
|
-
export declare class SkillsError extends SkillsError_base<{
|
|
21
|
-
readonly message: string;
|
|
22
|
-
readonly retryable: boolean;
|
|
23
|
-
}> {
|
|
24
|
-
}
|
|
25
12
|
/**
|
|
26
13
|
* Selects a single extension reference from resolution results.
|
|
27
14
|
*
|
|
@@ -33,10 +20,9 @@ export declare class SkillsError extends SkillsError_base<{
|
|
|
33
20
|
* @param refs - Extension references from resolution
|
|
34
21
|
* @param input - Original input string for error messages
|
|
35
22
|
* @param canPrompt - Whether interactive prompts are available
|
|
36
|
-
* @returns Effect that succeeds with selected ExtensionRef or fails with
|
|
23
|
+
* @returns Effect that succeeds with selected ExtensionRef or fails with CliError
|
|
37
24
|
*
|
|
38
25
|
* @experimental This API is unstable and may change without notice.
|
|
39
26
|
*/
|
|
40
|
-
export declare function selectExtensionRef(refs: readonly ExtensionRef[], input: string, canPrompt: boolean): Effect.Effect<ExtensionRef,
|
|
41
|
-
export {};
|
|
27
|
+
export declare function selectExtensionRef(refs: readonly ExtensionRef[], input: string, canPrompt: boolean): Effect.Effect<ExtensionRef, import("../../tui/errors.js").PromptCancelled | import("../../cli-error/cli-error.js").CliError, Select>;
|
|
42
28
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/cli-commands/skills/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/cli-commands/skills/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAqC5C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,SAAS,YAAY,EAAE,EAC7B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,OAAO,wIA8DnB"}
|
|
@@ -7,20 +7,33 @@
|
|
|
7
7
|
* @experimental This API is unstable and may change without notice.
|
|
8
8
|
*/
|
|
9
9
|
import * as Array from "effect/Array";
|
|
10
|
-
import * as Data from "effect/Data";
|
|
11
10
|
import * as Effect from "effect/Effect";
|
|
12
11
|
import * as Option from "effect/Option";
|
|
12
|
+
import { makeCliError } from "../../cli-error/index.js";
|
|
13
13
|
import { Select } from "../../tui/index.js";
|
|
14
|
-
import { formatEmptyResolutionError, formatError } from "../../utils/errors.js";
|
|
15
14
|
// -----------------------------------------------------------------------------
|
|
16
|
-
//
|
|
15
|
+
// Formatting Helpers
|
|
17
16
|
// -----------------------------------------------------------------------------
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
17
|
+
function formatError(what, details, howToFix) {
|
|
18
|
+
const lines = [`\u2717 ${what}`];
|
|
19
|
+
if (details && details.length > 0) {
|
|
20
|
+
for (const detail of details) {
|
|
21
|
+
lines.push(` ${detail}`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
if (howToFix) {
|
|
25
|
+
lines.push(` ${howToFix}`);
|
|
26
|
+
}
|
|
27
|
+
return lines.join("\n");
|
|
28
|
+
}
|
|
29
|
+
function formatEmptyResolutionError(input) {
|
|
30
|
+
return formatError(`Could not resolve "${input}"`, ["No matching extensions found"], [
|
|
31
|
+
"Try one of these formats:",
|
|
32
|
+
" \u2022 Local path: ./path/to/skill or /absolute/path",
|
|
33
|
+
" \u2022 GitHub: github:owner/repo or owner/repo",
|
|
34
|
+
" \u2022 GitLab: gitlab:owner/repo",
|
|
35
|
+
" \u2022 AXM name: @scope/name (if installed)",
|
|
36
|
+
].join("\n"));
|
|
24
37
|
}
|
|
25
38
|
// -----------------------------------------------------------------------------
|
|
26
39
|
// Extension Reference Selection
|
|
@@ -36,7 +49,7 @@ export class SkillsError extends Data.TaggedError("SkillsError") {
|
|
|
36
49
|
* @param refs - Extension references from resolution
|
|
37
50
|
* @param input - Original input string for error messages
|
|
38
51
|
* @param canPrompt - Whether interactive prompts are available
|
|
39
|
-
* @returns Effect that succeeds with selected ExtensionRef or fails with
|
|
52
|
+
* @returns Effect that succeeds with selected ExtensionRef or fails with CliError
|
|
40
53
|
*
|
|
41
54
|
* @experimental This API is unstable and may change without notice.
|
|
42
55
|
*/
|
|
@@ -44,9 +57,9 @@ export function selectExtensionRef(refs, input, canPrompt) {
|
|
|
44
57
|
return Effect.gen(function* () {
|
|
45
58
|
// Empty results - fail with suggestions
|
|
46
59
|
if (refs.length === 0) {
|
|
47
|
-
return yield* Effect.fail(
|
|
48
|
-
|
|
49
|
-
|
|
60
|
+
return yield* Effect.fail(makeCliError({
|
|
61
|
+
code: "SKILLS_OPERATION_FAILED",
|
|
62
|
+
what: formatEmptyResolutionError(input),
|
|
50
63
|
}));
|
|
51
64
|
}
|
|
52
65
|
// Single result - use it directly
|
|
@@ -58,9 +71,9 @@ export function selectExtensionRef(refs, input, canPrompt) {
|
|
|
58
71
|
const sources = refs
|
|
59
72
|
.map((r) => ` • ${Option.getOrElse(r.name, () => r.origin)} (${r.source})`)
|
|
60
73
|
.join("\n");
|
|
61
|
-
return yield* Effect.fail(
|
|
62
|
-
|
|
63
|
-
|
|
74
|
+
return yield* Effect.fail(makeCliError({
|
|
75
|
+
code: "SKILLS_OPERATION_FAILED",
|
|
76
|
+
what: formatError(`Ambiguous input "${input}" matches multiple sources`, [`Found ${refs.length} matches:\n${sources}`], "Use --yes or --non-interactive with a more specific source identifier."),
|
|
64
77
|
}));
|
|
65
78
|
}
|
|
66
79
|
// Interactive selection
|
|
@@ -74,10 +87,13 @@ export function selectExtensionRef(refs, input, canPrompt) {
|
|
|
74
87
|
hint: Option.some(`${ref.source}${Option.match(ref.ref, { onNone: () => "", onSome: (r) => `@${r}` })}`),
|
|
75
88
|
}),
|
|
76
89
|
})
|
|
77
|
-
.pipe(Effect.mapError((error) =>
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
90
|
+
.pipe(Effect.mapError((error) => error._tag === "PromptCancelled"
|
|
91
|
+
? error
|
|
92
|
+
: makeCliError({
|
|
93
|
+
code: "SKILLS_OPERATION_FAILED",
|
|
94
|
+
what: `Failed to prompt for extension selection: ${error.message}`,
|
|
95
|
+
cause: error,
|
|
96
|
+
})));
|
|
81
97
|
return selected;
|
|
82
98
|
});
|
|
83
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/cli-commands/skills/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/cli-commands/skills/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as Option from "effect/Option";
|
|
2
|
+
declare const CliError_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 & {
|
|
3
|
+
readonly _tag: "CliError";
|
|
4
|
+
} & Readonly<A>;
|
|
5
|
+
export declare class CliError extends CliError_base<{
|
|
6
|
+
readonly code: string;
|
|
7
|
+
readonly what: string;
|
|
8
|
+
readonly details: ReadonlyArray<string>;
|
|
9
|
+
readonly howToFix: Option.Option<string>;
|
|
10
|
+
readonly cause: unknown;
|
|
11
|
+
}> {
|
|
12
|
+
}
|
|
13
|
+
export declare const makeCliError: (args: {
|
|
14
|
+
readonly code: string;
|
|
15
|
+
readonly what: string;
|
|
16
|
+
readonly details?: ReadonlyArray<string>;
|
|
17
|
+
readonly howToFix?: string;
|
|
18
|
+
readonly cause?: unknown;
|
|
19
|
+
}) => CliError;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=cli-error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-error.d.ts","sourceRoot":"","sources":["../../../src/cli-error/cli-error.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;;;;AAExC,qBAAa,QAAS,SAAQ,cAA6B;IACzD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB,CAAC;CAAG;AAEL,eAAO,MAAM,YAAY,GAAI,MAAM;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B,KAAG,QAOA,CAAC"}
|