@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/settings/schema.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,gFAAgF;AAChF,6DAA6D;AAC7D,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,mBAAmB,GAAG,uBAAuB,CAAC;AAEpD,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAEjF;;;;GAIG;AACH,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC,GAAG;CAChB,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC,GAAG;CAChB,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,2BAA2B,GAAG,MAAM,CAAC,MAAM,CAAC;IAChD,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;IACjC,GAAG,EAAE,MAAM,CAAC,GAAG;CAChB,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,4BAA4B,GAAG,MAAM,CAAC,MAAM,CAAC;IACjD,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;IAClC,GAAG,EAAE,MAAM,CAAC,GAAG;CAChB,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,0BAA0B,GAAG,MAAM,CAAC,MAAM,CAAC;IAC/C,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;IAChC,GAAG,EAAE,MAAM,CAAC,GAAG;IACf,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;CACrD,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAC5C,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,CAC3B,CAAC;AAoBF;;;;;;;GAOG;AACH,MAAM,kBAAkB,GAAG,mDAAmD,CAAC;AAE/E;;;GAGG;AACH,MAAM,qBAAqB,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/settings/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import * as FileSystem from "@effect/platform/FileSystem";
|
|
8
8
|
import * as Path from "@effect/platform/Path";
|
|
9
9
|
import * as Effect from "effect/Effect";
|
|
10
|
+
import * as Option from "effect/Option";
|
|
10
11
|
import { type Settings } from "./schema.js";
|
|
11
12
|
/**
|
|
12
13
|
* Filename for the settings file.
|
|
@@ -20,53 +21,6 @@ export declare const SETTINGS_FILENAME = "settings.json";
|
|
|
20
21
|
* @experimental This API is unstable and may change without notice.
|
|
21
22
|
*/
|
|
22
23
|
export declare const DEFAULT_SCOPE = "@community";
|
|
23
|
-
declare const SettingsNotFoundError_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 & {
|
|
24
|
-
readonly _tag: "SettingsNotFoundError";
|
|
25
|
-
} & Readonly<A>;
|
|
26
|
-
/**
|
|
27
|
-
* Settings file not found.
|
|
28
|
-
*
|
|
29
|
-
* @experimental This API is unstable and may change without notice.
|
|
30
|
-
*/
|
|
31
|
-
export declare class SettingsNotFoundError extends SettingsNotFoundError_base<{
|
|
32
|
-
readonly path: string;
|
|
33
|
-
readonly message: string;
|
|
34
|
-
}> {
|
|
35
|
-
}
|
|
36
|
-
declare const SettingsParseError_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 & {
|
|
37
|
-
readonly _tag: "SettingsParseError";
|
|
38
|
-
} & Readonly<A>;
|
|
39
|
-
/**
|
|
40
|
-
* Failed to parse settings JSON.
|
|
41
|
-
*
|
|
42
|
-
* @experimental This API is unstable and may change without notice.
|
|
43
|
-
*/
|
|
44
|
-
export declare class SettingsParseError extends SettingsParseError_base<{
|
|
45
|
-
readonly path: string;
|
|
46
|
-
readonly message: string;
|
|
47
|
-
readonly cause: unknown;
|
|
48
|
-
}> {
|
|
49
|
-
}
|
|
50
|
-
declare const SettingsWriteError_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 & {
|
|
51
|
-
readonly _tag: "SettingsWriteError";
|
|
52
|
-
} & Readonly<A>;
|
|
53
|
-
/**
|
|
54
|
-
* Failed to write settings file.
|
|
55
|
-
*
|
|
56
|
-
* @experimental This API is unstable and may change without notice.
|
|
57
|
-
*/
|
|
58
|
-
export declare class SettingsWriteError extends SettingsWriteError_base<{
|
|
59
|
-
readonly path: string;
|
|
60
|
-
readonly message: string;
|
|
61
|
-
readonly cause: unknown;
|
|
62
|
-
}> {
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Union of all settings errors.
|
|
66
|
-
*
|
|
67
|
-
* @experimental This API is unstable and may change without notice.
|
|
68
|
-
*/
|
|
69
|
-
export type SettingsError = SettingsNotFoundError | SettingsParseError | SettingsWriteError;
|
|
70
24
|
/**
|
|
71
25
|
* Create default settings object.
|
|
72
26
|
*
|
|
@@ -90,7 +44,7 @@ export declare const orderSettingsKeys: (settings: Settings) => Settings;
|
|
|
90
44
|
*
|
|
91
45
|
* @experimental This API is unstable and may change without notice.
|
|
92
46
|
*/
|
|
93
|
-
export declare const readSettings: (axmDir: string) => Effect.Effect<{
|
|
47
|
+
export declare const readSettings: (axmDir: string) => Effect.Effect<Option.Option<{
|
|
94
48
|
readonly scope?: string | undefined;
|
|
95
49
|
readonly sources?: readonly ({
|
|
96
50
|
readonly type: "github";
|
|
@@ -116,7 +70,12 @@ export declare const readSettings: (axmDir: string) => Effect.Effect<{
|
|
|
116
70
|
})[] | undefined;
|
|
117
71
|
readonly agents?: readonly ("cursor" | "adal" | "amp" | "antigravity" | "augment" | "claude-code" | "cline" | "codebuddy" | "codex" | "command-code" | "continue" | "crush" | "droid" | "gemini-cli" | "github-copilot" | "goose" | "iflow-cli" | "junie" | "kilo" | "kimi-cli" | "kiro-cli" | "kode" | "mcpjam" | "mistral-vibe" | "mux" | "neovate" | "openclaw" | "opencode" | "openhands" | "pi" | "pochi" | "qoder" | "qwen-code" | "replit" | "roo" | "trae" | "trae-cn" | "windsurf" | "zencoder")[] | undefined;
|
|
118
72
|
readonly skills?: {
|
|
119
|
-
readonly [x: string]: string
|
|
73
|
+
readonly [x: string]: string | {
|
|
74
|
+
readonly source: string;
|
|
75
|
+
readonly enabled?: boolean | undefined;
|
|
76
|
+
} | {
|
|
77
|
+
readonly managed: false;
|
|
78
|
+
};
|
|
120
79
|
} | undefined;
|
|
121
80
|
readonly commands?: {
|
|
122
81
|
readonly [x: string]: string;
|
|
@@ -127,7 +86,7 @@ export declare const readSettings: (axmDir: string) => Effect.Effect<{
|
|
|
127
86
|
readonly "mcp-servers"?: {
|
|
128
87
|
readonly [x: string]: string;
|
|
129
88
|
} | undefined;
|
|
130
|
-
},
|
|
89
|
+
}>, import("../cli-error/cli-error.js").CliError, FileSystem.FileSystem | Path.Path>;
|
|
131
90
|
/**
|
|
132
91
|
* Write settings to .axm/settings.json.
|
|
133
92
|
*
|
|
@@ -138,6 +97,5 @@ export declare const readSettings: (axmDir: string) => Effect.Effect<{
|
|
|
138
97
|
*
|
|
139
98
|
* @experimental This API is unstable and may change without notice.
|
|
140
99
|
*/
|
|
141
|
-
export declare const writeSettings: (axmDir: string, settings: Settings) => Effect.Effect<void,
|
|
142
|
-
export {};
|
|
100
|
+
export declare const writeSettings: (axmDir: string, settings: Settings) => Effect.Effect<void, import("../cli-error/cli-error.js").CliError, FileSystem.FileSystem | Path.Path>;
|
|
143
101
|
//# sourceMappingURL=settings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/settings/settings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/settings/settings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAsB,KAAK,QAAQ,EAAkB,MAAM,aAAa,CAAC;AAMhF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,kBAAkB,CAAC;AAEjD;;;;GAIG;AACH,eAAO,MAAM,aAAa,eAAe,CAAC;AAM1C;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,QAAO,QAAgB,CAAC;AAM1D;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAAI,UAAU,QAAQ,KAAG,QAQtD,CAAC;AAMF;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oFAsDvC,CAAC;AAEL;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,EAAE,UAAU,QAAQ,yGA8B5D,CAAC"}
|
|
@@ -6,9 +6,10 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import * as FileSystem from "@effect/platform/FileSystem";
|
|
8
8
|
import * as Path from "@effect/platform/Path";
|
|
9
|
-
import * as Data from "effect/Data";
|
|
10
9
|
import * as Effect from "effect/Effect";
|
|
10
|
+
import * as Option from "effect/Option";
|
|
11
11
|
import * as Schema from "effect/Schema";
|
|
12
|
+
import { makeCliError } from "../cli-error/index.js";
|
|
12
13
|
import { SETTINGS_KEY_ORDER, SettingsSchema } from "./schema.js";
|
|
13
14
|
// -----------------------------------------------------------------------------
|
|
14
15
|
// Constants
|
|
@@ -26,30 +27,6 @@ export const SETTINGS_FILENAME = "settings.json";
|
|
|
26
27
|
*/
|
|
27
28
|
export const DEFAULT_SCOPE = "@community";
|
|
28
29
|
// -----------------------------------------------------------------------------
|
|
29
|
-
// Error Types
|
|
30
|
-
// -----------------------------------------------------------------------------
|
|
31
|
-
/**
|
|
32
|
-
* Settings file not found.
|
|
33
|
-
*
|
|
34
|
-
* @experimental This API is unstable and may change without notice.
|
|
35
|
-
*/
|
|
36
|
-
export class SettingsNotFoundError extends Data.TaggedError("SettingsNotFoundError") {
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Failed to parse settings JSON.
|
|
40
|
-
*
|
|
41
|
-
* @experimental This API is unstable and may change without notice.
|
|
42
|
-
*/
|
|
43
|
-
export class SettingsParseError extends Data.TaggedError("SettingsParseError") {
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Failed to write settings file.
|
|
47
|
-
*
|
|
48
|
-
* @experimental This API is unstable and may change without notice.
|
|
49
|
-
*/
|
|
50
|
-
export class SettingsWriteError extends Data.TaggedError("SettingsWriteError") {
|
|
51
|
-
}
|
|
52
|
-
// -----------------------------------------------------------------------------
|
|
53
30
|
// Default Settings
|
|
54
31
|
// -----------------------------------------------------------------------------
|
|
55
32
|
/**
|
|
@@ -94,39 +71,36 @@ export const readSettings = (axmDir) => Effect.gen(function* () {
|
|
|
94
71
|
const path = yield* Path.Path;
|
|
95
72
|
const settingsPath = path.join(axmDir, SETTINGS_FILENAME);
|
|
96
73
|
// Check if file exists
|
|
97
|
-
const exists = yield* fs.exists(settingsPath).pipe(Effect.mapError((error) =>
|
|
98
|
-
|
|
99
|
-
|
|
74
|
+
const exists = yield* fs.exists(settingsPath).pipe(Effect.mapError((error) => makeCliError({
|
|
75
|
+
code: "SETTINGS_PARSE_FAILED",
|
|
76
|
+
what: `Failed to check if settings file exists: ${settingsPath}`,
|
|
100
77
|
cause: error,
|
|
101
78
|
})));
|
|
102
79
|
if (!exists) {
|
|
103
|
-
return
|
|
104
|
-
path: settingsPath,
|
|
105
|
-
message: `Settings file not found: ${settingsPath}`,
|
|
106
|
-
});
|
|
80
|
+
return Option.none();
|
|
107
81
|
}
|
|
108
82
|
// Read file contents
|
|
109
|
-
const content = yield* fs.readFileString(settingsPath).pipe(Effect.mapError((error) =>
|
|
110
|
-
|
|
111
|
-
|
|
83
|
+
const content = yield* fs.readFileString(settingsPath).pipe(Effect.mapError((error) => makeCliError({
|
|
84
|
+
code: "SETTINGS_PARSE_FAILED",
|
|
85
|
+
what: `Failed to read settings file: ${settingsPath}`,
|
|
112
86
|
cause: error,
|
|
113
87
|
})));
|
|
114
88
|
// Parse JSON
|
|
115
89
|
const json = yield* Effect.try({
|
|
116
90
|
try: () => JSON.parse(content),
|
|
117
|
-
catch: (error) =>
|
|
118
|
-
|
|
119
|
-
|
|
91
|
+
catch: (error) => makeCliError({
|
|
92
|
+
code: "SETTINGS_PARSE_FAILED",
|
|
93
|
+
what: `Failed to parse settings JSON: ${String(error)}`,
|
|
120
94
|
cause: error,
|
|
121
95
|
}),
|
|
122
96
|
});
|
|
123
97
|
// Validate schema
|
|
124
|
-
const parsed = yield* Schema.decodeUnknown(SettingsSchema)(json).pipe(Effect.mapError((error) =>
|
|
125
|
-
|
|
126
|
-
|
|
98
|
+
const parsed = yield* Schema.decodeUnknown(SettingsSchema)(json).pipe(Effect.mapError((error) => makeCliError({
|
|
99
|
+
code: "SETTINGS_PARSE_FAILED",
|
|
100
|
+
what: `Invalid settings format: ${error.message}`,
|
|
127
101
|
cause: error,
|
|
128
102
|
})));
|
|
129
|
-
return parsed;
|
|
103
|
+
return Option.some(parsed);
|
|
130
104
|
});
|
|
131
105
|
/**
|
|
132
106
|
* Write settings to .axm/settings.json.
|
|
@@ -143,17 +117,17 @@ export const writeSettings = (axmDir, settings) => Effect.gen(function* () {
|
|
|
143
117
|
const path = yield* Path.Path;
|
|
144
118
|
const settingsPath = path.join(axmDir, SETTINGS_FILENAME);
|
|
145
119
|
// Ensure directory exists
|
|
146
|
-
yield* fs.makeDirectory(axmDir, { recursive: true }).pipe(Effect.mapError((error) =>
|
|
147
|
-
|
|
148
|
-
|
|
120
|
+
yield* fs.makeDirectory(axmDir, { recursive: true }).pipe(Effect.mapError((error) => makeCliError({
|
|
121
|
+
code: "SETTINGS_WRITE_FAILED",
|
|
122
|
+
what: `Failed to create directory: ${axmDir}`,
|
|
149
123
|
cause: error,
|
|
150
124
|
})));
|
|
151
125
|
// Serialize to JSON with pretty printing and trailing newline
|
|
152
126
|
const content = JSON.stringify(orderSettingsKeys(settings), null, 2) + "\n";
|
|
153
127
|
// Write file
|
|
154
|
-
yield* fs.writeFileString(settingsPath, content).pipe(Effect.mapError((error) =>
|
|
155
|
-
|
|
156
|
-
|
|
128
|
+
yield* fs.writeFileString(settingsPath, content).pipe(Effect.mapError((error) => makeCliError({
|
|
129
|
+
code: "SETTINGS_WRITE_FAILED",
|
|
130
|
+
what: `Failed to write settings file: ${settingsPath}`,
|
|
157
131
|
cause: error,
|
|
158
132
|
})));
|
|
159
133
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/settings/settings.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAC9C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/settings/settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Normalization and collapse functions for skill entries.
|
|
3
|
+
*
|
|
4
|
+
* @experimental This API is unstable and may change without notice.
|
|
5
|
+
* @packageDocumentation
|
|
6
|
+
*/
|
|
7
|
+
import * as Option from "effect/Option";
|
|
8
|
+
import type { SkillEntry } from "./schema.js";
|
|
9
|
+
/**
|
|
10
|
+
* Canonical internal representation of a skill entry.
|
|
11
|
+
*
|
|
12
|
+
* All handler and service code works with this form.
|
|
13
|
+
*
|
|
14
|
+
* @experimental This API is unstable and may change without notice.
|
|
15
|
+
*/
|
|
16
|
+
export interface NormalizedSkillEntry {
|
|
17
|
+
readonly source: Option.Option<string>;
|
|
18
|
+
readonly enabled: boolean;
|
|
19
|
+
readonly managed: boolean;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Normalize a parsed SkillEntry to its canonical internal form.
|
|
23
|
+
*
|
|
24
|
+
* @experimental This API is unstable and may change without notice.
|
|
25
|
+
*/
|
|
26
|
+
export declare const normalizeSkillEntry: (entry: SkillEntry) => NormalizedSkillEntry;
|
|
27
|
+
/**
|
|
28
|
+
* Collapse a NormalizedSkillEntry to the most compact settings representation.
|
|
29
|
+
*
|
|
30
|
+
* @experimental This API is unstable and may change without notice.
|
|
31
|
+
*/
|
|
32
|
+
/**
|
|
33
|
+
* Extract the source string from a SkillEntry, or undefined for unmanaged entries.
|
|
34
|
+
*
|
|
35
|
+
* @experimental This API is unstable and may change without notice.
|
|
36
|
+
*/
|
|
37
|
+
export declare const getSkillEntrySource: (entry: SkillEntry) => string | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* Collapse a NormalizedSkillEntry to the most compact settings representation.
|
|
40
|
+
*
|
|
41
|
+
* @experimental This API is unstable and may change without notice.
|
|
42
|
+
*/
|
|
43
|
+
export declare const collapseSkillEntry: (entry: NormalizedSkillEntry) => SkillEntry;
|
|
44
|
+
//# sourceMappingURL=skill-entry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-entry.d.ts","sourceRoot":"","sources":["../../../src/settings/skill-entry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,OAAO,UAAU,KAAG,oBAYvD,CAAC;AAEF;;;;GAIG;AACH;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,OAAO,UAAU,KAAG,MAAM,GAAG,SAIhE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,oBAAoB,KAAG,UAShE,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Normalization and collapse functions for skill entries.
|
|
3
|
+
*
|
|
4
|
+
* @experimental This API is unstable and may change without notice.
|
|
5
|
+
* @packageDocumentation
|
|
6
|
+
*/
|
|
7
|
+
import * as Option from "effect/Option";
|
|
8
|
+
/**
|
|
9
|
+
* Normalize a parsed SkillEntry to its canonical internal form.
|
|
10
|
+
*
|
|
11
|
+
* @experimental This API is unstable and may change without notice.
|
|
12
|
+
*/
|
|
13
|
+
export const normalizeSkillEntry = (entry) => {
|
|
14
|
+
if (typeof entry === "string") {
|
|
15
|
+
return { source: Option.some(entry), enabled: true, managed: true };
|
|
16
|
+
}
|
|
17
|
+
if ("managed" in entry) {
|
|
18
|
+
return { source: Option.none(), enabled: true, managed: false };
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
source: Option.some(entry.source),
|
|
22
|
+
enabled: entry.enabled ?? true,
|
|
23
|
+
managed: true,
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Collapse a NormalizedSkillEntry to the most compact settings representation.
|
|
28
|
+
*
|
|
29
|
+
* @experimental This API is unstable and may change without notice.
|
|
30
|
+
*/
|
|
31
|
+
/**
|
|
32
|
+
* Extract the source string from a SkillEntry, or undefined for unmanaged entries.
|
|
33
|
+
*
|
|
34
|
+
* @experimental This API is unstable and may change without notice.
|
|
35
|
+
*/
|
|
36
|
+
export const getSkillEntrySource = (entry) => {
|
|
37
|
+
if (typeof entry === "string")
|
|
38
|
+
return entry;
|
|
39
|
+
if ("source" in entry)
|
|
40
|
+
return entry.source;
|
|
41
|
+
return undefined;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Collapse a NormalizedSkillEntry to the most compact settings representation.
|
|
45
|
+
*
|
|
46
|
+
* @experimental This API is unstable and may change without notice.
|
|
47
|
+
*/
|
|
48
|
+
export const collapseSkillEntry = (entry) => {
|
|
49
|
+
if (!entry.managed) {
|
|
50
|
+
return { managed: false };
|
|
51
|
+
}
|
|
52
|
+
const source = Option.getOrThrow(entry.source);
|
|
53
|
+
if (entry.enabled) {
|
|
54
|
+
return source;
|
|
55
|
+
}
|
|
56
|
+
return { source, enabled: false };
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=skill-entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-entry.js","sourceRoot":"","sources":["../../../src/settings/skill-entry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAgBxC;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAiB,EAAwB,EAAE;IAC7E,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACtE,CAAC;IACD,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;QACvB,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAClE,CAAC;IACD,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACjC,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;QAC9B,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC,CAAC;AAEF;;;;GAIG;AACH;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAiB,EAAsB,EAAE;IAC3E,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,QAAQ,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC,MAAM,CAAC;IAC3C,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAA2B,EAAc,EAAE;IAC5E,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,EAAE,OAAO,EAAE,KAAc,EAAE,CAAC;IACrC,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACpC,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
|
-
import {
|
|
3
|
-
export declare const checkAzureReposRepoExists: (organization: string, project: string, repo: string) => Effect.Effect<void,
|
|
2
|
+
import { type CliError } from "../../cli-error/index.js";
|
|
3
|
+
export declare const checkAzureReposRepoExists: (organization: string, project: string, repo: string) => Effect.Effect<void, CliError>;
|
|
4
4
|
//# sourceMappingURL=repo-exists.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-exists.d.ts","sourceRoot":"","sources":["../../../../src/sources/azurerepos/repo-exists.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,
|
|
1
|
+
{"version":3,"file":"repo-exists.d.ts","sourceRoot":"","sources":["../../../../src/sources/azurerepos/repo-exists.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEvE,eAAO,MAAM,yBAAyB,GACpC,cAAc,MAAM,EACpB,SAAS,MAAM,EACf,MAAM,MAAM,KACX,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAsB5B,CAAC"}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
|
-
import {
|
|
2
|
+
import { makeCliError } from "../../cli-error/index.js";
|
|
3
3
|
export const checkAzureReposRepoExists = (organization, project, repo) => Effect.tryPromise({
|
|
4
4
|
try: () => fetch(`https://dev.azure.com/${organization}/${project}/_git/${repo}`, { method: "HEAD" }),
|
|
5
|
-
catch: (error) =>
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
catch: (error) => makeCliError({
|
|
6
|
+
code: "SOURCE_PARSE_FAILED",
|
|
7
|
+
what: `Failed to check Azure Repos: ${error instanceof Error ? error.message : String(error)}`,
|
|
8
|
+
details: [`${organization}/${project}/${repo}`],
|
|
8
9
|
}),
|
|
9
10
|
}).pipe(Effect.flatMap((response) => response.ok
|
|
10
11
|
? Effect.void
|
|
11
|
-
: Effect.fail(
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
: Effect.fail(makeCliError({
|
|
13
|
+
code: "SOURCE_PARSE_FAILED",
|
|
14
|
+
what: `Not found on Azure Repos`,
|
|
15
|
+
details: [`${organization}/${project}/${repo}`],
|
|
14
16
|
}))));
|
|
15
17
|
//# sourceMappingURL=repo-exists.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-exists.js","sourceRoot":"","sources":["../../../../src/sources/azurerepos/repo-exists.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"repo-exists.js","sourceRoot":"","sources":["../../../../src/sources/azurerepos/repo-exists.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,YAAY,EAAiB,MAAM,0BAA0B,CAAC;AAEvE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,YAAoB,EACpB,OAAe,EACf,IAAY,EACmB,EAAE,CACjC,MAAM,CAAC,UAAU,CAAC;IAChB,GAAG,EAAE,GAAG,EAAE,CACR,KAAK,CAAC,yBAAyB,YAAY,IAAI,OAAO,SAAS,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC5F,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,YAAY,CAAC;QACX,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,gCAAgC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAC9F,OAAO,EAAE,CAAC,GAAG,YAAY,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;KAChD,CAAC;CACL,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC1B,QAAQ,CAAC,EAAE;IACT,CAAC,CAAC,MAAM,CAAC,IAAI;IACb,CAAC,CAAC,MAAM,CAAC,IAAI,CACT,YAAY,CAAC;QACX,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,CAAC,GAAG,YAAY,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;KAChD,CAAC,CACH,CACN,CACF,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
2
|
import * as Option from "effect/Option";
|
|
3
|
-
|
|
4
|
-
export declare const parseScp: (input: string, hostname?: string) => Effect.Effect<never, ParseError, never> | Effect.Effect<{
|
|
3
|
+
export declare const parseScp: (input: string, hostname?: string) => Effect.Effect<never, import("../../cli-error/cli-error.js").CliError, never> | Effect.Effect<{
|
|
5
4
|
type: "azurerepos";
|
|
6
5
|
organization: string;
|
|
7
6
|
project: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scp.d.ts","sourceRoot":"","sources":["../../../../src/sources/azurerepos/scp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"scp.d.ts","sourceRoot":"","sources":["../../../../src/sources/azurerepos/scp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAUxC,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,EAAE,WAAU,MAA+B;;;;;;;gBAmBhF,CAAC"}
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
2
|
import * as Option from "effect/Option";
|
|
3
|
-
import {
|
|
3
|
+
import { makeCliError } from "../../cli-error/index.js";
|
|
4
4
|
const CANONICAL_SSH_HOSTNAME = "ssh.dev.azure.com";
|
|
5
5
|
/** Matches: git@{hostname}:v3/{org}/{project}/{repo} */
|
|
6
6
|
const SCP_PATTERN = /^git@([^:]+):v3\/([^/]+)\/([^/]+)\/([^/]+?)(?:\.git)?$/;
|
|
7
7
|
export const parseScp = (input, hostname = CANONICAL_SSH_HOSTNAME) => {
|
|
8
8
|
const match = input.match(SCP_PATTERN);
|
|
9
9
|
if (!match || !match[1] || !match[2] || !match[3] || !match[4] || match[1] !== hostname) {
|
|
10
|
-
return Effect.fail(
|
|
10
|
+
return Effect.fail(makeCliError({
|
|
11
|
+
code: "SOURCE_PARSE_FAILED",
|
|
12
|
+
what: "Invalid Azure Repos SSH URL format",
|
|
13
|
+
details: [input],
|
|
14
|
+
}));
|
|
11
15
|
}
|
|
12
16
|
return Effect.succeed({
|
|
13
17
|
type: "azurerepos",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scp.js","sourceRoot":"","sources":["../../../../src/sources/azurerepos/scp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"scp.js","sourceRoot":"","sources":["../../../../src/sources/azurerepos/scp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGxD,MAAM,sBAAsB,GAAG,mBAAmB,CAAC;AAEnD,wDAAwD;AACxD,MAAM,WAAW,GAAG,wDAAwD,CAAC;AAE7E,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,WAAmB,sBAAsB,EAAE,EAAE;IACnF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACxF,OAAO,MAAM,CAAC,IAAI,CAChB,YAAY,CAAC;YACX,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,oCAAoC;YAC1C,OAAO,EAAE,CAAC,KAAK,CAAC;SACjB,CAAC,CACH,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC;QACpB,IAAI,EAAE,YAAY;QAClB,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;QACtB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QACjB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACd,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE;QAClB,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE;KACS,CAAC,CAAC;AACrC,CAAC,CAAC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
2
|
import * as Option from "effect/Option";
|
|
3
|
-
import { ParseError } from "../errors.js";
|
|
4
3
|
export declare const CANONICAL_HOSTNAME = "dev.azure.com";
|
|
5
|
-
export declare const parseUrl: (url: URL, hostname?: string) => Effect.Effect<never,
|
|
4
|
+
export declare const parseUrl: (url: URL, hostname?: string) => Effect.Effect<never, import("../../cli-error/cli-error.js").CliError, never> | Effect.Effect<{
|
|
6
5
|
type: "azurerepos";
|
|
7
6
|
organization: string;
|
|
8
7
|
project: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../../src/sources/azurerepos/url.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../../src/sources/azurerepos/url.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAKlD,eAAO,MAAM,QAAQ,GAAI,KAAK,GAAG,EAAE,WAAU,MAA2B;;;;;;;gBA4BvE,CAAC"}
|
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
2
|
import * as Option from "effect/Option";
|
|
3
|
-
import {
|
|
3
|
+
import { makeCliError } from "../../cli-error/index.js";
|
|
4
4
|
export const CANONICAL_HOSTNAME = "dev.azure.com";
|
|
5
5
|
/** Matches: /{org}/{project}/_git/{repo} */
|
|
6
6
|
const AZUREREPOS_PATH_PATTERN = /^\/([^/]+)\/([^/]+)\/_git\/([^/]+?)(?:\.git)?$/;
|
|
7
7
|
export const parseUrl = (url, hostname = CANONICAL_HOSTNAME) => {
|
|
8
8
|
if (url.hostname !== hostname) {
|
|
9
|
-
return Effect.fail(
|
|
9
|
+
return Effect.fail(makeCliError({
|
|
10
|
+
code: "SOURCE_PARSE_FAILED",
|
|
11
|
+
what: "Invalid Azure Repos URL format",
|
|
12
|
+
details: [url.href],
|
|
13
|
+
}));
|
|
10
14
|
}
|
|
11
15
|
const match = url.pathname.match(AZUREREPOS_PATH_PATTERN);
|
|
12
16
|
if (!match || !match[1] || !match[2] || !match[3]) {
|
|
13
|
-
return Effect.fail(
|
|
17
|
+
return Effect.fail(makeCliError({
|
|
18
|
+
code: "SOURCE_PARSE_FAILED",
|
|
19
|
+
what: "Invalid Azure Repos URL format",
|
|
20
|
+
details: [url.href],
|
|
21
|
+
}));
|
|
14
22
|
}
|
|
15
23
|
return Effect.succeed({
|
|
16
24
|
type: "azurerepos",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url.js","sourceRoot":"","sources":["../../../../src/sources/azurerepos/url.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"url.js","sourceRoot":"","sources":["../../../../src/sources/azurerepos/url.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGxD,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAElD,4CAA4C;AAC5C,MAAM,uBAAuB,GAAG,gDAAgD,CAAC;AAEjF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAQ,EAAE,WAAmB,kBAAkB,EAAE,EAAE;IAC1E,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,IAAI,CAChB,YAAY,CAAC;YACX,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,gCAAgC;YACtC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;SACpB,CAAC,CACH,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC1D,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,OAAO,MAAM,CAAC,IAAI,CAChB,YAAY,CAAC;YACX,IAAI,EAAE,qBAAqB;YAC3B,IAAI,EAAE,gCAAgC;YACtC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;SACpB,CAAC,CACH,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC;QACpB,IAAI,EAAE,YAAY;QAClB,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;QACtB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QACjB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACd,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE;QAClB,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE;KACS,CAAC,CAAC;AACrC,CAAC,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
2
|
import * as Option from "effect/Option";
|
|
3
|
-
import {
|
|
3
|
+
import { type CliError } from "../../cli-error/index.js";
|
|
4
4
|
import type { BitbucketSourceInput } from "../types.js";
|
|
5
5
|
export declare const resolveRepo: (args: {
|
|
6
6
|
readonly owner: string;
|
|
7
7
|
readonly repo: string;
|
|
8
8
|
readonly subPath: Option.Option<string>;
|
|
9
|
-
}) => Effect.Effect<Option.Option<BitbucketSourceInput>,
|
|
9
|
+
}) => Effect.Effect<Option.Option<BitbucketSourceInput>, CliError>;
|
|
10
10
|
//# sourceMappingURL=resolve-repo.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-repo.d.ts","sourceRoot":"","sources":["../../../../src/sources/bitbucket/resolve-repo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,
|
|
1
|
+
{"version":3,"file":"resolve-repo.d.ts","sourceRoot":"","sources":["../../../../src/sources/bitbucket/resolve-repo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAaxD,eAAO,MAAM,WAAW,GAAI,MAAM;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;CACzC,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,QAAQ,CAsB3D,CAAC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
2
|
import * as Option from "effect/Option";
|
|
3
|
-
import {
|
|
3
|
+
import { makeCliError } from "../../cli-error/index.js";
|
|
4
4
|
const headRequest = (url, input) => Effect.tryPromise({
|
|
5
5
|
try: () => fetch(url, { method: "HEAD" }),
|
|
6
|
-
catch: (error) =>
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
catch: (error) => makeCliError({
|
|
7
|
+
code: "SOURCE_PARSE_FAILED",
|
|
8
|
+
what: `Failed to check Bitbucket: ${error instanceof Error ? error.message : String(error)}`,
|
|
9
|
+
details: [input],
|
|
9
10
|
}),
|
|
10
11
|
});
|
|
11
12
|
export const resolveRepo = (args) => Effect.gen(function* () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-repo.js","sourceRoot":"","sources":["../../../../src/sources/bitbucket/resolve-repo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"resolve-repo.js","sourceRoot":"","sources":["../../../../src/sources/bitbucket/resolve-repo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,YAAY,EAAiB,MAAM,0BAA0B,CAAC;AAGvE,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE,CACjD,MAAM,CAAC,UAAU,CAAC;IAChB,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACzC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,YAAY,CAAC;QACX,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAC5F,OAAO,EAAE,CAAC,KAAK,CAAC;KACjB,CAAC;CACL,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAI3B,EAAgE,EAAE,CACjE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,OAAO,GAAG,yBAAyB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IACnE,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/E,IAAI,CAAC,YAAY,CAAC,EAAE;QAAE,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IAE3C,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,GAAG,OAAO,aAAa,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC/D,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,WAAW,CACxC,UAAU,EACV,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CACnD,CAAC;QACF,IAAI,CAAC,eAAe,CAAC,EAAE;YAAE,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC;QACjB,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE;QAClB,OAAO,EAAE,IAAI,CAAC,OAAO;KACS,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
2
|
import * as Option from "effect/Option";
|
|
3
|
-
|
|
4
|
-
export declare const parseScp: (input: string, hostname?: string) => Effect.Effect<never, ParseError, never> | Effect.Effect<{
|
|
3
|
+
export declare const parseScp: (input: string, hostname?: string) => Effect.Effect<never, import("../../cli-error/cli-error.js").CliError, never> | Effect.Effect<{
|
|
5
4
|
type: "bitbucket";
|
|
6
5
|
owner: string;
|
|
7
6
|
repo: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scp.d.ts","sourceRoot":"","sources":["../../../../src/sources/bitbucket/scp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"scp.d.ts","sourceRoot":"","sources":["../../../../src/sources/bitbucket/scp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AASxC,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,EAAE,WAAU,MAA2B;;;;;;gBAkB5E,CAAC"}
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
2
|
import * as Option from "effect/Option";
|
|
3
|
-
import {
|
|
3
|
+
import { makeCliError } from "../../cli-error/index.js";
|
|
4
4
|
import { CANONICAL_HOSTNAME } from "./url.js";
|
|
5
5
|
/** Matches: git@{hostname}:owner/repo.git */
|
|
6
6
|
const SCP_PATTERN = /^git@([^:]+):([^/]+)\/([^/]+?)(?:\.git)?$/;
|
|
7
7
|
export const parseScp = (input, hostname = CANONICAL_HOSTNAME) => {
|
|
8
8
|
const match = input.match(SCP_PATTERN);
|
|
9
9
|
if (!match || !match[1] || !match[2] || !match[3] || match[1] !== hostname) {
|
|
10
|
-
return Effect.fail(
|
|
10
|
+
return Effect.fail(makeCliError({
|
|
11
|
+
code: "SOURCE_PARSE_FAILED",
|
|
12
|
+
what: "Invalid Bitbucket SSH URL format",
|
|
13
|
+
details: [input],
|
|
14
|
+
}));
|
|
11
15
|
}
|
|
12
16
|
return Effect.succeed({
|
|
13
17
|
type: "bitbucket",
|