eve 0.33.0 → 0.33.2
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 +16 -0
- package/dist/src/compiled/.vendor-stamp.json +1 -1
- package/dist/src/compiled/@workflow/core/_quickjs-wasi.d.ts +3 -0
- package/dist/src/compiled/@workflow/core/events-consumer.d.ts +127 -6
- package/dist/src/compiled/@workflow/core/index.js +2 -2
- package/dist/src/compiled/@workflow/core/private.d.ts +87 -18
- package/dist/src/compiled/@workflow/core/private.js +1 -1
- package/dist/src/compiled/@workflow/core/runtime/constants.d.ts +15 -1
- package/dist/src/compiled/@workflow/core/runtime/helpers.d.ts +116 -8
- package/dist/src/compiled/@workflow/core/runtime/quickjs-runtime.d.ts +36 -1
- package/dist/src/compiled/@workflow/core/runtime/quickjs-serde.d.ts +107 -0
- package/dist/src/compiled/@workflow/core/runtime/replay-budget.d.ts +5 -14
- package/dist/src/compiled/@workflow/core/runtime/suspension-handler.d.ts +7 -0
- package/dist/src/compiled/@workflow/core/runtime/world-compatibility.d.ts +15 -0
- package/dist/src/compiled/@workflow/core/runtime.js +3 -3
- package/dist/src/compiled/@workflow/core/serialization/codec-devalue-vm.d.ts +7 -0
- package/dist/src/compiled/@workflow/core/serialization/workflow-vm.d.ts +8 -3
- package/dist/src/compiled/@workflow/core/telemetry/semantic-conventions.d.ts +23 -0
- 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/world-local/index.js +5 -5
- package/dist/src/compiled/@workflow/world-vercel/index.js +15 -15
- package/dist/src/compiled/_chunks/workflow/{attribute-changes-Du5ztewf.js → attribute-changes-6OqdYdi4.js} +2 -2
- package/dist/src/compiled/_chunks/workflow/dist-C8PhDW9B.js +1 -0
- package/dist/src/compiled/_chunks/workflow/functions-CXb61C6h.js +1 -0
- package/dist/src/compiled/_chunks/workflow/{functions-ClJbpZhR.js → functions-xMPAeWFr.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/node-Smb57EnG.js +40 -0
- package/dist/src/compiled/_chunks/workflow/private-tvMBynnC.js +1 -0
- package/dist/src/compiled/_chunks/workflow/resume-hook-BrduAuFX.js +1 -0
- package/dist/src/compiled/_chunks/workflow/run-CX7_sJnW.js +1 -0
- package/dist/src/compiled/_chunks/workflow/sleep-tsb2HjWK.js +1 -0
- package/dist/src/compiled/_chunks/workflow/undici-BNc_0O4m.js +95 -0
- package/dist/src/compiled/_chunks/workflow/wait-until-BYKVqrwc.js +15 -0
- package/dist/src/compiled/_chunks/workflow/wrapper-CDq65xJV.js +8 -0
- package/dist/src/evals/autoevals-client.js +1 -1
- package/dist/src/evals/expect/index.js +1 -1
- package/dist/src/evals/judge.js +1 -1
- package/dist/src/execution/dispatch-runtime-actions-step.d.ts +3 -9
- package/dist/src/execution/dispatch-runtime-actions-step.js +1 -1
- package/dist/src/execution/durable-session-store.d.ts +5 -0
- package/dist/src/execution/durable-session-store.js +1 -1
- package/dist/src/execution/parked-delivery-wait.d.ts +8 -0
- package/dist/src/execution/parked-delivery-wait.js +1 -1
- package/dist/src/execution/route-child-delivery.js +1 -1
- package/dist/src/execution/settle-cancelled-turn-step.js +1 -1
- package/dist/src/execution/subagent-hitl-proxy.d.ts +1 -0
- package/dist/src/execution/subagent-hitl-proxy.js +1 -1
- package/dist/src/execution/turn-workflow.js +1 -1
- package/dist/src/execution/workflow-entry.js +1 -1
- package/dist/src/execution/workflow-steps.d.ts +4 -1
- package/dist/src/execution/workflow-steps.js +1 -1
- package/dist/src/harness/hitl/approval-input-requests.d.ts +13 -0
- package/dist/src/harness/hitl/approval-input-requests.js +1 -0
- package/dist/src/harness/hitl/pending-input-resolution.d.ts +51 -0
- package/dist/src/harness/hitl/pending-input-resolution.js +1 -0
- package/dist/src/harness/hitl/question-input-requests.d.ts +15 -0
- package/dist/src/harness/hitl/question-input-requests.js +1 -0
- package/dist/src/harness/hitl/session-limit-input-requests.d.ts +10 -0
- package/dist/src/harness/hitl/session-limit-input-requests.js +1 -0
- package/dist/src/harness/input-requests.d.ts +17 -105
- package/dist/src/harness/input-requests.js +1 -1
- package/dist/src/harness/pending-input-batches.d.ts +77 -0
- package/dist/src/harness/pending-input-batches.js +1 -0
- package/dist/src/harness/proxy-input-requests.d.ts +13 -3
- package/dist/src/harness/proxy-input-requests.js +1 -1
- package/dist/src/harness/session-limit-enforcement.js +1 -1
- package/dist/src/harness/tool-loop.js +2 -2
- package/dist/src/internal/application/package.js +1 -1
- package/dist/src/node_modules/.pnpm/{autoevals@0.0.132_ws@8.21.1_bufferutil@4.1.0_ → autoevals@0.0.132_ws@8.21.3_bufferutil@4.1.0_}/node_modules/autoevals/jsdist/index.js +1 -1
- package/dist/src/setup/scaffold/create/project.js +1 -1
- package/dist/src/setup/scaffold/create/web-template.d.ts +9 -0
- package/dist/src/setup/scaffold/create/web-template.js +291 -1
- package/dist/src/setup/scaffold/index.d.ts +1 -1
- package/dist/src/setup/scaffold/update/channels.d.ts +4 -13
- package/dist/src/setup/scaffold/update/channels.js +2 -2
- package/dist/src/setup/scaffold/update/web-options.d.ts +15 -0
- package/dist/src/setup/scaffold/update/web-options.js +1 -0
- package/dist/src/setup/vercel-project.js +0 -0
- package/docs/concepts/sessions-runs-and-streaming.md +4 -4
- package/docs/guides/frontend/overview.mdx +31 -10
- package/docs/guides/frontend/use-eve-agent-svelte.mdx +37 -15
- package/docs/guides/frontend/use-eve-agent-vue.mdx +38 -15
- package/docs/tools/human-in-the-loop.md +2 -2
- package/package.json +2 -2
- package/dist/src/compiled/@workflow/core/correlation-id.d.ts +0 -109
- package/dist/src/compiled/@workflow/core/serialization/vm-bundle-entry.d.ts +0 -12
- package/dist/src/compiled/_chunks/workflow/dist-CNXUKQCp.js +0 -40
- package/dist/src/compiled/_chunks/workflow/env-config-CYoX3muK.js +0 -1
- package/dist/src/compiled/_chunks/workflow/private-CiWVdS5v.js +0 -1
- package/dist/src/compiled/_chunks/workflow/resume-hook-CT0keOww.js +0 -1
- package/dist/src/compiled/_chunks/workflow/run-DBheaFhH.js +0 -1
- package/dist/src/compiled/_chunks/workflow/run-id-BdE0MZz9.js +0 -1
- package/dist/src/compiled/_chunks/workflow/sleep-BeH4B0Cd.js +0 -1
- package/dist/src/compiled/_chunks/workflow/spec-version-C0hBsfu-.js +0 -1
- package/dist/src/compiled/_chunks/workflow/undici-CUIybhQ2.js +0 -95
- package/dist/src/compiled/_chunks/workflow/wait-until-CMX5LUWJ.js +0 -15
- package/dist/src/compiled/_chunks/workflow/wrapper-6mlyNCCb.js +0 -8
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/_vendor/partial-json-parser/parser.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/auth/workload-identity-auth.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/azure.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/client.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/core/api-promise.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/core/error.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/core/pagination.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/core/resource.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/core/streaming.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/core/uploads.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/error.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/index.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/decoders/line.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/detect-platform.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/errors.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/headers.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/parse.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/qs/formats.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/qs/stringify.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/qs/utils.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/request-options.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/shims.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/to-file.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/tslib.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/uploads.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/utils/base64.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/utils/bytes.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/utils/env.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/utils/log.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/utils/path.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/utils/query.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/utils/sleep.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/utils/uuid.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/utils/values.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/internal/utils.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/AbstractChatCompletionRunner.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/AssistantStream.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/ChatCompletionRunner.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/ChatCompletionStream.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/ChatCompletionStreamingRunner.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/EventStream.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/ResponsesParser.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/RunnableFunction.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/Util.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/chatCompletionUtils.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/parser.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/lib/responses/ResponseStream.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/admin.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/admin-api-keys.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/audit-logs.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/certificates.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/data-retention.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/groups/groups.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/groups/roles.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/groups/users.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/invites.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/organization.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/api-keys.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/certificates.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/data-retention.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/groups/groups.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/groups/roles.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/hosted-tool-permissions.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/model-permissions.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/projects.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/rate-limits.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/roles.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/service-accounts.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/spend-alerts.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/users/roles.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/projects/users/users.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/roles.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/spend-alerts.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/usage.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/users/roles.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/admin/organization/users/users.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/audio/audio.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/audio/speech.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/audio/transcriptions.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/audio/translations.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/batches.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/assistants.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/beta.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/chatkit/chatkit.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/chatkit/sessions.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/chatkit/threads.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/realtime/realtime.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/realtime/sessions.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/realtime/transcription-sessions.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/threads/messages.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/threads/runs/runs.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/threads/runs/steps.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/beta/threads/threads.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/chat/chat.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/chat/completions/completions.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/chat/completions/index.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/chat/completions/messages.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/chat/index.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/completions.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/containers/containers.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/containers/files/content.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/containers/files/files.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/conversations/conversations.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/conversations/items.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/embeddings.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/evals/evals.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/evals/runs/output-items.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/evals/runs/runs.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/files.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/fine-tuning/alpha/alpha.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/fine-tuning/alpha/graders.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/fine-tuning/checkpoints/checkpoints.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/fine-tuning/checkpoints/permissions.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/fine-tuning/fine-tuning.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/fine-tuning/jobs/checkpoints.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/fine-tuning/jobs/jobs.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/fine-tuning/methods.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/graders/grader-models.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/graders/graders.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/images.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/index.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/models.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/moderations.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/realtime/calls.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/realtime/client-secrets.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/realtime/realtime.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/responses/input-items.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/responses/input-tokens.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/responses/responses.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/shared.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/skills/content.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/skills/skills.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/skills/versions/content.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/skills/versions/versions.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/uploads/parts.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/uploads/uploads.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/vector-stores/file-batches.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/vector-stores/files.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/vector-stores/vector-stores.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/videos.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/webhooks/index.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/webhooks/webhooks.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/resources/webhooks.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/streaming.js +0 -0
- /package/dist/src/node_modules/.pnpm/{openai@6.39.1_ws@8.21.1_bufferutil@4.1.0__zod@3.25.76 → openai@6.39.1_ws@8.21.3_bufferutil@4.1.0__zod@3.25.76}/node_modules/openai/version.js +0 -0
|
@@ -64,6 +64,29 @@ export declare const WorkflowEventsCount: (value: number) => {
|
|
|
64
64
|
export declare const WorkflowExecutionMode: (value: "replay" | "retained") => {
|
|
65
65
|
[k: string]: "replay" | "retained";
|
|
66
66
|
};
|
|
67
|
+
/**
|
|
68
|
+
* Events the replay walked past that no consumer claimed, still held when the
|
|
69
|
+
* replay stopped.
|
|
70
|
+
*
|
|
71
|
+
* A non-zero count on a suspension is ordinary: an out-of-band delivery that
|
|
72
|
+
* landed ahead of the code that reads it waits for the replay that gets there.
|
|
73
|
+
* From inside one replay that is indistinguishable from an event no replay will
|
|
74
|
+
* ever claim, because the two differ only in what the next replay does. So the
|
|
75
|
+
* count goes on the span instead of failing the run, and the case worth acting
|
|
76
|
+
* on is a query across a run's spans: the same
|
|
77
|
+
* {@link WorkflowParkedEventId} held on suspension after suspension.
|
|
78
|
+
*/
|
|
79
|
+
export declare const WorkflowParkedEventsCount: (value: number) => {
|
|
80
|
+
[k: string]: number;
|
|
81
|
+
};
|
|
82
|
+
/** Oldest event still held unclaimed when the replay stopped. */
|
|
83
|
+
export declare const WorkflowParkedEventId: (value: string) => {
|
|
84
|
+
[k: string]: string;
|
|
85
|
+
};
|
|
86
|
+
/** Type of the oldest event still held unclaimed when the replay stopped. */
|
|
87
|
+
export declare const WorkflowParkedEventType: (value: string) => {
|
|
88
|
+
[k: string]: string;
|
|
89
|
+
};
|
|
67
90
|
/** Number of arguments passed to the workflow */
|
|
68
91
|
export declare const WorkflowArgumentsCount: (value: number) => {
|
|
69
92
|
[k: string]: number;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "5.0.0-beta.
|
|
1
|
+
export declare const version = "5.0.0-beta.41";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Fn as e,In as t,Zn as n,ir as r,nr as i,rr as a}from"../../_chunks/workflow/wait-until-BYKVqrwc.js";import{i as o,u as s}from"../../_chunks/workflow/dist-CRTn4Sg8.js";import"../../_chunks/workflow/dist-tJoQXAF6.js";import{i as c}from"../../_chunks/workflow/workflow-routes-CwqB063q.js";import{c as l,i as u,o as d,r as f,t as p}from"../../_chunks/workflow/attribute-changes-6OqdYdi4.js";import{t as m}from"../../_chunks/workflow/sleep-tsb2HjWK.js";import{t as h}from"../../_chunks/workflow/run-CX7_sJnW.js";t(e,h);function g(e){let t=globalThis[i];return t||u(`createHook()`,`https://workflow-sdk.dev/docs/api-reference/workflow/create-hook`,g),t(e)}function _(e){let{respondWith:t,token:n,...r}=e??{};if(n!==void 0)throw Error("`createWebhook()` does not accept a `token` option. Webhook tokens are always randomly generated. Use `createHook()` with `resumeHook()` for deterministic token patterns.");let i;t!==void 0&&(i={respondWith:t});let a=g({...r,metadata:i,isWebhook:!0}),{url:o}=l();return a.url=c(o,{type:`webhook`,token:a.token}),a}function v(){function e(t,n){d(`defineHook().resume()`,`https://workflow-sdk.dev/docs/api-reference/workflow-api/resume-hook`,e)}return{create(e){return g(e)},resume:e}}async function y(e,t={}){let n=p(e,t);if(n.length===0)return;let i=t.allowReservedAttributes===!0,a=globalThis[r];if(!a)throw new o("setAttributes() called outside a workflow runtime context. It must be called from within a workflow body (`use workflow`).");await a(n,i?{allowReservedAttributes:!0}:{})}function b(e={}){let{namespace:t}=e,r=globalThis[a](t);return Object.create(globalThis.WritableStream.prototype,{[n]:{value:r,writable:!1}})}function x(){f(`getStepMetadata()`,`https://workflow-sdk.dev/docs/api-reference/workflow/get-step-metadata`,x)}function S(){d(`resumeHook()`,`https://workflow-sdk.dev/docs/api-reference/workflow-api/resume-hook`,S)}export{o as FatalError,s as RetryableError,g as createHook,_ as createWebhook,v as defineHook,x as getStepMetadata,l as getWorkflowMetadata,b as getWritable,S as resumeHook,y as setAttributes,m as sleep};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{i as e,o as t,t as n}from"../../_chunks/workflow/rolldown-runtime-DaDcL9Zw.js";import{E as r,O as i,_ as a,d as o,f as s,o as c,r as l}from"../../_chunks/workflow/dist-CRTn4Sg8.js";import"../../_chunks/workflow/dist-tJoQXAF6.js";import{i as u,n as d,r as f,t as p}from"../../_chunks/workflow/workflow-routes-CwqB063q.js";import{
|
|
2
|
-
`);for(let e of r){let r=e.trim().split(/\s+/);if(r.length<5||r[0]?.toUpperCase()!==`TCP`)continue;let[,i,,a,o]=r;if(a?.toUpperCase()!==`LISTENING`||o!==t.toString())continue;let s=i.lastIndexOf(`:`);if(s===-1)continue;let c=
|
|
3
|
-
`).slice(1);for(let e of t){if(!e.trim())continue;let t=e.trim().split(/\s+/);if(t.length<10)continue;let n=t[1],i=t[3],o=t[9];if(!n||i!==`0A`||!o||!r.has(o))continue;let s=n.indexOf(`:`);if(s===-1)continue;let c=n.slice(s+1);if(!c)continue;let l=
|
|
4
|
-
`);for(let e of r)if(e.includes(`LISTEN`)){let t=e.trim().split(/\s+/)[8];if(t){let e=t.lastIndexOf(`:`);if(e!==-1){let r=ze(t.slice(e+1));r!==void 0&&n.push(r)}}}return n}catch{return[]}}async function Ue(e){try{let{stdout:t}=await Re(`cmd`,[`/c`,`netstat -ano -p tcp | findstr LISTENING`]);return Le(t,e)}catch{return[]}}async function We(){let{pid:e,platform:t}=process;try{switch(t){case`linux`:return await Ve(e);case`darwin`:return await He(e);case`win32`:return await Ue(e);default:return[]}}catch(e){return process.env.NODE_ENV===`development`&&console.debug(`[getAllPorts] Detection failed:`,e),[]}}const Ge=`${p}/flow?__health`;async function Ke(e,t={}){let{endpoint:n=Ge,timeout:r=500}=t,i=new AbortController,a=setTimeout(()=>i.abort(),r);try{return(await fetch(`http://localhost:${e}${n}`,{method:`HEAD`,signal:i.signal})).status===200}catch{return!1}finally{clearTimeout(a)}}async function qe(e){let t=await We();if(t.length===0)return;if(t.length===1)return t[0];let n=(await Promise.all(t.map(async t=>({port:t,isWorkflow:await Ke(t,e)})))).find(e=>e.isWorkflow);return n?n.port:(process.env.NODE_ENV===`development`&&console.debug(`[getWorkflowPort] Probing failed, falling back to first port:`,t[0]),t[0])}function Je(e){let t={get value(){let n=e();return Object.defineProperty(t,"value",{value:n}),n}};return t}const Ye=()=>process.env.WORKFLOW_LOCAL_DATA_DIR||`.workflow-data`,Xe=()=>process.env.WORKFLOW_LOCAL_BASE_URL,Ze=Je(()=>({dataDir:Ye(),baseUrl:Xe()}));function Qe(e){if(e.recoverActiveRuns!==void 0)return e.recoverActiveRuns;let t=process.env.WORKFLOW_LOCAL_RECOVER_ACTIVE_RUNS?.toLowerCase();return!(t===`0`||t===`false`)}function $e(e){return e.baseUrl??process.env.WORKFLOW_LOCAL_BASE_URL??d(`http://localhost`)}async function et(e){if(e.baseUrl)return e.baseUrl;if(process.env.WORKFLOW_LOCAL_BASE_URL)return process.env.WORKFLOW_LOCAL_BASE_URL;if(typeof e.port==`number`)return d(`http://localhost:${e.port}`);if(process.env.PORT)return d(`http://localhost:${process.env.PORT}`);let t=await qe({endpoint:f()});if(t)return d(`http://localhost:${t}`);throw Error(`Unable to resolve base URL for workflow queue.`)}const tt=E(()=>Math.random());function nt(e){let t=typeof e==`string`?e:String(e);return t.length>48?`${t.slice(0,48)}…`:t}var rt=class extends i{constructor(e,t){super(`Unsafe ${e} "${nt(t)}": must not be empty, contain ".", "/", "\\", or null bytes`),this.name=`UnsafeEntityIdError`}static is(e){return e instanceof Error&&e.name===`UnsafeEntityIdError`}};function R(e,t){if(t.length===0||t.startsWith(`.`)||t.includes(`/`)||t.includes(`\\`)||t.includes(`\0`)||t.includes(`.`))throw new rt(e,t)}function z(e,...t){let n=L.resolve(e),r=L.resolve(e,...t);if(r!==n&&!r.startsWith(n+L.sep))throw new rt(`path`,t.join(`/`));return r}const it=process.platform===`win32`;async function B(e,t=5){if(!it)return e();let n=[`EPERM`,`EBUSY`,`EACCES`];for(let r=0;r<=t;r++)try{return await e()}catch(e){if(!(r<t&&n.includes(e.code)))throw e;let i=10*2**r+Math.random()*10;await new Promise(e=>setTimeout(e,i))}throw Error(`Retry loop exited unexpectedly`)}const at=new Set,ot=new Set;function st(){at.clear(),ot.clear()}const ct=/\.[a-zA-Z][a-zA-Z0-9-]*$/;function V(e){return e.replace(ct,``)}function lt(e,t){return e.endsWith(`.${t}`)}function ut(e){return!ct.test(e)}function H(e,t,n,r){return R(`fileId`,n),r!==void 0&&R(`tag`,r),z(e,t,r?`${n}.${r}.json`:`${n}.json`)}async function U(e,t,n,r,i){if(R(`fileId`,n),i!==void 0&&R(`tag`,i),i){let a=await K(z(e,t,`${n}.${i}.json`),r);if(a!==null)return a}return K(z(e,t,`${n}.json`),r)}async function dt(e,t){let n=`.${t}.json`;try{return(await F.readdir(e)).filter(e=>e.endsWith(n))}catch(e){if(e.code===`ENOENT`)return[];throw e}}async function ft(e,t,n){let r=`.${t}${n}`;try{return(await F.readdir(e)).filter(e=>e.endsWith(r))}catch(e){if(e.code===`ENOENT`)return[];throw e}}async function pt(e){let t=L.resolve(e);if(!ot.has(t))try{await F.mkdir(t,{recursive:!0}),ot.add(t)}catch(e){let n=e.code;if(Ne(n)&&!await mt(t))throw new je(t,n)}}async function mt(e){try{return(await F.stat(e)).isDirectory()}catch{return!1}}async function ht(e,t){await pt(e);try{return await t()}catch(n){if(n.code!==`ENOENT`)throw n;return ot.delete(L.resolve(e)),await pt(e),t()}}function W(e,t){return t instanceof Uint8Array?{__type:`Uint8Array`,data:Buffer.from(t).toString(`base64`)}:t}function gt(e,t){return typeof t==`object`&&t&&t.__type===`Uint8Array`&&typeof t.data==`string`?new Uint8Array(Buffer.from(t.data,`base64`)):t}async function G(e,t,n){return _t(e,JSON.stringify(t,W,2),n)}async function _t(e,t,n){if(!n?.overwrite){if(at.has(e))throw new l(`File ${e} already exists and 'overwrite' is false`);try{throw await F.access(e),at.add(e),new l(`File ${e} already exists and 'overwrite' is false`)}catch(e){if(e.code!==`ENOENT`)throw e}}let r=`${e}.tmp.${tt()}`,i=!1;try{await ht(L.dirname(e),async()=>{await F.writeFile(r,t),i=!0,await B(()=>F.rename(r,e))}),at.add(e)}catch(e){throw i&&await B(()=>F.unlink(r),3).catch(()=>{}),e}}async function K(e,t){try{let n=await F.readFile(e,`utf-8`);return t.parse(JSON.parse(n,gt))}catch(e){if(e.code===`ENOENT`)return null;throw e}}async function vt(e){return await F.readFile(e)}async function yt(e){let t=await F.open(e,`r`);try{let e=Buffer.allocUnsafe(1),{bytesRead:n}=await t.read(e,0,1,0);return n===0?void 0:e[0]}finally{await t.close()}}async function q(e){try{await B(()=>F.unlink(e))}catch(e){if(e.code!==`ENOENT`)throw e}}async function J(e,t){let n=`${e}.tmp.${tt()}`,r=!1;try{return await ht(L.dirname(e),async()=>{await F.writeFile(n,t,{flag:`wx`}),r=!0;try{return await B(()=>F.link(n,e)),!0}catch(e){if(e.code===`EEXIST`)return!1;throw e}})}finally{r&&await B(()=>F.unlink(n),3).catch(()=>{})}}async function bt(e,t){try{return await ht(L.dirname(t),()=>B(()=>F.link(e,t))),`linked`}catch(e){if(e.code===`EEXIST`)return`exists`;if(e.code===`ENOENT`)return`missing`;throw e}}async function Y(e){return xt(e,`.json`)}async function xt(e,t){try{return(await F.readdir(e)).filter(e=>e.endsWith(t)).map(e=>e.slice(0,-t.length))}catch(e){if(e.code===`ENOENT`)return[];throw e}}function St(e){if(!e)return null;let t=e.split(`|`);return{timestamp:new Date(t[0]),id:t[1]||null}}function Ct(e,t){return t?`${e.toISOString()}|${t}`:e.toISOString()}async function X(e){let{directory:t,schema:n,cachedItems:r,filePrefix:i,fileIdFilter:a,filter:o,sortOrder:s=`desc`,limit:c=20,cursor:l,getCreatedAt:u,getId:d}=e;i!==void 0&&R(`filePrefix`,i);let f=L.resolve(t),p=await Y(f),m=i?p.filter(e=>e.startsWith(i)):p,h=a?m.filter(a):m,g=St(l),_=h;g&&(_=h.filter(e=>{let t=u(`${e}.json`);if(t){let e=g.timestamp.getTime(),n=t.getTime();return g.id?s===`desc`?n<=e:n>=e:s===`desc`?n<e:n>e}return!0}));let v=[];for(let e=0;e<_.length;e+=32){let t=_.slice(e,e+32),i=await Promise.all(t.map(async e=>{let t=L.join(f,`${e}.json`),i;try{let e=r?.get(t);i=e===void 0?await K(t,n):structuredClone(e)}catch(t){if(t instanceof k)return console.warn(`Skipping item ${e} due to malformed JSON: ${t.message}`),null;throw t}return i&&o&&!await o(i)?null:i}));for(let e of i)if(e){if(g){let t=e.createdAt.getTime(),n=g.timestamp.getTime();if(s===`desc`){if(t>n||t===n&&g.id&&d&&d(e)>=g.id)continue}else if(t<n||t===n&&g.id&&d&&d(e)<=g.id)continue}v.push(e)}}v.sort((e,t)=>{let n=e.createdAt.getTime(),r=t.createdAt.getTime(),i=s===`asc`?n-r:r-n;if(i===0&&d){let n=d(e),r=d(t);return s===`asc`?n.localeCompare(r):r.localeCompare(n)}return i});let y=v.length>c,b=y?v.slice(0,c):v;return{data:b,cursor:b.length>0?Ct(b[b.length-1].createdAt,d?.(b[b.length-1])):null,hasMore:y}}let Z=null;function wt(){return typeof import.meta.url==`string`&&import.meta.url?L.dirname(ge(import.meta.url)):null}async function Tt(){if(Z)return Z;let e=wt();if(e)try{let t=await be(L.join(e,`../package.json`),`utf-8`);return Z=JSON.parse(t),Z}catch{}return Z={name:`@workflow/world-local`,version:`5.0.0-beta.34`},Z}const Et=`version.txt`;var Dt=class extends Error{dataDir;code;constructor(e,t,n){super(e),this.name=`DataDirAccessError`,this.dataDir=t,this.code=n}},Ot=class extends Error{oldVersion;newVersion;suggestedVersion;constructor(e,t,n,r){super(e),this.name=`DataDirVersionError`,this.oldVersion=t,this.newVersion=n,this.suggestedVersion=r}};function kt(e){let t=e.match(/^(\d+)\.(\d+)\.(\d+)(?:-(.+))?$/);if(!t)throw Error(`Invalid version string: "${e}"`);return{major:parseInt(t[1],10),minor:parseInt(t[2],10),patch:parseInt(t[3],10),prerelease:t[4],raw:e}}function Q(e){let t=`${e.major}.${e.minor}.${e.patch}`;return e.prerelease?`${t}-${e.prerelease}`:t}function At(e){let t=e.trim(),n=t.lastIndexOf(`@`);if(n<=0)throw Error(`Invalid version file content: "${e}"`);return{packageName:t.substring(0,n),version:kt(t.substring(n+1))}}function jt(e,t){return`${e}@${Q(t)}`}function Mt(e,t){console.log(`[world-local] Upgrading from version ${Q(e)} to ${Q(t)}`)}async function Nt(e){let t=L.resolve(e);try{await ye(t,{recursive:!0})}catch(e){let n=e;if(n.code!==`EEXIST`)throw new Dt(`Failed to create data directory "${t}": ${n.message}`,t,n.code)}try{await _e(t,ve.R_OK)}catch(e){let n=e;throw new Dt(`Data directory "${t}" is not readable: ${n.message}`,t,n.code)}let n=L.join(t,`.workflow-write-test-${Date.now()}`);try{await Te(n,``),await we(n).catch(e=>{if(e.code!==`ENOENT`)throw e})}catch(e){let n=e;throw new Dt(`Data directory "${t}" is not writable: ${n.message}`,t,n.code)}}async function Pt(e){let t=L.join(L.resolve(e),Et);try{return At(await be(t,`utf-8`))}catch(e){if(e.code===`ENOENT`)return null;throw e}}async function Ft(e,t){await Te(L.join(L.resolve(e),Et),jt((await Tt()).name,t))}function It(e,t){return t||Q(e)}async function Lt(e){await Nt(e);let t=await Tt(),n=kt(t.version),r=await Pt(e);if(r===null){await Ft(e,n);return}let{version:i}=r;if(Q(i)!==Q(n))try{Mt(i,n),await Ft(e,n)}catch(e){let r=It(i,e instanceof Ot?e.suggestedVersion:void 0);throw console.error(`[world-local] Failed to upgrade data directory from version ${Q(i)} to ${Q(n)}:`,e instanceof Error?e.message:e),console.error(`[world-local] Data is not compatible with the current version. Please downgrade to ${t.name}@${r}`),e}}let Rt=null;async function zt(){return Rt||=import(`../../_chunks/workflow/src-Cj3P1ChQ.js`).then(e=>t(e.t(),1)).catch(()=>null),Rt}let Bt=null;async function Vt(){return Bt||=zt().then(e=>e?e.trace.getTracer(`workflow`):null),Bt}async function Ht(e,...t){let[n,r]=await Promise.all([Vt(),zt()]),{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 Ut(e){let t=await zt();if(t)return t.SpanKind[e]}function Wt(...e){return t=>Object.fromEntries(e.map(e=>[e,t]))}const Gt=Wt(`peer.service`),Kt=Wt(`rpc.system`),qt=Wt(`rpc.service`),Jt=Wt(`rpc.method`),Yt=Wt(`workflow.run.id`),Xt=Wt(`step.id`),Zt={peerService:`world-local`,rpcSystem:`local`,rpcService:`world-local`},Qt={"world.runs.get":0,"world.runs.experimentalSetAttributes":0,"world.steps.get":0,"world.events.create":0,"world.events.get":0},$t=new Set([`world.steps.list`,`world.events.list`,`world.hooks.list`]);function en(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 tn(e,t){return typeof e[t]==`string`?e[t]:void 0}function nn(e){if(typeof e!=`object`||!e)return;let t=e.runId;return typeof t==`string`?t:void 0}function rn(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 an(e,t,n){let r=`${e}.${t}`,i={},a=Qt[r],o=a===void 0?$t.has(r)?nn(n[0]):void 0:tn(n,a);if(o&&Object.assign(i,Yt(o)),r===`world.steps.get`){let e=tn(n,1);e&&Object.assign(i,Xt(e))}return i}function on(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=en(t);r&&(n=`${e}.${a} ${r}`)}return Ht(n,{kind:await Ut(`INTERNAL`)},async r=>{r?.setAttributes({...Gt(Zt.peerService),...Kt(Zt.rpcSystem),...qt(Zt.rpcService),...Jt(n),...an(e,a,t)});let o=await i(...t),s=rn(o);return s&&r?.setAttributes(Yt(s)),o})}}return n}var sn=n((t=>{var n=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.RateLimit=t.Sema=void 0;let r=n(e(`events`));function i(e,t,n,r,i){for(let a=0;a<i;++a)n[a+r]=e[a+t],e[a+t]=void 0}function a(e){return e>>>=0,--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,e+1}function o(e){return a(Math.min(Math.max(16,e),1073741824))}var s=class{constructor(e){this._capacity=o(e),this._length=0,this._front=0,this.arr=[]}push(e){let t=this._length;this.checkCapacity(t+1);let n=this._front+t&this._capacity-1;return this.arr[n]=e,this._length=t+1,t+1}pop(){let e=this._length;if(e===0)return;let t=this._front+e-1&this._capacity-1,n=this.arr[t];return this.arr[t]=void 0,this._length=e-1,n}shift(){let e=this._length;if(e===0)return;let t=this._front,n=this.arr[t];return this.arr[t]=void 0,this._front=t+1&this._capacity-1,this._length=e-1,n}get length(){return this._length}checkCapacity(e){this._capacity<e&&this.resizeTo(o(this._capacity*1.5+16))}resizeTo(e){let t=this._capacity;this._capacity=e;let n=this._front,r=this._length;if(n+r>t){let e=n+r&t-1;i(this.arr,0,this.arr,t,e)}}},c=class extends r.default{};function l(e){return typeof e==`function`}function u(){return`1`}var d=class{constructor(e,{initFn:t=u,pauseFn:n,resumeFn:r,capacity:i=10}={}){if(l(n)!==l(r))throw Error(`pauseFn and resumeFn must be both set for pausing`);this.nrTokens=e,this.free=new s(e),this.waiting=new s(i),this.releaseEmitter=new c,this.noTokens=t===u,this.pauseFn=n,this.resumeFn=r,this.paused=!1,this.releaseEmitter.on(`release`,e=>{let t=this.waiting.shift();t?t.resolve(e):(this.resumeFn&&this.paused&&(this.paused=!1,this.resumeFn()),this.free.push(e))});for(let n=0;n<e;n++)this.free.push(t())}tryAcquire(){return this.free.pop()}async acquire(){let e=this.tryAcquire();return e===void 0?new Promise((e,t)=>{this.pauseFn&&!this.paused&&(this.paused=!0,this.pauseFn()),this.waiting.push({resolve:e,reject:t})}):e}release(e){this.releaseEmitter.emit(`release`,this.noTokens?`1`:e)}drain(){let e=Array(this.nrTokens);for(let t=0;t<this.nrTokens;t++)e[t]=this.acquire();return Promise.all(e)}nrWaiting(){return this.waiting.length}};t.Sema=d;function f(e,{timeUnit:t=1e3,uniformDistribution:n=!1}={}){let r=new d(n?1:e),i=n?t/e:t;return async function(){await r.acquire(),setTimeout(()=>r.release(),i)}}t.RateLimit=f}))(),cn=pe(),ln=class{contentType=`application/json`;serialize(e){return Buffer.from(JSON.stringify(e,W))}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).toString();return JSON.parse(r,gt)}};const un=parseInt(process.env.WORKFLOW_LOCAL_QUEUE_MAX_VISIBILITY??`0`,10)||1/0,dn=2147483647,fn=parseInt(process.env.WORKFLOW_LOCAL_QUEUE_CONCURRENCY??`0`,10)||1e3;function pn(e,t){let n=process.env[e];if(n===void 0||n===``)return t;let r=Number.parseInt(n,10);return Number.isFinite(r)&&r>=0?r:t}function mn(){return{bodyTimeout:pn(`WORKFLOW_LOCAL_BODY_TIMEOUT_MS`,3e4),connections:1e3,headersTimeout:pn(`WORKFLOW_LOCAL_HEADERS_TIMEOUT_MS`,3e4),keepAliveTimeout:3e4}}const hn=`Cannot perform ArrayBuffer.prototype.slice on a detached ArrayBuffer`;function gn(e){let t=e,n=new Set;for(;t&&typeof t==`object`&&!n.has(t);){if(n.add(t),`message`in t&&typeof t.message==`string`&&t.message.includes(hn))return!0;t=`cause`in t?t.cause:void 0}return!1}function _n(e){let t=new cn.Agent(mn()),n=new ln,r=E(),i=new sn.Sema(fn),a=new AbortController,o=a.signal,s=new Map,c=new Map,l=async(a,l,d)=>{let f=[];if(d?.idempotencyKey){let e=s.get(d.idempotencyKey);if(e)return{messageId:e}}let p=n.serialize(l),{prefix:m}=se(a),h=A.parse(`msg_${r()}`),g=l,_=g.runId??void 0,v=g.stepId??void 0;if(d?.idempotencyKey){let e=d.idempotencyKey;s.set(e,h),f.push(()=>{s.delete(e)})}return(async()=>{d?.delaySeconds&&d.delaySeconds>0&&await Oe(Math.min(d.delaySeconds*1e3,dn),void 0,{signal:o}),i.tryAcquire()||(console.warn(`[world-local]: concurrency limit (${fn}) reached, waiting for queue to free up`),await i.acquire());let n=0;try{for(let r=0;r<256;r++){let i={...d?.headers,"content-type":`application/json`,"x-vqs-queue-name":a,"x-vqs-message-id":h,"x-vqs-message-attempt":String(n+1)},s=c.get(m),l,f;try{if(s)l=await s(new Request(u($e(e),{type:`flow`}),{method:`POST`,headers:i,body:p}));else{let n=await et(e);l=await fetch(u(n,{type:`flow`}),{method:`POST`,duplex:`half`,dispatcher:t,headers:i,body:p})}n++,f=await l.text()}catch(e){let t=e?.name;if(o.aborted||t===`AbortError`||t===`ResponseAborted`)return;if(gn(e))throw e;console.error(`[world-local] Queue delivery failed at the transport (loop ${r+1}), retrying`,{queueName:a,messageId:h,..._&&{runId:_},...v&&{stepId:v},error:String(e)}),await Oe(5e3,void 0,{signal:o});continue}if(l.ok){try{let e=Number(JSON.parse(f).timeoutSeconds);if(Number.isFinite(e)&&e>=0){e>0&&await Oe(Math.min(e*1e3,dn),void 0,{signal:o});continue}}catch{}return}console.error(`[world-local] Queue message failed (attempt ${n}, HTTP ${l.status})`,{queueName:a,messageId:h,..._&&{runId:_},...v&&{stepId:v},handlerError:f}),await Oe(5e3,void 0,{signal:o})}console.error(`[world-local] Queue message exhausted safety limit (256 attempts)`,{queueName:a,messageId:h,..._&&{runId:_},...v&&{stepId:v}})}finally{i.release()}})().catch(e=>{e?.name===`AbortError`||e?.name===`ResponseAborted`||(gn(e)?console.error(`[local world] Queue operation failed: detected "${hn}". This usually means a Next.js proxy/middleware consumed Workflow's internal request before the executor could read it. Exclude \`/.well-known/workflow/*\` from your matcher. See https://workflow-sdk.dev/docs/getting-started/next#configure-proxy-handler`,{queueName:a,messageId:h,..._&&{runId:_},...v&&{stepId:v},originalError:e}):console.error(`[local world] Queue operation failed:`,e))}).finally(()=>{for(let e of f)e()}),{messageId:h}},d=N({"x-vqs-queue-name":oe,"x-vqs-message-id":A,"x-vqs-message-attempt":M()});return{queue:l,createQueueHandler:(e,t)=>async n=>{let r=d.safeParse(Object.fromEntries(n.headers));if(!r.success||!n.body)return Response.json({error:n.body?`Missing required headers`:`Missing request body`},{status:400});let i=r.data[`x-vqs-queue-name`],a=r.data[`x-vqs-message-id`],o=r.data[`x-vqs-message-attempt`];if(!i.startsWith(e))return Response.json({error:`Unhandled queue`},{status:400});let s=await new ln().deserialize(n.body);try{let e=await t(s,{attempt:o,queueName:i,messageId:a}),n=null;return typeof e?.timeoutSeconds==`number`&&(n=Math.min(e.timeoutSeconds,un)),n==null?Response.json({ok:!0}):Response.json({timeoutSeconds:n})}catch(e){return Response.json(String(e),{status:500})}},getDeploymentId:async()=>`dpl_local@${(await Tt()).version}`,registerHandler(e,t){c.set(e,t)},async close(){o.aborted||(a.abort(),await t.close())}}}var vn=n(((t,n)=>{var r=e(`constants`),i=process.cwd,a=null,o=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){return a||=i.call(process),a};try{process.cwd()}catch{}if(typeof process.chdir==`function`){var s=process.chdir;process.chdir=function(e){a=null,s.call(process,e)},Object.setPrototypeOf&&Object.setPrototypeOf(process.chdir,s)}n.exports=c;function c(e){r.hasOwnProperty(`O_SYMLINK`)&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)&&t(e),e.lutimes||n(e),e.chown=s(e.chown),e.fchown=s(e.fchown),e.lchown=s(e.lchown),e.chmod=i(e.chmod),e.fchmod=i(e.fchmod),e.lchmod=i(e.lchmod),e.chownSync=c(e.chownSync),e.fchownSync=c(e.fchownSync),e.lchownSync=c(e.lchownSync),e.chmodSync=a(e.chmodSync),e.fchmodSync=a(e.fchmodSync),e.lchmodSync=a(e.lchmodSync),e.stat=l(e.stat),e.fstat=l(e.fstat),e.lstat=l(e.lstat),e.statSync=u(e.statSync),e.fstatSync=u(e.fstatSync),e.lstatSync=u(e.lstatSync),e.chmod&&!e.lchmod&&(e.lchmod=function(e,t,n){n&&process.nextTick(n)},e.lchmodSync=function(){}),e.chown&&!e.lchown&&(e.lchown=function(e,t,n,r){r&&process.nextTick(r)},e.lchownSync=function(){}),o===`win32`&&(e.rename=typeof e.rename==`function`?(function(t){function n(n,r,i){var a=Date.now(),o=0;t(n,r,function s(c){if(c&&(c.code===`EACCES`||c.code===`EPERM`||c.code===`EBUSY`)&&Date.now()-a<6e4){setTimeout(function(){e.stat(r,function(e,a){e&&e.code===`ENOENT`?t(n,r,s):i(c)})},o),o<100&&(o+=10);return}i&&i(c)})}return Object.setPrototypeOf&&Object.setPrototypeOf(n,t),n})(e.rename):e.rename),e.read=typeof e.read==`function`?(function(t){function n(n,r,i,a,o,s){var c;if(s&&typeof s==`function`){var l=0;c=function(u,d,f){if(u&&u.code===`EAGAIN`&&l<10)return l++,t.call(e,n,r,i,a,o,c);s.apply(this,arguments)}}return t.call(e,n,r,i,a,o,c)}return Object.setPrototypeOf&&Object.setPrototypeOf(n,t),n})(e.read):e.read,e.readSync=typeof e.readSync==`function`?(function(t){return function(n,r,i,a,o){for(var s=0;;)try{return t.call(e,n,r,i,a,o)}catch(e){if(e.code===`EAGAIN`&&s<10){s++;continue}throw e}}})(e.readSync):e.readSync;function t(e){e.lchmod=function(t,n,i){e.open(t,r.O_WRONLY|r.O_SYMLINK,n,function(t,r){if(t){i&&i(t);return}e.fchmod(r,n,function(t){e.close(r,function(e){i&&i(t||e)})})})},e.lchmodSync=function(t,n){var i=e.openSync(t,r.O_WRONLY|r.O_SYMLINK,n),a=!0,o;try{o=e.fchmodSync(i,n),a=!1}finally{if(a)try{e.closeSync(i)}catch{}else e.closeSync(i)}return o}}function n(e){r.hasOwnProperty(`O_SYMLINK`)&&e.futimes?(e.lutimes=function(t,n,i,a){e.open(t,r.O_SYMLINK,function(t,r){if(t){a&&a(t);return}e.futimes(r,n,i,function(t){e.close(r,function(e){a&&a(t||e)})})})},e.lutimesSync=function(t,n,i){var a=e.openSync(t,r.O_SYMLINK),o,s=!0;try{o=e.futimesSync(a,n,i),s=!1}finally{if(s)try{e.closeSync(a)}catch{}else e.closeSync(a)}return o}):e.futimes&&(e.lutimes=function(e,t,n,r){r&&process.nextTick(r)},e.lutimesSync=function(){})}function i(t){return t&&function(n,r,i){return t.call(e,n,r,function(e){d(e)&&(e=null),i&&i.apply(this,arguments)})}}function a(t){return t&&function(n,r){try{return t.call(e,n,r)}catch(e){if(!d(e))throw e}}}function s(t){return t&&function(n,r,i,a){return t.call(e,n,r,i,function(e){d(e)&&(e=null),a&&a.apply(this,arguments)})}}function c(t){return t&&function(n,r,i){try{return t.call(e,n,r,i)}catch(e){if(!d(e))throw e}}}function l(t){return t&&function(n,r,i){typeof r==`function`&&(i=r,r=null);function a(e,t){t&&(t.uid<0&&(t.uid+=4294967296),t.gid<0&&(t.gid+=4294967296)),i&&i.apply(this,arguments)}return r?t.call(e,n,r,a):t.call(e,n,a)}}function u(t){return t&&function(n,r){var i=r?t.call(e,n,r):t.call(e,n);return i&&(i.uid<0&&(i.uid+=4294967296),i.gid<0&&(i.gid+=4294967296)),i}}function d(e){return!e||e.code===`ENOSYS`||(!process.getuid||process.getuid()!==0)&&(e.code===`EINVAL`||e.code===`EPERM`)}}})),yn=n(((t,n)=>{var r=e(`stream`).Stream;n.exports=i;function i(e){return{ReadStream:t,WriteStream:n};function t(n,i){if(!(this instanceof t))return new t(n,i);r.call(this);var a=this;this.path=n,this.fd=null,this.readable=!0,this.paused=!1,this.flags=`r`,this.mode=438,this.bufferSize=64*1024,i||={};for(var o=Object.keys(i),s=0,c=o.length;s<c;s++){var l=o[s];this[l]=i[l]}if(this.encoding&&this.setEncoding(this.encoding),this.start!==void 0){if(typeof this.start!=`number`)throw TypeError(`start must be a Number`);if(this.end===void 0)this.end=1/0;else if(typeof this.end!=`number`)throw TypeError(`end must be a Number`);if(this.start>this.end)throw Error(`start must be <= end`);this.pos=this.start}if(this.fd!==null){process.nextTick(function(){a._read()});return}e.open(this.path,this.flags,this.mode,function(e,t){if(e){a.emit(`error`,e),a.readable=!1;return}a.fd=t,a.emit(`open`,t),a._read()})}function n(t,i){if(!(this instanceof n))return new n(t,i);r.call(this),this.path=t,this.fd=null,this.writable=!0,this.flags=`w`,this.encoding=`binary`,this.mode=438,this.bytesWritten=0,i||={};for(var a=Object.keys(i),o=0,s=a.length;o<s;o++){var c=a[o];this[c]=i[c]}if(this.start!==void 0){if(typeof this.start!=`number`)throw TypeError(`start must be a Number`);if(this.start<0)throw Error(`start must be >= zero`);this.pos=this.start}this.busy=!1,this._queue=[],this.fd===null&&(this._open=e.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush())}}})),bn=n(((e,t)=>{t.exports=r;var n=Object.getPrototypeOf||function(e){return e.__proto__};function r(e){if(typeof e!=`object`||!e)return e;if(e instanceof Object)var t={__proto__:n(e)};else var t=Object.create(null);return Object.getOwnPropertyNames(e).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}),t}})),xn=n(((t,n)=>{var r=e(`fs`),i=vn(),a=yn(),o=bn(),s=e(`util`),c,l;typeof Symbol==`function`&&typeof Symbol.for==`function`?(c=Symbol.for(`graceful-fs.queue`),l=Symbol.for(`graceful-fs.previous`)):(c=`___graceful-fs.queue`,l=`___graceful-fs.previous`);function u(){}function d(e,t){Object.defineProperty(e,c,{get:function(){return t}})}var f=u;s.debuglog?f=s.debuglog(`gfs4`):/\bgfs4\b/i.test(process.env.NODE_DEBUG||``)&&(f=function(){var e=s.format.apply(s,arguments);e=`GFS4: `+e.split(/\n/).join(`
|
|
5
|
-
GFS4: `),console.error(e)}),r[c]||(d(r,global[c]||[]),r.close=(function(e){function t(t,n){return e.call(r,t,function(e){e||g(),typeof n==`function`&&n.apply(this,arguments)})}return Object.defineProperty(t,l,{value:e}),t})(r.close),r.closeSync=(function(e){function t(t){e.apply(r,arguments),g()}return Object.defineProperty(t,l,{value:e}),t})(r.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||``)&&process.on(`exit`,function(){f(r[c]),e(`assert`).equal(r[c].length,0)})),global[c]||d(global,r[c]),n.exports=p(o(r)),process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!r.__patched&&(n.exports=p(r),r.__patched=!0);function p(e){i(e),e.gracefulify=p,e.createReadStream=w,e.createWriteStream=te;var t=e.readFile;e.readFile=n;function n(e,n,r){return typeof n==`function`&&(r=n,n=null),i(e,n,r);function i(e,n,r,a){return t(e,n,function(t){t&&(t.code===`EMFILE`||t.code===`ENFILE`)?m([i,[e,n,r],t,a||Date.now(),Date.now()]):typeof r==`function`&&r.apply(this,arguments)})}}var r=e.writeFile;e.writeFile=o;function o(e,t,n,i){return typeof n==`function`&&(i=n,n=null),a(e,t,n,i);function a(e,t,n,i,o){return r(e,t,n,function(r){r&&(r.code===`EMFILE`||r.code===`ENFILE`)?m([a,[e,t,n,i],r,o||Date.now(),Date.now()]):typeof i==`function`&&i.apply(this,arguments)})}}var s=e.appendFile;s&&(e.appendFile=c);function c(e,t,n,r){return typeof n==`function`&&(r=n,n=null),i(e,t,n,r);function i(e,t,n,r,a){return s(e,t,n,function(o){o&&(o.code===`EMFILE`||o.code===`ENFILE`)?m([i,[e,t,n,r],o,a||Date.now(),Date.now()]):typeof r==`function`&&r.apply(this,arguments)})}}var l=e.copyFile;l&&(e.copyFile=u);function u(e,t,n,r){return typeof n==`function`&&(r=n,n=0),i(e,t,n,r);function i(e,t,n,r,a){return l(e,t,n,function(o){o&&(o.code===`EMFILE`||o.code===`ENFILE`)?m([i,[e,t,n,r],o,a||Date.now(),Date.now()]):typeof r==`function`&&r.apply(this,arguments)})}}var d=e.readdir;e.readdir=h;var f=/^v[0-5]\./;function h(e,t,n){typeof t==`function`&&(n=t,t=null);var r=f.test(process.version)?function(e,t,n,r){return d(e,i(e,t,n,r))}:function(e,t,n,r){return d(e,t,i(e,t,n,r))};return r(e,t,n);function i(e,t,n,i){return function(a,o){a&&(a.code===`EMFILE`||a.code===`ENFILE`)?m([r,[e,t,n],a,i||Date.now(),Date.now()]):(o&&o.sort&&o.sort(),typeof n==`function`&&n.call(this,a,o))}}}if(process.version.substr(0,4)===`v0.8`){var g=a(e);x=g.ReadStream,C=g.WriteStream}var _=e.ReadStream;_&&(x.prototype=Object.create(_.prototype),x.prototype.open=S);var v=e.WriteStream;v&&(C.prototype=Object.create(v.prototype),C.prototype.open=ee),Object.defineProperty(e,"ReadStream",{get:function(){return x},set:function(e){x=e},enumerable:!0,configurable:!0}),Object.defineProperty(e,"WriteStream",{get:function(){return C},set:function(e){C=e},enumerable:!0,configurable:!0});var y=x;Object.defineProperty(e,"FileReadStream",{get:function(){return y},set:function(e){y=e},enumerable:!0,configurable:!0});var b=C;Object.defineProperty(e,"FileWriteStream",{get:function(){return b},set:function(e){b=e},enumerable:!0,configurable:!0});function x(e,t){return this instanceof x?(_.apply(this,arguments),this):x.apply(Object.create(x.prototype),arguments)}function S(){var e=this;re(e.path,e.flags,e.mode,function(t,n){t?(e.autoClose&&e.destroy(),e.emit(`error`,t)):(e.fd=n,e.emit(`open`,n),e.read())})}function C(e,t){return this instanceof C?(v.apply(this,arguments),this):C.apply(Object.create(C.prototype),arguments)}function ee(){var e=this;re(e.path,e.flags,e.mode,function(t,n){t?(e.destroy(),e.emit(`error`,t)):(e.fd=n,e.emit(`open`,n))})}function w(t,n){return new e.ReadStream(t,n)}function te(t,n){return new e.WriteStream(t,n)}var ne=e.open;e.open=re;function re(e,t,n,r){return typeof n==`function`&&(r=n,n=null),i(e,t,n,r);function i(e,t,n,r,a){return ne(e,t,n,function(o,s){o&&(o.code===`EMFILE`||o.code===`ENFILE`)?m([i,[e,t,n,r],o,a||Date.now(),Date.now()]):typeof r==`function`&&r.apply(this,arguments)})}}return e}function m(e){f(`ENQUEUE`,e[0].name,e[1]),r[c].push(e),_()}var h;function g(){for(var e=Date.now(),t=0;t<r[c].length;++t)r[c][t].length>2&&(r[c][t][3]=e,r[c][t][4]=e);_()}function _(){if(clearTimeout(h),h=void 0,r[c].length!==0){var e=r[c].shift(),t=e[0],n=e[1],i=e[2],a=e[3],o=e[4];if(a===void 0)f(`RETRY`,t.name,n),t.apply(null,n);else if(Date.now()-a>=6e4){f(`TIMEOUT`,t.name,n);var s=n.pop();typeof s==`function`&&s.call(null,i)}else{var l=Date.now()-o,u=Math.max(o-a,1);l>=Math.min(u*1.2,100)?(f(`RETRY`,t.name,n),t.apply(null,n.concat([a]))):r[c].push(e)}h===void 0&&(h=setTimeout(_,0))}}})),Sn=n(((e,t)=>{function n(e,t){typeof t==`boolean`&&(t={forever:t}),this._originalTimeouts=JSON.parse(JSON.stringify(e)),this._timeouts=e,this._options=t||{},this._maxRetryTime=t&&t.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}t.exports=n,n.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts},n.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timeouts=[],this._cachedTimeouts=null},n.prototype.retry=function(e){if(this._timeout&&clearTimeout(this._timeout),!e)return!1;var t=new Date().getTime();if(e&&t-this._operationStart>=this._maxRetryTime)return this._errors.unshift(Error(`RetryOperation timeout occurred`)),!1;this._errors.push(e);var n=this._timeouts.shift();if(n===void 0)if(this._cachedTimeouts)this._errors.splice(this._errors.length-1,this._errors.length),this._timeouts=this._cachedTimeouts.slice(0),n=this._timeouts.shift();else return!1;var r=this,i=setTimeout(function(){r._attempts++,r._operationTimeoutCb&&(r._timeout=setTimeout(function(){r._operationTimeoutCb(r._attempts)},r._operationTimeout),r._options.unref&&r._timeout.unref()),r._fn(r._attempts)},n);return this._options.unref&&i.unref(),!0},n.prototype.attempt=function(e,t){this._fn=e,t&&(t.timeout&&(this._operationTimeout=t.timeout),t.cb&&(this._operationTimeoutCb=t.cb));var n=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){n._operationTimeoutCb()},n._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)},n.prototype.try=function(e){console.log(`Using RetryOperation.try() is deprecated`),this.attempt(e)},n.prototype.start=function(e){console.log(`Using RetryOperation.start() is deprecated`),this.attempt(e)},n.prototype.start=n.prototype.try,n.prototype.errors=function(){return this._errors},n.prototype.attempts=function(){return this._attempts},n.prototype.mainError=function(){if(this._errors.length===0)return null;for(var e={},t=null,n=0,r=0;r<this._errors.length;r++){var i=this._errors[r],a=i.message,o=(e[a]||0)+1;e[a]=o,o>=n&&(t=i,n=o)}return t}})),Cn=n((e=>{var t=Sn();e.operation=function(n){return new t(e.timeouts(n),{forever:n&&n.forever,unref:n&&n.unref,maxRetryTime:n&&n.maxRetryTime})},e.timeouts=function(e){if(e instanceof Array)return[].concat(e);var t={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var n in e)t[n]=e[n];if(t.minTimeout>t.maxTimeout)throw Error(`minTimeout is greater than maxTimeout`);for(var r=[],i=0;i<t.retries;i++)r.push(this.createTimeout(i,t));return e&&e.forever&&!r.length&&r.push(this.createTimeout(i,t)),r.sort(function(e,t){return e-t}),r},e.createTimeout=function(e,t){var n=t.randomize?Math.random()+1:1,r=Math.round(n*t.minTimeout*t.factor**+e);return r=Math.min(r,t.maxTimeout),r},e.wrap=function(t,n,r){if(n instanceof Array&&(r=n,n=null),!r)for(var i in r=[],t)typeof t[i]==`function`&&r.push(i);for(var a=0;a<r.length;a++){var o=r[a],s=t[o];t[o]=function(r){var i=e.operation(n),a=Array.prototype.slice.call(arguments,1),o=a.pop();a.push(function(e){i.retry(e)||(e&&(arguments[0]=i.mainError()),o.apply(this,arguments))}),i.attempt(function(){r.apply(t,a)})}.bind(t,s),t[o].options=n}}})),wn=n(((e,t)=>{t.exports=Cn()})),Tn=n(((e,t)=>{let n=Symbol();function r(e,t,r){let i=t[n];if(i)return t.stat(e,(e,t)=>{if(e)return r(e);r(null,t.mtime,i)});let a=new Date(Math.ceil(Date.now()/1e3)*1e3+5);t.utimes(e,a,a,i=>{if(i)return r(i);t.stat(e,(e,i)=>{if(e)return r(e);let a=i.mtime.getTime()%1e3==0?`s`:`ms`;Object.defineProperty(t,n,{value:a}),r(null,i.mtime,a)})})}function i(e){let t=Date.now();return e===`s`&&(t=Math.ceil(t/1e3)*1e3),new Date(t)}t.exports.probe=r,t.exports.getMtime=i})),En=n(((t,n)=>{let r=e(`path`),i=xn(),a=wn(),o=me(),s=Tn(),c={};function l(e,t){return t.lockfilePath||`${e}.lock`}function u(e,t,n){if(!t.realpath)return n(null,r.resolve(e));t.fs.realpath(e,n)}function d(e,t,n){let r=l(e,t);t.fs.mkdir(r,i=>{if(!i)return s.probe(r,t.fs,(e,i,a)=>{if(e)return t.fs.rmdir(r,()=>{}),n(e);n(null,i,a)});if(i.code!==`EEXIST`)return n(i);if(t.stale<=0)return n(Object.assign(Error(`Lock file is already being held`),{code:`ELOCKED`,file:e}));t.fs.stat(r,(r,i)=>{if(r)return r.code===`ENOENT`?d(e,{...t,stale:0},n):n(r);if(!f(i,t))return n(Object.assign(Error(`Lock file is already being held`),{code:`ELOCKED`,file:e}));p(e,t,r=>{if(r)return n(r);d(e,{...t,stale:0},n)})})})}function f(e,t){return e.mtime.getTime()<Date.now()-t.stale}function p(e,t,n){t.fs.rmdir(l(e,t),e=>{if(e&&e.code!==`ENOENT`)return n(e);n()})}function m(e,t){let n=c[e];n.updateTimeout||(n.updateDelay=n.updateDelay||t.update,n.updateTimeout=setTimeout(()=>{n.updateTimeout=null,t.fs.stat(n.lockfilePath,(r,i)=>{let a=n.lastUpdate+t.stale<Date.now();if(r)return r.code===`ENOENT`||a?h(e,n,Object.assign(r,{code:`ECOMPROMISED`})):(n.updateDelay=1e3,m(e,t));if(n.mtime.getTime()!==i.mtime.getTime())return h(e,n,Object.assign(Error(`Unable to update lock within the stale threshold`),{code:`ECOMPROMISED`}));let o=s.getMtime(n.mtimePrecision);t.fs.utimes(n.lockfilePath,o,o,r=>{let i=n.lastUpdate+t.stale<Date.now();if(!n.released){if(r)return r.code===`ENOENT`||i?h(e,n,Object.assign(r,{code:`ECOMPROMISED`})):(n.updateDelay=1e3,m(e,t));n.mtime=o,n.lastUpdate=Date.now(),n.updateDelay=null,m(e,t)}})})},n.updateDelay),n.updateTimeout.unref&&n.updateTimeout.unref())}function h(e,t,n){t.released=!0,t.updateTimeout&&clearTimeout(t.updateTimeout),c[e]===t&&delete c[e],t.options.onCompromised(n)}function g(e,t,n){t={stale:1e4,update:null,realpath:!0,retries:0,fs:i,onCompromised:e=>{throw e},...t},t.retries=t.retries||0,t.retries=typeof t.retries==`number`?{retries:t.retries}:t.retries,t.stale=Math.max(t.stale||0,2e3),t.update=t.update==null?t.stale/2:t.update||0,t.update=Math.max(Math.min(t.update,t.stale/2),1e3),u(e,t,(e,r)=>{if(e)return n(e);let i=a.operation(t.retries);i.attempt(()=>{d(r,t,(e,a,o)=>{if(i.retry(e))return;if(e)return n(i.mainError());let s=c[r]={lockfilePath:l(r,t),mtime:a,mtimePrecision:o,options:t,lastUpdate:Date.now()};m(r,t),n(null,e=>{if(s.released)return e&&e(Object.assign(Error(`Lock is already released`),{code:`ERELEASED`}));_(r,{...t,realpath:!1},e)})})})})}function _(e,t,n){t={fs:i,realpath:!0,...t},u(e,t,(e,r)=>{if(e)return n(e);let i=c[r];if(!i)return n(Object.assign(Error(`Lock is not acquired/owned by you`),{code:`ENOTACQUIRED`}));i.updateTimeout&&clearTimeout(i.updateTimeout),i.released=!0,delete c[r],p(r,t,n)})}function v(e,t,n){t={stale:1e4,realpath:!0,fs:i,...t},t.stale=Math.max(t.stale||0,2e3),u(e,t,(e,r)=>{if(e)return n(e);t.fs.stat(l(r,t),(e,r)=>e?e.code===`ENOENT`?n(null,!1):n(e):n(null,!f(r,t)))})}function y(){return c}o(()=>{for(let e in c){let t=c[e].options;try{t.fs.rmdirSync(l(e,t))}catch{}}}),n.exports.lock=g,n.exports.unlock=_,n.exports.check=v,n.exports.getLocks=y})),Dn=n(((e,t)=>{let n=xn();function r(e){let t=[`mkdir`,`realpath`,`stat`,`rmdir`,`utimes`],n={...e};return t.forEach(t=>{n[t]=(...n)=>{let r=n.pop(),i;try{i=e[`${t}Sync`](...n)}catch(e){return r(e)}r(null,i)}}),n}function i(e){return(...t)=>new Promise((n,r)=>{t.push((e,t)=>{e?r(e):n(t)}),e(...t)})}function a(e){return(...t)=>{let n,r;if(t.push((e,t)=>{n=e,r=t}),e(...t),n)throw n;return r}}function o(e){if(e={...e},e.fs=r(e.fs||n),typeof e.retries==`number`&&e.retries>0||e.retries&&typeof e.retries.retries==`number`&&e.retries.retries>0)throw Object.assign(Error(`Cannot use retries with the sync api`),{code:`ESYNC`});return e}t.exports={toPromise:i,toSync:a,toSyncOptions:o}})),On=n(((e,t)=>{let n=En(),{toPromise:r,toSync:i,toSyncOptions:a}=Dn();async function o(e,t){let i=await r(n.lock)(e,t);return r(i)}function s(e,t){let r=i(n.lock)(e,a(t));return i(r)}function c(e,t){return r(n.unlock)(e,t)}function l(e,t){return i(n.unlock)(e,a(t))}function u(e,t){return r(n.check)(e,t)}function d(e,t){return i(n.check)(e,a(t))}t.exports=o,t.exports.lock=o,t.exports.unlock=c,t.exports.lockSync=s,t.exports.unlockSync=l,t.exports.check=u,t.exports.checkSync=d}))();function kn(e){return P(`sha256`).update(e).digest(`hex`)}function An(e,t,n){return z(e,`.locks`,`hooks`,n?`${t}.disposed.${n}`:`${t}.disposed`)}async function jn(e,t,n){let r=[An(e,t)];n&&r.push(An(e,t,n));for(let e of r)try{return await I.access(e),!0}catch{}return!1}function Mn(e,t,n){return z(e,`.locks`,`runs`,n?`${t}.terminal.${n}`:`${t}.terminal`)}async function Nn(e,t,n){let r=[Mn(e,t)];n&&r.push(Mn(e,t,n));for(let e of r)try{return await I.access(e),!0}catch(e){if(e.code!==`ENOENT`)throw e}return!1}function Pn(e,t,n){return z(e,`.locks`,`runs`,n?`${t}.pending.${n}`:`${t}.pending`)}function Fn(e,t,n,r){return L.join(Pn(e,t,r),`${n}.json`)}async function In(e,t,n){let r=[Pn(e,t)];n&&r.push(Pn(e,t,n));for(let e of r){let t;try{t=await I.readdir(e)}catch(e){if(e.code===`ENOENT`)continue;throw e}for(let n of t)try{await B(()=>I.unlink(L.join(e,n)))}catch(e){if(e.code!==`ENOENT`)throw e}await I.rmdir(e).catch(()=>{})}}async function Ln(e,t,n){let r=[];try{r=await I.readdir(L.join(e,`events`))}catch(e){if(e.code!==`ENOENT`)throw e}let i=`${t}-`,a=null;for(let e of r){if(!e.startsWith(i)||!e.endsWith(`.json`))continue;let t=e.slice(0,-5);if(!ut(t)&&!(n&<(t,n)))continue;let r=V(t).slice(i.length);(!a||r>a)&&(a=r)}let o=Date.now();if(a)try{let e=T(a.replace(/^evnt_/,``));o<=e&&(o=e+1)}catch{}return{eventId:`evnt_${Gn(o)}`,createdAt:new Date(o)}}function Rn(e,t){return L.join(e,`hooks`,`tokens`,`${kn(t)}.json`)}const zn=N({hookId:C().optional(),runId:C(),eventId:C().optional(),tokenRetentionUntil:D().optional()});async function Bn(e){try{return await K(e,zn)}catch(e){if(e instanceof SyntaxError||e instanceof k)return null;throw e}}async function Vn(e,t,n){let r=Rn(e,t);await I.mkdir(L.dirname(r),{recursive:!0});let a=new AbortController,o;try{o=await(0,On.lock)(r,{realpath:!1,stale:3e4,update:1e3,retries:{retries:350,factor:1,minTimeout:100,maxTimeout:100},onCompromised(e){a.abort(new i(`Hook token claim lock was compromised`,{cause:e}))}})}catch(e){throw new i(`Could not acquire Hook token claim lock`,{cause:e})}let s;try{s=await n(a.signal),a.signal.throwIfAborted()}catch(e){throw a.signal.aborted||await o().catch(()=>{}),e}try{await o()}catch(e){throw new i(`Could not release Hook token claim lock`,{cause:e})}return s}function Hn(e,t,n){let r=P(`sha256`).update(`${t}\x00${n}`).digest(`hex`);return L.join(e,`hooks`,`resumes`,`${r}.json`)}async function Un(e,t,n,r){await Vn(e,t,async i=>{let a=Rn(e,t),o=await Bn(a);o&&o.runId===n&&o.hookId===r&&(i.throwIfAborted(),await q(a))})}function Wn(e,t,n,r){let i=P(`sha256`).update(`${t}\x00${n}\x00${r}`).digest(`hex`);return L.join(e,`hooks`,`tokens`,`${i}.recovery.json`)}const Gn=E(()=>Math.random()),$=e=>{let t=RegExp(`^${e}_`,`g`);return n=>{let r=V(n.replace(/\.json$/,``))+`.json`,i=r.indexOf(`-`);return i===-1?le(r.replace(/\.json$/,``).replace(t,``)):e===`step`?null:le(r.substring(i+1).replace(/\.json$/,``).replace(t,``))}},Kn=N({runId:C()}),qn=N({hookId:C(),tag:C().optional()});function Jn(e,t){return z(e,`hooks`,`token-index`,kn(t))}function Yn(e,t){return R(`hookId`,t),z(e,`hooks`,`id-index`,t)}function Xn(e){return z(e,`hooks`,`by-run`)}function Zn(e){let t=V(e);return t===e?void 0:e.slice(t.length+1)}function Qn(e,t){return t?ut(e)||lt(e,t):ut(e)}async function $n(e){try{return await K(e,b)}catch(e){if(e instanceof SyntaxError||e instanceof k)return null;throw e}}async function er(e,t,n,r,i,a){R(`runId`,n),R(`eventId`,i),a!==void 0&&R(`tag`,a);let o=a?`${i}.${a}.json`:`${i}.json`,s=JSON.stringify({runId:n});await Promise.all([J(L.join(Jn(e,t),o),s),J(L.join(Yn(e,r),o),s)])}function tr(e,t,n,r){return H(e,`hooks/by-run`,`${t}-${n}`,r)}async function nr(e,t,n,r){await J(tr(e,t,n,r),JSON.stringify(r?{hookId:n,tag:r}:{hookId:n}))}async function rr(e,t,n,r){await q(tr(e,t,n,r)),r&&await q(tr(e,t,n))}async function ir(e,t){R(`runId`,t);let n=Xn(e),r=`${t}-`,i=[];for(let e of await Y(n)){if(!e.startsWith(r))continue;let t=null;try{t=await K(L.join(n,`${e}.json`),qn)}catch(e){if(!(e instanceof SyntaxError||e instanceof k))throw e}i.push({fileId:e,hookId:t?.hookId??null,tag:t?.tag})}return i}async function ar(e,t){await q(L.join(Xn(e),`${t}.json`))}const or=new Map;function sr(){or.clear()}async function cr(e){let t=L.resolve(e),n=or.get(t);return n||(n=ur(t).catch(e=>{throw or.delete(t),e}),or.set(t,n)),n}async function lr(e,t,n){for(let r=0;r<e.length;r+=t)await Promise.all(e.slice(r,r+t).map(n))}async function ur(e){let t=L.join(e,`hooks`,`.hook-index-complete`);try{await I.access(t);return}catch{}let n=L.join(e,`events`);await lr(await Y(n),32,async t=>{let r=await $n(L.join(n,`${t}.json`));if(!r||r.eventType!==`hook_created`||typeof r.correlationId!=`string`)return;let i=r.eventData?.token;if(typeof i==`string`)try{await er(e,i,r.runId,r.correlationId,r.eventId,Zn(t))}catch{}});let r=L.join(e,`hooks`);await lr(await Y(r),32,async t=>{let n=null;try{n=await K(L.join(r,`${t}.json`),j)}catch(e){if(!(e instanceof SyntaxError||e instanceof k))throw e}if(n)try{await nr(e,n.runId,n.hookId,Zn(t))}catch{}}),await J(t,``)}async function dr(e,t,n,r){await cr(e);let i;try{i=t.kind===`token`?Jn(e,t.token):Yn(e,t.hookId)}catch{return null}let a=(await Y(i)).filter(e=>Qn(e,r)).sort((e,t)=>V(t).localeCompare(V(e)));for(let t of a){let r=null;try{r=await K(L.join(i,`${t}.json`),Kn)}catch(e){if(!(e instanceof SyntaxError||e instanceof k))throw e}if(!r)continue;let a=V(t),o;try{o=H(e,`events`,`${r.runId}-${a}`,Zn(t))}catch{continue}let s=await $n(o);if(s&&s.eventType===`hook_created`&&typeof s.correlationId==`string`&&n(s))return s}return null}function fr(e,t){return t===`none`?{...e,input:void 0,output:void 0}:e}function pr(e,t){return t===`none`?{...e,input:void 0,output:void 0}:e}function mr(e,t){if(t===`none`){let{metadata:t,...n}=e;return n}return e}function hr(e){if(e.eventType!==`hook_created`)return;let t=e.eventData.token;return typeof t==`string`?t:void 0}function gr(e){let{token:t,metadata:n,isWebhook:r,isSystem:i,tokenRetentionUntil:a}=e.eventData;return{runId:e.runId,hookId:e.correlationId,token:t,metadata:n,ownerId:`local-owner`,projectId:`local-project`,environment:`local`,createdAt:e.createdAt,specVersion:e.specVersion,isWebhook:r??!0,isSystem:i??!1,tokenRetentionUntil:a}}function _r(e,t){return e.eventType===`hook_created`&&typeof e.correlationId==`string`&&t(e)}async function vr(e,t,n){let r=await U(e,`runs`,t,w,n);return r?_(r.status):!1}async function yr(e,t,n,r){let i=await dr(e,t,e=>_r(e,n),r);if(!i||!_r(i,n))return null;if(await vr(e,i.runId,r)){let e=i.eventData.tokenRetentionUntil;if(!e||e.getTime()<=Date.now())return null}return await jn(e,i.correlationId,r)?null:i}async function br(e,t,n){let r=gr(t);return await J(Rn(e,r.token),JSON.stringify({token:r.token,hookId:r.hookId,runId:r.runId,eventId:t.eventId,tokenRetentionUntil:t.eventData.tokenRetentionUntil})),await nr(e,r.runId,r.hookId,n),await J(H(e,`hooks`,r.hookId,n),JSON.stringify(r,W,2)),r}async function xr(e,t,n){let r=await yr(e,{kind:`token`,token:t},e=>hr(e)===t,n);return r?br(e,r,n):null}async function Sr(e,t,n){let r=await yr(e,{kind:`id`,hookId:t},e=>e.correlationId===t,n);return r?br(e,r,n):null}function Cr(e,t){async function n(n){return await jn(e,n.hookId,t)?!1:n.tokenRetentionUntil&&n.tokenRetentionUntil.getTime()>Date.now()?!0:!await vr(e,n.runId,t)}async function r(r){let i=await Bn(Rn(e,r));if(i?.hookId){try{let a=await U(e,`hooks`,i.hookId,j,t);if(a?.token===r){if(!await n(a))throw new c(r);return{...a,isWebhook:a.isWebhook??!0}}}catch(e){if(!rt.is(e))throw e}return null}let a=L.join(e,`hooks`),o=await Y(a);for(let e of o){let t=await K(L.join(a,`${e}.json`),j);if(t?.token===r){if(!await n(t))throw new c(r);return{...t,isWebhook:t.isWebhook??!0}}}return null}async function i(r,i){R(`hookId`,r);let a=await U(e,`hooks`,r,j,t);if(a&&!await n(a))throw new c(r);let o=a??await Sr(e,r,t);if(!o)throw new c(r);let s=i?.resolveData||`all`;return mr({...o,isWebhook:o.isWebhook??!0},s)}async function a(n){let i=await r(n)??await xr(e,n,t);if(!i)throw new c(n);return i}async function o(t){let r=L.join(e,`hooks`),i=t.resolveData||`all`,a=await X({directory:r,schema:j,sortOrder:t.pagination?.sortOrder??`asc`,limit:t.pagination?.limit,cursor:t.pagination?.cursor,filePrefix:void 0,filter:async e=>t.runId&&e.runId!==t.runId?!1:n(e),getCreatedAt:()=>null,getId:e=>e.hookId});return{...a,data:a.data.map(e=>mr(e,i))}}return{get:i,getByToken:a,list:o}}async function wr(e,t){await cr(e);for(let n of await ir(e,t)){if(n.hookId){let r=null,i=null;try{i=H(e,`hooks`,n.hookId,n.tag),r=await K(i,j)}catch(e){if(!rt.is(e)&&!(e instanceof SyntaxError||e instanceof k))throw e}if(r&&i&&r.runId===t){if(r.tokenRetentionUntil&&r.tokenRetentionUntil.getTime()>Date.now())continue;await Un(e,r.token,r.runId,r.hookId),await q(Wn(e,r.token,r.runId,r.hookId)),await q(i)}}await ar(e,n.fileId)}}async function Tr(e,t,n,r,i,a){if(_(a.status)||await Nn(e,t))throw new o(`Workflow run "${t}" is already in a terminal state`);let s=Fn(e,t,n);await J(s,r);try{if(await Nn(e,t)||await bt(s,i)!==`linked`)throw new o(`Workflow run "${t}" is already in a terminal state`)}finally{await I.unlink(s).catch(()=>{})}}async function Er(e,t,n,r,i){R(`runId`,t);let a=i?.resolveData??`all`;switch(n.eventType){case`run_cancelled`:{await J(Mn(e,t),``),await In(e,t);let n=new Date,i={runId:r.runId,deploymentId:r.deploymentId,workflowName:r.workflowName,specVersion:r.specVersion,executionContext:r.executionContext,input:r.input,createdAt:r.createdAt,expiredAt:r.expiredAt,startedAt:r.startedAt,status:`cancelled`,output:void 0,error:void 0,completedAt:n,updatedAt:n,attributes:r.attributes};return await G(z(e,`runs`,`${t}.json`),i,{overwrite:!0}),await wr(e,t),{event:void 0,run:fr(i,a)}}case`wait_completed`:case`hook_received`:{let i=`evnt_${Gn()}`,o=new Date,s={...n,runId:t,eventId:i,createdAt:o,specVersion:5},c=z(e,`events`,`${`${t}-${i}`}.json`);return n.eventType===`hook_received`?await Tr(e,t,i,JSON.stringify(s,W,2),c,r):await G(c,s),{event:S(s,a)}}default:throw Error(`Event type '${n.eventType}' not supported for legacy runs (specVersion: ${r.specVersion||`undefined`}). Please upgrade 'workflow' package.`)}}const Dr=new Map;function Or(e,t){let n=Dr.get(e),r={},i=(async()=>{n&&await n.catch(()=>void 0);try{return await t()}finally{Dr.get(e)===r.task&&Dr.delete(e)}})();return r.task=i,Dr.set(e,i),i}function kr(e,t){let n=(async(n,i)=>{R(`runId`,n);let a=await U(e,`runs`,n,w,t);if(!a)throw new r(n);return fr(a,i?.resolveData??`all`)});return{get:n,getMany:(async(e,t)=>{let i=[...new Set(e)],a=await Promise.all(i.map(async e=>{try{return await n(e,t)}catch(e){if(e instanceof r)return null;throw e}})),o=new Map(i.map((e,t)=>[e,a[t]]));return e.map(e=>o.get(e)??null)}),list:(async t=>{let n=t?.resolveData??`all`,r=await X({directory:L.join(e,`runs`),schema:w,fileIdFilter:t?.fileIdFilter,filter:e=>!(t?.workflowName&&e.workflowName!==t.workflowName||t?.status&&e.status!==t.status),sortOrder:t?.pagination?.sortOrder??`desc`,limit:t?.pagination?.limit??200,cursor:t?.pagination?.cursor,getCreatedAt:$(`wrun`),getId:e=>e.runId});return n===`none`?{...r,data:r.data.map(e=>({...e,input:void 0,output:void 0}))}:r}),experimentalSetAttributes:async(n,i,a)=>(R(`runId`,n),Or(n,async()=>{let o=await U(e,`runs`,n,w,t);if(!o)throw new r(n);try{te(i,{existingKeys:Object.keys(o.attributes??{}),allowReservedAttributes:a?.allowReservedAttributes})}catch(e){throw e instanceof x,e}let s=ae(o.attributes,i),c={...o,attributes:s,updatedAt:new Date};return await G(H(e,`runs`,n,t),c,{overwrite:!0}),{attributes:s}}))}}function Ar(){let e=process.env.WORKFLOW_MAX_EVENTS,t=e===void 0?NaN:Number(e);return Number.isInteger(t)&&t>0?t:25e3}const jr=1440*60*1e3;function Mr(){let e=Number(process.env.WORKFLOW_LOCAL_HOOK_RETENTION_LIMIT_DAYS??30);if(!Number.isFinite(e)||e<=0)throw new i(`WORKFLOW_LOCAL_HOOK_RETENTION_LIMIT_DAYS must be a positive number`,{status:400});return e*jr}const Nr=N({eventId:C()}),Pr=N({runId:C(),resumeId:C(),hookId:C(),eventId:C(),payloadDigest:C().optional()});async function Fr(e,t,n){if(t.hookId&&await jn(e,t.hookId,n))return!0;let r=await U(e,`runs`,t.runId,w,n);return r?_(r.status)?!t.tokenRetentionUntil||t.tokenRetentionUntil.getTime()<=Date.now():!1:!0}async function Ir(e){try{return await K(e,Nr)}catch(e){if(e instanceof SyntaxError||e instanceof k)return null;throw e}}async function Lr(e,t,n){return(await X({directory:L.join(e,`events`),schema:b,filePrefix:`${t}-`,filter:e=>e.eventType===`hook_created`&&e.correlationId===n,limit:1,getCreatedAt:$(`evnt`),getId:e=>e.eventId})).data[0]?.eventId??null}async function Rr(e,t,n,r,i){let a=await U(e,`events`,`${t}-${r}`,b,i);if(!a||a.eventType!==`hook_created`||a.correlationId!==n||await U(e,`hooks`,n,j,i))return;let o=gr(a);await er(e,o.token,t,n,r,i),await nr(e,t,n,i),await J(H(e,`hooks`,n,i),JSON.stringify(o,W,2))}async function zr(e,t,n,r,i){let a=Wn(e,t,n,r);return await J(a,JSON.stringify({eventId:i}))?i:(await Ir(a))?.eventId??null}function Br(e,t,n){let r=e.get(t),i={},a=(async()=>{r&&await r.catch(()=>void 0);try{return await n()}finally{e.get(t)===i.task&&e.delete(t)}})();return i.task=a,e.set(t,a),a}async function Vr(e,t){let n=L.join(e,`waits`),r=await Y(n);for(let e of r)e.startsWith(`${t}-`)&&await q(L.join(n,`${e}.json`))}async function Hr(e,t,n,r){return Or(t,async()=>{let i=await K(H(e,`runs`,t,n),w),a={...r,attributes:i?.attributes??r.attributes};return await G(H(e,`runs`,t,n),a,{overwrite:!0}),a})}function Ur(e,t){let n=Mr(),u=4*1024*1024,d=new Map,f=new Map,p=new Map,g=0;function x(e){let t=d.get(e);if(!t)return;d.delete(e),g-=f.get(e)??0,f.delete(e);let n=p.get(t.runId);n?.delete(e),n?.size===0&&p.delete(t.runId)}function C(e){for(let t of p.get(e)??[])x(t)}function oe(){d.clear(),f.clear(),p.clear(),g=0}function T(e,t,n){if(n>u)return;for(;d.size>0&&(d.size>=1e3||g+n>u);){let e=d.keys().next().value;x(e)}d.set(e,t),f.set(e,n),g+=n;let r=p.get(t.runId)??new Set;r.add(e),p.set(t.runId,r)}function se(e,t,n){if(ie(e.eventType)){C(e.runId);return}let r=Buffer.byteLength(n);if(r>u)return;let i=b.safeParse(JSON.parse(n,gt));i.success&&T(t,i.data,r)}async function E(n){let r=H(e,`events`,`${n.runId}-${n.eventId}`,t),i=JSON.stringify(n,W,2);await _t(r,i),se(n,r,i)}let D=new Map,O=new Map;return{clearCache:oe,async create(u,f,p){if(f.eventType===`hook_created`&&f.eventData.tokenRetentionUntil!==void 0&&f.eventData.tokenRetentionUntil.getTime()>Date.now()+n)throw new i(`Hook minimum retention cannot exceed ${n/jr} days in the Local World.`,{status:400});if(u!=null&&u!==``&&R(`runId`,u),`correlationId`in f&&typeof f.correlationId==`string`&&R(`correlationId`,f.correlationId),ne(f.eventType)&&u&&f.correlationId){let e=t?`${u}-${f.correlationId}.${t}`:`${u}-${f.correlationId}`;return Br(D,e,()=>g())}if(y(f.eventType)&&u&&f.correlationId){let e=t?`${u}-${f.correlationId}.hook.${t}`:`${u}-${f.correlationId}.hook`;return Br(O,e,g)}return g();async function g(){let n=`evnt_${Gn()}`,g=new Date,y;if(f.eventType===`run_created`&&(!u||u===``))y=`wrun_${Gn()}`;else if(u)y=u;else throw Error(`runId is required for non-run_created events`);if(f.eventType===`run_created`&&u&&u!==``){let e=ue(y,`wrun_`);if(e)throw new i(e)}let x=f.specVersion??5,C=null;if(f.eventType!==`run_created`&&![`step_completed`,`step_retrying`].includes(f.eventType)&&(C=await U(e,`runs`,y,w,t),f.eventType===`run_started`&&!C&&`eventData`in f&&f.eventData)){let n=f.eventData;if(n.deploymentId&&n.workflowName&&n.input!==void 0){te(Object.entries(n.attributes??{}).map(([e,t])=>({key:e,value:t})),{allowReservedAttributes:n.allowReservedAttributes===!0});let r={runId:y,deploymentId:n.deploymentId,status:`pending`,workflowName:n.workflowName,specVersion:x,executionContext:n.executionContext,input:n.input,output:void 0,error:void 0,startedAt:void 0,completedAt:void 0,attributes:n.attributes??{},encryptionPublicKey:n.encryptionPublicKey,createdAt:g,updatedAt:g};if(await J(H(e,`runs`,y,t),JSON.stringify(r,W))){let e=`evnt_${Gn()}`;await E({eventType:`run_created`,runId:y,eventId:e,createdAt:g,specVersion:x,eventData:{deploymentId:n.deploymentId,workflowName:n.workflowName,input:n.input,executionContext:n.executionContext,attributes:n.attributes,allowReservedAttributes:n.allowReservedAttributes,encryptionPublicKey:n.encryptionPublicKey}}),C=r}else C=await U(e,`runs`,y,w,t)}}if(f.eventType===`run_failed`&&!C||f.eventType===`attr_set`&&!C)throw new r(y);if(C){if(de(C.specVersion))throw new s(C.specVersion,5);if(fe(C.specVersion))return Er(e,y,f,C,p)}let oe=h(f),T=oe&&f.eventType===`step_started`;if(C&&_(C.status)){if(f.eventType===`run_cancelled`&&C.status===`cancelled`){let e={...f,runId:y,eventId:n,createdAt:g,specVersion:x};return await E(e),{event:S(e,p?.resolveData??`all`),run:C,...C?{maxEvents:Ar()}:{}}}if(f.eventType===`run_started`)throw new o(`Workflow run "${y}" is already in terminal state "${C.status}"`);if(ie(f.eventType))throw new l(`Cannot transition run from terminal state "${C.status}"`);if(oe)throw new l(`Cannot create new entities on run in terminal state "${C.status}"`);if(f.eventType===`attr_set`)throw new l(`Cannot set attributes on run in terminal state "${C.status}"`)}let D=null;if(ne(f.eventType)&&f.eventType!==`step_created`&&f.correlationId){if(D=await U(e,`steps`,`${y}-${f.correlationId}`,ce,t),!D&&!T)throw new i(`Step "${f.correlationId}" not found`);if(T&&D)throw new l(`Step "${f.correlationId}" already created`);if(D){if(m(D.status))throw new l(`Cannot modify step in terminal state "${D.status}"`);if(C&&_(C.status)&&D.status!==`running`)throw new o(`Cannot modify non-running step on run in terminal state "${C.status}"`)}}if(re(f.eventType)&&f.correlationId){if(f.eventType===`hook_received`&&p?.resumeId){let n=await K(Hn(e,y,p.resumeId),Pr);if(n&&n.hookId===f.correlationId&&(!p.resumePayloadDigest||!n.payloadDigest||n.payloadDigest===p.resumePayloadDigest)){let r=await U(e,`events`,`${y}-${n.eventId}`,b,t);if(r)return{event:r}}}if(f.eventType===`hook_received`&&await jn(e,f.correlationId,t)||!await U(e,`hooks`,f.correlationId,j,t))throw new c(f.correlationId);if(f.eventType===`hook_received`&&p?.resumeId){let r=Hn(e,y,p.resumeId),i=async r=>{if(r.hookId!==f.correlationId)throw new l(`hook_received resumeId "${p.resumeId}" already recorded for a different hook`);if(p.resumePayloadDigest&&r.payloadDigest&&r.payloadDigest!==p.resumePayloadDigest)throw new l(`hook_received resumeId "${p.resumeId}" already recorded with a different payload`);let i=await U(e,`events`,`${y}-${r.eventId}`,b,t);return i?{event:i}:(n=r.eventId,null)},a=await K(r,Pr);if(a){let e=await i(a);if(e)return e}else if(!await J(r,JSON.stringify({runId:y,resumeId:p.resumeId,hookId:f.correlationId,eventId:n,...p.resumePayloadDigest?{payloadDigest:p.resumePayloadDigest}:{}}))){let e=await K(r,Pr);if(e){let t=await i(e);if(t)return t}}}}let O={...f,runId:y,eventId:n,createdAt:g,specVersion:x,...f.eventType===`hook_received`&&p?.resumeId?{resumeId:p.resumeId}:{}};if(f.eventType===`run_started`&&`eventData`in O&&delete O.eventData,T&&O.eventType===`step_started`&&O.eventData){let{input:e,...t}=O.eventData;O={...O,eventData:t}}let k,A,M,N,pe=!1,me;if(ie(f.eventType)&&C){await J(Mn(e,y,t),``),await In(e,y,t);let r=await Ln(e,y,t);n=r.eventId,O={...O,eventId:n,createdAt:r.createdAt}}if(f.eventType===`run_created`&&`eventData`in f){let n=f.eventData;if(te(Object.entries(n.attributes??{}).map(([e,t])=>({key:e,value:t})),{allowReservedAttributes:n.allowReservedAttributes===!0}),k={runId:y,deploymentId:n.deploymentId,status:`pending`,workflowName:n.workflowName,specVersion:x,executionContext:n.executionContext,input:n.input,output:void 0,error:void 0,startedAt:void 0,completedAt:void 0,attributes:n.attributes??{},encryptionPublicKey:n.encryptionPublicKey,createdAt:g,updatedAt:g},!await J(H(e,`runs`,y,t),JSON.stringify(k,W,2)))throw new l(`Workflow run "${y}" already exists`)}else if(f.eventType===`run_started`){if(C){if(C.status===`running`)return{run:C,maxEvents:Ar()};k=await Hr(e,y,t,{runId:C.runId,deploymentId:C.deploymentId,workflowName:C.workflowName,specVersion:C.specVersion,executionContext:C.executionContext,input:C.input,createdAt:C.createdAt,expiredAt:C.expiredAt,status:`running`,output:void 0,error:void 0,completedAt:void 0,startedAt:C.startedAt??g,updatedAt:g,attributes:C.attributes,encryptionPublicKey:C.encryptionPublicKey})}}else if(f.eventType===`run_completed`&&`eventData`in f){let n=f.eventData;C&&(k=await Hr(e,y,t,{runId:C.runId,deploymentId:C.deploymentId,workflowName:C.workflowName,specVersion:C.specVersion,executionContext:C.executionContext,input:C.input,createdAt:C.createdAt,expiredAt:C.expiredAt,startedAt:C.startedAt,status:`completed`,output:n.output,error:void 0,completedAt:g,updatedAt:g,attributes:C.attributes,encryptionPublicKey:C.encryptionPublicKey}),await Promise.all([wr(e,y),Vr(e,y)]))}else if(f.eventType===`run_failed`&&`eventData`in f){let n=f.eventData;C&&(k=await Hr(e,y,t,{runId:C.runId,deploymentId:C.deploymentId,workflowName:C.workflowName,specVersion:C.specVersion,executionContext:C.executionContext,input:C.input,createdAt:C.createdAt,expiredAt:C.expiredAt,startedAt:C.startedAt,status:`failed`,output:void 0,error:n.error,errorCode:n.errorCode,completedAt:g,updatedAt:g,attributes:C.attributes,encryptionPublicKey:C.encryptionPublicKey}),await Promise.all([wr(e,y),Vr(e,y)]))}else if(f.eventType===`run_cancelled`)C&&(k=await Hr(e,y,t,{runId:C.runId,deploymentId:C.deploymentId,workflowName:C.workflowName,specVersion:C.specVersion,executionContext:C.executionContext,input:C.input,createdAt:C.createdAt,expiredAt:C.expiredAt,startedAt:C.startedAt,status:`cancelled`,output:void 0,error:void 0,completedAt:g,updatedAt:g,attributes:C.attributes,encryptionPublicKey:C.encryptionPublicKey}),await Promise.all([wr(e,y),Vr(e,y)]));else if(f.eventType===`attr_set`&&C)k=await Or(y,async()=>{let n=await K(H(e,`runs`,y,t),w);if(!n)throw new r(y);if(te(f.eventData.changes,{existingKeys:Object.keys(n.attributes),allowReservedAttributes:f.eventData.allowReservedAttributes===!0}),f.correlationId&&f.eventData.writer.type===`workflow`&&!await J(z(e,`.locks`,`attributes`,t?`${y}-${f.correlationId}.created.${t}`:`${y}-${f.correlationId}.created`),``))throw new l(`Attribute event "${f.correlationId}" already exists`);let i={...n,attributes:ae(n.attributes,f.eventData.changes),updatedAt:g};return await G(H(e,`runs`,y,t),i,{overwrite:!0}),i});else if(f.eventType===`step_created`&&`eventData`in f){if(!await J(z(e,`.locks`,`steps`,t?`${y}-${f.correlationId}.created.${t}`:`${y}-${f.correlationId}.created`),``))throw new l(`Step "${f.correlationId}" already created`);let n=f.eventData;A={runId:y,stepId:f.correlationId,stepName:n.stepName,status:`pending`,input:n.input,output:void 0,error:void 0,attempt:0,startedAt:void 0,completedAt:void 0,createdAt:g,updatedAt:g,specVersion:x},await G(H(e,`steps`,`${y}-${f.correlationId}`,t),A)}else if(f.eventType===`step_started`){if(!D&&T){let n=f.eventData;if(await J(z(e,`.locks`,`steps`,t?`${y}-${f.correlationId}.created.${t}`:`${y}-${f.correlationId}.created`),``)){let r={runId:y,stepId:f.correlationId,stepName:n.stepName,status:`pending`,input:n.input,output:void 0,error:void 0,attempt:0,startedAt:void 0,completedAt:void 0,createdAt:g,updatedAt:g,specVersion:x};await G(H(e,`steps`,`${y}-${f.correlationId}`,t),r);let i=`evnt_${Gn()}`,a={eventType:`step_created`,runId:y,eventId:i,createdAt:g,specVersion:x,correlationId:f.correlationId,eventData:{stepName:n.stepName,input:n.input}};await G(H(e,`events`,`${y}-${i}`,t),a),D=r,pe=!0}else throw new l(`Step "${f.correlationId}" already created`)}if(D){if(D.retryAfter&&D.retryAfter.getTime()>Date.now())throw new a(`Cannot start step "${f.correlationId}": retryAfter timestamp has not been reached yet`,{retryAfter:Math.ceil((D.retryAfter.getTime()-Date.now())/1e3)});let n=`${y}-${f.correlationId}`,r=await U(e,`steps`,n,ce,t);if(r&&m(r.status))throw new l(`Cannot modify step in terminal state "${r.status}"`);A={...D,status:`running`,startedAt:D.startedAt??g,attempt:D.attempt+1,retryAfter:void 0,updatedAt:g},await G(H(e,`steps`,n,t),A,{overwrite:!0})}}else if(f.eventType===`step_completed`&&`eventData`in f){let n=f.eventData;if(D){let r=`${y}-${f.correlationId}`;if(!await J(z(e,`.locks`,`steps`,t?`${r}.terminal.${t}`:`${r}.terminal`),``))throw new l(`Cannot modify step in terminal state`);A={...D,status:`completed`,output:n.result,completedAt:g,updatedAt:g},await G(H(e,`steps`,r,t),A,{overwrite:!0})}}else if(f.eventType===`step_failed`&&`eventData`in f){let n=f.eventData;if(D){let r=`${y}-${f.correlationId}`;if(!await J(z(e,`.locks`,`steps`,t?`${r}.terminal.${t}`:`${r}.terminal`),``))throw new l(`Cannot modify step in terminal state`);A={...D,status:`failed`,error:n.error,completedAt:g,updatedAt:g},await G(H(e,`steps`,r,t),A,{overwrite:!0})}}else if(f.eventType===`step_retrying`&&`eventData`in f){let n=f.eventData;if(D){let r=`${y}-${f.correlationId}`;A={...D,status:`pending`,error:n.error,retryAfter:n.retryAfter,updatedAt:g},await G(H(e,`steps`,r,t),A,{overwrite:!0})}}else if(f.eventType===`hook_created`&&`eventData`in f){let r=f.eventData,i=Rn(e,r.token),a=JSON.stringify({token:r.token,hookId:f.correlationId,runId:y,eventId:n,tokenRetentionUntil:r.tokenRetentionUntil}),o=await Vn(e,r.token,async n=>{let o=await Bn(i);return o||=(n.throwIfAborted(),await q(i),await xr(e,r.token,t),await Bn(i)),o?o.runId===y&&o.hookId===f.correlationId?{status:`owned`,claim:o}:await Fr(e,o,t)?(n.throwIfAborted(),await q(i),o.hookId&&(await q(H(e,`hooks`,o.hookId,t)),await q(Wn(e,r.token,o.runId,o.hookId)),await rr(e,o.runId,o.hookId,t)),n.throwIfAborted(),ke(await J(i,a)),{status:`claimed`}):{status:`conflict`,claim:o}:(n.throwIfAborted(),ke(await J(i,a)),{status:`claimed`})});if(o.status===`owned`){let i=o.claim,a;if(i.eventId)a=i.eventId;else{let i=await Lr(e,y,f.correlationId);if(i!==null)throw await Rr(e,y,f.correlationId,i,t),new l(`Hook "${f.correlationId}" already created`);let o=await zr(e,r.token,y,f.correlationId,n);if(o===null)throw new l(`Hook "${f.correlationId}" already created`);a=o}n=a;let s=le(n.replace(/^evnt_/,``))??g;O={...f,eventData:{...f.eventData,tokenRetentionUntil:i.tokenRetentionUntil},runId:y,eventId:n,createdAt:s,specVersion:x}}if(o.status===`conflict`){let e=o.claim,t={eventType:`hook_conflict`,correlationId:f.correlationId,eventData:{token:r.token,conflictingRunId:e.runId},runId:y,eventId:n,createdAt:g,specVersion:x};return await E(t),{event:S(t,p?.resolveData??`all`),run:k,step:A,hook:void 0}}let s=O.eventData;M={runId:y,hookId:f.correlationId,token:s.token,metadata:s.metadata,ownerId:`local-owner`,projectId:`local-project`,environment:`local`,createdAt:O.createdAt,specVersion:x,isWebhook:s.isWebhook??!1,isSystem:s.isSystem??!1,tokenRetentionUntil:s.tokenRetentionUntil},me=o.status===`owned`?{overwrite:!0}:void 0,await er(e,r.token,y,f.correlationId,n,t)}else if(f.eventType===`hook_disposed`){if(!await J(An(e,f.correlationId,t),``))throw new l(`Hook "${f.correlationId}" already disposed`);let n=H(e,`hooks`,f.correlationId,t),r=await U(e,`hooks`,f.correlationId,j,t);r&&(await Un(e,r.token,r.runId,r.hookId),await q(Wn(e,r.token,r.runId,r.hookId))),await q(n),await rr(e,y,f.correlationId,t)}else if(f.eventType===`wait_created`&&`eventData`in f){let n=`${y}-${f.correlationId}`;if(!await J(z(e,`.locks`,`waits`,t?`${n}.created.${t}`:`${n}.created`),``))throw new l(`Wait "${f.correlationId}" already exists`);let r=f.eventData;N={waitId:n,runId:y,status:`waiting`,resumeAt:r.resumeAt,completedAt:void 0,createdAt:g,updatedAt:g,specVersion:x},await G(H(e,`waits`,n,t),N)}else if(f.eventType===`wait_completed`){let n=`${y}-${f.correlationId}`,r=z(e,`.locks`,`waits`,t?`${n}.completed.${t}`:`${n}.completed`);if(!await J(r,``))throw new l(`Wait "${f.correlationId}" already completed`);let a=await U(e,`waits`,n,ee,t);if(!a)throw await I.unlink(r).catch(()=>{}),new i(`Wait "${f.correlationId}" not found`);N={...a,status:`completed`,completedAt:g,updatedAt:g},await G(H(e,`waits`,n,t),N,{overwrite:!0})}if(f.eventType===`hook_received`&&f.correlationId&&await jn(e,f.correlationId,t))throw new c(f.correlationId);let P=H(e,`events`,`${y}-${n}`,t),he=JSON.stringify(O,W,2),ge;if(f.eventType===`hook_received`){let r=await Nn(e,y,t),i=r?null:await U(e,`runs`,y,w,t);if(r||i&&_(i.status))throw new o(`Workflow run "${y}" is already in a terminal state`);let a=Fn(e,y,n,t);if(!await J(a,he))throw new l(`Event "${n}" already exists for run "${y}"`);try{if(await Nn(e,y,t))throw new o(`Workflow run "${y}" is already in a terminal state`);let n=await bt(a,P);if(n===`missing`)throw new o(`Workflow run "${y}" is already in a terminal state`);ge=n===`linked`}finally{await q(a).catch(()=>{})}}else ge=await J(P,he);if(!ge)throw f.eventType===`hook_created`&&f.correlationId&&await Rr(e,y,f.correlationId,n,t),new l(`Event "${n}" already exists for run "${y}"`);se(O,P,he),M&&f.eventType===`hook_created`&&(await nr(e,M.runId,M.hookId,t),await G(H(e,`hooks`,M.hookId,t),M,me));let F=p?.resolveData??`all`,_e=S(O,F),ve,ye,be;if(f.eventType===`run_started`&&k){let t=await X({directory:L.join(e,`events`),schema:b,cachedItems:d,filePrefix:`${y}-`,sortOrder:`asc`,limit:1e3,getCreatedAt:$(`evnt`),getId:e=>e.eventId});ve=t.data,ye=t.cursor,be=t.hasMore}if(v(f.eventType)&&typeof p?.sinceCursor==`string`){let t=await X({directory:L.join(e,`events`),schema:b,filePrefix:`${y}-`,sortOrder:`asc`,cursor:p.sinceCursor,getCreatedAt:$(`evnt`),getId:e=>e.eventId});ve=F===`none`?t.data.map(e=>S(e,F)):t.data,ye=t.cursor,be=t.hasMore}return{event:_e,run:k,step:A,hook:M,wait:N,events:ve,cursor:ye,hasMore:be,...pe?{stepCreated:!0}:{},...k?{maxEvents:Ar()}:{}}}},async get(n,r,i){R(`runId`,n),R(`eventId`,r);let a=await U(e,`events`,`${n}-${r}`,b,t);if(!a)throw Error(`Event ${r} in run ${n} not found`);return S(a,i?.resolveData??`all`)},async list(t){let{runId:n}=t;R(`runId`,n);let r=t.resolveData??`all`,i=await X({directory:L.join(e,`events`),schema:b,cachedItems:d,filePrefix:`${n}-`,sortOrder:t.pagination?.sortOrder??`asc`,limit:t.pagination?.limit,cursor:t.pagination?.cursor,getCreatedAt:$(`evnt`),getId:e=>e.eventId});return r===`none`?{...i,data:i.data.map(e=>S(e,r))}:i},async listByCorrelationId(t){let n=t.correlationId;R(`correlationId`,n),R(`runId`,t.runId);let r=t.resolveData??`all`,i=await X({directory:L.join(e,`events`),schema:b,cachedItems:d,filePrefix:`${t.runId}-`,filter:e=>e.correlationId===n,sortOrder:t.pagination?.sortOrder??`asc`,limit:t.pagination?.limit,cursor:t.pagination?.cursor,getCreatedAt:$(`evnt`),getId:e=>e.eventId});return r===`none`?{...i,data:i.data.map(e=>S(e,r))}:i}}}function Wr(e,t){return{get:(async(n,r,i)=>{R(`runId`,n),R(`stepId`,r);let a=await U(e,`steps`,`${n}-${r}`,ce,t);if(!a)throw Error(`Step ${r} in run ${n} not found`);return pr(a,i?.resolveData??`all`)}),list:(async t=>{R(`runId`,t.runId);let n=t.resolveData??`all`,r=await X({directory:L.join(e,`steps`),schema:ce,filePrefix:`${t.runId}-`,sortOrder:t.pagination?.sortOrder??`desc`,limit:t.pagination?.limit,cursor:t.pagination?.cursor,getCreatedAt:$(`step`),getId:e=>e.stepId});return n===`none`?{...r,data:r.data.map(e=>({...e,input:void 0,output:void 0}))}:r})}}function Gr(e,t){let n=kr(e,t),r=Wr(e,t),i=Ur(e,t),a=Cr(e,t);return{runs:on(`world.runs`,n),steps:on(`world.steps`,r),events:on(`world.events`,i),hooks:on(`world.hooks`,a),clearCache:()=>i.clearCache()}}const Kr=E(()=>Math.random()),qr=N({streams:g(C())});function Jr(e){return e===1}function Yr(e){let t=Buffer.from([+!!e.eof]);return Buffer.concat([t,e.chunk])}function Xr(e){return Jr(e[0])}function Zr(e){return{eof:Xr(e),chunk:Buffer.from(e.subarray(1))}}async function Qr(e){try{return await I.readdir(e)}catch(e){if(e.code===`ENOENT`)return[];throw e}}function $r(e,t,n,r=n,i=()=>!0){for(let a of t){if(!a.endsWith(n))continue;let t=a.slice(0,-n.length);i(t)&&e.set(t,r)}}function ei(e,t){return R(`streamName`,t),L.join(e,t)}async function ti(e,t,n){let r=ei(e,t),i=await Qr(r),a=new Map;return $r(a,i,`.json`),$r(a,i,`.bin`,`.bin`,n?e=>!e.endsWith(`.${n}`):void 0),n&&$r(a,i,`.${n}.bin`),{files:[...a.keys()].sort(),extMap:a,dir:r}}function ni(e,t){let n=t?`.${t}`:``,r=new Ae,i=new Set;async function a(n,r){R(`runId`,n),R(`streamName`,r);let a=`${n}:${r}`;if(i.has(a))return;let o=H(e,`streams/runs`,n,t),s=(await U(e,`streams/runs`,n,qr,t))?.streams??[];s.includes(r)||(s.push(r),await G(o,{streams:s},{overwrite:!0})),i.add(a)}function o(e){return typeof e==`string`?Buffer.from(new TextEncoder().encode(e)):e instanceof Buffer?e:Buffer.from(e)}return{streams:{async write(t,i,s){let c=`chnk_${Kr()}`;await a(await t,i);let l=o(s),u=Yr({chunk:l,eof:!1});await _t(L.join(ei(L.join(e,`streams`,`chunks`),i),`${c}${n}.bin`),u);let d=Uint8Array.from(l);r.emit(`chunk:${i}`,{streamName:i,chunkData:d,chunkId:c})},async writeMulti(t,i,s){if(s.length===0)return;let c=s.map(()=>`chnk_${Kr()}`);await a(await t,i);let l=s.map(e=>o(e)).map(async(t,r)=>{let a=c[r],o=Yr({chunk:t,eof:!1});return await _t(L.join(ei(L.join(e,`streams`,`chunks`),i),`${a}${n}.bin`),o),{chunkId:a,chunkData:Uint8Array.from(t)}});for(let e of l){let{chunkId:t,chunkData:n}=await e;r.emit(`chunk:${i}`,{streamName:i,chunkData:n,chunkId:t})}},async close(t,i){let o=`chnk_${Kr()}`;await a(await t,i),await _t(L.join(ei(L.join(e,`streams`,`chunks`),i),`${o}${n}.bin`),Yr({chunk:Buffer.from([]),eof:!0})),r.emit(`close:${i}`,{streamName:i})},async list(n){return R(`runId`,n),(await U(e,`streams/runs`,n,qr,t))?.streams??[]},async getChunks(n,r,i){let a=i?.limit??100,{files:o,extMap:s,dir:c}=await ti(L.join(e,`streams`,`chunks`),r,t),l=0;if(i?.cursor)try{l=JSON.parse(Buffer.from(i.cursor,`base64`).toString(`utf-8`)).i}catch{l=0}let u=!1,d=[],f=0;for(let e of o){let t=s.get(e)??`.bin`,n=L.join(c,`${e}${t}`);if(f<l){if(Jr(await yt(n))){u=!0;break}f++;continue}if(d.length>=a){Jr(await yt(n))?u=!0:f++;break}let r=Zr(await vt(n));if(r.eof){u=!0;break}d.push({index:f,data:Uint8Array.from(r.chunk)}),f++}let p=!u&&f>l+d.length,m=l+d.length;return{data:d,cursor:p?Buffer.from(JSON.stringify({i:m})).toString(`base64`):null,hasMore:p,done:u}},async getInfo(n,r){let{files:i,extMap:a,dir:o}=await ti(L.join(e,`streams`,`chunks`),r,t),s=!1,c=0;for(let e of i){let t=a.get(e)??`.bin`;if(Jr(await yt(L.join(o,`${e}${t}`)))){s=!0;break}c++}return{tailIndex:c-1,done:s}},async get(n,i,a=0){let o=L.join(e,`streams`,`chunks`),s=()=>{},c=null,l=!1;return new ReadableStream({async start(e){let n=new Set,u=[],d=!0,f=!1,p=t=>{if(t.chunkData.byteLength===0){n.add(t.chunkId);return}d?(n.add(t.chunkId),u.push({chunkId:t.chunkId,chunkData:Uint8Array.from(t.chunkData)})):n.has(t.chunkId)||(n.add(t.chunkId),e.enqueue(Uint8Array.from(t.chunkData)))},m=()=>{if(d){f=!0;return}l=!0,s();try{e.close()}catch{}};s=()=>{r.off(`chunk:${i}`,p),r.off(`close:${i}`,m),c&&=(clearInterval(c),null)},r.on(`chunk:${i}`,p),r.on(`close:${i}`,m);let{files:h,extMap:g,dir:_}=await ti(o,i,t),v=h.length;if(typeof a==`number`&&a<0&&h.length>0){let e=h[h.length-1],t=g.get(e)??`.bin`;Jr(await yt(L.join(_,`${e}${t}`)))&&v--}let y=typeof a==`number`&&a<0?Math.max(0,v+a):a,b=!1;for(let t=y;t<h.length;t++){let r=h[t],i=r;if(n.has(i))continue;let a=g.get(r)??`.bin`,o=Zr(await vt(L.join(_,`${r}${a}`)));if(o?.eof===!0){b=!0;break}n.add(i),o.chunk.byteLength&&e.enqueue(Uint8Array.from(o.chunk))}d=!1,u.sort((e,t)=>e.chunkId.localeCompare(t.chunkId));for(let t of u)e.enqueue(Uint8Array.from(t.chunkData));if(b){l=!0,s();try{e.close()}catch{}return}if(f){l=!0,s();try{e.close()}catch{}return}for(let e=0;e<y&&e<h.length;e++)n.add(h[e]);if(l){s();return}let x=!1;c=setInterval(async()=>{if(!x){x=!0;try{let{files:r,extMap:a}=await ti(o,i,t);for(let t of r){let r=t;if(n.has(r))continue;n.add(r);let i=a.get(t)??`.bin`,o=Zr(await vt(L.join(_,`${t}${i}`)));if(o?.eof===!0){l=!0,s();try{e.close()}catch{}return}if(l)return;o.chunk.byteLength&&e.enqueue(Uint8Array.from(o.chunk))}}catch(e){e instanceof Error&&`code`in e||console.error(`[world-local] Unexpected polling error:`,e)}finally{x=!1}}},100)},cancel(){l=!0,s()}})}}}}function ri(e){let t=e?Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0)):{},n={...Ze.value,...t};Fe(n.dataDir);let r=n.tag,i=_n(n),{clearCache:a,...o}=Gr(n.dataDir,r),s=Qe(n);return{specVersion:5,capabilities:{hookRetention:{active:!0},hookResumeDedup:!0},...i,...o,...on(`world.streams`,{...ni(n.dataDir,r),...n.streamFlushIntervalMs!==void 0&&{streamFlushIntervalMs:n.streamFlushIntervalMs}}),async start(){if(await Lt(n.dataDir),!s)return;let e=r?e=>lt(e,r):ut;await O({...o.runs,list:(t=>o.runs.list({...t,fileIdFilter:e}))},i.queue,`world-local`)},async close(){a(),await i.close()},async clear(){if(a(),r){let e=n.dataDir,t=L.join(e,`hooks`),i=await dt(t,r),{HookSchema:a}=await import(`../../_chunks/workflow/dist-CNXUKQCp.js`).then(e=>e.t);await Promise.all(i.map(async n=>{let r=await K(L.join(t,n),a);r?.token&&(await q(L.join(t,`tokens`,`${kn(r.token)}.json`)),await q(Wn(e,r.token,r.runId,r.hookId)))})),await Promise.all([`runs`,`steps`,`events`,`hooks`,`hooks/by-run`,`waits`,`streams/runs`].map(async t=>{let n=L.join(e,t),i=await dt(n,r);await Promise.all(i.map(e=>q(L.join(n,e))))}));for(let t of[`token-index`,`id-index`]){let n=L.join(e,`hooks`,t),i;try{i=await F.readdir(n,{withFileTypes:!0})}catch{i=[]}await Promise.all(i.filter(e=>e.isDirectory()).map(async e=>{let t=L.join(n,e.name),i=await dt(t,r);await Promise.all(i.map(e=>q(L.join(t,e))))}))}await F.rm(L.join(e,`.locks`),{recursive:!0,force:!0}).catch(()=>{});let o=L.join(e,`streams`,`chunks`),s;try{s=await F.readdir(o,{withFileTypes:!0})}catch{s=[]}await Promise.all(s.filter(e=>e.isDirectory()).map(async e=>{let t=L.join(o,e.name),n=await ft(t,r,`.bin`);await Promise.all(n.map(e=>F.unlink(L.join(t,e)).catch(()=>{})))})),st()}else st(),sr(),await Ce(n.dataDir,{recursive:!0,force:!0}),await Lt(n.dataDir)}}}export{Dt as DataDirAccessError,Ot as DataDirVersionError,je as UnwritableDataDirError,ri as createWorld,Nt as ensureDataDir,Lt as initDataDir,kt as parseVersion};
|
|
1
|
+
import{i as e,o as t,t as n}from"../../_chunks/workflow/rolldown-runtime-DaDcL9Zw.js";import{E as r,O as i,_ as a,d as o,f as s,o as c,r as l}from"../../_chunks/workflow/dist-CRTn4Sg8.js";import"../../_chunks/workflow/dist-tJoQXAF6.js";import{i as u,n as d,r as f,t as p}from"../../_chunks/workflow/workflow-routes-CwqB063q.js";import{Hn as m,a as h,jt as g,kn as _,n as v,o as y,t as b,xr as x}from"../../_chunks/workflow/node-Smb57EnG.js";import{A as ee,B as S,E as C,F as te,I as w,M as T,N as ne,P as re,R as E,T as ie,b as ae,c as D,d as O,j as oe,n as se,o as k,r as ce,s as A,u as le,v as ue,w as j,y as de,z as fe}from"../../_chunks/workflow/dist-C8PhDW9B.js";import{n as pe,r as me,t as he}from"../../_chunks/workflow/undici-BNc_0O4m.js";import{t as ge}from"../../_chunks/workflow/signal-exit-C8vsI6zj.js";import{createHash as M}from"node:crypto";import{promisify as _e}from"node:util";import{fileURLToPath as ve}from"node:url";import{promises as N}from"node:fs";import P,{access as ye,constants as be,mkdir as xe,readFile as F,readdir as Se,readlink as Ce,rm as we,unlink as Te,writeFile as Ee}from"node:fs/promises";import I from"node:path";import{tmpdir as De}from"node:os";import{execFile as Oe}from"node:child_process";import{setTimeout as ke}from"node:timers/promises";import Ae from"node:assert";import{EventEmitter as je}from"node:events";var Me=class extends i{dataDir;constructor(e,t){super(`[workflow] The local (filesystem) world cannot create its data directory "${e}" (${t}). Workflow runs cannot be stored, so every run will fail before its first step. If this is a Vercel deployment, its filesystem is read-only and the local world cannot work there. The world is selected from the environment when the process starts: the Vercel world is used when VERCEL_DEPLOYMENT_ID is set, unless WORKFLOW_TARGET_WORLD says otherwise. Unset WORKFLOW_TARGET_WORLD in this deployment, or set WORKFLOW_TARGET_WORLD=vercel, to use the Vercel world. Otherwise point WORKFLOW_LOCAL_DATA_DIR at a writable directory.`,{code:t}),this.name=`UnwritableDataDirError`,this.dataDir=e}static is(e){return e instanceof Error&&e.name===`UnwritableDataDirError`}};const Ne=new Set([`EROFS`,`EACCES`,`EPERM`]);function Pe(e){return e!==void 0&&Ne.has(e)}let Fe=!1;function Ie(e){if(Fe||!process.env.VERCEL_DEPLOYMENT_ID)return;let t=I.resolve(e),n=De();t===n||t.startsWith(`${n}${I.sep}`)||(Fe=!0,console.warn(`[workflow] Warning: the local (filesystem) world is running inside a Vercel deployment, writing to ${t}. That filesystem is read-only, so workflow runs will fail before their first step. The world is selected from the environment when the process starts: the Vercel world is used when VERCEL_DEPLOYMENT_ID is set, unless WORKFLOW_TARGET_WORLD says otherwise. Unset WORKFLOW_TARGET_WORLD in this deployment, or set WORKFLOW_TARGET_WORLD=vercel, to use the Vercel world.`))}function Le(e,t=10){let n=parseInt(e,t);if(!Number.isNaN(n)&&n>=0&&n<=65535)return n}function Re(e,t){let n=[],r=e.trim().split(`
|
|
2
|
+
`);for(let e of r){let r=e.trim().split(/\s+/);if(r.length<5||r[0]?.toUpperCase()!==`TCP`)continue;let[,i,,a,o]=r;if(a?.toUpperCase()!==`LISTENING`||o!==t.toString())continue;let s=i.lastIndexOf(`:`);if(s===-1)continue;let c=Le(i.slice(s+1));c!==void 0&&n.push(c)}return n}const ze=_e(Oe);function Be(e,t=10){let n=parseInt(e,t);if(!Number.isNaN(n)&&n>=0&&n<=65535)return n}const Ve=((e,t)=>e.join(t))([``,`proc`],`/`);async function He(e){let t=[`${Ve}/net/tcp`,`${Ve}/net/tcp6`],n=[],r=new Set,i=`${Ve}/${e}/fd`;try{let e=(await Se(i)).sort((e,t)=>Number.parseInt(e,10)-Number.parseInt(t,10)),t=await Promise.allSettled(e.map(async e=>(await Ce(`${i}/${e}`)).match(/^socket:\[(\d+)\]$/)?.[1]??null));for(let e of t)e.status===`fulfilled`&&e.value&&(n.push(e.value),r.add(e.value))}catch{return[]}if(n.length===0)return[];let a=new Map;for(let e of t)try{let t=(await F(e,`utf8`)).split(`
|
|
3
|
+
`).slice(1);for(let e of t){if(!e.trim())continue;let t=e.trim().split(/\s+/);if(t.length<10)continue;let n=t[1],i=t[3],o=t[9];if(!n||i!==`0A`||!o||!r.has(o))continue;let s=n.indexOf(`:`);if(s===-1)continue;let c=n.slice(s+1);if(!c)continue;let l=Be(c,16);l!==void 0&&a.set(o,l)}}catch{}let o=[];for(let e of n){let t=a.get(e);t!==void 0&&o.push(t)}return o}async function Ue(e){try{let{stdout:t}=await ze(`lsof`,[`-a`,`-i`,`-P`,`-n`,`-p`,e.toString()]),n=[],r=t.split(`
|
|
4
|
+
`);for(let e of r)if(e.includes(`LISTEN`)){let t=e.trim().split(/\s+/)[8];if(t){let e=t.lastIndexOf(`:`);if(e!==-1){let r=Be(t.slice(e+1));r!==void 0&&n.push(r)}}}return n}catch{return[]}}async function We(e){try{let{stdout:t}=await ze(`cmd`,[`/c`,`netstat -ano -p tcp | findstr LISTENING`]);return Re(t,e)}catch{return[]}}async function Ge(){let{pid:e,platform:t}=process;try{switch(t){case`linux`:return await He(e);case`darwin`:return await Ue(e);case`win32`:return await We(e);default:return[]}}catch(e){return process.env.NODE_ENV===`development`&&console.debug(`[getAllPorts] Detection failed:`,e),[]}}const Ke=`${p}/flow?__health`;async function qe(e,t={}){let{endpoint:n=Ke,timeout:r=500}=t,i=new AbortController,a=setTimeout(()=>i.abort(),r);try{return(await fetch(`http://localhost:${e}${n}`,{method:`HEAD`,signal:i.signal})).status===200}catch{return!1}finally{clearTimeout(a)}}async function Je(e){let t=await Ge();if(t.length===0)return;if(t.length===1)return t[0];let n=(await Promise.all(t.map(async t=>({port:t,isWorkflow:await qe(t,e)})))).find(e=>e.isWorkflow);return n?n.port:(process.env.NODE_ENV===`development`&&console.debug(`[getWorkflowPort] Probing failed, falling back to first port:`,t[0]),t[0])}function Ye(e){let t={get value(){let n=e();return Object.defineProperty(t,"value",{value:n}),n}};return t}const Xe=()=>process.env.WORKFLOW_LOCAL_DATA_DIR||`.workflow-data`,Ze=()=>process.env.WORKFLOW_LOCAL_BASE_URL,Qe=Ye(()=>({dataDir:Xe(),baseUrl:Ze()}));function $e(e){if(e.recoverActiveRuns!==void 0)return e.recoverActiveRuns;let t=process.env.WORKFLOW_LOCAL_RECOVER_ACTIVE_RUNS?.toLowerCase();return!(t===`0`||t===`false`)}function et(e){return e.baseUrl??process.env.WORKFLOW_LOCAL_BASE_URL??d(`http://localhost`)}async function tt(e){if(e.baseUrl)return e.baseUrl;if(process.env.WORKFLOW_LOCAL_BASE_URL)return process.env.WORKFLOW_LOCAL_BASE_URL;if(typeof e.port==`number`)return d(`http://localhost:${e.port}`);if(process.env.PORT)return d(`http://localhost:${process.env.PORT}`);let t=await Je({endpoint:f()});if(t)return d(`http://localhost:${t}`);throw Error(`Unable to resolve base URL for workflow queue.`)}const nt=v(()=>Math.random());function rt(e){let t=typeof e==`string`?e:String(e);return t.length>48?`${t.slice(0,48)}…`:t}var it=class extends i{constructor(e,t){super(`Unsafe ${e} "${rt(t)}": must not be empty, contain ".", "/", "\\", or null bytes`),this.name=`UnsafeEntityIdError`}static is(e){return e instanceof Error&&e.name===`UnsafeEntityIdError`}};function L(e,t){if(t.length===0||t.startsWith(`.`)||t.includes(`/`)||t.includes(`\\`)||t.includes(`\0`)||t.includes(`.`))throw new it(e,t)}function R(e,...t){let n=I.resolve(e),r=I.resolve(e,...t);if(r!==n&&!r.startsWith(n+I.sep))throw new it(`path`,t.join(`/`));return r}const at=process.platform===`win32`;async function z(e,t=5){if(!at)return e();let n=[`EPERM`,`EBUSY`,`EACCES`];for(let r=0;r<=t;r++)try{return await e()}catch(e){if(!(r<t&&n.includes(e.code)))throw e;let i=10*2**r+Math.random()*10;await new Promise(e=>setTimeout(e,i))}throw Error(`Retry loop exited unexpectedly`)}const ot=new Set,st=new Set;function ct(){ot.clear(),st.clear()}const lt=/\.[a-zA-Z][a-zA-Z0-9-]*$/;function B(e){return e.replace(lt,``)}function ut(e,t){return e.endsWith(`.${t}`)}function dt(e){return!lt.test(e)}function V(e,t,n,r){return L(`fileId`,n),r!==void 0&&L(`tag`,r),R(e,t,r?`${n}.${r}.json`:`${n}.json`)}async function H(e,t,n,r,i){if(L(`fileId`,n),i!==void 0&&L(`tag`,i),i){let a=await G(R(e,t,`${n}.${i}.json`),r);if(a!==null)return a}return G(R(e,t,`${n}.json`),r)}async function ft(e,t){let n=`.${t}.json`;try{return(await N.readdir(e)).filter(e=>e.endsWith(n))}catch(e){if(e.code===`ENOENT`)return[];throw e}}async function pt(e,t,n){let r=`.${t}${n}`;try{return(await N.readdir(e)).filter(e=>e.endsWith(r))}catch(e){if(e.code===`ENOENT`)return[];throw e}}async function mt(e){let t=I.resolve(e);if(!st.has(t))try{await N.mkdir(t,{recursive:!0}),st.add(t)}catch(e){let n=e.code;if(Pe(n)&&!await ht(t))throw new Me(t,n)}}async function ht(e){try{return(await N.stat(e)).isDirectory()}catch{return!1}}async function gt(e,t){await mt(e);try{return await t()}catch(n){if(n.code!==`ENOENT`)throw n;return st.delete(I.resolve(e)),await mt(e),t()}}function U(e,t){return t instanceof Uint8Array?{__type:`Uint8Array`,data:Buffer.from(t).toString(`base64`)}:t}function _t(e,t){return typeof t==`object`&&t&&t.__type===`Uint8Array`&&typeof t.data==`string`?new Uint8Array(Buffer.from(t.data,`base64`)):t}async function W(e,t,n){return vt(e,JSON.stringify(t,U,2),n)}async function vt(e,t,n){if(!n?.overwrite){if(ot.has(e))throw new l(`File ${e} already exists and 'overwrite' is false`);try{throw await N.access(e),ot.add(e),new l(`File ${e} already exists and 'overwrite' is false`)}catch(e){if(e.code!==`ENOENT`)throw e}}let r=`${e}.tmp.${nt()}`,i=!1;try{await gt(I.dirname(e),async()=>{await N.writeFile(r,t),i=!0,await z(()=>N.rename(r,e))}),ot.add(e)}catch(e){throw i&&await z(()=>N.unlink(r),3).catch(()=>{}),e}}async function G(e,t){try{let n=await N.readFile(e,`utf-8`);return t.parse(JSON.parse(n,_t))}catch(e){if(e.code===`ENOENT`)return null;throw e}}async function yt(e){return await N.readFile(e)}async function bt(e){let t=await N.open(e,`r`);try{let e=Buffer.allocUnsafe(1),{bytesRead:n}=await t.read(e,0,1,0);return n===0?void 0:e[0]}finally{await t.close()}}async function K(e){try{await z(()=>N.unlink(e))}catch(e){if(e.code!==`ENOENT`)throw e}}async function q(e,t){let n=`${e}.tmp.${nt()}`,r=!1;try{return await gt(I.dirname(e),async()=>{await N.writeFile(n,t,{flag:`wx`}),r=!0;try{return await z(()=>N.link(n,e)),!0}catch(e){if(e.code===`EEXIST`)return!1;throw e}})}finally{r&&await z(()=>N.unlink(n),3).catch(()=>{})}}async function xt(e,t){try{return await gt(I.dirname(t),()=>z(()=>N.link(e,t))),`linked`}catch(e){if(e.code===`EEXIST`)return`exists`;if(e.code===`ENOENT`)return`missing`;throw e}}async function J(e){return St(e,`.json`)}async function St(e,t){try{return(await N.readdir(e)).filter(e=>e.endsWith(t)).map(e=>e.slice(0,-t.length))}catch(e){if(e.code===`ENOENT`)return[];throw e}}function Ct(e){if(!e)return null;let t=e.split(`|`);return{timestamp:new Date(t[0]),id:t[1]||null}}function wt(e,t){return t?`${e.toISOString()}|${t}`:e.toISOString()}async function Y(e){let{directory:t,schema:n,cachedItems:r,filePrefix:i,fileIdFilter:a,filter:o,sortOrder:s=`desc`,limit:c=20,cursor:l,getCreatedAt:u,getId:d}=e;i!==void 0&&L(`filePrefix`,i);let f=I.resolve(t),p=await J(f),m=i?p.filter(e=>e.startsWith(i)):p,h=a?m.filter(a):m,g=Ct(l),_=h;g&&(_=h.filter(e=>{let t=u(`${e}.json`);if(t){let e=g.timestamp.getTime(),n=t.getTime();return g.id?s===`desc`?n<=e:n>=e:s===`desc`?n<e:n>e}return!0}));let v=[];for(let e=0;e<_.length;e+=32){let t=_.slice(e,e+32),i=await Promise.all(t.map(async e=>{let t=I.join(f,`${e}.json`),i;try{let e=r?.get(t);i=e===void 0?await G(t,n):structuredClone(e)}catch(t){if(t instanceof x)return console.warn(`Skipping item ${e} due to malformed JSON: ${t.message}`),null;throw t}return i&&o&&!await o(i)?null:i}));for(let e of i)if(e){if(g){let t=e.createdAt.getTime(),n=g.timestamp.getTime();if(s===`desc`){if(t>n||t===n&&g.id&&d&&d(e)>=g.id)continue}else if(t<n||t===n&&g.id&&d&&d(e)<=g.id)continue}v.push(e)}}v.sort((e,t)=>{let n=e.createdAt.getTime(),r=t.createdAt.getTime(),i=s===`asc`?n-r:r-n;if(i===0&&d){let n=d(e),r=d(t);return s===`asc`?n.localeCompare(r):r.localeCompare(n)}return i});let y=v.length>c,b=y?v.slice(0,c):v;return{data:b,cursor:b.length>0?wt(b[b.length-1].createdAt,d?.(b[b.length-1])):null,hasMore:y}}let X=null;function Tt(){return typeof import.meta.url==`string`&&import.meta.url?I.dirname(ve(import.meta.url)):null}async function Et(){if(X)return X;let e=Tt();if(e)try{let t=await F(I.join(e,`../package.json`),`utf-8`);return X=JSON.parse(t),X}catch{}return X={name:`@workflow/world-local`,version:`5.0.0-beta.34`},X}const Dt=`version.txt`;var Ot=class extends Error{dataDir;code;constructor(e,t,n){super(e),this.name=`DataDirAccessError`,this.dataDir=t,this.code=n}},kt=class extends Error{oldVersion;newVersion;suggestedVersion;constructor(e,t,n,r){super(e),this.name=`DataDirVersionError`,this.oldVersion=t,this.newVersion=n,this.suggestedVersion=r}};function At(e){let t=e.match(/^(\d+)\.(\d+)\.(\d+)(?:-(.+))?$/);if(!t)throw Error(`Invalid version string: "${e}"`);return{major:parseInt(t[1],10),minor:parseInt(t[2],10),patch:parseInt(t[3],10),prerelease:t[4],raw:e}}function Z(e){let t=`${e.major}.${e.minor}.${e.patch}`;return e.prerelease?`${t}-${e.prerelease}`:t}function jt(e){let t=e.trim(),n=t.lastIndexOf(`@`);if(n<=0)throw Error(`Invalid version file content: "${e}"`);return{packageName:t.substring(0,n),version:At(t.substring(n+1))}}function Mt(e,t){return`${e}@${Z(t)}`}function Nt(e,t){console.log(`[world-local] Upgrading from version ${Z(e)} to ${Z(t)}`)}async function Pt(e){let t=I.resolve(e);try{await xe(t,{recursive:!0})}catch(e){let n=e;if(n.code!==`EEXIST`)throw new Ot(`Failed to create data directory "${t}": ${n.message}`,t,n.code)}try{await ye(t,be.R_OK)}catch(e){let n=e;throw new Ot(`Data directory "${t}" is not readable: ${n.message}`,t,n.code)}let n=I.join(t,`.workflow-write-test-${Date.now()}`);try{await Ee(n,``),await Te(n).catch(e=>{if(e.code!==`ENOENT`)throw e})}catch(e){let n=e;throw new Ot(`Data directory "${t}" is not writable: ${n.message}`,t,n.code)}}async function Ft(e){let t=I.join(I.resolve(e),Dt);try{return jt(await F(t,`utf-8`))}catch(e){if(e.code===`ENOENT`)return null;throw e}}async function It(e,t){await Ee(I.join(I.resolve(e),Dt),Mt((await Et()).name,t))}function Lt(e,t){return t||Z(e)}async function Rt(e){await Pt(e);let t=await Et(),n=At(t.version),r=await Ft(e);if(r===null){await It(e,n);return}let{version:i}=r;if(Z(i)!==Z(n))try{Nt(i,n),await It(e,n)}catch(e){let r=Lt(i,e instanceof kt?e.suggestedVersion:void 0);throw console.error(`[world-local] Failed to upgrade data directory from version ${Z(i)} to ${Z(n)}:`,e instanceof Error?e.message:e),console.error(`[world-local] Data is not compatible with the current version. Please downgrade to ${t.name}@${r}`),e}}let zt=null;async function Bt(){return zt||=import(`../../_chunks/workflow/src-Cj3P1ChQ.js`).then(e=>t(e.t(),1)).catch(()=>null),zt}let Vt=null;async function Ht(){return Vt||=Bt().then(e=>e?e.trace.getTracer(`workflow`):null),Vt}async function Ut(e,...t){let[n,r]=await Promise.all([Ht(),Bt()]),{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 Wt(e){let t=await Bt();if(t)return t.SpanKind[e]}function Q(...e){return t=>Object.fromEntries(e.map(e=>[e,t]))}const Gt=Q(`peer.service`),Kt=Q(`rpc.system`),qt=Q(`rpc.service`),Jt=Q(`rpc.method`),Yt=Q(`workflow.run.id`),Xt=Q(`step.id`),Zt={peerService:`world-local`,rpcSystem:`local`,rpcService:`world-local`},Qt={"world.runs.get":0,"world.runs.experimentalSetAttributes":0,"world.steps.get":0,"world.events.create":0,"world.events.get":0},$t=new Set([`world.steps.list`,`world.events.list`,`world.hooks.list`]);function en(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 tn(e,t){return typeof e[t]==`string`?e[t]:void 0}function nn(e){if(typeof e!=`object`||!e)return;let t=e.runId;return typeof t==`string`?t:void 0}function rn(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 an(e,t,n){let r=`${e}.${t}`,i={},a=Qt[r],o=a===void 0?$t.has(r)?nn(n[0]):void 0:tn(n,a);if(o&&Object.assign(i,Yt(o)),r===`world.steps.get`){let e=tn(n,1);e&&Object.assign(i,Xt(e))}return i}function on(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=en(t);r&&(n=`${e}.${a} ${r}`)}return Ut(n,{kind:await Wt(`INTERNAL`)},async r=>{r?.setAttributes({...Gt(Zt.peerService),...Kt(Zt.rpcSystem),...qt(Zt.rpcService),...Jt(n),...an(e,a,t)});let o=await i(...t),s=rn(o);return s&&r?.setAttributes(Yt(s)),o})}}return n}var sn=n((t=>{var n=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.RateLimit=t.Sema=void 0;let r=n(e(`events`));function i(e,t,n,r,i){for(let a=0;a<i;++a)n[a+r]=e[a+t],e[a+t]=void 0}function a(e){return e>>>=0,--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,e+1}function o(e){return a(Math.min(Math.max(16,e),1073741824))}var s=class{constructor(e){this._capacity=o(e),this._length=0,this._front=0,this.arr=[]}push(e){let t=this._length;this.checkCapacity(t+1);let n=this._front+t&this._capacity-1;return this.arr[n]=e,this._length=t+1,t+1}pop(){let e=this._length;if(e===0)return;let t=this._front+e-1&this._capacity-1,n=this.arr[t];return this.arr[t]=void 0,this._length=e-1,n}shift(){let e=this._length;if(e===0)return;let t=this._front,n=this.arr[t];return this.arr[t]=void 0,this._front=t+1&this._capacity-1,this._length=e-1,n}get length(){return this._length}checkCapacity(e){this._capacity<e&&this.resizeTo(o(this._capacity*1.5+16))}resizeTo(e){let t=this._capacity;this._capacity=e;let n=this._front,r=this._length;if(n+r>t){let e=n+r&t-1;i(this.arr,0,this.arr,t,e)}}},c=class extends r.default{};function l(e){return typeof e==`function`}function u(){return`1`}var d=class{constructor(e,{initFn:t=u,pauseFn:n,resumeFn:r,capacity:i=10}={}){if(l(n)!==l(r))throw Error(`pauseFn and resumeFn must be both set for pausing`);this.nrTokens=e,this.free=new s(e),this.waiting=new s(i),this.releaseEmitter=new c,this.noTokens=t===u,this.pauseFn=n,this.resumeFn=r,this.paused=!1,this.releaseEmitter.on(`release`,e=>{let t=this.waiting.shift();t?t.resolve(e):(this.resumeFn&&this.paused&&(this.paused=!1,this.resumeFn()),this.free.push(e))});for(let n=0;n<e;n++)this.free.push(t())}tryAcquire(){return this.free.pop()}async acquire(){let e=this.tryAcquire();return e===void 0?new Promise((e,t)=>{this.pauseFn&&!this.paused&&(this.paused=!0,this.pauseFn()),this.waiting.push({resolve:e,reject:t})}):e}release(e){this.releaseEmitter.emit(`release`,this.noTokens?`1`:e)}drain(){let e=Array(this.nrTokens);for(let t=0;t<this.nrTokens;t++)e[t]=this.acquire();return Promise.all(e)}nrWaiting(){return this.waiting.length}};t.Sema=d;function f(e,{timeUnit:t=1e3,uniformDistribution:n=!1}={}){let r=new d(n?1:e),i=n?t/e:t;return async function(){await r.acquire(),setTimeout(()=>r.release(),i)}}t.RateLimit=f}))(),cn=he(),ln=class{contentType=`application/json`;serialize(e){return Buffer.from(JSON.stringify(e,U))}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).toString();return JSON.parse(r,_t)}};const un=parseInt(process.env.WORKFLOW_LOCAL_QUEUE_MAX_VISIBILITY??`0`,10)||1/0,dn=2147483647,fn=parseInt(process.env.WORKFLOW_LOCAL_QUEUE_CONCURRENCY??`0`,10)||1e3;function pn(e,t){let n=process.env[e];if(n===void 0||n===``)return t;let r=Number.parseInt(n,10);return Number.isFinite(r)&&r>=0?r:t}function mn(){return{bodyTimeout:pn(`WORKFLOW_LOCAL_BODY_TIMEOUT_MS`,3e4),connections:1e3,headersTimeout:pn(`WORKFLOW_LOCAL_HEADERS_TIMEOUT_MS`,3e4),keepAliveTimeout:3e4}}const hn=`Cannot perform ArrayBuffer.prototype.slice on a detached ArrayBuffer`;function gn(e){let t=e,n=new Set;for(;t&&typeof t==`object`&&!n.has(t);){if(n.add(t),`message`in t&&typeof t.message==`string`&&t.message.includes(hn))return!0;t=`cause`in t?t.cause:void 0}return!1}function _n(e){let t=new cn.Agent(mn()),n=new ln,r=v(),i=new sn.Sema(fn),a=new AbortController,o=a.signal,s=new Map,c=new Map,l=async(a,l,d)=>{let f=[];if(d?.idempotencyKey){let e=s.get(d.idempotencyKey);if(e)return{messageId:e}}let p=n.serialize(l),{prefix:m}=O(a),h=D.parse(`msg_${r()}`),g=l,_=g.runId??void 0,v=g.stepId??void 0;if(d?.idempotencyKey){let e=d.idempotencyKey;s.set(e,h),f.push(()=>{s.delete(e)})}return(async()=>{d?.delaySeconds&&d.delaySeconds>0&&await ke(Math.min(d.delaySeconds*1e3,dn),void 0,{signal:o}),i.tryAcquire()||(console.warn(`[world-local]: concurrency limit (${fn}) reached, waiting for queue to free up`),await i.acquire());let n=0;try{for(let r=0;r<256;r++){let i={...d?.headers,"content-type":`application/json`,"x-vqs-queue-name":a,"x-vqs-message-id":h,"x-vqs-message-attempt":String(n+1)},s=c.get(m),l,f;try{if(s)l=await s(new Request(u(et(e),{type:`flow`}),{method:`POST`,headers:i,body:p}));else{let n=await tt(e);l=await fetch(u(n,{type:`flow`}),{method:`POST`,duplex:`half`,dispatcher:t,headers:i,body:p})}n++,f=await l.text()}catch(e){let t=e?.name;if(o.aborted||t===`AbortError`||t===`ResponseAborted`)return;if(gn(e))throw e;console.error(`[world-local] Queue delivery failed at the transport (loop ${r+1}), retrying`,{queueName:a,messageId:h,..._&&{runId:_},...v&&{stepId:v},error:String(e)}),await ke(5e3,void 0,{signal:o});continue}if(l.ok){try{let e=Number(JSON.parse(f).timeoutSeconds);if(Number.isFinite(e)&&e>=0){e>0&&await ke(Math.min(e*1e3,dn),void 0,{signal:o});continue}}catch{}return}console.error(`[world-local] Queue message failed (attempt ${n}, HTTP ${l.status})`,{queueName:a,messageId:h,..._&&{runId:_},...v&&{stepId:v},handlerError:f}),await ke(5e3,void 0,{signal:o})}console.error(`[world-local] Queue message exhausted safety limit (256 attempts)`,{queueName:a,messageId:h,..._&&{runId:_},...v&&{stepId:v}})}finally{i.release()}})().catch(e=>{e?.name===`AbortError`||e?.name===`ResponseAborted`||(gn(e)?console.error(`[local world] Queue operation failed: detected "${hn}". This usually means a Next.js proxy/middleware consumed Workflow's internal request before the executor could read it. Exclude \`/.well-known/workflow/*\` from your matcher. See https://workflow-sdk.dev/docs/getting-started/next#configure-proxy-handler`,{queueName:a,messageId:h,..._&&{runId:_},...v&&{stepId:v},originalError:e}):console.error(`[local world] Queue operation failed:`,e))}).finally(()=>{for(let e of f)e()}),{messageId:h}},d=_({"x-vqs-queue-name":le,"x-vqs-message-id":D,"x-vqs-message-attempt":y()});return{queue:l,createQueueHandler:(e,t)=>async n=>{let r=d.safeParse(Object.fromEntries(n.headers));if(!r.success||!n.body)return Response.json({error:n.body?`Missing required headers`:`Missing request body`},{status:400});let i=r.data[`x-vqs-queue-name`],a=r.data[`x-vqs-message-id`],o=r.data[`x-vqs-message-attempt`];if(!i.startsWith(e))return Response.json({error:`Unhandled queue`},{status:400});let s=await new ln().deserialize(n.body);try{let e=await t(s,{attempt:o,queueName:i,messageId:a}),n=null;return typeof e?.timeoutSeconds==`number`&&(n=Math.min(e.timeoutSeconds,un)),n==null?Response.json({ok:!0}):Response.json({timeoutSeconds:n})}catch(e){return Response.json(String(e),{status:500})}},getDeploymentId:async()=>`dpl_local@${(await Et()).version}`,registerHandler(e,t){c.set(e,t)},async close(){o.aborted||(a.abort(),await t.close())}}}var vn=n(((t,n)=>{var r=e(`constants`),i=process.cwd,a=null,o=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){return a||=i.call(process),a};try{process.cwd()}catch{}if(typeof process.chdir==`function`){var s=process.chdir;process.chdir=function(e){a=null,s.call(process,e)},Object.setPrototypeOf&&Object.setPrototypeOf(process.chdir,s)}n.exports=c;function c(e){r.hasOwnProperty(`O_SYMLINK`)&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)&&t(e),e.lutimes||n(e),e.chown=s(e.chown),e.fchown=s(e.fchown),e.lchown=s(e.lchown),e.chmod=i(e.chmod),e.fchmod=i(e.fchmod),e.lchmod=i(e.lchmod),e.chownSync=c(e.chownSync),e.fchownSync=c(e.fchownSync),e.lchownSync=c(e.lchownSync),e.chmodSync=a(e.chmodSync),e.fchmodSync=a(e.fchmodSync),e.lchmodSync=a(e.lchmodSync),e.stat=l(e.stat),e.fstat=l(e.fstat),e.lstat=l(e.lstat),e.statSync=u(e.statSync),e.fstatSync=u(e.fstatSync),e.lstatSync=u(e.lstatSync),e.chmod&&!e.lchmod&&(e.lchmod=function(e,t,n){n&&process.nextTick(n)},e.lchmodSync=function(){}),e.chown&&!e.lchown&&(e.lchown=function(e,t,n,r){r&&process.nextTick(r)},e.lchownSync=function(){}),o===`win32`&&(e.rename=typeof e.rename==`function`?(function(t){function n(n,r,i){var a=Date.now(),o=0;t(n,r,function s(c){if(c&&(c.code===`EACCES`||c.code===`EPERM`||c.code===`EBUSY`)&&Date.now()-a<6e4){setTimeout(function(){e.stat(r,function(e,a){e&&e.code===`ENOENT`?t(n,r,s):i(c)})},o),o<100&&(o+=10);return}i&&i(c)})}return Object.setPrototypeOf&&Object.setPrototypeOf(n,t),n})(e.rename):e.rename),e.read=typeof e.read==`function`?(function(t){function n(n,r,i,a,o,s){var c;if(s&&typeof s==`function`){var l=0;c=function(u,d,f){if(u&&u.code===`EAGAIN`&&l<10)return l++,t.call(e,n,r,i,a,o,c);s.apply(this,arguments)}}return t.call(e,n,r,i,a,o,c)}return Object.setPrototypeOf&&Object.setPrototypeOf(n,t),n})(e.read):e.read,e.readSync=typeof e.readSync==`function`?(function(t){return function(n,r,i,a,o){for(var s=0;;)try{return t.call(e,n,r,i,a,o)}catch(e){if(e.code===`EAGAIN`&&s<10){s++;continue}throw e}}})(e.readSync):e.readSync;function t(e){e.lchmod=function(t,n,i){e.open(t,r.O_WRONLY|r.O_SYMLINK,n,function(t,r){if(t){i&&i(t);return}e.fchmod(r,n,function(t){e.close(r,function(e){i&&i(t||e)})})})},e.lchmodSync=function(t,n){var i=e.openSync(t,r.O_WRONLY|r.O_SYMLINK,n),a=!0,o;try{o=e.fchmodSync(i,n),a=!1}finally{if(a)try{e.closeSync(i)}catch{}else e.closeSync(i)}return o}}function n(e){r.hasOwnProperty(`O_SYMLINK`)&&e.futimes?(e.lutimes=function(t,n,i,a){e.open(t,r.O_SYMLINK,function(t,r){if(t){a&&a(t);return}e.futimes(r,n,i,function(t){e.close(r,function(e){a&&a(t||e)})})})},e.lutimesSync=function(t,n,i){var a=e.openSync(t,r.O_SYMLINK),o,s=!0;try{o=e.futimesSync(a,n,i),s=!1}finally{if(s)try{e.closeSync(a)}catch{}else e.closeSync(a)}return o}):e.futimes&&(e.lutimes=function(e,t,n,r){r&&process.nextTick(r)},e.lutimesSync=function(){})}function i(t){return t&&function(n,r,i){return t.call(e,n,r,function(e){d(e)&&(e=null),i&&i.apply(this,arguments)})}}function a(t){return t&&function(n,r){try{return t.call(e,n,r)}catch(e){if(!d(e))throw e}}}function s(t){return t&&function(n,r,i,a){return t.call(e,n,r,i,function(e){d(e)&&(e=null),a&&a.apply(this,arguments)})}}function c(t){return t&&function(n,r,i){try{return t.call(e,n,r,i)}catch(e){if(!d(e))throw e}}}function l(t){return t&&function(n,r,i){typeof r==`function`&&(i=r,r=null);function a(e,t){t&&(t.uid<0&&(t.uid+=4294967296),t.gid<0&&(t.gid+=4294967296)),i&&i.apply(this,arguments)}return r?t.call(e,n,r,a):t.call(e,n,a)}}function u(t){return t&&function(n,r){var i=r?t.call(e,n,r):t.call(e,n);return i&&(i.uid<0&&(i.uid+=4294967296),i.gid<0&&(i.gid+=4294967296)),i}}function d(e){return!e||e.code===`ENOSYS`||(!process.getuid||process.getuid()!==0)&&(e.code===`EINVAL`||e.code===`EPERM`)}}})),yn=n(((t,n)=>{var r=e(`stream`).Stream;n.exports=i;function i(e){return{ReadStream:t,WriteStream:n};function t(n,i){if(!(this instanceof t))return new t(n,i);r.call(this);var a=this;this.path=n,this.fd=null,this.readable=!0,this.paused=!1,this.flags=`r`,this.mode=438,this.bufferSize=64*1024,i||={};for(var o=Object.keys(i),s=0,c=o.length;s<c;s++){var l=o[s];this[l]=i[l]}if(this.encoding&&this.setEncoding(this.encoding),this.start!==void 0){if(typeof this.start!=`number`)throw TypeError(`start must be a Number`);if(this.end===void 0)this.end=1/0;else if(typeof this.end!=`number`)throw TypeError(`end must be a Number`);if(this.start>this.end)throw Error(`start must be <= end`);this.pos=this.start}if(this.fd!==null){process.nextTick(function(){a._read()});return}e.open(this.path,this.flags,this.mode,function(e,t){if(e){a.emit(`error`,e),a.readable=!1;return}a.fd=t,a.emit(`open`,t),a._read()})}function n(t,i){if(!(this instanceof n))return new n(t,i);r.call(this),this.path=t,this.fd=null,this.writable=!0,this.flags=`w`,this.encoding=`binary`,this.mode=438,this.bytesWritten=0,i||={};for(var a=Object.keys(i),o=0,s=a.length;o<s;o++){var c=a[o];this[c]=i[c]}if(this.start!==void 0){if(typeof this.start!=`number`)throw TypeError(`start must be a Number`);if(this.start<0)throw Error(`start must be >= zero`);this.pos=this.start}this.busy=!1,this._queue=[],this.fd===null&&(this._open=e.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush())}}})),bn=n(((e,t)=>{t.exports=r;var n=Object.getPrototypeOf||function(e){return e.__proto__};function r(e){if(typeof e!=`object`||!e)return e;if(e instanceof Object)var t={__proto__:n(e)};else var t=Object.create(null);return Object.getOwnPropertyNames(e).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}),t}})),xn=n(((t,n)=>{var r=e(`fs`),i=vn(),a=yn(),o=bn(),s=e(`util`),c,l;typeof Symbol==`function`&&typeof Symbol.for==`function`?(c=Symbol.for(`graceful-fs.queue`),l=Symbol.for(`graceful-fs.previous`)):(c=`___graceful-fs.queue`,l=`___graceful-fs.previous`);function u(){}function d(e,t){Object.defineProperty(e,c,{get:function(){return t}})}var f=u;s.debuglog?f=s.debuglog(`gfs4`):/\bgfs4\b/i.test(process.env.NODE_DEBUG||``)&&(f=function(){var e=s.format.apply(s,arguments);e=`GFS4: `+e.split(/\n/).join(`
|
|
5
|
+
GFS4: `),console.error(e)}),r[c]||(d(r,global[c]||[]),r.close=(function(e){function t(t,n){return e.call(r,t,function(e){e||g(),typeof n==`function`&&n.apply(this,arguments)})}return Object.defineProperty(t,l,{value:e}),t})(r.close),r.closeSync=(function(e){function t(t){e.apply(r,arguments),g()}return Object.defineProperty(t,l,{value:e}),t})(r.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||``)&&process.on(`exit`,function(){f(r[c]),e(`assert`).equal(r[c].length,0)})),global[c]||d(global,r[c]),n.exports=p(o(r)),process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!r.__patched&&(n.exports=p(r),r.__patched=!0);function p(e){i(e),e.gracefulify=p,e.createReadStream=te,e.createWriteStream=w;var t=e.readFile;e.readFile=n;function n(e,n,r){return typeof n==`function`&&(r=n,n=null),i(e,n,r);function i(e,n,r,a){return t(e,n,function(t){t&&(t.code===`EMFILE`||t.code===`ENFILE`)?m([i,[e,n,r],t,a||Date.now(),Date.now()]):typeof r==`function`&&r.apply(this,arguments)})}}var r=e.writeFile;e.writeFile=o;function o(e,t,n,i){return typeof n==`function`&&(i=n,n=null),a(e,t,n,i);function a(e,t,n,i,o){return r(e,t,n,function(r){r&&(r.code===`EMFILE`||r.code===`ENFILE`)?m([a,[e,t,n,i],r,o||Date.now(),Date.now()]):typeof i==`function`&&i.apply(this,arguments)})}}var s=e.appendFile;s&&(e.appendFile=c);function c(e,t,n,r){return typeof n==`function`&&(r=n,n=null),i(e,t,n,r);function i(e,t,n,r,a){return s(e,t,n,function(o){o&&(o.code===`EMFILE`||o.code===`ENFILE`)?m([i,[e,t,n,r],o,a||Date.now(),Date.now()]):typeof r==`function`&&r.apply(this,arguments)})}}var l=e.copyFile;l&&(e.copyFile=u);function u(e,t,n,r){return typeof n==`function`&&(r=n,n=0),i(e,t,n,r);function i(e,t,n,r,a){return l(e,t,n,function(o){o&&(o.code===`EMFILE`||o.code===`ENFILE`)?m([i,[e,t,n,r],o,a||Date.now(),Date.now()]):typeof r==`function`&&r.apply(this,arguments)})}}var d=e.readdir;e.readdir=h;var f=/^v[0-5]\./;function h(e,t,n){typeof t==`function`&&(n=t,t=null);var r=f.test(process.version)?function(e,t,n,r){return d(e,i(e,t,n,r))}:function(e,t,n,r){return d(e,t,i(e,t,n,r))};return r(e,t,n);function i(e,t,n,i){return function(a,o){a&&(a.code===`EMFILE`||a.code===`ENFILE`)?m([r,[e,t,n],a,i||Date.now(),Date.now()]):(o&&o.sort&&o.sort(),typeof n==`function`&&n.call(this,a,o))}}}if(process.version.substr(0,4)===`v0.8`){var g=a(e);x=g.ReadStream,S=g.WriteStream}var _=e.ReadStream;_&&(x.prototype=Object.create(_.prototype),x.prototype.open=ee);var v=e.WriteStream;v&&(S.prototype=Object.create(v.prototype),S.prototype.open=C),Object.defineProperty(e,"ReadStream",{get:function(){return x},set:function(e){x=e},enumerable:!0,configurable:!0}),Object.defineProperty(e,"WriteStream",{get:function(){return S},set:function(e){S=e},enumerable:!0,configurable:!0});var y=x;Object.defineProperty(e,"FileReadStream",{get:function(){return y},set:function(e){y=e},enumerable:!0,configurable:!0});var b=S;Object.defineProperty(e,"FileWriteStream",{get:function(){return b},set:function(e){b=e},enumerable:!0,configurable:!0});function x(e,t){return this instanceof x?(_.apply(this,arguments),this):x.apply(Object.create(x.prototype),arguments)}function ee(){var e=this;ne(e.path,e.flags,e.mode,function(t,n){t?(e.autoClose&&e.destroy(),e.emit(`error`,t)):(e.fd=n,e.emit(`open`,n),e.read())})}function S(e,t){return this instanceof S?(v.apply(this,arguments),this):S.apply(Object.create(S.prototype),arguments)}function C(){var e=this;ne(e.path,e.flags,e.mode,function(t,n){t?(e.destroy(),e.emit(`error`,t)):(e.fd=n,e.emit(`open`,n))})}function te(t,n){return new e.ReadStream(t,n)}function w(t,n){return new e.WriteStream(t,n)}var T=e.open;e.open=ne;function ne(e,t,n,r){return typeof n==`function`&&(r=n,n=null),i(e,t,n,r);function i(e,t,n,r,a){return T(e,t,n,function(o,s){o&&(o.code===`EMFILE`||o.code===`ENFILE`)?m([i,[e,t,n,r],o,a||Date.now(),Date.now()]):typeof r==`function`&&r.apply(this,arguments)})}}return e}function m(e){f(`ENQUEUE`,e[0].name,e[1]),r[c].push(e),_()}var h;function g(){for(var e=Date.now(),t=0;t<r[c].length;++t)r[c][t].length>2&&(r[c][t][3]=e,r[c][t][4]=e);_()}function _(){if(clearTimeout(h),h=void 0,r[c].length!==0){var e=r[c].shift(),t=e[0],n=e[1],i=e[2],a=e[3],o=e[4];if(a===void 0)f(`RETRY`,t.name,n),t.apply(null,n);else if(Date.now()-a>=6e4){f(`TIMEOUT`,t.name,n);var s=n.pop();typeof s==`function`&&s.call(null,i)}else{var l=Date.now()-o,u=Math.max(o-a,1);l>=Math.min(u*1.2,100)?(f(`RETRY`,t.name,n),t.apply(null,n.concat([a]))):r[c].push(e)}h===void 0&&(h=setTimeout(_,0))}}})),Sn=n(((e,t)=>{function n(e,t){typeof t==`boolean`&&(t={forever:t}),this._originalTimeouts=JSON.parse(JSON.stringify(e)),this._timeouts=e,this._options=t||{},this._maxRetryTime=t&&t.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}t.exports=n,n.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts},n.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timeouts=[],this._cachedTimeouts=null},n.prototype.retry=function(e){if(this._timeout&&clearTimeout(this._timeout),!e)return!1;var t=new Date().getTime();if(e&&t-this._operationStart>=this._maxRetryTime)return this._errors.unshift(Error(`RetryOperation timeout occurred`)),!1;this._errors.push(e);var n=this._timeouts.shift();if(n===void 0)if(this._cachedTimeouts)this._errors.splice(this._errors.length-1,this._errors.length),this._timeouts=this._cachedTimeouts.slice(0),n=this._timeouts.shift();else return!1;var r=this,i=setTimeout(function(){r._attempts++,r._operationTimeoutCb&&(r._timeout=setTimeout(function(){r._operationTimeoutCb(r._attempts)},r._operationTimeout),r._options.unref&&r._timeout.unref()),r._fn(r._attempts)},n);return this._options.unref&&i.unref(),!0},n.prototype.attempt=function(e,t){this._fn=e,t&&(t.timeout&&(this._operationTimeout=t.timeout),t.cb&&(this._operationTimeoutCb=t.cb));var n=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){n._operationTimeoutCb()},n._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)},n.prototype.try=function(e){console.log(`Using RetryOperation.try() is deprecated`),this.attempt(e)},n.prototype.start=function(e){console.log(`Using RetryOperation.start() is deprecated`),this.attempt(e)},n.prototype.start=n.prototype.try,n.prototype.errors=function(){return this._errors},n.prototype.attempts=function(){return this._attempts},n.prototype.mainError=function(){if(this._errors.length===0)return null;for(var e={},t=null,n=0,r=0;r<this._errors.length;r++){var i=this._errors[r],a=i.message,o=(e[a]||0)+1;e[a]=o,o>=n&&(t=i,n=o)}return t}})),Cn=n((e=>{var t=Sn();e.operation=function(n){return new t(e.timeouts(n),{forever:n&&n.forever,unref:n&&n.unref,maxRetryTime:n&&n.maxRetryTime})},e.timeouts=function(e){if(e instanceof Array)return[].concat(e);var t={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var n in e)t[n]=e[n];if(t.minTimeout>t.maxTimeout)throw Error(`minTimeout is greater than maxTimeout`);for(var r=[],i=0;i<t.retries;i++)r.push(this.createTimeout(i,t));return e&&e.forever&&!r.length&&r.push(this.createTimeout(i,t)),r.sort(function(e,t){return e-t}),r},e.createTimeout=function(e,t){var n=t.randomize?Math.random()+1:1,r=Math.round(n*t.minTimeout*t.factor**+e);return r=Math.min(r,t.maxTimeout),r},e.wrap=function(t,n,r){if(n instanceof Array&&(r=n,n=null),!r)for(var i in r=[],t)typeof t[i]==`function`&&r.push(i);for(var a=0;a<r.length;a++){var o=r[a],s=t[o];t[o]=function(r){var i=e.operation(n),a=Array.prototype.slice.call(arguments,1),o=a.pop();a.push(function(e){i.retry(e)||(e&&(arguments[0]=i.mainError()),o.apply(this,arguments))}),i.attempt(function(){r.apply(t,a)})}.bind(t,s),t[o].options=n}}})),wn=n(((e,t)=>{t.exports=Cn()})),Tn=n(((e,t)=>{let n=Symbol();function r(e,t,r){let i=t[n];if(i)return t.stat(e,(e,t)=>{if(e)return r(e);r(null,t.mtime,i)});let a=new Date(Math.ceil(Date.now()/1e3)*1e3+5);t.utimes(e,a,a,i=>{if(i)return r(i);t.stat(e,(e,i)=>{if(e)return r(e);let a=i.mtime.getTime()%1e3==0?`s`:`ms`;Object.defineProperty(t,n,{value:a}),r(null,i.mtime,a)})})}function i(e){let t=Date.now();return e===`s`&&(t=Math.ceil(t/1e3)*1e3),new Date(t)}t.exports.probe=r,t.exports.getMtime=i})),En=n(((t,n)=>{let r=e(`path`),i=xn(),a=wn(),o=ge(),s=Tn(),c={};function l(e,t){return t.lockfilePath||`${e}.lock`}function u(e,t,n){if(!t.realpath)return n(null,r.resolve(e));t.fs.realpath(e,n)}function d(e,t,n){let r=l(e,t);t.fs.mkdir(r,i=>{if(!i)return s.probe(r,t.fs,(e,i,a)=>{if(e)return t.fs.rmdir(r,()=>{}),n(e);n(null,i,a)});if(i.code!==`EEXIST`)return n(i);if(t.stale<=0)return n(Object.assign(Error(`Lock file is already being held`),{code:`ELOCKED`,file:e}));t.fs.stat(r,(r,i)=>{if(r)return r.code===`ENOENT`?d(e,{...t,stale:0},n):n(r);if(!f(i,t))return n(Object.assign(Error(`Lock file is already being held`),{code:`ELOCKED`,file:e}));p(e,t,r=>{if(r)return n(r);d(e,{...t,stale:0},n)})})})}function f(e,t){return e.mtime.getTime()<Date.now()-t.stale}function p(e,t,n){t.fs.rmdir(l(e,t),e=>{if(e&&e.code!==`ENOENT`)return n(e);n()})}function m(e,t){let n=c[e];n.updateTimeout||(n.updateDelay=n.updateDelay||t.update,n.updateTimeout=setTimeout(()=>{n.updateTimeout=null,t.fs.stat(n.lockfilePath,(r,i)=>{let a=n.lastUpdate+t.stale<Date.now();if(r)return r.code===`ENOENT`||a?h(e,n,Object.assign(r,{code:`ECOMPROMISED`})):(n.updateDelay=1e3,m(e,t));if(n.mtime.getTime()!==i.mtime.getTime())return h(e,n,Object.assign(Error(`Unable to update lock within the stale threshold`),{code:`ECOMPROMISED`}));let o=s.getMtime(n.mtimePrecision);t.fs.utimes(n.lockfilePath,o,o,r=>{let i=n.lastUpdate+t.stale<Date.now();if(!n.released){if(r)return r.code===`ENOENT`||i?h(e,n,Object.assign(r,{code:`ECOMPROMISED`})):(n.updateDelay=1e3,m(e,t));n.mtime=o,n.lastUpdate=Date.now(),n.updateDelay=null,m(e,t)}})})},n.updateDelay),n.updateTimeout.unref&&n.updateTimeout.unref())}function h(e,t,n){t.released=!0,t.updateTimeout&&clearTimeout(t.updateTimeout),c[e]===t&&delete c[e],t.options.onCompromised(n)}function g(e,t,n){t={stale:1e4,update:null,realpath:!0,retries:0,fs:i,onCompromised:e=>{throw e},...t},t.retries=t.retries||0,t.retries=typeof t.retries==`number`?{retries:t.retries}:t.retries,t.stale=Math.max(t.stale||0,2e3),t.update=t.update==null?t.stale/2:t.update||0,t.update=Math.max(Math.min(t.update,t.stale/2),1e3),u(e,t,(e,r)=>{if(e)return n(e);let i=a.operation(t.retries);i.attempt(()=>{d(r,t,(e,a,o)=>{if(i.retry(e))return;if(e)return n(i.mainError());let s=c[r]={lockfilePath:l(r,t),mtime:a,mtimePrecision:o,options:t,lastUpdate:Date.now()};m(r,t),n(null,e=>{if(s.released)return e&&e(Object.assign(Error(`Lock is already released`),{code:`ERELEASED`}));_(r,{...t,realpath:!1},e)})})})})}function _(e,t,n){t={fs:i,realpath:!0,...t},u(e,t,(e,r)=>{if(e)return n(e);let i=c[r];if(!i)return n(Object.assign(Error(`Lock is not acquired/owned by you`),{code:`ENOTACQUIRED`}));i.updateTimeout&&clearTimeout(i.updateTimeout),i.released=!0,delete c[r],p(r,t,n)})}function v(e,t,n){t={stale:1e4,realpath:!0,fs:i,...t},t.stale=Math.max(t.stale||0,2e3),u(e,t,(e,r)=>{if(e)return n(e);t.fs.stat(l(r,t),(e,r)=>e?e.code===`ENOENT`?n(null,!1):n(e):n(null,!f(r,t)))})}function y(){return c}o(()=>{for(let e in c){let t=c[e].options;try{t.fs.rmdirSync(l(e,t))}catch{}}}),n.exports.lock=g,n.exports.unlock=_,n.exports.check=v,n.exports.getLocks=y})),Dn=n(((e,t)=>{let n=xn();function r(e){let t=[`mkdir`,`realpath`,`stat`,`rmdir`,`utimes`],n={...e};return t.forEach(t=>{n[t]=(...n)=>{let r=n.pop(),i;try{i=e[`${t}Sync`](...n)}catch(e){return r(e)}r(null,i)}}),n}function i(e){return(...t)=>new Promise((n,r)=>{t.push((e,t)=>{e?r(e):n(t)}),e(...t)})}function a(e){return(...t)=>{let n,r;if(t.push((e,t)=>{n=e,r=t}),e(...t),n)throw n;return r}}function o(e){if(e={...e},e.fs=r(e.fs||n),typeof e.retries==`number`&&e.retries>0||e.retries&&typeof e.retries.retries==`number`&&e.retries.retries>0)throw Object.assign(Error(`Cannot use retries with the sync api`),{code:`ESYNC`});return e}t.exports={toPromise:i,toSync:a,toSyncOptions:o}})),On=n(((e,t)=>{let n=En(),{toPromise:r,toSync:i,toSyncOptions:a}=Dn();async function o(e,t){let i=await r(n.lock)(e,t);return r(i)}function s(e,t){let r=i(n.lock)(e,a(t));return i(r)}function c(e,t){return r(n.unlock)(e,t)}function l(e,t){return i(n.unlock)(e,a(t))}function u(e,t){return r(n.check)(e,t)}function d(e,t){return i(n.check)(e,a(t))}t.exports=o,t.exports.lock=o,t.exports.unlock=c,t.exports.lockSync=s,t.exports.unlockSync=l,t.exports.check=u,t.exports.checkSync=d}))();function kn(e){return M(`sha256`).update(e).digest(`hex`)}function An(e,t,n){return R(e,`.locks`,`hooks`,n?`${t}.disposed.${n}`:`${t}.disposed`)}async function jn(e,t,n){let r=[An(e,t)];n&&r.push(An(e,t,n));for(let e of r)try{return await P.access(e),!0}catch{}return!1}function Mn(e,t,n){return R(e,`.locks`,`runs`,n?`${t}.terminal.${n}`:`${t}.terminal`)}async function Nn(e,t,n){let r=[Mn(e,t)];n&&r.push(Mn(e,t,n));for(let e of r)try{return await P.access(e),!0}catch(e){if(e.code!==`ENOENT`)throw e}return!1}function Pn(e,t,n){return R(e,`.locks`,`runs`,n?`${t}.pending.${n}`:`${t}.pending`)}function Fn(e,t,n,r){return I.join(Pn(e,t,r),`${n}.json`)}async function In(e,t,n){let r=[Pn(e,t)];n&&r.push(Pn(e,t,n));for(let e of r){let t;try{t=await P.readdir(e)}catch(e){if(e.code===`ENOENT`)continue;throw e}for(let n of t)try{await z(()=>P.unlink(I.join(e,n)))}catch(e){if(e.code!==`ENOENT`)throw e}await P.rmdir(e).catch(()=>{})}}async function Ln(e,t,n){let r=[];try{r=await P.readdir(I.join(e,`events`))}catch(e){if(e.code!==`ENOENT`)throw e}let i=`${t}-`,a=null;for(let e of r){if(!e.startsWith(i)||!e.endsWith(`.json`))continue;let t=e.slice(0,-5);if(!dt(t)&&!(n&&ut(t,n)))continue;let r=B(t).slice(i.length);(!a||r>a)&&(a=r)}let o=Date.now();if(a)try{let e=b(a.replace(/^evnt_/,``));o<=e&&(o=e+1)}catch{}return{eventId:`evnt_${Gn(o)}`,createdAt:new Date(o)}}function Rn(e,t){return I.join(e,`hooks`,`tokens`,`${kn(t)}.json`)}const zn=_({hookId:m().optional(),runId:m(),eventId:m().optional(),tokenRetentionUntil:h().optional()});async function Bn(e){try{return await G(e,zn)}catch(e){if(e instanceof SyntaxError||e instanceof x)return null;throw e}}async function Vn(e,t,n){let r=Rn(e,t);await P.mkdir(I.dirname(r),{recursive:!0});let a=new AbortController,o;try{o=await(0,On.lock)(r,{realpath:!1,stale:3e4,update:1e3,retries:{retries:350,factor:1,minTimeout:100,maxTimeout:100},onCompromised(e){a.abort(new i(`Hook token claim lock was compromised`,{cause:e}))}})}catch(e){throw new i(`Could not acquire Hook token claim lock`,{cause:e})}let s;try{s=await n(a.signal),a.signal.throwIfAborted()}catch(e){throw a.signal.aborted||await o().catch(()=>{}),e}try{await o()}catch(e){throw new i(`Could not release Hook token claim lock`,{cause:e})}return s}function Hn(e,t,n){let r=M(`sha256`).update(`${t}\x00${n}`).digest(`hex`);return I.join(e,`hooks`,`resumes`,`${r}.json`)}async function Un(e,t,n,r){await Vn(e,t,async i=>{let a=Rn(e,t),o=await Bn(a);o&&o.runId===n&&o.hookId===r&&(i.throwIfAborted(),await K(a))})}function Wn(e,t,n,r){let i=M(`sha256`).update(`${t}\x00${n}\x00${r}`).digest(`hex`);return I.join(e,`hooks`,`tokens`,`${i}.recovery.json`)}const Gn=v(()=>Math.random()),$=e=>{let t=RegExp(`^${e}_`,`g`);return n=>{let r=B(n.replace(/\.json$/,``))+`.json`,i=r.indexOf(`-`);return i===-1?se(r.replace(/\.json$/,``).replace(t,``)):e===`step`?null:se(r.substring(i+1).replace(/\.json$/,``).replace(t,``))}},Kn=_({runId:m()}),qn=_({hookId:m(),tag:m().optional()});function Jn(e,t){return R(e,`hooks`,`token-index`,kn(t))}function Yn(e,t){return L(`hookId`,t),R(e,`hooks`,`id-index`,t)}function Xn(e){return R(e,`hooks`,`by-run`)}function Zn(e){let t=B(e);return t===e?void 0:e.slice(t.length+1)}function Qn(e,t){return t?dt(e)||ut(e,t):dt(e)}async function $n(e){try{return await G(e,C)}catch(e){if(e instanceof SyntaxError||e instanceof x)return null;throw e}}async function er(e,t,n,r,i,a){L(`runId`,n),L(`eventId`,i),a!==void 0&&L(`tag`,a);let o=a?`${i}.${a}.json`:`${i}.json`,s=JSON.stringify({runId:n});await Promise.all([q(I.join(Jn(e,t),o),s),q(I.join(Yn(e,r),o),s)])}function tr(e,t,n,r){return V(e,`hooks/by-run`,`${t}-${n}`,r)}async function nr(e,t,n,r){await q(tr(e,t,n,r),JSON.stringify(r?{hookId:n,tag:r}:{hookId:n}))}async function rr(e,t,n,r){await K(tr(e,t,n,r)),r&&await K(tr(e,t,n))}async function ir(e,t){L(`runId`,t);let n=Xn(e),r=`${t}-`,i=[];for(let e of await J(n)){if(!e.startsWith(r))continue;let t=null;try{t=await G(I.join(n,`${e}.json`),qn)}catch(e){if(!(e instanceof SyntaxError||e instanceof x))throw e}i.push({fileId:e,hookId:t?.hookId??null,tag:t?.tag})}return i}async function ar(e,t){await K(I.join(Xn(e),`${t}.json`))}const or=new Map;function sr(){or.clear()}async function cr(e){let t=I.resolve(e),n=or.get(t);return n||(n=ur(t).catch(e=>{throw or.delete(t),e}),or.set(t,n)),n}async function lr(e,t,n){for(let r=0;r<e.length;r+=t)await Promise.all(e.slice(r,r+t).map(n))}async function ur(e){let t=I.join(e,`hooks`,`.hook-index-complete`);try{await P.access(t);return}catch{}let n=I.join(e,`events`);await lr(await J(n),32,async t=>{let r=await $n(I.join(n,`${t}.json`));if(!r||r.eventType!==`hook_created`||typeof r.correlationId!=`string`)return;let i=r.eventData?.token;if(typeof i==`string`)try{await er(e,i,r.runId,r.correlationId,r.eventId,Zn(t))}catch{}});let r=I.join(e,`hooks`);await lr(await J(r),32,async t=>{let n=null;try{n=await G(I.join(r,`${t}.json`),A)}catch(e){if(!(e instanceof SyntaxError||e instanceof x))throw e}if(n)try{await nr(e,n.runId,n.hookId,Zn(t))}catch{}}),await q(t,``)}async function dr(e,t,n,r){await cr(e);let i;try{i=t.kind===`token`?Jn(e,t.token):Yn(e,t.hookId)}catch{return null}let a=(await J(i)).filter(e=>Qn(e,r)).sort((e,t)=>B(t).localeCompare(B(e)));for(let t of a){let r=null;try{r=await G(I.join(i,`${t}.json`),Kn)}catch(e){if(!(e instanceof SyntaxError||e instanceof x))throw e}if(!r)continue;let a=B(t),o;try{o=V(e,`events`,`${r.runId}-${a}`,Zn(t))}catch{continue}let s=await $n(o);if(s&&s.eventType===`hook_created`&&typeof s.correlationId==`string`&&n(s))return s}return null}function fr(e,t){return t===`none`?{...e,input:void 0,output:void 0}:e}function pr(e,t){return t===`none`?{...e,input:void 0,output:void 0}:e}function mr(e,t){if(t===`none`){let{metadata:t,...n}=e;return n}return e}function hr(e){if(e.eventType!==`hook_created`)return;let t=e.eventData.token;return typeof t==`string`?t:void 0}function gr(e){let{token:t,metadata:n,isWebhook:r,isSystem:i,tokenRetentionUntil:a}=e.eventData;return{runId:e.runId,hookId:e.correlationId,token:t,metadata:n,ownerId:`local-owner`,projectId:`local-project`,environment:`local`,createdAt:e.createdAt,specVersion:e.specVersion,isWebhook:r??!0,isSystem:i??!1,tokenRetentionUntil:a}}function _r(e,t){return e.eventType===`hook_created`&&typeof e.correlationId==`string`&&t(e)}async function vr(e,t,n){let r=await H(e,`runs`,t,j,n);return r?ie(r.status):!1}async function yr(e,t,n,r){let i=await dr(e,t,e=>_r(e,n),r);if(!i||!_r(i,n))return null;if(await vr(e,i.runId,r)){let e=i.eventData.tokenRetentionUntil;if(!e||e.getTime()<=Date.now())return null}return await jn(e,i.correlationId,r)?null:i}async function br(e,t,n){let r=gr(t);return await q(Rn(e,r.token),JSON.stringify({token:r.token,hookId:r.hookId,runId:r.runId,eventId:t.eventId,tokenRetentionUntil:t.eventData.tokenRetentionUntil})),await nr(e,r.runId,r.hookId,n),await q(V(e,`hooks`,r.hookId,n),JSON.stringify(r,U,2)),r}async function xr(e,t,n){let r=await yr(e,{kind:`token`,token:t},e=>hr(e)===t,n);return r?br(e,r,n):null}async function Sr(e,t,n){let r=await yr(e,{kind:`id`,hookId:t},e=>e.correlationId===t,n);return r?br(e,r,n):null}function Cr(e,t){async function n(n){return await jn(e,n.hookId,t)?!1:n.tokenRetentionUntil&&n.tokenRetentionUntil.getTime()>Date.now()?!0:!await vr(e,n.runId,t)}async function r(r){let i=await Bn(Rn(e,r));if(i?.hookId){try{let a=await H(e,`hooks`,i.hookId,A,t);if(a?.token===r){if(!await n(a))throw new c(r);return{...a,isWebhook:a.isWebhook??!0}}}catch(e){if(!it.is(e))throw e}return null}let a=I.join(e,`hooks`),o=await J(a);for(let e of o){let t=await G(I.join(a,`${e}.json`),A);if(t?.token===r){if(!await n(t))throw new c(r);return{...t,isWebhook:t.isWebhook??!0}}}return null}async function i(r,i){L(`hookId`,r);let a=await H(e,`hooks`,r,A,t);if(a&&!await n(a))throw new c(r);let o=a??await Sr(e,r,t);if(!o)throw new c(r);let s=i?.resolveData||`all`;return mr({...o,isWebhook:o.isWebhook??!0},s)}async function a(n){let i=await r(n)??await xr(e,n,t);if(!i)throw new c(n);return i}async function o(t){let r=I.join(e,`hooks`),i=t.resolveData||`all`,a=await Y({directory:r,schema:A,sortOrder:t.pagination?.sortOrder??`asc`,limit:t.pagination?.limit,cursor:t.pagination?.cursor,filePrefix:void 0,filter:async e=>t.runId&&e.runId!==t.runId?!1:n(e),getCreatedAt:()=>null,getId:e=>e.hookId});return{...a,data:a.data.map(e=>mr(e,i))}}return{get:i,getByToken:a,list:o}}async function wr(e,t){await cr(e);for(let n of await ir(e,t)){if(n.hookId){let r=null,i=null;try{i=V(e,`hooks`,n.hookId,n.tag),r=await G(i,A)}catch(e){if(!it.is(e)&&!(e instanceof SyntaxError||e instanceof x))throw e}if(r&&i&&r.runId===t){if(r.tokenRetentionUntil&&r.tokenRetentionUntil.getTime()>Date.now())continue;await Un(e,r.token,r.runId,r.hookId),await K(Wn(e,r.token,r.runId,r.hookId)),await K(i)}}await ar(e,n.fileId)}}async function Tr(e,t,n,r,i,a){if(ie(a.status)||await Nn(e,t))throw new o(`Workflow run "${t}" is already in a terminal state`);let s=Fn(e,t,n);await q(s,r);try{if(await Nn(e,t)||await xt(s,i)!==`linked`)throw new o(`Workflow run "${t}" is already in a terminal state`)}finally{await P.unlink(s).catch(()=>{})}}async function Er(e,t,n,r,i){L(`runId`,t);let a=i?.resolveData??`all`;switch(n.eventType){case`run_cancelled`:{await q(Mn(e,t),``),await In(e,t);let n=new Date,i={runId:r.runId,deploymentId:r.deploymentId,workflowName:r.workflowName,specVersion:r.specVersion,executionContext:r.executionContext,input:r.input,createdAt:r.createdAt,expiredAt:r.expiredAt,startedAt:r.startedAt,status:`cancelled`,output:void 0,error:void 0,completedAt:n,updatedAt:n,attributes:r.attributes};return await W(R(e,`runs`,`${t}.json`),i,{overwrite:!0}),await wr(e,t),{event:void 0,run:fr(i,a)}}case`wait_completed`:case`hook_received`:{let i=`evnt_${Gn()}`,o=new Date,s={...n,runId:t,eventId:i,createdAt:o,specVersion:5},c=R(e,`events`,`${`${t}-${i}`}.json`);return n.eventType===`hook_received`?await Tr(e,t,i,JSON.stringify(s,U,2),c,r):await W(c,s),{event:w(s,a)}}default:throw Error(`Event type '${n.eventType}' not supported for legacy runs (specVersion: ${r.specVersion||`undefined`}). Please upgrade 'workflow' package.`)}}const Dr=new Map;function Or(e,t){let n=Dr.get(e),r={},i=(async()=>{n&&await n.catch(()=>void 0);try{return await t()}finally{Dr.get(e)===r.task&&Dr.delete(e)}})();return r.task=i,Dr.set(e,i),i}function kr(e,t){let n=(async(n,i)=>{L(`runId`,n);let a=await H(e,`runs`,n,j,t);if(!a)throw new r(n);return fr(a,i?.resolveData??`all`)});return{get:n,getMany:(async(e,t)=>{let i=[...new Set(e)],a=await Promise.all(i.map(async e=>{try{return await n(e,t)}catch(e){if(e instanceof r)return null;throw e}})),o=new Map(i.map((e,t)=>[e,a[t]]));return e.map(e=>o.get(e)??null)}),list:(async t=>{let n=t?.resolveData??`all`,r=await Y({directory:I.join(e,`runs`),schema:j,fileIdFilter:t?.fileIdFilter,filter:e=>!(t?.workflowName&&e.workflowName!==t.workflowName||t?.status&&e.status!==t.status),sortOrder:t?.pagination?.sortOrder??`desc`,limit:t?.pagination?.limit??200,cursor:t?.pagination?.cursor,getCreatedAt:$(`wrun`),getId:e=>e.runId});return n===`none`?{...r,data:r.data.map(e=>({...e,input:void 0,output:void 0}))}:r}),experimentalSetAttributes:async(n,i,a)=>(L(`runId`,n),Or(n,async()=>{let o=await H(e,`runs`,n,j,t);if(!o)throw new r(n);try{S(i,{existingKeys:Object.keys(o.attributes??{}),allowReservedAttributes:a?.allowReservedAttributes})}catch(e){throw e instanceof E,e}let s=fe(o.attributes,i),c={...o,attributes:s,updatedAt:new Date};return await W(V(e,`runs`,n,t),c,{overwrite:!0}),{attributes:s}}))}}function Ar(){let e=process.env.WORKFLOW_MAX_EVENTS,t=e===void 0?NaN:Number(e);return Number.isInteger(t)&&t>0?t:25e3}const jr=1440*60*1e3;function Mr(){let e=Number(process.env.WORKFLOW_LOCAL_HOOK_RETENTION_LIMIT_DAYS??30);if(!Number.isFinite(e)||e<=0)throw new i(`WORKFLOW_LOCAL_HOOK_RETENTION_LIMIT_DAYS must be a positive number`,{status:400});return e*jr}const Nr=_({eventId:m()}),Pr=_({runId:m(),resumeId:m(),hookId:m(),eventId:m(),payloadDigest:m().optional()});async function Fr(e,t,n){if(t.hookId&&await jn(e,t.hookId,n))return!0;let r=await H(e,`runs`,t.runId,j,n);return r?ie(r.status)?!t.tokenRetentionUntil||t.tokenRetentionUntil.getTime()<=Date.now():!1:!0}async function Ir(e){try{return await G(e,Nr)}catch(e){if(e instanceof SyntaxError||e instanceof x)return null;throw e}}async function Lr(e,t,n){return(await Y({directory:I.join(e,`events`),schema:C,filePrefix:`${t}-`,filter:e=>e.eventType===`hook_created`&&e.correlationId===n,limit:1,getCreatedAt:$(`evnt`),getId:e=>e.eventId})).data[0]?.eventId??null}async function Rr(e,t,n,r,i){let a=await H(e,`events`,`${t}-${r}`,C,i);if(!a||a.eventType!==`hook_created`||a.correlationId!==n||await H(e,`hooks`,n,A,i))return;let o=gr(a);await er(e,o.token,t,n,r,i),await nr(e,t,n,i),await q(V(e,`hooks`,n,i),JSON.stringify(o,U,2))}async function zr(e,t,n,r,i){let a=Wn(e,t,n,r);return await q(a,JSON.stringify({eventId:i}))?i:(await Ir(a))?.eventId??null}function Br(e,t,n){let r=e.get(t),i={},a=(async()=>{r&&await r.catch(()=>void 0);try{return await n()}finally{e.get(t)===i.task&&e.delete(t)}})();return i.task=a,e.set(t,a),a}async function Vr(e,t){let n=I.join(e,`waits`),r=await J(n);for(let e of r)e.startsWith(`${t}-`)&&await K(I.join(n,`${e}.json`))}async function Hr(e,t,n,r){return Or(t,async()=>{let i=await G(V(e,`runs`,t,n),j),a={...r,attributes:i?.attributes??r.attributes};return await W(V(e,`runs`,t,n),a,{overwrite:!0}),a})}function Ur(e,t){let n=Mr(),u=4*1024*1024,d=new Map,f=new Map,p=new Map,m=0;function h(e){let t=d.get(e);if(!t)return;d.delete(e),m-=f.get(e)??0,f.delete(e);let n=p.get(t.runId);n?.delete(e),n?.size===0&&p.delete(t.runId)}function g(e){for(let t of p.get(e)??[])h(t)}function _(){d.clear(),f.clear(),p.clear(),m=0}function v(e,t,n){if(n>u)return;for(;d.size>0&&(d.size>=1e3||m+n>u);){let e=d.keys().next().value;h(e)}d.set(e,t),f.set(e,n),m+=n;let r=p.get(t.runId)??new Set;r.add(e),p.set(t.runId,r)}function y(e,t,n){if(re(e.eventType)){g(e.runId);return}let r=Buffer.byteLength(n);if(r>u)return;let i=C.safeParse(JSON.parse(n,_t));i.success&&v(t,i.data,r)}async function b(n){let r=V(e,`events`,`${n.runId}-${n.eventId}`,t),i=JSON.stringify(n,U,2);await vt(r,i),y(n,r,i)}let x=new Map,E=new Map;return{clearCache:_,async create(u,f,p){if(f.eventType===`hook_created`&&f.eventData.tokenRetentionUntil!==void 0&&f.eventData.tokenRetentionUntil.getTime()>Date.now()+n)throw new i(`Hook minimum retention cannot exceed ${n/jr} days in the Local World.`,{status:400});if(u!=null&&u!==``&&L(`runId`,u),`correlationId`in f&&typeof f.correlationId==`string`&&L(`correlationId`,f.correlationId),ne(f.eventType)&&u&&f.correlationId){let e=t?`${u}-${f.correlationId}.${t}`:`${u}-${f.correlationId}`;return Br(x,e,()=>m())}if(T(f.eventType)&&u&&f.correlationId){let e=t?`${u}-${f.correlationId}.hook.${t}`:`${u}-${f.correlationId}.hook`;return Br(E,e,m)}return m();async function m(){let n=`evnt_${Gn()}`,m=new Date,h;if(f.eventType===`run_created`&&(!u||u===``))h=`wrun_${Gn()}`;else if(u)h=u;else throw Error(`runId is required for non-run_created events`);if(f.eventType===`run_created`&&u&&u!==``){let e=ce(h,`wrun_`);if(e)throw new i(e)}let g=f.specVersion??5,_=null;if(f.eventType!==`run_created`&&![`step_completed`,`step_retrying`].includes(f.eventType)&&(_=await H(e,`runs`,h,j,t),f.eventType===`run_started`&&!_&&`eventData`in f&&f.eventData)){let n=f.eventData;if(n.deploymentId&&n.workflowName&&n.input!==void 0){S(Object.entries(n.attributes??{}).map(([e,t])=>({key:e,value:t})),{allowReservedAttributes:n.allowReservedAttributes===!0});let r={runId:h,deploymentId:n.deploymentId,status:`pending`,workflowName:n.workflowName,specVersion:g,executionContext:n.executionContext,input:n.input,output:void 0,error:void 0,startedAt:void 0,completedAt:void 0,attributes:n.attributes??{},encryptionPublicKey:n.encryptionPublicKey,createdAt:m,updatedAt:m};if(await q(V(e,`runs`,h,t),JSON.stringify(r,U))){let e=`evnt_${Gn()}`;await b({eventType:`run_created`,runId:h,eventId:e,createdAt:m,specVersion:g,eventData:{deploymentId:n.deploymentId,workflowName:n.workflowName,input:n.input,executionContext:n.executionContext,attributes:n.attributes,allowReservedAttributes:n.allowReservedAttributes,encryptionPublicKey:n.encryptionPublicKey}}),_=r}else _=await H(e,`runs`,h,j,t)}}if(f.eventType===`run_failed`&&!_||f.eventType===`attr_set`&&!_)throw new r(h);if(_){if(me(_.specVersion))throw new s(_.specVersion,5);if(pe(_.specVersion))return Er(e,h,f,_,p)}let v=ee(f),x=v&&f.eventType===`step_started`;if(_&&ie(_.status)){if(f.eventType===`run_cancelled`&&_.status===`cancelled`){let e={...f,runId:h,eventId:n,createdAt:m,specVersion:g};return await b(e),{event:w(e,p?.resolveData??`all`),run:_,..._?{maxEvents:Ar()}:{}}}if(f.eventType===`run_started`)throw new o(`Workflow run "${h}" is already in terminal state "${_.status}"`);if(re(f.eventType))throw new l(`Cannot transition run from terminal state "${_.status}"`);if(v)throw new l(`Cannot create new entities on run in terminal state "${_.status}"`);if(f.eventType===`attr_set`)throw new l(`Cannot set attributes on run in terminal state "${_.status}"`)}let T=null;if(ne(f.eventType)&&f.eventType!==`step_created`&&f.correlationId){if(T=await H(e,`steps`,`${h}-${f.correlationId}`,de,t),!T&&!x)throw new i(`Step "${f.correlationId}" not found`);if(x&&T)throw new l(`Step "${f.correlationId}" already created`);if(T){if(ae(T.status))throw new l(`Cannot modify step in terminal state "${T.status}"`);if(_&&ie(_.status)&&T.status!==`running`)throw new o(`Cannot modify non-running step on run in terminal state "${_.status}"`)}}if(oe(f.eventType)&&f.correlationId){if(f.eventType===`hook_received`&&p?.resumeId){let n=await G(Hn(e,h,p.resumeId),Pr);if(n&&n.hookId===f.correlationId&&(!p.resumePayloadDigest||!n.payloadDigest||n.payloadDigest===p.resumePayloadDigest)){let r=await H(e,`events`,`${h}-${n.eventId}`,C,t);if(r)return{event:r}}}if(f.eventType===`hook_received`&&await jn(e,f.correlationId,t)||!await H(e,`hooks`,f.correlationId,A,t))throw new c(f.correlationId);if(f.eventType===`hook_received`&&p?.resumeId){let r=Hn(e,h,p.resumeId),i=async r=>{if(r.hookId!==f.correlationId)throw new l(`hook_received resumeId "${p.resumeId}" already recorded for a different hook`);if(p.resumePayloadDigest&&r.payloadDigest&&r.payloadDigest!==p.resumePayloadDigest)throw new l(`hook_received resumeId "${p.resumeId}" already recorded with a different payload`);let i=await H(e,`events`,`${h}-${r.eventId}`,C,t);return i?{event:i}:(n=r.eventId,null)},a=await G(r,Pr);if(a){let e=await i(a);if(e)return e}else if(!await q(r,JSON.stringify({runId:h,resumeId:p.resumeId,hookId:f.correlationId,eventId:n,...p.resumePayloadDigest?{payloadDigest:p.resumePayloadDigest}:{}}))){let e=await G(r,Pr);if(e){let t=await i(e);if(t)return t}}}}let E={...f,runId:h,eventId:n,createdAt:m,specVersion:g,...f.eventType===`hook_received`&&p?.resumeId?{resumeId:p.resumeId}:{}};if(f.eventType===`run_started`&&`eventData`in E&&delete E.eventData,x&&E.eventType===`step_started`&&E.eventData){let{input:e,...t}=E.eventData;E={...E,eventData:t}}let D,O,k,le,he=!1,ge;if(re(f.eventType)&&_){await q(Mn(e,h,t),``),await In(e,h,t);let r=await Ln(e,h,t);n=r.eventId,E={...E,eventId:n,createdAt:r.createdAt}}if(f.eventType===`run_created`&&`eventData`in f){let n=f.eventData;if(S(Object.entries(n.attributes??{}).map(([e,t])=>({key:e,value:t})),{allowReservedAttributes:n.allowReservedAttributes===!0}),D={runId:h,deploymentId:n.deploymentId,status:`pending`,workflowName:n.workflowName,specVersion:g,executionContext:n.executionContext,input:n.input,output:void 0,error:void 0,startedAt:void 0,completedAt:void 0,attributes:n.attributes??{},encryptionPublicKey:n.encryptionPublicKey,createdAt:m,updatedAt:m},!await q(V(e,`runs`,h,t),JSON.stringify(D,U,2)))throw new l(`Workflow run "${h}" already exists`)}else if(f.eventType===`run_started`){if(_){if(_.status===`running`)return{run:_,maxEvents:Ar()};D=await Hr(e,h,t,{runId:_.runId,deploymentId:_.deploymentId,workflowName:_.workflowName,specVersion:_.specVersion,executionContext:_.executionContext,input:_.input,createdAt:_.createdAt,expiredAt:_.expiredAt,status:`running`,output:void 0,error:void 0,completedAt:void 0,startedAt:_.startedAt??m,updatedAt:m,attributes:_.attributes,encryptionPublicKey:_.encryptionPublicKey})}}else if(f.eventType===`run_completed`&&`eventData`in f){let n=f.eventData;_&&(D=await Hr(e,h,t,{runId:_.runId,deploymentId:_.deploymentId,workflowName:_.workflowName,specVersion:_.specVersion,executionContext:_.executionContext,input:_.input,createdAt:_.createdAt,expiredAt:_.expiredAt,startedAt:_.startedAt,status:`completed`,output:n.output,error:void 0,completedAt:m,updatedAt:m,attributes:_.attributes,encryptionPublicKey:_.encryptionPublicKey}),await Promise.all([wr(e,h),Vr(e,h)]))}else if(f.eventType===`run_failed`&&`eventData`in f){let n=f.eventData;_&&(D=await Hr(e,h,t,{runId:_.runId,deploymentId:_.deploymentId,workflowName:_.workflowName,specVersion:_.specVersion,executionContext:_.executionContext,input:_.input,createdAt:_.createdAt,expiredAt:_.expiredAt,startedAt:_.startedAt,status:`failed`,output:void 0,error:n.error,errorCode:n.errorCode,completedAt:m,updatedAt:m,attributes:_.attributes,encryptionPublicKey:_.encryptionPublicKey}),await Promise.all([wr(e,h),Vr(e,h)]))}else if(f.eventType===`run_cancelled`)_&&(D=await Hr(e,h,t,{runId:_.runId,deploymentId:_.deploymentId,workflowName:_.workflowName,specVersion:_.specVersion,executionContext:_.executionContext,input:_.input,createdAt:_.createdAt,expiredAt:_.expiredAt,startedAt:_.startedAt,status:`cancelled`,output:void 0,error:void 0,completedAt:m,updatedAt:m,attributes:_.attributes,encryptionPublicKey:_.encryptionPublicKey}),await Promise.all([wr(e,h),Vr(e,h)]));else if(f.eventType===`attr_set`&&_)D=await Or(h,async()=>{let n=await G(V(e,`runs`,h,t),j);if(!n)throw new r(h);if(S(f.eventData.changes,{existingKeys:Object.keys(n.attributes),allowReservedAttributes:f.eventData.allowReservedAttributes===!0}),f.correlationId&&f.eventData.writer.type===`workflow`&&!await q(R(e,`.locks`,`attributes`,t?`${h}-${f.correlationId}.created.${t}`:`${h}-${f.correlationId}.created`),``))throw new l(`Attribute event "${f.correlationId}" already exists`);let i={...n,attributes:fe(n.attributes,f.eventData.changes),updatedAt:m};return await W(V(e,`runs`,h,t),i,{overwrite:!0}),i});else if(f.eventType===`step_created`&&`eventData`in f){if(!await q(R(e,`.locks`,`steps`,t?`${h}-${f.correlationId}.created.${t}`:`${h}-${f.correlationId}.created`),``))throw new l(`Step "${f.correlationId}" already created`);let n=f.eventData;O={runId:h,stepId:f.correlationId,stepName:n.stepName,status:`pending`,input:n.input,output:void 0,error:void 0,attempt:0,startedAt:void 0,completedAt:void 0,createdAt:m,updatedAt:m,specVersion:g},await W(V(e,`steps`,`${h}-${f.correlationId}`,t),O)}else if(f.eventType===`step_started`){if(!T&&x){let n=f.eventData;if(await q(R(e,`.locks`,`steps`,t?`${h}-${f.correlationId}.created.${t}`:`${h}-${f.correlationId}.created`),``)){let r={runId:h,stepId:f.correlationId,stepName:n.stepName,status:`pending`,input:n.input,output:void 0,error:void 0,attempt:0,startedAt:void 0,completedAt:void 0,createdAt:m,updatedAt:m,specVersion:g};await W(V(e,`steps`,`${h}-${f.correlationId}`,t),r);let i=`evnt_${Gn()}`,a={eventType:`step_created`,runId:h,eventId:i,createdAt:m,specVersion:g,correlationId:f.correlationId,eventData:{stepName:n.stepName,input:n.input}};await W(V(e,`events`,`${h}-${i}`,t),a),T=r,he=!0}else throw new l(`Step "${f.correlationId}" already created`)}if(T){if(T.retryAfter&&T.retryAfter.getTime()>Date.now())throw new a(`Cannot start step "${f.correlationId}": retryAfter timestamp has not been reached yet`,{retryAfter:Math.ceil((T.retryAfter.getTime()-Date.now())/1e3)});let n=`${h}-${f.correlationId}`,r=await H(e,`steps`,n,de,t);if(r&&ae(r.status))throw new l(`Cannot modify step in terminal state "${r.status}"`);O={...T,status:`running`,startedAt:T.startedAt??m,attempt:T.attempt+1,retryAfter:void 0,updatedAt:m},await W(V(e,`steps`,n,t),O,{overwrite:!0})}}else if(f.eventType===`step_completed`&&`eventData`in f){let n=f.eventData;if(T){let r=`${h}-${f.correlationId}`;if(!await q(R(e,`.locks`,`steps`,t?`${r}.terminal.${t}`:`${r}.terminal`),``))throw new l(`Cannot modify step in terminal state`);O={...T,status:`completed`,output:n.result,completedAt:m,updatedAt:m},await W(V(e,`steps`,r,t),O,{overwrite:!0})}}else if(f.eventType===`step_failed`&&`eventData`in f){let n=f.eventData;if(T){let r=`${h}-${f.correlationId}`;if(!await q(R(e,`.locks`,`steps`,t?`${r}.terminal.${t}`:`${r}.terminal`),``))throw new l(`Cannot modify step in terminal state`);O={...T,status:`failed`,error:n.error,completedAt:m,updatedAt:m},await W(V(e,`steps`,r,t),O,{overwrite:!0})}}else if(f.eventType===`step_retrying`&&`eventData`in f){let n=f.eventData;if(T){let r=`${h}-${f.correlationId}`;O={...T,status:`pending`,error:n.error,retryAfter:n.retryAfter,updatedAt:m},await W(V(e,`steps`,r,t),O,{overwrite:!0})}}else if(f.eventType===`hook_created`&&`eventData`in f){let r=f.eventData,i=Rn(e,r.token),a=JSON.stringify({token:r.token,hookId:f.correlationId,runId:h,eventId:n,tokenRetentionUntil:r.tokenRetentionUntil}),o=await Vn(e,r.token,async n=>{let o=await Bn(i);return o||=(n.throwIfAborted(),await K(i),await xr(e,r.token,t),await Bn(i)),o?o.runId===h&&o.hookId===f.correlationId?{status:`owned`,claim:o}:await Fr(e,o,t)?(n.throwIfAborted(),await K(i),o.hookId&&(await K(V(e,`hooks`,o.hookId,t)),await K(Wn(e,r.token,o.runId,o.hookId)),await rr(e,o.runId,o.hookId,t)),n.throwIfAborted(),Ae(await q(i,a)),{status:`claimed`}):{status:`conflict`,claim:o}:(n.throwIfAborted(),Ae(await q(i,a)),{status:`claimed`})});if(o.status===`owned`){let i=o.claim,a;if(i.eventId)a=i.eventId;else{let i=await Lr(e,h,f.correlationId);if(i!==null)throw await Rr(e,h,f.correlationId,i,t),new l(`Hook "${f.correlationId}" already created`);let o=await zr(e,r.token,h,f.correlationId,n);if(o===null)throw new l(`Hook "${f.correlationId}" already created`);a=o}n=a;let s=se(n.replace(/^evnt_/,``))??m;E={...f,eventData:{...f.eventData,tokenRetentionUntil:i.tokenRetentionUntil},runId:h,eventId:n,createdAt:s,specVersion:g}}if(o.status===`conflict`){let e=o.claim,t={eventType:`hook_conflict`,correlationId:f.correlationId,eventData:{token:r.token,conflictingRunId:e.runId},runId:h,eventId:n,createdAt:m,specVersion:g};return await b(t),{event:w(t,p?.resolveData??`all`),run:D,step:O,hook:void 0}}let s=E.eventData;k={runId:h,hookId:f.correlationId,token:s.token,metadata:s.metadata,ownerId:`local-owner`,projectId:`local-project`,environment:`local`,createdAt:E.createdAt,specVersion:g,isWebhook:s.isWebhook??!1,isSystem:s.isSystem??!1,tokenRetentionUntil:s.tokenRetentionUntil},ge=o.status===`owned`?{overwrite:!0}:void 0,await er(e,r.token,h,f.correlationId,n,t)}else if(f.eventType===`hook_disposed`){if(!await q(An(e,f.correlationId,t),``))throw new l(`Hook "${f.correlationId}" already disposed`);let n=V(e,`hooks`,f.correlationId,t),r=await H(e,`hooks`,f.correlationId,A,t);r&&(await Un(e,r.token,r.runId,r.hookId),await K(Wn(e,r.token,r.runId,r.hookId))),await K(n),await rr(e,h,f.correlationId,t)}else if(f.eventType===`wait_created`&&`eventData`in f){let n=`${h}-${f.correlationId}`;if(!await q(R(e,`.locks`,`waits`,t?`${n}.created.${t}`:`${n}.created`),``))throw new l(`Wait "${f.correlationId}" already exists`);let r=f.eventData;le={waitId:n,runId:h,status:`waiting`,resumeAt:r.resumeAt,completedAt:void 0,createdAt:m,updatedAt:m,specVersion:g},await W(V(e,`waits`,n,t),le)}else if(f.eventType===`wait_completed`){let n=`${h}-${f.correlationId}`,r=R(e,`.locks`,`waits`,t?`${n}.completed.${t}`:`${n}.completed`);if(!await q(r,``))throw new l(`Wait "${f.correlationId}" already completed`);let a=await H(e,`waits`,n,ue,t);if(!a)throw await P.unlink(r).catch(()=>{}),new i(`Wait "${f.correlationId}" not found`);le={...a,status:`completed`,completedAt:m,updatedAt:m},await W(V(e,`waits`,n,t),le,{overwrite:!0})}if(f.eventType===`hook_received`&&f.correlationId&&await jn(e,f.correlationId,t))throw new c(f.correlationId);let M=V(e,`events`,`${h}-${n}`,t),_e=JSON.stringify(E,U,2),ve;if(f.eventType===`hook_received`){let r=await Nn(e,h,t),i=r?null:await H(e,`runs`,h,j,t);if(r||i&&ie(i.status))throw new o(`Workflow run "${h}" is already in a terminal state`);let a=Fn(e,h,n,t);if(!await q(a,_e))throw new l(`Event "${n}" already exists for run "${h}"`);try{if(await Nn(e,h,t))throw new o(`Workflow run "${h}" is already in a terminal state`);let n=await xt(a,M);if(n===`missing`)throw new o(`Workflow run "${h}" is already in a terminal state`);ve=n===`linked`}finally{await K(a).catch(()=>{})}}else ve=await q(M,_e);if(!ve)throw f.eventType===`hook_created`&&f.correlationId&&await Rr(e,h,f.correlationId,n,t),new l(`Event "${n}" already exists for run "${h}"`);y(E,M,_e),k&&f.eventType===`hook_created`&&(await nr(e,k.runId,k.hookId,t),await W(V(e,`hooks`,k.hookId,t),k,ge));let N=p?.resolveData??`all`,ye=w(E,N),be,xe,F;if(f.eventType===`run_started`&&D){let t=await Y({directory:I.join(e,`events`),schema:C,cachedItems:d,filePrefix:`${h}-`,sortOrder:`asc`,limit:1e3,getCreatedAt:$(`evnt`),getId:e=>e.eventId});be=t.data,xe=t.cursor,F=t.hasMore}if(te(f.eventType)&&typeof p?.sinceCursor==`string`){let t=await Y({directory:I.join(e,`events`),schema:C,filePrefix:`${h}-`,sortOrder:`asc`,cursor:p.sinceCursor,getCreatedAt:$(`evnt`),getId:e=>e.eventId});be=N===`none`?t.data.map(e=>w(e,N)):t.data,xe=t.cursor,F=t.hasMore}return{event:ye,run:D,step:O,hook:k,wait:le,events:be,cursor:xe,hasMore:F,...he?{stepCreated:!0}:{},...D?{maxEvents:Ar()}:{}}}},async get(n,r,i){L(`runId`,n),L(`eventId`,r);let a=await H(e,`events`,`${n}-${r}`,C,t);if(!a)throw Error(`Event ${r} in run ${n} not found`);return w(a,i?.resolveData??`all`)},async list(t){let{runId:n}=t;L(`runId`,n);let r=t.resolveData??`all`,i=await Y({directory:I.join(e,`events`),schema:C,cachedItems:d,filePrefix:`${n}-`,sortOrder:t.pagination?.sortOrder??`asc`,limit:t.pagination?.limit,cursor:t.pagination?.cursor,getCreatedAt:$(`evnt`),getId:e=>e.eventId});return r===`none`?{...i,data:i.data.map(e=>w(e,r))}:i},async listByCorrelationId(t){let n=t.correlationId;L(`correlationId`,n),L(`runId`,t.runId);let r=t.resolveData??`all`,i=await Y({directory:I.join(e,`events`),schema:C,cachedItems:d,filePrefix:`${t.runId}-`,filter:e=>e.correlationId===n,sortOrder:t.pagination?.sortOrder??`asc`,limit:t.pagination?.limit,cursor:t.pagination?.cursor,getCreatedAt:$(`evnt`),getId:e=>e.eventId});return r===`none`?{...i,data:i.data.map(e=>w(e,r))}:i}}}function Wr(e,t){return{get:(async(n,r,i)=>{L(`runId`,n),L(`stepId`,r);let a=await H(e,`steps`,`${n}-${r}`,de,t);if(!a)throw Error(`Step ${r} in run ${n} not found`);return pr(a,i?.resolveData??`all`)}),list:(async t=>{L(`runId`,t.runId);let n=t.resolveData??`all`,r=await Y({directory:I.join(e,`steps`),schema:de,filePrefix:`${t.runId}-`,sortOrder:t.pagination?.sortOrder??`desc`,limit:t.pagination?.limit,cursor:t.pagination?.cursor,getCreatedAt:$(`step`),getId:e=>e.stepId});return n===`none`?{...r,data:r.data.map(e=>({...e,input:void 0,output:void 0}))}:r})}}function Gr(e,t){let n=kr(e,t),r=Wr(e,t),i=Ur(e,t),a=Cr(e,t);return{runs:on(`world.runs`,n),steps:on(`world.steps`,r),events:on(`world.events`,i),hooks:on(`world.hooks`,a),clearCache:()=>i.clearCache()}}const Kr=v(()=>Math.random()),qr=_({streams:g(m())});function Jr(e){return e===1}function Yr(e){let t=Buffer.from([+!!e.eof]);return Buffer.concat([t,e.chunk])}function Xr(e){return Jr(e[0])}function Zr(e){return{eof:Xr(e),chunk:Buffer.from(e.subarray(1))}}async function Qr(e){try{return await P.readdir(e)}catch(e){if(e.code===`ENOENT`)return[];throw e}}function $r(e,t,n,r=n,i=()=>!0){for(let a of t){if(!a.endsWith(n))continue;let t=a.slice(0,-n.length);i(t)&&e.set(t,r)}}function ei(e,t){return L(`streamName`,t),I.join(e,t)}async function ti(e,t,n){let r=ei(e,t),i=await Qr(r),a=new Map;return $r(a,i,`.json`),$r(a,i,`.bin`,`.bin`,n?e=>!e.endsWith(`.${n}`):void 0),n&&$r(a,i,`.${n}.bin`),{files:[...a.keys()].sort(),extMap:a,dir:r}}function ni(e,t){let n=t?`.${t}`:``,r=new je,i=new Set;async function a(n,r){L(`runId`,n),L(`streamName`,r);let a=`${n}:${r}`;if(i.has(a))return;let o=V(e,`streams/runs`,n,t),s=(await H(e,`streams/runs`,n,qr,t))?.streams??[];s.includes(r)||(s.push(r),await W(o,{streams:s},{overwrite:!0})),i.add(a)}function o(e){return typeof e==`string`?Buffer.from(new TextEncoder().encode(e)):e instanceof Buffer?e:Buffer.from(e)}return{streams:{async write(t,i,s){let c=`chnk_${Kr()}`;await a(await t,i);let l=o(s),u=Yr({chunk:l,eof:!1});await vt(I.join(ei(I.join(e,`streams`,`chunks`),i),`${c}${n}.bin`),u);let d=Uint8Array.from(l);r.emit(`chunk:${i}`,{streamName:i,chunkData:d,chunkId:c})},async writeMulti(t,i,s){if(s.length===0)return;let c=s.map(()=>`chnk_${Kr()}`);await a(await t,i);let l=s.map(e=>o(e)).map(async(t,r)=>{let a=c[r],o=Yr({chunk:t,eof:!1});return await vt(I.join(ei(I.join(e,`streams`,`chunks`),i),`${a}${n}.bin`),o),{chunkId:a,chunkData:Uint8Array.from(t)}});for(let e of l){let{chunkId:t,chunkData:n}=await e;r.emit(`chunk:${i}`,{streamName:i,chunkData:n,chunkId:t})}},async close(t,i){let o=`chnk_${Kr()}`;await a(await t,i),await vt(I.join(ei(I.join(e,`streams`,`chunks`),i),`${o}${n}.bin`),Yr({chunk:Buffer.from([]),eof:!0})),r.emit(`close:${i}`,{streamName:i})},async list(n){return L(`runId`,n),(await H(e,`streams/runs`,n,qr,t))?.streams??[]},async getChunks(n,r,i){let a=i?.limit??100,{files:o,extMap:s,dir:c}=await ti(I.join(e,`streams`,`chunks`),r,t),l=0;if(i?.cursor)try{l=JSON.parse(Buffer.from(i.cursor,`base64`).toString(`utf-8`)).i}catch{l=0}let u=!1,d=[],f=0;for(let e of o){let t=s.get(e)??`.bin`,n=I.join(c,`${e}${t}`);if(f<l){if(Jr(await bt(n))){u=!0;break}f++;continue}if(d.length>=a){Jr(await bt(n))?u=!0:f++;break}let r=Zr(await yt(n));if(r.eof){u=!0;break}d.push({index:f,data:Uint8Array.from(r.chunk)}),f++}let p=!u&&f>l+d.length,m=l+d.length;return{data:d,cursor:p?Buffer.from(JSON.stringify({i:m})).toString(`base64`):null,hasMore:p,done:u}},async getInfo(n,r){let{files:i,extMap:a,dir:o}=await ti(I.join(e,`streams`,`chunks`),r,t),s=!1,c=0;for(let e of i){let t=a.get(e)??`.bin`;if(Jr(await bt(I.join(o,`${e}${t}`)))){s=!0;break}c++}return{tailIndex:c-1,done:s}},async get(n,i,a=0){let o=I.join(e,`streams`,`chunks`),s=()=>{},c=null,l=!1;return new ReadableStream({async start(e){let n=new Set,u=[],d=!0,f=!1,p=t=>{if(t.chunkData.byteLength===0){n.add(t.chunkId);return}d?(n.add(t.chunkId),u.push({chunkId:t.chunkId,chunkData:Uint8Array.from(t.chunkData)})):n.has(t.chunkId)||(n.add(t.chunkId),e.enqueue(Uint8Array.from(t.chunkData)))},m=()=>{if(d){f=!0;return}l=!0,s();try{e.close()}catch{}};s=()=>{r.off(`chunk:${i}`,p),r.off(`close:${i}`,m),c&&=(clearInterval(c),null)},r.on(`chunk:${i}`,p),r.on(`close:${i}`,m);let{files:h,extMap:g,dir:_}=await ti(o,i,t),v=h.length;if(typeof a==`number`&&a<0&&h.length>0){let e=h[h.length-1],t=g.get(e)??`.bin`;Jr(await bt(I.join(_,`${e}${t}`)))&&v--}let y=typeof a==`number`&&a<0?Math.max(0,v+a):a,b=!1;for(let t=y;t<h.length;t++){let r=h[t],i=r;if(n.has(i))continue;let a=g.get(r)??`.bin`,o=Zr(await yt(I.join(_,`${r}${a}`)));if(o?.eof===!0){b=!0;break}n.add(i),o.chunk.byteLength&&e.enqueue(Uint8Array.from(o.chunk))}d=!1,u.sort((e,t)=>e.chunkId.localeCompare(t.chunkId));for(let t of u)e.enqueue(Uint8Array.from(t.chunkData));if(b){l=!0,s();try{e.close()}catch{}return}if(f){l=!0,s();try{e.close()}catch{}return}for(let e=0;e<y&&e<h.length;e++)n.add(h[e]);if(l){s();return}let x=!1;c=setInterval(async()=>{if(!x){x=!0;try{let{files:r,extMap:a}=await ti(o,i,t);for(let t of r){let r=t;if(n.has(r))continue;n.add(r);let i=a.get(t)??`.bin`,o=Zr(await yt(I.join(_,`${t}${i}`)));if(o?.eof===!0){l=!0,s();try{e.close()}catch{}return}if(l)return;o.chunk.byteLength&&e.enqueue(Uint8Array.from(o.chunk))}}catch(e){e instanceof Error&&`code`in e||console.error(`[world-local] Unexpected polling error:`,e)}finally{x=!1}}},100)},cancel(){l=!0,s()}})}}}}function ri(e){let t=e?Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0)):{},n={...Qe.value,...t};Ie(n.dataDir);let r=n.tag,i=_n(n),{clearCache:a,...o}=Gr(n.dataDir,r),s=$e(n);return{specVersion:5,capabilities:{hookRetention:{active:!0},hookResumeDedup:!0},...i,...o,...on(`world.streams`,{...ni(n.dataDir,r),...n.streamFlushIntervalMs!==void 0&&{streamFlushIntervalMs:n.streamFlushIntervalMs}}),async start(){if(await Rt(n.dataDir),!s)return;let e=r?e=>ut(e,r):dt;await k({...o.runs,list:(t=>o.runs.list({...t,fileIdFilter:e}))},i.queue,`world-local`)},async close(){a(),await i.close()},async clear(){if(a(),r){let e=n.dataDir,t=I.join(e,`hooks`),i=await ft(t,r),{HookSchema:a}=await import(`../../_chunks/workflow/dist-C8PhDW9B.js`).then(e=>e.t);await Promise.all(i.map(async n=>{let r=await G(I.join(t,n),a);r?.token&&(await K(I.join(t,`tokens`,`${kn(r.token)}.json`)),await K(Wn(e,r.token,r.runId,r.hookId)))})),await Promise.all([`runs`,`steps`,`events`,`hooks`,`hooks/by-run`,`waits`,`streams/runs`].map(async t=>{let n=I.join(e,t),i=await ft(n,r);await Promise.all(i.map(e=>K(I.join(n,e))))}));for(let t of[`token-index`,`id-index`]){let n=I.join(e,`hooks`,t),i;try{i=await N.readdir(n,{withFileTypes:!0})}catch{i=[]}await Promise.all(i.filter(e=>e.isDirectory()).map(async e=>{let t=I.join(n,e.name),i=await ft(t,r);await Promise.all(i.map(e=>K(I.join(t,e))))}))}await N.rm(I.join(e,`.locks`),{recursive:!0,force:!0}).catch(()=>{});let o=I.join(e,`streams`,`chunks`),s;try{s=await N.readdir(o,{withFileTypes:!0})}catch{s=[]}await Promise.all(s.filter(e=>e.isDirectory()).map(async e=>{let t=I.join(o,e.name),n=await pt(t,r,`.bin`);await Promise.all(n.map(e=>N.unlink(I.join(t,e)).catch(()=>{})))})),ct()}else ct(),sr(),await we(n.dataDir,{recursive:!0,force:!0}),await Rt(n.dataDir)}}}export{Ot as DataDirAccessError,kt as DataDirVersionError,Me as UnwritableDataDirError,ri as createWorld,Pt as ensureDataDir,Rt as initDataDir,At as parseVersion};
|