@mannyc1/ts-release 0.0.7 → 0.3.0
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/ARCHITECTURE.md +184 -92
- package/CHANGELOG.md +197 -0
- package/LICENSE +21 -0
- package/README.md +404 -327
- package/SPEC.md +257 -310
- package/apps/release-ts/README.md +39 -0
- package/apps/release-ts/src/cli/command.ts +164 -0
- package/apps/release-ts/src/cli/commands.ts +351 -0
- package/apps/release-ts/src/cli/main.ts +43 -0
- package/apps/release-ts/src/cli/node-main.ts +49 -0
- package/apps/ts-release-agents/LICENSE +21 -0
- package/apps/ts-release-agents/README.md +21 -0
- package/apps/ts-release-agents/evals/cases.json +11 -0
- package/apps/ts-release-agents/manifests/claude.json +5 -0
- package/apps/ts-release-agents/manifests/codex.json +5 -0
- package/apps/ts-release-agents/package.json +11 -0
- package/apps/ts-release-agents/skills/release/SKILL.md +48 -0
- package/apps/ts-release-agents/skills/release/references/configuration.md +18 -0
- package/apps/ts-release-agents/skills/release/references/recovery.md +10 -0
- package/apps/ts-release-agents/skills/release/references/staged-workflow.md +12 -0
- package/apps/ts-release-agents/skills/release/references/target-selection.md +13 -0
- package/apps/ts-release-agents/skills/release/references/verification.md +14 -0
- package/apps/ts-release-agents/src/build.ts +105 -0
- package/apps/ts-release-agents/src/check.ts +122 -0
- package/apps/ts-release-agents/src/install.ts +121 -0
- package/apps/ts-release-agents/test/contract.test.ts +56 -0
- package/apps/ts-release-agents/tsconfig.json +5 -0
- package/dist/api/api.d.ts +15 -0
- package/dist/api/api.d.ts.map +1 -0
- package/dist/api/api.js +244 -0
- package/dist/api/api.js.map +1 -0
- package/dist/api/errors.d.ts +39 -0
- package/dist/api/errors.d.ts.map +1 -0
- package/dist/api/errors.js +32 -0
- package/dist/api/errors.js.map +1 -0
- package/dist/api/input.d.ts +10 -0
- package/dist/api/input.d.ts.map +1 -0
- package/dist/api/input.js +73 -0
- package/dist/api/input.js.map +1 -0
- package/dist/api/runtime.d.ts +18 -0
- package/dist/api/runtime.d.ts.map +1 -0
- package/dist/api/runtime.js +7 -0
- package/dist/api/runtime.js.map +1 -0
- package/dist/api/types.d.ts +76 -0
- package/dist/api/types.d.ts.map +1 -0
- package/dist/api/types.js +17 -0
- package/dist/api/types.js.map +1 -0
- package/dist/bin/ts-release.js +39346 -0
- package/dist/capabilities/bun-targets.d.ts +3 -0
- package/dist/capabilities/bun-targets.d.ts.map +1 -0
- package/dist/capabilities/bun-targets.js +3 -0
- package/dist/capabilities/bun-targets.js.map +1 -0
- package/dist/capabilities/field-ownership.d.ts +17 -0
- package/dist/capabilities/field-ownership.d.ts.map +1 -0
- package/dist/capabilities/field-ownership.js +40 -0
- package/dist/capabilities/field-ownership.js.map +1 -0
- package/dist/capabilities/module.d.ts +91 -0
- package/dist/capabilities/module.d.ts.map +1 -0
- package/dist/capabilities/module.js +2 -0
- package/dist/capabilities/module.js.map +1 -0
- package/dist/capabilities/registry.d.ts +829 -0
- package/dist/capabilities/registry.d.ts.map +1 -0
- package/dist/capabilities/registry.js +291 -0
- package/dist/capabilities/registry.js.map +1 -0
- package/dist/config/config.d.ts +6 -0
- package/dist/config/config.d.ts.map +1 -0
- package/dist/config/config.js +42 -0
- package/dist/config/config.js.map +1 -0
- package/dist/correction/coordinator.d.ts +248 -0
- package/dist/correction/coordinator.d.ts.map +1 -0
- package/dist/correction/coordinator.js +274 -0
- package/dist/correction/coordinator.js.map +1 -0
- package/dist/correction/index.d.ts +3 -0
- package/dist/correction/index.d.ts.map +1 -0
- package/dist/correction/index.js +3 -0
- package/dist/correction/index.js.map +1 -0
- package/dist/correction/intent.d.ts +111 -0
- package/dist/correction/intent.d.ts.map +1 -0
- package/dist/correction/intent.js +146 -0
- package/dist/correction/intent.js.map +1 -0
- package/dist/drivers/archive.d.ts +9 -0
- package/dist/drivers/archive.d.ts.map +1 -0
- package/dist/drivers/archive.js +105 -0
- package/dist/drivers/archive.js.map +1 -0
- package/dist/drivers/contain.d.ts +6 -0
- package/dist/drivers/contain.d.ts.map +1 -0
- package/dist/drivers/contain.js +17 -0
- package/dist/drivers/contain.js.map +1 -0
- package/dist/drivers/environment.d.ts +4 -0
- package/dist/drivers/environment.d.ts.map +1 -0
- package/dist/drivers/environment.js +18 -0
- package/dist/drivers/environment.js.map +1 -0
- package/dist/drivers/errors.d.ts +9 -0
- package/dist/drivers/errors.d.ts.map +1 -0
- package/dist/drivers/errors.js +6 -0
- package/dist/drivers/errors.js.map +1 -0
- package/dist/drivers/glob.d.ts +2 -0
- package/dist/drivers/glob.d.ts.map +1 -0
- package/dist/drivers/glob.js +162 -0
- package/dist/drivers/glob.js.map +1 -0
- package/dist/drivers/process.d.ts +48 -0
- package/dist/drivers/process.d.ts.map +1 -0
- package/dist/drivers/process.js +257 -0
- package/dist/drivers/process.js.map +1 -0
- package/dist/drivers/python-wheel.d.ts +21 -0
- package/dist/drivers/python-wheel.d.ts.map +1 -0
- package/dist/drivers/python-wheel.js +109 -0
- package/dist/drivers/python-wheel.js.map +1 -0
- package/dist/drivers/redact.d.ts +4 -0
- package/dist/drivers/redact.d.ts.map +1 -0
- package/dist/drivers/redact.js +24 -0
- package/dist/drivers/redact.js.map +1 -0
- package/dist/drivers/seccomp-helper-source.d.ts +7 -0
- package/dist/drivers/seccomp-helper-source.d.ts.map +1 -0
- package/dist/drivers/seccomp-helper-source.js +121 -0
- package/dist/drivers/seccomp-helper-source.js.map +1 -0
- package/dist/drivers/utils.d.ts +4 -0
- package/dist/drivers/utils.d.ts.map +1 -0
- package/dist/drivers/utils.js +5 -0
- package/dist/drivers/utils.js.map +1 -0
- package/dist/drivers/workspace.d.ts +9 -0
- package/dist/drivers/workspace.d.ts.map +1 -0
- package/dist/drivers/workspace.js +53 -0
- package/dist/drivers/workspace.js.map +1 -0
- package/dist/extensions/provider-adapter.d.ts +48 -0
- package/dist/extensions/provider-adapter.d.ts.map +1 -0
- package/dist/extensions/provider-adapter.js +64 -0
- package/dist/extensions/provider-adapter.js.map +1 -0
- package/dist/host.d.ts +33 -0
- package/dist/host.d.ts.map +1 -0
- package/dist/host.js +20 -0
- package/dist/host.js.map +1 -0
- package/dist/index.d.ts +19 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -1
- package/dist/index.js.map +1 -1
- package/dist/model/artifact-collection.d.ts +84 -0
- package/dist/model/artifact-collection.d.ts.map +1 -0
- package/dist/model/artifact-collection.js +185 -0
- package/dist/model/artifact-collection.js.map +1 -0
- package/dist/model/authority.d.ts +89 -0
- package/dist/model/authority.d.ts.map +1 -0
- package/dist/model/authority.js +80 -0
- package/dist/model/authority.js.map +1 -0
- package/dist/model/bun-targets.d.ts +34 -0
- package/dist/model/bun-targets.d.ts.map +1 -0
- package/dist/model/bun-targets.js +17 -0
- package/dist/model/bun-targets.js.map +1 -0
- package/dist/model/canonical.d.ts +8 -0
- package/dist/model/canonical.d.ts.map +1 -0
- package/dist/model/canonical.js +205 -0
- package/dist/model/canonical.js.map +1 -0
- package/dist/model/catalog.d.ts +76 -0
- package/dist/model/catalog.d.ts.map +1 -0
- package/dist/model/catalog.js +174 -0
- package/dist/model/catalog.js.map +1 -0
- package/dist/model/digest.d.ts +53 -0
- package/dist/model/digest.d.ts.map +1 -0
- package/dist/model/digest.js +127 -0
- package/dist/model/digest.js.map +1 -0
- package/dist/model/errors.d.ts +14 -0
- package/dist/model/errors.d.ts.map +1 -0
- package/dist/model/errors.js +8 -0
- package/dist/model/errors.js.map +1 -0
- package/dist/model/primitives.d.ts +19 -0
- package/dist/model/primitives.d.ts.map +1 -0
- package/dist/model/primitives.js +18 -0
- package/dist/model/primitives.js.map +1 -0
- package/dist/model/pypi.d.ts +12 -0
- package/dist/model/pypi.d.ts.map +1 -0
- package/dist/model/pypi.js +20 -0
- package/dist/model/pypi.js.map +1 -0
- package/dist/model/python-distribution.d.ts +33 -0
- package/dist/model/python-distribution.d.ts.map +1 -0
- package/dist/model/python-distribution.js +367 -0
- package/dist/model/python-distribution.js.map +1 -0
- package/dist/model/secret-patterns.d.ts +2 -0
- package/dist/model/secret-patterns.d.ts.map +1 -0
- package/dist/model/secret-patterns.js +12 -0
- package/dist/model/secret-patterns.js.map +1 -0
- package/dist/operation-journal/authority.d.ts +3 -0
- package/dist/operation-journal/authority.d.ts.map +1 -0
- package/dist/operation-journal/authority.js +147 -0
- package/dist/operation-journal/authority.js.map +1 -0
- package/dist/operation-journal/aws/deadline.d.ts +12 -0
- package/dist/operation-journal/aws/deadline.d.ts.map +1 -0
- package/dist/operation-journal/aws/deadline.js +38 -0
- package/dist/operation-journal/aws/deadline.js.map +1 -0
- package/dist/operation-journal/aws/oidc.d.ts +27 -0
- package/dist/operation-journal/aws/oidc.d.ts.map +1 -0
- package/dist/operation-journal/aws/oidc.js +361 -0
- package/dist/operation-journal/aws/oidc.js.map +1 -0
- package/dist/operation-journal/aws/policy.d.ts +42 -0
- package/dist/operation-journal/aws/policy.d.ts.map +1 -0
- package/dist/operation-journal/aws/policy.js +404 -0
- package/dist/operation-journal/aws/policy.js.map +1 -0
- package/dist/operation-journal/aws/s3-boundary.d.ts +17 -0
- package/dist/operation-journal/aws/s3-boundary.d.ts.map +1 -0
- package/dist/operation-journal/aws/s3-boundary.js +417 -0
- package/dist/operation-journal/aws/s3-boundary.js.map +1 -0
- package/dist/operation-journal/aws.d.ts +11 -0
- package/dist/operation-journal/aws.d.ts.map +1 -0
- package/dist/operation-journal/aws.js +50 -0
- package/dist/operation-journal/aws.js.map +1 -0
- package/dist/operation-journal/canonical.d.ts +52 -0
- package/dist/operation-journal/canonical.d.ts.map +1 -0
- package/dist/operation-journal/canonical.js +282 -0
- package/dist/operation-journal/canonical.js.map +1 -0
- package/dist/operation-journal/model.d.ts +251 -0
- package/dist/operation-journal/model.d.ts.map +1 -0
- package/dist/operation-journal/model.js +56 -0
- package/dist/operation-journal/model.js.map +1 -0
- package/dist/operation-journal/reducer.d.ts +28 -0
- package/dist/operation-journal/reducer.d.ts.map +1 -0
- package/dist/operation-journal/reducer.js +73 -0
- package/dist/operation-journal/reducer.js.map +1 -0
- package/dist/operation-journal/s3.d.ts +7 -0
- package/dist/operation-journal/s3.d.ts.map +1 -0
- package/dist/operation-journal/s3.js +667 -0
- package/dist/operation-journal/s3.js.map +1 -0
- package/dist/operation-journal.d.ts +14 -0
- package/dist/operation-journal.d.ts.map +1 -0
- package/dist/operation-journal.js +12 -0
- package/dist/operation-journal.js.map +1 -0
- package/dist/platform/bun.d.ts +7 -0
- package/dist/platform/bun.d.ts.map +1 -0
- package/dist/platform/bun.js +15 -0
- package/dist/platform/bun.js.map +1 -0
- package/dist/platform/credentials.d.ts +32 -0
- package/dist/platform/credentials.d.ts.map +1 -0
- package/dist/platform/credentials.js +834 -0
- package/dist/platform/credentials.js.map +1 -0
- package/dist/platform/host-support.d.ts +2 -0
- package/dist/platform/host-support.d.ts.map +1 -0
- package/dist/platform/host-support.js +4 -0
- package/dist/platform/host-support.js.map +1 -0
- package/dist/platform/node.d.ts +7 -0
- package/dist/platform/node.d.ts.map +1 -0
- package/dist/platform/node.js +15 -0
- package/dist/platform/node.js.map +1 -0
- package/dist/platform/release-runtime.d.ts +11 -0
- package/dist/platform/release-runtime.d.ts.map +1 -0
- package/dist/platform/release-runtime.js +34 -0
- package/dist/platform/release-runtime.js.map +1 -0
- package/dist/platform/services.d.ts +15 -0
- package/dist/platform/services.d.ts.map +1 -0
- package/dist/platform/services.js +30 -0
- package/dist/platform/services.js.map +1 -0
- package/dist/platform/source-observer.d.ts +5 -0
- package/dist/platform/source-observer.d.ts.map +1 -0
- package/dist/platform/source-observer.js +159 -0
- package/dist/platform/source-observer.js.map +1 -0
- package/dist/provider-sdk.d.ts +14 -0
- package/dist/provider-sdk.d.ts.map +1 -0
- package/dist/provider-sdk.js +10 -0
- package/dist/provider-sdk.js.map +1 -0
- package/dist/publication/adapter.d.ts +212 -0
- package/dist/publication/adapter.d.ts.map +1 -0
- package/dist/publication/adapter.js +83 -0
- package/dist/publication/adapter.js.map +1 -0
- package/dist/publication/authority.d.ts +137 -0
- package/dist/publication/authority.d.ts.map +1 -0
- package/dist/publication/authority.js +233 -0
- package/dist/publication/authority.js.map +1 -0
- package/dist/publication/catalog-git.d.ts +37 -0
- package/dist/publication/catalog-git.d.ts.map +1 -0
- package/dist/publication/catalog-git.js +451 -0
- package/dist/publication/catalog-git.js.map +1 -0
- package/dist/publication/claim.d.ts +39 -0
- package/dist/publication/claim.d.ts.map +1 -0
- package/dist/publication/claim.js +31 -0
- package/dist/publication/claim.js.map +1 -0
- package/dist/publication/coordinator.d.ts +246 -0
- package/dist/publication/coordinator.d.ts.map +1 -0
- package/dist/publication/coordinator.js +370 -0
- package/dist/publication/coordinator.js.map +1 -0
- package/dist/publication/github.d.ts +36 -0
- package/dist/publication/github.d.ts.map +1 -0
- package/dist/publication/github.js +695 -0
- package/dist/publication/github.js.map +1 -0
- package/dist/publication/http.d.ts +69 -0
- package/dist/publication/http.d.ts.map +1 -0
- package/dist/publication/http.js +29 -0
- package/dist/publication/http.js.map +1 -0
- package/dist/publication/index.d.ts +5 -0
- package/dist/publication/index.d.ts.map +1 -0
- package/dist/publication/index.js +5 -0
- package/dist/publication/index.js.map +1 -0
- package/dist/publication/npm.d.ts +40 -0
- package/dist/publication/npm.d.ts.map +1 -0
- package/dist/publication/npm.js +359 -0
- package/dist/publication/npm.js.map +1 -0
- package/dist/publication/profiles.d.ts +136 -0
- package/dist/publication/profiles.d.ts.map +1 -0
- package/dist/publication/profiles.js +90 -0
- package/dist/publication/profiles.js.map +1 -0
- package/dist/publication/publisher.d.ts +82 -0
- package/dist/publication/publisher.d.ts.map +1 -0
- package/dist/publication/publisher.js +53 -0
- package/dist/publication/publisher.js.map +1 -0
- package/dist/publication/pypi.d.ts +45 -0
- package/dist/publication/pypi.d.ts.map +1 -0
- package/dist/publication/pypi.js +369 -0
- package/dist/publication/pypi.js.map +1 -0
- package/dist/publication/recovery.d.ts +663 -0
- package/dist/publication/recovery.d.ts.map +1 -0
- package/dist/publication/recovery.js +252 -0
- package/dist/publication/recovery.js.map +1 -0
- package/dist/publication/report.d.ts +1061 -0
- package/dist/publication/report.d.ts.map +1 -0
- package/dist/publication/report.js +441 -0
- package/dist/publication/report.js.map +1 -0
- package/dist/recipes/config.d.ts +296 -0
- package/dist/recipes/config.d.ts.map +1 -0
- package/dist/recipes/config.js +325 -0
- package/dist/recipes/config.js.map +1 -0
- package/dist/release/capabilities.d.ts +12 -0
- package/dist/release/capabilities.d.ts.map +1 -0
- package/dist/release/capabilities.js +395 -0
- package/dist/release/capabilities.js.map +1 -0
- package/dist/release/compiler.d.ts +5 -0
- package/dist/release/compiler.d.ts.map +1 -0
- package/dist/release/compiler.js +19 -0
- package/dist/release/compiler.js.map +1 -0
- package/dist/release/config.d.ts +5 -0
- package/dist/release/config.d.ts.map +1 -0
- package/dist/release/config.js +10 -0
- package/dist/release/config.js.map +1 -0
- package/dist/release/context.d.ts +96 -0
- package/dist/release/context.d.ts.map +1 -0
- package/dist/release/context.js +168 -0
- package/dist/release/context.js.map +1 -0
- package/dist/release/graph.d.ts +271 -0
- package/dist/release/graph.d.ts.map +1 -0
- package/dist/release/graph.js +766 -0
- package/dist/release/graph.js.map +1 -0
- package/dist/release/inspect.d.ts +88 -0
- package/dist/release/inspect.d.ts.map +1 -0
- package/dist/release/inspect.js +75 -0
- package/dist/release/inspect.js.map +1 -0
- package/dist/release/prepare.d.ts +24 -0
- package/dist/release/prepare.d.ts.map +1 -0
- package/dist/release/prepare.js +1115 -0
- package/dist/release/prepare.js.map +1 -0
- package/dist/release/prepared-ref.d.ts +60 -0
- package/dist/release/prepared-ref.d.ts.map +1 -0
- package/dist/release/prepared-ref.js +131 -0
- package/dist/release/prepared-ref.js.map +1 -0
- package/dist/release/prepared-store.d.ts +90 -0
- package/dist/release/prepared-store.d.ts.map +1 -0
- package/dist/release/prepared-store.js +339 -0
- package/dist/release/prepared-store.js.map +1 -0
- package/dist/release/prepared.d.ts +172 -0
- package/dist/release/prepared.d.ts.map +1 -0
- package/dist/release/prepared.js +268 -0
- package/dist/release/prepared.js.map +1 -0
- package/dist/release/staging.d.ts +31 -0
- package/dist/release/staging.d.ts.map +1 -0
- package/dist/release/staging.js +218 -0
- package/dist/release/staging.js.map +1 -0
- package/dist/resolve/authored.d.ts +53 -0
- package/dist/resolve/authored.d.ts.map +1 -0
- package/dist/resolve/authored.js +55 -0
- package/dist/resolve/authored.js.map +1 -0
- package/dist/resolve/encode.d.ts +3 -0
- package/dist/resolve/encode.d.ts.map +1 -0
- package/dist/resolve/encode.js +21 -0
- package/dist/resolve/encode.js.map +1 -0
- package/dist/resolve/errors.d.ts +7 -0
- package/dist/resolve/errors.d.ts.map +1 -0
- package/dist/resolve/errors.js +17 -0
- package/dist/resolve/errors.js.map +1 -0
- package/dist/resolve/facts.d.ts +12 -0
- package/dist/resolve/facts.d.ts.map +1 -0
- package/dist/resolve/facts.js +18 -0
- package/dist/resolve/facts.js.map +1 -0
- package/dist/resolve/resolve.d.ts +10 -0
- package/dist/resolve/resolve.d.ts.map +1 -0
- package/dist/resolve/resolve.js +242 -0
- package/dist/resolve/resolve.js.map +1 -0
- package/dist/store.d.ts +11 -0
- package/dist/store.d.ts.map +1 -0
- package/dist/store.js +9 -0
- package/dist/store.js.map +1 -0
- package/examples/README.md +20 -30
- package/examples/github-release/release.config.json +11 -18
- package/examples/homebrew-tap/README.md +11 -0
- package/examples/homebrew-tap/release.config.json +40 -28
- package/examples/multi-target/release.config.json +28 -53
- package/examples/npm-first-publish/release.config.json +23 -25
- package/examples/npm-only/release.config.json +22 -30
- package/examples/portable-cli/README.md +17 -0
- package/examples/portable-cli/artifacts/portable-example-0.1.0-darwin-arm64 +1 -0
- package/examples/portable-cli/artifacts/portable-example-0.1.0-darwin-x64 +1 -0
- package/examples/portable-cli/artifacts/portable-example-0.1.0-linux-arm64 +1 -0
- package/examples/portable-cli/artifacts/portable-example-0.1.0-linux-x64 +1 -0
- package/examples/portable-cli/artifacts/portable-example-0.1.0-windows-x64.exe +1 -0
- package/examples/portable-cli/artifacts/portable_example-0.1.0-py3-none-macosx_10_15_x86_64.whl +1 -0
- package/examples/portable-cli/artifacts/portable_example-0.1.0-py3-none-macosx_11_0_arm64.whl +1 -0
- package/examples/portable-cli/artifacts/portable_example-0.1.0-py3-none-manylinux2014_aarch64.whl +1 -0
- package/examples/portable-cli/artifacts/portable_example-0.1.0-py3-none-manylinux2014_x86_64.whl +1 -0
- package/examples/portable-cli/artifacts/portable_example-0.1.0-py3-none-win_amd64.whl +1 -0
- package/examples/portable-cli/package.json +9 -0
- package/examples/portable-cli/release.config.json +53 -0
- package/examples/portable-cli/src/cli.ts +3 -0
- package/examples/pypi-registry/README.md +8 -0
- package/examples/scoop-bucket/README.md +10 -0
- package/examples/scoop-bucket/release.config.json +40 -30
- package/package.json +73 -154
- package/src/api/api.ts +365 -0
- package/src/api/errors.ts +36 -0
- package/src/api/input.ts +92 -0
- package/src/api/runtime.ts +14 -0
- package/src/api/types.ts +103 -0
- package/src/capabilities/bun-targets.ts +2 -0
- package/src/capabilities/field-ownership.ts +60 -0
- package/src/capabilities/module.ts +158 -0
- package/src/capabilities/registry.ts +333 -0
- package/src/config/config.ts +48 -0
- package/src/correction/coordinator.ts +336 -0
- package/src/correction/index.ts +2 -0
- package/src/correction/intent.ts +172 -0
- package/src/drivers/archive.ts +111 -0
- package/src/drivers/contain.ts +20 -0
- package/src/drivers/environment.ts +28 -0
- package/src/drivers/errors.ts +6 -0
- package/src/drivers/glob.ts +137 -0
- package/src/drivers/process.ts +339 -0
- package/src/drivers/python-wheel.ts +145 -0
- package/src/drivers/redact.ts +31 -0
- package/src/drivers/seccomp-helper-source.ts +121 -0
- package/src/drivers/utils.ts +10 -0
- package/src/drivers/workspace.ts +46 -0
- package/src/extensions/provider-adapter.ts +99 -0
- package/src/host.ts +140 -0
- package/src/index.ts +64 -0
- package/src/model/artifact-collection.ts +237 -0
- package/src/model/authority.ts +116 -0
- package/src/model/bun-targets.ts +34 -0
- package/src/model/canonical.ts +205 -0
- package/src/model/catalog.ts +220 -0
- package/src/model/digest.ts +172 -0
- package/src/model/errors.ts +6 -0
- package/src/model/primitives.ts +37 -0
- package/src/model/pypi.ts +30 -0
- package/src/model/python-distribution.ts +360 -0
- package/src/model/secret-patterns.ts +11 -0
- package/src/operation-journal/authority.ts +162 -0
- package/src/operation-journal/aws/deadline.ts +41 -0
- package/src/operation-journal/aws/oidc.ts +439 -0
- package/src/operation-journal/aws/policy.ts +491 -0
- package/src/operation-journal/aws/s3-boundary.ts +562 -0
- package/src/operation-journal/aws.ts +60 -0
- package/src/operation-journal/canonical.ts +373 -0
- package/src/operation-journal/model.ts +301 -0
- package/src/operation-journal/reducer.ts +112 -0
- package/src/operation-journal/s3.ts +884 -0
- package/src/operation-journal.ts +51 -0
- package/src/platform/bun.ts +38 -0
- package/src/platform/credentials.ts +1151 -0
- package/src/platform/host-support.ts +4 -0
- package/src/platform/node.ts +38 -0
- package/src/platform/release-runtime.ts +47 -0
- package/src/platform/services.ts +57 -0
- package/src/platform/source-observer.ts +193 -0
- package/src/provider-sdk.ts +48 -0
- package/src/publication/adapter.ts +132 -0
- package/src/publication/authority.ts +397 -0
- package/src/publication/catalog-git.ts +603 -0
- package/src/publication/claim.ts +51 -0
- package/src/publication/coordinator.ts +578 -0
- package/src/publication/github.ts +1022 -0
- package/src/publication/http.ts +101 -0
- package/src/publication/index.ts +4 -0
- package/src/publication/npm.ts +525 -0
- package/src/publication/profiles.ts +94 -0
- package/src/publication/publisher.ts +130 -0
- package/src/publication/pypi.ts +463 -0
- package/src/publication/recovery.ts +349 -0
- package/src/publication/report.ts +628 -0
- package/src/recipes/config.ts +395 -0
- package/src/release/capabilities.ts +460 -0
- package/src/release/compiler.ts +28 -0
- package/src/release/config.ts +12 -0
- package/src/release/context.ts +223 -0
- package/src/release/graph.ts +866 -0
- package/src/release/inspect.ts +83 -0
- package/src/release/prepare.ts +1329 -0
- package/src/release/prepared-ref.ts +193 -0
- package/src/release/prepared-store.ts +378 -0
- package/src/release/prepared.ts +299 -0
- package/src/release/staging.ts +257 -0
- package/src/resolve/authored.ts +64 -0
- package/src/resolve/encode.ts +22 -0
- package/src/resolve/errors.ts +15 -0
- package/src/resolve/facts.ts +18 -0
- package/src/resolve/resolve.ts +328 -0
- package/src/store.ts +28 -0
- package/templates/README.md +55 -72
- package/templates/bun-cli-github/README.md +7 -9
- package/templates/bun-cli-github/release.config.json +35 -73
- package/templates/github-actions/release.yml +74 -0
- package/templates/github-actions/reviewed-release.yml +115 -0
- package/templates/multi-target-homebrew/README.md +10 -0
- package/templates/multi-target-homebrew/release.config.json +43 -60
- package/templates/multi-target-scoop/README.md +10 -0
- package/templates/multi-target-scoop/release.config.json +43 -62
- package/templates/npm-github/release.config.json +25 -38
- package/templates/npm-github/reviewed-release.config.json +37 -0
- package/templates/npm-only/README.md +10 -0
- package/templates/npm-only/release.config.json +15 -30
- package/templates/portable-cli/README.md +13 -0
- package/templates/portable-cli/release.config.json +53 -0
- package/dist/artifacts/adapter.d.ts +0 -39
- package/dist/artifacts/adapter.d.ts.map +0 -1
- package/dist/artifacts/adapter.js +0 -23
- package/dist/artifacts/adapter.js.map +0 -1
- package/dist/artifacts/registry.d.ts +0 -21
- package/dist/artifacts/registry.d.ts.map +0 -1
- package/dist/artifacts/registry.js +0 -21
- package/dist/artifacts/registry.js.map +0 -1
- package/dist/config/errors.d.ts +0 -24
- package/dist/config/errors.d.ts.map +0 -1
- package/dist/config/errors.js +0 -19
- package/dist/config/errors.js.map +0 -1
- package/dist/config/load.d.ts +0 -9
- package/dist/config/load.d.ts.map +0 -1
- package/dist/config/load.js +0 -29
- package/dist/config/load.js.map +0 -1
- package/dist/config/schema.d.ts +0 -12
- package/dist/config/schema.d.ts.map +0 -1
- package/dist/config/schema.js +0 -19
- package/dist/config/schema.js.map +0 -1
- package/dist/domain/artifact.d.ts +0 -118
- package/dist/domain/artifact.d.ts.map +0 -1
- package/dist/domain/artifact.js +0 -197
- package/dist/domain/artifact.js.map +0 -1
- package/dist/domain/evidence.d.ts +0 -59
- package/dist/domain/evidence.d.ts.map +0 -1
- package/dist/domain/evidence.js +0 -51
- package/dist/domain/evidence.js.map +0 -1
- package/dist/domain/operation.d.ts +0 -143
- package/dist/domain/operation.d.ts.map +0 -1
- package/dist/domain/operation.js +0 -198
- package/dist/domain/operation.js.map +0 -1
- package/dist/domain/release.d.ts +0 -93
- package/dist/domain/release.d.ts.map +0 -1
- package/dist/domain/release.js +0 -82
- package/dist/domain/release.js.map +0 -1
- package/dist/domain/remote-state.d.ts +0 -58
- package/dist/domain/remote-state.d.ts.map +0 -1
- package/dist/domain/remote-state.js +0 -55
- package/dist/domain/remote-state.js.map +0 -1
- package/dist/domain/target.d.ts +0 -148
- package/dist/domain/target.d.ts.map +0 -1
- package/dist/domain/target.js +0 -151
- package/dist/domain/target.js.map +0 -1
- package/dist/host/host.d.ts +0 -32
- package/dist/host/host.d.ts.map +0 -1
- package/dist/host/host.js +0 -24
- package/dist/host/host.js.map +0 -1
- package/dist/host/http-live.d.ts +0 -6
- package/dist/host/http-live.d.ts.map +0 -1
- package/dist/host/http-live.js +0 -86
- package/dist/host/http-live.js.map +0 -1
- package/dist/host/http.d.ts +0 -43
- package/dist/host/http.d.ts.map +0 -1
- package/dist/host/http.js +0 -59
- package/dist/host/http.js.map +0 -1
- package/dist/host/platform.d.ts +0 -10
- package/dist/host/platform.d.ts.map +0 -1
- package/dist/host/platform.js +0 -114
- package/dist/host/platform.js.map +0 -1
- package/dist/host/test.d.ts +0 -23
- package/dist/host/test.d.ts.map +0 -1
- package/dist/host/test.js +0 -222
- package/dist/host/test.js.map +0 -1
- package/dist/internal/workspace-path.d.ts +0 -15
- package/dist/internal/workspace-path.d.ts.map +0 -1
- package/dist/internal/workspace-path.js +0 -36
- package/dist/internal/workspace-path.js.map +0 -1
- package/dist/planner/artifact-inventory.d.ts +0 -9
- package/dist/planner/artifact-inventory.d.ts.map +0 -1
- package/dist/planner/artifact-inventory.js +0 -86
- package/dist/planner/artifact-inventory.js.map +0 -1
- package/dist/planner/create-release-plan.d.ts +0 -5
- package/dist/planner/create-release-plan.d.ts.map +0 -1
- package/dist/planner/create-release-plan.js +0 -25
- package/dist/planner/create-release-plan.js.map +0 -1
- package/dist/planner/errors.d.ts +0 -67
- package/dist/planner/errors.d.ts.map +0 -1
- package/dist/planner/errors.js +0 -58
- package/dist/planner/errors.js.map +0 -1
- package/dist/planner/evidence-recorder.d.ts +0 -28
- package/dist/planner/evidence-recorder.d.ts.map +0 -1
- package/dist/planner/evidence-recorder.js +0 -362
- package/dist/planner/evidence-recorder.js.map +0 -1
- package/dist/planner/executor.d.ts +0 -58
- package/dist/planner/executor.d.ts.map +0 -1
- package/dist/planner/executor.js +0 -147
- package/dist/planner/executor.js.map +0 -1
- package/dist/planner/normalize-release.d.ts +0 -19
- package/dist/planner/normalize-release.d.ts.map +0 -1
- package/dist/planner/normalize-release.js +0 -342
- package/dist/planner/normalize-release.js.map +0 -1
- package/dist/planner/reconcile.d.ts +0 -17
- package/dist/planner/reconcile.d.ts.map +0 -1
- package/dist/planner/reconcile.js +0 -259
- package/dist/planner/reconcile.js.map +0 -1
- package/dist/planner/render-plan.d.ts +0 -15
- package/dist/planner/render-plan.d.ts.map +0 -1
- package/dist/planner/render-plan.js +0 -231
- package/dist/planner/render-plan.js.map +0 -1
- package/dist/targets/adapter-helpers.d.ts +0 -79
- package/dist/targets/adapter-helpers.d.ts.map +0 -1
- package/dist/targets/adapter-helpers.js +0 -194
- package/dist/targets/adapter-helpers.js.map +0 -1
- package/dist/targets/adapter.d.ts +0 -17
- package/dist/targets/adapter.d.ts.map +0 -1
- package/dist/targets/adapter.js +0 -2
- package/dist/targets/adapter.js.map +0 -1
- package/dist/targets/github-release.d.ts +0 -25
- package/dist/targets/github-release.d.ts.map +0 -1
- package/dist/targets/github-release.js +0 -82
- package/dist/targets/github-release.js.map +0 -1
- package/dist/targets/github.d.ts +0 -11
- package/dist/targets/github.d.ts.map +0 -1
- package/dist/targets/github.js +0 -117
- package/dist/targets/github.js.map +0 -1
- package/dist/targets/homebrew.d.ts +0 -11
- package/dist/targets/homebrew.d.ts.map +0 -1
- package/dist/targets/homebrew.js +0 -210
- package/dist/targets/homebrew.js.map +0 -1
- package/dist/targets/live.d.ts +0 -5
- package/dist/targets/live.d.ts.map +0 -1
- package/dist/targets/live.js +0 -50
- package/dist/targets/live.js.map +0 -1
- package/dist/targets/npm.d.ts +0 -10
- package/dist/targets/npm.d.ts.map +0 -1
- package/dist/targets/npm.js +0 -112
- package/dist/targets/npm.js.map +0 -1
- package/dist/targets/pypi.d.ts +0 -11
- package/dist/targets/pypi.d.ts.map +0 -1
- package/dist/targets/pypi.js +0 -141
- package/dist/targets/pypi.js.map +0 -1
- package/dist/targets/registry.d.ts +0 -25
- package/dist/targets/registry.d.ts.map +0 -1
- package/dist/targets/registry.js +0 -34
- package/dist/targets/registry.js.map +0 -1
- package/dist/targets/scoop.d.ts +0 -11
- package/dist/targets/scoop.d.ts.map +0 -1
- package/dist/targets/scoop.js +0 -88
- package/dist/targets/scoop.js.map +0 -1
- package/dist/types/effect-internal.d.ts +0 -5
- package/dist/types/effect-internal.d.ts.map +0 -1
- package/dist/types/effect-internal.js +0 -2
- package/dist/types/effect-internal.js.map +0 -1
- package/dist/workflows/config.d.ts +0 -202
- package/dist/workflows/config.d.ts.map +0 -1
- package/dist/workflows/config.js +0 -420
- package/dist/workflows/config.js.map +0 -1
- package/dist/workflows/diagnostics.d.ts +0 -62
- package/dist/workflows/diagnostics.d.ts.map +0 -1
- package/dist/workflows/diagnostics.js +0 -530
- package/dist/workflows/diagnostics.js.map +0 -1
- package/dist/workflows/distribution.d.ts +0 -25
- package/dist/workflows/distribution.d.ts.map +0 -1
- package/dist/workflows/distribution.js +0 -24
- package/dist/workflows/distribution.js.map +0 -1
- package/dist/workflows/evidence.d.ts +0 -17
- package/dist/workflows/evidence.d.ts.map +0 -1
- package/dist/workflows/evidence.js +0 -32
- package/dist/workflows/evidence.js.map +0 -1
- package/dist/workflows/index.d.ts +0 -8
- package/dist/workflows/index.d.ts.map +0 -1
- package/dist/workflows/index.js +0 -7
- package/dist/workflows/index.js.map +0 -1
- package/dist/workflows/init.d.ts +0 -84
- package/dist/workflows/init.d.ts.map +0 -1
- package/dist/workflows/init.js +0 -487
- package/dist/workflows/init.js.map +0 -1
- package/dist/workflows/live.d.ts +0 -9
- package/dist/workflows/live.d.ts.map +0 -1
- package/dist/workflows/live.js +0 -7
- package/dist/workflows/live.js.map +0 -1
- package/dist/workflows/options.d.ts +0 -30
- package/dist/workflows/options.d.ts.map +0 -1
- package/dist/workflows/options.js +0 -16
- package/dist/workflows/options.js.map +0 -1
- package/examples/non-strict-skips/artifacts/release-example-skips-0.1.0.tgz +0 -1
- package/examples/non-strict-skips/release.config.json +0 -31
- package/examples/pypi-registry/release.config.json +0 -31
- package/templates/github-actions/plan-and-approved-execute.yml +0 -58
- package/templates/github-actions/plan-only.yml +0 -33
- package/templates/github-actions/trusted-publishing.yml +0 -61
package/dist/host/platform.js
DELETED
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import * as Config from "effect/Config";
|
|
2
|
-
import * as Effect from "effect/Effect";
|
|
3
|
-
import * as Layer from "effect/Layer";
|
|
4
|
-
import * as Option from "effect/Option";
|
|
5
|
-
import * as Stream from "effect/Stream";
|
|
6
|
-
import * as ChildProcess from "effect/unstable/process/ChildProcess";
|
|
7
|
-
import { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner";
|
|
8
|
-
import { CommandResult, CommandRunnerError, ReleaseCommandRunner } from "./host.js";
|
|
9
|
-
const inheritedEnvNames = [
|
|
10
|
-
"PATH",
|
|
11
|
-
"HOME",
|
|
12
|
-
"USERPROFILE",
|
|
13
|
-
"SystemRoot",
|
|
14
|
-
"TEMP",
|
|
15
|
-
"TMP",
|
|
16
|
-
"CI",
|
|
17
|
-
"GITHUB_ACTIONS",
|
|
18
|
-
"GITHUB_API_URL",
|
|
19
|
-
"GITHUB_EVENT_NAME",
|
|
20
|
-
"GITHUB_GRAPHQL_URL",
|
|
21
|
-
"GITHUB_REF",
|
|
22
|
-
"GITHUB_REF_NAME",
|
|
23
|
-
"GITHUB_REF_TYPE",
|
|
24
|
-
"GITHUB_REPOSITORY",
|
|
25
|
-
"GITHUB_REPOSITORY_ID",
|
|
26
|
-
"GITHUB_REPOSITORY_OWNER",
|
|
27
|
-
"GITHUB_REPOSITORY_OWNER_ID",
|
|
28
|
-
"GITHUB_RUN_ATTEMPT",
|
|
29
|
-
"GITHUB_RUN_ID",
|
|
30
|
-
"GITHUB_RUN_NUMBER",
|
|
31
|
-
"GITHUB_SERVER_URL",
|
|
32
|
-
"GITHUB_SHA",
|
|
33
|
-
"GITHUB_WORKFLOW",
|
|
34
|
-
"GITHUB_WORKFLOW_REF",
|
|
35
|
-
"GITHUB_WORKFLOW_SHA",
|
|
36
|
-
"RUNNER_ENVIRONMENT",
|
|
37
|
-
"RUNNER_OS"
|
|
38
|
-
];
|
|
39
|
-
const readOptionalEnv = (name) => Config.string(name).pipe(Effect.option, Effect.map(Option.getOrUndefined));
|
|
40
|
-
const commandEnv = Effect.fn("platform.commandEnv")(function* (command) {
|
|
41
|
-
const names = new Set([
|
|
42
|
-
...inheritedEnvNames,
|
|
43
|
-
...command.requiredEnv
|
|
44
|
-
]);
|
|
45
|
-
const env = {};
|
|
46
|
-
const values = new Map();
|
|
47
|
-
for (const name of names) {
|
|
48
|
-
const value = yield* readOptionalEnv(name);
|
|
49
|
-
values.set(name, value);
|
|
50
|
-
if (value !== undefined) {
|
|
51
|
-
env[name] = value;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
const missing = command.requiredEnv.filter((name) => values.get(name) === undefined);
|
|
55
|
-
if (missing.length > 0) {
|
|
56
|
-
return yield* Effect.fail(CommandRunnerError.make({
|
|
57
|
-
operation: "runCommand",
|
|
58
|
-
reason: `Missing required environment variables: ${missing.join(", ")}`
|
|
59
|
-
}));
|
|
60
|
-
}
|
|
61
|
-
return env;
|
|
62
|
-
});
|
|
63
|
-
const nowIso = Effect.fn("platform.nowIso")(function* () {
|
|
64
|
-
const millis = yield* Effect.clockWith((clock) => clock.currentTimeMillis);
|
|
65
|
-
return new Date(millis).toISOString();
|
|
66
|
-
});
|
|
67
|
-
const commandOutput = (stream) => Stream.mkString(Stream.decodeText(stream));
|
|
68
|
-
export const makePlatformCommandRunnerLayer = (options = {}) => Layer.effect(ReleaseCommandRunner)(Effect.gen(function* () {
|
|
69
|
-
const spawner = yield* ChildProcessSpawner;
|
|
70
|
-
const commandCwd = (command) => command.cwd === undefined
|
|
71
|
-
? options.root
|
|
72
|
-
: command.cwd;
|
|
73
|
-
return {
|
|
74
|
-
runCommand: (command) => Effect.gen(function* () {
|
|
75
|
-
const startedAt = yield* nowIso();
|
|
76
|
-
const startedMillis = yield* Effect.clockWith((clock) => clock.currentTimeMillis);
|
|
77
|
-
const env = yield* commandEnv(command);
|
|
78
|
-
const cwd = commandCwd(command);
|
|
79
|
-
const childCommand = ChildProcess.make(command.executable, command.args, {
|
|
80
|
-
...(cwd === undefined ? {} : { cwd }),
|
|
81
|
-
env,
|
|
82
|
-
extendEnv: false,
|
|
83
|
-
stdin: "ignore",
|
|
84
|
-
stdout: "pipe",
|
|
85
|
-
stderr: "pipe"
|
|
86
|
-
});
|
|
87
|
-
const output = yield* Effect.scoped(Effect.gen(function* () {
|
|
88
|
-
const handle = yield* spawner.spawn(childCommand);
|
|
89
|
-
return yield* Effect.all({
|
|
90
|
-
stdout: commandOutput(handle.stdout),
|
|
91
|
-
stderr: commandOutput(handle.stderr),
|
|
92
|
-
exitCode: handle.exitCode
|
|
93
|
-
}, { concurrency: "unbounded" });
|
|
94
|
-
})).pipe(Effect.mapError((cause) => CommandRunnerError.make({
|
|
95
|
-
operation: "runCommand",
|
|
96
|
-
reason: "Command execution failed.",
|
|
97
|
-
cause
|
|
98
|
-
})));
|
|
99
|
-
const endedAt = yield* nowIso();
|
|
100
|
-
const endedMillis = yield* Effect.clockWith((clock) => clock.currentTimeMillis);
|
|
101
|
-
return CommandResult.make({
|
|
102
|
-
command,
|
|
103
|
-
exitCode: Number(output.exitCode),
|
|
104
|
-
stdout: output.stdout,
|
|
105
|
-
stderr: output.stderr,
|
|
106
|
-
startedAt,
|
|
107
|
-
endedAt,
|
|
108
|
-
durationMillis: Math.max(0, endedMillis - startedMillis)
|
|
109
|
-
});
|
|
110
|
-
})
|
|
111
|
-
};
|
|
112
|
-
}));
|
|
113
|
-
export const PlatformCommandRunnerLayer = makePlatformCommandRunnerLayer();
|
|
114
|
-
//# sourceMappingURL=platform.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/host/platform.ts"],"names":[],"mappings":"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"}
|
package/dist/host/test.d.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import * as Crypto from "effect/Crypto";
|
|
2
|
-
import * as FileSystem from "effect/FileSystem";
|
|
3
|
-
import * as Layer from "effect/Layer";
|
|
4
|
-
import * as Path from "effect/Path";
|
|
5
|
-
import { CommandSpec } from "../domain/operation.js";
|
|
6
|
-
import { ReleaseCommandRunner } from "./host.js";
|
|
7
|
-
export type * from "../types/effect-internal.js";
|
|
8
|
-
export interface TestCommandResponse {
|
|
9
|
-
readonly exitCode: number;
|
|
10
|
-
readonly stdout: string;
|
|
11
|
-
readonly stderr: string;
|
|
12
|
-
}
|
|
13
|
-
export interface TestCommandRunnerOptions {
|
|
14
|
-
readonly files?: ReadonlyMap<string, string> | undefined;
|
|
15
|
-
readonly directories?: ReadonlySet<string> | undefined;
|
|
16
|
-
readonly env?: ReadonlyMap<string, string> | undefined;
|
|
17
|
-
readonly commands?: ReadonlyMap<string, TestCommandResponse> | undefined;
|
|
18
|
-
readonly timestamps?: ReadonlyArray<string> | undefined;
|
|
19
|
-
readonly pathLayer?: Layer.Layer<Path.Path> | undefined;
|
|
20
|
-
}
|
|
21
|
-
export declare const commandKey: (command: CommandSpec) => string;
|
|
22
|
-
export declare const makeTestCommandRunnerLayer: (options?: TestCommandRunnerOptions) => Layer.Layer<FileSystem.FileSystem | Path.Path | ReleaseCommandRunner | Crypto.Crypto, never, never>;
|
|
23
|
-
//# sourceMappingURL=test.d.ts.map
|
package/dist/host/test.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/host/test.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAqC,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEnF,mBAAmB,6BAA6B,CAAA;AAEhD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;IACxD,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IACtD,QAAQ,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAAG,SAAS,CAAA;IACxE,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IACvD,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAA;CACxD;AAED,eAAO,MAAM,UAAU,GAAI,SAAS,WAAW,KAAG,MACI,CAAA;AAmJtD,eAAO,MAAM,0BAA0B,GACrC,UAAS,wBAA6B,wGA8HvC,CAAA"}
|
package/dist/host/test.js
DELETED
|
@@ -1,222 +0,0 @@
|
|
|
1
|
-
import * as ConfigProvider from "effect/ConfigProvider";
|
|
2
|
-
import * as Crypto from "effect/Crypto";
|
|
3
|
-
import * as Effect from "effect/Effect";
|
|
4
|
-
import * as FileSystem from "effect/FileSystem";
|
|
5
|
-
import * as Layer from "effect/Layer";
|
|
6
|
-
import * as Option from "effect/Option";
|
|
7
|
-
import * as Path from "effect/Path";
|
|
8
|
-
import * as PlatformError from "effect/PlatformError";
|
|
9
|
-
import { CommandResult, CommandRunnerError, ReleaseCommandRunner } from "./host.js";
|
|
10
|
-
export const commandKey = (command) => [command.executable, ...command.args].join("\u0000");
|
|
11
|
-
const notFound = (method, path) => PlatformError.systemError({
|
|
12
|
-
_tag: "NotFound",
|
|
13
|
-
module: "FileSystem",
|
|
14
|
-
method,
|
|
15
|
-
pathOrDescriptor: path,
|
|
16
|
-
description: "File not found"
|
|
17
|
-
});
|
|
18
|
-
const fileInfo = (sizeBytes) => ({
|
|
19
|
-
type: "File",
|
|
20
|
-
mtime: Option.none(),
|
|
21
|
-
atime: Option.none(),
|
|
22
|
-
birthtime: Option.none(),
|
|
23
|
-
dev: 0,
|
|
24
|
-
ino: Option.none(),
|
|
25
|
-
mode: 0,
|
|
26
|
-
nlink: Option.none(),
|
|
27
|
-
uid: Option.none(),
|
|
28
|
-
gid: Option.none(),
|
|
29
|
-
rdev: Option.none(),
|
|
30
|
-
size: FileSystem.Size(sizeBytes),
|
|
31
|
-
blksize: Option.none(),
|
|
32
|
-
blocks: Option.none()
|
|
33
|
-
});
|
|
34
|
-
const directoryInfo = {
|
|
35
|
-
type: "Directory",
|
|
36
|
-
mtime: Option.none(),
|
|
37
|
-
atime: Option.none(),
|
|
38
|
-
birthtime: Option.none(),
|
|
39
|
-
dev: 0,
|
|
40
|
-
ino: Option.none(),
|
|
41
|
-
mode: 0,
|
|
42
|
-
nlink: Option.none(),
|
|
43
|
-
uid: Option.none(),
|
|
44
|
-
gid: Option.none(),
|
|
45
|
-
rdev: Option.none(),
|
|
46
|
-
size: FileSystem.Size(0),
|
|
47
|
-
blksize: Option.none(),
|
|
48
|
-
blocks: Option.none()
|
|
49
|
-
};
|
|
50
|
-
const textEncoder = new TextEncoder();
|
|
51
|
-
const textDecoder = new TextDecoder();
|
|
52
|
-
const normalizedSeparators = (path) => path.replaceAll("\\", "/");
|
|
53
|
-
const addVariant = (variants, path) => {
|
|
54
|
-
variants.add(path);
|
|
55
|
-
variants.add(normalizedSeparators(path));
|
|
56
|
-
};
|
|
57
|
-
const addRelativePathVariants = (variants, cwd, path) => {
|
|
58
|
-
const normalizedCwd = normalizedSeparators(cwd);
|
|
59
|
-
const normalizedPath = normalizedSeparators(path);
|
|
60
|
-
if (normalizedPath === normalizedCwd) {
|
|
61
|
-
variants.add(".");
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
const cwdPrefix = `${normalizedCwd}/`;
|
|
65
|
-
if (normalizedPath.startsWith(cwdPrefix)) {
|
|
66
|
-
variants.add(normalizedPath.slice(cwdPrefix.length));
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
const pathVariants = (path) => {
|
|
70
|
-
const variants = new Set();
|
|
71
|
-
addVariant(variants, path);
|
|
72
|
-
const cwd = globalThis.process?.cwd();
|
|
73
|
-
if (cwd === undefined) {
|
|
74
|
-
return [...variants];
|
|
75
|
-
}
|
|
76
|
-
if (path === cwd) {
|
|
77
|
-
variants.add(".");
|
|
78
|
-
}
|
|
79
|
-
addRelativePathVariants(variants, cwd, path);
|
|
80
|
-
return [...variants];
|
|
81
|
-
};
|
|
82
|
-
const getFixtureFile = (files, path) => {
|
|
83
|
-
for (const variant of pathVariants(path)) {
|
|
84
|
-
const contents = files.get(variant);
|
|
85
|
-
if (contents !== undefined) {
|
|
86
|
-
return contents;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
return undefined;
|
|
90
|
-
};
|
|
91
|
-
const hasFixtureDirectory = (directories, path) => {
|
|
92
|
-
for (const variant of pathVariants(path)) {
|
|
93
|
-
if (directories.has(variant)) {
|
|
94
|
-
return true;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
return false;
|
|
98
|
-
};
|
|
99
|
-
const fixtureDirectoryEntries = (files, directories, path) => {
|
|
100
|
-
const entries = new Set();
|
|
101
|
-
let found = false;
|
|
102
|
-
for (const variant of pathVariants(path)) {
|
|
103
|
-
const normalizedDirectory = normalizedSeparators(variant).replace(/\/$/, "");
|
|
104
|
-
if (directories.has(variant) || directories.has(normalizedDirectory)) {
|
|
105
|
-
found = true;
|
|
106
|
-
}
|
|
107
|
-
const prefix = normalizedDirectory === "." ? "" : `${normalizedDirectory}/`;
|
|
108
|
-
for (const filePath of files.keys()) {
|
|
109
|
-
const normalizedFile = normalizedSeparators(filePath);
|
|
110
|
-
if (!normalizedFile.startsWith(prefix)) {
|
|
111
|
-
continue;
|
|
112
|
-
}
|
|
113
|
-
const remainder = prefix.length === 0 ? normalizedFile : normalizedFile.slice(prefix.length);
|
|
114
|
-
const entry = remainder.split("/")[0];
|
|
115
|
-
if (entry !== undefined && entry.length > 0 && remainder !== normalizedFile) {
|
|
116
|
-
entries.add(entry);
|
|
117
|
-
found = true;
|
|
118
|
-
}
|
|
119
|
-
if (entry !== undefined && entry.length > 0 && prefix.length === 0) {
|
|
120
|
-
entries.add(entry);
|
|
121
|
-
found = true;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
for (const directoryPath of directories) {
|
|
125
|
-
const normalizedChild = normalizedSeparators(directoryPath);
|
|
126
|
-
if (!normalizedChild.startsWith(prefix) || normalizedChild === normalizedDirectory) {
|
|
127
|
-
continue;
|
|
128
|
-
}
|
|
129
|
-
const remainder = prefix.length === 0 ? normalizedChild : normalizedChild.slice(prefix.length);
|
|
130
|
-
const entry = remainder.split("/")[0];
|
|
131
|
-
if (entry !== undefined && entry.length > 0) {
|
|
132
|
-
entries.add(entry);
|
|
133
|
-
found = true;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
return found ? [...entries].sort() : undefined;
|
|
138
|
-
};
|
|
139
|
-
export const makeTestCommandRunnerLayer = (options = {}) => {
|
|
140
|
-
const files = new Map(options.files ?? []);
|
|
141
|
-
const directories = new Set(options.directories ?? []);
|
|
142
|
-
const env = new Map(options.env ?? []);
|
|
143
|
-
const commands = new Map(options.commands ?? []);
|
|
144
|
-
const timestamps = [...(options.timestamps ?? ["2026-06-16T00:00:00.000Z"])];
|
|
145
|
-
let timestampIndex = 0;
|
|
146
|
-
const nextTimestamp = () => {
|
|
147
|
-
const value = timestamps[timestampIndex] ?? timestamps[timestamps.length - 1] ?? "2026-06-16T00:00:00.000Z";
|
|
148
|
-
timestampIndex += 1;
|
|
149
|
-
return value;
|
|
150
|
-
};
|
|
151
|
-
const envRecord = {};
|
|
152
|
-
for (const [name, value] of env) {
|
|
153
|
-
envRecord[name] = value;
|
|
154
|
-
}
|
|
155
|
-
return Layer.mergeAll(FileSystem.layerNoop({
|
|
156
|
-
stat: (path) => Effect.sync(() => {
|
|
157
|
-
const contents = getFixtureFile(files, path);
|
|
158
|
-
if (contents !== undefined) {
|
|
159
|
-
return fileInfo(textEncoder.encode(contents).byteLength);
|
|
160
|
-
}
|
|
161
|
-
if (hasFixtureDirectory(directories, path)) {
|
|
162
|
-
return directoryInfo;
|
|
163
|
-
}
|
|
164
|
-
return undefined;
|
|
165
|
-
}).pipe(Effect.flatMap((info) => info === undefined
|
|
166
|
-
? Effect.fail(notFound("stat", path))
|
|
167
|
-
: Effect.succeed(info))),
|
|
168
|
-
readFile: (path) => Effect.sync(() => getFixtureFile(files, path)).pipe(Effect.flatMap((contents) => contents === undefined
|
|
169
|
-
? Effect.fail(notFound("readFile", path))
|
|
170
|
-
: Effect.succeed(textEncoder.encode(contents)))),
|
|
171
|
-
readFileString: (path) => Effect.sync(() => getFixtureFile(files, path)).pipe(Effect.flatMap((contents) => contents === undefined
|
|
172
|
-
? Effect.fail(notFound("readFileString", path))
|
|
173
|
-
: Effect.succeed(contents))),
|
|
174
|
-
readDirectory: (path) => Effect.sync(() => fixtureDirectoryEntries(files, directories, path)).pipe(Effect.flatMap((entries) => entries === undefined
|
|
175
|
-
? Effect.fail(notFound("readDirectory", path))
|
|
176
|
-
: Effect.succeed(entries))),
|
|
177
|
-
makeDirectory: (path) => Effect.sync(() => {
|
|
178
|
-
directories.add(path);
|
|
179
|
-
}),
|
|
180
|
-
writeFile: (path, data) => Effect.sync(() => {
|
|
181
|
-
files.set(path, textDecoder.decode(data));
|
|
182
|
-
}),
|
|
183
|
-
writeFileString: (path, data) => Effect.sync(() => {
|
|
184
|
-
files.set(path, data);
|
|
185
|
-
})
|
|
186
|
-
}), options.pathLayer ?? Path.layer, Layer.succeed(Crypto.Crypto)(Crypto.make({
|
|
187
|
-
randomBytes: (size) => new Uint8Array(size),
|
|
188
|
-
digest: (_algorithm, data) => Effect.succeed(data)
|
|
189
|
-
})), Layer.succeed(ReleaseCommandRunner)({
|
|
190
|
-
runCommand: (command) => Effect.gen(function* () {
|
|
191
|
-
const missing = [];
|
|
192
|
-
for (const name of command.requiredEnv) {
|
|
193
|
-
if (!env.has(name)) {
|
|
194
|
-
missing.push(name);
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
if (missing.length > 0) {
|
|
198
|
-
return yield* Effect.fail(CommandRunnerError.make({
|
|
199
|
-
operation: "runCommand",
|
|
200
|
-
reason: `Missing required environment variables: ${missing.join(", ")}`
|
|
201
|
-
}));
|
|
202
|
-
}
|
|
203
|
-
const startedAt = nextTimestamp();
|
|
204
|
-
const endedAt = nextTimestamp();
|
|
205
|
-
const response = commands.get(commandKey(command)) ?? {
|
|
206
|
-
exitCode: 0,
|
|
207
|
-
stdout: "",
|
|
208
|
-
stderr: ""
|
|
209
|
-
};
|
|
210
|
-
return CommandResult.make({
|
|
211
|
-
command,
|
|
212
|
-
exitCode: response.exitCode,
|
|
213
|
-
stdout: response.stdout,
|
|
214
|
-
stderr: response.stderr,
|
|
215
|
-
startedAt,
|
|
216
|
-
endedAt,
|
|
217
|
-
durationMillis: 0
|
|
218
|
-
});
|
|
219
|
-
})
|
|
220
|
-
}), ConfigProvider.layer(ConfigProvider.fromEnv({ env: envRecord })));
|
|
221
|
-
};
|
|
222
|
-
//# sourceMappingURL=test.js.map
|
package/dist/host/test.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/host/test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type * as Path from "effect/Path";
|
|
2
|
-
export type WorkspacePathBoundaryReason = "empty-or-parent-traversal" | "outside-root";
|
|
3
|
-
export type WorkspacePathResult = {
|
|
4
|
-
readonly _tag: "Ok";
|
|
5
|
-
readonly path: string;
|
|
6
|
-
} | {
|
|
7
|
-
readonly _tag: "Invalid";
|
|
8
|
-
readonly reason: WorkspacePathBoundaryReason;
|
|
9
|
-
};
|
|
10
|
-
export declare const hasParentTraversal: (pathName: string) => boolean;
|
|
11
|
-
export declare const resolveWorkspacePath: (path: Path.Path, root: string, pathName: string) => string;
|
|
12
|
-
export declare const isInsidePathBoundary: (path: Path.Path, root: string, targetPath: string) => boolean;
|
|
13
|
-
export declare const validateWorkspaceWritePath: (path: Path.Path, root: string, pathName: string) => WorkspacePathResult;
|
|
14
|
-
export declare const workspacePathBoundaryReasonMessage: (reason: WorkspacePathBoundaryReason) => string;
|
|
15
|
-
//# sourceMappingURL=workspace-path.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-path.d.ts","sourceRoot":"","sources":["../../src/internal/workspace-path.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,aAAa,CAAA;AAExC,MAAM,MAAM,2BAA2B,GAAG,2BAA2B,GAAG,cAAc,CAAA;AAEtF,MAAM,MAAM,mBAAmB,GAC3B;IACA,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB,GACC;IACA,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAA;CAC7C,CAAA;AAEH,eAAO,MAAM,kBAAkB,GAAI,UAAU,MAAM,KAAG,OACb,CAAA;AAEzC,eAAO,MAAM,oBAAoB,GAAI,MAAM,IAAI,CAAC,IAAI,EAAE,MAAM,MAAM,EAAE,UAAU,MAAM,KAAG,MAMtF,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,MAAM,IAAI,CAAC,IAAI,EAAE,MAAM,MAAM,EAAE,YAAY,MAAM,KAAG,OAIxF,CAAA;AAED,eAAO,MAAM,0BAA0B,GACrC,MAAM,IAAI,CAAC,IAAI,EACf,MAAM,MAAM,EACZ,UAAU,MAAM,KACf,mBAkBF,CAAA;AAED,eAAO,MAAM,kCAAkC,GAAI,QAAQ,2BAA2B,KAAG,MAGrC,CAAA"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
export const hasParentTraversal = (pathName) => pathName.split(/[\\/]+/).includes("..");
|
|
2
|
-
export const resolveWorkspacePath = (path, root, pathName) => {
|
|
3
|
-
const rootPath = path.resolve(root);
|
|
4
|
-
if (path.isAbsolute(pathName)) {
|
|
5
|
-
return path.resolve(pathName);
|
|
6
|
-
}
|
|
7
|
-
return path.resolve(rootPath, pathName);
|
|
8
|
-
};
|
|
9
|
-
export const isInsidePathBoundary = (path, root, targetPath) => {
|
|
10
|
-
const rootPath = path.resolve(root);
|
|
11
|
-
const relative = path.relative(rootPath, targetPath);
|
|
12
|
-
return relative.length === 0 || (!relative.startsWith("..") && !path.isAbsolute(relative));
|
|
13
|
-
};
|
|
14
|
-
export const validateWorkspaceWritePath = (path, root, pathName) => {
|
|
15
|
-
if (pathName.trim().length === 0 || hasParentTraversal(pathName)) {
|
|
16
|
-
return {
|
|
17
|
-
_tag: "Invalid",
|
|
18
|
-
reason: "empty-or-parent-traversal"
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
const targetPath = resolveWorkspacePath(path, root, pathName);
|
|
22
|
-
if (isInsidePathBoundary(path, root, targetPath)) {
|
|
23
|
-
return {
|
|
24
|
-
_tag: "Ok",
|
|
25
|
-
path: targetPath
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
return {
|
|
29
|
-
_tag: "Invalid",
|
|
30
|
-
reason: "outside-root"
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
export const workspacePathBoundaryReasonMessage = (reason) => reason === "empty-or-parent-traversal"
|
|
34
|
-
? "Path must be non-empty and must not contain parent traversal."
|
|
35
|
-
: "Path must resolve inside the workspace root.";
|
|
36
|
-
//# sourceMappingURL=workspace-path.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-path.js","sourceRoot":"","sources":["../../src/internal/workspace-path.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,QAAgB,EAAW,EAAE,CAC9D,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AAEzC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAe,EAAE,IAAY,EAAE,QAAgB,EAAU,EAAE;IAC9F,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC/B,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;AACzC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAe,EAAE,IAAY,EAAE,UAAkB,EAAW,EAAE;IACjG,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IACpD,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAA;AAC5F,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,IAAe,EACf,IAAY,EACZ,QAAgB,EACK,EAAE;IACvB,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjE,OAAO;YACL,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,2BAA2B;SACpC,CAAA;IACH,CAAC;IACD,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC7D,IAAI,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC;QACjD,OAAO;YACL,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,UAAU;SACjB,CAAA;IACH,CAAC;IACD,OAAO;QACL,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,cAAc;KACvB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,MAAmC,EAAU,EAAE,CAChG,MAAM,KAAK,2BAA2B;IACpC,CAAC,CAAC,+DAA+D;IACjE,CAAC,CAAC,8CAA8C,CAAA"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import * as Crypto from "effect/Crypto";
|
|
2
|
-
import * as Effect from "effect/Effect";
|
|
3
|
-
import * as FileSystem from "effect/FileSystem";
|
|
4
|
-
import * as Path from "effect/Path";
|
|
5
|
-
import { ArtifactIntent, ArtifactInventoryItem } from "../domain/artifact.js";
|
|
6
|
-
import { ReleaseNormalizationError } from "./errors.js";
|
|
7
|
-
export type * from "../types/effect-internal.js";
|
|
8
|
-
export declare const inventoryArtifact: (root: string, artifact: ArtifactIntent) => Effect.Effect<ArtifactInventoryItem, ReleaseNormalizationError, FileSystem.FileSystem | Path.Path | Crypto.Crypto>;
|
|
9
|
-
//# sourceMappingURL=artifact-inventory.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"artifact-inventory.d.ts","sourceRoot":"","sources":["../../src/planner/artifact-inventory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,EACL,cAAc,EACd,qBAAqB,EAEtB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAEvD,mBAAmB,6BAA6B,CAAA;AAsGhD,eAAO,MAAM,iBAAiB,gKAyB5B,CAAA"}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import * as Crypto from "effect/Crypto";
|
|
2
|
-
import * as Effect from "effect/Effect";
|
|
3
|
-
import * as Encoding from "effect/Encoding";
|
|
4
|
-
import * as FileSystem from "effect/FileSystem";
|
|
5
|
-
import * as Path from "effect/Path";
|
|
6
|
-
import { ArtifactInventoryItem, Checksum } from "../domain/artifact.js";
|
|
7
|
-
import { ReleaseNormalizationError } from "./errors.js";
|
|
8
|
-
const artifactPath = (path, root, pathName) => path.isAbsolute(pathName) ? pathName : path.resolve(root, pathName);
|
|
9
|
-
const artifactKind = (info) => info.type === "Directory" ? "directory" : info.type === "File" ? "file" : "other";
|
|
10
|
-
const normalizationPlatformError = (field, reason) => (cause) => ReleaseNormalizationError.make({
|
|
11
|
-
field,
|
|
12
|
-
reason,
|
|
13
|
-
cause
|
|
14
|
-
});
|
|
15
|
-
const validateArtifactFormat = (artifact, kind) => {
|
|
16
|
-
if (artifact.format === "directory" && kind !== "directory") {
|
|
17
|
-
return Effect.fail(ReleaseNormalizationError.make({
|
|
18
|
-
field: `artifacts.${artifact.id}.format`,
|
|
19
|
-
reason: `Expected directory artifact at ${artifact.path}`
|
|
20
|
-
}));
|
|
21
|
-
}
|
|
22
|
-
if (artifact.format !== "directory" && kind === "directory") {
|
|
23
|
-
return Effect.fail(ReleaseNormalizationError.make({
|
|
24
|
-
field: `artifacts.${artifact.id}.format`,
|
|
25
|
-
reason: `Expected file-like artifact at ${artifact.path}`
|
|
26
|
-
}));
|
|
27
|
-
}
|
|
28
|
-
return Effect.void;
|
|
29
|
-
};
|
|
30
|
-
const checksumArtifact = Effect.fn("checksumArtifact")(function* (artifact, targetPath, fileType) {
|
|
31
|
-
if (fileType !== "File") {
|
|
32
|
-
return yield* Effect.fail(ReleaseNormalizationError.make({
|
|
33
|
-
field: `artifacts.${artifact.id}.checksum`,
|
|
34
|
-
reason: "Only file artifacts can be hashed"
|
|
35
|
-
}));
|
|
36
|
-
}
|
|
37
|
-
const fs = yield* FileSystem.FileSystem;
|
|
38
|
-
const crypto = yield* Crypto.Crypto;
|
|
39
|
-
const bytes = yield* fs.readFile(targetPath).pipe(Effect.mapError(normalizationPlatformError(`artifacts.${artifact.id}.checksum`, "Unable to read artifact bytes.")));
|
|
40
|
-
const digest = yield* crypto.digest("SHA-256", bytes).pipe(Effect.mapError(normalizationPlatformError(`artifacts.${artifact.id}.checksum`, "Unable to compute artifact checksum.")));
|
|
41
|
-
return Checksum.make({
|
|
42
|
-
algorithm: "sha256",
|
|
43
|
-
value: Encoding.encodeHex(digest)
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
const verifiedChecksum = Effect.fn("verifiedChecksum")(function* (artifact, targetPath, fileType) {
|
|
47
|
-
if (artifact.checksum === undefined) {
|
|
48
|
-
return artifact.format === "directory"
|
|
49
|
-
? undefined
|
|
50
|
-
: yield* checksumArtifact(artifact, targetPath, fileType);
|
|
51
|
-
}
|
|
52
|
-
if (artifact.checksum.algorithm !== "sha256") {
|
|
53
|
-
return yield* Effect.fail(ReleaseNormalizationError.make({
|
|
54
|
-
field: `artifacts.${artifact.id}.checksum`,
|
|
55
|
-
reason: "Only sha256 artifact checksums are supported."
|
|
56
|
-
}));
|
|
57
|
-
}
|
|
58
|
-
const computed = yield* checksumArtifact(artifact, targetPath, fileType);
|
|
59
|
-
if (artifact.checksum.value !== computed.value) {
|
|
60
|
-
return yield* Effect.fail(ReleaseNormalizationError.make({
|
|
61
|
-
field: `artifacts.${artifact.id}.checksum`,
|
|
62
|
-
reason: "Artifact checksum does not match artifact bytes."
|
|
63
|
-
}));
|
|
64
|
-
}
|
|
65
|
-
return artifact.checksum;
|
|
66
|
-
});
|
|
67
|
-
export const inventoryArtifact = Effect.fn("inventoryArtifact")(function* (root, artifact) {
|
|
68
|
-
const fs = yield* FileSystem.FileSystem;
|
|
69
|
-
const path = yield* Path.Path;
|
|
70
|
-
const targetPath = artifactPath(path, root, artifact.path);
|
|
71
|
-
const info = yield* fs.stat(targetPath).pipe(Effect.mapError(normalizationPlatformError(`artifacts.${artifact.id}.path`, "Unable to inspect artifact path.")));
|
|
72
|
-
const kind = artifactKind(info);
|
|
73
|
-
yield* validateArtifactFormat(artifact, kind);
|
|
74
|
-
const checksum = yield* verifiedChecksum(artifact, targetPath, info.type);
|
|
75
|
-
return ArtifactInventoryItem.make({
|
|
76
|
-
id: artifact.id,
|
|
77
|
-
path: artifact.path,
|
|
78
|
-
...(artifact.downloadUrl === undefined ? {} : { downloadUrl: artifact.downloadUrl }),
|
|
79
|
-
format: artifact.format,
|
|
80
|
-
consumers: [...artifact.consumers].sort(),
|
|
81
|
-
sizeBytes: Number(info.size),
|
|
82
|
-
...(checksum === undefined ? {} : { checksum }),
|
|
83
|
-
...(artifact.variant === undefined ? {} : { variant: artifact.variant })
|
|
84
|
-
});
|
|
85
|
-
});
|
|
86
|
-
//# sourceMappingURL=artifact-inventory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"artifact-inventory.js","sourceRoot":"","sources":["../../src/planner/artifact-inventory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
|
-
import { ReleaseIntent, ReleasePlan } from "../domain/release.js";
|
|
3
|
-
export type * from "../types/effect-internal.js";
|
|
4
|
-
export declare const createReleasePlan: (intent: ReleaseIntent, root?: string | undefined, configPath?: string | undefined) => Effect.Effect<ReleasePlan, import("./errors.js").ReleaseNormalizationError | import("./errors.js").PlanConstructionError | import("../targets/registry.js").MissingTargetAdapterError, import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("../host/host.js").ReleaseCommandRunner | import("effect/Crypto").Crypto | import("../targets/registry.js").TargetRegistry>;
|
|
5
|
-
//# sourceMappingURL=create-release-plan.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-release-plan.d.ts","sourceRoot":"","sources":["../../src/planner/create-release-plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAmB,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAIlF,mBAAmB,6BAA6B,CAAA;AAEhD,eAAO,MAAM,iBAAiB,wdAuB5B,CAAA"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
|
-
import { operationOrder } from "../domain/operation.js";
|
|
3
|
-
import { PlannerMetadata, ReleasePlan } from "../domain/release.js";
|
|
4
|
-
import { allTargetCapabilities, planAllTargetOperations } from "../targets/registry.js";
|
|
5
|
-
import { normalizeReleaseIntent } from "./normalize-release.js";
|
|
6
|
-
export const createReleasePlan = Effect.fn("createReleasePlan")(function* (intent, root = ".", configPath = undefined) {
|
|
7
|
-
const model = yield* normalizeReleaseIntent(intent, root, configPath);
|
|
8
|
-
const targetCapabilities = yield* allTargetCapabilities(model);
|
|
9
|
-
const operations = yield* planAllTargetOperations(model);
|
|
10
|
-
return ReleasePlan.make({
|
|
11
|
-
schemaVersion: "release-plan/v1",
|
|
12
|
-
identity: model.identity,
|
|
13
|
-
source: model.source,
|
|
14
|
-
artifacts: model.artifacts,
|
|
15
|
-
targets: model.targets,
|
|
16
|
-
targetCapabilities,
|
|
17
|
-
operations: [...operations].sort(operationOrder),
|
|
18
|
-
evidenceDirectory: model.evidenceDirectory,
|
|
19
|
-
metadata: PlannerMetadata.make({
|
|
20
|
-
createdBy: "release",
|
|
21
|
-
planSchemaVersion: "release-plan/v1"
|
|
22
|
-
})
|
|
23
|
-
});
|
|
24
|
-
});
|
|
25
|
-
//# sourceMappingURL=create-release-plan.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-release-plan.js","sourceRoot":"","sources":["../../src/planner/create-release-plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAiB,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClF,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AACvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAI/D,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,EACvE,MAAqB,EACrB,OAAe,GAAG,EAClB,aAAiC,SAAS;IAE1C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,sBAAsB,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;IACrE,MAAM,kBAAkB,GAAG,KAAK,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAA;IAC9D,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAA;IAExD,OAAO,WAAW,CAAC,IAAI,CAAC;QACtB,aAAa,EAAE,iBAAiB;QAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,kBAAkB;QAClB,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;QAChD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC;YAC7B,SAAS,EAAE,SAAS;YACpB,iBAAiB,EAAE,iBAAiB;SACrC,CAAC;KACH,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|