@agentxm/client-core 0.18.0 → 0.19.1
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/unstable/agent-capabilities/catalog.d.ts +2 -2
- package/dist/src/unstable/agent-capabilities/data/agents/windsurf.d.ts +1 -1
- package/dist/src/unstable/agent-capabilities/data/agents/windsurf.js +1 -1
- package/dist/src/unstable/agent-capabilities/data/agents/windsurf.js.map +1 -1
- package/dist/src/unstable/agents/augment/service.d.ts +2 -2
- package/dist/src/unstable/agents/augment/service.d.ts.map +1 -1
- package/dist/src/unstable/agents/augment/service.js +4 -3
- package/dist/src/unstable/agents/augment/service.js.map +1 -1
- package/dist/src/unstable/agents/claude-code/service.d.ts +2 -2
- package/dist/src/unstable/agents/claude-code/service.d.ts.map +1 -1
- package/dist/src/unstable/agents/claude-code/service.js +4 -3
- package/dist/src/unstable/agents/claude-code/service.js.map +1 -1
- package/dist/src/unstable/agents/codex/service.d.ts +1 -1
- package/dist/src/unstable/agents/codex/service.d.ts.map +1 -1
- package/dist/src/unstable/agents/codex/service.js +3 -2
- package/dist/src/unstable/agents/codex/service.js.map +1 -1
- package/dist/src/unstable/agents/coding-agent.d.ts +2 -1
- package/dist/src/unstable/agents/coding-agent.d.ts.map +1 -1
- package/dist/src/unstable/agents/coding-agent.js.map +1 -1
- package/dist/src/unstable/agents/cursor/service.d.ts +2 -2
- package/dist/src/unstable/agents/cursor/service.d.ts.map +1 -1
- package/dist/src/unstable/agents/cursor/service.js +4 -3
- package/dist/src/unstable/agents/cursor/service.js.map +1 -1
- package/dist/src/unstable/agents/descriptor-paths.d.ts +18 -0
- package/dist/src/unstable/agents/descriptor-paths.d.ts.map +1 -0
- package/dist/src/unstable/agents/descriptor-paths.js +33 -0
- package/dist/src/unstable/agents/descriptor-paths.js.map +1 -0
- package/dist/src/unstable/agents/gemini-cli/service.d.ts +2 -2
- package/dist/src/unstable/agents/gemini-cli/service.d.ts.map +1 -1
- package/dist/src/unstable/agents/gemini-cli/service.js +4 -3
- package/dist/src/unstable/agents/gemini-cli/service.js.map +1 -1
- package/dist/src/unstable/agents/github-copilot-cli/service.d.ts +1 -1
- package/dist/src/unstable/agents/github-copilot-cli/service.d.ts.map +1 -1
- package/dist/src/unstable/agents/github-copilot-cli/service.js +3 -2
- package/dist/src/unstable/agents/github-copilot-cli/service.js.map +1 -1
- package/dist/src/unstable/agents/instructions.d.ts.map +1 -1
- package/dist/src/unstable/agents/instructions.js +2 -1
- package/dist/src/unstable/agents/instructions.js.map +1 -1
- package/dist/src/unstable/agents/junie/service.d.ts +2 -2
- package/dist/src/unstable/agents/junie/service.d.ts.map +1 -1
- package/dist/src/unstable/agents/junie/service.js +4 -3
- package/dist/src/unstable/agents/junie/service.js.map +1 -1
- package/dist/src/unstable/agents/kilo/service.d.ts +1 -1
- package/dist/src/unstable/agents/kilo/service.d.ts.map +1 -1
- package/dist/src/unstable/agents/kilo/service.js +3 -2
- package/dist/src/unstable/agents/kilo/service.js.map +1 -1
- package/dist/src/unstable/agents/kiro-cli/service.d.ts +2 -2
- package/dist/src/unstable/agents/kiro-cli/service.d.ts.map +1 -1
- package/dist/src/unstable/agents/kiro-cli/service.js +4 -3
- package/dist/src/unstable/agents/kiro-cli/service.js.map +1 -1
- package/dist/src/unstable/agents/opencode/service.d.ts +2 -2
- package/dist/src/unstable/agents/opencode/service.d.ts.map +1 -1
- package/dist/src/unstable/agents/opencode/service.js +4 -3
- package/dist/src/unstable/agents/opencode/service.js.map +1 -1
- package/dist/src/unstable/agents/project-only-agent.d.ts +5 -4
- package/dist/src/unstable/agents/project-only-agent.d.ts.map +1 -1
- package/dist/src/unstable/agents/project-only-agent.js +10 -3
- package/dist/src/unstable/agents/project-only-agent.js.map +1 -1
- package/dist/src/unstable/agents/repository.js +1 -1
- package/dist/src/unstable/agents/repository.js.map +1 -1
- package/dist/src/unstable/agents/roo/service.d.ts +2 -2
- package/dist/src/unstable/agents/roo/service.d.ts.map +1 -1
- package/dist/src/unstable/agents/roo/service.js +4 -3
- package/dist/src/unstable/agents/roo/service.js.map +1 -1
- package/dist/src/unstable/agents/windsurf/service.d.ts +1 -3
- package/dist/src/unstable/agents/windsurf/service.d.ts.map +1 -1
- package/dist/src/unstable/agents/windsurf/service.js +7 -5
- package/dist/src/unstable/agents/windsurf/service.js.map +1 -1
- package/dist/src/unstable/auth/credential-store.d.ts.map +1 -1
- package/dist/src/unstable/auth/credential-store.js +51 -26
- package/dist/src/unstable/auth/credential-store.js.map +1 -1
- package/dist/src/unstable/auth/device-login.d.ts +1 -1
- package/dist/src/unstable/auth/loopback-login.d.ts +1 -1
- package/dist/src/unstable/cli-flags/index.d.ts.map +1 -1
- package/dist/src/unstable/cli-flags/index.js +1 -1
- package/dist/src/unstable/cli-flags/index.js.map +1 -1
- package/dist/src/unstable/cli-flags/resolve-verbosity.js +1 -1
- package/dist/src/unstable/cli-flags/resolve-verbosity.js.map +1 -1
- package/dist/src/unstable/cli-renderer/ansi-chrome.d.ts.map +1 -1
- package/dist/src/unstable/cli-renderer/ansi-chrome.js +1 -7
- package/dist/src/unstable/cli-renderer/ansi-chrome.js.map +1 -1
- package/dist/src/unstable/cli-renderer/cli-renderer-interactive.d.ts.map +1 -1
- package/dist/src/unstable/cli-renderer/cli-renderer-interactive.js +1 -25
- package/dist/src/unstable/cli-renderer/cli-renderer-interactive.js.map +1 -1
- package/dist/src/unstable/cli-renderer/cli-renderer-machine.d.ts.map +1 -1
- package/dist/src/unstable/cli-renderer/cli-renderer-machine.js +1 -21
- package/dist/src/unstable/cli-renderer/cli-renderer-machine.js.map +1 -1
- package/dist/src/unstable/cli-renderer/cli-renderer-test.d.ts.map +1 -1
- package/dist/src/unstable/cli-renderer/cli-renderer-test.js +1 -9
- package/dist/src/unstable/cli-renderer/cli-renderer-test.js.map +1 -1
- package/dist/src/unstable/cli-renderer/markdown-formatter.d.ts.map +1 -1
- package/dist/src/unstable/cli-renderer/markdown-formatter.js +2 -3
- package/dist/src/unstable/cli-renderer/markdown-formatter.js.map +1 -1
- package/dist/src/unstable/cli-renderer/renderer-helpers.d.ts +12 -0
- package/dist/src/unstable/cli-renderer/renderer-helpers.d.ts.map +1 -0
- package/dist/src/unstable/cli-renderer/renderer-helpers.js +27 -0
- package/dist/src/unstable/cli-renderer/renderer-helpers.js.map +1 -0
- package/dist/src/unstable/cli-runtime/command-argv.d.ts +1 -1
- package/dist/src/unstable/cli-runtime/command-argv.d.ts.map +1 -1
- package/dist/src/unstable/cli-runtime/command-argv.js +2 -2
- package/dist/src/unstable/cli-runtime/command-argv.js.map +1 -1
- package/dist/src/unstable/cli-runtime/index.d.ts +1 -0
- package/dist/src/unstable/cli-runtime/index.d.ts.map +1 -1
- package/dist/src/unstable/cli-runtime/index.js +1 -0
- package/dist/src/unstable/cli-runtime/index.js.map +1 -1
- package/dist/src/unstable/cli-runtime/json-help-doc.d.ts +126 -0
- package/dist/src/unstable/cli-runtime/json-help-doc.d.ts.map +1 -0
- package/dist/src/unstable/cli-runtime/json-help-doc.js +89 -0
- package/dist/src/unstable/cli-runtime/json-help-doc.js.map +1 -0
- package/dist/src/unstable/cli-runtime/operation-plan.d.ts.map +1 -1
- package/dist/src/unstable/cli-runtime/operation-plan.js +2 -1
- package/dist/src/unstable/cli-runtime/operation-plan.js.map +1 -1
- package/dist/src/unstable/cli-runtime/runtime-envelope.d.ts +2 -2
- package/dist/src/unstable/commands/manager.d.ts.map +1 -1
- package/dist/src/unstable/commands/manager.js +37 -166
- package/dist/src/unstable/commands/manager.js.map +1 -1
- package/dist/src/unstable/commands/operations/enable.d.ts.map +1 -1
- package/dist/src/unstable/commands/operations/enable.js +2 -9
- package/dist/src/unstable/commands/operations/enable.js.map +1 -1
- package/dist/src/unstable/commands/operations/publish.d.ts.map +1 -1
- package/dist/src/unstable/commands/operations/publish.js +1 -1
- package/dist/src/unstable/commands/operations/publish.js.map +1 -1
- package/dist/src/unstable/commands/operations/shared-command-helpers.d.ts +9 -9
- package/dist/src/unstable/commands/operations/uninstall.d.ts.map +1 -1
- package/dist/src/unstable/commands/operations/uninstall.js +2 -2
- package/dist/src/unstable/commands/operations/uninstall.js.map +1 -1
- package/dist/src/unstable/commands/paths.d.ts +1 -1
- package/dist/src/unstable/commands/paths.d.ts.map +1 -1
- package/dist/src/unstable/commands/paths.js +6 -14
- package/dist/src/unstable/commands/paths.js.map +1 -1
- package/dist/src/unstable/extensions/canonical-path.d.ts +21 -0
- package/dist/src/unstable/extensions/canonical-path.d.ts.map +1 -0
- package/dist/src/unstable/extensions/canonical-path.js +12 -0
- package/dist/src/unstable/extensions/canonical-path.js.map +1 -0
- package/dist/src/unstable/extensions/discovery-walk.d.ts +8 -0
- package/dist/src/unstable/extensions/discovery-walk.d.ts.map +1 -0
- package/dist/src/unstable/extensions/discovery-walk.js +15 -0
- package/dist/src/unstable/extensions/discovery-walk.js.map +1 -0
- package/dist/src/unstable/extensions/extension-paths.d.ts +63 -0
- package/dist/src/unstable/extensions/extension-paths.d.ts.map +1 -0
- package/dist/src/unstable/extensions/extension-paths.js +45 -0
- package/dist/src/unstable/extensions/extension-paths.js.map +1 -0
- package/dist/src/unstable/extensions/index.d.ts +4 -1
- package/dist/src/unstable/extensions/index.d.ts.map +1 -1
- package/dist/src/unstable/extensions/index.js +4 -1
- package/dist/src/unstable/extensions/index.js.map +1 -1
- package/dist/src/unstable/extensions/installable-types.d.ts +1 -2
- package/dist/src/unstable/extensions/installable-types.d.ts.map +1 -1
- package/dist/src/unstable/extensions/installable-types.js +7 -44
- package/dist/src/unstable/extensions/installable-types.js.map +1 -1
- package/dist/src/unstable/extensions/manifest-package-discovery.d.ts +28 -0
- package/dist/src/unstable/extensions/manifest-package-discovery.d.ts.map +1 -0
- package/dist/src/unstable/extensions/manifest-package-discovery.js +96 -0
- package/dist/src/unstable/extensions/manifest-package-discovery.js.map +1 -0
- package/dist/src/unstable/extensions/marker-fqn.d.ts +23 -0
- package/dist/src/unstable/extensions/marker-fqn.d.ts.map +1 -0
- package/dist/src/unstable/extensions/marker-fqn.js +10 -0
- package/dist/src/unstable/extensions/marker-fqn.js.map +1 -0
- package/dist/src/unstable/extensions/package-materialization.d.ts +44 -0
- package/dist/src/unstable/extensions/package-materialization.d.ts.map +1 -0
- package/dist/src/unstable/extensions/package-materialization.js +85 -0
- package/dist/src/unstable/extensions/package-materialization.js.map +1 -0
- package/dist/src/unstable/extensions/ref-base.d.ts +2 -0
- package/dist/src/unstable/extensions/ref-base.d.ts.map +1 -1
- package/dist/src/unstable/extensions/utils.d.ts +12 -0
- package/dist/src/unstable/extensions/utils.d.ts.map +1 -1
- package/dist/src/unstable/extensions/utils.js +19 -0
- package/dist/src/unstable/extensions/utils.js.map +1 -1
- package/dist/src/unstable/files/discovery.d.ts +4 -4
- package/dist/src/unstable/files/discovery.d.ts.map +1 -1
- package/dist/src/unstable/files/discovery.js +7 -94
- package/dist/src/unstable/files/discovery.js.map +1 -1
- package/dist/src/unstable/files/manager.d.ts.map +1 -1
- package/dist/src/unstable/files/manager.js +33 -133
- package/dist/src/unstable/files/manager.js.map +1 -1
- package/dist/src/unstable/git/operations.d.ts.map +1 -1
- package/dist/src/unstable/git/operations.js +1 -6
- package/dist/src/unstable/git/operations.js.map +1 -1
- package/dist/src/unstable/hooks/discovery.d.ts +3 -3
- package/dist/src/unstable/hooks/discovery.d.ts.map +1 -1
- package/dist/src/unstable/hooks/discovery.js +6 -93
- package/dist/src/unstable/hooks/discovery.js.map +1 -1
- package/dist/src/unstable/hooks/manager.d.ts.map +1 -1
- package/dist/src/unstable/hooks/manager.js +34 -135
- package/dist/src/unstable/hooks/manager.js.map +1 -1
- package/dist/src/unstable/hooks/operations/publish.d.ts.map +1 -1
- package/dist/src/unstable/hooks/operations/publish.js +1 -1
- package/dist/src/unstable/hooks/operations/publish.js.map +1 -1
- package/dist/src/unstable/install-meta/install-meta.d.ts +1 -1
- package/dist/src/unstable/install-meta/install-meta.js +4 -4
- package/dist/src/unstable/install-meta/install-meta.js.map +1 -1
- package/dist/src/unstable/install-method/install-method.d.ts.map +1 -1
- package/dist/src/unstable/install-method/install-method.js +3 -2
- package/dist/src/unstable/install-method/install-method.js.map +1 -1
- package/dist/src/unstable/lint/catalog/command/manifest-present.d.ts +1 -2
- package/dist/src/unstable/lint/catalog/command/manifest-present.d.ts.map +1 -1
- package/dist/src/unstable/lint/catalog/command/manifest-present.js +6 -20
- package/dist/src/unstable/lint/catalog/command/manifest-present.js.map +1 -1
- package/dist/src/unstable/lint/catalog/files/manifest-present.d.ts +1 -2
- package/dist/src/unstable/lint/catalog/files/manifest-present.d.ts.map +1 -1
- package/dist/src/unstable/lint/catalog/files/manifest-present.js +6 -20
- package/dist/src/unstable/lint/catalog/files/manifest-present.js.map +1 -1
- package/dist/src/unstable/lint/catalog/hook/manifest-present.d.ts +1 -2
- package/dist/src/unstable/lint/catalog/hook/manifest-present.d.ts.map +1 -1
- package/dist/src/unstable/lint/catalog/hook/manifest-present.js +6 -20
- package/dist/src/unstable/lint/catalog/hook/manifest-present.js.map +1 -1
- package/dist/src/unstable/lint/catalog/mcp-server/manifest-present.d.ts +1 -2
- package/dist/src/unstable/lint/catalog/mcp-server/manifest-present.d.ts.map +1 -1
- package/dist/src/unstable/lint/catalog/mcp-server/manifest-present.js +6 -20
- package/dist/src/unstable/lint/catalog/mcp-server/manifest-present.js.map +1 -1
- package/dist/src/unstable/lint/catalog/pack/manifest-present.d.ts +1 -2
- package/dist/src/unstable/lint/catalog/pack/manifest-present.d.ts.map +1 -1
- package/dist/src/unstable/lint/catalog/pack/manifest-present.js +6 -20
- package/dist/src/unstable/lint/catalog/pack/manifest-present.js.map +1 -1
- package/dist/src/unstable/lint/catalog/shared/manifest-present.d.ts +25 -0
- package/dist/src/unstable/lint/catalog/shared/manifest-present.d.ts.map +1 -0
- package/dist/src/unstable/lint/catalog/shared/manifest-present.js +37 -0
- package/dist/src/unstable/lint/catalog/shared/manifest-present.js.map +1 -0
- package/dist/src/unstable/lint/catalog/shared/schema-rule.js +1 -1
- package/dist/src/unstable/lint/catalog/shared/schema-rule.js.map +1 -1
- package/dist/src/unstable/lint/catalog/skill/manifest-present.d.ts +1 -2
- package/dist/src/unstable/lint/catalog/skill/manifest-present.d.ts.map +1 -1
- package/dist/src/unstable/lint/catalog/skill/manifest-present.js +8 -25
- package/dist/src/unstable/lint/catalog/skill/manifest-present.js.map +1 -1
- package/dist/src/unstable/lint/catalog/subagent/manifest-present.d.ts +1 -2
- package/dist/src/unstable/lint/catalog/subagent/manifest-present.d.ts.map +1 -1
- package/dist/src/unstable/lint/catalog/subagent/manifest-present.js +6 -20
- package/dist/src/unstable/lint/catalog/subagent/manifest-present.js.map +1 -1
- package/dist/src/unstable/lint/catalog/workspace-read-model/lint-workspace.d.ts.map +1 -1
- package/dist/src/unstable/lint/catalog/workspace-read-model/lint-workspace.js +3 -2
- package/dist/src/unstable/lint/catalog/workspace-read-model/lint-workspace.js.map +1 -1
- package/dist/src/unstable/lockfile/entry-fields.d.ts +34 -0
- package/dist/src/unstable/lockfile/entry-fields.d.ts.map +1 -0
- package/dist/src/unstable/lockfile/entry-fields.js +51 -0
- package/dist/src/unstable/lockfile/entry-fields.js.map +1 -0
- package/dist/src/unstable/lockfile/lockfile.d.ts +649 -649
- package/dist/src/unstable/mcps/config-writer.d.ts +2 -1
- package/dist/src/unstable/mcps/config-writer.d.ts.map +1 -1
- package/dist/src/unstable/mcps/config-writer.js.map +1 -1
- package/dist/src/unstable/mcps/operations/disable.d.ts.map +1 -1
- package/dist/src/unstable/mcps/operations/disable.js +2 -2
- package/dist/src/unstable/mcps/operations/disable.js.map +1 -1
- package/dist/src/unstable/mcps/operations/enable.d.ts.map +1 -1
- package/dist/src/unstable/mcps/operations/enable.js +5 -8
- package/dist/src/unstable/mcps/operations/enable.js.map +1 -1
- package/dist/src/unstable/mcps/operations/install.d.ts.map +1 -1
- package/dist/src/unstable/mcps/operations/install.js +34 -13
- package/dist/src/unstable/mcps/operations/install.js.map +1 -1
- package/dist/src/unstable/mcps/operations/publish.d.ts.map +1 -1
- package/dist/src/unstable/mcps/operations/publish.js +1 -1
- package/dist/src/unstable/mcps/operations/publish.js.map +1 -1
- package/dist/src/unstable/mcps/operations/uninstall.d.ts.map +1 -1
- package/dist/src/unstable/mcps/operations/uninstall.js +4 -4
- package/dist/src/unstable/mcps/operations/uninstall.js.map +1 -1
- package/dist/src/unstable/packaging/bazel.d.ts.map +1 -1
- package/dist/src/unstable/packaging/bazel.js +2 -29
- package/dist/src/unstable/packaging/bazel.js.map +1 -1
- package/dist/src/unstable/packaging/cargo.d.ts.map +1 -1
- package/dist/src/unstable/packaging/cargo.js +1 -12
- package/dist/src/unstable/packaging/cargo.js.map +1 -1
- package/dist/src/unstable/packaging/cocoapods.d.ts.map +1 -1
- package/dist/src/unstable/packaging/cocoapods.js +1 -26
- package/dist/src/unstable/packaging/cocoapods.js.map +1 -1
- package/dist/src/unstable/packaging/composer.d.ts.map +1 -1
- package/dist/src/unstable/packaging/composer.js +1 -27
- package/dist/src/unstable/packaging/composer.js.map +1 -1
- package/dist/src/unstable/packaging/conan.d.ts.map +1 -1
- package/dist/src/unstable/packaging/conan.js +2 -13
- package/dist/src/unstable/packaging/conan.js.map +1 -1
- package/dist/src/unstable/packaging/conda.d.ts.map +1 -1
- package/dist/src/unstable/packaging/conda.js +1 -26
- package/dist/src/unstable/packaging/conda.js.map +1 -1
- package/dist/src/unstable/packaging/cpan.d.ts.map +1 -1
- package/dist/src/unstable/packaging/cpan.js +2 -27
- package/dist/src/unstable/packaging/cpan.js.map +1 -1
- package/dist/src/unstable/packaging/cran.d.ts.map +1 -1
- package/dist/src/unstable/packaging/cran.js +2 -13
- package/dist/src/unstable/packaging/cran.js.map +1 -1
- package/dist/src/unstable/packaging/docker.d.ts.map +1 -1
- package/dist/src/unstable/packaging/docker.js +1 -27
- package/dist/src/unstable/packaging/docker.js.map +1 -1
- package/dist/src/unstable/packaging/gem.d.ts.map +1 -1
- package/dist/src/unstable/packaging/gem.js +1 -12
- package/dist/src/unstable/packaging/gem.js.map +1 -1
- package/dist/src/unstable/packaging/golang.d.ts.map +1 -1
- package/dist/src/unstable/packaging/golang.js +2 -29
- package/dist/src/unstable/packaging/golang.js.map +1 -1
- package/dist/src/unstable/packaging/hackage.d.ts.map +1 -1
- package/dist/src/unstable/packaging/hackage.js +1 -12
- package/dist/src/unstable/packaging/hackage.js.map +1 -1
- package/dist/src/unstable/packaging/hex.d.ts.map +1 -1
- package/dist/src/unstable/packaging/hex.js +1 -27
- package/dist/src/unstable/packaging/hex.js.map +1 -1
- package/dist/src/unstable/packaging/huggingface.d.ts.map +1 -1
- package/dist/src/unstable/packaging/huggingface.js +2 -13
- package/dist/src/unstable/packaging/huggingface.js.map +1 -1
- package/dist/src/unstable/packaging/jsr.d.ts.map +1 -1
- package/dist/src/unstable/packaging/jsr.js +2 -28
- package/dist/src/unstable/packaging/jsr.js.map +1 -1
- package/dist/src/unstable/packaging/julia.d.ts.map +1 -1
- package/dist/src/unstable/packaging/julia.js +1 -12
- package/dist/src/unstable/packaging/julia.js.map +1 -1
- package/dist/src/unstable/packaging/luarocks.d.ts.map +1 -1
- package/dist/src/unstable/packaging/luarocks.js +1 -26
- package/dist/src/unstable/packaging/luarocks.js.map +1 -1
- package/dist/src/unstable/packaging/maven.d.ts.map +1 -1
- package/dist/src/unstable/packaging/maven.js +1 -26
- package/dist/src/unstable/packaging/maven.js.map +1 -1
- package/dist/src/unstable/packaging/mojo.d.ts.map +1 -1
- package/dist/src/unstable/packaging/mojo.js +1 -26
- package/dist/src/unstable/packaging/mojo.js.map +1 -1
- package/dist/src/unstable/packaging/npm.d.ts.map +1 -1
- package/dist/src/unstable/packaging/npm.js +1 -28
- package/dist/src/unstable/packaging/npm.js.map +1 -1
- package/dist/src/unstable/packaging/nuget.d.ts.map +1 -1
- package/dist/src/unstable/packaging/nuget.js +2 -28
- package/dist/src/unstable/packaging/nuget.js.map +1 -1
- package/dist/src/unstable/packaging/opam.d.ts.map +1 -1
- package/dist/src/unstable/packaging/opam.js +1 -12
- package/dist/src/unstable/packaging/opam.js.map +1 -1
- package/dist/src/unstable/packaging/pub.d.ts.map +1 -1
- package/dist/src/unstable/packaging/pub.js +1 -27
- package/dist/src/unstable/packaging/pub.js.map +1 -1
- package/dist/src/unstable/packaging/pypi.d.ts.map +1 -1
- package/dist/src/unstable/packaging/pypi.js +2 -26
- package/dist/src/unstable/packaging/pypi.js.map +1 -1
- package/dist/src/unstable/packaging/reader-io.d.ts +29 -0
- package/dist/src/unstable/packaging/reader-io.d.ts.map +1 -0
- package/dist/src/unstable/packaging/reader-io.js +29 -0
- package/dist/src/unstable/packaging/reader-io.js.map +1 -0
- package/dist/src/unstable/packaging/swift.d.ts.map +1 -1
- package/dist/src/unstable/packaging/swift.js +1 -25
- package/dist/src/unstable/packaging/swift.js.map +1 -1
- package/dist/src/unstable/packaging/zig.d.ts.map +1 -1
- package/dist/src/unstable/packaging/zig.js +1 -26
- package/dist/src/unstable/packaging/zig.js.map +1 -1
- package/dist/src/unstable/packs/operations/publish.d.ts.map +1 -1
- package/dist/src/unstable/packs/operations/publish.js +1 -1
- package/dist/src/unstable/packs/operations/publish.js.map +1 -1
- package/dist/src/unstable/plan/index.d.ts +2 -1
- package/dist/src/unstable/plan/index.d.ts.map +1 -1
- package/dist/src/unstable/plan/index.js +2 -0
- package/dist/src/unstable/plan/index.js.map +1 -1
- package/dist/src/unstable/plan/job-step-message.d.ts +7 -0
- package/dist/src/unstable/plan/job-step-message.d.ts.map +1 -0
- package/dist/src/unstable/plan/job-step-message.js +7 -0
- package/dist/src/unstable/plan/job-step-message.js.map +1 -0
- package/dist/src/unstable/plan/plan.d.ts +13 -2
- package/dist/src/unstable/plan/plan.d.ts.map +1 -1
- package/dist/src/unstable/plan/plan.js +10 -1
- package/dist/src/unstable/plan/plan.js.map +1 -1
- package/dist/src/unstable/plan/resolve-plan.d.ts +1 -1
- package/dist/src/unstable/publish/input-normalization.d.ts.map +1 -1
- package/dist/src/unstable/publish/input-normalization.js +3 -3
- package/dist/src/unstable/publish/input-normalization.js.map +1 -1
- package/dist/src/unstable/publish/manifest-policy.d.ts.map +1 -1
- package/dist/src/unstable/publish/manifest-policy.js +2 -2
- package/dist/src/unstable/publish/manifest-policy.js.map +1 -1
- package/dist/src/unstable/registry/__generated__/registry-client.d.ts +11 -11
- package/dist/src/unstable/registry/__generated__/registry-client.d.ts.map +1 -1
- package/dist/src/unstable/registry/__generated__/registry-client.js +3 -3
- package/dist/src/unstable/registry/__generated__/registry-client.js.map +1 -1
- package/dist/src/unstable/registry/admin-client.d.ts +4 -4
- package/dist/src/unstable/registry/client.d.ts.map +1 -1
- package/dist/src/unstable/registry/client.js +3 -2
- package/dist/src/unstable/registry/client.js.map +1 -1
- package/dist/src/unstable/registry/schema.d.ts.map +1 -1
- package/dist/src/unstable/registry/schema.js +1 -2
- package/dist/src/unstable/registry/schema.js.map +1 -1
- package/dist/src/unstable/rules/discovery.d.ts +3 -3
- package/dist/src/unstable/rules/discovery.d.ts.map +1 -1
- package/dist/src/unstable/rules/discovery.js +6 -93
- package/dist/src/unstable/rules/discovery.js.map +1 -1
- package/dist/src/unstable/rules/manager.d.ts.map +1 -1
- package/dist/src/unstable/rules/manager.js +33 -135
- package/dist/src/unstable/rules/manager.js.map +1 -1
- package/dist/src/unstable/settings/schema.d.ts +22 -75
- package/dist/src/unstable/settings/schema.d.ts.map +1 -1
- package/dist/src/unstable/settings/schema.js +34 -125
- package/dist/src/unstable/settings/schema.js.map +1 -1
- package/dist/src/unstable/skills/index.d.ts +1 -1
- package/dist/src/unstable/skills/index.d.ts.map +1 -1
- package/dist/src/unstable/skills/index.js +1 -1
- package/dist/src/unstable/skills/index.js.map +1 -1
- package/dist/src/unstable/skills/operations/copy.d.ts.map +1 -1
- package/dist/src/unstable/skills/operations/copy.js +24 -4
- package/dist/src/unstable/skills/operations/copy.js.map +1 -1
- package/dist/src/unstable/skills/operations/install.d.ts +2 -1
- package/dist/src/unstable/skills/operations/install.d.ts.map +1 -1
- package/dist/src/unstable/skills/operations/install.js +50 -3
- package/dist/src/unstable/skills/operations/install.js.map +1 -1
- package/dist/src/unstable/skills/operations/publish.d.ts.map +1 -1
- package/dist/src/unstable/skills/operations/publish.js +1 -1
- package/dist/src/unstable/skills/operations/publish.js.map +1 -1
- package/dist/src/unstable/skills/paths.d.ts +1 -1
- package/dist/src/unstable/skills/paths.d.ts.map +1 -1
- package/dist/src/unstable/skills/paths.js +4 -12
- package/dist/src/unstable/skills/paths.js.map +1 -1
- package/dist/src/unstable/source-resolution/providers/azurerepos/scp.d.ts +2 -2
- package/dist/src/unstable/source-resolution/providers/azurerepos/url.d.ts +5 -4
- package/dist/src/unstable/source-resolution/providers/azurerepos/url.d.ts.map +1 -1
- package/dist/src/unstable/source-resolution/providers/azurerepos/url.js +4 -0
- package/dist/src/unstable/source-resolution/providers/azurerepos/url.js.map +1 -1
- package/dist/src/unstable/source-resolution/providers/bitbucket/scp.d.ts +1 -1
- package/dist/src/unstable/source-resolution/providers/bitbucket/url.d.ts +4 -3
- package/dist/src/unstable/source-resolution/providers/bitbucket/url.d.ts.map +1 -1
- package/dist/src/unstable/source-resolution/providers/bitbucket/url.js +8 -1
- package/dist/src/unstable/source-resolution/providers/bitbucket/url.js.map +1 -1
- package/dist/src/unstable/source-resolution/providers/convention-discovery.d.ts.map +1 -1
- package/dist/src/unstable/source-resolution/providers/convention-discovery.js +10 -14
- package/dist/src/unstable/source-resolution/providers/convention-discovery.js.map +1 -1
- package/dist/src/unstable/source-resolution/providers/git-hosting.d.ts.map +1 -1
- package/dist/src/unstable/source-resolution/providers/git-hosting.js +4 -0
- package/dist/src/unstable/source-resolution/providers/git-hosting.js.map +1 -1
- package/dist/src/unstable/source-resolution/providers/github/scp.d.ts +1 -1
- package/dist/src/unstable/source-resolution/providers/github/url.d.ts +4 -3
- package/dist/src/unstable/source-resolution/providers/github/url.d.ts.map +1 -1
- package/dist/src/unstable/source-resolution/providers/github/url.js +8 -1
- package/dist/src/unstable/source-resolution/providers/github/url.js.map +1 -1
- package/dist/src/unstable/source-resolution/providers/gitlab/scp.d.ts +1 -1
- package/dist/src/unstable/source-resolution/providers/gitlab/url.d.ts +4 -3
- package/dist/src/unstable/source-resolution/providers/gitlab/url.d.ts.map +1 -1
- package/dist/src/unstable/source-resolution/providers/gitlab/url.js +8 -1
- package/dist/src/unstable/source-resolution/providers/gitlab/url.js.map +1 -1
- package/dist/src/unstable/source-resolution/resolve-source.d.ts.map +1 -1
- package/dist/src/unstable/source-resolution/resolve-source.js +64 -9
- package/dist/src/unstable/source-resolution/resolve-source.js.map +1 -1
- package/dist/src/unstable/source-resolution/url-fragment.d.ts +5 -0
- package/dist/src/unstable/source-resolution/url-fragment.d.ts.map +1 -0
- package/dist/src/unstable/source-resolution/url-fragment.js +19 -0
- package/dist/src/unstable/source-resolution/url-fragment.js.map +1 -0
- package/dist/src/unstable/sources/lock-entry-to-ref.d.ts.map +1 -1
- package/dist/src/unstable/sources/lock-entry-to-ref.js +2 -1
- package/dist/src/unstable/sources/lock-entry-to-ref.js.map +1 -1
- package/dist/src/unstable/sources/parser.d.ts +1 -1
- package/dist/src/unstable/sources/parser.d.ts.map +1 -1
- package/dist/src/unstable/sources/parser.js +11 -10
- package/dist/src/unstable/sources/parser.js.map +1 -1
- package/dist/src/unstable/sources/source-to-lock-entry.d.ts.map +1 -1
- package/dist/src/unstable/sources/source-to-lock-entry.js +6 -61
- package/dist/src/unstable/sources/source-to-lock-entry.js.map +1 -1
- package/dist/src/unstable/sources/types.d.ts +4 -0
- package/dist/src/unstable/sources/types.d.ts.map +1 -1
- package/dist/src/unstable/subagents/lock-entry-builder.d.ts.map +1 -1
- package/dist/src/unstable/subagents/lock-entry-builder.js +7 -63
- package/dist/src/unstable/subagents/lock-entry-builder.js.map +1 -1
- package/dist/src/unstable/subagents/operations/publish.d.ts.map +1 -1
- package/dist/src/unstable/subagents/operations/publish.js +1 -1
- package/dist/src/unstable/subagents/operations/publish.js.map +1 -1
- package/dist/src/unstable/subagents/paths.d.ts +1 -1
- package/dist/src/unstable/subagents/paths.d.ts.map +1 -1
- package/dist/src/unstable/subagents/paths.js +6 -14
- package/dist/src/unstable/subagents/paths.js.map +1 -1
- package/dist/src/unstable/subagents/rendering/types.d.ts +2 -7
- package/dist/src/unstable/subagents/rendering/types.d.ts.map +1 -1
- package/dist/src/unstable/subagents/rendering/types.js.map +1 -1
- package/dist/src/unstable/update-check/update-check.d.ts +1 -1
- package/dist/src/unstable/update-check/update-check.js +3 -3
- package/dist/src/unstable/update-check/update-check.js.map +1 -1
- package/dist/src/unstable/utils/environment.d.ts +1 -13
- package/dist/src/unstable/utils/environment.d.ts.map +1 -1
- package/dist/src/unstable/utils/environment.js +1 -22
- package/dist/src/unstable/utils/environment.js.map +1 -1
- package/dist/src/unstable/utils/index.d.ts +1 -1
- package/dist/src/unstable/utils/index.d.ts.map +1 -1
- package/dist/src/unstable/utils/index.js +1 -1
- package/dist/src/unstable/utils/index.js.map +1 -1
- package/dist/src/unstable/workflows/install-command/workflow.d.ts +4 -3
- package/dist/src/unstable/workflows/install-command/workflow.d.ts.map +1 -1
- package/dist/src/unstable/workflows/install-command/workflow.js +1 -1
- package/dist/src/unstable/workflows/install-command/workflow.js.map +1 -1
- package/dist/src/unstable/workflows/uninstall-command/workflow.d.ts +1 -1
- package/dist/src/unstable/workspace/display-plan.d.ts +1 -1
- package/dist/src/unstable/workspace/index.d.ts +2 -1
- package/dist/src/unstable/workspace/index.d.ts.map +1 -1
- package/dist/src/unstable/workspace/index.js +2 -1
- package/dist/src/unstable/workspace/index.js.map +1 -1
- package/dist/src/unstable/workspace/initialization.d.ts +223 -223
- package/dist/src/unstable/workspace/paths.d.ts +3 -0
- package/dist/src/unstable/workspace/paths.d.ts.map +1 -1
- package/dist/src/unstable/workspace/paths.js +7 -4
- package/dist/src/unstable/workspace/paths.js.map +1 -1
- package/dist/src/unstable/workspace/read-model/discovery/skills.d.ts +1 -1
- package/dist/src/unstable/workspace/read-model/discovery/skills.d.ts.map +1 -1
- package/dist/src/unstable/workspace/read-model/discovery/skills.js +69 -32
- package/dist/src/unstable/workspace/read-model/discovery/skills.js.map +1 -1
- package/dist/src/unstable/workspace/read-model/scanners/canonical-extensions.d.ts.map +1 -1
- package/dist/src/unstable/workspace/read-model/scanners/canonical-extensions.js +2 -1
- package/dist/src/unstable/workspace/read-model/scanners/canonical-extensions.js.map +1 -1
- package/dist/src/unstable/workspace/read-model/service.d.ts.map +1 -1
- package/dist/src/unstable/workspace/read-model/service.js +2 -1
- package/dist/src/unstable/workspace/read-model/service.js.map +1 -1
- package/dist/src/unstable/workspace/service.d.ts +309 -309
- package/dist/src/unstable/workspace/version-currency/collectors.d.ts +23 -0
- package/dist/src/unstable/workspace/version-currency/collectors.d.ts.map +1 -1
- package/dist/src/unstable/workspace/version-currency/collectors.js +95 -0
- package/dist/src/unstable/workspace/version-currency/collectors.js.map +1 -1
- package/dist/src/unstable/workspace/version-currency/index.d.ts +1 -1
- package/dist/src/unstable/workspace/version-currency/index.d.ts.map +1 -1
- package/dist/src/unstable/workspace/version-currency/index.js +1 -1
- package/dist/src/unstable/workspace/version-currency/index.js.map +1 -1
- package/package.json +6 -6
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared manifest package discovery for local and git sources.
|
|
3
|
+
*
|
|
4
|
+
* @experimental This API is unstable and may change without notice.
|
|
5
|
+
*/
|
|
6
|
+
import * as Array from "effect/Array";
|
|
7
|
+
import * as Effect from "effect/Effect";
|
|
8
|
+
import * as FileSystem from "effect/FileSystem";
|
|
9
|
+
import * as Option from "effect/Option";
|
|
10
|
+
import * as Path from "effect/Path";
|
|
11
|
+
import * as Schema from "effect/Schema";
|
|
12
|
+
import { DISCOVERY_MAX_DEPTH, DISCOVERY_SKIPPED_DIRECTORIES } from "./discovery-walk.js";
|
|
13
|
+
export const discoverManifestPackagesInDir = (config) => (searchPath, options) => {
|
|
14
|
+
const tryParsePackageInDir = (dir) => Effect.gen(function* () {
|
|
15
|
+
const fs = yield* FileSystem.FileSystem;
|
|
16
|
+
const path = yield* Path.Path;
|
|
17
|
+
const manifestPath = path.join(dir, config.manifestFilename);
|
|
18
|
+
const exists = yield* fs
|
|
19
|
+
.exists(manifestPath)
|
|
20
|
+
.pipe(Effect.catch(() => Effect.succeed(false)));
|
|
21
|
+
if (!exists)
|
|
22
|
+
return Option.none();
|
|
23
|
+
const raw = yield* fs.readFileString(manifestPath).pipe(Effect.option);
|
|
24
|
+
if (Option.isNone(raw))
|
|
25
|
+
return Option.none();
|
|
26
|
+
const json = yield* Schema.decodeUnknownEffect(Schema.UnknownFromJsonString)(raw.value).pipe(Effect.option);
|
|
27
|
+
if (Option.isNone(json))
|
|
28
|
+
return Option.none();
|
|
29
|
+
const manifest = yield* Schema.decodeUnknownEffect(config.manifestSchema)(json.value).pipe(Effect.option);
|
|
30
|
+
if (Option.isNone(manifest))
|
|
31
|
+
return Option.none();
|
|
32
|
+
return Option.some({
|
|
33
|
+
type: config.type,
|
|
34
|
+
manifest: manifest.value,
|
|
35
|
+
location: `file://${dir}`,
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
const scanChildren = (dir) => Effect.gen(function* () {
|
|
39
|
+
const fs = yield* FileSystem.FileSystem;
|
|
40
|
+
const path = yield* Path.Path;
|
|
41
|
+
const entries = yield* fs.readDirectory(dir).pipe(Effect.option);
|
|
42
|
+
if (Option.isNone(entries))
|
|
43
|
+
return [];
|
|
44
|
+
return yield* Effect.forEach(entries.value, (entry) => Effect.gen(function* () {
|
|
45
|
+
const fullPath = path.join(dir, entry);
|
|
46
|
+
const stat = yield* fs.stat(fullPath).pipe(Effect.option);
|
|
47
|
+
if (Option.isNone(stat) || stat.value.type !== "Directory") {
|
|
48
|
+
return [];
|
|
49
|
+
}
|
|
50
|
+
const discovered = yield* tryParsePackageInDir(fullPath);
|
|
51
|
+
return Option.isSome(discovered) ? [discovered.value] : [];
|
|
52
|
+
}), { concurrency: "unbounded" }).pipe(Effect.map((results) => Array.flatten(results)));
|
|
53
|
+
});
|
|
54
|
+
const recursiveScan = (dir, depth) => Effect.gen(function* () {
|
|
55
|
+
if (depth > DISCOVERY_MAX_DEPTH)
|
|
56
|
+
return [];
|
|
57
|
+
const fs = yield* FileSystem.FileSystem;
|
|
58
|
+
const path = yield* Path.Path;
|
|
59
|
+
const entries = yield* fs.readDirectory(dir).pipe(Effect.option);
|
|
60
|
+
if (Option.isNone(entries))
|
|
61
|
+
return [];
|
|
62
|
+
return yield* Effect.forEach(entries.value, (entry) => Effect.gen(function* () {
|
|
63
|
+
if (DISCOVERY_SKIPPED_DIRECTORIES.has(entry))
|
|
64
|
+
return [];
|
|
65
|
+
const fullPath = path.join(dir, entry);
|
|
66
|
+
const stat = yield* fs.stat(fullPath).pipe(Effect.option);
|
|
67
|
+
if (Option.isNone(stat) || stat.value.type !== "Directory") {
|
|
68
|
+
return [];
|
|
69
|
+
}
|
|
70
|
+
const discovered = yield* tryParsePackageInDir(fullPath);
|
|
71
|
+
const current = Option.isSome(discovered) ? [discovered.value] : [];
|
|
72
|
+
const nested = yield* recursiveScan(fullPath, depth + 1);
|
|
73
|
+
return [...current, ...nested];
|
|
74
|
+
}), { concurrency: "unbounded" }).pipe(Effect.map((results) => Array.flatten(results)));
|
|
75
|
+
});
|
|
76
|
+
return Effect.gen(function* () {
|
|
77
|
+
const direct = yield* tryParsePackageInDir(searchPath);
|
|
78
|
+
const directPackages = Option.isSome(direct) ? [direct.value] : [];
|
|
79
|
+
if (directPackages.length > 0 && !options.fullDepth)
|
|
80
|
+
return directPackages;
|
|
81
|
+
const childPackages = yield* scanChildren(searchPath);
|
|
82
|
+
if ((directPackages.length > 0 || childPackages.length > 0) && !options.fullDepth) {
|
|
83
|
+
return [...directPackages, ...childPackages];
|
|
84
|
+
}
|
|
85
|
+
const recursivePackages = yield* recursiveScan(searchPath, 0);
|
|
86
|
+
const all = [...directPackages, ...childPackages, ...recursivePackages];
|
|
87
|
+
const seen = new Set();
|
|
88
|
+
return all.filter((pkg) => {
|
|
89
|
+
if (seen.has(pkg.manifest.name))
|
|
90
|
+
return false;
|
|
91
|
+
seen.add(pkg.manifest.name);
|
|
92
|
+
return true;
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
};
|
|
96
|
+
//# sourceMappingURL=manifest-package-discovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest-package-discovery.js","sourceRoot":"","sources":["../../../../src/unstable/extensions/manifest-package-discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helpers for managed-region marker extension identifiers.
|
|
3
|
+
*
|
|
4
|
+
* @experimental This API is unstable and may change without notice.
|
|
5
|
+
*/
|
|
6
|
+
import type { ExtensionName, ExtensionType } from "./common.js";
|
|
7
|
+
import type { Handle } from "./handle.js";
|
|
8
|
+
export type MarkerFqnRef = {
|
|
9
|
+
readonly refType: "registry";
|
|
10
|
+
readonly owner: Handle;
|
|
11
|
+
} | {
|
|
12
|
+
readonly refType: "git-hosted" | "local";
|
|
13
|
+
};
|
|
14
|
+
export declare const markerFqnForRef: (args: {
|
|
15
|
+
readonly ref: MarkerFqnRef;
|
|
16
|
+
readonly manifest: {
|
|
17
|
+
readonly owner: Handle;
|
|
18
|
+
readonly name: ExtensionName;
|
|
19
|
+
};
|
|
20
|
+
readonly type: ExtensionType;
|
|
21
|
+
readonly name: ExtensionName;
|
|
22
|
+
}) => string;
|
|
23
|
+
//# sourceMappingURL=marker-fqn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marker-fqn.d.ts","sourceRoot":"","sources":["../../../../src/unstable/extensions/marker-fqn.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEhE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAA;CAAE,CAAC;AAEjD,eAAO,MAAM,eAAe,GAAI,MAAM;IACpC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;KAC9B,CAAC;IACF,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;CAC9B,KAAG,MAGsF,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helpers for managed-region marker extension identifiers.
|
|
3
|
+
*
|
|
4
|
+
* @experimental This API is unstable and may change without notice.
|
|
5
|
+
*/
|
|
6
|
+
import { formatFqn } from "./fqn.js";
|
|
7
|
+
export const markerFqnForRef = (args) => args.ref.refType === "registry"
|
|
8
|
+
? formatFqn({ owner: args.ref.owner, type: args.type, name: args.name })
|
|
9
|
+
: formatFqn({ owner: args.manifest.owner, type: args.type, name: args.manifest.name });
|
|
10
|
+
//# sourceMappingURL=marker-fqn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marker-fqn.js","sourceRoot":"","sources":["../../../../src/unstable/extensions/marker-fqn.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAOrC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAQ/B,EAAU,EAAE,CACX,IAAI,CAAC,GAAG,CAAC,OAAO,KAAK,UAAU;IAC7B,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACxE,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared canonical package materialization helpers.
|
|
3
|
+
*
|
|
4
|
+
* @experimental This API is unstable and may change without notice.
|
|
5
|
+
*/
|
|
6
|
+
import * as Effect from "effect/Effect";
|
|
7
|
+
import * as FileSystem from "effect/FileSystem";
|
|
8
|
+
import * as Option from "effect/Option";
|
|
9
|
+
import * as Path from "effect/Path";
|
|
10
|
+
import type { AppErrorCode } from "../app-error/index.js";
|
|
11
|
+
import type { Version, VersionRange } from "../version-constraints/version-constraints.js";
|
|
12
|
+
import type { ExtensionName, ExtensionType } from "./common.js";
|
|
13
|
+
import type { Handle } from "./handle.js";
|
|
14
|
+
export interface RegistryPackageMaterializationMessages {
|
|
15
|
+
readonly existsFailureDetail: (canonicalPath: string) => string;
|
|
16
|
+
readonly integrityMismatchDetail: string;
|
|
17
|
+
readonly integrityMismatchCode: AppErrorCode;
|
|
18
|
+
readonly tempDirectoryFailureDetail: string;
|
|
19
|
+
readonly createDirectoryFailureDetail: (canonicalPath: string) => string;
|
|
20
|
+
readonly inspectExtractedFailureDetail: string;
|
|
21
|
+
readonly copyEntryFailureDetail: (entry: string) => string;
|
|
22
|
+
readonly copyEntryFailureCode: AppErrorCode;
|
|
23
|
+
}
|
|
24
|
+
export interface MaterializeRegistryPackageArgs {
|
|
25
|
+
readonly baseDir: string;
|
|
26
|
+
readonly canonicalPath: string;
|
|
27
|
+
readonly sourceLocation: URL;
|
|
28
|
+
readonly owner: Handle;
|
|
29
|
+
readonly type: ExtensionType;
|
|
30
|
+
readonly name: ExtensionName;
|
|
31
|
+
readonly version: Version | VersionRange;
|
|
32
|
+
readonly integrity: Option.Option<string>;
|
|
33
|
+
readonly messages: RegistryPackageMaterializationMessages;
|
|
34
|
+
}
|
|
35
|
+
export declare const materializeRegistryPackage: (args: MaterializeRegistryPackageArgs) => Effect.Effect<string, import("../app-error/app-error.ts").AppError, Path.Path | FileSystem.FileSystem>;
|
|
36
|
+
export interface MaterializeExternalPackageArgs {
|
|
37
|
+
readonly baseDir: string;
|
|
38
|
+
readonly canonicalPath: string;
|
|
39
|
+
readonly sourceLocation: string;
|
|
40
|
+
readonly copyFailureCode: AppErrorCode;
|
|
41
|
+
readonly copyFailureDetail: (canonicalPath: string) => string;
|
|
42
|
+
}
|
|
43
|
+
export declare const materializeExternalPackage: (args: MaterializeExternalPackageArgs) => Effect.Effect<string, import("../app-error/app-error.ts").AppError, Path.Path | FileSystem.FileSystem>;
|
|
44
|
+
//# sourceMappingURL=package-materialization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-materialization.d.ts","sourceRoot":"","sources":["../../../../src/unstable/extensions/package-materialization.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAG3F,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAM1C,MAAM,WAAW,sCAAsC;IACrD,QAAQ,CAAC,mBAAmB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,MAAM,CAAC;IAChE,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,qBAAqB,EAAE,YAAY,CAAC;IAC7C,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,4BAA4B,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,MAAM,CAAC;IACzE,QAAQ,CAAC,6BAA6B,EAAE,MAAM,CAAC;IAC/C,QAAQ,CAAC,sBAAsB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3D,QAAQ,CAAC,oBAAoB,EAAE,YAAY,CAAC;CAC7C;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,sCAAsC,CAAC;CAC3D;AAED,eAAO,MAAM,0BAA0B,GAAI,MAAM,8BAA8B,2GAwF3E,CAAC;AAEL,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,YAAY,CAAC;IACvC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,MAAM,CAAC;CAC/D;AAED,eAAO,MAAM,0BAA0B,GAAI,MAAM,8BAA8B,2GAuB3E,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared canonical package materialization helpers.
|
|
3
|
+
*
|
|
4
|
+
* @experimental This API is unstable and may change without notice.
|
|
5
|
+
*/
|
|
6
|
+
import * as Effect from "effect/Effect";
|
|
7
|
+
import * as FileSystem from "effect/FileSystem";
|
|
8
|
+
import * as Option from "effect/Option";
|
|
9
|
+
import * as Path from "effect/Path";
|
|
10
|
+
import { makeAppError } from "../app-error/index.js";
|
|
11
|
+
import { createRegistryClient, extractZip } from "../registry/index.js";
|
|
12
|
+
import { computeIntegrity, stripFileProtocol } from "../utils/index.js";
|
|
13
|
+
import { copyExtensionDirectory, validatePathSafety } from "./utils.js";
|
|
14
|
+
const registryLocationForClient = (location) => location.protocol === "file:" ? location.pathname : location.href;
|
|
15
|
+
export const materializeRegistryPackage = (args) => Effect.gen(function* () {
|
|
16
|
+
const fs = yield* FileSystem.FileSystem;
|
|
17
|
+
const path = yield* Path.Path;
|
|
18
|
+
yield* validatePathSafety(args.baseDir, args.canonicalPath);
|
|
19
|
+
const canonicalExists = yield* fs.exists(args.canonicalPath).pipe(Effect.mapError((error) => makeAppError({
|
|
20
|
+
code: "internal",
|
|
21
|
+
detail: args.messages.existsFailureDetail(args.canonicalPath),
|
|
22
|
+
cause: error,
|
|
23
|
+
})));
|
|
24
|
+
const useExisting = Option.isNone(args.integrity) && canonicalExists;
|
|
25
|
+
if (useExisting)
|
|
26
|
+
return args.canonicalPath;
|
|
27
|
+
const client = yield* createRegistryClient(registryLocationForClient(args.sourceLocation));
|
|
28
|
+
const { archive } = yield* client.getExtensionPackage({
|
|
29
|
+
owner: args.owner,
|
|
30
|
+
type: args.type,
|
|
31
|
+
name: args.name,
|
|
32
|
+
version: Option.some(args.version),
|
|
33
|
+
});
|
|
34
|
+
if (Option.isSome(args.integrity)) {
|
|
35
|
+
const actualIntegrity = yield* computeIntegrity(archive);
|
|
36
|
+
if (actualIntegrity !== args.integrity.value) {
|
|
37
|
+
return yield* makeAppError({
|
|
38
|
+
code: args.messages.integrityMismatchCode,
|
|
39
|
+
detail: args.messages.integrityMismatchDetail,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
const tmpDir = yield* fs.makeTempDirectory().pipe(Effect.mapError((error) => makeAppError({
|
|
44
|
+
code: "validation",
|
|
45
|
+
detail: args.messages.tempDirectoryFailureDetail,
|
|
46
|
+
cause: error,
|
|
47
|
+
})));
|
|
48
|
+
yield* Effect.ensuring(Effect.gen(function* () {
|
|
49
|
+
yield* extractZip(archive, tmpDir);
|
|
50
|
+
yield* fs.remove(args.canonicalPath, { recursive: true }).pipe(Effect.ignore);
|
|
51
|
+
yield* fs.makeDirectory(args.canonicalPath, { recursive: true }).pipe(Effect.mapError((error) => makeAppError({
|
|
52
|
+
code: "validation",
|
|
53
|
+
detail: args.messages.createDirectoryFailureDetail(args.canonicalPath),
|
|
54
|
+
cause: error,
|
|
55
|
+
})));
|
|
56
|
+
const entries = yield* fs.readDirectory(tmpDir).pipe(Effect.mapError((error) => makeAppError({
|
|
57
|
+
code: "validation",
|
|
58
|
+
detail: args.messages.inspectExtractedFailureDetail,
|
|
59
|
+
cause: error,
|
|
60
|
+
})));
|
|
61
|
+
yield* Effect.forEach(entries, (entry) => fs.copy(path.join(tmpDir, entry), path.join(args.canonicalPath, entry)).pipe(Effect.mapError((error) => makeAppError({
|
|
62
|
+
code: args.messages.copyEntryFailureCode,
|
|
63
|
+
detail: args.messages.copyEntryFailureDetail(entry),
|
|
64
|
+
cause: error,
|
|
65
|
+
}))), { concurrency: "unbounded" });
|
|
66
|
+
}), fs.remove(tmpDir, { recursive: true }).pipe(Effect.ignore));
|
|
67
|
+
return args.canonicalPath;
|
|
68
|
+
});
|
|
69
|
+
export const materializeExternalPackage = (args) => Effect.gen(function* () {
|
|
70
|
+
const fs = yield* FileSystem.FileSystem;
|
|
71
|
+
const path = yield* Path.Path;
|
|
72
|
+
yield* validatePathSafety(args.baseDir, args.canonicalPath);
|
|
73
|
+
const sourcePath = stripFileProtocol(args.sourceLocation);
|
|
74
|
+
const isSelfCopy = path.resolve(sourcePath) === path.resolve(args.canonicalPath);
|
|
75
|
+
if (isSelfCopy)
|
|
76
|
+
return args.canonicalPath;
|
|
77
|
+
yield* fs.remove(args.canonicalPath, { recursive: true }).pipe(Effect.ignore);
|
|
78
|
+
yield* copyExtensionDirectory(sourcePath, args.canonicalPath).pipe(Effect.mapError((error) => makeAppError({
|
|
79
|
+
code: args.copyFailureCode,
|
|
80
|
+
detail: args.copyFailureDetail(args.canonicalPath),
|
|
81
|
+
cause: error,
|
|
82
|
+
})));
|
|
83
|
+
return args.canonicalPath;
|
|
84
|
+
});
|
|
85
|
+
//# sourceMappingURL=package-materialization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-materialization.js","sourceRoot":"","sources":["../../../../src/unstable/extensions/package-materialization.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,8 @@ import type { PackageUrlParts } from "../packaging/package-url.js";
|
|
|
20
20
|
export interface GitHostedRefDetails {
|
|
21
21
|
/** file:// URL to cloned directory */
|
|
22
22
|
readonly location: string;
|
|
23
|
+
/** Repository-relative directory selected for this extension */
|
|
24
|
+
readonly sourcePath?: string;
|
|
23
25
|
/** Git tree SHA for integrity verification */
|
|
24
26
|
readonly gitTreeSha: Option.Option<string>;
|
|
25
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ref-base.d.ts","sourceRoot":"","sources":["../../../../src/unstable/extensions/ref-base.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ref-base.d.ts","sourceRoot":"","sources":["../../../../src/unstable/extensions/ref-base.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ import type { PlatformError } from "effect/PlatformError";
|
|
|
11
11
|
import * as FileSystem from "effect/FileSystem";
|
|
12
12
|
import * as Path from "effect/Path";
|
|
13
13
|
import * as Effect from "effect/Effect";
|
|
14
|
+
import { type ExtensionName } from "./common.js";
|
|
14
15
|
/**
|
|
15
16
|
* Sanitizes an extension name into a safe on-disk directory name.
|
|
16
17
|
*
|
|
@@ -22,6 +23,10 @@ import * as Effect from "effect/Effect";
|
|
|
22
23
|
* 5. Fall back to `"unnamed-skill"` if empty
|
|
23
24
|
*/
|
|
24
25
|
export declare const sanitizeName: (name: string) => string;
|
|
26
|
+
/**
|
|
27
|
+
* Converts a human-authored label into a valid AXM extension name.
|
|
28
|
+
*/
|
|
29
|
+
export declare const normalizeExtensionName: (name: string) => ExtensionName;
|
|
25
30
|
export declare const validatePathSafety: (baseDir: string, targetPath: string) => import("../app-error/app-error.ts").AppError | Effect.Effect<void, never, never>;
|
|
26
31
|
/**
|
|
27
32
|
* Options for {@link copyExtensionDirectory}.
|
|
@@ -39,6 +44,13 @@ export type CopyExtensionDirectoryOptions = {
|
|
|
39
44
|
*/
|
|
40
45
|
readonly forAgentArtifact?: boolean;
|
|
41
46
|
};
|
|
47
|
+
export type CopyExtensionDirectoryFailureDetails = {
|
|
48
|
+
readonly sourcePath: string;
|
|
49
|
+
readonly targetPath: string;
|
|
50
|
+
readonly subject?: string;
|
|
51
|
+
readonly sourceExists?: boolean;
|
|
52
|
+
};
|
|
53
|
+
export declare const formatCopyExtensionDirectoryFailure: ({ sourcePath, targetPath, subject, sourceExists, }: CopyExtensionDirectoryFailureDetails) => string;
|
|
42
54
|
/**
|
|
43
55
|
* Recursively copies an extension directory from `src` to `dest`.
|
|
44
56
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/unstable/extensions/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/unstable/extensions/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAA2B,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAM1E;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,MAU3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,MAAM,MAAM,KAAG,aAWrD,CAAC;AAMF,eAAO,MAAM,kBAAkB,GAAI,SAAS,MAAM,EAAE,YAAY,MAAM,qFAM9D,CAAC;AAmET;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC1C;;;;;;;;;OASG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,oCAAoC,GAAG;IACjD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,mCAAmC,GAAI,oDAKjD,oCAAoC,KAAG,MAGzC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,GACjC,KAAK,MAAM,EACX,MAAM,MAAM,EACZ,UAAU,6BAA6B,KACtC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAKnE,CAAC"}
|
|
@@ -12,6 +12,7 @@ import * as Path from "effect/Path";
|
|
|
12
12
|
import * as Effect from "effect/Effect";
|
|
13
13
|
import { makeAppError } from "../app-error/index.js";
|
|
14
14
|
import { isPathSafe } from "../utils/index.js";
|
|
15
|
+
import { decodeExtensionNameSync } from "./common.js";
|
|
15
16
|
// -----------------------------------------------------------------------------
|
|
16
17
|
// Name Sanitization
|
|
17
18
|
// -----------------------------------------------------------------------------
|
|
@@ -34,6 +35,20 @@ export const sanitizeName = (name) => {
|
|
|
34
35
|
result = result.slice(0, 255);
|
|
35
36
|
return result || "unnamed-skill";
|
|
36
37
|
};
|
|
38
|
+
/**
|
|
39
|
+
* Converts a human-authored label into a valid AXM extension name.
|
|
40
|
+
*/
|
|
41
|
+
export const normalizeExtensionName = (name) => {
|
|
42
|
+
const normalized = name
|
|
43
|
+
.trim()
|
|
44
|
+
.toLowerCase()
|
|
45
|
+
.replace(/[^a-z0-9]+/g, "-")
|
|
46
|
+
.replace(/^-+/, "")
|
|
47
|
+
.replace(/-+$/, "")
|
|
48
|
+
.slice(0, 64)
|
|
49
|
+
.replace(/-+$/, "");
|
|
50
|
+
return decodeExtensionNameSync(normalized || "unnamed-extension");
|
|
51
|
+
};
|
|
37
52
|
// -----------------------------------------------------------------------------
|
|
38
53
|
// Path Safety Validation
|
|
39
54
|
// -----------------------------------------------------------------------------
|
|
@@ -85,6 +100,10 @@ const copyDir = (src, dest, fs, path, forAgentArtifact) => Effect.gen(function*
|
|
|
85
100
|
const entries = yield* fs.readDirectory(src);
|
|
86
101
|
yield* Effect.forEach(entries.filter((name) => !isExcluded(name, forAgentArtifact)), (name) => copyEntry(path.join(src, name), path.join(dest, name), fs, path, forAgentArtifact), { concurrency: "unbounded" });
|
|
87
102
|
});
|
|
103
|
+
export const formatCopyExtensionDirectoryFailure = ({ sourcePath, targetPath, subject = "extension files", sourceExists, }) => {
|
|
104
|
+
const missingSource = sourceExists === false ? "; source does not exist" : "";
|
|
105
|
+
return `Failed to copy ${subject} from ${sourcePath} to ${targetPath}${missingSource}`;
|
|
106
|
+
};
|
|
88
107
|
/**
|
|
89
108
|
* Recursively copies an extension directory from `src` to `dest`.
|
|
90
109
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/unstable/extensions/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/unstable/extensions/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Files package discovery for local and git sources.
|
|
3
3
|
*
|
|
4
4
|
* @experimental This API is unstable and may change without notice.
|
|
5
5
|
*/
|
|
6
|
-
import * as Effect from "effect/Effect";
|
|
7
|
-
import * as FileSystem from "effect/FileSystem";
|
|
8
|
-
import * as Path from "effect/Path";
|
|
6
|
+
import type * as Effect from "effect/Effect";
|
|
7
|
+
import type * as FileSystem from "effect/FileSystem";
|
|
8
|
+
import type * as Path from "effect/Path";
|
|
9
9
|
import { type FilesManifest } from "./manifest-schema.js";
|
|
10
10
|
export interface DiscoveredFilesPackage {
|
|
11
11
|
readonly type: "files";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../../src/unstable/files/discovery.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../../src/unstable/files/discovery.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,KAAK,UAAU,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,KAAK,IAAI,MAAM,aAAa,CAAC;AAEzC,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAQD,eAAO,MAAM,kBAAkB,GAC7B,YAAY,MAAM,EAClB,SAAS,4BAA4B,KACpC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,sBAAsB,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAC/C,CAAC"}
|
|
@@ -1,101 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Files package discovery for local and git sources.
|
|
3
3
|
*
|
|
4
4
|
* @experimental This API is unstable and may change without notice.
|
|
5
5
|
*/
|
|
6
|
-
import
|
|
7
|
-
import * as Effect from "effect/Effect";
|
|
8
|
-
import * as FileSystem from "effect/FileSystem";
|
|
9
|
-
import * as Option from "effect/Option";
|
|
10
|
-
import * as Path from "effect/Path";
|
|
11
|
-
import * as Schema from "effect/Schema";
|
|
6
|
+
import { discoverManifestPackagesInDir } from "../extensions/manifest-package-discovery.js";
|
|
12
7
|
import { FILES_MANIFEST_FILENAME, FilesManifestSchema, } from "./manifest-schema.js";
|
|
13
|
-
const
|
|
14
|
-
"
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
"dist",
|
|
18
|
-
"build",
|
|
19
|
-
"__pycache__",
|
|
20
|
-
]);
|
|
21
|
-
const MAX_DEPTH = 5;
|
|
22
|
-
const tryParseFilesPackageInDir = (dir) => Effect.gen(function* () {
|
|
23
|
-
const fs = yield* FileSystem.FileSystem;
|
|
24
|
-
const path = yield* Path.Path;
|
|
25
|
-
const manifestPath = path.join(dir, FILES_MANIFEST_FILENAME);
|
|
26
|
-
const exists = yield* fs.exists(manifestPath).pipe(Effect.catch(() => Effect.succeed(false)));
|
|
27
|
-
if (!exists)
|
|
28
|
-
return Option.none();
|
|
29
|
-
const raw = yield* fs.readFileString(manifestPath).pipe(Effect.option);
|
|
30
|
-
if (Option.isNone(raw))
|
|
31
|
-
return Option.none();
|
|
32
|
-
const json = yield* Schema.decodeUnknownEffect(Schema.UnknownFromJsonString)(raw.value).pipe(Effect.option);
|
|
33
|
-
if (Option.isNone(json))
|
|
34
|
-
return Option.none();
|
|
35
|
-
const manifest = yield* Schema.decodeUnknownEffect(FilesManifestSchema)(json.value).pipe(Effect.option);
|
|
36
|
-
if (Option.isNone(manifest))
|
|
37
|
-
return Option.none();
|
|
38
|
-
return Option.some({
|
|
39
|
-
type: "files",
|
|
40
|
-
manifest: manifest.value,
|
|
41
|
-
location: `file://${dir}`,
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
const scanChildren = (dir) => Effect.gen(function* () {
|
|
45
|
-
const fs = yield* FileSystem.FileSystem;
|
|
46
|
-
const path = yield* Path.Path;
|
|
47
|
-
const entries = yield* fs.readDirectory(dir).pipe(Effect.option);
|
|
48
|
-
if (Option.isNone(entries))
|
|
49
|
-
return [];
|
|
50
|
-
return yield* Effect.forEach(entries.value, (entry) => Effect.gen(function* () {
|
|
51
|
-
const fullPath = path.join(dir, entry);
|
|
52
|
-
const stat = yield* fs.stat(fullPath).pipe(Effect.option);
|
|
53
|
-
if (Option.isNone(stat) || stat.value.type !== "Directory") {
|
|
54
|
-
return [];
|
|
55
|
-
}
|
|
56
|
-
const discovered = yield* tryParseFilesPackageInDir(fullPath);
|
|
57
|
-
return Option.isSome(discovered) ? [discovered.value] : [];
|
|
58
|
-
}), { concurrency: "unbounded" }).pipe(Effect.map((results) => Array.flatten(results)));
|
|
59
|
-
});
|
|
60
|
-
const recursiveScan = (dir, depth) => Effect.gen(function* () {
|
|
61
|
-
if (depth > MAX_DEPTH)
|
|
62
|
-
return [];
|
|
63
|
-
const fs = yield* FileSystem.FileSystem;
|
|
64
|
-
const path = yield* Path.Path;
|
|
65
|
-
const entries = yield* fs.readDirectory(dir).pipe(Effect.option);
|
|
66
|
-
if (Option.isNone(entries))
|
|
67
|
-
return [];
|
|
68
|
-
return yield* Effect.forEach(entries.value, (entry) => Effect.gen(function* () {
|
|
69
|
-
if (SKIPPED_DIRECTORIES.has(entry))
|
|
70
|
-
return [];
|
|
71
|
-
const fullPath = path.join(dir, entry);
|
|
72
|
-
const stat = yield* fs.stat(fullPath).pipe(Effect.option);
|
|
73
|
-
if (Option.isNone(stat) || stat.value.type !== "Directory") {
|
|
74
|
-
return [];
|
|
75
|
-
}
|
|
76
|
-
const discovered = yield* tryParseFilesPackageInDir(fullPath);
|
|
77
|
-
const current = Option.isSome(discovered) ? [discovered.value] : [];
|
|
78
|
-
const nested = yield* recursiveScan(fullPath, depth + 1);
|
|
79
|
-
return [...current, ...nested];
|
|
80
|
-
}), { concurrency: "unbounded" }).pipe(Effect.map((results) => Array.flatten(results)));
|
|
81
|
-
});
|
|
82
|
-
export const filesPackagesInDir = (searchPath, options) => Effect.gen(function* () {
|
|
83
|
-
const direct = yield* tryParseFilesPackageInDir(searchPath);
|
|
84
|
-
const directPackages = Option.isSome(direct) ? [direct.value] : [];
|
|
85
|
-
if (directPackages.length > 0 && !options.fullDepth)
|
|
86
|
-
return directPackages;
|
|
87
|
-
const childPackages = yield* scanChildren(searchPath);
|
|
88
|
-
if ((directPackages.length > 0 || childPackages.length > 0) && !options.fullDepth) {
|
|
89
|
-
return [...directPackages, ...childPackages];
|
|
90
|
-
}
|
|
91
|
-
const recursivePackages = yield* recursiveScan(searchPath, 0);
|
|
92
|
-
const all = [...directPackages, ...childPackages, ...recursivePackages];
|
|
93
|
-
const seen = new Set();
|
|
94
|
-
return all.filter((pkg) => {
|
|
95
|
-
if (seen.has(pkg.manifest.name))
|
|
96
|
-
return false;
|
|
97
|
-
seen.add(pkg.manifest.name);
|
|
98
|
-
return true;
|
|
99
|
-
});
|
|
8
|
+
const discoverFilesPackagesInDir = discoverManifestPackagesInDir({
|
|
9
|
+
type: "files",
|
|
10
|
+
manifestFilename: FILES_MANIFEST_FILENAME,
|
|
11
|
+
manifestSchema: FilesManifestSchema,
|
|
100
12
|
});
|
|
13
|
+
export const filesPackagesInDir = (searchPath, options) => discoverFilesPackagesInDir(searchPath, options);
|
|
101
14
|
//# sourceMappingURL=discovery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../../src/unstable/files/discovery.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../../src/unstable/files/discovery.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;AAC5F,OAAO,EACL,uBAAuB,EACvB,mBAAmB,GAEpB,MAAM,sBAAsB,CAAC;AAY9B,MAAM,0BAA0B,GAAG,6BAA6B,CAAC;IAC/D,IAAI,EAAE,OAAO;IACb,gBAAgB,EAAE,uBAAuB;IACzC,cAAc,EAAE,mBAAmB;CACpC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,UAAkB,EAClB,OAAqC,EAC2D,EAAE,CAClG,0BAA0B,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../src/unstable/files/manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,UAAU,MAAM,gBAAgB,CAAC;AAE7C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../src/unstable/files/manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,UAAU,MAAM,gBAAgB,CAAC;AAE7C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAkBtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,KAAK,EAAE,gBAAgB,EAAwB,MAAM,mCAAmC,CAAC;AAChG,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAIvE,OAAO,EAIL,KAAK,iBAAiB,EAWvB,MAAM,YAAY,CAAC;;AAEpB,qBAAa,YAAa,SAAQ,iBAG6B;CAAG;AAmElE,eAAO,MAAM,gBAAgB,gHAqZ5B,CAAC"}
|