@mesh-tech/mesh-cli 0.1.1 → 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 +1 -0
- package/dist/src/commands/secrets/set.d.ts.map +1 -1
- package/dist/src/commands/secrets/set.js +96 -2
- 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 +36 -22
- 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 @@
|
|
|
1
|
+
{"version":3,"file":"tailscale.js","sourceRoot":"","sources":["../../../src/utils/tailscale.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzG,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAK/B,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAEpE,+EAA+E;AAC/E,QAAQ;AACR,+EAA+E;AAE/E,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC;AACD,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC,CAAC;AAC9D,CAAC;AACD,MAAM,UAAU,OAAO,CAAC,MAAc;IACpC,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAC7D,CAAC;AACD,MAAM,UAAU,SAAS,CAAC,MAAc;IACtC,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC,CAAC;AAChE,CAAC;AACD;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,CAAC;AAC1D,CAAC;AACD;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,CAAC;AAC1D,CAAC;AAmBD,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAgB,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,KAAkB;IACjE,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,IAAI,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,kBAAkB;IACpB,CAAC;AACH,CAAC;AASD,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,MAAM,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAe,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,IAAgB;IAC9D,EAAE,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,mBAAmB,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,IAAI,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,kBAAkB;IACpB,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E,kEAAkE;AAClE,MAAM,UAAU,gBAAgB,CAAC,UAAkB;IAIjD,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAA4D,CAAC;QAC5F,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;IACnF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;IACrC,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,6CAA6C;AAC7C,+EAA+E;AAE/E,iFAAiF;AACjF,MAAM,UAAU,iBAAiB;IAC/B,OAAO,cAAc,CAAC,YAAY,CAAC,CAAC;AACtC,CAAC;AACD,0FAA0F;AAC1F,MAAM,UAAU,gBAAgB;IAC9B,OAAO,cAAc,CAAC,WAAW,CAAC,CAAC;AACrC,CAAC;AACD,SAAS,cAAc,CAAC,IAAY;IAClC,MAAM,IAAI,GAAG,qBAAqB,IAAI,EAAE,CAAC;IACzC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1G,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,kBAAkB;IACpB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,oEAAoE,CAAC,CAAC;AAC/F,CAAC;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,oFAAoF;AACpF,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;IACxE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CACtB,gBAAgB,EAAE,EAClB,CAAC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,EACpD,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAC1D,CAAC;QACF,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;IAClC,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC9E,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,eAAe,CAAC,EAAE;YACtD,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,6EAA6E;QAC7E,4CAA4C;QAC5C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC;YAAE,SAAS;QACjF,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC9C,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;IACzE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,SAAS,GAAG,GAAG;IACvD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,MAAM,GAAG,GAAG,CAAC,CAAU,EAAE,EAAE;YACzB,IAAI,IAAI;gBAAE,OAAO;YACjB,IAAI,GAAG,IAAI,CAAC;YACZ,CAAC,CAAC,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,CAAC;QACF,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAClC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAc,EACd,IAA2C;IAE3C,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;QAChD,2EAA2E;QAC3E,0EAA0E;QAC1E,IAAI,MAAM,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACtC,eAAe,CAAC,MAAM,EAAE;gBACtB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,GAAG,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC;aACxE,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,CAAC;QACD,0EAA0E;QAC1E,yEAAyE;QACzE,uEAAuE;QACvE,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,OAAO,EAAE,SAAS,IAAI,CAAC,MAAM,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YACjE,eAAe,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC5E,OAAO,OAAO,CAAC,SAAS,CAAC;QAC3B,CAAC;QACD,6EAA6E;QAC7E,0EAA0E;QAC1E,8CAA8C;QAC9C,UAAU,CAAC,MAAM,CAAC,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3E,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACnC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,KAAK,CACjB,iBAAiB,EAAE,EACnB;YACE,4BAA4B;YAC5B,YAAY,UAAU,CAAC,MAAM,CAAC,EAAE;YAChC,cAAc,GAAG,EAAE;YACnB,6BAA6B,IAAI,CAAC,SAAS,EAAE;YAC7C,UAAU;SACX,EACD;YACE,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC;YAC3B,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE;SACjD,CACF,CAAC;QACF,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,0EAA0E;QAC1E,6EAA6E;QAC7E,IAAI,KAAK,CAAC,GAAG;YAAE,eAAe,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IACxF,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QACjB,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,YAAY,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC;IACzE,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,wCAAwC,MAAM,WAAW,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC9F,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,6EAA6E;IAC7E,+EAA+E;IAC/E,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;QAC3C,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAClF,CAAC,CAAC,EAAE,CAAC;IACL,+EAA+E;IAC/E,+EAA+E;IAC/E,6EAA6E;IAC7E,8EAA8E;IAC9E,+EAA+E;IAC/E,IAAI,IAAI,EAAE,GAAG,EAAE,CAAC;QACd,IAAI,CAAC;YACH,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC5B,IAAI,EAAE,2CAA2C,MAAM,GAAG;gBAC1D,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;aAC7B,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,sEAAsE;YACtE,oEAAoE;YACpE,uEAAuE;YACvE,qDAAqD;YACrD,IAAI,GAAG,YAAY,YAAY;gBAAE,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/D,mEAAmE;QACrE,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,kBAAkB;QACpB,CAAC;IACH,CAAC;IACD,eAAe,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAKpC;IACC,MAAM,IAAI,GAAG;QACX,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI;QAC7B,gBAAgB,EAAE,IAAI,CAAC,WAAW;QAClC,iBAAiB;QACjB,YAAY,EAAE,IAAI,CAAC,QAAQ;KAC5B,CAAC;IACF,IAAI,IAAI,CAAC,UAAU;QAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7D,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAc,EACd,WAAmB,EACnB,OAAgC,EAAE;IAElC,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,YAAY,KAAK,SAAS;QAAE,OAAO;IAC3D,MAAM,QAAQ,GAAG,QAAQ,MAAM,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,MAAM,KAAK,GAAG,KAAK,CACjB,gBAAgB,EAAE,EAClB,oBAAoB,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,EACxG,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CACtC,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACrB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,EAAE;YAC5B,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YACpB,IAAI,QAAQ;gBAAE,OAAO;YACrB,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACrD,IAAI,CAAC,EAAE,CAAC;gBACN,QAAQ,GAAG,IAAI,CAAC;gBAChB,yEAAyE;gBACzE,0EAA0E;gBAC1E,OAAO,CACL,gEAAgE;oBAC9D,oFAAoF;oBACpF,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM;oBACnB,uCAAuC,CAC1C,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;QACF,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IACD,mEAAmE;IACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QACjB,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACnD,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,OAAO;QACT,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,EAAE,CAAC;IACb,MAAM,IAAI,KAAK,CACb,sCAAsC,MAAM,mFAAmF,CAChI,CAAC;AACJ,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,MAAM,CAAC,MAAc;IACnC,IAAI,CAAC;QACH,YAAY,CAAC,gBAAgB,EAAE,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpG,CAAC;IAAC,MAAM,CAAC;QACP,iBAAiB;IACnB,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,+DAA+D;AAC/D,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,CAAiB,EAAE,CAAiB;IACrE,MAAM,GAAG,GAAG,CAAC,EAAkB,EAAE,EAAE,CACjC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3F,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,sBAAsB,CACpC,KAAyB,EACzB,OAAuB;IAEvB,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa;QAAE,OAAO,KAAK,CAAC;IACjD,OAAO,kBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,QAAQ,CAAC,GAA8B;IAC9C,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACvB,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,MAAkB;IAC5D,+EAA+E;IAC/E,+EAA+E;IAC/E,yCAAyC;IACzC,mBAAmB,CAAC,GAAG,EAAE,MAAM,IAAI,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC;IACtE,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,2CAA2C;IAC5E,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,oDAAoD;QACpF,CAAC;QAAC,MAAM,CAAC;YACP,0BAA0B;QAC5B,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAc,EACd,QAAgD;IAEhD,OAAO,qBAAqB,CAAC;QAC3B,QAAQ,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACxD,iBAAiB,EAAE,QAAQ,CAAC,SAAS;QACrC,aAAa,EAAE,QAAQ,CAAC,KAAK;KAC9B,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CACrB,MAAc,EACd,QAAgD,EAChD,UAAkB;IAElB,OAAO,aAAa,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC;AAClF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,KAAyB;IACzE,IAAI,KAAK,EAAE,OAAO,KAAK,SAAS;QAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC/D,6EAA6E;IAC7E,6EAA6E;IAC7E,6EAA6E;IAC7E,EAAE;IACF,2EAA2E;IAC3E,6EAA6E;IAC7E,2EAA2E;IAC3E,wEAAwE;IACxE,8EAA8E;IAC9E,+DAA+D;IAC/D,wEAAwE;IACxE,4CAA4C;IAC5C,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,MAAiB,EAAQ,EAAE;QAC1D,IAAI,CAAC;YACH,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,CAAC,GAAG,YAAY,YAAY,CAAC;gBAAE,MAAM,GAAG,CAAC;YAC9C,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC;IACF,IAAI,KAAK,EAAE,aAAa;QACtB,UAAU,CAAC,KAAK,CAAC,aAAa,EAAE;YAC9B,IAAI,EAAE,kDAAkD,MAAM,GAAG;YACjE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC;SACxB,CAAC,CAAC;IACL,MAAM,QAAQ,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,IAAI,QAAQ;QACV,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,GAAG,EAAE;YACxC,IAAI,EAAE,wDAAwD,MAAM,GAAG;YACvE,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC;SACjC,CAAC,CAAC;IACL,KAAK,MAAM,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC;QACvD,UAAU,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,wDAAwD,MAAM,GAAG,EAAE,CAAC,CAAC;IAC/F,mBAAmB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;AAClD,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,qBAAqB,CAAC,MAAc,EAAE,KAAe;IAClE,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,MAAM,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC;gBAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,GAAG,SAAS,CAAC;QACjB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC9B,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3E,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,4BAA4B,CAAC,CAAC,CAAC;AACtF,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAkB;IACvD,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;IAC9F,iFAAiF;IACjF,kFAAkF;IAClF,oFAAoF;IACpF,iFAAiF;IACjF,yEAAyE;IACzE,MAAM,WAAW,GACf,KAAK,EAAE,OAAO,KAAK,SAAS;QAC1B,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACrC,IACE,KAAK;QACL,WAAW;QACX,kBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;QAChD,6EAA6E;QAC7E,4EAA4E;QAC5E,2EAA2E;QAC3E,4EAA4E;QAC5E,4EAA4E;QAC5E,yEAAyE;QACzE,oEAAoE;QACpE,4EAA4E;QAC5E,wEAAwE;QACxE,sEAAsE;QACtE,6DAA6D;QAC7D,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;QACnC,CAAC,MAAM,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EACvD,CAAC;QACD,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;QAC1C,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC;IAClC,CAAC;IACD,uEAAuE;IACvE,6EAA6E;IAC7E,0EAA0E;IAC1E,iEAAiE;IACjE,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvC,MAAM,qBAAqB,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D,sEAAsE;IACtE,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;IAC3B,6EAA6E;IAC7E,+EAA+E;IAC/E,iCAAiC;IACjC,0EAA0E;IAC1E,2EAA2E;IAC3E,8EAA8E;IAC9E,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,IAAI,gBAAgB,EAAE,EAAE,CAAC;QACvB,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;QAC1B,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACtC,wEAAwE;QACxE,8EAA8E;QAC9E,2EAA2E;QAC3E,6CAA6C;QAC7C,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;YAC1E,0EAA0E;YAC1E,yEAAyE;YACzE,IAAI,CAAC,MAAM,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE;gBAAE,OAAO,CAAC,CAAC;YACtE,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACnC,yEAAyE;YACzE,0EAA0E;YAC1E,yEAAyE;YACzE,oEAAoE;YACpE,MAAM,qBAAqB,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC1D,OAAO,CAAC,sFAAsF,CAAC,CAAC;QAClG,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,gEAAgE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IACD,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC;IAC3B,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACtC,0EAA0E;IAC1E,4EAA4E;IAC5E,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;QACrE,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;IACH,yEAAyE;IACzE,4EAA4E;IAC5E,wEAAwE;IACxE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CACxB,OAAO,CAAC,sCAAsC,GAAG,CAAC,OAAO,0BAA0B,CAAC,CACrF,CAAC;IACF,KAAK,CAAC,KAAK,EAAE,CAAC;IACd,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC;IACxC,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACtC,8EAA8E;IAC9E,2EAA2E;IAC3E,2EAA2E;IAC3E,uEAAuE;IACvE,oEAAoE;IACpE,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAChE,IAAI,IAAI,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IACpC,6EAA6E;IAC7E,6DAA6D;IAC7D,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACrF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,oBAAoB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACjG,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC;SAC3D,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,QAAQ,IAAI,KAAK,IAAI,EAAE,CAAC;SAC9C,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,IAAI,KAAK,CACb,2DAA2D,KAAK,CAAC,MAAM,IAAI;QACzE,IAAI,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAC3F,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACtC,SAAoB,EACpB,OAAuB;IAEvB,MAAM,OAAO,GAAG,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;IAC7D,CAAC;IACD,OAAO,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,CAAC;AACnC,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,kBAAkB;IAChC,IAAI,CAAC;QACH,iBAAiB,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,iFAAiF;AACjF,+EAA+E;AAE/E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAc,EACd,GAAW,EACX,IAAqF;IAErF,4EAA4E;IAC5E,oFAAoF;IACpF,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IACjG,MAAM,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/E,6EAA6E;IAC7E,sEAAsE;IACtE,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACvE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,2CAA2C,MAAM,IAAI,GAAG,2BAA2B,CAAC,CAAC;IACvG,CAAC;IACD,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC;IACxD,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IACjF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,uCAAuC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC;IAC3E,CAAC;IACD,MAAM,KAAK,GAAgB;QACzB,MAAM;QACN,GAAG;QACH,SAAS;QACT,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,aAAa,EAAE,IAAI;QACnB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,OAAO,EAAE,OAAO;KACjB,CAAC;IACF,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,SAAoB,EACpB,GAAiH;IAEjH,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE;QAChE,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,UAAU,EAAE,GAAG,CAAC,UAAU;KAC3B,CAAC,CAAC;IACH,OAAO,wBAAwB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC;AAED,+EAA+E;AAC/E,6CAA6C;AAC7C,+EAA+E;AAE/E,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,oBAAoB,MAAM,EAAE,CAAC;AACtC,CAAC;AAED,0FAA0F;AAC1F,SAAS,SAAS,CAAC,CAAS;IAC1B,OAAO,CAAC;SACL,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,sBAAsB,CAAC,IAQtC;IACC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,+BAA+B,CAAC;IAChE,OAAO;;;;;YAKG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;;;cAG3B,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;cACvB,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;;;;cAIvB,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;;;;;cAKtB,SAAS,CAAC,OAAO,CAAC;;;;;;;;;;YAUpB,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;;YAEvB,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;;;CAGlC,CAAC;AACF,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,uBAAuB,CACrC,OAAuB,EACvB,SAAsB;IAEtB,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,OAAO,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;AAC1C,CAAC;AAED,IAAI,iBAAsC,CAAC;AAC3C,4FAA4F;AAC5F,MAAM,UAAU,gBAAgB;IAC9B,IAAI,iBAAiB,KAAK,SAAS;QAAE,OAAO,iBAAiB,CAAC;IAC9D,IAAI,CAAC;QACH,YAAY,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1D,YAAY,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvE,iBAAiB,GAAG,IAAI,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,iBAAiB,GAAG,KAAK,CAAC;IAC5B,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,OAAe;IAChE,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC;QACH,sEAAsE;QACtE,4EAA4E;QAC5E,IAAI,WAAW,GAAG,OAAO,CAAC;QAC1B,IAAI,CAAC;YACH,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;QACD,6EAA6E;QAC7E,8EAA8E;QAC9E,IAAI,OAAO,GAAG,gEAAgE,CAAC;QAC/E,IAAI,CAAC;YACH,OAAO,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;QACD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,EAAE,CAAC,aAAa,CACd,SAAS,EACT,sBAAsB,CAAC;YACrB,MAAM;YACN,OAAO,EAAE,WAAW;YACpB,OAAO,EAAE,OAAO,CAAC,QAAQ;YACzB,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;YACxD,OAAO;SACR,CAAC,CACH,CAAC;QACF,IAAI,CAAC;YACH,YAAY,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtF,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;QACD,YAAY,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtF,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC;QACH,YAAY,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtF,CAAC;IAAC,MAAM,CAAC;QACP,gBAAgB;IAClB,CAAC;IACD,IAAI,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,kBAAkB;IACpB,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,wDAAwD;AACxD,+EAA+E;AAE/E;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAc;IAC7C,MAAM,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,6EAA6E;QAC7E,yEAAyE;QACzE,wEAAwE;QACxE,wEAAwE;QACxE,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC7B,mBAAmB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAqC,CAAC;IAC7D,0EAA0E;IAC1E,2EAA2E;IAC3E,2DAA2D;IAC3D,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,MAAM,QAAQ,GAAG,CAAC,CAAe,EAAE,EAAE;QACnC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;QAClC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,eAAe,CAAC;YAC7B,UAAU,EAAE,CAAC,CAAC,SAAS;YACvB,SAAS,EAAE,EAAE,CAAC,SAAS;YACvB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACf,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;gBACrD,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,wBAAwB,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAChG,CAAC;SACF,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO;QAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,kBAAkB,CACtC,GAAoB,EAAE,CAAC,CAAC;QACtB,KAAK;QACL,MAAM;QACN,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,SAAS,EAAE,EAAE,CAAC,SAAS;QACvB,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAChG,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAChF,CAAC,CACH,CAAC;IACF,mBAAmB,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE;QAC9C,MAAM;QACN,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG;QACnD,KAAK;QACL,WAAW,EAAE,OAAO,CAAC,IAAI;QACzB,SAAS,EAAE,EAAE,CAAC,SAAS;QACvB,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACzC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE;YAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QAC5C,2EAA2E;QAC3E,2EAA2E;QAC3E,mBAAmB,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;QACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,SAAS,CAAC;QACR,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,CAAC;YACH,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;gBAChD,MAAM,YAAY,CAAC,MAAM,EAAE;oBACzB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,WAAW;oBAC7C,SAAS,EAAE,EAAE,CAAC,SAAS;iBACxB,CAAC,CAAC;YACL,CAAC;YACD,wEAAwE;YACxE,0EAA0E;YAC1E,sEAAsE;YACtE,uDAAuD;YACvD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;YACpC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBAC3B,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS;oBAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACtE,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,uBAAuB,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;gBAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC9E,CAAC;QAAC,MAAM,CAAC;YACP,iDAAiD;QACnD,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Temporal auth resolution for the mesh CLI.
|
|
3
|
+
*
|
|
4
|
+
* Two responsibilities, kept together because they're always used as a pair:
|
|
5
|
+
* 1. `resolveTemporalAuth` — discover the M2M client_credentials + Zitadel
|
|
6
|
+
* issuer/project for a tenant/env from SSM (with a kubectl pod-env fallback).
|
|
7
|
+
* This is what `mesh dev` injects into worker/service env.
|
|
8
|
+
* 2. `acquireTemporalBearer` — exchange those credentials for a Zitadel Bearer
|
|
9
|
+
* JWT via the OAuth2 client_credentials grant, so CLI commands that talk to
|
|
10
|
+
* an auth-enforcing Temporal frontend (describe/history/terminate) can attach
|
|
11
|
+
* `authorization: Bearer <token>` gRPC metadata. Without it the server's
|
|
12
|
+
* MeshAuthorizer denies calls with "Request unauthorized".
|
|
13
|
+
*
|
|
14
|
+
* The token fetch is intentionally reimplemented here (not imported from
|
|
15
|
+
* `@mesh-tech/app-kit`, which mirrors it) because app-kit *depends on* mesh-cli —
|
|
16
|
+
* importing it back would create a dependency cycle.
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Discover Temporal M2M credentials + Zitadel issuer/project for a tenant/env.
|
|
20
|
+
*
|
|
21
|
+
* Returns an env-var-shaped record (TEMPORAL_AUTH_CLIENT_ID/SECRET,
|
|
22
|
+
* ZITADEL_ISSUER, ZITADEL_PROJECT_ID, …). Missing pieces are simply absent —
|
|
23
|
+
* callers decide whether what resolved is enough to mint a token.
|
|
24
|
+
*
|
|
25
|
+
* `platformName` keys the Zitadel issuer lookup and is the platform NAME
|
|
26
|
+
* (e.g. "trabian"/"mesh"), NOT the app tenant — getting it wrong means the
|
|
27
|
+
* issuer never resolves, so no Bearer, so Temporal denies with "Request
|
|
28
|
+
* unauthorized".
|
|
29
|
+
*/
|
|
30
|
+
export declare function resolveTemporalAuth(tenant: string, env: string, platformName?: string): Promise<Record<string, string>>;
|
|
31
|
+
/**
|
|
32
|
+
* Exchange resolved M2M credentials for a Zitadel Bearer access token via the
|
|
33
|
+
* OAuth2 client_credentials grant. Reads from the passed record first, then the
|
|
34
|
+
* ambient env (which `mesh dev` may already have populated).
|
|
35
|
+
*
|
|
36
|
+
* Returns `undefined` when credentials are incomplete — the caller then connects
|
|
37
|
+
* unauthenticated (correct for local/non-enforcing Temporal servers).
|
|
38
|
+
*
|
|
39
|
+
* Mirrors `@mesh-tech/app-kit`'s `acquireToken` (kept in sync deliberately; see
|
|
40
|
+
* the module doc for why it isn't imported).
|
|
41
|
+
*/
|
|
42
|
+
export declare function acquireTemporalBearer(vars?: Record<string, string | undefined>): Promise<string | undefined>;
|
|
43
|
+
//# sourceMappingURL=temporal-auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"temporal-auth.d.ts","sourceRoot":"","sources":["../../../src/utils/temporal-auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,YAAY,GAAE,MAAe,GAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA8GjC;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAM,GAC5C,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAyC7B"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Temporal auth resolution for the mesh CLI.
|
|
3
|
+
*
|
|
4
|
+
* Two responsibilities, kept together because they're always used as a pair:
|
|
5
|
+
* 1. `resolveTemporalAuth` — discover the M2M client_credentials + Zitadel
|
|
6
|
+
* issuer/project for a tenant/env from SSM (with a kubectl pod-env fallback).
|
|
7
|
+
* This is what `mesh dev` injects into worker/service env.
|
|
8
|
+
* 2. `acquireTemporalBearer` — exchange those credentials for a Zitadel Bearer
|
|
9
|
+
* JWT via the OAuth2 client_credentials grant, so CLI commands that talk to
|
|
10
|
+
* an auth-enforcing Temporal frontend (describe/history/terminate) can attach
|
|
11
|
+
* `authorization: Bearer <token>` gRPC metadata. Without it the server's
|
|
12
|
+
* MeshAuthorizer denies calls with "Request unauthorized".
|
|
13
|
+
*
|
|
14
|
+
* The token fetch is intentionally reimplemented here (not imported from
|
|
15
|
+
* `@mesh-tech/app-kit`, which mirrors it) because app-kit *depends on* mesh-cli —
|
|
16
|
+
* importing it back would create a dependency cycle.
|
|
17
|
+
*/
|
|
18
|
+
import { execFileSync } from "node:child_process";
|
|
19
|
+
import { logSuccess, logWarn } from "./log.js";
|
|
20
|
+
/**
|
|
21
|
+
* Discover Temporal M2M credentials + Zitadel issuer/project for a tenant/env.
|
|
22
|
+
*
|
|
23
|
+
* Returns an env-var-shaped record (TEMPORAL_AUTH_CLIENT_ID/SECRET,
|
|
24
|
+
* ZITADEL_ISSUER, ZITADEL_PROJECT_ID, …). Missing pieces are simply absent —
|
|
25
|
+
* callers decide whether what resolved is enough to mint a token.
|
|
26
|
+
*
|
|
27
|
+
* `platformName` keys the Zitadel issuer lookup and is the platform NAME
|
|
28
|
+
* (e.g. "trabian"/"mesh"), NOT the app tenant — getting it wrong means the
|
|
29
|
+
* issuer never resolves, so no Bearer, so Temporal denies with "Request
|
|
30
|
+
* unauthorized".
|
|
31
|
+
*/
|
|
32
|
+
export async function resolveTemporalAuth(tenant, env, platformName = tenant) {
|
|
33
|
+
const { SSMClient, GetParameterCommand } = await import("@aws-sdk/client-ssm");
|
|
34
|
+
const ssm = new SSMClient({ region: process.env.AWS_REGION || "us-east-2" });
|
|
35
|
+
const results = {};
|
|
36
|
+
// Each SSM lookup is independent so a missing optional parameter
|
|
37
|
+
// (e.g. token-exchange-app) doesn't prevent other credentials from resolving.
|
|
38
|
+
async function trySSM(name) {
|
|
39
|
+
try {
|
|
40
|
+
const resp = await ssm.send(new GetParameterCommand({ Name: name, WithDecryption: true }));
|
|
41
|
+
return resp.Parameter?.Value ?? undefined;
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return undefined;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
try {
|
|
48
|
+
// ── Scheme 1: Zitadel-managed per-tenant credentials ──
|
|
49
|
+
const workerPath = `/mesh-platform/${tenant}/${env}/temporal/worker-service-account-key`;
|
|
50
|
+
const exchangePath = `/mesh-platform/${tenant}/${env}/temporal/token-exchange-app`;
|
|
51
|
+
const workerJson = await trySSM(workerPath);
|
|
52
|
+
if (workerJson) {
|
|
53
|
+
const worker = JSON.parse(workerJson);
|
|
54
|
+
results.TEMPORAL_AUTH_CLIENT_ID = worker.clientId;
|
|
55
|
+
results.TEMPORAL_AUTH_CLIENT_SECRET = worker.clientSecret;
|
|
56
|
+
}
|
|
57
|
+
// Token exchange app credentials (optional — not all tenants have this)
|
|
58
|
+
const exchangeJson = await trySSM(exchangePath);
|
|
59
|
+
if (exchangeJson) {
|
|
60
|
+
const exchange = JSON.parse(exchangeJson);
|
|
61
|
+
results.ZITADEL_TOKEN_EXCHANGE_CLIENT_ID = exchange.clientId;
|
|
62
|
+
results.ZITADEL_TOKEN_EXCHANGE_CLIENT_SECRET = exchange.clientSecret;
|
|
63
|
+
}
|
|
64
|
+
// Zitadel issuer URL and project ID from the PLATFORM's config, keyed by the
|
|
65
|
+
// platform NAME (not the app tenant, not a hardcoded "mesh").
|
|
66
|
+
const platformJson = await trySSM(`/mesh-platform/${platformName}/${env}/platform/zitadel`);
|
|
67
|
+
if (platformJson) {
|
|
68
|
+
const platform = JSON.parse(platformJson);
|
|
69
|
+
if (platform.endpoint)
|
|
70
|
+
results.ZITADEL_ISSUER = platform.endpoint;
|
|
71
|
+
if (platform.projectId)
|
|
72
|
+
results.ZITADEL_PROJECT_ID = platform.projectId;
|
|
73
|
+
}
|
|
74
|
+
// ── Scheme 2: Legacy shared credentials (fallback) ──
|
|
75
|
+
if (!results.TEMPORAL_AUTH_CLIENT_ID) {
|
|
76
|
+
const legacyClientId = await trySSM("/platform/temporal/auth/CLIENT_ID");
|
|
77
|
+
const legacyClientSecret = await trySSM("/platform/temporal/auth/CLIENT_SECRET");
|
|
78
|
+
if (legacyClientId && legacyClientSecret) {
|
|
79
|
+
results.TEMPORAL_AUTH_CLIENT_ID = legacyClientId;
|
|
80
|
+
results.TEMPORAL_AUTH_CLIENT_SECRET = legacyClientSecret;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
// ── Discover Zitadel config from Temporal server pods (final fallback) ──
|
|
84
|
+
if (!results.ZITADEL_ISSUER) {
|
|
85
|
+
try {
|
|
86
|
+
const podEnv = execFileSync("kubectl", [
|
|
87
|
+
"get",
|
|
88
|
+
"pods",
|
|
89
|
+
"-n",
|
|
90
|
+
`temporal-${env}`,
|
|
91
|
+
"-l",
|
|
92
|
+
"app.kubernetes.io/component=frontend",
|
|
93
|
+
"-o",
|
|
94
|
+
"jsonpath={.items[0].spec.containers[0].env}",
|
|
95
|
+
], { encoding: "utf-8", timeout: 10_000, stdio: ["pipe", "pipe", "pipe"] }).trim();
|
|
96
|
+
if (podEnv) {
|
|
97
|
+
const envVars = JSON.parse(podEnv);
|
|
98
|
+
for (const v of envVars) {
|
|
99
|
+
if (v.name === "ZITADEL_ISSUER_URL" && v.value && !results.ZITADEL_ISSUER) {
|
|
100
|
+
results.ZITADEL_ISSUER = v.value;
|
|
101
|
+
}
|
|
102
|
+
if (v.name === "ZITADEL_PROJECT_ID" && v.value && !results.ZITADEL_PROJECT_ID) {
|
|
103
|
+
results.ZITADEL_PROJECT_ID = v.value;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
catch (err) {
|
|
109
|
+
const detail = err instanceof Error ? err.message : String(err);
|
|
110
|
+
const stderr = String(err?.stderr ?? "");
|
|
111
|
+
if (/\.kube[/\\]config|error loading config file/i.test(`${detail} ${stderr}`)) {
|
|
112
|
+
logWarn("kubectl could not read a kubeconfig and fell back to ~/.kube/config " +
|
|
113
|
+
"(macOS blocks it for shells without Full Disk Access). Run inside the " +
|
|
114
|
+
"mesh dev tmux session, or export KUBECONFIG=$TMPDIR/mesh-dev-sessions/<session>.kubeconfig.");
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
if (results.TEMPORAL_AUTH_CLIENT_ID && results.ZITADEL_ISSUER) {
|
|
119
|
+
logSuccess(`Temporal auth resolved (client: ${results.TEMPORAL_AUTH_CLIENT_ID})`);
|
|
120
|
+
}
|
|
121
|
+
else if (Object.keys(results).length > 0) {
|
|
122
|
+
logWarn("Partial Temporal auth resolved (some credentials missing)");
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
catch (err) {
|
|
126
|
+
logWarn(`Could not resolve Temporal auth from SSM: ${err instanceof Error ? err.message : String(err)}`);
|
|
127
|
+
}
|
|
128
|
+
return results;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Exchange resolved M2M credentials for a Zitadel Bearer access token via the
|
|
132
|
+
* OAuth2 client_credentials grant. Reads from the passed record first, then the
|
|
133
|
+
* ambient env (which `mesh dev` may already have populated).
|
|
134
|
+
*
|
|
135
|
+
* Returns `undefined` when credentials are incomplete — the caller then connects
|
|
136
|
+
* unauthenticated (correct for local/non-enforcing Temporal servers).
|
|
137
|
+
*
|
|
138
|
+
* Mirrors `@mesh-tech/app-kit`'s `acquireToken` (kept in sync deliberately; see
|
|
139
|
+
* the module doc for why it isn't imported).
|
|
140
|
+
*/
|
|
141
|
+
export async function acquireTemporalBearer(vars = {}) {
|
|
142
|
+
const issuerUrl = vars.ZITADEL_ISSUER ?? process.env.ZITADEL_ISSUER;
|
|
143
|
+
const projectId = vars.ZITADEL_PROJECT_ID ?? process.env.ZITADEL_PROJECT_ID;
|
|
144
|
+
const clientId = vars.TEMPORAL_AUTH_CLIENT_ID ?? process.env.TEMPORAL_AUTH_CLIENT_ID;
|
|
145
|
+
const clientSecret = vars.TEMPORAL_AUTH_CLIENT_SECRET ?? process.env.TEMPORAL_AUTH_CLIENT_SECRET;
|
|
146
|
+
if (!issuerUrl || !clientId || !clientSecret) {
|
|
147
|
+
return undefined;
|
|
148
|
+
}
|
|
149
|
+
const scopes = ["openid"];
|
|
150
|
+
if (projectId) {
|
|
151
|
+
scopes.push(`urn:zitadel:iam:org:project:id:${projectId}:aud`);
|
|
152
|
+
// Request project roles in the token (MeshAuthorizer Path A). Same env gate
|
|
153
|
+
// as app-kit: skipping the roles scope falls back to client_id parsing
|
|
154
|
+
// (Path B), which currently also yields the reader bit.
|
|
155
|
+
if (process.env.TEMPORAL_M2M_SKIP_ROLES_SCOPE !== "true") {
|
|
156
|
+
scopes.push("urn:zitadel:iam:org:projects:roles");
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
const response = await fetch(`${issuerUrl}/oauth/v2/token`, {
|
|
160
|
+
method: "POST",
|
|
161
|
+
headers: { "Content-Type": "application/x-www-form-urlencoded" },
|
|
162
|
+
body: new URLSearchParams({
|
|
163
|
+
grant_type: "client_credentials",
|
|
164
|
+
client_id: clientId,
|
|
165
|
+
client_secret: clientSecret,
|
|
166
|
+
scope: scopes.join(" "),
|
|
167
|
+
}),
|
|
168
|
+
});
|
|
169
|
+
if (!response.ok) {
|
|
170
|
+
const text = await response.text();
|
|
171
|
+
throw new Error(`Temporal token acquisition failed: ${response.status} ${response.statusText} — ${text}`);
|
|
172
|
+
}
|
|
173
|
+
const data = (await response.json());
|
|
174
|
+
return data.access_token;
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=temporal-auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"temporal-auth.js","sourceRoot":"","sources":["../../../src/utils/temporal-auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Temporal payload decryption helpers for mesh CLI.
|
|
3
|
+
*
|
|
4
|
+
* Mirrors the AES-256-GCM codec in `@mesh-tech/app-kit/temporal-codec`. The CLI
|
|
5
|
+
* can't depend on app-kit directly because app-kit depends on mesh-cli — so
|
|
6
|
+
* the codec logic is intentionally duplicated here, kept small, and bounded
|
|
7
|
+
* to read-only decryption (the CLI never encrypts).
|
|
8
|
+
*
|
|
9
|
+
* Wire format (matches app-kit EncryptionCodec):
|
|
10
|
+
* metadata["encoding"] = "binary/encrypted"
|
|
11
|
+
* metadata["encryption-key-id"] = first 16 hex chars of SHA-256(encodingKey)
|
|
12
|
+
* data = IV (12 bytes) || ciphertext || GCM auth tag (16 bytes)
|
|
13
|
+
*
|
|
14
|
+
* Decryption of `data` yields a serialized Temporal Payload protobuf, whose
|
|
15
|
+
* inner `encoding` metadata tells you how to interpret the inner bytes
|
|
16
|
+
* (`json/plain`, `binary/plain`, etc.). We hand-decode the Payload message
|
|
17
|
+
* (a trivial 2-field protobuf) instead of depending on `@temporalio/proto`,
|
|
18
|
+
* so the CLI stays dependency-clean and doesn't need a Temporal SDK peer.
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* Read the Temporal encoding key from a Kubernetes secret in the given
|
|
22
|
+
* namespace. Returns `undefined` when kubectl is unavailable, the secret
|
|
23
|
+
* doesn't exist, or the caller isn't authenticated to the cluster.
|
|
24
|
+
*
|
|
25
|
+
* The K8s secret is preferred over Pulumi stack output because personal dev
|
|
26
|
+
* stacks ship a placeholder encoding key that cannot decrypt deployed
|
|
27
|
+
* payloads; the K8s secret is always authoritative for a given namespace.
|
|
28
|
+
*
|
|
29
|
+
* @param namespace - Kubernetes namespace matching the Temporal namespace
|
|
30
|
+
* (mesh apps use the same name for both).
|
|
31
|
+
*/
|
|
32
|
+
export declare function resolveTemporalEncodingKeyFromK8s(namespace: string): string | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* Minimal shape of a Temporal Payload we care about.
|
|
35
|
+
* Matches `temporal.api.common.v1.Payload` from @temporalio/proto but avoids
|
|
36
|
+
* importing the type at module load time (so the CLI still loads without the
|
|
37
|
+
* Temporal SDK installed).
|
|
38
|
+
*/
|
|
39
|
+
export interface RawPayload {
|
|
40
|
+
metadata?: Record<string, Uint8Array | null | undefined> | null;
|
|
41
|
+
data?: Uint8Array | null;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* A decrypter closure bound to a specific encoding key. Returns a decoded
|
|
45
|
+
* human-readable string for a single encrypted Payload, or `null` when the
|
|
46
|
+
* payload wasn't encrypted and the caller should fall back to raw decoding.
|
|
47
|
+
*
|
|
48
|
+
* Error paths (`[undecryptable]`, `[decode error: ...]`) are returned as
|
|
49
|
+
* strings rather than thrown — debugging a history is a best-effort read-only
|
|
50
|
+
* operation and one bad payload shouldn't abort the whole dump.
|
|
51
|
+
*/
|
|
52
|
+
export type PayloadDecrypter = (payload: RawPayload | null | undefined) => Promise<string | null>;
|
|
53
|
+
/**
|
|
54
|
+
* Build a decrypter closure for the given encoding key.
|
|
55
|
+
*/
|
|
56
|
+
export declare function createPayloadDecrypter(encodingKey: string): Promise<PayloadDecrypter>;
|
|
57
|
+
/**
|
|
58
|
+
* A closure that decrypts a single encrypted Temporal Payload to its INNER
|
|
59
|
+
* (plaintext) Payload — the `{ metadata, data }` the worker's codec wrapped —
|
|
60
|
+
* rather than the human-readable string {@link PayloadDecrypter} produces.
|
|
61
|
+
*
|
|
62
|
+
* Returns `null` when the payload isn't encrypted (the caller leaves it as-is).
|
|
63
|
+
* Unlike the display decrypter, decryption errors THROW here: a fixture with a
|
|
64
|
+
* silently-mangled payload would replay wrong, so the caller must surface it.
|
|
65
|
+
*/
|
|
66
|
+
export type RawPayloadDecrypter = (payload: RawPayload | null | undefined) => Promise<RawPayload | null>;
|
|
67
|
+
/**
|
|
68
|
+
* Build a raw (Payload-in, Payload-out) decrypter for the given encoding key.
|
|
69
|
+
*
|
|
70
|
+
* This is the fixture-capture counterpart of {@link createPayloadDecrypter}:
|
|
71
|
+
* where that one renders a payload for human display (lossy — binary payloads
|
|
72
|
+
* become placeholders), this one returns the exact decrypted inner Payload so
|
|
73
|
+
* the bytes can be re-serialized into a replayable proto3-JSON history.
|
|
74
|
+
*/
|
|
75
|
+
export declare function createRawPayloadDecrypter(encodingKey: string): Promise<RawPayloadDecrypter>;
|
|
76
|
+
/**
|
|
77
|
+
* Resolve the Temporal encoding key for a namespace, logging where it came
|
|
78
|
+
* from (or why it couldn't be found). Prefer the K8s secret (authoritative for
|
|
79
|
+
* the namespace); fall back to an explicit TEMPORAL_ENCODING_KEY env var. The
|
|
80
|
+
* env fallback lets you decrypt a workflow's history OFFLINE — e.g. to
|
|
81
|
+
* reconstruct a conversation, or capture a replay fixture, whose worker can no
|
|
82
|
+
* longer replay it — using the key from a running `mesh dev` worker env when
|
|
83
|
+
* kubectl/cluster access isn't set up.
|
|
84
|
+
*
|
|
85
|
+
* Returns `undefined` when neither source yields a key.
|
|
86
|
+
*/
|
|
87
|
+
export declare function resolveEncodingKey(namespace: string): string | undefined;
|
|
88
|
+
/**
|
|
89
|
+
* Resolve the encoding key and build a decrypter for the given namespace.
|
|
90
|
+
* Logs a warning and returns `undefined` when the key can't be read; callers
|
|
91
|
+
* should fall back to printing events without payloads.
|
|
92
|
+
*/
|
|
93
|
+
export declare function buildDecrypterForNamespace(namespace: string): Promise<PayloadDecrypter | undefined>;
|
|
94
|
+
/**
|
|
95
|
+
* Resolve the encoding key and build a RAW (Payload-in/Payload-out) decrypter
|
|
96
|
+
* for the given namespace — used by `capture-history` to decrypt payloads back
|
|
97
|
+
* into replayable proto bytes. Returns `undefined` when the key can't be read;
|
|
98
|
+
* callers decide whether that's fatal.
|
|
99
|
+
*/
|
|
100
|
+
export declare function buildRawDecrypterForNamespace(namespace: string): Promise<RawPayloadDecrypter | undefined>;
|
|
101
|
+
//# sourceMappingURL=temporal-codec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"temporal-codec.d.ts","sourceRoot":"","sources":["../../../src/utils/temporal-codec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAQH;;;;;;;;;;;GAWG;AACH,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,MAAM,GAChB,MAAM,GAAG,SAAS,CAuBpB;AAqCD;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC;IAChE,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC7B,OAAO,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,KACnC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAE5B;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,gBAAgB,CAAC,CAwB3B;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAChC,OAAO,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,KACnC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;AAEhC;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAC7C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,mBAAmB,CAAC,CAkB9B;AAmJD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAkBxE;AAED;;;;GAIG;AACH,wBAAsB,0BAA0B,CAC9C,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAIvC;AAED;;;;;GAKG;AACH,wBAAsB,6BAA6B,CACjD,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAI1C"}
|