@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.
- package/dist/src/agents/claude-code/descriptor.d.ts.map +1 -1
- package/dist/src/agents/claude-code/descriptor.js +0 -2
- package/dist/src/agents/claude-code/descriptor.js.map +1 -1
- package/dist/src/agents/claude-code/index.d.ts +0 -2
- package/dist/src/agents/claude-code/index.d.ts.map +1 -1
- package/dist/src/agents/claude-code/index.js +0 -2
- package/dist/src/agents/claude-code/index.js.map +1 -1
- package/dist/src/agents/codex/descriptor.d.ts.map +1 -1
- package/dist/src/agents/codex/descriptor.js +0 -2
- package/dist/src/agents/codex/descriptor.js.map +1 -1
- package/dist/src/agents/codex/index.d.ts +0 -2
- package/dist/src/agents/codex/index.d.ts.map +1 -1
- package/dist/src/agents/codex/index.js +0 -2
- package/dist/src/agents/codex/index.js.map +1 -1
- package/dist/src/agents/continue/descriptor.d.ts.map +1 -1
- package/dist/src/agents/continue/descriptor.js +0 -2
- package/dist/src/agents/continue/descriptor.js.map +1 -1
- package/dist/src/agents/continue/index.d.ts +0 -1
- package/dist/src/agents/continue/index.d.ts.map +1 -1
- package/dist/src/agents/continue/index.js +0 -1
- package/dist/src/agents/continue/index.js.map +1 -1
- package/dist/src/agents/cursor/descriptor.d.ts.map +1 -1
- package/dist/src/agents/cursor/descriptor.js +0 -2
- package/dist/src/agents/cursor/descriptor.js.map +1 -1
- package/dist/src/agents/cursor/index.d.ts +0 -1
- package/dist/src/agents/cursor/index.d.ts.map +1 -1
- package/dist/src/agents/cursor/index.js +0 -1
- package/dist/src/agents/cursor/index.js.map +1 -1
- package/dist/src/agents/detection.d.ts +13 -55
- package/dist/src/agents/detection.d.ts.map +1 -1
- package/dist/src/agents/detection.js +27 -84
- package/dist/src/agents/detection.js.map +1 -1
- package/dist/src/agents/index.d.ts +1 -3
- package/dist/src/agents/index.d.ts.map +1 -1
- package/dist/src/agents/index.js +1 -4
- package/dist/src/agents/index.js.map +1 -1
- package/dist/src/agents/opencode/descriptor.d.ts.map +1 -1
- package/dist/src/agents/opencode/descriptor.js +0 -2
- package/dist/src/agents/opencode/descriptor.js.map +1 -1
- package/dist/src/agents/opencode/index.d.ts +0 -1
- package/dist/src/agents/opencode/index.d.ts.map +1 -1
- package/dist/src/agents/opencode/index.js +0 -1
- package/dist/src/agents/opencode/index.js.map +1 -1
- package/dist/src/agents/types.d.ts +1 -16
- package/dist/src/agents/types.d.ts.map +1 -1
- package/dist/src/agents/windsurf/descriptor.d.ts.map +1 -1
- package/dist/src/agents/windsurf/descriptor.js +0 -2
- package/dist/src/agents/windsurf/descriptor.js.map +1 -1
- package/dist/src/agents/windsurf/index.d.ts +0 -1
- package/dist/src/agents/windsurf/index.d.ts.map +1 -1
- package/dist/src/agents/windsurf/index.js +0 -1
- package/dist/src/agents/windsurf/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 +31 -24
- package/dist/src/workspace/service.d.ts.map +1 -1
- package/dist/src/workspace/service.js +110 -81
- package/dist/src/workspace/service.js.map +1 -1
- package/package.json +1 -1
|
@@ -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":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF,SAAS,WAAW,CAAC,IAAY,EAAE,OAA+B,EAAE,QAAiB;IACnF,MAAM,KAAK,GAAa,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IAC3C,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAa;IAC/C,OAAO,WAAW,CAChB,sBAAsB,KAAK,GAAG,EAC9B,CAAC,8BAA8B,CAAC,EAChC;QACE,2BAA2B;QAC3B,wDAAwD;QACxD,kDAAkD;QAClD,oCAAoC;QACpC,+CAA+C;KAChD,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,gCAAgC;AAChC,gFAAgF;AAEhF;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAA6B,EAC7B,KAAa,EACb,SAAkB;IAElB,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzB,wCAAwC;QACxC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CACvB,YAAY,CAAC;gBACX,IAAI,EAAE,yBAAyB;gBAC/B,IAAI,EAAE,0BAA0B,CAAC,KAAK,CAAC;aACxC,CAAC,CACH,CAAC;QACJ,CAAC;QAED,kCAAkC;QAClC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,CAAC;QAED,qEAAqE;QACrE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,IAAI;iBACjB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;iBAC3E,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CACvB,YAAY,CAAC;gBACX,IAAI,EAAE,yBAAyB;gBAC/B,IAAI,EAAE,WAAW,CACf,oBAAoB,KAAK,4BAA4B,EACrD,CAAC,SAAS,IAAI,CAAC,MAAM,cAAc,OAAO,EAAE,CAAC,EAC7C,wEAAwE,CACzE;aACF,CAAC,CACH,CAAC;QACJ,CAAC;QAED,wBAAwB;QACxB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC;QAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM;aAC3B,MAAM,CAAC;YACN,OAAO,EAAE,4DAA4D;YACrE,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAClB,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC;gBACnD,IAAI,EAAE,MAAM,CAAC,IAAI,CACf,GAAG,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CACtF;aACF,CAAC;SACH,CAAC;aACD,IAAI,CACH,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CACxB,KAAK,CAAC,IAAI,KAAK,iBAAiB;YAC9B,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,YAAY,CAAC;gBACX,IAAI,EAAE,yBAAyB;gBAC/B,IAAI,EAAE,6CAA6C,KAAK,CAAC,OAAO,EAAE;gBAClE,KAAK,EAAE,KAAK;aACb,CAAC,CACP,CACF,CAAC;QAEJ,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as Data from "effect/Data";
|
|
2
|
+
import * as Option from "effect/Option";
|
|
3
|
+
export class CliError extends Data.TaggedError("CliError") {
|
|
4
|
+
}
|
|
5
|
+
export const makeCliError = (args) => new CliError({
|
|
6
|
+
code: args.code,
|
|
7
|
+
what: args.what,
|
|
8
|
+
details: args.details ?? [],
|
|
9
|
+
howToFix: Option.fromNullable(args.howToFix),
|
|
10
|
+
cause: args.cause,
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=cli-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-error.js","sourceRoot":"","sources":["../../../src/cli-error/cli-error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,MAAM,OAAO,QAAS,SAAQ,IAAI,CAAC,WAAW,CAAC,UAAU,CAMvD;CAAG;AAEL,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAM5B,EAAY,EAAE,CACb,IAAI,QAAQ,CAAC;IACX,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;IAC3B,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC5C,KAAK,EAAE,IAAI,CAAC,KAAK;CAClB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli-error/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli-error/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/cli-error/render.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,eAAO,MAAM,cAAc,GAAI,OAAO,QAAQ,KAAG,MAchD,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,MAa7C,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as Option from "effect/Option";
|
|
2
|
+
export const renderCliError = (error) => {
|
|
3
|
+
const lines = [];
|
|
4
|
+
lines.push(`\u2717 ${error.what} (${error.code})`);
|
|
5
|
+
for (const detail of error.details) {
|
|
6
|
+
lines.push(` ${detail}`);
|
|
7
|
+
}
|
|
8
|
+
if (Option.isSome(error.howToFix)) {
|
|
9
|
+
lines.push(` ${error.howToFix.value}`);
|
|
10
|
+
}
|
|
11
|
+
return lines.join("\n");
|
|
12
|
+
};
|
|
13
|
+
export const renderDefect = (error) => {
|
|
14
|
+
const lines = [];
|
|
15
|
+
lines.push("\u2717 An unexpected error occurred");
|
|
16
|
+
lines.push(" This is a bug. Please report it at https://github.com/agentxm/axm/issues");
|
|
17
|
+
if (error instanceof Error) {
|
|
18
|
+
lines.push(` ${error.message}`);
|
|
19
|
+
}
|
|
20
|
+
else if (typeof error === "string") {
|
|
21
|
+
lines.push(` ${error}`);
|
|
22
|
+
}
|
|
23
|
+
return lines.join("\n");
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=render.js.map
|