eve 0.82.0 → 0.83.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +81 -0
- package/NOTICE +1 -1
- package/dist/src/channel/pending-authorization.d.ts +5 -0
- package/dist/src/channel/pending-authorization.js +1 -1
- package/dist/src/channel/session.d.ts +2 -0
- package/dist/src/channel/session.js +1 -1
- package/dist/src/channel/types.d.ts +5 -0
- package/dist/src/chunks/{use-eve-agent-DTu78IAF.js → use-eve-agent-DnbG9c7c.js} +73 -14
- package/dist/src/chunks/{use-eve-agent-DlznYwQk.js → use-eve-agent-ZY7NQ2VW.js} +73 -14
- package/dist/src/cli/dev/local-server-child.js +1 -1
- package/dist/src/cli/dev/local-server-cleanup.js +1 -1
- package/dist/src/cli/dev/tui/question-panel.d.ts +4 -1
- package/dist/src/cli/dev/tui/question-panel.js +1 -1
- package/dist/src/cli/dev/tui/terminal-renderer.js +4 -4
- package/dist/src/cli/run.js +1 -1
- package/dist/src/client/eve-agent-store.d.ts +1 -1
- package/dist/src/client/eve-agent-store.js +1 -1
- package/dist/src/client/index.d.ts +1 -0
- package/dist/src/client/message-response.d.ts +18 -0
- package/dist/src/client/message-response.js +1 -1
- package/dist/src/client/session-controls.d.ts +6 -0
- package/dist/src/client/session-controls.js +1 -1
- package/dist/src/client/session.d.ts +4 -0
- package/dist/src/client/session.js +1 -1
- package/dist/src/compiled/.vendor-stamp.json +8 -8
- package/dist/src/compiled/@eve/catalog/index.js +1 -1
- package/dist/src/compiled/@workflow/core/events-consumer.d.ts +2 -0
- package/dist/src/compiled/@workflow/core/index.js +2 -2
- package/dist/src/compiled/@workflow/core/private.d.ts +5 -3
- package/dist/src/compiled/@workflow/core/private.js +1 -1
- package/dist/src/compiled/@workflow/core/runtime/constants.d.ts +1 -37
- package/dist/src/compiled/@workflow/core/runtime/event-limit-warning.d.ts +32 -0
- package/dist/src/compiled/@workflow/core/runtime/helpers.d.ts +5 -6
- package/dist/src/compiled/@workflow/core/runtime/helpers.js +1 -1
- package/dist/src/compiled/@workflow/core/runtime/runs.d.ts +8 -0
- package/dist/src/compiled/@workflow/core/runtime/start.d.ts +16 -0
- package/dist/src/compiled/@workflow/core/runtime/suspension-handler.d.ts +15 -18
- package/dist/src/compiled/@workflow/core/runtime/vm-mode.d.ts +20 -0
- package/dist/src/compiled/@workflow/core/runtime.js +4 -4
- package/dist/src/compiled/@workflow/core/seeded-nanoid.d.ts +2 -0
- package/dist/src/compiled/@workflow/core/serialization/compression.d.ts +14 -3
- package/dist/src/compiled/@workflow/core/serialization.d.ts +1 -1
- package/dist/src/compiled/@workflow/core/serialization.js +1 -1
- package/dist/src/compiled/@workflow/core/telemetry/semantic-conventions.d.ts +0 -18
- package/dist/src/compiled/@workflow/core/version.d.ts +1 -1
- package/dist/src/compiled/@workflow/core/workflow.js +1 -1
- package/dist/src/compiled/@workflow/errors/index.d.ts +48 -0
- package/dist/src/compiled/@workflow/errors/index.js +1 -1
- package/dist/src/compiled/@workflow/world/env-config.d.ts +24 -0
- package/dist/src/compiled/@workflow/world/events.d.ts +126 -7
- package/dist/src/compiled/@workflow/world/index.d.ts +3 -3
- package/dist/src/compiled/@workflow/world/interfaces.d.ts +59 -8
- package/dist/src/compiled/@workflow/world/queue.d.ts +71 -9
- package/dist/src/compiled/@workflow/world/recovery.d.ts +6 -0
- package/dist/src/compiled/@workflow/world/test-support/duplicate-event-fixtures.d.ts +3 -0
- package/dist/src/compiled/@workflow/world/test-support/in-band-fence-conformance.d.ts +46 -0
- package/dist/src/compiled/@workflow/world-local/index.js +5 -5
- package/dist/src/compiled/@workflow/world-vercel/index.js +18 -18
- package/dist/src/compiled/_chunks/workflow/{attribute-changes-BW-kbMMn.js → attribute-changes-7se_SE2q.js} +3 -3
- package/dist/src/compiled/_chunks/workflow/dist-CcnNPAp4.js +1 -0
- package/dist/src/compiled/_chunks/workflow/dist-S9cZRway.js +3 -0
- package/dist/src/compiled/_chunks/workflow/helpers-CxNRXH0a.js +1 -0
- package/dist/src/compiled/_chunks/workflow/private-DLYTSBbu.js +1 -0
- package/dist/src/compiled/_chunks/workflow/resume-hook-CPiIfe8r.js +1 -0
- package/dist/src/compiled/_chunks/workflow/{run-DzdAqdb1.js → run-BJSLCXR4.js} +6 -6
- package/dist/src/compiled/_chunks/workflow/serialization-B9gneT9Z.js +15 -0
- package/dist/src/compiled/_chunks/workflow/sleep-BL0oQs3R.js +1 -0
- package/dist/src/compiled/_chunks/workflow/{wait-until-xbRRDuUf.js → wait-until-BPou0RGO.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/workflow-routes-BaljomCk.js +1 -0
- package/dist/src/compiled/{@ai-sdk/code-mode → run}/LICENSE +1 -1
- package/dist/src/compiled/run/index.d.ts +384 -0
- package/dist/src/compiled/run/index.js +650 -0
- package/dist/src/compiler/extension-compatibility.d.ts +21 -14
- package/dist/src/compiler/extension-compatibility.js +1 -1
- package/dist/src/compiler/manifest.js +1 -1
- package/dist/src/compiler/normalize-agent-config.js +1 -1
- package/dist/src/compiler/normalize-manifest.js +1 -1
- package/dist/src/compiler/normalize-sandbox.js +1 -1
- package/dist/src/compiler/workspace-resources.js +1 -1
- package/dist/src/context/build-callback-context.js +1 -1
- package/dist/src/context/build-dynamic-tools.js +1 -1
- package/dist/src/context/dynamic-skill-lifecycle.d.ts +2 -2
- package/dist/src/context/dynamic-skill-lifecycle.js +1 -1
- package/dist/src/context/dynamic-tool-lifecycle.js +1 -1
- package/dist/src/context/prewarm.d.ts +27 -0
- package/dist/src/context/prewarm.js +1 -0
- package/dist/src/context/providers/sandbox.d.ts +7 -0
- package/dist/src/context/providers/sandbox.js +1 -1
- package/dist/src/context/run-step.js +1 -1
- package/dist/src/discover/extension-specifier.d.ts +1 -0
- package/dist/src/discover/extension-specifier.js +1 -1
- package/dist/src/discover/lib.d.ts +4 -3
- package/dist/src/discover/lib.js +1 -1
- package/dist/src/discover/named-source-directory.d.ts +3 -2
- package/dist/src/evals/cli/eval.d.ts +2 -0
- package/dist/src/evals/cli/eval.js +2 -2
- package/dist/src/evals/define-eval-config.d.ts +5 -4
- package/dist/src/evals/define-eval-config.js +1 -1
- package/dist/src/evals/index.d.ts +1 -1
- package/dist/src/evals/runner/artifacts.js +2 -2
- package/dist/src/evals/runner/attempt-label.d.ts +2 -0
- package/dist/src/evals/runner/attempt-label.js +1 -0
- package/dist/src/evals/runner/derive-run-facts.d.ts +12 -0
- package/dist/src/evals/runner/derive-run-facts.js +1 -1
- package/dist/src/evals/runner/execute-task.js +1 -1
- package/dist/src/evals/runner/reporters/braintrust.js +1 -1
- package/dist/src/evals/runner/reporters/console.js +1 -1
- package/dist/src/evals/runner/reporters/datadog.js +1 -1
- package/dist/src/evals/runner/reporters/junit.js +2 -2
- package/dist/src/evals/runner/reporters/types.d.ts +2 -0
- package/dist/src/evals/runner/run-evals.d.ts +5 -0
- package/dist/src/evals/runner/run-evals.js +1 -1
- package/dist/src/evals/session-manager.js +1 -1
- package/dist/src/evals/session.d.ts +4 -1
- package/dist/src/evals/session.js +2 -2
- package/dist/src/evals/types.d.ts +39 -2
- package/dist/src/eve-channel/index.js +1 -1
- package/dist/src/eve-channel/request.d.ts +0 -1
- package/dist/src/eve-channel/request.js +2 -2
- package/dist/src/execution/agent-sessions/context.d.ts +1 -1
- package/dist/src/execution/agent-sessions/context.js +1 -1
- package/dist/src/execution/coordination-dispatch-shared.d.ts +3 -0
- package/dist/src/execution/coordination-dispatch-shared.js +1 -1
- package/dist/src/execution/dynamic-workflow/program-step.d.ts +7 -7
- package/dist/src/execution/dynamic-workflow/program-step.js +1 -1
- package/dist/src/execution/dynamic-workflow/schema.d.ts +18 -11
- package/dist/src/execution/dynamic-workflow/schema.js +1 -1
- package/dist/src/execution/dynamic-workflow/tool.js +1 -1
- package/dist/src/execution/dynamic-workflow/workflow.js +1 -1
- package/dist/src/execution/eve-workflow-attributes.d.ts +3 -1
- package/dist/src/execution/eve-workflow-attributes.js +1 -1
- package/dist/src/execution/invoke-tool.js +1 -1
- package/dist/src/execution/sandbox/abort-bound-session.js +1 -1
- package/dist/src/execution/sandbox/active-connections.d.ts +28 -0
- package/dist/src/execution/sandbox/active-connections.js +1 -0
- package/dist/src/execution/sandbox/bindings/docker-cli.d.ts +10 -2
- package/dist/src/execution/sandbox/bindings/docker-cli.js +2 -2
- package/dist/src/execution/sandbox/bindings/docker-connection.d.ts +15 -0
- package/dist/src/execution/sandbox/bindings/docker-connection.js +2 -0
- package/dist/src/execution/sandbox/bindings/docker-container.d.ts +2 -0
- package/dist/src/execution/sandbox/bindings/docker-container.js +1 -1
- package/dist/src/execution/sandbox/bindings/docker-network.d.ts +5 -0
- package/dist/src/execution/sandbox/bindings/docker-network.js +1 -1
- package/dist/src/execution/sandbox/bindings/docker-templates.js +1 -1
- package/dist/src/execution/sandbox/bindings/docker.d.ts +12 -15
- package/dist/src/execution/sandbox/bindings/docker.js +1 -1
- package/dist/src/execution/sandbox/bindings/just-bash-runtime.d.ts +19 -29
- package/dist/src/execution/sandbox/bindings/just-bash-runtime.js +1 -1
- package/dist/src/execution/sandbox/bindings/just-bash.d.ts +2 -4
- package/dist/src/execution/sandbox/bindings/just-bash.js +1 -1
- package/dist/src/execution/sandbox/bindings/local-provider-utils.d.ts +0 -20
- package/dist/src/execution/sandbox/bindings/local-provider-utils.js +1 -1
- package/dist/src/execution/sandbox/bindings/local.d.ts +4 -6
- package/dist/src/execution/sandbox/bindings/local.js +1 -1
- package/dist/src/execution/sandbox/bindings/vercel-base-runtime.d.ts +2 -0
- package/dist/src/execution/sandbox/bindings/vercel-base-runtime.js +2 -2
- package/dist/src/execution/sandbox/bindings/vercel-errors.js +2 -2
- package/dist/src/execution/sandbox/bindings/vercel-lifecycle.d.ts +7 -5
- package/dist/src/execution/sandbox/bindings/vercel-lifecycle.js +1 -1
- package/dist/src/execution/sandbox/bindings/vercel.d.ts +5 -11
- package/dist/src/execution/sandbox/bindings/vercel.js +1 -2
- package/dist/src/execution/sandbox/development-cleanup.d.ts +0 -1
- package/dist/src/execution/sandbox/development-cleanup.js +1 -1
- package/dist/src/execution/sandbox/development-lazy-prewarm.js +1 -1
- package/dist/src/execution/sandbox/development-run.d.ts +0 -2
- package/dist/src/execution/sandbox/development-run.js +1 -1
- package/dist/src/execution/sandbox/dockerfile.d.ts +0 -4
- package/dist/src/execution/sandbox/dockerfile.js +1 -1
- package/dist/src/execution/sandbox/ensure.d.ts +31 -11
- package/dist/src/execution/sandbox/ensure.js +1 -1
- package/dist/src/execution/sandbox/glob-tool.js +3 -3
- package/dist/src/execution/sandbox/grep-tool.js +1 -1
- package/dist/src/execution/sandbox/logging-session.js +1 -1
- package/dist/src/execution/sandbox/prewarm.d.ts +23 -3
- package/dist/src/execution/sandbox/prewarm.js +2 -1
- package/dist/src/execution/sandbox/read-file.js +1 -1
- package/dist/src/execution/sandbox/require-sandbox.d.ts +3 -2
- package/dist/src/execution/sandbox/require-sandbox.js +1 -1
- package/dist/src/execution/sandbox/ripgrep-probe.js +1 -1
- package/dist/src/execution/sandbox/session.d.ts +10 -20
- package/dist/src/execution/sandbox/session.js +2 -2
- package/dist/src/execution/session/admission.js +1 -1
- package/dist/src/execution/session/checkpoint-migrations.js +1 -1
- package/dist/src/execution/session/entry-input.d.ts +5 -4
- package/dist/src/execution/session/entry.js +1 -1
- package/dist/src/execution/session/handoff-state.d.ts +5 -0
- package/dist/src/execution/session/handoff-state.js +1 -0
- package/dist/src/execution/session/handoff-steps.d.ts +1 -5
- package/dist/src/execution/session/handoff-steps.js +1 -1
- package/dist/src/execution/session/handoff.d.ts +2 -1
- package/dist/src/execution/session/handoff.js +1 -1
- package/dist/src/execution/session/handover-tracing.d.ts +3 -0
- package/dist/src/execution/session/handover-tracing.js +1 -0
- package/dist/src/execution/session/input-queue.d.ts +3 -0
- package/dist/src/execution/session/input-queue.js +1 -1
- package/dist/src/execution/session/next-input.d.ts +3 -0
- package/dist/src/execution/session/next-input.js +1 -1
- package/dist/src/execution/session/prewarm-step.d.ts +13 -0
- package/dist/src/execution/session/prewarm-step.js +1 -0
- package/dist/src/execution/session/program.d.ts +4 -1
- package/dist/src/execution/session/program.js +1 -1
- package/dist/src/execution/session/state-cursor.d.ts +11 -0
- package/dist/src/execution/session/state-cursor.js +1 -1
- package/dist/src/execution/session/timeout-control.d.ts +4 -0
- package/dist/src/execution/session/timeout-control.js +1 -1
- package/dist/src/execution/session/turn-control.d.ts +5 -2
- package/dist/src/execution/session/turn-control.js +1 -1
- package/dist/src/execution/session/turn-step-types.d.ts +2 -0
- package/dist/src/execution/session/turn-step.js +1 -1
- package/dist/src/execution/session/turn.d.ts +1 -0
- package/dist/src/execution/session/turn.js +1 -1
- package/dist/src/execution/session-inbox/inbox.d.ts +17 -1
- package/dist/src/execution/session-inbox/inbox.js +1 -1
- package/dist/src/execution/session-inbox/protocol.d.ts +2 -1
- package/dist/src/execution/session-inbox/protocol.js +1 -1
- package/dist/src/execution/session-inbox/resume.d.ts +2 -1
- package/dist/src/execution/session-inbox/resume.js +1 -1
- package/dist/src/execution/session-prewarm.d.ts +8 -0
- package/dist/src/execution/session-prewarm.js +1 -0
- package/dist/src/execution/skills/instructions.js +1 -1
- package/dist/src/execution/tools/agent-router-workflow.js +1 -1
- package/dist/src/execution/tools/workflow/body.js +1 -1
- package/dist/src/execution/tools/workflow/step-context.d.ts +11 -0
- package/dist/src/execution/tools/workflow/step-execution.js +1 -1
- package/dist/src/execution/tools/workflow/step.js +1 -1
- package/dist/src/execution/workflow-runtime.js +1 -1
- package/dist/src/extensions/git/extension/lib/github-shell-schema.js +1 -1
- package/dist/src/framework/sources/modules/sandbox.d.ts +1 -1
- package/dist/src/harness/attachment-staging.d.ts +3 -7
- package/dist/src/harness/attachment-staging.js +1 -1
- package/dist/src/harness/hitl/index.d.ts +2 -1
- package/dist/src/harness/hitl/index.js +1 -1
- package/dist/src/harness/hitl/view.d.ts +1 -0
- package/dist/src/harness/hitl/view.js +1 -0
- package/dist/src/harness/model-call/run.js +1 -1
- package/dist/src/harness/semantic-errors/rules/sandbox.d.ts +3 -5
- package/dist/src/harness/semantic-errors/rules/sandbox.js +1 -1
- package/dist/src/harness/step/prompt.js +1 -1
- package/dist/src/harness/tool-history-repair.d.ts +9 -0
- package/dist/src/harness/tool-history-repair.js +1 -0
- package/dist/src/harness/tool-model-output.d.ts +19 -3
- package/dist/src/harness/tool-model-output.js +1 -1
- package/dist/src/internal/application/compiled-artifacts.js +8 -4
- package/dist/src/internal/application/optional-package-import.d.ts +10 -0
- package/dist/src/internal/application/optional-package-import.js +1 -1
- package/dist/src/internal/application/stamped-package-version.js +1 -1
- package/dist/src/internal/attachments/limited-read.d.ts +2 -2
- package/dist/src/internal/authored-module-build-options.d.ts +6 -0
- package/dist/src/internal/authored-module-build-options.js +1 -1
- package/dist/src/internal/authored-module-cache.d.ts +10 -0
- package/dist/src/internal/authored-module-cache.js +1 -0
- package/dist/src/internal/authored-module-graph.js +1 -1
- package/dist/src/internal/authored-module-loader.js +1 -1
- package/dist/src/internal/authored-relative-extension-resolver.js +1 -1
- package/dist/src/internal/bundler/nitro-rolldown.d.ts +3 -1
- package/dist/src/internal/bundler/nitro-rolldown.js +1 -1
- package/dist/src/internal/bundler/pseudo-packages.d.ts +11 -0
- package/dist/src/internal/bundler/pseudo-packages.js +1 -0
- package/dist/src/internal/nitro/host/build-extension.d.ts +6 -0
- package/dist/src/internal/nitro/host/build-extension.js +2 -2
- package/dist/src/internal/nitro/host/compiled-sandbox-provider-prune-plugin.d.ts +3 -1
- package/dist/src/internal/nitro/host/compiled-sandbox-provider-prune-plugin.js +3 -5
- package/dist/src/internal/nitro/host/create-application-nitro.d.ts +2 -3
- package/dist/src/internal/nitro/host/create-application-nitro.js +1 -1
- package/dist/src/internal/nitro/host/dev-authored-rebuild-coordinator.d.ts +2 -0
- package/dist/src/internal/nitro/host/dev-authored-rebuild-coordinator.js +1 -1
- package/dist/src/internal/nitro/host/dev-authored-source-watcher.js +1 -1
- package/dist/src/internal/nitro/host/dev-build-host.d.ts +83 -0
- package/dist/src/internal/nitro/host/dev-build-host.js +1 -0
- package/dist/src/internal/nitro/host/dev-build-operations.d.ts +6 -0
- package/dist/src/internal/nitro/host/dev-build-operations.js +1 -0
- package/dist/src/internal/nitro/host/dev-build-process.d.ts +1 -0
- package/dist/src/internal/nitro/host/dev-build-process.js +1 -0
- package/dist/src/internal/nitro/host/development-runtime-prune-plugin.d.ts +4 -1
- package/dist/src/internal/nitro/host/development-runtime-prune-plugin.js +3 -2
- package/dist/src/internal/nitro/host/drained-nitro-dev-server.d.ts +13 -0
- package/dist/src/internal/nitro/host/drained-nitro-dev-server.js +1 -1
- package/dist/src/internal/nitro/host/optional-engine-dependency-plugin.js +1 -1
- package/dist/src/internal/nitro/host/prepare-application-host.d.ts +3 -0
- package/dist/src/internal/nitro/host/prepare-application-host.js +1 -1
- package/dist/src/internal/nitro/host/sandbox-shutdown-plugin.js +1 -1
- package/dist/src/internal/nitro/host/start-development-server.js +2 -2
- package/dist/src/internal/nitro/host/start-production-server.js +3 -3
- package/dist/src/internal/nitro/host/workflow-sandbox-runtime-plugin.js +1 -1
- package/dist/src/internal/nitro/host.js +1 -1
- package/dist/src/internal/workflow/local-world-delivery-auth.d.ts +17 -0
- package/dist/src/internal/workflow/local-world-delivery-auth.js +1 -0
- package/dist/src/internal/workflow/queue-namespace.d.ts +2 -0
- package/dist/src/internal/workflow/queue-namespace.js +1 -1
- package/dist/src/internal/workflow-bundle/builder-support.d.ts +0 -1
- package/dist/src/internal/workflow-bundle/builder-support.js +2 -2
- package/dist/src/internal/workflow-bundle/builder.js +2 -2
- package/dist/src/internal/workflow-bundle/dynamic-tool-transform.js +1 -1
- package/dist/src/internal/workflow-bundle/vercel-workflow-output.d.ts +1 -1
- package/dist/src/internal/workflow-bundle/vercel-workflow-output.js +1 -1
- package/dist/src/protocol/prewarm-session.d.ts +14 -0
- package/dist/src/protocol/prewarm-session.js +1 -0
- package/dist/src/protocol/routes.d.ts +2 -2
- package/dist/src/public/channels/discord/authorization.d.ts +45 -0
- package/dist/src/public/channels/discord/authorization.js +3 -0
- package/dist/src/public/channels/discord/defaults.d.ts +14 -3
- package/dist/src/public/channels/discord/defaults.js +2 -2
- package/dist/src/public/channels/discord/discordChannel.d.ts +15 -1
- package/dist/src/public/channels/discord/discordChannel.js +1 -1
- package/dist/src/public/channels/discord/gateway/connection.d.ts +26 -0
- package/dist/src/public/channels/discord/gateway/connection.js +1 -0
- package/dist/src/public/channels/discord/gateway/forwarder.d.ts +14 -0
- package/dist/src/public/channels/discord/gateway/forwarder.js +1 -0
- package/dist/src/public/channels/discord/gateway/index.d.ts +59 -0
- package/dist/src/public/channels/discord/gateway/index.js +1 -0
- package/dist/src/public/channels/discord/inbound.d.ts +10 -3
- package/dist/src/public/channels/discord/inbound.js +2 -2
- package/dist/src/public/channels/discord/index.d.ts +3 -2
- package/dist/src/public/channels/discord/index.js +1 -1
- package/dist/src/public/channels/discord/messages.d.ts +116 -0
- package/dist/src/public/channels/discord/messages.js +2 -0
- package/dist/src/public/channels/github/checkout.js +1 -1
- package/dist/src/public/channels/linq/linqChannel.d.ts +4 -1
- package/dist/src/public/channels/linq/linqChannel.js +1 -1
- package/dist/src/public/channels/photon/photonIMessageChannel.js +1 -1
- package/dist/src/public/channels/same-environment-oidc.d.ts +7 -0
- package/dist/src/public/channels/same-environment-oidc.js +1 -0
- package/dist/src/public/definitions/channel.js +1 -1
- package/dist/src/public/definitions/sandbox.d.ts +1 -1
- package/dist/src/public/next/server.js +1 -1
- package/dist/src/public/sandbox/docker-sandbox.d.ts +6 -1
- package/dist/src/public/sandbox/docker.d.ts +1 -8
- package/dist/src/public/sandbox/index.d.ts +3 -3
- package/dist/src/public/sandbox/just-bash-sandbox.d.ts +87 -7
- package/dist/src/public/sandbox/just-bash.d.ts +1 -1
- package/dist/src/public/sandbox/provider.d.ts +5 -1
- package/dist/src/public/sandbox/provider.js +1 -1
- package/dist/src/public/sandbox/vercel-sandbox.d.ts +16 -9
- package/dist/src/public/sandbox/vercel.d.ts +0 -1
- package/dist/src/public/sandbox/vercel.js +1 -1
- package/dist/src/public/tools/agent.d.ts +8 -1
- package/dist/src/public/tools/agent.js +1 -1
- package/dist/src/react/use-eve-agent.d.ts +1 -1
- package/dist/src/runtime/agent/resolve-model.js +1 -1
- package/dist/src/runtime/connections/openapi-client.d.ts +2 -0
- package/dist/src/runtime/connections/openapi-client.js +1 -1
- package/dist/src/runtime/resolve-agent-graph.js +1 -1
- package/dist/src/runtime/resolve-agent.js +1 -1
- package/dist/src/runtime/resolve-channel.js +1 -1
- package/dist/src/runtime/resolve-sandbox.js +1 -1
- package/dist/src/runtime/sandbox/prepared-artifacts.js +1 -1
- package/dist/src/runtime/sandbox/registry.d.ts +2 -0
- package/dist/src/runtime/sandbox/registry.js +1 -1
- package/dist/src/runtime/subagents/workflow.d.ts +6 -0
- package/dist/src/runtime/subagents/workflow.js +1 -1
- package/dist/src/runtime/workspace/seed-files.d.ts +9 -12
- package/dist/src/runtime/workspace/seed-files.js +1 -1
- package/dist/src/runtime/workspace/spec.d.ts +1 -1
- package/dist/src/runtime/workspace/spec.js +1 -1
- package/dist/src/runtime/workspace/types.d.ts +2 -6
- package/dist/src/sandbox/provider.d.ts +185 -0
- package/dist/src/sandbox/provider.js +1 -0
- package/dist/src/sandbox/providers/default.d.ts +20 -19
- package/dist/src/sandbox/providers/default.js +1 -1
- package/dist/src/sandbox/providers/docker.d.ts +5 -2
- package/dist/src/sandbox/providers/docker.js +1 -1
- package/dist/src/sandbox/providers/just-bash.d.ts +4 -3
- package/dist/src/sandbox/providers/just-bash.js +1 -1
- package/dist/src/sandbox/providers/vercel.d.ts +4 -10
- package/dist/src/sandbox/providers/vercel.js +1 -1
- package/dist/src/sandbox/providers.d.ts +0 -1
- package/dist/src/sandbox/providers.js +1 -1
- package/dist/src/sandbox/state.d.ts +61 -0
- package/dist/src/sandbox/state.js +1 -1
- package/dist/src/self-modification/deployed-sandbox.d.ts +4 -9
- package/dist/src/self-modification/deployed-sandbox.js +1 -1
- package/dist/src/self-modification/filesystem.d.ts +3 -3
- package/dist/src/self-modification/remote/config.d.ts +2 -2
- package/dist/src/self-modification/remote/config.js +1 -1
- package/dist/src/self-modification/setup.d.ts +0 -1
- package/dist/src/self-modification/setup.js +8 -8
- package/dist/src/setup/integrations/discord/api.d.ts +7 -0
- package/dist/src/setup/integrations/discord/api.js +1 -1
- package/dist/src/setup/integrations/discord/daemon.d.ts +18 -0
- package/dist/src/setup/integrations/discord/daemon.js +21 -0
- package/dist/src/setup/integrations/discord/setup.d.ts +24 -4
- package/dist/src/setup/integrations/discord/setup.js +5 -4
- package/dist/src/setup/integrations/self-modification/setup.js +1 -1
- package/dist/src/setup/scaffold/create/project.js +1 -1
- package/dist/src/setup/scaffold/update/web-options.js +1 -1
- package/dist/src/setup/scaffold/version-tokens.d.ts +0 -1
- package/dist/src/setup/scaffold/version-tokens.js +1 -1
- package/dist/src/shared/agent-definition.d.ts +2 -0
- package/dist/src/shared/built-server-start-failure.d.ts +12 -0
- package/dist/src/shared/built-server-start-failure.js +3 -0
- package/dist/src/shared/framework-eve-server.d.ts +2 -0
- package/dist/src/shared/framework-eve-server.js +2 -2
- package/dist/src/shared/sandbox-environment.d.ts +4 -10
- package/dist/src/shared/sandbox-environment.js +1 -1
- package/dist/src/shared/sandbox-network-policy.d.ts +45 -9
- package/dist/src/shared/sandbox-provider.d.ts +0 -103
- package/dist/src/shared/sandbox-provider.js +1 -1
- package/dist/src/shared/sandbox-recorded-data-error.d.ts +4 -0
- package/dist/src/shared/sandbox-recorded-data-error.js +1 -0
- package/dist/src/shared/sandbox-session-gone-error.d.ts +12 -0
- package/dist/src/shared/sandbox-session-gone-error.js +1 -0
- package/dist/src/shared/sandbox-session.d.ts +97 -83
- package/dist/src/shared/sandbox-template-error.d.ts +19 -4
- package/dist/src/shared/sandbox-template-error.js +1 -1
- package/dist/src/shared/sandbox-tool-session-error.d.ts +4 -0
- package/dist/src/shared/sandbox-tool-session-error.js +1 -0
- package/dist/src/shared/skill-package.js +1 -1
- package/dist/src/shared/skill-paths.d.ts +4 -5
- package/dist/src/shared/skill-paths.js +2 -2
- package/dist/src/shared/workflow-sandbox.d.ts +4 -41
- package/dist/src/shared/workflow-sandbox.js +1 -1
- package/dist/src/svelte/index.js +1 -1
- package/dist/src/svelte/use-eve-agent.d.ts +1 -1
- package/dist/src/svelte/use-eve-agent.js +1 -1
- package/dist/src/tools/definition.js +1 -1
- package/dist/src/tools/durable-callbacks.d.ts +5 -1
- package/dist/src/tools/durable-callbacks.js +1 -1
- package/dist/src/tools/dynamic.d.ts +3 -3
- package/dist/src/tools/model-output.d.ts +23 -5
- package/dist/src/tools/model-output.js +1 -1
- package/dist/src/tools/provided/ask-question-workflow.js +1 -1
- package/dist/src/tools/provided/glob.js +1 -1
- package/dist/src/tools/provided/grep.js +1 -1
- package/dist/src/tools/provided/read-file.js +1 -1
- package/dist/src/tools/provided/sleep-workflow.js +1 -1
- package/dist/src/tools/provided/workflow.js +1 -1
- package/dist/src/tools/provided/write-file.js +1 -1
- package/dist/src/tools/workflow-definition.d.ts +19 -4
- package/dist/src/vue/index.js +1 -1
- package/dist/src/vue/use-eve-agent.d.ts +1 -1
- package/dist/src/vue/use-eve-agent.js +1 -1
- package/docs/channels/custom.mdx +3 -3
- package/docs/channels/discord.mdx +279 -7
- package/docs/channels/eve.mdx +13 -2
- package/docs/channels/linq.mdx +2 -2
- package/docs/channels/mcp.mdx +2 -2
- package/docs/channels/overview.mdx +1 -1
- package/docs/channels/photon.mdx +1 -1
- package/docs/concepts/built-in-tools.md +31 -8
- package/docs/concepts/execution-model-and-durability.mdx +6 -101
- package/docs/concepts/security-model.md +2 -0
- package/docs/concepts/sessions-runs-and-streaming.md +44 -36
- package/docs/connections/openapi.mdx +2 -0
- package/docs/evals/overview.mdx +1 -1
- package/docs/evals/reporters.mdx +5 -5
- package/docs/evals/running.mdx +19 -1
- package/docs/guides/client/messages.mdx +1 -1
- package/docs/guides/deployment/overview.md +4 -4
- package/docs/guides/deployment/self-hosting.md +50 -1
- package/docs/guides/dev-tui.md +1 -1
- package/docs/guides/dynamic-capabilities.md +2 -2
- package/docs/guides/frontend/overview.mdx +34 -10
- package/docs/guides/instrumentation/agent-runs.mdx +16 -0
- package/docs/guides/instrumentation/otel.mdx +23 -0
- package/docs/guides/self-modification.md +1 -1
- package/docs/guides/session-context.md +1 -1
- package/docs/instructions.mdx +1 -1
- package/docs/meta.json +1 -0
- package/docs/reference/agent-files.md +4 -4
- package/docs/reference/cli.md +24 -17
- package/docs/reference/typescript-api.md +9 -3
- package/docs/sandbox/custom-providers.mdx +254 -0
- package/docs/sandbox/default.mdx +71 -4
- package/docs/sandbox/docker.mdx +15 -3
- package/docs/sandbox/index.mdx +32 -106
- package/docs/sandbox/just-bash.mdx +54 -0
- package/docs/sandbox/meta.json +9 -1
- package/docs/sandbox/troubleshooting.mdx +215 -0
- package/docs/sandbox/vercel.mdx +48 -7
- package/docs/skills.mdx +1 -1
- package/docs/subagents/index.mdx +2 -2
- package/docs/tools/overview.mdx +20 -1
- package/docs/tools/workflows.mdx +73 -5
- package/docs/tutorial/run-analysis.mdx +2 -2
- package/docs/use-cases.mdx +250 -0
- package/package.json +14 -20
- package/dist/src/compiled/@ai-sdk/code-mode/_run.d.ts +0 -1
- package/dist/src/compiled/@ai-sdk/code-mode/index.d.ts +0 -325
- package/dist/src/compiled/@ai-sdk/code-mode/index.js +0 -660
- package/dist/src/compiled/_chunks/workflow/dist-CyBgVS7g.js +0 -1
- package/dist/src/compiled/_chunks/workflow/dist-T5NnW-0k.js +0 -3
- package/dist/src/compiled/_chunks/workflow/helpers-DlLD3ov_.js +0 -1
- package/dist/src/compiled/_chunks/workflow/private-tQUuwBoQ.js +0 -1
- package/dist/src/compiled/_chunks/workflow/resume-hook-DMsV_b4n.js +0 -1
- package/dist/src/compiled/_chunks/workflow/serialization-DPdYS_w2.js +0 -16
- package/dist/src/compiled/_chunks/workflow/sleep-BY6leHh8.js +0 -1
- package/dist/src/compiled/_chunks/workflow/workflow-routes-CwqB063q.js +0 -1
- package/dist/src/execution/sandbox/active-handles.d.ts +0 -32
- package/dist/src/execution/sandbox/active-handles.js +0 -1
- package/dist/src/execution/sandbox/bindings/docker-session.d.ts +0 -6
- package/dist/src/execution/sandbox/bindings/docker-session.js +0 -2
- package/dist/src/execution/sandbox/bindings/immutable-resources.d.ts +0 -15
- package/dist/src/execution/sandbox/bindings/immutable-resources.js +0 -2
- package/dist/src/execution/sandbox/bindings/microsandbox-create.d.ts +0 -12
- package/dist/src/execution/sandbox/bindings/microsandbox-create.js +0 -1
- package/dist/src/execution/sandbox/bindings/microsandbox-lifecycle.d.ts +0 -42
- package/dist/src/execution/sandbox/bindings/microsandbox-lifecycle.js +0 -1
- package/dist/src/execution/sandbox/bindings/microsandbox-metadata.d.ts +0 -29
- package/dist/src/execution/sandbox/bindings/microsandbox-metadata.js +0 -1
- package/dist/src/execution/sandbox/bindings/microsandbox-network.d.ts +0 -18
- package/dist/src/execution/sandbox/bindings/microsandbox-network.js +0 -1
- package/dist/src/execution/sandbox/bindings/microsandbox-options.d.ts +0 -37
- package/dist/src/execution/sandbox/bindings/microsandbox-options.js +0 -1
- package/dist/src/execution/sandbox/bindings/microsandbox-platform.d.ts +0 -21
- package/dist/src/execution/sandbox/bindings/microsandbox-platform.js +0 -21
- package/dist/src/execution/sandbox/bindings/microsandbox-process.d.ts +0 -3
- package/dist/src/execution/sandbox/bindings/microsandbox-process.js +0 -1
- package/dist/src/execution/sandbox/bindings/microsandbox-provider-state.d.ts +0 -11
- package/dist/src/execution/sandbox/bindings/microsandbox-provider-state.js +0 -1
- package/dist/src/execution/sandbox/bindings/microsandbox-runtime.d.ts +0 -82
- package/dist/src/execution/sandbox/bindings/microsandbox-runtime.js +0 -1
- package/dist/src/execution/sandbox/bindings/microsandbox-templates.d.ts +0 -12
- package/dist/src/execution/sandbox/bindings/microsandbox-templates.js +0 -1
- package/dist/src/execution/sandbox/bindings/microsandbox.d.ts +0 -16
- package/dist/src/execution/sandbox/bindings/microsandbox.js +0 -1
- package/dist/src/execution/sandbox/provider-host-development.d.ts +0 -2
- package/dist/src/execution/sandbox/provider-host-development.js +0 -1
- package/dist/src/execution/sandbox/provider-host.d.ts +0 -2
- package/dist/src/execution/sandbox/provider-host.js +0 -1
- package/dist/src/execution/tool-session/sandbox.d.ts +0 -22
- package/dist/src/execution/tool-session/sandbox.js +0 -1
- package/dist/src/public/sandbox/microsandbox-sandbox.d.ts +0 -48
- package/dist/src/public/sandbox/microsandbox-sandbox.js +0 -1
- package/dist/src/public/sandbox/microsandbox.d.ts +0 -9
- package/dist/src/public/sandbox/microsandbox.js +0 -1
- package/dist/src/sandbox/providers/microsandbox.d.ts +0 -12
- package/dist/src/sandbox/providers/microsandbox.js +0 -1
- package/docs/sandbox/microsandbox.mdx +0 -31
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
import{a as e,r as t,s as n,t as r}from"../../_chunks/workflow/rolldown-runtime-B_knIduE.js";import{i,n as a,o,t as s}from"../../_chunks/workflow/undici-D-ILjOKD.js";import{
|
|
2
|
-
${e.message}`),t?new f.VercelOidcTokenError(t):e}return t}function m(){let e=(0,d.getContext)().headers?.[`x-vercel-oidc-token`]??process.env.VERCEL_OIDC_TOKEN;if(!e)throw Error(`The 'x-vercel-oidc-token' header is missing from the request. Do you have the OIDC option enabled in the Vercel project settings?`);return e}0&&(t.exports={getVercelOidcToken:p,getVercelOidcTokenSync:m})})),ot=r(((e,t)=>{var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},s=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!a.call(e,c)&&c!==o&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},c=e=>s(n({},`__esModule`,{value:!0}),e),l={};o(l,{AccessTokenMissingError:()=>u,RefreshAccessTokenFailedError:()=>d}),t.exports=c(l);var u=class extends Error{constructor(){super(`No authentication found. Please log in with the Vercel CLI (vercel login).`),this.name=`AccessTokenMissingError`}},d=class extends Error{constructor(e){super(`Failed to refresh authentication token.`,{cause:e}),this.name=`RefreshAccessTokenFailedError`}};0&&(t.exports={AccessTokenMissingError:u,RefreshAccessTokenFailedError:d})})),st=r(((t,n)=>{var r=Object.create,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t)=>{for(var n in t)i(e,n,{get:t[n],enumerable:!0})},u=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let s of o(t))!c.call(e,s)&&s!==n&&i(e,s,{get:()=>t[s],enumerable:!(r=a(t,s))||r.enumerable});return e},d=(e,t,n)=>(n=e==null?{}:r(s(e)),u(t||!e||!e.__esModule?i(n,`default`,{value:e,enumerable:!0}):n,e)),f=e=>u(i({},`__esModule`,{value:!0}),e),p={};l(p,{findRootDir:()=>v,getUserDataDir:()=>y}),n.exports=f(p);var m=d(e(`path`)),h=d(e(`fs`)),g=d(e(`os`)),_=it();function v(){try{let e=process.cwd();for(;e!==m.default.dirname(e);){let t=m.default.join(e,`.vercel`);if(h.default.existsSync(t))return e;e=m.default.dirname(e)}}catch{throw new _.VercelOidcTokenError(`Token refresh only supported in node server environments`)}return null}function y(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(g.default.platform()){case`darwin`:return m.default.join(g.default.homedir(),`Library/Application Support`);case`linux`:return m.default.join(g.default.homedir(),`.local/share`);case`win32`:return process.env.LOCALAPPDATA?process.env.LOCALAPPDATA:null;default:return null}}0&&(n.exports={findRootDir:v,getUserDataDir:y})})),ct=r(((t,n)=>{var r=Object.create,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t)=>{for(var n in t)i(e,n,{get:t[n],enumerable:!0})},u=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let s of o(t))!c.call(e,s)&&s!==n&&i(e,s,{get:()=>t[s],enumerable:!(r=a(t,s))||r.enumerable});return e},d=(e,t,n)=>(n=e==null?{}:r(s(e)),u(t||!e||!e.__esModule?i(n,`default`,{value:e,enumerable:!0}):n,e)),f=e=>u(i({},`__esModule`,{value:!0}),e),p={};l(p,{isValidAccessToken:()=>b,readAuthConfig:()=>v,writeAuthConfig:()=>y}),n.exports=f(p);var m=d(e(`fs`)),h=d(e(`path`)),g=ut();function _(){let e=(0,g.getVercelDataDir)();if(!e)throw Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return h.join(e,`auth.json`)}function v(){try{let e=_();if(!m.existsSync(e))return null;let t=m.readFileSync(e,`utf8`);return t?JSON.parse(t):null}catch{return null}}function y(e){let t=_(),n=h.dirname(t);m.existsSync(n)||m.mkdirSync(n,{mode:504,recursive:!0}),m.writeFileSync(t,JSON.stringify(e,null,2),{mode:384})}function b(e,t=0){if(!e.token)return!1;if(typeof e.expiresAt!=`number`)return!0;let n=Math.floor(Date.now()/1e3),r=t/1e3;return e.expiresAt>=n+r}0&&(n.exports={isValidAccessToken:b,readAuthConfig:v,writeAuthConfig:y})})),lt=r(((t,n)=>{var r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s=(e,t)=>{for(var n in t)r(e,n,{get:t[n],enumerable:!0})},c=(e,t,n,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of a(t))!o.call(e,c)&&c!==n&&r(e,c,{get:()=>t[c],enumerable:!(s=i(t,c))||s.enumerable});return e},l=e=>c(r({},`__esModule`,{value:!0}),e),u={};s(u,{processTokenResponse:()=>g,refreshTokenRequest:()=>h}),n.exports=l(u);var d=e(`os`);let f=`@vercel/oidc node-${process.version} ${(0,d.platform)()} (${(0,d.arch)()}) ${(0,d.hostname)()}`,p=null;async function m(){if(p)return p;let e=await fetch(`https://vercel.com/.well-known/openid-configuration`,{headers:{"user-agent":f}});if(!e.ok)throw Error(`Failed to discover OAuth endpoints`);let t=await e.json();if(!t||typeof t.token_endpoint!=`string`)throw Error(`Invalid OAuth discovery response`);let n=t.token_endpoint;return p=n,n}async function h(e){let t=await m();return await fetch(t,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`,"user-agent":f},body:new URLSearchParams({client_id:`cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp`,grant_type:`refresh_token`,...e})})}async function g(e){let t=await e.json();if(!e.ok){let e=typeof t==`object`&&t&&`error`in t?String(t.error):`Token refresh failed`;return[Error(e)]}return typeof t!=`object`||!t?[Error(`Invalid token response`)]:typeof t.access_token==`string`?t.token_type===`Bearer`?typeof t.expires_in==`number`?[null,t]:[Error(`Missing expires_in in response`)]:[Error(`Invalid token_type in response`)]:[Error(`Missing access_token in response`)]}0&&(n.exports={processTokenResponse:g,refreshTokenRequest:h})})),ut=r(((t,n)=>{var r=Object.create,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t)=>{for(var n in t)i(e,n,{get:t[n],enumerable:!0})},u=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let s of o(t))!c.call(e,s)&&s!==n&&i(e,s,{get:()=>t[s],enumerable:!(r=a(t,s))||r.enumerable});return e},d=(e,t,n)=>(n=e==null?{}:r(s(e)),u(t||!e||!e.__esModule?i(n,`default`,{value:e,enumerable:!0}):n,e)),f=e=>u(i({},`__esModule`,{value:!0}),e),p={};l(p,{assertVercelOidcTokenResponse:()=>w,findProjectInfo:()=>ee,getTokenPayload:()=>ne,getVercelDataDir:()=>x,getVercelOidcToken:()=>C,getVercelToken:()=>S,isExpired:()=>re,loadToken:()=>te,saveToken:()=>T}),n.exports=f(p);var m=d(e(`path`)),h=d(e(`fs`)),g=it(),_=st(),v=ct(),y=lt(),b=ot();function x(){let e=(0,_.getUserDataDir)();return e?m.join(e,`com.vercel.cli`):null}async function S(e){let t=(0,v.readAuthConfig)();if(!t?.token)throw new b.AccessTokenMissingError;if((0,v.isValidAccessToken)(t,e?.expirationBufferMs))return t.token;if(!t.refreshToken)throw(0,v.writeAuthConfig)({}),new b.RefreshAccessTokenFailedError(`No refresh token available`);try{let e=await(0,y.refreshTokenRequest)({refresh_token:t.refreshToken}),[n,r]=await(0,y.processTokenResponse)(e);if(n||!r)throw(0,v.writeAuthConfig)({}),new b.RefreshAccessTokenFailedError(n);let i={token:r.access_token,expiresAt:Math.floor(Date.now()/1e3)+r.expires_in};return r.refresh_token&&(i.refreshToken=r.refresh_token),(0,v.writeAuthConfig)(i),i.token}catch(e){throw(0,v.writeAuthConfig)({}),e instanceof b.AccessTokenMissingError||e instanceof b.RefreshAccessTokenFailedError?e:new b.RefreshAccessTokenFailedError(e)}}async function C(e,t,n){let r=`https://api.vercel.com/v1/projects/${t}/token?source=vercel-oidc-refresh${n?`&teamId=${n}`:``}`,i=await fetch(r,{method:`POST`,headers:{Authorization:`Bearer ${e}`}});if(!i.ok)throw new g.VercelOidcTokenError(`Failed to refresh OIDC token: ${i.statusText}`);let a=await i.json();return w(a),a}function w(e){if(!e||typeof e!=`object`)throw TypeError("Vercel OIDC token is malformed. Expected an object. Please run `vc env pull` and try again");if(!(`token`in e)||typeof e.token!=`string`)throw TypeError("Vercel OIDC token is malformed. Expected a string-valued token property. Please run `vc env pull` and try again")}function ee(){let e=(0,_.findRootDir)();if(!e)throw new g.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let t=m.join(e,`.vercel`,`project.json`);if(!h.existsSync(t))throw new g.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");let n=JSON.parse(h.readFileSync(t,`utf8`));if(typeof n.projectId!=`string`&&typeof n.orgId!=`string`)throw TypeError("Expected a string-valued projectId property. Try running `vc link` to re-link your project.");return{projectId:n.projectId,teamId:n.orgId}}function T(e,t){let n=(0,_.getUserDataDir)();if(!n)throw new g.VercelOidcTokenError(`Unable to find user data directory. Please reach out to Vercel support.`);let r=m.join(n,`com.vercel.token`,`${t}.json`),i=JSON.stringify(e);h.mkdirSync(m.dirname(r),{mode:504,recursive:!0}),h.writeFileSync(r,i),h.chmodSync(r,432)}function te(e){let t=(0,_.getUserDataDir)();if(!t)throw new g.VercelOidcTokenError(`Unable to find user data directory. Please reach out to Vercel support.`);let n=m.join(t,`com.vercel.token`,`${e}.json`);if(!h.existsSync(n))return null;let r=JSON.parse(h.readFileSync(n,`utf8`));return w(r),r}function ne(e){let t=e.split(`.`);if(t.length!==3)throw new g.VercelOidcTokenError("Invalid token. Please run `vc env pull` and try again");let n=t[1].replace(/-/g,`+`).replace(/_/g,`/`),r=n.padEnd(n.length+(4-n.length%4)%4,`=`);return JSON.parse(Buffer.from(r,`base64`).toString(`utf8`))}function re(e,t=0){return e.exp*1e3<Date.now()+t}0&&(n.exports={assertVercelOidcTokenResponse:w,findProjectInfo:ee,getTokenPayload:ne,getVercelDataDir:x,getVercelOidcToken:C,getVercelToken:S,isExpired:re,loadToken:te,saveToken:T})})),dt=r(((e,t)=>{var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},s=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!a.call(e,c)&&c!==o&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},c=e=>s(n({},`__esModule`,{value:!0}),e),l={};o(l,{AccessTokenMissingError:()=>f.AccessTokenMissingError,RefreshAccessTokenFailedError:()=>f.RefreshAccessTokenFailedError,getContext:()=>d.getContext,getVercelOidcToken:()=>u.getVercelOidcToken,getVercelOidcTokenSync:()=>u.getVercelOidcTokenSync,getVercelToken:()=>p.getVercelToken}),t.exports=c(l);var u=at(),d=rt(),f=ot(),p=ut();0&&(t.exports={AccessTokenMissingError,RefreshAccessTokenFailedError,getContext,getVercelOidcToken,getVercelOidcTokenSync,getVercelToken})}))();let ft;try{ft=new TextDecoder}catch{}let k,pt,A=0;const mt=[],ht=57337,gt={};let _t=11281e4,vt=1681e4,yt=mt,bt=0,j={},M,xt,St=0,Ct=0,N,wt,P=[],Tt=[],Et,F,Dt,Ot={useRecords:!1,mapsAsObjects:!0},kt=!1,At=2;try{Function(``)}catch{At=1/0}var jt=class e{constructor(e){if(e&&((e.keyMap||e._keyMap)&&!e.useRecords&&(e.useRecords=!1,e.mapsAsObjects=!0),e.useRecords===!1&&e.mapsAsObjects===void 0&&(e.mapsAsObjects=!0),e.getStructures&&(e.getShared=e.getStructures),e.getShared&&!e.structures&&((e.structures=[]).uninitialized=!0),e.keyMap)){this.mapKey=new Map;for(let[t,n]of Object.entries(e.keyMap))this.mapKey.set(n,t)}Object.assign(this,e)}decodeKey(e){return this.keyMap&&this.mapKey.get(e)||e}encodeKey(e){return this.keyMap&&this.keyMap.hasOwnProperty(e)?this.keyMap[e]:e}encodeKeys(e){if(!this._keyMap)return e;let t=new Map;for(let[n,r]of Object.entries(e))t.set(this._keyMap.hasOwnProperty(n)?this._keyMap[n]:n,r);return t}decodeKeys(e){if(!this._keyMap||e.constructor.name!=`Map`)return e;if(!this._mapKey){this._mapKey=new Map;for(let[e,t]of Object.entries(this._keyMap))this._mapKey.set(t,e)}let t={};return e.forEach((e,n)=>t[Ft(this._mapKey.has(n)?this._mapKey.get(n):n)]=e),t}mapDecode(e,t){let n=this.decode(e);if(this._keyMap)switch(n.constructor.name){case`Array`:return n.map(e=>this.decodeKeys(e))}return n}decode(t,n){if(k)return an(()=>(on(),this?this.decode(t,n):e.prototype.decode.call(Ot,t,n)));pt=n>-1?n:t.length,A=0,bt=0,Ct=0,xt=null,yt=mt,N=null,k=t;try{F=t.dataView||=new DataView(t.buffer,t.byteOffset,t.byteLength)}catch(e){throw k=null,t instanceof Uint8Array?e:Error(`Source must be a Uint8Array or Buffer but was a `+(t&&typeof t==`object`?t.constructor.name:typeof t))}if(this instanceof e){if(j=this,Et=this.sharedValues&&(this.pack?Array(this.maxPrivatePackedValues||16).concat(this.sharedValues):this.sharedValues),this.structures)return M=this.structures,Mt();(!M||M.length>0)&&(M=[])}else j=Ot,(!M||M.length>0)&&(M=[]),Et=null;return Mt()}decodeMultiple(e,t){let n,r=0;try{let i=e.length;kt=!0;let a=this?this.decode(e,i):cn.decode(e,i);if(t){if(t(a)===!1)return;for(;A<i;)if(r=A,t(Mt())===!1)return}else{for(n=[a];A<i;)r=A,n.push(Mt());return n}}catch(e){throw e.lastPosition=r,e.values=n,e}finally{kt=!1,on()}}};function Mt(){try{let e=I();if(N){if(A>=N.postBundlePosition){let e=Error(`Unexpected bundle position`);throw e.incomplete=!0,e}A=N.postBundlePosition,N=null}if(A==pt)M=null,k=null,wt&&=null;else if(A>pt){let e=Error(`Unexpected end of CBOR data`);throw e.incomplete=!0,e}else if(!kt)throw Error(`Data read, but end of buffer not reached`);return e}catch(e){throw on(),(e instanceof RangeError||e.message.startsWith(`Unexpected end of buffer`))&&(e.incomplete=!0),e}}function I(){let e=k[A++],t=e>>5;if(e&=31,e>23)switch(e){case 24:e=k[A++];break;case 25:if(t==7)return Wt();e=F.getUint16(A),A+=2;break;case 26:if(t==7){let e=F.getFloat32(A);if(j.useFloat32>2){let t=sn[(k[A]&127)<<1|k[A+1]>>7];return A+=4,(t*e+(e>0?.5:-.5)>>0)/t}return A+=4,e}e=F.getUint32(A),A+=4;break;case 27:if(t==7){let e=F.getFloat64(A);return A+=8,e}if(t>1){if(F.getUint32(A)>0)throw Error(`JavaScript does not support arrays, maps, or strings with length over 4294967295`);e=F.getUint32(A+4)}else j.int64AsNumber?(e=F.getUint32(A)*4294967296,e+=F.getUint32(A+4)):e=F.getBigUint64(A);A+=8;break;case 31:switch(t){case 2:case 3:throw Error(`Indefinite length not supported for byte or text strings`);case 4:let e=[],n,r=0;for(;(n=I())!=gt;){if(r>=_t)throw Error(`Array length exceeds ${_t}`);e[r++]=n}return t==4?e:t==3?e.join(``):Buffer.concat(e);case 5:let i;if(j.mapsAsObjects){let e={},t=0;if(j.keyMap)for(;(i=I())!=gt;){if(t++>=vt)throw Error(`Property count exceeds ${vt}`);e[Ft(j.decodeKey(i))]=I()}else for(;(i=I())!=gt;){if(t++>=vt)throw Error(`Property count exceeds ${vt}`);e[Ft(i)]=I()}return e}{Dt&&=(j.mapsAsObjects=!0,!1);let e=new Map;if(j.keyMap){let t=0;for(;(i=I())!=gt;){if(t++>=vt)throw Error(`Map size exceeds ${vt}`);e.set(j.decodeKey(i),I())}}else{let t=0;for(;(i=I())!=gt;){if(t++>=vt)throw Error(`Map size exceeds ${vt}`);e.set(i,I())}}return e}case 7:return gt;default:throw Error(`Invalid major type for indefinite length `+t)}default:throw Error(`Unknown token `+e)}switch(t){case 0:return e;case 1:return~e;case 2:return Vt(e);case 3:if(Ct>=A)return xt.slice(A-St,(A+=e)-St);if(Ct==0&&pt<140&&e<32){let t=e<16?Bt(e):zt(e);if(t!=null)return t}return It(e);case 4:if(e>=_t)throw Error(`Array length exceeds ${_t}`);let t=Array(e);for(let n=0;n<e;n++)t[n]=I();return t;case 5:if(e>=vt)throw Error(`Map size exceeds ${_t}`);if(j.mapsAsObjects){let t={};if(j.keyMap)for(let n=0;n<e;n++)t[Ft(j.decodeKey(I()))]=I();else for(let n=0;n<e;n++)t[Ft(I())]=I();return t}{Dt&&=(j.mapsAsObjects=!0,!1);let t=new Map;if(j.keyMap)for(let n=0;n<e;n++)t.set(j.decodeKey(I()),I());else for(let n=0;n<e;n++)t.set(I(),I());return t}case 6:if(e>=ht){let t=M[e&8191];if(t)return t.read||(t.read=Pt(t)),t.read();if(e<65536){if(e==57343){let e=nn(),t=I(),n=I();Kt(t,n);let r={};if(j.keyMap)for(let t=2;t<e;t++){let e=j.decodeKey(n[t-2]);r[Ft(e)]=I()}else for(let t=2;t<e;t++){let e=n[t-2];r[Ft(e)]=I()}return r}if(e==57342){let e=nn(),t=I();for(let n=2;n<e;n++)Kt(t++,I());return I()}if(e==ht)return tn();if(j.getShared&&(rn(),t=M[e&8191],t))return t.read||(t.read=Pt(t)),t.read()}}let n=P[e];if(n)return n.handlesRead?n(I):n(I());{let t=I();for(let n=0;n<Tt.length;n++){let r=Tt[n](e,t);if(r!==void 0)return r}return new Gt(t,e)}case 7:switch(e){case 20:return!1;case 21:return!0;case 22:return null;case 23:return;default:let t=(Et||Xt())[e];if(t!==void 0)return t;throw Error(`Unknown token `+e)}default:if(isNaN(e)){let e=Error(`Unexpected end of CBOR data`);throw e.incomplete=!0,e}throw Error(`Unknown CBOR token `+e)}}const Nt=/^[a-zA-Z_$][a-zA-Z\d_$]*$/;function Pt(e){if(!e)throw Error(`Structure is required in record definition`);function t(){let e=k[A++];if(e&=31,e>23)switch(e){case 24:e=k[A++];break;case 25:e=F.getUint16(A),A+=2;break;case 26:e=F.getUint32(A),A+=4;break;default:throw Error(`Expected array header, but got `+k[A-1])}let t=this.compiledReader;for(;t;){if(t.propertyCount===e)return t(I);t=t.next}if(this.slowReads++>=At){let n=this.length==e?this:this.slice(0,e);return t=j.keyMap?Function(`r`,`return {`+n.map(e=>j.decodeKey(e)).map(e=>Nt.test(e)?Ft(e)+`:r()`:`[`+JSON.stringify(e)+`]:r()`).join(`,`)+`}`):Function(`r`,`return {`+n.map(e=>Nt.test(e)?Ft(e)+`:r()`:`[`+JSON.stringify(e)+`]:r()`).join(`,`)+`}`),this.compiledReader&&(t.next=this.compiledReader),t.propertyCount=e,this.compiledReader=t,t(I)}let n={};if(j.keyMap)for(let t=0;t<e;t++)n[Ft(j.decodeKey(this[t]))]=I();else for(let t=0;t<e;t++)n[Ft(this[t])]=I();return n}return e.slowReads=0,t}function Ft(e){if(typeof e==`string`)return e===`__proto__`?`__proto_`:e;if(typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`)return e.toString();if(e==null)return e+``;throw Error(`Invalid property name type `+typeof e)}let It=Rt;function Lt(e){It=t(1);function t(t){return function(t){let n=yt[bt++];if(n==null){if(N)return Rt(t);let r=e(A,pt,t,k);if(typeof r==`string`)n=r,yt=mt;else if(yt=r,bt=1,Ct=1,n=yt[0],n===void 0)throw Error(`Unexpected end of buffer`)}let r=n.length;return r<=t?(A+=t,n):(xt=n,St=A,Ct=A+r,A+=t,n.slice(0,t))}}}function Rt(e){let t;if(e<16&&(t=Bt(e)))return t;if(e>64&&ft)return ft.decode(k.subarray(A,A+=e));let n=A+e,r=[];for(t=``;A<n;){let e=k[A++];if(!(e&128))r.push(e);else if((e&224)==192){let t=k[A++]&63;r.push((e&31)<<6|t)}else if((e&240)==224){let t=k[A++]&63,n=k[A++]&63;r.push((e&31)<<12|t<<6|n)}else if((e&248)==240){let t=k[A++]&63,n=k[A++]&63,i=k[A++]&63,a=(e&7)<<18|t<<12|n<<6|i;a>65535&&(a-=65536,r.push(a>>>10&1023|55296),a=56320|a&1023),r.push(a)}else r.push(e);r.length>=4096&&(t+=L.apply(String,r),r.length=0)}return r.length>0&&(t+=L.apply(String,r)),t}let L=String.fromCharCode;function zt(e){let t=A,n=Array(e);for(let r=0;r<e;r++){let e=k[A++];if((e&128)>0){A=t;return}n[r]=e}return L.apply(String,n)}function Bt(e){if(e<4){if(e<2){if(e===0)return``;{let e=k[A++];if((e&128)>1){--A;return}return L(e)}}{let t=k[A++],n=k[A++];if((t&128)>0||(n&128)>0){A-=2;return}if(e<3)return L(t,n);let r=k[A++];if((r&128)>0){A-=3;return}return L(t,n,r)}}{let t=k[A++],n=k[A++],r=k[A++],i=k[A++];if((t&128)>0||(n&128)>0||(r&128)>0||(i&128)>0){A-=4;return}if(e<6){if(e===4)return L(t,n,r,i);{let e=k[A++];if((e&128)>0){A-=5;return}return L(t,n,r,i,e)}}if(e<8){let a=k[A++],o=k[A++];if((a&128)>0||(o&128)>0){A-=6;return}if(e<7)return L(t,n,r,i,a,o);let s=k[A++];if((s&128)>0){A-=7;return}return L(t,n,r,i,a,o,s)}{let a=k[A++],o=k[A++],s=k[A++],c=k[A++];if((a&128)>0||(o&128)>0||(s&128)>0||(c&128)>0){A-=8;return}if(e<10){if(e===8)return L(t,n,r,i,a,o,s,c);{let e=k[A++];if((e&128)>0){A-=9;return}return L(t,n,r,i,a,o,s,c,e)}}if(e<12){let l=k[A++],u=k[A++];if((l&128)>0||(u&128)>0){A-=10;return}if(e<11)return L(t,n,r,i,a,o,s,c,l,u);let d=k[A++];if((d&128)>0){A-=11;return}return L(t,n,r,i,a,o,s,c,l,u,d)}{let l=k[A++],u=k[A++],d=k[A++],f=k[A++];if((l&128)>0||(u&128)>0||(d&128)>0||(f&128)>0){A-=12;return}if(e<14){if(e===12)return L(t,n,r,i,a,o,s,c,l,u,d,f);{let e=k[A++];if((e&128)>0){A-=13;return}return L(t,n,r,i,a,o,s,c,l,u,d,f,e)}}{let p=k[A++],m=k[A++];if((p&128)>0||(m&128)>0){A-=14;return}if(e<15)return L(t,n,r,i,a,o,s,c,l,u,d,f,p,m);let h=k[A++];if((h&128)>0){A-=15;return}return L(t,n,r,i,a,o,s,c,l,u,d,f,p,m,h)}}}}}function Vt(e){return j.copyBuffers?Uint8Array.prototype.slice.call(k,A,A+=e):k.subarray(A,A+=e)}let Ht=new Float32Array(1),Ut=new Uint8Array(Ht.buffer,0,4);function Wt(){let e=k[A++],t=k[A++],n=(e&127)>>2;if(n===31)return t||e&3?NaN:e&128?-1/0:1/0;if(n===0){let n=((e&3)<<8|t)/(1<<24);return e&128?-n:n}return Ut[3]=e&128|(n>>1)+56,Ut[2]=(e&7)<<5|t>>3,Ut[1]=t<<5,Ut[0]=0,Ht[0]}Array(4096);var Gt=class{constructor(e,t){this.value=e,this.tag=t}};P[0]=e=>new Date(e),P[1]=e=>new Date(Math.round(e*1e3)),P[2]=e=>{let t=BigInt(0);for(let n=0,r=e.byteLength;n<r;n++)t=BigInt(e[n])+(t<<BigInt(8));return t},P[3]=e=>BigInt(-1)-P[2](e),P[4]=e=>+(e[1]+`e`+e[0]),P[5]=e=>e[1]*Math.exp(e[0]*Math.log(2));const Kt=(e,t)=>{e-=57344;let n=M[e];n&&n.isShared&&((M.restoreStructures||(M.restoreStructures=[]))[e]=n),M[e]=t,t.read=Pt(t)};P[105]=e=>{let t=e.length,n=e[1];Kt(e[0],n);let r={};for(let i=2;i<t;i++){let t=n[i-2];r[Ft(t)]=e[i]}return r},P[14]=e=>N?N[0].slice(N.position0,N.position0+=e):new Gt(e,14),P[15]=e=>N?N[1].slice(N.position1,N.position1+=e):new Gt(e,15);let qt={Error,RegExp};P[27]=e=>(qt[e[0]]||Error)(e[1],e[2]);const Jt=e=>{if(k[A++]!=132){let e=Error(`Packed values structure must be followed by a 4 element array`);throw k.length<A&&(e.incomplete=!0),e}let t=e();if(!t||!t.length){let e=Error(`Packed values structure must be followed by a 4 element array`);throw e.incomplete=!0,e}return Et=Et?t.concat(Et.slice(t.length)):t,Et.prefixes=e(),Et.suffixes=e(),e()};Jt.handlesRead=!0,P[51]=Jt,P[6]=e=>{if(!Et){if(j.getShared)rn();else return new Gt(e,6)}if(typeof e==`number`)return Et[16+(e>=0?2*e:-2*e-1)];let t=Error(`No support for non-integer packed references yet`);throw e===void 0&&(t.incomplete=!0),t},P[28]=e=>{wt||(wt=new Map,wt.id=0);let t=wt.id++,n=A,r=k[A],i;i=r>>5==4?[]:{};let a={target:i};wt.set(t,a);let o=e();return a.used?(Object.getPrototypeOf(i)!==Object.getPrototypeOf(o)&&(A=n,i=o,wt.set(t,{target:i}),o=e()),Object.assign(i,o)):(a.target=o,o)},P[28].handlesRead=!0,P[29]=e=>{let t=wt.get(e);return t.used=!0,t.target},P[258]=e=>new Set(e),(P[259]=e=>(j.mapsAsObjects&&(j.mapsAsObjects=!1,Dt=!0),e())).handlesRead=!0;function Yt(e,t){return typeof e==`string`?e+t:e instanceof Array?e.concat(t):Object.assign({},e,t)}function Xt(){if(!Et){if(j.getShared)rn();else throw Error(`No packed values available`)}return Et}Tt.push((e,t)=>{if(e>=225&&e<=255)return Yt(Xt().prefixes[e-224],t);if(e>=28704&&e<=32767)return Yt(Xt().prefixes[e-28672],t);if(e>=1879052288&&e<=2147483647)return Yt(Xt().prefixes[e-1879048192],t);if(e>=216&&e<=223)return Yt(t,Xt().suffixes[e-216]);if(e>=27647&&e<=28671)return Yt(t,Xt().suffixes[e-27639]);if(e>=1811940352&&e<=1879048191)return Yt(t,Xt().suffixes[e-1811939328]);if(e==1399353956)return{packedValues:Et,structures:M.slice(0),version:t};if(e==55799)return t});const Zt=new Uint8Array(new Uint16Array([1]).buffer)[0]==1,Qt=[Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,typeof BigUint64Array>`u`?{name:`BigUint64Array`}:BigUint64Array,Int8Array,Int16Array,Int32Array,typeof BigInt64Array>`u`?{name:`BigInt64Array`}:BigInt64Array,Float32Array,Float64Array],$t=[64,68,69,70,71,72,77,78,79,85,86];for(let e=0;e<Qt.length;e++)en(Qt[e],$t[e]);function en(e,t){let n=`get`+e.name.slice(0,-5),r;typeof e==`function`?r=e.BYTES_PER_ELEMENT:e=null;for(let i=0;i<2;i++){if(!i&&r==1)continue;let a=r==2?1:r==4?2:r==8?3:0;P[i?t:t-4]=r==1||i==Zt?n=>{if(!e)throw Error(`Could not find typed array for code `+t);return!j.copyBuffers&&(r===1||r===2&&!(n.byteOffset&1)||r===4&&!(n.byteOffset&3)||r===8&&!(n.byteOffset&7))?new e(n.buffer,n.byteOffset,n.byteLength>>a):new e(Uint8Array.prototype.slice.call(n,0).buffer)}:r=>{if(!e)throw Error(`Could not find typed array for code `+t);let o=new DataView(r.buffer,r.byteOffset,r.byteLength),s=r.length>>a,c=new e(s),l=o[n];for(let e=0;e<s;e++)c[e]=l.call(o,e<<a,i);return c}}}function tn(){let e=nn(),t=A+I();for(let t=2;t<e;t++){let e=nn();A+=e}let n=A;return A=t,N=[Rt(nn()),Rt(nn())],N.position0=0,N.position1=0,N.postBundlePosition=A,A=n,I()}function nn(){let e=k[A++]&31;if(e>23)switch(e){case 24:e=k[A++];break;case 25:e=F.getUint16(A),A+=2;break;case 26:e=F.getUint32(A),A+=4}return e}function rn(){if(j.getShared){let e=an(()=>(k=null,j.getShared()))||{},t=e.structures||[];j.sharedVersion=e.version,Et=j.sharedValues=e.packedValues,M===!0?j.structures=M=t:M.splice.apply(M,[0,t.length].concat(t))}}function an(e){let t=pt,n=A,r=bt,i=St,a=Ct,o=xt,s=yt,c=wt,l=N,u=new Uint8Array(k.slice(0,pt)),d=M,f=j,p=kt,m=e();return pt=t,A=n,bt=r,St=i,Ct=a,xt=o,yt=s,wt=c,N=l,k=u,kt=p,M=d,j=f,F=new DataView(k.buffer,k.byteOffset,k.byteLength),m}function on(){k=null,wt=null,M=null}const sn=Array(147);for(let e=0;e<256;e++)sn[e]=+(`1e`+Math.floor(45.15-e*.30103));let cn=new jt({useRecords:!1});const ln=cn.decode;cn.decodeMultiple;const un={NEVER:0,ALWAYS:1,DECIMAL_ROUND:3,DECIMAL_FIT:4};let dn;try{dn=new TextEncoder}catch{}let fn,pn;const mn=typeof globalThis==`object`&&globalThis.Buffer,hn=mn!==void 0,gn=hn?mn.allocUnsafeSlow:Uint8Array,_n=hn?mn:Uint8Array,vn=hn?4294967296:2144337920;let yn,R,z,B=0,bn,V=null;const xn=/[\u0080-\uFFFF]/,Sn=Symbol(`record-id`);var Cn=class extends jt{constructor(e){super(e),this.offset=0;let t,n,r,i,a;e||={};let o=_n.prototype.utf8Write?function(e,t,n){return R.utf8Write(e,t,n)}:dn&&dn.encodeInto?function(e,t){return dn.encodeInto(e,R.subarray(t)).written}:!1,s=this,c=e.structures||e.saveStructures,l=e.maxSharedStructures;if(l??=c?128:0,l>8190)throw Error(`Maximum maxSharedStructure is 8190`);let u=e.sequential;u&&(l=0),this.structures||=[],this.saveStructures&&(this.saveShared=this.saveStructures);let d,f,p=e.sharedValues,m;if(p){m=Object.create(null);for(let e=0,t=p.length;e<t;e++)m[p[e]]=e}let h=[],g=0,_=0;this.mapEncode=function(e,t){if(this._keyMap&&!this._mapped)switch(e.constructor.name){case`Array`:e=e.map(e=>this.encodeKeys(e))}return this.encode(e,t)},this.encode=function(o,c){if(R||(R=new gn(8192),z=new DataView(R.buffer,0,8192),B=0),bn=R.length-10,bn-B<2048?(R=new gn(R.length),z=new DataView(R.buffer,0,R.length),bn=R.length-10,B=0):c===512&&(B=B+7&2147483640),t=B,s.useSelfDescribedHeader&&(z.setUint32(B,3654940416),B+=3),a=s.structuredClone?new Map:null,s.bundleStrings&&typeof o!=`string`?(V=[],V.size=1/0):V=null,n=s.structures,n){if(n.uninitialized){let e=s.getShared()||{};s.structures=n=e.structures||[],s.sharedVersion=e.version;let t=s.sharedValues=e.packedValues;if(t){m={};for(let e=0,n=t.length;e<n;e++)m[t[e]]=e}}let e=n.length;if(e>l&&!u&&(e=l),!n.transitions){n.transitions=Object.create(null);for(let t=0;t<e;t++){let e=n[t];if(!e)continue;let r,i=n.transitions;for(let n=0,a=e.length;n<a;n++){i[Sn]===void 0&&(i[Sn]=t);let a=e[n];r=i[a],r||=i[a]=Object.create(null),i=r}i[Sn]=t|1048576}}u||(n.nextId=e)}if(r&&=!1,i=n||[],f=m,e.pack){let t=new Map;if(t.values=[],t.encoder=s,t.maxValues=e.maxPrivatePackedValues||(m?16:1/0),t.objectMap=m||!1,t.samplingPackedValues=d,kn(o,t),t.values.length>0){R[B++]=216,R[B++]=51,En(4);let e=t.values;v(e),En(0),En(0),f=Object.create(m||null);for(let t=0,n=e.length;t<n;t++)f[e[t]]=t}}yn=c&Vn;try{if(yn)return;if(v(o),V&&Pn(t,v),s.offset=B,a&&a.idsToInsert){B+=a.idsToInsert.length*2,B>bn&&b(B),s.offset=B;let e=Nn(R.subarray(t,B),a.idsToInsert);return a=null,e}return c&512?(R.start=t,R.end=B,R):R.subarray(t,B)}finally{if(n){if(_<10&&_++,n.length>l&&(n.length=l),g>1e4)n.transitions=null,_=0,g=0,h.length>0&&(h=[]);else if(h.length>0&&!u){for(let e=0,t=h.length;e<t;e++)h[e][Sn]=void 0;h=[]}}if(r&&s.saveShared){s.structures.length>l&&(s.structures=s.structures.slice(0,l));let e=R.subarray(t,B);return s.updateSharedData()===!1?s.encode(o):e}c&1024&&(B=t)}},this.findCommonStringsToPack=()=>(d=new Map,m||=Object.create(null),e=>{let t=e&&e.threshold||4,n=this.pack?e.maxPrivatePackedValues||16:0;p||=this.sharedValues=[];for(let[e,i]of d)i.count>t&&(m[e]=n++,p.push(e),r=!0);for(;this.saveShared&&this.updateSharedData()===!1;);d=null});let v=n=>{B>bn&&(R=b(B));var r=typeof n,i;if(r===`string`){if(f){let t=f[n];if(t>=0){t<16?R[B++]=t+224:(R[B++]=198,t&1?v(15-t>>1):v(t-16>>1));return}if(d&&!e.pack){let e=d.get(n);e?e.count++:d.set(n,{count:1})}}let r=n.length;if(V&&r>=4&&r<1024){if((V.size+=r)>61440){let e,n=(V[0]?V[0].length*3+V[1].length:0)+10;B+n>bn&&(R=b(B+n)),R[B++]=217,R[B++]=223,R[B++]=249,R[B++]=V.position?132:130,R[B++]=26,e=B-t,B+=4,V.position&&Pn(t,v),V=[``,``],V.size=0,V.position=e}let e=xn.test(n);V[+!e]+=n,R[B++]=e?206:207,v(r);return}let a;a=r<32?1:r<256?2:r<65536?3:5;let s=r*3;if(B+s>bn&&(R=b(B+s)),r<64||!o){let e,t,o,s=B+a;for(e=0;e<r;e++)t=n.charCodeAt(e),t<128?R[s++]=t:t<2048?(R[s++]=t>>6|192,R[s++]=t&63|128):(t&64512)==55296&&((o=n.charCodeAt(e+1))&64512)==56320?(t=65536+((t&1023)<<10)+(o&1023),e++,R[s++]=t>>18|240,R[s++]=t>>12&63|128,R[s++]=t>>6&63|128,R[s++]=t&63|128):(R[s++]=t>>12|224,R[s++]=t>>6&63|128,R[s++]=t&63|128);i=s-B-a}else i=o(n,B+a,s);i<24?R[B++]=96|i:i<256?(a<2&&R.copyWithin(B+2,B+1,B+1+i),R[B++]=120,R[B++]=i):i<65536?(a<3&&R.copyWithin(B+3,B+2,B+2+i),R[B++]=121,R[B++]=i>>8,R[B++]=i&255):(a<5&&R.copyWithin(B+5,B+3,B+3+i),R[B++]=122,z.setUint32(B,i),B+=4),B+=i}else if(r===`number`){if(!this.alwaysUseFloat&&n>>>0===n)n<24?R[B++]=n:n<256?(R[B++]=24,R[B++]=n):n<65536?(R[B++]=25,R[B++]=n>>8,R[B++]=n&255):(R[B++]=26,z.setUint32(B,n),B+=4);else if(!this.alwaysUseFloat&&n>>0===n)n>=-24?R[B++]=31-n:n>=-256?(R[B++]=56,R[B++]=~n):n>=-65536?(R[B++]=57,z.setUint16(B,~n),B+=2):(R[B++]=58,z.setUint32(B,~n),B+=4);else{let e;if((e=this.useFloat32)>0&&n<4294967296&&n>=-2147483648){R[B++]=250,z.setFloat32(B,n);let t;if(e<4||(t=n*sn[(R[B]&127)<<1|R[B+1]>>7])>>0===t){B+=4;return}B--}R[B++]=251,z.setFloat64(B,n),B+=8}}else if(r===`object`){if(!n)R[B++]=246;else{if(a){let e=a.get(n);if(e){if(R[B++]=216,R[B++]=29,R[B++]=25,!e.references){let t=a.idsToInsert||(a.idsToInsert=[]);e.references=[],t.push(e)}e.references.push(B-t),B+=2;return}a.set(n,{offset:B-t})}let e=n.constructor;if(e===Object)y(n);else if(e===Array){i=n.length,i<24?R[B++]=128|i:En(i);for(let e=0;e<i;e++)v(n[e])}else if(e===Map){if((this.mapsAsObjects?this.useTag259ForMaps!==!1:this.useTag259ForMaps)&&(R[B++]=217,R[B++]=1,R[B++]=3),i=n.size,i<24?R[B++]=160|i:i<256?(R[B++]=184,R[B++]=i):i<65536?(R[B++]=185,R[B++]=i>>8,R[B++]=i&255):(R[B++]=186,z.setUint32(B,i),B+=4),s.keyMap)for(let[e,t]of n)v(s.encodeKey(e)),v(t);else for(let[e,t]of n)v(e),v(t)}else{for(let e=0,t=fn.length;e<t;e++){let t=pn[e];if(n instanceof t){let t=fn[e],r=t.tag;r??=t.getTag&&t.getTag.call(this,n),r<24?R[B++]=192|r:r<256?(R[B++]=216,R[B++]=r):r<65536?(R[B++]=217,R[B++]=r>>8,R[B++]=r&255):r>-1&&(R[B++]=218,z.setUint32(B,r),B+=4),t.encode.call(this,n,v,b);return}}if(n[Symbol.iterator]){if(yn){let e=Error(`Iterable should be serialized as iterator`);throw e.iteratorNotHandled=!0,e}R[B++]=159;for(let e of n)v(e);R[B++]=255;return}if(n[Symbol.asyncIterator]||On(n)){let e=Error(`Iterable/blob should be serialized as iterator`);throw e.iteratorNotHandled=!0,e}if(this.useToJSON&&n.toJSON){let e=n.toJSON();if(e!==n)return v(e)}y(n)}}}else if(r===`boolean`)R[B++]=n?245:244;else if(r===`bigint`){if(n<BigInt(1)<<BigInt(64)&&n>=0)R[B++]=27,z.setBigUint64(B,n);else if(n>-(BigInt(1)<<BigInt(64))&&n<0)R[B++]=59,z.setBigUint64(B,-n-BigInt(1));else if(this.largeBigIntToFloat)R[B++]=251,z.setFloat64(B,Number(n));else{n>=BigInt(0)?R[B++]=194:(R[B++]=195,n=BigInt(-1)-n);let e=[];for(;n;)e.push(Number(n&BigInt(255))),n>>=BigInt(8);Mn(new Uint8Array(e.reverse()),b);return}B+=8}else if(r===`undefined`)R[B++]=247;else throw Error(`Unknown type: `+r)},y=this.useRecords===!1?this.variableMapSize?e=>{let t=Object.keys(e),n=Object.values(e),r=t.length;if(r<24?R[B++]=160|r:r<256?(R[B++]=184,R[B++]=r):r<65536?(R[B++]=185,R[B++]=r>>8,R[B++]=r&255):(R[B++]=186,z.setUint32(B,r),B+=4),s.keyMap)for(let e=0;e<r;e++)v(s.encodeKey(t[e])),v(n[e]);else for(let e=0;e<r;e++)v(t[e]),v(n[e])}:e=>{R[B++]=185;let n=B-t;B+=2;let r=0;if(s.keyMap)for(let t in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(t))&&(v(s.encodeKey(t)),v(e[t]),r++);else for(let t in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(t))&&(v(t),v(e[t]),r++);R[n+++t]=r>>8,R[n+t]=r&255}:(e,t)=>{let n,a=i.transitions||(i.transitions=Object.create(null)),o=0,s=0,c,u;if(this.keyMap){u=Object.keys(e).map(e=>this.encodeKey(e)),s=u.length;for(let e=0;e<s;e++){let t=u[e];n=a[t],n||(n=a[t]=Object.create(null),o++),a=n}}else for(let t in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(t))&&(n=a[t],n||(a[Sn]&1048576&&(c=a[Sn]&65535),n=a[t]=Object.create(null),o++),a=n,s++);let d=a[Sn];if(d!==void 0)d&=65535,R[B++]=217,R[B++]=d>>8|224,R[B++]=d&255;else if(u||=a.__keys__||(a.__keys__=Object.keys(e)),c===void 0?(d=i.nextId++,d||(d=0,i.nextId=1),d>=256&&(i.nextId=(d=l)+1)):d=c,i[d]=u,d<l){R[B++]=217,R[B++]=d>>8|224,R[B++]=d&255,a=i.transitions;for(let e=0;e<s;e++)(a[Sn]===void 0||a[Sn]&1048576)&&(a[Sn]=d),a=a[u[e]];a[Sn]=d|1048576,r=!0}else{if(a[Sn]=d,z.setUint32(B,3655335680),B+=3,o&&(g+=_*o),h.length>=256-l&&(h.shift()[Sn]=void 0),h.push(a),En(s+2),v(57344+d),v(u),t)return;for(let t in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(t))&&v(e[t]);return}if(s<24?R[B++]=128|s:En(s),!t)for(let t in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(t))&&v(e[t])},b=e=>{let n;if(e>16777216){if(e-t>vn)throw Error(`Encoded buffer would be larger than maximum buffer size`);n=Math.min(vn,Math.round(Math.max((e-t)*(e>67108864?1.25:2),4194304)/4096)*4096)}else n=(Math.max(e-t<<2,R.length-1)>>12)+1<<12;let r=new gn(n);return z=new DataView(r.buffer,0,n),R.copy?R.copy(r,0,t,e):r.set(R.slice(t,e)),B-=t,t=0,bn=r.length-10,R=r},x=100,S=1e3;this.encodeAsIterable=function(e,t){return T(e,t,C)},this.encodeAsAsyncIterable=function(e,t){return T(e,t,te)};function*C(e,n,r){let i=e.constructor;if(i===Object){let t=s.useRecords!==!1;t?y(e,!0):wn(Object.keys(e).length,160);for(let r in e){let i=e[r];t||v(r),i&&typeof i==`object`?n[r]?yield*C(i,n[r]):yield*w(i,n,r):v(i)}}else if(i===Array){let r=e.length;En(r);for(let i=0;i<r;i++){let r=e[i];r&&(typeof r==`object`||B-t>x)?n.element?yield*C(r,n.element):yield*w(r,n,`element`):v(r)}}else if(e[Symbol.iterator]&&!e.buffer){R[B++]=159;for(let r of e)r&&(typeof r==`object`||B-t>x)?n.element?yield*C(r,n.element):yield*w(r,n,`element`):v(r);R[B++]=255}else On(e)?(wn(e.size,64),yield R.subarray(t,B),yield e,ee()):e[Symbol.asyncIterator]?(R[B++]=159,yield R.subarray(t,B),yield e,ee(),R[B++]=255):v(e);r&&B>t?yield R.subarray(t,B):B-t>x&&(yield R.subarray(t,B),ee())}function*w(e,n,r){let i=B-t;try{v(e),B-t>x&&(yield R.subarray(t,B),ee())}catch(a){if(a.iteratorNotHandled)n[r]={},B=t+i,yield*C.call(this,e,n[r]);else throw a}}function ee(){x=S,s.encode(null,Vn)}function T(e,t,n){return x=t&&t.chunkThreshold?S=t.chunkThreshold:100,e&&typeof e==`object`?(s.encode(null,Vn),n(e,s.iterateProperties||={},!0)):[s.encode(e)]}async function*te(e,t){for(let n of C(e,t,!0)){let e=n.constructor;if(e===_n||e===Uint8Array)yield n;else if(On(n)){let e=n.stream().getReader(),t;for(;!(t=await e.read()).done;)yield t.value}else if(n[Symbol.asyncIterator])for await(let e of n)ee(),e?yield*te(e,t.async||={}):yield s.encode(e);else yield n}}}useBuffer(e){R=e,z=new DataView(R.buffer,R.byteOffset,R.byteLength),B=0}clearSharedData(){this.structures&&=[],this.sharedValues&&=void 0}updateSharedData(){let e=this.sharedVersion||0;this.sharedVersion=e+1;let t=this.structures.slice(0),n=new Tn(t,this.sharedValues,this.sharedVersion),r=this.saveShared(n,t=>(t&&t.version||0)==e);return r===!1?(n=this.getShared()||{},this.structures=n.structures||[],this.sharedValues=n.packedValues,this.sharedVersion=n.version,this.structures.nextId=this.structures.length):t.forEach((e,t)=>this.structures[t]=e),r}};function wn(e,t){e<24?R[B++]=t|e:e<256?(R[B++]=t|24,R[B++]=e):e<65536?(R[B++]=t|25,R[B++]=e>>8,R[B++]=e&255):(R[B++]=t|26,z.setUint32(B,e),B+=4)}var Tn=class{constructor(e,t,n){this.structures=e,this.packedValues=t,this.version=n}};function En(e){e<24?R[B++]=128|e:e<256?(R[B++]=152,R[B++]=e):e<65536?(R[B++]=153,R[B++]=e>>8,R[B++]=e&255):(R[B++]=154,z.setUint32(B,e),B+=4)}const Dn=typeof Blob>`u`?function(){}:Blob;function On(e){if(e instanceof Dn)return!0;let t=e[Symbol.toStringTag];return t===`Blob`||t===`File`}function kn(e,t){switch(typeof e){case`string`:if(e.length>3){if(t.objectMap[e]>-1||t.values.length>=t.maxValues)return;let n=t.get(e);if(n)++n.count==2&&t.values.push(e);else if(t.set(e,{count:1}),t.samplingPackedValues){let n=t.samplingPackedValues.get(e);n?n.count++:t.samplingPackedValues.set(e,{count:1})}}break;case`object`:if(e){if(e instanceof Array)for(let n=0,r=e.length;n<r;n++)kn(e[n],t);else{let r=!t.encoder.useRecords;for(var n in e)e.hasOwnProperty(n)&&(r&&kn(n,t),kn(e[n],t))}}break;case`function`:console.log(e)}}const An=new Uint8Array(new Uint16Array([1]).buffer)[0]==1;pn=[Date,Set,Error,RegExp,Gt,ArrayBuffer,Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,typeof BigUint64Array>`u`?function(){}:BigUint64Array,Int8Array,Int16Array,Int32Array,typeof BigInt64Array>`u`?function(){}:BigInt64Array,Float32Array,Float64Array,Tn],fn=[{tag:1,encode(e,t){let n=e.getTime()/1e3;(this.useTimestamp32||e.getMilliseconds()===0)&&n>=0&&n<4294967296?(R[B++]=26,z.setUint32(B,n),B+=4):(R[B++]=251,z.setFloat64(B,n),B+=8)}},{tag:258,encode(e,t){t(Array.from(e))}},{tag:27,encode(e,t){t([e.name,e.message])}},{tag:27,encode(e,t){t([`RegExp`,e.source,e.flags])}},{getTag(e){return e.tag},encode(e,t){t(e.value)}},{encode(e,t,n){Mn(e,n)}},{getTag(e){if(e.constructor===Uint8Array&&(this.tagUint8Array||hn&&this.tagUint8Array!==!1))return 64},encode(e,t,n){Mn(e,n)}},jn(68,1),jn(69,2),jn(70,4),jn(71,8),jn(72,1),jn(77,2),jn(78,4),jn(79,8),jn(85,4),jn(86,8),{encode(e,t){let n=e.packedValues||[],r=e.structures||[];if(n.values.length>0){R[B++]=216,R[B++]=51,En(4);let e=n.values;t(e),En(0),En(0),packedObjectMap=Object.create(sharedPackedObjectMap||null);for(let t=0,n=e.length;t<n;t++)packedObjectMap[e[t]]=t}if(r){z.setUint32(B,3655335424),B+=3;let n=r.slice(0);n.unshift(57344),n.push(new Gt(e.version,1399353956)),t(n)}else t(new Gt(e.version,1399353956))}}];function jn(e,t){return!An&&t>1&&(e-=4),{tag:e,encode:function(e,t){let n=e.byteLength,r=e.byteOffset||0,i=e.buffer||e;t(hn?mn.from(i,r,n):new Uint8Array(i,r,n))}}}function Mn(e,t){let n=e.byteLength;n<24?R[B++]=64+n:n<256?(R[B++]=88,R[B++]=n):n<65536?(R[B++]=89,R[B++]=n>>8,R[B++]=n&255):(R[B++]=90,z.setUint32(B,n),B+=4),B+n>=R.length&&t(B+n),R.set(e.buffer?e:new Uint8Array(e),B),B+=n}function Nn(e,t){let n,r=t.length*2,i=e.length-r;t.sort((e,t)=>e.offset>t.offset?1:-1);for(let n=0;n<t.length;n++){let r=t[n];r.id=n;for(let t of r.references)e[t++]=n>>8,e[t]=n&255}for(;n=t.pop();){let t=n.offset;e.copyWithin(t+r,t,i),r-=2;let a=t+r;e[a++]=216,e[a++]=28,i=t}return e}function Pn(e,t){z.setUint32(V.position+e,B-V.position-e+1);let n=V;V=null,t(n[0]),t(n[1])}let Fn=new Cn({useRecords:!1});const In=Fn.encode;Fn.encodeAsIterable,Fn.encodeAsAsyncIterable;const{NEVER:Ln,ALWAYS:Rn,DECIMAL_ROUND:zn,DECIMAL_FIT:Bn}=un,Vn=2048;if(process.env.CBOR_NATIVE_ACCELERATION_DISABLED===void 0||process.env.CBOR_NATIVE_ACCELERATION_DISABLED.toLowerCase()!==`true`){let t;try{t=typeof e==`function`?e(`cbor-extract`):Je(import.meta.url)(`cbor-extract`),t&&Lt(t.extractStrings)}catch{}}var Hn=s();const Un=`5.2.0`,Wn=T(`@workflow/world-vercel//httpPools`,1,()=>({dispatcher:void 0,queueDispatcher:void 0,streamDispatcher:void 0,streamCloseDispatcher:void 0,nodeHttpAgents:void 0})),Gn={connections:8,keepAliveTimeout:1e4},Kn=3e5,qn=3e5,Jn={...Gn,allowH2:!1,pipelining:1},Yn=()=>oe(`WORKFLOW_VERCEL_QUEUE_TIMEOUT_MS`,3e4,{integer:!0,min:5e3,max:12e4});function Xn(){let e=Yn();return{...Jn,connections:oe(`WORKFLOW_VERCEL_QUEUE_CONNECTIONS`,64,{integer:!0,min:1,max:1024}),headersTimeout:e,bodyTimeout:e}}const Zn=Hn.DecoratorHandler;function Qn(e){class t extends Zn{#e=!1;#t;#n;constructor(t){super(t),this.#n=setTimeout(()=>{this.#e=!0,this.#r()},e),this.#n.unref?.()}#r(){this.#t?.abort(Error(`Queue request exceeded its ${e}ms deadline`))}onRequestStart(e,t){this.#t=e,super.onRequestStart(e,t),this.#e&&this.#r()}onResponseEnd(e,t){clearTimeout(this.#n),super.onResponseEnd(e,t)}onResponseError(e,t){clearTimeout(this.#n),super.onResponseError(e,t)}}return e=>(n,r)=>e(n,new t(r))}const $n=6e4,er={...Gn,headersTimeout:$n,bodyTimeout:$n,allowH2:!0,pipelining:100,initialWindowSize:4194304,connectionWindowSize:16777216},tr={...Gn,headersTimeout:$n,bodyTimeout:$n,allowH2:!1,pipelining:1},nr={...Gn,allowH2:!0,pipelining:1},rr={retryAfter:!0,statusCodes:[500,502,503,504]},ir={...rr,errorCodes:[`ECONNRESET`,`ECONNREFUSED`,`ENOTFOUND`,`ENETDOWN`,`ENETUNREACH`,`EHOSTDOWN`,`EHOSTUNREACH`,`EPIPE`,`UND_ERR_SOCKET`,`ERR_HTTP2_STREAM_ERROR`]},ar={retryAfter:!0,methods:[`PUT`],statusCodes:[429]},or={retryAfter:!0,methods:[`PUT`],statusCodes:[429,500,502,503,504]};function sr(){return process.env.WORKFLOW_H2_MULTIPLEX!==`0`}function cr(e){if(!e||typeof e!=`object`||Array.isArray(e))return NaN;let t=e,n=t[`content-length`]??t[`Content-Length`];return typeof n==`string`||typeof n==`number`?Number(n):NaN}function lr(e){return t=>(n,r)=>{let i=n.body,a=!!i&&typeof i!=`string`&&!Buffer.isBuffer(i)&&typeof i[Symbol.asyncIterator]==`function`,o=cr(n.headers);return a?!(o>=0)||o>1048576?e?e.dispatch(n,r):t({...n,idempotent:!0},r):((async()=>{try{let e=[];for await(let t of i)e.push(Buffer.from(t));t({...n,body:Buffer.concat(e),idempotent:!0},r)}catch(e){r.onError?.(e)}})(),!0):t({...n,idempotent:!0},r)}}const ur=new Set([`UND_ERR_INFO`,`UND_ERR_HEADERS_TIMEOUT`,`UND_ERR_BODY_TIMEOUT`,`ERR_HTTP2_GOAWAY_SESSION`,`ERR_HTTP2_INVALID_SESSION`,`ERR_HTTP2_SESSION_ERROR`,`ERR_HTTP2_STREAM_ERROR`]);function dr(e){let t=e;for(let e=0;t&&e<8;e++){let e=t.code;if(typeof e==`string`&&ur.has(e))return!0;t=t.cause}return!1}function fr(e,t){let n,r=0,i=0;function a(e){let t=setTimeout(()=>{Promise.resolve(e.close?.()).catch(()=>void 0)},5e3),n=setTimeout(()=>{Promise.resolve(e.destroy?.()).catch(()=>void 0)},6e4);t.unref?.(),n.unref?.()}return{get(){return n??=e(),n},note(e,o){if(!n||e!==n)return;if(o===void 0){r=0;return}if(!dr(o)||(r++,r<3))return;let s=Date.now();if(s-i<5e3)return;i=s,r=0;let c=n;n=void 0,console.warn(`[workflow] ${t}: rebuilding connection pool after 3 consecutive transport failures`),a(c)}}}const pr=T(`@workflow/world-vercel//eventsDispatcherRecycler@${Un}`,1,()=>fr(()=>Cr(),`events transport`));function mr(e,t){pr.note(e,t)}function hr(e,t){return e?.dispatcher?e.dispatcher:_e()?void 0:t()}function gr(e){if(!e?.dispatcher&&_e())return Wn.nodeHttpAgents??=a({maxSockets:Gn.connections,keepAliveMs:Gn.keepAliveTimeout}),Wn.nodeHttpAgents}function _r(e){return hr(e,kr)}function vr(e){return hr(e,Or)}function yr(e){return hr(e,()=>pr.get())}function br(e){return hr(e,Ar)}function xr(e){return hr(e,jr)}function Sr(e,t){return new Hn.RetryAgent(new Hn.Agent(e),t)}function Cr(e){let t=sr(),n=new Hn.RetryAgent(new Hn.Agent({...t?er:tr,...e}),ir);if(!t||!wr(n))return n;let r=new Hn.RetryAgent(new Hn.Agent({...tr,...e}),ir);return Tr(n,n.compose(lr(r)),r)}function wr(e){return typeof e.compose==`function`}function Tr(e,t,n){return new Proxy(t,{get:(t,r)=>{if(r!==`close`&&r!==`destroy`)return t[r];let i=e[r].bind(e);if(!n)return i;let a=n[r].bind(n);return async(...e)=>{await Promise.all([i(...e),a(...e)])}}})}function Er(e,t){return new Hn.RetryAgent(new Hn.Agent({...nr,...t}),e)}function Dr(){let e=new Hn.Agent(Xn());return new Hn.RetryAgent(wr(e)?e.compose(Qn(Yn())):e,rr)}function Or(){return Wn.queueDispatcher??=Dr(),Wn.queueDispatcher}function kr(){return Wn.dispatcher??=Sr(Jn,rr),Wn.dispatcher}function Ar(){return Wn.streamDispatcher??=Er(ar),Wn.streamDispatcher}function jr(){return Wn.streamCloseDispatcher??=Er(or),Wn.streamCloseDispatcher}const Mr=T(`@workflow/world-vercel//telemetry`,1,()=>({apiPromise:null,tracerPromise:null}));async function Nr(){return Mr.apiPromise||=import(`../../@opentelemetry/api/index.js`).catch(e=>(typeof process<`u`&&typeof process.env.DEBUG==`string`&&(process.env.DEBUG.includes(`workflow:`)||process.env.DEBUG===`*`)&&console.warn(`[workflow] @opentelemetry/api unavailable — world-vercel spans disabled:`,e instanceof Error?e.message:e),null)),Mr.apiPromise}function Pr(){return typeof process<`u`&&typeof process.env.DEBUG==`string`&&(process.env.DEBUG.includes(`workflow:`)||process.env.DEBUG===`*`)}let Fr=!1;function Ir(e,t){if(!Fr&&Pr()){Fr=!0;try{let n=globalThis[Symbol.for(`opentelemetry.js.api.1`)],r=e.trace.getTracerProvider(),i=r.getDelegate?.()??r,a=t.startSpan(`workflow.otel.probe.world_vercel`);console.warn(`[workflow:otel-diag] world-vercel`,JSON.stringify({globalRegistrationVersion:n?.version??null,providerCtor:r?.constructor?.name??null,delegateCtor:i?.constructor?.name??null,tracerCtor:t?.constructor?.name??null,probeCtor:a?.constructor?.name??null,probeRecording:a.isRecording()})),a.end()}catch(e){console.warn(`[workflow:otel-diag] world-vercel failed:`,e instanceof Error?e.message:e)}}}async function Lr(){return Mr.tracerPromise||=Nr().then(e=>{if(!e)return null;let t=e.trace.getTracer(`workflow`);return Ir(e,t),t}),Mr.tracerPromise}async function Rr(e,...t){let[n,r]=await Promise.all([Lr(),Nr()]),{fn:i,opts:a}=typeof t[0]==`function`?{fn:t[0],opts:{}}:{fn:t[1],opts:t[0]};if(!i)throw Error(`Function to trace must be provided`);return!n||!r?await i():n.startActiveSpan(e,a,async e=>{try{let t=await i(e);return e.setStatus({code:r.SpanStatusCode.OK}),t}catch(t){throw e.setStatus({code:r.SpanStatusCode.ERROR,message:t.message}),t}finally{e.end()}})}async function zr(e){let t=await Nr();if(t)return t.SpanKind[e]}async function Br(e){for(let[t,n]of Object.entries(await Vr()))e.set(t,n)}async function Vr(){let e=await Nr();if(!e)return{};let t={};return e.propagation.inject(e.context.active(),t),t}function H(...e){return t=>Object.fromEntries(e.map(e=>[e,t]))}const Hr=H(`http.request.method`),Ur=H(`url.full`),Wr=H(`server.address`),Gr=H(`server.port`),Kr=H(`http.response.status_code`),qr=H(`error.type`),Jr=H(`network.protocol.name`),Yr=H(`workflow.world.parse.format`),Xr=H(`peer.service`),Zr=H(`rpc.system`),Qr=H(`rpc.service`),$r=H(`rpc.method`),ei=H(`workflow.run.id`),ti=H(`step.id`),ni=H(`workflow.stream.name`),ri=H(`workflow.stream.operation`),ii=H(`workflow.stream.start_index`),ai=H(`workflow.events.transport`),oi=H(`workflow.http.transport`),si=H(`workflow.event.type`),ci=H(`workflow.step_start.mode`),li=H(`workflow.step_start.owner_stamped`),ui=H(`workflow.client.version`),di=H(`step.stso_ms`),fi=H(`step.latency_optimizations`),pi=H(`workflow.events.ws.url`),mi=H(`workflow.events.ws.req_id`),hi=H(`workflow.events.ws.request_parts`),gi=H(`workflow.events.ws.reply_parts`),_i=H(`workflow.events.ws.reconnect_attempt`),vi=new Set([`UND_ERR_INFO`,`UND_ERR_REQ_RETRY`,`UND_ERR_SOCKET`,`UND_ERR_CONNECT`,`UND_ERR_CONNECT_TIMEOUT`,`UND_ERR_HEADERS_TIMEOUT`,`UND_ERR_BODY_TIMEOUT`,`UND_ERR_CLOSED`,`ECONNRESET`,`ECONNREFUSED`,`ENOTFOUND`,`EAI_AGAIN`,`EPIPE`,`ETIMEDOUT`]);function yi(e){let t=e;for(let e=0;t&&e<8;e++){let e=t.code;if(typeof e==`string`&&vi.has(e))return e;t=t.cause}}function bi(e){let{protocol:t,username:n,password:r}=new URL(e);if(t!==`http:`&&t!==`https:`)throw TypeError(`Unsupported URL protocol ${t}; expected http: or https:`);if(n||r)throw TypeError(`HTTP(S) URLs with embedded credentials are unsupported`)}const xi=new Set([`ERR_INVALID_URL`,`ERR_INVALID_ARG_TYPE`,`ERR_INVALID_ARG_VALUE`,`ERR_INVALID_CHAR`,`ERR_INVALID_HTTP_TOKEN`,`ERR_HTTP_INVALID_HEADER_VALUE`,`ERR_UNESCAPED_CHARACTERS`,`UND_ERR_INVALID_ARG`,`UND_ERR_NOT_SUPPORTED`]);function Si(e){let t=yi(e);if(t)return t;let n,r,i=e;for(let e=0;i&&e<8;e++){let{code:e,name:t,message:a}=i;if(t===`Error`&&a===`bad port`&&e===void 0)return;if(typeof e==`string`&&e){if(xi.has(e))return;n??=e}typeof t==`string`&&t&&(r=t),i=i.cause}return n??r??`unknown`}const Ci=()=>oe(`WORKFLOW_REQUEST_TIMEOUT_MS`,6e4,{integer:!0,min:1e4,max:12e4}),wi=typeof process<`u`&&typeof process.env.DEBUG==`string`&&(process.env.DEBUG.includes(`workflow:`)||process.env.DEBUG===`*`),Ti=[`x-vercel-id`,`x-vercel-error`,`x-vercel-mitigated`];function Ei(e){return Ti.flatMap(t=>{let n=e.get(t);return n?[`${t}=${n}`]:[]})}function Di(e){let t=Ei(e);return t.length>0?` (${t.join(`; `)})`:``}function Oi(e,t,n,r){if(!wi)return;let i=Ei(n.headers),a=i.length>0?`; ${i.join(`; `)}`:``;console.debug(`[workflow:world-vercel:http] ${e} ${t} -> ${n.status} (${r}ms${a})`)}function ki(e,t,n){if(!process.env.DEBUG)return;let r=Array.from(n.entries()).filter(([e])=>e.toLowerCase()!==`authorization`).map(([e,t])=>`-H "${e}: ${t}"`).join(` `);console.error(`Failed to fetch, reproduce with:\ncurl -X ${e} ${r} "${t}"`)}function Ai(e){if(!e)return;let t=parseInt(e,10);return Number.isNaN(t)?void 0:t}function ji(e){let t={};return e.forEach((e,n)=>{t[n]=e}),t}function Mi(e,t,n={}){let{retryAfter:r,code:i,url:a,mitigated:o,details:s}=n;if(e===409&&i===`hook-force-claimed`){let e=s&&typeof s==`object`?s.claimedBy:void 0;return new Ee(``,typeof e?.runId==`string`?e.runId:`unknown`,typeof e?.hookId==`string`?e.hookId:void 0)}if(e===409)return new De(t);if(e===410){if(i===`stream-expired`){let e=s&&typeof s==`object`?s:void 0,n=typeof e?.expiredAt==`string`?new Date(e.expiredAt):void 0;return new Ae(t,typeof e?.runId==`string`?e.runId:void 0,typeof e?.streamId==`string`?e.streamId:void 0,n&&!Number.isNaN(n.getTime())?n:void 0)}return new Ce(t)}return e===412?new Te(t,{retryAfter:r,details:s}):e===425?new Se(t,{retryAfter:r}):e===429?Ni(e,o)?new D(`${t} (x-vercel-mitigated=challenge)`,{url:a,status:e,code:`TRANSPORT`,retryAfter:r}):new je(t,{retryAfter:r}):new D(t,{url:a,status:e,code:i,retryAfter:r})}function Ni(e,t){return e===429&&t===`challenge`}async function Pi(e){return e?.token??process.env.VERCEL_TOKEN??await(0,dt.getVercelOidcToken)().catch(()=>null)}function Fi(e){try{let t=new URL(e),n=t.protocol===`https:`||t.protocol===`wss:`;return{serverAddress:t.hostname,serverPort:t.port?parseInt(t.port,10):n?443:80}}catch{return{}}}function Ii(e){let{method:t,url:n,peerService:r}=e,{serverAddress:i,serverPort:a}=Fi(n);return{...Hr(t),...Ur(n),...i?Wr(i):{},...a?Gr(a):{},...Xr(r),...Zr(`http`),...Qr(r)}}async function Li(e,t){let{method:n,url:r,peerService:i=`workflow-server`,spanName:a,attributes:o}=e;return Rr(a??`http ${n}`,{kind:await zr(`CLIENT`)},async e=>{if(a&&wi&&e){let t=e.spanContext();console.warn(`[workflow:otel-diag] span-open`,JSON.stringify({spanName:a,traceId:t.traceId,spanId:t.spanId,recording:e.isRecording()}))}return e?.setAttributes(Ii({method:n,url:r,peerService:i})),o&&e?.setAttributes(o),t(e)})}function Ri(e,t){e?.setAttributes({...Kr(t)}),(t<200||t>=300)&&e?.setAttributes({...qr(`HTTP ${t}`)})}async function zi(e){let{method:t,url:n,headers:r,body:a,dispatcher:o,peerService:s,timeoutMs:c=Ci(),signal:l,injectTraceContext:u=!0,cacheBust:d=!0,logLabel:f,buildError:p,spanName:m,attributes:h,durationAttribute:g,onTransportOutcome:_,deferTransportSuccessUntilBody:v=!1,onRequestDispatched:y,transportErrorCode:b=`TRANSPORT`}=e,x=f??n;return bi(n),Li({method:t,url:n,peerService:s,spanName:m,attributes:h},async e=>{u&&await Br(r),d&&r.set(`X-Request-Time`,Date.now().toString());let s=c==null?void 0:AbortSignal.timeout(c),f=l&&s?AbortSignal.any([l,s]):l??s,m=o?void 0:gr();e?.setAttributes({...oi(m?`node-http`:`undici`)});let h=Date.now(),S;try{let e=m?i(n,{method:t,headers:r,body:a,signal:f,agents:m,headersTimeoutMs:Kn,bodyTimeoutMs:qn}):fetch(n,{method:t,headers:r,body:a,signal:f,dispatcher:o});y?.(),S=await e}catch(r){let i=Date.now()-h;if(_?.(r),r instanceof Error&&(r.name===`TimeoutError`||r.name===`AbortError`)){let a=`${t} ${x} timed out after ${i}ms`,o=b===`STREAM_ERROR`?`STREAM_ERROR`:`TIMEOUT`,s=o===`STREAM_ERROR`?new E(a,{url:n,cause:r}):new D(a,{url:n,code:o,cause:r});throw e?.setAttributes({...qr(o)}),e?.recordException?.(s),s}let a=Si(r);if(a){let o=`${t} ${x} transport failure after ${i}ms (${a})`,s=b===`STREAM_ERROR`?`STREAM_ERROR`:`TRANSPORT`,c=s===`STREAM_ERROR`?new E(o,{url:n,cause:r}):new D(o,{url:n,code:s,cause:r});throw e?.setAttributes({...qr(s)}),e?.recordException?.(c),c}throw r}let C=Date.now()-h;if(S.ok&&!v&&_?.(void 0,S),Oi(t,x,S,C),Ri(e,S.status),g&&e?.setAttributes({[g]:C}),!S.ok){if(ki(t,n,r),p){let r;try{r=await p(S)}catch(r){let i=yi(r);if(i){_?.(r,S);let a=`${t} ${x} response body transport failure (${i})`,o=b===`STREAM_ERROR`?new E(a,{url:n,cause:r}):new D(a,{url:n,code:`TRANSPORT`,cause:r});throw e?.setAttributes({...qr(b)}),e?.recordException?.(o),o}throw _?.(void 0,S),r}throw _?.(void 0,S),e?.recordException?.(r),r}let i=``;try{i=await S.text(),_?.(void 0,S)}catch(e){_?.(e,S)}let a=Mi(S.status,`${t} ${x} -> HTTP ${S.status}: ${S.statusText}${i?` ${i}`:``}${Di(S.headers)}`,{url:n,retryAfter:Ai(S.headers.get(`Retry-After`))});throw e?.recordException?.(a),a}return S})}const Bi=new Set([`GET`,`HEAD`]),Vi=()=>process.env.VERCEL_WORKFLOW_SERVER_URL||``,Hi=()=>process.env.WORKFLOW_TEST_LIMIT_OVERRIDES?.trim()||``;function Ui(e){return e}const Wi=(...e)=>e.filter(Boolean).join(` `),Gi=()=>{let e=process.env.VERCEL_DEPLOYMENT_ID;return e?`@workflow/world-vercel/${Un} node-${process.version} ${$e.platform()} (${$e.arch()}) ${e}`:`@workflow/world-vercel/${Un} node-${process.version} ${$e.platform()} (${$e.arch()})`},Ki=e=>{let t=e?.projectConfig,n=Vi()||`https://vercel-workflow.com`,r=process.env.WORKFLOW_VERCEL_BACKEND_URL,i=!!(t?.projectId&&t?.teamId);return{baseUrl:i?r||`https://api.vercel.com/v1/workflow`:`${n}/api`,usingProxy:i}},qi=e=>{let t=e?.projectConfig;return t?t.environment||`production`:process.env.VERCEL_TARGET_ENV||process.env.VERCEL_ENV||void 0},Ji=(e,t)=>{let n=e?.projectConfig,r=new Headers(e?.headers);r.set(`User-Agent`,Wi(Gi(),r.get(`User-Agent`)));let i=Hi();i&&r.set(`x-workflow-test-limit-overrides`,i),n&&(r.set(`x-vercel-environment`,qi(e)),n.projectId&&r.set(`x-vercel-project-id`,n.projectId),n.teamId&&r.set(`x-vercel-team-id`,n.teamId));let a=Vi();return a&&t.usingProxy&&r.set(`x-vercel-workflow-api-url`,a),r};async function U(e){let{baseUrl:t,usingProxy:n}=Ki(e),r=Ji(e,{usingProxy:n});if(n){if(!e?.token)throw Error(`world-vercel: api-workflow proxy requested (${t}) but no Vercel auth token was provided. Pass one as \`config.token\` (the SDK reads it from \`WORKFLOW_VERCEL_AUTH_TOKEN\`).`);r.set(`Authorization`,`Bearer ${e.token}`)}else{let t;try{t=await(0,dt.getVercelOidcToken)()}catch{}let n=e?.token??t;n&&r.set(`Authorization`,`Bearer ${n}`),t&&r.set(`x-vercel-trusted-oidc-idp-token`,t)}return{baseUrl:t,headers:r,usingProxy:n}}async function W({endpoint:e,options:t={},config:n={},schema:r,data:a,onResponse:o,retryConnectTimeout:s=!1}){let c=(t.method||`GET`).toUpperCase(),{baseUrl:l,headers:u}=await U(n),d=`${l}${e}`;return bi(d),Rr(`http ${c}`,{kind:await zr(`CLIENT`)},async l=>{l?.setAttributes(Ii({method:c,url:d,peerService:`workflow-server`})),u.set(`Accept`,`application/cbor`),await Br(u);let f;a!==void 0&&(u.set(`Content-Type`,`application/cbor`),f=In(a));let p=Bi.has(c),m,h=``;for(let r=0;;r++){u.set(`X-Request-Time`,Date.now().toString());let a=AbortSignal.timeout(Ci()),g=t.signal?AbortSignal.any([t.signal,a]):a,_=gr(n),v=_?void 0:new Request(d,{...t,body:f,headers:u,signal:g}),y=_?void 0:_r(n);l?.setAttributes({...oi(_?`node-http`:`undici`)});let b=Date.now(),x;try{x=_?await i(d,{method:c,headers:u,body:f,signal:g,agents:_,headersTimeoutMs:Kn,bodyTimeoutMs:qn}):await fetch(v,{dispatcher:y})}catch(t){let n=Date.now()-b;if(t instanceof Error&&(t.name===`TimeoutError`||t.name===`AbortError`)){let r=new D(`${c} ${e} timed out after ${n}ms`,{url:d,code:`TIMEOUT`,cause:t});throw l?.setAttributes({...qr(`TIMEOUT`)}),l?.recordException?.(r),r}let i=Si(t);if(i){if(s&&p&&i===`UND_ERR_CONNECT_TIMEOUT`&&r===0){await new Promise(e=>setTimeout(e,100));continue}let a=new D(`${c} ${e} transport failure after ${n}ms (${i})`,{url:d,code:`TRANSPORT`,cause:t});throw l?.setAttributes({...qr(`TRANSPORT`)}),l?.recordException?.(a),a}throw t}let S=Date.now()-b;if(h=Di(x.headers),Oi(c,e,x,S),l?.setAttributes({...Kr(x.status)}),!x.ok){let t=await Xi(x).then(e=>e.data).catch(()=>({})),n=t.code??t.error;ki(c,d,u);let r=Ai(x.headers.get(`Retry-After`)),i=(t.message||`${c} ${e} -> HTTP ${x.status}: ${x.statusText}`)+h,a=Mi(x.status,i,{url:d,code:n,retryAfter:r,mitigated:x.headers.get(`x-vercel-mitigated`),details:t.details});throw l?.setAttributes({...qr(n||`HTTP ${x.status}`)}),l?.recordException?.(a),a}o?.(x);try{m=await Rr(`world.parse`,async e=>{let t=await Xi(x),n=(x.headers.get(`Content-Type`)||``).includes(`application/cbor`);return e?.setAttributes({...Yr(n?`cbor`:`json`)}),t});break}catch(t){if(p&&r<2){let n=100*2**r;l?.setAttributes({...qr(`PARSE_ERROR_RETRYING`)}),wi&&console.debug(`[workflow:world-vercel:http] ${c} ${e} body parse failed (attempt ${r+1}/3); retrying in ${n}ms: ${t}`),await new Promise(e=>setTimeout(e,n));continue}let n=x.headers.get(`Content-Type`)||`unknown`;throw new D(`Failed to parse response body for ${c} ${e}${h} (Content-Type: ${n}):\n\n${t}`,{url:d,code:`PARSE_ERROR`,cause:t})}}return await Rr(`world.validate`,async()=>{let t=r.safeParse(m.data);if(!t.success){let n=t.error.issues.map(e=>` ${e.path.length>0?e.path.join(`.`):`<root>`}: ${e.message}`).join(`
|
|
3
|
-
`),r=process.env.DEBUG?`\n\nResponse context: ${m.getDebugContext()}`:``;throw new D(`Schema validation failed for ${c} ${e}${h}:\n${n}${r}`,{url:d,code:`SCHEMA_VALIDATION`,cause:t.error})}return t.data})})}function Yi(e){let t=Xe(e,{depth:3,maxArrayLength:10,breakLength:120});return t.length>500?`${t.slice(0,500)}...`:t}async function Xi(e){let t=e.headers.get(`Content-Type`)||``;if(t.includes(`application/cbor`)){let n=await e.arrayBuffer(),r=ln(new Uint8Array(n));return{data:r,getDebugContext:()=>`Content-Type: ${t}, ${n.byteLength} bytes (CBOR), preview: ${Yi(r)}`}}let n=await e.text(),r=JSON.parse(n);return{data:r,getDebugContext:()=>`Content-Type: ${t}, ${n.length} bytes, preview: ${Yi(r)}`}}function G(e,t,n){return new D(`${e}: ${t} ${n}`,{code:`INVALID_ARGUMENT`,field:t})}const Zi=`[01234567][0123456789ABCDEFGHJKMNPQRSTVWXYZ]{25}`,Qi=RegExp(`^wrun_${Zi}$`),$i=RegExp(`^(?:step|hook|wait|attr)_${Zi}$`),ea=RegExp(`^evnt_${Zi}$`),ta=RegExp(`^step_${Zi}$`),na=RegExp(`^hook_${Zi}$`),ra=RegExp(`^wait_${Zi}$`);function ia(e,t,n){if(!Number.isInteger(t)||t<1||t>n)throw G(e,`pagination.limit`,`must be an integer between 1 and ${n} (received ${t})`)}function aa(e,t){if(!Qi.test(t))throw G(e,`runId`,`must be a workflow run id ('wrun_' followed by a ULID), received ${JSON.stringify(t)}`)}function oa(e,t){if(!$i.test(t))throw G(e,`correlationId`,`must be a step, hook, wait, or attribute id, received ${JSON.stringify(t)}`)}function sa(e,t){if(!ea.test(t))throw G(e,`eventId`,`must be an event id ('evnt_' followed by a ULID), received ${JSON.stringify(t)}`)}function ca(e,t){if(!ta.test(t))throw G(e,`stepId`,`must be a step id ('step_' followed by a ULID), received ${JSON.stringify(t)}`)}function la(e,t){if(!na.test(t))throw G(e,`hookId`,`must be a hook id ('hook_' followed by a ULID), received ${JSON.stringify(t)}`)}function ua(e,t){if(!ra.test(t))throw G(e,`waitId`,`must be a wait id ('wait_' followed by a ULID), received ${JSON.stringify(t)}`)}function da(e,t){let n=Object.entries(t);if(n.length>8)throw G(e,`attributes`,`may filter by at most 8 pairs (received ${n.length})`);for(let[t,r]of n){if(!fe.safeParse(t).success)throw G(e,`attributes`,`key must be 1 to 256 characters, received ${t.length} in ${JSON.stringify(t)}`);if(!ge.safeParse(r).success)throw G(e,`attributes`,`value for ${JSON.stringify(t)} must be at most 256 UTF-8 bytes (received ${new TextEncoder().encode(r).length})`)}}function fa(e,t,n){if(t===void 0&&n===void 0)return;if(t===void 0||n===void 0)throw G(e,t===void 0?`startTime`:`endTime`,`is required when ${t===void 0?`endTime`:`startTime`} is provided; supply both or neither`);let r=new Date(t).getTime(),i=new Date(n).getTime();if(!Number.isFinite(r))throw G(e,`startTime`,`must be a parseable datetime, received ${JSON.stringify(t)}`);if(!Number.isFinite(i))throw G(e,`endTime`,`must be a parseable datetime, received ${JSON.stringify(n)}`);if(r>i)throw G(e,`startTime`,`must be before or equal to endTime (received startTime=${JSON.stringify(t)}, endTime=${JSON.stringify(n)})`)}function pa(e,t,n,r){n?.limit!==void 0&&(ia(e,n.limit,r),t.set(`limit`,n.limit.toString())),n?.cursor&&t.set(`cursor`,n.cursor),n?.sortOrder&&t.set(`sortOrder`,n.sortOrder)}function ma(e){let t=e.toString();return t?`?${t}`:``}function ha(e,t){let n=[...new Set(t)];if(n.length===0)throw G(e,`eventIds`,`must contain at least one id`);if(n.length>100)throw G(e,`eventIds`,`must contain at most 100 unique ids (received ${n.length})`);for(let t of n)sa(e,t);return n}function ga(e,t,n){fa(e,n.startTime,n.endTime),n.workflowName!==void 0&&t.set(`workflowName`,n.workflowName),n.startTime!==void 0&&n.endTime!==void 0&&(t.set(`startTime`,n.startTime),t.set(`endTime`,n.endTime)),pa(e,t,n.pagination,100)}function _a(e){return{runs:{get(t){return aa(`analytics.runs.get`,t),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t)}`,config:e,schema:g})},list(t={}){fa(`analytics.runs.list`,t.startTime,t.endTime);let n=new URLSearchParams;return t.workflowName!==void 0&&n.set(`workflowName`,t.workflowName),t.status&&n.set(`status`,t.status),t.startTime!==void 0&&t.endTime!==void 0&&(n.set(`startTime`,t.startTime),n.set(`endTime`,t.endTime)),t.attributes&&Object.keys(t.attributes).length>0&&(da(`analytics.runs.list`,t.attributes),n.set(`attributes`,JSON.stringify(t.attributes))),pa(`analytics.runs.list`,n,t.pagination,100),W({endpoint:`/v2/analytics/runs${ma(n)}`,config:e,schema:de(g)})}},attributes:{list(t={}){let n=new URLSearchParams;return ga(`analytics.attributes.list`,n,t),W({endpoint:`/v2/analytics/attributes${ma(n)}`,config:e,schema:de(le)})}},steps:{get(t,n){return aa(`analytics.steps.get`,t),ca(`analytics.steps.get`,n),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t)}/steps/${encodeURIComponent(n)}`,config:e,schema:_})},list(t){aa(`analytics.steps.list`,t.runId);let n=new URLSearchParams;return pa(`analytics.steps.list`,n,t.pagination,v),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t.runId)}/steps${ma(n)}`,config:e,schema:de(_)})}},events:{get(t,n){return aa(`analytics.events.get`,t),sa(`analytics.events.get`,n),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t)}/events/${encodeURIComponent(n)}`,config:e,schema:l})},getMany(t,n){return aa(`analytics.events.getMany`,t),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t)}/events/get-many`,options:{method:`POST`},data:{eventIds:ha(`analytics.events.getMany`,n)},config:e,schema:l.array()})},list(t){aa(`analytics.events.list`,t.runId);let n=new URLSearchParams;return t.eventType&&n.set(`eventType`,t.eventType),t.correlationId!==void 0&&(oa(`analytics.events.list`,t.correlationId),n.set(`correlationId`,t.correlationId)),pa(`analytics.events.list`,n,t.pagination,v),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t.runId)}/events${ma(n)}`,config:e,schema:de(l)})},listByCorrelationId(t){aa(`analytics.events.listByCorrelationId`,t.runId),oa(`analytics.events.listByCorrelationId`,t.correlationId);let n=new URLSearchParams;return n.set(`correlationId`,t.correlationId),pa(`analytics.events.listByCorrelationId`,n,t.pagination,v),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t.runId)}/events${ma(n)}`,config:e,schema:de(l)})}},hooks:{get(t,n){la(`analytics.hooks.get`,t);let r=new URLSearchParams;return n?.runId!==void 0&&(aa(`analytics.hooks.get`,n.runId),r.set(`runId`,n.runId)),W({endpoint:`/v2/analytics/hooks/${encodeURIComponent(t)}${ma(r)}`,config:e,schema:ce})},list(t){aa(`analytics.hooks.list`,t.runId);let n=new URLSearchParams;return n.set(`runId`,t.runId),pa(`analytics.hooks.list`,n,t.pagination,100),W({endpoint:`/v2/analytics/hooks${ma(n)}`,config:e,schema:de(ce)})}},waits:{get(t,n){return aa(`analytics.waits.get`,t),ua(`analytics.waits.get`,n),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t)}/waits/${encodeURIComponent(n)}`,config:e,schema:y})},list(t){aa(`analytics.waits.list`,t.runId);let n=new URLSearchParams;return t.status&&n.set(`status`,t.status),pa(`analytics.waits.list`,n,t.pagination,v),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t.runId)}/waits${ma(n)}`,config:e,schema:de(y)})}}}}const va=T(`@workflow/world-vercel//runIdFactory`,1,()=>({ulid:me(),lastRunId:void 0}));function ya(e){let t=Le(e),n=5,r=1;for(;n>=0&&r>0;){let e=t[n]+r;t[n]=e&255,r=e>>8,n--}if(r>0)throw Error(`ULID space exhausted`);return Fe(t)}function ba(e){return typeof e!=`string`||e===``||e===`unknown`?null:Object.hasOwn(Ne,e)?e:null}function xa(e){return ba(e?.region)??ba(process.env.VERCEL_REGION)??`iad1`}function Sa(e){let t=xa(e),n=Ne[t],r=Pe(va.ulid(),n);if(va.lastRunId!==void 0)for(;r<=va.lastRunId;)r=Pe(ya(va.lastRunId),n);return va.lastRunId=r,r}function Ca(e){let t=e.startsWith(`wrun_`)?e.slice(5):e;try{let e=Re(t);return e.tagged&&e.region?e.region:Ie}catch{return null}}function wa(e){let t=e.runId;return typeof t!=`string`||t.length===0?null:{region:Ca(t)}}const Ta=O.object({ref:O.string().min(1),byteSize:O.number().int().nonnegative().optional()});async function Ea(e,t,n){let{baseUrl:r,headers:i}=await U(n),a=`${r}/v4/runs/${encodeURIComponent(e)}/dynamic-code?workflowName=${encodeURIComponent(t.workflowName)}`,o=new Headers(i);o.set(`Content-Type`,`application/octet-stream`),o.set(`Accept`,`application/json`),o.set(`Content-Length`,String(t.code.byteLength));let s=await zi({method:`POST`,url:a,headers:o,body:t.code,dispatcher:yr(n),logLabel:`uploadDynamicWorkflowCode`});return Ta.parse(await s.json()).ref}var Da=class extends Error{status;constructor(e,t){super(e),this.name=`RunKeyFetchError`,this.status=t}};async function Oa(e,t,n){if(e.length!==32)throw Error(`Invalid deployment key length: expected 32 bytes for AES-256, got ${e.length} bytes`);if(!t||typeof t!=`string`)throw Error(`projectId must be a non-empty string`);let r=await qe.subtle.importKey(`raw`,e,`HKDF`,!1,[`deriveBits`]),i=new TextEncoder().encode(`${t}|${n}`),a=await qe.subtle.deriveBits({name:`HKDF`,hash:`SHA-256`,salt:new Uint8Array(32),info:i},r,256);return new Uint8Array(a)}async function ka(e,t,n,r){let i=await Pi({token:r?.token});if(!i)throw Error(`Cannot fetch run key: no OIDC token or VERCEL_TOKEN available`);let a=new URLSearchParams({projectId:t,runId:n});r?.teamId&&a.set(`teamId`,r.teamId);let o=await(await zi({method:`GET`,url:`https://api.vercel.com/v1/workflow/run-key/${e}?${a}`,headers:new Headers({Authorization:`Bearer ${i}`}),dispatcher:_r({dispatcher:r?.dispatcher}),peerService:`vercel-api`,timeoutMs:null,buildError:async t=>{let r;try{r=await t.text()}catch{r=`<unable to read response body>`}return new Da(`Failed to fetch run key for ${n} (deployment ${e}): HTTP ${t.status} ${t.statusText}${r?` — ${r}`:``}`,t.status)}})).json(),s=We.compile(We.object({key:We.string().nullable()})).safeParse(o);if(!s.success)throw Error(`Invalid response from Vercel API: expected { key: string | null }. Zod error: ${s.error.message}`);if(s.data.key!==null)return Buffer.from(s.data.key,`base64`)}function Aa(e,t,n,r){if(!e)return;let i=process.env.VERCEL===`1`,a;function o(){if(a)return a;let e=process.env.VERCEL_DEPLOYMENT_KEY;if(e)return a=Buffer.from(e,`base64`),a}return async function(a,s){let c=typeof a==`string`?a:a.runId,l=typeof a==`string`?s?.deploymentId:a.deploymentId;if(i&&(!l||l===process.env.VERCEL_DEPLOYMENT_ID)){let t=o();return t?Oa(t,e,c):void 0}if(l)return ka(l,e,c,{token:n,teamId:t,dispatcher:r})}}const ja=2048;function Ma(e){let t;try{t=JSON.stringify(e)}catch(e){throw new xe(`Dynamic workflow execution context must be JSON serializable.`,{cause:e})}let n=new TextEncoder().encode(t).byteLength;if(n>2048)throw new xe(`Dynamic workflow execution context is ${n} bytes, exceeding the ${ja}-byte limit, so no run was created. Each step binding counts its alias and its step ID, which comes from the step's file path and function name and is usually the longer of the two; the \`exportName\` counts too. Bind fewer steps through \`experimental_dynamic.steps\`, or shorten the aliases, the step files' paths or names, or the \`exportName\`.`)}async function Na(){let{getDeadline:e}=await import(`../../_chunks/workflow/functions-CKkqf9V6.js`).then(e=>n(e.default,1));return e()}const Pa={peerService:`workflow-server`,rpcSystem:`http`,rpcService:`workflow-server`},Fa={"world.runs.get":0,"world.runs.experimentalSetAttributes":0,"world.steps.get":0,"world.events.create":0,"world.events.get":0},Ia=new Set([`world.steps.list`,`world.events.list`,`world.hooks.list`]);function La(e){if(e.length>=2&&typeof e[1]==`object`&&e[1]!==null){let t=e[1];if(typeof t.eventType==`string`)return t.eventType}}function Ra(e,t){return typeof e[t]==`string`?e[t]:void 0}function za(e){if(typeof e!=`object`||!e)return;let t=e.runId;return typeof t==`string`?t:void 0}function Ba(e){if(typeof e!=`object`||!e)return;let t=e;if(typeof t.runId==`string`)return t.runId;for(let e of[`run`,`step`,`hook`,`wait`]){let n=t[e];if(typeof n==`object`&&n){let e=n.runId;if(typeof e==`string`)return e}}}function Va(e,t,n){let r=`${e}.${t}`,i={},a=Fa[r],o=a===void 0?Ia.has(r)?za(n[0]):void 0:Ra(n,a);if(o&&Object.assign(i,ei(o)),r===`world.steps.get`){let e=Ra(n,1);e&&Object.assign(i,ti(e))}return i}function Ha(e,t){let n={};for(let r of Object.keys(t))if(typeof t[r]!=`function`)n[r]=t[r];else{let i=t[r],a=String(r);n[r]=async(...t)=>{let n=`${e}.${a}`;if(e===`world.events`&&a===`create`){let r=La(t);r&&(n=`${e}.${a} ${r}`)}let r;if(e===`world.events`&&a===`createBatch`){let e=t[1];if(Array.isArray(e)){let t=new Map;for(let n of e){let e=n?.event?.eventType;typeof e==`string`&&t.set(e,(t.get(e)??0)+1)}r={"workflow.batch.size":e.length,"workflow.batch.shape":[...t].sort(([e],[t])=>e<t?-1:+(e>t)).map(([e,t])=>`${e}:${t}`).join(`,`)}}}return Rr(n,{kind:await zr(`CLIENT`)},async o=>{o?.setAttributes({...Xr(Pa.peerService),...Zr(Pa.rpcSystem),...Qr(Pa.rpcService),...$r(n),...Va(e,a,t),...r});let s=await i(...t),c=Ba(s);return c&&o?.setAttributes(ei(c)),s})}}return n}var K=class extends Error{constructor(e){super(e),this.name=`MultipartParseError`}};function Ua(e){let t=new TextEncoder().encode(e);return(e,n=0)=>Buffer.prototype.indexOf.call(e,t,n)}function Wa(e){let t=new TextEncoder().encode(e),n={};for(let e=0;e<t.length;++e){let r=t[e];n[r]===void 0&&(n[r]=[]),n[r].push(e)}return function(e){let r=e.length-1;if(e[r]in n){let i=n[e[r]];for(let n=i.length-1;n>=0;--n)for(let a=i[n],o=r;a>=0&&e[o]===t[a];--a,--o)if(a===0)return o}return-1}}function Ga(e){let t=new TextDecoder(`iso-8859-1`).decode(e).trim().split(/\r?\n/),n=[];for(let e of t){let t=e.indexOf(`:`);if(t>0){let r=e.slice(0,t).trim(),i=e.slice(t+1).trim();n.push([r,i])}}return new Headers(n)}function Ka(e){let t=e.match(/boundary=(?:"([^"]+)"|([^;]+))/i);if(!t)throw new K(`No boundary found in Content-Type header`);return t[1]??t[2]}var qa=class{queue=[];waiters=[];finished=!1;cancelled=!1;error=null;enqueue(e){this.finished||this.cancelled||(this.waiters.length>0?this.waiters.shift().resolve(e):this.queue.push(e))}finish(e){if(!this.finished)for(this.finished=!0,this.error=e||null;this.waiters.length>0;){let t=this.waiters.shift();e?t.reject(e):t.resolve(null)}}cancel(){if(!(this.cancelled||this.finished))for(this.cancelled=!0;this.waiters.length>0;)this.waiters.shift().resolve(null)}async dequeue(){if(this.queue.length>0)return this.queue.shift();if(this.finished||this.cancelled){if(this.error)throw this.error;return null}return new Promise((e,t)=>{this.waiters.push({resolve:e,reject:t})})}get isTerminal(){return this.finished||this.cancelled}};async function*Ja(e,t){if(!e.body)throw new K(`Response body is null`);let n=e.headers.get(`content-type`);if(!n)throw new K(`Missing Content-Type header`);yield*new Ya(Ka(n),t).parseStream(e.body)}var Ya=class{boundary;findOpeningBoundary;openingBoundaryLength;findBoundary;findPartialTailBoundary;boundaryLength;findDoubleNewline;maxHeaderSize;maxBoundaryBuffer;state=0;buffer=null;currentHeaders=new Headers;currentPayloadController=null;constructor(e,t={}){this.boundary=e,this.findOpeningBoundary=Ua(`--${e}`),this.openingBoundaryLength=2+e.length,this.findBoundary=Ua(`\r
|
|
4
|
-
--${e}`),this.findPartialTailBoundary=
|
|
5
|
-
--${e}`),this.boundaryLength=4+e.length,this.findDoubleNewline=
|
|
1
|
+
import{a as e,r as t,s as n,t as r}from"../../_chunks/workflow/rolldown-runtime-B_knIduE.js";import{i,n as a,o,t as s}from"../../_chunks/workflow/undici-D-ILjOKD.js";import{Ct as c,F as l,H as u,I as d,K as f,L as p,M as m,N as h,O as g,P as _,R as v,S as y,U as b,V as x,W as S,Y as C,bt as w,c as ee,ct as te,et as ne,g as re,gt as ie,h as ae,it as oe,j as se,l as ce,lt as le,m as ue,o as de,pt as fe,q as pe,r as me,st as he,v as ge,vt as _e,w as ve,x as ye,y as be,z as xe}from"../../_chunks/workflow/dist-CcnNPAp4.js";import{C as Se,M as Ce,N as we,P as T,S as Te,b as E,d as Ee,h as De,l as Oe,o as ke,r as Ae,s as je,t as Me,x as Ne}from"../../_chunks/workflow/dist-S9cZRway.js";import{a as Pe,i as Fe,n as Ie,o as Le,r as Re,s as ze,t as Be}from"../../_chunks/workflow/run-id-Ct9AjQDR.js";import{i as Ve,r as He,t as Ue}from"../../_chunks/workflow/token-util-Bla5Z0G9.js";import{n as We,t as Ge}from"../../_chunks/workflow/wrapper-Dq4OeGmJ.js";import*as Ke from"#compiled/zod/index.js";import qe,{z as D}from"#compiled/zod/index.js";import{randomUUID as Je}from"crypto";import{webcrypto as Ye}from"node:crypto";import{createRequire as Xe}from"module";import*as Ze from"path";import{inspect as Qe}from"node:util";import{AsyncLocalStorage as $e}from"node:async_hooks";import et from"node:assert/strict";import tt from"node:os";import*as nt from"fs";import rt from"assert/strict";import*as it from"net";var at=r(((e,t)=>{var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},s=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!a.call(e,c)&&c!==o&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},c=e=>s(n({},`__esModule`,{value:!0}),e),l={};o(l,{SYMBOL_FOR_REQ_CONTEXT:()=>u,getContext:()=>d}),t.exports=c(l);let u=Symbol.for(`@vercel/request-context`);function d(){return globalThis[u]?.get?.()??{}}0&&(t.exports={SYMBOL_FOR_REQ_CONTEXT:u,getContext:d})})),ot=r(((e,t)=>{var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},s=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!a.call(e,c)&&c!==o&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},c=e=>s(n({},`__esModule`,{value:!0}),e),l={};o(l,{VercelOidcTokenError:()=>u}),t.exports=c(l);var u=class extends Error{constructor(e,t){super(e),this.name=`VercelOidcTokenError`,this.cause=t}toString(){return this.cause?`${this.name}: ${this.message}: ${this.cause}`:`${this.name}: ${this.message}`}};0&&(t.exports={VercelOidcTokenError:u})})),st=r(((e,t)=>{var r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s=(e,t)=>{for(var n in t)r(e,n,{get:t[n],enumerable:!0})},c=(e,t,n,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of a(t))!o.call(e,c)&&c!==n&&r(e,c,{get:()=>t[c],enumerable:!(s=i(t,c))||s.enumerable});return e},l=e=>c(r({},`__esModule`,{value:!0}),e),u={};s(u,{getVercelOidcToken:()=>p,getVercelOidcTokenSync:()=>m}),t.exports=l(u);var d=at(),f=ot();async function p(e){let t=``,r;try{t=m()}catch(e){r=e}try{let[{getTokenPayload:r,isExpired:i},{refreshToken:a}]=await Promise.all([await Promise.resolve().then(()=>n(ft())),await import(`../../_chunks/workflow/token-Cv2GYj9A.js`).then(e=>n(e.default))]);(!t||i(r(t),e?.expirationBufferMs))&&(await a(e),t=m())}catch(e){let t=r instanceof Error?r.message:``;throw e instanceof Error&&(t=`${t}
|
|
2
|
+
${e.message}`),t?new f.VercelOidcTokenError(t):e}return t}function m(){let e=(0,d.getContext)().headers?.[`x-vercel-oidc-token`]??process.env.VERCEL_OIDC_TOKEN;if(!e)throw Error(`The 'x-vercel-oidc-token' header is missing from the request. Do you have the OIDC option enabled in the Vercel project settings?`);return e}0&&(t.exports={getVercelOidcToken:p,getVercelOidcTokenSync:m})})),ct=r(((e,t)=>{var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},s=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!a.call(e,c)&&c!==o&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},c=e=>s(n({},`__esModule`,{value:!0}),e),l={};o(l,{AccessTokenMissingError:()=>u,RefreshAccessTokenFailedError:()=>d}),t.exports=c(l);var u=class extends Error{constructor(){super(`No authentication found. Please log in with the Vercel CLI (vercel login).`),this.name=`AccessTokenMissingError`}},d=class extends Error{constructor(e){super(`Failed to refresh authentication token.`,{cause:e}),this.name=`RefreshAccessTokenFailedError`}};0&&(t.exports={AccessTokenMissingError:u,RefreshAccessTokenFailedError:d})})),lt=r(((t,n)=>{var r=Object.create,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t)=>{for(var n in t)i(e,n,{get:t[n],enumerable:!0})},u=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let s of o(t))!c.call(e,s)&&s!==n&&i(e,s,{get:()=>t[s],enumerable:!(r=a(t,s))||r.enumerable});return e},d=(e,t,n)=>(n=e==null?{}:r(s(e)),u(t||!e||!e.__esModule?i(n,`default`,{value:e,enumerable:!0}):n,e)),f=e=>u(i({},`__esModule`,{value:!0}),e),p={};l(p,{findRootDir:()=>v,getUserDataDir:()=>y}),n.exports=f(p);var m=d(e(`path`)),h=d(e(`fs`)),g=d(e(`os`)),_=ot();function v(){try{let e=process.cwd();for(;e!==m.default.dirname(e);){let t=m.default.join(e,`.vercel`);if(h.default.existsSync(t))return e;e=m.default.dirname(e)}}catch{throw new _.VercelOidcTokenError(`Token refresh only supported in node server environments`)}return null}function y(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(g.default.platform()){case`darwin`:return m.default.join(g.default.homedir(),`Library/Application Support`);case`linux`:return m.default.join(g.default.homedir(),`.local/share`);case`win32`:return process.env.LOCALAPPDATA?process.env.LOCALAPPDATA:null;default:return null}}0&&(n.exports={findRootDir:v,getUserDataDir:y})})),ut=r(((t,n)=>{var r=Object.create,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t)=>{for(var n in t)i(e,n,{get:t[n],enumerable:!0})},u=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let s of o(t))!c.call(e,s)&&s!==n&&i(e,s,{get:()=>t[s],enumerable:!(r=a(t,s))||r.enumerable});return e},d=(e,t,n)=>(n=e==null?{}:r(s(e)),u(t||!e||!e.__esModule?i(n,`default`,{value:e,enumerable:!0}):n,e)),f=e=>u(i({},`__esModule`,{value:!0}),e),p={};l(p,{isValidAccessToken:()=>b,readAuthConfig:()=>v,writeAuthConfig:()=>y}),n.exports=f(p);var m=d(e(`fs`)),h=d(e(`path`)),g=ft();function _(){let e=(0,g.getVercelDataDir)();if(!e)throw Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return h.join(e,`auth.json`)}function v(){try{let e=_();if(!m.existsSync(e))return null;let t=m.readFileSync(e,`utf8`);return t?JSON.parse(t):null}catch{return null}}function y(e){let t=_(),n=h.dirname(t);m.existsSync(n)||m.mkdirSync(n,{mode:504,recursive:!0}),m.writeFileSync(t,JSON.stringify(e,null,2),{mode:384})}function b(e,t=0){if(!e.token)return!1;if(typeof e.expiresAt!=`number`)return!0;let n=Math.floor(Date.now()/1e3),r=t/1e3;return e.expiresAt>=n+r}0&&(n.exports={isValidAccessToken:b,readAuthConfig:v,writeAuthConfig:y})})),dt=r(((t,n)=>{var r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s=(e,t)=>{for(var n in t)r(e,n,{get:t[n],enumerable:!0})},c=(e,t,n,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of a(t))!o.call(e,c)&&c!==n&&r(e,c,{get:()=>t[c],enumerable:!(s=i(t,c))||s.enumerable});return e},l=e=>c(r({},`__esModule`,{value:!0}),e),u={};s(u,{processTokenResponse:()=>g,refreshTokenRequest:()=>h}),n.exports=l(u);var d=e(`os`);let f=`@vercel/oidc node-${process.version} ${(0,d.platform)()} (${(0,d.arch)()}) ${(0,d.hostname)()}`,p=null;async function m(){if(p)return p;let e=await fetch(`https://vercel.com/.well-known/openid-configuration`,{headers:{"user-agent":f}});if(!e.ok)throw Error(`Failed to discover OAuth endpoints`);let t=await e.json();if(!t||typeof t.token_endpoint!=`string`)throw Error(`Invalid OAuth discovery response`);let n=t.token_endpoint;return p=n,n}async function h(e){let t=await m();return await fetch(t,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`,"user-agent":f},body:new URLSearchParams({client_id:`cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp`,grant_type:`refresh_token`,...e})})}async function g(e){let t=await e.json();if(!e.ok){let e=typeof t==`object`&&t&&`error`in t?String(t.error):`Token refresh failed`;return[Error(e)]}return typeof t!=`object`||!t?[Error(`Invalid token response`)]:typeof t.access_token==`string`?t.token_type===`Bearer`?typeof t.expires_in==`number`?[null,t]:[Error(`Missing expires_in in response`)]:[Error(`Invalid token_type in response`)]:[Error(`Missing access_token in response`)]}0&&(n.exports={processTokenResponse:g,refreshTokenRequest:h})})),ft=r(((t,n)=>{var r=Object.create,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t)=>{for(var n in t)i(e,n,{get:t[n],enumerable:!0})},u=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let s of o(t))!c.call(e,s)&&s!==n&&i(e,s,{get:()=>t[s],enumerable:!(r=a(t,s))||r.enumerable});return e},d=(e,t,n)=>(n=e==null?{}:r(s(e)),u(t||!e||!e.__esModule?i(n,`default`,{value:e,enumerable:!0}):n,e)),f=e=>u(i({},`__esModule`,{value:!0}),e),p={};l(p,{assertVercelOidcTokenResponse:()=>w,findProjectInfo:()=>ee,getTokenPayload:()=>re,getVercelDataDir:()=>x,getVercelOidcToken:()=>C,getVercelToken:()=>S,isExpired:()=>ie,loadToken:()=>ne,saveToken:()=>te}),n.exports=f(p);var m=d(e(`path`)),h=d(e(`fs`)),g=ot(),_=lt(),v=ut(),y=dt(),b=ct();function x(){let e=(0,_.getUserDataDir)();return e?m.join(e,`com.vercel.cli`):null}async function S(e){let t=(0,v.readAuthConfig)();if(!t?.token)throw new b.AccessTokenMissingError;if((0,v.isValidAccessToken)(t,e?.expirationBufferMs))return t.token;if(!t.refreshToken)throw(0,v.writeAuthConfig)({}),new b.RefreshAccessTokenFailedError(`No refresh token available`);try{let e=await(0,y.refreshTokenRequest)({refresh_token:t.refreshToken}),[n,r]=await(0,y.processTokenResponse)(e);if(n||!r)throw(0,v.writeAuthConfig)({}),new b.RefreshAccessTokenFailedError(n);let i={token:r.access_token,expiresAt:Math.floor(Date.now()/1e3)+r.expires_in};return r.refresh_token&&(i.refreshToken=r.refresh_token),(0,v.writeAuthConfig)(i),i.token}catch(e){throw(0,v.writeAuthConfig)({}),e instanceof b.AccessTokenMissingError||e instanceof b.RefreshAccessTokenFailedError?e:new b.RefreshAccessTokenFailedError(e)}}async function C(e,t,n){let r=`https://api.vercel.com/v1/projects/${t}/token?source=vercel-oidc-refresh${n?`&teamId=${n}`:``}`,i=await fetch(r,{method:`POST`,headers:{Authorization:`Bearer ${e}`}});if(!i.ok)throw new g.VercelOidcTokenError(`Failed to refresh OIDC token: ${i.statusText}`);let a=await i.json();return w(a),a}function w(e){if(!e||typeof e!=`object`)throw TypeError("Vercel OIDC token is malformed. Expected an object. Please run `vc env pull` and try again");if(!(`token`in e)||typeof e.token!=`string`)throw TypeError("Vercel OIDC token is malformed. Expected a string-valued token property. Please run `vc env pull` and try again")}function ee(){let e=(0,_.findRootDir)();if(!e)throw new g.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let t=m.join(e,`.vercel`,`project.json`);if(!h.existsSync(t))throw new g.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");let n=JSON.parse(h.readFileSync(t,`utf8`));if(typeof n.projectId!=`string`&&typeof n.orgId!=`string`)throw TypeError("Expected a string-valued projectId property. Try running `vc link` to re-link your project.");return{projectId:n.projectId,teamId:n.orgId}}function te(e,t){let n=(0,_.getUserDataDir)();if(!n)throw new g.VercelOidcTokenError(`Unable to find user data directory. Please reach out to Vercel support.`);let r=m.join(n,`com.vercel.token`,`${t}.json`),i=JSON.stringify(e);h.mkdirSync(m.dirname(r),{mode:504,recursive:!0}),h.writeFileSync(r,i),h.chmodSync(r,432)}function ne(e){let t=(0,_.getUserDataDir)();if(!t)throw new g.VercelOidcTokenError(`Unable to find user data directory. Please reach out to Vercel support.`);let n=m.join(t,`com.vercel.token`,`${e}.json`);if(!h.existsSync(n))return null;let r=JSON.parse(h.readFileSync(n,`utf8`));return w(r),r}function re(e){let t=e.split(`.`);if(t.length!==3)throw new g.VercelOidcTokenError("Invalid token. Please run `vc env pull` and try again");let n=t[1].replace(/-/g,`+`).replace(/_/g,`/`),r=n.padEnd(n.length+(4-n.length%4)%4,`=`);return JSON.parse(Buffer.from(r,`base64`).toString(`utf8`))}function ie(e,t=0){return e.exp*1e3<Date.now()+t}0&&(n.exports={assertVercelOidcTokenResponse:w,findProjectInfo:ee,getTokenPayload:re,getVercelDataDir:x,getVercelOidcToken:C,getVercelToken:S,isExpired:ie,loadToken:ne,saveToken:te})})),pt=r(((e,t)=>{var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},s=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!a.call(e,c)&&c!==o&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},c=e=>s(n({},`__esModule`,{value:!0}),e),l={};o(l,{AccessTokenMissingError:()=>f.AccessTokenMissingError,RefreshAccessTokenFailedError:()=>f.RefreshAccessTokenFailedError,getContext:()=>d.getContext,getVercelOidcToken:()=>u.getVercelOidcToken,getVercelOidcTokenSync:()=>u.getVercelOidcTokenSync,getVercelToken:()=>p.getVercelToken}),t.exports=c(l);var u=st(),d=at(),f=ct(),p=ft();0&&(t.exports={AccessTokenMissingError,RefreshAccessTokenFailedError,getContext,getVercelOidcToken,getVercelOidcTokenSync,getVercelToken})}))();let mt;try{mt=new TextDecoder}catch{}let O,ht,k=0;const gt=[],_t=57337,vt={};let yt=11281e4,bt=1681e4,xt=gt,St=0,A={},j,Ct,wt=0,Tt=0,M,Et,N=[],Dt=[],P,F,Ot,kt={useRecords:!1,mapsAsObjects:!0},At=!1,jt=2;try{Function(``)}catch{jt=1/0}var Mt=class e{constructor(e){if(e&&((e.keyMap||e._keyMap)&&!e.useRecords&&(e.useRecords=!1,e.mapsAsObjects=!0),e.useRecords===!1&&e.mapsAsObjects===void 0&&(e.mapsAsObjects=!0),e.getStructures&&(e.getShared=e.getStructures),e.getShared&&!e.structures&&((e.structures=[]).uninitialized=!0),e.keyMap)){this.mapKey=new Map;for(let[t,n]of Object.entries(e.keyMap))this.mapKey.set(n,t)}Object.assign(this,e)}decodeKey(e){return this.keyMap&&this.mapKey.get(e)||e}encodeKey(e){return this.keyMap&&this.keyMap.hasOwnProperty(e)?this.keyMap[e]:e}encodeKeys(e){if(!this._keyMap)return e;let t=new Map;for(let[n,r]of Object.entries(e))t.set(this._keyMap.hasOwnProperty(n)?this._keyMap[n]:n,r);return t}decodeKeys(e){if(!this._keyMap||e.constructor.name!=`Map`)return e;if(!this._mapKey){this._mapKey=new Map;for(let[e,t]of Object.entries(this._keyMap))this._mapKey.set(t,e)}let t={};return e.forEach((e,n)=>t[It(this._mapKey.has(n)?this._mapKey.get(n):n)]=e),t}mapDecode(e,t){let n=this.decode(e);if(this._keyMap)switch(n.constructor.name){case`Array`:return n.map(e=>this.decodeKeys(e))}return n}decode(t,n){if(O)return on(()=>(sn(),this?this.decode(t,n):e.prototype.decode.call(kt,t,n)));ht=n>-1?n:t.length,k=0,St=0,Tt=0,Ct=null,xt=gt,M=null,O=t;try{F=t.dataView||=new DataView(t.buffer,t.byteOffset,t.byteLength)}catch(e){throw O=null,t instanceof Uint8Array?e:Error(`Source must be a Uint8Array or Buffer but was a `+(t&&typeof t==`object`?t.constructor.name:typeof t))}if(this instanceof e){if(A=this,P=this.sharedValues&&(this.pack?Array(this.maxPrivatePackedValues||16).concat(this.sharedValues):this.sharedValues),this.structures)return j=this.structures,Nt();(!j||j.length>0)&&(j=[])}else A=kt,(!j||j.length>0)&&(j=[]),P=null;return Nt()}decodeMultiple(e,t){let n,r=0;try{let i=e.length;At=!0;let a=this?this.decode(e,i):ln.decode(e,i);if(t){if(t(a)===!1)return;for(;k<i;)if(r=k,t(Nt())===!1)return}else{for(n=[a];k<i;)r=k,n.push(Nt());return n}}catch(e){throw e.lastPosition=r,e.values=n,e}finally{At=!1,sn()}}};function Nt(){try{let e=I();if(M){if(k>=M.postBundlePosition){let e=Error(`Unexpected bundle position`);throw e.incomplete=!0,e}k=M.postBundlePosition,M=null}if(k==ht)j=null,O=null,Et&&=null;else if(k>ht){let e=Error(`Unexpected end of CBOR data`);throw e.incomplete=!0,e}else if(!At)throw Error(`Data read, but end of buffer not reached`);return e}catch(e){throw sn(),(e instanceof RangeError||e.message.startsWith(`Unexpected end of buffer`))&&(e.incomplete=!0),e}}function I(){let e=O[k++],t=e>>5;if(e&=31,e>23)switch(e){case 24:e=O[k++];break;case 25:if(t==7)return Gt();e=F.getUint16(k),k+=2;break;case 26:if(t==7){let e=F.getFloat32(k);if(A.useFloat32>2){let t=cn[(O[k]&127)<<1|O[k+1]>>7];return k+=4,(t*e+(e>0?.5:-.5)>>0)/t}return k+=4,e}e=F.getUint32(k),k+=4;break;case 27:if(t==7){let e=F.getFloat64(k);return k+=8,e}if(t>1){if(F.getUint32(k)>0)throw Error(`JavaScript does not support arrays, maps, or strings with length over 4294967295`);e=F.getUint32(k+4)}else A.int64AsNumber?(e=F.getUint32(k)*4294967296,e+=F.getUint32(k+4)):e=F.getBigUint64(k);k+=8;break;case 31:switch(t){case 2:case 3:throw Error(`Indefinite length not supported for byte or text strings`);case 4:let e=[],n,r=0;for(;(n=I())!=vt;){if(r>=yt)throw Error(`Array length exceeds ${yt}`);e[r++]=n}return t==4?e:t==3?e.join(``):Buffer.concat(e);case 5:let i;if(A.mapsAsObjects){let e={},t=0;if(A.keyMap)for(;(i=I())!=vt;){if(t++>=bt)throw Error(`Property count exceeds ${bt}`);e[It(A.decodeKey(i))]=I()}else for(;(i=I())!=vt;){if(t++>=bt)throw Error(`Property count exceeds ${bt}`);e[It(i)]=I()}return e}{Ot&&=(A.mapsAsObjects=!0,!1);let e=new Map;if(A.keyMap){let t=0;for(;(i=I())!=vt;){if(t++>=bt)throw Error(`Map size exceeds ${bt}`);e.set(A.decodeKey(i),I())}}else{let t=0;for(;(i=I())!=vt;){if(t++>=bt)throw Error(`Map size exceeds ${bt}`);e.set(i,I())}}return e}case 7:return vt;default:throw Error(`Invalid major type for indefinite length `+t)}default:throw Error(`Unknown token `+e)}switch(t){case 0:return e;case 1:return~e;case 2:return Ht(e);case 3:if(Tt>=k)return Ct.slice(k-wt,(k+=e)-wt);if(Tt==0&&ht<140&&e<32){let t=e<16?Vt(e):Bt(e);if(t!=null)return t}return Lt(e);case 4:if(e>=yt)throw Error(`Array length exceeds ${yt}`);let t=Array(e);for(let n=0;n<e;n++)t[n]=I();return t;case 5:if(e>=bt)throw Error(`Map size exceeds ${yt}`);if(A.mapsAsObjects){let t={};if(A.keyMap)for(let n=0;n<e;n++)t[It(A.decodeKey(I()))]=I();else for(let n=0;n<e;n++)t[It(I())]=I();return t}{Ot&&=(A.mapsAsObjects=!0,!1);let t=new Map;if(A.keyMap)for(let n=0;n<e;n++)t.set(A.decodeKey(I()),I());else for(let n=0;n<e;n++)t.set(I(),I());return t}case 6:if(e>=_t){let t=j[e&8191];if(t)return t.read||(t.read=Ft(t)),t.read();if(e<65536){if(e==57343){let e=rn(),t=I(),n=I();qt(t,n);let r={};if(A.keyMap)for(let t=2;t<e;t++){let e=A.decodeKey(n[t-2]);r[It(e)]=I()}else for(let t=2;t<e;t++){let e=n[t-2];r[It(e)]=I()}return r}if(e==57342){let e=rn(),t=I();for(let n=2;n<e;n++)qt(t++,I());return I()}if(e==_t)return nn();if(A.getShared&&(an(),t=j[e&8191],t))return t.read||(t.read=Ft(t)),t.read()}}let n=N[e];if(n)return n.handlesRead?n(I):n(I());{let t=I();for(let n=0;n<Dt.length;n++){let r=Dt[n](e,t);if(r!==void 0)return r}return new Kt(t,e)}case 7:switch(e){case 20:return!1;case 21:return!0;case 22:return null;case 23:return;default:let t=(P||Zt())[e];if(t!==void 0)return t;throw Error(`Unknown token `+e)}default:if(isNaN(e)){let e=Error(`Unexpected end of CBOR data`);throw e.incomplete=!0,e}throw Error(`Unknown CBOR token `+e)}}const Pt=/^[a-zA-Z_$][a-zA-Z\d_$]*$/;function Ft(e){if(!e)throw Error(`Structure is required in record definition`);function t(){let e=O[k++];if(e&=31,e>23)switch(e){case 24:e=O[k++];break;case 25:e=F.getUint16(k),k+=2;break;case 26:e=F.getUint32(k),k+=4;break;default:throw Error(`Expected array header, but got `+O[k-1])}let t=this.compiledReader;for(;t;){if(t.propertyCount===e)return t(I);t=t.next}if(this.slowReads++>=jt){let n=this.length==e?this:this.slice(0,e);return t=A.keyMap?Function(`r`,`return {`+n.map(e=>A.decodeKey(e)).map(e=>Pt.test(e)?It(e)+`:r()`:`[`+JSON.stringify(e)+`]:r()`).join(`,`)+`}`):Function(`r`,`return {`+n.map(e=>Pt.test(e)?It(e)+`:r()`:`[`+JSON.stringify(e)+`]:r()`).join(`,`)+`}`),this.compiledReader&&(t.next=this.compiledReader),t.propertyCount=e,this.compiledReader=t,t(I)}let n={};if(A.keyMap)for(let t=0;t<e;t++)n[It(A.decodeKey(this[t]))]=I();else for(let t=0;t<e;t++)n[It(this[t])]=I();return n}return e.slowReads=0,t}function It(e){if(typeof e==`string`)return e===`__proto__`?`__proto_`:e;if(typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`)return e.toString();if(e==null)return e+``;throw Error(`Invalid property name type `+typeof e)}let Lt=zt;function Rt(e){Lt=t(1);function t(t){return function(t){let n=xt[St++];if(n==null){if(M)return zt(t);let r=e(k,ht,t,O);if(typeof r==`string`)n=r,xt=gt;else if(xt=r,St=1,Tt=1,n=xt[0],n===void 0)throw Error(`Unexpected end of buffer`)}let r=n.length;return r<=t?(k+=t,n):(Ct=n,wt=k,Tt=k+r,k+=t,n.slice(0,t))}}}function zt(e){let t;if(e<16&&(t=Vt(e)))return t;if(e>64&&mt)return mt.decode(O.subarray(k,k+=e));let n=k+e,r=[];for(t=``;k<n;){let e=O[k++];if(!(e&128))r.push(e);else if((e&224)==192){let t=O[k++]&63;r.push((e&31)<<6|t)}else if((e&240)==224){let t=O[k++]&63,n=O[k++]&63;r.push((e&31)<<12|t<<6|n)}else if((e&248)==240){let t=O[k++]&63,n=O[k++]&63,i=O[k++]&63,a=(e&7)<<18|t<<12|n<<6|i;a>65535&&(a-=65536,r.push(a>>>10&1023|55296),a=56320|a&1023),r.push(a)}else r.push(e);r.length>=4096&&(t+=L.apply(String,r),r.length=0)}return r.length>0&&(t+=L.apply(String,r)),t}let L=String.fromCharCode;function Bt(e){let t=k,n=Array(e);for(let r=0;r<e;r++){let e=O[k++];if((e&128)>0){k=t;return}n[r]=e}return L.apply(String,n)}function Vt(e){if(e<4){if(e<2){if(e===0)return``;{let e=O[k++];if((e&128)>1){--k;return}return L(e)}}{let t=O[k++],n=O[k++];if((t&128)>0||(n&128)>0){k-=2;return}if(e<3)return L(t,n);let r=O[k++];if((r&128)>0){k-=3;return}return L(t,n,r)}}{let t=O[k++],n=O[k++],r=O[k++],i=O[k++];if((t&128)>0||(n&128)>0||(r&128)>0||(i&128)>0){k-=4;return}if(e<6){if(e===4)return L(t,n,r,i);{let e=O[k++];if((e&128)>0){k-=5;return}return L(t,n,r,i,e)}}if(e<8){let a=O[k++],o=O[k++];if((a&128)>0||(o&128)>0){k-=6;return}if(e<7)return L(t,n,r,i,a,o);let s=O[k++];if((s&128)>0){k-=7;return}return L(t,n,r,i,a,o,s)}{let a=O[k++],o=O[k++],s=O[k++],c=O[k++];if((a&128)>0||(o&128)>0||(s&128)>0||(c&128)>0){k-=8;return}if(e<10){if(e===8)return L(t,n,r,i,a,o,s,c);{let e=O[k++];if((e&128)>0){k-=9;return}return L(t,n,r,i,a,o,s,c,e)}}if(e<12){let l=O[k++],u=O[k++];if((l&128)>0||(u&128)>0){k-=10;return}if(e<11)return L(t,n,r,i,a,o,s,c,l,u);let d=O[k++];if((d&128)>0){k-=11;return}return L(t,n,r,i,a,o,s,c,l,u,d)}{let l=O[k++],u=O[k++],d=O[k++],f=O[k++];if((l&128)>0||(u&128)>0||(d&128)>0||(f&128)>0){k-=12;return}if(e<14){if(e===12)return L(t,n,r,i,a,o,s,c,l,u,d,f);{let e=O[k++];if((e&128)>0){k-=13;return}return L(t,n,r,i,a,o,s,c,l,u,d,f,e)}}{let p=O[k++],m=O[k++];if((p&128)>0||(m&128)>0){k-=14;return}if(e<15)return L(t,n,r,i,a,o,s,c,l,u,d,f,p,m);let h=O[k++];if((h&128)>0){k-=15;return}return L(t,n,r,i,a,o,s,c,l,u,d,f,p,m,h)}}}}}function Ht(e){return A.copyBuffers?Uint8Array.prototype.slice.call(O,k,k+=e):O.subarray(k,k+=e)}let Ut=new Float32Array(1),Wt=new Uint8Array(Ut.buffer,0,4);function Gt(){let e=O[k++],t=O[k++],n=(e&127)>>2;if(n===31)return t||e&3?NaN:e&128?-1/0:1/0;if(n===0){let n=((e&3)<<8|t)/(1<<24);return e&128?-n:n}return Wt[3]=e&128|(n>>1)+56,Wt[2]=(e&7)<<5|t>>3,Wt[1]=t<<5,Wt[0]=0,Ut[0]}Array(4096);var Kt=class{constructor(e,t){this.value=e,this.tag=t}};N[0]=e=>new Date(e),N[1]=e=>new Date(Math.round(e*1e3)),N[2]=e=>{let t=BigInt(0);for(let n=0,r=e.byteLength;n<r;n++)t=BigInt(e[n])+(t<<BigInt(8));return t},N[3]=e=>BigInt(-1)-N[2](e),N[4]=e=>+(e[1]+`e`+e[0]),N[5]=e=>e[1]*Math.exp(e[0]*Math.log(2));const qt=(e,t)=>{e-=57344;let n=j[e];n&&n.isShared&&((j.restoreStructures||(j.restoreStructures=[]))[e]=n),j[e]=t,t.read=Ft(t)};N[105]=e=>{let t=e.length,n=e[1];qt(e[0],n);let r={};for(let i=2;i<t;i++){let t=n[i-2];r[It(t)]=e[i]}return r},N[14]=e=>M?M[0].slice(M.position0,M.position0+=e):new Kt(e,14),N[15]=e=>M?M[1].slice(M.position1,M.position1+=e):new Kt(e,15);let Jt={Error,RegExp};N[27]=e=>(Jt[e[0]]||Error)(e[1],e[2]);const Yt=e=>{if(O[k++]!=132){let e=Error(`Packed values structure must be followed by a 4 element array`);throw O.length<k&&(e.incomplete=!0),e}let t=e();if(!t||!t.length){let e=Error(`Packed values structure must be followed by a 4 element array`);throw e.incomplete=!0,e}return P=P?t.concat(P.slice(t.length)):t,P.prefixes=e(),P.suffixes=e(),e()};Yt.handlesRead=!0,N[51]=Yt,N[6]=e=>{if(!P){if(A.getShared)an();else return new Kt(e,6)}if(typeof e==`number`)return P[16+(e>=0?2*e:-2*e-1)];let t=Error(`No support for non-integer packed references yet`);throw e===void 0&&(t.incomplete=!0),t},N[28]=e=>{Et||(Et=new Map,Et.id=0);let t=Et.id++,n=k,r=O[k],i;i=r>>5==4?[]:{};let a={target:i};Et.set(t,a);let o=e();return a.used?(Object.getPrototypeOf(i)!==Object.getPrototypeOf(o)&&(k=n,i=o,Et.set(t,{target:i}),o=e()),Object.assign(i,o)):(a.target=o,o)},N[28].handlesRead=!0,N[29]=e=>{let t=Et.get(e);return t.used=!0,t.target},N[258]=e=>new Set(e),(N[259]=e=>(A.mapsAsObjects&&(A.mapsAsObjects=!1,Ot=!0),e())).handlesRead=!0;function Xt(e,t){return typeof e==`string`?e+t:e instanceof Array?e.concat(t):Object.assign({},e,t)}function Zt(){if(!P){if(A.getShared)an();else throw Error(`No packed values available`)}return P}Dt.push((e,t)=>{if(e>=225&&e<=255)return Xt(Zt().prefixes[e-224],t);if(e>=28704&&e<=32767)return Xt(Zt().prefixes[e-28672],t);if(e>=1879052288&&e<=2147483647)return Xt(Zt().prefixes[e-1879048192],t);if(e>=216&&e<=223)return Xt(t,Zt().suffixes[e-216]);if(e>=27647&&e<=28671)return Xt(t,Zt().suffixes[e-27639]);if(e>=1811940352&&e<=1879048191)return Xt(t,Zt().suffixes[e-1811939328]);if(e==1399353956)return{packedValues:P,structures:j.slice(0),version:t};if(e==55799)return t});const Qt=new Uint8Array(new Uint16Array([1]).buffer)[0]==1,$t=[Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,typeof BigUint64Array>`u`?{name:`BigUint64Array`}:BigUint64Array,Int8Array,Int16Array,Int32Array,typeof BigInt64Array>`u`?{name:`BigInt64Array`}:BigInt64Array,Float32Array,Float64Array],en=[64,68,69,70,71,72,77,78,79,85,86];for(let e=0;e<$t.length;e++)tn($t[e],en[e]);function tn(e,t){let n=`get`+e.name.slice(0,-5),r;typeof e==`function`?r=e.BYTES_PER_ELEMENT:e=null;for(let i=0;i<2;i++){if(!i&&r==1)continue;let a=r==2?1:r==4?2:r==8?3:0;N[i?t:t-4]=r==1||i==Qt?n=>{if(!e)throw Error(`Could not find typed array for code `+t);return!A.copyBuffers&&(r===1||r===2&&!(n.byteOffset&1)||r===4&&!(n.byteOffset&3)||r===8&&!(n.byteOffset&7))?new e(n.buffer,n.byteOffset,n.byteLength>>a):new e(Uint8Array.prototype.slice.call(n,0).buffer)}:r=>{if(!e)throw Error(`Could not find typed array for code `+t);let o=new DataView(r.buffer,r.byteOffset,r.byteLength),s=r.length>>a,c=new e(s),l=o[n];for(let e=0;e<s;e++)c[e]=l.call(o,e<<a,i);return c}}}function nn(){let e=rn(),t=k+I();for(let t=2;t<e;t++){let e=rn();k+=e}let n=k;return k=t,M=[zt(rn()),zt(rn())],M.position0=0,M.position1=0,M.postBundlePosition=k,k=n,I()}function rn(){let e=O[k++]&31;if(e>23)switch(e){case 24:e=O[k++];break;case 25:e=F.getUint16(k),k+=2;break;case 26:e=F.getUint32(k),k+=4}return e}function an(){if(A.getShared){let e=on(()=>(O=null,A.getShared()))||{},t=e.structures||[];A.sharedVersion=e.version,P=A.sharedValues=e.packedValues,j===!0?A.structures=j=t:j.splice.apply(j,[0,t.length].concat(t))}}function on(e){let t=ht,n=k,r=St,i=wt,a=Tt,o=Ct,s=xt,c=Et,l=M,u=new Uint8Array(O.slice(0,ht)),d=j,f=A,p=At,m=e();return ht=t,k=n,St=r,wt=i,Tt=a,Ct=o,xt=s,Et=c,M=l,O=u,At=p,j=d,A=f,F=new DataView(O.buffer,O.byteOffset,O.byteLength),m}function sn(){O=null,Et=null,j=null}const cn=Array(147);for(let e=0;e<256;e++)cn[e]=+(`1e`+Math.floor(45.15-e*.30103));let ln=new Mt({useRecords:!1});const un=ln.decode;ln.decodeMultiple;const dn={NEVER:0,ALWAYS:1,DECIMAL_ROUND:3,DECIMAL_FIT:4};let fn;try{fn=new TextEncoder}catch{}let pn,mn;const hn=typeof globalThis==`object`&&globalThis.Buffer,gn=hn!==void 0,_n=gn?hn.allocUnsafeSlow:Uint8Array,vn=gn?hn:Uint8Array,yn=gn?4294967296:2144337920;let bn,R,z,B=0,xn,V=null;const Sn=/[\u0080-\uFFFF]/,Cn=Symbol(`record-id`);var wn=class extends Mt{constructor(e){super(e),this.offset=0;let t,n,r,i,a;e||={};let o=vn.prototype.utf8Write?function(e,t,n){return R.utf8Write(e,t,n)}:fn&&fn.encodeInto?function(e,t){return fn.encodeInto(e,R.subarray(t)).written}:!1,s=this,c=e.structures||e.saveStructures,l=e.maxSharedStructures;if(l??=c?128:0,l>8190)throw Error(`Maximum maxSharedStructure is 8190`);let u=e.sequential;u&&(l=0),this.structures||=[],this.saveStructures&&(this.saveShared=this.saveStructures);let d,f,p=e.sharedValues,m;if(p){m=Object.create(null);for(let e=0,t=p.length;e<t;e++)m[p[e]]=e}let h=[],g=0,_=0;this.mapEncode=function(e,t){if(this._keyMap&&!this._mapped)switch(e.constructor.name){case`Array`:e=e.map(e=>this.encodeKeys(e))}return this.encode(e,t)},this.encode=function(o,c){if(R||(R=new _n(8192),z=new DataView(R.buffer,0,8192),B=0),xn=R.length-10,xn-B<2048?(R=new _n(R.length),z=new DataView(R.buffer,0,R.length),xn=R.length-10,B=0):c===512&&(B=B+7&2147483640),t=B,s.useSelfDescribedHeader&&(z.setUint32(B,3654940416),B+=3),a=s.structuredClone?new Map:null,s.bundleStrings&&typeof o!=`string`?(V=[],V.size=1/0):V=null,n=s.structures,n){if(n.uninitialized){let e=s.getShared()||{};s.structures=n=e.structures||[],s.sharedVersion=e.version;let t=s.sharedValues=e.packedValues;if(t){m={};for(let e=0,n=t.length;e<n;e++)m[t[e]]=e}}let e=n.length;if(e>l&&!u&&(e=l),!n.transitions){n.transitions=Object.create(null);for(let t=0;t<e;t++){let e=n[t];if(!e)continue;let r,i=n.transitions;for(let n=0,a=e.length;n<a;n++){i[Cn]===void 0&&(i[Cn]=t);let a=e[n];r=i[a],r||=i[a]=Object.create(null),i=r}i[Cn]=t|1048576}}u||(n.nextId=e)}if(r&&=!1,i=n||[],f=m,e.pack){let t=new Map;if(t.values=[],t.encoder=s,t.maxValues=e.maxPrivatePackedValues||(m?16:1/0),t.objectMap=m||!1,t.samplingPackedValues=d,An(o,t),t.values.length>0){R[B++]=216,R[B++]=51,Dn(4);let e=t.values;v(e),Dn(0),Dn(0),f=Object.create(m||null);for(let t=0,n=e.length;t<n;t++)f[e[t]]=t}}bn=c&Hn;try{if(bn)return;if(v(o),V&&Fn(t,v),s.offset=B,a&&a.idsToInsert){B+=a.idsToInsert.length*2,B>xn&&b(B),s.offset=B;let e=Pn(R.subarray(t,B),a.idsToInsert);return a=null,e}return c&512?(R.start=t,R.end=B,R):R.subarray(t,B)}finally{if(n){if(_<10&&_++,n.length>l&&(n.length=l),g>1e4)n.transitions=null,_=0,g=0,h.length>0&&(h=[]);else if(h.length>0&&!u){for(let e=0,t=h.length;e<t;e++)h[e][Cn]=void 0;h=[]}}if(r&&s.saveShared){s.structures.length>l&&(s.structures=s.structures.slice(0,l));let e=R.subarray(t,B);return s.updateSharedData()===!1?s.encode(o):e}c&1024&&(B=t)}},this.findCommonStringsToPack=()=>(d=new Map,m||=Object.create(null),e=>{let t=e&&e.threshold||4,n=this.pack?e.maxPrivatePackedValues||16:0;p||=this.sharedValues=[];for(let[e,i]of d)i.count>t&&(m[e]=n++,p.push(e),r=!0);for(;this.saveShared&&this.updateSharedData()===!1;);d=null});let v=n=>{B>xn&&(R=b(B));var r=typeof n,i;if(r===`string`){if(f){let t=f[n];if(t>=0){t<16?R[B++]=t+224:(R[B++]=198,t&1?v(15-t>>1):v(t-16>>1));return}if(d&&!e.pack){let e=d.get(n);e?e.count++:d.set(n,{count:1})}}let r=n.length;if(V&&r>=4&&r<1024){if((V.size+=r)>61440){let e,n=(V[0]?V[0].length*3+V[1].length:0)+10;B+n>xn&&(R=b(B+n)),R[B++]=217,R[B++]=223,R[B++]=249,R[B++]=V.position?132:130,R[B++]=26,e=B-t,B+=4,V.position&&Fn(t,v),V=[``,``],V.size=0,V.position=e}let e=Sn.test(n);V[+!e]+=n,R[B++]=e?206:207,v(r);return}let a;a=r<32?1:r<256?2:r<65536?3:5;let s=r*3;if(B+s>xn&&(R=b(B+s)),r<64||!o){let e,t,o,s=B+a;for(e=0;e<r;e++)t=n.charCodeAt(e),t<128?R[s++]=t:t<2048?(R[s++]=t>>6|192,R[s++]=t&63|128):(t&64512)==55296&&((o=n.charCodeAt(e+1))&64512)==56320?(t=65536+((t&1023)<<10)+(o&1023),e++,R[s++]=t>>18|240,R[s++]=t>>12&63|128,R[s++]=t>>6&63|128,R[s++]=t&63|128):(R[s++]=t>>12|224,R[s++]=t>>6&63|128,R[s++]=t&63|128);i=s-B-a}else i=o(n,B+a,s);i<24?R[B++]=96|i:i<256?(a<2&&R.copyWithin(B+2,B+1,B+1+i),R[B++]=120,R[B++]=i):i<65536?(a<3&&R.copyWithin(B+3,B+2,B+2+i),R[B++]=121,R[B++]=i>>8,R[B++]=i&255):(a<5&&R.copyWithin(B+5,B+3,B+3+i),R[B++]=122,z.setUint32(B,i),B+=4),B+=i}else if(r===`number`){if(!this.alwaysUseFloat&&n>>>0===n)n<24?R[B++]=n:n<256?(R[B++]=24,R[B++]=n):n<65536?(R[B++]=25,R[B++]=n>>8,R[B++]=n&255):(R[B++]=26,z.setUint32(B,n),B+=4);else if(!this.alwaysUseFloat&&n>>0===n)n>=-24?R[B++]=31-n:n>=-256?(R[B++]=56,R[B++]=~n):n>=-65536?(R[B++]=57,z.setUint16(B,~n),B+=2):(R[B++]=58,z.setUint32(B,~n),B+=4);else{let e;if((e=this.useFloat32)>0&&n<4294967296&&n>=-2147483648){R[B++]=250,z.setFloat32(B,n);let t;if(e<4||(t=n*cn[(R[B]&127)<<1|R[B+1]>>7])>>0===t){B+=4;return}B--}R[B++]=251,z.setFloat64(B,n),B+=8}}else if(r===`object`){if(!n)R[B++]=246;else{if(a){let e=a.get(n);if(e){if(R[B++]=216,R[B++]=29,R[B++]=25,!e.references){let t=a.idsToInsert||(a.idsToInsert=[]);e.references=[],t.push(e)}e.references.push(B-t),B+=2;return}a.set(n,{offset:B-t})}let e=n.constructor;if(e===Object)y(n);else if(e===Array){i=n.length,i<24?R[B++]=128|i:Dn(i);for(let e=0;e<i;e++)v(n[e])}else if(e===Map){if((this.mapsAsObjects?this.useTag259ForMaps!==!1:this.useTag259ForMaps)&&(R[B++]=217,R[B++]=1,R[B++]=3),i=n.size,i<24?R[B++]=160|i:i<256?(R[B++]=184,R[B++]=i):i<65536?(R[B++]=185,R[B++]=i>>8,R[B++]=i&255):(R[B++]=186,z.setUint32(B,i),B+=4),s.keyMap)for(let[e,t]of n)v(s.encodeKey(e)),v(t);else for(let[e,t]of n)v(e),v(t)}else{for(let e=0,t=pn.length;e<t;e++){let t=mn[e];if(n instanceof t){let t=pn[e],r=t.tag;r??=t.getTag&&t.getTag.call(this,n),r<24?R[B++]=192|r:r<256?(R[B++]=216,R[B++]=r):r<65536?(R[B++]=217,R[B++]=r>>8,R[B++]=r&255):r>-1&&(R[B++]=218,z.setUint32(B,r),B+=4),t.encode.call(this,n,v,b);return}}if(n[Symbol.iterator]){if(bn){let e=Error(`Iterable should be serialized as iterator`);throw e.iteratorNotHandled=!0,e}R[B++]=159;for(let e of n)v(e);R[B++]=255;return}if(n[Symbol.asyncIterator]||kn(n)){let e=Error(`Iterable/blob should be serialized as iterator`);throw e.iteratorNotHandled=!0,e}if(this.useToJSON&&n.toJSON){let e=n.toJSON();if(e!==n)return v(e)}y(n)}}}else if(r===`boolean`)R[B++]=n?245:244;else if(r===`bigint`){if(n<BigInt(1)<<BigInt(64)&&n>=0)R[B++]=27,z.setBigUint64(B,n);else if(n>-(BigInt(1)<<BigInt(64))&&n<0)R[B++]=59,z.setBigUint64(B,-n-BigInt(1));else if(this.largeBigIntToFloat)R[B++]=251,z.setFloat64(B,Number(n));else{n>=BigInt(0)?R[B++]=194:(R[B++]=195,n=BigInt(-1)-n);let e=[];for(;n;)e.push(Number(n&BigInt(255))),n>>=BigInt(8);Nn(new Uint8Array(e.reverse()),b);return}B+=8}else if(r===`undefined`)R[B++]=247;else throw Error(`Unknown type: `+r)},y=this.useRecords===!1?this.variableMapSize?e=>{let t=Object.keys(e),n=Object.values(e),r=t.length;if(r<24?R[B++]=160|r:r<256?(R[B++]=184,R[B++]=r):r<65536?(R[B++]=185,R[B++]=r>>8,R[B++]=r&255):(R[B++]=186,z.setUint32(B,r),B+=4),s.keyMap)for(let e=0;e<r;e++)v(s.encodeKey(t[e])),v(n[e]);else for(let e=0;e<r;e++)v(t[e]),v(n[e])}:e=>{R[B++]=185;let n=B-t;B+=2;let r=0;if(s.keyMap)for(let t in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(t))&&(v(s.encodeKey(t)),v(e[t]),r++);else for(let t in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(t))&&(v(t),v(e[t]),r++);R[n+++t]=r>>8,R[n+t]=r&255}:(e,t)=>{let n,a=i.transitions||(i.transitions=Object.create(null)),o=0,s=0,c,u;if(this.keyMap){u=Object.keys(e).map(e=>this.encodeKey(e)),s=u.length;for(let e=0;e<s;e++){let t=u[e];n=a[t],n||(n=a[t]=Object.create(null),o++),a=n}}else for(let t in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(t))&&(n=a[t],n||(a[Cn]&1048576&&(c=a[Cn]&65535),n=a[t]=Object.create(null),o++),a=n,s++);let d=a[Cn];if(d!==void 0)d&=65535,R[B++]=217,R[B++]=d>>8|224,R[B++]=d&255;else if(u||=a.__keys__||(a.__keys__=Object.keys(e)),c===void 0?(d=i.nextId++,d||(d=0,i.nextId=1),d>=256&&(i.nextId=(d=l)+1)):d=c,i[d]=u,d<l){R[B++]=217,R[B++]=d>>8|224,R[B++]=d&255,a=i.transitions;for(let e=0;e<s;e++)(a[Cn]===void 0||a[Cn]&1048576)&&(a[Cn]=d),a=a[u[e]];a[Cn]=d|1048576,r=!0}else{if(a[Cn]=d,z.setUint32(B,3655335680),B+=3,o&&(g+=_*o),h.length>=256-l&&(h.shift()[Cn]=void 0),h.push(a),Dn(s+2),v(57344+d),v(u),t)return;for(let t in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(t))&&v(e[t]);return}if(s<24?R[B++]=128|s:Dn(s),!t)for(let t in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(t))&&v(e[t])},b=e=>{let n;if(e>16777216){if(e-t>yn)throw Error(`Encoded buffer would be larger than maximum buffer size`);n=Math.min(yn,Math.round(Math.max((e-t)*(e>67108864?1.25:2),4194304)/4096)*4096)}else n=(Math.max(e-t<<2,R.length-1)>>12)+1<<12;let r=new _n(n);return z=new DataView(r.buffer,0,n),R.copy?R.copy(r,0,t,e):r.set(R.slice(t,e)),B-=t,t=0,xn=r.length-10,R=r},x=100,S=1e3;this.encodeAsIterable=function(e,t){return te(e,t,C)},this.encodeAsAsyncIterable=function(e,t){return te(e,t,ne)};function*C(e,n,r){let i=e.constructor;if(i===Object){let t=s.useRecords!==!1;t?y(e,!0):Tn(Object.keys(e).length,160);for(let r in e){let i=e[r];t||v(r),i&&typeof i==`object`?n[r]?yield*C(i,n[r]):yield*w(i,n,r):v(i)}}else if(i===Array){let r=e.length;Dn(r);for(let i=0;i<r;i++){let r=e[i];r&&(typeof r==`object`||B-t>x)?n.element?yield*C(r,n.element):yield*w(r,n,`element`):v(r)}}else if(e[Symbol.iterator]&&!e.buffer){R[B++]=159;for(let r of e)r&&(typeof r==`object`||B-t>x)?n.element?yield*C(r,n.element):yield*w(r,n,`element`):v(r);R[B++]=255}else kn(e)?(Tn(e.size,64),yield R.subarray(t,B),yield e,ee()):e[Symbol.asyncIterator]?(R[B++]=159,yield R.subarray(t,B),yield e,ee(),R[B++]=255):v(e);r&&B>t?yield R.subarray(t,B):B-t>x&&(yield R.subarray(t,B),ee())}function*w(e,n,r){let i=B-t;try{v(e),B-t>x&&(yield R.subarray(t,B),ee())}catch(a){if(a.iteratorNotHandled)n[r]={},B=t+i,yield*C.call(this,e,n[r]);else throw a}}function ee(){x=S,s.encode(null,Hn)}function te(e,t,n){return x=t&&t.chunkThreshold?S=t.chunkThreshold:100,e&&typeof e==`object`?(s.encode(null,Hn),n(e,s.iterateProperties||={},!0)):[s.encode(e)]}async function*ne(e,t){for(let n of C(e,t,!0)){let e=n.constructor;if(e===vn||e===Uint8Array)yield n;else if(kn(n)){let e=n.stream().getReader(),t;for(;!(t=await e.read()).done;)yield t.value}else if(n[Symbol.asyncIterator])for await(let e of n)ee(),e?yield*ne(e,t.async||={}):yield s.encode(e);else yield n}}}useBuffer(e){R=e,z=new DataView(R.buffer,R.byteOffset,R.byteLength),B=0}clearSharedData(){this.structures&&=[],this.sharedValues&&=void 0}updateSharedData(){let e=this.sharedVersion||0;this.sharedVersion=e+1;let t=this.structures.slice(0),n=new En(t,this.sharedValues,this.sharedVersion),r=this.saveShared(n,t=>(t&&t.version||0)==e);return r===!1?(n=this.getShared()||{},this.structures=n.structures||[],this.sharedValues=n.packedValues,this.sharedVersion=n.version,this.structures.nextId=this.structures.length):t.forEach((e,t)=>this.structures[t]=e),r}};function Tn(e,t){e<24?R[B++]=t|e:e<256?(R[B++]=t|24,R[B++]=e):e<65536?(R[B++]=t|25,R[B++]=e>>8,R[B++]=e&255):(R[B++]=t|26,z.setUint32(B,e),B+=4)}var En=class{constructor(e,t,n){this.structures=e,this.packedValues=t,this.version=n}};function Dn(e){e<24?R[B++]=128|e:e<256?(R[B++]=152,R[B++]=e):e<65536?(R[B++]=153,R[B++]=e>>8,R[B++]=e&255):(R[B++]=154,z.setUint32(B,e),B+=4)}const On=typeof Blob>`u`?function(){}:Blob;function kn(e){if(e instanceof On)return!0;let t=e[Symbol.toStringTag];return t===`Blob`||t===`File`}function An(e,t){switch(typeof e){case`string`:if(e.length>3){if(t.objectMap[e]>-1||t.values.length>=t.maxValues)return;let n=t.get(e);if(n)++n.count==2&&t.values.push(e);else if(t.set(e,{count:1}),t.samplingPackedValues){let n=t.samplingPackedValues.get(e);n?n.count++:t.samplingPackedValues.set(e,{count:1})}}break;case`object`:if(e){if(e instanceof Array)for(let n=0,r=e.length;n<r;n++)An(e[n],t);else{let r=!t.encoder.useRecords;for(var n in e)e.hasOwnProperty(n)&&(r&&An(n,t),An(e[n],t))}}break;case`function`:console.log(e)}}const jn=new Uint8Array(new Uint16Array([1]).buffer)[0]==1;mn=[Date,Set,Error,RegExp,Kt,ArrayBuffer,Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,typeof BigUint64Array>`u`?function(){}:BigUint64Array,Int8Array,Int16Array,Int32Array,typeof BigInt64Array>`u`?function(){}:BigInt64Array,Float32Array,Float64Array,En],pn=[{tag:1,encode(e,t){let n=e.getTime()/1e3;(this.useTimestamp32||e.getMilliseconds()===0)&&n>=0&&n<4294967296?(R[B++]=26,z.setUint32(B,n),B+=4):(R[B++]=251,z.setFloat64(B,n),B+=8)}},{tag:258,encode(e,t){t(Array.from(e))}},{tag:27,encode(e,t){t([e.name,e.message])}},{tag:27,encode(e,t){t([`RegExp`,e.source,e.flags])}},{getTag(e){return e.tag},encode(e,t){t(e.value)}},{encode(e,t,n){Nn(e,n)}},{getTag(e){if(e.constructor===Uint8Array&&(this.tagUint8Array||gn&&this.tagUint8Array!==!1))return 64},encode(e,t,n){Nn(e,n)}},Mn(68,1),Mn(69,2),Mn(70,4),Mn(71,8),Mn(72,1),Mn(77,2),Mn(78,4),Mn(79,8),Mn(85,4),Mn(86,8),{encode(e,t){let n=e.packedValues||[],r=e.structures||[];if(n.values.length>0){R[B++]=216,R[B++]=51,Dn(4);let e=n.values;t(e),Dn(0),Dn(0),packedObjectMap=Object.create(sharedPackedObjectMap||null);for(let t=0,n=e.length;t<n;t++)packedObjectMap[e[t]]=t}if(r){z.setUint32(B,3655335424),B+=3;let n=r.slice(0);n.unshift(57344),n.push(new Kt(e.version,1399353956)),t(n)}else t(new Kt(e.version,1399353956))}}];function Mn(e,t){return!jn&&t>1&&(e-=4),{tag:e,encode:function(e,t){let n=e.byteLength,r=e.byteOffset||0,i=e.buffer||e;t(gn?hn.from(i,r,n):new Uint8Array(i,r,n))}}}function Nn(e,t){let n=e.byteLength;n<24?R[B++]=64+n:n<256?(R[B++]=88,R[B++]=n):n<65536?(R[B++]=89,R[B++]=n>>8,R[B++]=n&255):(R[B++]=90,z.setUint32(B,n),B+=4),B+n>=R.length&&t(B+n),R.set(e.buffer?e:new Uint8Array(e),B),B+=n}function Pn(e,t){let n,r=t.length*2,i=e.length-r;t.sort((e,t)=>e.offset>t.offset?1:-1);for(let n=0;n<t.length;n++){let r=t[n];r.id=n;for(let t of r.references)e[t++]=n>>8,e[t]=n&255}for(;n=t.pop();){let t=n.offset;e.copyWithin(t+r,t,i),r-=2;let a=t+r;e[a++]=216,e[a++]=28,i=t}return e}function Fn(e,t){z.setUint32(V.position+e,B-V.position-e+1);let n=V;V=null,t(n[0]),t(n[1])}let In=new wn({useRecords:!1});const Ln=In.encode;In.encodeAsIterable,In.encodeAsAsyncIterable;const{NEVER:Rn,ALWAYS:zn,DECIMAL_ROUND:Bn,DECIMAL_FIT:Vn}=dn,Hn=2048;if(process.env.CBOR_NATIVE_ACCELERATION_DISABLED===void 0||process.env.CBOR_NATIVE_ACCELERATION_DISABLED.toLowerCase()!==`true`){let t;try{t=typeof e==`function`?e(`cbor-extract`):Xe(import.meta.url)(`cbor-extract`),t&&Rt(t.extractStrings)}catch{}}var Un=s();const Wn=`5.2.3`,Gn=c(`@workflow/world-vercel//httpPools`,1,()=>({dispatcher:void 0,queueDispatcher:void 0,streamDispatcher:void 0,streamCloseDispatcher:void 0,nodeHttpAgents:void 0})),Kn={connections:8,keepAliveTimeout:1e4},qn=3e5,Jn=3e5,Yn={...Kn,allowH2:!1,pipelining:1},Xn=()=>w(`WORKFLOW_VERCEL_QUEUE_TIMEOUT_MS`,3e4,{integer:!0,min:5e3,max:12e4});function Zn(){let e=Xn();return{...Yn,connections:w(`WORKFLOW_VERCEL_QUEUE_CONNECTIONS`,64,{integer:!0,min:1,max:1024}),headersTimeout:e,bodyTimeout:e}}const Qn=Un.DecoratorHandler;function $n(e){class t extends Qn{#e=!1;#t;#n;constructor(t){super(t),this.#n=setTimeout(()=>{this.#e=!0,this.#r()},e),this.#n.unref?.()}#r(){this.#t?.abort(Error(`Queue request exceeded its ${e}ms deadline`))}onRequestStart(e,t){this.#t=e,super.onRequestStart(e,t),this.#e&&this.#r()}onResponseEnd(e,t){clearTimeout(this.#n),super.onResponseEnd(e,t)}onResponseError(e,t){clearTimeout(this.#n),super.onResponseError(e,t)}}return e=>(n,r)=>e(n,new t(r))}const er=6e4,tr={...Kn,headersTimeout:er,bodyTimeout:er,allowH2:!0,pipelining:100,initialWindowSize:4194304,connectionWindowSize:16777216},nr={...Kn,headersTimeout:er,bodyTimeout:er,allowH2:!1,pipelining:1},rr={...Kn,allowH2:!0,pipelining:1},ir={retryAfter:!0,statusCodes:[500,502,503,504]},ar={...ir,errorCodes:[`ECONNRESET`,`ECONNREFUSED`,`ENOTFOUND`,`ENETDOWN`,`ENETUNREACH`,`EHOSTDOWN`,`EHOSTUNREACH`,`EPIPE`,`UND_ERR_SOCKET`,`ERR_HTTP2_STREAM_ERROR`]},or={maxRetries:0,methods:[`PUT`],statusCodes:[],errorCodes:[]},sr={retryAfter:!0,methods:[`PUT`],statusCodes:[429,500,502,503,504]};function cr(){return process.env.WORKFLOW_H2_MULTIPLEX!==`0`}function lr(e){if(!e||typeof e!=`object`||Array.isArray(e))return NaN;let t=e,n=t[`content-length`]??t[`Content-Length`];return typeof n==`string`||typeof n==`number`?Number(n):NaN}function ur(e){return t=>(n,r)=>{let i=n.body,a=!!i&&typeof i!=`string`&&!Buffer.isBuffer(i)&&typeof i[Symbol.asyncIterator]==`function`,o=lr(n.headers);return a?!(o>=0)||o>1048576?e?e.dispatch(n,r):t({...n,idempotent:!0},r):((async()=>{try{let e=[];for await(let t of i)e.push(Buffer.from(t));t({...n,body:Buffer.concat(e),idempotent:!0},r)}catch(e){r.onError?.(e)}})(),!0):t({...n,idempotent:!0},r)}}const dr=new Set([`UND_ERR_INFO`,`UND_ERR_HEADERS_TIMEOUT`,`UND_ERR_BODY_TIMEOUT`,`ERR_HTTP2_GOAWAY_SESSION`,`ERR_HTTP2_INVALID_SESSION`,`ERR_HTTP2_SESSION_ERROR`,`ERR_HTTP2_STREAM_ERROR`]);function fr(e){let t=e;for(let e=0;t&&e<8;e++){let e=t.code;if(typeof e==`string`&&dr.has(e))return!0;t=t.cause}return!1}function pr(e,t){let n,r=0,i=0;function a(e){let t=setTimeout(()=>{Promise.resolve(e.close?.()).catch(()=>void 0)},5e3),n=setTimeout(()=>{Promise.resolve(e.destroy?.()).catch(()=>void 0)},6e4);t.unref?.(),n.unref?.()}return{get(){return n??=e(),n},note(e,o){if(!n||e!==n)return;if(o===void 0){r=0;return}if(!fr(o)||(r++,r<3))return;let s=Date.now();if(s-i<5e3)return;i=s,r=0;let c=n;n=void 0,console.warn(`[workflow] ${t}: rebuilding connection pool after 3 consecutive transport failures`),a(c)}}}const mr=c(`@workflow/world-vercel//eventsDispatcherRecycler@${Wn}`,1,()=>pr(()=>wr(),`events transport`));function hr(e,t){mr.note(e,t)}function gr(e,t){return e?.dispatcher?e.dispatcher:ge()?void 0:t()}function _r(e){if(!e?.dispatcher&&ge())return Gn.nodeHttpAgents??=a({maxSockets:Kn.connections,keepAliveMs:Kn.keepAliveTimeout}),Gn.nodeHttpAgents}function vr(e){return gr(e,Ar)}function yr(e){return gr(e,kr)}function br(e){return gr(e,()=>mr.get())}function xr(e){return gr(e,jr)}function Sr(e){return gr(e,Mr)}function Cr(e,t){return new Un.RetryAgent(new Un.Agent(e),t)}function wr(e){let t=cr(),n=new Un.RetryAgent(new Un.Agent({...t?tr:nr,...e}),ar);if(!t||!Tr(n))return n;let r=new Un.RetryAgent(new Un.Agent({...nr,...e}),ar);return Er(n,n.compose(ur(r)),r)}function Tr(e){return typeof e.compose==`function`}function Er(e,t,n){return new Proxy(t,{get:(t,r)=>{if(r!==`close`&&r!==`destroy`)return t[r];let i=e[r].bind(e);if(!n)return i;let a=n[r].bind(n);return async(...e)=>{await Promise.all([i(...e),a(...e)])}}})}function Dr(e,t){return new Un.RetryAgent(new Un.Agent({...rr,...t}),e)}function Or(){let e=new Un.Agent(Zn());return new Un.RetryAgent(Tr(e)?e.compose($n(Xn())):e,ir)}function kr(){return Gn.queueDispatcher??=Or(),Gn.queueDispatcher}function Ar(){return Gn.dispatcher??=Cr(Yn,ir),Gn.dispatcher}function jr(){return Gn.streamDispatcher??=Dr(or),Gn.streamDispatcher}function Mr(){return Gn.streamCloseDispatcher??=Dr(sr),Gn.streamCloseDispatcher}async function Nr(){let{getDeadline:e}=await import(`../../_chunks/workflow/functions-CKkqf9V6.js`).then(e=>n(e.default,1));return e()}var Pr=class extends Error{error;constructor(e){super(`Replay event observer failed`,{cause:e}),this.error=e,this.name=`ReplayEventObserverError`}},Fr=class extends Error{error;constructor(e){super(`Event log read after a committed write failed`,{cause:e}),this.error=e,this.name=`AfterCommitError`}};const Ir=new Set([`step_completed`,`step_retrying`]);function Lr(e){return Ir.has(e)}const Rr={run_created:{retryable:!0,reason:`conditional create → 409 if exists`},step_created:{retryable:!0,reason:`conditional create → 409 if exists`},wait_created:{retryable:!0,reason:`conditional create → 409 if exists`},hook_created:{retryable:!0,reason:`transactional token uniqueness → 409 if exists`},run_started:{retryable:!0,reason:`early-returns if already running, no duplicate row`},run_completed:{retryable:!0,reason:`terminal-state guard → 409, no duplicate row`},run_failed:{retryable:!0,reason:`terminal-state guard → 409, no duplicate row`},run_cancelled:{retryable:!0,reason:`terminal-state guard → 409, no duplicate row`},step_completed:{retryable:!0,reason:`terminal-state guard → 409, no duplicate row`},step_failed:{retryable:!0,reason:`terminal-state guard → 409, no duplicate row`},wait_completed:{retryable:!0,reason:`waiting-state guard → 409, no duplicate row`},hook_disposed:{retryable:!0,reason:`conditional delete (exists) → 409, no duplicate row`},attr_set:{retryable:!0,reason:`correlationId constraint reuses eventId (idempotent replay)`},step_started:{retryable:!1,reason:`unconditional attempt increment → a retry double-counts attempts`},step_retrying:{retryable:!1,reason:`no duplicate guard → a retry appends a second event row`},hook_received:{retryable:!1,reason:`no server guard → a retry duplicates the row / re-delivers payload. EXCEPTION: the atomic lazy-resume shape (resumeId + digest) is deduplicated server-side by the (runId, resumeId) claim, so those writes opt in via withEventPostRetry({ idempotentHookResume })`},hook_conflict:{retryable:!1,reason:`server-originated; never POSTed by the SDK`},noop:{retryable:!1,reason:`server-originated; never POSTed by the SDK`}},zr=new Set([`ECONNRESET`,`ECONNREFUSED`,`ENOTFOUND`,`ENETDOWN`,`ENETUNREACH`,`EHOSTDOWN`,`EHOSTUNREACH`,`EPIPE`,`ETIMEDOUT`,`UND_ERR_SOCKET`,`UND_ERR_REQ_RETRY`,`UND_ERR_CONNECT_TIMEOUT`,`UND_ERR_HEADERS_TIMEOUT`,`UND_ERR_BODY_TIMEOUT`,`TimeoutError`,`RequestRetryError`]);function Br(e,t=0){if(t>5||typeof e!=`object`||!e)return[];let n=[],r=e;return typeof r.code==`string`&&n.push(r.code),typeof r.name==`string`&&n.push(r.name),r.cause&&n.push(...Br(r.cause,t+1)),n}function Vr(e){if(e instanceof Pr||Ae.is(e)||ke.is(e)||De.is(e)||Se.is(e)||Te.is(e))return!1;if(T.is(e)||E.is(e)){if(e.code===`PARSE_ERROR`||e.code===`TRANSPORT`)return!0;if(typeof e.status==`number`)return e.status>=500&&e.status<=599;if(e.code===`STREAM_ERROR`)return!Br(e).some(e=>[`AbortError`,`ABORT_ERR`,`UND_ERR_ABORTED`,`ERR_HTTP2_STREAM_CANCEL`].includes(e))}return Br(e).some(e=>zr.has(e))}const Hr=(e,t)=>new Promise((n,r)=>{if(t?.aborted){r(t.reason);return}let i=()=>{clearTimeout(a),r(t?.reason)},a=setTimeout(()=>{t?.removeEventListener(`abort`,i),n()},e);t?.addEventListener(`abort`,i,{once:!0})}),Ur=typeof process<`u`&&typeof process.env.DEBUG==`string`&&(process.env.DEBUG.includes(`workflow:`)||process.env.DEBUG===`*`);function Wr(e,t){if(!Ur)return;let n=Object.entries(t).map(([e,t])=>`${e}=${t}`).join(` `);console.debug(`[workflow:world-vercel:event-retry] ${e} ${n}`)}function Gr(e){return T.is(e)?e.code??(e.status==null?e.name:`status_${e.status}`):Br(e)[0]??(e instanceof Error?e.name:`unknown`)}async function Kr(){try{let e=(await Nr())?.getTime();return e!==void 0&&Number.isFinite(e)?e:void 0}catch{return}}function qr(e,t,n){let r=0,i;return async(a,o)=>{let s=Math.max(1,typeof a.retryAfter==`number`?a.retryAfter:1)*1e3;if(i===void 0){let e=await Kr();i={budgetMs:t===`invocation`&&e!==void 0?9e5:3e4,deadlineMs:e}}let c=i.deadlineMs!==void 0&&Date.now()+s>i.deadlineMs-15e3;if(r+s>i.budgetMs||c)throw Wr(`throttle retry budget exhausted; surfacing to the queue`,{target:e,budget:t,waitedMs:r,retryAfter:a.retryAfter,outlastsInvocation:c}),a;r+=s,console.warn(`[workflow] Throttled (429) ${e}; retrying in-process in ${s/1e3}s`),await n?.(),await Hr(s,o)}}function Jr(e,t){return t?.batchIdempotent===void 0&&(t?.afterStepBody===!0||Lr(e))?`invocation`:`bounded`}function Yr(e,t){return t?.inBand===!0?!1:t?.batchIdempotent===void 0?e===`hook_received`&&t?.idempotentHookResume===!0||(Rr[e]?.retryable??!1):t.batchIdempotent}async function Xr(e,t,n){let r=Yr(t,n),i=qr(`writing ${t} event`,Jr(t,n));for(let n=0;;)try{return await e()}catch(e){if(e instanceof Fr)throw e;if(Te.is(e)){await i(e);continue}if(!r||!Vr(e))throw e;if(n>=2)throw Wr(`exhausted in-process retries; surfacing for queue redelivery`,{eventType:t,attempts:n+1,error:Gr(e)}),e;let a=100*2**n+Math.floor(Math.random()*50);n++,Wr(`retrying event POST after transient failure`,{eventType:t,attempt:n,backoffMs:a,error:Gr(e)}),await Hr(a)}}const Zr=c(`@workflow/world-vercel//telemetry`,1,()=>({apiPromise:null,tracerPromise:null}));async function Qr(){return Zr.apiPromise||=import(`../../@opentelemetry/api/index.js`).catch(e=>(typeof process<`u`&&typeof process.env.DEBUG==`string`&&(process.env.DEBUG.includes(`workflow:`)||process.env.DEBUG===`*`)&&console.warn(`[workflow] @opentelemetry/api unavailable — world-vercel spans disabled:`,e instanceof Error?e.message:e),null)),Zr.apiPromise}function $r(){return typeof process<`u`&&typeof process.env.DEBUG==`string`&&(process.env.DEBUG.includes(`workflow:`)||process.env.DEBUG===`*`)}let ei=!1;function ti(e,t){if(!ei&&$r()){ei=!0;try{let n=globalThis[Symbol.for(`opentelemetry.js.api.1`)],r=e.trace.getTracerProvider(),i=r.getDelegate?.()??r,a=t.startSpan(`workflow.otel.probe.world_vercel`);console.warn(`[workflow:otel-diag] world-vercel`,JSON.stringify({globalRegistrationVersion:n?.version??null,providerCtor:r?.constructor?.name??null,delegateCtor:i?.constructor?.name??null,tracerCtor:t?.constructor?.name??null,probeCtor:a?.constructor?.name??null,probeRecording:a.isRecording()})),a.end()}catch(e){console.warn(`[workflow:otel-diag] world-vercel failed:`,e instanceof Error?e.message:e)}}}async function ni(){return Zr.tracerPromise||=Qr().then(e=>{if(!e)return null;let t=e.trace.getTracer(`workflow`);return ti(e,t),t}),Zr.tracerPromise}async function ri(e,...t){let[n,r]=await Promise.all([ni(),Qr()]),{fn:i,opts:a}=typeof t[0]==`function`?{fn:t[0],opts:{}}:{fn:t[1],opts:t[0]};if(!i)throw Error(`Function to trace must be provided`);return!n||!r?await i():n.startActiveSpan(e,a,async e=>{try{let t=await i(e);return e.setStatus({code:r.SpanStatusCode.OK}),t}catch(t){throw e.setStatus({code:r.SpanStatusCode.ERROR,message:t.message}),t}finally{e.end()}})}async function ii(e){let t=await Qr();if(t)return t.SpanKind[e]}async function ai(e){for(let[t,n]of Object.entries(await oi()))e.set(t,n)}async function oi(){let e=await Qr();if(!e)return{};let t={};return e.propagation.inject(e.context.active(),t),t}function H(...e){return t=>Object.fromEntries(e.map(e=>[e,t]))}const si=H(`http.request.method`),ci=H(`url.full`),li=H(`server.address`),ui=H(`server.port`),di=H(`http.response.status_code`),fi=H(`error.type`),pi=H(`network.protocol.name`),mi=H(`workflow.world.parse.format`),hi=H(`peer.service`),gi=H(`rpc.system`),_i=H(`rpc.service`),vi=H(`rpc.method`),yi=H(`workflow.run.id`),bi=H(`step.id`),xi=H(`workflow.stream.name`),Si=H(`workflow.stream.operation`),Ci=H(`workflow.stream.start_index`),wi=H(`workflow.events.transport`),Ti=H(`workflow.http.transport`),Ei=H(`workflow.event.type`),Di=H(`workflow.event.in_band`),Oi=H(`workflow.event.expected_seq_in_band`),ki=H(`workflow.event.seq_in_band`),Ai=H(`workflow.step_start.mode`),ji=H(`workflow.step_start.owner_stamped`),Mi=H(`workflow.client.version`),Ni=H(`step.stso_ms`),Pi=H(`step.latency_optimizations`),Fi=H(`workflow.events.ws.url`),Ii=H(`workflow.events.ws.req_id`),Li=H(`workflow.events.ws.request_parts`),Ri=H(`workflow.events.ws.reply_parts`),zi=H(`workflow.events.ws.reconnect_attempt`),Bi=new Set([`UND_ERR_INFO`,`UND_ERR_REQ_RETRY`,`UND_ERR_SOCKET`,`UND_ERR_CONNECT`,`UND_ERR_CONNECT_TIMEOUT`,`UND_ERR_HEADERS_TIMEOUT`,`UND_ERR_BODY_TIMEOUT`,`UND_ERR_CLOSED`,`ECONNRESET`,`ECONNREFUSED`,`ENOTFOUND`,`EAI_AGAIN`,`EPIPE`,`ETIMEDOUT`]);function Vi(e){let t=e;for(let e=0;t&&e<8;e++){let e=t.code;if(typeof e==`string`&&Bi.has(e))return e;t=t.cause}}function Hi(e){let{protocol:t,username:n,password:r}=new URL(e);if(t!==`http:`&&t!==`https:`)throw TypeError(`Unsupported URL protocol ${t}; expected http: or https:`);if(n||r)throw TypeError(`HTTP(S) URLs with embedded credentials are unsupported`)}const Ui=new Set([`ERR_INVALID_URL`,`ERR_INVALID_ARG_TYPE`,`ERR_INVALID_ARG_VALUE`,`ERR_INVALID_CHAR`,`ERR_INVALID_HTTP_TOKEN`,`ERR_HTTP_INVALID_HEADER_VALUE`,`ERR_UNESCAPED_CHARACTERS`,`UND_ERR_INVALID_ARG`,`UND_ERR_NOT_SUPPORTED`]);function Wi(e){let t=Vi(e);if(t)return t;let n,r,i=e;for(let e=0;i&&e<8;e++){let{code:e,name:t,message:a}=i;if(t===`Error`&&a===`bad port`&&e===void 0)return;if(typeof e==`string`&&e){if(Ui.has(e))return;n??=e}typeof t==`string`&&t&&(r=t),i=i.cause}return n??r??`unknown`}const Gi=()=>w(`WORKFLOW_REQUEST_TIMEOUT_MS`,6e4,{integer:!0,min:1e4,max:12e4}),Ki=typeof process<`u`&&typeof process.env.DEBUG==`string`&&(process.env.DEBUG.includes(`workflow:`)||process.env.DEBUG===`*`),qi=[`x-vercel-id`,`x-vercel-error`,`x-vercel-mitigated`];function Ji(e){return qi.flatMap(t=>{let n=e.get(t);return n?[`${t}=${n}`]:[]})}function Yi(e){let t=Ji(e);return t.length>0?` (${t.join(`; `)})`:``}function Xi(e,t,n,r){if(!Ki)return;let i=Ji(n.headers),a=i.length>0?`; ${i.join(`; `)}`:``;console.debug(`[workflow:world-vercel:http] ${e} ${t} -> ${n.status} (${r}ms${a})`)}function Zi(e,t,n){if(!process.env.DEBUG)return;let r=Array.from(n.entries()).filter(([e])=>e.toLowerCase()!==`authorization`).map(([e,t])=>`-H "${e}: ${t}"`).join(` `);console.error(`Failed to fetch, reproduce with:\ncurl -X ${e} ${r} "${t}"`)}function Qi(e){if(!e)return;let t=parseInt(e,10);if(!Number.isNaN(t))return t;let n=Date.parse(e);return Number.isNaN(n)?void 0:Math.max(0,(n-Date.now())/1e3)}function $i(e){let t={};return e.forEach((e,n)=>{t[n]=e}),t}function ea(e,t){Oe.is(t)&&t.seqInBand!==void 0&&e?.setAttributes(ki(t.seqInBand))}function ta(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0?e:void 0}function na(e,t,n={}){let{retryAfter:r,code:i,url:a,mitigated:o,details:s}=n;if(e===409&&i===`hook-force-claimed`){let e=s&&typeof s==`object`?s.claimedBy:void 0;return new ke(``,typeof e?.runId==`string`?e.runId:`unknown`,typeof e?.hookId==`string`?e.hookId:void 0)}if(e===409)return new Ae(t);if(e===410){if(i===`stream-expired`){let e=s&&typeof s==`object`?s:void 0,n=typeof e?.expiredAt==`string`?new Date(e.expiredAt):void 0;return new Ne(t,typeof e?.runId==`string`?e.runId:void 0,typeof e?.streamId==`string`?e.streamId:void 0,n&&!Number.isNaN(n.getTime())?n:void 0)}return new De(t)}if(e===412&&i===`in-band-superseded`){let e=s&&typeof s==`object`?s:void 0;return new Oe(t,{seq:ta(e?.seq),seqInBand:ta(e?.seqInBand)})}return e===412?new Ee(t,{retryAfter:r,details:s}):e===425?new Se(t,{retryAfter:r}):e===429?ra(e,o)?new T(`${t} (x-vercel-mitigated=challenge)`,{url:a,status:e,code:`TRANSPORT`,retryAfter:r}):new Te(t,{retryAfter:r}):new T(t,{url:a,status:e,code:i,retryAfter:r})}function ra(e,t){return e===429&&t===`challenge`}async function ia(e){return e?.token??process.env.VERCEL_TOKEN??await(0,pt.getVercelOidcToken)().catch(()=>null)}function aa(e){try{let t=new URL(e),n=t.protocol===`https:`||t.protocol===`wss:`;return{serverAddress:t.hostname,serverPort:t.port?parseInt(t.port,10):n?443:80}}catch{return{}}}function oa(e){let{method:t,url:n,peerService:r}=e,{serverAddress:i,serverPort:a}=aa(n);return{...si(t),...ci(n),...i?li(i):{},...a?ui(a):{},...hi(r),...gi(`http`),..._i(r)}}async function sa(e,t){let{method:n,url:r,peerService:i=`workflow-server`,spanName:a,attributes:o}=e;return ri(a??`http ${n}`,{kind:await ii(`CLIENT`)},async e=>{if(a&&Ki&&e){let t=e.spanContext();console.warn(`[workflow:otel-diag] span-open`,JSON.stringify({spanName:a,traceId:t.traceId,spanId:t.spanId,recording:e.isRecording()}))}return e?.setAttributes(oa({method:n,url:r,peerService:i})),o&&e?.setAttributes(o),t(e)})}function ca(e,t){e?.setAttributes({...di(t)}),(t<200||t>=300)&&e?.setAttributes({...fi(`HTTP ${t}`)})}const la=new Set([`ECONNREFUSED`,`ENOTFOUND`,`EAI_AGAIN`,`UND_ERR_CONNECT_TIMEOUT`]);async function ua(e,t){let n,r=qr(`appending stream chunks`,`bounded`,async()=>{await n.body?.cancel().catch(()=>{})});for(let i=0;;i++){try{n=await e(i)}catch(e){let n=Vi(e);if(i===5||!n||!la.has(n))throw e;await Hr(500*2**i,t);continue}if(n.status!==429||ra(n.status,n.headers.get(`x-vercel-mitigated`))||i===5)return n;let a={retryAfter:Qi(n.headers.get(`Retry-After`))};try{await r(a,t)}catch(e){if(e===a)return n;throw e}}}async function da(e){let{method:t,url:n,headers:r,body:a,dispatcher:o,peerService:s,timeoutMs:c=Gi(),signal:l,retryStreamAppend:u=!1,injectTraceContext:d=!0,cacheBust:f=!0,logLabel:p,buildError:m,spanName:h,attributes:g,durationAttribute:_,onTransportOutcome:v,deferTransportSuccessUntilBody:y=!1,onRequestDispatched:b,transportErrorCode:x=`TRANSPORT`}=e,S=p??n;Hi(n);let C=u&&t===`PUT`&&!!o,w=C&&a instanceof Uint8Array?Uint8Array.from(a):a;return sa({method:t,url:n,peerService:s,spanName:h,attributes:g},async e=>{d&&await ai(r);let a=c==null?void 0:AbortSignal.timeout(c),s=l&&a?AbortSignal.any([l,a]):l??a,u=o?void 0:_r();e?.setAttributes({...Ti(u?`node-http`:`undici`)});let p=Date.now(),h,g=(e=0)=>{s?.throwIfAborted(),f&&r.set(`X-Request-Time`,Date.now().toString());let a=u?i(n,{method:t,headers:r,body:w,signal:s,agents:u,headersTimeoutMs:qn,bodyTimeoutMs:Jn}):fetch(n,{method:t,headers:r,body:w,signal:s,dispatcher:o});return e===0&&b?.(),a};try{h=await(C?ua(g,s):g())}catch(r){let i=Date.now()-p;if(v?.(r),r instanceof Error&&(r.name===`TimeoutError`||r.name===`AbortError`)){let a=`${t} ${S} timed out after ${i}ms`,o=x===`STREAM_ERROR`?`STREAM_ERROR`:`TIMEOUT`,s=o===`STREAM_ERROR`?new E(a,{url:n,cause:r}):new T(a,{url:n,code:o,cause:r});throw e?.setAttributes({...fi(o)}),e?.recordException?.(s),s}let a=Wi(r);if(a){let o=`${t} ${S} transport failure after ${i}ms (${a})`,s=x===`STREAM_ERROR`?`STREAM_ERROR`:`TRANSPORT`,c=s===`STREAM_ERROR`?new E(o,{url:n,cause:r}):new T(o,{url:n,code:s,cause:r});throw e?.setAttributes({...fi(s)}),e?.recordException?.(c),c}throw r}let ee=Date.now()-p;if(h.ok&&!y&&v?.(void 0,h),Xi(t,S,h,ee),ca(e,h.status),_&&e?.setAttributes({[_]:ee}),!h.ok){if(Zi(t,n,r),m){let r;try{r=await m(h)}catch(r){let i=Vi(r);if(i){v?.(r,h);let a=`${t} ${S} response body transport failure (${i})`,o=x===`STREAM_ERROR`?new E(a,{url:n,cause:r}):new T(a,{url:n,code:`TRANSPORT`,cause:r});throw e?.setAttributes({...fi(x)}),e?.recordException?.(o),o}throw v?.(void 0,h),r}throw v?.(void 0,h),ea(e,r),e?.recordException?.(r),r}let i=``;try{i=await h.text(),v?.(void 0,h)}catch(e){v?.(e,h)}let a=na(h.status,`${t} ${S} -> HTTP ${h.status}: ${h.statusText}${i?` ${i}`:``}${Yi(h.headers)}`,{url:n,retryAfter:Qi(h.headers.get(`Retry-After`))});throw e?.recordException?.(a),a}return h})}const fa=new Set([`GET`,`HEAD`]),pa=()=>process.env.VERCEL_WORKFLOW_SERVER_URL||``,ma=()=>process.env.WORKFLOW_TEST_LIMIT_OVERRIDES?.trim()||``;function ha(e){return e}const ga=(...e)=>e.filter(Boolean).join(` `),_a=()=>{let e=process.env.VERCEL_DEPLOYMENT_ID;return e?`@workflow/world-vercel/${Wn} node-${process.version} ${tt.platform()} (${tt.arch()}) ${e}`:`@workflow/world-vercel/${Wn} node-${process.version} ${tt.platform()} (${tt.arch()})`},va=e=>{let t=e?.projectConfig,n=pa()||`https://vercel-workflow.com`,r=process.env.WORKFLOW_VERCEL_BACKEND_URL,i=!!(t?.projectId&&t?.teamId);return{baseUrl:i?r||`https://api.vercel.com/v1/workflow`:`${n}/api`,usingProxy:i}},ya=e=>{let t=e?.projectConfig;return t?t.environment||`production`:process.env.VERCEL_TARGET_ENV||process.env.VERCEL_ENV||void 0},ba=(e,t)=>{let n=e?.projectConfig,r=new Headers(e?.headers);r.set(`User-Agent`,ga(_a(),r.get(`User-Agent`)));let i=ma();i&&r.set(`x-workflow-test-limit-overrides`,i),n&&(r.set(`x-vercel-environment`,ya(e)),n.projectId&&r.set(`x-vercel-project-id`,n.projectId),n.teamId&&r.set(`x-vercel-team-id`,n.teamId));let a=pa();return a&&t.usingProxy&&r.set(`x-vercel-workflow-api-url`,a),r};async function U(e){let{baseUrl:t,usingProxy:n}=va(e),r=ba(e,{usingProxy:n});if(n){if(!e?.token)throw Error(`world-vercel: api-workflow proxy requested (${t}) but no Vercel auth token was provided. Pass one as \`config.token\` (the SDK reads it from \`WORKFLOW_VERCEL_AUTH_TOKEN\`).`);r.set(`Authorization`,`Bearer ${e.token}`)}else{let t;try{t=await(0,pt.getVercelOidcToken)()}catch{}let n=e?.token??t;n&&r.set(`Authorization`,`Bearer ${n}`),t&&r.set(`x-vercel-trusted-oidc-idp-token`,t)}return{baseUrl:t,headers:r,usingProxy:n}}async function W({endpoint:e,options:t={},config:n={},schema:r,data:a,onResponse:o,retryConnectTimeout:s=!1}){let c=(t.method||`GET`).toUpperCase(),{baseUrl:l,headers:u}=await U(n),d=`${l}${e}`;return Hi(d),ri(`http ${c}`,{kind:await ii(`CLIENT`)},async l=>{l?.setAttributes(oa({method:c,url:d,peerService:`workflow-server`})),u.set(`Accept`,`application/cbor`),await ai(u);let f;a!==void 0&&(u.set(`Content-Type`,`application/cbor`),f=Ln(a));let p=fa.has(c),m,h=``;for(let r=0;;r++){u.set(`X-Request-Time`,Date.now().toString());let a=AbortSignal.timeout(Gi()),g=t.signal?AbortSignal.any([t.signal,a]):a,_=_r(n),v=_?void 0:new Request(d,{...t,body:f,headers:u,signal:g}),y=_?void 0:vr(n);l?.setAttributes({...Ti(_?`node-http`:`undici`)});let b=Date.now(),x;try{x=_?await i(d,{method:c,headers:u,body:f,signal:g,agents:_,headersTimeoutMs:qn,bodyTimeoutMs:Jn}):await fetch(v,{dispatcher:y})}catch(t){let n=Date.now()-b;if(t instanceof Error&&(t.name===`TimeoutError`||t.name===`AbortError`)){let r=new T(`${c} ${e} timed out after ${n}ms`,{url:d,code:`TIMEOUT`,cause:t});throw l?.setAttributes({...fi(`TIMEOUT`)}),l?.recordException?.(r),r}let i=Wi(t);if(i){if(s&&p&&i===`UND_ERR_CONNECT_TIMEOUT`&&r===0){await new Promise(e=>setTimeout(e,100));continue}let a=new T(`${c} ${e} transport failure after ${n}ms (${i})`,{url:d,code:`TRANSPORT`,cause:t});throw l?.setAttributes({...fi(`TRANSPORT`)}),l?.recordException?.(a),a}throw t}let S=Date.now()-b;if(h=Yi(x.headers),Xi(c,e,x,S),l?.setAttributes({...di(x.status)}),!x.ok){let t=await Sa(x).then(e=>e.data).catch(()=>({})),n=t.code??t.error;Zi(c,d,u);let r=Qi(x.headers.get(`Retry-After`)),i=(t.message||`${c} ${e} -> HTTP ${x.status}: ${x.statusText}`)+h,a=na(x.status,i,{url:d,code:n,retryAfter:r,mitigated:x.headers.get(`x-vercel-mitigated`),details:t.details});throw l?.setAttributes({...fi(n||`HTTP ${x.status}`)}),l?.recordException?.(a),a}o?.(x);try{m=await ri(`world.parse`,async e=>{let t=await Sa(x),n=(x.headers.get(`Content-Type`)||``).includes(`application/cbor`);return e?.setAttributes({...mi(n?`cbor`:`json`)}),t});break}catch(t){if(p&&r<2){let n=100*2**r;l?.setAttributes({...fi(`PARSE_ERROR_RETRYING`)}),Ki&&console.debug(`[workflow:world-vercel:http] ${c} ${e} body parse failed (attempt ${r+1}/3); retrying in ${n}ms: ${t}`),await new Promise(e=>setTimeout(e,n));continue}let n=x.headers.get(`Content-Type`)||`unknown`;throw new T(`Failed to parse response body for ${c} ${e}${h} (Content-Type: ${n}):\n\n${t}`,{url:d,code:`PARSE_ERROR`,cause:t})}}return await ri(`world.validate`,async()=>{let t=r.safeParse(m.data);if(!t.success){let n=t.error.issues.map(e=>` ${e.path.length>0?e.path.join(`.`):`<root>`}: ${e.message}`).join(`
|
|
3
|
+
`),r=process.env.DEBUG?`\n\nResponse context: ${m.getDebugContext()}`:``;throw new T(`Schema validation failed for ${c} ${e}${h}:\n${n}${r}`,{url:d,code:`SCHEMA_VALIDATION`,cause:t.error})}return t.data})})}function xa(e){let t=Qe(e,{depth:3,maxArrayLength:10,breakLength:120});return t.length>500?`${t.slice(0,500)}...`:t}async function Sa(e){let t=e.headers.get(`Content-Type`)||``;if(t.includes(`application/cbor`)){let n=await e.arrayBuffer(),r=un(new Uint8Array(n));return{data:r,getDebugContext:()=>`Content-Type: ${t}, ${n.byteLength} bytes (CBOR), preview: ${xa(r)}`}}let n=await e.text(),r=JSON.parse(n);return{data:r,getDebugContext:()=>`Content-Type: ${t}, ${n.length} bytes, preview: ${xa(r)}`}}function G(e,t,n){return new T(`${e}: ${t} ${n}`,{code:`INVALID_ARGUMENT`,field:t})}const Ca=`[01234567][0123456789ABCDEFGHJKMNPQRSTVWXYZ]{25}`,wa=RegExp(`^wrun_${Ca}$`),Ta=RegExp(`^(?:step|hook|wait|attr)_${Ca}$`),Ea=RegExp(`^evnt_${Ca}$`),Da=RegExp(`^step_${Ca}$`),Oa=RegExp(`^hook_${Ca}$`),ka=RegExp(`^wait_${Ca}$`);function Aa(e,t,n){if(!Number.isInteger(t)||t<1||t>n)throw G(e,`pagination.limit`,`must be an integer between 1 and ${n} (received ${t})`)}function ja(e,t){if(!wa.test(t))throw G(e,`runId`,`must be a workflow run id ('wrun_' followed by a ULID), received ${JSON.stringify(t)}`)}function Ma(e,t){if(!Ta.test(t))throw G(e,`correlationId`,`must be a step, hook, wait, or attribute id, received ${JSON.stringify(t)}`)}function Na(e,t){if(!Ea.test(t))throw G(e,`eventId`,`must be an event id ('evnt_' followed by a ULID), received ${JSON.stringify(t)}`)}function Pa(e,t){if(!Da.test(t))throw G(e,`stepId`,`must be a step id ('step_' followed by a ULID), received ${JSON.stringify(t)}`)}function Fa(e,t){if(!Oa.test(t))throw G(e,`hookId`,`must be a hook id ('hook_' followed by a ULID), received ${JSON.stringify(t)}`)}function Ia(e,t){if(!ka.test(t))throw G(e,`waitId`,`must be a wait id ('wait_' followed by a ULID), received ${JSON.stringify(t)}`)}function La(e,t){let n=Object.entries(t);if(n.length>8)throw G(e,`attributes`,`may filter by at most 8 pairs (received ${n.length})`);for(let[t,r]of n){if(!he.safeParse(t).success)throw G(e,`attributes`,`key must be 1 to 256 characters, received ${t.length} in ${JSON.stringify(t)}`);if(!te.safeParse(r).success)throw G(e,`attributes`,`value for ${JSON.stringify(t)} must be at most 256 UTF-8 bytes (received ${new TextEncoder().encode(r).length})`)}}function Ra(e,t,n){if(t===void 0&&n===void 0)return;if(t===void 0||n===void 0)throw G(e,t===void 0?`startTime`:`endTime`,`is required when ${t===void 0?`endTime`:`startTime`} is provided; supply both or neither`);let r=new Date(t).getTime(),i=new Date(n).getTime();if(!Number.isFinite(r))throw G(e,`startTime`,`must be a parseable datetime, received ${JSON.stringify(t)}`);if(!Number.isFinite(i))throw G(e,`endTime`,`must be a parseable datetime, received ${JSON.stringify(n)}`);if(r>i)throw G(e,`startTime`,`must be before or equal to endTime (received startTime=${JSON.stringify(t)}, endTime=${JSON.stringify(n)})`)}function za(e,t,n,r){n?.limit!==void 0&&(Aa(e,n.limit,r),t.set(`limit`,n.limit.toString())),n?.cursor&&t.set(`cursor`,n.cursor),n?.sortOrder&&t.set(`sortOrder`,n.sortOrder)}function Ba(e){let t=e.toString();return t?`?${t}`:``}function Va(e,t){let n=[...new Set(t)];if(n.length===0)throw G(e,`eventIds`,`must contain at least one id`);if(n.length>100)throw G(e,`eventIds`,`must contain at most 100 unique ids (received ${n.length})`);for(let t of n)Na(e,t);return n}function Ha(e,t,n){Ra(e,n.startTime,n.endTime),n.workflowName!==void 0&&t.set(`workflowName`,n.workflowName),n.startTime!==void 0&&n.endTime!==void 0&&(t.set(`startTime`,n.startTime),t.set(`endTime`,n.endTime)),za(e,t,n.pagination,100)}function Ua(e){return{runs:{get(t){return ja(`analytics.runs.get`,t),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t)}`,config:e,schema:l})},list(t={}){Ra(`analytics.runs.list`,t.startTime,t.endTime);let n=new URLSearchParams;return t.workflowName!==void 0&&n.set(`workflowName`,t.workflowName),t.status&&n.set(`status`,t.status),t.startTime!==void 0&&t.endTime!==void 0&&(n.set(`startTime`,t.startTime),n.set(`endTime`,t.endTime)),t.attributes&&Object.keys(t.attributes).length>0&&(La(`analytics.runs.list`,t.attributes),n.set(`attributes`,JSON.stringify(t.attributes))),za(`analytics.runs.list`,n,t.pagination,100),W({endpoint:`/v2/analytics/runs${Ba(n)}`,config:e,schema:ue(l)})}},attributes:{list(t={}){let n=new URLSearchParams;return Ha(`analytics.attributes.list`,n,t),W({endpoint:`/v2/analytics/attributes${Ba(n)}`,config:e,schema:ue(m)})}},steps:{get(t,n){return ja(`analytics.steps.get`,t),Pa(`analytics.steps.get`,n),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t)}/steps/${encodeURIComponent(n)}`,config:e,schema:d})},list(t){ja(`analytics.steps.list`,t.runId);let n=new URLSearchParams;return za(`analytics.steps.list`,n,t.pagination,se),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t.runId)}/steps${Ba(n)}`,config:e,schema:ue(d)})}},events:{get(t,n){return ja(`analytics.events.get`,t),Na(`analytics.events.get`,n),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t)}/events/${encodeURIComponent(n)}`,config:e,schema:h})},getMany(t,n){return ja(`analytics.events.getMany`,t),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t)}/events/get-many`,options:{method:`POST`},data:{eventIds:Va(`analytics.events.getMany`,n)},config:e,schema:h.array()})},list(t){ja(`analytics.events.list`,t.runId);let n=new URLSearchParams;return t.eventType&&n.set(`eventType`,t.eventType),t.correlationId!==void 0&&(Ma(`analytics.events.list`,t.correlationId),n.set(`correlationId`,t.correlationId)),za(`analytics.events.list`,n,t.pagination,se),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t.runId)}/events${Ba(n)}`,config:e,schema:ue(h)})},listByCorrelationId(t){ja(`analytics.events.listByCorrelationId`,t.runId),Ma(`analytics.events.listByCorrelationId`,t.correlationId);let n=new URLSearchParams;return n.set(`correlationId`,t.correlationId),za(`analytics.events.listByCorrelationId`,n,t.pagination,se),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t.runId)}/events${Ba(n)}`,config:e,schema:ue(h)})}},hooks:{get(t,n){Fa(`analytics.hooks.get`,t);let r=new URLSearchParams;return n?.runId!==void 0&&(ja(`analytics.hooks.get`,n.runId),r.set(`runId`,n.runId)),W({endpoint:`/v2/analytics/hooks/${encodeURIComponent(t)}${Ba(r)}`,config:e,schema:_})},list(t){ja(`analytics.hooks.list`,t.runId);let n=new URLSearchParams;return n.set(`runId`,t.runId),za(`analytics.hooks.list`,n,t.pagination,100),W({endpoint:`/v2/analytics/hooks${Ba(n)}`,config:e,schema:ue(_)})}},waits:{get(t,n){return ja(`analytics.waits.get`,t),Ia(`analytics.waits.get`,n),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t)}/waits/${encodeURIComponent(n)}`,config:e,schema:p})},list(t){ja(`analytics.waits.list`,t.runId);let n=new URLSearchParams;return t.status&&n.set(`status`,t.status),za(`analytics.waits.list`,n,t.pagination,se),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t.runId)}/waits${Ba(n)}`,config:e,schema:ue(p)})}}}}const Wa=c(`@workflow/world-vercel//runIdFactory`,1,()=>({ulid:_e(),lastRunId:void 0}));function Ga(e){let t=ze(e),n=5,r=1;for(;n>=0&&r>0;){let e=t[n]+r;t[n]=e&255,r=e>>8,n--}if(r>0)throw Error(`ULID space exhausted`);return Le(t)}function Ka(e){return typeof e!=`string`||e===``||e===`unknown`?null:Object.hasOwn(Fe,e)?e:null}function qa(e){return Ka(e?.region)??Ka(process.env.VERCEL_REGION)??`iad1`}function Ja(e){let t=qa(e),n=Fe[t],r=Ie(Wa.ulid(),n);if(Wa.lastRunId!==void 0)for(;r<=Wa.lastRunId;)r=Ie(Ga(Wa.lastRunId),n);return Wa.lastRunId=r,r}function Ya(e){let t=e.startsWith(`wrun_`)?e.slice(5):e;try{let e=Be(t);return e.tagged&&e.region?e.region:Re}catch{return null}}function Xa(e){let t=e.runId;return typeof t!=`string`||t.length===0?null:{region:Ya(t)}}const Za=D.object({ref:D.string().min(1),byteSize:D.number().int().nonnegative().optional()});async function Qa(e,t,n){let{baseUrl:r,headers:i}=await U(n),a=`${r}/v4/runs/${encodeURIComponent(e)}/dynamic-code?workflowName=${encodeURIComponent(t.workflowName)}`,o=new Headers(i);o.set(`Content-Type`,`application/octet-stream`),o.set(`Accept`,`application/json`),o.set(`Content-Length`,String(t.code.byteLength));let s=await da({method:`POST`,url:a,headers:o,body:t.code,dispatcher:br(n),logLabel:`uploadDynamicWorkflowCode`});return Za.parse(await s.json()).ref}var $a=class extends Error{status;constructor(e,t){super(e),this.name=`RunKeyFetchError`,this.status=t}};async function eo(e,t,n){if(e.length!==32)throw Error(`Invalid deployment key length: expected 32 bytes for AES-256, got ${e.length} bytes`);if(!t||typeof t!=`string`)throw Error(`projectId must be a non-empty string`);let r=await Ye.subtle.importKey(`raw`,e,`HKDF`,!1,[`deriveBits`]),i=new TextEncoder().encode(`${t}|${n}`),a=await Ye.subtle.deriveBits({name:`HKDF`,hash:`SHA-256`,salt:new Uint8Array(32),info:i},r,256);return new Uint8Array(a)}async function to(e,t,n,r){let i=await ia({token:r?.token});if(!i)throw Error(`Cannot fetch run key: no OIDC token or VERCEL_TOKEN available`);let a=new URLSearchParams({projectId:t,runId:n});r?.teamId&&a.set(`teamId`,r.teamId);let o=await(await da({method:`GET`,url:`https://api.vercel.com/v1/workflow/run-key/${e}?${a}`,headers:new Headers({Authorization:`Bearer ${i}`}),dispatcher:vr({dispatcher:r?.dispatcher}),peerService:`vercel-api`,timeoutMs:null,buildError:async t=>{let r;try{r=await t.text()}catch{r=`<unable to read response body>`}return new $a(`Failed to fetch run key for ${n} (deployment ${e}): HTTP ${t.status} ${t.statusText}${r?` — ${r}`:``}`,t.status)}})).json(),s=Ke.compile(Ke.object({key:Ke.string().nullable()})).safeParse(o);if(!s.success)throw Error(`Invalid response from Vercel API: expected { key: string | null }. Zod error: ${s.error.message}`);if(s.data.key!==null)return Buffer.from(s.data.key,`base64`)}function no(e,t,n,r){if(!e)return;let i=process.env.VERCEL===`1`,a;function o(){if(a)return a;let e=process.env.VERCEL_DEPLOYMENT_KEY;if(e)return a=Buffer.from(e,`base64`),a}return async function(a,s){let c=typeof a==`string`?a:a.runId,l=typeof a==`string`?s?.deploymentId:a.deploymentId;if(i&&(!l||l===process.env.VERCEL_DEPLOYMENT_ID)){let t=o();return t?eo(t,e,c):void 0}if(l)return to(l,e,c,{token:n,teamId:t,dispatcher:r})}}const ro=2048;function io(e){let t;try{t=JSON.stringify(e)}catch(e){throw new we(`Dynamic workflow execution context must be JSON serializable.`,{cause:e})}let n=new TextEncoder().encode(t).byteLength;if(n>2048)throw new we(`Dynamic workflow execution context is ${n} bytes, exceeding the ${ro}-byte limit, so no run was created. Each step binding counts its alias and its step ID, which comes from the step's file path and function name and is usually the longer of the two; the \`exportName\` counts too. Bind fewer steps through \`experimental_dynamic.steps\`, or shorten the aliases, the step files' paths or names, or the \`exportName\`.`)}const ao={peerService:`workflow-server`,rpcSystem:`http`,rpcService:`workflow-server`},oo={"world.runs.get":0,"world.runs.experimentalSetAttributes":0,"world.steps.get":0,"world.events.create":0,"world.events.get":0},so=new Set([`world.steps.list`,`world.events.list`,`world.hooks.list`]);function co(e){if(e.length>=2&&typeof e[1]==`object`&&e[1]!==null){let t=e[1];if(typeof t.eventType==`string`)return t.eventType}}function lo(e,t){return typeof e[t]==`string`?e[t]:void 0}function uo(e){if(typeof e!=`object`||!e)return;let t=e.runId;return typeof t==`string`?t:void 0}function fo(e){if(typeof e!=`object`||!e)return;let t=e;if(typeof t.runId==`string`)return t.runId;for(let e of[`run`,`step`,`hook`,`wait`]){let n=t[e];if(typeof n==`object`&&n){let e=n.runId;if(typeof e==`string`)return e}}}function po(e,t,n){let r=`${e}.${t}`,i={},a=oo[r],o=a===void 0?so.has(r)?uo(n[0]):void 0:lo(n,a);if(o&&Object.assign(i,yi(o)),r===`world.steps.get`){let e=lo(n,1);e&&Object.assign(i,bi(e))}return i}function mo(e,t){let n={};for(let r of Object.keys(t))if(typeof t[r]!=`function`)n[r]=t[r];else{let i=t[r],a=String(r);n[r]=async(...t)=>{let n=`${e}.${a}`;if(e===`world.events`&&a===`create`){let r=co(t);r&&(n=`${e}.${a} ${r}`)}let r;if(e===`world.events`&&a===`createBatch`){let e=t[1];if(Array.isArray(e)){let t=new Map;for(let n of e){let e=n?.event?.eventType;typeof e==`string`&&t.set(e,(t.get(e)??0)+1)}r={"workflow.batch.size":e.length,"workflow.batch.shape":[...t].sort(([e],[t])=>e<t?-1:+(e>t)).map(([e,t])=>`${e}:${t}`).join(`,`)}}}return ri(n,{kind:await ii(`CLIENT`)},async o=>{o?.setAttributes({...hi(ao.peerService),...gi(ao.rpcSystem),..._i(ao.rpcService),...vi(n),...po(e,a,t),...r});let s=await i(...t),c=fo(s);return c&&o?.setAttributes(yi(c)),s})}}return n}var K=class extends Error{constructor(e){super(e),this.name=`MultipartParseError`}};function ho(e){let t=new TextEncoder().encode(e);return(e,n=0)=>Buffer.prototype.indexOf.call(e,t,n)}function go(e){let t=new TextEncoder().encode(e),n={};for(let e=0;e<t.length;++e){let r=t[e];n[r]===void 0&&(n[r]=[]),n[r].push(e)}return function(e){let r=e.length-1;if(e[r]in n){let i=n[e[r]];for(let n=i.length-1;n>=0;--n)for(let a=i[n],o=r;a>=0&&e[o]===t[a];--a,--o)if(a===0)return o}return-1}}function _o(e){let t=new TextDecoder(`iso-8859-1`).decode(e).trim().split(/\r?\n/),n=[];for(let e of t){let t=e.indexOf(`:`);if(t>0){let r=e.slice(0,t).trim(),i=e.slice(t+1).trim();n.push([r,i])}}return new Headers(n)}function vo(e){let t=e.match(/boundary=(?:"([^"]+)"|([^;]+))/i);if(!t)throw new K(`No boundary found in Content-Type header`);return t[1]??t[2]}var yo=class{queue=[];waiters=[];finished=!1;cancelled=!1;error=null;enqueue(e){this.finished||this.cancelled||(this.waiters.length>0?this.waiters.shift().resolve(e):this.queue.push(e))}finish(e){if(!this.finished)for(this.finished=!0,this.error=e||null;this.waiters.length>0;){let t=this.waiters.shift();e?t.reject(e):t.resolve(null)}}cancel(){if(!(this.cancelled||this.finished))for(this.cancelled=!0;this.waiters.length>0;)this.waiters.shift().resolve(null)}async dequeue(){if(this.queue.length>0)return this.queue.shift();if(this.finished||this.cancelled){if(this.error)throw this.error;return null}return new Promise((e,t)=>{this.waiters.push({resolve:e,reject:t})})}get isTerminal(){return this.finished||this.cancelled}};async function*bo(e,t){if(!e.body)throw new K(`Response body is null`);let n=e.headers.get(`content-type`);if(!n)throw new K(`Missing Content-Type header`);yield*new xo(vo(n),t).parseStream(e.body)}var xo=class{boundary;findOpeningBoundary;openingBoundaryLength;findBoundary;findPartialTailBoundary;boundaryLength;findDoubleNewline;maxHeaderSize;maxBoundaryBuffer;state=0;buffer=null;currentHeaders=new Headers;currentPayloadController=null;constructor(e,t={}){this.boundary=e,this.findOpeningBoundary=ho(`--${e}`),this.openingBoundaryLength=2+e.length,this.findBoundary=ho(`\r
|
|
4
|
+
--${e}`),this.findPartialTailBoundary=go(`\r
|
|
5
|
+
--${e}`),this.boundaryLength=4+e.length,this.findDoubleNewline=ho(`\r
|
|
6
6
|
\r
|
|
7
|
-
`),this.maxHeaderSize=t.maxHeaderSize??65536,this.maxBoundaryBuffer=t.maxBoundaryBuffer??8192}async*parseStream(e){let t=e.getReader(),n=new
|
|
7
|
+
`),this.maxHeaderSize=t.maxHeaderSize??65536,this.maxBoundaryBuffer=t.maxBoundaryBuffer??8192}async*parseStream(e){let t=e.getReader(),n=new yo,r=this.startProducer(t,n);try{yield*this.consumeMessages(n)}finally{n.cancel(),this.closeCurrentPayload();try{await t.cancel()}catch{}await r}}async startProducer(e,t){try{for(;!t.isTerminal;){let n;try{n=await e.read()}catch(e){if(e instanceof Error&&(e.name===`AbortError`||e.constructor.name===`AbortError`||e.name===`TimeoutError`||e.constructor.name===`TimeoutError`))break;throw e}let{done:r,value:i}=n;if(r){if(this.buffer!==null&&this.buffer.length>0){let e=this.write(new Uint8Array);for(let n of e){if(t.isTerminal)break;t.enqueue(n)}}if(this.state!==4)throw this.state===0?new K(`Invalid multipart stream: missing initial boundary`):new K(`Unexpected end of stream`);break}if(!(i instanceof Uint8Array))throw new K(`Invalid chunk type: expected Uint8Array, got ${typeof i}`);let a=this.write(i);for(let e of a){if(t.isTerminal)break;t.enqueue(e)}}t.isTerminal||t.finish()}catch(e){this.closeCurrentPayload(e),t.isTerminal||t.finish(e)}finally{try{e.releaseLock()}catch{}}}async*consumeMessages(e){for(;;){let t=await e.dequeue();if(t===null)break;yield t}}write(e){let t=[];if(this.state===4)throw new K(`Unexpected data after end of stream`);let n=0,r=e.length;if(this.buffer!==null){let t=this.buffer.length,n=t+r;if(this.state===2){if(n>this.maxHeaderSize)throw new K(`Buffer size limit exceeded: ${n} bytes > ${this.maxHeaderSize} bytes. This may indicate malformed multipart data with oversized headers.`)}else if(t>this.maxBoundaryBuffer)throw new K(`Boundary buffer limit exceeded: ${t} bytes > ${this.maxBoundaryBuffer} bytes. This may indicate malformed multipart data with invalid boundaries.`);let i=new Uint8Array(n);i.set(this.buffer,0),i.set(e,t),e=i,r=e.length,this.buffer=null}if(r===0&&this.state===0)throw new K(`Invalid multipart stream: missing initial boundary`);for(;;){if(this.state===3){if(r-n<this.boundaryLength){let t=e.subarray(n);if(t.length>this.maxBoundaryBuffer)throw new K(`Boundary buffer limit exceeded: ${t.length} > ${this.maxBoundaryBuffer}`);this.buffer=t;break}let t=this.findBoundary(e,n);if(t===-1){let t=this.findPartialTailBoundary(e);if(t===-1)this.writeBody(n===0?e:e.subarray(n));else{this.writeBody(e.subarray(n,t));let r=e.subarray(t);if(r.length>this.maxBoundaryBuffer)throw new K(`Partial boundary too large: ${r.length} > ${this.maxBoundaryBuffer}`);this.buffer=r}break}this.writeBody(e.subarray(n,t)),this.finishMessage(),n=t+this.boundaryLength,this.state=1}if(this.state===1){if(r-n<2){let t=e.subarray(n);if(t.length>this.maxBoundaryBuffer)throw new K(`After-boundary buffer limit exceeded: ${t.length} > ${this.maxBoundaryBuffer}`);this.buffer=t;break}if(e[n]===45&&e[n+1]===45){this.state=4;break}if(e[n]===13&&e[n+1]===10)n+=2;else if(e[n]===10)n+=1;else throw new K(`Invalid character after boundary: expected CRLF or LF, got 0x${e[n].toString(16)}`);this.state=2}if(this.state===2){if(r-n<4){let t=e.subarray(n);if(t.length>this.maxHeaderSize)throw new K(`Header buffer limit exceeded: ${t.length} > ${this.maxHeaderSize}`);this.buffer=t;break}let i=this.findDoubleNewline(e,n),a=4;if(i===-1&&(i=ho(`
|
|
8
8
|
|
|
9
|
-
`)(e,n),a=2),i===-1){let t=e.subarray(n);if(t.length>this.maxHeaderSize)throw new K(`Headers too large: ${t.length} > ${this.maxHeaderSize} bytes`);this.buffer=t;break}let o=e.subarray(n,i);this.currentHeaders=Ga(o);let s=this.createStreamingMessage();t.push(s),n=i+a,this.state=3;continue}if(this.state===0){if(r<this.openingBoundaryLength){if(e.length>this.maxBoundaryBuffer)throw new K(`Initial chunk too large for boundary detection: ${e.length} > ${this.maxBoundaryBuffer}`);this.buffer=e;break}if(this.findOpeningBoundary(e)!==0)throw new K(`Invalid multipart stream: missing initial boundary`);n=this.openingBoundaryLength,this.state=1}}return t}createStreamingMessage(){let e=new Headers(this.currentHeaders),t=new ReadableStream({start:e=>{this.currentPayloadController=e}});return this.currentHeaders=new Headers,{headers:e,payload:t}}writeBody(e){this.currentPayloadController&&this.currentPayloadController.enqueue(e)}finishMessage(){this.currentPayloadController&&=(this.currentPayloadController.close(),null)}closeCurrentPayload(e){if(this.currentPayloadController){try{e?this.currentPayloadController.error(e):this.currentPayloadController.close()}catch{}this.currentPayloadController=null}}};const Xa=(e,t,n)=>{let r=e instanceof RegExp?Za(e,n):e,i=t instanceof RegExp?Za(t,n):t,a=r!==null&&i!=null&&Qa(r,i,n);return a&&{start:a[0],end:a[1],pre:n.slice(0,a[0]),body:n.slice(a[0]+r.length,a[1]),post:n.slice(a[1]+i.length)}},Za=(e,t)=>{let n=t.match(e);return n?n[0]:null},Qa=(e,t,n)=>{let r,i,a,o,s,c=n.indexOf(e),l=n.indexOf(t,c+1),u=c;if(c>=0&&l>0){if(e===t)return[c,l];for(r=[],a=n.length;u>=0&&!s;){if(u===c)r.push(u),c=n.indexOf(e,u+1);else if(r.length===1){let e=r.pop();e!==void 0&&(s=[e,l])}else i=r.pop(),i!==void 0&&i<a&&(a=i,o=l),l=n.indexOf(t,u+1);u=c<l&&c>=0?c:l}r.length&&o!==void 0&&(s=[a,o])}return s},$a=`\0SLASH`+Math.random()+`\0`,eo=`\0OPEN`+Math.random()+`\0`,to=`\0CLOSE`+Math.random()+`\0`,no=`\0COMMA`+Math.random()+`\0`,ro=`\0PERIOD`+Math.random()+`\0`,io=new RegExp($a,`g`),ao=new RegExp(eo,`g`),oo=new RegExp(to,`g`),so=new RegExp(no,`g`),co=new RegExp(ro,`g`),lo=/\\\\/g,uo=/\\{/g,fo=/\\}/g,po=/\\,/g,mo=/\\\./g;function ho(e){return isNaN(e)?e.charCodeAt(0):parseInt(e,10)}function go(e){return e.replace(lo,$a).replace(uo,eo).replace(fo,to).replace(po,no).replace(mo,ro)}function _o(e){return e.replace(io,`\\`).replace(ao,`{`).replace(oo,`}`).replace(so,`,`).replace(co,`.`)}function vo(e,t){for(let n=0;n<t.length;n++)e.push(t[n])}function yo(e){let t=[],n=``;for(;;){let r=Xa(`{`,`}`,e);if(!r){let r=e.split(`,`);return r[0]=n+r[0],vo(t,r),t}let{pre:i,body:a,post:o}=r,s=i.split(`,`);if(s[0]=n+s[0],s[s.length-1]+=`{`+a+`}`,!o.length)return vo(t,s),t;n=s.pop(),vo(t,s),e=o}}function bo(e,t={}){if(!e)return[];let{max:n=1e5,maxLength:r=4e6,maxDepth:i=1e3,maxRewrites:a=1e3}=t;return e.slice(0,2)===`{}`&&(e=`\\{\\}`+e.slice(2)),Do(go(e),n,r,i,0,a,!0).map(_o)}function xo(e){return`{`+e+`}`}function So(e){return/^-?0\d/.test(e)}function Co(e,t){return e<=t}function wo(e,t){return e>=t}function To(e,t,n,r,i,a){let o=[],s=0;for(let c=0;c<e.length;c++)for(let l=0;l<n.length;l++){if(o.length>=r)return o;let u=e[c]+t+n[l];if(!a||u){if(s+u.length>i)return o;o.push(u),s+=u.length}}return o}function Eo(e,t,n,r){let i=e.split(/\.\./),a=[];if(i[0]===void 0||i[1]===void 0)return a;let o=ho(i[0]),s=ho(i[1]),c=Math.max(i[0].length,i[1].length),l=i.length===3&&i[2]!==void 0?Math.max(Math.abs(ho(i[2])),1):1,u=Co;s<o&&(l*=-1,u=wo);let d=i.some(So),f=0;for(let e=o;u(e,s)&&a.length<n;e+=l){let n;if(t)n=String.fromCharCode(e),n===`\\`&&(n=``);else if(n=String(e),d){let t=c-n.length;if(t>0){let r=Array(t+1).join(`0`);n=e<0?`-`+r+n.slice(1):r+n}}if(f+n.length>r)break;a.push(n),f+=n.length}return a}function Do(e,t,n,r,i,a,o){if(i>r)return[e];let s=[``],c=0,l=!1,u=!0;for(;;){let d=Xa(`{`,`}`,e);if(!d)return To(s,e,[``],t,n,l);let f=d.pre;if(/\$$/.test(f)){if(s=To(s,f+`{`+d.body+`}`,[``],t,n,l&&!d.post.length),u=!1,!d.post.length)break;e=d.post;continue}let p=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(d.body),m=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(d.body),h=p||m,g=d.body.indexOf(`,`)>=0;if(!h&&!g){if(c<a&&d.post.match(/,(?!,).*\}/)){c++,e=d.pre+`{`+d.body+to+d.post,o=!0;continue}return To(s,f+`{`+d.body+`}`+d.post,[``],t,n,l)}u&&=(l=o&&!h,!1);let _;if(h)_=Eo(d.body,m,t,n);else{let o=yo(d.body);if(o.length===1&&o[0]!==void 0&&(o=Do(o[0],t,n,r,i+1,a,!1).map(xo),o.length===1)){if(s=To(s,f+o[0],[``],t,n,l&&!d.post.length),!d.post.length)break;e=d.post;continue}let c=l&&!d.post.length&&!f;for(let e=0;c&&e<s.length;e++)s[e]&&(c=!1);_=[];let u=0;outer:for(let e=0;e<o.length;e++){let s=Do(o[e],t,n,r,i+1,a,!1);for(let e=0;e<s.length;e++){let r=s[e];if(!c||r){if(_.length>=t||u+r.length>n)break outer;_.push(r),u+=r.length}}}}if(s=To(s,f,_,t,n,l&&!d.post.length),!d.post.length)break;e=d.post}return s}const Oo=e=>{if(typeof e!=`string`)throw TypeError(`invalid pattern`);if(e.length>65536)throw TypeError(`pattern is too long`)},ko={"[:alnum:]":[`\\p{L}\\p{Nl}\\p{Nd}`,!0],"[:alpha:]":[`\\p{L}\\p{Nl}`,!0],"[:ascii:]":[`\\x00-\\x7f`,!1],"[:blank:]":[`\\p{Zs}\\t`,!0],"[:cntrl:]":[`\\p{Cc}`,!0],"[:digit:]":[`\\p{Nd}`,!0],"[:graph:]":[`\\p{Z}\\p{C}`,!0,!0],"[:lower:]":[`\\p{Ll}`,!0],"[:print:]":[`\\p{C}`,!0],"[:punct:]":[`\\p{P}`,!0],"[:space:]":[`\\p{Z}\\t\\r\\n\\v\\f`,!0],"[:upper:]":[`\\p{Lu}`,!0],"[:word:]":[`\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}`,!0],"[:xdigit:]":[`A-Fa-f0-9`,!1]},Ao=e=>e.replace(/[[\]\\-]/g,`\\$&`),jo=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,`\\$&`),Mo=e=>e.join(``),No=(e,t)=>{let n=t;if(e.charAt(n)!==`[`)throw Error(`not in a brace expression`);let r=[],i=[],a=n+1,o=!1,s=!1,c=!1,l=!1,u=n,d=``;WHILE:for(;a<e.length;){let t=e.charAt(a);if((t===`!`||t===`^`)&&a===n+1){l=!0,a++;continue}if(t===`]`&&o&&!c){u=a+1;break}if(o=!0,t===`\\`&&!c){c=!0,a++;continue}if(t===`[`&&!c){for(let[t,[o,c,l]]of Object.entries(ko))if(e.startsWith(t,a)){if(d)return[`$.`,!1,e.length-n,!0];a+=t.length,l?i.push(o):r.push(o),s||=c;continue WHILE}}if(c=!1,d){t>d?r.push(Ao(d)+`-`+Ao(t)):t===d&&r.push(Ao(t)),d=``,a++;continue}if(e.startsWith(`-]`,a+1)){r.push(Ao(t+`-`)),a+=2;continue}if(e.startsWith(`-`,a+1)){d=t,a+=2;continue}r.push(Ao(t)),a++}if(u<a)return[``,!1,0,!1];if(!r.length&&!i.length)return[`$.`,!1,e.length-n,!0];if(i.length===0&&r.length===1&&/^\\?.$/.test(r[0])&&!l){let e=r[0].length===2?r[0].slice(-1):r[0];return[jo(e),!1,u-n,!1]}let f=`[`+(l?`^`:``)+Mo(r)+`]`,p=`[`+(l?``:`^`)+Mo(i)+`]`;return[r.length&&i.length?`(`+f+`|`+p+`)`:r.length?f:p,s,u-n,!0]},Po=(e,{windowsPathsNoEscape:t=!1,magicalBraces:n=!0}={})=>n?t?e.replace(/\[([^/\\])\]/g,`$1`):e.replace(/((?!\\).|^)\[([^/\\])\]/g,`$1$2`).replace(/\\([^/])/g,`$1`):t?e.replace(/\[([^/\\{}])\]/g,`$1`):e.replace(/((?!\\).|^)\[([^/\\{}])\]/g,`$1$2`).replace(/\\([^/{}])/g,`$1`);var Fo;const Io=new Set([`!`,`?`,`+`,`*`,`@`]),Lo=e=>Io.has(e),Ro=e=>Lo(e.type),zo=new Map([[`!`,[`@`]],[`?`,[`?`,`@`]],[`@`,[`@`]],[`*`,[`*`,`+`,`?`,`@`]],[`+`,[`+`,`@`]]]),Bo=new Map([[`!`,[`?`]],[`@`,[`?`]],[`+`,[`?`,`*`]]]),Vo=new Map([[`!`,[`?`,`@`]],[`?`,[`?`,`@`]],[`@`,[`?`,`@`]],[`*`,[`*`,`+`,`?`,`@`]],[`+`,[`+`,`@`,`?`,`*`]]]),Ho=new Map([[`!`,new Map([[`!`,`@`]])],[`?`,new Map([[`*`,`*`],[`+`,`*`]])],[`@`,new Map([[`!`,`!`],[`?`,`?`],[`@`,`@`],[`*`,`*`],[`+`,`+`]])],[`+`,new Map([[`?`,`*`],[`*`,`*`]])]]),Uo=`(?!\\.)`,Wo=new Set([`[`,`.`]),Go=new Set([`..`,`.`]),Ko=new Set(`().*{}+?[]^$\\!`),qo=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,`\\$&`),Jo=`[^/]+?`;let Yo=0;var Xo=class{type;#e;#t;#n=!1;#r=[];#i;#a;#o;#s=!1;#c;#l;#u=!1;id=++Yo;get depth(){return(this.#i?.depth??-1)+1}[Symbol.for(`nodejs.util.inspect.custom`)](){return{"@@type":`AST`,id:this.id,type:this.type,root:this.#e.id,parent:this.#i?.id,depth:this.depth,partsLength:this.#r.length,parts:this.#r}}constructor(e,t,n={}){this.type=e,e&&(this.#t=!0),this.#i=t,this.#e=this.#i?this.#i.#e:this,this.#c=this.#e===this?n:this.#e.#c,this.#o=this.#e===this?[]:this.#e.#o,e===`!`&&!this.#e.#s&&this.#o.push(this),this.#a=this.#i?this.#i.#r.length:0}get hasMagic(){if(this.#t!==void 0)return this.#t;for(let e of this.#r)if(typeof e!=`string`&&(e.type||e.hasMagic))return this.#t=!0;return this.#t}toString(){return this.#l===void 0?this.#l=this.type?this.type+`(`+this.#r.map(e=>String(e)).join(`|`)+`)`:this.#r.map(e=>String(e)).join(``):this.#l}#d(){if(this!==this.#e)throw Error(`should only call on root`);if(this.#s)return this;this.toString(),this.#s=!0;let e;for(;e=this.#o.pop();){if(e.type!==`!`)continue;let t=e,n=t.#i;for(;n;){for(let r=t.#a+1;!n.type&&r<n.#r.length;r++)for(let t of e.#r){if(typeof t==`string`)throw Error(`string part in extglob AST??`);t.copyIn(n.#r[r])}t=n,n=t.#i}}return this}push(...e){for(let t of e)if(t!==``){if(typeof t!=`string`&&!(t instanceof Fo&&t.#i===this))throw Error(`invalid part: `+t);this.#r.push(t)}}toJSON(){let e=this.type===null?this.#r.slice().map(e=>typeof e==`string`?e:e.toJSON()):[this.type,...this.#r.map(e=>e.toJSON())];return this.isStart()&&!this.type&&e.unshift([]),this.isEnd()&&(this===this.#e||this.#e.#s&&this.#i?.type===`!`)&&e.push({}),e}isStart(){if(this.#e===this)return!0;if(!this.#i?.isStart())return!1;if(this.#a===0)return!0;let e=this.#i;for(let t=0;t<this.#a;t++){let n=e.#r[t];if(!(n instanceof Fo&&n.type===`!`))return!1}return!0}isEnd(){if(this.#e===this||this.#i?.type===`!`)return!0;if(!this.#i?.isEnd())return!1;if(!this.type)return this.#i?.isEnd();let e=this.#i?this.#i.#r.length:0;return this.#a===e-1}copyIn(e){typeof e==`string`?this.push(e):this.push(e.clone(this))}clone(e){let t=new Fo(this.type,e);for(let e of this.#r)t.copyIn(e);return t}static#f(e,t,n,r,i){let a=r.maxExtglobRecursion??2,o=!1,s=!1,c=-1,l=!1;if(t.type===null){let u=n,d=``;for(;u<e.length;){let n=e.charAt(u++);if(o||n===`\\`){o=!o,d+=n;continue}if(s){u===c+1?(n===`^`||n===`!`)&&(l=!0):n===`]`&&!(u===c+2&&l)&&(s=!1),d+=n;continue}if(n===`[`){s=!0,c=u,l=!1,d+=n;continue}if(!r.noext&&Lo(n)&&e.charAt(u)===`(`&&i<=a){t.push(d),d=``;let a=new Fo(n,t);u=Fo.#f(e,a,u,r,i+1),t.push(a);continue}d+=n}return t.push(d),u}let u=n+1,d=new Fo(null,t),f=[],p=``;for(;u<e.length;){let n=e.charAt(u++);if(o||n===`\\`){o=!o,p+=n;continue}if(s){u===c+1?(n===`^`||n===`!`)&&(l=!0):n===`]`&&!(u===c+2&&l)&&(s=!1),p+=n;continue}if(n===`[`){s=!0,c=u,l=!1,p+=n;continue}if(!r.noext&&Lo(n)&&e.charAt(u)===`(`&&(i<=a||t&&t.#h(n))){let a=t&&t.#h(n)?0:1;d.push(p),p=``;let o=new Fo(n,d);d.push(o),u=Fo.#f(e,o,u,r,i+a);continue}if(n===`|`){d.push(p),p=``,f.push(d),d=new Fo(null,t);continue}if(n===`)`)return p===``&&t.#r.length===0&&(t.#u=!0),d.push(p),p=``,t.push(...f,d),u;p+=n}return t.type=null,t.#t=void 0,t.#r=[e.substring(n-1)],u}#p(e){return this.#m(e,Bo)}#m(e,t=zo){if(!e||typeof e!=`object`||e.type!==null||e.#r.length!==1||this.type===null)return!1;let n=e.#r[0];return!n||typeof n!=`object`||n.type===null?!1:this.#h(n.type,t)}#h(e,t=Vo){return!!t.get(this.type)?.includes(e)}#g(e,t){let n=e.#r[0],r=new Fo(null,n,this.options);r.#r.push(``),n.push(r),this.#_(e,t)}#_(e,t){let n=e.#r[0];this.#r.splice(t,1,...n.#r);for(let e of n.#r)typeof e==`object`&&(e.#i=this);this.#l=void 0}#v(e){return!!Ho.get(this.type)?.has(e)}#y(e){if(!e||typeof e!=`object`||e.type!==null||e.#r.length!==1||this.type===null||this.#r.length!==1)return!1;let t=e.#r[0];return!t||typeof t!=`object`||t.type===null?!1:this.#v(t.type)}#b(e){let t=Ho.get(this.type),n=e.#r[0],r=t?.get(n.type);if(!r)return!1;this.#r=n.#r;for(let e of this.#r)typeof e==`object`&&(e.#i=this);this.type=r,this.#l=void 0,this.#u=!1}static fromGlob(e,t={}){let n=new Fo(null,void 0,t);return Fo.#f(e,n,0,t,0),n}toMMPattern(){if(this!==this.#e)return this.#e.toMMPattern();let e=this.toString(),[t,n,r,i]=this.toRegExpSource();if(!(r||this.#t||this.#c.nocase&&!this.#c.nocaseMagicOnly&&e.toUpperCase()!==e.toLowerCase()))return n;let a=(this.#c.nocase?`i`:``)+(i?`u`:``);return Object.assign(RegExp(`^${t}$`,a),{_src:t,_glob:e})}get options(){return this.#c}toRegExpSource(e){let t=e??!!this.#c.dot;if(this.#e===this&&(this.#x(),this.#d()),!Ro(this)){let n=this.isStart()&&this.isEnd()&&!this.#r.some(e=>typeof e!=`string`),r=this.#r.map(t=>{let[r,i,a,o]=typeof t==`string`?Fo.#C(t,this.#t,n):t.toRegExpSource(e);return this.#t=this.#t||a,this.#n=this.#n||o,r}).join(``),i=``;if(this.isStart()&&typeof this.#r[0]==`string`&&!(this.#r.length===1&&Go.has(this.#r[0]))){let n=Wo,a=t&&n.has(r.charAt(0))||r.startsWith(`\\.`)&&n.has(r.charAt(2))||r.startsWith(`\\.\\.`)&&n.has(r.charAt(4)),o=!t&&!e&&n.has(r.charAt(0));i=a?`(?!(?:^|/)\\.\\.?(?:$|/))`:o?Uo:``}let a=``;return this.isEnd()&&this.#e.#s&&this.#i?.type===`!`&&(a=`(?:$|\\/)`),[i+r+a,Po(r),this.#t=!!this.#t,this.#n]}let n=this.type===`*`||this.type===`+`,r=this.type===`!`?`(?:(?!(?:`:`(?:`,i=this.#S(t);if(this.isStart()&&this.isEnd()&&!i&&this.type!==`!`){let e=this.toString(),t=this;return t.#r=[e],t.type=null,t.#t=void 0,[e,Po(this.toString()),!1,!1]}let a=!n||e||t?``:this.#S(!0);a===i&&(a=``),a&&(i=`(?:${i})(?:${a})*?`);let o=``;if(this.type===`!`&&this.#u)o=(this.isStart()&&!t?Uo:``)+Jo;else{let n=this.type===`!`?`))`+(this.isStart()&&!t&&!e?Uo:``)+`[^/]*?)`:this.type===`@`?`)`:this.type===`?`?`)?`:this.type===`+`&&a?`)`:this.type===`*`&&a?`)?`:`)${this.type}`;o=r+i+n}return[o,Po(i),this.#t=!!this.#t,this.#n]}#x(){if(Ro(this)){let e=0,t=!1;do{t=!0;for(let e=0;e<this.#r.length;e++){let n=this.#r[e];typeof n==`object`&&(n.#x(),this.#m(n)?(t=!1,this.#_(n,e)):this.#p(n)?(t=!1,this.#g(n,e)):this.#y(n)&&(t=!1,this.#b(n)))}}while(!t&&++e<10)}else for(let e of this.#r)typeof e==`object`&&e.#x();this.#l=void 0}#S(e){return this.#r.map(t=>{if(typeof t==`string`)throw Error(`string type in extglob ast??`);let[n,r,i,a]=t.toRegExpSource(e);return this.#n=this.#n||a,n}).filter(e=>!(this.isStart()&&this.isEnd())||!!e).join(`|`)}static#C(e,t,n=!1){let r=!1,i=``,a=!1,o=!1;for(let s=0;s<e.length;s++){let c=e.charAt(s);if(r){r=!1,i+=(Ko.has(c)?`\\`:``)+c;continue}if(c===`*`){if(o)continue;o=!0,i+=n&&/^[*]+$/.test(e)?Jo:`[^/]*?`,t=!0;continue}if(o=!1,c===`\\`){s===e.length-1?i+=`\\\\`:r=!0;continue}if(c===`[`){let[n,r,o,c]=No(e,s);if(o){i+=n,a||=r,s+=o-1,t||=c;continue}}if(c===`?`){i+=`[^/]`,t=!0;continue}i+=qo(c)}return[i,Po(e),!!t,a]}};Fo=Xo;const Zo=(e,{windowsPathsNoEscape:t=!1,magicalBraces:n=!1}={})=>n?t?e.replace(/[?*()[\]{}]/g,`[$&]`):e.replace(/[?*()[\]\\{}]/g,`\\$&`):t?e.replace(/[?*()[\]]/g,`[$&]`):e.replace(/[?*()[\]\\]/g,`\\$&`),q=(e,t,n={})=>(Oo(t),!n.nocomment&&t.charAt(0)===`#`?!1:new ws(t,n).match(e)),Qo=/^\*+([^+@!?*[(]*)$/,$o=e=>t=>!t.startsWith(`.`)&&t.endsWith(e),es=e=>t=>t.endsWith(e),ts=e=>(e=e.toLowerCase(),t=>!t.startsWith(`.`)&&t.toLowerCase().endsWith(e)),ns=e=>(e=e.toLowerCase(),t=>t.toLowerCase().endsWith(e)),rs=/^\*+\.\*+$/,is=e=>!e.startsWith(`.`)&&e.includes(`.`),as=e=>e!==`.`&&e!==`..`&&e.includes(`.`),os=/^\.\*+$/,ss=e=>e!==`.`&&e!==`..`&&e.startsWith(`.`),cs=/^\*+$/,ls=e=>e.length!==0&&!e.startsWith(`.`),us=e=>e.length!==0&&e!==`.`&&e!==`..`,ds=/^\?+([^+@!?*[(]*)?$/,fs=([e,t=``])=>{let n=gs([e]);return t?(t=t.toLowerCase(),e=>n(e)&&e.toLowerCase().endsWith(t)):n},ps=([e,t=``])=>{let n=_s([e]);return t?(t=t.toLowerCase(),e=>n(e)&&e.toLowerCase().endsWith(t)):n},ms=([e,t=``])=>{let n=_s([e]);return t?e=>n(e)&&e.endsWith(t):n},hs=([e,t=``])=>{let n=gs([e]);return t?e=>n(e)&&e.endsWith(t):n},gs=([e])=>{let t=e.length;return e=>e.length===t&&!e.startsWith(`.`)},_s=([e])=>{let t=e.length;return e=>e.length===t&&e!==`.`&&e!==`..`},vs=typeof process==`object`&&process?typeof process.env==`object`&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:`posix`,ys={win32:{sep:`\\`},posix:{sep:`/`}};q.sep=vs===`win32`?ys.win32.sep:ys.posix.sep;const J=Symbol(`globstar **`);q.GLOBSTAR=J,q.filter=(e,t={})=>n=>q(n,e,t);const bs=(e,t={})=>Object.assign({},e,t);q.defaults=e=>{if(!e||typeof e!=`object`||!Object.keys(e).length)return q;let t=q;return Object.assign((n,r,i={})=>t(n,r,bs(e,i)),{Minimatch:class extends t.Minimatch{constructor(t,n={}){super(t,bs(e,n))}static defaults(n){return t.defaults(bs(e,n)).Minimatch}},AST:class extends t.AST{constructor(t,n,r={}){super(t,n,bs(e,r))}static fromGlob(n,r={}){return t.AST.fromGlob(n,bs(e,r))}},unescape:(n,r={})=>t.unescape(n,bs(e,r)),escape:(n,r={})=>t.escape(n,bs(e,r)),filter:(n,r={})=>t.filter(n,bs(e,r)),defaults:n=>t.defaults(bs(e,n)),makeRe:(n,r={})=>t.makeRe(n,bs(e,r)),braceExpand:(n,r={})=>t.braceExpand(n,bs(e,r)),match:(n,r,i={})=>t.match(n,r,bs(e,i)),sep:t.sep,GLOBSTAR:J})};const xs=(e,t={})=>(Oo(e),t.nobrace||!/\{(?:(?!\{).)*\}/.test(e)?[e]:bo(e,{max:t.braceExpandMax}));q.braceExpand=xs,q.makeRe=(e,t={})=>new ws(e,t).makeRe(),q.match=(e,t,n={})=>{let r=new ws(t,n);return e=e.filter(e=>r.match(e)),r.options.nonull&&!e.length&&e.push(t),e};const Ss=/[?*]|[+@!]\(.*?\)|\[|\]/,Cs=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,`\\$&`);var ws=class{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;maxGlobstarRecursion;regexp;constructor(e,t={}){Oo(e),t||={},this.options=t,this.maxGlobstarRecursion=t.maxGlobstarRecursion??200,this.pattern=e,this.platform=t.platform||vs,this.isWindows=this.platform===`win32`,this.windowsPathsNoEscape=!!t.windowsPathsNoEscape||t.allowWindowsEscape===!1,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,`/`)),this.preserveMultipleSlashes=!!t.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!t.nonegate,this.comment=!1,this.empty=!1,this.partial=!!t.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=t.windowsNoMagicRoot===void 0?!!(this.isWindows&&this.nocase):t.windowsNoMagicRoot,this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(let e of this.set)for(let t of e)if(typeof t!=`string`)return!0;return!1}debug(...e){}make(){let e=this.pattern,t=this.options;if(!t.nocomment&&e.charAt(0)===`#`){this.comment=!0;return}if(!e){this.empty=!0;return}this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],t.debug&&(this.debug=(...e)=>console.error(...e)),this.debug(this.pattern,this.globSet);let n=this.globSet.map(e=>this.slashSplit(e));this.globParts=this.preprocess(n),this.debug(this.pattern,this.globParts);let r=this.globParts.map((e,t,n)=>{if(this.isWindows&&this.windowsNoMagicRoot){let t=e[0]===``&&e[1]===``&&(e[2]===`?`||!Ss.test(e[2]))&&!Ss.test(e[3]),n=/^[a-z]:/i.test(e[0]);if(t)return[...e.slice(0,4),...e.slice(4).map(e=>this.parse(e))];if(n)return[e[0],...e.slice(1).map(e=>this.parse(e))]}return e.map(e=>this.parse(e))});if(this.debug(this.pattern,r),this.set=r.filter(e=>e.indexOf(!1)===-1),this.isWindows)for(let e=0;e<this.set.length;e++){let t=this.set[e];t[0]===``&&t[1]===``&&this.globParts[e][2]===`?`&&typeof t[3]==`string`&&/^[a-z]:$/i.test(t[3])&&(t[2]=`?`)}this.debug(this.pattern,this.set)}preprocess(e){if(this.options.noglobstar)for(let t of e)for(let e=0;e<t.length;e++)t[e]===`**`&&(t[e]=`*`);let{optimizationLevel:t=1}=this.options;return t>=2?(e=this.firstPhasePreProcess(e),e=this.secondPhasePreProcess(e)):e=t>=1?this.levelOneOptimize(e):this.adjascentGlobstarOptimize(e),e}adjascentGlobstarOptimize(e){return e.map(e=>{let t=-1;for(;(t=e.indexOf(`**`,t+1))!==-1;){let n=t;for(;e[n+1]===`**`;)n++;n!==t&&e.splice(t,n-t)}return e})}levelOneOptimize(e){return e.map(e=>(e=e.reduce((e,t)=>{let n=e[e.length-1];return t===`**`&&n===`**`?e:t===`..`&&n&&n!==`..`&&n!==`.`&&n!==`**`?(e.pop(),e):(e.push(t),e)},[]),e.length===0?[``]:e))}levelTwoFileOptimize(e){Array.isArray(e)||(e=this.slashSplit(e));let t=!1;do{if(t=!1,!this.preserveMultipleSlashes){for(let n=1;n<e.length-1;n++){let r=e[n];(n!==1||r!==``||e[0]!==``)&&(r===`.`||r===``)&&(t=!0,e.splice(n,1),n--)}e[0]===`.`&&e.length===2&&(e[1]===`.`||e[1]===``)&&(t=!0,e.pop())}let n=0;for(;(n=e.indexOf(`..`,n+1))!==-1;){let r=e[n-1];r&&r!==`.`&&r!==`..`&&r!==`**`&&!(this.isWindows&&/^[a-z]:$/i.test(r))&&(t=!0,e.splice(n-1,2),n-=2)}}while(t);return e.length===0?[``]:e}firstPhasePreProcess(e){let t=!1;do{t=!1;for(let n of e){let r=-1;for(;(r=n.indexOf(`**`,r+1))!==-1;){let i=r;for(;n[i+1]===`**`;)i++;i>r&&n.splice(r+1,i-r);let a=n[r+1],o=n[r+2],s=n[r+3];if(a!==`..`||!o||o===`.`||o===`..`||!s||s===`.`||s===`..`)continue;t=!0,n.splice(r,1);let c=n.slice(0);c[r]=`**`,e.push(c),r--}if(!this.preserveMultipleSlashes){for(let e=1;e<n.length-1;e++){let r=n[e];(e!==1||r!==``||n[0]!==``)&&(r===`.`||r===``)&&(t=!0,n.splice(e,1),e--)}n[0]===`.`&&n.length===2&&(n[1]===`.`||n[1]===``)&&(t=!0,n.pop())}let i=0;for(;(i=n.indexOf(`..`,i+1))!==-1;){let e=n[i-1];if(e&&e!==`.`&&e!==`..`&&e!==`**`){t=!0;let e=i===1&&n[i+1]===`**`?[`.`]:[];n.splice(i-1,2,...e),n.length===0&&n.push(``),i-=2}}}}while(t);return e}secondPhasePreProcess(e){for(let t=0;t<e.length-1;t++)for(let n=t+1;n<e.length;n++){let r=this.partsMatch(e[t],e[n],!this.preserveMultipleSlashes);if(r){e[t]=[],e[n]=r;break}}return e.filter(e=>e.length)}partsMatch(e,t,n=!1){let r=0,i=0,a=[],o=``;for(;r<e.length&&i<t.length;)if(e[r]===t[i])a.push(o===`b`?t[i]:e[r]),r++,i++;else if(n&&e[r]===`**`&&t[i]===e[r+1])a.push(e[r]),r++;else if(n&&t[i]===`**`&&e[r]===t[i+1])a.push(t[i]),i++;else if(e[r]===`*`&&t[i]&&(this.options.dot||!t[i].startsWith(`.`))&&t[i]!==`**`){if(o===`b`)return!1;o=`a`,a.push(e[r]),r++,i++}else if(t[i]===`*`&&e[r]&&(this.options.dot||!e[r].startsWith(`.`))&&e[r]!==`**`){if(o===`a`)return!1;o=`b`,a.push(t[i]),r++,i++}else return!1;return e.length===t.length&&a}parseNegate(){if(this.nonegate)return;let e=this.pattern,t=!1,n=0;for(let r=0;r<e.length&&e.charAt(r)===`!`;r++)t=!t,n++;n&&(this.pattern=e.slice(n)),this.negate=t}matchOne(e,t,n=!1){let r=0,i=0;if(this.isWindows){let n=typeof e[0]==`string`&&/^[a-z]:$/i.test(e[0]),a=!n&&e[0]===``&&e[1]===``&&e[2]===`?`&&/^[a-z]:$/i.test(e[3]),o=typeof t[0]==`string`&&/^[a-z]:$/i.test(t[0]),s=!o&&t[0]===``&&t[1]===``&&t[2]===`?`&&typeof t[3]==`string`&&/^[a-z]:$/i.test(t[3]),c=a?3:n?0:void 0,l=s?3:o?0:void 0;if(typeof c==`number`&&typeof l==`number`){let[n,a]=[e[c],t[l]];n.toLowerCase()===a.toLowerCase()&&(t[l]=n,i=l,r=c)}}let{optimizationLevel:a=1}=this.options;return a>=2&&(e=this.levelTwoFileOptimize(e)),t.includes(J)?this.#e(e,t,n,r,i):this.#n(e,t,n,r,i)}#e(e,t,n,r,i){let a=t.indexOf(J,i),o=t.lastIndexOf(J),[s,c,l]=n?[t.slice(i,a),t.slice(a+1),[]]:[t.slice(i,a),t.slice(a+1,o),t.slice(o+1)];if(s.length){let t=e.slice(r,r+s.length);if(!this.#n(t,s,n,0,0))return!1;r+=s.length,i+=s.length}let u=0;if(l.length){if(l.length+r>e.length)return!1;let t=e.length-l.length;if(this.#n(e,l,n,t,0))u=l.length;else{if(e[e.length-1]!==``||r+l.length===e.length||(t--,!this.#n(e,l,n,t,0)))return!1;u=l.length+1}}if(!c.length){let t=!!u;for(let n=r;n<e.length-u;n++){let r=String(e[n]);if(t=!0,r===`.`||r===`..`||!this.options.dot&&r.startsWith(`.`))return!1}return n||t}let d=[[[],0]],f=d[0],p=0,m=[0];for(let e of c)e===J?(m.push(p),f=[[],0],d.push(f)):(f[0].push(e),p++);let h=d.length-1,g=e.length-u;for(let e of d)e[1]=g-(m[h--]+e[0].length);return!!this.#t(e,d,r,0,n,0,!!u)}#t(e,t,n,r,i,a,o){let s=t[r];if(!s){for(let t=n;t<e.length;t++){o=!0;let n=e[t];if(n===`.`||n===`..`||!this.options.dot&&n.startsWith(`.`))return!1}return o}let[c,l]=s;for(;n<=l;){if(this.#n(e.slice(0,n+c.length),c,i,n,0)&&a<this.maxGlobstarRecursion){let s=this.#t(e,t,n+c.length,r+1,i,a+1,o);if(s!==!1)return s}let s=e[n];if(s===`.`||s===`..`||!this.options.dot&&s.startsWith(`.`))return!1;n++}return i||null}#n(e,t,n,r,i){let a,o,s,c;for(a=r,o=i,c=e.length,s=t.length;a<c&&o<s;a++,o++){this.debug(`matchOne loop`);let n=t[o],r=e[a];if(this.debug(t,n,r),n===!1||n===J)return!1;let i;if(typeof n==`string`?(i=r===n,this.debug(`string match`,n,r,i)):(i=n.test(r),this.debug(`pattern match`,n,r,i)),!i)return!1}if(a===c&&o===s)return!0;if(a===c)return n;if(o===s)return a===c-1&&e[a]===``;throw Error(`wtf?`)}braceExpand(){return xs(this.pattern,this.options)}parse(e){Oo(e);let t=this.options;if(e===`**`)return J;if(e===``)return``;let n,r=null;(n=e.match(cs))?r=t.dot?us:ls:(n=e.match(Qo))?r=(t.nocase?t.dot?ns:ts:t.dot?es:$o)(n[1]):(n=e.match(ds))?r=(t.nocase?t.dot?ps:fs:t.dot?ms:hs)(n):(n=e.match(rs))?r=t.dot?as:is:(n=e.match(os))&&(r=ss);let i=Xo.fromGlob(e,this.options).toMMPattern();return r&&typeof i==`object`&&Reflect.defineProperty(i,"test",{value:r}),i}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;let e=this.set;if(!e.length)return this.regexp=!1,this.regexp;let t=this.options,n=t.noglobstar?`[^/]*?`:t.dot?`(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?`:`(?:(?!(?:\\/|^)\\.).)*?`,r=new Set(t.nocase?[`i`]:[]),i=e.map(e=>{let t=e.map(e=>{if(e instanceof RegExp)for(let t of e.flags.split(``))r.add(t);return typeof e==`string`?Cs(e):e===J?J:e._src});t.forEach((e,r)=>{let i=t[r+1],a=t[r-1];e===J&&a!==J&&(a===void 0?i!==void 0&&i!==J?t[r+1]=`(?:\\/|`+n+`\\/)?`+i:t[r]=n:i===void 0?t[r-1]=a+`(?:\\/|\\/`+n+`)?`:i!==J&&(t[r-1]=a+`(?:\\/|\\/`+n+`\\/)`+i,t[r+1]=J))});let i=t.filter(e=>e!==J);if(this.partial&&i.length>=1){let e=[];for(let t=1;t<=i.length;t++)e.push(i.slice(0,t).join(`/`));return`(?:`+e.join(`|`)+`)`}return i.join(`/`)}).join(`|`),[a,o]=e.length>1?[`(?:`,`)`]:[``,``];i=`^`+a+i+o+`$`,this.partial&&(i=`^(?:\\/|`+a+i.slice(1,-1)+o+`)$`),this.negate&&(i=`^(?!`+i+`).+$`);try{this.regexp=new RegExp(i,[...r].join(``))}catch{this.regexp=!1}return this.regexp}slashSplit(e){return this.preserveMultipleSlashes?e.split(`/`):this.isWindows&&/^\/\/[^/]+/.test(e)?[``,...e.split(/\/+/)]:e.split(/\/+/)}match(e,t=this.partial){if(this.debug(`match`,e,this.pattern),this.comment)return!1;if(this.empty)return e===``;if(e===`/`&&t)return!0;let n=this.options;this.isWindows&&(e=e.split(`\\`).join(`/`));let r=this.slashSplit(e);this.debug(this.pattern,`split`,r);let i=this.set;this.debug(this.pattern,`set`,i);let a=r[r.length-1];if(!a)for(let e=r.length-2;!a&&e>=0;e--)a=r[e];for(let e of i){let i=r;if(n.matchBase&&e.length===1&&(i=[a]),this.matchOne(i,e,t))return n.flipNegate?!0:!this.negate}return!n.flipNegate&&this.negate}static defaults(e){return q.defaults(e).Minimatch}};q.AST=Xo,q.Minimatch=ws,q.escape=Zo,q.unescape=Po;var Ts=r(((e,t)=>{let n=process||{},r=n.argv||[],i=n.env||{},a=!(i.NO_COLOR||r.includes(`--no-color`))&&(!!i.FORCE_COLOR||r.includes(`--color`)||n.platform===`win32`||(n.stdout||{}).isTTY&&i.TERM!==`dumb`||!!i.CI),o=(e,t,n=e)=>r=>{let i=``+r,a=i.indexOf(t,e.length);return~a?e+s(i,t,n,a)+t:e+i+t},s=(e,t,n,r)=>{let i=``,a=0;do i+=e.substring(a,r)+n,a=r+t.length,r=e.indexOf(t,a);while(~r);return i+e.substring(a)},c=(e=a)=>{let t=e?o:()=>String;return{isColorSupported:e,reset:t(`\x1B[0m`,`\x1B[0m`),bold:t(`\x1B[1m`,`\x1B[22m`,`\x1B[22m\x1B[1m`),dim:t(`\x1B[2m`,`\x1B[22m`,`\x1B[22m\x1B[2m`),italic:t(`\x1B[3m`,`\x1B[23m`),underline:t(`\x1B[4m`,`\x1B[24m`),inverse:t(`\x1B[7m`,`\x1B[27m`),hidden:t(`\x1B[8m`,`\x1B[28m`),strikethrough:t(`\x1B[9m`,`\x1B[29m`),black:t(`\x1B[30m`,`\x1B[39m`),red:t(`\x1B[31m`,`\x1B[39m`),green:t(`\x1B[32m`,`\x1B[39m`),yellow:t(`\x1B[33m`,`\x1B[39m`),blue:t(`\x1B[34m`,`\x1B[39m`),magenta:t(`\x1B[35m`,`\x1B[39m`),cyan:t(`\x1B[36m`,`\x1B[39m`),white:t(`\x1B[37m`,`\x1B[39m`),gray:t(`\x1B[90m`,`\x1B[39m`),bgBlack:t(`\x1B[40m`,`\x1B[49m`),bgRed:t(`\x1B[41m`,`\x1B[49m`),bgGreen:t(`\x1B[42m`,`\x1B[49m`),bgYellow:t(`\x1B[43m`,`\x1B[49m`),bgBlue:t(`\x1B[44m`,`\x1B[49m`),bgMagenta:t(`\x1B[45m`,`\x1B[49m`),bgCyan:t(`\x1B[46m`,`\x1B[49m`),bgWhite:t(`\x1B[47m`,`\x1B[49m`),blackBright:t(`\x1B[90m`,`\x1B[39m`),redBright:t(`\x1B[91m`,`\x1B[39m`),greenBright:t(`\x1B[92m`,`\x1B[39m`),yellowBright:t(`\x1B[93m`,`\x1B[39m`),blueBright:t(`\x1B[94m`,`\x1B[39m`),magentaBright:t(`\x1B[95m`,`\x1B[39m`),cyanBright:t(`\x1B[96m`,`\x1B[39m`),whiteBright:t(`\x1B[97m`,`\x1B[39m`),bgBlackBright:t(`\x1B[100m`,`\x1B[49m`),bgRedBright:t(`\x1B[101m`,`\x1B[49m`),bgGreenBright:t(`\x1B[102m`,`\x1B[49m`),bgYellowBright:t(`\x1B[103m`,`\x1B[49m`),bgBlueBright:t(`\x1B[104m`,`\x1B[49m`),bgMagentaBright:t(`\x1B[105m`,`\x1B[49m`),bgCyanBright:t(`\x1B[106m`,`\x1B[49m`),bgWhiteBright:t(`\x1B[107m`,`\x1B[49m`)}};t.exports=c(),t.exports.createColors=c})),Es=r(((e,t)=>{var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},s=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!a.call(e,c)&&c!==o&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},c=e=>s(n({},`__esModule`,{value:!0}),e),l={};o(l,{version:()=>u}),t.exports=c(l);let u=`3.8.0`;0&&(t.exports={version:u})})),Ds=r(((e,t)=>{var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},s=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!a.call(e,c)&&c!==o&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},c=e=>s(n({},`__esModule`,{value:!0}),e),l={};o(l,{exchangeVercelOidcToken:()=>p}),t.exports=c(l);var u=Es();let d=new class{constructor(e){this.maxEntries=e,this.entries=new Map}get(e){let t=this.entries.get(e);if(t!==void 0){if(t.expiresAt<=Date.now()){this.entries.delete(e);return}return this.entries.delete(e),this.entries.set(e,t),t.token}}set({key:e,token:t,expiresAt:n}){for(this.entries.delete(e),this.entries.set(e,{token:t,expiresAt:n});this.entries.size>this.maxEntries;){let e=this.entries.keys().next().value;if(e===void 0)break;this.entries.delete(e)}}}(1e3);async function f(e){let t=JSON.stringify([e.token,e.audience,e.jti]),n=await crypto.subtle.digest(`SHA-256`,new TextEncoder().encode(t));return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}async function p(e){let t=await f(e);if(!e.skipCache){let e=d.get(t);if(e!==void 0)return e}let n=await fetch(`https://oidc.vercel.com/~token`,{method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`,"User-Agent":`@vercel/oidc@${u.version}`},body:JSON.stringify({token:e.token,aud:e.audience,...e.jti?{jti:e.jti}:void 0})});if(!n.ok)throw Error(`Failed to exchange token: ${await m(n)}`);let r;try{r=await n.json()}catch{throw Error(`Failed to exchange token: response was not valid JSON`)}if(!r||typeof r!=`object`||!(`token`in r)||typeof r.token!=`string`)throw Error(`Failed to exchange token: response did not contain a token`);let{token:i}=r,a=`expiry`in r&&typeof r.expiry==`number`?r.expiry:void 0;if(a!==void 0){let e=a*1e3;e>Date.now()&&d.set({key:t,token:i,expiresAt:e})}return i}async function m(e){try{let t=await e.json();if(t&&typeof t==`object`&&`error`in t&&typeof t.error==`string`)return t.error}catch{}return e.statusText||`HTTP ${e.status}`}0&&(t.exports={exchangeVercelOidcToken:p})})),Os=r(((e,t)=>{var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},s=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!a.call(e,c)&&c!==o&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},c=e=>s(n({},`__esModule`,{value:!0}),e),l={};o(l,{SYMBOL_FOR_REQ_CONTEXT:()=>u,getContext:()=>d}),t.exports=c(l);let u=Symbol.for(`@vercel/request-context`);function d(){return globalThis[u]?.get?.()??{}}0&&(t.exports={SYMBOL_FOR_REQ_CONTEXT:u,getContext:d})})),ks=r(((e,t)=>{var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},s=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!a.call(e,c)&&c!==o&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},c=e=>s(n({},`__esModule`,{value:!0}),e),l={};o(l,{getVercelOidcTokenSync:()=>d}),t.exports=c(l);var u=Os();function d(){let e=(0,u.getContext)().headers?.[`x-vercel-oidc-token`]??process.env.VERCEL_OIDC_TOKEN;if(!e)throw Error(`The 'x-vercel-oidc-token' header is missing from the request.`);return e}0&&(t.exports={getVercelOidcTokenSync:d})})),As=r(((e,t)=>{var r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s=(e,t)=>{for(var n in t)r(e,n,{get:t[n],enumerable:!0})},c=(e,t,n,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of a(t))!o.call(e,c)&&c!==n&&r(e,c,{get:()=>t[c],enumerable:!(s=i(t,c))||s.enumerable});return e},l=e=>c(r({},`__esModule`,{value:!0}),e),u={};s(u,{getVercelOidcToken:()=>m}),t.exports=l(u);var d=Ds(),f=ks(),p=ze();async function m(e){let t=``,r;try{t=(0,f.getVercelOidcTokenSync)()}catch(e){r=e}try{let[{getTokenPayload:r,isExpired:i},{refreshToken:a}]=await Promise.all([await import(`../../_chunks/workflow/token-util-Bla5Z0G9.js`).then(e=>n(e.t())),await import(`../../_chunks/workflow/token-D5ugC3PI.js`).then(e=>n(e.default))]);(!t||i(r(t),e?.expirationBufferMs))&&(await a(e),t=(0,f.getVercelOidcTokenSync)())}catch(e){let t=r instanceof Error?r.message:``;throw e instanceof Error&&(t=`${t}
|
|
10
|
-
${e.message}`),t?new p.VercelOidcTokenError(t):e}return e?.audience&&(t=await(0,d.exchangeVercelOidcToken)({token:t,audience:e.audience,jti:e.jti,skipCache:e.skipCache})),t}0&&(t.exports={getVercelOidcToken:m})})),js=r((t=>{Object.defineProperty(t,"__esModule",{value:!0});let n=e(`node:crypto`);t.default=(e,t)=>(0,n.createHash)(e).update(t).digest()})),Y=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.decoder=e.encoder=void 0,e.concat=r,e.p2s=i,e.uint64be=o,e.uint32be=s,e.lengthAndInput=c,e.concatKdf=l;let t=js();e.encoder=new TextEncoder,e.decoder=new TextDecoder;let n=2**32;function r(...e){let t=e.reduce((e,{length:t})=>e+t,0),n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function i(t,n){return r(e.encoder.encode(t),new Uint8Array([0]),n)}function a(e,t,r){if(t<0||t>=n)throw RangeError(`value must be >= 0 and <= ${n-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,t&255],r)}function o(e){let t=Math.floor(e/n),r=e%n,i=new Uint8Array(8);return a(i,t,0),a(i,r,4),i}function s(e){let t=new Uint8Array(4);return a(t,e),t}function c(e){return r(s(e.length),e)}async function l(e,n,r){let i=Math.ceil((n>>3)/32),a=new Uint8Array(i*32);for(let n=0;n<i;n++){let i=new Uint8Array(4+e.length+r.length);i.set(s(n+1)),i.set(e,4),i.set(r,4+e.length),a.set(await(0,t.default)(`sha256`,i),n*32)}return a.slice(0,n>>3)}})),Ms=r((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.decode=t.encode=t.encodeBase64=t.decodeBase64=void 0;let n=e(`node:buffer`),r=Y();function i(e){let t=e;return t instanceof Uint8Array&&(t=r.decoder.decode(t)),t}t.encode=e=>n.Buffer.from(e).toString(`base64url`),t.decodeBase64=e=>new Uint8Array(n.Buffer.from(e,`base64`)),t.encodeBase64=e=>n.Buffer.from(e).toString(`base64`),t.decode=e=>new Uint8Array(n.Buffer.from(i(e),`base64url`))})),X=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.JWSSignatureVerificationFailed=e.JWKSTimeout=e.JWKSMultipleMatchingKeys=e.JWKSNoMatchingKey=e.JWKSInvalid=e.JWKInvalid=e.JWTInvalid=e.JWSInvalid=e.JWEInvalid=e.JWEDecryptionFailed=e.JOSENotSupported=e.JOSEAlgNotAllowed=e.JWTExpired=e.JWTClaimValidationFailed=e.JOSEError=void 0;var t=class extends Error{static code=`ERR_JOSE_GENERIC`;code=`ERR_JOSE_GENERIC`;constructor(e,t){super(e,t),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}};e.JOSEError=t,e.JWTClaimValidationFailed=class extends t{static code=`ERR_JWT_CLAIM_VALIDATION_FAILED`;code=`ERR_JWT_CLAIM_VALIDATION_FAILED`;claim;reason;payload;constructor(e,t,n=`unspecified`,r=`unspecified`){super(e,{cause:{claim:n,reason:r,payload:t}}),this.claim=n,this.reason=r,this.payload=t}},e.JWTExpired=class extends t{static code=`ERR_JWT_EXPIRED`;code=`ERR_JWT_EXPIRED`;claim;reason;payload;constructor(e,t,n=`unspecified`,r=`unspecified`){super(e,{cause:{claim:n,reason:r,payload:t}}),this.claim=n,this.reason=r,this.payload=t}},e.JOSEAlgNotAllowed=class extends t{static code=`ERR_JOSE_ALG_NOT_ALLOWED`;code=`ERR_JOSE_ALG_NOT_ALLOWED`},e.JOSENotSupported=class extends t{static code=`ERR_JOSE_NOT_SUPPORTED`;code=`ERR_JOSE_NOT_SUPPORTED`},e.JWEDecryptionFailed=class extends t{static code=`ERR_JWE_DECRYPTION_FAILED`;code=`ERR_JWE_DECRYPTION_FAILED`;constructor(e=`decryption operation failed`,t){super(e,t)}},e.JWEInvalid=class extends t{static code=`ERR_JWE_INVALID`;code=`ERR_JWE_INVALID`},e.JWSInvalid=class extends t{static code=`ERR_JWS_INVALID`;code=`ERR_JWS_INVALID`},e.JWTInvalid=class extends t{static code=`ERR_JWT_INVALID`;code=`ERR_JWT_INVALID`},e.JWKInvalid=class extends t{static code=`ERR_JWK_INVALID`;code=`ERR_JWK_INVALID`},e.JWKSInvalid=class extends t{static code=`ERR_JWKS_INVALID`;code=`ERR_JWKS_INVALID`},e.JWKSNoMatchingKey=class extends t{static code=`ERR_JWKS_NO_MATCHING_KEY`;code=`ERR_JWKS_NO_MATCHING_KEY`;constructor(e=`no applicable key found in the JSON Web Key Set`,t){super(e,t)}},e.JWKSMultipleMatchingKeys=class extends t{[Symbol.asyncIterator];static code=`ERR_JWKS_MULTIPLE_MATCHING_KEYS`;code=`ERR_JWKS_MULTIPLE_MATCHING_KEYS`;constructor(e=`multiple matching keys found in the JSON Web Key Set`,t){super(e,t)}},e.JWKSTimeout=class extends t{static code=`ERR_JWKS_TIMEOUT`;code=`ERR_JWKS_TIMEOUT`;constructor(e=`request timed out`,t){super(e,t)}},e.JWSSignatureVerificationFailed=class extends t{static code=`ERR_JWS_SIGNATURE_VERIFICATION_FAILED`;code=`ERR_JWS_SIGNATURE_VERIFICATION_FAILED`;constructor(e=`signature verification failed`,t){super(e,t)}}})),Ns=r((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=e(`node:crypto`);Object.defineProperty(t,"default",{enumerable:!0,get:function(){return n.randomFillSync}})})),Ps=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.bitLength=r;let t=X(),n=Ns();function r(e){switch(e){case`A128GCM`:case`A128GCMKW`:case`A192GCM`:case`A192GCMKW`:case`A256GCM`:case`A256GCMKW`:return 96;case`A128CBC-HS256`:case`A192CBC-HS384`:case`A256CBC-HS512`:return 128;default:throw new t.JOSENotSupported(`Unsupported JWE Algorithm: ${e}`)}}e.default=e=>(0,n.default)(new Uint8Array(r(e)>>3))})),Fs=r((e=>{Object.defineProperty(e,"__esModule",{value:!0});let t=X(),n=Ps();e.default=(e,r)=>{if(r.length<<3!==(0,n.bitLength)(e))throw new t.JWEInvalid(`Invalid Initialization Vector length`)}})),Is=r((t=>{Object.defineProperty(t,"__esModule",{value:!0});let n=e(`node:util`);t.default=e=>n.types.isKeyObject(e)})),Ls=r((e=>{Object.defineProperty(e,"__esModule",{value:!0});let t=X(),n=Is();e.default=(e,r)=>{let i;switch(e){case`A128CBC-HS256`:case`A192CBC-HS384`:case`A256CBC-HS512`:i=parseInt(e.slice(-3),10);break;case`A128GCM`:case`A192GCM`:case`A256GCM`:i=parseInt(e.slice(1,4),10);break;default:throw new t.JOSENotSupported(`Content Encryption Algorithm ${e} is not supported either by JOSE or your javascript runtime`)}if(r instanceof Uint8Array){let e=r.byteLength<<3;if(e!==i)throw new t.JWEInvalid(`Invalid Content Encryption Key length. Expected ${i} bits, got ${e} bits`);return}if((0,n.default)(r)&&r.type===`secret`){let e=r.symmetricKeySize<<3;if(e!==i)throw new t.JWEInvalid(`Invalid Content Encryption Key length. Expected ${i} bits, got ${e} bits`);return}throw TypeError(`Invalid Content Encryption Key type`)}})),Rs=r((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=e(`node:crypto`).timingSafeEqual})),zs=r((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=i;let n=e(`node:crypto`),r=Y();function i(e,t,i,a,o,s){let c=(0,r.concat)(e,t,i,(0,r.uint64be)(e.length<<3)),l=(0,n.createHmac)(`sha${a}`,o);return l.update(c),l.digest().slice(0,s>>3)}})),Bs=r((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isCryptoKey=void 0;let n=e(`node:crypto`),r=e(`node:util`);t.default=n.webcrypto,t.isCryptoKey=e=>r.types.isCryptoKey(e)})),Vs=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.checkSigCryptoKey=o,e.checkEncCryptoKey=s;function t(e,t=`algorithm.name`){return TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function n(e,t){return e.name===t}function r(e){return parseInt(e.name.slice(4),10)}function i(e){switch(e){case`ES256`:return`P-256`;case`ES384`:return`P-384`;case`ES512`:return`P-521`;default:throw Error(`unreachable`)}}function a(e,t){if(t.length&&!t.some(t=>e.usages.includes(t))){let e=`CryptoKey does not support this operation, its usages must include `;if(t.length>2){let n=t.pop();e+=`one of ${t.join(`, `)}, or ${n}.`}else t.length===2?e+=`one of ${t[0]} or ${t[1]}.`:e+=`${t[0]}.`;throw TypeError(e)}}function o(e,o,...s){switch(o){case`HS256`:case`HS384`:case`HS512`:{if(!n(e.algorithm,`HMAC`))throw t(`HMAC`);let i=parseInt(o.slice(2),10);if(r(e.algorithm.hash)!==i)throw t(`SHA-${i}`,`algorithm.hash`);break}case`RS256`:case`RS384`:case`RS512`:{if(!n(e.algorithm,`RSASSA-PKCS1-v1_5`))throw t(`RSASSA-PKCS1-v1_5`);let i=parseInt(o.slice(2),10);if(r(e.algorithm.hash)!==i)throw t(`SHA-${i}`,`algorithm.hash`);break}case`PS256`:case`PS384`:case`PS512`:{if(!n(e.algorithm,`RSA-PSS`))throw t(`RSA-PSS`);let i=parseInt(o.slice(2),10);if(r(e.algorithm.hash)!==i)throw t(`SHA-${i}`,`algorithm.hash`);break}case`EdDSA`:if(e.algorithm.name!==`Ed25519`&&e.algorithm.name!==`Ed448`)throw t(`Ed25519 or Ed448`);break;case`Ed25519`:if(!n(e.algorithm,`Ed25519`))throw t(`Ed25519`);break;case`ES256`:case`ES384`:case`ES512`:{if(!n(e.algorithm,`ECDSA`))throw t(`ECDSA`);let r=i(o);if(e.algorithm.namedCurve!==r)throw t(r,`algorithm.namedCurve`);break}default:throw TypeError(`CryptoKey does not support this operation`)}a(e,s)}function s(e,i,...o){switch(i){case`A128GCM`:case`A192GCM`:case`A256GCM`:{if(!n(e.algorithm,`AES-GCM`))throw t(`AES-GCM`);let r=parseInt(i.slice(1,4),10);if(e.algorithm.length!==r)throw t(r,`algorithm.length`);break}case`A128KW`:case`A192KW`:case`A256KW`:{if(!n(e.algorithm,`AES-KW`))throw t(`AES-KW`);let r=parseInt(i.slice(1,4),10);if(e.algorithm.length!==r)throw t(r,`algorithm.length`);break}case`ECDH`:switch(e.algorithm.name){case`ECDH`:case`X25519`:case`X448`:break;default:throw t(`ECDH, X25519, or X448`)}break;case`PBES2-HS256+A128KW`:case`PBES2-HS384+A192KW`:case`PBES2-HS512+A256KW`:if(!n(e.algorithm,`PBKDF2`))throw t(`PBKDF2`);break;case`RSA-OAEP`:case`RSA-OAEP-256`:case`RSA-OAEP-384`:case`RSA-OAEP-512`:{if(!n(e.algorithm,`RSA-OAEP`))throw t(`RSA-OAEP`);let a=parseInt(i.slice(9),10)||1;if(r(e.algorithm.hash)!==a)throw t(`SHA-${a}`,`algorithm.hash`);break}default:throw TypeError(`CryptoKey does not support this operation`)}a(e,o)}})),Hs=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.withAlg=n;function t(e,t,...n){if(n=n.filter(Boolean),n.length>2){let t=n.pop();e+=`one of type ${n.join(`, `)}, or ${t}.`}else n.length===2?e+=`one of type ${n[0]} or ${n[1]}.`:e+=`of type ${n[0]}.`;return t==null?e+=` Received ${t}`:typeof t==`function`&&t.name?e+=` Received function ${t.name}`:typeof t==`object`&&t&&t.constructor?.name&&(e+=` Received an instance of ${t.constructor.name}`),e}e.default=(e,...n)=>t(`Key must be `,e,...n);function n(e,n,...r){return t(`Key for the ${e} algorithm must be `,n,...r)}})),Us=r((t=>{Object.defineProperty(t,"__esModule",{value:!0});let n=e(`node:crypto`),r;t.default=e=>(r||=new Set((0,n.getCiphers)()),r.has(e))})),Ws=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.types=void 0;let t=Bs(),n=Is();e.default=e=>(0,n.default)(e)||(0,t.isCryptoKey)(e);let r=[`KeyObject`];e.types=r,(globalThis.CryptoKey||t.default?.CryptoKey)&&r.push(`CryptoKey`)})),Gs=r((t=>{Object.defineProperty(t,"__esModule",{value:!0});let n=e(`node:crypto`),r=Fs(),i=Ls(),a=Y(),o=X(),s=Rs(),c=zs(),l=Bs(),u=Vs(),d=Is(),f=Hs(),p=Us(),m=Ws();function h(e,t,r,i,l,u){let f=parseInt(e.slice(1,4),10);(0,d.default)(t)&&(t=t.export());let m=t.subarray(f>>3),h=t.subarray(0,f>>3),g=parseInt(e.slice(-3),10),_=`aes-${f}-cbc`;if(!(0,p.default)(_))throw new o.JOSENotSupported(`alg ${e} is not supported by your javascript runtime`);let v=(0,c.default)(u,i,r,g,h,f),y;try{y=(0,s.default)(l,v)}catch{}if(!y)throw new o.JWEDecryptionFailed;let b;try{let e=(0,n.createDecipheriv)(_,m,i);b=(0,a.concat)(e.update(r),e.final())}catch{}if(!b)throw new o.JWEDecryptionFailed;return b}function g(e,t,r,i,a,s){let c=`aes-${parseInt(e.slice(1,4),10)}-gcm`;if(!(0,p.default)(c))throw new o.JOSENotSupported(`alg ${e} is not supported by your javascript runtime`);try{let e=(0,n.createDecipheriv)(c,t,i,{authTagLength:16});e.setAuthTag(a),s.byteLength&&e.setAAD(s,{plaintextLength:r.length});let o=e.update(r);return e.final(),o}catch{throw new o.JWEDecryptionFailed}}t.default=(e,t,a,s,c,p)=>{let _;if((0,l.isCryptoKey)(t))(0,u.checkEncCryptoKey)(t,e,`decrypt`),_=n.KeyObject.from(t);else if(t instanceof Uint8Array||(0,d.default)(t))_=t;else throw TypeError((0,f.default)(t,...m.types,`Uint8Array`));if(!s)throw new o.JWEInvalid(`JWE Initialization Vector missing`);if(!c)throw new o.JWEInvalid(`JWE Authentication Tag missing`);switch((0,i.default)(e,_),(0,r.default)(e,s),e){case`A128CBC-HS256`:case`A192CBC-HS384`:case`A256CBC-HS512`:return h(e,_,a,s,c,p);case`A128GCM`:case`A192GCM`:case`A256GCM`:return g(e,_,a,s,c,p);default:throw new o.JOSENotSupported(`Unsupported JWE Content Encryption Algorithm`)}}})),Ks=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=(...e)=>{let t=e.filter(Boolean);if(t.length===0||t.length===1)return!0;let n;for(let e of t){let t=Object.keys(e);if(!n||n.size===0){n=new Set(t);continue}for(let e of t){if(n.has(e))return!1;n.add(e)}}return!0}})),Z=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=n;function t(e){return typeof e==`object`&&!!e}function n(e){if(!t(e)||Object.prototype.toString.call(e)!==`[object Object]`)return!1;if(Object.getPrototypeOf(e)===null)return!0;let n=e;for(;Object.getPrototypeOf(n)!==null;)n=Object.getPrototypeOf(n);return Object.getPrototypeOf(e)===n}})),qs=r((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.unwrap=t.wrap=void 0;let n=e(`node:buffer`),r=e(`node:crypto`),i=X(),a=Y(),o=Bs(),s=Vs(),c=Is(),l=Hs(),u=Us(),d=Ws();function f(e,t){if(e.symmetricKeySize<<3!==parseInt(t.slice(1,4),10))throw TypeError(`Invalid key size for alg: ${t}`)}function p(e,t,n){if((0,c.default)(e))return e;if(e instanceof Uint8Array)return(0,r.createSecretKey)(e);if((0,o.isCryptoKey)(e))return(0,s.checkEncCryptoKey)(e,t,n),r.KeyObject.from(e);throw TypeError((0,l.default)(e,...d.types,`Uint8Array`))}t.wrap=(e,t,o)=>{let s=`aes${parseInt(e.slice(1,4),10)}-wrap`;if(!(0,u.default)(s))throw new i.JOSENotSupported(`alg ${e} is not supported either by JOSE or your javascript runtime`);let c=p(t,e,`wrapKey`);f(c,e);let l=(0,r.createCipheriv)(s,c,n.Buffer.alloc(8,166));return(0,a.concat)(l.update(o),l.final())},t.unwrap=(e,t,o)=>{let s=`aes${parseInt(e.slice(1,4),10)}-wrap`;if(!(0,u.default)(s))throw new i.JOSENotSupported(`alg ${e} is not supported either by JOSE or your javascript runtime`);let c=p(t,e,`unwrapKey`);f(c,e);let l=(0,r.createDecipheriv)(s,c,n.Buffer.alloc(8,166));return(0,a.concat)(l.update(o),l.final())}})),Js=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.isJWK=n,e.isPrivateJWK=r,e.isPublicJWK=i,e.isSecretJWK=a;let t=Z();function n(e){return(0,t.default)(e)&&typeof e.kty==`string`}function r(e){return e.kty!==`oct`&&typeof e.d==`string`}function i(e){return e.kty!==`oct`&&e.d===void 0}function a(e){return n(e)&&e.kty===`oct`&&typeof e.k==`string`}})),Ys=r((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.weakMap=void 0;let n=e(`node:crypto`),r=X(),i=Bs(),a=Is(),o=Hs(),s=Ws(),c=Js();t.weakMap=new WeakMap;let l=e=>{switch(e){case`prime256v1`:return`P-256`;case`secp384r1`:return`P-384`;case`secp521r1`:return`P-521`;case`secp256k1`:return`secp256k1`;default:throw new r.JOSENotSupported(`Unsupported key curve for this operation`)}};t.default=(e,t)=>{let r;if((0,i.isCryptoKey)(e))r=n.KeyObject.from(e);else if((0,a.default)(e))r=e;else if((0,c.isJWK)(e))return e.crv;else throw TypeError((0,o.default)(e,...s.types));if(r.type===`secret`)throw TypeError(`only "private" or "public" type keys can be used for this operation`);switch(r.asymmetricKeyType){case`ed25519`:case`ed448`:return`Ed${r.asymmetricKeyType.slice(2)}`;case`x25519`:case`x448`:return`X${r.asymmetricKeyType.slice(1)}`;case`ec`:{let e=r.asymmetricKeyDetails.namedCurve;return t?e:l(e)}default:throw TypeError(`Invalid asymmetric key type for this operation`)}}})),Xs=r((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ecdhAllowed=void 0,t.deriveKey=p,t.generateEpk=m;let n=e(`node:crypto`),r=e(`node:util`),i=Ys(),a=Y(),o=X(),s=Bs(),c=Vs(),l=Is(),u=Hs(),d=Ws(),f=(0,r.promisify)(n.generateKeyPair);async function p(e,t,r,i,o=new Uint8Array,f=new Uint8Array){let p;if((0,s.isCryptoKey)(e))(0,c.checkEncCryptoKey)(e,`ECDH`),p=n.KeyObject.from(e);else if((0,l.default)(e))p=e;else throw TypeError((0,u.default)(e,...d.types));let m;if((0,s.isCryptoKey)(t))(0,c.checkEncCryptoKey)(t,`ECDH`,`deriveBits`),m=n.KeyObject.from(t);else if((0,l.default)(t))m=t;else throw TypeError((0,u.default)(t,...d.types));let h=(0,a.concat)((0,a.lengthAndInput)(a.encoder.encode(r)),(0,a.lengthAndInput)(o),(0,a.lengthAndInput)(f),(0,a.uint32be)(i)),g=(0,n.diffieHellman)({privateKey:m,publicKey:p});return(0,a.concatKdf)(g,i,h)}async function m(e){let t;if((0,s.isCryptoKey)(e))t=n.KeyObject.from(e);else if((0,l.default)(e))t=e;else throw TypeError((0,u.default)(e,...d.types));switch(t.asymmetricKeyType){case`x25519`:return f(`x25519`);case`x448`:return f(`x448`);case`ec`:{let e=(0,i.default)(t);return f(`ec`,{namedCurve:e})}default:throw new o.JOSENotSupported(`Invalid or unsupported EPK`)}}t.ecdhAllowed=e=>[`P-256`,`P-384`,`P-521`,`X25519`,`X448`].includes((0,i.default)(e))})),Zs=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=n;let t=X();function n(e){if(!(e instanceof Uint8Array)||e.length<8)throw new t.JWEInvalid(`PBES2 Salt Input must be 8 or more octets`)}})),Qs=r((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.decrypt=t.encrypt=void 0;let n=e(`node:util`),r=e(`node:crypto`),i=Ns(),a=Y(),o=Ms(),s=qs(),c=Zs(),l=Bs(),u=Vs(),d=Is(),f=Hs(),p=Ws(),m=(0,n.promisify)(r.pbkdf2);function h(e,t){if((0,d.default)(e))return e.export();if(e instanceof Uint8Array)return e;if((0,l.isCryptoKey)(e))return(0,u.checkEncCryptoKey)(e,t,`deriveBits`,`deriveKey`),r.KeyObject.from(e).export();throw TypeError((0,f.default)(e,...p.types,`Uint8Array`))}t.encrypt=async(e,t,n,r=2048,l=(0,i.default)(new Uint8Array(16)))=>{(0,c.default)(l);let u=(0,a.p2s)(e,l),d=parseInt(e.slice(13,16),10)>>3,f=h(t,e),p=await m(f,u,r,d,`sha${e.slice(8,11)}`);return{encryptedKey:await(0,s.wrap)(e.slice(-6),p,n),p2c:r,p2s:(0,o.encode)(l)}},t.decrypt=async(e,t,n,r,i)=>{(0,c.default)(i);let o=(0,a.p2s)(e,i),l=parseInt(e.slice(13,16),10)>>3,u=h(t,e),d=await m(u,o,r,l,`sha${e.slice(8,11)}`);return(0,s.unwrap)(e.slice(-6),d,n)}})),$s=r((t=>{Object.defineProperty(t,"__esModule",{value:!0});let n=e(`node:crypto`);t.default=(e,t)=>{let r;try{r=e instanceof n.KeyObject?e.asymmetricKeyDetails?.modulusLength:Buffer.from(e.n,`base64url`).byteLength<<3}catch{}if(typeof r!=`number`||r<2048)throw TypeError(`${t} requires key modulusLength to be 2048 bits or larger`)}})),ec=r((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.decrypt=t.encrypt=void 0;let n=e(`node:crypto`),r=e(`node:util`),i=$s(),a=Bs(),o=Vs(),s=Is(),c=Hs(),l=Ws(),u=(e,t)=>{if(e.asymmetricKeyType!==`rsa`)throw TypeError(`Invalid key for this operation, its asymmetricKeyType must be rsa`);(0,i.default)(e,t)},d=(0,r.deprecate)(()=>n.constants.RSA_PKCS1_PADDING,`The RSA1_5 "alg" (JWE Algorithm) is deprecated and will be removed in the next major revision.`),f=e=>{switch(e){case`RSA-OAEP`:case`RSA-OAEP-256`:case`RSA-OAEP-384`:case`RSA-OAEP-512`:return n.constants.RSA_PKCS1_OAEP_PADDING;case`RSA1_5`:return d();default:return}},p=e=>{switch(e){case`RSA-OAEP`:return`sha1`;case`RSA-OAEP-256`:return`sha256`;case`RSA-OAEP-384`:return`sha384`;case`RSA-OAEP-512`:return`sha512`;default:return}};function m(e,t,...r){if((0,s.default)(e))return e;if((0,a.isCryptoKey)(e))return(0,o.checkEncCryptoKey)(e,t,...r),n.KeyObject.from(e);throw TypeError((0,c.default)(e,...l.types))}t.encrypt=(e,t,r)=>{let i=f(e),a=p(e),o=m(t,e,`wrapKey`,`encrypt`);return u(o,e),(0,n.publicEncrypt)({key:o,oaepHash:a,padding:i},r)},t.decrypt=(e,t,r)=>{let i=f(e),a=p(e),o=m(t,e,`unwrapKey`,`decrypt`);return u(o,e),(0,n.privateDecrypt)({key:o,oaepHash:a,padding:i},r)}})),tc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={}})),nc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.bitLength=r;let t=X(),n=Ns();function r(e){switch(e){case`A128GCM`:return 128;case`A192GCM`:return 192;case`A256GCM`:case`A128CBC-HS256`:return 256;case`A192CBC-HS384`:return 384;case`A256CBC-HS512`:return 512;default:throw new t.JOSENotSupported(`Unsupported JWE Algorithm: ${e}`)}}e.default=e=>(0,n.default)(new Uint8Array(r(e)>>3))})),rc=r((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.fromX509=t.fromSPKI=t.fromPKCS8=t.toPKCS8=t.toSPKI=void 0;let n=e(`node:crypto`),r=e(`node:buffer`),i=Bs(),a=Is(),o=Hs(),s=Ws(),c=(e,t,r)=>{let c;if((0,i.isCryptoKey)(r)){if(!r.extractable)throw TypeError(`CryptoKey is not extractable`);c=n.KeyObject.from(r)}else if((0,a.default)(r))c=r;else throw TypeError((0,o.default)(r,...s.types));if(c.type!==e)throw TypeError(`key is not a ${e} key`);return c.export({format:`pem`,type:t})};t.toSPKI=e=>c(`public`,`spki`,e),t.toPKCS8=e=>c(`private`,`pkcs8`,e),t.fromPKCS8=e=>(0,n.createPrivateKey)({key:r.Buffer.from(e.replace(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,``),`base64`),type:`pkcs8`,format:`der`}),t.fromSPKI=e=>(0,n.createPublicKey)({key:r.Buffer.from(e.replace(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,``),`base64`),type:`spki`,format:`der`}),t.fromX509=e=>(0,n.createPublicKey)({key:e,type:`spki`,format:`pem`})})),ic=r((t=>{Object.defineProperty(t,"__esModule",{value:!0});let n=e(`node:crypto`);t.default=e=>e.d?(0,n.createPrivateKey)({format:`jwk`,key:e}):(0,n.createPublicKey)({format:`jwk`,key:e})})),ac=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.importSPKI=o,e.importX509=s,e.importPKCS8=c,e.importJWK=l;let t=Ms(),n=rc(),r=ic(),i=X(),a=Z();async function o(e,t,r){if(typeof e!=`string`||e.indexOf(`-----BEGIN PUBLIC KEY-----`)!==0)throw TypeError(`"spki" must be SPKI formatted string`);return(0,n.fromSPKI)(e,t,r)}async function s(e,t,r){if(typeof e!=`string`||e.indexOf(`-----BEGIN CERTIFICATE-----`)!==0)throw TypeError(`"x509" must be X.509 formatted string`);return(0,n.fromX509)(e,t,r)}async function c(e,t,r){if(typeof e!=`string`||e.indexOf(`-----BEGIN PRIVATE KEY-----`)!==0)throw TypeError(`"pkcs8" must be PKCS#8 formatted string`);return(0,n.fromPKCS8)(e,t,r)}async function l(e,n){if(!(0,a.default)(e))throw TypeError(`JWK must be an object`);switch(n||=e.alg,e.kty){case`oct`:if(typeof e.k!=`string`||!e.k)throw TypeError(`missing "k" (Key Value) Parameter value`);return(0,t.decode)(e.k);case`RSA`:if(`oth`in e&&e.oth!==void 0)throw new i.JOSENotSupported(`RSA JWK "oth" (Other Primes Info) Parameter value is not supported`);case`EC`:case`OKP`:return(0,r.default)({...e,alg:n});default:throw new i.JOSENotSupported(`Unsupported "kty" (Key Type) Parameter value`)}}})),oc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.checkKeyTypeWithJwk=void 0;let t=Hs(),n=Ws(),r=Js(),i=e=>e?.[Symbol.toStringTag],a=(e,t,n)=>{if(t.use!==void 0&&t.use!==`sig`)throw TypeError(`Invalid key for this operation, when present its use must be sig`);if(t.key_ops!==void 0&&t.key_ops.includes?.(n)!==!0)throw TypeError(`Invalid key for this operation, when present its key_ops must include ${n}`);if(t.alg!==void 0&&t.alg!==e)throw TypeError(`Invalid key for this operation, when present its alg must be ${e}`);return!0},o=(e,o,s,c)=>{if(!(o instanceof Uint8Array)){if(c&&r.isJWK(o)){if(r.isSecretJWK(o)&&a(e,o,s))return;throw TypeError(`JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present`)}if(!(0,n.default)(o))throw TypeError((0,t.withAlg)(e,o,...n.types,`Uint8Array`,c?`JSON Web Key`:null));if(o.type!==`secret`)throw TypeError(`${i(o)} instances for symmetric algorithms must be of type "secret"`)}},s=(e,o,s,c)=>{if(c&&r.isJWK(o))switch(s){case`sign`:if(r.isPrivateJWK(o)&&a(e,o,s))return;throw TypeError(`JSON Web Key for this operation be a private JWK`);case`verify`:if(r.isPublicJWK(o)&&a(e,o,s))return;throw TypeError(`JSON Web Key for this operation be a public JWK`)}if(!(0,n.default)(o))throw TypeError((0,t.withAlg)(e,o,...n.types,c?`JSON Web Key`:null));if(o.type===`secret`)throw TypeError(`${i(o)} instances for asymmetric algorithms must not be of type "secret"`);if(s===`sign`&&o.type===`public`)throw TypeError(`${i(o)} instances for asymmetric algorithm signing must be of type "private"`);if(s===`decrypt`&&o.type===`public`)throw TypeError(`${i(o)} instances for asymmetric algorithm decryption must be of type "private"`);if(o.algorithm&&s===`verify`&&o.type===`private`)throw TypeError(`${i(o)} instances for asymmetric algorithm verifying must be of type "public"`);if(o.algorithm&&s===`encrypt`&&o.type===`private`)throw TypeError(`${i(o)} instances for asymmetric algorithm encryption must be of type "public"`)};function c(e,t,n,r){t.startsWith(`HS`)||t===`dir`||t.startsWith(`PBES2`)||/^A\d{3}(?:GCM)?KW$/.test(t)?o(t,n,r,e):s(t,n,r,e)}e.default=c.bind(void 0,!1),e.checkKeyTypeWithJwk=c.bind(void 0,!0)})),sc=r((t=>{Object.defineProperty(t,"__esModule",{value:!0});let n=e(`node:crypto`),r=Fs(),i=Ls(),a=Y(),o=zs(),s=Bs(),c=Vs(),l=Is(),u=Hs(),d=Ps(),f=X(),p=Us(),m=Ws();function h(e,t,r,i,s){let c=parseInt(e.slice(1,4),10);(0,l.default)(r)&&(r=r.export());let u=r.subarray(c>>3),d=r.subarray(0,c>>3),m=`aes-${c}-cbc`;if(!(0,p.default)(m))throw new f.JOSENotSupported(`alg ${e} is not supported by your javascript runtime`);let h=(0,n.createCipheriv)(m,u,i),g=(0,a.concat)(h.update(t),h.final()),_=parseInt(e.slice(-3),10);return{ciphertext:g,tag:(0,o.default)(s,i,g,_,d,c),iv:i}}function g(e,t,r,i,a){let o=`aes-${parseInt(e.slice(1,4),10)}-gcm`;if(!(0,p.default)(o))throw new f.JOSENotSupported(`alg ${e} is not supported by your javascript runtime`);let s=(0,n.createCipheriv)(o,r,i,{authTagLength:16});a.byteLength&&s.setAAD(a,{plaintextLength:t.length});let c=s.update(t);return s.final(),{ciphertext:c,tag:s.getAuthTag(),iv:i}}t.default=(e,t,a,o,p)=>{let _;if((0,s.isCryptoKey)(a))(0,c.checkEncCryptoKey)(a,e,`encrypt`),_=n.KeyObject.from(a);else if(a instanceof Uint8Array||(0,l.default)(a))_=a;else throw TypeError((0,u.default)(a,...m.types,`Uint8Array`));switch((0,i.default)(e,_),o?(0,r.default)(e,o):o=(0,d.default)(e),e){case`A128CBC-HS256`:case`A192CBC-HS384`:case`A256CBC-HS512`:return h(e,t,_,o,p);case`A128GCM`:case`A192GCM`:case`A256GCM`:return g(e,t,_,o,p);default:throw new f.JOSENotSupported(`Unsupported JWE Content Encryption Algorithm`)}}})),cc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.wrap=i,e.unwrap=a;let t=sc(),n=Gs(),r=Ms();async function i(e,n,i,a){let o=e.slice(0,7),s=await(0,t.default)(o,i,n,a,new Uint8Array);return{encryptedKey:s.ciphertext,iv:(0,r.encode)(s.iv),tag:(0,r.encode)(s.tag)}}async function a(e,t,r,i,a){let o=e.slice(0,7);return(0,n.default)(o,t,r,i,a,new Uint8Array)}})),lc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0});let t=qs(),n=Xs(),r=Qs(),i=ec(),a=Ms(),o=tc(),s=X(),c=nc(),l=ac(),u=oc(),d=Z(),f=cc();async function p(e,p,m,h,g){switch((0,u.default)(e,p,`decrypt`),p=await o.default.normalizePrivateKey?.(p,e)||p,e){case`dir`:if(m!==void 0)throw new s.JWEInvalid(`Encountered unexpected JWE Encrypted Key`);return p;case`ECDH-ES`:if(m!==void 0)throw new s.JWEInvalid(`Encountered unexpected JWE Encrypted Key`);case`ECDH-ES+A128KW`:case`ECDH-ES+A192KW`:case`ECDH-ES+A256KW`:{if(!(0,d.default)(h.epk))throw new s.JWEInvalid(`JOSE Header "epk" (Ephemeral Public Key) missing or invalid`);if(!n.ecdhAllowed(p))throw new s.JOSENotSupported(`ECDH with the provided key is not allowed or not supported by your javascript runtime`);let r=await(0,l.importJWK)(h.epk,e),i,o;if(h.apu!==void 0){if(typeof h.apu!=`string`)throw new s.JWEInvalid(`JOSE Header "apu" (Agreement PartyUInfo) invalid`);try{i=(0,a.decode)(h.apu)}catch{throw new s.JWEInvalid(`Failed to base64url decode the apu`)}}if(h.apv!==void 0){if(typeof h.apv!=`string`)throw new s.JWEInvalid(`JOSE Header "apv" (Agreement PartyVInfo) invalid`);try{o=(0,a.decode)(h.apv)}catch{throw new s.JWEInvalid(`Failed to base64url decode the apv`)}}let u=await n.deriveKey(r,p,e===`ECDH-ES`?h.enc:e,e===`ECDH-ES`?(0,c.bitLength)(h.enc):parseInt(e.slice(-5,-2),10),i,o);if(e===`ECDH-ES`)return u;if(m===void 0)throw new s.JWEInvalid(`JWE Encrypted Key missing`);return(0,t.unwrap)(e.slice(-6),u,m)}case`RSA1_5`:case`RSA-OAEP`:case`RSA-OAEP-256`:case`RSA-OAEP-384`:case`RSA-OAEP-512`:if(m===void 0)throw new s.JWEInvalid(`JWE Encrypted Key missing`);return(0,i.decrypt)(e,p,m);case`PBES2-HS256+A128KW`:case`PBES2-HS384+A192KW`:case`PBES2-HS512+A256KW`:{if(m===void 0)throw new s.JWEInvalid(`JWE Encrypted Key missing`);if(typeof h.p2c!=`number`)throw new s.JWEInvalid(`JOSE Header "p2c" (PBES2 Count) missing or invalid`);let t=g?.maxPBES2Count||1e4;if(h.p2c>t)throw new s.JWEInvalid(`JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds`);if(typeof h.p2s!=`string`)throw new s.JWEInvalid(`JOSE Header "p2s" (PBES2 Salt) missing or invalid`);let n;try{n=(0,a.decode)(h.p2s)}catch{throw new s.JWEInvalid(`Failed to base64url decode the p2s`)}return(0,r.decrypt)(e,p,m,h.p2c,n)}case`A128KW`:case`A192KW`:case`A256KW`:if(m===void 0)throw new s.JWEInvalid(`JWE Encrypted Key missing`);return(0,t.unwrap)(e,p,m);case`A128GCMKW`:case`A192GCMKW`:case`A256GCMKW`:{if(m===void 0)throw new s.JWEInvalid(`JWE Encrypted Key missing`);if(typeof h.iv!=`string`)throw new s.JWEInvalid(`JOSE Header "iv" (Initialization Vector) missing or invalid`);if(typeof h.tag!=`string`)throw new s.JWEInvalid(`JOSE Header "tag" (Authentication Tag) missing or invalid`);let t;try{t=(0,a.decode)(h.iv)}catch{throw new s.JWEInvalid(`Failed to base64url decode the iv`)}let n;try{n=(0,a.decode)(h.tag)}catch{throw new s.JWEInvalid(`Failed to base64url decode the tag`)}return(0,f.unwrap)(e,p,m,t,n)}default:throw new s.JOSENotSupported(`Invalid or unsupported "alg" (JWE Algorithm) header value`)}}e.default=p})),uc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0});let t=X();function n(e,n,r,i,a){if(a.crit!==void 0&&i?.crit===void 0)throw new e(`"crit" (Critical) Header Parameter MUST be integrity protected`);if(!i||i.crit===void 0)return new Set;if(!Array.isArray(i.crit)||i.crit.length===0||i.crit.some(e=>typeof e!=`string`||e.length===0))throw new e(`"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present`);let o;o=r===void 0?n:new Map([...Object.entries(r),...n.entries()]);for(let n of i.crit){if(!o.has(n))throw new t.JOSENotSupported(`Extension Header Parameter "${n}" is not recognized`);if(a[n]===void 0)throw new e(`Extension Header Parameter "${n}" is missing`);if(o.get(n)&&i[n]===void 0)throw new e(`Extension Header Parameter "${n}" MUST be integrity protected`)}return new Set(i.crit)}e.default=n})),dc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=(e,t)=>{if(t!==void 0&&(!Array.isArray(t)||t.some(e=>typeof e!=`string`)))throw TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)}})),fc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.flattenedDecrypt=d;let t=Ms(),n=Gs(),r=X(),i=Ks(),a=Z(),o=lc(),s=Y(),c=nc(),l=uc(),u=dc();async function d(e,d,f){if(!(0,a.default)(e))throw new r.JWEInvalid(`Flattened JWE must be an object`);if(e.protected===void 0&&e.header===void 0&&e.unprotected===void 0)throw new r.JWEInvalid(`JOSE Header missing`);if(e.iv!==void 0&&typeof e.iv!=`string`)throw new r.JWEInvalid(`JWE Initialization Vector incorrect type`);if(typeof e.ciphertext!=`string`)throw new r.JWEInvalid(`JWE Ciphertext missing or incorrect type`);if(e.tag!==void 0&&typeof e.tag!=`string`)throw new r.JWEInvalid(`JWE Authentication Tag incorrect type`);if(e.protected!==void 0&&typeof e.protected!=`string`)throw new r.JWEInvalid(`JWE Protected Header incorrect type`);if(e.encrypted_key!==void 0&&typeof e.encrypted_key!=`string`)throw new r.JWEInvalid(`JWE Encrypted Key incorrect type`);if(e.aad!==void 0&&typeof e.aad!=`string`)throw new r.JWEInvalid(`JWE AAD incorrect type`);if(e.header!==void 0&&!(0,a.default)(e.header))throw new r.JWEInvalid(`JWE Shared Unprotected Header incorrect type`);if(e.unprotected!==void 0&&!(0,a.default)(e.unprotected))throw new r.JWEInvalid(`JWE Per-Recipient Unprotected Header incorrect type`);let p;if(e.protected)try{let n=(0,t.decode)(e.protected);p=JSON.parse(s.decoder.decode(n))}catch{throw new r.JWEInvalid(`JWE Protected Header is invalid`)}if(!(0,i.default)(p,e.header,e.unprotected))throw new r.JWEInvalid(`JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint`);let m={...p,...e.header,...e.unprotected};if((0,l.default)(r.JWEInvalid,new Map,f?.crit,p,m),m.zip!==void 0)throw new r.JOSENotSupported(`JWE "zip" (Compression Algorithm) Header Parameter is not supported.`);let{alg:h,enc:g}=m;if(typeof h!=`string`||!h)throw new r.JWEInvalid(`missing JWE Algorithm (alg) in JWE Header`);if(typeof g!=`string`||!g)throw new r.JWEInvalid(`missing JWE Encryption Algorithm (enc) in JWE Header`);let _=f&&(0,u.default)(`keyManagementAlgorithms`,f.keyManagementAlgorithms),v=f&&(0,u.default)(`contentEncryptionAlgorithms`,f.contentEncryptionAlgorithms);if(_&&!_.has(h)||!_&&h.startsWith(`PBES2`))throw new r.JOSEAlgNotAllowed(`"alg" (Algorithm) Header Parameter value not allowed`);if(v&&!v.has(g))throw new r.JOSEAlgNotAllowed(`"enc" (Encryption Algorithm) Header Parameter value not allowed`);let y;if(e.encrypted_key!==void 0)try{y=(0,t.decode)(e.encrypted_key)}catch{throw new r.JWEInvalid(`Failed to base64url decode the encrypted_key`)}let b=!1;typeof d==`function`&&(d=await d(p,e),b=!0);let x;try{x=await(0,o.default)(h,d,y,m,f)}catch(e){if(e instanceof TypeError||e instanceof r.JWEInvalid||e instanceof r.JOSENotSupported)throw e;x=(0,c.default)(g)}let S,C;if(e.iv!==void 0)try{S=(0,t.decode)(e.iv)}catch{throw new r.JWEInvalid(`Failed to base64url decode the iv`)}if(e.tag!==void 0)try{C=(0,t.decode)(e.tag)}catch{throw new r.JWEInvalid(`Failed to base64url decode the tag`)}let w=s.encoder.encode(e.protected??``),ee;ee=e.aad===void 0?w:(0,s.concat)(w,s.encoder.encode(`.`),s.encoder.encode(e.aad));let T;try{T=(0,t.decode)(e.ciphertext)}catch{throw new r.JWEInvalid(`Failed to base64url decode the ciphertext`)}let te={plaintext:await(0,n.default)(g,x,T,S,C,ee)};if(e.protected!==void 0&&(te.protectedHeader=p),e.aad!==void 0)try{te.additionalAuthenticatedData=(0,t.decode)(e.aad)}catch{throw new r.JWEInvalid(`Failed to base64url decode the aad`)}return e.unprotected!==void 0&&(te.sharedUnprotectedHeader=e.unprotected),e.header!==void 0&&(te.unprotectedHeader=e.header),b?{...te,key:d}:te}})),pc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.compactDecrypt=i;let t=fc(),n=X(),r=Y();async function i(e,i,a){if(e instanceof Uint8Array&&(e=r.decoder.decode(e)),typeof e!=`string`)throw new n.JWEInvalid(`Compact JWE must be a string or Uint8Array`);let{0:o,1:s,2:c,3:l,4:u,length:d}=e.split(`.`);if(d!==5)throw new n.JWEInvalid(`Invalid Compact JWE`);let f=await(0,t.flattenedDecrypt)({ciphertext:l,iv:c||void 0,protected:o,tag:u||void 0,encrypted_key:s||void 0},i,a),p={plaintext:f.plaintext,protectedHeader:f.protectedHeader};return typeof i==`function`?{...p,key:f.key}:p}})),mc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.generalDecrypt=i;let t=fc(),n=X(),r=Z();async function i(e,i,a){if(!(0,r.default)(e))throw new n.JWEInvalid(`General JWE must be an object`);if(!Array.isArray(e.recipients)||!e.recipients.every(r.default))throw new n.JWEInvalid(`JWE Recipients missing or incorrect type`);if(!e.recipients.length)throw new n.JWEInvalid(`JWE Recipients has no members`);for(let n of e.recipients)try{return await(0,t.flattenedDecrypt)({aad:e.aad,ciphertext:e.ciphertext,encrypted_key:n.encrypted_key,header:n.header,iv:e.iv,protected:e.protected,tag:e.tag,unprotected:e.unprotected},i,a)}catch{}throw new n.JWEDecryptionFailed}})),hc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.unprotected=void 0,e.unprotected=Symbol()})),gc=r((t=>{Object.defineProperty(t,"__esModule",{value:!0});let n=e(`node:crypto`),r=Ms(),i=X(),a=Bs(),o=Is(),s=Hs(),c=Ws();t.default=e=>{let t;if((0,a.isCryptoKey)(e)){if(!e.extractable)throw TypeError(`CryptoKey is not extractable`);t=n.KeyObject.from(e)}else if((0,o.default)(e))t=e;else if(e instanceof Uint8Array)return{kty:`oct`,k:(0,r.encode)(e)};else throw TypeError((0,s.default)(e,...c.types,`Uint8Array`));if(t.type!==`secret`&&![`rsa`,`ec`,`ed25519`,`x25519`,`ed448`,`x448`].includes(t.asymmetricKeyType))throw new i.JOSENotSupported(`Unsupported key asymmetricKeyType`);return t.export({format:`jwk`})}})),_c=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.exportSPKI=i,e.exportPKCS8=a,e.exportJWK=o;let t=rc(),n=rc(),r=gc();async function i(e){return(0,t.toSPKI)(e)}async function a(e){return(0,n.toPKCS8)(e)}async function o(e){return(0,r.default)(e)}})),vc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0});let t=qs(),n=Xs(),r=Qs(),i=ec(),a=Ms(),o=tc(),s=nc(),c=X(),l=_c(),u=oc(),d=cc();async function f(e,f,p,m,h={}){let g,_,v;switch((0,u.default)(e,p,`encrypt`),p=await o.default.normalizePublicKey?.(p,e)||p,e){case`dir`:v=p;break;case`ECDH-ES`:case`ECDH-ES+A128KW`:case`ECDH-ES+A192KW`:case`ECDH-ES+A256KW`:{if(!n.ecdhAllowed(p))throw new c.JOSENotSupported(`ECDH with the provided key is not allowed or not supported by your javascript runtime`);let{apu:r,apv:i}=h,{epk:o}=h;o||=(await n.generateEpk(p)).privateKey;let{x:u,y:d,crv:y,kty:b}=await(0,l.exportJWK)(o),x=await n.deriveKey(p,o,e===`ECDH-ES`?f:e,e===`ECDH-ES`?(0,s.bitLength)(f):parseInt(e.slice(-5,-2),10),r,i);if(_={epk:{x:u,crv:y,kty:b}},b===`EC`&&(_.epk.y=d),r&&(_.apu=(0,a.encode)(r)),i&&(_.apv=(0,a.encode)(i)),e===`ECDH-ES`){v=x;break}v=m||(0,s.default)(f);let S=e.slice(-6);g=await(0,t.wrap)(S,x,v);break}case`RSA1_5`:case`RSA-OAEP`:case`RSA-OAEP-256`:case`RSA-OAEP-384`:case`RSA-OAEP-512`:v=m||(0,s.default)(f),g=await(0,i.encrypt)(e,p,v);break;case`PBES2-HS256+A128KW`:case`PBES2-HS384+A192KW`:case`PBES2-HS512+A256KW`:{v=m||(0,s.default)(f);let{p2c:t,p2s:n}=h;({encryptedKey:g,..._}=await(0,r.encrypt)(e,p,v,t,n));break}case`A128KW`:case`A192KW`:case`A256KW`:v=m||(0,s.default)(f),g=await(0,t.wrap)(e,p,v);break;case`A128GCMKW`:case`A192GCMKW`:case`A256GCMKW`:{v=m||(0,s.default)(f);let{iv:t}=h;({encryptedKey:g,..._}=await(0,d.wrap)(e,p,v,t));break}default:throw new c.JOSENotSupported(`Invalid or unsupported "alg" (JWE Algorithm) header value`)}return{cek:v,encryptedKey:g,parameters:_}}e.default=f})),yc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FlattenedEncrypt=void 0;let t=Ms(),n=hc(),r=sc(),i=vc(),a=X(),o=Ks(),s=Y(),c=uc();e.FlattenedEncrypt=class{_plaintext;_protectedHeader;_sharedUnprotectedHeader;_unprotectedHeader;_aad;_cek;_iv;_keyManagementParameters;constructor(e){if(!(e instanceof Uint8Array))throw TypeError(`plaintext must be an instance of Uint8Array`);this._plaintext=e}setKeyManagementParameters(e){if(this._keyManagementParameters)throw TypeError(`setKeyManagementParameters can only be called once`);return this._keyManagementParameters=e,this}setProtectedHeader(e){if(this._protectedHeader)throw TypeError(`setProtectedHeader can only be called once`);return this._protectedHeader=e,this}setSharedUnprotectedHeader(e){if(this._sharedUnprotectedHeader)throw TypeError(`setSharedUnprotectedHeader can only be called once`);return this._sharedUnprotectedHeader=e,this}setUnprotectedHeader(e){if(this._unprotectedHeader)throw TypeError(`setUnprotectedHeader can only be called once`);return this._unprotectedHeader=e,this}setAdditionalAuthenticatedData(e){return this._aad=e,this}setContentEncryptionKey(e){if(this._cek)throw TypeError(`setContentEncryptionKey can only be called once`);return this._cek=e,this}setInitializationVector(e){if(this._iv)throw TypeError(`setInitializationVector can only be called once`);return this._iv=e,this}async encrypt(e,l){if(!this._protectedHeader&&!this._unprotectedHeader&&!this._sharedUnprotectedHeader)throw new a.JWEInvalid(`either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()`);if(!(0,o.default)(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new a.JWEInvalid(`JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint`);let u={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if((0,c.default)(a.JWEInvalid,new Map,l?.crit,this._protectedHeader,u),u.zip!==void 0)throw new a.JOSENotSupported(`JWE "zip" (Compression Algorithm) Header Parameter is not supported.`);let{alg:d,enc:f}=u;if(typeof d!=`string`||!d)throw new a.JWEInvalid(`JWE "alg" (Algorithm) Header Parameter missing or invalid`);if(typeof f!=`string`||!f)throw new a.JWEInvalid(`JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid`);let p;if(this._cek&&(d===`dir`||d===`ECDH-ES`))throw TypeError(`setContentEncryptionKey cannot be called with JWE "alg" (Algorithm) Header ${d}`);let m;{let t;({cek:m,encryptedKey:p,parameters:t}=await(0,i.default)(d,f,e,this._cek,this._keyManagementParameters)),t&&(l&&n.unprotected in l?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...t}:this.setUnprotectedHeader(t):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...t}:this.setProtectedHeader(t))}let h,g,_;g=this._protectedHeader?s.encoder.encode((0,t.encode)(JSON.stringify(this._protectedHeader))):s.encoder.encode(``),this._aad?(_=(0,t.encode)(this._aad),h=(0,s.concat)(g,s.encoder.encode(`.`),s.encoder.encode(_))):h=g;let{ciphertext:v,tag:y,iv:b}=await(0,r.default)(f,this._plaintext,m,this._iv,h),x={ciphertext:(0,t.encode)(v)};return b&&(x.iv=(0,t.encode)(b)),y&&(x.tag=(0,t.encode)(y)),p&&(x.encrypted_key=(0,t.encode)(p)),_&&(x.aad=_),this._protectedHeader&&(x.protected=s.decoder.decode(g)),this._sharedUnprotectedHeader&&(x.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(x.header=this._unprotectedHeader),x}}})),bc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.GeneralEncrypt=void 0;let t=yc(),n=hc(),r=X(),i=nc(),a=Ks(),o=vc(),s=Ms(),c=uc();var l=class{parent;unprotectedHeader;key;options;constructor(e,t,n){this.parent=e,this.key=t,this.options=n}setUnprotectedHeader(e){if(this.unprotectedHeader)throw TypeError(`setUnprotectedHeader can only be called once`);return this.unprotectedHeader=e,this}addRecipient(...e){return this.parent.addRecipient(...e)}encrypt(...e){return this.parent.encrypt(...e)}done(){return this.parent}};e.GeneralEncrypt=class{_plaintext;_recipients=[];_protectedHeader;_unprotectedHeader;_aad;constructor(e){this._plaintext=e}addRecipient(e,t){let n=new l(this,e,{crit:t?.crit});return this._recipients.push(n),n}setProtectedHeader(e){if(this._protectedHeader)throw TypeError(`setProtectedHeader can only be called once`);return this._protectedHeader=e,this}setSharedUnprotectedHeader(e){if(this._unprotectedHeader)throw TypeError(`setSharedUnprotectedHeader can only be called once`);return this._unprotectedHeader=e,this}setAdditionalAuthenticatedData(e){return this._aad=e,this}async encrypt(){if(!this._recipients.length)throw new r.JWEInvalid(`at least one recipient must be added`);if(this._recipients.length===1){let[e]=this._recipients,n=await new t.FlattenedEncrypt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(e.unprotectedHeader).encrypt(e.key,{...e.options}),r={ciphertext:n.ciphertext,iv:n.iv,recipients:[{}],tag:n.tag};return n.aad&&(r.aad=n.aad),n.protected&&(r.protected=n.protected),n.unprotected&&(r.unprotected=n.unprotected),n.encrypted_key&&(r.recipients[0].encrypted_key=n.encrypted_key),n.header&&(r.recipients[0].header=n.header),r}let e;for(let t=0;t<this._recipients.length;t++){let n=this._recipients[t];if(!(0,a.default)(this._protectedHeader,this._unprotectedHeader,n.unprotectedHeader))throw new r.JWEInvalid(`JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint`);let i={...this._protectedHeader,...this._unprotectedHeader,...n.unprotectedHeader},{alg:o}=i;if(typeof o!=`string`||!o)throw new r.JWEInvalid(`JWE "alg" (Algorithm) Header Parameter missing or invalid`);if(o===`dir`||o===`ECDH-ES`)throw new r.JWEInvalid(`"dir" and "ECDH-ES" alg may only be used with a single recipient`);if(typeof i.enc!=`string`||!i.enc)throw new r.JWEInvalid(`JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid`);if(!e)e=i.enc;else if(e!==i.enc)throw new r.JWEInvalid(`JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients`);if((0,c.default)(r.JWEInvalid,new Map,n.options.crit,this._protectedHeader,i),i.zip!==void 0)throw new r.JOSENotSupported(`JWE "zip" (Compression Algorithm) Header Parameter is not supported.`)}let l=(0,i.default)(e),u={ciphertext:``,iv:``,recipients:[],tag:``};for(let r=0;r<this._recipients.length;r++){let i=this._recipients[r],a={};u.recipients.push(a);let c={...this._protectedHeader,...this._unprotectedHeader,...i.unprotectedHeader}.alg.startsWith(`PBES2`)?2048+r:void 0;if(r===0){let e=await new t.FlattenedEncrypt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(l).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(i.unprotectedHeader).setKeyManagementParameters({p2c:c}).encrypt(i.key,{...i.options,[n.unprotected]:!0});u.ciphertext=e.ciphertext,u.iv=e.iv,u.tag=e.tag,e.aad&&(u.aad=e.aad),e.protected&&(u.protected=e.protected),e.unprotected&&(u.unprotected=e.unprotected),a.encrypted_key=e.encrypted_key,e.header&&(a.header=e.header);continue}let{encryptedKey:d,parameters:f}=await(0,o.default)(i.unprotectedHeader?.alg||this._protectedHeader?.alg||this._unprotectedHeader?.alg,e,i.key,l,{p2c:c});a.encrypted_key=(0,s.encode)(d),(i.unprotectedHeader||f)&&(a.header={...i.unprotectedHeader,...f})}return u}}})),xc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=n;let t=X();function n(e){switch(e){case`PS256`:case`RS256`:case`ES256`:case`ES256K`:return`sha256`;case`PS384`:case`RS384`:case`ES384`:return`sha384`;case`PS512`:case`RS512`:case`ES512`:return`sha512`;case`Ed25519`:case`EdDSA`:return;default:throw new t.JOSENotSupported(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}})),Sc=r((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=s;let n=e(`node:crypto`),r=Ys(),i=X(),a=$s(),o=new Map([[`ES256`,`P-256`],[`ES256K`,`secp256k1`],[`ES384`,`P-384`],[`ES512`,`P-521`]]);function s(e,t){let s,c,l;if(t instanceof n.KeyObject)s=t.asymmetricKeyType,c=t.asymmetricKeyDetails;else switch(l=!0,t.kty){case`RSA`:s=`rsa`;break;case`EC`:s=`ec`;break;case`OKP`:if(t.crv===`Ed25519`){s=`ed25519`;break}if(t.crv===`Ed448`){s=`ed448`;break}throw TypeError(`Invalid key for this operation, its crv must be Ed25519 or Ed448`);default:throw TypeError(`Invalid key for this operation, its kty must be RSA, OKP, or EC`)}let u;switch(e){case`Ed25519`:if(s!==`ed25519`)throw TypeError(`Invalid key for this operation, its asymmetricKeyType must be ed25519`);break;case`EdDSA`:if(![`ed25519`,`ed448`].includes(s))throw TypeError(`Invalid key for this operation, its asymmetricKeyType must be ed25519 or ed448`);break;case`RS256`:case`RS384`:case`RS512`:if(s!==`rsa`)throw TypeError(`Invalid key for this operation, its asymmetricKeyType must be rsa`);(0,a.default)(t,e);break;case`PS256`:case`PS384`:case`PS512`:if(s===`rsa-pss`){let{hashAlgorithm:t,mgf1HashAlgorithm:n,saltLength:r}=c,i=parseInt(e.slice(-3),10);if(t!==void 0&&(t!==`sha${i}`||n!==t))throw TypeError(`Invalid key for this operation, its RSA-PSS parameters do not meet the requirements of "alg" ${e}`);if(r!==void 0&&r>i>>3)throw TypeError(`Invalid key for this operation, its RSA-PSS parameter saltLength does not meet the requirements of "alg" ${e}`)}else if(s!==`rsa`)throw TypeError(`Invalid key for this operation, its asymmetricKeyType must be rsa or rsa-pss`);(0,a.default)(t,e),u={padding:n.constants.RSA_PKCS1_PSS_PADDING,saltLength:n.constants.RSA_PSS_SALTLEN_DIGEST};break;case`ES256`:case`ES256K`:case`ES384`:case`ES512`:{if(s!==`ec`)throw TypeError(`Invalid key for this operation, its asymmetricKeyType must be ec`);let n=(0,r.default)(t),i=o.get(e);if(n!==i)throw TypeError(`Invalid key curve for the algorithm, its curve must be ${i}, got ${n}`);u={dsaEncoding:`ieee-p1363`};break}default:throw new i.JOSENotSupported(`alg ${e} is not supported either by JOSE or your javascript runtime`)}return l?{format:`jwk`,key:t,...u}:u?{...u,key:t}:t}})),Cc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=n;let t=X();function n(e){switch(e){case`HS256`:return`sha256`;case`HS384`:return`sha384`;case`HS512`:return`sha512`;default:throw new t.JOSENotSupported(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}})),wc=r((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=c;let n=e(`node:crypto`),r=Bs(),i=Vs(),a=Hs(),o=Ws(),s=Js();function c(e,t,c){if(t instanceof Uint8Array){if(!e.startsWith(`HS`))throw TypeError((0,a.default)(t,...o.types));return(0,n.createSecretKey)(t)}if(t instanceof n.KeyObject)return t;if((0,r.isCryptoKey)(t))return(0,i.checkSigCryptoKey)(t,e,c),n.KeyObject.from(t);if(s.isJWK(t))return e.startsWith(`HS`)?(0,n.createSecretKey)(Buffer.from(t.k,`base64url`)):t;throw TypeError((0,a.default)(t,...o.types,`Uint8Array`,`JSON Web Key`))}})),Tc=r((t=>{Object.defineProperty(t,"__esModule",{value:!0});let n=e(`node:crypto`),r=e(`node:util`),i=xc(),a=Cc(),o=Sc(),s=wc(),c=(0,r.promisify)(n.sign);t.default=async(e,t,r)=>{let l=(0,s.default)(e,t,`sign`);if(e.startsWith(`HS`)){let t=n.createHmac((0,a.default)(e),l);return t.update(r),t.digest()}return c((0,i.default)(e),r,(0,o.default)(e,l))}})),Ec=r((t=>{Object.defineProperty(t,"__esModule",{value:!0});let n=e(`node:crypto`),r=e(`node:util`),i=xc(),a=Sc(),o=Tc(),s=wc(),c=(0,r.promisify)(n.verify);t.default=async(e,t,r,l)=>{let u=(0,s.default)(e,t,`verify`);if(e.startsWith(`HS`)){let t=await(0,o.default)(e,u,l),i=r;try{return n.timingSafeEqual(i,t)}catch{return!1}}let d=(0,i.default)(e),f=(0,a.default)(e,u);try{return await c(d,l,f,r)}catch{return!1}}})),Dc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.flattenedVerify=f;let t=Ms(),n=Ec(),r=X(),i=Y(),a=Ks(),o=Z(),s=oc(),c=uc(),l=dc(),u=Js(),d=ac();async function f(e,f,p){if(!(0,o.default)(e))throw new r.JWSInvalid(`Flattened JWS must be an object`);if(e.protected===void 0&&e.header===void 0)throw new r.JWSInvalid(`Flattened JWS must have either of the "protected" or "header" members`);if(e.protected!==void 0&&typeof e.protected!=`string`)throw new r.JWSInvalid(`JWS Protected Header incorrect type`);if(e.payload===void 0)throw new r.JWSInvalid(`JWS Payload missing`);if(typeof e.signature!=`string`)throw new r.JWSInvalid(`JWS Signature missing or incorrect type`);if(e.header!==void 0&&!(0,o.default)(e.header))throw new r.JWSInvalid(`JWS Unprotected Header incorrect type`);let m={};if(e.protected)try{let n=(0,t.decode)(e.protected);m=JSON.parse(i.decoder.decode(n))}catch{throw new r.JWSInvalid(`JWS Protected Header is invalid`)}if(!(0,a.default)(m,e.header))throw new r.JWSInvalid(`JWS Protected and JWS Unprotected Header Parameter names must be disjoint`);let h={...m,...e.header},g=(0,c.default)(r.JWSInvalid,new Map([[`b64`,!0]]),p?.crit,m,h),_=!0;if(g.has(`b64`)&&(_=m.b64,typeof _!=`boolean`))throw new r.JWSInvalid(`The "b64" (base64url-encode payload) Header Parameter must be a boolean`);let{alg:v}=h;if(typeof v!=`string`||!v)throw new r.JWSInvalid(`JWS "alg" (Algorithm) Header Parameter missing or invalid`);let y=p&&(0,l.default)(`algorithms`,p.algorithms);if(y&&!y.has(v))throw new r.JOSEAlgNotAllowed(`"alg" (Algorithm) Header Parameter value not allowed`);if(_){if(typeof e.payload!=`string`)throw new r.JWSInvalid(`JWS Payload must be a string`)}else if(typeof e.payload!=`string`&&!(e.payload instanceof Uint8Array))throw new r.JWSInvalid(`JWS Payload must be a string or an Uint8Array instance`);let b=!1;typeof f==`function`?(f=await f(m,e),b=!0,(0,s.checkKeyTypeWithJwk)(v,f,`verify`),(0,u.isJWK)(f)&&(f=await(0,d.importJWK)(f,v))):(0,s.checkKeyTypeWithJwk)(v,f,`verify`);let x=(0,i.concat)(i.encoder.encode(e.protected??``),i.encoder.encode(`.`),typeof e.payload==`string`?i.encoder.encode(e.payload):e.payload),S;try{S=(0,t.decode)(e.signature)}catch{throw new r.JWSInvalid(`Failed to base64url decode the signature`)}if(!await(0,n.default)(v,f,S,x))throw new r.JWSSignatureVerificationFailed;let C;if(_)try{C=(0,t.decode)(e.payload)}catch{throw new r.JWSInvalid(`Failed to base64url decode the payload`)}else C=typeof e.payload==`string`?i.encoder.encode(e.payload):e.payload;let w={payload:C};return e.protected!==void 0&&(w.protectedHeader=m),e.header!==void 0&&(w.unprotectedHeader=e.header),b?{...w,key:f}:w}})),Oc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.compactVerify=i;let t=Dc(),n=X(),r=Y();async function i(e,i,a){if(e instanceof Uint8Array&&(e=r.decoder.decode(e)),typeof e!=`string`)throw new n.JWSInvalid(`Compact JWS must be a string or Uint8Array`);let{0:o,1:s,2:c,length:l}=e.split(`.`);if(l!==3)throw new n.JWSInvalid(`Invalid Compact JWS`);let u=await(0,t.flattenedVerify)({payload:s,protected:o,signature:c},i,a),d={payload:u.payload,protectedHeader:u.protectedHeader};return typeof i==`function`?{...d,key:u.key}:d}})),kc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.generalVerify=i;let t=Dc(),n=X(),r=Z();async function i(e,i,a){if(!(0,r.default)(e))throw new n.JWSInvalid(`General JWS must be an object`);if(!Array.isArray(e.signatures)||!e.signatures.every(r.default))throw new n.JWSInvalid(`JWS Signatures missing or incorrect type`);for(let n of e.signatures)try{return await(0,t.flattenedVerify)({header:n.header,payload:e.payload,protected:n.protected,signature:n.signature},i,a)}catch{}throw new n.JWSSignatureVerificationFailed}})),Ac=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=e=>Math.floor(e.getTime()/1e3)})),jc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0});let t=/^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;e.default=e=>{let n=t.exec(e);if(!n||n[4]&&n[1])throw TypeError(`Invalid time period format`);let r=parseFloat(n[2]),i=n[3].toLowerCase(),a;switch(i){case`sec`:case`secs`:case`second`:case`seconds`:case`s`:a=Math.round(r);break;case`minute`:case`minutes`:case`min`:case`mins`:case`m`:a=Math.round(r*60);break;case`hour`:case`hours`:case`hr`:case`hrs`:case`h`:a=Math.round(r*3600);break;case`day`:case`days`:case`d`:a=Math.round(r*86400);break;case`week`:case`weeks`:case`w`:a=Math.round(r*604800);break;default:a=Math.round(r*31557600)}return n[1]===`-`||n[4]===`ago`?-a:a}})),Mc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0});let t=X(),n=Y(),r=Ac(),i=jc(),a=Z(),o=e=>e.toLowerCase().replace(/^application\//,``),s=(e,t)=>typeof e==`string`?t.includes(e):Array.isArray(e)?t.some(Set.prototype.has.bind(new Set(e))):!1;e.default=(e,c,l={})=>{let u;try{u=JSON.parse(n.decoder.decode(c))}catch{}if(!(0,a.default)(u))throw new t.JWTInvalid(`JWT Claims Set must be a top-level JSON object`);let{typ:d}=l;if(d&&(typeof e.typ!=`string`||o(e.typ)!==o(d)))throw new t.JWTClaimValidationFailed(`unexpected "typ" JWT header value`,u,`typ`,`check_failed`);let{requiredClaims:f=[],issuer:p,subject:m,audience:h,maxTokenAge:g}=l,_=[...f];g!==void 0&&_.push(`iat`),h!==void 0&&_.push(`aud`),m!==void 0&&_.push(`sub`),p!==void 0&&_.push(`iss`);for(let e of new Set(_.reverse()))if(!(e in u))throw new t.JWTClaimValidationFailed(`missing required "${e}" claim`,u,e,`missing`);if(p&&!(Array.isArray(p)?p:[p]).includes(u.iss))throw new t.JWTClaimValidationFailed(`unexpected "iss" claim value`,u,`iss`,`check_failed`);if(m&&u.sub!==m)throw new t.JWTClaimValidationFailed(`unexpected "sub" claim value`,u,`sub`,`check_failed`);if(h&&!s(u.aud,typeof h==`string`?[h]:h))throw new t.JWTClaimValidationFailed(`unexpected "aud" claim value`,u,`aud`,`check_failed`);let v;switch(typeof l.clockTolerance){case`string`:v=(0,i.default)(l.clockTolerance);break;case`number`:v=l.clockTolerance;break;case`undefined`:v=0;break;default:throw TypeError(`Invalid clockTolerance option type`)}let{currentDate:y}=l,b=(0,r.default)(y||new Date);if((u.iat!==void 0||g)&&typeof u.iat!=`number`)throw new t.JWTClaimValidationFailed(`"iat" claim must be a number`,u,`iat`,`invalid`);if(u.nbf!==void 0){if(typeof u.nbf!=`number`)throw new t.JWTClaimValidationFailed(`"nbf" claim must be a number`,u,`nbf`,`invalid`);if(u.nbf>b+v)throw new t.JWTClaimValidationFailed(`"nbf" claim timestamp check failed`,u,`nbf`,`check_failed`)}if(u.exp!==void 0){if(typeof u.exp!=`number`)throw new t.JWTClaimValidationFailed(`"exp" claim must be a number`,u,`exp`,`invalid`);if(u.exp<=b-v)throw new t.JWTExpired(`"exp" claim timestamp check failed`,u,`exp`,`check_failed`)}if(g){let e=b-u.iat,n=typeof g==`number`?g:(0,i.default)(g);if(e-v>n)throw new t.JWTExpired(`"iat" claim timestamp check failed (too far in the past)`,u,`iat`,`check_failed`);if(e<0-v)throw new t.JWTClaimValidationFailed(`"iat" claim timestamp check failed (it should be in the past)`,u,`iat`,`check_failed`)}return u}})),Nc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.jwtVerify=i;let t=Oc(),n=Mc(),r=X();async function i(e,i,a){let o=await(0,t.compactVerify)(e,i,a);if(o.protectedHeader.crit?.includes(`b64`)&&o.protectedHeader.b64===!1)throw new r.JWTInvalid(`JWTs MUST NOT use unencoded payload`);let s={payload:(0,n.default)(o.protectedHeader,o.payload,a),protectedHeader:o.protectedHeader};return typeof i==`function`?{...s,key:o.key}:s}})),Pc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.jwtDecrypt=i;let t=pc(),n=Mc(),r=X();async function i(e,i,a){let o=await(0,t.compactDecrypt)(e,i,a),s=(0,n.default)(o.protectedHeader,o.plaintext,a),{protectedHeader:c}=o;if(c.iss!==void 0&&c.iss!==s.iss)throw new r.JWTClaimValidationFailed(`replicated "iss" claim header parameter mismatch`,s,`iss`,`mismatch`);if(c.sub!==void 0&&c.sub!==s.sub)throw new r.JWTClaimValidationFailed(`replicated "sub" claim header parameter mismatch`,s,`sub`,`mismatch`);if(c.aud!==void 0&&JSON.stringify(c.aud)!==JSON.stringify(s.aud))throw new r.JWTClaimValidationFailed(`replicated "aud" claim header parameter mismatch`,s,`aud`,`mismatch`);let l={payload:s,protectedHeader:c};return typeof i==`function`?{...l,key:o.key}:l}})),Fc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.CompactEncrypt=void 0;let t=yc();e.CompactEncrypt=class{_flattened;constructor(e){this._flattened=new t.FlattenedEncrypt(e)}setContentEncryptionKey(e){return this._flattened.setContentEncryptionKey(e),this}setInitializationVector(e){return this._flattened.setInitializationVector(e),this}setProtectedHeader(e){return this._flattened.setProtectedHeader(e),this}setKeyManagementParameters(e){return this._flattened.setKeyManagementParameters(e),this}async encrypt(e,t){let n=await this._flattened.encrypt(e,t);return[n.protected,n.encrypted_key,n.iv,n.ciphertext,n.tag].join(`.`)}}})),Ic=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FlattenedSign=void 0;let t=Ms(),n=Tc(),r=Ks(),i=X(),a=Y(),o=oc(),s=uc();e.FlattenedSign=class{_payload;_protectedHeader;_unprotectedHeader;constructor(e){if(!(e instanceof Uint8Array))throw TypeError(`payload must be an instance of Uint8Array`);this._payload=e}setProtectedHeader(e){if(this._protectedHeader)throw TypeError(`setProtectedHeader can only be called once`);return this._protectedHeader=e,this}setUnprotectedHeader(e){if(this._unprotectedHeader)throw TypeError(`setUnprotectedHeader can only be called once`);return this._unprotectedHeader=e,this}async sign(e,c){if(!this._protectedHeader&&!this._unprotectedHeader)throw new i.JWSInvalid(`either setProtectedHeader or setUnprotectedHeader must be called before #sign()`);if(!(0,r.default)(this._protectedHeader,this._unprotectedHeader))throw new i.JWSInvalid(`JWS Protected and JWS Unprotected Header Parameter names must be disjoint`);let l={...this._protectedHeader,...this._unprotectedHeader},u=(0,s.default)(i.JWSInvalid,new Map([[`b64`,!0]]),c?.crit,this._protectedHeader,l),d=!0;if(u.has(`b64`)&&(d=this._protectedHeader.b64,typeof d!=`boolean`))throw new i.JWSInvalid(`The "b64" (base64url-encode payload) Header Parameter must be a boolean`);let{alg:f}=l;if(typeof f!=`string`||!f)throw new i.JWSInvalid(`JWS "alg" (Algorithm) Header Parameter missing or invalid`);(0,o.checkKeyTypeWithJwk)(f,e,`sign`);let p=this._payload;d&&(p=a.encoder.encode((0,t.encode)(p)));let m;m=this._protectedHeader?a.encoder.encode((0,t.encode)(JSON.stringify(this._protectedHeader))):a.encoder.encode(``);let h=(0,a.concat)(m,a.encoder.encode(`.`),p),g=await(0,n.default)(f,e,h),_={signature:(0,t.encode)(g),payload:``};return d&&(_.payload=a.decoder.decode(p)),this._unprotectedHeader&&(_.header=this._unprotectedHeader),this._protectedHeader&&(_.protected=a.decoder.decode(m)),_}}})),Lc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.CompactSign=void 0;let t=Ic();e.CompactSign=class{_flattened;constructor(e){this._flattened=new t.FlattenedSign(e)}setProtectedHeader(e){return this._flattened.setProtectedHeader(e),this}async sign(e,t){let n=await this._flattened.sign(e,t);if(n.payload===void 0)throw TypeError(`use the flattened module for creating JWS with b64: false`);return`${n.protected}.${n.payload}.${n.signature}`}}})),Rc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.GeneralSign=void 0;let t=Ic(),n=X();var r=class{parent;protectedHeader;unprotectedHeader;options;key;constructor(e,t,n){this.parent=e,this.key=t,this.options=n}setProtectedHeader(e){if(this.protectedHeader)throw TypeError(`setProtectedHeader can only be called once`);return this.protectedHeader=e,this}setUnprotectedHeader(e){if(this.unprotectedHeader)throw TypeError(`setUnprotectedHeader can only be called once`);return this.unprotectedHeader=e,this}addSignature(...e){return this.parent.addSignature(...e)}sign(...e){return this.parent.sign(...e)}done(){return this.parent}};e.GeneralSign=class{_payload;_signatures=[];constructor(e){this._payload=e}addSignature(e,t){let n=new r(this,e,t);return this._signatures.push(n),n}async sign(){if(!this._signatures.length)throw new n.JWSInvalid(`at least one signature must be added`);let e={signatures:[],payload:``};for(let r=0;r<this._signatures.length;r++){let i=this._signatures[r],a=new t.FlattenedSign(this._payload);a.setProtectedHeader(i.protectedHeader),a.setUnprotectedHeader(i.unprotectedHeader);let{payload:o,...s}=await a.sign(i.key,i.options);if(r===0)e.payload=o;else if(e.payload!==o)throw new n.JWSInvalid(`inconsistent use of JWS Unencoded Payload (RFC7797)`);e.signatures.push(s)}return e}}})),zc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ProduceJWT=void 0;let t=Ac(),n=Z(),r=jc();function i(e,t){if(!Number.isFinite(t))throw TypeError(`Invalid ${e} input`);return t}e.ProduceJWT=class{_payload;constructor(e={}){if(!(0,n.default)(e))throw TypeError(`JWT Claims Set MUST be an object`);this._payload=e}setIssuer(e){return this._payload={...this._payload,iss:e},this}setSubject(e){return this._payload={...this._payload,sub:e},this}setAudience(e){return this._payload={...this._payload,aud:e},this}setJti(e){return this._payload={...this._payload,jti:e},this}setNotBefore(e){return this._payload=typeof e==`number`?{...this._payload,nbf:i(`setNotBefore`,e)}:e instanceof Date?{...this._payload,nbf:i(`setNotBefore`,(0,t.default)(e))}:{...this._payload,nbf:(0,t.default)(new Date)+(0,r.default)(e)},this}setExpirationTime(e){return this._payload=typeof e==`number`?{...this._payload,exp:i(`setExpirationTime`,e)}:e instanceof Date?{...this._payload,exp:i(`setExpirationTime`,(0,t.default)(e))}:{...this._payload,exp:(0,t.default)(new Date)+(0,r.default)(e)},this}setIssuedAt(e){return this._payload=e===void 0?{...this._payload,iat:(0,t.default)(new Date)}:e instanceof Date?{...this._payload,iat:i(`setIssuedAt`,(0,t.default)(e))}:typeof e==`string`?{...this._payload,iat:i(`setIssuedAt`,(0,t.default)(new Date)+(0,r.default)(e))}:{...this._payload,iat:i(`setIssuedAt`,e)},this}}})),Bc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SignJWT=void 0;let t=Lc(),n=X(),r=Y(),i=zc();e.SignJWT=class extends i.ProduceJWT{_protectedHeader;setProtectedHeader(e){return this._protectedHeader=e,this}async sign(e,i){let a=new t.CompactSign(r.encoder.encode(JSON.stringify(this._payload)));if(a.setProtectedHeader(this._protectedHeader),Array.isArray(this._protectedHeader?.crit)&&this._protectedHeader.crit.includes(`b64`)&&this._protectedHeader.b64===!1)throw new n.JWTInvalid(`JWTs MUST NOT use unencoded payload`);return a.sign(e,i)}}})),Vc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EncryptJWT=void 0;let t=Fc(),n=Y(),r=zc();e.EncryptJWT=class extends r.ProduceJWT{_cek;_iv;_keyManagementParameters;_protectedHeader;_replicateIssuerAsHeader;_replicateSubjectAsHeader;_replicateAudienceAsHeader;setProtectedHeader(e){if(this._protectedHeader)throw TypeError(`setProtectedHeader can only be called once`);return this._protectedHeader=e,this}setKeyManagementParameters(e){if(this._keyManagementParameters)throw TypeError(`setKeyManagementParameters can only be called once`);return this._keyManagementParameters=e,this}setContentEncryptionKey(e){if(this._cek)throw TypeError(`setContentEncryptionKey can only be called once`);return this._cek=e,this}setInitializationVector(e){if(this._iv)throw TypeError(`setInitializationVector can only be called once`);return this._iv=e,this}replicateIssuerAsHeader(){return this._replicateIssuerAsHeader=!0,this}replicateSubjectAsHeader(){return this._replicateSubjectAsHeader=!0,this}replicateAudienceAsHeader(){return this._replicateAudienceAsHeader=!0,this}async encrypt(e,r){let i=new t.CompactEncrypt(n.encoder.encode(JSON.stringify(this._payload)));return this._replicateIssuerAsHeader&&(this._protectedHeader={...this._protectedHeader,iss:this._payload.iss}),this._replicateSubjectAsHeader&&(this._protectedHeader={...this._protectedHeader,sub:this._payload.sub}),this._replicateAudienceAsHeader&&(this._protectedHeader={...this._protectedHeader,aud:this._payload.aud}),i.setProtectedHeader(this._protectedHeader),this._iv&&i.setInitializationVector(this._iv),this._cek&&i.setContentEncryptionKey(this._cek),this._keyManagementParameters&&i.setKeyManagementParameters(this._keyManagementParameters),i.encrypt(e,r)}}})),Hc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.calculateJwkThumbprint=s,e.calculateJwkThumbprintUri=c;let t=js(),n=Ms(),r=X(),i=Y(),a=Z(),o=(e,t)=>{if(typeof e!=`string`||!e)throw new r.JWKInvalid(`${t} missing or invalid`)};async function s(e,s){if(!(0,a.default)(e))throw TypeError(`JWK must be an object`);if(s??=`sha256`,s!==`sha256`&&s!==`sha384`&&s!==`sha512`)throw TypeError(`digestAlgorithm must one of "sha256", "sha384", or "sha512"`);let c;switch(e.kty){case`EC`:o(e.crv,`"crv" (Curve) Parameter`),o(e.x,`"x" (X Coordinate) Parameter`),o(e.y,`"y" (Y Coordinate) Parameter`),c={crv:e.crv,kty:e.kty,x:e.x,y:e.y};break;case`OKP`:o(e.crv,`"crv" (Subtype of Key Pair) Parameter`),o(e.x,`"x" (Public Key) Parameter`),c={crv:e.crv,kty:e.kty,x:e.x};break;case`RSA`:o(e.e,`"e" (Exponent) Parameter`),o(e.n,`"n" (Modulus) Parameter`),c={e:e.e,kty:e.kty,n:e.n};break;case`oct`:o(e.k,`"k" (Key Value) Parameter`),c={k:e.k,kty:e.kty};break;default:throw new r.JOSENotSupported(`"kty" (Key Type) Parameter missing or unsupported`)}let l=i.encoder.encode(JSON.stringify(c));return(0,n.encode)(await(0,t.default)(s,l))}async function c(e,t){t??=`sha256`;let n=await s(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${n}`}})),Uc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EmbeddedJWK=i;let t=ac(),n=Z(),r=X();async function i(e,i){let a={...e,...i?.header};if(!(0,n.default)(a.jwk))throw new r.JWSInvalid(`"jwk" (JSON Web Key) Header Parameter must be a JSON object`);let o=await(0,t.importJWK)({...a.jwk,ext:!0},a.alg);if(o instanceof Uint8Array||o.type!==`public`)throw new r.JWSInvalid(`"jwk" (JSON Web Key) Header Parameter must be a public key`);return o}})),Wc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.createLocalJWKSet=u;let t=ac(),n=X(),r=Z();function i(e){switch(typeof e==`string`&&e.slice(0,2)){case`RS`:case`PS`:return`RSA`;case`ES`:return`EC`;case`Ed`:return`OKP`;default:throw new n.JOSENotSupported(`Unsupported "alg" value for a JSON Web Key Set`)}}function a(e){return e&&typeof e==`object`&&Array.isArray(e.keys)&&e.keys.every(o)}function o(e){return(0,r.default)(e)}function s(e){return typeof structuredClone==`function`?structuredClone(e):JSON.parse(JSON.stringify(e))}var c=class{_jwks;_cached=new WeakMap;constructor(e){if(!a(e))throw new n.JWKSInvalid(`JSON Web Key Set malformed`);this._jwks=s(e)}async getKey(e,t){let{alg:r,kid:a}={...e,...t?.header},o=i(r),s=this._jwks.keys.filter(e=>{let t=o===e.kty;if(t&&typeof a==`string`&&(t=a===e.kid),t&&typeof e.alg==`string`&&(t=r===e.alg),t&&typeof e.use==`string`&&(t=e.use===`sig`),t&&Array.isArray(e.key_ops)&&(t=e.key_ops.includes(`verify`)),t)switch(r){case`ES256`:t=e.crv===`P-256`;break;case`ES256K`:t=e.crv===`secp256k1`;break;case`ES384`:t=e.crv===`P-384`;break;case`ES512`:t=e.crv===`P-521`;break;case`Ed25519`:t=e.crv===`Ed25519`;break;case`EdDSA`:t=e.crv===`Ed25519`||e.crv===`Ed448`}return t}),{0:c,length:u}=s;if(u===0)throw new n.JWKSNoMatchingKey;if(u!==1){let e=new n.JWKSMultipleMatchingKeys,{_cached:t}=this;throw e[Symbol.asyncIterator]=async function*(){for(let e of s)try{yield await l(t,e,r)}catch{}},e}return l(this._cached,c,r)}};async function l(e,r,i){let a=e.get(r)||e.set(r,{}).get(r);if(a[i]===void 0){let e=await(0,t.importJWK)({...r,ext:!0},i);if(e instanceof Uint8Array||e.type!==`public`)throw new n.JWKSInvalid(`JSON Web Key Set members must be public keys`);a[i]=e}return a[i]}function u(e){let t=new c(e),n=async(e,n)=>t.getKey(e,n);return Object.defineProperties(n,{jwks:{value:()=>s(t._jwks),enumerable:!0,configurable:!1,writable:!1}}),n}})),Gc=r((t=>{Object.defineProperty(t,"__esModule",{value:!0});let n=e(`node:http`),r=e(`node:https`),i=e(`node:events`),a=X(),o=Y();t.default=async(e,t,s)=>{let c;switch(e.protocol){case`https:`:c=r.get;break;case`http:`:c=n.get;break;default:throw TypeError(`Unsupported URL protocol.`)}let{agent:l,headers:u}=s,d=c(e.href,{agent:l,timeout:t,headers:u}),[f]=await Promise.race([(0,i.once)(d,`response`),(0,i.once)(d,`timeout`)]);if(!f)throw d.destroy(),new a.JWKSTimeout;if(f.statusCode!==200)throw new a.JOSEError(`Expected 200 OK from the JSON Web Key Set HTTP response`);let p=[];for await(let e of f)p.push(e);try{return JSON.parse(o.decoder.decode((0,o.concat)(...p)))}catch{throw new a.JOSEError(`Failed to parse the JSON Web Key Set HTTP response as JSON`)}}})),Kc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.experimental_jwksCache=e.jwksCache=void 0,e.createRemoteJWKSet=l;let t=Gc(),n=X(),r=Wc(),i=Z();function a(){return typeof WebSocketPair<`u`||typeof navigator<`u`&&navigator.userAgent===`Cloudflare-Workers`||typeof EdgeRuntime<`u`&&EdgeRuntime===`vercel`}let o;(typeof navigator>`u`||!navigator.userAgent?.startsWith?.(`Mozilla/5.0 `))&&(o=`jose/v5.10.0`),e.jwksCache=Symbol();function s(e,t){return!(typeof e!=`object`||!e||!(`uat`in e)||typeof e.uat!=`number`||Date.now()-e.uat>=t||!(`jwks`in e)||!(0,i.default)(e.jwks)||!Array.isArray(e.jwks.keys)||!Array.prototype.every.call(e.jwks.keys,i.default))}var c=class{_url;_timeoutDuration;_cooldownDuration;_cacheMaxAge;_jwksTimestamp;_pendingFetch;_options;_local;_cache;constructor(t,n){if(!(t instanceof URL))throw TypeError(`url must be an instance of URL`);this._url=new URL(t.href),this._options={agent:n?.agent,headers:n?.headers},this._timeoutDuration=typeof n?.timeoutDuration==`number`?n?.timeoutDuration:5e3,this._cooldownDuration=typeof n?.cooldownDuration==`number`?n?.cooldownDuration:3e4,this._cacheMaxAge=typeof n?.cacheMaxAge==`number`?n?.cacheMaxAge:6e5,n?.[e.jwksCache]!==void 0&&(this._cache=n?.[e.jwksCache],s(n?.[e.jwksCache],this._cacheMaxAge)&&(this._jwksTimestamp=this._cache.uat,this._local=(0,r.createLocalJWKSet)(this._cache.jwks)))}coolingDown(){return typeof this._jwksTimestamp==`number`&&Date.now()<this._jwksTimestamp+this._cooldownDuration}fresh(){return typeof this._jwksTimestamp==`number`&&Date.now()<this._jwksTimestamp+this._cacheMaxAge}async getKey(e,t){(!this._local||!this.fresh())&&await this.reload();try{return await this._local(e,t)}catch(r){if(r instanceof n.JWKSNoMatchingKey&&this.coolingDown()===!1)return await this.reload(),this._local(e,t);throw r}}async reload(){this._pendingFetch&&a()&&(this._pendingFetch=void 0);let e=new Headers(this._options.headers);o&&!e.has(`User-Agent`)&&(e.set(`User-Agent`,o),this._options.headers=Object.fromEntries(e.entries())),this._pendingFetch||=(0,t.default)(this._url,this._timeoutDuration,this._options).then(e=>{this._local=(0,r.createLocalJWKSet)(e),this._cache&&(this._cache.uat=Date.now(),this._cache.jwks=e),this._jwksTimestamp=Date.now(),this._pendingFetch=void 0}).catch(e=>{throw this._pendingFetch=void 0,e}),await this._pendingFetch}};function l(e,t){let n=new c(e,t),r=async(e,t)=>n.getKey(e,t);return Object.defineProperties(r,{coolingDown:{get:()=>n.coolingDown(),enumerable:!0,configurable:!1},fresh:{get:()=>n.fresh(),enumerable:!0,configurable:!1},reload:{value:()=>n.reload(),enumerable:!0,configurable:!1,writable:!1},reloading:{get:()=>!!n._pendingFetch,enumerable:!0,configurable:!1},jwks:{value:()=>n._local?.jwks(),enumerable:!0,configurable:!1,writable:!1}}),r}e.experimental_jwksCache=e.jwksCache})),qc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.UnsecuredJWT=void 0;let t=Ms(),n=Y(),r=X(),i=Mc(),a=zc();e.UnsecuredJWT=class extends a.ProduceJWT{encode(){return`${t.encode(JSON.stringify({alg:`none`}))}.${t.encode(JSON.stringify(this._payload))}.`}static decode(e,a){if(typeof e!=`string`)throw new r.JWTInvalid(`Unsecured JWT must be a string`);let{0:o,1:s,2:c,length:l}=e.split(`.`);if(l!==3||c!==``)throw new r.JWTInvalid(`Invalid Unsecured JWT`);let u;try{if(u=JSON.parse(n.decoder.decode(t.decode(o))),u.alg!==`none`)throw Error()}catch{throw new r.JWTInvalid(`Invalid Unsecured JWT`)}return{payload:(0,i.default)(u,t.decode(s),a),header:u}}}})),Jc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.decode=e.encode=void 0;let t=Ms();e.encode=t.encode,e.decode=t.decode})),Yc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.decodeProtectedHeader=i;let t=Jc(),n=Y(),r=Z();function i(e){let i;if(typeof e==`string`){let t=e.split(`.`);(t.length===3||t.length===5)&&([i]=t)}else if(typeof e==`object`&&e){if(`protected`in e)i=e.protected;else throw TypeError(`Token does not contain a Protected Header`)}try{if(typeof i!=`string`||!i)throw Error();let e=JSON.parse(n.decoder.decode((0,t.decode)(i)));if(!(0,r.default)(e))throw Error();return e}catch{throw TypeError(`Invalid Token or Protected Header formatting`)}}})),Xc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.decodeJwt=a;let t=Jc(),n=Y(),r=Z(),i=X();function a(e){if(typeof e!=`string`)throw new i.JWTInvalid(`JWTs must use Compact JWS serialization, JWT must be a string`);let{1:a,length:o}=e.split(`.`);if(o===5)throw new i.JWTInvalid(`Only JWTs using Compact JWS serialization can be decoded`);if(o!==3)throw new i.JWTInvalid(`Invalid JWT`);if(!a)throw new i.JWTInvalid(`JWTs must contain a payload`);let s;try{s=(0,t.decode)(a)}catch{throw new i.JWTInvalid(`Failed to base64url decode the payload`)}let c;try{c=JSON.parse(n.decoder.decode(s))}catch{throw new i.JWTInvalid(`Failed to parse the decoded payload as JSON`)}if(!(0,r.default)(c))throw new i.JWTInvalid(`Invalid JWT Claims Set`);return c}})),Zc=r((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.generateSecret=s,t.generateKeyPair=c;let n=e(`node:crypto`),r=e(`node:util`),i=Ns(),a=X(),o=(0,r.promisify)(n.generateKeyPair);async function s(e,t){let r;switch(e){case`HS256`:case`HS384`:case`HS512`:case`A128CBC-HS256`:case`A192CBC-HS384`:case`A256CBC-HS512`:r=parseInt(e.slice(-3),10);break;case`A128KW`:case`A192KW`:case`A256KW`:case`A128GCMKW`:case`A192GCMKW`:case`A256GCMKW`:case`A128GCM`:case`A192GCM`:case`A256GCM`:r=parseInt(e.slice(1,4),10);break;default:throw new a.JOSENotSupported(`Invalid or unsupported JWK "alg" (Algorithm) Parameter value`)}return(0,n.createSecretKey)((0,i.default)(new Uint8Array(r>>3)))}async function c(e,t){switch(e){case`RS256`:case`RS384`:case`RS512`:case`PS256`:case`PS384`:case`PS512`:case`RSA-OAEP`:case`RSA-OAEP-256`:case`RSA-OAEP-384`:case`RSA-OAEP-512`:case`RSA1_5`:{let e=t?.modulusLength??2048;if(typeof e!=`number`||e<2048)throw new a.JOSENotSupported(`Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used`);return await o(`rsa`,{modulusLength:e,publicExponent:65537})}case`ES256`:return o(`ec`,{namedCurve:`P-256`});case`ES256K`:return o(`ec`,{namedCurve:`secp256k1`});case`ES384`:return o(`ec`,{namedCurve:`P-384`});case`ES512`:return o(`ec`,{namedCurve:`P-521`});case`Ed25519`:return o(`ed25519`);case`EdDSA`:switch(t?.crv){case void 0:case`Ed25519`:return o(`ed25519`);case`Ed448`:return o(`ed448`);default:throw new a.JOSENotSupported(`Invalid or unsupported crv option provided, supported values are Ed25519 and Ed448`)}case`ECDH-ES`:case`ECDH-ES+A128KW`:case`ECDH-ES+A192KW`:case`ECDH-ES+A256KW`:{let e=t?.crv??`P-256`;switch(e){case void 0:case`P-256`:case`P-384`:case`P-521`:return o(`ec`,{namedCurve:e});case`X25519`:return o(`x25519`);case`X448`:return o(`x448`);default:throw new a.JOSENotSupported(`Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448`)}}default:throw new a.JOSENotSupported(`Invalid or unsupported JWK "alg" (Algorithm) Parameter value`)}}})),Qc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.generateKeyPair=n;let t=Zc();async function n(e,n){return(0,t.generateKeyPair)(e,n)}})),$c=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.generateSecret=n;let t=Zc();async function n(e,n){return(0,t.generateSecret)(e,n)}})),el=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=`node:crypto`})),tl=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=el().default})),nl=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.cryptoRuntime=e.base64url=e.generateSecret=e.generateKeyPair=e.errors=e.decodeJwt=e.decodeProtectedHeader=e.importJWK=e.importX509=e.importPKCS8=e.importSPKI=e.exportJWK=e.exportSPKI=e.exportPKCS8=e.UnsecuredJWT=e.experimental_jwksCache=e.jwksCache=e.createRemoteJWKSet=e.createLocalJWKSet=e.EmbeddedJWK=e.calculateJwkThumbprintUri=e.calculateJwkThumbprint=e.EncryptJWT=e.SignJWT=e.GeneralSign=e.FlattenedSign=e.CompactSign=e.FlattenedEncrypt=e.CompactEncrypt=e.jwtDecrypt=e.jwtVerify=e.generalVerify=e.flattenedVerify=e.compactVerify=e.GeneralEncrypt=e.generalDecrypt=e.flattenedDecrypt=e.compactDecrypt=void 0;var t=pc();Object.defineProperty(e,"compactDecrypt",{enumerable:!0,get:function(){return t.compactDecrypt}});var n=fc();Object.defineProperty(e,"flattenedDecrypt",{enumerable:!0,get:function(){return n.flattenedDecrypt}});var r=mc();Object.defineProperty(e,"generalDecrypt",{enumerable:!0,get:function(){return r.generalDecrypt}});var i=bc();Object.defineProperty(e,"GeneralEncrypt",{enumerable:!0,get:function(){return i.GeneralEncrypt}});var a=Oc();Object.defineProperty(e,"compactVerify",{enumerable:!0,get:function(){return a.compactVerify}});var o=Dc();Object.defineProperty(e,"flattenedVerify",{enumerable:!0,get:function(){return o.flattenedVerify}});var s=kc();Object.defineProperty(e,"generalVerify",{enumerable:!0,get:function(){return s.generalVerify}});var c=Nc();Object.defineProperty(e,"jwtVerify",{enumerable:!0,get:function(){return c.jwtVerify}});var l=Pc();Object.defineProperty(e,"jwtDecrypt",{enumerable:!0,get:function(){return l.jwtDecrypt}});var u=Fc();Object.defineProperty(e,"CompactEncrypt",{enumerable:!0,get:function(){return u.CompactEncrypt}});var d=yc();Object.defineProperty(e,"FlattenedEncrypt",{enumerable:!0,get:function(){return d.FlattenedEncrypt}});var f=Lc();Object.defineProperty(e,"CompactSign",{enumerable:!0,get:function(){return f.CompactSign}});var p=Ic();Object.defineProperty(e,"FlattenedSign",{enumerable:!0,get:function(){return p.FlattenedSign}});var m=Rc();Object.defineProperty(e,"GeneralSign",{enumerable:!0,get:function(){return m.GeneralSign}});var h=Bc();Object.defineProperty(e,"SignJWT",{enumerable:!0,get:function(){return h.SignJWT}});var g=Vc();Object.defineProperty(e,"EncryptJWT",{enumerable:!0,get:function(){return g.EncryptJWT}});var _=Hc();Object.defineProperty(e,"calculateJwkThumbprint",{enumerable:!0,get:function(){return _.calculateJwkThumbprint}}),Object.defineProperty(e,"calculateJwkThumbprintUri",{enumerable:!0,get:function(){return _.calculateJwkThumbprintUri}});var v=Uc();Object.defineProperty(e,"EmbeddedJWK",{enumerable:!0,get:function(){return v.EmbeddedJWK}});var y=Wc();Object.defineProperty(e,"createLocalJWKSet",{enumerable:!0,get:function(){return y.createLocalJWKSet}});var b=Kc();Object.defineProperty(e,"createRemoteJWKSet",{enumerable:!0,get:function(){return b.createRemoteJWKSet}}),Object.defineProperty(e,"jwksCache",{enumerable:!0,get:function(){return b.jwksCache}}),Object.defineProperty(e,"experimental_jwksCache",{enumerable:!0,get:function(){return b.experimental_jwksCache}});var x=qc();Object.defineProperty(e,"UnsecuredJWT",{enumerable:!0,get:function(){return x.UnsecuredJWT}});var S=_c();Object.defineProperty(e,"exportPKCS8",{enumerable:!0,get:function(){return S.exportPKCS8}}),Object.defineProperty(e,"exportSPKI",{enumerable:!0,get:function(){return S.exportSPKI}}),Object.defineProperty(e,"exportJWK",{enumerable:!0,get:function(){return S.exportJWK}});var C=ac();Object.defineProperty(e,"importSPKI",{enumerable:!0,get:function(){return C.importSPKI}}),Object.defineProperty(e,"importPKCS8",{enumerable:!0,get:function(){return C.importPKCS8}}),Object.defineProperty(e,"importX509",{enumerable:!0,get:function(){return C.importX509}}),Object.defineProperty(e,"importJWK",{enumerable:!0,get:function(){return C.importJWK}});var w=Yc();Object.defineProperty(e,"decodeProtectedHeader",{enumerable:!0,get:function(){return w.decodeProtectedHeader}});var ee=Xc();Object.defineProperty(e,"decodeJwt",{enumerable:!0,get:function(){return ee.decodeJwt}}),e.errors=X();var T=Qc();Object.defineProperty(e,"generateKeyPair",{enumerable:!0,get:function(){return T.generateKeyPair}});var te=$c();Object.defineProperty(e,"generateSecret",{enumerable:!0,get:function(){return te.generateSecret}}),e.base64url=Jc();var ne=tl();Object.defineProperty(e,"cryptoRuntime",{enumerable:!0,get:function(){return ne.default}})})),rl=r(((e,t)=>{var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},s=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!a.call(e,c)&&c!==o&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},c=e=>s(n({},`__esModule`,{value:!0}),e),l={};o(l,{verifyVercelOidcToken:()=>h}),t.exports=c(l);var u=nl();let d=`https://oidc.vercel.com`,f=new URL(`https://oidc.vercel.com/.well-known/jwks`),p=[`RS256`],m=(0,u.createRemoteJWKSet)(f);async function h(e,t){let{algorithms:n,projectId:r=process.env.VERCEL_PROJECT_ID,environment:i=process.env.VERCEL_TARGET_ENV||process.env.VERCEL_ENV,ownerId:a,...o}=t??{};if(r===`*`&&a===void 0&&!g(o.audience))throw TypeError(`Expected ownerId or audience to be provided when projectId is '*'.`);let s=await(0,u.jwtVerify)(e,m,{...o,algorithms:n??p});return _(s.payload.iss),v({actual:s.payload.project_id,claim:`project_id`,env:`VERCEL_PROJECT_ID`,expected:r,option:`projectId`}),v({actual:s.payload.environment,claim:`environment`,env:`VERCEL_TARGET_ENV or VERCEL_ENV`,expected:i,option:`environment`}),y({actual:s.payload.owner_id,claim:`owner_id`,expected:a}),s}function g(e){return Array.isArray(e)?e.length>0:e!==void 0}function _(e){if(e!==d&&(typeof e!=`string`||!e.startsWith(`${d}/`)))throw TypeError(`Expected Vercel OIDC token iss claim to be "${d}" or to start with "${d}/".`)}function v({actual:e,claim:t,env:n,expected:r,option:i}){if(r!==`*`){if(r===void 0||r.length===0)throw TypeError(`Expected ${n} to be set or ${i} to be provided. Pass ${i}: '*' to allow any ${t} claim.`);if(!(Array.isArray(r)&&typeof e==`string`&&r.includes(e))&&e!==r)throw TypeError(Array.isArray(r)?`Expected Vercel OIDC token ${t} claim to be one of: ${r.map(e=>`"${e}"`).join(`, `)}.`:`Expected Vercel OIDC token ${t} claim to be "${r}".`)}}function y({actual:e,claim:t,expected:n}){if(n!==void 0&&e!==n)throw TypeError(`Expected Vercel OIDC token ${t} claim to be "${n}".`)}0&&(t.exports={verifyVercelOidcToken:h})})),il=r(((e,t)=>{var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},s=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!a.call(e,c)&&c!==o&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},c=e=>s(n({},`__esModule`,{value:!0}),e),l={};o(l,{AccessTokenMissingError:()=>m.AccessTokenMissingError,RefreshAccessTokenFailedError:()=>m.RefreshAccessTokenFailedError,exchangeVercelOidcToken:()=>h.exchangeVercelOidcToken,getContext:()=>f.getContext,getVercelOidcToken:()=>u.getVercelOidcToken,getVercelOidcTokenSync:()=>d.getVercelOidcTokenSync,getVercelToken:()=>g.getVercelToken,verifyVercelOidcToken:()=>p.verifyVercelOidcToken}),t.exports=c(l);var u=As(),d=ks(),f=Os(),p=rl(),m=Be(),h=Ds(),g=Ve();0&&(t.exports={AccessTokenMissingError,RefreshAccessTokenFailedError,exchangeVercelOidcToken,getContext,getVercelOidcToken,getVercelOidcTokenSync,getVercelToken,verifyVercelOidcToken})})),al=n(Ts(),1),ol=il();async function sl(e){let t=0,n=e.getReader(),r=[];try{for(;;){let{done:e,value:i}=await n.read();if(e)break;r.push(i),t+=i.length}}finally{n.releaseLock()}return Buffer.concat(r,t)}var cl=class{contentType=`application/json`;replacer;reviver;constructor(e={}){this.replacer=e.replacer,this.reviver=e.reviver}serialize(e){return Buffer.from(JSON.stringify(e,this.replacer),`utf8`)}async deserialize(e){let t=await sl(e);return JSON.parse(t.toString(`utf8`),this.reviver)}},ll=class extends Error{constructor(e){super(`Message ${e} not found`),this.name=`MessageNotFoundError`}},ul=class extends Error{constructor(e,t){super(`Message ${e} not available for processing${t?`: ${t}`:``}`),this.name=`MessageNotAvailableError`}},dl=class extends Error{constructor(e,t){super(`Message ${e} is corrupted: ${t}`),this.name=`MessageCorruptedError`}},fl=class extends ul{retryAfter;constructor(e,t){super(e,t===void 0?`temporarily locked. Try again later.`:`temporarily locked. Retry after ${t} seconds.`),this.name=`MessageLockedError`,this.retryAfter=t}},pl=class extends Error{retryAfter;constructor(e=`Too many requests`,t){super(e),this.name=`TooManyRequestsError`,this.retryAfter=t}},ml=class extends Error{constructor(e=`Missing or invalid authentication token`){super(e),this.name=`UnauthorizedError`}},hl=class extends Error{constructor(e=`Queue environment doesn't match token environment`){super(e),this.name=`ForbiddenError`}},gl=class extends Error{constructor(e){super(e),this.name=`BadRequestError`}},_l=class extends Error{constructor(e){super(e),this.name=`PayloadTooLargeError`}},vl=class extends Error{constructor(e=`Unexpected server error`){super(e),this.name=`InternalServerError`}},yl=class extends Error{constructor(e,t=1,n=10){super(`Invalid limit: ${e}. Limit must be between ${t} and ${n}.`),this.name=`InvalidLimitError`}},bl=class extends Error{constructor(e){super(`Message ${e} has already been processed`),this.name=`MessageAlreadyProcessedError`}},xl=class extends Error{deploymentId;constructor(e,t){super(e),this.name=`ConsumerDiscoveryError`,this.deploymentId=t}},Sl=class extends Error{constructor(e=`Consumer registry not configured`){super(e),this.name=`ConsumerRegistryNotConfiguredError`}},Cl=300,wl=30,Tl=60,El=10,Dl=3e3,Ol=3,kl=250;function Al(e){return Math.min(Tl,Math.max(El,e/5))}var jl=class{client;topicName;consumerGroupName;visibilityTimeout;constructor(e,t,n,r={}){this.client=e,this.topicName=t,this.consumerGroupName=n,this.visibilityTimeout=Math.max(wl,r.visibilityTimeoutSeconds??Cl)}isClientError(e){return e instanceof ul||e instanceof ll||e instanceof gl||e instanceof ml||e instanceof hl}isNetworkError(e){return e instanceof TypeError}async directiveCallWithRetries(e){let t;for(let n=1;n<=Ol;n++)try{return await e()}catch(e){if(t=e,n===Ol)throw e;if(e instanceof pl){if(e.retryAfter===void 0)throw e;await new Promise(t=>setTimeout(t,e.retryAfter*1e3));continue}if(!this.isNetworkError(e))throw e;let r=kl*n,i=r/2+r/2*Math.random();await new Promise(e=>setTimeout(e,i))}throw t}startVisibilityExtension(e,t){let{messageId:n,receiptHandle:r}=e,i=!0,a=!1,o,s=null,c=Al(this.visibilityTimeout)*1e3,l=c;if(t?.visibilityDeadline){let e=t.visibilityDeadline.getTime()-Date.now();l=e>0?Al(e/1e3)*1e3:0}let u=new Promise(e=>{o=e}),d=()=>{a||(a=!0,o())},f=async()=>{if(!i){d();return}try{await this.client.changeVisibility({messageId:n,queueName:this.topicName,consumerGroup:this.consumerGroupName,receiptHandle:r,visibilityTimeoutSeconds:this.visibilityTimeout}),i?s=setTimeout(()=>f(),c):d()}catch(e){if(this.isClientError(e)){console.error(`Visibility extension failed with client error for receipt handle ${r} (stopping retries):`,e),d();return}console.error(`Failed to extend visibility for receipt handle ${r} (will retry in ${Dl/1e3}s):`,e),i?s=setTimeout(()=>f(),Dl):d()}};return s=setTimeout(()=>f(),l),async(e=!1)=>{i=!1,s&&=(clearTimeout(s),null),e?await u:d()}}async finalizePayload(e){let t=this.client.getTransport();if(t.finalize&&e!=null)try{await t.finalize(e)}catch(e){console.warn(`Failed to finalize message payload:`,e)}}async processMessage(e,t,n){let r=this.startVisibilityExtension(e,n),i={messageId:e.messageId,deliveryCount:e.deliveryCount,createdAt:e.createdAt,expiresAt:e.expiresAt??new Date(e.createdAt.getTime()+864e5),topicName:this.topicName,consumerGroup:this.consumerGroupName,region:this.client.getRegion()};try{await t(e.payload,i),await r(),await this.client.acknowledgeMessage({messageId:e.messageId,queueName:this.topicName,consumerGroup:this.consumerGroupName,receiptHandle:e.receiptHandle})}catch(t){if(await r(),n?.retry){let r;try{r=n.retry(t,i)}catch(e){console.warn(`retry handler threw:`,e)}if(r){if(`acknowledge`in r&&r.acknowledge){try{await this.directiveCallWithRetries(()=>this.client.acknowledgeMessage({messageId:e.messageId,queueName:this.topicName,consumerGroup:this.consumerGroupName,receiptHandle:e.receiptHandle}))}catch(e){console.warn(`Failed to acknowledge message:`,e)}await this.finalizePayload(e.payload);return}if(`afterSeconds`in r&&typeof r.afterSeconds==`number`){try{await this.directiveCallWithRetries(()=>this.client.changeVisibility({messageId:e.messageId,queueName:this.topicName,consumerGroup:this.consumerGroupName,receiptHandle:e.receiptHandle,visibilityTimeoutSeconds:r.afterSeconds}))}catch(e){console.warn(`Failed to reschedule message for retry:`,e)}await this.finalizePayload(e.payload);return}}}throw await this.finalizePayload(e.payload),t}}async consumeMessage(e,t,n){await this.processMessage(t,e,n)}async consume(e,t){let n=t?.retry;if(t&&`messageId`in t){let r=await this.client.receiveMessageById({queueName:this.topicName,consumerGroup:this.consumerGroupName,messageId:t.messageId,visibilityTimeoutSeconds:this.visibilityTimeout});return await this.processMessage(r.message,e,{retry:n}),1}{let r=t&&`limit`in t?t.limit:1,i=0;for await(let a of this.client.receiveMessages({queueName:this.topicName,consumerGroup:this.consumerGroupName,visibilityTimeoutSeconds:this.visibilityTimeout,limit:r,cursorFallback:t&&`cursorFallback`in t?t.cursorFallback:void 0}))i++,await this.processMessage(a,e,{retry:n});return i}}get name(){return this.consumerGroupName}get topic(){return this.topicName}},Ml=class{client;topicName;constructor(e,t){this.client=e,this.topicName=t}async publish(e,t){let n=await this.client.sendMessage({queueName:this.topicName,payload:e,idempotencyKey:t?.idempotencyKey,retentionSeconds:t?.retentionSeconds,delaySeconds:t?.delaySeconds,headers:t?.headers,telemetry:t?.telemetry});return n.messageId&&Kl()&&!this.client.usesLocalBroker()&&Nu(this.topicName,n.messageId,this.client.getRegion(),t?.delaySeconds,t?.retentionSeconds),{messageId:n.messageId}}consumerGroup(e,t){return new jl(this.client,this.topicName,e,t)}get name(){return this.topicName}},Nl=`com.vercel.queue.v1beta`,Pl=`com.vercel.queue.v2beta`;function Fl(e,t){let n=t.slice(0,-1);return e.startsWith(n)}function Il(e){return typeof e==`object`&&!!e}function Ll(e,t){if(!t||!t.includes(`application/cloudevents+json`))throw Error(`Invalid content type: expected 'application/cloudevents+json'`);if(!Il(e)||!e.type||!e.source||!e.id||!Il(e.data))throw Error(`Invalid CloudEvent: missing required fields`);if(e.type!==`com.vercel.queue.v1beta`)throw Error(`Invalid CloudEvent type: expected '${Nl}', got '${String(e.type)}'`);let{data:n}=e,r=[];if(`queueName`in n||r.push(`queueName`),`consumerGroup`in n||r.push(`consumerGroup`),`messageId`in n||r.push(`messageId`),r.length>0)throw Error(`Missing required CloudEvent data fields: ${r.join(`, `)}`);return{queueName:String(n.queueName),consumerGroup:String(n.consumerGroup),messageId:String(n.messageId)}}function Rl(e,t){if(e instanceof Headers)return e.get(t);let n=e[t];return Array.isArray(n)?n[0]??null:n??null}function zl(e){let t=Rl(e,`ce-type`);if(t!==`com.vercel.queue.v2beta`)throw Error(`Invalid CloudEvent type: expected '${Pl}', got '${t}'`);let n=Rl(e,`ce-vqsqueuename`),r=Rl(e,`ce-vqsconsumergroup`),i=Rl(e,`ce-vqsmessageid`),a=[];if(n||a.push(`ce-vqsqueuename`),r||a.push(`ce-vqsconsumergroup`),i||a.push(`ce-vqsmessageid`),a.length>0)throw Error(`Missing required CloudEvent headers: ${a.join(`, `)}`);let o=Rl(e,`ce-vqsregion`)??void 0;if(o!==void 0&&!/^[a-z]{2,5}[0-9]{1,2}$/.test(o))throw Error(`Invalid ce-vqsregion header: ${JSON.stringify(o)}. Region must match /^[a-z]{2,5}[0-9]{1,2}$/ (e.g. "iad1", "lhr1").`);let s={queueName:n,consumerGroup:r,messageId:i,region:o},c=Rl(e,`ce-vqsreceipthandle`);if(!c)return s;let l={...s,receiptHandle:c},u=Rl(e,`ce-vqsdeliverycount`);u&&(l.deliveryCount=parseInt(u,10));let d=Rl(e,`ce-vqscreatedat`);d&&(l.createdAt=d);let f=Rl(e,`ce-vqsexpiresat`);f&&(l.expiresAt=f);let p=Rl(e,`content-type`);p&&(l.contentType=p);let m=Rl(e,`ce-vqsvisibilitydeadline`);return m&&(l.visibilityDeadline=m),l}function Bl(e,t){if(Rl(t,`ce-type`)===`com.vercel.queue.v2beta`){let n=zl(t);return`receiptHandle`in n&&(n.parsedPayload=e),n}return Ll(e,Rl(t,`content-type`))}async function Vl(e){if(e.headers.get(`ce-type`)===`com.vercel.queue.v2beta`){let t=zl(e.headers);return`receiptHandle`in t&&e.body&&(t.rawBody=e.body),t}let t;try{t=await e.json()}catch{throw Error(`Failed to parse CloudEvent from request body`)}let n={};return e.headers.forEach((e,t)=>{n[t]=e}),Bl(t,n)}async function Hl(e,t,n){let{queueName:r,consumerGroup:i,messageId:a}=t;if(!n?.client)throw Error(`HandleCallbackOptions.client is required`);let o=vd(n.client);t.region&&(o=o.withRegion(t.region));let s=new Ml(o,r).consumerGroup(i,n?.visibilityTimeoutSeconds===void 0?void 0:{visibilityTimeoutSeconds:n.visibilityTimeoutSeconds});if(`receiptHandle`in t){let r=o.getTransport(),i;if(t.rawBody)i=await r.deserialize(t.rawBody);else if(t.parsedPayload!==void 0)i=t.parsedPayload;else throw Error(`Binary mode callback with receipt handle is missing payload`);let c={messageId:a,payload:i,deliveryCount:t.deliveryCount??1,createdAt:t.createdAt?new Date(t.createdAt):new Date,expiresAt:t.expiresAt?new Date(t.expiresAt):void 0,contentType:t.contentType??r.contentType,receiptHandle:t.receiptHandle},l=t.visibilityDeadline?new Date(t.visibilityDeadline):void 0;await s.consumeMessage(e,c,{visibilityDeadline:l,retry:n?.retry})}else await s.consume(e,{messageId:a,retry:n?.retry})}var Q=al.default.cyan(`[queue]`),Ul=al.default.green(`✓`),Wl=al.default.red(`✗`),Gl=al.default.yellow(`↻`);function Kl(){return process.env.NODE_ENV===`development`&&process.env.VERCEL_DEPLOYMENT_ID===void 0}var ql=Symbol.for(`@vercel/queue.devRouteMappings`);function Jl(e){let t=``;for(let n of e)n===`_`?t+=`__`:n===`/`?t+=`_S`:n===`.`?t+=`_D`:/[A-Za-z0-9-]/.test(n)?t+=n:t+=`_`+n.charCodeAt(0).toString(16).toUpperCase().padStart(2,`0`);return t}function Yl(){let e=globalThis;if(ql in e)return e[ql]??null;try{let t=Ye.join(process.cwd(),`vercel.json`);if(!et.existsSync(t))return e[ql]=null,null;let n=JSON.parse(et.readFileSync(t,`utf-8`));if(!n.functions)return e[ql]=null,null;let r=[];for(let[e,t]of Object.entries(n.functions))if(t.experimentalTriggers){for(let n of t.experimentalTriggers)if(n.type?.startsWith(`queue/`)&&n.topic){if(n.type!==`queue/v2beta`){console.warn(`${Q} Unsupported trigger type "${n.type}" for topic "${n.topic}" in ${e}. Use "queue/v2beta" instead.`);continue}r.push({filePath:e,topic:n.topic,consumer:Jl(e),retryAfterSeconds:n.retryAfterSeconds})}}return e[ql]=r.length>0?r:null,e[ql]}catch(t){return console.warn(`${Q} Failed to read vercel.json:`,t),e[ql]=null,null}}function Xl(e){let t=Yl();return t?t.filter(t=>t.topic.includes(`*`)?Fl(e,t.topic):t.topic===e):[]}function Zl(e,t){return Xl(e).find(e=>e.consumer===t)?.retryAfterSeconds}function Ql(e){return/^src\/(app|pages|server)\//.test(e)?e.slice(4):null}function $l(e,t){return e===t||q(e,t)}function eu(e){let t=Yl();if(!t)return[];let n=process.cwd(),r;try{r=Ye.relative(n,e)}catch{return[]}let i=r.replace(/\\/g,`/`),a=Ql(i);return t.filter(e=>$l(i,e.filePath)||a!==null&&$l(a,e.filePath))}function tu(e){let t=e.match(/\((.+?):\d+:\d+\)/);if(t||=e.match(/at\s+(.+?):\d+:\d+/),!t)return null;let n=t[1].trim();if(n===`native`||n.startsWith(`node:`)||n.startsWith(`internal`))return null;if(n.startsWith(`file://`))try{n=new URL(n).pathname}catch{return null}return/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\//.test(n)?null:(n.startsWith(`./`)&&(n=n.slice(2)),n)}var nu;function ru(){if(nu)return nu;try{let e=typeof __dirname<`u`?__dirname:Ye.dirname(new URL(import.meta.url).pathname);nu=Ye.resolve(e,`..`)}catch{nu=``}return nu}function iu(){let e=Error().stack;if(!e)return null;let t=e.split(`
|
|
11
|
-
`).slice(1),n=
|
|
9
|
+
`)(e,n),a=2),i===-1){let t=e.subarray(n);if(t.length>this.maxHeaderSize)throw new K(`Headers too large: ${t.length} > ${this.maxHeaderSize} bytes`);this.buffer=t;break}let o=e.subarray(n,i);this.currentHeaders=_o(o);let s=this.createStreamingMessage();t.push(s),n=i+a,this.state=3;continue}if(this.state===0){if(r<this.openingBoundaryLength){if(e.length>this.maxBoundaryBuffer)throw new K(`Initial chunk too large for boundary detection: ${e.length} > ${this.maxBoundaryBuffer}`);this.buffer=e;break}if(this.findOpeningBoundary(e)!==0)throw new K(`Invalid multipart stream: missing initial boundary`);n=this.openingBoundaryLength,this.state=1}}return t}createStreamingMessage(){let e=new Headers(this.currentHeaders),t=new ReadableStream({start:e=>{this.currentPayloadController=e}});return this.currentHeaders=new Headers,{headers:e,payload:t}}writeBody(e){this.currentPayloadController&&this.currentPayloadController.enqueue(e)}finishMessage(){this.currentPayloadController&&=(this.currentPayloadController.close(),null)}closeCurrentPayload(e){if(this.currentPayloadController){try{e?this.currentPayloadController.error(e):this.currentPayloadController.close()}catch{}this.currentPayloadController=null}}};const So=(e,t,n)=>{let r=e instanceof RegExp?Co(e,n):e,i=t instanceof RegExp?Co(t,n):t,a=r!==null&&i!=null&&wo(r,i,n);return a&&{start:a[0],end:a[1],pre:n.slice(0,a[0]),body:n.slice(a[0]+r.length,a[1]),post:n.slice(a[1]+i.length)}},Co=(e,t)=>{let n=t.match(e);return n?n[0]:null},wo=(e,t,n)=>{let r,i,a,o,s,c=n.indexOf(e),l=n.indexOf(t,c+1),u=c;if(c>=0&&l>0){if(e===t)return[c,l];for(r=[],a=n.length;u>=0&&!s;){if(u===c)r.push(u),c=n.indexOf(e,u+1);else if(r.length===1){let e=r.pop();e!==void 0&&(s=[e,l])}else i=r.pop(),i!==void 0&&i<a&&(a=i,o=l),l=n.indexOf(t,u+1);u=c<l&&c>=0?c:l}r.length&&o!==void 0&&(s=[a,o])}return s},To=`\0SLASH`+Math.random()+`\0`,Eo=`\0OPEN`+Math.random()+`\0`,Do=`\0CLOSE`+Math.random()+`\0`,Oo=`\0COMMA`+Math.random()+`\0`,ko=`\0PERIOD`+Math.random()+`\0`,Ao=new RegExp(To,`g`),jo=new RegExp(Eo,`g`),Mo=new RegExp(Do,`g`),No=new RegExp(Oo,`g`),Po=new RegExp(ko,`g`),Fo=/\\\\/g,Io=/\\{/g,Lo=/\\}/g,Ro=/\\,/g,zo=/\\\./g;function Bo(e){return isNaN(e)?e.charCodeAt(0):parseInt(e,10)}function Vo(e){return e.replace(Fo,To).replace(Io,Eo).replace(Lo,Do).replace(Ro,Oo).replace(zo,ko)}function Ho(e){return e.replace(Ao,`\\`).replace(jo,`{`).replace(Mo,`}`).replace(No,`,`).replace(Po,`.`)}function Uo(e,t){for(let n=0;n<t.length;n++)e.push(t[n])}function Wo(e){let t=[],n=``;for(;;){let r=So(`{`,`}`,e);if(!r){let r=e.split(`,`);return r[0]=n+r[0],Uo(t,r),t}let{pre:i,body:a,post:o}=r,s=i.split(`,`);if(s[0]=n+s[0],s[s.length-1]+=`{`+a+`}`,!o.length)return Uo(t,s),t;n=s.pop(),Uo(t,s),e=o}}function Go(e,t={}){if(!e)return[];let{max:n=1e5,maxLength:r=4e6,maxDepth:i=1e3,maxRewrites:a=1e3}=t;return e.slice(0,2)===`{}`&&(e=`\\{\\}`+e.slice(2)),Qo(Vo(e),n,r,i,0,a,!0).map(Ho)}function Ko(e){return`{`+e+`}`}function qo(e){return/^-?0\d/.test(e)}function Jo(e,t){return e<=t}function Yo(e,t){return e>=t}function Xo(e,t,n,r,i,a){let o=[],s=0;for(let c=0;c<e.length;c++)for(let l=0;l<n.length;l++){if(o.length>=r)return o;let u=e[c]+t+n[l];if(!a||u){if(s+u.length>i)return o;o.push(u),s+=u.length}}return o}function Zo(e,t,n,r){let i=e.split(/\.\./),a=[];if(i[0]===void 0||i[1]===void 0)return a;let o=Bo(i[0]),s=Bo(i[1]),c=Math.max(i[0].length,i[1].length),l=i.length===3&&i[2]!==void 0?Math.max(Math.abs(Bo(i[2])),1):1,u=Jo;s<o&&(l*=-1,u=Yo);let d=i.some(qo),f=0;for(let e=o;u(e,s)&&a.length<n;e+=l){let n;if(t)n=String.fromCharCode(e),n===`\\`&&(n=``);else if(n=String(e),d){let t=c-n.length;if(t>0){let r=Array(t+1).join(`0`);n=e<0?`-`+r+n.slice(1):r+n}}if(f+n.length>r)break;a.push(n),f+=n.length}return a}function Qo(e,t,n,r,i,a,o){if(i>r)return[e];let s=[``],c=0,l=!1,u=!0;for(;;){let d=So(`{`,`}`,e);if(!d)return Xo(s,e,[``],t,n,l);let f=d.pre;if(/\$$/.test(f)){if(s=Xo(s,f+`{`+d.body+`}`,[``],t,n,l&&!d.post.length),u=!1,!d.post.length)break;e=d.post;continue}let p=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(d.body),m=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(d.body),h=p||m,g=d.body.indexOf(`,`)>=0;if(!h&&!g){if(c<a&&d.post.match(/,(?!,).*\}/)){c++,e=d.pre+`{`+d.body+Do+d.post,o=!0;continue}return Xo(s,f+`{`+d.body+`}`+d.post,[``],t,n,l)}u&&=(l=o&&!h,!1);let _;if(h)_=Zo(d.body,m,t,n);else{let o=Wo(d.body);if(o.length===1&&o[0]!==void 0&&(o=Qo(o[0],t,n,r,i+1,a,!1).map(Ko),o.length===1)){if(s=Xo(s,f+o[0],[``],t,n,l&&!d.post.length),!d.post.length)break;e=d.post;continue}let c=l&&!d.post.length&&!f;for(let e=0;c&&e<s.length;e++)s[e]&&(c=!1);_=[];let u=0;outer:for(let e=0;e<o.length;e++){let s=Qo(o[e],t,n,r,i+1,a,!1);for(let e=0;e<s.length;e++){let r=s[e];if(!c||r){if(_.length>=t||u+r.length>n)break outer;_.push(r),u+=r.length}}}}if(s=Xo(s,f,_,t,n,l&&!d.post.length),!d.post.length)break;e=d.post}return s}const $o=e=>{if(typeof e!=`string`)throw TypeError(`invalid pattern`);if(e.length>65536)throw TypeError(`pattern is too long`)},es={"[:alnum:]":[`\\p{L}\\p{Nl}\\p{Nd}`,!0],"[:alpha:]":[`\\p{L}\\p{Nl}`,!0],"[:ascii:]":[`\\x00-\\x7f`,!1],"[:blank:]":[`\\p{Zs}\\t`,!0],"[:cntrl:]":[`\\p{Cc}`,!0],"[:digit:]":[`\\p{Nd}`,!0],"[:graph:]":[`\\p{Z}\\p{C}`,!0,!0],"[:lower:]":[`\\p{Ll}`,!0],"[:print:]":[`\\p{C}`,!0],"[:punct:]":[`\\p{P}`,!0],"[:space:]":[`\\p{Z}\\t\\r\\n\\v\\f`,!0],"[:upper:]":[`\\p{Lu}`,!0],"[:word:]":[`\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}`,!0],"[:xdigit:]":[`A-Fa-f0-9`,!1]},ts=e=>e.replace(/[[\]\\-]/g,`\\$&`),ns=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,`\\$&`),rs=e=>e.join(``),is=(e,t)=>{let n=t;if(e.charAt(n)!==`[`)throw Error(`not in a brace expression`);let r=[],i=[],a=n+1,o=!1,s=!1,c=!1,l=!1,u=n,d=``;WHILE:for(;a<e.length;){let t=e.charAt(a);if((t===`!`||t===`^`)&&a===n+1){l=!0,a++;continue}if(t===`]`&&o&&!c){u=a+1;break}if(o=!0,t===`\\`&&!c){c=!0,a++;continue}if(t===`[`&&!c){for(let[t,[o,c,l]]of Object.entries(es))if(e.startsWith(t,a)){if(d)return[`$.`,!1,e.length-n,!0];a+=t.length,l?i.push(o):r.push(o),s||=c;continue WHILE}}if(c=!1,d){t>d?r.push(ts(d)+`-`+ts(t)):t===d&&r.push(ts(t)),d=``,a++;continue}if(e.startsWith(`-]`,a+1)){r.push(ts(t+`-`)),a+=2;continue}if(e.startsWith(`-`,a+1)){d=t,a+=2;continue}r.push(ts(t)),a++}if(u<a)return[``,!1,0,!1];if(!r.length&&!i.length)return[`$.`,!1,e.length-n,!0];if(i.length===0&&r.length===1&&/^\\?.$/.test(r[0])&&!l){let e=r[0].length===2?r[0].slice(-1):r[0];return[ns(e),!1,u-n,!1]}let f=`[`+(l?`^`:``)+rs(r)+`]`,p=`[`+(l?``:`^`)+rs(i)+`]`;return[r.length&&i.length?`(`+f+`|`+p+`)`:r.length?f:p,s,u-n,!0]},as=(e,{windowsPathsNoEscape:t=!1,magicalBraces:n=!0}={})=>n?t?e.replace(/\[([^/\\])\]/g,`$1`):e.replace(/((?!\\).|^)\[([^/\\])\]/g,`$1$2`).replace(/\\([^/])/g,`$1`):t?e.replace(/\[([^/\\{}])\]/g,`$1`):e.replace(/((?!\\).|^)\[([^/\\{}])\]/g,`$1$2`).replace(/\\([^/{}])/g,`$1`);var os;const ss=new Set([`!`,`?`,`+`,`*`,`@`]),cs=e=>ss.has(e),ls=e=>cs(e.type),us=new Map([[`!`,[`@`]],[`?`,[`?`,`@`]],[`@`,[`@`]],[`*`,[`*`,`+`,`?`,`@`]],[`+`,[`+`,`@`]]]),ds=new Map([[`!`,[`?`]],[`@`,[`?`]],[`+`,[`?`,`*`]]]),fs=new Map([[`!`,[`?`,`@`]],[`?`,[`?`,`@`]],[`@`,[`?`,`@`]],[`*`,[`*`,`+`,`?`,`@`]],[`+`,[`+`,`@`,`?`,`*`]]]),ps=new Map([[`!`,new Map([[`!`,`@`]])],[`?`,new Map([[`*`,`*`],[`+`,`*`]])],[`@`,new Map([[`!`,`!`],[`?`,`?`],[`@`,`@`],[`*`,`*`],[`+`,`+`]])],[`+`,new Map([[`?`,`*`],[`*`,`*`]])]]),ms=`(?!\\.)`,hs=new Set([`[`,`.`]),gs=new Set([`..`,`.`]),_s=new Set(`().*{}+?[]^$\\!`),vs=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,`\\$&`),ys=`[^/]+?`;let bs=0;var xs=class{type;#e;#t;#n=!1;#r=[];#i;#a;#o;#s=!1;#c;#l;#u=!1;id=++bs;get depth(){return(this.#i?.depth??-1)+1}[Symbol.for(`nodejs.util.inspect.custom`)](){return{"@@type":`AST`,id:this.id,type:this.type,root:this.#e.id,parent:this.#i?.id,depth:this.depth,partsLength:this.#r.length,parts:this.#r}}constructor(e,t,n={}){this.type=e,e&&(this.#t=!0),this.#i=t,this.#e=this.#i?this.#i.#e:this,this.#c=this.#e===this?n:this.#e.#c,this.#o=this.#e===this?[]:this.#e.#o,e===`!`&&!this.#e.#s&&this.#o.push(this),this.#a=this.#i?this.#i.#r.length:0}get hasMagic(){if(this.#t!==void 0)return this.#t;for(let e of this.#r)if(typeof e!=`string`&&(e.type||e.hasMagic))return this.#t=!0;return this.#t}toString(){return this.#l===void 0?this.#l=this.type?this.type+`(`+this.#r.map(e=>String(e)).join(`|`)+`)`:this.#r.map(e=>String(e)).join(``):this.#l}#d(){if(this!==this.#e)throw Error(`should only call on root`);if(this.#s)return this;this.toString(),this.#s=!0;let e;for(;e=this.#o.pop();){if(e.type!==`!`)continue;let t=e,n=t.#i;for(;n;){for(let r=t.#a+1;!n.type&&r<n.#r.length;r++)for(let t of e.#r){if(typeof t==`string`)throw Error(`string part in extglob AST??`);t.copyIn(n.#r[r])}t=n,n=t.#i}}return this}push(...e){for(let t of e)if(t!==``){if(typeof t!=`string`&&!(t instanceof os&&t.#i===this))throw Error(`invalid part: `+t);this.#r.push(t)}}toJSON(){let e=this.type===null?this.#r.slice().map(e=>typeof e==`string`?e:e.toJSON()):[this.type,...this.#r.map(e=>e.toJSON())];return this.isStart()&&!this.type&&e.unshift([]),this.isEnd()&&(this===this.#e||this.#e.#s&&this.#i?.type===`!`)&&e.push({}),e}isStart(){if(this.#e===this)return!0;if(!this.#i?.isStart())return!1;if(this.#a===0)return!0;let e=this.#i;for(let t=0;t<this.#a;t++){let n=e.#r[t];if(!(n instanceof os&&n.type===`!`))return!1}return!0}isEnd(){if(this.#e===this||this.#i?.type===`!`)return!0;if(!this.#i?.isEnd())return!1;if(!this.type)return this.#i?.isEnd();let e=this.#i?this.#i.#r.length:0;return this.#a===e-1}copyIn(e){typeof e==`string`?this.push(e):this.push(e.clone(this))}clone(e){let t=new os(this.type,e);for(let e of this.#r)t.copyIn(e);return t}static#f(e,t,n,r,i){let a=r.maxExtglobRecursion??2,o=!1,s=!1,c=-1,l=!1;if(t.type===null){let u=n,d=``;for(;u<e.length;){let n=e.charAt(u++);if(o||n===`\\`){o=!o,d+=n;continue}if(s){u===c+1?(n===`^`||n===`!`)&&(l=!0):n===`]`&&!(u===c+2&&l)&&(s=!1),d+=n;continue}if(n===`[`){s=!0,c=u,l=!1,d+=n;continue}if(!r.noext&&cs(n)&&e.charAt(u)===`(`&&i<=a){t.push(d),d=``;let a=new os(n,t);u=os.#f(e,a,u,r,i+1),t.push(a);continue}d+=n}return t.push(d),u}let u=n+1,d=new os(null,t),f=[],p=``;for(;u<e.length;){let n=e.charAt(u++);if(o||n===`\\`){o=!o,p+=n;continue}if(s){u===c+1?(n===`^`||n===`!`)&&(l=!0):n===`]`&&!(u===c+2&&l)&&(s=!1),p+=n;continue}if(n===`[`){s=!0,c=u,l=!1,p+=n;continue}if(!r.noext&&cs(n)&&e.charAt(u)===`(`&&(i<=a||t&&t.#h(n))){let a=t&&t.#h(n)?0:1;d.push(p),p=``;let o=new os(n,d);d.push(o),u=os.#f(e,o,u,r,i+a);continue}if(n===`|`){d.push(p),p=``,f.push(d),d=new os(null,t);continue}if(n===`)`)return p===``&&t.#r.length===0&&(t.#u=!0),d.push(p),p=``,t.push(...f,d),u;p+=n}return t.type=null,t.#t=void 0,t.#r=[e.substring(n-1)],u}#p(e){return this.#m(e,ds)}#m(e,t=us){if(!e||typeof e!=`object`||e.type!==null||e.#r.length!==1||this.type===null)return!1;let n=e.#r[0];return!n||typeof n!=`object`||n.type===null?!1:this.#h(n.type,t)}#h(e,t=fs){return!!t.get(this.type)?.includes(e)}#g(e,t){let n=e.#r[0],r=new os(null,n,this.options);r.#r.push(``),n.push(r),this.#_(e,t)}#_(e,t){let n=e.#r[0];this.#r.splice(t,1,...n.#r);for(let e of n.#r)typeof e==`object`&&(e.#i=this);this.#l=void 0}#v(e){return!!ps.get(this.type)?.has(e)}#y(e){if(!e||typeof e!=`object`||e.type!==null||e.#r.length!==1||this.type===null||this.#r.length!==1)return!1;let t=e.#r[0];return!t||typeof t!=`object`||t.type===null?!1:this.#v(t.type)}#b(e){let t=ps.get(this.type),n=e.#r[0],r=t?.get(n.type);if(!r)return!1;this.#r=n.#r;for(let e of this.#r)typeof e==`object`&&(e.#i=this);this.type=r,this.#l=void 0,this.#u=!1}static fromGlob(e,t={}){let n=new os(null,void 0,t);return os.#f(e,n,0,t,0),n}toMMPattern(){if(this!==this.#e)return this.#e.toMMPattern();let e=this.toString(),[t,n,r,i]=this.toRegExpSource();if(!(r||this.#t||this.#c.nocase&&!this.#c.nocaseMagicOnly&&e.toUpperCase()!==e.toLowerCase()))return n;let a=(this.#c.nocase?`i`:``)+(i?`u`:``);return Object.assign(RegExp(`^${t}$`,a),{_src:t,_glob:e})}get options(){return this.#c}toRegExpSource(e){let t=e??!!this.#c.dot;if(this.#e===this&&(this.#x(),this.#d()),!ls(this)){let n=this.isStart()&&this.isEnd()&&!this.#r.some(e=>typeof e!=`string`),r=this.#r.map(t=>{let[r,i,a,o]=typeof t==`string`?os.#C(t,this.#t,n):t.toRegExpSource(e);return this.#t=this.#t||a,this.#n=this.#n||o,r}).join(``),i=``;if(this.isStart()&&typeof this.#r[0]==`string`&&!(this.#r.length===1&&gs.has(this.#r[0]))){let n=hs,a=t&&n.has(r.charAt(0))||r.startsWith(`\\.`)&&n.has(r.charAt(2))||r.startsWith(`\\.\\.`)&&n.has(r.charAt(4)),o=!t&&!e&&n.has(r.charAt(0));i=a?`(?!(?:^|/)\\.\\.?(?:$|/))`:o?ms:``}let a=``;return this.isEnd()&&this.#e.#s&&this.#i?.type===`!`&&(a=`(?:$|\\/)`),[i+r+a,as(r),this.#t=!!this.#t,this.#n]}let n=this.type===`*`||this.type===`+`,r=this.type===`!`?`(?:(?!(?:`:`(?:`,i=this.#S(t);if(this.isStart()&&this.isEnd()&&!i&&this.type!==`!`){let e=this.toString(),t=this;return t.#r=[e],t.type=null,t.#t=void 0,[e,as(this.toString()),!1,!1]}let a=!n||e||t?``:this.#S(!0);a===i&&(a=``),a&&(i=`(?:${i})(?:${a})*?`);let o=``;if(this.type===`!`&&this.#u)o=(this.isStart()&&!t?ms:``)+ys;else{let n=this.type===`!`?`))`+(this.isStart()&&!t&&!e?ms:``)+`[^/]*?)`:this.type===`@`?`)`:this.type===`?`?`)?`:this.type===`+`&&a?`)`:this.type===`*`&&a?`)?`:`)${this.type}`;o=r+i+n}return[o,as(i),this.#t=!!this.#t,this.#n]}#x(){if(ls(this)){let e=0,t=!1;do{t=!0;for(let e=0;e<this.#r.length;e++){let n=this.#r[e];typeof n==`object`&&(n.#x(),this.#m(n)?(t=!1,this.#_(n,e)):this.#p(n)?(t=!1,this.#g(n,e)):this.#y(n)&&(t=!1,this.#b(n)))}}while(!t&&++e<10)}else for(let e of this.#r)typeof e==`object`&&e.#x();this.#l=void 0}#S(e){return this.#r.map(t=>{if(typeof t==`string`)throw Error(`string type in extglob ast??`);let[n,r,i,a]=t.toRegExpSource(e);return this.#n=this.#n||a,n}).filter(e=>!(this.isStart()&&this.isEnd())||!!e).join(`|`)}static#C(e,t,n=!1){let r=!1,i=``,a=!1,o=!1;for(let s=0;s<e.length;s++){let c=e.charAt(s);if(r){r=!1,i+=(_s.has(c)?`\\`:``)+c;continue}if(c===`*`){if(o)continue;o=!0,i+=n&&/^[*]+$/.test(e)?ys:`[^/]*?`,t=!0;continue}if(o=!1,c===`\\`){s===e.length-1?i+=`\\\\`:r=!0;continue}if(c===`[`){let[n,r,o,c]=is(e,s);if(o){i+=n,a||=r,s+=o-1,t||=c;continue}}if(c===`?`){i+=`[^/]`,t=!0;continue}i+=vs(c)}return[i,as(e),!!t,a]}};os=xs;const Ss=(e,{windowsPathsNoEscape:t=!1,magicalBraces:n=!1}={})=>n?t?e.replace(/[?*()[\]{}]/g,`[$&]`):e.replace(/[?*()[\]\\{}]/g,`\\$&`):t?e.replace(/[?*()[\]]/g,`[$&]`):e.replace(/[?*()[\]\\]/g,`\\$&`),q=(e,t,n={})=>($o(t),!n.nocomment&&t.charAt(0)===`#`?!1:new Ys(t,n).match(e)),Cs=/^\*+([^+@!?*[(]*)$/,ws=e=>t=>!t.startsWith(`.`)&&t.endsWith(e),Ts=e=>t=>t.endsWith(e),Es=e=>(e=e.toLowerCase(),t=>!t.startsWith(`.`)&&t.toLowerCase().endsWith(e)),Ds=e=>(e=e.toLowerCase(),t=>t.toLowerCase().endsWith(e)),Os=/^\*+\.\*+$/,ks=e=>!e.startsWith(`.`)&&e.includes(`.`),As=e=>e!==`.`&&e!==`..`&&e.includes(`.`),js=/^\.\*+$/,Ms=e=>e!==`.`&&e!==`..`&&e.startsWith(`.`),Ns=/^\*+$/,Ps=e=>e.length!==0&&!e.startsWith(`.`),Fs=e=>e.length!==0&&e!==`.`&&e!==`..`,Is=/^\?+([^+@!?*[(]*)?$/,Ls=([e,t=``])=>{let n=Vs([e]);return t?(t=t.toLowerCase(),e=>n(e)&&e.toLowerCase().endsWith(t)):n},Rs=([e,t=``])=>{let n=Hs([e]);return t?(t=t.toLowerCase(),e=>n(e)&&e.toLowerCase().endsWith(t)):n},zs=([e,t=``])=>{let n=Hs([e]);return t?e=>n(e)&&e.endsWith(t):n},Bs=([e,t=``])=>{let n=Vs([e]);return t?e=>n(e)&&e.endsWith(t):n},Vs=([e])=>{let t=e.length;return e=>e.length===t&&!e.startsWith(`.`)},Hs=([e])=>{let t=e.length;return e=>e.length===t&&e!==`.`&&e!==`..`},Us=typeof process==`object`&&process?typeof process.env==`object`&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:`posix`,Ws={win32:{sep:`\\`},posix:{sep:`/`}};q.sep=Us===`win32`?Ws.win32.sep:Ws.posix.sep;const J=Symbol(`globstar **`);q.GLOBSTAR=J,q.filter=(e,t={})=>n=>q(n,e,t);const Gs=(e,t={})=>Object.assign({},e,t);q.defaults=e=>{if(!e||typeof e!=`object`||!Object.keys(e).length)return q;let t=q;return Object.assign((n,r,i={})=>t(n,r,Gs(e,i)),{Minimatch:class extends t.Minimatch{constructor(t,n={}){super(t,Gs(e,n))}static defaults(n){return t.defaults(Gs(e,n)).Minimatch}},AST:class extends t.AST{constructor(t,n,r={}){super(t,n,Gs(e,r))}static fromGlob(n,r={}){return t.AST.fromGlob(n,Gs(e,r))}},unescape:(n,r={})=>t.unescape(n,Gs(e,r)),escape:(n,r={})=>t.escape(n,Gs(e,r)),filter:(n,r={})=>t.filter(n,Gs(e,r)),defaults:n=>t.defaults(Gs(e,n)),makeRe:(n,r={})=>t.makeRe(n,Gs(e,r)),braceExpand:(n,r={})=>t.braceExpand(n,Gs(e,r)),match:(n,r,i={})=>t.match(n,r,Gs(e,i)),sep:t.sep,GLOBSTAR:J})};const Ks=(e,t={})=>($o(e),t.nobrace||!/\{(?:(?!\{).)*\}/.test(e)?[e]:Go(e,{max:t.braceExpandMax}));q.braceExpand=Ks,q.makeRe=(e,t={})=>new Ys(e,t).makeRe(),q.match=(e,t,n={})=>{let r=new Ys(t,n);return e=e.filter(e=>r.match(e)),r.options.nonull&&!e.length&&e.push(t),e};const qs=/[?*]|[+@!]\(.*?\)|\[|\]/,Js=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,`\\$&`);var Ys=class{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;maxGlobstarRecursion;regexp;constructor(e,t={}){$o(e),t||={},this.options=t,this.maxGlobstarRecursion=t.maxGlobstarRecursion??200,this.pattern=e,this.platform=t.platform||Us,this.isWindows=this.platform===`win32`,this.windowsPathsNoEscape=!!t.windowsPathsNoEscape||t.allowWindowsEscape===!1,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,`/`)),this.preserveMultipleSlashes=!!t.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!t.nonegate,this.comment=!1,this.empty=!1,this.partial=!!t.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=t.windowsNoMagicRoot===void 0?!!(this.isWindows&&this.nocase):t.windowsNoMagicRoot,this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(let e of this.set)for(let t of e)if(typeof t!=`string`)return!0;return!1}debug(...e){}make(){let e=this.pattern,t=this.options;if(!t.nocomment&&e.charAt(0)===`#`){this.comment=!0;return}if(!e){this.empty=!0;return}this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],t.debug&&(this.debug=(...e)=>console.error(...e)),this.debug(this.pattern,this.globSet);let n=this.globSet.map(e=>this.slashSplit(e));this.globParts=this.preprocess(n),this.debug(this.pattern,this.globParts);let r=this.globParts.map((e,t,n)=>{if(this.isWindows&&this.windowsNoMagicRoot){let t=e[0]===``&&e[1]===``&&(e[2]===`?`||!qs.test(e[2]))&&!qs.test(e[3]),n=/^[a-z]:/i.test(e[0]);if(t)return[...e.slice(0,4),...e.slice(4).map(e=>this.parse(e))];if(n)return[e[0],...e.slice(1).map(e=>this.parse(e))]}return e.map(e=>this.parse(e))});if(this.debug(this.pattern,r),this.set=r.filter(e=>e.indexOf(!1)===-1),this.isWindows)for(let e=0;e<this.set.length;e++){let t=this.set[e];t[0]===``&&t[1]===``&&this.globParts[e][2]===`?`&&typeof t[3]==`string`&&/^[a-z]:$/i.test(t[3])&&(t[2]=`?`)}this.debug(this.pattern,this.set)}preprocess(e){if(this.options.noglobstar)for(let t of e)for(let e=0;e<t.length;e++)t[e]===`**`&&(t[e]=`*`);let{optimizationLevel:t=1}=this.options;return t>=2?(e=this.firstPhasePreProcess(e),e=this.secondPhasePreProcess(e)):e=t>=1?this.levelOneOptimize(e):this.adjascentGlobstarOptimize(e),e}adjascentGlobstarOptimize(e){return e.map(e=>{let t=-1;for(;(t=e.indexOf(`**`,t+1))!==-1;){let n=t;for(;e[n+1]===`**`;)n++;n!==t&&e.splice(t,n-t)}return e})}levelOneOptimize(e){return e.map(e=>(e=e.reduce((e,t)=>{let n=e[e.length-1];return t===`**`&&n===`**`?e:t===`..`&&n&&n!==`..`&&n!==`.`&&n!==`**`?(e.pop(),e):(e.push(t),e)},[]),e.length===0?[``]:e))}levelTwoFileOptimize(e){Array.isArray(e)||(e=this.slashSplit(e));let t=!1;do{if(t=!1,!this.preserveMultipleSlashes){for(let n=1;n<e.length-1;n++){let r=e[n];(n!==1||r!==``||e[0]!==``)&&(r===`.`||r===``)&&(t=!0,e.splice(n,1),n--)}e[0]===`.`&&e.length===2&&(e[1]===`.`||e[1]===``)&&(t=!0,e.pop())}let n=0;for(;(n=e.indexOf(`..`,n+1))!==-1;){let r=e[n-1];r&&r!==`.`&&r!==`..`&&r!==`**`&&!(this.isWindows&&/^[a-z]:$/i.test(r))&&(t=!0,e.splice(n-1,2),n-=2)}}while(t);return e.length===0?[``]:e}firstPhasePreProcess(e){let t=!1;do{t=!1;for(let n of e){let r=-1;for(;(r=n.indexOf(`**`,r+1))!==-1;){let i=r;for(;n[i+1]===`**`;)i++;i>r&&n.splice(r+1,i-r);let a=n[r+1],o=n[r+2],s=n[r+3];if(a!==`..`||!o||o===`.`||o===`..`||!s||s===`.`||s===`..`)continue;t=!0,n.splice(r,1);let c=n.slice(0);c[r]=`**`,e.push(c),r--}if(!this.preserveMultipleSlashes){for(let e=1;e<n.length-1;e++){let r=n[e];(e!==1||r!==``||n[0]!==``)&&(r===`.`||r===``)&&(t=!0,n.splice(e,1),e--)}n[0]===`.`&&n.length===2&&(n[1]===`.`||n[1]===``)&&(t=!0,n.pop())}let i=0;for(;(i=n.indexOf(`..`,i+1))!==-1;){let e=n[i-1];if(e&&e!==`.`&&e!==`..`&&e!==`**`){t=!0;let e=i===1&&n[i+1]===`**`?[`.`]:[];n.splice(i-1,2,...e),n.length===0&&n.push(``),i-=2}}}}while(t);return e}secondPhasePreProcess(e){for(let t=0;t<e.length-1;t++)for(let n=t+1;n<e.length;n++){let r=this.partsMatch(e[t],e[n],!this.preserveMultipleSlashes);if(r){e[t]=[],e[n]=r;break}}return e.filter(e=>e.length)}partsMatch(e,t,n=!1){let r=0,i=0,a=[],o=``;for(;r<e.length&&i<t.length;)if(e[r]===t[i])a.push(o===`b`?t[i]:e[r]),r++,i++;else if(n&&e[r]===`**`&&t[i]===e[r+1])a.push(e[r]),r++;else if(n&&t[i]===`**`&&e[r]===t[i+1])a.push(t[i]),i++;else if(e[r]===`*`&&t[i]&&(this.options.dot||!t[i].startsWith(`.`))&&t[i]!==`**`){if(o===`b`)return!1;o=`a`,a.push(e[r]),r++,i++}else if(t[i]===`*`&&e[r]&&(this.options.dot||!e[r].startsWith(`.`))&&e[r]!==`**`){if(o===`a`)return!1;o=`b`,a.push(t[i]),r++,i++}else return!1;return e.length===t.length&&a}parseNegate(){if(this.nonegate)return;let e=this.pattern,t=!1,n=0;for(let r=0;r<e.length&&e.charAt(r)===`!`;r++)t=!t,n++;n&&(this.pattern=e.slice(n)),this.negate=t}matchOne(e,t,n=!1){let r=0,i=0;if(this.isWindows){let n=typeof e[0]==`string`&&/^[a-z]:$/i.test(e[0]),a=!n&&e[0]===``&&e[1]===``&&e[2]===`?`&&/^[a-z]:$/i.test(e[3]),o=typeof t[0]==`string`&&/^[a-z]:$/i.test(t[0]),s=!o&&t[0]===``&&t[1]===``&&t[2]===`?`&&typeof t[3]==`string`&&/^[a-z]:$/i.test(t[3]),c=a?3:n?0:void 0,l=s?3:o?0:void 0;if(typeof c==`number`&&typeof l==`number`){let[n,a]=[e[c],t[l]];n.toLowerCase()===a.toLowerCase()&&(t[l]=n,i=l,r=c)}}let{optimizationLevel:a=1}=this.options;return a>=2&&(e=this.levelTwoFileOptimize(e)),t.includes(J)?this.#e(e,t,n,r,i):this.#n(e,t,n,r,i)}#e(e,t,n,r,i){let a=t.indexOf(J,i),o=t.lastIndexOf(J),[s,c,l]=n?[t.slice(i,a),t.slice(a+1),[]]:[t.slice(i,a),t.slice(a+1,o),t.slice(o+1)];if(s.length){let t=e.slice(r,r+s.length);if(!this.#n(t,s,n,0,0))return!1;r+=s.length,i+=s.length}let u=0;if(l.length){if(l.length+r>e.length)return!1;let t=e.length-l.length;if(this.#n(e,l,n,t,0))u=l.length;else{if(e[e.length-1]!==``||r+l.length===e.length||(t--,!this.#n(e,l,n,t,0)))return!1;u=l.length+1}}if(!c.length){let t=!!u;for(let n=r;n<e.length-u;n++){let r=String(e[n]);if(t=!0,r===`.`||r===`..`||!this.options.dot&&r.startsWith(`.`))return!1}return n||t}let d=[[[],0]],f=d[0],p=0,m=[0];for(let e of c)e===J?(m.push(p),f=[[],0],d.push(f)):(f[0].push(e),p++);let h=d.length-1,g=e.length-u;for(let e of d)e[1]=g-(m[h--]+e[0].length);return!!this.#t(e,d,r,0,n,0,!!u)}#t(e,t,n,r,i,a,o){let s=t[r];if(!s){for(let t=n;t<e.length;t++){o=!0;let n=e[t];if(n===`.`||n===`..`||!this.options.dot&&n.startsWith(`.`))return!1}return o}let[c,l]=s;for(;n<=l;){if(this.#n(e.slice(0,n+c.length),c,i,n,0)&&a<this.maxGlobstarRecursion){let s=this.#t(e,t,n+c.length,r+1,i,a+1,o);if(s!==!1)return s}let s=e[n];if(s===`.`||s===`..`||!this.options.dot&&s.startsWith(`.`))return!1;n++}return i||null}#n(e,t,n,r,i){let a,o,s,c;for(a=r,o=i,c=e.length,s=t.length;a<c&&o<s;a++,o++){this.debug(`matchOne loop`);let n=t[o],r=e[a];if(this.debug(t,n,r),n===!1||n===J)return!1;let i;if(typeof n==`string`?(i=r===n,this.debug(`string match`,n,r,i)):(i=n.test(r),this.debug(`pattern match`,n,r,i)),!i)return!1}if(a===c&&o===s)return!0;if(a===c)return n;if(o===s)return a===c-1&&e[a]===``;throw Error(`wtf?`)}braceExpand(){return Ks(this.pattern,this.options)}parse(e){$o(e);let t=this.options;if(e===`**`)return J;if(e===``)return``;let n,r=null;(n=e.match(Ns))?r=t.dot?Fs:Ps:(n=e.match(Cs))?r=(t.nocase?t.dot?Ds:Es:t.dot?Ts:ws)(n[1]):(n=e.match(Is))?r=(t.nocase?t.dot?Rs:Ls:t.dot?zs:Bs)(n):(n=e.match(Os))?r=t.dot?As:ks:(n=e.match(js))&&(r=Ms);let i=xs.fromGlob(e,this.options).toMMPattern();return r&&typeof i==`object`&&Reflect.defineProperty(i,"test",{value:r}),i}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;let e=this.set;if(!e.length)return this.regexp=!1,this.regexp;let t=this.options,n=t.noglobstar?`[^/]*?`:t.dot?`(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?`:`(?:(?!(?:\\/|^)\\.).)*?`,r=new Set(t.nocase?[`i`]:[]),i=e.map(e=>{let t=e.map(e=>{if(e instanceof RegExp)for(let t of e.flags.split(``))r.add(t);return typeof e==`string`?Js(e):e===J?J:e._src});t.forEach((e,r)=>{let i=t[r+1],a=t[r-1];e===J&&a!==J&&(a===void 0?i!==void 0&&i!==J?t[r+1]=`(?:\\/|`+n+`\\/)?`+i:t[r]=n:i===void 0?t[r-1]=a+`(?:\\/|\\/`+n+`)?`:i!==J&&(t[r-1]=a+`(?:\\/|\\/`+n+`\\/)`+i,t[r+1]=J))});let i=t.filter(e=>e!==J);if(this.partial&&i.length>=1){let e=[];for(let t=1;t<=i.length;t++)e.push(i.slice(0,t).join(`/`));return`(?:`+e.join(`|`)+`)`}return i.join(`/`)}).join(`|`),[a,o]=e.length>1?[`(?:`,`)`]:[``,``];i=`^`+a+i+o+`$`,this.partial&&(i=`^(?:\\/|`+a+i.slice(1,-1)+o+`)$`),this.negate&&(i=`^(?!`+i+`).+$`);try{this.regexp=new RegExp(i,[...r].join(``))}catch{this.regexp=!1}return this.regexp}slashSplit(e){return this.preserveMultipleSlashes?e.split(`/`):this.isWindows&&/^\/\/[^/]+/.test(e)?[``,...e.split(/\/+/)]:e.split(/\/+/)}match(e,t=this.partial){if(this.debug(`match`,e,this.pattern),this.comment)return!1;if(this.empty)return e===``;if(e===`/`&&t)return!0;let n=this.options;this.isWindows&&(e=e.split(`\\`).join(`/`));let r=this.slashSplit(e);this.debug(this.pattern,`split`,r);let i=this.set;this.debug(this.pattern,`set`,i);let a=r[r.length-1];if(!a)for(let e=r.length-2;!a&&e>=0;e--)a=r[e];for(let e of i){let i=r;if(n.matchBase&&e.length===1&&(i=[a]),this.matchOne(i,e,t))return n.flipNegate?!0:!this.negate}return!n.flipNegate&&this.negate}static defaults(e){return q.defaults(e).Minimatch}};q.AST=xs,q.Minimatch=Ys,q.escape=Ss,q.unescape=as;var Xs=r(((e,t)=>{let n=process||{},r=n.argv||[],i=n.env||{},a=!(i.NO_COLOR||r.includes(`--no-color`))&&(!!i.FORCE_COLOR||r.includes(`--color`)||n.platform===`win32`||(n.stdout||{}).isTTY&&i.TERM!==`dumb`||!!i.CI),o=(e,t,n=e)=>r=>{let i=``+r,a=i.indexOf(t,e.length);return~a?e+s(i,t,n,a)+t:e+i+t},s=(e,t,n,r)=>{let i=``,a=0;do i+=e.substring(a,r)+n,a=r+t.length,r=e.indexOf(t,a);while(~r);return i+e.substring(a)},c=(e=a)=>{let t=e?o:()=>String;return{isColorSupported:e,reset:t(`\x1B[0m`,`\x1B[0m`),bold:t(`\x1B[1m`,`\x1B[22m`,`\x1B[22m\x1B[1m`),dim:t(`\x1B[2m`,`\x1B[22m`,`\x1B[22m\x1B[2m`),italic:t(`\x1B[3m`,`\x1B[23m`),underline:t(`\x1B[4m`,`\x1B[24m`),inverse:t(`\x1B[7m`,`\x1B[27m`),hidden:t(`\x1B[8m`,`\x1B[28m`),strikethrough:t(`\x1B[9m`,`\x1B[29m`),black:t(`\x1B[30m`,`\x1B[39m`),red:t(`\x1B[31m`,`\x1B[39m`),green:t(`\x1B[32m`,`\x1B[39m`),yellow:t(`\x1B[33m`,`\x1B[39m`),blue:t(`\x1B[34m`,`\x1B[39m`),magenta:t(`\x1B[35m`,`\x1B[39m`),cyan:t(`\x1B[36m`,`\x1B[39m`),white:t(`\x1B[37m`,`\x1B[39m`),gray:t(`\x1B[90m`,`\x1B[39m`),bgBlack:t(`\x1B[40m`,`\x1B[49m`),bgRed:t(`\x1B[41m`,`\x1B[49m`),bgGreen:t(`\x1B[42m`,`\x1B[49m`),bgYellow:t(`\x1B[43m`,`\x1B[49m`),bgBlue:t(`\x1B[44m`,`\x1B[49m`),bgMagenta:t(`\x1B[45m`,`\x1B[49m`),bgCyan:t(`\x1B[46m`,`\x1B[49m`),bgWhite:t(`\x1B[47m`,`\x1B[49m`),blackBright:t(`\x1B[90m`,`\x1B[39m`),redBright:t(`\x1B[91m`,`\x1B[39m`),greenBright:t(`\x1B[92m`,`\x1B[39m`),yellowBright:t(`\x1B[93m`,`\x1B[39m`),blueBright:t(`\x1B[94m`,`\x1B[39m`),magentaBright:t(`\x1B[95m`,`\x1B[39m`),cyanBright:t(`\x1B[96m`,`\x1B[39m`),whiteBright:t(`\x1B[97m`,`\x1B[39m`),bgBlackBright:t(`\x1B[100m`,`\x1B[49m`),bgRedBright:t(`\x1B[101m`,`\x1B[49m`),bgGreenBright:t(`\x1B[102m`,`\x1B[49m`),bgYellowBright:t(`\x1B[103m`,`\x1B[49m`),bgBlueBright:t(`\x1B[104m`,`\x1B[49m`),bgMagentaBright:t(`\x1B[105m`,`\x1B[49m`),bgCyanBright:t(`\x1B[106m`,`\x1B[49m`),bgWhiteBright:t(`\x1B[107m`,`\x1B[49m`)}};t.exports=c(),t.exports.createColors=c})),Zs=r(((e,t)=>{var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},s=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!a.call(e,c)&&c!==o&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},c=e=>s(n({},`__esModule`,{value:!0}),e),l={};o(l,{version:()=>u}),t.exports=c(l);let u=`3.8.0`;0&&(t.exports={version:u})})),Qs=r(((e,t)=>{var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},s=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!a.call(e,c)&&c!==o&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},c=e=>s(n({},`__esModule`,{value:!0}),e),l={};o(l,{exchangeVercelOidcToken:()=>p}),t.exports=c(l);var u=Zs();let d=new class{constructor(e){this.maxEntries=e,this.entries=new Map}get(e){let t=this.entries.get(e);if(t!==void 0){if(t.expiresAt<=Date.now()){this.entries.delete(e);return}return this.entries.delete(e),this.entries.set(e,t),t.token}}set({key:e,token:t,expiresAt:n}){for(this.entries.delete(e),this.entries.set(e,{token:t,expiresAt:n});this.entries.size>this.maxEntries;){let e=this.entries.keys().next().value;if(e===void 0)break;this.entries.delete(e)}}}(1e3);async function f(e){let t=JSON.stringify([e.token,e.audience,e.jti]),n=await crypto.subtle.digest(`SHA-256`,new TextEncoder().encode(t));return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}async function p(e){let t=await f(e);if(!e.skipCache){let e=d.get(t);if(e!==void 0)return e}let n=await fetch(`https://oidc.vercel.com/~token`,{method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`,"User-Agent":`@vercel/oidc@${u.version}`},body:JSON.stringify({token:e.token,aud:e.audience,...e.jti?{jti:e.jti}:void 0})});if(!n.ok)throw Error(`Failed to exchange token: ${await m(n)}`);let r;try{r=await n.json()}catch{throw Error(`Failed to exchange token: response was not valid JSON`)}if(!r||typeof r!=`object`||!(`token`in r)||typeof r.token!=`string`)throw Error(`Failed to exchange token: response did not contain a token`);let{token:i}=r,a=`expiry`in r&&typeof r.expiry==`number`?r.expiry:void 0;if(a!==void 0){let e=a*1e3;e>Date.now()&&d.set({key:t,token:i,expiresAt:e})}return i}async function m(e){try{let t=await e.json();if(t&&typeof t==`object`&&`error`in t&&typeof t.error==`string`)return t.error}catch{}return e.statusText||`HTTP ${e.status}`}0&&(t.exports={exchangeVercelOidcToken:p})})),$s=r(((e,t)=>{var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},s=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!a.call(e,c)&&c!==o&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},c=e=>s(n({},`__esModule`,{value:!0}),e),l={};o(l,{SYMBOL_FOR_REQ_CONTEXT:()=>u,getContext:()=>d}),t.exports=c(l);let u=Symbol.for(`@vercel/request-context`);function d(){return globalThis[u]?.get?.()??{}}0&&(t.exports={SYMBOL_FOR_REQ_CONTEXT:u,getContext:d})})),ec=r(((e,t)=>{var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},s=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!a.call(e,c)&&c!==o&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},c=e=>s(n({},`__esModule`,{value:!0}),e),l={};o(l,{getVercelOidcTokenSync:()=>d}),t.exports=c(l);var u=$s();function d(){let e=(0,u.getContext)().headers?.[`x-vercel-oidc-token`]??process.env.VERCEL_OIDC_TOKEN;if(!e)throw Error(`The 'x-vercel-oidc-token' header is missing from the request.`);return e}0&&(t.exports={getVercelOidcTokenSync:d})})),tc=r(((e,t)=>{var r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s=(e,t)=>{for(var n in t)r(e,n,{get:t[n],enumerable:!0})},c=(e,t,n,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of a(t))!o.call(e,c)&&c!==n&&r(e,c,{get:()=>t[c],enumerable:!(s=i(t,c))||s.enumerable});return e},l=e=>c(r({},`__esModule`,{value:!0}),e),u={};s(u,{getVercelOidcToken:()=>m}),t.exports=l(u);var d=Qs(),f=ec(),p=Ve();async function m(e){let t=``,r;try{t=(0,f.getVercelOidcTokenSync)()}catch(e){r=e}try{let[{getTokenPayload:r,isExpired:i},{refreshToken:a}]=await Promise.all([await import(`../../_chunks/workflow/token-util-Bla5Z0G9.js`).then(e=>n(e.t())),await import(`../../_chunks/workflow/token-D5ugC3PI.js`).then(e=>n(e.default))]);(!t||i(r(t),e?.expirationBufferMs))&&(await a(e),t=(0,f.getVercelOidcTokenSync)())}catch(e){let t=r instanceof Error?r.message:``;throw e instanceof Error&&(t=`${t}
|
|
10
|
+
${e.message}`),t?new p.VercelOidcTokenError(t):e}return e?.audience&&(t=await(0,d.exchangeVercelOidcToken)({token:t,audience:e.audience,jti:e.jti,skipCache:e.skipCache})),t}0&&(t.exports={getVercelOidcToken:m})})),nc=r((t=>{Object.defineProperty(t,"__esModule",{value:!0});let n=e(`node:crypto`);t.default=(e,t)=>(0,n.createHash)(e).update(t).digest()})),Y=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.decoder=e.encoder=void 0,e.concat=r,e.p2s=i,e.uint64be=o,e.uint32be=s,e.lengthAndInput=c,e.concatKdf=l;let t=nc();e.encoder=new TextEncoder,e.decoder=new TextDecoder;let n=2**32;function r(...e){let t=e.reduce((e,{length:t})=>e+t,0),n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function i(t,n){return r(e.encoder.encode(t),new Uint8Array([0]),n)}function a(e,t,r){if(t<0||t>=n)throw RangeError(`value must be >= 0 and <= ${n-1}. Received ${t}`);e.set([t>>>24,t>>>16,t>>>8,t&255],r)}function o(e){let t=Math.floor(e/n),r=e%n,i=new Uint8Array(8);return a(i,t,0),a(i,r,4),i}function s(e){let t=new Uint8Array(4);return a(t,e),t}function c(e){return r(s(e.length),e)}async function l(e,n,r){let i=Math.ceil((n>>3)/32),a=new Uint8Array(i*32);for(let n=0;n<i;n++){let i=new Uint8Array(4+e.length+r.length);i.set(s(n+1)),i.set(e,4),i.set(r,4+e.length),a.set(await(0,t.default)(`sha256`,i),n*32)}return a.slice(0,n>>3)}})),rc=r((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.decode=t.encode=t.encodeBase64=t.decodeBase64=void 0;let n=e(`node:buffer`),r=Y();function i(e){let t=e;return t instanceof Uint8Array&&(t=r.decoder.decode(t)),t}t.encode=e=>n.Buffer.from(e).toString(`base64url`),t.decodeBase64=e=>new Uint8Array(n.Buffer.from(e,`base64`)),t.encodeBase64=e=>n.Buffer.from(e).toString(`base64`),t.decode=e=>new Uint8Array(n.Buffer.from(i(e),`base64url`))})),X=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.JWSSignatureVerificationFailed=e.JWKSTimeout=e.JWKSMultipleMatchingKeys=e.JWKSNoMatchingKey=e.JWKSInvalid=e.JWKInvalid=e.JWTInvalid=e.JWSInvalid=e.JWEInvalid=e.JWEDecryptionFailed=e.JOSENotSupported=e.JOSEAlgNotAllowed=e.JWTExpired=e.JWTClaimValidationFailed=e.JOSEError=void 0;var t=class extends Error{static code=`ERR_JOSE_GENERIC`;code=`ERR_JOSE_GENERIC`;constructor(e,t){super(e,t),this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}};e.JOSEError=t,e.JWTClaimValidationFailed=class extends t{static code=`ERR_JWT_CLAIM_VALIDATION_FAILED`;code=`ERR_JWT_CLAIM_VALIDATION_FAILED`;claim;reason;payload;constructor(e,t,n=`unspecified`,r=`unspecified`){super(e,{cause:{claim:n,reason:r,payload:t}}),this.claim=n,this.reason=r,this.payload=t}},e.JWTExpired=class extends t{static code=`ERR_JWT_EXPIRED`;code=`ERR_JWT_EXPIRED`;claim;reason;payload;constructor(e,t,n=`unspecified`,r=`unspecified`){super(e,{cause:{claim:n,reason:r,payload:t}}),this.claim=n,this.reason=r,this.payload=t}},e.JOSEAlgNotAllowed=class extends t{static code=`ERR_JOSE_ALG_NOT_ALLOWED`;code=`ERR_JOSE_ALG_NOT_ALLOWED`},e.JOSENotSupported=class extends t{static code=`ERR_JOSE_NOT_SUPPORTED`;code=`ERR_JOSE_NOT_SUPPORTED`},e.JWEDecryptionFailed=class extends t{static code=`ERR_JWE_DECRYPTION_FAILED`;code=`ERR_JWE_DECRYPTION_FAILED`;constructor(e=`decryption operation failed`,t){super(e,t)}},e.JWEInvalid=class extends t{static code=`ERR_JWE_INVALID`;code=`ERR_JWE_INVALID`},e.JWSInvalid=class extends t{static code=`ERR_JWS_INVALID`;code=`ERR_JWS_INVALID`},e.JWTInvalid=class extends t{static code=`ERR_JWT_INVALID`;code=`ERR_JWT_INVALID`},e.JWKInvalid=class extends t{static code=`ERR_JWK_INVALID`;code=`ERR_JWK_INVALID`},e.JWKSInvalid=class extends t{static code=`ERR_JWKS_INVALID`;code=`ERR_JWKS_INVALID`},e.JWKSNoMatchingKey=class extends t{static code=`ERR_JWKS_NO_MATCHING_KEY`;code=`ERR_JWKS_NO_MATCHING_KEY`;constructor(e=`no applicable key found in the JSON Web Key Set`,t){super(e,t)}},e.JWKSMultipleMatchingKeys=class extends t{[Symbol.asyncIterator];static code=`ERR_JWKS_MULTIPLE_MATCHING_KEYS`;code=`ERR_JWKS_MULTIPLE_MATCHING_KEYS`;constructor(e=`multiple matching keys found in the JSON Web Key Set`,t){super(e,t)}},e.JWKSTimeout=class extends t{static code=`ERR_JWKS_TIMEOUT`;code=`ERR_JWKS_TIMEOUT`;constructor(e=`request timed out`,t){super(e,t)}},e.JWSSignatureVerificationFailed=class extends t{static code=`ERR_JWS_SIGNATURE_VERIFICATION_FAILED`;code=`ERR_JWS_SIGNATURE_VERIFICATION_FAILED`;constructor(e=`signature verification failed`,t){super(e,t)}}})),ic=r((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=e(`node:crypto`);Object.defineProperty(t,"default",{enumerable:!0,get:function(){return n.randomFillSync}})})),ac=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.bitLength=r;let t=X(),n=ic();function r(e){switch(e){case`A128GCM`:case`A128GCMKW`:case`A192GCM`:case`A192GCMKW`:case`A256GCM`:case`A256GCMKW`:return 96;case`A128CBC-HS256`:case`A192CBC-HS384`:case`A256CBC-HS512`:return 128;default:throw new t.JOSENotSupported(`Unsupported JWE Algorithm: ${e}`)}}e.default=e=>(0,n.default)(new Uint8Array(r(e)>>3))})),oc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0});let t=X(),n=ac();e.default=(e,r)=>{if(r.length<<3!==(0,n.bitLength)(e))throw new t.JWEInvalid(`Invalid Initialization Vector length`)}})),sc=r((t=>{Object.defineProperty(t,"__esModule",{value:!0});let n=e(`node:util`);t.default=e=>n.types.isKeyObject(e)})),cc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0});let t=X(),n=sc();e.default=(e,r)=>{let i;switch(e){case`A128CBC-HS256`:case`A192CBC-HS384`:case`A256CBC-HS512`:i=parseInt(e.slice(-3),10);break;case`A128GCM`:case`A192GCM`:case`A256GCM`:i=parseInt(e.slice(1,4),10);break;default:throw new t.JOSENotSupported(`Content Encryption Algorithm ${e} is not supported either by JOSE or your javascript runtime`)}if(r instanceof Uint8Array){let e=r.byteLength<<3;if(e!==i)throw new t.JWEInvalid(`Invalid Content Encryption Key length. Expected ${i} bits, got ${e} bits`);return}if((0,n.default)(r)&&r.type===`secret`){let e=r.symmetricKeySize<<3;if(e!==i)throw new t.JWEInvalid(`Invalid Content Encryption Key length. Expected ${i} bits, got ${e} bits`);return}throw TypeError(`Invalid Content Encryption Key type`)}})),lc=r((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=e(`node:crypto`).timingSafeEqual})),uc=r((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=i;let n=e(`node:crypto`),r=Y();function i(e,t,i,a,o,s){let c=(0,r.concat)(e,t,i,(0,r.uint64be)(e.length<<3)),l=(0,n.createHmac)(`sha${a}`,o);return l.update(c),l.digest().slice(0,s>>3)}})),dc=r((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isCryptoKey=void 0;let n=e(`node:crypto`),r=e(`node:util`);t.default=n.webcrypto,t.isCryptoKey=e=>r.types.isCryptoKey(e)})),fc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.checkSigCryptoKey=o,e.checkEncCryptoKey=s;function t(e,t=`algorithm.name`){return TypeError(`CryptoKey does not support this operation, its ${t} must be ${e}`)}function n(e,t){return e.name===t}function r(e){return parseInt(e.name.slice(4),10)}function i(e){switch(e){case`ES256`:return`P-256`;case`ES384`:return`P-384`;case`ES512`:return`P-521`;default:throw Error(`unreachable`)}}function a(e,t){if(t.length&&!t.some(t=>e.usages.includes(t))){let e=`CryptoKey does not support this operation, its usages must include `;if(t.length>2){let n=t.pop();e+=`one of ${t.join(`, `)}, or ${n}.`}else t.length===2?e+=`one of ${t[0]} or ${t[1]}.`:e+=`${t[0]}.`;throw TypeError(e)}}function o(e,o,...s){switch(o){case`HS256`:case`HS384`:case`HS512`:{if(!n(e.algorithm,`HMAC`))throw t(`HMAC`);let i=parseInt(o.slice(2),10);if(r(e.algorithm.hash)!==i)throw t(`SHA-${i}`,`algorithm.hash`);break}case`RS256`:case`RS384`:case`RS512`:{if(!n(e.algorithm,`RSASSA-PKCS1-v1_5`))throw t(`RSASSA-PKCS1-v1_5`);let i=parseInt(o.slice(2),10);if(r(e.algorithm.hash)!==i)throw t(`SHA-${i}`,`algorithm.hash`);break}case`PS256`:case`PS384`:case`PS512`:{if(!n(e.algorithm,`RSA-PSS`))throw t(`RSA-PSS`);let i=parseInt(o.slice(2),10);if(r(e.algorithm.hash)!==i)throw t(`SHA-${i}`,`algorithm.hash`);break}case`EdDSA`:if(e.algorithm.name!==`Ed25519`&&e.algorithm.name!==`Ed448`)throw t(`Ed25519 or Ed448`);break;case`Ed25519`:if(!n(e.algorithm,`Ed25519`))throw t(`Ed25519`);break;case`ES256`:case`ES384`:case`ES512`:{if(!n(e.algorithm,`ECDSA`))throw t(`ECDSA`);let r=i(o);if(e.algorithm.namedCurve!==r)throw t(r,`algorithm.namedCurve`);break}default:throw TypeError(`CryptoKey does not support this operation`)}a(e,s)}function s(e,i,...o){switch(i){case`A128GCM`:case`A192GCM`:case`A256GCM`:{if(!n(e.algorithm,`AES-GCM`))throw t(`AES-GCM`);let r=parseInt(i.slice(1,4),10);if(e.algorithm.length!==r)throw t(r,`algorithm.length`);break}case`A128KW`:case`A192KW`:case`A256KW`:{if(!n(e.algorithm,`AES-KW`))throw t(`AES-KW`);let r=parseInt(i.slice(1,4),10);if(e.algorithm.length!==r)throw t(r,`algorithm.length`);break}case`ECDH`:switch(e.algorithm.name){case`ECDH`:case`X25519`:case`X448`:break;default:throw t(`ECDH, X25519, or X448`)}break;case`PBES2-HS256+A128KW`:case`PBES2-HS384+A192KW`:case`PBES2-HS512+A256KW`:if(!n(e.algorithm,`PBKDF2`))throw t(`PBKDF2`);break;case`RSA-OAEP`:case`RSA-OAEP-256`:case`RSA-OAEP-384`:case`RSA-OAEP-512`:{if(!n(e.algorithm,`RSA-OAEP`))throw t(`RSA-OAEP`);let a=parseInt(i.slice(9),10)||1;if(r(e.algorithm.hash)!==a)throw t(`SHA-${a}`,`algorithm.hash`);break}default:throw TypeError(`CryptoKey does not support this operation`)}a(e,o)}})),pc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.withAlg=n;function t(e,t,...n){if(n=n.filter(Boolean),n.length>2){let t=n.pop();e+=`one of type ${n.join(`, `)}, or ${t}.`}else n.length===2?e+=`one of type ${n[0]} or ${n[1]}.`:e+=`of type ${n[0]}.`;return t==null?e+=` Received ${t}`:typeof t==`function`&&t.name?e+=` Received function ${t.name}`:typeof t==`object`&&t&&t.constructor?.name&&(e+=` Received an instance of ${t.constructor.name}`),e}e.default=(e,...n)=>t(`Key must be `,e,...n);function n(e,n,...r){return t(`Key for the ${e} algorithm must be `,n,...r)}})),mc=r((t=>{Object.defineProperty(t,"__esModule",{value:!0});let n=e(`node:crypto`),r;t.default=e=>(r||=new Set((0,n.getCiphers)()),r.has(e))})),hc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.types=void 0;let t=dc(),n=sc();e.default=e=>(0,n.default)(e)||(0,t.isCryptoKey)(e);let r=[`KeyObject`];e.types=r,(globalThis.CryptoKey||t.default?.CryptoKey)&&r.push(`CryptoKey`)})),gc=r((t=>{Object.defineProperty(t,"__esModule",{value:!0});let n=e(`node:crypto`),r=oc(),i=cc(),a=Y(),o=X(),s=lc(),c=uc(),l=dc(),u=fc(),d=sc(),f=pc(),p=mc(),m=hc();function h(e,t,r,i,l,u){let f=parseInt(e.slice(1,4),10);(0,d.default)(t)&&(t=t.export());let m=t.subarray(f>>3),h=t.subarray(0,f>>3),g=parseInt(e.slice(-3),10),_=`aes-${f}-cbc`;if(!(0,p.default)(_))throw new o.JOSENotSupported(`alg ${e} is not supported by your javascript runtime`);let v=(0,c.default)(u,i,r,g,h,f),y;try{y=(0,s.default)(l,v)}catch{}if(!y)throw new o.JWEDecryptionFailed;let b;try{let e=(0,n.createDecipheriv)(_,m,i);b=(0,a.concat)(e.update(r),e.final())}catch{}if(!b)throw new o.JWEDecryptionFailed;return b}function g(e,t,r,i,a,s){let c=`aes-${parseInt(e.slice(1,4),10)}-gcm`;if(!(0,p.default)(c))throw new o.JOSENotSupported(`alg ${e} is not supported by your javascript runtime`);try{let e=(0,n.createDecipheriv)(c,t,i,{authTagLength:16});e.setAuthTag(a),s.byteLength&&e.setAAD(s,{plaintextLength:r.length});let o=e.update(r);return e.final(),o}catch{throw new o.JWEDecryptionFailed}}t.default=(e,t,a,s,c,p)=>{let _;if((0,l.isCryptoKey)(t))(0,u.checkEncCryptoKey)(t,e,`decrypt`),_=n.KeyObject.from(t);else if(t instanceof Uint8Array||(0,d.default)(t))_=t;else throw TypeError((0,f.default)(t,...m.types,`Uint8Array`));if(!s)throw new o.JWEInvalid(`JWE Initialization Vector missing`);if(!c)throw new o.JWEInvalid(`JWE Authentication Tag missing`);switch((0,i.default)(e,_),(0,r.default)(e,s),e){case`A128CBC-HS256`:case`A192CBC-HS384`:case`A256CBC-HS512`:return h(e,_,a,s,c,p);case`A128GCM`:case`A192GCM`:case`A256GCM`:return g(e,_,a,s,c,p);default:throw new o.JOSENotSupported(`Unsupported JWE Content Encryption Algorithm`)}}})),_c=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=(...e)=>{let t=e.filter(Boolean);if(t.length===0||t.length===1)return!0;let n;for(let e of t){let t=Object.keys(e);if(!n||n.size===0){n=new Set(t);continue}for(let e of t){if(n.has(e))return!1;n.add(e)}}return!0}})),Z=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=n;function t(e){return typeof e==`object`&&!!e}function n(e){if(!t(e)||Object.prototype.toString.call(e)!==`[object Object]`)return!1;if(Object.getPrototypeOf(e)===null)return!0;let n=e;for(;Object.getPrototypeOf(n)!==null;)n=Object.getPrototypeOf(n);return Object.getPrototypeOf(e)===n}})),vc=r((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.unwrap=t.wrap=void 0;let n=e(`node:buffer`),r=e(`node:crypto`),i=X(),a=Y(),o=dc(),s=fc(),c=sc(),l=pc(),u=mc(),d=hc();function f(e,t){if(e.symmetricKeySize<<3!==parseInt(t.slice(1,4),10))throw TypeError(`Invalid key size for alg: ${t}`)}function p(e,t,n){if((0,c.default)(e))return e;if(e instanceof Uint8Array)return(0,r.createSecretKey)(e);if((0,o.isCryptoKey)(e))return(0,s.checkEncCryptoKey)(e,t,n),r.KeyObject.from(e);throw TypeError((0,l.default)(e,...d.types,`Uint8Array`))}t.wrap=(e,t,o)=>{let s=`aes${parseInt(e.slice(1,4),10)}-wrap`;if(!(0,u.default)(s))throw new i.JOSENotSupported(`alg ${e} is not supported either by JOSE or your javascript runtime`);let c=p(t,e,`wrapKey`);f(c,e);let l=(0,r.createCipheriv)(s,c,n.Buffer.alloc(8,166));return(0,a.concat)(l.update(o),l.final())},t.unwrap=(e,t,o)=>{let s=`aes${parseInt(e.slice(1,4),10)}-wrap`;if(!(0,u.default)(s))throw new i.JOSENotSupported(`alg ${e} is not supported either by JOSE or your javascript runtime`);let c=p(t,e,`unwrapKey`);f(c,e);let l=(0,r.createDecipheriv)(s,c,n.Buffer.alloc(8,166));return(0,a.concat)(l.update(o),l.final())}})),yc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.isJWK=n,e.isPrivateJWK=r,e.isPublicJWK=i,e.isSecretJWK=a;let t=Z();function n(e){return(0,t.default)(e)&&typeof e.kty==`string`}function r(e){return e.kty!==`oct`&&typeof e.d==`string`}function i(e){return e.kty!==`oct`&&e.d===void 0}function a(e){return n(e)&&e.kty===`oct`&&typeof e.k==`string`}})),bc=r((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.weakMap=void 0;let n=e(`node:crypto`),r=X(),i=dc(),a=sc(),o=pc(),s=hc(),c=yc();t.weakMap=new WeakMap;let l=e=>{switch(e){case`prime256v1`:return`P-256`;case`secp384r1`:return`P-384`;case`secp521r1`:return`P-521`;case`secp256k1`:return`secp256k1`;default:throw new r.JOSENotSupported(`Unsupported key curve for this operation`)}};t.default=(e,t)=>{let r;if((0,i.isCryptoKey)(e))r=n.KeyObject.from(e);else if((0,a.default)(e))r=e;else if((0,c.isJWK)(e))return e.crv;else throw TypeError((0,o.default)(e,...s.types));if(r.type===`secret`)throw TypeError(`only "private" or "public" type keys can be used for this operation`);switch(r.asymmetricKeyType){case`ed25519`:case`ed448`:return`Ed${r.asymmetricKeyType.slice(2)}`;case`x25519`:case`x448`:return`X${r.asymmetricKeyType.slice(1)}`;case`ec`:{let e=r.asymmetricKeyDetails.namedCurve;return t?e:l(e)}default:throw TypeError(`Invalid asymmetric key type for this operation`)}}})),xc=r((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ecdhAllowed=void 0,t.deriveKey=p,t.generateEpk=m;let n=e(`node:crypto`),r=e(`node:util`),i=bc(),a=Y(),o=X(),s=dc(),c=fc(),l=sc(),u=pc(),d=hc(),f=(0,r.promisify)(n.generateKeyPair);async function p(e,t,r,i,o=new Uint8Array,f=new Uint8Array){let p;if((0,s.isCryptoKey)(e))(0,c.checkEncCryptoKey)(e,`ECDH`),p=n.KeyObject.from(e);else if((0,l.default)(e))p=e;else throw TypeError((0,u.default)(e,...d.types));let m;if((0,s.isCryptoKey)(t))(0,c.checkEncCryptoKey)(t,`ECDH`,`deriveBits`),m=n.KeyObject.from(t);else if((0,l.default)(t))m=t;else throw TypeError((0,u.default)(t,...d.types));let h=(0,a.concat)((0,a.lengthAndInput)(a.encoder.encode(r)),(0,a.lengthAndInput)(o),(0,a.lengthAndInput)(f),(0,a.uint32be)(i)),g=(0,n.diffieHellman)({privateKey:m,publicKey:p});return(0,a.concatKdf)(g,i,h)}async function m(e){let t;if((0,s.isCryptoKey)(e))t=n.KeyObject.from(e);else if((0,l.default)(e))t=e;else throw TypeError((0,u.default)(e,...d.types));switch(t.asymmetricKeyType){case`x25519`:return f(`x25519`);case`x448`:return f(`x448`);case`ec`:{let e=(0,i.default)(t);return f(`ec`,{namedCurve:e})}default:throw new o.JOSENotSupported(`Invalid or unsupported EPK`)}}t.ecdhAllowed=e=>[`P-256`,`P-384`,`P-521`,`X25519`,`X448`].includes((0,i.default)(e))})),Sc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=n;let t=X();function n(e){if(!(e instanceof Uint8Array)||e.length<8)throw new t.JWEInvalid(`PBES2 Salt Input must be 8 or more octets`)}})),Cc=r((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.decrypt=t.encrypt=void 0;let n=e(`node:util`),r=e(`node:crypto`),i=ic(),a=Y(),o=rc(),s=vc(),c=Sc(),l=dc(),u=fc(),d=sc(),f=pc(),p=hc(),m=(0,n.promisify)(r.pbkdf2);function h(e,t){if((0,d.default)(e))return e.export();if(e instanceof Uint8Array)return e;if((0,l.isCryptoKey)(e))return(0,u.checkEncCryptoKey)(e,t,`deriveBits`,`deriveKey`),r.KeyObject.from(e).export();throw TypeError((0,f.default)(e,...p.types,`Uint8Array`))}t.encrypt=async(e,t,n,r=2048,l=(0,i.default)(new Uint8Array(16)))=>{(0,c.default)(l);let u=(0,a.p2s)(e,l),d=parseInt(e.slice(13,16),10)>>3,f=h(t,e),p=await m(f,u,r,d,`sha${e.slice(8,11)}`);return{encryptedKey:await(0,s.wrap)(e.slice(-6),p,n),p2c:r,p2s:(0,o.encode)(l)}},t.decrypt=async(e,t,n,r,i)=>{(0,c.default)(i);let o=(0,a.p2s)(e,i),l=parseInt(e.slice(13,16),10)>>3,u=h(t,e),d=await m(u,o,r,l,`sha${e.slice(8,11)}`);return(0,s.unwrap)(e.slice(-6),d,n)}})),wc=r((t=>{Object.defineProperty(t,"__esModule",{value:!0});let n=e(`node:crypto`);t.default=(e,t)=>{let r;try{r=e instanceof n.KeyObject?e.asymmetricKeyDetails?.modulusLength:Buffer.from(e.n,`base64url`).byteLength<<3}catch{}if(typeof r!=`number`||r<2048)throw TypeError(`${t} requires key modulusLength to be 2048 bits or larger`)}})),Tc=r((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.decrypt=t.encrypt=void 0;let n=e(`node:crypto`),r=e(`node:util`),i=wc(),a=dc(),o=fc(),s=sc(),c=pc(),l=hc(),u=(e,t)=>{if(e.asymmetricKeyType!==`rsa`)throw TypeError(`Invalid key for this operation, its asymmetricKeyType must be rsa`);(0,i.default)(e,t)},d=(0,r.deprecate)(()=>n.constants.RSA_PKCS1_PADDING,`The RSA1_5 "alg" (JWE Algorithm) is deprecated and will be removed in the next major revision.`),f=e=>{switch(e){case`RSA-OAEP`:case`RSA-OAEP-256`:case`RSA-OAEP-384`:case`RSA-OAEP-512`:return n.constants.RSA_PKCS1_OAEP_PADDING;case`RSA1_5`:return d();default:return}},p=e=>{switch(e){case`RSA-OAEP`:return`sha1`;case`RSA-OAEP-256`:return`sha256`;case`RSA-OAEP-384`:return`sha384`;case`RSA-OAEP-512`:return`sha512`;default:return}};function m(e,t,...r){if((0,s.default)(e))return e;if((0,a.isCryptoKey)(e))return(0,o.checkEncCryptoKey)(e,t,...r),n.KeyObject.from(e);throw TypeError((0,c.default)(e,...l.types))}t.encrypt=(e,t,r)=>{let i=f(e),a=p(e),o=m(t,e,`wrapKey`,`encrypt`);return u(o,e),(0,n.publicEncrypt)({key:o,oaepHash:a,padding:i},r)},t.decrypt=(e,t,r)=>{let i=f(e),a=p(e),o=m(t,e,`unwrapKey`,`decrypt`);return u(o,e),(0,n.privateDecrypt)({key:o,oaepHash:a,padding:i},r)}})),Ec=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={}})),Dc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.bitLength=r;let t=X(),n=ic();function r(e){switch(e){case`A128GCM`:return 128;case`A192GCM`:return 192;case`A256GCM`:case`A128CBC-HS256`:return 256;case`A192CBC-HS384`:return 384;case`A256CBC-HS512`:return 512;default:throw new t.JOSENotSupported(`Unsupported JWE Algorithm: ${e}`)}}e.default=e=>(0,n.default)(new Uint8Array(r(e)>>3))})),Oc=r((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.fromX509=t.fromSPKI=t.fromPKCS8=t.toPKCS8=t.toSPKI=void 0;let n=e(`node:crypto`),r=e(`node:buffer`),i=dc(),a=sc(),o=pc(),s=hc(),c=(e,t,r)=>{let c;if((0,i.isCryptoKey)(r)){if(!r.extractable)throw TypeError(`CryptoKey is not extractable`);c=n.KeyObject.from(r)}else if((0,a.default)(r))c=r;else throw TypeError((0,o.default)(r,...s.types));if(c.type!==e)throw TypeError(`key is not a ${e} key`);return c.export({format:`pem`,type:t})};t.toSPKI=e=>c(`public`,`spki`,e),t.toPKCS8=e=>c(`private`,`pkcs8`,e),t.fromPKCS8=e=>(0,n.createPrivateKey)({key:r.Buffer.from(e.replace(/(?:-----(?:BEGIN|END) PRIVATE KEY-----|\s)/g,``),`base64`),type:`pkcs8`,format:`der`}),t.fromSPKI=e=>(0,n.createPublicKey)({key:r.Buffer.from(e.replace(/(?:-----(?:BEGIN|END) PUBLIC KEY-----|\s)/g,``),`base64`),type:`spki`,format:`der`}),t.fromX509=e=>(0,n.createPublicKey)({key:e,type:`spki`,format:`pem`})})),kc=r((t=>{Object.defineProperty(t,"__esModule",{value:!0});let n=e(`node:crypto`);t.default=e=>e.d?(0,n.createPrivateKey)({format:`jwk`,key:e}):(0,n.createPublicKey)({format:`jwk`,key:e})})),Ac=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.importSPKI=o,e.importX509=s,e.importPKCS8=c,e.importJWK=l;let t=rc(),n=Oc(),r=kc(),i=X(),a=Z();async function o(e,t,r){if(typeof e!=`string`||e.indexOf(`-----BEGIN PUBLIC KEY-----`)!==0)throw TypeError(`"spki" must be SPKI formatted string`);return(0,n.fromSPKI)(e,t,r)}async function s(e,t,r){if(typeof e!=`string`||e.indexOf(`-----BEGIN CERTIFICATE-----`)!==0)throw TypeError(`"x509" must be X.509 formatted string`);return(0,n.fromX509)(e,t,r)}async function c(e,t,r){if(typeof e!=`string`||e.indexOf(`-----BEGIN PRIVATE KEY-----`)!==0)throw TypeError(`"pkcs8" must be PKCS#8 formatted string`);return(0,n.fromPKCS8)(e,t,r)}async function l(e,n){if(!(0,a.default)(e))throw TypeError(`JWK must be an object`);switch(n||=e.alg,e.kty){case`oct`:if(typeof e.k!=`string`||!e.k)throw TypeError(`missing "k" (Key Value) Parameter value`);return(0,t.decode)(e.k);case`RSA`:if(`oth`in e&&e.oth!==void 0)throw new i.JOSENotSupported(`RSA JWK "oth" (Other Primes Info) Parameter value is not supported`);case`EC`:case`OKP`:return(0,r.default)({...e,alg:n});default:throw new i.JOSENotSupported(`Unsupported "kty" (Key Type) Parameter value`)}}})),jc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.checkKeyTypeWithJwk=void 0;let t=pc(),n=hc(),r=yc(),i=e=>e?.[Symbol.toStringTag],a=(e,t,n)=>{if(t.use!==void 0&&t.use!==`sig`)throw TypeError(`Invalid key for this operation, when present its use must be sig`);if(t.key_ops!==void 0&&t.key_ops.includes?.(n)!==!0)throw TypeError(`Invalid key for this operation, when present its key_ops must include ${n}`);if(t.alg!==void 0&&t.alg!==e)throw TypeError(`Invalid key for this operation, when present its alg must be ${e}`);return!0},o=(e,o,s,c)=>{if(!(o instanceof Uint8Array)){if(c&&r.isJWK(o)){if(r.isSecretJWK(o)&&a(e,o,s))return;throw TypeError(`JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present`)}if(!(0,n.default)(o))throw TypeError((0,t.withAlg)(e,o,...n.types,`Uint8Array`,c?`JSON Web Key`:null));if(o.type!==`secret`)throw TypeError(`${i(o)} instances for symmetric algorithms must be of type "secret"`)}},s=(e,o,s,c)=>{if(c&&r.isJWK(o))switch(s){case`sign`:if(r.isPrivateJWK(o)&&a(e,o,s))return;throw TypeError(`JSON Web Key for this operation be a private JWK`);case`verify`:if(r.isPublicJWK(o)&&a(e,o,s))return;throw TypeError(`JSON Web Key for this operation be a public JWK`)}if(!(0,n.default)(o))throw TypeError((0,t.withAlg)(e,o,...n.types,c?`JSON Web Key`:null));if(o.type===`secret`)throw TypeError(`${i(o)} instances for asymmetric algorithms must not be of type "secret"`);if(s===`sign`&&o.type===`public`)throw TypeError(`${i(o)} instances for asymmetric algorithm signing must be of type "private"`);if(s===`decrypt`&&o.type===`public`)throw TypeError(`${i(o)} instances for asymmetric algorithm decryption must be of type "private"`);if(o.algorithm&&s===`verify`&&o.type===`private`)throw TypeError(`${i(o)} instances for asymmetric algorithm verifying must be of type "public"`);if(o.algorithm&&s===`encrypt`&&o.type===`private`)throw TypeError(`${i(o)} instances for asymmetric algorithm encryption must be of type "public"`)};function c(e,t,n,r){t.startsWith(`HS`)||t===`dir`||t.startsWith(`PBES2`)||/^A\d{3}(?:GCM)?KW$/.test(t)?o(t,n,r,e):s(t,n,r,e)}e.default=c.bind(void 0,!1),e.checkKeyTypeWithJwk=c.bind(void 0,!0)})),Mc=r((t=>{Object.defineProperty(t,"__esModule",{value:!0});let n=e(`node:crypto`),r=oc(),i=cc(),a=Y(),o=uc(),s=dc(),c=fc(),l=sc(),u=pc(),d=ac(),f=X(),p=mc(),m=hc();function h(e,t,r,i,s){let c=parseInt(e.slice(1,4),10);(0,l.default)(r)&&(r=r.export());let u=r.subarray(c>>3),d=r.subarray(0,c>>3),m=`aes-${c}-cbc`;if(!(0,p.default)(m))throw new f.JOSENotSupported(`alg ${e} is not supported by your javascript runtime`);let h=(0,n.createCipheriv)(m,u,i),g=(0,a.concat)(h.update(t),h.final()),_=parseInt(e.slice(-3),10);return{ciphertext:g,tag:(0,o.default)(s,i,g,_,d,c),iv:i}}function g(e,t,r,i,a){let o=`aes-${parseInt(e.slice(1,4),10)}-gcm`;if(!(0,p.default)(o))throw new f.JOSENotSupported(`alg ${e} is not supported by your javascript runtime`);let s=(0,n.createCipheriv)(o,r,i,{authTagLength:16});a.byteLength&&s.setAAD(a,{plaintextLength:t.length});let c=s.update(t);return s.final(),{ciphertext:c,tag:s.getAuthTag(),iv:i}}t.default=(e,t,a,o,p)=>{let _;if((0,s.isCryptoKey)(a))(0,c.checkEncCryptoKey)(a,e,`encrypt`),_=n.KeyObject.from(a);else if(a instanceof Uint8Array||(0,l.default)(a))_=a;else throw TypeError((0,u.default)(a,...m.types,`Uint8Array`));switch((0,i.default)(e,_),o?(0,r.default)(e,o):o=(0,d.default)(e),e){case`A128CBC-HS256`:case`A192CBC-HS384`:case`A256CBC-HS512`:return h(e,t,_,o,p);case`A128GCM`:case`A192GCM`:case`A256GCM`:return g(e,t,_,o,p);default:throw new f.JOSENotSupported(`Unsupported JWE Content Encryption Algorithm`)}}})),Nc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.wrap=i,e.unwrap=a;let t=Mc(),n=gc(),r=rc();async function i(e,n,i,a){let o=e.slice(0,7),s=await(0,t.default)(o,i,n,a,new Uint8Array);return{encryptedKey:s.ciphertext,iv:(0,r.encode)(s.iv),tag:(0,r.encode)(s.tag)}}async function a(e,t,r,i,a){let o=e.slice(0,7);return(0,n.default)(o,t,r,i,a,new Uint8Array)}})),Pc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0});let t=vc(),n=xc(),r=Cc(),i=Tc(),a=rc(),o=Ec(),s=X(),c=Dc(),l=Ac(),u=jc(),d=Z(),f=Nc();async function p(e,p,m,h,g){switch((0,u.default)(e,p,`decrypt`),p=await o.default.normalizePrivateKey?.(p,e)||p,e){case`dir`:if(m!==void 0)throw new s.JWEInvalid(`Encountered unexpected JWE Encrypted Key`);return p;case`ECDH-ES`:if(m!==void 0)throw new s.JWEInvalid(`Encountered unexpected JWE Encrypted Key`);case`ECDH-ES+A128KW`:case`ECDH-ES+A192KW`:case`ECDH-ES+A256KW`:{if(!(0,d.default)(h.epk))throw new s.JWEInvalid(`JOSE Header "epk" (Ephemeral Public Key) missing or invalid`);if(!n.ecdhAllowed(p))throw new s.JOSENotSupported(`ECDH with the provided key is not allowed or not supported by your javascript runtime`);let r=await(0,l.importJWK)(h.epk,e),i,o;if(h.apu!==void 0){if(typeof h.apu!=`string`)throw new s.JWEInvalid(`JOSE Header "apu" (Agreement PartyUInfo) invalid`);try{i=(0,a.decode)(h.apu)}catch{throw new s.JWEInvalid(`Failed to base64url decode the apu`)}}if(h.apv!==void 0){if(typeof h.apv!=`string`)throw new s.JWEInvalid(`JOSE Header "apv" (Agreement PartyVInfo) invalid`);try{o=(0,a.decode)(h.apv)}catch{throw new s.JWEInvalid(`Failed to base64url decode the apv`)}}let u=await n.deriveKey(r,p,e===`ECDH-ES`?h.enc:e,e===`ECDH-ES`?(0,c.bitLength)(h.enc):parseInt(e.slice(-5,-2),10),i,o);if(e===`ECDH-ES`)return u;if(m===void 0)throw new s.JWEInvalid(`JWE Encrypted Key missing`);return(0,t.unwrap)(e.slice(-6),u,m)}case`RSA1_5`:case`RSA-OAEP`:case`RSA-OAEP-256`:case`RSA-OAEP-384`:case`RSA-OAEP-512`:if(m===void 0)throw new s.JWEInvalid(`JWE Encrypted Key missing`);return(0,i.decrypt)(e,p,m);case`PBES2-HS256+A128KW`:case`PBES2-HS384+A192KW`:case`PBES2-HS512+A256KW`:{if(m===void 0)throw new s.JWEInvalid(`JWE Encrypted Key missing`);if(typeof h.p2c!=`number`)throw new s.JWEInvalid(`JOSE Header "p2c" (PBES2 Count) missing or invalid`);let t=g?.maxPBES2Count||1e4;if(h.p2c>t)throw new s.JWEInvalid(`JOSE Header "p2c" (PBES2 Count) out is of acceptable bounds`);if(typeof h.p2s!=`string`)throw new s.JWEInvalid(`JOSE Header "p2s" (PBES2 Salt) missing or invalid`);let n;try{n=(0,a.decode)(h.p2s)}catch{throw new s.JWEInvalid(`Failed to base64url decode the p2s`)}return(0,r.decrypt)(e,p,m,h.p2c,n)}case`A128KW`:case`A192KW`:case`A256KW`:if(m===void 0)throw new s.JWEInvalid(`JWE Encrypted Key missing`);return(0,t.unwrap)(e,p,m);case`A128GCMKW`:case`A192GCMKW`:case`A256GCMKW`:{if(m===void 0)throw new s.JWEInvalid(`JWE Encrypted Key missing`);if(typeof h.iv!=`string`)throw new s.JWEInvalid(`JOSE Header "iv" (Initialization Vector) missing or invalid`);if(typeof h.tag!=`string`)throw new s.JWEInvalid(`JOSE Header "tag" (Authentication Tag) missing or invalid`);let t;try{t=(0,a.decode)(h.iv)}catch{throw new s.JWEInvalid(`Failed to base64url decode the iv`)}let n;try{n=(0,a.decode)(h.tag)}catch{throw new s.JWEInvalid(`Failed to base64url decode the tag`)}return(0,f.unwrap)(e,p,m,t,n)}default:throw new s.JOSENotSupported(`Invalid or unsupported "alg" (JWE Algorithm) header value`)}}e.default=p})),Fc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0});let t=X();function n(e,n,r,i,a){if(a.crit!==void 0&&i?.crit===void 0)throw new e(`"crit" (Critical) Header Parameter MUST be integrity protected`);if(!i||i.crit===void 0)return new Set;if(!Array.isArray(i.crit)||i.crit.length===0||i.crit.some(e=>typeof e!=`string`||e.length===0))throw new e(`"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present`);let o;o=r===void 0?n:new Map([...Object.entries(r),...n.entries()]);for(let n of i.crit){if(!o.has(n))throw new t.JOSENotSupported(`Extension Header Parameter "${n}" is not recognized`);if(a[n]===void 0)throw new e(`Extension Header Parameter "${n}" is missing`);if(o.get(n)&&i[n]===void 0)throw new e(`Extension Header Parameter "${n}" MUST be integrity protected`)}return new Set(i.crit)}e.default=n})),Ic=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=(e,t)=>{if(t!==void 0&&(!Array.isArray(t)||t.some(e=>typeof e!=`string`)))throw TypeError(`"${e}" option must be an array of strings`);if(t)return new Set(t)}})),Lc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.flattenedDecrypt=d;let t=rc(),n=gc(),r=X(),i=_c(),a=Z(),o=Pc(),s=Y(),c=Dc(),l=Fc(),u=Ic();async function d(e,d,f){if(!(0,a.default)(e))throw new r.JWEInvalid(`Flattened JWE must be an object`);if(e.protected===void 0&&e.header===void 0&&e.unprotected===void 0)throw new r.JWEInvalid(`JOSE Header missing`);if(e.iv!==void 0&&typeof e.iv!=`string`)throw new r.JWEInvalid(`JWE Initialization Vector incorrect type`);if(typeof e.ciphertext!=`string`)throw new r.JWEInvalid(`JWE Ciphertext missing or incorrect type`);if(e.tag!==void 0&&typeof e.tag!=`string`)throw new r.JWEInvalid(`JWE Authentication Tag incorrect type`);if(e.protected!==void 0&&typeof e.protected!=`string`)throw new r.JWEInvalid(`JWE Protected Header incorrect type`);if(e.encrypted_key!==void 0&&typeof e.encrypted_key!=`string`)throw new r.JWEInvalid(`JWE Encrypted Key incorrect type`);if(e.aad!==void 0&&typeof e.aad!=`string`)throw new r.JWEInvalid(`JWE AAD incorrect type`);if(e.header!==void 0&&!(0,a.default)(e.header))throw new r.JWEInvalid(`JWE Shared Unprotected Header incorrect type`);if(e.unprotected!==void 0&&!(0,a.default)(e.unprotected))throw new r.JWEInvalid(`JWE Per-Recipient Unprotected Header incorrect type`);let p;if(e.protected)try{let n=(0,t.decode)(e.protected);p=JSON.parse(s.decoder.decode(n))}catch{throw new r.JWEInvalid(`JWE Protected Header is invalid`)}if(!(0,i.default)(p,e.header,e.unprotected))throw new r.JWEInvalid(`JWE Protected, JWE Unprotected Header, and JWE Per-Recipient Unprotected Header Parameter names must be disjoint`);let m={...p,...e.header,...e.unprotected};if((0,l.default)(r.JWEInvalid,new Map,f?.crit,p,m),m.zip!==void 0)throw new r.JOSENotSupported(`JWE "zip" (Compression Algorithm) Header Parameter is not supported.`);let{alg:h,enc:g}=m;if(typeof h!=`string`||!h)throw new r.JWEInvalid(`missing JWE Algorithm (alg) in JWE Header`);if(typeof g!=`string`||!g)throw new r.JWEInvalid(`missing JWE Encryption Algorithm (enc) in JWE Header`);let _=f&&(0,u.default)(`keyManagementAlgorithms`,f.keyManagementAlgorithms),v=f&&(0,u.default)(`contentEncryptionAlgorithms`,f.contentEncryptionAlgorithms);if(_&&!_.has(h)||!_&&h.startsWith(`PBES2`))throw new r.JOSEAlgNotAllowed(`"alg" (Algorithm) Header Parameter value not allowed`);if(v&&!v.has(g))throw new r.JOSEAlgNotAllowed(`"enc" (Encryption Algorithm) Header Parameter value not allowed`);let y;if(e.encrypted_key!==void 0)try{y=(0,t.decode)(e.encrypted_key)}catch{throw new r.JWEInvalid(`Failed to base64url decode the encrypted_key`)}let b=!1;typeof d==`function`&&(d=await d(p,e),b=!0);let x;try{x=await(0,o.default)(h,d,y,m,f)}catch(e){if(e instanceof TypeError||e instanceof r.JWEInvalid||e instanceof r.JOSENotSupported)throw e;x=(0,c.default)(g)}let S,C;if(e.iv!==void 0)try{S=(0,t.decode)(e.iv)}catch{throw new r.JWEInvalid(`Failed to base64url decode the iv`)}if(e.tag!==void 0)try{C=(0,t.decode)(e.tag)}catch{throw new r.JWEInvalid(`Failed to base64url decode the tag`)}let w=s.encoder.encode(e.protected??``),ee;ee=e.aad===void 0?w:(0,s.concat)(w,s.encoder.encode(`.`),s.encoder.encode(e.aad));let te;try{te=(0,t.decode)(e.ciphertext)}catch{throw new r.JWEInvalid(`Failed to base64url decode the ciphertext`)}let ne={plaintext:await(0,n.default)(g,x,te,S,C,ee)};if(e.protected!==void 0&&(ne.protectedHeader=p),e.aad!==void 0)try{ne.additionalAuthenticatedData=(0,t.decode)(e.aad)}catch{throw new r.JWEInvalid(`Failed to base64url decode the aad`)}return e.unprotected!==void 0&&(ne.sharedUnprotectedHeader=e.unprotected),e.header!==void 0&&(ne.unprotectedHeader=e.header),b?{...ne,key:d}:ne}})),Rc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.compactDecrypt=i;let t=Lc(),n=X(),r=Y();async function i(e,i,a){if(e instanceof Uint8Array&&(e=r.decoder.decode(e)),typeof e!=`string`)throw new n.JWEInvalid(`Compact JWE must be a string or Uint8Array`);let{0:o,1:s,2:c,3:l,4:u,length:d}=e.split(`.`);if(d!==5)throw new n.JWEInvalid(`Invalid Compact JWE`);let f=await(0,t.flattenedDecrypt)({ciphertext:l,iv:c||void 0,protected:o,tag:u||void 0,encrypted_key:s||void 0},i,a),p={plaintext:f.plaintext,protectedHeader:f.protectedHeader};return typeof i==`function`?{...p,key:f.key}:p}})),zc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.generalDecrypt=i;let t=Lc(),n=X(),r=Z();async function i(e,i,a){if(!(0,r.default)(e))throw new n.JWEInvalid(`General JWE must be an object`);if(!Array.isArray(e.recipients)||!e.recipients.every(r.default))throw new n.JWEInvalid(`JWE Recipients missing or incorrect type`);if(!e.recipients.length)throw new n.JWEInvalid(`JWE Recipients has no members`);for(let n of e.recipients)try{return await(0,t.flattenedDecrypt)({aad:e.aad,ciphertext:e.ciphertext,encrypted_key:n.encrypted_key,header:n.header,iv:e.iv,protected:e.protected,tag:e.tag,unprotected:e.unprotected},i,a)}catch{}throw new n.JWEDecryptionFailed}})),Bc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.unprotected=void 0,e.unprotected=Symbol()})),Vc=r((t=>{Object.defineProperty(t,"__esModule",{value:!0});let n=e(`node:crypto`),r=rc(),i=X(),a=dc(),o=sc(),s=pc(),c=hc();t.default=e=>{let t;if((0,a.isCryptoKey)(e)){if(!e.extractable)throw TypeError(`CryptoKey is not extractable`);t=n.KeyObject.from(e)}else if((0,o.default)(e))t=e;else if(e instanceof Uint8Array)return{kty:`oct`,k:(0,r.encode)(e)};else throw TypeError((0,s.default)(e,...c.types,`Uint8Array`));if(t.type!==`secret`&&![`rsa`,`ec`,`ed25519`,`x25519`,`ed448`,`x448`].includes(t.asymmetricKeyType))throw new i.JOSENotSupported(`Unsupported key asymmetricKeyType`);return t.export({format:`jwk`})}})),Hc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.exportSPKI=i,e.exportPKCS8=a,e.exportJWK=o;let t=Oc(),n=Oc(),r=Vc();async function i(e){return(0,t.toSPKI)(e)}async function a(e){return(0,n.toPKCS8)(e)}async function o(e){return(0,r.default)(e)}})),Uc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0});let t=vc(),n=xc(),r=Cc(),i=Tc(),a=rc(),o=Ec(),s=Dc(),c=X(),l=Hc(),u=jc(),d=Nc();async function f(e,f,p,m,h={}){let g,_,v;switch((0,u.default)(e,p,`encrypt`),p=await o.default.normalizePublicKey?.(p,e)||p,e){case`dir`:v=p;break;case`ECDH-ES`:case`ECDH-ES+A128KW`:case`ECDH-ES+A192KW`:case`ECDH-ES+A256KW`:{if(!n.ecdhAllowed(p))throw new c.JOSENotSupported(`ECDH with the provided key is not allowed or not supported by your javascript runtime`);let{apu:r,apv:i}=h,{epk:o}=h;o||=(await n.generateEpk(p)).privateKey;let{x:u,y:d,crv:y,kty:b}=await(0,l.exportJWK)(o),x=await n.deriveKey(p,o,e===`ECDH-ES`?f:e,e===`ECDH-ES`?(0,s.bitLength)(f):parseInt(e.slice(-5,-2),10),r,i);if(_={epk:{x:u,crv:y,kty:b}},b===`EC`&&(_.epk.y=d),r&&(_.apu=(0,a.encode)(r)),i&&(_.apv=(0,a.encode)(i)),e===`ECDH-ES`){v=x;break}v=m||(0,s.default)(f);let S=e.slice(-6);g=await(0,t.wrap)(S,x,v);break}case`RSA1_5`:case`RSA-OAEP`:case`RSA-OAEP-256`:case`RSA-OAEP-384`:case`RSA-OAEP-512`:v=m||(0,s.default)(f),g=await(0,i.encrypt)(e,p,v);break;case`PBES2-HS256+A128KW`:case`PBES2-HS384+A192KW`:case`PBES2-HS512+A256KW`:{v=m||(0,s.default)(f);let{p2c:t,p2s:n}=h;({encryptedKey:g,..._}=await(0,r.encrypt)(e,p,v,t,n));break}case`A128KW`:case`A192KW`:case`A256KW`:v=m||(0,s.default)(f),g=await(0,t.wrap)(e,p,v);break;case`A128GCMKW`:case`A192GCMKW`:case`A256GCMKW`:{v=m||(0,s.default)(f);let{iv:t}=h;({encryptedKey:g,..._}=await(0,d.wrap)(e,p,v,t));break}default:throw new c.JOSENotSupported(`Invalid or unsupported "alg" (JWE Algorithm) header value`)}return{cek:v,encryptedKey:g,parameters:_}}e.default=f})),Wc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FlattenedEncrypt=void 0;let t=rc(),n=Bc(),r=Mc(),i=Uc(),a=X(),o=_c(),s=Y(),c=Fc();e.FlattenedEncrypt=class{_plaintext;_protectedHeader;_sharedUnprotectedHeader;_unprotectedHeader;_aad;_cek;_iv;_keyManagementParameters;constructor(e){if(!(e instanceof Uint8Array))throw TypeError(`plaintext must be an instance of Uint8Array`);this._plaintext=e}setKeyManagementParameters(e){if(this._keyManagementParameters)throw TypeError(`setKeyManagementParameters can only be called once`);return this._keyManagementParameters=e,this}setProtectedHeader(e){if(this._protectedHeader)throw TypeError(`setProtectedHeader can only be called once`);return this._protectedHeader=e,this}setSharedUnprotectedHeader(e){if(this._sharedUnprotectedHeader)throw TypeError(`setSharedUnprotectedHeader can only be called once`);return this._sharedUnprotectedHeader=e,this}setUnprotectedHeader(e){if(this._unprotectedHeader)throw TypeError(`setUnprotectedHeader can only be called once`);return this._unprotectedHeader=e,this}setAdditionalAuthenticatedData(e){return this._aad=e,this}setContentEncryptionKey(e){if(this._cek)throw TypeError(`setContentEncryptionKey can only be called once`);return this._cek=e,this}setInitializationVector(e){if(this._iv)throw TypeError(`setInitializationVector can only be called once`);return this._iv=e,this}async encrypt(e,l){if(!this._protectedHeader&&!this._unprotectedHeader&&!this._sharedUnprotectedHeader)throw new a.JWEInvalid(`either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()`);if(!(0,o.default)(this._protectedHeader,this._unprotectedHeader,this._sharedUnprotectedHeader))throw new a.JWEInvalid(`JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint`);let u={...this._protectedHeader,...this._unprotectedHeader,...this._sharedUnprotectedHeader};if((0,c.default)(a.JWEInvalid,new Map,l?.crit,this._protectedHeader,u),u.zip!==void 0)throw new a.JOSENotSupported(`JWE "zip" (Compression Algorithm) Header Parameter is not supported.`);let{alg:d,enc:f}=u;if(typeof d!=`string`||!d)throw new a.JWEInvalid(`JWE "alg" (Algorithm) Header Parameter missing or invalid`);if(typeof f!=`string`||!f)throw new a.JWEInvalid(`JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid`);let p;if(this._cek&&(d===`dir`||d===`ECDH-ES`))throw TypeError(`setContentEncryptionKey cannot be called with JWE "alg" (Algorithm) Header ${d}`);let m;{let t;({cek:m,encryptedKey:p,parameters:t}=await(0,i.default)(d,f,e,this._cek,this._keyManagementParameters)),t&&(l&&n.unprotected in l?this._unprotectedHeader?this._unprotectedHeader={...this._unprotectedHeader,...t}:this.setUnprotectedHeader(t):this._protectedHeader?this._protectedHeader={...this._protectedHeader,...t}:this.setProtectedHeader(t))}let h,g,_;g=this._protectedHeader?s.encoder.encode((0,t.encode)(JSON.stringify(this._protectedHeader))):s.encoder.encode(``),this._aad?(_=(0,t.encode)(this._aad),h=(0,s.concat)(g,s.encoder.encode(`.`),s.encoder.encode(_))):h=g;let{ciphertext:v,tag:y,iv:b}=await(0,r.default)(f,this._plaintext,m,this._iv,h),x={ciphertext:(0,t.encode)(v)};return b&&(x.iv=(0,t.encode)(b)),y&&(x.tag=(0,t.encode)(y)),p&&(x.encrypted_key=(0,t.encode)(p)),_&&(x.aad=_),this._protectedHeader&&(x.protected=s.decoder.decode(g)),this._sharedUnprotectedHeader&&(x.unprotected=this._sharedUnprotectedHeader),this._unprotectedHeader&&(x.header=this._unprotectedHeader),x}}})),Gc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.GeneralEncrypt=void 0;let t=Wc(),n=Bc(),r=X(),i=Dc(),a=_c(),o=Uc(),s=rc(),c=Fc();var l=class{parent;unprotectedHeader;key;options;constructor(e,t,n){this.parent=e,this.key=t,this.options=n}setUnprotectedHeader(e){if(this.unprotectedHeader)throw TypeError(`setUnprotectedHeader can only be called once`);return this.unprotectedHeader=e,this}addRecipient(...e){return this.parent.addRecipient(...e)}encrypt(...e){return this.parent.encrypt(...e)}done(){return this.parent}};e.GeneralEncrypt=class{_plaintext;_recipients=[];_protectedHeader;_unprotectedHeader;_aad;constructor(e){this._plaintext=e}addRecipient(e,t){let n=new l(this,e,{crit:t?.crit});return this._recipients.push(n),n}setProtectedHeader(e){if(this._protectedHeader)throw TypeError(`setProtectedHeader can only be called once`);return this._protectedHeader=e,this}setSharedUnprotectedHeader(e){if(this._unprotectedHeader)throw TypeError(`setSharedUnprotectedHeader can only be called once`);return this._unprotectedHeader=e,this}setAdditionalAuthenticatedData(e){return this._aad=e,this}async encrypt(){if(!this._recipients.length)throw new r.JWEInvalid(`at least one recipient must be added`);if(this._recipients.length===1){let[e]=this._recipients,n=await new t.FlattenedEncrypt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(e.unprotectedHeader).encrypt(e.key,{...e.options}),r={ciphertext:n.ciphertext,iv:n.iv,recipients:[{}],tag:n.tag};return n.aad&&(r.aad=n.aad),n.protected&&(r.protected=n.protected),n.unprotected&&(r.unprotected=n.unprotected),n.encrypted_key&&(r.recipients[0].encrypted_key=n.encrypted_key),n.header&&(r.recipients[0].header=n.header),r}let e;for(let t=0;t<this._recipients.length;t++){let n=this._recipients[t];if(!(0,a.default)(this._protectedHeader,this._unprotectedHeader,n.unprotectedHeader))throw new r.JWEInvalid(`JWE Protected, JWE Shared Unprotected and JWE Per-Recipient Header Parameter names must be disjoint`);let i={...this._protectedHeader,...this._unprotectedHeader,...n.unprotectedHeader},{alg:o}=i;if(typeof o!=`string`||!o)throw new r.JWEInvalid(`JWE "alg" (Algorithm) Header Parameter missing or invalid`);if(o===`dir`||o===`ECDH-ES`)throw new r.JWEInvalid(`"dir" and "ECDH-ES" alg may only be used with a single recipient`);if(typeof i.enc!=`string`||!i.enc)throw new r.JWEInvalid(`JWE "enc" (Encryption Algorithm) Header Parameter missing or invalid`);if(!e)e=i.enc;else if(e!==i.enc)throw new r.JWEInvalid(`JWE "enc" (Encryption Algorithm) Header Parameter must be the same for all recipients`);if((0,c.default)(r.JWEInvalid,new Map,n.options.crit,this._protectedHeader,i),i.zip!==void 0)throw new r.JOSENotSupported(`JWE "zip" (Compression Algorithm) Header Parameter is not supported.`)}let l=(0,i.default)(e),u={ciphertext:``,iv:``,recipients:[],tag:``};for(let r=0;r<this._recipients.length;r++){let i=this._recipients[r],a={};u.recipients.push(a);let c={...this._protectedHeader,...this._unprotectedHeader,...i.unprotectedHeader}.alg.startsWith(`PBES2`)?2048+r:void 0;if(r===0){let e=await new t.FlattenedEncrypt(this._plaintext).setAdditionalAuthenticatedData(this._aad).setContentEncryptionKey(l).setProtectedHeader(this._protectedHeader).setSharedUnprotectedHeader(this._unprotectedHeader).setUnprotectedHeader(i.unprotectedHeader).setKeyManagementParameters({p2c:c}).encrypt(i.key,{...i.options,[n.unprotected]:!0});u.ciphertext=e.ciphertext,u.iv=e.iv,u.tag=e.tag,e.aad&&(u.aad=e.aad),e.protected&&(u.protected=e.protected),e.unprotected&&(u.unprotected=e.unprotected),a.encrypted_key=e.encrypted_key,e.header&&(a.header=e.header);continue}let{encryptedKey:d,parameters:f}=await(0,o.default)(i.unprotectedHeader?.alg||this._protectedHeader?.alg||this._unprotectedHeader?.alg,e,i.key,l,{p2c:c});a.encrypted_key=(0,s.encode)(d),(i.unprotectedHeader||f)&&(a.header={...i.unprotectedHeader,...f})}return u}}})),Kc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=n;let t=X();function n(e){switch(e){case`PS256`:case`RS256`:case`ES256`:case`ES256K`:return`sha256`;case`PS384`:case`RS384`:case`ES384`:return`sha384`;case`PS512`:case`RS512`:case`ES512`:return`sha512`;case`Ed25519`:case`EdDSA`:return;default:throw new t.JOSENotSupported(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}})),qc=r((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=s;let n=e(`node:crypto`),r=bc(),i=X(),a=wc(),o=new Map([[`ES256`,`P-256`],[`ES256K`,`secp256k1`],[`ES384`,`P-384`],[`ES512`,`P-521`]]);function s(e,t){let s,c,l;if(t instanceof n.KeyObject)s=t.asymmetricKeyType,c=t.asymmetricKeyDetails;else switch(l=!0,t.kty){case`RSA`:s=`rsa`;break;case`EC`:s=`ec`;break;case`OKP`:if(t.crv===`Ed25519`){s=`ed25519`;break}if(t.crv===`Ed448`){s=`ed448`;break}throw TypeError(`Invalid key for this operation, its crv must be Ed25519 or Ed448`);default:throw TypeError(`Invalid key for this operation, its kty must be RSA, OKP, or EC`)}let u;switch(e){case`Ed25519`:if(s!==`ed25519`)throw TypeError(`Invalid key for this operation, its asymmetricKeyType must be ed25519`);break;case`EdDSA`:if(![`ed25519`,`ed448`].includes(s))throw TypeError(`Invalid key for this operation, its asymmetricKeyType must be ed25519 or ed448`);break;case`RS256`:case`RS384`:case`RS512`:if(s!==`rsa`)throw TypeError(`Invalid key for this operation, its asymmetricKeyType must be rsa`);(0,a.default)(t,e);break;case`PS256`:case`PS384`:case`PS512`:if(s===`rsa-pss`){let{hashAlgorithm:t,mgf1HashAlgorithm:n,saltLength:r}=c,i=parseInt(e.slice(-3),10);if(t!==void 0&&(t!==`sha${i}`||n!==t))throw TypeError(`Invalid key for this operation, its RSA-PSS parameters do not meet the requirements of "alg" ${e}`);if(r!==void 0&&r>i>>3)throw TypeError(`Invalid key for this operation, its RSA-PSS parameter saltLength does not meet the requirements of "alg" ${e}`)}else if(s!==`rsa`)throw TypeError(`Invalid key for this operation, its asymmetricKeyType must be rsa or rsa-pss`);(0,a.default)(t,e),u={padding:n.constants.RSA_PKCS1_PSS_PADDING,saltLength:n.constants.RSA_PSS_SALTLEN_DIGEST};break;case`ES256`:case`ES256K`:case`ES384`:case`ES512`:{if(s!==`ec`)throw TypeError(`Invalid key for this operation, its asymmetricKeyType must be ec`);let n=(0,r.default)(t),i=o.get(e);if(n!==i)throw TypeError(`Invalid key curve for the algorithm, its curve must be ${i}, got ${n}`);u={dsaEncoding:`ieee-p1363`};break}default:throw new i.JOSENotSupported(`alg ${e} is not supported either by JOSE or your javascript runtime`)}return l?{format:`jwk`,key:t,...u}:u?{...u,key:t}:t}})),Jc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=n;let t=X();function n(e){switch(e){case`HS256`:return`sha256`;case`HS384`:return`sha384`;case`HS512`:return`sha512`;default:throw new t.JOSENotSupported(`alg ${e} is not supported either by JOSE or your javascript runtime`)}}})),Yc=r((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=c;let n=e(`node:crypto`),r=dc(),i=fc(),a=pc(),o=hc(),s=yc();function c(e,t,c){if(t instanceof Uint8Array){if(!e.startsWith(`HS`))throw TypeError((0,a.default)(t,...o.types));return(0,n.createSecretKey)(t)}if(t instanceof n.KeyObject)return t;if((0,r.isCryptoKey)(t))return(0,i.checkSigCryptoKey)(t,e,c),n.KeyObject.from(t);if(s.isJWK(t))return e.startsWith(`HS`)?(0,n.createSecretKey)(Buffer.from(t.k,`base64url`)):t;throw TypeError((0,a.default)(t,...o.types,`Uint8Array`,`JSON Web Key`))}})),Xc=r((t=>{Object.defineProperty(t,"__esModule",{value:!0});let n=e(`node:crypto`),r=e(`node:util`),i=Kc(),a=Jc(),o=qc(),s=Yc(),c=(0,r.promisify)(n.sign);t.default=async(e,t,r)=>{let l=(0,s.default)(e,t,`sign`);if(e.startsWith(`HS`)){let t=n.createHmac((0,a.default)(e),l);return t.update(r),t.digest()}return c((0,i.default)(e),r,(0,o.default)(e,l))}})),Zc=r((t=>{Object.defineProperty(t,"__esModule",{value:!0});let n=e(`node:crypto`),r=e(`node:util`),i=Kc(),a=qc(),o=Xc(),s=Yc(),c=(0,r.promisify)(n.verify);t.default=async(e,t,r,l)=>{let u=(0,s.default)(e,t,`verify`);if(e.startsWith(`HS`)){let t=await(0,o.default)(e,u,l),i=r;try{return n.timingSafeEqual(i,t)}catch{return!1}}let d=(0,i.default)(e),f=(0,a.default)(e,u);try{return await c(d,l,f,r)}catch{return!1}}})),Qc=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.flattenedVerify=f;let t=rc(),n=Zc(),r=X(),i=Y(),a=_c(),o=Z(),s=jc(),c=Fc(),l=Ic(),u=yc(),d=Ac();async function f(e,f,p){if(!(0,o.default)(e))throw new r.JWSInvalid(`Flattened JWS must be an object`);if(e.protected===void 0&&e.header===void 0)throw new r.JWSInvalid(`Flattened JWS must have either of the "protected" or "header" members`);if(e.protected!==void 0&&typeof e.protected!=`string`)throw new r.JWSInvalid(`JWS Protected Header incorrect type`);if(e.payload===void 0)throw new r.JWSInvalid(`JWS Payload missing`);if(typeof e.signature!=`string`)throw new r.JWSInvalid(`JWS Signature missing or incorrect type`);if(e.header!==void 0&&!(0,o.default)(e.header))throw new r.JWSInvalid(`JWS Unprotected Header incorrect type`);let m={};if(e.protected)try{let n=(0,t.decode)(e.protected);m=JSON.parse(i.decoder.decode(n))}catch{throw new r.JWSInvalid(`JWS Protected Header is invalid`)}if(!(0,a.default)(m,e.header))throw new r.JWSInvalid(`JWS Protected and JWS Unprotected Header Parameter names must be disjoint`);let h={...m,...e.header},g=(0,c.default)(r.JWSInvalid,new Map([[`b64`,!0]]),p?.crit,m,h),_=!0;if(g.has(`b64`)&&(_=m.b64,typeof _!=`boolean`))throw new r.JWSInvalid(`The "b64" (base64url-encode payload) Header Parameter must be a boolean`);let{alg:v}=h;if(typeof v!=`string`||!v)throw new r.JWSInvalid(`JWS "alg" (Algorithm) Header Parameter missing or invalid`);let y=p&&(0,l.default)(`algorithms`,p.algorithms);if(y&&!y.has(v))throw new r.JOSEAlgNotAllowed(`"alg" (Algorithm) Header Parameter value not allowed`);if(_){if(typeof e.payload!=`string`)throw new r.JWSInvalid(`JWS Payload must be a string`)}else if(typeof e.payload!=`string`&&!(e.payload instanceof Uint8Array))throw new r.JWSInvalid(`JWS Payload must be a string or an Uint8Array instance`);let b=!1;typeof f==`function`?(f=await f(m,e),b=!0,(0,s.checkKeyTypeWithJwk)(v,f,`verify`),(0,u.isJWK)(f)&&(f=await(0,d.importJWK)(f,v))):(0,s.checkKeyTypeWithJwk)(v,f,`verify`);let x=(0,i.concat)(i.encoder.encode(e.protected??``),i.encoder.encode(`.`),typeof e.payload==`string`?i.encoder.encode(e.payload):e.payload),S;try{S=(0,t.decode)(e.signature)}catch{throw new r.JWSInvalid(`Failed to base64url decode the signature`)}if(!await(0,n.default)(v,f,S,x))throw new r.JWSSignatureVerificationFailed;let C;if(_)try{C=(0,t.decode)(e.payload)}catch{throw new r.JWSInvalid(`Failed to base64url decode the payload`)}else C=typeof e.payload==`string`?i.encoder.encode(e.payload):e.payload;let w={payload:C};return e.protected!==void 0&&(w.protectedHeader=m),e.header!==void 0&&(w.unprotectedHeader=e.header),b?{...w,key:f}:w}})),$c=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.compactVerify=i;let t=Qc(),n=X(),r=Y();async function i(e,i,a){if(e instanceof Uint8Array&&(e=r.decoder.decode(e)),typeof e!=`string`)throw new n.JWSInvalid(`Compact JWS must be a string or Uint8Array`);let{0:o,1:s,2:c,length:l}=e.split(`.`);if(l!==3)throw new n.JWSInvalid(`Invalid Compact JWS`);let u=await(0,t.flattenedVerify)({payload:s,protected:o,signature:c},i,a),d={payload:u.payload,protectedHeader:u.protectedHeader};return typeof i==`function`?{...d,key:u.key}:d}})),el=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.generalVerify=i;let t=Qc(),n=X(),r=Z();async function i(e,i,a){if(!(0,r.default)(e))throw new n.JWSInvalid(`General JWS must be an object`);if(!Array.isArray(e.signatures)||!e.signatures.every(r.default))throw new n.JWSInvalid(`JWS Signatures missing or incorrect type`);for(let n of e.signatures)try{return await(0,t.flattenedVerify)({header:n.header,payload:e.payload,protected:n.protected,signature:n.signature},i,a)}catch{}throw new n.JWSSignatureVerificationFailed}})),tl=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=e=>Math.floor(e.getTime()/1e3)})),nl=r((e=>{Object.defineProperty(e,"__esModule",{value:!0});let t=/^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i;e.default=e=>{let n=t.exec(e);if(!n||n[4]&&n[1])throw TypeError(`Invalid time period format`);let r=parseFloat(n[2]),i=n[3].toLowerCase(),a;switch(i){case`sec`:case`secs`:case`second`:case`seconds`:case`s`:a=Math.round(r);break;case`minute`:case`minutes`:case`min`:case`mins`:case`m`:a=Math.round(r*60);break;case`hour`:case`hours`:case`hr`:case`hrs`:case`h`:a=Math.round(r*3600);break;case`day`:case`days`:case`d`:a=Math.round(r*86400);break;case`week`:case`weeks`:case`w`:a=Math.round(r*604800);break;default:a=Math.round(r*31557600)}return n[1]===`-`||n[4]===`ago`?-a:a}})),rl=r((e=>{Object.defineProperty(e,"__esModule",{value:!0});let t=X(),n=Y(),r=tl(),i=nl(),a=Z(),o=e=>e.toLowerCase().replace(/^application\//,``),s=(e,t)=>typeof e==`string`?t.includes(e):Array.isArray(e)?t.some(Set.prototype.has.bind(new Set(e))):!1;e.default=(e,c,l={})=>{let u;try{u=JSON.parse(n.decoder.decode(c))}catch{}if(!(0,a.default)(u))throw new t.JWTInvalid(`JWT Claims Set must be a top-level JSON object`);let{typ:d}=l;if(d&&(typeof e.typ!=`string`||o(e.typ)!==o(d)))throw new t.JWTClaimValidationFailed(`unexpected "typ" JWT header value`,u,`typ`,`check_failed`);let{requiredClaims:f=[],issuer:p,subject:m,audience:h,maxTokenAge:g}=l,_=[...f];g!==void 0&&_.push(`iat`),h!==void 0&&_.push(`aud`),m!==void 0&&_.push(`sub`),p!==void 0&&_.push(`iss`);for(let e of new Set(_.reverse()))if(!(e in u))throw new t.JWTClaimValidationFailed(`missing required "${e}" claim`,u,e,`missing`);if(p&&!(Array.isArray(p)?p:[p]).includes(u.iss))throw new t.JWTClaimValidationFailed(`unexpected "iss" claim value`,u,`iss`,`check_failed`);if(m&&u.sub!==m)throw new t.JWTClaimValidationFailed(`unexpected "sub" claim value`,u,`sub`,`check_failed`);if(h&&!s(u.aud,typeof h==`string`?[h]:h))throw new t.JWTClaimValidationFailed(`unexpected "aud" claim value`,u,`aud`,`check_failed`);let v;switch(typeof l.clockTolerance){case`string`:v=(0,i.default)(l.clockTolerance);break;case`number`:v=l.clockTolerance;break;case`undefined`:v=0;break;default:throw TypeError(`Invalid clockTolerance option type`)}let{currentDate:y}=l,b=(0,r.default)(y||new Date);if((u.iat!==void 0||g)&&typeof u.iat!=`number`)throw new t.JWTClaimValidationFailed(`"iat" claim must be a number`,u,`iat`,`invalid`);if(u.nbf!==void 0){if(typeof u.nbf!=`number`)throw new t.JWTClaimValidationFailed(`"nbf" claim must be a number`,u,`nbf`,`invalid`);if(u.nbf>b+v)throw new t.JWTClaimValidationFailed(`"nbf" claim timestamp check failed`,u,`nbf`,`check_failed`)}if(u.exp!==void 0){if(typeof u.exp!=`number`)throw new t.JWTClaimValidationFailed(`"exp" claim must be a number`,u,`exp`,`invalid`);if(u.exp<=b-v)throw new t.JWTExpired(`"exp" claim timestamp check failed`,u,`exp`,`check_failed`)}if(g){let e=b-u.iat,n=typeof g==`number`?g:(0,i.default)(g);if(e-v>n)throw new t.JWTExpired(`"iat" claim timestamp check failed (too far in the past)`,u,`iat`,`check_failed`);if(e<0-v)throw new t.JWTClaimValidationFailed(`"iat" claim timestamp check failed (it should be in the past)`,u,`iat`,`check_failed`)}return u}})),il=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.jwtVerify=i;let t=$c(),n=rl(),r=X();async function i(e,i,a){let o=await(0,t.compactVerify)(e,i,a);if(o.protectedHeader.crit?.includes(`b64`)&&o.protectedHeader.b64===!1)throw new r.JWTInvalid(`JWTs MUST NOT use unencoded payload`);let s={payload:(0,n.default)(o.protectedHeader,o.payload,a),protectedHeader:o.protectedHeader};return typeof i==`function`?{...s,key:o.key}:s}})),al=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.jwtDecrypt=i;let t=Rc(),n=rl(),r=X();async function i(e,i,a){let o=await(0,t.compactDecrypt)(e,i,a),s=(0,n.default)(o.protectedHeader,o.plaintext,a),{protectedHeader:c}=o;if(c.iss!==void 0&&c.iss!==s.iss)throw new r.JWTClaimValidationFailed(`replicated "iss" claim header parameter mismatch`,s,`iss`,`mismatch`);if(c.sub!==void 0&&c.sub!==s.sub)throw new r.JWTClaimValidationFailed(`replicated "sub" claim header parameter mismatch`,s,`sub`,`mismatch`);if(c.aud!==void 0&&JSON.stringify(c.aud)!==JSON.stringify(s.aud))throw new r.JWTClaimValidationFailed(`replicated "aud" claim header parameter mismatch`,s,`aud`,`mismatch`);let l={payload:s,protectedHeader:c};return typeof i==`function`?{...l,key:o.key}:l}})),ol=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.CompactEncrypt=void 0;let t=Wc();e.CompactEncrypt=class{_flattened;constructor(e){this._flattened=new t.FlattenedEncrypt(e)}setContentEncryptionKey(e){return this._flattened.setContentEncryptionKey(e),this}setInitializationVector(e){return this._flattened.setInitializationVector(e),this}setProtectedHeader(e){return this._flattened.setProtectedHeader(e),this}setKeyManagementParameters(e){return this._flattened.setKeyManagementParameters(e),this}async encrypt(e,t){let n=await this._flattened.encrypt(e,t);return[n.protected,n.encrypted_key,n.iv,n.ciphertext,n.tag].join(`.`)}}})),sl=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FlattenedSign=void 0;let t=rc(),n=Xc(),r=_c(),i=X(),a=Y(),o=jc(),s=Fc();e.FlattenedSign=class{_payload;_protectedHeader;_unprotectedHeader;constructor(e){if(!(e instanceof Uint8Array))throw TypeError(`payload must be an instance of Uint8Array`);this._payload=e}setProtectedHeader(e){if(this._protectedHeader)throw TypeError(`setProtectedHeader can only be called once`);return this._protectedHeader=e,this}setUnprotectedHeader(e){if(this._unprotectedHeader)throw TypeError(`setUnprotectedHeader can only be called once`);return this._unprotectedHeader=e,this}async sign(e,c){if(!this._protectedHeader&&!this._unprotectedHeader)throw new i.JWSInvalid(`either setProtectedHeader or setUnprotectedHeader must be called before #sign()`);if(!(0,r.default)(this._protectedHeader,this._unprotectedHeader))throw new i.JWSInvalid(`JWS Protected and JWS Unprotected Header Parameter names must be disjoint`);let l={...this._protectedHeader,...this._unprotectedHeader},u=(0,s.default)(i.JWSInvalid,new Map([[`b64`,!0]]),c?.crit,this._protectedHeader,l),d=!0;if(u.has(`b64`)&&(d=this._protectedHeader.b64,typeof d!=`boolean`))throw new i.JWSInvalid(`The "b64" (base64url-encode payload) Header Parameter must be a boolean`);let{alg:f}=l;if(typeof f!=`string`||!f)throw new i.JWSInvalid(`JWS "alg" (Algorithm) Header Parameter missing or invalid`);(0,o.checkKeyTypeWithJwk)(f,e,`sign`);let p=this._payload;d&&(p=a.encoder.encode((0,t.encode)(p)));let m;m=this._protectedHeader?a.encoder.encode((0,t.encode)(JSON.stringify(this._protectedHeader))):a.encoder.encode(``);let h=(0,a.concat)(m,a.encoder.encode(`.`),p),g=await(0,n.default)(f,e,h),_={signature:(0,t.encode)(g),payload:``};return d&&(_.payload=a.decoder.decode(p)),this._unprotectedHeader&&(_.header=this._unprotectedHeader),this._protectedHeader&&(_.protected=a.decoder.decode(m)),_}}})),cl=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.CompactSign=void 0;let t=sl();e.CompactSign=class{_flattened;constructor(e){this._flattened=new t.FlattenedSign(e)}setProtectedHeader(e){return this._flattened.setProtectedHeader(e),this}async sign(e,t){let n=await this._flattened.sign(e,t);if(n.payload===void 0)throw TypeError(`use the flattened module for creating JWS with b64: false`);return`${n.protected}.${n.payload}.${n.signature}`}}})),ll=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.GeneralSign=void 0;let t=sl(),n=X();var r=class{parent;protectedHeader;unprotectedHeader;options;key;constructor(e,t,n){this.parent=e,this.key=t,this.options=n}setProtectedHeader(e){if(this.protectedHeader)throw TypeError(`setProtectedHeader can only be called once`);return this.protectedHeader=e,this}setUnprotectedHeader(e){if(this.unprotectedHeader)throw TypeError(`setUnprotectedHeader can only be called once`);return this.unprotectedHeader=e,this}addSignature(...e){return this.parent.addSignature(...e)}sign(...e){return this.parent.sign(...e)}done(){return this.parent}};e.GeneralSign=class{_payload;_signatures=[];constructor(e){this._payload=e}addSignature(e,t){let n=new r(this,e,t);return this._signatures.push(n),n}async sign(){if(!this._signatures.length)throw new n.JWSInvalid(`at least one signature must be added`);let e={signatures:[],payload:``};for(let r=0;r<this._signatures.length;r++){let i=this._signatures[r],a=new t.FlattenedSign(this._payload);a.setProtectedHeader(i.protectedHeader),a.setUnprotectedHeader(i.unprotectedHeader);let{payload:o,...s}=await a.sign(i.key,i.options);if(r===0)e.payload=o;else if(e.payload!==o)throw new n.JWSInvalid(`inconsistent use of JWS Unencoded Payload (RFC7797)`);e.signatures.push(s)}return e}}})),ul=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ProduceJWT=void 0;let t=tl(),n=Z(),r=nl();function i(e,t){if(!Number.isFinite(t))throw TypeError(`Invalid ${e} input`);return t}e.ProduceJWT=class{_payload;constructor(e={}){if(!(0,n.default)(e))throw TypeError(`JWT Claims Set MUST be an object`);this._payload=e}setIssuer(e){return this._payload={...this._payload,iss:e},this}setSubject(e){return this._payload={...this._payload,sub:e},this}setAudience(e){return this._payload={...this._payload,aud:e},this}setJti(e){return this._payload={...this._payload,jti:e},this}setNotBefore(e){return this._payload=typeof e==`number`?{...this._payload,nbf:i(`setNotBefore`,e)}:e instanceof Date?{...this._payload,nbf:i(`setNotBefore`,(0,t.default)(e))}:{...this._payload,nbf:(0,t.default)(new Date)+(0,r.default)(e)},this}setExpirationTime(e){return this._payload=typeof e==`number`?{...this._payload,exp:i(`setExpirationTime`,e)}:e instanceof Date?{...this._payload,exp:i(`setExpirationTime`,(0,t.default)(e))}:{...this._payload,exp:(0,t.default)(new Date)+(0,r.default)(e)},this}setIssuedAt(e){return this._payload=e===void 0?{...this._payload,iat:(0,t.default)(new Date)}:e instanceof Date?{...this._payload,iat:i(`setIssuedAt`,(0,t.default)(e))}:typeof e==`string`?{...this._payload,iat:i(`setIssuedAt`,(0,t.default)(new Date)+(0,r.default)(e))}:{...this._payload,iat:i(`setIssuedAt`,e)},this}}})),dl=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SignJWT=void 0;let t=cl(),n=X(),r=Y(),i=ul();e.SignJWT=class extends i.ProduceJWT{_protectedHeader;setProtectedHeader(e){return this._protectedHeader=e,this}async sign(e,i){let a=new t.CompactSign(r.encoder.encode(JSON.stringify(this._payload)));if(a.setProtectedHeader(this._protectedHeader),Array.isArray(this._protectedHeader?.crit)&&this._protectedHeader.crit.includes(`b64`)&&this._protectedHeader.b64===!1)throw new n.JWTInvalid(`JWTs MUST NOT use unencoded payload`);return a.sign(e,i)}}})),fl=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EncryptJWT=void 0;let t=ol(),n=Y(),r=ul();e.EncryptJWT=class extends r.ProduceJWT{_cek;_iv;_keyManagementParameters;_protectedHeader;_replicateIssuerAsHeader;_replicateSubjectAsHeader;_replicateAudienceAsHeader;setProtectedHeader(e){if(this._protectedHeader)throw TypeError(`setProtectedHeader can only be called once`);return this._protectedHeader=e,this}setKeyManagementParameters(e){if(this._keyManagementParameters)throw TypeError(`setKeyManagementParameters can only be called once`);return this._keyManagementParameters=e,this}setContentEncryptionKey(e){if(this._cek)throw TypeError(`setContentEncryptionKey can only be called once`);return this._cek=e,this}setInitializationVector(e){if(this._iv)throw TypeError(`setInitializationVector can only be called once`);return this._iv=e,this}replicateIssuerAsHeader(){return this._replicateIssuerAsHeader=!0,this}replicateSubjectAsHeader(){return this._replicateSubjectAsHeader=!0,this}replicateAudienceAsHeader(){return this._replicateAudienceAsHeader=!0,this}async encrypt(e,r){let i=new t.CompactEncrypt(n.encoder.encode(JSON.stringify(this._payload)));return this._replicateIssuerAsHeader&&(this._protectedHeader={...this._protectedHeader,iss:this._payload.iss}),this._replicateSubjectAsHeader&&(this._protectedHeader={...this._protectedHeader,sub:this._payload.sub}),this._replicateAudienceAsHeader&&(this._protectedHeader={...this._protectedHeader,aud:this._payload.aud}),i.setProtectedHeader(this._protectedHeader),this._iv&&i.setInitializationVector(this._iv),this._cek&&i.setContentEncryptionKey(this._cek),this._keyManagementParameters&&i.setKeyManagementParameters(this._keyManagementParameters),i.encrypt(e,r)}}})),pl=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.calculateJwkThumbprint=s,e.calculateJwkThumbprintUri=c;let t=nc(),n=rc(),r=X(),i=Y(),a=Z(),o=(e,t)=>{if(typeof e!=`string`||!e)throw new r.JWKInvalid(`${t} missing or invalid`)};async function s(e,s){if(!(0,a.default)(e))throw TypeError(`JWK must be an object`);if(s??=`sha256`,s!==`sha256`&&s!==`sha384`&&s!==`sha512`)throw TypeError(`digestAlgorithm must one of "sha256", "sha384", or "sha512"`);let c;switch(e.kty){case`EC`:o(e.crv,`"crv" (Curve) Parameter`),o(e.x,`"x" (X Coordinate) Parameter`),o(e.y,`"y" (Y Coordinate) Parameter`),c={crv:e.crv,kty:e.kty,x:e.x,y:e.y};break;case`OKP`:o(e.crv,`"crv" (Subtype of Key Pair) Parameter`),o(e.x,`"x" (Public Key) Parameter`),c={crv:e.crv,kty:e.kty,x:e.x};break;case`RSA`:o(e.e,`"e" (Exponent) Parameter`),o(e.n,`"n" (Modulus) Parameter`),c={e:e.e,kty:e.kty,n:e.n};break;case`oct`:o(e.k,`"k" (Key Value) Parameter`),c={k:e.k,kty:e.kty};break;default:throw new r.JOSENotSupported(`"kty" (Key Type) Parameter missing or unsupported`)}let l=i.encoder.encode(JSON.stringify(c));return(0,n.encode)(await(0,t.default)(s,l))}async function c(e,t){t??=`sha256`;let n=await s(e,t);return`urn:ietf:params:oauth:jwk-thumbprint:sha-${t.slice(-3)}:${n}`}})),ml=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.EmbeddedJWK=i;let t=Ac(),n=Z(),r=X();async function i(e,i){let a={...e,...i?.header};if(!(0,n.default)(a.jwk))throw new r.JWSInvalid(`"jwk" (JSON Web Key) Header Parameter must be a JSON object`);let o=await(0,t.importJWK)({...a.jwk,ext:!0},a.alg);if(o instanceof Uint8Array||o.type!==`public`)throw new r.JWSInvalid(`"jwk" (JSON Web Key) Header Parameter must be a public key`);return o}})),hl=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.createLocalJWKSet=u;let t=Ac(),n=X(),r=Z();function i(e){switch(typeof e==`string`&&e.slice(0,2)){case`RS`:case`PS`:return`RSA`;case`ES`:return`EC`;case`Ed`:return`OKP`;default:throw new n.JOSENotSupported(`Unsupported "alg" value for a JSON Web Key Set`)}}function a(e){return e&&typeof e==`object`&&Array.isArray(e.keys)&&e.keys.every(o)}function o(e){return(0,r.default)(e)}function s(e){return typeof structuredClone==`function`?structuredClone(e):JSON.parse(JSON.stringify(e))}var c=class{_jwks;_cached=new WeakMap;constructor(e){if(!a(e))throw new n.JWKSInvalid(`JSON Web Key Set malformed`);this._jwks=s(e)}async getKey(e,t){let{alg:r,kid:a}={...e,...t?.header},o=i(r),s=this._jwks.keys.filter(e=>{let t=o===e.kty;if(t&&typeof a==`string`&&(t=a===e.kid),t&&typeof e.alg==`string`&&(t=r===e.alg),t&&typeof e.use==`string`&&(t=e.use===`sig`),t&&Array.isArray(e.key_ops)&&(t=e.key_ops.includes(`verify`)),t)switch(r){case`ES256`:t=e.crv===`P-256`;break;case`ES256K`:t=e.crv===`secp256k1`;break;case`ES384`:t=e.crv===`P-384`;break;case`ES512`:t=e.crv===`P-521`;break;case`Ed25519`:t=e.crv===`Ed25519`;break;case`EdDSA`:t=e.crv===`Ed25519`||e.crv===`Ed448`}return t}),{0:c,length:u}=s;if(u===0)throw new n.JWKSNoMatchingKey;if(u!==1){let e=new n.JWKSMultipleMatchingKeys,{_cached:t}=this;throw e[Symbol.asyncIterator]=async function*(){for(let e of s)try{yield await l(t,e,r)}catch{}},e}return l(this._cached,c,r)}};async function l(e,r,i){let a=e.get(r)||e.set(r,{}).get(r);if(a[i]===void 0){let e=await(0,t.importJWK)({...r,ext:!0},i);if(e instanceof Uint8Array||e.type!==`public`)throw new n.JWKSInvalid(`JSON Web Key Set members must be public keys`);a[i]=e}return a[i]}function u(e){let t=new c(e),n=async(e,n)=>t.getKey(e,n);return Object.defineProperties(n,{jwks:{value:()=>s(t._jwks),enumerable:!0,configurable:!1,writable:!1}}),n}})),gl=r((t=>{Object.defineProperty(t,"__esModule",{value:!0});let n=e(`node:http`),r=e(`node:https`),i=e(`node:events`),a=X(),o=Y();t.default=async(e,t,s)=>{let c;switch(e.protocol){case`https:`:c=r.get;break;case`http:`:c=n.get;break;default:throw TypeError(`Unsupported URL protocol.`)}let{agent:l,headers:u}=s,d=c(e.href,{agent:l,timeout:t,headers:u}),[f]=await Promise.race([(0,i.once)(d,`response`),(0,i.once)(d,`timeout`)]);if(!f)throw d.destroy(),new a.JWKSTimeout;if(f.statusCode!==200)throw new a.JOSEError(`Expected 200 OK from the JSON Web Key Set HTTP response`);let p=[];for await(let e of f)p.push(e);try{return JSON.parse(o.decoder.decode((0,o.concat)(...p)))}catch{throw new a.JOSEError(`Failed to parse the JSON Web Key Set HTTP response as JSON`)}}})),_l=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.experimental_jwksCache=e.jwksCache=void 0,e.createRemoteJWKSet=l;let t=gl(),n=X(),r=hl(),i=Z();function a(){return typeof WebSocketPair<`u`||typeof navigator<`u`&&navigator.userAgent===`Cloudflare-Workers`||typeof EdgeRuntime<`u`&&EdgeRuntime===`vercel`}let o;(typeof navigator>`u`||!navigator.userAgent?.startsWith?.(`Mozilla/5.0 `))&&(o=`jose/v5.10.0`),e.jwksCache=Symbol();function s(e,t){return!(typeof e!=`object`||!e||!(`uat`in e)||typeof e.uat!=`number`||Date.now()-e.uat>=t||!(`jwks`in e)||!(0,i.default)(e.jwks)||!Array.isArray(e.jwks.keys)||!Array.prototype.every.call(e.jwks.keys,i.default))}var c=class{_url;_timeoutDuration;_cooldownDuration;_cacheMaxAge;_jwksTimestamp;_pendingFetch;_options;_local;_cache;constructor(t,n){if(!(t instanceof URL))throw TypeError(`url must be an instance of URL`);this._url=new URL(t.href),this._options={agent:n?.agent,headers:n?.headers},this._timeoutDuration=typeof n?.timeoutDuration==`number`?n?.timeoutDuration:5e3,this._cooldownDuration=typeof n?.cooldownDuration==`number`?n?.cooldownDuration:3e4,this._cacheMaxAge=typeof n?.cacheMaxAge==`number`?n?.cacheMaxAge:6e5,n?.[e.jwksCache]!==void 0&&(this._cache=n?.[e.jwksCache],s(n?.[e.jwksCache],this._cacheMaxAge)&&(this._jwksTimestamp=this._cache.uat,this._local=(0,r.createLocalJWKSet)(this._cache.jwks)))}coolingDown(){return typeof this._jwksTimestamp==`number`&&Date.now()<this._jwksTimestamp+this._cooldownDuration}fresh(){return typeof this._jwksTimestamp==`number`&&Date.now()<this._jwksTimestamp+this._cacheMaxAge}async getKey(e,t){(!this._local||!this.fresh())&&await this.reload();try{return await this._local(e,t)}catch(r){if(r instanceof n.JWKSNoMatchingKey&&this.coolingDown()===!1)return await this.reload(),this._local(e,t);throw r}}async reload(){this._pendingFetch&&a()&&(this._pendingFetch=void 0);let e=new Headers(this._options.headers);o&&!e.has(`User-Agent`)&&(e.set(`User-Agent`,o),this._options.headers=Object.fromEntries(e.entries())),this._pendingFetch||=(0,t.default)(this._url,this._timeoutDuration,this._options).then(e=>{this._local=(0,r.createLocalJWKSet)(e),this._cache&&(this._cache.uat=Date.now(),this._cache.jwks=e),this._jwksTimestamp=Date.now(),this._pendingFetch=void 0}).catch(e=>{throw this._pendingFetch=void 0,e}),await this._pendingFetch}};function l(e,t){let n=new c(e,t),r=async(e,t)=>n.getKey(e,t);return Object.defineProperties(r,{coolingDown:{get:()=>n.coolingDown(),enumerable:!0,configurable:!1},fresh:{get:()=>n.fresh(),enumerable:!0,configurable:!1},reload:{value:()=>n.reload(),enumerable:!0,configurable:!1,writable:!1},reloading:{get:()=>!!n._pendingFetch,enumerable:!0,configurable:!1},jwks:{value:()=>n._local?.jwks(),enumerable:!0,configurable:!1,writable:!1}}),r}e.experimental_jwksCache=e.jwksCache})),vl=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.UnsecuredJWT=void 0;let t=rc(),n=Y(),r=X(),i=rl(),a=ul();e.UnsecuredJWT=class extends a.ProduceJWT{encode(){return`${t.encode(JSON.stringify({alg:`none`}))}.${t.encode(JSON.stringify(this._payload))}.`}static decode(e,a){if(typeof e!=`string`)throw new r.JWTInvalid(`Unsecured JWT must be a string`);let{0:o,1:s,2:c,length:l}=e.split(`.`);if(l!==3||c!==``)throw new r.JWTInvalid(`Invalid Unsecured JWT`);let u;try{if(u=JSON.parse(n.decoder.decode(t.decode(o))),u.alg!==`none`)throw Error()}catch{throw new r.JWTInvalid(`Invalid Unsecured JWT`)}return{payload:(0,i.default)(u,t.decode(s),a),header:u}}}})),yl=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.decode=e.encode=void 0;let t=rc();e.encode=t.encode,e.decode=t.decode})),bl=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.decodeProtectedHeader=i;let t=yl(),n=Y(),r=Z();function i(e){let i;if(typeof e==`string`){let t=e.split(`.`);(t.length===3||t.length===5)&&([i]=t)}else if(typeof e==`object`&&e){if(`protected`in e)i=e.protected;else throw TypeError(`Token does not contain a Protected Header`)}try{if(typeof i!=`string`||!i)throw Error();let e=JSON.parse(n.decoder.decode((0,t.decode)(i)));if(!(0,r.default)(e))throw Error();return e}catch{throw TypeError(`Invalid Token or Protected Header formatting`)}}})),xl=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.decodeJwt=a;let t=yl(),n=Y(),r=Z(),i=X();function a(e){if(typeof e!=`string`)throw new i.JWTInvalid(`JWTs must use Compact JWS serialization, JWT must be a string`);let{1:a,length:o}=e.split(`.`);if(o===5)throw new i.JWTInvalid(`Only JWTs using Compact JWS serialization can be decoded`);if(o!==3)throw new i.JWTInvalid(`Invalid JWT`);if(!a)throw new i.JWTInvalid(`JWTs must contain a payload`);let s;try{s=(0,t.decode)(a)}catch{throw new i.JWTInvalid(`Failed to base64url decode the payload`)}let c;try{c=JSON.parse(n.decoder.decode(s))}catch{throw new i.JWTInvalid(`Failed to parse the decoded payload as JSON`)}if(!(0,r.default)(c))throw new i.JWTInvalid(`Invalid JWT Claims Set`);return c}})),Sl=r((t=>{Object.defineProperty(t,"__esModule",{value:!0}),t.generateSecret=s,t.generateKeyPair=c;let n=e(`node:crypto`),r=e(`node:util`),i=ic(),a=X(),o=(0,r.promisify)(n.generateKeyPair);async function s(e,t){let r;switch(e){case`HS256`:case`HS384`:case`HS512`:case`A128CBC-HS256`:case`A192CBC-HS384`:case`A256CBC-HS512`:r=parseInt(e.slice(-3),10);break;case`A128KW`:case`A192KW`:case`A256KW`:case`A128GCMKW`:case`A192GCMKW`:case`A256GCMKW`:case`A128GCM`:case`A192GCM`:case`A256GCM`:r=parseInt(e.slice(1,4),10);break;default:throw new a.JOSENotSupported(`Invalid or unsupported JWK "alg" (Algorithm) Parameter value`)}return(0,n.createSecretKey)((0,i.default)(new Uint8Array(r>>3)))}async function c(e,t){switch(e){case`RS256`:case`RS384`:case`RS512`:case`PS256`:case`PS384`:case`PS512`:case`RSA-OAEP`:case`RSA-OAEP-256`:case`RSA-OAEP-384`:case`RSA-OAEP-512`:case`RSA1_5`:{let e=t?.modulusLength??2048;if(typeof e!=`number`||e<2048)throw new a.JOSENotSupported(`Invalid or unsupported modulusLength option provided, 2048 bits or larger keys must be used`);return await o(`rsa`,{modulusLength:e,publicExponent:65537})}case`ES256`:return o(`ec`,{namedCurve:`P-256`});case`ES256K`:return o(`ec`,{namedCurve:`secp256k1`});case`ES384`:return o(`ec`,{namedCurve:`P-384`});case`ES512`:return o(`ec`,{namedCurve:`P-521`});case`Ed25519`:return o(`ed25519`);case`EdDSA`:switch(t?.crv){case void 0:case`Ed25519`:return o(`ed25519`);case`Ed448`:return o(`ed448`);default:throw new a.JOSENotSupported(`Invalid or unsupported crv option provided, supported values are Ed25519 and Ed448`)}case`ECDH-ES`:case`ECDH-ES+A128KW`:case`ECDH-ES+A192KW`:case`ECDH-ES+A256KW`:{let e=t?.crv??`P-256`;switch(e){case void 0:case`P-256`:case`P-384`:case`P-521`:return o(`ec`,{namedCurve:e});case`X25519`:return o(`x25519`);case`X448`:return o(`x448`);default:throw new a.JOSENotSupported(`Invalid or unsupported crv option provided, supported values are P-256, P-384, P-521, X25519, and X448`)}}default:throw new a.JOSENotSupported(`Invalid or unsupported JWK "alg" (Algorithm) Parameter value`)}}})),Cl=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.generateKeyPair=n;let t=Sl();async function n(e,n){return(0,t.generateKeyPair)(e,n)}})),wl=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.generateSecret=n;let t=Sl();async function n(e,n){return(0,t.generateSecret)(e,n)}})),Tl=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=`node:crypto`})),El=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=Tl().default})),Dl=r((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.cryptoRuntime=e.base64url=e.generateSecret=e.generateKeyPair=e.errors=e.decodeJwt=e.decodeProtectedHeader=e.importJWK=e.importX509=e.importPKCS8=e.importSPKI=e.exportJWK=e.exportSPKI=e.exportPKCS8=e.UnsecuredJWT=e.experimental_jwksCache=e.jwksCache=e.createRemoteJWKSet=e.createLocalJWKSet=e.EmbeddedJWK=e.calculateJwkThumbprintUri=e.calculateJwkThumbprint=e.EncryptJWT=e.SignJWT=e.GeneralSign=e.FlattenedSign=e.CompactSign=e.FlattenedEncrypt=e.CompactEncrypt=e.jwtDecrypt=e.jwtVerify=e.generalVerify=e.flattenedVerify=e.compactVerify=e.GeneralEncrypt=e.generalDecrypt=e.flattenedDecrypt=e.compactDecrypt=void 0;var t=Rc();Object.defineProperty(e,"compactDecrypt",{enumerable:!0,get:function(){return t.compactDecrypt}});var n=Lc();Object.defineProperty(e,"flattenedDecrypt",{enumerable:!0,get:function(){return n.flattenedDecrypt}});var r=zc();Object.defineProperty(e,"generalDecrypt",{enumerable:!0,get:function(){return r.generalDecrypt}});var i=Gc();Object.defineProperty(e,"GeneralEncrypt",{enumerable:!0,get:function(){return i.GeneralEncrypt}});var a=$c();Object.defineProperty(e,"compactVerify",{enumerable:!0,get:function(){return a.compactVerify}});var o=Qc();Object.defineProperty(e,"flattenedVerify",{enumerable:!0,get:function(){return o.flattenedVerify}});var s=el();Object.defineProperty(e,"generalVerify",{enumerable:!0,get:function(){return s.generalVerify}});var c=il();Object.defineProperty(e,"jwtVerify",{enumerable:!0,get:function(){return c.jwtVerify}});var l=al();Object.defineProperty(e,"jwtDecrypt",{enumerable:!0,get:function(){return l.jwtDecrypt}});var u=ol();Object.defineProperty(e,"CompactEncrypt",{enumerable:!0,get:function(){return u.CompactEncrypt}});var d=Wc();Object.defineProperty(e,"FlattenedEncrypt",{enumerable:!0,get:function(){return d.FlattenedEncrypt}});var f=cl();Object.defineProperty(e,"CompactSign",{enumerable:!0,get:function(){return f.CompactSign}});var p=sl();Object.defineProperty(e,"FlattenedSign",{enumerable:!0,get:function(){return p.FlattenedSign}});var m=ll();Object.defineProperty(e,"GeneralSign",{enumerable:!0,get:function(){return m.GeneralSign}});var h=dl();Object.defineProperty(e,"SignJWT",{enumerable:!0,get:function(){return h.SignJWT}});var g=fl();Object.defineProperty(e,"EncryptJWT",{enumerable:!0,get:function(){return g.EncryptJWT}});var _=pl();Object.defineProperty(e,"calculateJwkThumbprint",{enumerable:!0,get:function(){return _.calculateJwkThumbprint}}),Object.defineProperty(e,"calculateJwkThumbprintUri",{enumerable:!0,get:function(){return _.calculateJwkThumbprintUri}});var v=ml();Object.defineProperty(e,"EmbeddedJWK",{enumerable:!0,get:function(){return v.EmbeddedJWK}});var y=hl();Object.defineProperty(e,"createLocalJWKSet",{enumerable:!0,get:function(){return y.createLocalJWKSet}});var b=_l();Object.defineProperty(e,"createRemoteJWKSet",{enumerable:!0,get:function(){return b.createRemoteJWKSet}}),Object.defineProperty(e,"jwksCache",{enumerable:!0,get:function(){return b.jwksCache}}),Object.defineProperty(e,"experimental_jwksCache",{enumerable:!0,get:function(){return b.experimental_jwksCache}});var x=vl();Object.defineProperty(e,"UnsecuredJWT",{enumerable:!0,get:function(){return x.UnsecuredJWT}});var S=Hc();Object.defineProperty(e,"exportPKCS8",{enumerable:!0,get:function(){return S.exportPKCS8}}),Object.defineProperty(e,"exportSPKI",{enumerable:!0,get:function(){return S.exportSPKI}}),Object.defineProperty(e,"exportJWK",{enumerable:!0,get:function(){return S.exportJWK}});var C=Ac();Object.defineProperty(e,"importSPKI",{enumerable:!0,get:function(){return C.importSPKI}}),Object.defineProperty(e,"importPKCS8",{enumerable:!0,get:function(){return C.importPKCS8}}),Object.defineProperty(e,"importX509",{enumerable:!0,get:function(){return C.importX509}}),Object.defineProperty(e,"importJWK",{enumerable:!0,get:function(){return C.importJWK}});var w=bl();Object.defineProperty(e,"decodeProtectedHeader",{enumerable:!0,get:function(){return w.decodeProtectedHeader}});var ee=xl();Object.defineProperty(e,"decodeJwt",{enumerable:!0,get:function(){return ee.decodeJwt}}),e.errors=X();var te=Cl();Object.defineProperty(e,"generateKeyPair",{enumerable:!0,get:function(){return te.generateKeyPair}});var ne=wl();Object.defineProperty(e,"generateSecret",{enumerable:!0,get:function(){return ne.generateSecret}}),e.base64url=yl();var re=El();Object.defineProperty(e,"cryptoRuntime",{enumerable:!0,get:function(){return re.default}})})),Ol=r(((e,t)=>{var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},s=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!a.call(e,c)&&c!==o&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},c=e=>s(n({},`__esModule`,{value:!0}),e),l={};o(l,{verifyVercelOidcToken:()=>h}),t.exports=c(l);var u=Dl();let d=`https://oidc.vercel.com`,f=new URL(`https://oidc.vercel.com/.well-known/jwks`),p=[`RS256`],m=(0,u.createRemoteJWKSet)(f);async function h(e,t){let{algorithms:n,projectId:r=process.env.VERCEL_PROJECT_ID,environment:i=process.env.VERCEL_TARGET_ENV||process.env.VERCEL_ENV,ownerId:a,...o}=t??{};if(r===`*`&&a===void 0&&!g(o.audience))throw TypeError(`Expected ownerId or audience to be provided when projectId is '*'.`);let s=await(0,u.jwtVerify)(e,m,{...o,algorithms:n??p});return _(s.payload.iss),v({actual:s.payload.project_id,claim:`project_id`,env:`VERCEL_PROJECT_ID`,expected:r,option:`projectId`}),v({actual:s.payload.environment,claim:`environment`,env:`VERCEL_TARGET_ENV or VERCEL_ENV`,expected:i,option:`environment`}),y({actual:s.payload.owner_id,claim:`owner_id`,expected:a}),s}function g(e){return Array.isArray(e)?e.length>0:e!==void 0}function _(e){if(e!==d&&(typeof e!=`string`||!e.startsWith(`${d}/`)))throw TypeError(`Expected Vercel OIDC token iss claim to be "${d}" or to start with "${d}/".`)}function v({actual:e,claim:t,env:n,expected:r,option:i}){if(r!==`*`){if(r===void 0||r.length===0)throw TypeError(`Expected ${n} to be set or ${i} to be provided. Pass ${i}: '*' to allow any ${t} claim.`);if(!(Array.isArray(r)&&typeof e==`string`&&r.includes(e))&&e!==r)throw TypeError(Array.isArray(r)?`Expected Vercel OIDC token ${t} claim to be one of: ${r.map(e=>`"${e}"`).join(`, `)}.`:`Expected Vercel OIDC token ${t} claim to be "${r}".`)}}function y({actual:e,claim:t,expected:n}){if(n!==void 0&&e!==n)throw TypeError(`Expected Vercel OIDC token ${t} claim to be "${n}".`)}0&&(t.exports={verifyVercelOidcToken:h})})),kl=r(((e,t)=>{var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},s=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!a.call(e,c)&&c!==o&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},c=e=>s(n({},`__esModule`,{value:!0}),e),l={};o(l,{AccessTokenMissingError:()=>m.AccessTokenMissingError,RefreshAccessTokenFailedError:()=>m.RefreshAccessTokenFailedError,exchangeVercelOidcToken:()=>h.exchangeVercelOidcToken,getContext:()=>f.getContext,getVercelOidcToken:()=>u.getVercelOidcToken,getVercelOidcTokenSync:()=>d.getVercelOidcTokenSync,getVercelToken:()=>g.getVercelToken,verifyVercelOidcToken:()=>p.verifyVercelOidcToken}),t.exports=c(l);var u=tc(),d=ec(),f=$s(),p=Ol(),m=He(),h=Qs(),g=Ue();0&&(t.exports={AccessTokenMissingError,RefreshAccessTokenFailedError,exchangeVercelOidcToken,getContext,getVercelOidcToken,getVercelOidcTokenSync,getVercelToken,verifyVercelOidcToken})})),Al=n(Xs(),1),jl=kl();async function Ml(e){let t=0,n=e.getReader(),r=[];try{for(;;){let{done:e,value:i}=await n.read();if(e)break;r.push(i),t+=i.length}}finally{n.releaseLock()}return Buffer.concat(r,t)}var Nl=class{contentType=`application/json`;replacer;reviver;constructor(e={}){this.replacer=e.replacer,this.reviver=e.reviver}serialize(e){return Buffer.from(JSON.stringify(e,this.replacer),`utf8`)}async deserialize(e){let t=await Ml(e);return JSON.parse(t.toString(`utf8`),this.reviver)}},Pl=class extends Error{constructor(e){super(`Message ${e} not found`),this.name=`MessageNotFoundError`}},Fl=class extends Error{constructor(e,t){super(`Message ${e} not available for processing${t?`: ${t}`:``}`),this.name=`MessageNotAvailableError`}},Il=class extends Error{constructor(e,t){super(`Message ${e} is corrupted: ${t}`),this.name=`MessageCorruptedError`}},Ll=class extends Fl{retryAfter;constructor(e,t){super(e,t===void 0?`temporarily locked. Try again later.`:`temporarily locked. Retry after ${t} seconds.`),this.name=`MessageLockedError`,this.retryAfter=t}},Rl=class extends Error{retryAfter;constructor(e=`Too many requests`,t){super(e),this.name=`TooManyRequestsError`,this.retryAfter=t}},zl=class extends Error{constructor(e=`Missing or invalid authentication token`){super(e),this.name=`UnauthorizedError`}},Bl=class extends Error{constructor(e=`Queue environment doesn't match token environment`){super(e),this.name=`ForbiddenError`}},Vl=class extends Error{constructor(e){super(e),this.name=`BadRequestError`}},Hl=class extends Error{constructor(e){super(e),this.name=`PayloadTooLargeError`}},Ul=class extends Error{constructor(e=`Unexpected server error`){super(e),this.name=`InternalServerError`}},Wl=class extends Error{constructor(e,t=1,n=10){super(`Invalid limit: ${e}. Limit must be between ${t} and ${n}.`),this.name=`InvalidLimitError`}},Gl=class extends Error{constructor(e){super(`Message ${e} has already been processed`),this.name=`MessageAlreadyProcessedError`}},Kl=class extends Error{deploymentId;constructor(e,t){super(e),this.name=`ConsumerDiscoveryError`,this.deploymentId=t}},ql=class extends Error{constructor(e=`Consumer registry not configured`){super(e),this.name=`ConsumerRegistryNotConfiguredError`}},Jl=300,Yl=30,Xl=60,Zl=10,Ql=3e3,$l=3,eu=250;function tu(e){return Math.min(Xl,Math.max(Zl,e/5))}var nu=class{client;topicName;consumerGroupName;visibilityTimeout;constructor(e,t,n,r={}){this.client=e,this.topicName=t,this.consumerGroupName=n,this.visibilityTimeout=Math.max(Yl,r.visibilityTimeoutSeconds??Jl)}isClientError(e){return e instanceof Fl||e instanceof Pl||e instanceof Vl||e instanceof zl||e instanceof Bl}isNetworkError(e){return e instanceof TypeError}async directiveCallWithRetries(e){let t;for(let n=1;n<=$l;n++)try{return await e()}catch(e){if(t=e,n===$l)throw e;if(e instanceof Rl){if(e.retryAfter===void 0)throw e;await new Promise(t=>setTimeout(t,e.retryAfter*1e3));continue}if(!this.isNetworkError(e))throw e;let r=eu*n,i=r/2+r/2*Math.random();await new Promise(e=>setTimeout(e,i))}throw t}startVisibilityExtension(e,t){let{messageId:n,receiptHandle:r}=e,i=!0,a=!1,o,s=null,c=tu(this.visibilityTimeout)*1e3,l=c;if(t?.visibilityDeadline){let e=t.visibilityDeadline.getTime()-Date.now();l=e>0?tu(e/1e3)*1e3:0}let u=new Promise(e=>{o=e}),d=()=>{a||(a=!0,o())},f=async()=>{if(!i){d();return}try{await this.client.changeVisibility({messageId:n,queueName:this.topicName,consumerGroup:this.consumerGroupName,receiptHandle:r,visibilityTimeoutSeconds:this.visibilityTimeout}),i?s=setTimeout(()=>f(),c):d()}catch(e){if(this.isClientError(e)){console.error(`Visibility extension failed with client error for receipt handle ${r} (stopping retries):`,e),d();return}console.error(`Failed to extend visibility for receipt handle ${r} (will retry in ${Ql/1e3}s):`,e),i?s=setTimeout(()=>f(),Ql):d()}};return s=setTimeout(()=>f(),l),async(e=!1)=>{i=!1,s&&=(clearTimeout(s),null),e?await u:d()}}async finalizePayload(e){let t=this.client.getTransport();if(t.finalize&&e!=null)try{await t.finalize(e)}catch(e){console.warn(`Failed to finalize message payload:`,e)}}async processMessage(e,t,n){let r=this.startVisibilityExtension(e,n),i={messageId:e.messageId,deliveryCount:e.deliveryCount,createdAt:e.createdAt,expiresAt:e.expiresAt??new Date(e.createdAt.getTime()+864e5),topicName:this.topicName,consumerGroup:this.consumerGroupName,region:this.client.getRegion()};try{await t(e.payload,i),await r(),await this.client.acknowledgeMessage({messageId:e.messageId,queueName:this.topicName,consumerGroup:this.consumerGroupName,receiptHandle:e.receiptHandle})}catch(t){if(await r(),n?.retry){let r;try{r=n.retry(t,i)}catch(e){console.warn(`retry handler threw:`,e)}if(r){if(`acknowledge`in r&&r.acknowledge){try{await this.directiveCallWithRetries(()=>this.client.acknowledgeMessage({messageId:e.messageId,queueName:this.topicName,consumerGroup:this.consumerGroupName,receiptHandle:e.receiptHandle}))}catch(e){console.warn(`Failed to acknowledge message:`,e)}await this.finalizePayload(e.payload);return}if(`afterSeconds`in r&&typeof r.afterSeconds==`number`){try{await this.directiveCallWithRetries(()=>this.client.changeVisibility({messageId:e.messageId,queueName:this.topicName,consumerGroup:this.consumerGroupName,receiptHandle:e.receiptHandle,visibilityTimeoutSeconds:r.afterSeconds}))}catch(e){console.warn(`Failed to reschedule message for retry:`,e)}await this.finalizePayload(e.payload);return}}}throw await this.finalizePayload(e.payload),t}}async consumeMessage(e,t,n){await this.processMessage(t,e,n)}async consume(e,t){let n=t?.retry;if(t&&`messageId`in t){let r=await this.client.receiveMessageById({queueName:this.topicName,consumerGroup:this.consumerGroupName,messageId:t.messageId,visibilityTimeoutSeconds:this.visibilityTimeout});return await this.processMessage(r.message,e,{retry:n}),1}{let r=t&&`limit`in t?t.limit:1,i=0;for await(let a of this.client.receiveMessages({queueName:this.topicName,consumerGroup:this.consumerGroupName,visibilityTimeoutSeconds:this.visibilityTimeout,limit:r,cursorFallback:t&&`cursorFallback`in t?t.cursorFallback:void 0}))i++,await this.processMessage(a,e,{retry:n});return i}}get name(){return this.consumerGroupName}get topic(){return this.topicName}},ru=class{client;topicName;constructor(e,t){this.client=e,this.topicName=t}async publish(e,t){let n=await this.client.sendMessage({queueName:this.topicName,payload:e,idempotencyKey:t?.idempotencyKey,retentionSeconds:t?.retentionSeconds,delaySeconds:t?.delaySeconds,headers:t?.headers,telemetry:t?.telemetry});return n.messageId&&_u()&&!this.client.usesLocalBroker()&&id(this.topicName,n.messageId,this.client.getRegion(),t?.delaySeconds,t?.retentionSeconds),{messageId:n.messageId}}consumerGroup(e,t){return new nu(this.client,this.topicName,e,t)}get name(){return this.topicName}},iu=`com.vercel.queue.v1beta`,au=`com.vercel.queue.v2beta`;function ou(e,t){let n=t.slice(0,-1);return e.startsWith(n)}function su(e){return typeof e==`object`&&!!e}function cu(e,t){if(!t||!t.includes(`application/cloudevents+json`))throw Error(`Invalid content type: expected 'application/cloudevents+json'`);if(!su(e)||!e.type||!e.source||!e.id||!su(e.data))throw Error(`Invalid CloudEvent: missing required fields`);if(e.type!==`com.vercel.queue.v1beta`)throw Error(`Invalid CloudEvent type: expected '${iu}', got '${String(e.type)}'`);let{data:n}=e,r=[];if(`queueName`in n||r.push(`queueName`),`consumerGroup`in n||r.push(`consumerGroup`),`messageId`in n||r.push(`messageId`),r.length>0)throw Error(`Missing required CloudEvent data fields: ${r.join(`, `)}`);return{queueName:String(n.queueName),consumerGroup:String(n.consumerGroup),messageId:String(n.messageId)}}function lu(e,t){if(e instanceof Headers)return e.get(t);let n=e[t];return Array.isArray(n)?n[0]??null:n??null}function uu(e){let t=lu(e,`ce-type`);if(t!==`com.vercel.queue.v2beta`)throw Error(`Invalid CloudEvent type: expected '${au}', got '${t}'`);let n=lu(e,`ce-vqsqueuename`),r=lu(e,`ce-vqsconsumergroup`),i=lu(e,`ce-vqsmessageid`),a=[];if(n||a.push(`ce-vqsqueuename`),r||a.push(`ce-vqsconsumergroup`),i||a.push(`ce-vqsmessageid`),a.length>0)throw Error(`Missing required CloudEvent headers: ${a.join(`, `)}`);let o=lu(e,`ce-vqsregion`)??void 0;if(o!==void 0&&!/^[a-z]{2,5}[0-9]{1,2}$/.test(o))throw Error(`Invalid ce-vqsregion header: ${JSON.stringify(o)}. Region must match /^[a-z]{2,5}[0-9]{1,2}$/ (e.g. "iad1", "lhr1").`);let s={queueName:n,consumerGroup:r,messageId:i,region:o},c=lu(e,`ce-vqsreceipthandle`);if(!c)return s;let l={...s,receiptHandle:c},u=lu(e,`ce-vqsdeliverycount`);u&&(l.deliveryCount=parseInt(u,10));let d=lu(e,`ce-vqscreatedat`);d&&(l.createdAt=d);let f=lu(e,`ce-vqsexpiresat`);f&&(l.expiresAt=f);let p=lu(e,`content-type`);p&&(l.contentType=p);let m=lu(e,`ce-vqsvisibilitydeadline`);return m&&(l.visibilityDeadline=m),l}function du(e,t){if(lu(t,`ce-type`)===`com.vercel.queue.v2beta`){let n=uu(t);return`receiptHandle`in n&&(n.parsedPayload=e),n}return cu(e,lu(t,`content-type`))}async function fu(e){if(e.headers.get(`ce-type`)===`com.vercel.queue.v2beta`){let t=uu(e.headers);return`receiptHandle`in t&&e.body&&(t.rawBody=e.body),t}let t;try{t=await e.json()}catch{throw Error(`Failed to parse CloudEvent from request body`)}let n={};return e.headers.forEach((e,t)=>{n[t]=e}),du(t,n)}async function pu(e,t,n){let{queueName:r,consumerGroup:i,messageId:a}=t;if(!n?.client)throw Error(`HandleCallbackOptions.client is required`);let o=Ud(n.client);t.region&&(o=o.withRegion(t.region));let s=new ru(o,r).consumerGroup(i,n?.visibilityTimeoutSeconds===void 0?void 0:{visibilityTimeoutSeconds:n.visibilityTimeoutSeconds});if(`receiptHandle`in t){let r=o.getTransport(),i;if(t.rawBody)i=await r.deserialize(t.rawBody);else if(t.parsedPayload!==void 0)i=t.parsedPayload;else throw Error(`Binary mode callback with receipt handle is missing payload`);let c={messageId:a,payload:i,deliveryCount:t.deliveryCount??1,createdAt:t.createdAt?new Date(t.createdAt):new Date,expiresAt:t.expiresAt?new Date(t.expiresAt):void 0,contentType:t.contentType??r.contentType,receiptHandle:t.receiptHandle},l=t.visibilityDeadline?new Date(t.visibilityDeadline):void 0;await s.consumeMessage(e,c,{visibilityDeadline:l,retry:n?.retry})}else await s.consume(e,{messageId:a,retry:n?.retry})}var Q=Al.default.cyan(`[queue]`),mu=Al.default.green(`✓`),hu=Al.default.red(`✗`),gu=Al.default.yellow(`↻`);function _u(){return process.env.NODE_ENV===`development`&&process.env.VERCEL_DEPLOYMENT_ID===void 0}var vu=Symbol.for(`@vercel/queue.devRouteMappings`);function yu(e){let t=``;for(let n of e)n===`_`?t+=`__`:n===`/`?t+=`_S`:n===`.`?t+=`_D`:/[A-Za-z0-9-]/.test(n)?t+=n:t+=`_`+n.charCodeAt(0).toString(16).toUpperCase().padStart(2,`0`);return t}function bu(){let e=globalThis;if(vu in e)return e[vu]??null;try{let t=Ze.join(process.cwd(),`vercel.json`);if(!nt.existsSync(t))return e[vu]=null,null;let n=JSON.parse(nt.readFileSync(t,`utf-8`));if(!n.functions)return e[vu]=null,null;let r=[];for(let[e,t]of Object.entries(n.functions))if(t.experimentalTriggers){for(let n of t.experimentalTriggers)if(n.type?.startsWith(`queue/`)&&n.topic){if(n.type!==`queue/v2beta`){console.warn(`${Q} Unsupported trigger type "${n.type}" for topic "${n.topic}" in ${e}. Use "queue/v2beta" instead.`);continue}r.push({filePath:e,topic:n.topic,consumer:yu(e),retryAfterSeconds:n.retryAfterSeconds})}}return e[vu]=r.length>0?r:null,e[vu]}catch(t){return console.warn(`${Q} Failed to read vercel.json:`,t),e[vu]=null,null}}function xu(e){let t=bu();return t?t.filter(t=>t.topic.includes(`*`)?ou(e,t.topic):t.topic===e):[]}function Su(e,t){return xu(e).find(e=>e.consumer===t)?.retryAfterSeconds}function Cu(e){return/^src\/(app|pages|server)\//.test(e)?e.slice(4):null}function wu(e,t){return e===t||q(e,t)}function Tu(e){let t=bu();if(!t)return[];let n=process.cwd(),r;try{r=Ze.relative(n,e)}catch{return[]}let i=r.replace(/\\/g,`/`),a=Cu(i);return t.filter(e=>wu(i,e.filePath)||a!==null&&wu(a,e.filePath))}function Eu(e){let t=e.match(/\((.+?):\d+:\d+\)/);if(t||=e.match(/at\s+(.+?):\d+:\d+/),!t)return null;let n=t[1].trim();if(n===`native`||n.startsWith(`node:`)||n.startsWith(`internal`))return null;if(n.startsWith(`file://`))try{n=new URL(n).pathname}catch{return null}return/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\//.test(n)?null:(n.startsWith(`./`)&&(n=n.slice(2)),n)}var Du;function Ou(){if(Du)return Du;try{let e=typeof __dirname<`u`?__dirname:Ze.dirname(new URL(import.meta.url).pathname);Du=Ze.resolve(e,`..`)}catch{Du=``}return Du}function ku(){let e=Error().stack;if(!e)return null;let t=e.split(`
|
|
11
|
+
`).slice(1),n=Ou();for(let e of t){let t=Eu(e);if(!t)continue;let r=Ze.isAbsolute(t)?t:Ze.resolve(process.cwd(),t),i;try{i=nt.realpathSync(r)}catch{i=r}if(!(n&&i.startsWith(n)))return i}return null}var Au=Symbol.for(`@vercel/queue.devHandlerRegistry`);function ju(){let e=globalThis;return e[Au]||(e[Au]=new Map),e[Au]}function Mu(e,t,n,r){let i=Tu(Ze.isAbsolute(e)?e:Ze.resolve(process.cwd(),e));if(i.length===0)return!1;let a=ju();for(let e of i){let i=e.topic,o=a.get(i)??[],s={consumerGroup:e.consumer,handler:t,client:n,options:r},c=o.findIndex(t=>t.consumerGroup===e.consumer);c>=0?o[c]=s:o.push(s),a.set(i,o)}return!0}function Nu(e,t,n,r){if(Ud(t).usesLocalBroker?.())return;let i=r??ku();if(!i){console.warn(`${Q} Could not determine caller file path for handler registration.`);return}if(!Mu(i,e,t,n)){let e=bu();if(e&&e.length>0)return;let t=process.cwd(),n;try{n=Ze.relative(t,i).replace(/\\/g,`/`)}catch{n=i}console.warn(`${Q} handleCallback() in ${n} has no matching experimentalTriggers in vercel.json. This handler won't receive messages.
|
|
12
12
|
|
|
13
13
|
Add a trigger to vercel.json:
|
|
14
14
|
"${n}": {
|
|
15
15
|
"experimentalTriggers": [{ "type": "queue/v2beta", "topic": "your-topic" }]
|
|
16
|
-
}`)}}function
|
|
16
|
+
}`)}}function Pu(e){let t=ju(),n=[];for(let[r,i]of t)(r.includes(`*`)?ou(e,r):r===e)&&n.push(...i);return n}var Fu=50,Iu=5e3,Lu=2,Ru=250,zu=[`PORT`,`NEXT_PORT`,`NEXTJS_PORT`,`NUXT_PORT`,`NITRO_PORT`,`SVELTEKIT_PORT`,`VITE_PORT`,`DEV_PORT`,`npm_config_port`],Bu=[`__NEXT_PRIVATE_ORIGIN`,`NUXT_PUBLIC_SITE_URL`,`URL`];function Vu(e){return e instanceof Error?e.message:String(e)}function Hu(e){return e instanceof Pl||e instanceof Error&&e.name===`MessageNotFoundError`}function Uu(e){if(!e)return null;let t=Number.parseInt(e,10);return!Number.isFinite(t)||t<1||t>65535?null:t}function Wu(e){if(!e)return null;try{let t=new URL(e).port;return Uu(t)}catch{return null}}function Gu(){let e=[],t=new Set,n=n=>{n&&!t.has(n)&&(t.add(n),e.push(n))};for(let e of zu)n(Uu(process.env[e]));for(let e of Bu)n(Wu(process.env[e]));return e}function Ku(e){return new Promise(t=>{let n=it.connect({host:`localhost`,port:e}),r=!1,i=e=>{r||(r=!0,n.destroy(),t(e))};n.once(`connect`,()=>i(!0)),n.once(`error`,()=>i(!1)),n.setTimeout(Ru,()=>i(!1))})}async function qu(e,t,n){let r=0,i=Fu;for(;;)try{await pu(e,t,n);return}catch(e){if(Hu(e)&&r<Iu){await new Promise(e=>setTimeout(e,i)),r+=i,i=Math.min(i*Lu,Iu-r);continue}throw e}}function Ju(e){let t=e.replace(/^src\/app\//,`/`).replace(/^src\/pages\//,`/`).replace(/^src\/server\//,`/`).replace(/^src\/routes\//,`/`).replace(/^app\//,`/`).replace(/^pages\//,`/`).replace(/^server\//,`/`).replace(/\/route\.(ts|mts|js|mjs|tsx|jsx)$/,``).replace(/\/\+server\.(ts|mts|js|mjs|tsx|jsx)$/,``).replace(/\.(ts|mts|js|mjs|tsx|jsx)$/,``);return t.startsWith(`/`)||(t=`/`+t),t}function Yu(e){return import(e)}async function Xu(e,t={}){let n={triedPorts:Gu(),listeningPorts:[],unavailablePorts:[],importFailures:[],primeFailures:[]},r=xu(e);if(r.length===0)return n;let i=t.refreshRegistered===!0;for(let e of n.triedPorts)await Ku(e)?n.listeningPorts.push(e):n.unavailablePorts.push(e);for(let t of r){let r=Qu(e,t.consumer);if(!r||i){if(!r){let r=Ze.resolve(process.cwd(),t.filePath);try{await Yu(r)}catch(e){n.importFailures.push({filePath:t.filePath,reason:Vu(e)})}if(Qu(e,t.consumer))continue}for(let r of n.listeningPorts){let i=`http://localhost:${r}${Ju(t.filePath)}`;try{let r=await fetch(i,{method:`POST`,headers:{"x-vercel-queue-prime":`1`,"x-vercel-queue-prime-file":t.filePath}});try{await r.text()}catch{}if(Qu(e,t.consumer))break;n.primeFailures.push({filePath:t.filePath,url:i,reason:`HTTP ${r.status}${r.statusText?` ${r.statusText}`:``}`.trim()})}catch(e){n.primeFailures.push({filePath:t.filePath,url:i,reason:Vu(e)})}}}}return n}function Zu(e,t,n){let r=t.map(e=>e.filePath),i=n.listeningPorts[0]??n.triedPorts[0],a=i?t.map(e=>`http://localhost:${i}${Ju(e.filePath)}`):[],o;if(n.triedPorts.length===0)o=`No local dev port detected from env. Set PORT (or NEXT_PORT/NUXT_PORT/VITE_PORT).`;else if(n.listeningPorts.length===0)o=`Detected env ports: [${n.triedPorts.join(`, `)}], but none are listening.`;else{let e=n.unavailablePorts.length>0?` Not listening: [${n.unavailablePorts.join(`, `)}].`:``;o=`Detected env ports: [${n.triedPorts.join(`, `)}]. Listening: [${n.listeningPorts.join(`, `)}].`+e}let s=n.importFailures.length>0?`
|
|
17
17
|
Import failures: `+n.importFailures.slice(0,2).map(e=>`${e.filePath} (${e.reason})`).join(`; `):``,c=n.primeFailures.length>0?`
|
|
18
18
|
Prime failures: `+n.primeFailures.slice(0,3).map(e=>`${e.url} (${e.reason})`).join(`; `):``;return`${Q} No registered handler for topic "${e}". vercel.json maps this topic to [${r.join(`, `)}] but auto-loading failed.
|
|
19
19
|
${o}${s}${c}
|
|
20
20
|
Ensure your dev server is running, set PORT if needed, and confirm mapped route files call handleCallback()/handleNodeCallback() at module scope.
|
|
21
|
-
`+(a.length>0?`Try opening: ${a.join(` or `)}`:`Set PORT (or NEXT_PORT/NUXT_PORT/VITE_PORT) and try sending again.`)}function
|
|
22
|
-
Ensure vercel.json has a matching experimentalTriggers entry and the route file calls handleCallback().`);return}let o=r.map(e=>e.consumerGroup);console.log(`${Q} Invoking handlers for topic="${e}" messageId="${t}" \u2192 consumers: [${o.join(`, `)}]`);let s=i??
|
|
23
|
-
`).join(``);yield
|
|
21
|
+
`+(a.length>0?`Try opening: ${a.join(` or `)}`:`Set PORT (or NEXT_PORT/NUXT_PORT/VITE_PORT) and try sending again.`)}function Qu(e,t){return Pu(e).some(e=>e.consumerGroup===t)}var $u=10,ed=2,td=10,nd=86400;function rd(e,t){let n=Math.min(Math.max(t,0),$u);console.log(`${Q} ${gu} Scheduling re-delivery in ${n}s: topic="${e.topicName}" consumer="${e.consumerGroup}" messageId="${e.messageId}"`),setTimeout(async()=>{let t=e.deliveryCount+1,n=new Date(e.createdAt.getTime()+e.retentionSeconds*1e3);if(Date.now()>=n.getTime()){console.log(`${Q} Message expired, stopping retries: topic="${e.topicName}" messageId="${e.messageId}"`);return}if(t>td){console.log(`${Q} Max re-deliveries (${td}) reached: topic="${e.topicName}" messageId="${e.messageId}"`);return}let r={messageId:e.messageId,deliveryCount:t,createdAt:e.createdAt,expiresAt:n,topicName:e.topicName,consumerGroup:e.consumerGroup,region:e.region};console.log(`${Q} Re-delivering: topic="${e.topicName}" consumer="${e.consumerGroup}" messageId="${e.messageId}" deliveryCount=${t}`);let i=!0,a=null,o=!1;try{await e.handler(e.payload,r)}catch(t){if(i=!1,e.retry){let n;try{n=e.retry(t,r)}catch(e){console.warn(`${Q} retry handler threw:`,e)}n&&`afterSeconds`in n?a=n.afterSeconds:n&&`acknowledge`in n&&(o=!0)}o||console.error(`${Q} ${hu} Handler error on re-delivery: topic="${e.topicName}" messageId="${e.messageId}"`,t)}if(i)console.log(`${Q} ${mu} Message processed on re-delivery: topic="${e.topicName}" consumer="${e.consumerGroup}" messageId="${e.messageId}"`);else if(o)console.log(`${Q} ${mu} Message acknowledged (will not retry): topic="${e.topicName}" consumer="${e.consumerGroup}" messageId="${e.messageId}"`);else{let n=a??e.defaultRetryDelayS;rd({...e,deliveryCount:t},n)}},n*1e3)}function id(e,t,n,r,i){if(r&&r>0){console.log(`${Q} Message sent with delay: topic="${e}" messageId="${t}" delay=${r}s`),setTimeout(()=>{id(e,t,n,void 0,i)},r*1e3);return}console.log(`${Q} Message sent: topic="${e}" messageId="${t}"`),(async()=>{let r=Pu(e),a=null;if(r.length>0?(await Xu(e,{refreshRegistered:!0}),r=Pu(e)):(a=await Xu(e),r=Pu(e)),r.length===0){let t=xu(e);if(t.length>0){let n=a??{triedPorts:Gu(),listeningPorts:[],unavailablePorts:[],importFailures:[],primeFailures:[]};console.warn(Zu(e,t,n))}else console.warn(`${Q} No registered handler for topic "${e}".
|
|
22
|
+
Ensure vercel.json has a matching experimentalTriggers entry and the route file calls handleCallback().`);return}let o=r.map(e=>e.consumerGroup);console.log(`${Q} Invoking handlers for topic="${e}" messageId="${t}" \u2192 consumers: [${o.join(`, `)}]`);let s=i??nd;for(let i of r){let r,a=new Date,o=1,c=!0,l=null,u=!1,d=async(e,t)=>{r=e,a=t.createdAt,o=t.deliveryCount;try{await i.handler(e,t)}catch(e){throw c=!1,e}},f=i.options?.retry?(e,t)=>{let n=i.options.retry(e,t);return n&&`afterSeconds`in n?l=n.afterSeconds:n&&`acknowledge`in n&&(u=!0),n}:void 0,p={queueName:e,consumerGroup:i.consumerGroup,messageId:t,region:n},m={client:i.client,visibilityTimeoutSeconds:i.options?.visibilityTimeoutSeconds,retry:f},h=Math.min(Su(e,i.consumerGroup)??ed,$u),g=()=>({handler:i.handler,retry:i.options?.retry,payload:r,topicName:e,consumerGroup:i.consumerGroup,messageId:t,region:n,createdAt:a,retentionSeconds:s,deliveryCount:o,defaultRetryDelayS:h});try{if(await qu(d,p,m),c)console.log(`${Q} ${mu} Message processed: topic="${e}" consumer="${i.consumerGroup}" messageId="${t}"`);else if(u)console.log(`${Q} ${mu} Message acknowledged (will not retry): topic="${e}" consumer="${i.consumerGroup}" messageId="${t}"`);else if(l!==null){let e=Math.min(l,$u);rd(g(),e)}}catch(n){console.error(`${Q} ${hu} Handler failed: topic="${e}" consumer="${i.consumerGroup}" messageId="${t}"`,n),c||rd(g(),h)}}})()}function ad(){let e=globalThis;delete e[vu],delete e[Au]}(process.env.NODE_ENV===`test`||process.env.VITEST)&&(globalThis.__clearDevState=ad,globalThis.__filePathToConsumerGroup=yu,globalThis.__filePathToUrlPath=Ju,globalThis.__matchesFunctionsPattern=wu,globalThis.__stripSrcPrefix=Cu);var od=new TextEncoder;function sd(e){let t=`vqs-${Je()}`,n=null,r=0,i,a;function o(t){return i??=Promise.resolve().then(async()=>{await Promise.allSettled([n?.cancel(t),...e.slice(r).map(async e=>{let n=e.body();Buffer.isBuffer(n)||await n.cancel(t)})]),await c.return(void 0)}),i}async function*s(){for(let[i,a]of e.entries()){let e=Array.from(a.headers).map(([e,t])=>`${e}: ${t}\r
|
|
23
|
+
`).join(``);yield od.encode(`--${t}\r
|
|
24
24
|
${e}\r
|
|
25
|
-
`),r=i+1;let o=a.body();if(Buffer.isBuffer(o))yield o;else{n=o.getReader();try{for(;;){let{done:e,value:t}=await n.read();if(e)break;yield t}}finally{n.releaseLock(),n=null}}yield
|
|
26
|
-
`)}yield
|
|
27
|
-
`)}let c=s();return{contentType:`multipart/mixed; boundary=${t}`,body:new ReadableStream({start(e){a=e},async pull(e){try{let{done:t,value:n}=await c.next();t?e.close():e.enqueue(n)}catch(t){await o(t),e.error(t)}},cancel:o}),cancel:async e=>{a.error(e),await o(e)}}}function
|
|
25
|
+
`),r=i+1;let o=a.body();if(Buffer.isBuffer(o))yield o;else{n=o.getReader();try{for(;;){let{done:e,value:t}=await n.read();if(e)break;yield t}}finally{n.releaseLock(),n=null}}yield od.encode(`\r
|
|
26
|
+
`)}yield od.encode(`--${t}--\r
|
|
27
|
+
`)}let c=s();return{contentType:`multipart/mixed; boundary=${t}`,body:new ReadableStream({start(e){a=e},async pull(e){try{let{done:t,value:n}=await c.next();t?e.close():e.enqueue(n)}catch(t){await o(t),e.error(t)}},cancel:o}),cancel:async e=>{a.error(e),await o(e)}}}function cd(e,t){let n={...e?.metadata,...t?.metadata};return{isEnabled:t?.isEnabled??e?.isEnabled??!0,tracer:e?.tracer,metadata:Object.keys(n).length>0?n:void 0}}var ld;function ud(){return ld||=import(`../../@opentelemetry/api/index.js`).then(e=>e,()=>null),ld}function dd(){let e=process.env.VERCEL_QUEUE_TRACE_PROPAGATION?.toLowerCase();return e===`off`||e===`0`||e===`false`}var fd=[`traceparent`,`tracestate`,`baggage`];async function pd(e,t){if(dd()||t&&!t.isEnabled)return;let n=await ud();if(n)try{let t={};n.propagation.inject(n.context.active(),t);for(let n of fd){let r=t[n];r!==void 0&&e.set(n,r)}}catch{}}function md(e,t,n){try{t.setStatus({code:e.SpanStatusCode.ERROR,message:n instanceof Error?n.message:String(n)})}catch{}}function hd(e){try{e.end()}catch{}}async function gd(e,t,n){if(dd()||n&&!n.isEnabled)return t(null);let r=await ud();if(!r)return t(null);let i=null;try{let t=n?.tracer??r.trace.getTracer(`@vercel/queue`),a={"messaging.system":`vercel-queue`,"messaging.destination.name":e};if(n?.metadata)for(let[e,t]of Object.entries(n.metadata))a[`vqs.metadata.${e}`]=t;let o=t.startSpan(`vqs.send`,{kind:r.SpanKind.PRODUCER,attributes:a});i={span:o,ctx:r.trace.setSpan(r.context.active(),o)}}catch{}if(!i)return t(null);let{span:a,ctx:o}=i;try{return await r.context.with(o,()=>t({setMessageId(e){try{a.setAttribute(`messaging.message.id`,e)}catch{}}}))}catch(e){throw md(r,a,e),e}finally{hd(a)}}var _d=`x-vercel-queue-traceparent`,vd=`x-vercel-queue-tracestate`,yd=`x-vercel-queue-baggage`;async function bd(e,t,n){if(dd()||n&&!n.isEnabled)return t();let r=await ud();if(!r)return t();let i=null;try{let t=xd(r,Sd(e)),a=n?.tracer??r.trace.getTracer(`@vercel/queue`),o={"messaging.system":`vercel-queue`,"messaging.operation":`process`};if(n?.metadata)for(let[e,t]of Object.entries(n.metadata))o[`vqs.metadata.${e}`]=t;let s=a.startSpan(`vqs.process`,{kind:r.SpanKind.CONSUMER,attributes:o,links:t});i={span:s,ctx:r.trace.setSpan(r.context.active(),s)}}catch{}if(!i)return t();let{span:a,ctx:o}=i;try{return await r.context.with(o,t)}catch(e){throw md(r,a,e),e}finally{hd(a)}}function xd(e,t){let n=t[_d];if(!n)return[];let r={traceparent:n},i=t[vd];i&&(r.tracestate=i);let a=t[yd];a&&(r.baggage=a);let o=e.propagation.extract(e.ROOT_CONTEXT,r),s=e.trace.getSpanContext(o);return!s||!e.trace.isSpanContextValid(s)?[]:[{context:s}]}function Sd(e){let t={};if(e instanceof Headers)return e.forEach((e,n)=>{t[n.toLowerCase()]=e}),t;for(let[n,r]of Object.entries(e)){let e=Array.isArray(r)?r[0]:r;e!==void 0&&(t[n.toLowerCase()]=e)}return t}function Cd(){return process.env.VERCEL_QUEUE_DEBUG===`1`||process.env.VERCEL_QUEUE_DEBUG===`true`}async function wd(e){let t=e.getReader();try{for(;;){let{done:e}=await t.read();if(e)break}}finally{t.releaseLock()}}function Td(e){if(!e)return;let t=Number(e);if(Number.isFinite(t)&&t>=0)return t;let n=Date.parse(e);if(!Number.isNaN(n))return Math.max(0,(n-Date.now())/1e3)}async function Ed(e){let t=await e.text();if(!e.headers.get(`Content-Type`)?.toLowerCase().includes(`json`))return{response:e,message:t};try{let n=JSON.parse(t);if(typeof n!=`object`||!n)return{response:e,message:t};let r=`error`in n?n.error:void 0,i=t;return typeof r==`string`?i=r:typeof r==`object`&&r&&`message`in r&&typeof r.message==`string`&&(i=r.message),{response:e,message:i,originalMessageId:`originalMessageId`in n&&typeof n.originalMessageId==`string`?n.originalMessageId:void 0}}catch{return{response:e,message:t}}}function Dd(e,t,n=`Invalid parameters`){let{status:r,statusText:i}=e.response,a=e.message,o=i?`${r} ${i}`:`${r}`;throw r===503&&e.response.headers.get(`Vqs-Error-Code`)===`consumer_registry_not_configured`?new ql(a||`Consumer registry not configured`):r===413?new Hl(a||`Request payload is too large`):r===400?new Vl(a||n):r===429?new Rl(a||`Too many requests: ${t}`,Td(e.response.headers.get(`Retry-After`))):r===401?new zl(a||void 0):r===403?new Bl(a||void 0):r>=500?new Ul(a||`Server error: ${o}`):Error(a||`Failed to ${t}: ${o}`)}function Od(e){let t=e.get(`Vqs-Message-Id`),n=e.get(`Vqs-Delivery-Count`)||`0`,r=e.get(`Vqs-Timestamp`),i=e.get(`Content-Type`)||`application/octet-stream`,a=e.get(`Vqs-Receipt-Handle`),o=e.get(`Vqs-Expires-At`);if(!t||!r||!a)return null;let s=parseInt(n,10);return Number.isNaN(s)?null:{messageId:t,deliveryCount:s,createdAt:new Date(r),expiresAt:o?new Date(o):void 0,contentType:i,receiptHandle:a}}var kd=/^[a-z]{2,5}[0-9]{1,2}$/;function Ad(e){if(!kd.test(e))throw Error(`Invalid region code: ${JSON.stringify(e)}. Region must match the pattern /^[a-z]{2,5}[0-9]{1,2}$/ (e.g. "iad1", "lhr1").`)}var jd=e=>new URL(`https://${e}.vercel-queue.com`);function Md(e){let t=e.length;for(;t>0&&e[t-1]===`/`;)t--;return e.slice(0,t)}function Nd(e){if(!e||e.length>256)return!1;let t=e.match(/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-([\da-zA-Z-]+(?:\.[\da-zA-Z-]+)*))?(?:\+[\da-zA-Z-]+(?:\.[\da-zA-Z-]+)*)?$/);if(!t||t[0]!==e)return!1;let[n,r,i]=t.slice(1,4).map(Number),a=t[4];return![n,r,i].every(Number.isSafeInteger)||a?.split(`.`).some(e=>/^0\d+$/.test(e))?!1:n>59||n===59&&(r>26||r===26&&(i>0||!a))}var Pd=`/api/v3/topic`,Fd=class e{baseUrl;customHeaders;providedToken;resolvedDeploymentId;pinSends;explicitlyUnpinned;transport;region;baseUrlResolver;localResource;dispatcher;telemetry;constructor(e,t){if(Ad(e.region),this.region=e.region,this.localResource=t??null,t===void 0&&_u()&&Nd(process.env.VERCEL_CLI_VERSION)){let t=process.env.VERCEL_QUEUE_BASE_URL;if(t)try{this.localResource={baseUrl:new URL(t),token:process.env.VERCEL_QUEUE_TOKEN}}catch(t){if(!e.resolveBaseUrl)throw Error(`Invalid VERCEL_QUEUE_BASE_URL: expected an absolute URL`,{cause:t})}}let n=this.localResource?.baseUrl;this.baseUrlResolver=e.resolveBaseUrl??(n?()=>new URL(n):jd),this.baseUrl=this.baseUrlResolver(this.region),this.customHeaders=e.headers||{},this.providedToken=e.token,this.transport=e.transport||new Nl,this.dispatcher=e.dispatcher,this.telemetry=e.telemetry,e.deploymentId===null?(this.pinSends=!1,this.explicitlyUnpinned=!0):(this.resolvedDeploymentId=e.deploymentId||process.env.VERCEL_DEPLOYMENT_ID,this.pinSends=!0,this.explicitlyUnpinned=!1)}withRegion(t){return new e({region:t,resolveBaseUrl:this.baseUrlResolver,token:this.providedToken,headers:{...this.customHeaders},deploymentId:this.explicitlyUnpinned?null:this.resolvedDeploymentId,transport:this.transport,dispatcher:this.dispatcher,telemetry:this.telemetry},this.localResource)}usesLocalBroker(){let e=this.localResource?.baseUrl;return e!==void 0&&this.baseUrl.origin===e.origin&&Md(this.baseUrl.pathname)===Md(e.pathname)}getRegion(){return this.region}getTransport(){return this.transport}getTelemetry(){return this.telemetry}requireDeploymentId(){if(!(_u()||this.explicitlyUnpinned||this.resolvedDeploymentId))throw Error(`No deployment ID available. VERCEL_DEPLOYMENT_ID is not set.
|
|
28
28
|
|
|
29
29
|
This usually means the code is running outside a Vercel deployment (e.g. during build or in a non-Vercel environment).
|
|
30
30
|
|
|
31
31
|
To fix this, create a client with an explicit deploymentId:
|
|
32
32
|
new QueueClient({ deploymentId: "dpl_xxx" })
|
|
33
33
|
Or explicitly opt out of deployment pinning:
|
|
34
|
-
new QueueClient({ deploymentId: null })`)}getSendDeploymentId(){if(!(this.usesLocalBroker()||
|
|
34
|
+
new QueueClient({ deploymentId: null })`)}getSendDeploymentId(){if(!(this.usesLocalBroker()||_u()))return this.requireDeploymentId(),this.pinSends?this.resolvedDeploymentId:void 0}getConsumeDeploymentId(){if(!(this.usesLocalBroker()||_u()))return this.requireDeploymentId(),this.resolvedDeploymentId}async getToken(){if(this.providedToken)return this.providedToken;if(this.usesLocalBroker()){if(this.localResource?.token)return this.localResource.token;throw Error(`Missing local queue token. VERCEL_QUEUE_BASE_URL selects a local broker, but VERCEL_QUEUE_TOKEN is not set. Start your app with a Vercel CLI version that supports local Queues, or provide an explicit token.`)}try{return await(0,jl.getVercelOidcToken)()}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(_u()?`Failed to get OIDC token for local development.
|
|
35
35
|
|
|
36
36
|
To fix this, pull your environment variables with Vercel CLI:
|
|
37
37
|
\`vercel env pull\`
|
|
@@ -42,4 +42,4 @@ To fix this, either:
|
|
|
42
42
|
- Deploy to Vercel (OIDC tokens are provisioned automatically)
|
|
43
43
|
- Provide a token explicitly: \`new QueueClient({ token: '...' })\`
|
|
44
44
|
|
|
45
|
-
Cause: ${t}`)}}buildUrl(e,...t){let n=encodeURIComponent(e),r=t.map(e=>encodeURIComponent(e)),i=r.length>0?`/`+r.join(`/`):``,a=sd(this.baseUrl.pathname);return`${this.baseUrl.origin}${a}${ld}/${n}${i}`}async fetch(e,t){let n=t.method||`GET`;if(Qu()){let r={method:n,url:e,headers:t.headers},i=t.body;i!=null&&(i instanceof ArrayBuffer||i instanceof Uint8Array?r.bodySize=i.byteLength:typeof i==`string`?r.bodySize=i.length:r.bodyType=typeof i),console.debug(`[VQS Debug] Request:`,JSON.stringify(r,null,2))}t.headers.set(`User-Agent`,`@vercel/queue/0.8.0`),t.headers.set(`Vqs-Client-Ts`,new Date().toISOString());let r=this.dispatcher?{...t,dispatcher:this.dispatcher}:t,i=await fetch(e,r);if(Qu()){let t={method:n,url:e,status:i.status,statusText:i.statusText,headers:i.headers};console.debug(`[VQS Debug] Response:`,JSON.stringify(t,null,2))}return i}async sendMessage(e){let t=this.transport,{queueName:n,payload:r,telemetry:i}=e,a=this.buildMessageHeaders(e,t.contentType);a.set(`Authorization`,`Bearer ${await this.getToken()}`);let o=this.getSendDeploymentId();o&&a.set(`Vqs-Deployment-Id`,o);let s=t.serialize(r),c=Buffer.isBuffer(s)?new Uint8Array(s):s,l=Lu(this.telemetry,i);return Gu(n,async e=>{await Hu(a,l);let t=await this.fetch(this.buildUrl(n),{method:`POST`,body:c,headers:a,...c instanceof ReadableStream&&{duplex:`half`}});if(!t.ok){let e=await td(t);if(t.status===502&&t.headers.get(`Vqs-Error-Code`)===`consumer_discovery_failed`)throw new xl(e.message||`Consumer discovery failed`,o);nd(e,`send message`)}if(t.status===202)return await t.text(),{messageId:null};let r=await t.json();return e&&r.messageId&&e.setMessageId(r.messageId),r},l)}async sendBatch(e){let t=this.transport,{queueName:n,messages:r,telemetry:i}=e;if(r.length<1||r.length>100)throw RangeError(`Batch size must be between 1 and 100 messages`);let a=new Headers(this.customHeaders);a.set(`Authorization`,`Bearer ${await this.getToken()}`);let o=this.getSendDeploymentId();o&&a.set(`Vqs-Deployment-Id`,o);let s=Iu(r.map(e=>({headers:this.buildMessageHeaders(e,t.contentType),body:()=>t.serialize(e.payload)})));a.set(`Content-Type`,s.contentType);let c=Lu(this.telemetry,i);return Gu(n,async()=>{try{await Hu(a,c);let e=await this.fetch(this.buildUrl(n,`batch`),{method:`POST`,body:s.body,headers:a,duplex:`half`});e.ok||nd(await td(e),`send message batch`);let{results:t}=await e.json();if(t.length!==r.length)throw new vl(`Invalid batch response: expected ${r.length} results, received ${t.length}`);return t}catch(e){throw await s.cancel(e),e}},c)}buildMessageHeaders(e,t){let n=new Headers(this.customHeaders);n.delete(`Authorization`);for(let[t,r]of Object.entries(e.headers??{})){let e=t.toLowerCase();r!==void 0&&e!==`authorization`&&e!==`content-type`&&!e.startsWith(`vqs-`)&&n.set(t,r)}return n.set(`Content-Type`,t),e.idempotencyKey&&n.set(`Vqs-Idempotency-Key`,e.idempotencyKey),e.retentionSeconds!==void 0&&n.set(`Vqs-Retention-Seconds`,e.retentionSeconds.toString()),e.delaySeconds!==void 0&&n.set(`Vqs-Delay-Seconds`,e.delaySeconds.toString()),n}async*receiveMessages(e){let t=this.transport,{queueName:n,consumerGroup:r,visibilityTimeoutSeconds:i,limit:a,cursorFallback:o}=e;if(a!==void 0&&(a<1||a>10))throw new yl(a);let s=new Headers({Authorization:`Bearer ${await this.getToken()}`,Accept:`multipart/mixed`,...this.customHeaders});i!==void 0&&s.set(`Vqs-Visibility-Timeout-Seconds`,i.toString()),a!==void 0&&s.set(`Vqs-Max-Messages`,a.toString()),o!==void 0&&s.set(`Vqs-Cursor-Fallback`,o);let c=this.getConsumeDeploymentId();c&&s.set(`Vqs-Deployment-Id`,c);let l=await this.fetch(this.buildUrl(n,`consumer`,r),{method:`POST`,headers:s});if(l.status===204){await l.text();return}l.ok||nd(await td(l),`receive messages`);for await(let e of Ja(l))try{let n=rd(e.headers);if(!n){console.warn(`Missing required queue headers in multipart part`),await $u(e.payload);continue}let r=await t.deserialize(e.payload);yield{...n,payload:r}}catch(t){console.warn(`Failed to process multipart message:`,t),await $u(e.payload)}}async receiveMessageById(e){let t=this.transport,{queueName:n,consumerGroup:r,messageId:i,visibilityTimeoutSeconds:a}=e,o=new Headers({Authorization:`Bearer ${await this.getToken()}`,Accept:`multipart/mixed`,...this.customHeaders});a!==void 0&&o.set(`Vqs-Visibility-Timeout-Seconds`,a.toString());let s=this.getConsumeDeploymentId();s&&o.set(`Vqs-Deployment-Id`,s);let c=await this.fetch(this.buildUrl(n,`consumer`,r,`id`,i),{method:`POST`,headers:o});if(!c.ok){let e=await td(c);if(c.status===404)throw new ll(i);if(c.status===409)throw e.originalMessageId?new ul(i,`This message was a duplicate - use originalMessageId: ${e.originalMessageId}`):new fl(i,ed(c.headers.get(`Retry-After`)));if(c.status===410)throw new bl(i);nd(e,`receive message by ID`)}for await(let e of Ja(c)){let n=rd(e.headers);if(!n)throw await $u(e.payload),new dl(i,`Missing required queue headers in response`);let r=await t.deserialize(e.payload);return{message:{...n,payload:r}}}throw new ll(i)}async acknowledgeMessage(e){let{messageId:t,queueName:n,consumerGroup:r,receiptHandle:i}=e,a=new Headers({Authorization:`Bearer ${await this.getToken()}`,...this.customHeaders}),o=this.getConsumeDeploymentId();o&&a.set(`Vqs-Deployment-Id`,o);let s=await this.fetch(this.buildUrl(n,`consumer`,r,`lease`,i),{method:`DELETE`,headers:a});if(!s.ok){let e=await td(s);if(s.status===404)throw new ll(t);if(s.status===409)throw new ul(t,e.message||`Invalid receipt handle, message not in correct state, or already processed`);nd(e,`acknowledge message`,`Missing or invalid receipt handle`)}return await s.text(),{acknowledged:!0}}async changeVisibility(e){let{messageId:t,queueName:n,consumerGroup:r,receiptHandle:i,visibilityTimeoutSeconds:a}=e,o=new Headers({Authorization:`Bearer ${await this.getToken()}`,"Content-Type":`application/json`,...this.customHeaders}),s=this.getConsumeDeploymentId();s&&o.set(`Vqs-Deployment-Id`,s);let c=await this.fetch(this.buildUrl(n,`consumer`,r,`lease`,i),{method:`PATCH`,headers:o,body:JSON.stringify({visibilityTimeoutSeconds:a})});if(!c.ok){let e=await td(c);if(c.status===404)throw new ll(t);if(c.status===409)throw new ul(t,e.message||`Invalid receipt handle, message not in correct state, or already processed`);nd(e,`change visibility`,`Missing receipt handle or invalid visibility timeout`)}return await c.text(),{success:!0}}},dd=new WeakMap,fd=Symbol.for(`@vercel/queue.apiClient`);function pd(e,t){dd.set(e,t),Object.defineProperty(e,fd,{value:t,writable:!1,enumerable:!1,configurable:!1})}function md(e){let t=dd.get(e);if(t)return t;let n=e[fd];if(typeof n==`object`&&n){let t=n;return dd.set(e,t),t}throw Error(`QueueClient not initialized. This may happen when multiple bundled copies of @vercel/queue are loaded in local dev.`)}function hd(e){return`request`in e?e.request:e}function gd(e){return e instanceof bl||e instanceof Error&&e.name===`MessageAlreadyProcessedError`?`already_processed`:e instanceof ul||e instanceof Error&&e.name===`MessageNotAvailableError`?`not_available`:null}function _d(e,t){return console.debug(`Queue callback skipped (${e}) for message ${t??`<unknown>`}: the message was already handled or is no longer available to this consumer.`),{status:`skipped`,reason:e,...t===void 0?{}:{messageId:t}}}function vd(e){return md(e)}var yd=`iad1`;function bd(e){return e||process.env.VERCEL_REGION||(Kl()||console.warn(`[QueueClient] Region not detected \u2014 defaulting to "${yd}". On Vercel this is set automatically via VERCEL_REGION. To silence this warning, pass region explicitly: new QueueClient({ region: "iad1" })`),yd)}var xd=class{constructor(e={}){let t=bd(e.region);pd(this,new ud({...e,region:t}))}send=async(e,t,n)=>{let r=md(this),i=await r.sendMessage({queueName:e,payload:t,idempotencyKey:n?.idempotencyKey,retentionSeconds:n?.retentionSeconds,delaySeconds:n?.delaySeconds,headers:n?.headers,telemetry:n?.telemetry});return i.messageId&&Kl()&&!r.usesLocalBroker()&&Nu(e,i.messageId,r.getRegion(),n?.delaySeconds,n?.retentionSeconds),{messageId:i.messageId}};experimental_sendBatch=async(e,t,n)=>{let r=md(this),i=await r.sendBatch({queueName:e,messages:t,telemetry:n?.telemetry});if(!Kl()||r.usesLocalBroker())return i;let a=r.getRegion();for(let[n,r]of i.entries()){if(r.status!==`sent`)continue;let i=t[n];tt(i),Nu(e,r.messageId,a,i.delaySeconds,i.retentionSeconds)}return i};handleCallback=(e,t)=>{Kl()&&!md(this).usesLocalBroker()&&cu(e,this,t);let n=Lu(md(this).getTelemetry?.());return async r=>{let i=hd(r);if(Kl()&&!md(this).usesLocalBroker()&&i.headers.get(`x-vercel-queue-prime`)===`1`){let n=i.headers.get(`x-vercel-queue-prime-file`);return n&&cu(e,this,t,n),Response.json({status:`primed`})}let a;try{a=await Vl(i);let r=a;return await Yu(i.headers,()=>Hl(e,r,{client:this,visibilityTimeoutSeconds:t?.visibilityTimeoutSeconds,retry:t?.retry}),n),Response.json({status:`success`})}catch(e){let t=gd(e);return t?Response.json(_d(t,a?.messageId)):(console.error(`Queue callback error:`,e),e instanceof Error&&(e.message.includes(`Invalid content type`)||e.message.includes(`Invalid CloudEvent`)||e.message.includes(`Missing required CloudEvent`)||e.message.includes(`Failed to parse CloudEvent`)||e.message.includes(`Binary mode callback`))?Response.json({error:e.message},{status:400}):Response.json({error:`Failed to process queue message`},{status:500}))}}};handleNodeCallback=(e,t)=>{Kl()&&!md(this).usesLocalBroker()&&cu(e,this,t);let n=Lu(md(this).getTelemetry?.());return async(r,i)=>{if(r.method!==`POST`){i.status(200).end();return}let a=r.headers[`x-vercel-queue-prime`];if(Kl()&&!md(this).usesLocalBroker()&&a===`1`){let n=r.headers[`x-vercel-queue-prime-file`],a=Array.isArray(n)?n[0]:n;a&&cu(e,this,t,a),i.status(200).json({status:`primed`});return}let o;try{o=Bl(r.body,r.headers);let a=o;await Yu(r.headers,()=>Hl(e,a,{client:this,visibilityTimeoutSeconds:t?.visibilityTimeoutSeconds,retry:t?.retry}),n),i.status(200).json({status:`success`})}catch(e){let t=gd(e);if(t){i.status(200).json(_d(t,o?.messageId));return}if(console.error(`Queue callback error:`,e),e instanceof Error&&(e.message.includes(`Invalid content type`)||e.message.includes(`Invalid CloudEvent`)||e.message.includes(`Missing required CloudEvent`)||e.message.includes(`Failed to parse CloudEvent`)||e.message.includes(`Binary mode callback`))){i.status(400).json({error:e.message});return}i.status(500).json({error:`Failed to process queue message`})}}}};function Sd(e){return`${e} requires VERCEL_DEPLOYMENT_ID, which Vercel sets in every deployment, so this process is not running inside one. The Vercel world is only selected automatically when that variable is set, so it was requested explicitly here — most often by WORKFLOW_TARGET_WORLD=vercel in a process that is not a deployment, such as a production server started locally or in CI. To use the local filesystem world instead, set WORKFLOW_TARGET_WORLD=local or unset it.`}function Cd(){return process.env.WORKFLOW_EVENTS_TRANSPORT?.trim().toLowerCase()!==`http`}function wd(){let e=process.env.WORKFLOW_EVENTS_TRANSPORT_WS_OVERRIDE_WORKFLOWS;return e?e.split(`,`).map(e=>e.trim()).filter(e=>e.length>0):[]}function Td(e){if(Cd())return!0;if(!e)return!1;let t=e.slice(e.lastIndexOf(`//`)+2);return wd().some(n=>n===e||n===t)}function Ed(){return Cd()||wd().length>0}function Dd(){let e=process.env.WORKFLOW_INTERNAL_EVENTS_TRANSPORT_STRICT;return e===`1`||e===`true`}function Od(){return process.env.WORKFLOW_STREAMS_TRANSPORT?.trim().toLowerCase()!==`http`}function kd(){let e=process.env.VERCEL_QUEUE_TRACE_PROPAGATION?.toLowerCase();return e===`off`||e===`0`||e===`false`}function Ad(e){return e===void 0?{messageId:null,error:`Queue batch returned no result for this message`,retryable:!0}:e.status===`failed`?{messageId:null,error:e.error,retryable:e.retryable}:{messageId:e.messageId?ve.parse(e.messageId):null}}var jd=class{contentType=`application/cbor`;serialize(e){return Buffer.from(In(e))}async deserialize(e){let t=[],n=e.getReader();for(;;){let{done:e,value:r}=await n.read();if(e)break;r&&t.push(r)}return ln(Buffer.concat(t))}},Md=class{contentType=`application/json`;serialize(e){return Buffer.from(JSON.stringify(e))}async deserialize(e){let t=[],n=e.getReader();for(;;){let{done:e,value:r}=await n.read();if(e)break;r&&t.push(r)}return JSON.parse(Buffer.concat(t).toString())}},Nd=class{contentType=`application/cbor`;serialize(e){return Buffer.from(In(e))}async deserialize(e){let t=[],n=e.getReader();for(;;){let{done:e,value:r}=await n.read();if(e)break;r&&t.push(r)}let r=Buffer.concat(t);try{return ln(r)}catch{return JSON.parse(r.toString())}}};const Pd=new Ze;function Fd(e){let t=Pd.getStore();t?.collectStepIds&&t.stepIds.size<10&&t.stepIds.add(e)}function Id(e,t){if(t.stepIds.size===0)return e;let n=new Headers(e.headers);return n.set(`x-vercel-internal-workflow-step-ids`,JSON.stringify(Array.from(t.stepIds))),new Response(e.body,{headers:n,status:e.status,statusText:e.statusText})}const Ld=O.compile(O.object({payload:x,queueName:d,deploymentId:O.string().optional()})),Rd=Number(process.env.VERCEL_QUEUE_MAX_DELAY_SECONDS||82800);function zd(e){if(typeof e!=`object`||!e)return;let t=e.retryAfter;if(!(typeof t!=`number`||!Number.isFinite(t)||t<=0))return Math.min(Math.ceil(t),900)}function Bd(e,t){let n=Math.min(Math.max(1,2**(t-1)),900),r=Math.floor(Math.random()*(Math.ceil(n*.25)+1)),i=Math.max(1,n-r);return Math.max(i,zd(e)??1)}function Vd(e){if(`runId`in e&&typeof e.runId==`string`)return e.runId}function Hd(e){try{return f(e).id}catch{return}}const Ud=(e,t,n)=>{let r;return{open(){e&&Td(t)&&(r=Promise.resolve().then(()=>Eh).then(({openWsChannel:r})=>r(e,n,{workflowName:t})).catch(()=>void 0))},async close(){(await r)?.()}}};function Wd(e){if(!e)return;let t=e.startsWith(`wrun_`)?e.slice(5):e;try{let e=Re(t);return!e.tagged||e.regionId===Ne.unknown?void 0:e.region??void 0}catch{return}}function Gd(e,t){if(Me(t?.region))return t.region;let n=Wd(Vd(e));if(n)return n;let r=process.env.VERCEL_REGION;return Me(r)?r:`iad1`}function Kd(e){let t={};return`runId`in e&&typeof e.runId==`string`&&(t[`x-vercel-workflow-run-id`]=e.runId),`stepId`in e&&typeof e.stepId==`string`&&(t[`x-vercel-workflow-step-id`]=e.stepId),Object.keys(t).length>0?t:void 0}const qd=/^__([a-z][a-z0-9]*_)?wkf_workflow_/,Jd=T(`@workflow/world-vercel//queueLogLatches`,1,()=>({loggedSequentialReplays:!1}));function Yd(){return process.env.WORKFLOW_SEQUENTIAL_REPLAYS===`1`}function Xd(e,t){return!Yd()||!qd.test(e)?e:(Jd.loggedSequentialReplays||(Jd.loggedSequentialReplays=!0,console.warn(`[workflow] WORKFLOW_SEQUENTIAL_REPLAYS=1: routing flow messages to per-run queue topics`)),`__healthCheck`in t&&typeof t.correlationId==`string`?`${e}_${t.correlationId}`:`runId`in t&&typeof t.runId==`string`?`stepId`in t&&typeof t.stepId==`string`?`${e}_${t.runId}_${t.stepId}`:`${e}_${t.runId}`:e)}function Zd(e){let{baseUrl:t,usingProxy:n}=Ki(e),r=Ji(e,{usingProxy:n}),i=new jd,a=new Md,o=new Nd,s={dispatcher:vr(e),transport:o,...n&&{resolveBaseUrl:()=>new URL(`${t}/queues-proxy`),token:e?.token},headers:Object.fromEntries(r.entries())},c=(e,t,n)=>{let r=n?.deploymentId??process.env.VERCEL_DEPLOYMENT_ID;if(!r)throw Error(`${Sd(`Enqueuing a workflow message`)} Callers outside a deployment can instead pass an explicit deploymentId in options.`);return{deploymentId:r,useCbor:(n?.specVersion??8)>=3,region:Gd(t,n),topic:Xd(e,t).replace(/[^A-Za-z0-9-_]/g,`-`),wrapper:{payload:t,queueName:e,deploymentId:n?.deploymentId},sendOptions:{idempotencyKey:n?.idempotencyKey,delaySeconds:n?.delaySeconds,headers:{...Kd(t),...n?.headers}}}},l=e=>new xd({...s,...n&&{headers:{...s.headers,"x-vercel-queue-region":e.region}},region:e.region,deploymentId:e.deploymentId,transport:e.useCbor?i:a}),u=async(e,t,n)=>{let r=c(e,t,n),{messageId:i}=await l(r).send(r.topic,r.wrapper,r.sendOptions);return{messageId:i?ve.parse(i):null}};return{queue:u,queueBatch:async(e,t)=>{let n=Array(t.length);if(t.length===0)return n;let r=kd()?{}:await Vr(),i=new Map;for(let[n,a]of t.entries()){let t=c(e,a.message,a.opts),o=`${t.region}${t.deploymentId}${t.useCbor}${t.topic}`,s=i.get(o)??{route:t,entries:[]};s.entries.push({index:n,topic:t.topic,message:{payload:t.wrapper,...t.sendOptions,headers:{...t.sendOptions.headers,...r}}}),i.set(o,s)}return await Promise.all([...i.values()].map(async({route:e,entries:t})=>{let r=l(e);for(let e=0;e<t.length;e+=100){let i=t.slice(e,e+100),a=await r.experimental_sendBatch(i[0].topic,i.map(e=>e.message));for(let[e,t]of i.entries())n[t.index]=Ad(a[e])}})),n},createQueueHandler:(t,n)=>{let r=new xd(s).handleCallback(async(t,r)=>{if(!t||!r)return;let i=Pd.getStore(),a=i?.requestId,{payload:o,queueName:s,deploymentId:c}=Ld.parse(t),l=Ud(Vd(o),Hd(s),e),d=!(`stepId`in o&&typeof o.stepId==`string`);l.open();try{let e=()=>n(o,{queueName:s,messageId:ve.parse(r.messageId),attempt:r.deliveryCount,requestId:a}),t=await(i?Pd.run({...i,collectStepIds:d},e):e());if(!(`invoke`in o&&o.invoke===!0)&&typeof t==`object`&&t&&`timeoutSeconds`in t&&typeof t.timeoutSeconds==`number`){let e=t.timeoutSeconds>0?Math.min(t.timeoutSeconds,Rd):void 0;await u(s,o,{deploymentId:c,delaySeconds:e})}}finally{await l.close()}},{retry:(e,{messageId:t,deliveryCount:n})=>{let r=Bd(e,n);return console.error(`[workflow] Queue handler failed for message "${t}" on delivery attempt ${n}; retrying in ${r}s:`,e),{afterSeconds:r}}});return async e=>{let t={collectStepIds:!1,requestId:e.headers.get(`x-vercel-id`)?.trim()||void 0,stepIds:new Set};return Id(await Pd.run(t,()=>r(e)),t)}},getDeploymentId:async()=>{let e=process.env.VERCEL_DEPLOYMENT_ID;if(!e)throw Error(Sd(`Starting a workflow run`));return e},isDeploymentUnavailableError:e=>e instanceof xl}}const Qd=We.compile(We.object({id:We.string()}));async function $d(e){if(e?.token)return e.token;if(process.env.VERCEL===`1`){let e=await(0,dt.getVercelOidcToken)().catch(()=>null);if(e)return e}return Pi(e)}function ef(e){return async function(){let t=process.env.VERCEL_DEPLOYMENT_ID;if(!t)throw Error(Sd(`Resolving the latest deployment for deploymentId: 'latest'`));let n=await $d(e);if(!n)throw Error(`Cannot resolve latest deployment: no OIDC token or VERCEL_TOKEN available`);let r=e?.projectConfig?.teamId,i=r?`?${new URLSearchParams({teamId:r})}`:``,a=await(await zi({method:`GET`,url:`https://api.vercel.com/v1/workflow/resolve-latest-deployment/${encodeURIComponent(t)}${i}`,headers:new Headers({Authorization:`Bearer ${n}`}),dispatcher:_r(e),peerService:`vercel-api`,timeoutMs:null,buildError:async e=>{let n;try{n=await e.text()}catch{n=`<unable to read response body>`}let r=e.status===404?". The deployment exists but was not visible to the identity this request authenticated as, which means the request resolved to a different team. Set the World's `projectConfig.teamId` to scope it explicitly.":``;return Error(`Failed to resolve latest deployment for ${t}: HTTP ${e.status} ${e.statusText}${n?` — ${n}`:``}${r}`)}})).json(),o=Qd.safeParse(a);if(!o.success)throw Error(`Invalid response from Vercel API: expected { id: string }. Zod error: ${o.error.message}`);return o.data.id}}var tf=class extends Error{error;constructor(e){super(`Replay event observer failed`,{cause:e}),this.error=e,this.name=`ReplayEventObserverError`}},nf=class extends Error{error;constructor(e){super(`Event log read after a committed write failed`,{cause:e}),this.error=e,this.name=`AfterCommitError`}};const rf=new Set([`step_completed`,`step_retrying`]);function af(e){return rf.has(e)}const of={run_created:{retryable:!0,reason:`conditional create → 409 if exists`},step_created:{retryable:!0,reason:`conditional create → 409 if exists`},wait_created:{retryable:!0,reason:`conditional create → 409 if exists`},hook_created:{retryable:!0,reason:`transactional token uniqueness → 409 if exists`},run_started:{retryable:!0,reason:`early-returns if already running, no duplicate row`},run_completed:{retryable:!0,reason:`terminal-state guard → 409, no duplicate row`},run_failed:{retryable:!0,reason:`terminal-state guard → 409, no duplicate row`},run_cancelled:{retryable:!0,reason:`terminal-state guard → 409, no duplicate row`},step_completed:{retryable:!0,reason:`terminal-state guard → 409, no duplicate row`},step_failed:{retryable:!0,reason:`terminal-state guard → 409, no duplicate row`},wait_completed:{retryable:!0,reason:`waiting-state guard → 409, no duplicate row`},hook_disposed:{retryable:!0,reason:`conditional delete (exists) → 409, no duplicate row`},attr_set:{retryable:!0,reason:`correlationId constraint reuses eventId (idempotent replay)`},step_started:{retryable:!1,reason:`unconditional attempt increment → a retry double-counts attempts`},step_retrying:{retryable:!1,reason:`no duplicate guard → a retry appends a second event row`},hook_received:{retryable:!1,reason:`no server guard → a retry duplicates the row / re-delivers payload. EXCEPTION: the atomic lazy-resume shape (resumeId + digest) is deduplicated server-side by the (runId, resumeId) claim, so those writes opt in via withEventPostRetry({ idempotentHookResume })`},hook_conflict:{retryable:!1,reason:`server-originated; never POSTed by the SDK`},noop:{retryable:!1,reason:`server-originated; never POSTed by the SDK`}},sf=new Set([`ECONNRESET`,`ECONNREFUSED`,`ENOTFOUND`,`ENETDOWN`,`ENETUNREACH`,`EHOSTDOWN`,`EHOSTUNREACH`,`EPIPE`,`ETIMEDOUT`,`UND_ERR_SOCKET`,`UND_ERR_REQ_RETRY`,`UND_ERR_CONNECT_TIMEOUT`,`UND_ERR_HEADERS_TIMEOUT`,`UND_ERR_BODY_TIMEOUT`,`TimeoutError`,`RequestRetryError`]);function cf(e,t=0){if(t>5||typeof e!=`object`||!e)return[];let n=[],r=e;return typeof r.code==`string`&&n.push(r.code),typeof r.name==`string`&&n.push(r.name),r.cause&&n.push(...cf(r.cause,t+1)),n}function lf(e){if(e instanceof tf||De.is(e)||Ee.is(e)||Ce.is(e)||Se.is(e)||je.is(e))return!1;if(D.is(e)||E.is(e)){if(e.code===`PARSE_ERROR`||e.code===`TRANSPORT`)return!0;if(typeof e.status==`number`)return e.status>=500&&e.status<=599;if(e.code===`STREAM_ERROR`)return!cf(e).some(e=>[`AbortError`,`ABORT_ERR`,`UND_ERR_ABORTED`,`ERR_HTTP2_STREAM_CANCEL`].includes(e))}return cf(e).some(e=>sf.has(e))}const uf=(e,t)=>new Promise((n,r)=>{if(t?.aborted){r(t.reason);return}let i=()=>{clearTimeout(a),r(t?.reason)},a=setTimeout(()=>{t?.removeEventListener(`abort`,i),n()},e);t?.addEventListener(`abort`,i,{once:!0})}),df=typeof process<`u`&&typeof process.env.DEBUG==`string`&&(process.env.DEBUG.includes(`workflow:`)||process.env.DEBUG===`*`);function ff(e,t){if(!df)return;let n=Object.entries(t).map(([e,t])=>`${e}=${t}`).join(` `);console.debug(`[workflow:world-vercel:event-retry] ${e} ${n}`)}function pf(e){return D.is(e)?e.code??(e.status==null?e.name:`status_${e.status}`):cf(e)[0]??(e instanceof Error?e.name:`unknown`)}async function mf(){try{let e=(await Na())?.getTime();return e!==void 0&&Number.isFinite(e)?e:void 0}catch{return}}function hf(e,t){let n=0,r;return async(i,a)=>{let o=Math.max(1,typeof i.retryAfter==`number`?i.retryAfter:1)*1e3;if(r===void 0){let e=await mf();r={budgetMs:t===`invocation`&&e!==void 0?9e5:3e4,deadlineMs:e}}let s=r.deadlineMs!==void 0&&Date.now()+o>r.deadlineMs-15e3;if(n+o>r.budgetMs||s)throw ff(`throttle retry budget exhausted; surfacing to the queue`,{target:e,budget:t,waitedMs:n,retryAfter:i.retryAfter,outlastsInvocation:s}),i;n+=o,console.warn(`[workflow] Throttled (429) ${e}; retrying in-process in ${o/1e3}s`),await uf(o,a)}}function gf(e,t){return t?.batchIdempotent===void 0&&(t?.afterStepBody===!0||af(e))?`invocation`:`bounded`}function _f(e,t){return t?.batchIdempotent===void 0?e===`hook_received`&&t?.idempotentHookResume===!0||(of[e]?.retryable??!1):t.batchIdempotent}async function vf(e,t,n){let r=_f(t,n),i=hf(`writing ${t} event`,gf(t,n));for(let n=0;;)try{return await e()}catch(e){if(e instanceof nf)throw e;if(je.is(e)){await i(e);continue}if(!r||!lf(e))throw e;if(n>=2)throw ff(`exhausted in-process retries; surfacing for queue redelivery`,{eventType:t,attempts:n+1,error:pf(e)}),e;let a=100*2**n+Math.floor(Math.random()*50);n++,ff(`retrying event POST after transient failure`,{eventType:t,attempt:n,backoffMs:a,error:pf(e)}),await uf(a)}}const yf=`application/vnd.workflow.v4-frames`;var bf=class extends Error{};const xf=O.compile(O.record(O.string(),O.unknown()));function Sf(e,t){let n=new Uint8Array(In(e)),r=new Uint8Array(4+n.byteLength+4+t.byteLength),i=new DataView(r.buffer);return i.setUint32(0,n.byteLength,!1),r.set(n,4),i.setUint32(4+n.byteLength,t.byteLength,!1),r.set(t,4+n.byteLength+4),r}function Cf(e){let t=new DataView(e.buffer,e.byteOffset,e.byteLength);if(e.byteLength<4)throw Error(`ws frame shorter than the meta length prefix`);let n=4+t.getUint32(0,!1);if(e.byteLength<n+4)throw Error(`ws frame too short for meta + body length prefix`);let r=ln(e.subarray(4,n));if(typeof r!=`object`||!r||Array.isArray(r))throw Error(`ws frame meta must be a CBOR map`);let i=n+4,a=i+t.getUint32(n,!1);if(e.byteLength!==a)throw Error(e.byteLength<a?`ws frame shorter than its declared body length`:`ws frame has ${e.byteLength-a} trailing bytes`);return{meta:r,body:e.subarray(i,a)}}async function*wf(e){let t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():Ef(e.getReader()),n=new Uint8Array,r=async e=>{if(n.byteLength>=e)return!0;let r=[n],i=n.byteLength;for(;i<e;){let e;try{e=await t.next()}catch(e){throw new bf(`decodeFrames: source stream failed`,{cause:e})}if(e.done)return!1;e.value.byteLength!==0&&(r.push(e.value),i+=e.value.byteLength)}n=new Uint8Array(i);let a=0;for(let e of r)n.set(e,a),a+=e.byteLength;return!0},i=e=>{let t=n.subarray(0,e);return n=n.subarray(e),t};try{for(;;){if(!await r(4))return;let e=new DataView(n.buffer,n.byteOffset,4).getUint32(0,!1);if(i(4),!await r(e))throw new bf(`decodeFrames: truncated meta block`);let t=xf.parse(ln(i(e)));if(!await r(4))throw new bf(`decodeFrames: truncated body length`);let a=new DataView(n.buffer,n.byteOffset,4).getUint32(0,!1);if(i(4),a>0&&!await r(a))throw new bf(`decodeFrames: truncated body bytes`);if(yield{meta:t,body:n.slice(0,a)},i(a),t._end===1)return}}finally{Tf(()=>t.return?.())}}function Tf(e){try{Promise.resolve(e()).catch(()=>{})}catch{}}async function*Ef(e){try{for(;;){let{done:t,value:n}=await e.read();if(t)return;n&&(yield n)}}finally{Tf(()=>e.cancel())}}const Df=`gzip`,Of=`zstd`,kf=new TextDecoder,Af=new Set([`devl`,`encr`,Df,Of]);function jf(){try{return globalThis.process?.getBuiltinModule?.(`node:zlib`)}catch{return}}function Mf(e){return!(e instanceof Uint8Array)||e.byteLength<4?null:kf.decode(e.subarray(0,4))}function Nf(e){let t=Mf(e);return t!==null&&Af.has(t)}function Pf(e,t){let n=jf(),r=e===Of?n?.zstdDecompressSync:n?.gunzipSync;if(!r)throw new D(`Received ${e}-compressed workflow data, but this Node.js runtime does not support ${e} decompression. Use a compatible Node.js runtime or request unresolved data.`);return new Uint8Array(r(t))}function Ff(e){let t=Mf(e);return t!==Of&&t!==Df?e:Pf(t,e.subarray(4))}function If(e){try{return Ff(e)}catch(e){throw D.is(e)?e:new D(`Stored dynamic workflow code could not be decompressed.`,{code:`WORLD_CONTRACT_ERROR`,cause:e})}}function Lf(e){return{...e,input:Ff(e.input),output:Ff(e.output),error:Ff(e.error),...e.dynamicWorkflowCode===void 0?{}:{dynamicWorkflowCode:If(e.dynamicWorkflowCode)}}}function Rf(e){return{...e,input:Ff(e.input),output:Ff(e.output),error:Ff(e.error)}}function zf(e){return{...e,metadata:Ff(e.metadata)}}const Bf=O.compile(m.omit({error:!0}).extend({error:O.union([ee,O.any()]).optional(),errorRef:O.any().optional()})),Vf=O.compile(Bf.omit({input:!0,output:!0}).extend({inputRef:O.any().optional(),outputRef:O.any().optional(),input:O.instanceof(Uint8Array).optional(),output:O.instanceof(Uint8Array).optional()}));function Hf(e){let{error:t,errorRef:n,...r}=e,i={...r},a=t??n;return a!=null&&(i.error=a),i}function Uf(e,t){if(t===`none`){let{inputRef:t,outputRef:n,...r}=e;return{...Rf(Hf(r)),input:void 0,output:void 0}}return Rf(Hf(e))}async function Wf(e,t){let{runId:n,pagination:r,resolveData:i=`all`}=e,a=new URLSearchParams;r?.cursor&&a.set(`cursor`,r.cursor),r?.limit&&a.set(`limit`,r.limit.toString()),r?.sortOrder&&a.set(`sortOrder`,r.sortOrder);let o=i===`none`?`lazy`:`resolve`;a.set(`remoteRefBehavior`,o);let s=a.toString(),c=await W({endpoint:`/v2/runs/${encodeURIComponent(n)}/steps${s?`?${s}`:``}`,options:{method:`GET`},config:t,schema:de(o===`lazy`?Vf:Bf)});return{...c,data:c.data.map(e=>Uf(e,i))}}async function Gf(e,t,n,r){let i=n?.resolveData??`all`,a=i===`none`?`lazy`:`resolve`,o=new URLSearchParams;o.set(`remoteRefBehavior`,a);let s=o.toString();return Uf(await W({endpoint:`/v2/runs/${encodeURIComponent(e)}/steps/${encodeURIComponent(t)}${s?`?${s}`:``}`,options:{method:`GET`},config:r,schema:a===`lazy`?Vf:Bf}),i)}async function Kf(e,t,n,r,i){let a=yr(n),o=await zi({method:t.method,url:e,headers:t.headers,body:t.body,dispatcher:a,attributes:i,onTransportOutcome:e=>mr(a,e),deferTransportSuccessUntilBody:!0,timeoutMs:null,transportErrorCode:`STREAM_ERROR`,logLabel:r,buildError:async t=>cp(t.status,ji(t.headers),new Uint8Array(await t.arrayBuffer()),r,e)});if(!o.body)return mr(a),o;let s=o.body.getReader(),c=new ReadableStream({async pull(t){try{let e=await s.read();e.done?(mr(a),t.close()):t.enqueue(e.value)}catch(n){mr(a,n);let i=Si(n);t.error(i?new E(`v4 ${r}: response stream transport failure (${i})`,{cause:n,url:e}):n)}},cancel(e){return mr(a),s.cancel(e)}});return new Response(c,{status:o.status,statusText:o.statusText,headers:o.headers})}const qf=`x-wf-event-id`,Jf=`x-wf-max-events`;function Yf(e,t,n){return`${e}/v4/runs/${encodeURIComponent(t)}/events/${encodeURIComponent(n)}`}const Xf=Symbol(`omitted event payload`),Zf=O.compile(O.preprocess(e=>{if(typeof e!=`object`||!e||Array.isArray(e))return e;let t=e,n=typeof t.eventType==`string`?c(t.eventType):void 0,r=t.eventData;return!n||typeof r!=`object`||!r||Array.isArray(r)||Object.hasOwn(r,n)?e:{...t,eventData:{...r,[n]:Xf}}},S).transform(e=>{let t=c(e.eventType);if(!t||!(`eventData`in e))return e;let n=e.eventData;if(typeof n!=`object`||!n||Array.isArray(n)||n[t]!==Xf)return e;let r={...n};return delete r[t],{...e,eventData:r}})),Qf=O.object({event:Zf,run:C.optional(),step:Bf.transform(Hf).optional(),hook:ye.optional(),wait:p.optional(),stepCreated:O.literal(!0).optional(),maxEvents:O.number().int().positive().optional()}),$f=O.union([O.object({events:O.array(Zf),cursor:O.string().nullable(),hasMore:O.boolean()}),O.object({events:O.undefined().optional(),cursor:O.undefined().optional(),hasMore:O.undefined().optional()})]),$=Qf.and($f),ep={run_created:Qf.extend({run:C}).and($f),run_started:Qf.extend({run:C.and(O.object({startedAt:O.coerce.date()}))}).and($f),step_started:Qf.extend({step:Bf.extend({startedAt:O.coerce.date()}).transform(e=>({...Hf(e),startedAt:e.startedAt}))}).and($f),run_completed:$,run_failed:$,run_cancelled:$,attr_set:$,step_created:$,step_completed:$,step_failed:$,step_retrying:$,hook_created:$,hook_received:$,hook_disposed:$,hook_conflict:$,wait_created:$,wait_completed:$,noop:$},tp=O.compile(O.coerce.number().int().positive()),np=O.compile(O.object({_end:O.literal(1),next:O.string().optional(),hasMore:O.boolean()})),rp=O.compile(O.object({_error:O.literal(1),code:O.string(),message:O.string().optional()})),ip=new Set([`run_failed`,`step_failed`,`step_retrying`]);function ap(e){if(Nf(e))return e;try{let t=ae.safeParse(ln(e.slice()));return t.success?t.data:e}catch{return e}}function op({meta:e,body:t}){let n=w.parse(e.eventType);if(t.byteLength===0)return Zf.parse(e);let r=c(n);return Qe(r,`Event type ${n} cannot carry a payload body`),Qe(e.eventData&&typeof e.eventData==`object`),Zf.parse({...e,eventData:{...e.eventData,[r]:ip.has(n)?ap(t):t}})}function sp(e){let t={eventType:e.eventType,specVersion:e.specVersion};return e.executorSpecVersion!==void 0&&(t.executorSpecVersion=e.executorSpecVersion),e.correlationId!==void 0&&(t.correlationId=e.correlationId),e.vercelId!==void 0&&(t.vercelId=e.vercelId),e.computeInstanceId!==void 0&&(t.computeInstanceId=e.computeInstanceId),e.occurredAt!==void 0&&(t.occurredAt=e.occurredAt),e.remoteRefBehavior!==void 0&&(t.remoteRefBehavior=e.remoteRefBehavior),e.eventsRemoteRefBehavior!==void 0&&(t.eventsRemoteRefBehavior=e.eventsRemoteRefBehavior),e.deploymentId!==void 0&&(t.deploymentId=e.deploymentId),e.workflowName!==void 0&&(t.workflowName=e.workflowName),e.stepName!==void 0&&(t.stepName=e.stepName),e.attempt!==void 0&&(t.attempt=e.attempt),e.resumeAt!==void 0&&(t.resumeAt=e.resumeAt),e.retryAfter!==void 0&&(t.retryAfter=e.retryAfter),e.hookToken!==void 0&&(t.hookToken=e.hookToken),e.hookTokenRetentionUntil!==void 0&&(t.hookTokenRetentionUntil=e.hookTokenRetentionUntil),e.hookIsWebhook!==void 0&&(t.hookIsWebhook=e.hookIsWebhook),e.hookIsSystem!==void 0&&(t.hookIsSystem=e.hookIsSystem),e.hookForce!==void 0&&(t.hookForce=e.hookForce),e.resumeId!==void 0&&(t.resumeId=e.resumeId),e.errorCode!==void 0&&(t.errorCode=e.errorCode),e.cancelReason!==void 0&&(t.cancelReason=e.cancelReason),e.ownerMessageId!==void 0&&(t.ownerMessageId=e.ownerMessageId),e.executionContext!==void 0&&(t.executionContext=e.executionContext),e.attributes!==void 0&&(t.attributes=e.attributes),e.changes!==void 0&&(t.changes=e.changes),e.writer!==void 0&&(t.writer=e.writer),e.allowReservedAttributes!==void 0&&(t.allowReservedAttributes=e.allowReservedAttributes),e.encryptionPublicKey!==void 0&&(t.encryptionPublicKey=e.encryptionPublicKey),e.dynamicWorkflowCode!==void 0&&(t.dynamicWorkflowCode=e.dynamicWorkflowCode),e.dynamicWorkflowCodeRef!==void 0&&(t.dynamicWorkflowCodeRef=e.dynamicWorkflowCodeRef),e.ttfs!==void 0&&(t.ttfs=e.ttfs),e.stso!==void 0&&(t.stso=e.stso),e.stepCount!==void 0&&(t.stepCount=e.stepCount),e.eventCount!==void 0&&(t.eventCount=e.eventCount),e.rsfs!==void 0&&(t.rsfs=e.rsfs),e.finalSchedulingReplay!==void 0&&(t.finalSchedulingReplay=e.finalSchedulingReplay),e.optimizations!==void 0&&(t.optimizations=e.optimizations),e.sinceCursor!==void 0&&(t.sinceCursor=e.sinceCursor),e.skipPreload&&(t.skipPreload=!0),e.maxSlot!==void 0&&(t.maxSlot=e.maxSlot),e.replayDivergenceCount!==void 0&&(t.replayDivergenceCount=e.replayDivergenceCount),e.resumePayloadDigest!==void 0&&(t.resumePayloadDigest=e.resumePayloadDigest),e.viaStepDispatch!==void 0&&(t.viaStepDispatch=e.viaStepDispatch),t}function cp(e,t,n,r,i){let a=`v4 ${r} failed: HTTP ${e}`,o,s,{record:c,text:l}=lp(n,Op(t,`content-type`));c?(typeof c.message==`string`&&(a=c.message),typeof c.code==`string`?o=c.code:typeof c.error==`string`&&(o=c.error),e===412&&(s=up(c)),e===409&&o===`hook-force-claimed`&&(s={claimedBy:c.claimedBy})):l&&(a+=` ${l}`);let u=Ai(Op(t,`retry-after`));return Mi(e,a,{retryAfter:u,code:o,url:i,mitigated:Op(t,`x-vercel-mitigated`),...s===void 0?{}:{details:s}})}function lp(e,t){if(typeof e!=`string`&&t?.includes(`application/cbor`)){try{let t=ln(e.slice());if(typeof t==`object`&&t)return{record:t}}catch{}return{}}let n=typeof e==`string`?e:new TextDecoder().decode(e);try{let e=JSON.parse(n);if(typeof e==`object`&&e)return{record:e}}catch{}return{text:n}}function up(e){if(!Array.isArray(e.events)||e.events.length===0)return;let t=[];for(let n of e.events){if(typeof n!=`object`||!n)return;let e=n;if(typeof e.eventId!=`string`||dp(e))return;let r=Zf.safeParse(e);if(!r.success)return;t.push(r.data)}return{events:t,...typeof e.cursor==`string`?{cursor:e.cursor}:{}}}function dp(e){let t=e.eventType;if(typeof t!=`string`)return!1;let n=c(t);if(!n)return!1;let r=e.eventData;if(typeof r!=`object`||!r)return!1;let i=r[n];return i!==void 0&&!(i instanceof Uint8Array)}async function fp(e,t,n){let{baseUrl:r,headers:i}=await U(n),a=new Headers(i);a.set(`Content-Type`,`application/octet-stream`),t===`event-stream`&&a.set(`Accept`,yf);let o=Sf(sp(e),e.payload??new Uint8Array);return Kf(Yf(r,e.runId,e.eventType),{method:`POST`,headers:a,body:o},n,`createEvent`,{...ai(`http`),...si(e.eventType),...ui(`@workflow/world-vercel/${Un}`),...e.eventType===`step_started`?{...ci(e.payload===void 0?e.ownerMessageId===void 0?`single_bare`:`single_owned_recovery`:`single_lazy_create_claim`),...li(e.ownerMessageId!==void 0)}:{},...e.stso===void 0?{}:di(e.stso),...e.optimizations===void 0?{}:fi(e.optimizations)})}const pp=new Set([`step_completed`]);function mp(e){if(Dd()&&Cd()&&pp.has(e))throw Error(`world-vercel: ${e} fell back to the HTTP events transport while the WS gate was on. WORKFLOW_INTERNAL_EVENTS_TRANSPORT_STRICT is set, so this is a failure rather than a silent demotion: no channel was resolvable for this run at write time.`)}async function hp(e,t){if(Ed()){let n=await Ep(e,t);if(n)return yp(n,e.eventType);mp(e.eventType)}let n=await fp(e,`materialized`,t);if(n.headers.get(`content-type`)?.startsWith(`application/vnd.workflow.v4-frames`))throw new D(`v4 createEvent: unexpected event page`,{code:`SCHEMA_VALIDATION`});return yp(n,e.eventType)}const gp=new Map;function _p(e){return ep[e].refine(({event:t})=>t.eventType===e||e===`hook_created`&&t.eventType===`hook_conflict`,{path:[`event`,`eventType`]})}function vp(e){let t=gp.get(e);if(t)return t;let n=O.compile(_p(e));return gp.set(e,n),n}async function yp(e,t){let n;try{n=new Uint8Array(await e.arrayBuffer())}catch(e){throw E.is(e)?e:new D(`v4 createEvent: failed to read response body`,{code:`TRANSPORT`,cause:e})}if(n.byteLength===0)throw new D(`v4 createEvent: empty response body`,{code:`PARSE_ERROR`});let r=vp(t),i;try{i=ln(n)}catch(e){throw new D(`v4 createEvent: invalid CBOR response body`,{code:`PARSE_ERROR`,cause:e})}let a=r.safeParse(i);if(!a.success)throw new D(`v4 createEvent: invalid response body`,{code:`SCHEMA_VALIDATION`,cause:a.error});return a.data}async function bp(e,t,n){let r=await fp({...e,eventType:`run_started`},`event-stream`,t),i=await Np(r,e,t,n);if(!i.cursor)throw new D(`v4 createEvent: event stream missing cursor`,{code:`SCHEMA_VALIDATION`});let a=tp.safeParse(r.headers.get(Jf));if(!a.success)throw new D(`v4 createEvent: invalid max-events header`,{code:`SCHEMA_VALIDATION`,cause:a.error});return{...i,maxEvents:a.data}}const xp=O.compile(O.object({status:O.number().int(),error:O.string(),message:O.string()}));async function Sp(e,t){Qe(e.events.length>0,`v4 createEventBatch: empty batch`);let{baseUrl:n,headers:r}=await U(t),i=new Headers(r);i.set(`Content-Type`,`application/octet-stream`);let a=e.events.map(e=>Sf(sp(e),e.payload??new Uint8Array)),o=0;for(let e of a)o+=e.byteLength;let s=new Uint8Array(o),c=0;for(let e of a)s.set(e,c),c+=e.byteLength;let l=await Kf(`${n}/v4/runs/${encodeURIComponent(e.runId)}/events/batch`,{method:`POST`,headers:i,body:s},t,`createEventBatch`,{...ai(`http`),"workflow.batch.bytes":s.byteLength,...e.events.some(e=>e.eventType===`step_started`)?{...ci(e.events.some(e=>e.eventType===`step_created`)?`batch_create_claim`:`batch_bare`),...li(e.events.some(e=>e.ownerMessageId!==void 0))}:{}}),u=new Uint8Array(await l.arrayBuffer()),d=u.byteLength>0?ln(u):{};if(!Array.isArray(d.results)||d.results.length!==e.events.length)throw new D(`v4 createEventBatch: response \`results\` length (${Array.isArray(d.results)?d.results.length:`non-array`}) != ${e.events.length} submitted frames`,{code:`SCHEMA_VALIDATION`});return{results:d.results.map((t,n)=>{let r=xp.safeParse(t);if(r.success&&r.data.status!==200)return r.data;if(t?.status!==200)throw new D(`v4 createEventBatch: result at index ${n} is neither a success (status 200) nor a well-formed failure`,{code:`SCHEMA_VALIDATION`});let i=e.events[n].eventType,a=ep[i].safeParse(t);if(!a.success)throw new D(`v4 createEventBatch: invalid result body at index ${n} (${i})`,{code:`SCHEMA_VALIDATION`,cause:a.error});if(a.data.event.eventType!==i)throw new D(`v4 createEventBatch: result at index ${n} carries a ${a.data.event.eventType} event, expected ${i}`,{code:`SCHEMA_VALIDATION`});return{status:200,...a.data}})}}function Cp(e){let t={};return typeof e.eventId==`string`&&(t[qf]=e.eventId),typeof e.retryAfter==`string`&&(t[`retry-after`]=e.retryAfter),typeof e.mitigated==`string`&&(t[`x-vercel-mitigated`]=e.mitigated),t}function wp(e,t){let{replyParts:n=1}=t;n>1&&e?.setAttributes({...gi(n)})}function Tp(e,t){let{status:n}=e.meta;if(typeof n!=`number`)throw new D(`Failed to parse response body for POST ${t}: reply frame carried no numeric status (type: ${String(e.meta.type??`absent`)}). Refusing to treat an unrecognized reply as success — the write may or may not have been applied.`,{url:t,code:`PARSE_ERROR`});return n}async function Ep(e,t){let{resolveWsTransport:n}=await Promise.resolve().then(()=>Eh),{runId:r}=e,i=n(r,t);if(!i)return;let{transport:a,wsUrl:o}=i,s=`${o}#runs/${encodeURIComponent(r)}/events`;return Li({method:`POST`,url:Yf(Ki(t).baseUrl,r,e.eventType),attributes:{...ai(`ws`),...si(e.eventType),...ui(`@workflow/world-vercel/${Un}`),...e.stso===void 0?{}:di(e.stso),...e.optimizations===void 0?{}:fi(e.optimizations),...e.eventType===`step_started`?{...ci(e.payload===void 0?e.ownerMessageId===void 0?`single_bare`:`single_owned_recovery`:`single_lazy_create_claim`),...li(e.ownerMessageId!==void 0)}:{},...Jr(`websocket`),...pi(o)}},async t=>{let n=Date.now(),r;try{r=await a.request(n=>(t?.setAttributes({...mi(n)}),Sf({reqId:n,type:`event`,event:sp(e)},e.payload??new Uint8Array)),{onMessages:e=>{e>1&&t?.setAttributes({...hi(e)})}})}catch(e){let n=new D(`POST ${s} transport failure: ${e instanceof Error?e.message:String(e)}`,{url:o,code:`TRANSPORT`,cause:e});throw t?.setAttributes({...qr(`TRANSPORT`)}),t?.recordException?.(n),n}let i=Date.now()-n;wp(t,r);let c=Tp(r,s),l=Cp(r.meta),u={get:e=>l[e.toLowerCase()]??null};if(Oi(`POST`,`createEvent`,{status:c,headers:u},i),Ri(t,c),c<200||c>=300){let e=cp(c,l,new TextDecoder().decode(r.body),`createEvent`,s);throw t?.recordException?.(e),e}return{headers:u,arrayBuffer:async()=>r.body.slice().buffer}})}async function Dp(e,t,n){let r=await fp({...e,eventType:`hook_received`},`event-stream`,t);if(!r.headers.get(`content-type`)?.startsWith(`application/vnd.workflow.v4-frames`))return{kind:`materialized`,result:await yp(r,`hook_received`)};let i=await Np(r,e,t,n),a=tp.safeParse(r.headers.get(Jf));return{kind:`stream`,...i,canonicalEventId:r.headers.get(qf)??void 0,maxEvents:a.success?a.data:void 0}}function Op(e,t){let n=e[t];if(typeof n==`string`)return n;if(Array.isArray(n)&&n.length>0)return n[0]}async function kp(e,t,n,r){let{baseUrl:i,headers:a}=await U(r),o=await Kf(`${i}/v4/runs/${encodeURIComponent(e)}/events/${encodeURIComponent(t)}?remoteRefBehavior=${n}`,{method:`GET`,headers:a},r,`getEvent`),s=o.headers.get(`content-type`);if(!s?.startsWith(`application/vnd.workflow.v4-frames`))throw Error(`v4 getEvent: expected ${yf}, got ${s??`(none)`}`);let c=o.body;try{for await(let e of wf(c)){if(e.meta._error===1)throw Ap(e.meta,`getEvent`);if(Object.keys(e.meta).some(e=>e.startsWith(`_`)))throw Error(`v4 getEvent: unexpected control frame`);return op(e)}}catch(e){throw e instanceof bf&&E.is(e.cause)?e.cause:e}throw Error(`v4 getEvent: empty frame stream for ${t}`)}function Ap(e,t){let n=rp.safeParse(e);if(!n.success)return new D(`v4 ${t}: malformed terminal error frame`,{code:`SCHEMA_VALIDATION`,cause:n.error});let{code:r,message:i}=n.data,a=i??`(no detail)`;return r===`payload-missing`?new ke(`the event log references a payload that no longer exists in storage: ${a}`):new D(`v4 ${t}: stream ended with terminal error "${r}": ${a}`,{code:`WORLD_CONTRACT_ERROR`})}function jp(e,t){let n=e.at(-1)?.eventId;if(!n)throw t;return{kind:`partial`,events:e,cursor:`eid:${n}`,hasMore:!0,error:t}}async function Mp(e,t,n){let r=e.headers.get(`content-type`);if(!r?.startsWith(`application/vnd.workflow.v4-frames`))throw new D(`v4 ${t}: expected ${yf}, got ${r??`(none)`}`,{code:`SCHEMA_VALIDATION`});if(!e.body)throw new D(`v4 ${t}: response body is missing`,{code:`TRANSPORT`});let i=[];try{for await(let r of wf(e.body)){if(r.meta._end===1){let e=np.parse(r.meta);return{kind:`complete`,events:i,cursor:e.next??null,hasMore:e.hasMore}}if(r.meta._error===1)throw Ap(r.meta,t);if(Object.keys(r.meta).some(e=>e.startsWith(`_`)))throw Error(`v4 ${t}: unexpected control frame`);let e=op(r);i.push(e);try{n?.(e)}catch(e){throw new tf(e)}}}catch(e){if(e instanceof tf||ke.is(e)||D.is(e))throw e;if(e instanceof bf&&E.is(e.cause))return jp(i,e.cause);if(!(e instanceof bf))throw new D(`v4 ${t}: invalid event frame stream`,{code:`SCHEMA_VALIDATION`,cause:e});return jp(i,new D(`v4 ${t}: incomplete event frame stream`,{code:`TRANSPORT`,cause:e}))}return jp(i,new D(`v4 ${t}: frame stream ended without the end-of-stream sentinel (${i.length} events read)`,{code:`TRANSPORT`}))}async function Np(e,{runId:t,eventsRemoteRefBehavior:n},r,i){let a=await Mp(e,`createEvent`,i);if(!a.hasMore)return{events:a.events,cursor:a.cursor,hasMore:!1};if(!a.cursor)throw new D(`v4 createEvent: partial event stream missing cursor`,{code:`SCHEMA_VALIDATION`});let o;try{o=await Vp(t,{cursor:a.cursor,remoteRefBehavior:n===`skip-step-inputs`?`skip-step-inputs`:`resolve`},r,i)}catch(e){throw je.is(e)?new nf(e):e}return{events:[...a.events,...o.events],cursor:o.cursor??a.cursor,hasMore:o.hasMore}}async function Pp(e,t,n,r,i){return Mp(await Kf(e,{method:`GET`,headers:t},n,r),r,i)}const Fp=T(`@workflow/world-vercel//skipStepInputsSupport`,2,()=>({unsupportedSince:new Map}));function Ip(e){let t=Fp.unsupportedSince.get(e);return t===void 0?!1:Date.now()-t<6e5||(Fp.unsupportedSince.delete(e),!1)}function Lp(e){return e instanceof D&&e.status===400&&e.code===`validation-error`}async function Rp(e,t,n,r,i,a,o){if(t===`skip-step-inputs`&&!Ip(e)){try{return await Pp(n(t),r,i,a,o)}catch(e){if(!Lp(e))throw e}let s=await Pp(n(`resolve`),r,i,a,o);return Fp.unsupportedSince.set(e,Date.now()),s}return Pp(n(t===`skip-step-inputs`?`resolve`:t),r,i,a,o)}function zp(e,t){t.cursor&&e.set(`cursor`,t.cursor),t.limit!==void 0&&e.set(`limit`,String(t.limit)),t.sortOrder&&e.set(`sortOrder`,t.sortOrder),t.remoteRefBehavior&&e.set(`remoteRefBehavior`,t.remoteRefBehavior)}function Bp(e){let t=new URLSearchParams;return e.limit===void 0&&t.set(`returnAll`,`true`),zp(t,e),`?${t.toString()}`}async function Vp(e,t={},n,r){let{baseUrl:i,headers:a}=await U(n),o=[],s=t.cursor??null,c=0,l,u=t.limit===void 0,d=hf(`reading events`,`bounded`);for(;;){let f=s??void 0;try{l=await Rp(i,t.remoteRefBehavior,n=>`${i}/v4/runs/${encodeURIComponent(e)}/events`+Bp({...t,remoteRefBehavior:n,cursor:f}),a,n,`listEvents`,r)}catch(e){if(!u||!je.is(e))throw e;await d(e);continue}let p=!!l.cursor&&l.cursor!==s;if(l.kind===`partial`){if(t.limit!==void 0||!p||c===2)throw l.error;c++,s=l.cursor}else if(!p&&(l.events.length>0||l.hasMore))throw new D(`v4 listEvents: response did not advance cursor`,{code:`SCHEMA_VALIDATION`});for(let e of l.events)o.push(e);if(l.kind!==`partial`)break}return{events:o,cursor:l.cursor||(c>0?s:null),hasMore:l.hasMore}}async function Hp(e,t,n={},r){let{baseUrl:i,headers:a}=await U(r),o=await Rp(i,n.remoteRefBehavior,r=>{let a=new URLSearchParams;return a.set(`correlationId`,e),a.set(`runId`,t),zp(a,{...n,remoteRefBehavior:r}),`${i}/v4/events?${a.toString()}`},a,r,`listEventsByCorrelationId`);if(o.kind===`partial`)throw o.error;return{events:o.events,cursor:o.cursor,hasMore:o.hasMore}}const Up=O.compile(u.omit({error:!0,errorCode:!0}).extend({error:O.union([ee,O.any()]).optional(),errorCode:O.string().optional(),blobStorageBytes:O.number().optional(),streamStorageBytes:O.number().optional()})),Wp=O.compile(Up),Gp=O.compile(Up.omit({input:!0,output:!0}).extend({inputRef:O.any().optional(),outputRef:O.any().optional(),input:O.union([O.instanceof(Uint8Array),O.any()]).optional(),output:O.union([O.instanceof(Uint8Array),O.any()]).optional(),dynamicWorkflowCode:O.any().optional()}));function Kp(e,t){if(t===`none`){let{inputRef:t,outputRef:n,dynamicWorkflowCode:r,...i}=e;return{...Lf(Ui(i)),input:void 0,output:void 0}}return Lf(Ui(e))}async function qp(e={},t){let{workflowName:n,status:r,pagination:i,resolveData:a=`all`}=e,o=new URLSearchParams;if(n&&o.set(`workflowName`,n),Array.isArray(r))throw new D(`listWorkflowRuns: status does not support an array of statuses on world-vercel yet; pass a single status`,{code:`INVALID_ARGUMENT`,field:`status`});r&&o.set(`status`,r),i?.limit&&o.set(`limit`,i.limit.toString()),i?.cursor&&o.set(`cursor`,i.cursor),i?.sortOrder&&o.set(`sortOrder`,i.sortOrder);let s=a===`none`?`lazy`:`resolve`;o.set(`remoteRefBehavior`,s);let c=o.toString(),l=await W({endpoint:`/v2/runs${c?`?${c}`:``}`,options:{method:`GET`},config:t,schema:de(s===`lazy`?Gp:Wp)});return{...l,data:l.data.map(e=>Kp(e,a))}}async function Jp(e,t){return Ui(await W({endpoint:`/v1/runs/create`,options:{method:`POST`},data:e,config:t,schema:Wp}))}async function Yp(e,t,n){let r=t?.resolveData??`all`;try{return await Xp(e,{resolveData:r},n)}catch(t){throw t instanceof D&&t.status===404?new we(e):t}}async function Xp(e,t,n){let{resolveData:r,waitMs:i,signal:a}=t,o=r===`none`?`lazy`:`resolve`,s=new URLSearchParams;s.set(`remoteRefBehavior`,o),i!==void 0&&s.set(`waitMs`,String(i));let c=i===void 0?``:`/status`,l=s.toString();return Kp(await W({endpoint:`/v2/runs/${encodeURIComponent(e)}${c}${l?`?${l}`:``}`,options:{method:`GET`,...a?{signal:a}:{}},config:n,retryConnectTimeout:!0,schema:o===`lazy`?Gp:Wp}),r)}const Zp=T(`@workflow/world-vercel//runStatusLongPollSupport`,1,()=>({unsupportedUntilByBaseUrl:new Map}));function Qp(e){return e.status===404||e.status===405||e.status===501||e.status===504||e.status===void 0&&(e.code===`TIMEOUT`||e.code===`TRANSPORT`)}async function $p(e,t,n){let r=t?.resolveData??`all`,i=Math.max(0,Math.min(t?.timeoutMs??0,Ci()-1e4)),{baseUrl:a}=Ki(n),o=Zp.unsupportedUntilByBaseUrl.get(a)??0;if(i===0||Date.now()<o)return Yp(e,{resolveData:r},n);try{return await Xp(e,{resolveData:r,waitMs:i,...t?.signal?{signal:t.signal}:{}},n)}catch(i){if(t?.signal?.aborted||!(i instanceof D)||!Qp(i))throw i;let o=await Yp(e,{resolveData:r},n);return Zp.unsupportedUntilByBaseUrl.set(a,Date.now()+3e5),o}}async function em(e,t,n){let r=[...new Set(e)],i=await Promise.all(r.map(async e=>{try{return await Yp(e,t,n)}catch(e){if(e instanceof we)return null;throw e}})),a=new Map(r.map((e,t)=>[e,i[t]]));return e.map(e=>a.get(e)??null)}async function tm(e,t,n){let r=t?.resolveData??`all`,i=r===`none`?`lazy`:`resolve`,a=new URLSearchParams;a.set(`remoteRefBehavior`,i);let o=a.toString(),s=`/v1/runs/${encodeURIComponent(e)}/cancel${o?`?${o}`:``}`;try{return Kp(await W({endpoint:s,options:{method:`PUT`},config:n,schema:i===`lazy`?Gp:Wp}),r)}catch(t){throw t instanceof D&&t.status===404?new we(e):t}}async function nm(e,t){let{runIds:n,cancelReason:r}=b.parse(e),i=await W({endpoint:`/v4/runs/cancel`,options:{method:`POST`},data:r===void 0?{runIds:n}:{runIds:n,cancelReason:r},config:t,schema:be}),a=new Map(i.results.map(e=>[e.runId,e]));if(!(a.size===i.results.length&&i.results.length===n.length&&n.every(e=>a.has(e))))throw new D(`Bulk cancel response did not contain exactly one result per requested run ID (requested ${n.length}, received ${i.results.length}).`);let o=n.map(e=>a.get(e));return{summary:i.summary,results:o}}const rm=O.compile(O.object({attributes:O.record(O.string(),O.string())}));async function im(e,t,n,r){try{return{attributes:(await W({endpoint:`/v2/runs/${encodeURIComponent(e)}/attributes`,options:{method:`POST`},data:n?.allowReservedAttributes?{changes:t,allowReservedAttributes:!0}:{changes:t},config:r,schema:rm})).attributes}}catch(t){throw t instanceof D&&t.status===404?new we(e):t}}function am(e){let t=e.startsWith(`wrun_`)?e.slice(5):e;try{return he(`wrun_${Re(t).ulid}`,`wrun_`)}catch{return he(e,`wrun_`)}}const om=new Set([`run_created`,`run_started`,`step_started`]);function sm(e){if(e.eventType===`attr_set`)try{re(e.eventData)}catch(e){throw e instanceof se?new D(e.message,{status:400}):e}let t=e.eventData??{},n=c(e.eventType),r={};if(typeof t.deploymentId==`string`&&(r.deploymentId=t.deploymentId),typeof t.workflowName==`string`&&(r.workflowName=t.workflowName),typeof t.stepName==`string`&&(r.stepName=t.stepName),typeof t.attempt==`number`&&(r.attempt=t.attempt),t.resumeAt instanceof Date)r.resumeAt=t.resumeAt;else if(typeof t.resumeAt==`string`){let e=new Date(t.resumeAt);Number.isNaN(e.getTime())||(r.resumeAt=e)}if(t.retryAfter instanceof Date)r.retryAfter=t.retryAfter;else if(typeof t.retryAfter==`string`){let e=new Date(t.retryAfter);Number.isNaN(e.getTime())||(r.retryAfter=e)}typeof t.token==`string`&&(r.hookToken=t.token),t.tokenRetentionUntil instanceof Date&&(r.hookTokenRetentionUntil=t.tokenRetentionUntil),typeof t.isWebhook==`boolean`&&(r.hookIsWebhook=t.isWebhook),typeof t.isSystem==`boolean`&&(r.hookIsSystem=t.isSystem),t.force===!0&&(r.hookForce=!0),typeof t.errorCode==`string`&&(r.errorCode=t.errorCode),typeof t.cancelReason==`string`&&(r.cancelReason=t.cancelReason),typeof t.ownerMessageId==`string`&&(r.ownerMessageId=t.ownerMessageId),t.executionContext!==void 0&&t.executionContext!==null&&typeof t.executionContext==`object`&&(r.executionContext=t.executionContext),t.attributes!==void 0&&t.attributes!==null&&typeof t.attributes==`object`&&(r.attributes=t.attributes),Array.isArray(t.changes)&&(r.changes=t.changes),t.writer!==void 0&&t.writer!==null&&typeof t.writer==`object`&&(r.writer=t.writer),typeof t.allowReservedAttributes==`boolean`&&(r.allowReservedAttributes=t.allowReservedAttributes),typeof t.encryptionPublicKey==`string`&&(r.encryptionPublicKey=t.encryptionPublicKey),t.dynamicWorkflowCode instanceof Uint8Array&&(r.dynamicWorkflowCode=t.dynamicWorkflowCode),typeof t.dynamicWorkflowCodeRef==`string`&&(r.dynamicWorkflowCodeRef=t.dynamicWorkflowCodeRef),typeof t.ttfs==`number`&&(r.ttfs=t.ttfs),typeof t.stso==`number`&&(r.stso=t.stso),typeof t.stepCount==`number`&&Number.isSafeInteger(t.stepCount)&&t.stepCount>0&&(r.stepCount=t.stepCount),typeof t.eventCount==`number`&&Number.isSafeInteger(t.eventCount)&&t.eventCount>0&&(r.eventCount=t.eventCount),typeof t.rsfs==`number`&&(r.rsfs=t.rsfs),typeof t.finalSchedulingReplay==`number`&&(r.finalSchedulingReplay=t.finalSchedulingReplay),Array.isArray(t.optimizations)&&t.optimizations.every(e=>typeof e==`string`)&&(r.optimizations=t.optimizations);let i;if(n&&n in t){let r=t[n];if(r!==void 0){if(!(r instanceof Uint8Array))throw TypeError(`world-vercel v4: eventData.${n} for ${e.eventType} must be a Uint8Array (the runtime's dehydrated wire form); got ${typeof r==`object`?r===null?`null`:r.constructor?.name??typeof r:typeof r}.`);i=r}}return{payload:i,meta:r}}async function cm(e,t,n,r){return kp(e,t,n?.resolveData===`none`?`lazy`:`resolve`,r)}async function lm(e,t){let{pagination:n,resolveData:r=`all`}=e,i={...n,remoteRefBehavior:r===`none`?`lazy`:r===`skip-step-inputs`?`skip-step-inputs`:`resolve`},a=await(`correlationId`in e?Hp(e.correlationId,e.runId,i,t):Vp(e.runId,i,t));return{data:`correlationId`in e?a.events.filter(t=>t.runId===e.runId):a.events,cursor:a.cursor,hasMore:a.hasMore}}async function um(e,t,n,r){if(t.length===0)throw new D(`world-vercel: createBatch requires at least one event`,{status:400});if(t.some(({event:e})=>e.eventType===`hook_received`))throw new D(`world-vercel: hook_received cannot be batched (it has no entity condition, so a batch retry would append the delivery twice); send it through the single-event path`,{status:400});let i=t.map(({event:t,occurredAt:r,computeInstanceId:i})=>{let{payload:a,meta:o}=sm(t);return{runId:e,eventType:t.eventType,specVersion:t.specVersion??2,...t.correlationId?{correlationId:t.correlationId}:{},occurredAt:r??new Date,...i===void 0?{}:{computeInstanceId:i},remoteRefBehavior:n?.resolveData===`all`?`resolve`:`lazy`,...n?.requestId?{vercelId:n.requestId}:{},payload:a,...o}}),a=t.every(({event:e})=>e.eventType!==`step_started`&&e.eventType!==`step_retrying`);return{results:(await vf(()=>Sp({runId:e,events:i},r),t[0].event.eventType,{batchIdempotent:a})).results.map(e=>e.error===void 0?{status:200,event:e.event,...e.run?{run:e.run}:{},...e.step?{step:e.step}:{},...e.wait?{wait:e.wait}:{}}:{status:e.status,error:e.error,message:e.message})}}async function dm(e,t,n,r){try{let i=await vf(()=>fm(e,t,n,r),t.eventType,{idempotentHookResume:t.eventType===`hook_received`&&n?.resumeId!==void 0&&n?.resumePayloadDigest!==void 0,afterStepBody:n?.afterStepBody===!0});if(t.eventType===`run_created`&&!i.run)throw new D(`${t.eventType} response is missing the run entity`,{code:`SCHEMA_VALIDATION`});if(t.eventType===`run_started`&&!i.run?.startedAt)throw new D(`run_started response is missing run.startedAt`,{code:`SCHEMA_VALIDATION`});if(t.eventType===`step_started`&&!i.step?.startedAt)throw new D(`step_started response is missing step.startedAt`,{code:`SCHEMA_VALIDATION`});return i}catch(e){if(e instanceof tf||e instanceof nf)throw e.error;if(Ee.is(e)&&t.eventType===`hook_received`){let n=t.eventData?.token;throw new Ee(typeof n==`string`?n:e.token,e.claimedByRunId,e.claimedByHookId)}throw h(t.eventType)&&D.is(e)&&e.status===404&&t.correlationId?new Oe(t.correlationId):e}}async function fm(e,t,n,r){if(n?.v1Compat){if(t.eventType===`run_cancelled`&&e)return{run:await tm(e,{...n,resolveData:ie(n.resolveData)},r)};if(t.eventType===`run_created`)return{run:await Jp(t.eventData,r)};if(e===null)throw new D(`world-vercel: v1Compat=true requires a runId for ${t.eventType}`,{status:400});return{event:await W({endpoint:`/v1/runs/${encodeURIComponent(e)}/events`,options:{method:`POST`},data:t,config:r,schema:Zf})}}if(e===null)throw new D(`world-vercel v4: createWorkflowRunEvent requires a client-generated runId for run_created (the runId is part of the payload storage ref key). Generate a wrun_ ULID before calling.`,{status:400});if(t.eventType===`run_created`){let t=am(e);if(t)throw new D(t,{status:400})}let i=om.has(t.eventType)?`resolve`:`lazy`,{payload:a,meta:o}=sm(t),s={runId:e,specVersion:t.specVersion??2,...t.eventType===`run_started`?{executorSpecVersion:r?.mintedSpecVersion??pe()}:{},...t.correlationId?{correlationId:t.correlationId}:{},...n?.requestId?{vercelId:n.requestId}:{},...n?.computeInstanceId?{computeInstanceId:n.computeInstanceId}:{},...n?.eventCount===void 0?{}:{maxSlot:n.eventCount},replayDivergenceCount:n?.replayDivergenceCount,occurredAt:n?.occurredAt??new Date,...n?.sinceCursor?{sinceCursor:n.sinceCursor}:{},...n?.resumeId?{resumeId:n.resumeId}:{},...n?.resumePayloadDigest?{resumePayloadDigest:n.resumePayloadDigest}:{},...n?.viaStepDispatch?{viaStepDispatch:!0}:{},...n?.resolveData===`skip-step-inputs`?{eventsRemoteRefBehavior:`skip-step-inputs`}:{},remoteRefBehavior:i,payload:a,...o};if(t.eventType===`run_started`&&!n?.skipPreload){let e=await bp(s,r,n?.replayEventObserver),t=pm(e.events);if(!t)throw new D(`v4 createEvent: run_started stream is missing lifecycle events`,{code:`SCHEMA_VALIDATION`});return{event:t.event,run:t.run,events:e.events,cursor:e.cursor,hasMore:e.hasMore,maxEvents:e.maxEvents}}if(t.eventType===`hook_received`&&n?.preloadEvents===!0&&n.resumeId!==void 0&&n.resumePayloadDigest!==void 0){let e=await Dp({...s,remoteRefBehavior:`lazy`},r,n.replayEventObserver);if(e.kind===`materialized`)return e.result;let{canonicalEventId:t,maxEvents:i,events:a,cursor:o,hasMore:c}=e,l=a.find(e=>e.eventId===t),u=pm(a);return{...l?{event:l}:{},...u?{run:u.run}:{},events:a,cursor:o,hasMore:c,...i===void 0?{}:{maxEvents:i}}}return hp(t.eventType===`run_started`?{...s,eventType:`run_started`,skipPreload:!0}:{...s,eventType:t.eventType},r)}function pm(e){let t=e.find(e=>e.eventType===`run_created`),n=e.find(e=>e.eventType===`run_started`);if(!t||!n)return;let r=t.eventData.attributes??{},i=n.createdAt;for(let t of e)t.eventType===`attr_set`&&(r=ne(r,t.eventData.changes),i=t.createdAt);return{event:n,run:{runId:t.runId,status:`running`,deploymentId:t.eventData.deploymentId,workflowName:t.eventData.workflowName,specVersion:t.specVersion,executionContext:t.eventData.executionContext,input:t.eventData.input,attributes:r,encryptionPublicKey:t.eventData.encryptionPublicKey,startedAt:n.createdAt,createdAt:t.createdAt,updatedAt:i}}}function mm(e,t){if(t===`none`){let{metadataRef:t,...n}=e;return n}return zf(e)}const hm=Ge.compile(ye.omit({metadata:!0}).extend({metadataRef:Ge.any().optional()}));async function gm(e,t){let{runId:n,pagination:r,resolveData:i=`all`}=e,a=new URLSearchParams;r?.limit&&a.set(`limit`,r.limit.toString()),r?.cursor&&a.set(`cursor`,r.cursor),r?.sortOrder&&a.set(`sortOrder`,r.sortOrder);let o=i===`none`?`lazy`:`resolve`;a.set(`remoteRefBehavior`,o),n&&a.set(`runId`,n);let s=a.toString(),c=await W({endpoint:`/v2/hooks${s?`?${s}`:``}`,options:{method:`GET`},config:t,schema:de(o===`lazy`?hm:ye)});return{...c,data:c.data.map(e=>mm(e,i))}}async function _m(e,t,n){let r=t?.resolveData||`all`;return mm(await W({endpoint:`/v2/hooks/${encodeURIComponent(e)}`,options:{method:`GET`},config:n,schema:ye}),r)}async function vm(e,t){try{return await W({endpoint:`/v2/hooks/by-token?token=${encodeURIComponent(e)}`,options:{method:`GET`},config:t,schema:ye})}catch(t){throw D.is(t)&&t.status===404?new Oe(e):t}}function ym(e){let t={};for(let[n,r]of e)t[n]=r;return t}function bm(e){wi&&console.debug(`[workflow:world-vercel:http] WORLD_SNAPSHOT_DIAG`,e)}function xm(e){return{async save(t,n,r){let i=performance.now(),{baseUrl:a,headers:o}=await U(e),s=`${a}/v2/runs/${encodeURIComponent(t)}/snapshot`,c=ue(r,n);if(c.byteLength>67108864)throw bm({op:`save`,runId:t,outcome:`too_large`,wireBytes:c.byteLength}),new D(`Snapshot for run ${t} is ${c.byteLength} bytes, over the 67108864-byte limit; not uploading`,{url:s});o.set(`Content-Type`,`application/octet-stream`),o.set(`X-Snapshot-Events-Cursor`,r.eventsCursor??``),o.set(`X-Snapshot-Created-At`,r.createdAt.toISOString()),await Br(o);let l=performance.now(),u=await(0,Hn.request)(s,{method:`PUT`,body:c,headers:ym(o),dispatcher:_r(e)}),d=Math.round(performance.now()-l);if(u.statusCode<200||u.statusCode>=300){let e=await u.body.text().catch(()=>``);throw new D(`PUT /v2/runs/${t}/snapshot -> HTTP ${u.statusCode}: ${e}`,{url:s,status:u.statusCode})}await u.body.text(),bm({op:`save`,runId:t,wireBytes:c.byteLength,putDurationMs:d,totalDurationMs:Math.round(performance.now()-i)})},async load(t){let n=performance.now(),{baseUrl:r,headers:i}=await U(e),a=`${r}/v2/runs/${encodeURIComponent(t)}/snapshot`;i.set(`Accept`,`application/octet-stream`),await Br(i);let o=performance.now(),s=await fetch(a,{method:`GET`,headers:i,dispatcher:_r(e)}),c=Math.round(performance.now()-o);if(s.status===404)return await s.text().catch(()=>{}),bm({op:`load`,runId:t,outcome:`not_found`,getDurationMs:c,totalDurationMs:Math.round(performance.now()-n)}),null;if(!s.ok){let e=await s.text().catch(()=>``);throw new D(`GET /v2/runs/${t}/snapshot -> HTTP ${s.status}: ${e}`,{url:a,status:s.status})}let l=await s.arrayBuffer(),u=new Uint8Array(l),d=te(u);return bm({op:`load`,runId:t,outcome:d?`ok`:`undecodable_envelope`,wireBytes:u.byteLength,getDurationMs:c,totalDurationMs:Math.round(performance.now()-n)}),d},async delete(t){let{baseUrl:n,headers:r}=await U(e),i=`${n}/v2/runs/${encodeURIComponent(t)}/snapshot`;await Br(r);let a=await fetch(i,{method:`DELETE`,headers:r,dispatcher:_r(e)});if(!a.ok&&a.status!==404){let e=await a.text().catch(()=>``);throw new D(`DELETE /v2/runs/${t}/snapshot -> HTTP ${a.status}: ${e}`,{url:i,status:a.status})}await a.text()}}}function Sm(e){let t=xm(e),n={runs:{get:((t,n)=>Yp(t,n,e)),waitForTerminalStatus:((t,n)=>$p(t,n,e)),getMany:((t,n)=>em(t,n,e)),list:(t=>qp(t,e)),experimentalSetAttributes:(t,n,r)=>im(t,n,r,e),cancelMany:t=>nm(t,e)},steps:{get:((t,n,r)=>Gf(t,n,r,e)),list:(t=>Wf(t,e))},events:{create:(t,n,r)=>dm(t,n,r,e),createBatch:(t,n,r)=>um(t,n,r,e),get:(t,n,r)=>cm(t,n,r,e),list:t=>lm(t,e),listByCorrelationId:t=>lm(t,e)},hooks:{get:(t,n)=>_m(t,n,e),getByToken:t=>vm(t,e),list:t=>gm(t,e)},experimental_snapshots:t};return{runs:Ha(`world.runs`,n.runs),steps:Ha(`world.steps`,n.steps),events:Ha(`world.events`,n.events),hooks:Ha(`world.hooks`,n.hooks),experimental_snapshots:Ha(`world.experimental_snapshots`,t)}}const Cm=1e3;function wm(e){let t=new TextEncoder;return e.map(e=>typeof e==`string`?t.encode(e):e)}function Tm(e){return Em(wm(e))}function Em(e){let t=0;for(let n of e)if(t+=4+n.length,t>4294967295)throw RangeError(`encoded stream chunks exceed the u32 body-length limit: ${t} bytes`);let n=new Uint8Array(t),r=new DataView(n.buffer),i=0;for(let t of e)r.setUint32(i,t.length,!1),i+=4,n.set(t,i),i+=t.length;return n}const Dm=Cm,Om=O.number().int().nonnegative(),km=Om,Am=O.string().regex(/^wrtr_[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$/),jm=O.object({type:O.literal(`write`),reqId:km,chunkSeq:Om,numChunks:O.number().int().positive().max(Dm)}),Mm=O.object({type:O.literal(`close`),reqId:km});O.discriminatedUnion(`type`,[jm,Mm]);const Nm=O.object({type:O.literal(`write_ack`),reqId:km}),Pm=O.object({type:O.literal(`close_ack`),reqId:km}),Fm=O.object({type:O.literal(`error`),reqId:km.optional(),status:O.number().int(),message:O.string().optional(),retryAfter:O.string().optional()}),Im=O.object({type:O.literal(`drain`),reason:O.enum([`auth_expiry`,`max_duration`]),graceMs:Om}),Lm=O.discriminatedUnion(`type`,[Nm,Pm,Fm,Im]);function Rm(e,t,n,r){let i=Am.parse(r),a=new URL(e);return a.protocol=a.protocol===`https:`?`wss:`:`ws:`,a.pathname=`${a.pathname.replace(/\/$/,``)}/websockets/v1/runs/${encodeURIComponent(t)}/streams/${encodeURIComponent(n)}`,a.search=new URLSearchParams({writerId:i}).toString(),a}function zm(e,t){let n=jm.parse(e);if(n.numChunks!==t.length)throw Error(`stream WebSocket write declares ${n.numChunks} chunks but received ${t.length}`);let r=wm(t);for(let e of r){let t=e.byteLength;if(t>10485760)throw Error(`stream WebSocket chunk is ${t} bytes; maximum is 10485760`)}return Sf(n,Em(r))}function Bm(e,t,n){let r=Math.min(e.length,t+Dm),i=132+e[t].byteLength,a=t+1;for(;a<r&&(i+=4+e[a].byteLength,!(i>n));)a++;return a}function Vm(e){return Sf(Mm.parse(e),new Uint8Array)}function Hm(e,t){if(t.byteLength!==0)throw Error(`stream WebSocket reply body must be empty`);return Lm.parse(e)}const Um=[`frame-parts`];function Wm(){return oe(`WORKFLOW_WS_MAX_MESSAGE_BYTES`,12582912,{min:2097152,max:16777216,integer:!0})}function Gm(e,t,n){let r=Sf(e,t);if(r.byteLength<=n)return[r];if(t.byteLength>268435456)throw new Ym(`ws frame body of ${t.byteLength} bytes is over the ${Zm}-byte limit for a split frame`);let i=e.reqId;if(!$m(i))throw Error(`ws frame of ${r.byteLength} bytes exceeds the ${n}-byte message limit and has no reqId to split it under`);let a=t.byteLength+1,o=Sf({...e,partIndex:0,partCount:a},Km).byteLength,s=Sf(Jm(i,a,a),Km).byteLength,c=n-o,l=n-s;if(c<=0||l<=0)throw Error(`ws frame meta does not fit in the ${n}-byte message limit`);let u=t.byteLength-c,d=1+Math.ceil(u/l);if(d>257)throw Error(`ws frame of ${r.byteLength} bytes needs ${d} parts at a ${n}-byte message limit; at most 257 are allowed`);let f=[Sf({...e,partIndex:0,partCount:d},t.subarray(0,c))];for(let e=1;e<d;e++){let n=c+(e-1)*l;f.push(Sf(Jm(i,e,d),t.subarray(n,Math.min(n+l,t.byteLength))))}return f}const Km=new Uint8Array;function qm(e,t){if(e.byteLength<=t)return[e];let{meta:n,body:r}=Cf(e);return Gm(n,r,t)}function Jm(e,t,n){return{type:`part`,reqId:e,partIndex:t,partCount:n}}var Ym=class extends Error{name=`WsFrameTooLargeError`},Xm=class extends Error{name=`WsPartProtocolError`};const Zm=268435456;var Qm=class{open=new Map;maxFrameBytes;maxBodyBytes;onTooLarge;maxOpenFrames;maxPartCount;wanted;onDiscarded;constructor(e={}){this.maxFrameBytes=e.maxFrameBytes??268435456,this.maxBodyBytes=Math.min(e.maxBodyBytes??this.maxFrameBytes,this.maxFrameBytes),this.onTooLarge=e.onTooLarge??(()=>{}),this.maxOpenFrames=e.maxOpenFrames??1,this.maxPartCount=e.maxPartCount??257,this.wanted=e.wanted??(()=>!0),this.onDiscarded=e.onDiscarded??(()=>{})}accept(e){let{meta:t,body:n}=e;if(t.type===`part`)return this.continue(t,n);let{reqId:r,partIndex:i,partCount:a}=t;if(!(`partIndex`in t)&&!(`partCount`in t)){if($m(r)&&this.open.has(r))throw new Xm(`whole frame for reqId ${r} while its split frame is open`);return e}if(!$m(r))throw new Xm(`first part has no valid reqId`);if(i!==0)throw new Xm(`first part for reqId ${r} has partIndex ${String(i)}, expected 0`);if(!eh(a)||a>this.maxPartCount)throw new Xm(`first part for reqId ${r} has invalid partCount ${String(a)} (2..${this.maxPartCount})`);if(this.open.has(r))throw new Xm(`second first part for reqId ${r} while one is open`);if(this.open.size>=this.maxOpenFrames)throw new Xm(`more than ${this.maxOpenFrames} split frames open at once`);let{partIndex:o,partCount:s,...c}=t,l={meta:c,partCount:a,nextIndex:1,chunks:[],bytes:0,discard:!this.wanted(r),tooLarge:!1};this.open.set(r,l),this.addChunk(r,l,n)}get openFrames(){return this.open.size}continue(e,t){let n=Object.keys(e);if(n.length!==4||!(`reqId`in e)||!(`partIndex`in e)||!(`partCount`in e))throw new Xm(`continuation part must have exactly type, reqId, partIndex and partCount, got ${n.join(`, `)}`);let{reqId:r,partIndex:i,partCount:a}=e;if(!$m(r))throw new Xm(`continuation part has no valid reqId`);let o=this.open.get(r);if(!o)throw new Xm(`continuation part for reqId ${r} with no open frame`);if(a!==o.partCount)throw new Xm(`continuation part for reqId ${r} has partCount ${String(a)}, expected ${o.partCount}`);if(i!==o.nextIndex)throw new Xm(`continuation part for reqId ${r} has partIndex ${String(i)}, expected ${o.nextIndex}`);let s=o.nextIndex===o.partCount-1;if(this.addChunk(r,o,t),o.nextIndex++,!s)return;if(this.close(r),o.tooLarge){this.onTooLarge(r,o.bytes);return}if(o.discard){this.onDiscarded(r);return}let c=new Uint8Array(o.bytes),l=0;for(let e of o.chunks)c.set(e,l),l+=e.byteLength;return{meta:o.meta,body:c}}addChunk(e,t,n){if(t.bytes+n.byteLength>this.maxFrameBytes)throw this.close(e),new Xm(`frame for reqId ${e} exceeds ${this.maxFrameBytes} bytes`);t.bytes+=n.byteLength,!t.discard&&t.bytes>this.maxBodyBytes&&(t.discard=!0,t.tooLarge=!0,t.chunks=[]),!t.discard&&t.chunks.push(n.slice())}close(e){this.open.delete(e)}};function $m(e){return typeof e==`number`&&Number.isInteger(e)&&e>=0}function eh(e){return typeof e==`number`&&Number.isInteger(e)&&e>=2}function th(e,t){if(e.readyState===3)return;let r=!1,i=new Promise(t=>{let n=!1,i=()=>{n||(n=!0,clearTimeout(a),t())},a=setTimeout(()=>{r=!0,i()},250);a.unref?.(),e.once(`close`,i)}),a=Rr(`workflow.stream.ws.close.cleanup`,async e=>{await i,e?.setAttribute(`workflow.stream.ws.close_cleanup_timeout`,r)});import(`../../_chunks/workflow/functions-CKkqf9V6.js`).then(e=>n(e.default,1)).then(({waitUntil:e})=>e(a)).catch(()=>{}),a.catch(()=>{}),e.close(1e3,t)}function nh(){return performance.now()}function rh(e,t,n){return e?{"workflow.stream.ws.session_first_write":e.sessionFirstWrite,"workflow.stream.ws.connection_first_write":t?.firstWriteSent===!1,"workflow.stream.ws.connection_attempt":t?.attempt??0,"workflow.stream.ws.session_to_write_ms":e.startedAt-n}:{}}function ih(e,t,n){n&&(n.firstWriteSent=!0);let r=n?.openedAt,i=n?.socketStartedAt,a=n?.configFinishedAt;e?.setAttributes({"workflow.stream.ws.write_wait_for_open_ms":r?Math.max(0,r-t.startedAt):0,...i&&a?{"workflow.stream.ws.connect_setup_ms":i-a}:{},...i&&r?{"workflow.stream.ws.connect_ms":r-i}:{},...a&&n?{"workflow.stream.ws.config_token_ms":a-n.configStartedAt}:{}})}function ah(e,t,n,r){let i=nh();r.sentAt=i,e?.setAttributes({"workflow.stream.ws.write_to_send_ms":i-t.startedAt,...n?.openedAt?{"workflow.stream.ws.open_to_send_ms":Math.max(0,i-n.openedAt)}:{}})}function oh(e,t,n){if(n?.sentAt===void 0||n.replyReceivedAt===void 0)return;let r=nh();e?.setAttributes({"workflow.stream.ws.send_to_reply_ms":n.replyReceivedAt-n.sentAt,"workflow.stream.ws.reply_processing_ms":r-n.replyReceivedAt,"workflow.stream.ws.write_total_ms":r-t.startedAt})}function sh(e){return e.get(`authorization`)}var ch=class extends Error{constructor(e){super(e instanceof Error?e.message:String(e),{cause:e}),this.name=`StreamWsRequestNotSentError`}},lh=class extends Error{retryAfter;constructor(e,t){super(e),this.retryAfter=t,this.name=`StreamWsThrottledError`}},uh=class extends Error{constructor(e){super(e),this.name=`StreamWsCloseRetriableError`}};function dh(e){return e instanceof Uint8Array?e:typeof e==`string`?new TextEncoder().encode(e):new Uint8Array(e)}var fh=class{runId;name;writerId;config;writeHttp;closeHttp;connectAfterFirstWrite;mode=`connecting`;socket;connect=Promise.resolve();transportDecision=Promise.resolve();tail=Promise.resolve();inbound=Promise.resolve();nextReqId=1;pending;poisonError;throttledSocket;terminated=new AbortController;wsUrl;closeAcknowledged=!1;idleReconnects=0;drainReason;drainTimer;releaseDrainWait;lastAuthorization=null;sessionCreatedAt=nh();sessionHasWrite=!1;connectionAttempt=0;connectionTiming;constructor(e,t,n,r,i,a,o){this.runId=e,this.name=t,this.writerId=n,this.config=r,this.writeHttp=i,this.closeHttp=a,this.connectAfterFirstWrite=o,o?this.mode=`deferred`:this.startInitialConnect()}write(e,t){let n={startedAt:nh(),sessionFirstWrite:!this.sessionHasWrite};return this.sessionHasWrite=!0,this.enqueue(()=>this.writeInternal(e,t,n))}async writeInternal(e,t,n){if(this.assertUsable(),this.mode===`deferred`){await this.writeFirstGroup(t,n);return}if(this.mode===`waiting_to_connect`){await this.writeSecondGroupAndStartConnect(t,n);return}if(this.shouldWriteHttpWhileConnecting()){await this.writeWhileInitialConnectRuns(t,n);return}if(await this.transportDecision,this.assertUsable(),this.mode===`http`){await this.writeHttpOrFail(t);return}let r=Wm(),i=wm(t);for(let a=0;a<t.length;){let o=Bm(i,a,r),s=i.slice(a,o),c;try{c=await this.requestRetryingThrottle(`write`,t=>zm({type:`write`,reqId:t,chunkSeq:e+a,numChunks:s.length},s),a===0?n:void 0,{chunkSeq:e+a,numChunks:s.length},r)}catch(e){if(!(e instanceof ch))throw e;this.fallbackToHttpBeforeSend(),await this.writeHttpOrFail(t.slice(a));return}if(c.type!==`write_ack`)throw this.poison(Error(`stream WebSocket write received ${c.type}`));a=o}}async writeHttpOrFail(e){try{await this.writeHttp(e)}catch(e){throw this.failUnknown(e),this.poisonError}}shouldWriteHttpWhileConnecting(){return this.mode===`connecting`&&this.connectionAttempt===1}async writeWhileInitialConnectRuns(e,t){try{await this.writeHttp(e,{"workflow.stream.ws.session_first_write":t.sessionFirstWrite,"workflow.stream.ws.connection_attempt":this.connectionAttempt,"workflow.stream.ws.connecting_at_write":!0,"workflow.stream.ws.session_to_write_ms":t.startedAt-this.sessionCreatedAt})}catch(e){throw this.failUnknown(e),this.poisonError}}async writeSecondGroupAndStartConnect(e,t){try{await this.writeHttp(e,{"workflow.stream.ws.session_first_write":t.sessionFirstWrite,"workflow.stream.ws.connection_attempt":0,"workflow.stream.ws.connecting_at_write":!1,"workflow.stream.ws.connect_after_http_group":2,"workflow.stream.ws.session_to_write_ms":t.startedAt-this.sessionCreatedAt},()=>{this.mode===`waiting_to_connect`&&this.startInitialConnect()})}catch(e){throw this.failUnknown(e),this.poisonError}}async writeFirstGroup(e,t){try{await this.writeHttp(e,{"workflow.stream.ws.session_first_write":t.sessionFirstWrite,"workflow.stream.ws.connection_attempt":0,"workflow.stream.ws.connecting_at_write":!1,"workflow.stream.ws.connect_deferred_at_write":!0,"workflow.stream.ws.http_group_ordinal":1,"workflow.stream.ws.session_to_write_ms":t.startedAt-this.sessionCreatedAt})}catch(e){throw this.failUnknown(e),this.poisonError}this.mode===`deferred`&&(this.mode=`waiting_to_connect`)}release(){return this.enqueue(async()=>{this.mode!==`closed`&&this.mode!==`poisoned`&&this.fallbackToHttpBeforeSend(`stream writer released`)})}dispose(){if(this.mode===`closed`)return;this.mode=`closed`,this.terminated.abort(),this.finishDrainWait();let e=this.pending;this.pending=void 0,e&&(clearTimeout(e.timer),e.reject(Error(`stream writer transport disposed`))),this.socket?.close(1e3,`stream writer disposed`)}close(){return this.enqueue(async()=>{if(this.assertUsable(),this.mode===`deferred`||this.mode===`waiting_to_connect`||this.connectAfterFirstWrite&&this.mode===`connecting`&&this.connectionAttempt===1){await this.closeHttp(),this.mode=`closed`,this.socket?.close(1e3,`stream closed over HTTP`);return}if(await this.transportDecision,this.assertUsable(),this.mode===`http`){await this.closeHttp(),this.mode=`closed`;return}await this.closeOverWs()})}async closeOverWs(){let e;try{e=await this.requestRetryingThrottle(`close`,e=>Vm({type:`close`,reqId:e}))}catch(e){if(!(e instanceof ch||e instanceof uh))throw e;this.fallbackToHttpBeforeSend(),await this.closeHttp(),this.mode=`closed`;return}if(e.type!==`close_ack`)throw this.poison(Error(`stream WebSocket close received ${e.type}`));this.mode=`closed`,this.socket&&th(this.socket,`stream closed`)}enqueue(e){let t=this.tail.then(e);return this.tail=t.catch(()=>{}),t}assertUsable(){if(this.mode===`poisoned`)throw this.poisonError;if(this.mode===`closed`)throw Error(`stream writer is closed`)}startInitialConnect(){this.mode=`connecting`,this.connect=this.startConnect(),this.transportDecision=this.makeTransportDecision(!1)}makeTransportDecision(e){return new Promise(t=>{let n=!1,r=()=>{n||(n=!0,clearTimeout(i),t())},i=setTimeout(()=>{this.mode===`connecting`&&(this.mode=`http`,this.socket?.close(1e3,`connect budget expired`)),r()},e?250:1e4);i.unref?.(),this.connect.then(r)})}startConnect(e=!1){let t=nh(),n={attempt:++this.connectionAttempt,configStartedAt:t,firstWriteSent:!1};return this.connectionTiming=n,this.connectSocket(e,n).catch(()=>{this.mode===`connecting`&&(this.mode=`http`)})}async connectSocket(e,t){if(!Od()){this.mode=`http`;return}e&&await(0,dt.getVercelOidcToken)({expirationBufferMs:864e5}).catch(()=>void 0);let n=U(this.config).then(e=>(t.configFinishedAt=nh(),e)),[{WebSocket:r},i]=await Promise.all([import(`../../_chunks/workflow/wrapper-Dq4OeGmJ.js`).then(e=>(e.n(),e.r)),n]);if(this.mode!==`connecting`)return;if(e&&sh(i.headers)===this.lastAuthorization){this.mode=`http`;return}if(this.lastAuthorization=sh(i.headers),i.usingProxy){this.mode=`http`;return}if(this.mode!==`connecting`)return;let a=Rm(i.baseUrl,this.runId,this.name,this.writerId);this.wsUrl=a.toString(),await Li({method:`GET`,url:this.wsUrl,spanName:`workflow.stream.ws.connect`,attributes:{"workflow.stream.transport":`ws`}},async()=>{if(await Br(i.headers),this.mode!==`connecting`)return;t.socketStartedAt=nh();let e=new r(a,{headers:ji(i.headers)});this.socket=e,e.binaryType=`nodebuffer`,await new Promise(n=>{let r=!1,i=()=>{r||(this.mode===`connecting`&&(this.mode=`http`),n())};e.once(`open`,()=>{if(r=!0,t.openedAt=nh(),this.mode!==`connecting`){e.close(1e3,`HTTP fallback selected`),n();return}this.mode=`ws`,n()}),e.once(`unexpected-response`,(t,n)=>{let r=n;r.resume?.(),r.destroy?.(),e.close(1e3,`upgrade declined`),i()}),e.once(`error`,t=>{if(!r){i();return}this.inbound.then(()=>{if(e===this.socket){if(this.isIdleThrottledSocket(e)){this.leaveThrottledSocketForHttp();return}this.failUnknown(t)}})}),e.once(`close`,t=>{if(!r){i();return}this.inbound.then(()=>this.handleSocketClose(Number(t),e))}),e.on(`message`,e=>{let t=nh();this.inbound=this.inbound.then(()=>this.handleMessage(dh(e),t))})})})}async handleMessage(e,t){try{let n=Cf(e),r=Hm(n.meta,n.body);if(r.type===`drain`){this.handleDrain(r.reason,r.graceMs);return}let i=this.pending;if(!i||r.reqId===void 0||r.reqId!==i.reqId)throw r.type===`error`?Error(`stream WebSocket connection failed (${r.status}): ${r.message??`unknown error`}`):Error(`stream WebSocket reply cannot be correlated`);this.pending=void 0,i.replyReceivedAt=t,clearTimeout(i.timer),r.type===`close_ack`&&(this.closeAcknowledged=!0),r.type===`error`?i.reject(this.requestError(i,r)):(r.type===`write_ack`&&(this.idleReconnects=0),i.resolve(r))}catch(e){this.failUnknown(e)}}handleDrain(e,t){if(this.mode===`draining`){e===`auth_expiry`&&(this.drainReason=e);return}if(this.mode!==`ws`)return;this.mode=`draining`,this.drainReason=e,this.transportDecision=new Promise(e=>{this.releaseDrainWait=e});let n=this.socket;this.drainTimer=setTimeout(()=>{if(this.drainTimer=void 0,this.mode===`draining`&&n===this.socket){if(this.pending){this.failUnknown(Error(`stream WebSocket drain expired before request reply`));return}n?.close(1001,`stream drain grace expired`),this.handleSocketClose(1001,n)}},Math.min(t,2147483647)),this.drainTimer.unref?.()}handleSocketClose(e,t=this.socket){if(t===this.socket&&(this.drainTimer&&=(clearTimeout(this.drainTimer),void 0),!(this.mode===`closed`||this.mode===`http`||this.mode===`poisoned`||this.closeAcknowledged))){if(this.pending){this.failUnknown(Error(`stream WebSocket closed before reply`));return}if(t&&this.isIdleThrottledSocket(t)&&this.mode===`ws`){this.leaveThrottledSocketForHttp();return}if(this.mode===`draining`&&e!==1001){this.drainReason=void 0,this.mode=`http`,this.socket=void 0,this.finishDrainWait();return}if(this.mode===`draining`){let e=this.drainReason===`auth_expiry`;if(this.drainReason=void 0,this.idleReconnects>=3){this.mode=`http`,this.socket=void 0,this.finishDrainWait();return}this.idleReconnects++,this.mode=`connecting`,this.socket=void 0,this.connect=this.startConnect(e);let t=this.makeTransportDecision(!0);this.transportDecision=t,t.then(()=>this.finishDrainWait());return}if(this.idleReconnects>=3){this.mode=`http`,this.socket=void 0;return}this.idleReconnects++,this.mode=`connecting`,this.socket=void 0,this.connect=this.startConnect(),this.transportDecision=this.makeTransportDecision(!0)}}async request(e,t,n,r,i=Wm()){this.assertUsable();let a=this.socket;if(this.mode!==`ws`||!a||a.readyState!==1)throw new ch(Error(`stream WebSocket is not open before send`));let o=this.nextReqId++,s;try{s=t(o)}catch(e){throw new ch(e)}if(s.byteLength>i)throw new ch(Error(`stream WebSocket message is ${s.byteLength} bytes; maximum is ${i}`));let c=this.connectionTiming,l=c?.firstWriteSent===!1,u=n&&(n.sessionFirstWrite||l)?n:void 0;return Li({method:`POST`,url:this.wsUrl??`ws://unknown`,spanName:`workflow.stream.write`,attributes:{"workflow.stream.transport":`ws`,"workflow.stream.ws.req_id":o,...r?{"workflow.stream.ws.chunk_seq":r.chunkSeq,"workflow.stream.ws.num_chunks":r.numChunks}:{},...rh(u,c,this.sessionCreatedAt)}},async t=>{u&&ih(t,u,c);let n,r=new Promise((r,i)=>{let l=setTimeout(()=>{this.failUnknown(Error(`stream WebSocket request ${o} timed out with no reply`))},Ci());l.unref?.(),n={reqId:o,operation:e,resolve:r,reject:i,timer:l},this.pending=n;try{u&&ah(t,u,c,n),a.send(s,e=>{e&&this.failUnknown(e)})}catch(e){this.failUnknown(e)}});try{return await r}finally{u&&oh(t,u,n)}})}finishDrainWait(){this.drainTimer&&=(clearTimeout(this.drainTimer),void 0);let e=this.releaseDrainWait;this.releaseDrainWait=void 0,e?.()}fallbackToHttpBeforeSend(e=`HTTP fallback before send`){this.mode=`http`,this.drainReason=void 0;let t=this.socket;this.socket=void 0,this.transportDecision=Promise.resolve(),this.finishDrainWait(),t&&th(t,e)}requestError(e,t){let n=`(${t.status}): ${t.message??`unknown error`}`;if(t.status===429)return this.throttledSocket=this.socket,new lh(`stream WebSocket ${e.operation} throttled ${n}`,Ai(t.retryAfter));if(e.operation===`close`&&t.status>=500&&t.status<=599)return this.fallbackToHttpBeforeSend(`stream close retried over HTTP`),new uh(`stream WebSocket close failed ${n}`);let r=this.poison(Error(`stream WebSocket request failed ${n}`));return this.socket?.close(1011,`stream request failed`),r}async requestRetryingThrottle(e,t,n,r,i){let a=hf(e===`write`?`writing stream chunks`:`writing stream close`,`bounded`);for(let o=0;;o++)try{return await this.request(e,t,o===0?n:void 0,r,i)}catch(e){if(!(e instanceof lh))throw e;await this.waitOutThrottle(a,e)}}async waitOutThrottle(e,t){try{await e(t,this.terminated.signal)}catch{throw this.assertUsable(),this.fallbackToHttpBeforeSend(`stream request throttled`),new ch(t)}finally{this.throttledSocket=void 0}await this.transportDecision,this.assertUsable()}isIdleThrottledSocket(e){return!this.pending&&e===this.throttledSocket&&e===this.socket}leaveThrottledSocketForHttp(){this.drainReason=void 0,this.mode=`http`,this.socket=void 0,this.finishDrainWait()}failUnknown(e){let t=this.poison(e);this.finishDrainWait();let n=this.pending;this.pending=void 0,n&&(clearTimeout(n.timer),n.reject(t)),this.socket?.close(1011,`unknown stream write outcome`)}poison(e){return this.mode!==`poisoned`&&(this.mode=`poisoned`,this.poisonError=e,this.terminated.abort()),this.poisonError}};function ph(e,t,n,r,i,a,o=!0){return new fh(e,t,Am.parse(n),r,i,a,o)}const mh=()=>oe(`WORKFLOW_MAX_CHUNKS_PER_REQUEST`,1e3,{integer:!0,min:1});function hh(e,t,n){return new URL(`${n.baseUrl}/v2/runs/${encodeURIComponent(t)}/stream/${encodeURIComponent(e)}`)}function gh(e,t,n){return new URL(`${n.baseUrl}/v3/runs/${encodeURIComponent(t)}/stream/${encodeURIComponent(e)}`)}function _h(e){return{...ei(e.runId),...ni(e.name),...ri(e.operation),...typeof e.startIndex==`number`?ii(e.startIndex):{}}}async function vh(e){let t=`Failed to fetch stream: ${e.status}`;if(e.status!==410)return new E(t,{status:e.status});try{let n=await e.json();return Mi(e.status,typeof n.message==`string`?n.message:t,{code:n.error,details:n.details})}catch{return new E(t,{status:e.status})}}function yh(e,t){return D.is(t)||De.is(t)||Ce.is(t)||E.is(t)||Ae.is(t)||Se.is(t)||je.is(t)||Te.is(t)?t:new E(e,{cause:t})}function bh(e,t,n,r){let i=[`PUT ${t.origin}${t.pathname}`,...Ei(n.headers)];return new E(`Stream ${e} failed: HTTP ${n.status} (${i.join(`; `)}): ${r}`,{url:t.toString(),status:n.status})}const xh=O.compile(O.object({tailIndex:O.number(),done:O.boolean()})),Sh=O.compile(O.object({data:O.array(O.object({index:O.number(),data:O.instanceof(Uint8Array)})),cursor:O.string().nullable(),hasMore:O.boolean(),done:O.boolean()}));async function Ch(e,t,n,r,i,a){let o=await U(r);o.headers.set(`X-Stream-Multi`,`true`);let s=Math.min(mh(),Cm);for(let c=0;c<n.length;c+=s){let l=hh(t,e,o);await(await zi({method:`PUT`,url:l.toString(),body:Tm(n.slice(c,c+s)),headers:o.headers,dispatcher:br(r),timeoutMs:null,logLabel:l.pathname,spanName:`workflow.stream.write`,durationAttribute:`workflow.stream.write.chunk_rtt`,onRequestDispatched:c===0?a:void 0,attributes:{..._h({runId:e,name:t,operation:`write_multi`}),...c===0?i:void 0},buildError:async e=>bh(`write`,l,e,await e.text())})).text()}}async function wh(e,t,n){let r=await U(n);r.headers.set(`X-Stream-Done`,`true`);let i=hh(t,e,r);await(await zi({method:`PUT`,url:i.toString(),headers:r.headers,dispatcher:xr(n),timeoutMs:null,logLabel:i.pathname,spanName:`workflow.stream.write`,durationAttribute:`workflow.stream.write.chunk_rtt`,attributes:_h({runId:e,name:t,operation:`close`}),buildError:async e=>bh(`close`,i,e,await e.text())})).text()}function Th(e){return{streams:{...Od()&&!Ki(e).usingProxy?{createWriteSession(t,n,{writerId:r}){return ph(t,n,r,e,(r,i,a)=>Ch(t,n,r,e,i,a),()=>wh(t,n,e))}}:{},async write(t,n,r){let i=await t,a=await U(e),o=hh(n,i,a);await(await zi({method:`PUT`,url:o.toString(),body:r,headers:a.headers,dispatcher:br(e),timeoutMs:null,transportErrorCode:`STREAM_ERROR`,logLabel:o.pathname,spanName:`workflow.stream.write`,durationAttribute:`workflow.stream.write.chunk_rtt`,attributes:_h({runId:i,name:n,operation:`write`}),buildError:async e=>bh(`write`,o,e,await e.text())})).text()},async writeMulti(t,n,r){if(r.length===0)return;let i=await t,a=await U(e);a.headers.set(`X-Stream-Multi`,`true`);let o=mh();for(let t=0;t<r.length;t+=o){let s=Tm(r.slice(t,t+o)),c=hh(n,i,a);await(await zi({method:`PUT`,url:c.toString(),body:s,headers:a.headers,dispatcher:br(e),timeoutMs:null,transportErrorCode:`STREAM_ERROR`,logLabel:c.pathname,spanName:`workflow.stream.write`,durationAttribute:`workflow.stream.write.chunk_rtt`,attributes:_h({runId:i,name:n,operation:`write_multi`}),buildError:async e=>bh(`write`,c,e,await e.text())})).text()}},async close(t,n){let r=await t,i=await U(e);i.headers.set(`X-Stream-Done`,`true`);let a=hh(n,r,i);await(await zi({method:`PUT`,url:a.toString(),headers:i.headers,dispatcher:xr(e),timeoutMs:null,transportErrorCode:`STREAM_ERROR`,logLabel:a.pathname,spanName:`workflow.stream.write`,durationAttribute:`workflow.stream.write.chunk_rtt`,attributes:_h({runId:r,name:n,operation:`close`}),buildError:async e=>bh(`close`,a,e,await e.text())})).text()},async get(t,n,r){let i=await U(e);i.headers.set(`Accept`,`application/json`);let a=gh(n,t,i);typeof r==`number`&&a.searchParams.set(`startIndex`,String(r));let o=await zi({method:`GET`,url:a.toString(),headers:i.headers,dispatcher:void 0,timeoutMs:null,transportErrorCode:`STREAM_ERROR`,logLabel:a.pathname,spanName:`workflow.stream.read.connect`,attributes:_h({runId:t,name:n,operation:`read`,startIndex:r}),buildError:vh});if(!o.body)throw new E(`No response body for stream`,{url:a.toString()});return o.body},async getChunks(t,n,r){let i=new URLSearchParams;r?.limit!=null&&i.set(`limit`,String(r.limit)),r?.cursor&&i.set(`cursor`,r.cursor);let a=i.toString(),o=`/v2/runs/${encodeURIComponent(t)}/streams/${encodeURIComponent(n)}/chunks${a?`?${a}`:``}`;try{return await W({endpoint:o,config:e,schema:Sh})}catch(e){throw yh(`Failed to read stream chunks for ${n}`,e)}},async getInfo(t,n){let r=`/v2/runs/${encodeURIComponent(t)}/streams/${encodeURIComponent(n)}/info`;try{return await W({endpoint:r,config:e,schema:xh})}catch(e){throw yh(`Failed to read stream info for ${n}`,e)}},async list(t){let n=await U(e),r=new URL(`${n.baseUrl}/v2/runs/${encodeURIComponent(t)}/streams`),i=await zi({method:`GET`,url:r.toString(),headers:n.headers,dispatcher:void 0,timeoutMs:null,transportErrorCode:`STREAM_ERROR`,logLabel:r.pathname,buildError:e=>new E(`Failed to list streams: ${e.status}`,{url:r.toString(),status:e.status})});try{return await i.json()}catch(e){throw yh(`Failed to parse stream list response`,e)}}}}}var Eh=t({WsTransportError:()=>Dh,getWsEventsTransport:()=>Nh,openWsChannel:()=>Fh,resolveWsTransport:()=>Rh,toEventsWsUrl:()=>Ph});He();var Dh=class extends Error{constructor(e,t){super(e,{cause:t?.cause}),this.name=`WsTransportError`}};function Oh(e){for(let[t,n]of Object.entries(e))if(t.toLowerCase()===`authorization`)return n;return null}function kh(e){if(e.byteLength===0)return`(no message)`;let t=new TextDecoder().decode(e);try{let e=JSON.parse(t);return typeof e.message==`string`?e.message:t}catch{return t}}function Ah(e){return e instanceof Error?e.message:String(e)}var jh=class{wsUrl;getHeaders;connection=null;connecting=null;reconnectAttempts=0;reconnectTimer=null;openCount=0;closed=!1;lastDrainReason=null;needsFreshToken=!1;lastAuthorization=null;constructor(e,t){this.wsUrl=e,this.getHeaders=t}async request(e,t={}){if(this.closed)throw new Dh(`workflow-server events WS channel for ${this.wsUrl} is closed`);let n=await this.ensureConnected(),r=n.nextReqId++,i=qm(e(r),Wm());t.onMessages?.(i.length);let a=Ci(),o;try{return{...await new Promise((e,t)=>{n.pending.set(r,{resolve:e,reject:t}),o=setTimeout(()=>{n.pending.delete(r)&&(t(new Dh(`workflow-server events WS request ${r} to ${this.wsUrl} timed out after ${a}ms with no reply`)),this.failConnection(n,`workflow-server events WS connection to ${this.wsUrl} abandoned after request ${r} timed out`))},a),o.unref?.();let s=e=>{e&&n.pending.delete(r)&&t(new Dh(`workflow-server events WS send failed: ${Ah(e)}`,{cause:e}))};for(let e of i)n.ws.send(e,s)}),requestParts:i.length}}finally{o!==void 0&&clearTimeout(o)}}open(){this.closed||(this.openCount++,this.connection===null&&this.connecting===null&&this.ensureConnected().catch(()=>{this.close(`connect failed`)}))}release(e){this.openCount!==0&&(this.openCount--,this.openCount===0&&this.close(e))}close(e){if(this.closed)return;this.closed=!0,this.openCount=0,this.reconnectTimer!==null&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),Mh.transports.get(this.wsUrl)===this&&Mh.transports.delete(this.wsUrl);let t=this.connection;this.connection=null,t?.ws.close(1e3,e)}ensureConnected(){let e=this.connection;return e&&e.ws.readyState===Ue.default.OPEN?Promise.resolve(e):(this.connecting??=this.connectWithSpan().finally(()=>{this.connecting=null}),this.connecting)}async resolveUpgradeHeaders(){let e=this.needsFreshToken,t=await this.getHeaders({forceRefresh:e}),n=Oh(t);if(e&&n===this.lastAuthorization)throw new Dh(`workflow-server events WS connection to ${this.wsUrl} drained for auth expiry, but re-resolving the bearer produced the same token. Not reconnecting with a token the server has already rejected; the next event write will retry.`);this.lastAuthorization=n,this.needsFreshToken=!1;let r=new Headers;return await Br(r),r.forEach((e,n)=>{t[n]=e}),t[`x-workflow-ws-flags`]=Um.join(`, `),t}consumeDrainReason(){let e=this.lastDrainReason;this.lastDrainReason=null,e===`auth_expiry`&&(this.needsFreshToken=!0)}connectWithSpan(){return Li({method:`GET`,url:this.wsUrl,spanName:`workflow.events.ws.connect`,attributes:{...ai(`ws`),...Jr(`websocket`),..._i(this.reconnectAttempts)}},async e=>{try{return await this.connect()}catch(t){throw e?.setAttributes({...qr(`TRANSPORT`)}),t instanceof Error&&e?.recordException?.(t),t}})}connect(){return new Promise((e,t)=>{(async()=>{let n;try{let e=await this.resolveUpgradeHeaders(),t=new Ue.default(this.wsUrl,{headers:e});t.binaryType=`nodebuffer`;let r=new Map;n={ws:t,nextReqId:1,pending:r,parts:new Qm({wanted:e=>r.has(e),onDiscarded:e=>console.error(`world-vercel: ws events transport received a split reply for unknown reqId ${e} from ${this.wsUrl} (already settled); dropping it.`)})}}catch(e){console.error(`world-vercel: ws events transport could not open a connection to ${this.wsUrl}: ${Ah(e)}`),t(e instanceof Dh?e:new Dh(`workflow-server events WS connection to ${this.wsUrl} could not be opened: ${Ah(e)}`,{cause:e}));return}let{ws:r}=n,i=!1;r.on(`open`,()=>{if(i=!0,this.closed){r.close(1e3,`released while connecting`),t(new Dh(`workflow-server events WS connection to ${this.wsUrl} was released while connecting`));return}this.connection=n,this.reconnectAttempts=0,e(n)}),r.on(`message`,e=>{this.handleMessage(n,new Uint8Array(e))}),r.on(`error`,e=>{if(console.error(`world-vercel: ws events transport socket error (${this.wsUrl}): ${Ah(e)}`),!i){t(e);return}r.close()}),r.on(`close`,e=>{this.connection===n&&(this.connection=null),this.consumeDrainReason(),i||t(new Dh(`workflow-server events WS connection to ${this.wsUrl} closed before opening (code ${e})`)),this.failAllPending(n,new Dh(`workflow-server events WS connection closed (code ${e})`)),(i||this.reconnectAttempts>0)&&this.scheduleReconnect(e)})})()})}scheduleReconnect(e){if(this.closed||this.connection!==null||this.reconnectTimer!==null)return;if(this.reconnectAttempts>=5){console.error(`world-vercel: ws events transport giving up eager reconnect to ${this.wsUrl} after 5 attempts (last close code ${e}); the next event write will retry.`);return}let t=Math.min(100*2**this.reconnectAttempts,5e3);this.reconnectAttempts++;let n=setTimeout(()=>{this.reconnectTimer=null,this.ensureConnected().catch(()=>{})},t);n.unref?.(),this.reconnectTimer=n}handleMessage(e,t){let n;try{n=Cf(t)}catch(n){let r=`could not decode a ${t.byteLength}-byte reply frame from ${this.wsUrl}: ${Ah(n)}`;console.error(`world-vercel: ws events transport ${r}`),this.failConnection(e,`workflow-server events WS transport ${r}`);return}let r=this.assemble(e,n);if(r===void 0)return;let{frame:i,parts:a}=r;if(i.meta.type===`drain`){let e=i.meta.reason===`auth_expiry`?`auth_expiry`:`max_duration`;this.lastDrainReason=e,o(`world-vercel: ws events transport received a drain notice (reason: ${e}, graceMs: ${i.meta.graceMs??`unspecified`}); connection will close soon.`);return}let s=i.meta.reqId;if(s===-1){let t=`received a malformed-frame error from ${this.wsUrl} (reserved reqId -1, status ${String(i.meta.status??`unknown`)}): ${kh(i.body)}. The server could not parse a frame this client sent, so the originating write cannot be identified`;console.error(`world-vercel: ws events transport ${t}.`),this.failConnection(e,`workflow-server events WS transport ${t}`);return}if(typeof s!=`number`){let t=`received a reply frame with no numeric reqId from ${this.wsUrl} (type: ${String(i.meta.type??`absent`)})`;console.error(`world-vercel: ws events transport ${t}.`),this.failConnection(e,`workflow-server events WS transport ${t}`);return}let c=e.pending.get(s);if(!c){console.error(`world-vercel: ws events transport received a reply for unknown reqId ${s} from ${this.wsUrl} (already settled, or the request was failed by a send error or its deadline); dropping it.`);return}e.pending.delete(s),c.resolve({meta:i.meta,body:i.body,replyParts:a})}assemble(e,t){let n;try{n=e.parts.accept(t)}catch(t){let n=t instanceof Xm?`received a split reply from ${this.wsUrl} that breaks the part protocol: ${t.message}`:`could not assemble a split reply from ${this.wsUrl}: ${Ah(t)}`;console.error(`world-vercel: ws events transport ${n}`),this.failConnection(e,`workflow-server events WS transport ${n}`);return}if(n===void 0)return;let{type:r,partCount:i}=t.meta;return{frame:n,parts:r===`part`&&typeof i==`number`?i:1}}failAllPending(e,t){for(let n of e.pending.values())n.reject(t);e.pending.clear()}failConnection(e,t){this.failAllPending(e,new Dh(t)),this.connection===e&&(this.connection=null),e.ws.close()}};const Mh=T(`@workflow/world-vercel//wsEventsTransports@${Un}`,1,()=>({transports:new Map,loggedWsProxyFallback:!1,loggedWsInUse:!1}));function Nh(e,t){let n=Mh.transports.get(e);return n||(n=new jh(e,t),Mh.transports.set(e,n)),n}function Ph(e,t){let n=new URL(e);return n.protocol=n.protocol===`https:`?`wss:`:`ws:`,n.pathname=`${n.pathname.replace(/\/$/,``)}/websockets/v1/runs/${encodeURIComponent(t)}`,n.toString()}function Fh(e,t,n={}){if(!Td(n.workflowName))return;let r=Lh(e,t);if(!r)return;Mh.loggedWsInUse||(Mh.loggedWsInUse=!0,o(`world-vercel: using ws events transport (${r}).`));let i=Nh(r,async({forceRefresh:e})=>{e&&await Ih();let{headers:n}=await U(t);return ji(n)});i.open();let a=!1;return()=>{a||(a=!0,i.release(`invocation complete`))}}async function Ih(){try{await(0,dt.getVercelOidcToken)({expirationBufferMs:864e5})}catch{}}function Lh(e,t){let{baseUrl:n,usingProxy:r}=Ki(t);return r?(Mh.loggedWsProxyFallback||(Mh.loggedWsProxyFallback=!0,o(`world-vercel: ws events transport unavailable for a World with projectConfig (api-workflow proxy, resolved baseUrl: ${n}) — falling back to HTTP.`)),null):Ph(n,e)}function Rh(e,t){let n=Lh(e,t);if(!n)return null;let r=Mh.transports.get(n);return r?{transport:r,wsUrl:n}:null}function zh(e){let t=e?.projectConfig?.projectId||process.env.VERCEL_PROJECT_ID,n=pe();return e={...e,mintedSpecVersion:n},{specVersion:n,capabilities:{hookRetention:{active:!0},maxConcurrency:!0,deploymentAffinity:!0,hookForceClaim:!0,dynamicWorkflowCode:!0},validateRunExecutionContext:Ma,getRuntimeDeadline:Na,...Zd(e),...Sm(e),analytics:process.env.WORKFLOW_DISABLE_ANALYTICS_READS===`1`?void 0:_a(e),...Ha(`world.streams`,Th(e)),createRunId:Sa,describeRun:wa,getEnvironment:()=>qi(e),uploadDynamicWorkflowCode:(t,n)=>Ea(t,n,e),getEncryptionKeyForRun:Aa(t,e?.projectConfig?.teamId,e?.token,e?.dispatcher),resolveLatestDeploymentId:ef(e),telemetry:{recordStepExecution:Fd}}}export{ja as MAX_EXECUTION_CONTEXT_BYTES,_a as createAnalytics,Aa as createGetEncryptionKeyForRun,Zd as createQueue,Sa as createRunId,Sm as createStorage,Th as createStreamer,zh as createWorld,Oa as deriveRunKey,wa as describeRun,ka as fetchRunKey,it as n,Fh as openEventsChannel,Ca as regionForRunId,ut as t,Ea as uploadDynamicWorkflowCode,Ma as validateRunExecutionContext};
|
|
45
|
+
Cause: ${t}`)}}buildUrl(e,...t){let n=encodeURIComponent(e),r=t.map(e=>encodeURIComponent(e)),i=r.length>0?`/`+r.join(`/`):``,a=Md(this.baseUrl.pathname);return`${this.baseUrl.origin}${a}${Pd}/${n}${i}`}async fetch(e,t){let n=t.method||`GET`;if(Cd()){let r={method:n,url:e,headers:t.headers},i=t.body;i!=null&&(i instanceof ArrayBuffer||i instanceof Uint8Array?r.bodySize=i.byteLength:typeof i==`string`?r.bodySize=i.length:r.bodyType=typeof i),console.debug(`[VQS Debug] Request:`,JSON.stringify(r,null,2))}t.headers.set(`User-Agent`,`@vercel/queue/0.8.0`),t.headers.set(`Vqs-Client-Ts`,new Date().toISOString());let r=this.dispatcher?{...t,dispatcher:this.dispatcher}:t,i=await fetch(e,r);if(Cd()){let t={method:n,url:e,status:i.status,statusText:i.statusText,headers:i.headers};console.debug(`[VQS Debug] Response:`,JSON.stringify(t,null,2))}return i}async sendMessage(e){let t=this.transport,{queueName:n,payload:r,telemetry:i}=e,a=this.buildMessageHeaders(e,t.contentType);a.set(`Authorization`,`Bearer ${await this.getToken()}`);let o=this.getSendDeploymentId();o&&a.set(`Vqs-Deployment-Id`,o);let s=t.serialize(r),c=Buffer.isBuffer(s)?new Uint8Array(s):s,l=cd(this.telemetry,i);return gd(n,async e=>{await pd(a,l);let t=await this.fetch(this.buildUrl(n),{method:`POST`,body:c,headers:a,...c instanceof ReadableStream&&{duplex:`half`}});if(!t.ok){let e=await Ed(t);if(t.status===502&&t.headers.get(`Vqs-Error-Code`)===`consumer_discovery_failed`)throw new Kl(e.message||`Consumer discovery failed`,o);Dd(e,`send message`)}if(t.status===202)return await t.text(),{messageId:null};let r=await t.json();return e&&r.messageId&&e.setMessageId(r.messageId),r},l)}async sendBatch(e){let t=this.transport,{queueName:n,messages:r,telemetry:i}=e;if(r.length<1||r.length>100)throw RangeError(`Batch size must be between 1 and 100 messages`);let a=new Headers(this.customHeaders);a.set(`Authorization`,`Bearer ${await this.getToken()}`);let o=this.getSendDeploymentId();o&&a.set(`Vqs-Deployment-Id`,o);let s=sd(r.map(e=>({headers:this.buildMessageHeaders(e,t.contentType),body:()=>t.serialize(e.payload)})));a.set(`Content-Type`,s.contentType);let c=cd(this.telemetry,i);return gd(n,async()=>{try{await pd(a,c);let e=await this.fetch(this.buildUrl(n,`batch`),{method:`POST`,body:s.body,headers:a,duplex:`half`});e.ok||Dd(await Ed(e),`send message batch`);let{results:t}=await e.json();if(t.length!==r.length)throw new Ul(`Invalid batch response: expected ${r.length} results, received ${t.length}`);return t}catch(e){throw await s.cancel(e),e}},c)}buildMessageHeaders(e,t){let n=new Headers(this.customHeaders);n.delete(`Authorization`);for(let[t,r]of Object.entries(e.headers??{})){let e=t.toLowerCase();r!==void 0&&e!==`authorization`&&e!==`content-type`&&!e.startsWith(`vqs-`)&&n.set(t,r)}return n.set(`Content-Type`,t),e.idempotencyKey&&n.set(`Vqs-Idempotency-Key`,e.idempotencyKey),e.retentionSeconds!==void 0&&n.set(`Vqs-Retention-Seconds`,e.retentionSeconds.toString()),e.delaySeconds!==void 0&&n.set(`Vqs-Delay-Seconds`,e.delaySeconds.toString()),n}async*receiveMessages(e){let t=this.transport,{queueName:n,consumerGroup:r,visibilityTimeoutSeconds:i,limit:a,cursorFallback:o}=e;if(a!==void 0&&(a<1||a>10))throw new Wl(a);let s=new Headers({Authorization:`Bearer ${await this.getToken()}`,Accept:`multipart/mixed`,...this.customHeaders});i!==void 0&&s.set(`Vqs-Visibility-Timeout-Seconds`,i.toString()),a!==void 0&&s.set(`Vqs-Max-Messages`,a.toString()),o!==void 0&&s.set(`Vqs-Cursor-Fallback`,o);let c=this.getConsumeDeploymentId();c&&s.set(`Vqs-Deployment-Id`,c);let l=await this.fetch(this.buildUrl(n,`consumer`,r),{method:`POST`,headers:s});if(l.status===204){await l.text();return}l.ok||Dd(await Ed(l),`receive messages`);for await(let e of bo(l))try{let n=Od(e.headers);if(!n){console.warn(`Missing required queue headers in multipart part`),await wd(e.payload);continue}let r=await t.deserialize(e.payload);yield{...n,payload:r}}catch(t){console.warn(`Failed to process multipart message:`,t),await wd(e.payload)}}async receiveMessageById(e){let t=this.transport,{queueName:n,consumerGroup:r,messageId:i,visibilityTimeoutSeconds:a}=e,o=new Headers({Authorization:`Bearer ${await this.getToken()}`,Accept:`multipart/mixed`,...this.customHeaders});a!==void 0&&o.set(`Vqs-Visibility-Timeout-Seconds`,a.toString());let s=this.getConsumeDeploymentId();s&&o.set(`Vqs-Deployment-Id`,s);let c=await this.fetch(this.buildUrl(n,`consumer`,r,`id`,i),{method:`POST`,headers:o});if(!c.ok){let e=await Ed(c);if(c.status===404)throw new Pl(i);if(c.status===409)throw e.originalMessageId?new Fl(i,`This message was a duplicate - use originalMessageId: ${e.originalMessageId}`):new Ll(i,Td(c.headers.get(`Retry-After`)));if(c.status===410)throw new Gl(i);Dd(e,`receive message by ID`)}for await(let e of bo(c)){let n=Od(e.headers);if(!n)throw await wd(e.payload),new Il(i,`Missing required queue headers in response`);let r=await t.deserialize(e.payload);return{message:{...n,payload:r}}}throw new Pl(i)}async acknowledgeMessage(e){let{messageId:t,queueName:n,consumerGroup:r,receiptHandle:i}=e,a=new Headers({Authorization:`Bearer ${await this.getToken()}`,...this.customHeaders}),o=this.getConsumeDeploymentId();o&&a.set(`Vqs-Deployment-Id`,o);let s=await this.fetch(this.buildUrl(n,`consumer`,r,`lease`,i),{method:`DELETE`,headers:a});if(!s.ok){let e=await Ed(s);if(s.status===404)throw new Pl(t);if(s.status===409)throw new Fl(t,e.message||`Invalid receipt handle, message not in correct state, or already processed`);Dd(e,`acknowledge message`,`Missing or invalid receipt handle`)}return await s.text(),{acknowledged:!0}}async changeVisibility(e){let{messageId:t,queueName:n,consumerGroup:r,receiptHandle:i,visibilityTimeoutSeconds:a}=e,o=new Headers({Authorization:`Bearer ${await this.getToken()}`,"Content-Type":`application/json`,...this.customHeaders}),s=this.getConsumeDeploymentId();s&&o.set(`Vqs-Deployment-Id`,s);let c=await this.fetch(this.buildUrl(n,`consumer`,r,`lease`,i),{method:`PATCH`,headers:o,body:JSON.stringify({visibilityTimeoutSeconds:a})});if(!c.ok){let e=await Ed(c);if(c.status===404)throw new Pl(t);if(c.status===409)throw new Fl(t,e.message||`Invalid receipt handle, message not in correct state, or already processed`);Dd(e,`change visibility`,`Missing receipt handle or invalid visibility timeout`)}return await c.text(),{success:!0}}},Id=new WeakMap,Ld=Symbol.for(`@vercel/queue.apiClient`);function Rd(e,t){Id.set(e,t),Object.defineProperty(e,Ld,{value:t,writable:!1,enumerable:!1,configurable:!1})}function zd(e){let t=Id.get(e);if(t)return t;let n=e[Ld];if(typeof n==`object`&&n){let t=n;return Id.set(e,t),t}throw Error(`QueueClient not initialized. This may happen when multiple bundled copies of @vercel/queue are loaded in local dev.`)}function Bd(e){return`request`in e?e.request:e}function Vd(e){return e instanceof Gl||e instanceof Error&&e.name===`MessageAlreadyProcessedError`?`already_processed`:e instanceof Fl||e instanceof Error&&e.name===`MessageNotAvailableError`?`not_available`:null}function Hd(e,t){return console.debug(`Queue callback skipped (${e}) for message ${t??`<unknown>`}: the message was already handled or is no longer available to this consumer.`),{status:`skipped`,reason:e,...t===void 0?{}:{messageId:t}}}function Ud(e){return zd(e)}var Wd=`iad1`;function Gd(e){return e||process.env.VERCEL_REGION||(_u()||console.warn(`[QueueClient] Region not detected \u2014 defaulting to "${Wd}". On Vercel this is set automatically via VERCEL_REGION. To silence this warning, pass region explicitly: new QueueClient({ region: "iad1" })`),Wd)}var Kd=class{constructor(e={}){let t=Gd(e.region);Rd(this,new Fd({...e,region:t}))}send=async(e,t,n)=>{let r=zd(this),i=await r.sendMessage({queueName:e,payload:t,idempotencyKey:n?.idempotencyKey,retentionSeconds:n?.retentionSeconds,delaySeconds:n?.delaySeconds,headers:n?.headers,telemetry:n?.telemetry});return i.messageId&&_u()&&!r.usesLocalBroker()&&id(e,i.messageId,r.getRegion(),n?.delaySeconds,n?.retentionSeconds),{messageId:i.messageId}};experimental_sendBatch=async(e,t,n)=>{let r=zd(this),i=await r.sendBatch({queueName:e,messages:t,telemetry:n?.telemetry});if(!_u()||r.usesLocalBroker())return i;let a=r.getRegion();for(let[n,r]of i.entries()){if(r.status!==`sent`)continue;let i=t[n];rt(i),id(e,r.messageId,a,i.delaySeconds,i.retentionSeconds)}return i};handleCallback=(e,t)=>{_u()&&!zd(this).usesLocalBroker()&&Nu(e,this,t);let n=cd(zd(this).getTelemetry?.());return async r=>{let i=Bd(r);if(_u()&&!zd(this).usesLocalBroker()&&i.headers.get(`x-vercel-queue-prime`)===`1`){let n=i.headers.get(`x-vercel-queue-prime-file`);return n&&Nu(e,this,t,n),Response.json({status:`primed`})}let a;try{a=await fu(i);let r=a;return await bd(i.headers,()=>pu(e,r,{client:this,visibilityTimeoutSeconds:t?.visibilityTimeoutSeconds,retry:t?.retry}),n),Response.json({status:`success`})}catch(e){let t=Vd(e);return t?Response.json(Hd(t,a?.messageId)):(console.error(`Queue callback error:`,e),e instanceof Error&&(e.message.includes(`Invalid content type`)||e.message.includes(`Invalid CloudEvent`)||e.message.includes(`Missing required CloudEvent`)||e.message.includes(`Failed to parse CloudEvent`)||e.message.includes(`Binary mode callback`))?Response.json({error:e.message},{status:400}):Response.json({error:`Failed to process queue message`},{status:500}))}}};handleNodeCallback=(e,t)=>{_u()&&!zd(this).usesLocalBroker()&&Nu(e,this,t);let n=cd(zd(this).getTelemetry?.());return async(r,i)=>{if(r.method!==`POST`){i.status(200).end();return}let a=r.headers[`x-vercel-queue-prime`];if(_u()&&!zd(this).usesLocalBroker()&&a===`1`){let n=r.headers[`x-vercel-queue-prime-file`],a=Array.isArray(n)?n[0]:n;a&&Nu(e,this,t,a),i.status(200).json({status:`primed`});return}let o;try{o=du(r.body,r.headers);let a=o;await bd(r.headers,()=>pu(e,a,{client:this,visibilityTimeoutSeconds:t?.visibilityTimeoutSeconds,retry:t?.retry}),n),i.status(200).json({status:`success`})}catch(e){let t=Vd(e);if(t){i.status(200).json(Hd(t,o?.messageId));return}if(console.error(`Queue callback error:`,e),e instanceof Error&&(e.message.includes(`Invalid content type`)||e.message.includes(`Invalid CloudEvent`)||e.message.includes(`Missing required CloudEvent`)||e.message.includes(`Failed to parse CloudEvent`)||e.message.includes(`Binary mode callback`))){i.status(400).json({error:e.message});return}i.status(500).json({error:`Failed to process queue message`})}}}};function qd(e){return`${e} requires VERCEL_DEPLOYMENT_ID, which Vercel sets in every deployment, so this process is not running inside one. The Vercel world is only selected automatically when that variable is set, so it was requested explicitly here — most often by WORKFLOW_TARGET_WORLD=vercel in a process that is not a deployment, such as a production server started locally or in CI. To use the local filesystem world instead, set WORKFLOW_TARGET_WORLD=local or unset it.`}function Jd(){return process.env.WORKFLOW_EVENTS_TRANSPORT?.trim().toLowerCase()!==`http`}function Yd(){let e=process.env.WORKFLOW_EVENTS_TRANSPORT_WS_OVERRIDE_WORKFLOWS;return e?e.split(`,`).map(e=>e.trim()).filter(e=>e.length>0):[]}function Xd(e){if(Jd())return!0;if(!e)return!1;let t=e.slice(e.lastIndexOf(`//`)+2);return Yd().some(n=>n===e||n===t)}function Zd(){return Jd()||Yd().length>0}function Qd(){let e=process.env.WORKFLOW_INTERNAL_EVENTS_TRANSPORT_STRICT;return e===`1`||e===`true`}function $d(){return process.env.WORKFLOW_STREAMS_TRANSPORT?.trim().toLowerCase()!==`http`}function ef(){let e=process.env.VERCEL_QUEUE_TRACE_PROPAGATION?.toLowerCase();return e===`off`||e===`0`||e===`false`}function tf(e){return e===void 0?{messageId:null,error:`Queue batch returned no result for this message`,retryable:!0}:e.status===`failed`?{messageId:null,error:e.error,retryable:e.retryable}:{messageId:e.messageId?ye.parse(e.messageId):null}}var nf=class{contentType=`application/cbor`;serialize(e){return Buffer.from(Ln(e))}async deserialize(e){let t=[],n=e.getReader();for(;;){let{done:e,value:r}=await n.read();if(e)break;r&&t.push(r)}return un(Buffer.concat(t))}},rf=class{contentType=`application/json`;serialize(e){return Buffer.from(JSON.stringify(e))}async deserialize(e){let t=[],n=e.getReader();for(;;){let{done:e,value:r}=await n.read();if(e)break;r&&t.push(r)}return JSON.parse(Buffer.concat(t).toString())}},af=class{contentType=`application/cbor`;serialize(e){return Buffer.from(Ln(e))}async deserialize(e){let t=[],n=e.getReader();for(;;){let{done:e,value:r}=await n.read();if(e)break;r&&t.push(r)}let r=Buffer.concat(t);try{return un(r)}catch{return JSON.parse(r.toString())}}};const of=new $e;function sf(e){let t=of.getStore();t?.collectStepIds&&t.stepIds.size<10&&t.stepIds.add(e)}function cf(e,t){if(t.stepIds.size===0)return e;let n=new Headers(e.headers);return n.set(`x-vercel-internal-workflow-step-ids`,JSON.stringify(Array.from(t.stepIds))),new Response(e.body,{headers:n,status:e.status,statusText:e.statusText})}const lf=D.compile(D.object({payload:y,queueName:ve,deploymentId:D.string().optional()})),uf=Number(process.env.VERCEL_QUEUE_MAX_DELAY_SECONDS||82800);function df(e){if(typeof e!=`object`||!e)return;let t=e.retryAfter;if(!(typeof t!=`number`||!Number.isFinite(t)||t<=0))return Math.min(Math.ceil(t),900)}function ff(e,t){let n=Math.min(Math.max(1,2**(t-1)),900),r=Math.floor(Math.random()*(Math.ceil(n*.25)+1)),i=Math.max(1,n-r);return Math.max(i,df(e)??1)}function pf(e){if(`runId`in e&&typeof e.runId==`string`)return e.runId}function mf(e){try{return g(e).id}catch{return}}const hf=(e,t,n)=>{let r;return{open(){e&&Xd(t)&&(r=Promise.resolve().then(()=>Bh).then(({openWsChannel:r})=>r(e,n,{workflowName:t})).catch(()=>void 0))},async close(){(await r)?.()}}};function gf(e){if(!e)return;let t=e.startsWith(`wrun_`)?e.slice(5):e;try{let e=Be(t);return!e.tagged||e.regionId===Fe.unknown?void 0:e.region??void 0}catch{return}}function _f(e,t){if(Pe(t?.region))return t.region;let n=gf(pf(e));if(n)return n;let r=process.env.VERCEL_REGION;return Pe(r)?r:`iad1`}function vf(e){let t={};return`runId`in e&&typeof e.runId==`string`&&(t[`x-vercel-workflow-run-id`]=e.runId),`stepId`in e&&typeof e.stepId==`string`&&(t[`x-vercel-workflow-step-id`]=e.stepId),Object.keys(t).length>0?t:void 0}const yf=/^__([a-z][a-z0-9]*_)?wkf_workflow_/,bf=c(`@workflow/world-vercel//queueLogLatches`,1,()=>({loggedSequentialReplays:!1}));function xf(){return process.env.WORKFLOW_SEQUENTIAL_REPLAYS===`1`}function Sf(e,t){return!xf()||!yf.test(e)?e:(bf.loggedSequentialReplays||(bf.loggedSequentialReplays=!0,console.warn(`[workflow] WORKFLOW_SEQUENTIAL_REPLAYS=1: routing flow messages to per-run queue topics`)),`__healthCheck`in t&&typeof t.correlationId==`string`?`${e}_${t.correlationId}`:`runId`in t&&typeof t.runId==`string`?`stepId`in t&&typeof t.stepId==`string`?`${e}_${t.runId}_${t.stepId}`:`${e}_${t.runId}`:e)}function Cf(e){let{baseUrl:t,usingProxy:n}=va(e),r=ba(e,{usingProxy:n}),i=new nf,a=new rf,o=new af,s={dispatcher:yr(e),transport:o,...n&&{resolveBaseUrl:()=>new URL(`${t}/queues-proxy`),token:e?.token},headers:Object.fromEntries(r.entries())},c=(e,t,n)=>{let r=n?.deploymentId??process.env.VERCEL_DEPLOYMENT_ID;if(!r)throw Error(`${qd(`Enqueuing a workflow message`)} Callers outside a deployment can instead pass an explicit deploymentId in options.`);return{deploymentId:r,useCbor:(n?.specVersion??8)>=3,region:_f(t,n),topic:Sf(e,t).replace(/[^A-Za-z0-9-_]/g,`-`),wrapper:{payload:t,queueName:e,deploymentId:n?.deploymentId},sendOptions:{idempotencyKey:n?.idempotencyKey,delaySeconds:n?.delaySeconds,headers:{...vf(t),...n?.headers}}}},l=e=>new Kd({...s,...n&&{headers:{...s.headers,"x-vercel-queue-region":e.region}},region:e.region,deploymentId:e.deploymentId,transport:e.useCbor?i:a}),u=async(e,t,n)=>{let r=c(e,t,n),{messageId:i}=await l(r).send(r.topic,r.wrapper,r.sendOptions);return{messageId:i?ye.parse(i):null}};return{queue:u,queueBatch:async(e,t)=>{let n=Array(t.length);if(t.length===0)return n;let r=ef()?{}:await oi(),i=new Map;for(let[n,a]of t.entries()){let t=c(e,a.message,a.opts),o=`${t.region}${t.deploymentId}${t.useCbor}${t.topic}`,s=i.get(o)??{route:t,entries:[]};s.entries.push({index:n,topic:t.topic,message:{payload:t.wrapper,...t.sendOptions,headers:{...t.sendOptions.headers,...r}}}),i.set(o,s)}return await Promise.all([...i.values()].map(async({route:e,entries:t})=>{let r=l(e);for(let e=0;e<t.length;e+=100){let i=t.slice(e,e+100),a=await r.experimental_sendBatch(i[0].topic,i.map(e=>e.message));for(let[e,t]of i.entries())n[t.index]=tf(a[e])}})),n},createQueueHandler:(t,n)=>{let r=new Kd(s).handleCallback(async(t,r)=>{if(!t||!r)return;let i=of.getStore(),a=i?.requestId,{payload:o,queueName:s,deploymentId:c}=lf.parse(t),l=hf(pf(o),mf(s),e),d=!(`stepId`in o&&typeof o.stepId==`string`);l.open();try{let e=()=>n(o,{queueName:s,messageId:ye.parse(r.messageId),attempt:r.deliveryCount,requestId:a}),t=await(i?of.run({...i,collectStepIds:d},e):e());if(!(`invoke`in o&&o.invoke===!0)&&typeof t==`object`&&t&&`timeoutSeconds`in t&&typeof t.timeoutSeconds==`number`){let e=t.timeoutSeconds>0?Math.min(t.timeoutSeconds,uf):void 0;await u(s,o,{deploymentId:c,delaySeconds:e})}}finally{await l.close()}},{retry:(e,{messageId:t,deliveryCount:n})=>{let r=ff(e,n);return console.error(`[workflow] Queue handler failed for message "${t}" on delivery attempt ${n}; retrying in ${r}s:`,e),{afterSeconds:r}}});return async e=>{let t={collectStepIds:!1,requestId:e.headers.get(`x-vercel-id`)?.trim()||void 0,stepIds:new Set};return cf(await of.run(t,()=>r(e)),t)}},getDeploymentId:async()=>{let e=process.env.VERCEL_DEPLOYMENT_ID;if(!e)throw Error(qd(`Starting a workflow run`));return e},isDeploymentUnavailableError:e=>e instanceof Kl}}const wf=Ke.compile(Ke.object({id:Ke.string()}));async function Tf(e){if(e?.token)return e.token;if(process.env.VERCEL===`1`){let e=await(0,pt.getVercelOidcToken)().catch(()=>null);if(e)return e}return ia(e)}function Ef(e){return async function(){let t=process.env.VERCEL_DEPLOYMENT_ID;if(!t)throw Error(qd(`Resolving the latest deployment for deploymentId: 'latest'`));let n=await Tf(e);if(!n)throw Error(`Cannot resolve latest deployment: no OIDC token or VERCEL_TOKEN available`);let r=e?.projectConfig?.teamId,i=r?`?${new URLSearchParams({teamId:r})}`:``,a=await(await da({method:`GET`,url:`https://api.vercel.com/v1/workflow/resolve-latest-deployment/${encodeURIComponent(t)}${i}`,headers:new Headers({Authorization:`Bearer ${n}`}),dispatcher:vr(e),peerService:`vercel-api`,timeoutMs:null,buildError:async e=>{let n;try{n=await e.text()}catch{n=`<unable to read response body>`}let r=e.status===404?". The deployment exists but was not visible to the identity this request authenticated as, which means the request resolved to a different team. Set the World's `projectConfig.teamId` to scope it explicitly.":``;return Error(`Failed to resolve latest deployment for ${t}: HTTP ${e.status} ${e.statusText}${n?` — ${n}`:``}${r}`)}})).json(),o=wf.safeParse(a);if(!o.success)throw Error(`Invalid response from Vercel API: expected { id: string }. Zod error: ${o.error.message}`);return o.data.id}}const Df=`application/vnd.workflow.v4-frames`;var Of=class extends Error{};const kf=D.compile(D.record(D.string(),D.unknown()));function Af(e,t){let n=new Uint8Array(Ln(e)),r=new Uint8Array(4+n.byteLength+4+t.byteLength),i=new DataView(r.buffer);return i.setUint32(0,n.byteLength,!1),r.set(n,4),i.setUint32(4+n.byteLength,t.byteLength,!1),r.set(t,4+n.byteLength+4),r}function jf(e){let t=new DataView(e.buffer,e.byteOffset,e.byteLength);if(e.byteLength<4)throw Error(`ws frame shorter than the meta length prefix`);let n=4+t.getUint32(0,!1);if(e.byteLength<n+4)throw Error(`ws frame too short for meta + body length prefix`);let r=un(e.subarray(4,n));if(typeof r!=`object`||!r||Array.isArray(r))throw Error(`ws frame meta must be a CBOR map`);let i=n+4,a=i+t.getUint32(n,!1);if(e.byteLength!==a)throw Error(e.byteLength<a?`ws frame shorter than its declared body length`:`ws frame has ${e.byteLength-a} trailing bytes`);return{meta:r,body:e.subarray(i,a)}}async function*Mf(e){let t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():Pf(e.getReader()),n=new Uint8Array,r=async e=>{if(n.byteLength>=e)return!0;let r=[n],i=n.byteLength;for(;i<e;){let e;try{e=await t.next()}catch(e){throw new Of(`decodeFrames: source stream failed`,{cause:e})}if(e.done)return!1;e.value.byteLength!==0&&(r.push(e.value),i+=e.value.byteLength)}n=new Uint8Array(i);let a=0;for(let e of r)n.set(e,a),a+=e.byteLength;return!0},i=e=>{let t=n.subarray(0,e);return n=n.subarray(e),t};try{for(;;){if(!await r(4))return;let e=new DataView(n.buffer,n.byteOffset,4).getUint32(0,!1);if(i(4),!await r(e))throw new Of(`decodeFrames: truncated meta block`);let t=kf.parse(un(i(e)));if(!await r(4))throw new Of(`decodeFrames: truncated body length`);let a=new DataView(n.buffer,n.byteOffset,4).getUint32(0,!1);if(i(4),a>0&&!await r(a))throw new Of(`decodeFrames: truncated body bytes`);if(yield{meta:t,body:n.slice(0,a)},i(a),t._end===1)return}}finally{Nf(()=>t.return?.())}}function Nf(e){try{Promise.resolve(e()).catch(()=>{})}catch{}}async function*Pf(e){try{for(;;){let{done:t,value:n}=await e.read();if(t)return;n&&(yield n)}}finally{Nf(()=>e.cancel())}}const Ff=`gzip`,If=`zstd`,Lf=new TextDecoder,Rf=new Set([`devl`,`encr`,Ff,If]);function zf(){try{return globalThis.process?.getBuiltinModule?.(`node:zlib`)}catch{return}}function Bf(e){return!(e instanceof Uint8Array)||e.byteLength<4?null:Lf.decode(e.subarray(0,4))}function Vf(e){let t=Bf(e);return t!==null&&Rf.has(t)}function Hf(e,t){let n=zf(),r=e===If?n?.zstdDecompressSync:n?.gunzipSync;if(!r)throw new T(`Received ${e}-compressed workflow data, but this Node.js runtime does not support ${e} decompression. Use a compatible Node.js runtime or request unresolved data.`);return new Uint8Array(r(t))}function Uf(e){let t=Bf(e);return t!==If&&t!==Ff?e:Hf(t,e.subarray(4))}function Wf(e){try{return Uf(e)}catch(e){throw T.is(e)?e:new T(`Stored dynamic workflow code could not be decompressed.`,{code:`WORLD_CONTRACT_ERROR`,cause:e})}}function Gf(e){return{...e,input:Uf(e.input),output:Uf(e.output),error:Uf(e.error),...e.dynamicWorkflowCode===void 0?{}:{dynamicWorkflowCode:Wf(e.dynamicWorkflowCode)}}}function Kf(e){return{...e,input:Uf(e.input),output:Uf(e.output),error:Uf(e.error)}}function qf(e){return{...e,metadata:Uf(e.metadata)}}const Jf=D.compile(xe.omit({error:!0}).extend({error:D.union([ne,D.any()]).optional(),errorRef:D.any().optional()})),Yf=D.compile(Jf.omit({input:!0,output:!0}).extend({inputRef:D.any().optional(),outputRef:D.any().optional(),input:D.instanceof(Uint8Array).optional(),output:D.instanceof(Uint8Array).optional()}));function Xf(e){let{error:t,errorRef:n,...r}=e,i={...r},a=t??n;return a!=null&&(i.error=a),i}function Zf(e,t){if(t===`none`){let{inputRef:t,outputRef:n,...r}=e;return{...Kf(Xf(r)),input:void 0,output:void 0}}return Kf(Xf(e))}async function Qf(e,t){let{runId:n,pagination:r,resolveData:i=`all`}=e,a=new URLSearchParams;r?.cursor&&a.set(`cursor`,r.cursor),r?.limit&&a.set(`limit`,r.limit.toString()),r?.sortOrder&&a.set(`sortOrder`,r.sortOrder);let o=i===`none`?`lazy`:`resolve`;a.set(`remoteRefBehavior`,o);let s=a.toString(),c=await W({endpoint:`/v2/runs/${encodeURIComponent(n)}/steps${s?`?${s}`:``}`,options:{method:`GET`},config:t,schema:ue(o===`lazy`?Yf:Jf)});return{...c,data:c.data.map(e=>Zf(e,i))}}async function $f(e,t,n,r){let i=n?.resolveData??`all`,a=i===`none`?`lazy`:`resolve`,o=new URLSearchParams;o.set(`remoteRefBehavior`,a);let s=o.toString();return Zf(await W({endpoint:`/v2/runs/${encodeURIComponent(e)}/steps/${encodeURIComponent(t)}${s?`?${s}`:``}`,options:{method:`GET`},config:r,schema:a===`lazy`?Yf:Jf}),i)}async function ep(e,t,n,r,i){let a=br(n),o=await da({method:t.method,url:e,headers:t.headers,body:t.body,dispatcher:a,attributes:i,onTransportOutcome:e=>hr(a,e),deferTransportSuccessUntilBody:!0,timeoutMs:null,transportErrorCode:`STREAM_ERROR`,logLabel:r,buildError:async t=>xp(t.status,$i(t.headers),new Uint8Array(await t.arrayBuffer()),r,e)});if(!o.body)return hr(a),o;let s=o.body.getReader(),c=new ReadableStream({async pull(t){try{let e=await s.read();e.done?(hr(a),t.close()):t.enqueue(e.value)}catch(n){hr(a,n);let i=Wi(n);t.error(i?new E(`v4 ${r}: response stream transport failure (${i})`,{cause:n,url:e}):n)}},cancel(e){return hr(a),s.cancel(e)}});return new Response(c,{status:o.status,statusText:o.statusText,headers:o.headers})}const tp=`x-wf-event-id`,np=`x-wf-max-events`;function rp(e,t,n){return`${e}/v4/runs/${encodeURIComponent(t)}/events/${encodeURIComponent(n)}`}const ip=Symbol(`omitted event payload`),ap=D.compile(D.preprocess(e=>{if(typeof e!=`object`||!e||Array.isArray(e))return e;let t=e,n=typeof t.eventType==`string`?oe(t.eventType):void 0,r=t.eventData;return!n||typeof r!=`object`||!r||Array.isArray(r)||Object.hasOwn(r,n)?e:{...t,eventData:{...r,[n]:ip}}},f).transform(e=>{let t=oe(e.eventType);if(!t||!(`eventData`in e))return e;let n=e.eventData;if(typeof n!=`object`||!n||Array.isArray(n)||n[t]!==ip)return e;let r={...n};return delete r[t],{...e,eventData:r}})),op=D.object({event:ap,run:S.optional(),step:Jf.transform(Xf).optional(),hook:be.optional(),wait:v.optional(),stepCreated:D.literal(!0).optional(),maxEvents:D.number().int().positive().optional(),allocated:D.number().int().nonnegative().optional()}),sp=D.union([D.object({events:D.array(ap),cursor:D.string().nullable(),hasMore:D.boolean()}),D.object({events:D.undefined().optional(),cursor:D.undefined().optional(),hasMore:D.undefined().optional()})]),$=op.and(sp),cp={run_created:op.extend({run:S}).and(sp),run_started:op.extend({run:S.and(D.object({startedAt:D.coerce.date()}))}).and(sp),step_started:op.extend({step:Jf.extend({startedAt:D.coerce.date()}).transform(e=>({...Xf(e),startedAt:e.startedAt}))}).and(sp),run_completed:$,run_failed:$,run_cancelled:$,attr_set:$,step_created:$,step_completed:$,step_failed:$,step_retrying:$,hook_created:$,hook_received:$,hook_disposed:$,hook_conflict:$,wait_created:$,wait_completed:$,noop:$},lp=D.compile(D.coerce.number().int().positive()),up=D.compile(D.object({seq:D.number().int().nonnegative(),seqInBand:D.number().int().nonnegative()}).refine(({seq:e,seqInBand:t})=>t<=e)),dp=/^\d+$/;function fp(e){let t=e.get(`x-wf-snapshot-seq`),n=e.get(`x-wf-snapshot-seq-in-band`);if(t===null||n===null||!dp.test(t)||!dp.test(n))return;let r=up.safeParse({seq:Number(t),seqInBand:Number(n)});return r.success?r.data:void 0}function pp(e){if(e===void 0)return;let t=up.safeParse(e);return t.success?t.data:void 0}const mp=D.compile(D.object({_end:D.literal(1),next:D.string().optional(),hasMore:D.boolean(),snapshot:D.unknown().optional()})),hp=D.compile(D.object({_error:D.literal(1),code:D.string(),message:D.string().optional()})),gp=new Set([`run_failed`,`step_failed`,`step_retrying`]);function _p(e){if(Vf(e))return e;try{let t=ae.safeParse(un(e.slice()));return t.success?t.data:e}catch{return e}}function vp({meta:e,body:t}){let n=pe.parse(e.eventType);if(t.byteLength===0)return ap.parse(e);let r=oe(n);return et(r,`Event type ${n} cannot carry a payload body`),et(e.eventData&&typeof e.eventData==`object`),ap.parse({...e,eventData:{...e.eventData,[r]:gp.has(n)?_p(t):t}})}function yp(e){let t={eventType:e.eventType,specVersion:e.specVersion};return e.executorSpecVersion!==void 0&&(t.executorSpecVersion=e.executorSpecVersion),e.correlationId!==void 0&&(t.correlationId=e.correlationId),e.vercelId!==void 0&&(t.vercelId=e.vercelId),e.computeInstanceId!==void 0&&(t.computeInstanceId=e.computeInstanceId),e.occurredAt!==void 0&&(t.occurredAt=e.occurredAt),e.remoteRefBehavior!==void 0&&(t.remoteRefBehavior=e.remoteRefBehavior),e.eventsRemoteRefBehavior!==void 0&&(t.eventsRemoteRefBehavior=e.eventsRemoteRefBehavior),e.deploymentId!==void 0&&(t.deploymentId=e.deploymentId),e.workflowName!==void 0&&(t.workflowName=e.workflowName),e.stepName!==void 0&&(t.stepName=e.stepName),e.attempt!==void 0&&(t.attempt=e.attempt),e.resumeAt!==void 0&&(t.resumeAt=e.resumeAt),e.retryAfter!==void 0&&(t.retryAfter=e.retryAfter),e.hookToken!==void 0&&(t.hookToken=e.hookToken),e.hookTokenRetentionUntil!==void 0&&(t.hookTokenRetentionUntil=e.hookTokenRetentionUntil),e.hookIsWebhook!==void 0&&(t.hookIsWebhook=e.hookIsWebhook),e.hookIsSystem!==void 0&&(t.hookIsSystem=e.hookIsSystem),e.hookForce!==void 0&&(t.hookForce=e.hookForce),e.resumeId!==void 0&&(t.resumeId=e.resumeId),e.errorCode!==void 0&&(t.errorCode=e.errorCode),e.cancelReason!==void 0&&(t.cancelReason=e.cancelReason),e.ownerMessageId!==void 0&&(t.ownerMessageId=e.ownerMessageId),e.executionContext!==void 0&&(t.executionContext=e.executionContext),e.attributes!==void 0&&(t.attributes=e.attributes),e.changes!==void 0&&(t.changes=e.changes),e.writer!==void 0&&(t.writer=e.writer),e.allowReservedAttributes!==void 0&&(t.allowReservedAttributes=e.allowReservedAttributes),e.encryptionPublicKey!==void 0&&(t.encryptionPublicKey=e.encryptionPublicKey),e.dynamicWorkflowCode!==void 0&&(t.dynamicWorkflowCode=e.dynamicWorkflowCode),e.dynamicWorkflowCodeRef!==void 0&&(t.dynamicWorkflowCodeRef=e.dynamicWorkflowCodeRef),e.ttfs!==void 0&&(t.ttfs=e.ttfs),e.stso!==void 0&&(t.stso=e.stso),e.stepCount!==void 0&&(t.stepCount=e.stepCount),e.eventCount!==void 0&&(t.eventCount=e.eventCount),e.rsfs!==void 0&&(t.rsfs=e.rsfs),e.finalSchedulingReplay!==void 0&&(t.finalSchedulingReplay=e.finalSchedulingReplay),e.optimizations!==void 0&&(t.optimizations=e.optimizations),e.sinceCursor!==void 0&&(t.sinceCursor=e.sinceCursor),e.skipPreload&&(t.skipPreload=!0),e.maxSlot!==void 0&&(t.maxSlot=e.maxSlot),e.replayDivergenceCount!==void 0&&(t.replayDivergenceCount=e.replayDivergenceCount),e.resumePayloadDigest!==void 0&&(t.resumePayloadDigest=e.resumePayloadDigest),e.viaStepDispatch!==void 0&&(t.viaStepDispatch=e.viaStepDispatch),e.inBand!==void 0&&(t.inBand=e.inBand),e.expectedSeqInBand!==void 0&&(t.expectedSeqInBand=e.expectedSeqInBand),t}function bp(e){return{...e.inBand===void 0?{}:Di(e.inBand),...e.expectedSeqInBand===void 0?{}:Oi(e.expectedSeqInBand)}}function xp(e,t,n,r,i){let a=`v4 ${r} failed: HTTP ${e}`,o,s,{record:c,text:l}=Cp(n,Hp(t,`content-type`));c?(typeof c.message==`string`&&(a=c.message),typeof c.code==`string`?o=c.code:typeof c.error==`string`&&(o=c.error),e===412&&(s=o===`in-band-superseded`?Sp(c):wp(c)),e===409&&o===`hook-force-claimed`&&(s={claimedBy:c.claimedBy})):l&&(a+=` ${l}`);let u=Qi(Hp(t,`retry-after`));return na(e,a,{retryAfter:u,code:o,url:i,mitigated:Hp(t,`x-vercel-mitigated`),...s===void 0?{}:{details:s}})}function Sp(e){let t=ta(e.seq),n=ta(e.seqInBand);return{...t===void 0?{}:{seq:t},...n===void 0?{}:{seqInBand:n}}}function Cp(e,t){if(typeof e!=`string`&&t?.includes(`application/cbor`)){try{let t=un(e.slice());if(typeof t==`object`&&t)return{record:t}}catch{}return{}}let n=typeof e==`string`?e:new TextDecoder().decode(e);try{let e=JSON.parse(n);if(typeof e==`object`&&e)return{record:e}}catch{}return{text:n}}function wp(e){if(!Array.isArray(e.events)||e.events.length===0)return;let t=[];for(let n of e.events){if(typeof n!=`object`||!n)return;let e=n;if(typeof e.eventId!=`string`||Tp(e))return;let r=ap.safeParse(e);if(!r.success)return;t.push(r.data)}return{events:t,...typeof e.cursor==`string`?{cursor:e.cursor}:{}}}function Tp(e){let t=e.eventType;if(typeof t!=`string`)return!1;let n=oe(t);if(!n)return!1;let r=e.eventData;if(typeof r!=`object`||!r)return!1;let i=r[n];return i!==void 0&&!(i instanceof Uint8Array)}async function Ep(e,t,n){let{baseUrl:r,headers:i}=await U(n),a=new Headers(i);a.set(`Content-Type`,`application/octet-stream`),t===`event-stream`&&a.set(`Accept`,Df);let o=Af(yp(e),e.payload??new Uint8Array);return ep(rp(r,e.runId,e.eventType),{method:`POST`,headers:a,body:o},n,`createEvent`,{...wi(`http`),...Ei(e.eventType),...Mi(`@workflow/world-vercel/${Wn}`),...bp(e),...e.eventType===`step_started`?{...Ai(e.payload===void 0?e.ownerMessageId===void 0?`single_bare`:`single_owned_recovery`:`single_lazy_create_claim`),...ji(e.ownerMessageId!==void 0)}:{},...e.stso===void 0?{}:Ni(e.stso),...e.optimizations===void 0?{}:Pi(e.optimizations)})}const Dp=new Set([`step_completed`]);function Op(e){if(Qd()&&Jd()&&Dp.has(e))throw Error(`world-vercel: ${e} fell back to the HTTP events transport while the WS gate was on. WORKFLOW_INTERNAL_EVENTS_TRANSPORT_STRICT is set, so this is a failure rather than a silent demotion: no channel was resolvable for this run at write time.`)}async function kp(e,t){if(Zd()){let n=await Bp(e,t);if(n)return Np(n,e.eventType);Op(e.eventType)}let n=await Ep(e,`materialized`,t);if(n.headers.get(`content-type`)?.startsWith(`application/vnd.workflow.v4-frames`))throw new T(`v4 createEvent: unexpected event page`,{code:`SCHEMA_VALIDATION`});return Np(n,e.eventType)}const Ap=new Map;function jp(e){return cp[e].refine(({event:t})=>t.eventType===e||e===`hook_created`&&t.eventType===`hook_conflict`,{path:[`event`,`eventType`]})}function Mp(e){let t=Ap.get(e);if(t)return t;let n=D.compile(jp(e));return Ap.set(e,n),n}async function Np(e,t){let n;try{n=new Uint8Array(await e.arrayBuffer())}catch(e){throw E.is(e)?e:new T(`v4 createEvent: failed to read response body`,{code:`TRANSPORT`,cause:e})}if(n.byteLength===0)throw new T(`v4 createEvent: empty response body`,{code:`PARSE_ERROR`});let r=Mp(t),i;try{i=un(n)}catch(e){throw new T(`v4 createEvent: invalid CBOR response body`,{code:`PARSE_ERROR`,cause:e})}let a=r.safeParse(i);if(!a.success)throw new T(`v4 createEvent: invalid response body`,{code:`SCHEMA_VALIDATION`,cause:a.error});return a.data}async function Pp(e,t,n){let r=await Ep({...e,eventType:`run_started`},`event-stream`,t),i=await qp(r,e,t,n);if(!i.cursor)throw new T(`v4 createEvent: event stream missing cursor`,{code:`SCHEMA_VALIDATION`});let a=lp.safeParse(r.headers.get(np));if(!a.success)throw new T(`v4 createEvent: invalid max-events header`,{code:`SCHEMA_VALIDATION`,cause:a.error});return{...i,maxEvents:a.data}}const Fp=D.compile(D.object({status:D.number().int(),error:D.string(),message:D.string()}));async function Ip(e,t){et(e.events.length>0,`v4 createEventBatch: empty batch`);let{baseUrl:n,headers:r}=await U(t),i=new Headers(r);i.set(`Content-Type`,`application/octet-stream`);let a=e.events.map(e=>Af(yp(e),e.payload??new Uint8Array)),o=0;for(let e of a)o+=e.byteLength;let s=new Uint8Array(o),c=0;for(let e of a)s.set(e,c),c+=e.byteLength;let l=await ep(`${n}/v4/runs/${encodeURIComponent(e.runId)}/events/batch`,{method:`POST`,headers:i,body:s},t,`createEventBatch`,{...wi(`http`),"workflow.batch.bytes":s.byteLength,...bp(e.events[0]),...e.events.some(e=>e.eventType===`step_started`)?{...Ai(e.events.some(e=>e.eventType===`step_created`)?`batch_create_claim`:`batch_bare`),...ji(e.events.some(e=>e.ownerMessageId!==void 0))}:{}}),u=new Uint8Array(await l.arrayBuffer()),d=u.byteLength>0?un(u):{};if(!Array.isArray(d.results)||d.results.length!==e.events.length)throw new T(`v4 createEventBatch: response \`results\` length (${Array.isArray(d.results)?d.results.length:`non-array`}) != ${e.events.length} submitted frames`,{code:`SCHEMA_VALIDATION`});return{results:d.results.map((t,n)=>{let r=Fp.safeParse(t);if(r.success&&r.data.status!==200)return r.data;if(t?.status!==200)throw new T(`v4 createEventBatch: result at index ${n} is neither a success (status 200) nor a well-formed failure`,{code:`SCHEMA_VALIDATION`});let i=e.events[n].eventType,a=cp[i].safeParse(t);if(!a.success)throw new T(`v4 createEventBatch: invalid result body at index ${n} (${i})`,{code:`SCHEMA_VALIDATION`,cause:a.error});if(a.data.event.eventType!==i)throw new T(`v4 createEventBatch: result at index ${n} carries a ${a.data.event.eventType} event, expected ${i}`,{code:`SCHEMA_VALIDATION`});return{status:200,...a.data}})}}function Lp(e){let t={};return typeof e.eventId==`string`&&(t[tp]=e.eventId),typeof e.retryAfter==`string`&&(t[`retry-after`]=e.retryAfter),typeof e.mitigated==`string`&&(t[`x-vercel-mitigated`]=e.mitigated),t}function Rp(e,t){let{replyParts:n=1}=t;n>1&&e?.setAttributes({...Ri(n)})}function zp(e,t){let{status:n}=e.meta;if(typeof n!=`number`)throw new T(`Failed to parse response body for POST ${t}: reply frame carried no numeric status (type: ${String(e.meta.type??`absent`)}). Refusing to treat an unrecognized reply as success — the write may or may not have been applied.`,{url:t,code:`PARSE_ERROR`});return n}async function Bp(e,t){let{resolveWsTransport:n}=await Promise.resolve().then(()=>Bh),{runId:r}=e,i=n(r,t);if(!i)return;let{transport:a,wsUrl:o}=i,s=`${o}#runs/${encodeURIComponent(r)}/events`;return sa({method:`POST`,url:rp(va(t).baseUrl,r,e.eventType),attributes:{...wi(`ws`),...Ei(e.eventType),...Mi(`@workflow/world-vercel/${Wn}`),...bp(e),...e.stso===void 0?{}:Ni(e.stso),...e.optimizations===void 0?{}:Pi(e.optimizations),...e.eventType===`step_started`?{...Ai(e.payload===void 0?e.ownerMessageId===void 0?`single_bare`:`single_owned_recovery`:`single_lazy_create_claim`),...ji(e.ownerMessageId!==void 0)}:{},...pi(`websocket`),...Fi(o)}},async t=>{let n=Date.now(),r;try{r=await a.request(n=>(t?.setAttributes({...Ii(n)}),Af({reqId:n,type:`event`,event:yp(e)},e.payload??new Uint8Array)),{onMessages:e=>{e>1&&t?.setAttributes({...Li(e)})}})}catch(e){let n=new T(`POST ${s} transport failure: ${e instanceof Error?e.message:String(e)}`,{url:o,code:`TRANSPORT`,cause:e});throw t?.setAttributes({...fi(`TRANSPORT`)}),t?.recordException?.(n),n}let i=Date.now()-n;Rp(t,r);let c=zp(r,s),l=Lp(r.meta),u={get:e=>l[e.toLowerCase()]??null};if(Xi(`POST`,`createEvent`,{status:c,headers:u},i),ca(t,c),c<200||c>=300){let e=xp(c,l,new TextDecoder().decode(r.body),`createEvent`,s);throw ea(t,e),t?.recordException?.(e),e}return{headers:u,arrayBuffer:async()=>r.body.slice().buffer}})}async function Vp(e,t,n){let r=await Ep({...e,eventType:`hook_received`},`event-stream`,t);if(!r.headers.get(`content-type`)?.startsWith(`application/vnd.workflow.v4-frames`))return{kind:`materialized`,result:await Np(r,`hook_received`)};let i=await qp(r,e,t,n),a=lp.safeParse(r.headers.get(np));return{kind:`stream`,...i,canonicalEventId:r.headers.get(tp)??void 0,maxEvents:a.success?a.data:void 0}}function Hp(e,t){let n=e[t];if(typeof n==`string`)return n;if(Array.isArray(n)&&n.length>0)return n[0]}async function Up(e,t,n,r){let{baseUrl:i,headers:a}=await U(r),o=await ep(`${i}/v4/runs/${encodeURIComponent(e)}/events/${encodeURIComponent(t)}?remoteRefBehavior=${n}`,{method:`GET`,headers:a},r,`getEvent`),s=o.headers.get(`content-type`);if(!s?.startsWith(`application/vnd.workflow.v4-frames`))throw Error(`v4 getEvent: expected ${Df}, got ${s??`(none)`}`);let c=o.body;try{for await(let e of Mf(c)){if(e.meta._error===1)throw Wp(e.meta,`getEvent`);if(Object.keys(e.meta).some(e=>e.startsWith(`_`)))throw Error(`v4 getEvent: unexpected control frame`);return vp(e)}}catch(e){throw e instanceof Of&&E.is(e.cause)?e.cause:e}throw Error(`v4 getEvent: empty frame stream for ${t}`)}function Wp(e,t){let n=hp.safeParse(e);if(!n.success)return new T(`v4 ${t}: malformed terminal error frame`,{code:`SCHEMA_VALIDATION`,cause:n.error});let{code:r,message:i}=n.data,a=i??`(no detail)`;return r===`payload-missing`?new Me(`the event log references a payload that no longer exists in storage: ${a}`):new T(`v4 ${t}: stream ended with terminal error "${r}": ${a}`,{code:`WORLD_CONTRACT_ERROR`})}function Gp(e,t){let n=e.at(-1)?.eventId;if(!n)throw t;return{kind:`partial`,events:e,cursor:`eid:${n}`,hasMore:!0,error:t}}async function Kp(e,t,n){let r=e.headers.get(`content-type`);if(!r?.startsWith(`application/vnd.workflow.v4-frames`))throw new T(`v4 ${t}: expected ${Df}, got ${r??`(none)`}`,{code:`SCHEMA_VALIDATION`});if(!e.body)throw new T(`v4 ${t}: response body is missing`,{code:`TRANSPORT`});let i=[];try{for await(let r of Mf(e.body)){if(r.meta._end===1){let t=mp.parse(r.meta),n=pp(t.snapshot)??fp(e.headers);return{kind:`complete`,events:i,cursor:t.next??null,hasMore:t.hasMore,...n?{snapshot:n}:{}}}if(r.meta._error===1)throw Wp(r.meta,t);if(Object.keys(r.meta).some(e=>e.startsWith(`_`)))throw Error(`v4 ${t}: unexpected control frame`);let a=vp(r);i.push(a);try{n?.(a)}catch(e){throw new Pr(e)}}}catch(e){if(e instanceof Pr||Me.is(e)||T.is(e))throw e;if(e instanceof Of&&E.is(e.cause))return Gp(i,e.cause);if(!(e instanceof Of))throw new T(`v4 ${t}: invalid event frame stream`,{code:`SCHEMA_VALIDATION`,cause:e});return Gp(i,new T(`v4 ${t}: incomplete event frame stream`,{code:`TRANSPORT`,cause:e}))}return Gp(i,new T(`v4 ${t}: frame stream ended without the end-of-stream sentinel (${i.length} events read)`,{code:`TRANSPORT`}))}async function qp(e,{runId:t,eventsRemoteRefBehavior:n},r,i){let a=await Kp(e,`createEvent`,i);if(!a.hasMore)return{events:a.events,cursor:a.cursor,hasMore:!1};if(!a.cursor)throw new T(`v4 createEvent: partial event stream missing cursor`,{code:`SCHEMA_VALIDATION`});let o;try{o=await tm(t,{cursor:a.cursor,remoteRefBehavior:n===`skip-step-inputs`?`skip-step-inputs`:`resolve`},r,i)}catch(e){throw Te.is(e)?new Fr(e):e}return{events:[...a.events,...o.events],cursor:o.cursor??a.cursor,hasMore:o.hasMore}}async function Jp(e,t,n,r,i){return Kp(await ep(e,{method:`GET`,headers:t},n,r),r,i)}const Yp=c(`@workflow/world-vercel//skipStepInputsSupport`,2,()=>({unsupportedSince:new Map}));function Xp(e){let t=Yp.unsupportedSince.get(e);return t===void 0?!1:Date.now()-t<6e5||(Yp.unsupportedSince.delete(e),!1)}function Zp(e){return e instanceof T&&e.status===400&&e.code===`validation-error`}async function Qp(e,t,n,r,i,a,o){if(t===`skip-step-inputs`&&!Xp(e)){try{return await Jp(n(t),r,i,a,o)}catch(e){if(!Zp(e))throw e}let s=await Jp(n(`resolve`),r,i,a,o);return Yp.unsupportedSince.set(e,Date.now()),s}return Jp(n(t===`skip-step-inputs`?`resolve`:t),r,i,a,o)}function $p(e,t){t.cursor&&e.set(`cursor`,t.cursor),t.limit!==void 0&&e.set(`limit`,String(t.limit)),t.sortOrder&&e.set(`sortOrder`,t.sortOrder),t.remoteRefBehavior&&e.set(`remoteRefBehavior`,t.remoteRefBehavior)}function em(e){let t=new URLSearchParams;return e.limit===void 0&&t.set(`returnAll`,`true`),$p(t,e),`?${t.toString()}`}async function tm(e,t={},n,r){let{baseUrl:i,headers:a}=await U(n),o=[],s=t.cursor??null,c=0,l,u=t.limit===void 0,d=qr(`reading events`,`bounded`);for(;;){let f=s??void 0;try{l=await Qp(i,t.remoteRefBehavior,n=>`${i}/v4/runs/${encodeURIComponent(e)}/events`+em({...t,remoteRefBehavior:n,cursor:f}),a,n,`listEvents`,r)}catch(e){if(!u||!Te.is(e))throw e;await d(e);continue}let p=!!l.cursor&&l.cursor!==s;if(l.kind===`partial`){if(t.limit!==void 0||!p||c===2)throw l.error;c++,s=l.cursor}else if(!p&&(l.events.length>0||l.hasMore))throw new T(`v4 listEvents: response did not advance cursor`,{code:`SCHEMA_VALIDATION`});for(let e of l.events)o.push(e);if(l.kind!==`partial`)break}return{events:o,cursor:l.cursor||(c>0?s:null),hasMore:l.hasMore,...l.kind===`complete`&&l.snapshot?{snapshot:l.snapshot}:{}}}async function nm(e,t,n={},r){let{baseUrl:i,headers:a}=await U(r),o=await Qp(i,n.remoteRefBehavior,r=>{let a=new URLSearchParams;return a.set(`correlationId`,e),a.set(`runId`,t),$p(a,{...n,remoteRefBehavior:r}),`${i}/v4/events?${a.toString()}`},a,r,`listEventsByCorrelationId`);if(o.kind===`partial`)throw o.error;return{events:o.events,cursor:o.cursor,hasMore:o.hasMore}}const rm=D.compile(b.omit({error:!0,errorCode:!0}).extend({error:D.union([ne,D.any()]).optional(),errorCode:D.string().optional(),blobStorageBytes:D.number().optional(),streamStorageBytes:D.number().optional()})),im=D.compile(rm),am=D.compile(rm.omit({input:!0,output:!0}).extend({inputRef:D.any().optional(),outputRef:D.any().optional(),input:D.union([D.instanceof(Uint8Array),D.any()]).optional(),output:D.union([D.instanceof(Uint8Array),D.any()]).optional(),dynamicWorkflowCode:D.any().optional()}));function om(e,t){if(t===`none`){let{inputRef:t,outputRef:n,dynamicWorkflowCode:r,...i}=e;return{...Gf(ha(i)),input:void 0,output:void 0}}return Gf(ha(e))}async function sm(e={},t){let{workflowName:n,status:r,pagination:i,resolveData:a=`all`}=e,o=new URLSearchParams;if(n&&o.set(`workflowName`,n),Array.isArray(r))throw new T(`listWorkflowRuns: status does not support an array of statuses on world-vercel yet; pass a single status`,{code:`INVALID_ARGUMENT`,field:`status`});r&&o.set(`status`,r),i?.limit&&o.set(`limit`,i.limit.toString()),i?.cursor&&o.set(`cursor`,i.cursor),i?.sortOrder&&o.set(`sortOrder`,i.sortOrder);let s=a===`none`?`lazy`:`resolve`;o.set(`remoteRefBehavior`,s);let c=o.toString(),l=await W({endpoint:`/v2/runs${c?`?${c}`:``}`,options:{method:`GET`},config:t,schema:ue(s===`lazy`?am:im)});return{...l,data:l.data.map(e=>om(e,a))}}async function cm(e,t){return ha(await W({endpoint:`/v1/runs/create`,options:{method:`POST`},data:e,config:t,schema:im}))}async function lm(e,t,n){let r=t?.resolveData??`all`;try{return await um(e,{resolveData:r},n)}catch(t){throw t instanceof T&&t.status===404?new Ce(e):t}}async function um(e,t,n){let{resolveData:r,waitMs:i,signal:a}=t,o=r===`none`?`lazy`:`resolve`,s=new URLSearchParams;s.set(`remoteRefBehavior`,o),i!==void 0&&s.set(`waitMs`,String(i));let c=i===void 0?``:`/status`,l=s.toString();return om(await W({endpoint:`/v2/runs/${encodeURIComponent(e)}${c}${l?`?${l}`:``}`,options:{method:`GET`,...a?{signal:a}:{}},config:n,retryConnectTimeout:!0,schema:o===`lazy`?am:im}),r)}const dm=c(`@workflow/world-vercel//runStatusLongPollSupport`,1,()=>({unsupportedUntilByBaseUrl:new Map}));function fm(e){return e.status===404||e.status===405||e.status===501||e.status===504||e.status===void 0&&(e.code===`TIMEOUT`||e.code===`TRANSPORT`)}async function pm(e,t,n){let r=t?.resolveData??`all`,i=Math.max(0,Math.min(t?.timeoutMs??0,Gi()-1e4)),{baseUrl:a}=va(n),o=dm.unsupportedUntilByBaseUrl.get(a)??0;if(i===0||Date.now()<o)return lm(e,{resolveData:r},n);try{return await um(e,{resolveData:r,waitMs:i,...t?.signal?{signal:t.signal}:{}},n)}catch(i){if(t?.signal?.aborted||!(i instanceof T)||!fm(i))throw i;let o=await lm(e,{resolveData:r},n);return dm.unsupportedUntilByBaseUrl.set(a,Date.now()+3e5),o}}async function mm(e,t,n){let r=[...new Set(e)],i=await Promise.all(r.map(async e=>{try{return await lm(e,t,n)}catch(e){if(e instanceof Ce)return null;throw e}})),a=new Map(r.map((e,t)=>[e,i[t]]));return e.map(e=>a.get(e)??null)}async function hm(e,t,n){let r=t?.resolveData??`all`,i=r===`none`?`lazy`:`resolve`,a=new URLSearchParams;a.set(`remoteRefBehavior`,i);let o=a.toString(),s=`/v1/runs/${encodeURIComponent(e)}/cancel${o?`?${o}`:``}`;try{return om(await W({endpoint:s,options:{method:`PUT`},config:n,schema:i===`lazy`?am:im}),r)}catch(t){throw t instanceof T&&t.status===404?new Ce(e):t}}async function gm(e,t){let{runIds:n,cancelReason:r}=x.parse(e),i=await W({endpoint:`/v4/runs/cancel`,options:{method:`POST`},data:r===void 0?{runIds:n}:{runIds:n,cancelReason:r},config:t,schema:u}),a=new Map(i.results.map(e=>[e.runId,e]));if(!(a.size===i.results.length&&i.results.length===n.length&&n.every(e=>a.has(e))))throw new T(`Bulk cancel response did not contain exactly one result per requested run ID (requested ${n.length}, received ${i.results.length}).`);let o=n.map(e=>a.get(e));return{summary:i.summary,results:o}}const _m=D.compile(D.object({attributes:D.record(D.string(),D.string())}));async function vm(e,t,n,r){try{return{attributes:(await W({endpoint:`/v2/runs/${encodeURIComponent(e)}/attributes`,options:{method:`POST`},data:n?.allowReservedAttributes?{changes:t,allowReservedAttributes:!0}:{changes:t},config:r,schema:_m})).attributes}}catch(t){throw t instanceof T&&t.status===404?new Ce(e):t}}function ym(e){let t=e.startsWith(`wrun_`)?e.slice(5):e;try{return me(`wrun_${Be(t).ulid}`,`wrun_`)}catch{return me(e,`wrun_`)}}const bm=new Set([`run_created`,`run_started`,`step_started`]);function xm(e){if(e.eventType===`attr_set`)try{ie(e.eventData)}catch(e){throw e instanceof le?new T(e.message,{status:400}):e}let t=e.eventData??{},n=oe(e.eventType),r={};if(typeof t.deploymentId==`string`&&(r.deploymentId=t.deploymentId),typeof t.workflowName==`string`&&(r.workflowName=t.workflowName),typeof t.stepName==`string`&&(r.stepName=t.stepName),typeof t.attempt==`number`&&(r.attempt=t.attempt),t.resumeAt instanceof Date)r.resumeAt=t.resumeAt;else if(typeof t.resumeAt==`string`){let e=new Date(t.resumeAt);Number.isNaN(e.getTime())||(r.resumeAt=e)}if(t.retryAfter instanceof Date)r.retryAfter=t.retryAfter;else if(typeof t.retryAfter==`string`){let e=new Date(t.retryAfter);Number.isNaN(e.getTime())||(r.retryAfter=e)}typeof t.token==`string`&&(r.hookToken=t.token),t.tokenRetentionUntil instanceof Date&&(r.hookTokenRetentionUntil=t.tokenRetentionUntil),typeof t.isWebhook==`boolean`&&(r.hookIsWebhook=t.isWebhook),typeof t.isSystem==`boolean`&&(r.hookIsSystem=t.isSystem),t.force===!0&&(r.hookForce=!0),typeof t.errorCode==`string`&&(r.errorCode=t.errorCode),typeof t.cancelReason==`string`&&(r.cancelReason=t.cancelReason),typeof t.ownerMessageId==`string`&&(r.ownerMessageId=t.ownerMessageId),t.executionContext!==void 0&&t.executionContext!==null&&typeof t.executionContext==`object`&&(r.executionContext=t.executionContext),t.attributes!==void 0&&t.attributes!==null&&typeof t.attributes==`object`&&(r.attributes=t.attributes),Array.isArray(t.changes)&&(r.changes=t.changes),t.writer!==void 0&&t.writer!==null&&typeof t.writer==`object`&&(r.writer=t.writer),typeof t.allowReservedAttributes==`boolean`&&(r.allowReservedAttributes=t.allowReservedAttributes),typeof t.encryptionPublicKey==`string`&&(r.encryptionPublicKey=t.encryptionPublicKey),t.dynamicWorkflowCode instanceof Uint8Array&&(r.dynamicWorkflowCode=t.dynamicWorkflowCode),typeof t.dynamicWorkflowCodeRef==`string`&&(r.dynamicWorkflowCodeRef=t.dynamicWorkflowCodeRef),typeof t.ttfs==`number`&&(r.ttfs=t.ttfs),typeof t.stso==`number`&&(r.stso=t.stso),typeof t.stepCount==`number`&&Number.isSafeInteger(t.stepCount)&&t.stepCount>0&&(r.stepCount=t.stepCount),typeof t.eventCount==`number`&&Number.isSafeInteger(t.eventCount)&&t.eventCount>0&&(r.eventCount=t.eventCount),typeof t.rsfs==`number`&&(r.rsfs=t.rsfs),typeof t.finalSchedulingReplay==`number`&&(r.finalSchedulingReplay=t.finalSchedulingReplay),Array.isArray(t.optimizations)&&t.optimizations.every(e=>typeof e==`string`)&&(r.optimizations=t.optimizations);let i;if(n&&n in t){let r=t[n];if(r!==void 0){if(!(r instanceof Uint8Array))throw TypeError(`world-vercel v4: eventData.${n} for ${e.eventType} must be a Uint8Array (the runtime's dehydrated wire form); got ${typeof r==`object`?r===null?`null`:r.constructor?.name??typeof r:typeof r}.`);i=r}}return{payload:i,meta:r}}async function Sm(e,t,n,r){return Up(e,t,n?.resolveData===`none`?`lazy`:`resolve`,r)}async function Cm(e,t){let{pagination:n,resolveData:r=`all`}=e,i={...n,remoteRefBehavior:r===`none`?`lazy`:r===`skip-step-inputs`?`skip-step-inputs`:`resolve`},a=await(`correlationId`in e?nm(e.correlationId,e.runId,i,t):tm(e.runId,i,t));return{data:`correlationId`in e?a.events.filter(t=>t.runId===e.runId):a.events,cursor:a.cursor,hasMore:a.hasMore,...a.snapshot?{snapshot:a.snapshot}:{}}}async function wm(e,t,n,r){if(t.length===0)throw new T(`world-vercel: createBatch requires at least one event`,{status:400});if(t.some(({event:e})=>e.eventType===`hook_received`))throw new T(`world-vercel: hook_received cannot be batched (it has no entity condition, so a batch retry would append the delivery twice); send it through the single-event path`,{status:400});let i=t.map(({event:t,occurredAt:r,computeInstanceId:i})=>{let{payload:a,meta:o}=xm(t);return{runId:e,eventType:t.eventType,specVersion:t.specVersion??2,...t.correlationId?{correlationId:t.correlationId}:{},occurredAt:r??new Date,...i===void 0?{}:{computeInstanceId:i},remoteRefBehavior:n?.resolveData===`all`?`resolve`:`lazy`,...n?.requestId?{vercelId:n.requestId}:{},payload:a,...o,...n?.inBand===void 0?{}:{inBand:n.inBand},...n?.expectedSeqInBand===void 0?{}:{expectedSeqInBand:n.expectedSeqInBand}}}),a=t.every(({event:e})=>e.eventType!==`step_started`&&e.eventType!==`step_retrying`);return{results:(await Xr(()=>Ip({runId:e,events:i},r),t[0].event.eventType,{batchIdempotent:a,inBand:n?.inBand===!0})).results.map(e=>e.error===void 0?{status:200,event:e.event,...e.run?{run:e.run}:{},...e.step?{step:e.step}:{},...e.wait?{wait:e.wait}:{}}:{status:e.status,error:e.error,message:e.message})}}async function Tm(e,t,n,r){try{let i=await Xr(()=>Em(e,t,n,r),t.eventType,{idempotentHookResume:t.eventType===`hook_received`&&n?.resumeId!==void 0&&n?.resumePayloadDigest!==void 0,afterStepBody:n?.afterStepBody===!0,inBand:n?.inBand===!0});if(t.eventType===`run_created`&&!i.run)throw new T(`${t.eventType} response is missing the run entity`,{code:`SCHEMA_VALIDATION`});if(t.eventType===`run_started`&&!i.run?.startedAt)throw new T(`run_started response is missing run.startedAt`,{code:`SCHEMA_VALIDATION`});if(t.eventType===`step_started`&&!i.step?.startedAt)throw new T(`step_started response is missing step.startedAt`,{code:`SCHEMA_VALIDATION`});return i}catch(e){if(e instanceof Pr||e instanceof Fr)throw e.error;if(ke.is(e)&&t.eventType===`hook_received`){let n=t.eventData?.token;throw new ke(typeof n==`string`?n:e.token,e.claimedByRunId,e.claimedByHookId)}throw C(t.eventType)&&T.is(e)&&e.status===404&&t.correlationId?new je(t.correlationId):e}}async function Em(e,t,n,r){if(n?.v1Compat){if(t.eventType===`run_cancelled`&&e)return{run:await hm(e,{...n,resolveData:re(n.resolveData)},r)};if(t.eventType===`run_created`)return{run:await cm(t.eventData,r)};if(e===null)throw new T(`world-vercel: v1Compat=true requires a runId for ${t.eventType}`,{status:400});return{event:await W({endpoint:`/v1/runs/${encodeURIComponent(e)}/events`,options:{method:`POST`},data:t,config:r,schema:ap})}}if(e===null)throw new T(`world-vercel v4: createWorkflowRunEvent requires a client-generated runId for run_created (the runId is part of the payload storage ref key). Generate a wrun_ ULID before calling.`,{status:400});if(t.eventType===`run_created`){let t=ym(e);if(t)throw new T(t,{status:400})}let i=bm.has(t.eventType)||t.eventType===`hook_created`&&n?.resolveData===`all`?`resolve`:`lazy`,{payload:a,meta:o}=xm(t),s={runId:e,specVersion:t.specVersion??2,...t.eventType===`run_started`?{executorSpecVersion:r?.mintedSpecVersion??de()}:{},...t.correlationId?{correlationId:t.correlationId}:{},...n?.requestId?{vercelId:n.requestId}:{},...n?.computeInstanceId?{computeInstanceId:n.computeInstanceId}:{},...n?.eventCount===void 0?{}:{maxSlot:n.eventCount},replayDivergenceCount:n?.replayDivergenceCount,...n?.inBand===void 0?{}:{inBand:n.inBand},...n?.expectedSeqInBand===void 0?{}:{expectedSeqInBand:n.expectedSeqInBand},occurredAt:n?.occurredAt??new Date,...n?.sinceCursor?{sinceCursor:n.sinceCursor}:{},...n?.resumeId?{resumeId:n.resumeId}:{},...n?.resumePayloadDigest?{resumePayloadDigest:n.resumePayloadDigest}:{},...n?.viaStepDispatch?{viaStepDispatch:!0}:{},...n?.resolveData===`skip-step-inputs`?{eventsRemoteRefBehavior:`skip-step-inputs`}:{},remoteRefBehavior:i,payload:a,...o};if(t.eventType===`run_started`&&!n?.skipPreload){let e=await Pp(s,r,n?.replayEventObserver),t=Dm(e.events);if(!t)throw new T(`v4 createEvent: run_started stream is missing lifecycle events`,{code:`SCHEMA_VALIDATION`});return{event:t.event,run:t.run,events:e.events,cursor:e.cursor,hasMore:e.hasMore,maxEvents:e.maxEvents}}if(t.eventType===`hook_received`&&n?.preloadEvents===!0&&n.resumeId!==void 0&&n.resumePayloadDigest!==void 0){let e=await Vp({...s,remoteRefBehavior:`lazy`},r,n.replayEventObserver);if(e.kind===`materialized`)return e.result;let{canonicalEventId:t,maxEvents:i,events:a,cursor:o,hasMore:c}=e,l=a.find(e=>e.eventId===t),u=Dm(a);return{...l?{event:l}:{},...u?{run:u.run}:{},events:a,cursor:o,hasMore:c,...i===void 0?{}:{maxEvents:i}}}let c=await kp(t.eventType===`run_started`?{...s,eventType:`run_started`,skipPreload:!0}:{...s,eventType:t.eventType},r);return c.event?{...c,eventCursor:`eid:${c.event.eventId}`}:c}function Dm(e){let t=e.find(e=>e.eventType===`run_created`),n=e.find(e=>e.eventType===`run_started`);if(!t||!n)return;let r=t.eventData.attributes??{},i=n.createdAt;for(let t of e)t.eventType===`attr_set`&&(r=fe(r,t.eventData.changes),i=t.createdAt);return{event:n,run:{runId:t.runId,status:`running`,deploymentId:t.eventData.deploymentId,workflowName:t.eventData.workflowName,specVersion:t.specVersion,executionContext:t.eventData.executionContext,input:t.eventData.input,attributes:r,encryptionPublicKey:t.eventData.encryptionPublicKey,startedAt:n.createdAt,createdAt:t.createdAt,updatedAt:i}}}function Om(e,t){if(t===`none`){let{metadataRef:t,...n}=e;return n}return qf(e)}const km=qe.compile(be.omit({metadata:!0}).extend({metadataRef:qe.any().optional()}));async function Am(e,t){let{runId:n,pagination:r,resolveData:i=`all`}=e,a=new URLSearchParams;r?.limit&&a.set(`limit`,r.limit.toString()),r?.cursor&&a.set(`cursor`,r.cursor),r?.sortOrder&&a.set(`sortOrder`,r.sortOrder);let o=i===`none`?`lazy`:`resolve`;a.set(`remoteRefBehavior`,o),n&&a.set(`runId`,n);let s=a.toString(),c=await W({endpoint:`/v2/hooks${s?`?${s}`:``}`,options:{method:`GET`},config:t,schema:ue(o===`lazy`?km:be)});return{...c,data:c.data.map(e=>Om(e,i))}}async function jm(e,t,n){let r=t?.resolveData||`all`;return Om(await W({endpoint:`/v2/hooks/${encodeURIComponent(e)}`,options:{method:`GET`},config:n,schema:be}),r)}async function Mm(e,t){try{return await W({endpoint:`/v2/hooks/by-token?token=${encodeURIComponent(e)}`,options:{method:`GET`},config:t,schema:be})}catch(t){throw T.is(t)&&t.status===404?new je(e):t}}function Nm(e){let t={};for(let[n,r]of e)t[n]=r;return t}function Pm(e){Ki&&console.debug(`[workflow:world-vercel:http] WORLD_SNAPSHOT_DIAG`,e)}function Fm(e){return{async save(t,n,r){let i=performance.now(),{baseUrl:a,headers:o}=await U(e),s=`${a}/v2/runs/${encodeURIComponent(t)}/snapshot`,c=ce(r,n);if(c.byteLength>67108864)throw Pm({op:`save`,runId:t,outcome:`too_large`,wireBytes:c.byteLength}),new T(`Snapshot for run ${t} is ${c.byteLength} bytes, over the 67108864-byte limit; not uploading`,{url:s});o.set(`Content-Type`,`application/octet-stream`),o.set(`X-Snapshot-Events-Cursor`,r.eventsCursor??``),o.set(`X-Snapshot-Created-At`,r.createdAt.toISOString()),await ai(o);let l=performance.now(),u=await(0,Un.request)(s,{method:`PUT`,body:c,headers:Nm(o),dispatcher:vr(e)}),d=Math.round(performance.now()-l);if(u.statusCode<200||u.statusCode>=300){let e=await u.body.text().catch(()=>``);throw new T(`PUT /v2/runs/${t}/snapshot -> HTTP ${u.statusCode}: ${e}`,{url:s,status:u.statusCode})}await u.body.text(),Pm({op:`save`,runId:t,wireBytes:c.byteLength,putDurationMs:d,totalDurationMs:Math.round(performance.now()-i)})},async load(t){let n=performance.now(),{baseUrl:r,headers:i}=await U(e),a=`${r}/v2/runs/${encodeURIComponent(t)}/snapshot`;i.set(`Accept`,`application/octet-stream`),await ai(i);let o=performance.now(),s=await fetch(a,{method:`GET`,headers:i,dispatcher:vr(e)}),c=Math.round(performance.now()-o);if(s.status===404)return await s.text().catch(()=>{}),Pm({op:`load`,runId:t,outcome:`not_found`,getDurationMs:c,totalDurationMs:Math.round(performance.now()-n)}),null;if(!s.ok){let e=await s.text().catch(()=>``);throw new T(`GET /v2/runs/${t}/snapshot -> HTTP ${s.status}: ${e}`,{url:a,status:s.status})}let l=await s.arrayBuffer(),u=new Uint8Array(l),d=ee(u);return Pm({op:`load`,runId:t,outcome:d?`ok`:`undecodable_envelope`,wireBytes:u.byteLength,getDurationMs:c,totalDurationMs:Math.round(performance.now()-n)}),d},async delete(t){let{baseUrl:n,headers:r}=await U(e),i=`${n}/v2/runs/${encodeURIComponent(t)}/snapshot`;await ai(r);let a=await fetch(i,{method:`DELETE`,headers:r,dispatcher:vr(e)});if(!a.ok&&a.status!==404){let e=await a.text().catch(()=>``);throw new T(`DELETE /v2/runs/${t}/snapshot -> HTTP ${a.status}: ${e}`,{url:i,status:a.status})}await a.text()}}}function Im(e){let t=Fm(e),n={runs:{get:((t,n)=>lm(t,n,e)),waitForTerminalStatus:((t,n)=>pm(t,n,e)),getMany:((t,n)=>mm(t,n,e)),list:(t=>sm(t,e)),experimentalSetAttributes:(t,n,r)=>vm(t,n,r,e),cancelMany:t=>gm(t,e)},steps:{get:((t,n,r)=>$f(t,n,r,e)),list:(t=>Qf(t,e))},events:{create:(t,n,r)=>Tm(t,n,r,e),createBatch:(t,n,r)=>wm(t,n,r,e),get:(t,n,r)=>Sm(t,n,r,e),list:t=>Cm(t,e),listByCorrelationId:t=>Cm(t,e)},hooks:{get:(t,n)=>jm(t,n,e),getByToken:t=>Mm(t,e),list:t=>Am(t,e)},experimental_snapshots:t};return{runs:mo(`world.runs`,n.runs),steps:mo(`world.steps`,n.steps),events:mo(`world.events`,n.events),hooks:mo(`world.hooks`,n.hooks),experimental_snapshots:mo(`world.experimental_snapshots`,t)}}const Lm=1e3;function Rm(e){let t=new TextEncoder;return e.map(e=>typeof e==`string`?t.encode(e):e)}function zm(e){return Bm(Rm(e))}function Bm(e){let t=0;for(let n of e)if(t+=4+n.length,t>4294967295)throw RangeError(`encoded stream chunks exceed the u32 body-length limit: ${t} bytes`);let n=new Uint8Array(t),r=new DataView(n.buffer),i=0;for(let t of e)r.setUint32(i,t.length,!1),i+=4,n.set(t,i),i+=t.length;return n}const Vm=Lm,Hm=D.number().int().nonnegative(),Um=Hm,Wm=D.string().regex(/^wrtr_[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$/),Gm=D.object({type:D.literal(`write`),reqId:Um,chunkSeq:Hm,numChunks:D.number().int().positive().max(Vm)}),Km=D.object({type:D.literal(`close`),reqId:Um});D.discriminatedUnion(`type`,[Gm,Km]);const qm=D.object({type:D.literal(`write_ack`),reqId:Um}),Jm=D.object({type:D.literal(`close_ack`),reqId:Um}),Ym=D.object({type:D.literal(`error`),reqId:Um.optional(),status:D.number().int(),message:D.string().optional(),retryAfter:D.string().optional()}),Xm=D.object({type:D.literal(`drain`),reason:D.enum([`auth_expiry`,`max_duration`]),graceMs:Hm}),Zm=D.discriminatedUnion(`type`,[qm,Jm,Ym,Xm]);function Qm(e,t,n,r){let i=Wm.parse(r),a=new URL(e);return a.protocol=a.protocol===`https:`?`wss:`:`ws:`,a.pathname=`${a.pathname.replace(/\/$/,``)}/websockets/v1/runs/${encodeURIComponent(t)}/streams/${encodeURIComponent(n)}`,a.search=new URLSearchParams({writerId:i}).toString(),a}function $m(e,t){let n=Gm.parse(e);if(n.numChunks!==t.length)throw Error(`stream WebSocket write declares ${n.numChunks} chunks but received ${t.length}`);let r=Rm(t);for(let e of r){let t=e.byteLength;if(t>10485760)throw Error(`stream WebSocket chunk is ${t} bytes; maximum is 10485760`)}return Af(n,Bm(r))}function eh(e,t,n){let r=Math.min(e.length,t+Vm),i=132+e[t].byteLength,a=t+1;for(;a<r&&(i+=4+e[a].byteLength,!(i>n));)a++;return a}function th(e){return Af(Km.parse(e),new Uint8Array)}function nh(e,t){if(t.byteLength!==0)throw Error(`stream WebSocket reply body must be empty`);return Zm.parse(e)}const rh=[`frame-parts`];function ih(){return w(`WORKFLOW_WS_MAX_MESSAGE_BYTES`,12582912,{min:2097152,max:16777216,integer:!0})}function ah(e,t,n){let r=Af(e,t);if(r.byteLength<=n)return[r];if(t.byteLength>268435456)throw new lh(`ws frame body of ${t.byteLength} bytes is over the ${dh}-byte limit for a split frame`);let i=e.reqId;if(!ph(i))throw Error(`ws frame of ${r.byteLength} bytes exceeds the ${n}-byte message limit and has no reqId to split it under`);let a=t.byteLength+1,o=Af({...e,partIndex:0,partCount:a},oh).byteLength,s=Af(ch(i,a,a),oh).byteLength,c=n-o,l=n-s;if(c<=0||l<=0)throw Error(`ws frame meta does not fit in the ${n}-byte message limit`);let u=t.byteLength-c,d=1+Math.ceil(u/l);if(d>257)throw Error(`ws frame of ${r.byteLength} bytes needs ${d} parts at a ${n}-byte message limit; at most 257 are allowed`);let f=[Af({...e,partIndex:0,partCount:d},t.subarray(0,c))];for(let e=1;e<d;e++){let n=c+(e-1)*l;f.push(Af(ch(i,e,d),t.subarray(n,Math.min(n+l,t.byteLength))))}return f}const oh=new Uint8Array;function sh(e,t){if(e.byteLength<=t)return[e];let{meta:n,body:r}=jf(e);return ah(n,r,t)}function ch(e,t,n){return{type:`part`,reqId:e,partIndex:t,partCount:n}}var lh=class extends Error{name=`WsFrameTooLargeError`},uh=class extends Error{name=`WsPartProtocolError`};const dh=268435456;var fh=class{open=new Map;maxFrameBytes;maxBodyBytes;onTooLarge;maxOpenFrames;maxPartCount;wanted;onDiscarded;constructor(e={}){this.maxFrameBytes=e.maxFrameBytes??268435456,this.maxBodyBytes=Math.min(e.maxBodyBytes??this.maxFrameBytes,this.maxFrameBytes),this.onTooLarge=e.onTooLarge??(()=>{}),this.maxOpenFrames=e.maxOpenFrames??1,this.maxPartCount=e.maxPartCount??257,this.wanted=e.wanted??(()=>!0),this.onDiscarded=e.onDiscarded??(()=>{})}accept(e){let{meta:t,body:n}=e;if(t.type===`part`)return this.continue(t,n);let{reqId:r,partIndex:i,partCount:a}=t;if(!(`partIndex`in t)&&!(`partCount`in t)){if(ph(r)&&this.open.has(r))throw new uh(`whole frame for reqId ${r} while its split frame is open`);return e}if(!ph(r))throw new uh(`first part has no valid reqId`);if(i!==0)throw new uh(`first part for reqId ${r} has partIndex ${String(i)}, expected 0`);if(!mh(a)||a>this.maxPartCount)throw new uh(`first part for reqId ${r} has invalid partCount ${String(a)} (2..${this.maxPartCount})`);if(this.open.has(r))throw new uh(`second first part for reqId ${r} while one is open`);if(this.open.size>=this.maxOpenFrames)throw new uh(`more than ${this.maxOpenFrames} split frames open at once`);let{partIndex:o,partCount:s,...c}=t,l={meta:c,partCount:a,nextIndex:1,chunks:[],bytes:0,discard:!this.wanted(r),tooLarge:!1};this.open.set(r,l),this.addChunk(r,l,n)}get openFrames(){return this.open.size}continue(e,t){let n=Object.keys(e);if(n.length!==4||!(`reqId`in e)||!(`partIndex`in e)||!(`partCount`in e))throw new uh(`continuation part must have exactly type, reqId, partIndex and partCount, got ${n.join(`, `)}`);let{reqId:r,partIndex:i,partCount:a}=e;if(!ph(r))throw new uh(`continuation part has no valid reqId`);let o=this.open.get(r);if(!o)throw new uh(`continuation part for reqId ${r} with no open frame`);if(a!==o.partCount)throw new uh(`continuation part for reqId ${r} has partCount ${String(a)}, expected ${o.partCount}`);if(i!==o.nextIndex)throw new uh(`continuation part for reqId ${r} has partIndex ${String(i)}, expected ${o.nextIndex}`);let s=o.nextIndex===o.partCount-1;if(this.addChunk(r,o,t),o.nextIndex++,!s)return;if(this.close(r),o.tooLarge){this.onTooLarge(r,o.bytes);return}if(o.discard){this.onDiscarded(r);return}let c=new Uint8Array(o.bytes),l=0;for(let e of o.chunks)c.set(e,l),l+=e.byteLength;return{meta:o.meta,body:c}}addChunk(e,t,n){if(t.bytes+n.byteLength>this.maxFrameBytes)throw this.close(e),new uh(`frame for reqId ${e} exceeds ${this.maxFrameBytes} bytes`);t.bytes+=n.byteLength,!t.discard&&t.bytes>this.maxBodyBytes&&(t.discard=!0,t.tooLarge=!0,t.chunks=[]),!t.discard&&t.chunks.push(n.slice())}close(e){this.open.delete(e)}};function ph(e){return typeof e==`number`&&Number.isInteger(e)&&e>=0}function mh(e){return typeof e==`number`&&Number.isInteger(e)&&e>=2}function hh(e,t){if(e.readyState===3)return;let r=!1,i=new Promise(t=>{let n=!1,i=()=>{n||(n=!0,clearTimeout(a),t())},a=setTimeout(()=>{r=!0,i()},250);a.unref?.(),e.once(`close`,i)}),a=ri(`workflow.stream.ws.close.cleanup`,async e=>{await i,e?.setAttribute(`workflow.stream.ws.close_cleanup_timeout`,r)});import(`../../_chunks/workflow/functions-CKkqf9V6.js`).then(e=>n(e.default,1)).then(({waitUntil:e})=>e(a)).catch(()=>{}),a.catch(()=>{}),e.close(1e3,t)}function gh(){return performance.now()}function _h(e,t,n){return e?{"workflow.stream.ws.session_first_write":e.sessionFirstWrite,"workflow.stream.ws.connection_first_write":t?.firstWriteSent===!1,"workflow.stream.ws.connection_attempt":t?.attempt??0,"workflow.stream.ws.session_to_write_ms":e.startedAt-n}:{}}function vh(e,t,n){n&&(n.firstWriteSent=!0);let r=n?.openedAt,i=n?.socketStartedAt,a=n?.configFinishedAt;e?.setAttributes({"workflow.stream.ws.write_wait_for_open_ms":r?Math.max(0,r-t.startedAt):0,...i&&a?{"workflow.stream.ws.connect_setup_ms":i-a}:{},...i&&r?{"workflow.stream.ws.connect_ms":r-i}:{},...a&&n?{"workflow.stream.ws.config_token_ms":a-n.configStartedAt}:{}})}function yh(e,t,n,r){let i=gh();r.sentAt=i,e?.setAttributes({"workflow.stream.ws.write_to_send_ms":i-t.startedAt,...n?.openedAt?{"workflow.stream.ws.open_to_send_ms":Math.max(0,i-n.openedAt)}:{}})}function bh(e,t,n){if(n?.sentAt===void 0||n.replyReceivedAt===void 0)return;let r=gh();e?.setAttributes({"workflow.stream.ws.send_to_reply_ms":n.replyReceivedAt-n.sentAt,"workflow.stream.ws.reply_processing_ms":r-n.replyReceivedAt,"workflow.stream.ws.write_total_ms":r-t.startedAt})}function xh(e){return e.get(`authorization`)}var Sh=class extends Error{constructor(e){super(e instanceof Error?e.message:String(e),{cause:e}),this.name=`StreamWsRequestNotSentError`}},Ch=class extends Error{retryAfter;constructor(e,t){super(e),this.retryAfter=t,this.name=`StreamWsThrottledError`}},wh=class extends Error{constructor(e){super(e),this.name=`StreamWsCloseRetriableError`}};function Th(e){return e instanceof Uint8Array?e:typeof e==`string`?new TextEncoder().encode(e):new Uint8Array(e)}var Eh=class{runId;name;writerId;config;writeHttp;closeHttp;connectAfterFirstWrite;mode=`connecting`;socket;connect=Promise.resolve();transportDecision=Promise.resolve();tail=Promise.resolve();inbound=Promise.resolve();nextReqId=1;pending;poisonError;throttledSocket;terminated=new AbortController;wsUrl;closeAcknowledged=!1;idleReconnects=0;drainReason;drainTimer;releaseDrainWait;lastAuthorization=null;sessionCreatedAt=gh();sessionHasWrite=!1;connectionAttempt=0;connectionTiming;constructor(e,t,n,r,i,a,o){this.runId=e,this.name=t,this.writerId=n,this.config=r,this.writeHttp=i,this.closeHttp=a,this.connectAfterFirstWrite=o,o?this.mode=`deferred`:this.startInitialConnect()}write(e,t){let n={startedAt:gh(),sessionFirstWrite:!this.sessionHasWrite};return this.sessionHasWrite=!0,this.enqueue(()=>this.writeInternal(e,t,n))}async writeInternal(e,t,n){if(this.assertUsable(),this.mode===`deferred`){await this.writeFirstGroup(t,n);return}if(this.mode===`waiting_to_connect`){await this.writeSecondGroupAndStartConnect(t,n);return}if(this.shouldWriteHttpWhileConnecting()){await this.writeWhileInitialConnectRuns(t,n);return}if(await this.transportDecision,this.assertUsable(),this.mode===`http`){await this.writeHttpOrFail(t);return}let r=ih(),i=Rm(t);for(let a=0;a<t.length;){let o=eh(i,a,r),s=i.slice(a,o),c;try{c=await this.requestRetryingThrottle(`write`,t=>$m({type:`write`,reqId:t,chunkSeq:e+a,numChunks:s.length},s),a===0?n:void 0,{chunkSeq:e+a,numChunks:s.length},r)}catch(e){if(!(e instanceof Sh))throw e;this.fallbackToHttpBeforeSend(),await this.writeHttpOrFail(t.slice(a));return}if(c.type!==`write_ack`)throw this.poison(Error(`stream WebSocket write received ${c.type}`));a=o}}async writeHttpOrFail(e){try{await this.writeHttp(e)}catch(e){throw this.failUnknown(e),this.poisonError}}shouldWriteHttpWhileConnecting(){return this.mode===`connecting`&&this.connectionAttempt===1}async writeWhileInitialConnectRuns(e,t){try{await this.writeHttp(e,{"workflow.stream.ws.session_first_write":t.sessionFirstWrite,"workflow.stream.ws.connection_attempt":this.connectionAttempt,"workflow.stream.ws.connecting_at_write":!0,"workflow.stream.ws.session_to_write_ms":t.startedAt-this.sessionCreatedAt})}catch(e){throw this.failUnknown(e),this.poisonError}}async writeSecondGroupAndStartConnect(e,t){try{await this.writeHttp(e,{"workflow.stream.ws.session_first_write":t.sessionFirstWrite,"workflow.stream.ws.connection_attempt":0,"workflow.stream.ws.connecting_at_write":!1,"workflow.stream.ws.connect_after_http_group":2,"workflow.stream.ws.session_to_write_ms":t.startedAt-this.sessionCreatedAt},()=>{this.mode===`waiting_to_connect`&&this.startInitialConnect()})}catch(e){throw this.failUnknown(e),this.poisonError}}async writeFirstGroup(e,t){try{await this.writeHttp(e,{"workflow.stream.ws.session_first_write":t.sessionFirstWrite,"workflow.stream.ws.connection_attempt":0,"workflow.stream.ws.connecting_at_write":!1,"workflow.stream.ws.connect_deferred_at_write":!0,"workflow.stream.ws.http_group_ordinal":1,"workflow.stream.ws.session_to_write_ms":t.startedAt-this.sessionCreatedAt})}catch(e){throw this.failUnknown(e),this.poisonError}this.mode===`deferred`&&(this.mode=`waiting_to_connect`)}release(){return this.enqueue(async()=>{this.mode!==`closed`&&this.mode!==`poisoned`&&this.fallbackToHttpBeforeSend(`stream writer released`)})}dispose(){if(this.mode===`closed`)return;this.mode=`closed`,this.terminated.abort(),this.finishDrainWait();let e=this.pending;this.pending=void 0,e&&(clearTimeout(e.timer),e.reject(Error(`stream writer transport disposed`))),this.socket?.close(1e3,`stream writer disposed`)}close(){return this.enqueue(async()=>{if(this.assertUsable(),this.mode===`deferred`||this.mode===`waiting_to_connect`||this.connectAfterFirstWrite&&this.mode===`connecting`&&this.connectionAttempt===1){await this.closeHttp(),this.mode=`closed`,this.socket?.close(1e3,`stream closed over HTTP`);return}if(await this.transportDecision,this.assertUsable(),this.mode===`http`){await this.closeHttp(),this.mode=`closed`;return}await this.closeOverWs()})}async closeOverWs(){let e;try{e=await this.requestRetryingThrottle(`close`,e=>th({type:`close`,reqId:e}))}catch(e){if(!(e instanceof Sh||e instanceof wh))throw e;this.fallbackToHttpBeforeSend(),await this.closeHttp(),this.mode=`closed`;return}if(e.type!==`close_ack`)throw this.poison(Error(`stream WebSocket close received ${e.type}`));this.mode=`closed`,this.socket&&hh(this.socket,`stream closed`)}enqueue(e){let t=this.tail.then(e);return this.tail=t.catch(()=>{}),t}assertUsable(){if(this.mode===`poisoned`)throw this.poisonError;if(this.mode===`closed`)throw Error(`stream writer is closed`)}startInitialConnect(){this.mode=`connecting`,this.connect=this.startConnect(),this.transportDecision=this.makeTransportDecision(!1)}makeTransportDecision(e){return new Promise(t=>{let n=!1,r=()=>{n||(n=!0,clearTimeout(i),t())},i=setTimeout(()=>{this.mode===`connecting`&&(this.mode=`http`,this.socket?.close(1e3,`connect budget expired`)),r()},e?250:1e4);i.unref?.(),this.connect.then(r)})}startConnect(e=!1){let t=gh(),n={attempt:++this.connectionAttempt,configStartedAt:t,firstWriteSent:!1};return this.connectionTiming=n,this.connectSocket(e,n).catch(()=>{this.mode===`connecting`&&(this.mode=`http`)})}async connectSocket(e,t){if(!$d()){this.mode=`http`;return}e&&await(0,pt.getVercelOidcToken)({expirationBufferMs:864e5}).catch(()=>void 0);let n=U(this.config).then(e=>(t.configFinishedAt=gh(),e)),[{WebSocket:r},i]=await Promise.all([import(`../../_chunks/workflow/wrapper-Dq4OeGmJ.js`).then(e=>(e.n(),e.r)),n]);if(this.mode!==`connecting`)return;if(e&&xh(i.headers)===this.lastAuthorization){this.mode=`http`;return}if(this.lastAuthorization=xh(i.headers),i.usingProxy){this.mode=`http`;return}if(this.mode!==`connecting`)return;let a=Qm(i.baseUrl,this.runId,this.name,this.writerId);this.wsUrl=a.toString(),await sa({method:`GET`,url:this.wsUrl,spanName:`workflow.stream.ws.connect`,attributes:{"workflow.stream.transport":`ws`}},async()=>{if(await ai(i.headers),this.mode!==`connecting`)return;t.socketStartedAt=gh();let e=new r(a,{headers:$i(i.headers)});this.socket=e,e.binaryType=`nodebuffer`,await new Promise(n=>{let r=!1,i=()=>{r||(this.mode===`connecting`&&(this.mode=`http`),n())};e.once(`open`,()=>{if(r=!0,t.openedAt=gh(),this.mode!==`connecting`){e.close(1e3,`HTTP fallback selected`),n();return}this.mode=`ws`,n()}),e.once(`unexpected-response`,(t,n)=>{let r=n;r.resume?.(),r.destroy?.(),e.close(1e3,`upgrade declined`),i()}),e.once(`error`,t=>{if(!r){i();return}this.inbound.then(()=>{if(e===this.socket){if(this.isIdleThrottledSocket(e)){this.leaveThrottledSocketForHttp();return}this.failUnknown(t)}})}),e.once(`close`,t=>{if(!r){i();return}this.inbound.then(()=>this.handleSocketClose(Number(t),e))}),e.on(`message`,e=>{let t=gh();this.inbound=this.inbound.then(()=>this.handleMessage(Th(e),t))})})})}async handleMessage(e,t){try{let n=jf(e),r=nh(n.meta,n.body);if(r.type===`drain`){this.handleDrain(r.reason,r.graceMs);return}let i=this.pending;if(!i||r.reqId===void 0||r.reqId!==i.reqId)throw r.type===`error`?Error(`stream WebSocket connection failed (${r.status}): ${r.message??`unknown error`}`):Error(`stream WebSocket reply cannot be correlated`);this.pending=void 0,i.replyReceivedAt=t,clearTimeout(i.timer),r.type===`close_ack`&&(this.closeAcknowledged=!0),r.type===`error`?i.reject(this.requestError(i,r)):(r.type===`write_ack`&&(this.idleReconnects=0),i.resolve(r))}catch(e){this.failUnknown(e)}}handleDrain(e,t){if(this.mode===`draining`){e===`auth_expiry`&&(this.drainReason=e);return}if(this.mode!==`ws`)return;this.mode=`draining`,this.drainReason=e,this.transportDecision=new Promise(e=>{this.releaseDrainWait=e});let n=this.socket;this.drainTimer=setTimeout(()=>{if(this.drainTimer=void 0,this.mode===`draining`&&n===this.socket){if(this.pending){this.failUnknown(Error(`stream WebSocket drain expired before request reply`));return}n?.close(1001,`stream drain grace expired`),this.handleSocketClose(1001,n)}},Math.min(t,2147483647)),this.drainTimer.unref?.()}handleSocketClose(e,t=this.socket){if(t===this.socket&&(this.drainTimer&&=(clearTimeout(this.drainTimer),void 0),!(this.mode===`closed`||this.mode===`http`||this.mode===`poisoned`||this.closeAcknowledged))){if(this.pending){this.failUnknown(Error(`stream WebSocket closed before reply`));return}if(t&&this.isIdleThrottledSocket(t)&&this.mode===`ws`){this.leaveThrottledSocketForHttp();return}if(this.mode===`draining`&&e!==1001){this.drainReason=void 0,this.mode=`http`,this.socket=void 0,this.finishDrainWait();return}if(this.mode===`draining`){let e=this.drainReason===`auth_expiry`;if(this.drainReason=void 0,this.idleReconnects>=3){this.mode=`http`,this.socket=void 0,this.finishDrainWait();return}this.idleReconnects++,this.mode=`connecting`,this.socket=void 0,this.connect=this.startConnect(e);let t=this.makeTransportDecision(!0);this.transportDecision=t,t.then(()=>this.finishDrainWait());return}if(this.idleReconnects>=3){this.mode=`http`,this.socket=void 0;return}this.idleReconnects++,this.mode=`connecting`,this.socket=void 0,this.connect=this.startConnect(),this.transportDecision=this.makeTransportDecision(!0)}}async request(e,t,n,r,i=ih()){this.assertUsable();let a=this.socket;if(this.mode!==`ws`||!a||a.readyState!==1)throw new Sh(Error(`stream WebSocket is not open before send`));let o=this.nextReqId++,s;try{s=t(o)}catch(e){throw new Sh(e)}if(s.byteLength>i)throw new Sh(Error(`stream WebSocket message is ${s.byteLength} bytes; maximum is ${i}`));let c=this.connectionTiming,l=c?.firstWriteSent===!1,u=n&&(n.sessionFirstWrite||l)?n:void 0;return sa({method:`POST`,url:this.wsUrl??`ws://unknown`,spanName:`workflow.stream.write`,attributes:{"workflow.stream.transport":`ws`,"workflow.stream.ws.req_id":o,...r?{"workflow.stream.ws.chunk_seq":r.chunkSeq,"workflow.stream.ws.num_chunks":r.numChunks}:{},..._h(u,c,this.sessionCreatedAt)}},async t=>{u&&vh(t,u,c);let n,r=new Promise((r,i)=>{let l=setTimeout(()=>{this.failUnknown(Error(`stream WebSocket request ${o} timed out with no reply`))},Gi());l.unref?.(),n={reqId:o,operation:e,resolve:r,reject:i,timer:l},this.pending=n;try{u&&yh(t,u,c,n),a.send(s,e=>{e&&this.failUnknown(e)})}catch(e){this.failUnknown(e)}});try{return await r}finally{u&&bh(t,u,n)}})}finishDrainWait(){this.drainTimer&&=(clearTimeout(this.drainTimer),void 0);let e=this.releaseDrainWait;this.releaseDrainWait=void 0,e?.()}fallbackToHttpBeforeSend(e=`HTTP fallback before send`){this.mode=`http`,this.drainReason=void 0;let t=this.socket;this.socket=void 0,this.transportDecision=Promise.resolve(),this.finishDrainWait(),t&&hh(t,e)}requestError(e,t){let n=`(${t.status}): ${t.message??`unknown error`}`;if(t.status===429)return this.throttledSocket=this.socket,new Ch(`stream WebSocket ${e.operation} throttled ${n}`,Qi(t.retryAfter));if(e.operation===`close`&&t.status>=500&&t.status<=599)return this.fallbackToHttpBeforeSend(`stream close retried over HTTP`),new wh(`stream WebSocket close failed ${n}`);let r=this.poison(Error(`stream WebSocket request failed ${n}`));return this.socket?.close(1011,`stream request failed`),r}async requestRetryingThrottle(e,t,n,r,i){let a=qr(e===`write`?`writing stream chunks`:`writing stream close`,`bounded`);for(let o=0;;o++)try{return await this.request(e,t,o===0?n:void 0,r,i)}catch(e){if(!(e instanceof Ch))throw e;await this.waitOutThrottle(a,e)}}async waitOutThrottle(e,t){try{await e(t,this.terminated.signal)}catch{throw this.assertUsable(),this.fallbackToHttpBeforeSend(`stream request throttled`),new Sh(t)}finally{this.throttledSocket=void 0}await this.transportDecision,this.assertUsable()}isIdleThrottledSocket(e){return!this.pending&&e===this.throttledSocket&&e===this.socket}leaveThrottledSocketForHttp(){this.drainReason=void 0,this.mode=`http`,this.socket=void 0,this.finishDrainWait()}failUnknown(e){let t=this.poison(e);this.finishDrainWait();let n=this.pending;this.pending=void 0,n&&(clearTimeout(n.timer),n.reject(t)),this.socket?.close(1011,`unknown stream write outcome`)}poison(e){return this.mode!==`poisoned`&&(this.mode=`poisoned`,this.poisonError=e,this.terminated.abort()),this.poisonError}};function Dh(e,t,n,r,i,a,o=!0){return new Eh(e,t,Wm.parse(n),r,i,a,o)}const Oh=()=>w(`WORKFLOW_MAX_CHUNKS_PER_REQUEST`,1e3,{integer:!0,min:1});function kh(e,t,n){return new URL(`${n.baseUrl}/v2/runs/${encodeURIComponent(t)}/stream/${encodeURIComponent(e)}`)}function Ah(e,t,n){return new URL(`${n.baseUrl}/v3/runs/${encodeURIComponent(t)}/stream/${encodeURIComponent(e)}`)}function jh(e){return{...yi(e.runId),...xi(e.name),...Si(e.operation),...typeof e.startIndex==`number`?Ci(e.startIndex):{}}}async function Mh(e){let t=`Failed to fetch stream: ${e.status}`;if(e.status!==410)return new E(t,{status:e.status});try{let n=await e.json();return na(e.status,typeof n.message==`string`?n.message:t,{code:n.error,details:n.details})}catch{return new E(t,{status:e.status})}}function Nh(e,t){return T.is(t)||Ae.is(t)||De.is(t)||E.is(t)||Ne.is(t)||Se.is(t)||Te.is(t)||Ee.is(t)?t:new E(e,{cause:t})}function Ph(e,t,n,r){let i=[`PUT ${t.origin}${t.pathname}`,...Ji(n.headers)];return new E(`Stream ${e} failed: HTTP ${n.status} (${i.join(`; `)}): ${r}`,{url:t.toString(),status:n.status})}const Fh=D.compile(D.object({tailIndex:D.number(),done:D.boolean()})),Ih=D.compile(D.object({data:D.array(D.object({index:D.number(),data:D.instanceof(Uint8Array)})),cursor:D.string().nullable(),hasMore:D.boolean(),done:D.boolean()}));async function Lh(e,t,n,r,i,a){let o=await U(r);o.headers.set(`X-Stream-Multi`,`true`);let s=Math.min(Oh(),Lm);for(let c=0;c<n.length;c+=s){let l=kh(t,e,o);await(await da({method:`PUT`,url:l.toString(),body:zm(n.slice(c,c+s)),headers:o.headers,dispatcher:xr(r),retryStreamAppend:!r?.dispatcher,timeoutMs:null,logLabel:l.pathname,spanName:`workflow.stream.write`,durationAttribute:`workflow.stream.write.chunk_rtt`,onRequestDispatched:c===0?a:void 0,attributes:{...jh({runId:e,name:t,operation:`write_multi`}),...c===0?i:void 0},buildError:async e=>Ph(`write`,l,e,await e.text())})).text()}}async function Rh(e,t,n){let r=await U(n);r.headers.set(`X-Stream-Done`,`true`);let i=kh(t,e,r);await(await da({method:`PUT`,url:i.toString(),headers:r.headers,dispatcher:Sr(n),timeoutMs:null,logLabel:i.pathname,spanName:`workflow.stream.write`,durationAttribute:`workflow.stream.write.chunk_rtt`,attributes:jh({runId:e,name:t,operation:`close`}),buildError:async e=>Ph(`close`,i,e,await e.text())})).text()}function zh(e){return{streams:{...$d()&&!va(e).usingProxy?{createWriteSession(t,n,{writerId:r}){return Dh(t,n,r,e,(r,i,a)=>Lh(t,n,r,e,i,a),()=>Rh(t,n,e))}}:{},async write(t,n,r){let i=await t,a=await U(e),o=kh(n,i,a);await(await da({method:`PUT`,url:o.toString(),body:r,headers:a.headers,dispatcher:xr(e),retryStreamAppend:!e?.dispatcher,timeoutMs:null,transportErrorCode:`STREAM_ERROR`,logLabel:o.pathname,spanName:`workflow.stream.write`,durationAttribute:`workflow.stream.write.chunk_rtt`,attributes:jh({runId:i,name:n,operation:`write`}),buildError:async e=>Ph(`write`,o,e,await e.text())})).text()},async writeMulti(t,n,r){if(r.length===0)return;let i=await t,a=await U(e);a.headers.set(`X-Stream-Multi`,`true`);let o=Oh();for(let t=0;t<r.length;t+=o){let s=zm(r.slice(t,t+o)),c=kh(n,i,a);await(await da({method:`PUT`,url:c.toString(),body:s,headers:a.headers,dispatcher:xr(e),retryStreamAppend:!e?.dispatcher,timeoutMs:null,transportErrorCode:`STREAM_ERROR`,logLabel:c.pathname,spanName:`workflow.stream.write`,durationAttribute:`workflow.stream.write.chunk_rtt`,attributes:jh({runId:i,name:n,operation:`write_multi`}),buildError:async e=>Ph(`write`,c,e,await e.text())})).text()}},async close(t,n){let r=await t,i=await U(e);i.headers.set(`X-Stream-Done`,`true`);let a=kh(n,r,i);await(await da({method:`PUT`,url:a.toString(),headers:i.headers,dispatcher:Sr(e),timeoutMs:null,transportErrorCode:`STREAM_ERROR`,logLabel:a.pathname,spanName:`workflow.stream.write`,durationAttribute:`workflow.stream.write.chunk_rtt`,attributes:jh({runId:r,name:n,operation:`close`}),buildError:async e=>Ph(`close`,a,e,await e.text())})).text()},async get(t,n,r){let i=await U(e);i.headers.set(`Accept`,`application/json`);let a=Ah(n,t,i);typeof r==`number`&&a.searchParams.set(`startIndex`,String(r));let o=await da({method:`GET`,url:a.toString(),headers:i.headers,dispatcher:void 0,timeoutMs:null,transportErrorCode:`STREAM_ERROR`,logLabel:a.pathname,spanName:`workflow.stream.read.connect`,attributes:jh({runId:t,name:n,operation:`read`,startIndex:r}),buildError:Mh});if(!o.body)throw new E(`No response body for stream`,{url:a.toString()});return o.body},async getChunks(t,n,r){let i=new URLSearchParams;r?.limit!=null&&i.set(`limit`,String(r.limit)),r?.cursor&&i.set(`cursor`,r.cursor);let a=i.toString(),o=`/v2/runs/${encodeURIComponent(t)}/streams/${encodeURIComponent(n)}/chunks${a?`?${a}`:``}`;try{return await W({endpoint:o,config:e,schema:Ih})}catch(e){throw Nh(`Failed to read stream chunks for ${n}`,e)}},async getInfo(t,n){let r=`/v2/runs/${encodeURIComponent(t)}/streams/${encodeURIComponent(n)}/info`;try{return await W({endpoint:r,config:e,schema:Fh})}catch(e){throw Nh(`Failed to read stream info for ${n}`,e)}},async list(t){let n=await U(e),r=new URL(`${n.baseUrl}/v2/runs/${encodeURIComponent(t)}/streams`),i=await da({method:`GET`,url:r.toString(),headers:n.headers,dispatcher:void 0,timeoutMs:null,transportErrorCode:`STREAM_ERROR`,logLabel:r.pathname,buildError:e=>new E(`Failed to list streams: ${e.status}`,{url:r.toString(),status:e.status})});try{return await i.json()}catch(e){throw Nh(`Failed to parse stream list response`,e)}}}}}var Bh=t({WsTransportError:()=>Vh,getWsEventsTransport:()=>qh,openWsChannel:()=>Yh,resolveWsTransport:()=>Qh,toEventsWsUrl:()=>Jh});We();var Vh=class extends Error{constructor(e,t){super(e,{cause:t?.cause}),this.name=`WsTransportError`}};function Hh(e){for(let[t,n]of Object.entries(e))if(t.toLowerCase()===`authorization`)return n;return null}function Uh(e){if(e.byteLength===0)return`(no message)`;let t=new TextDecoder().decode(e);try{let e=JSON.parse(t);return typeof e.message==`string`?e.message:t}catch{return t}}function Wh(e){return e instanceof Error?e.message:String(e)}var Gh=class{wsUrl;getHeaders;connection=null;connecting=null;reconnectAttempts=0;reconnectTimer=null;openCount=0;closed=!1;lastDrainReason=null;needsFreshToken=!1;lastAuthorization=null;constructor(e,t){this.wsUrl=e,this.getHeaders=t}async request(e,t={}){if(this.closed)throw new Vh(`workflow-server events WS channel for ${this.wsUrl} is closed`);let n=await this.ensureConnected(),r=n.nextReqId++,i=sh(e(r),ih());t.onMessages?.(i.length);let a=Gi(),o;try{return{...await new Promise((e,t)=>{n.pending.set(r,{resolve:e,reject:t}),o=setTimeout(()=>{n.pending.delete(r)&&(t(new Vh(`workflow-server events WS request ${r} to ${this.wsUrl} timed out after ${a}ms with no reply`)),this.failConnection(n,`workflow-server events WS connection to ${this.wsUrl} abandoned after request ${r} timed out`))},a),o.unref?.();let s=e=>{e&&n.pending.delete(r)&&t(new Vh(`workflow-server events WS send failed: ${Wh(e)}`,{cause:e}))};for(let e of i)n.ws.send(e,s)}),requestParts:i.length}}finally{o!==void 0&&clearTimeout(o)}}open(){this.closed||(this.openCount++,this.connection===null&&this.connecting===null&&this.ensureConnected().catch(()=>{this.close(`connect failed`)}))}release(e){this.openCount!==0&&(this.openCount--,this.openCount===0&&this.close(e))}close(e){if(this.closed)return;this.closed=!0,this.openCount=0,this.reconnectTimer!==null&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),Kh.transports.get(this.wsUrl)===this&&Kh.transports.delete(this.wsUrl);let t=this.connection;this.connection=null,t?.ws.close(1e3,e)}ensureConnected(){let e=this.connection;return e&&e.ws.readyState===Ge.default.OPEN?Promise.resolve(e):(this.connecting??=this.connectWithSpan().finally(()=>{this.connecting=null}),this.connecting)}async resolveUpgradeHeaders(){let e=this.needsFreshToken,t=await this.getHeaders({forceRefresh:e}),n=Hh(t);if(e&&n===this.lastAuthorization)throw new Vh(`workflow-server events WS connection to ${this.wsUrl} drained for auth expiry, but re-resolving the bearer produced the same token. Not reconnecting with a token the server has already rejected; the next event write will retry.`);this.lastAuthorization=n,this.needsFreshToken=!1;let r=new Headers;return await ai(r),r.forEach((e,n)=>{t[n]=e}),t[`x-workflow-ws-flags`]=rh.join(`, `),t}consumeDrainReason(){let e=this.lastDrainReason;this.lastDrainReason=null,e===`auth_expiry`&&(this.needsFreshToken=!0)}connectWithSpan(){return sa({method:`GET`,url:this.wsUrl,spanName:`workflow.events.ws.connect`,attributes:{...wi(`ws`),...pi(`websocket`),...zi(this.reconnectAttempts)}},async e=>{try{return await this.connect()}catch(t){throw e?.setAttributes({...fi(`TRANSPORT`)}),t instanceof Error&&e?.recordException?.(t),t}})}connect(){return new Promise((e,t)=>{(async()=>{let n;try{let e=await this.resolveUpgradeHeaders(),t=new Ge.default(this.wsUrl,{headers:e});t.binaryType=`nodebuffer`;let r=new Map;n={ws:t,nextReqId:1,pending:r,parts:new fh({wanted:e=>r.has(e),onDiscarded:e=>console.error(`world-vercel: ws events transport received a split reply for unknown reqId ${e} from ${this.wsUrl} (already settled); dropping it.`)})}}catch(e){console.error(`world-vercel: ws events transport could not open a connection to ${this.wsUrl}: ${Wh(e)}`),t(e instanceof Vh?e:new Vh(`workflow-server events WS connection to ${this.wsUrl} could not be opened: ${Wh(e)}`,{cause:e}));return}let{ws:r}=n,i=!1;r.on(`open`,()=>{if(i=!0,this.closed){r.close(1e3,`released while connecting`),t(new Vh(`workflow-server events WS connection to ${this.wsUrl} was released while connecting`));return}this.connection=n,this.reconnectAttempts=0,e(n)}),r.on(`message`,e=>{this.handleMessage(n,new Uint8Array(e))}),r.on(`error`,e=>{if(console.error(`world-vercel: ws events transport socket error (${this.wsUrl}): ${Wh(e)}`),!i){t(e);return}r.close()}),r.on(`close`,e=>{this.connection===n&&(this.connection=null),this.consumeDrainReason(),i||t(new Vh(`workflow-server events WS connection to ${this.wsUrl} closed before opening (code ${e})`)),this.failAllPending(n,new Vh(`workflow-server events WS connection closed (code ${e})`)),(i||this.reconnectAttempts>0)&&this.scheduleReconnect(e)})})()})}scheduleReconnect(e){if(this.closed||this.connection!==null||this.reconnectTimer!==null)return;if(this.reconnectAttempts>=5){console.error(`world-vercel: ws events transport giving up eager reconnect to ${this.wsUrl} after 5 attempts (last close code ${e}); the next event write will retry.`);return}let t=Math.min(100*2**this.reconnectAttempts,5e3);this.reconnectAttempts++;let n=setTimeout(()=>{this.reconnectTimer=null,this.ensureConnected().catch(()=>{})},t);n.unref?.(),this.reconnectTimer=n}handleMessage(e,t){let n;try{n=jf(t)}catch(n){let r=`could not decode a ${t.byteLength}-byte reply frame from ${this.wsUrl}: ${Wh(n)}`;console.error(`world-vercel: ws events transport ${r}`),this.failConnection(e,`workflow-server events WS transport ${r}`);return}let r=this.assemble(e,n);if(r===void 0)return;let{frame:i,parts:a}=r;if(i.meta.type===`drain`){let e=i.meta.reason===`auth_expiry`?`auth_expiry`:`max_duration`;this.lastDrainReason=e,o(`world-vercel: ws events transport received a drain notice (reason: ${e}, graceMs: ${i.meta.graceMs??`unspecified`}); connection will close soon.`);return}let s=i.meta.reqId;if(s===-1){let t=`received a malformed-frame error from ${this.wsUrl} (reserved reqId -1, status ${String(i.meta.status??`unknown`)}): ${Uh(i.body)}. The server could not parse a frame this client sent, so the originating write cannot be identified`;console.error(`world-vercel: ws events transport ${t}.`),this.failConnection(e,`workflow-server events WS transport ${t}`);return}if(typeof s!=`number`){let t=`received a reply frame with no numeric reqId from ${this.wsUrl} (type: ${String(i.meta.type??`absent`)})`;console.error(`world-vercel: ws events transport ${t}.`),this.failConnection(e,`workflow-server events WS transport ${t}`);return}let c=e.pending.get(s);if(!c){console.error(`world-vercel: ws events transport received a reply for unknown reqId ${s} from ${this.wsUrl} (already settled, or the request was failed by a send error or its deadline); dropping it.`);return}e.pending.delete(s),c.resolve({meta:i.meta,body:i.body,replyParts:a})}assemble(e,t){let n;try{n=e.parts.accept(t)}catch(t){let n=t instanceof uh?`received a split reply from ${this.wsUrl} that breaks the part protocol: ${t.message}`:`could not assemble a split reply from ${this.wsUrl}: ${Wh(t)}`;console.error(`world-vercel: ws events transport ${n}`),this.failConnection(e,`workflow-server events WS transport ${n}`);return}if(n===void 0)return;let{type:r,partCount:i}=t.meta;return{frame:n,parts:r===`part`&&typeof i==`number`?i:1}}failAllPending(e,t){for(let n of e.pending.values())n.reject(t);e.pending.clear()}failConnection(e,t){this.failAllPending(e,new Vh(t)),this.connection===e&&(this.connection=null),e.ws.close()}};const Kh=c(`@workflow/world-vercel//wsEventsTransports@${Wn}`,1,()=>({transports:new Map,loggedWsProxyFallback:!1,loggedWsInUse:!1}));function qh(e,t){let n=Kh.transports.get(e);return n||(n=new Gh(e,t),Kh.transports.set(e,n)),n}function Jh(e,t){let n=new URL(e);return n.protocol=n.protocol===`https:`?`wss:`:`ws:`,n.pathname=`${n.pathname.replace(/\/$/,``)}/websockets/v1/runs/${encodeURIComponent(t)}`,n.toString()}function Yh(e,t,n={}){if(!Xd(n.workflowName))return;let r=Zh(e,t);if(!r)return;Kh.loggedWsInUse||(Kh.loggedWsInUse=!0,o(`world-vercel: using ws events transport (${r}).`));let i=qh(r,async({forceRefresh:e})=>{e&&await Xh();let{headers:n}=await U(t);return $i(n)});i.open();let a=!1;return()=>{a||(a=!0,i.release(`invocation complete`))}}async function Xh(){try{await(0,pt.getVercelOidcToken)({expirationBufferMs:864e5})}catch{}}function Zh(e,t){let{baseUrl:n,usingProxy:r}=va(t);return r?(Kh.loggedWsProxyFallback||(Kh.loggedWsProxyFallback=!0,o(`world-vercel: ws events transport unavailable for a World with projectConfig (api-workflow proxy, resolved baseUrl: ${n}) — falling back to HTTP.`)),null):Jh(n,e)}function Qh(e,t){let n=Zh(e,t);if(!n)return null;let r=Kh.transports.get(n);return r?{transport:r,wsUrl:n}:null}function $h(e){let t=e?.projectConfig?.projectId||process.env.VERCEL_PROJECT_ID,n=de();return e={...e,mintedSpecVersion:n},{specVersion:n,capabilities:{hookRetention:{active:!0},maxConcurrency:!0,deploymentAffinity:!0,inBandFence:!0,hookForceClaim:!0,dynamicWorkflowCode:!0},validateRunExecutionContext:io,getRuntimeDeadline:Nr,...Cf(e),...Im(e),analytics:process.env.WORKFLOW_DISABLE_ANALYTICS_READS===`1`?void 0:Ua(e),...mo(`world.streams`,zh(e)),createRunId:Ja,regionForRunId:Ya,describeRun:Xa,getEnvironment:()=>ya(e),uploadDynamicWorkflowCode:(t,n)=>Qa(t,n,e),getEncryptionKeyForRun:no(t,e?.projectConfig?.teamId,e?.token,e?.dispatcher),resolveLatestDeploymentId:Ef(e),telemetry:{recordStepExecution:sf}}}export{ro as MAX_EXECUTION_CONTEXT_BYTES,Ua as createAnalytics,no as createGetEncryptionKeyForRun,Cf as createQueue,Ja as createRunId,Im as createStorage,zh as createStreamer,$h as createWorld,eo as deriveRunKey,Xa as describeRun,to as fetchRunKey,ot as n,Yh as openEventsChannel,Ya as regionForRunId,ft as t,Qa as uploadDynamicWorkflowCode,io as validateRunExecutionContext};
|