@mesh-tech/mesh-cli 0.1.0 → 0.12.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/assets/intent/agents-fence.md +10 -0
- package/assets/intent/intent-claude-gate.mjs +255 -0
- package/assets/log-shipper.mjs +94 -0
- package/bin/mesh.mjs +80 -0
- package/dist/bin/mesh.d.ts +7 -9
- package/dist/bin/mesh.d.ts.map +1 -1
- package/dist/bin/mesh.js +20826 -37
- package/dist/bin/mesh.js.map +7 -1
- package/dist/build-info.json +4 -0
- package/dist/src/commands/agent-api-client.d.ts +79 -0
- package/dist/src/commands/agent-api-client.d.ts.map +1 -0
- package/dist/src/commands/agent-api-client.js +170 -0
- package/dist/src/commands/agent-api-client.js.map +1 -0
- package/dist/src/commands/artifacts.d.ts +13 -0
- package/dist/src/commands/artifacts.d.ts.map +1 -0
- package/dist/src/commands/artifacts.js +140 -0
- package/dist/src/commands/artifacts.js.map +1 -0
- package/dist/src/commands/cluster.d.ts +45 -0
- package/dist/src/commands/cluster.d.ts.map +1 -0
- package/dist/src/commands/cluster.js +259 -0
- package/dist/src/commands/cluster.js.map +1 -0
- package/dist/src/commands/conversations.d.ts +61 -0
- package/dist/src/commands/conversations.d.ts.map +1 -0
- package/dist/src/commands/conversations.js +239 -0
- package/dist/src/commands/conversations.js.map +1 -0
- package/dist/src/commands/create-app.d.ts +26 -3
- package/dist/src/commands/create-app.d.ts.map +1 -1
- package/dist/src/commands/create-app.js +465 -107
- package/dist/src/commands/create-app.js.map +1 -1
- package/dist/src/commands/deploy.d.ts +19 -0
- package/dist/src/commands/deploy.d.ts.map +1 -1
- package/dist/src/commands/deploy.js +83 -142
- package/dist/src/commands/deploy.js.map +1 -1
- package/dist/src/commands/dev-doctor.d.ts +137 -0
- package/dist/src/commands/dev-doctor.d.ts.map +1 -0
- package/dist/src/commands/dev-doctor.js +671 -0
- package/dist/src/commands/dev-doctor.js.map +1 -0
- package/dist/src/commands/dev-launch.d.ts +59 -0
- package/dist/src/commands/dev-launch.d.ts.map +1 -0
- package/dist/src/commands/dev-launch.js +118 -0
- package/dist/src/commands/dev-launch.js.map +1 -0
- package/dist/src/commands/dev-token-server.d.ts +32 -0
- package/dist/src/commands/dev-token-server.d.ts.map +1 -0
- package/dist/src/commands/dev-token-server.js +68 -0
- package/dist/src/commands/dev-token-server.js.map +1 -0
- package/dist/src/commands/dev.d.ts +289 -2
- package/dist/src/commands/dev.d.ts.map +1 -1
- package/dist/src/commands/dev.js +2501 -574
- package/dist/src/commands/dev.js.map +1 -1
- package/dist/src/commands/docs.d.ts +3 -0
- package/dist/src/commands/docs.d.ts.map +1 -0
- package/dist/src/commands/docs.js +262 -0
- package/dist/src/commands/docs.js.map +1 -0
- package/dist/src/commands/hub/index.d.ts +99 -0
- package/dist/src/commands/hub/index.d.ts.map +1 -0
- package/dist/src/commands/hub/index.js +452 -0
- package/dist/src/commands/hub/index.js.map +1 -0
- package/dist/src/commands/init.d.ts +65 -0
- package/dist/src/commands/init.d.ts.map +1 -0
- package/dist/src/commands/init.js +370 -0
- package/dist/src/commands/init.js.map +1 -0
- package/dist/src/commands/install-shim.d.ts +21 -0
- package/dist/src/commands/install-shim.d.ts.map +1 -0
- package/dist/src/commands/install-shim.js +132 -0
- package/dist/src/commands/install-shim.js.map +1 -0
- package/dist/src/commands/local/auth-provision.d.ts +71 -0
- package/dist/src/commands/local/auth-provision.d.ts.map +1 -0
- package/dist/src/commands/local/auth-provision.js +286 -0
- package/dist/src/commands/local/auth-provision.js.map +1 -0
- package/dist/src/commands/local/dev-local.d.ts +97 -0
- package/dist/src/commands/local/dev-local.d.ts.map +1 -0
- package/dist/src/commands/local/dev-local.js +306 -0
- package/dist/src/commands/local/dev-local.js.map +1 -0
- package/dist/src/commands/local/docker-runner.d.ts +37 -0
- package/dist/src/commands/local/docker-runner.d.ts.map +1 -0
- package/dist/src/commands/local/docker-runner.js +104 -0
- package/dist/src/commands/local/docker-runner.js.map +1 -0
- package/dist/src/commands/local/helpers.d.ts +22 -0
- package/dist/src/commands/local/helpers.d.ts.map +1 -0
- package/dist/src/commands/local/helpers.js +46 -0
- package/dist/src/commands/local/helpers.js.map +1 -0
- package/dist/src/commands/local/hub-local.d.ts +51 -0
- package/dist/src/commands/local/hub-local.d.ts.map +1 -0
- package/dist/src/commands/local/hub-local.js +197 -0
- package/dist/src/commands/local/hub-local.js.map +1 -0
- package/dist/src/commands/local/index.d.ts +23 -0
- package/dist/src/commands/local/index.d.ts.map +1 -0
- package/dist/src/commands/local/index.js +386 -0
- package/dist/src/commands/local/index.js.map +1 -0
- package/dist/src/commands/local/mocks.d.ts +361 -0
- package/dist/src/commands/local/mocks.d.ts.map +1 -0
- package/dist/src/commands/local/mocks.js +756 -0
- package/dist/src/commands/local/mocks.js.map +1 -0
- package/dist/src/commands/local/seed-zitadel.d.ts +151 -0
- package/dist/src/commands/local/seed-zitadel.d.ts.map +1 -0
- package/dist/src/commands/local/seed-zitadel.js +408 -0
- package/dist/src/commands/local/seed-zitadel.js.map +1 -0
- package/dist/src/commands/local/seed.d.ts +106 -0
- package/dist/src/commands/local/seed.d.ts.map +1 -0
- package/dist/src/commands/local/seed.js +252 -0
- package/dist/src/commands/local/seed.js.map +1 -0
- package/dist/src/commands/local/stack.d.ts +173 -0
- package/dist/src/commands/local/stack.d.ts.map +1 -0
- package/dist/src/commands/local/stack.js +499 -0
- package/dist/src/commands/local/stack.js.map +1 -0
- package/dist/src/commands/login.d.ts +256 -12
- package/dist/src/commands/login.d.ts.map +1 -1
- package/dist/src/commands/login.js +978 -50
- package/dist/src/commands/login.js.map +1 -1
- package/dist/src/commands/peer-addressing.d.ts +51 -0
- package/dist/src/commands/peer-addressing.d.ts.map +1 -0
- package/dist/src/commands/peer-addressing.js +64 -0
- package/dist/src/commands/peer-addressing.js.map +1 -0
- package/dist/src/commands/port-ownership.d.ts +69 -0
- package/dist/src/commands/port-ownership.d.ts.map +1 -0
- package/dist/src/commands/port-ownership.js +161 -0
- package/dist/src/commands/port-ownership.js.map +1 -0
- package/dist/src/commands/registry-publish.d.ts +3 -0
- package/dist/src/commands/registry-publish.d.ts.map +1 -0
- package/dist/src/commands/registry-publish.js +161 -0
- package/dist/src/commands/registry-publish.js.map +1 -0
- package/dist/src/commands/registry.d.ts +146 -2
- package/dist/src/commands/registry.d.ts.map +1 -1
- package/dist/src/commands/registry.js +541 -85
- package/dist/src/commands/registry.js.map +1 -1
- package/dist/src/commands/secrets/index.d.ts.map +1 -1
- package/dist/src/commands/secrets/index.js +15 -1
- package/dist/src/commands/secrets/index.js.map +1 -1
- package/dist/src/commands/secrets/migrate-config.d.ts +24 -0
- package/dist/src/commands/secrets/migrate-config.d.ts.map +1 -0
- package/dist/src/commands/secrets/migrate-config.js +277 -0
- package/dist/src/commands/secrets/migrate-config.js.map +1 -0
- package/dist/src/commands/secrets/set.d.ts +4 -0
- package/dist/src/commands/secrets/set.d.ts.map +1 -1
- package/dist/src/commands/secrets/set.js +243 -64
- package/dist/src/commands/secrets/set.js.map +1 -1
- package/dist/src/commands/skills.d.ts +34 -0
- package/dist/src/commands/skills.d.ts.map +1 -0
- package/dist/src/commands/skills.js +207 -0
- package/dist/src/commands/skills.js.map +1 -0
- package/dist/src/commands/stack.d.ts.map +1 -1
- package/dist/src/commands/stack.js +361 -23
- package/dist/src/commands/stack.js.map +1 -1
- package/dist/src/commands/temporal.d.ts +15 -0
- package/dist/src/commands/temporal.d.ts.map +1 -0
- package/dist/src/commands/temporal.js +781 -0
- package/dist/src/commands/temporal.js.map +1 -0
- package/dist/src/commands/tenant.d.ts +56 -0
- package/dist/src/commands/tenant.d.ts.map +1 -0
- package/dist/src/commands/tenant.js +233 -0
- package/dist/src/commands/tenant.js.map +1 -0
- package/dist/src/commands/tunnel/index.d.ts +49 -3
- package/dist/src/commands/tunnel/index.d.ts.map +1 -1
- package/dist/src/commands/tunnel/index.js +331 -8
- package/dist/src/commands/tunnel/index.js.map +1 -1
- package/dist/src/commands/vcs/clone.d.ts +3 -0
- package/dist/src/commands/vcs/clone.d.ts.map +1 -0
- package/dist/src/commands/vcs/clone.js +20 -0
- package/dist/src/commands/vcs/clone.js.map +1 -0
- package/dist/src/commands/vcs/common.d.ts +21 -0
- package/dist/src/commands/vcs/common.d.ts.map +1 -0
- package/dist/src/commands/vcs/common.js +62 -0
- package/dist/src/commands/vcs/common.js.map +1 -0
- package/dist/src/commands/vcs/drafts.d.ts +13 -0
- package/dist/src/commands/vcs/drafts.d.ts.map +1 -0
- package/dist/src/commands/vcs/drafts.js +45 -0
- package/dist/src/commands/vcs/drafts.js.map +1 -0
- package/dist/src/commands/vcs/get.d.ts +8 -0
- package/dist/src/commands/vcs/get.d.ts.map +1 -0
- package/dist/src/commands/vcs/get.js +61 -0
- package/dist/src/commands/vcs/get.js.map +1 -0
- package/dist/src/commands/vcs/index.d.ts +3 -0
- package/dist/src/commands/vcs/index.d.ts.map +1 -0
- package/dist/src/commands/vcs/index.js +58 -0
- package/dist/src/commands/vcs/index.js.map +1 -0
- package/dist/src/commands/vcs/propose.d.ts +23 -0
- package/dist/src/commands/vcs/propose.d.ts.map +1 -0
- package/dist/src/commands/vcs/propose.js +94 -0
- package/dist/src/commands/vcs/propose.js.map +1 -0
- package/dist/src/commands/vcs/review.d.ts +15 -0
- package/dist/src/commands/vcs/review.d.ts.map +1 -0
- package/dist/src/commands/vcs/review.js +35 -0
- package/dist/src/commands/vcs/review.js.map +1 -0
- package/dist/src/commands/vcs-enrich.d.ts +15 -0
- package/dist/src/commands/vcs-enrich.d.ts.map +1 -0
- package/dist/src/commands/vcs-enrich.js +28 -0
- package/dist/src/commands/vcs-enrich.js.map +1 -0
- package/dist/src/commands/vpn/index.d.ts +24 -0
- package/dist/src/commands/vpn/index.d.ts.map +1 -0
- package/dist/src/commands/vpn/index.js +543 -0
- package/dist/src/commands/vpn/index.js.map +1 -0
- package/dist/src/commands/vpn/tunnel.d.ts +11 -0
- package/dist/src/commands/vpn/tunnel.d.ts.map +1 -0
- package/dist/src/commands/vpn/tunnel.js +188 -0
- package/dist/src/commands/vpn/tunnel.js.map +1 -0
- package/dist/src/commands/workflow.d.ts +24 -0
- package/dist/src/commands/workflow.d.ts.map +1 -0
- package/dist/src/commands/workflow.js +577 -0
- package/dist/src/commands/workflow.js.map +1 -0
- package/dist/src/docs/assemble.d.ts +217 -0
- package/dist/src/docs/assemble.d.ts.map +1 -0
- package/dist/src/docs/assemble.js +739 -0
- package/dist/src/docs/assemble.js.map +1 -0
- package/dist/src/docs/cli-reference.d.ts +93 -0
- package/dist/src/docs/cli-reference.d.ts.map +1 -0
- package/dist/src/docs/cli-reference.js +256 -0
- package/dist/src/docs/cli-reference.js.map +1 -0
- package/dist/src/docs/discover.d.ts +60 -0
- package/dist/src/docs/discover.d.ts.map +1 -0
- package/dist/src/docs/discover.js +233 -0
- package/dist/src/docs/discover.js.map +1 -0
- package/dist/src/docs/portal.d.ts +79 -0
- package/dist/src/docs/portal.d.ts.map +1 -0
- package/dist/src/docs/portal.js +242 -0
- package/dist/src/docs/portal.js.map +1 -0
- package/dist/src/docs/registry-docs.d.ts +43 -0
- package/dist/src/docs/registry-docs.d.ts.map +1 -0
- package/dist/src/docs/registry-docs.js +138 -0
- package/dist/src/docs/registry-docs.js.map +1 -0
- package/dist/src/docs/schema.d.ts +48 -0
- package/dist/src/docs/schema.d.ts.map +1 -0
- package/dist/src/docs/schema.js +96 -0
- package/dist/src/docs/schema.js.map +1 -0
- package/dist/src/docs/serve.d.ts +27 -0
- package/dist/src/docs/serve.d.ts.map +1 -0
- package/dist/src/docs/serve.js +102 -0
- package/dist/src/docs/serve.js.map +1 -0
- package/dist/src/docs/start.d.ts +80 -0
- package/dist/src/docs/start.d.ts.map +1 -0
- package/dist/src/docs/start.js +313 -0
- package/dist/src/docs/start.js.map +1 -0
- package/dist/src/eval/agent-eval.d.mts +14 -0
- package/dist/src/eval/agent-eval.d.mts.map +1 -0
- package/dist/src/eval/agent-eval.mjs +273 -0
- package/dist/src/eval/agent-eval.mjs.map +1 -0
- package/dist/src/index.js +624 -7
- package/dist/src/index.js.map +7 -1
- package/dist/src/program.d.ts +26 -0
- package/dist/src/program.d.ts.map +1 -0
- package/dist/src/program.js +76 -0
- package/dist/src/program.js.map +1 -0
- package/dist/src/utils/auth-preflight.d.ts +159 -0
- package/dist/src/utils/auth-preflight.d.ts.map +1 -0
- package/dist/src/utils/auth-preflight.js +298 -0
- package/dist/src/utils/auth-preflight.js.map +1 -0
- package/dist/src/utils/aws-auth.d.ts +181 -0
- package/dist/src/utils/aws-auth.d.ts.map +1 -0
- package/dist/src/utils/aws-auth.js +527 -0
- package/dist/src/utils/aws-auth.js.map +1 -0
- package/dist/src/utils/bastion.d.ts +1 -1
- package/dist/src/utils/bastion.d.ts.map +1 -1
- package/dist/src/utils/bastion.js +29 -8
- package/dist/src/utils/bastion.js.map +1 -1
- package/dist/src/utils/build-info.d.ts +33 -0
- package/dist/src/utils/build-info.d.ts.map +1 -0
- package/dist/src/utils/build-info.js +102 -0
- package/dist/src/utils/build-info.js.map +1 -0
- package/dist/src/utils/capture-history.d.ts +62 -0
- package/dist/src/utils/capture-history.d.ts.map +1 -0
- package/dist/src/utils/capture-history.js +94 -0
- package/dist/src/utils/capture-history.js.map +1 -0
- package/dist/src/utils/deploy-preflight.d.ts +52 -0
- package/dist/src/utils/deploy-preflight.d.ts.map +1 -0
- package/dist/src/utils/deploy-preflight.js +183 -0
- package/dist/src/utils/deploy-preflight.js.map +1 -0
- package/dist/src/utils/errors.d.ts +75 -0
- package/dist/src/utils/errors.d.ts.map +1 -0
- package/dist/src/utils/errors.js +106 -0
- package/dist/src/utils/errors.js.map +1 -0
- package/dist/src/utils/first-party-contexts.d.ts +40 -0
- package/dist/src/utils/first-party-contexts.d.ts.map +1 -0
- package/dist/src/utils/first-party-contexts.js +53 -0
- package/dist/src/utils/first-party-contexts.js.map +1 -0
- package/dist/src/utils/index.d.ts +2 -0
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.js +2 -0
- package/dist/src/utils/index.js.map +1 -1
- package/dist/src/utils/kubeconfig.d.ts +62 -0
- package/dist/src/utils/kubeconfig.d.ts.map +1 -0
- package/dist/src/utils/kubeconfig.js +118 -0
- package/dist/src/utils/kubeconfig.js.map +1 -0
- package/dist/src/utils/log.d.ts +27 -1
- package/dist/src/utils/log.d.ts.map +1 -1
- package/dist/src/utils/log.js +59 -5
- package/dist/src/utils/log.js.map +1 -1
- package/dist/src/utils/pid.d.ts +47 -0
- package/dist/src/utils/pid.d.ts.map +1 -0
- package/dist/src/utils/pid.js +83 -0
- package/dist/src/utils/pid.js.map +1 -0
- package/dist/src/utils/pulumi-run.d.ts +23 -0
- package/dist/src/utils/pulumi-run.d.ts.map +1 -0
- package/dist/src/utils/pulumi-run.js +112 -0
- package/dist/src/utils/pulumi-run.js.map +1 -0
- package/dist/src/utils/pulumi.d.ts +15 -0
- package/dist/src/utils/pulumi.d.ts.map +1 -1
- package/dist/src/utils/pulumi.js +35 -0
- package/dist/src/utils/pulumi.js.map +1 -1
- package/dist/src/utils/reachability.d.ts +29 -0
- package/dist/src/utils/reachability.d.ts.map +1 -0
- package/dist/src/utils/reachability.js +81 -0
- package/dist/src/utils/reachability.js.map +1 -0
- package/dist/src/utils/recover-conversation.d.ts +154 -0
- package/dist/src/utils/recover-conversation.d.ts.map +1 -0
- package/dist/src/utils/recover-conversation.js +314 -0
- package/dist/src/utils/recover-conversation.js.map +1 -0
- package/dist/src/utils/registry-broker.d.ts +148 -0
- package/dist/src/utils/registry-broker.d.ts.map +1 -0
- package/dist/src/utils/registry-broker.js +180 -0
- package/dist/src/utils/registry-broker.js.map +1 -0
- package/dist/src/utils/socks-forward.d.ts +40 -0
- package/dist/src/utils/socks-forward.d.ts.map +1 -0
- package/dist/src/utils/socks-forward.js +97 -0
- package/dist/src/utils/socks-forward.js.map +1 -0
- package/dist/src/utils/stack-flag.d.ts +23 -0
- package/dist/src/utils/stack-flag.d.ts.map +1 -0
- package/dist/src/utils/stack-flag.js +41 -0
- package/dist/src/utils/stack-flag.js.map +1 -0
- package/dist/src/utils/tailscale-targets.d.ts +52 -0
- package/dist/src/utils/tailscale-targets.d.ts.map +1 -0
- package/dist/src/utils/tailscale-targets.js +93 -0
- package/dist/src/utils/tailscale-targets.js.map +1 -0
- package/dist/src/utils/tailscale.d.ts +277 -0
- package/dist/src/utils/tailscale.d.ts.map +1 -0
- package/dist/src/utils/tailscale.js +1007 -0
- package/dist/src/utils/tailscale.js.map +1 -0
- package/dist/src/utils/temporal-auth.d.ts +43 -0
- package/dist/src/utils/temporal-auth.d.ts.map +1 -0
- package/dist/src/utils/temporal-auth.js +176 -0
- package/dist/src/utils/temporal-auth.js.map +1 -0
- package/dist/src/utils/temporal-codec.d.ts +101 -0
- package/dist/src/utils/temporal-codec.d.ts.map +1 -0
- package/dist/src/utils/temporal-codec.js +319 -0
- package/dist/src/utils/temporal-codec.js.map +1 -0
- package/dist/src/utils/tunnel-ownership.d.ts +130 -0
- package/dist/src/utils/tunnel-ownership.d.ts.map +1 -0
- package/dist/src/utils/tunnel-ownership.js +274 -0
- package/dist/src/utils/tunnel-ownership.js.map +1 -0
- package/dist/src/utils/vpn-join.d.ts +32 -0
- package/dist/src/utils/vpn-join.d.ts.map +1 -0
- package/dist/src/utils/vpn-join.js +62 -0
- package/dist/src/utils/vpn-join.js.map +1 -0
- package/dist/src/utils/vpn.d.ts +62 -0
- package/dist/src/utils/vpn.d.ts.map +1 -0
- package/dist/src/utils/vpn.js +183 -0
- package/dist/src/utils/vpn.js.map +1 -0
- package/dist/src/utils/workflow-fingerprint.d.ts +49 -0
- package/dist/src/utils/workflow-fingerprint.d.ts.map +1 -0
- package/dist/src/utils/workflow-fingerprint.js +135 -0
- package/dist/src/utils/workflow-fingerprint.js.map +1 -0
- package/dist/src/utils/worktree-identity.d.ts +86 -0
- package/dist/src/utils/worktree-identity.d.ts.map +1 -0
- package/dist/src/utils/worktree-identity.js +164 -0
- package/dist/src/utils/worktree-identity.js.map +1 -0
- package/fragments/agents/AGENTS.md.hbs +92 -0
- package/fragments/agents/CLAUDE.md.hbs +8 -0
- package/fragments/base/Pulumi.dev.yaml.hbs +10 -0
- package/fragments/base/Pulumi.yaml.hbs +9 -0
- package/fragments/base/index.ts.hbs +107 -0
- package/fragments/base/package.json.hbs +22 -0
- package/{templates/api-web-db/api → fragments/base}/tsconfig.json +3 -4
- package/fragments/bucket/api/src/storage.ts.hbs +81 -0
- package/fragments/database/api/src/db.ts.hbs +23 -0
- package/fragments/database/prisma/schema.prisma.hbs +18 -0
- package/{templates/api-web-db → fragments/service}/api/.dockerignore +2 -0
- package/fragments/service/api/package.json.hbs +40 -0
- package/fragments/service/api/src/index.ts.hbs +58 -0
- package/{templates/api-web-db → fragments/service/api}/tsconfig.json +5 -3
- package/fragments/temporal/worker/.dockerignore +4 -0
- package/fragments/temporal/worker/Dockerfile +15 -0
- package/{templates/temporal-api-worker → fragments/temporal}/worker/package.json.hbs +3 -2
- package/fragments/temporal/worker/src/activities.ts.hbs +14 -0
- package/fragments/temporal/worker/src/worker.ts.hbs +27 -0
- package/fragments/temporal/worker/src/workflows.ts.hbs +24 -0
- package/fragments/temporal/worker/tsconfig.json +13 -0
- package/package.json +35 -21
- package/skills/core/SKILL.md +365 -0
- package/skills/pull-remote-agent-context/SKILL.md +194 -0
- package/stack/docker-compose.hub.yml +134 -0
- package/stack/docker-compose.yml +447 -0
- package/stack/hub/Dockerfile.api +18 -0
- package/stack/hub/Dockerfile.auth +10 -0
- package/stack/hub/Dockerfile.ui +10 -0
- package/stack/init/01-databases.sql +12 -0
- package/stack/observability/blackbox.yml +20 -0
- package/stack/observability/otel-collector.yaml +73 -0
- package/stack/observability/prometheus.yml +36 -0
- package/stack/observability/tempo.yaml +25 -0
- package/stack/temporal/local.yaml +44 -0
- package/templates/api-auth/AGENTS.md.hbs +16 -0
- package/templates/api-auth/Pulumi.dev.yaml.hbs +8 -0
- package/templates/api-auth/Pulumi.yaml.hbs +8 -0
- package/templates/api-auth/README.md.hbs +67 -0
- package/templates/api-auth/api/package.json.hbs +28 -0
- package/templates/api-auth/api/src/index.ts.hbs +96 -0
- package/templates/api-auth/api/src/schema.ts.hbs +35 -0
- package/templates/api-auth/api/src/seed-authz.ts.hbs +48 -0
- package/templates/api-auth/api/src/spicedb-http-provider.ts.hbs +89 -0
- package/templates/api-auth/index.ts.hbs +65 -0
- package/templates/api-auth/package.json.hbs +20 -0
- package/templates/api-auth/skills/develop/SKILL.md.hbs +32 -0
- package/templates/api-role-gating/AGENTS.md.hbs +20 -0
- package/templates/api-role-gating/Pulumi.dev.yaml.hbs +8 -0
- package/templates/api-role-gating/Pulumi.yaml.hbs +8 -0
- package/templates/api-role-gating/README.md.hbs +64 -0
- package/templates/api-role-gating/api/Dockerfile +17 -0
- package/templates/api-role-gating/api/package.json.hbs +28 -0
- package/templates/api-role-gating/api/src/authn.ts.hbs +29 -0
- package/templates/api-role-gating/api/src/authz.ts.hbs +12 -0
- package/templates/api-role-gating/api/src/main.ts.hbs +58 -0
- package/templates/api-role-gating/api/src/schema.ts.hbs +22 -0
- package/templates/api-role-gating/api/tsconfig.json +13 -0
- package/templates/api-role-gating/index.ts.hbs +107 -0
- package/templates/api-role-gating/package.json.hbs +21 -0
- package/templates/api-role-gating/skills/develop/SKILL.md.hbs +60 -0
- package/templates/api-role-gating/tsconfig.json +10 -0
- package/templates/apps-repo/README.md.hbs +24 -0
- package/templates/apps-repo/gitignore +41 -0
- package/templates/apps-repo/npmrc.hbs +7 -0
- package/templates/apps-repo/package.json.hbs +15 -0
- package/templates/apps-repo/pnpm-workspace.yaml +3 -0
- package/templates/apps-repo/tsconfig.json +18 -0
- package/templates/external-service/AGENTS.md.hbs +20 -0
- package/templates/external-service/Pulumi.dev.yaml.hbs +8 -0
- package/templates/external-service/Pulumi.yaml.hbs +8 -0
- package/templates/external-service/README.md.hbs +56 -0
- package/templates/external-service/api/Dockerfile +15 -0
- package/templates/external-service/api/package.json.hbs +25 -0
- package/templates/external-service/api/src/index.ts.hbs +81 -0
- package/templates/external-service/index.ts.hbs +82 -0
- package/templates/external-service/mocks/vendorpay/package.json.hbs +9 -0
- package/templates/external-service/mocks/vendorpay/server.mjs.hbs +61 -0
- package/templates/external-service/package.json.hbs +34 -0
- package/templates/external-service/skills/develop/SKILL.md.hbs +55 -0
- package/templates/external-service/tsconfig.json +10 -0
- package/templates/platform-repo/AGENTS.md.hbs +18 -0
- package/templates/platform-repo/README.md.hbs +38 -0
- package/templates/platform-repo/core/Pulumi.yaml.hbs +12 -0
- package/templates/platform-repo/core/Pulumi.{{tenant}}-{{env}}.yaml.hbs +57 -0
- package/templates/platform-repo/core/index.ts +62 -0
- package/templates/platform-repo/core/package.json.hbs +22 -0
- package/templates/platform-repo/core/tsconfig.json +8 -0
- package/templates/platform-repo/package.json.hbs +15 -0
- package/templates/platform-repo/platform/Pulumi.yaml.hbs +12 -0
- package/templates/platform-repo/platform/Pulumi.{{tenant}}-{{env}}.yaml.hbs +59 -0
- package/templates/platform-repo/platform/index.ts +95 -0
- package/templates/platform-repo/platform/package.json.hbs +26 -0
- package/templates/platform-repo/platform/tsconfig.json +8 -0
- package/templates/platform-repo/pnpm-workspace.yaml +3 -0
- package/templates/workflow/AGENTS.md.hbs +15 -0
- package/templates/workflow/Pulumi.dev.yaml.hbs +8 -0
- package/templates/workflow/Pulumi.yaml.hbs +8 -0
- package/templates/workflow/README.md.hbs +45 -0
- package/templates/workflow/api/.dockerignore +4 -0
- package/templates/workflow/api/Dockerfile +15 -0
- package/templates/{temporal-api-worker → workflow}/api/package.json.hbs +8 -6
- package/templates/workflow/api/src/index.ts.hbs +130 -0
- package/templates/workflow/api/tsconfig.json +14 -0
- package/templates/workflow/index.ts.hbs +67 -0
- package/templates/workflow/package.json.hbs +20 -0
- package/templates/workflow/skills/develop/SKILL.md.hbs +32 -0
- package/templates/workflow/tsconfig.json +10 -0
- package/templates/workflow/worker/.dockerignore +4 -0
- package/templates/workflow/worker/Dockerfile +13 -0
- package/templates/workflow/worker/package.json.hbs +25 -0
- package/templates/workflow/worker/src/worker.ts.hbs +24 -0
- package/templates/workflow/worker/tsconfig.json +14 -0
- package/dist/src/commands/devbox.d.ts +0 -22
- package/dist/src/commands/devbox.d.ts.map +0 -1
- package/dist/src/commands/devbox.js +0 -463
- package/dist/src/commands/devbox.js.map +0 -1
- package/templates/api-web-db/api/Dockerfile +0 -16
- package/templates/api-web-db/api/package.json.hbs +0 -21
- package/templates/api-web-db/api/src/index.ts.hbs +0 -123
- package/templates/api-web-db/package.json.hbs +0 -27
- package/templates/api-web-db/sst.config.ts.hbs +0 -151
- package/templates/api-web-db/web/.dockerignore +0 -3
- package/templates/api-web-db/web/Dockerfile +0 -17
- package/templates/api-web-db/web/app/lib/db.server.ts +0 -36
- package/templates/api-web-db/web/app/root.tsx +0 -29
- package/templates/api-web-db/web/app/routes/home.tsx.hbs +0 -114
- package/templates/api-web-db/web/app/routes.ts +0 -3
- package/templates/api-web-db/web/package.json.hbs +0 -30
- package/templates/api-web-db/web/prisma/schema.prisma +0 -25
- package/templates/api-web-db/web/prisma.config.ts +0 -18
- package/templates/api-web-db/web/react-router.config.ts +0 -5
- package/templates/api-web-db/web/tsconfig.json +0 -19
- package/templates/api-web-db/web/vite.config.ts +0 -9
- package/templates/temporal-api-worker/README.md.hbs +0 -133
- package/templates/temporal-api-worker/api/src/index.ts.hbs +0 -145
- package/templates/temporal-api-worker/package.json.hbs +0 -29
- package/templates/temporal-api-worker/sst.config.ts.hbs +0 -161
- package/templates/temporal-api-worker/worker/Dockerfile +0 -11
- package/templates/temporal-api-worker/worker/src/bundle-workflows.ts +0 -38
- package/templates/temporal-api-worker/worker/src/worker.ts.hbs +0 -93
- /package/templates/{temporal-api-worker → api-auth}/api/.dockerignore +0 -0
- /package/templates/{temporal-api-worker → api-auth}/api/Dockerfile +0 -0
- /package/templates/{temporal-api-worker → api-auth}/api/tsconfig.json +0 -0
- /package/templates/{temporal-api-worker → api-auth}/tsconfig.json +0 -0
- /package/templates/{temporal-api-worker/worker → api-role-gating/api}/.dockerignore +0 -0
- /package/templates/{temporal-api-worker/worker → external-service/api}/tsconfig.json +0 -0
- /package/templates/{temporal-api-worker → workflow}/api/src/encryption-codec.ts +0 -0
- /package/templates/{temporal-api-worker → workflow}/worker/src/activities.ts.hbs +0 -0
- /package/templates/{temporal-api-worker → workflow}/worker/src/encryption-codec.ts +0 -0
- /package/templates/{temporal-api-worker → workflow}/worker/src/workflows.ts.hbs +0 -0
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `mesh registry publish --snapshot` — publish an in-development *snapshot* of the
|
|
3
|
+
* @mesh-tech/* packages to CodeArtifact under a `dev` dist-tag.
|
|
4
|
+
*
|
|
5
|
+
* Why: a consumer repo outside the monorepo (e.g. fub-mesh-apps) can't use
|
|
6
|
+
* `workspace:*`, and cutting a real release for every SDK/UI tweak is heavy. A
|
|
7
|
+
* snapshot publishes the CURRENT source at a throwaway prerelease version
|
|
8
|
+
* (`0.0.0-dev.<stamp>.<sha>`). Because it's a `0.0.0` prerelease, a consumer's
|
|
9
|
+
* `^`/`~` ranges NEVER auto-resolve it — it's picked up ONLY by an explicit pin
|
|
10
|
+
* or the `dev` dist-tag. That's the "pushed to the registry but explicitly
|
|
11
|
+
* referenced" contract.
|
|
12
|
+
*
|
|
13
|
+
* Real releases still go through changesets + the changeset-version CI workflow;
|
|
14
|
+
* this command is dev-loop tooling only and never touches the `latest` dist-tag.
|
|
15
|
+
*
|
|
16
|
+
* Mechanism: set the snapshot version into each selected publishable package.json,
|
|
17
|
+
* reuse the proven scripts/publish-packages.sh (which runs build:publish — whose
|
|
18
|
+
* build-for-publish.ts rewrites internal workspace:* deps to the local version,
|
|
19
|
+
* i.e. the snapshot — then publishes each package), always restore the source
|
|
20
|
+
* package.json versions afterward.
|
|
21
|
+
*/
|
|
22
|
+
import { execFileSync, execSync } from "child_process";
|
|
23
|
+
import * as fs from "fs";
|
|
24
|
+
import * as path from "path";
|
|
25
|
+
import { logError, logInfo, logSuccess } from "../utils/log.js";
|
|
26
|
+
import { resolveCredentials, codeartifactLogin } from "./registry.js";
|
|
27
|
+
function repoRoot() {
|
|
28
|
+
return execSync("git rev-parse --show-toplevel", { encoding: "utf-8" }).trim();
|
|
29
|
+
}
|
|
30
|
+
/** `0.0.0-dev.<YYYYMMDDHHMMSS>.<shortsha>` — a valid semver prerelease. */
|
|
31
|
+
function computeSnapshotVersion(root) {
|
|
32
|
+
const sha = execSync("git rev-parse --short HEAD", { cwd: root, encoding: "utf-8" }).trim();
|
|
33
|
+
const stamp = new Date().toISOString().replace(/[-:T]/g, "").slice(0, 14);
|
|
34
|
+
return `0.0.0-dev.${stamp}.${sha}`;
|
|
35
|
+
}
|
|
36
|
+
/** Rewrite the top-level "version" field, preserving the file's formatting. */
|
|
37
|
+
function setPackageVersion(file, version) {
|
|
38
|
+
const content = fs.readFileSync(file, "utf-8");
|
|
39
|
+
const next = content.replace(/"version"(\s*:\s*)"[^"]*"/, `"version"$1"${version}"`);
|
|
40
|
+
fs.writeFileSync(file, next);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Tracked package.json files with uncommitted modifications (`git diff`), as a set
|
|
44
|
+
* of repo-relative paths. Used to tell the user's OWN pre-existing edits apart from
|
|
45
|
+
* files `build:publish` dirties as a side effect (it re-vendors e.g. hub subpackages),
|
|
46
|
+
* so cleanup reverts only the latter.
|
|
47
|
+
*/
|
|
48
|
+
function dirtyPackageJsons(root) {
|
|
49
|
+
const out = execSync("git diff --name-only", { cwd: root, encoding: "utf-8" });
|
|
50
|
+
return new Set(out.split("\n").map((s) => s.trim()).filter((s) => s.endsWith("package.json")));
|
|
51
|
+
}
|
|
52
|
+
export function registerRegistryPublish(registry) {
|
|
53
|
+
registry
|
|
54
|
+
.command("publish")
|
|
55
|
+
.description("Publish an in-development snapshot of @mesh-tech packages to CodeArtifact (dev dist-tag)")
|
|
56
|
+
.argument("[context]", 'Platform context for Zitadel auth (e.g. "mesh.dev")')
|
|
57
|
+
.option("--snapshot", "Publish a dev snapshot build (required — real releases go through changesets/CI)", false)
|
|
58
|
+
.option("--tag <tag>", "dist-tag to publish the snapshot under", "dev")
|
|
59
|
+
.option("--only <pkgs>", "Comma-separated substring filter, e.g. --only agent-sdk,app-kit (default: all publishable)")
|
|
60
|
+
.option("--dry-run", "Build + resolve versions but do not upload", false)
|
|
61
|
+
.option("--role <arn>", "IAM role ARN for registry access")
|
|
62
|
+
.action(async (context, opts) => {
|
|
63
|
+
if (!opts.snapshot) {
|
|
64
|
+
logError("mesh registry publish currently supports only snapshot (dev) builds.\n\n" +
|
|
65
|
+
"Re-run with --snapshot. Real releases go through changesets + the\n" +
|
|
66
|
+
"changeset-version CI workflow, not this command.");
|
|
67
|
+
process.exit(1);
|
|
68
|
+
}
|
|
69
|
+
const root = repoRoot();
|
|
70
|
+
// 1. CodeArtifact auth (token + scoped registry written to ~/.npmrc).
|
|
71
|
+
const awsCreds = resolveCredentials(context, opts.role);
|
|
72
|
+
const env = Object.keys(awsCreds).length > 0
|
|
73
|
+
? { ...process.env, ...awsCreds }
|
|
74
|
+
: undefined;
|
|
75
|
+
logInfo("Authenticating with CodeArtifact...");
|
|
76
|
+
if (!codeartifactLogin(env)) {
|
|
77
|
+
logError("CodeArtifact login failed. Run: mesh registry login <context>");
|
|
78
|
+
process.exit(1);
|
|
79
|
+
}
|
|
80
|
+
// 2. Resolve the publishable set (optionally filtered by --only).
|
|
81
|
+
const listPath = path.join(root, "scripts/lib/publishable-packages.json");
|
|
82
|
+
const all = JSON.parse(fs.readFileSync(listPath, "utf-8"));
|
|
83
|
+
const patterns = (opts.only ?? "")
|
|
84
|
+
.split(",")
|
|
85
|
+
.map((s) => s.trim())
|
|
86
|
+
.filter(Boolean);
|
|
87
|
+
const selected = patterns.length
|
|
88
|
+
? all.filter((p) => patterns.some((pat) => p.dir.includes(pat) || p.name.includes(pat)))
|
|
89
|
+
: all;
|
|
90
|
+
if (selected.length === 0) {
|
|
91
|
+
logError(`No publishable package matched --only '${opts.only}'`);
|
|
92
|
+
process.exit(1);
|
|
93
|
+
}
|
|
94
|
+
// 3. Snapshot version — uniform across the selected set so their internal
|
|
95
|
+
// @mesh-tech deps rewrite to the same version.
|
|
96
|
+
const version = computeSnapshotVersion(root);
|
|
97
|
+
logInfo(`Snapshot version: ${version} (dist-tag '${opts.tag}')`);
|
|
98
|
+
// Snapshot the user's PRE-EXISTING dirty package.json set, so the cleanup in
|
|
99
|
+
// `finally` reverts only what this run (and build:publish) touched, never their edits.
|
|
100
|
+
const preDirty = dirtyPackageJsons(root);
|
|
101
|
+
// 4. Stamp the version onto each selected package (+ its sub-packages),
|
|
102
|
+
// remembering the originals so we can always restore.
|
|
103
|
+
const backups = [];
|
|
104
|
+
const stamp = (dir) => {
|
|
105
|
+
const file = path.join(root, dir, "package.json");
|
|
106
|
+
if (!fs.existsSync(file))
|
|
107
|
+
return;
|
|
108
|
+
backups.push({ file, content: fs.readFileSync(file, "utf-8") });
|
|
109
|
+
setPackageVersion(file, version);
|
|
110
|
+
};
|
|
111
|
+
try {
|
|
112
|
+
for (const p of selected) {
|
|
113
|
+
stamp(p.dir);
|
|
114
|
+
for (const sub of p.subPackages ?? []) {
|
|
115
|
+
stamp(path.join(p.dir, typeof sub === "string" ? sub : sub.dir));
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
// 5. Build + publish via the proven script (dev tag, never `latest`).
|
|
119
|
+
const args = [
|
|
120
|
+
"scripts/publish-packages.sh",
|
|
121
|
+
"--tag",
|
|
122
|
+
opts.tag,
|
|
123
|
+
"--skip-latest",
|
|
124
|
+
// Pass the TS-resolved DIRS (not the raw patterns) so the shell's
|
|
125
|
+
// dir-substring --only filter selects exactly the set we stamped —
|
|
126
|
+
// a name-only pattern would otherwise stamp here but be skipped there.
|
|
127
|
+
...(patterns.length ? ["--only", selected.map((p) => p.dir).join(",")] : []),
|
|
128
|
+
...(opts.dryRun ? ["--dry-run"] : []),
|
|
129
|
+
];
|
|
130
|
+
logInfo(`Publishing ${selected.length} package(s)...`);
|
|
131
|
+
execFileSync("bash", args, { cwd: root, stdio: "inherit", env: env ?? process.env });
|
|
132
|
+
}
|
|
133
|
+
finally {
|
|
134
|
+
for (const b of backups)
|
|
135
|
+
fs.writeFileSync(b.file, b.content);
|
|
136
|
+
logInfo("Restored source package.json versions.");
|
|
137
|
+
// build:publish re-vendors some package.json files (e.g. hub subpackages)
|
|
138
|
+
// beyond the ones we stamped — revert those too so a local run leaves a clean
|
|
139
|
+
// tree, but NEVER the user's own pre-existing edits.
|
|
140
|
+
const collateral = [...dirtyPackageJsons(root)].filter((f) => !preDirty.has(f));
|
|
141
|
+
if (collateral.length) {
|
|
142
|
+
try {
|
|
143
|
+
execFileSync("git", ["checkout", "--", ...collateral], { cwd: root, stdio: "inherit" });
|
|
144
|
+
logInfo(`Reverted ${collateral.length} package.json file(s) re-vendored by build:publish.`);
|
|
145
|
+
}
|
|
146
|
+
catch {
|
|
147
|
+
logError(`Could not auto-revert build:publish side-effects — run \`git checkout --\` on:\n ${collateral.join("\n ")}`);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
// 6. Tell the user exactly how to consume it.
|
|
152
|
+
logSuccess(`Published snapshot ${version} under dist-tag '${opts.tag}'.`);
|
|
153
|
+
console.log("\nPin these EXACTLY in the consumer repo (prereleases are never auto-resolved by ^/~):");
|
|
154
|
+
for (const p of selected)
|
|
155
|
+
console.log(` "${p.name}": "${version}",`);
|
|
156
|
+
console.log(`\nOr always grab the newest dev build:\n pnpm add ${selected
|
|
157
|
+
.map((p) => `${p.name}@${opts.tag}`)
|
|
158
|
+
.join(" ")}`);
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=registry-publish.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry-publish.js","sourceRoot":"","sources":["../../../src/commands/registry-publish.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,17 +4,161 @@
|
|
|
4
4
|
* Handles CodeArtifact token refresh and project .npmrc setup so that
|
|
5
5
|
* `pnpm install` can resolve @mesh-tech/* packages from the private registry.
|
|
6
6
|
*
|
|
7
|
-
* Credential resolution
|
|
7
|
+
* Credential resolution, in order:
|
|
8
|
+
* 0. The Zitadel-gated registry-auth BROKER — needs no AWS anything on this
|
|
9
|
+
* machine. This is the path a brand-new developer takes.
|
|
8
10
|
* 1. Existing AWS credentials in environment (CI/CD) → use directly
|
|
9
11
|
* 2. Zitadel JWT from `mesh login` → AssumeRoleWithWebIdentity
|
|
10
12
|
* 3. AWS SSO / current profile → use directly
|
|
11
13
|
*
|
|
14
|
+
* Paths 1–3 all shell out to the AWS CLI, so they require it to be installed
|
|
15
|
+
* and credentialed. Path 0 requires only a Mesh account, which is the whole
|
|
16
|
+
* point (design: registry-access-without-aws-sso).
|
|
17
|
+
*
|
|
12
18
|
* Usage:
|
|
13
19
|
* mesh registry login — refresh token, ensure .npmrc
|
|
14
|
-
* mesh registry login mesh.dev —
|
|
20
|
+
* mesh registry login mesh.dev — broker first, then the AWS paths
|
|
15
21
|
* mesh registry login --ci — CI mode (skip .npmrc creation)
|
|
22
|
+
* mesh registry login --no-broker — skip the broker, force the AWS paths
|
|
16
23
|
* mesh registry status — show current auth state
|
|
17
24
|
*/
|
|
18
25
|
import { Command } from "commander";
|
|
26
|
+
import type { RegistryTokenState } from "../utils/auth-preflight.js";
|
|
27
|
+
import { type RegistryBrokerFailure, type RegistryGrant } from "../utils/registry-broker.js";
|
|
28
|
+
/**
|
|
29
|
+
* Run `aws codeartifact login` to set the auth token in ~/.npmrc.
|
|
30
|
+
*/
|
|
31
|
+
export declare function codeartifactLogin(env?: Record<string, string>): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Resolve the publisher role ARN to assume for `--publish`.
|
|
34
|
+
*
|
|
35
|
+
* Precedence: explicit --role-arn flag wins, then the registry's SSM export
|
|
36
|
+
* (publisherRoleArn, Task 2 of MESH-2168). Throws an actionable error if
|
|
37
|
+
* neither is available — there's no safe default to fall back to since
|
|
38
|
+
* publishing is an opt-in privileged path (DEFAULT_REGISTRY_ROLE stays null).
|
|
39
|
+
*/
|
|
40
|
+
export declare function resolvePublisherRoleArn({ roleArnFlag, ssmArn, }: {
|
|
41
|
+
roleArnFlag?: string;
|
|
42
|
+
ssmArn?: string;
|
|
43
|
+
}): string;
|
|
44
|
+
/**
|
|
45
|
+
* Resolve AWS credentials for registry access.
|
|
46
|
+
*
|
|
47
|
+
* Returns env var overrides (or empty object if current env is fine).
|
|
48
|
+
*/
|
|
49
|
+
export declare function resolveCredentials(context?: string, roleArn?: string): Record<string, string>;
|
|
50
|
+
/**
|
|
51
|
+
* Write a broker-issued grant into ~/.npmrc: the scoped registry line and the
|
|
52
|
+
* endpoint's auth token, in exactly the shape `aws codeartifact login
|
|
53
|
+
* --namespace @mesh-tech` would have written.
|
|
54
|
+
*
|
|
55
|
+
* Byte-compatibility with the AWS CLI's output is the requirement, not a nicety:
|
|
56
|
+
* `mesh registry status`, the `mesh start` preflight and the dev doctor all
|
|
57
|
+
* parse ~/.npmrc for that pair, and a machine that gets its token from the
|
|
58
|
+
* broker has to look identical to one that got it from AWS.
|
|
59
|
+
*/
|
|
60
|
+
export declare function applyGrantToUserNpmrc(grant: RegistryGrant, npmrcPath?: string): {
|
|
61
|
+
path: string;
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Human-facing explanation of a failed broker attempt, plus whether the AWS
|
|
65
|
+
* fallback chain is worth running.
|
|
66
|
+
*
|
|
67
|
+
* `not-authorized` is the one case we do NOT fall through on: the caller has a
|
|
68
|
+
* working Mesh account that simply lacks the grant, and quietly trying AWS next
|
|
69
|
+
* would either succeed (masking a missing grant with an AWS account we're
|
|
70
|
+
* trying to stop requiring) or fail with an unrelated AWS error that buries the
|
|
71
|
+
* real answer.
|
|
72
|
+
*/
|
|
73
|
+
export declare function describeBrokerFailure(failure: RegistryBrokerFailure, context?: string): {
|
|
74
|
+
message: string;
|
|
75
|
+
hint?: string;
|
|
76
|
+
fatal: boolean;
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* Whether this `mesh registry login` invocation may rewrite ~/.npmrc.
|
|
80
|
+
*
|
|
81
|
+
* The self-heal is a **laptop** fix. CI pipelines run the unscoped
|
|
82
|
+
* `aws codeartifact login` DELIBERATELY — a host-scoped token is what lets
|
|
83
|
+
* pnpm pull upstream-cached public packages through CodeArtifact — so in a
|
|
84
|
+
* runner the "hijack" line is load-bearing and deleting it would break the
|
|
85
|
+
* install we were asked not to touch. `--ci` is the one signal that says so.
|
|
86
|
+
*
|
|
87
|
+
* Extracted (and tested) rather than left inline because "this changes no CI
|
|
88
|
+
* behaviour" is a promise about the code, not about the workflow files we
|
|
89
|
+
* happen not to have edited.
|
|
90
|
+
*/
|
|
91
|
+
export declare function shouldRepairUserNpmrc(opts: Pick<RegistryLoginOptions, "ci">): boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Repair a hijacked ~/.npmrc: remove an unscoped `registry=<codeartifact>`
|
|
94
|
+
* line if one is present, after taking a timestamped backup.
|
|
95
|
+
*
|
|
96
|
+
* `aws codeartifact login` run WITHOUT `--namespace @mesh-tech` writes that
|
|
97
|
+
* line, and nothing in this CLI used to remove it — so one bare login made
|
|
98
|
+
* CodeArtifact the default registry forever, and every public `npm install`
|
|
99
|
+
* started failing with E401 12 hours later when the token expired. We write
|
|
100
|
+
* the correct (scoped) state; this is the missing repair of the wrong state.
|
|
101
|
+
*
|
|
102
|
+
* Never throws — a repair failure must not fail an otherwise-good login.
|
|
103
|
+
*/
|
|
104
|
+
export declare function repairUnscopedRegistry(npmrcPath?: string): {
|
|
105
|
+
removed: string | null;
|
|
106
|
+
backupPath?: string;
|
|
107
|
+
error?: string;
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* Check that ~/.npmrc is in a working state for @mesh-tech installs: a
|
|
111
|
+
* CodeArtifact token that the registry actually accepts, and no unscoped
|
|
112
|
+
* `registry=` hijacking public npm.
|
|
113
|
+
*
|
|
114
|
+
* A substring match on the file (the old check) reported "valid" for an
|
|
115
|
+
* expired token AND for a hijacked default registry — precisely the state
|
|
116
|
+
* `mesh registry status` exists to catch.
|
|
117
|
+
*/
|
|
118
|
+
export interface RegistryTokenCheck {
|
|
119
|
+
/** Token accepted by the registry AND no unscoped `registry=` hijack. */
|
|
120
|
+
valid: boolean;
|
|
121
|
+
/** The probe's verdict, so callers can tell "broken" from "unverifiable". */
|
|
122
|
+
state: RegistryTokenState;
|
|
123
|
+
endpoint?: string;
|
|
124
|
+
reason?: string;
|
|
125
|
+
hijackLine?: string;
|
|
126
|
+
}
|
|
127
|
+
export declare function checkExistingToken(): Promise<RegistryTokenCheck>;
|
|
128
|
+
/**
|
|
129
|
+
* `mesh registry status` — returns the process exit code instead of calling
|
|
130
|
+
* `process.exit`, so the "broken" vs "unverifiable" distinction is testable.
|
|
131
|
+
*
|
|
132
|
+
* Exit 1 is for faults the user can act on right now: a missing or expired
|
|
133
|
+
* token, or an unscoped CodeArtifact `registry=` line (locally detectable, and
|
|
134
|
+
* broken regardless of the network). An **unreachable** registry is neither —
|
|
135
|
+
* it warns and exits 0, because the remediation we'd print (`mesh registry
|
|
136
|
+
* login`) cannot work offline either, and the same rule already governs the
|
|
137
|
+
* `mesh init` doctor.
|
|
138
|
+
*/
|
|
139
|
+
export declare function runRegistryStatus(opts?: {
|
|
140
|
+
/** Test seam — defaults to the real ~/.npmrc + live registry probe. */
|
|
141
|
+
check?: () => Promise<RegistryTokenCheck>;
|
|
142
|
+
}): Promise<number>;
|
|
143
|
+
export interface RegistryLoginOptions {
|
|
144
|
+
role?: string;
|
|
145
|
+
ci?: boolean;
|
|
146
|
+
skipNpmrc?: boolean;
|
|
147
|
+
/** AWS SSO profile (e.g. mesh-dev) — auto-runs `aws sso login` when stale */
|
|
148
|
+
profile?: string;
|
|
149
|
+
/** Assume the registry's publisher role (from --role or the registry's SSM export) */
|
|
150
|
+
publish?: boolean;
|
|
151
|
+
/**
|
|
152
|
+
* Try the Zitadel-gated registry broker before the AWS paths. Default true.
|
|
153
|
+
* `--no-broker` forces the AWS chain (commander sets this to false).
|
|
154
|
+
*/
|
|
155
|
+
broker?: boolean;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* The full registry-auth sequence (CodeArtifact token → ~/.npmrc → project
|
|
159
|
+
* .npmrc). Shared by `mesh registry login` and `mesh login <context>` (F2:
|
|
160
|
+
* login absorbs registry auth).
|
|
161
|
+
*/
|
|
162
|
+
export declare function runRegistryLogin(context: string | undefined, opts: RegistryLoginOptions): Promise<void>;
|
|
19
163
|
export declare function registerRegistryCommands(program: Command): void;
|
|
20
164
|
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/commands/registry.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/commands/registry.ts"],"names":[],"mappings":"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"}
|