eve 0.82.0 → 0.83.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (480) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/NOTICE +1 -1
  3. package/dist/src/channel/pending-authorization.d.ts +5 -0
  4. package/dist/src/channel/pending-authorization.js +1 -1
  5. package/dist/src/channel/session.d.ts +2 -0
  6. package/dist/src/channel/session.js +1 -1
  7. package/dist/src/channel/types.d.ts +5 -0
  8. package/dist/src/chunks/{use-eve-agent-DlznYwQk.js → use-eve-agent-3-WRmJkd.js} +40 -5
  9. package/dist/src/chunks/{use-eve-agent-DTu78IAF.js → use-eve-agent-Ci5dr0aR.js} +40 -5
  10. package/dist/src/cli/dev/local-server-child.js +1 -1
  11. package/dist/src/cli/dev/local-server-cleanup.js +1 -1
  12. package/dist/src/cli/dev/tui/question-panel.d.ts +4 -1
  13. package/dist/src/cli/dev/tui/question-panel.js +1 -1
  14. package/dist/src/cli/dev/tui/terminal-renderer.js +4 -4
  15. package/dist/src/client/eve-agent-store.d.ts +1 -1
  16. package/dist/src/client/eve-agent-store.js +1 -1
  17. package/dist/src/client/index.d.ts +1 -0
  18. package/dist/src/client/session-controls.d.ts +6 -0
  19. package/dist/src/client/session-controls.js +1 -1
  20. package/dist/src/client/session.d.ts +4 -0
  21. package/dist/src/client/session.js +1 -1
  22. package/dist/src/compiled/.vendor-stamp.json +8 -8
  23. package/dist/src/compiled/@eve/catalog/index.js +1 -1
  24. package/dist/src/compiled/@workflow/core/events-consumer.d.ts +2 -0
  25. package/dist/src/compiled/@workflow/core/index.js +2 -2
  26. package/dist/src/compiled/@workflow/core/private.d.ts +5 -3
  27. package/dist/src/compiled/@workflow/core/private.js +1 -1
  28. package/dist/src/compiled/@workflow/core/runtime/constants.d.ts +1 -37
  29. package/dist/src/compiled/@workflow/core/runtime/event-limit-warning.d.ts +32 -0
  30. package/dist/src/compiled/@workflow/core/runtime/helpers.d.ts +5 -6
  31. package/dist/src/compiled/@workflow/core/runtime/helpers.js +1 -1
  32. package/dist/src/compiled/@workflow/core/runtime/runs.d.ts +8 -0
  33. package/dist/src/compiled/@workflow/core/runtime/start.d.ts +16 -0
  34. package/dist/src/compiled/@workflow/core/runtime/suspension-handler.d.ts +15 -18
  35. package/dist/src/compiled/@workflow/core/runtime/vm-mode.d.ts +20 -0
  36. package/dist/src/compiled/@workflow/core/runtime.js +4 -4
  37. package/dist/src/compiled/@workflow/core/seeded-nanoid.d.ts +2 -0
  38. package/dist/src/compiled/@workflow/core/serialization/compression.d.ts +14 -3
  39. package/dist/src/compiled/@workflow/core/serialization.d.ts +1 -1
  40. package/dist/src/compiled/@workflow/core/serialization.js +1 -1
  41. package/dist/src/compiled/@workflow/core/telemetry/semantic-conventions.d.ts +0 -18
  42. package/dist/src/compiled/@workflow/core/version.d.ts +1 -1
  43. package/dist/src/compiled/@workflow/core/workflow.js +1 -1
  44. package/dist/src/compiled/@workflow/errors/index.d.ts +48 -0
  45. package/dist/src/compiled/@workflow/errors/index.js +1 -1
  46. package/dist/src/compiled/@workflow/world/env-config.d.ts +24 -0
  47. package/dist/src/compiled/@workflow/world/events.d.ts +126 -7
  48. package/dist/src/compiled/@workflow/world/index.d.ts +3 -3
  49. package/dist/src/compiled/@workflow/world/interfaces.d.ts +59 -8
  50. package/dist/src/compiled/@workflow/world/queue.d.ts +71 -9
  51. package/dist/src/compiled/@workflow/world/recovery.d.ts +6 -0
  52. package/dist/src/compiled/@workflow/world/test-support/duplicate-event-fixtures.d.ts +3 -0
  53. package/dist/src/compiled/@workflow/world/test-support/in-band-fence-conformance.d.ts +46 -0
  54. package/dist/src/compiled/@workflow/world-local/index.js +5 -5
  55. package/dist/src/compiled/@workflow/world-vercel/index.js +18 -18
  56. package/dist/src/compiled/_chunks/workflow/{attribute-changes-BW-kbMMn.js → attribute-changes-7se_SE2q.js} +3 -3
  57. package/dist/src/compiled/_chunks/workflow/dist-CcnNPAp4.js +1 -0
  58. package/dist/src/compiled/_chunks/workflow/dist-S9cZRway.js +3 -0
  59. package/dist/src/compiled/_chunks/workflow/helpers-CxNRXH0a.js +1 -0
  60. package/dist/src/compiled/_chunks/workflow/private-DLYTSBbu.js +1 -0
  61. package/dist/src/compiled/_chunks/workflow/resume-hook-CPiIfe8r.js +1 -0
  62. package/dist/src/compiled/_chunks/workflow/{run-DzdAqdb1.js → run-BJSLCXR4.js} +6 -6
  63. package/dist/src/compiled/_chunks/workflow/serialization-B9gneT9Z.js +15 -0
  64. package/dist/src/compiled/_chunks/workflow/sleep-BL0oQs3R.js +1 -0
  65. package/dist/src/compiled/_chunks/workflow/{wait-until-xbRRDuUf.js → wait-until-BPou0RGO.js} +1 -1
  66. package/dist/src/compiled/_chunks/workflow/workflow-routes-BaljomCk.js +1 -0
  67. package/dist/src/compiled/{@ai-sdk/code-mode → run}/LICENSE +1 -1
  68. package/dist/src/compiled/run/index.d.ts +384 -0
  69. package/dist/src/compiled/run/index.js +650 -0
  70. package/dist/src/compiler/extension-compatibility.d.ts +21 -14
  71. package/dist/src/compiler/extension-compatibility.js +1 -1
  72. package/dist/src/compiler/manifest.js +1 -1
  73. package/dist/src/compiler/normalize-agent-config.js +1 -1
  74. package/dist/src/compiler/normalize-manifest.js +1 -1
  75. package/dist/src/compiler/normalize-sandbox.js +1 -1
  76. package/dist/src/compiler/workspace-resources.js +1 -1
  77. package/dist/src/context/build-callback-context.js +1 -1
  78. package/dist/src/context/dynamic-skill-lifecycle.js +1 -1
  79. package/dist/src/context/providers/sandbox.js +1 -1
  80. package/dist/src/discover/extension-specifier.d.ts +1 -0
  81. package/dist/src/discover/extension-specifier.js +1 -1
  82. package/dist/src/evals/cli/eval.js +2 -2
  83. package/dist/src/evals/runner/artifacts.js +1 -1
  84. package/dist/src/evals/runner/derive-run-facts.d.ts +12 -0
  85. package/dist/src/evals/runner/derive-run-facts.js +1 -1
  86. package/dist/src/evals/runner/execute-task.js +1 -1
  87. package/dist/src/evals/types.d.ts +3 -2
  88. package/dist/src/eve-channel/index.js +1 -1
  89. package/dist/src/eve-channel/request.d.ts +0 -1
  90. package/dist/src/eve-channel/request.js +2 -2
  91. package/dist/src/execution/agent-sessions/context.d.ts +1 -1
  92. package/dist/src/execution/agent-sessions/context.js +1 -1
  93. package/dist/src/execution/coordination-dispatch-shared.d.ts +3 -0
  94. package/dist/src/execution/coordination-dispatch-shared.js +1 -1
  95. package/dist/src/execution/dynamic-workflow/program-step.d.ts +7 -7
  96. package/dist/src/execution/dynamic-workflow/program-step.js +1 -1
  97. package/dist/src/execution/dynamic-workflow/schema.d.ts +18 -11
  98. package/dist/src/execution/dynamic-workflow/schema.js +1 -1
  99. package/dist/src/execution/dynamic-workflow/tool.js +1 -1
  100. package/dist/src/execution/dynamic-workflow/workflow.js +1 -1
  101. package/dist/src/execution/eve-workflow-attributes.d.ts +3 -1
  102. package/dist/src/execution/eve-workflow-attributes.js +1 -1
  103. package/dist/src/execution/invoke-tool.js +1 -1
  104. package/dist/src/execution/sandbox/abort-bound-session.js +1 -1
  105. package/dist/src/execution/sandbox/active-connections.d.ts +28 -0
  106. package/dist/src/execution/sandbox/active-connections.js +1 -0
  107. package/dist/src/execution/sandbox/bindings/docker-cli.d.ts +10 -2
  108. package/dist/src/execution/sandbox/bindings/docker-cli.js +2 -2
  109. package/dist/src/execution/sandbox/bindings/docker-connection.d.ts +15 -0
  110. package/dist/src/execution/sandbox/bindings/docker-connection.js +2 -0
  111. package/dist/src/execution/sandbox/bindings/docker-container.d.ts +2 -0
  112. package/dist/src/execution/sandbox/bindings/docker-container.js +1 -1
  113. package/dist/src/execution/sandbox/bindings/docker-network.d.ts +5 -0
  114. package/dist/src/execution/sandbox/bindings/docker-network.js +1 -1
  115. package/dist/src/execution/sandbox/bindings/docker-templates.js +1 -1
  116. package/dist/src/execution/sandbox/bindings/docker.d.ts +12 -15
  117. package/dist/src/execution/sandbox/bindings/docker.js +1 -1
  118. package/dist/src/execution/sandbox/bindings/just-bash-runtime.d.ts +19 -29
  119. package/dist/src/execution/sandbox/bindings/just-bash-runtime.js +1 -1
  120. package/dist/src/execution/sandbox/bindings/just-bash.d.ts +2 -4
  121. package/dist/src/execution/sandbox/bindings/just-bash.js +1 -1
  122. package/dist/src/execution/sandbox/bindings/local-provider-utils.d.ts +0 -20
  123. package/dist/src/execution/sandbox/bindings/local-provider-utils.js +1 -1
  124. package/dist/src/execution/sandbox/bindings/local.d.ts +4 -6
  125. package/dist/src/execution/sandbox/bindings/local.js +1 -1
  126. package/dist/src/execution/sandbox/bindings/vercel-base-runtime.d.ts +2 -0
  127. package/dist/src/execution/sandbox/bindings/vercel-base-runtime.js +2 -2
  128. package/dist/src/execution/sandbox/bindings/vercel-errors.js +2 -2
  129. package/dist/src/execution/sandbox/bindings/vercel-lifecycle.d.ts +7 -5
  130. package/dist/src/execution/sandbox/bindings/vercel-lifecycle.js +1 -1
  131. package/dist/src/execution/sandbox/bindings/vercel.d.ts +5 -11
  132. package/dist/src/execution/sandbox/bindings/vercel.js +1 -2
  133. package/dist/src/execution/sandbox/development-cleanup.d.ts +0 -1
  134. package/dist/src/execution/sandbox/development-cleanup.js +1 -1
  135. package/dist/src/execution/sandbox/development-lazy-prewarm.js +1 -1
  136. package/dist/src/execution/sandbox/development-run.d.ts +0 -2
  137. package/dist/src/execution/sandbox/development-run.js +1 -1
  138. package/dist/src/execution/sandbox/dockerfile.d.ts +0 -4
  139. package/dist/src/execution/sandbox/dockerfile.js +1 -1
  140. package/dist/src/execution/sandbox/ensure.d.ts +23 -11
  141. package/dist/src/execution/sandbox/ensure.js +1 -1
  142. package/dist/src/execution/sandbox/glob-tool.js +3 -3
  143. package/dist/src/execution/sandbox/grep-tool.js +1 -1
  144. package/dist/src/execution/sandbox/logging-session.js +1 -1
  145. package/dist/src/execution/sandbox/prewarm.d.ts +23 -3
  146. package/dist/src/execution/sandbox/prewarm.js +2 -1
  147. package/dist/src/execution/sandbox/read-file.js +1 -1
  148. package/dist/src/execution/sandbox/require-sandbox.d.ts +3 -2
  149. package/dist/src/execution/sandbox/require-sandbox.js +1 -1
  150. package/dist/src/execution/sandbox/ripgrep-probe.js +1 -1
  151. package/dist/src/execution/sandbox/session.d.ts +10 -20
  152. package/dist/src/execution/sandbox/session.js +2 -2
  153. package/dist/src/execution/session/admission.js +1 -1
  154. package/dist/src/execution/session/checkpoint-migrations.js +1 -1
  155. package/dist/src/execution/session/entry-input.d.ts +5 -4
  156. package/dist/src/execution/session/entry.js +1 -1
  157. package/dist/src/execution/session/handoff-state.d.ts +5 -0
  158. package/dist/src/execution/session/handoff-state.js +1 -0
  159. package/dist/src/execution/session/handoff-steps.d.ts +0 -5
  160. package/dist/src/execution/session/handoff-steps.js +1 -1
  161. package/dist/src/execution/session/handoff.d.ts +2 -1
  162. package/dist/src/execution/session/handoff.js +1 -1
  163. package/dist/src/execution/session/input-queue.d.ts +3 -0
  164. package/dist/src/execution/session/input-queue.js +1 -1
  165. package/dist/src/execution/session/next-input.d.ts +3 -0
  166. package/dist/src/execution/session/next-input.js +1 -1
  167. package/dist/src/execution/session/program.js +1 -1
  168. package/dist/src/execution/session/timeout-control.d.ts +4 -0
  169. package/dist/src/execution/session/timeout-control.js +1 -1
  170. package/dist/src/execution/session/turn-control.d.ts +5 -2
  171. package/dist/src/execution/session/turn-control.js +1 -1
  172. package/dist/src/execution/session/turn.js +1 -1
  173. package/dist/src/execution/session-inbox/inbox.d.ts +9 -1
  174. package/dist/src/execution/session-inbox/inbox.js +1 -1
  175. package/dist/src/execution/session-inbox/protocol.d.ts +2 -1
  176. package/dist/src/execution/session-inbox/protocol.js +1 -1
  177. package/dist/src/execution/session-inbox/resume.d.ts +2 -1
  178. package/dist/src/execution/session-inbox/resume.js +1 -1
  179. package/dist/src/execution/session-prewarm.d.ts +8 -0
  180. package/dist/src/execution/session-prewarm.js +1 -0
  181. package/dist/src/execution/skills/instructions.js +1 -1
  182. package/dist/src/execution/tools/agent-router-workflow.js +1 -1
  183. package/dist/src/execution/tools/workflow/body.js +1 -1
  184. package/dist/src/execution/tools/workflow/step-context.d.ts +11 -0
  185. package/dist/src/execution/tools/workflow/step-execution.js +1 -1
  186. package/dist/src/execution/tools/workflow/step.js +1 -1
  187. package/dist/src/execution/workflow-runtime.js +1 -1
  188. package/dist/src/extensions/git/extension/lib/github-shell-schema.js +1 -1
  189. package/dist/src/framework/sources/modules/sandbox.d.ts +1 -1
  190. package/dist/src/harness/attachment-staging.d.ts +0 -7
  191. package/dist/src/harness/attachment-staging.js +1 -1
  192. package/dist/src/harness/hitl/index.d.ts +2 -1
  193. package/dist/src/harness/hitl/index.js +1 -1
  194. package/dist/src/harness/hitl/view.d.ts +1 -0
  195. package/dist/src/harness/hitl/view.js +1 -0
  196. package/dist/src/harness/model-call/run.js +1 -1
  197. package/dist/src/harness/semantic-errors/rules/sandbox.d.ts +3 -5
  198. package/dist/src/harness/semantic-errors/rules/sandbox.js +1 -1
  199. package/dist/src/harness/step/prompt.js +1 -1
  200. package/dist/src/harness/tool-history-repair.d.ts +9 -0
  201. package/dist/src/harness/tool-history-repair.js +1 -0
  202. package/dist/src/harness/tool-model-output.d.ts +19 -3
  203. package/dist/src/harness/tool-model-output.js +1 -1
  204. package/dist/src/internal/application/compiled-artifacts.js +8 -4
  205. package/dist/src/internal/application/optional-package-import.d.ts +10 -0
  206. package/dist/src/internal/application/optional-package-import.js +1 -1
  207. package/dist/src/internal/application/stamped-package-version.js +1 -1
  208. package/dist/src/internal/attachments/limited-read.d.ts +2 -2
  209. package/dist/src/internal/authored-module-build-options.d.ts +6 -0
  210. package/dist/src/internal/authored-module-build-options.js +1 -1
  211. package/dist/src/internal/authored-module-cache.d.ts +10 -0
  212. package/dist/src/internal/authored-module-cache.js +1 -0
  213. package/dist/src/internal/authored-module-graph.js +1 -1
  214. package/dist/src/internal/authored-module-loader.js +1 -1
  215. package/dist/src/internal/authored-relative-extension-resolver.js +1 -1
  216. package/dist/src/internal/bundler/nitro-rolldown.d.ts +3 -1
  217. package/dist/src/internal/bundler/nitro-rolldown.js +1 -1
  218. package/dist/src/internal/bundler/pseudo-packages.d.ts +11 -0
  219. package/dist/src/internal/bundler/pseudo-packages.js +1 -0
  220. package/dist/src/internal/nitro/host/build-extension.d.ts +6 -0
  221. package/dist/src/internal/nitro/host/build-extension.js +2 -2
  222. package/dist/src/internal/nitro/host/compiled-sandbox-provider-prune-plugin.d.ts +3 -1
  223. package/dist/src/internal/nitro/host/compiled-sandbox-provider-prune-plugin.js +3 -5
  224. package/dist/src/internal/nitro/host/create-application-nitro.d.ts +2 -3
  225. package/dist/src/internal/nitro/host/create-application-nitro.js +1 -1
  226. package/dist/src/internal/nitro/host/dev-authored-rebuild-coordinator.d.ts +2 -0
  227. package/dist/src/internal/nitro/host/dev-authored-rebuild-coordinator.js +1 -1
  228. package/dist/src/internal/nitro/host/dev-authored-source-watcher.js +1 -1
  229. package/dist/src/internal/nitro/host/dev-build-host.d.ts +83 -0
  230. package/dist/src/internal/nitro/host/dev-build-host.js +1 -0
  231. package/dist/src/internal/nitro/host/dev-build-operations.d.ts +6 -0
  232. package/dist/src/internal/nitro/host/dev-build-operations.js +1 -0
  233. package/dist/src/internal/nitro/host/dev-build-process.d.ts +1 -0
  234. package/dist/src/internal/nitro/host/dev-build-process.js +1 -0
  235. package/dist/src/internal/nitro/host/development-runtime-prune-plugin.d.ts +4 -1
  236. package/dist/src/internal/nitro/host/development-runtime-prune-plugin.js +3 -2
  237. package/dist/src/internal/nitro/host/drained-nitro-dev-server.d.ts +13 -0
  238. package/dist/src/internal/nitro/host/drained-nitro-dev-server.js +1 -1
  239. package/dist/src/internal/nitro/host/optional-engine-dependency-plugin.js +1 -1
  240. package/dist/src/internal/nitro/host/prepare-application-host.d.ts +3 -0
  241. package/dist/src/internal/nitro/host/prepare-application-host.js +1 -1
  242. package/dist/src/internal/nitro/host/sandbox-shutdown-plugin.js +1 -1
  243. package/dist/src/internal/nitro/host/start-development-server.js +2 -2
  244. package/dist/src/internal/nitro/host/start-production-server.js +3 -3
  245. package/dist/src/internal/nitro/host/workflow-sandbox-runtime-plugin.js +1 -1
  246. package/dist/src/internal/nitro/host.js +1 -1
  247. package/dist/src/internal/workflow/local-world-delivery-auth.d.ts +17 -0
  248. package/dist/src/internal/workflow/local-world-delivery-auth.js +1 -0
  249. package/dist/src/internal/workflow/queue-namespace.d.ts +2 -0
  250. package/dist/src/internal/workflow/queue-namespace.js +1 -1
  251. package/dist/src/internal/workflow-bundle/builder-support.d.ts +0 -1
  252. package/dist/src/internal/workflow-bundle/builder-support.js +2 -2
  253. package/dist/src/internal/workflow-bundle/builder.js +2 -2
  254. package/dist/src/internal/workflow-bundle/vercel-workflow-output.d.ts +1 -1
  255. package/dist/src/internal/workflow-bundle/vercel-workflow-output.js +1 -1
  256. package/dist/src/protocol/prewarm-session.d.ts +14 -0
  257. package/dist/src/protocol/prewarm-session.js +1 -0
  258. package/dist/src/protocol/routes.d.ts +2 -2
  259. package/dist/src/public/channels/discord/authorization.d.ts +45 -0
  260. package/dist/src/public/channels/discord/authorization.js +3 -0
  261. package/dist/src/public/channels/discord/defaults.d.ts +14 -3
  262. package/dist/src/public/channels/discord/defaults.js +2 -2
  263. package/dist/src/public/channels/discord/discordChannel.d.ts +15 -1
  264. package/dist/src/public/channels/discord/discordChannel.js +1 -1
  265. package/dist/src/public/channels/discord/gateway/connection.d.ts +26 -0
  266. package/dist/src/public/channels/discord/gateway/connection.js +1 -0
  267. package/dist/src/public/channels/discord/gateway/forwarder.d.ts +14 -0
  268. package/dist/src/public/channels/discord/gateway/forwarder.js +1 -0
  269. package/dist/src/public/channels/discord/gateway/index.d.ts +59 -0
  270. package/dist/src/public/channels/discord/gateway/index.js +1 -0
  271. package/dist/src/public/channels/discord/inbound.d.ts +10 -3
  272. package/dist/src/public/channels/discord/inbound.js +2 -2
  273. package/dist/src/public/channels/discord/index.d.ts +3 -2
  274. package/dist/src/public/channels/discord/index.js +1 -1
  275. package/dist/src/public/channels/discord/messages.d.ts +116 -0
  276. package/dist/src/public/channels/discord/messages.js +2 -0
  277. package/dist/src/public/channels/github/checkout.js +1 -1
  278. package/dist/src/public/channels/linq/linqChannel.d.ts +4 -1
  279. package/dist/src/public/channels/linq/linqChannel.js +1 -1
  280. package/dist/src/public/channels/photon/photonIMessageChannel.js +1 -1
  281. package/dist/src/public/channels/same-environment-oidc.d.ts +7 -0
  282. package/dist/src/public/channels/same-environment-oidc.js +1 -0
  283. package/dist/src/public/definitions/channel.js +1 -1
  284. package/dist/src/public/definitions/sandbox.d.ts +1 -1
  285. package/dist/src/public/next/server.js +1 -1
  286. package/dist/src/public/sandbox/docker-sandbox.d.ts +6 -1
  287. package/dist/src/public/sandbox/docker.d.ts +1 -8
  288. package/dist/src/public/sandbox/index.d.ts +3 -3
  289. package/dist/src/public/sandbox/just-bash-sandbox.d.ts +87 -7
  290. package/dist/src/public/sandbox/just-bash.d.ts +1 -1
  291. package/dist/src/public/sandbox/provider.d.ts +5 -1
  292. package/dist/src/public/sandbox/provider.js +1 -1
  293. package/dist/src/public/sandbox/vercel-sandbox.d.ts +16 -9
  294. package/dist/src/public/sandbox/vercel.d.ts +0 -1
  295. package/dist/src/public/sandbox/vercel.js +1 -1
  296. package/dist/src/public/tools/agent.d.ts +8 -1
  297. package/dist/src/public/tools/agent.js +1 -1
  298. package/dist/src/react/use-eve-agent.d.ts +1 -1
  299. package/dist/src/runtime/agent/resolve-model.js +1 -1
  300. package/dist/src/runtime/connections/openapi-client.d.ts +2 -0
  301. package/dist/src/runtime/connections/openapi-client.js +1 -1
  302. package/dist/src/runtime/resolve-agent-graph.js +1 -1
  303. package/dist/src/runtime/resolve-agent.js +1 -1
  304. package/dist/src/runtime/resolve-channel.js +1 -1
  305. package/dist/src/runtime/resolve-sandbox.js +1 -1
  306. package/dist/src/runtime/sandbox/prepared-artifacts.js +1 -1
  307. package/dist/src/runtime/sandbox/registry.d.ts +2 -0
  308. package/dist/src/runtime/sandbox/registry.js +1 -1
  309. package/dist/src/runtime/subagents/workflow.d.ts +6 -0
  310. package/dist/src/runtime/subagents/workflow.js +1 -1
  311. package/dist/src/runtime/workspace/seed-files.d.ts +9 -12
  312. package/dist/src/runtime/workspace/seed-files.js +1 -1
  313. package/dist/src/runtime/workspace/spec.d.ts +1 -1
  314. package/dist/src/runtime/workspace/spec.js +1 -1
  315. package/dist/src/runtime/workspace/types.d.ts +2 -6
  316. package/dist/src/sandbox/provider.d.ts +185 -0
  317. package/dist/src/sandbox/provider.js +1 -0
  318. package/dist/src/sandbox/providers/default.d.ts +20 -19
  319. package/dist/src/sandbox/providers/default.js +1 -1
  320. package/dist/src/sandbox/providers/docker.d.ts +5 -2
  321. package/dist/src/sandbox/providers/docker.js +1 -1
  322. package/dist/src/sandbox/providers/just-bash.d.ts +4 -3
  323. package/dist/src/sandbox/providers/just-bash.js +1 -1
  324. package/dist/src/sandbox/providers/vercel.d.ts +4 -10
  325. package/dist/src/sandbox/providers/vercel.js +1 -1
  326. package/dist/src/sandbox/providers.d.ts +0 -1
  327. package/dist/src/sandbox/providers.js +1 -1
  328. package/dist/src/sandbox/state.d.ts +44 -0
  329. package/dist/src/sandbox/state.js +1 -1
  330. package/dist/src/self-modification/deployed-sandbox.d.ts +4 -9
  331. package/dist/src/self-modification/deployed-sandbox.js +1 -1
  332. package/dist/src/self-modification/filesystem.d.ts +3 -3
  333. package/dist/src/self-modification/remote/config.d.ts +2 -2
  334. package/dist/src/self-modification/remote/config.js +1 -1
  335. package/dist/src/self-modification/setup.d.ts +0 -1
  336. package/dist/src/self-modification/setup.js +8 -8
  337. package/dist/src/setup/integrations/discord/api.d.ts +7 -0
  338. package/dist/src/setup/integrations/discord/api.js +1 -1
  339. package/dist/src/setup/integrations/discord/daemon.d.ts +18 -0
  340. package/dist/src/setup/integrations/discord/daemon.js +21 -0
  341. package/dist/src/setup/integrations/discord/setup.d.ts +24 -4
  342. package/dist/src/setup/integrations/discord/setup.js +5 -4
  343. package/dist/src/setup/integrations/self-modification/setup.js +1 -1
  344. package/dist/src/setup/scaffold/create/project.js +1 -1
  345. package/dist/src/setup/scaffold/update/web-options.js +1 -1
  346. package/dist/src/setup/scaffold/version-tokens.d.ts +0 -1
  347. package/dist/src/setup/scaffold/version-tokens.js +1 -1
  348. package/dist/src/shared/agent-definition.d.ts +2 -0
  349. package/dist/src/shared/built-server-start-failure.d.ts +12 -0
  350. package/dist/src/shared/built-server-start-failure.js +3 -0
  351. package/dist/src/shared/framework-eve-server.d.ts +2 -0
  352. package/dist/src/shared/framework-eve-server.js +2 -2
  353. package/dist/src/shared/sandbox-environment.d.ts +4 -10
  354. package/dist/src/shared/sandbox-environment.js +1 -1
  355. package/dist/src/shared/sandbox-network-policy.d.ts +45 -9
  356. package/dist/src/shared/sandbox-provider.d.ts +0 -103
  357. package/dist/src/shared/sandbox-provider.js +1 -1
  358. package/dist/src/shared/sandbox-recorded-data-error.d.ts +4 -0
  359. package/dist/src/shared/sandbox-recorded-data-error.js +1 -0
  360. package/dist/src/shared/sandbox-session-gone-error.d.ts +12 -0
  361. package/dist/src/shared/sandbox-session-gone-error.js +1 -0
  362. package/dist/src/shared/sandbox-session.d.ts +97 -83
  363. package/dist/src/shared/sandbox-template-error.d.ts +19 -4
  364. package/dist/src/shared/sandbox-template-error.js +1 -1
  365. package/dist/src/shared/sandbox-tool-session-error.d.ts +4 -0
  366. package/dist/src/shared/sandbox-tool-session-error.js +1 -0
  367. package/dist/src/shared/skill-package.js +1 -1
  368. package/dist/src/shared/skill-paths.d.ts +4 -5
  369. package/dist/src/shared/skill-paths.js +2 -2
  370. package/dist/src/shared/workflow-sandbox.d.ts +4 -41
  371. package/dist/src/shared/workflow-sandbox.js +1 -1
  372. package/dist/src/svelte/index.js +1 -1
  373. package/dist/src/svelte/use-eve-agent.d.ts +1 -1
  374. package/dist/src/svelte/use-eve-agent.js +1 -1
  375. package/dist/src/tools/model-output.d.ts +23 -5
  376. package/dist/src/tools/model-output.js +1 -1
  377. package/dist/src/tools/provided/ask-question-workflow.js +1 -1
  378. package/dist/src/tools/provided/glob.js +1 -1
  379. package/dist/src/tools/provided/grep.js +1 -1
  380. package/dist/src/tools/provided/read-file.js +1 -1
  381. package/dist/src/tools/provided/sleep-workflow.js +1 -1
  382. package/dist/src/tools/provided/workflow.js +1 -1
  383. package/dist/src/tools/provided/write-file.js +1 -1
  384. package/dist/src/tools/workflow-definition.d.ts +19 -4
  385. package/dist/src/vue/index.js +1 -1
  386. package/dist/src/vue/use-eve-agent.d.ts +1 -1
  387. package/dist/src/vue/use-eve-agent.js +1 -1
  388. package/docs/channels/custom.mdx +3 -3
  389. package/docs/channels/discord.mdx +279 -7
  390. package/docs/channels/eve.mdx +13 -2
  391. package/docs/channels/linq.mdx +2 -2
  392. package/docs/channels/mcp.mdx +2 -2
  393. package/docs/channels/overview.mdx +1 -1
  394. package/docs/channels/photon.mdx +1 -1
  395. package/docs/concepts/built-in-tools.md +31 -8
  396. package/docs/concepts/execution-model-and-durability.mdx +6 -101
  397. package/docs/concepts/security-model.md +2 -0
  398. package/docs/concepts/sessions-runs-and-streaming.md +44 -36
  399. package/docs/connections/openapi.mdx +2 -0
  400. package/docs/evals/reporters.mdx +1 -1
  401. package/docs/evals/running.mdx +1 -1
  402. package/docs/guides/client/messages.mdx +1 -1
  403. package/docs/guides/deployment/overview.md +4 -4
  404. package/docs/guides/deployment/self-hosting.md +50 -1
  405. package/docs/guides/dev-tui.md +1 -1
  406. package/docs/guides/dynamic-capabilities.md +1 -1
  407. package/docs/guides/frontend/overview.mdx +26 -6
  408. package/docs/guides/instrumentation/agent-runs.mdx +16 -0
  409. package/docs/guides/self-modification.md +1 -1
  410. package/docs/guides/session-context.md +1 -1
  411. package/docs/instructions.mdx +1 -1
  412. package/docs/reference/agent-files.md +3 -3
  413. package/docs/reference/cli.md +7 -2
  414. package/docs/reference/typescript-api.md +9 -3
  415. package/docs/sandbox/custom-providers.mdx +254 -0
  416. package/docs/sandbox/default.mdx +71 -4
  417. package/docs/sandbox/docker.mdx +15 -3
  418. package/docs/sandbox/index.mdx +27 -103
  419. package/docs/sandbox/just-bash.mdx +54 -0
  420. package/docs/sandbox/meta.json +9 -1
  421. package/docs/sandbox/troubleshooting.mdx +215 -0
  422. package/docs/sandbox/vercel.mdx +48 -7
  423. package/docs/skills.mdx +1 -1
  424. package/docs/subagents/index.mdx +2 -2
  425. package/docs/tools/overview.mdx +19 -0
  426. package/docs/tools/workflows.mdx +73 -5
  427. package/docs/tutorial/run-analysis.mdx +2 -2
  428. package/package.json +14 -20
  429. package/dist/src/compiled/@ai-sdk/code-mode/_run.d.ts +0 -1
  430. package/dist/src/compiled/@ai-sdk/code-mode/index.d.ts +0 -325
  431. package/dist/src/compiled/@ai-sdk/code-mode/index.js +0 -660
  432. package/dist/src/compiled/_chunks/workflow/dist-CyBgVS7g.js +0 -1
  433. package/dist/src/compiled/_chunks/workflow/dist-T5NnW-0k.js +0 -3
  434. package/dist/src/compiled/_chunks/workflow/helpers-DlLD3ov_.js +0 -1
  435. package/dist/src/compiled/_chunks/workflow/private-tQUuwBoQ.js +0 -1
  436. package/dist/src/compiled/_chunks/workflow/resume-hook-DMsV_b4n.js +0 -1
  437. package/dist/src/compiled/_chunks/workflow/serialization-DPdYS_w2.js +0 -16
  438. package/dist/src/compiled/_chunks/workflow/sleep-BY6leHh8.js +0 -1
  439. package/dist/src/compiled/_chunks/workflow/workflow-routes-CwqB063q.js +0 -1
  440. package/dist/src/execution/sandbox/active-handles.d.ts +0 -32
  441. package/dist/src/execution/sandbox/active-handles.js +0 -1
  442. package/dist/src/execution/sandbox/bindings/docker-session.d.ts +0 -6
  443. package/dist/src/execution/sandbox/bindings/docker-session.js +0 -2
  444. package/dist/src/execution/sandbox/bindings/immutable-resources.d.ts +0 -15
  445. package/dist/src/execution/sandbox/bindings/immutable-resources.js +0 -2
  446. package/dist/src/execution/sandbox/bindings/microsandbox-create.d.ts +0 -12
  447. package/dist/src/execution/sandbox/bindings/microsandbox-create.js +0 -1
  448. package/dist/src/execution/sandbox/bindings/microsandbox-lifecycle.d.ts +0 -42
  449. package/dist/src/execution/sandbox/bindings/microsandbox-lifecycle.js +0 -1
  450. package/dist/src/execution/sandbox/bindings/microsandbox-metadata.d.ts +0 -29
  451. package/dist/src/execution/sandbox/bindings/microsandbox-metadata.js +0 -1
  452. package/dist/src/execution/sandbox/bindings/microsandbox-network.d.ts +0 -18
  453. package/dist/src/execution/sandbox/bindings/microsandbox-network.js +0 -1
  454. package/dist/src/execution/sandbox/bindings/microsandbox-options.d.ts +0 -37
  455. package/dist/src/execution/sandbox/bindings/microsandbox-options.js +0 -1
  456. package/dist/src/execution/sandbox/bindings/microsandbox-platform.d.ts +0 -21
  457. package/dist/src/execution/sandbox/bindings/microsandbox-platform.js +0 -21
  458. package/dist/src/execution/sandbox/bindings/microsandbox-process.d.ts +0 -3
  459. package/dist/src/execution/sandbox/bindings/microsandbox-process.js +0 -1
  460. package/dist/src/execution/sandbox/bindings/microsandbox-provider-state.d.ts +0 -11
  461. package/dist/src/execution/sandbox/bindings/microsandbox-provider-state.js +0 -1
  462. package/dist/src/execution/sandbox/bindings/microsandbox-runtime.d.ts +0 -82
  463. package/dist/src/execution/sandbox/bindings/microsandbox-runtime.js +0 -1
  464. package/dist/src/execution/sandbox/bindings/microsandbox-templates.d.ts +0 -12
  465. package/dist/src/execution/sandbox/bindings/microsandbox-templates.js +0 -1
  466. package/dist/src/execution/sandbox/bindings/microsandbox.d.ts +0 -16
  467. package/dist/src/execution/sandbox/bindings/microsandbox.js +0 -1
  468. package/dist/src/execution/sandbox/provider-host-development.d.ts +0 -2
  469. package/dist/src/execution/sandbox/provider-host-development.js +0 -1
  470. package/dist/src/execution/sandbox/provider-host.d.ts +0 -2
  471. package/dist/src/execution/sandbox/provider-host.js +0 -1
  472. package/dist/src/execution/tool-session/sandbox.d.ts +0 -22
  473. package/dist/src/execution/tool-session/sandbox.js +0 -1
  474. package/dist/src/public/sandbox/microsandbox-sandbox.d.ts +0 -48
  475. package/dist/src/public/sandbox/microsandbox-sandbox.js +0 -1
  476. package/dist/src/public/sandbox/microsandbox.d.ts +0 -9
  477. package/dist/src/public/sandbox/microsandbox.js +0 -1
  478. package/dist/src/sandbox/providers/microsandbox.d.ts +0 -12
  479. package/dist/src/sandbox/providers/microsandbox.js +0 -1
  480. package/docs/sandbox/microsandbox.mdx +0 -31
@@ -1,5 +1,5 @@
1
- import{a as e,s as t,t as n}from"../../_chunks/workflow/rolldown-runtime-B_knIduE.js";import{D as r,H as i,T as a,Y as o,_t as s,a as c,dt as l,ft as u,ht as d,it as f,mt as p,pt as m,tt as h,w as g}from"../../_chunks/workflow/dist-CyBgVS7g.js";import{$ as _,$n as v,$t as y,A as b,An as x,At as S,B as ee,Bt as C,Cn as w,Dt as T,Et as E,Fn as te,Ft as D,G as O,Gn as ne,Gt as k,H as A,Hn as re,Ht as j,In as ie,Ir as M,J as N,Jn as P,Jt as ae,K as oe,Kn as se,Kt as ce,Ln as le,Lr as F,Lt as I,M as ue,Mn as de,Mt as fe,N as L,P as pe,Pr as R,Pt as me,Q as z,Qn as he,R as ge,Rn as _e,Rt as B,Sn as ve,St as ye,Tn as be,Tt as V,U as H,Un as xe,Ut as U,V as Se,Vn as Ce,Vt as we,W as Te,Wn as Ee,Wr as De,Wt as Oe,X as W,Xn as ke,Xr as Ae,Y as G,Yn as je,Yr as Me,Yt as Ne,Z as Pe,Zn as Fe,_n as Ie,_t as Le,a as Re,ai as ze,an as Be,at as Ve,bn as He,bt as Ue,ci as We,cn as Ge,cr as Ke,d as qe,dn as Je,dr as Ye,dt as Xe,en as Ze,er as Qe,et as $e,f as et,fn as tt,fr as nt,ft as rt,gn as it,gt as at,hn as ot,ht as st,ii as ct,in as lt,it as ut,j as dt,jn as ft,jt as pt,k as mt,kn as ht,kt as gt,l as _t,li as vt,ln as yt,lr as bt,lt as xt,m as St,mn as Ct,mt as wt,ni as Tt,nn as Et,nr as Dt,nt as Ot,oi as kt,on as At,or as jt,pn as Mt,pr as Nt,q as Pt,qn as Ft,qt as It,ri as Lt,rn as Rt,rr as zt,rt as Bt,si as Vt,sn as Ht,sr as Ut,st as Wt,tn as Gt,tr as Kt,tt as qt,u as Jt,ui as Yt,un as Xt,ur as Zt,ut as K,vn as Qt,wn as $t,xn as en,yn as tn,zn as nn,zr as rn,zt as an}from"../../_chunks/workflow/serialization-DPdYS_w2.js";import{A as q,C as on,D as sn,F as cn,M as J,N as ln,P as un,T as dn,a as fn,b as pn,c as mn,d as hn,f as Y,h as gn,i as X,j as _n,l as vn,n as yn,o as bn,r as Z,s as xn,t as Sn,u as Cn,y as wn}from"../../_chunks/workflow/dist-T5NnW-0k.js";import{a as Tn,c as En,d as Dn,f as On,i as kn,l as Q,n as An,t as jn,u as Mn}from"../../_chunks/workflow/private-tQUuwBoQ.js";import{a as Nn,n as Pn}from"../../_chunks/workflow/workflow-routes-CwqB063q.js";import{A as Fn,B as In,C as Ln,D as Rn,E as zn,F as Bn,G as Vn,H as Hn,I as Un,J as Wn,K as Gn,L as Kn,M as qn,N as Jn,O as Yn,P as Xn,R as Zn,S as Qn,T as $n,U as er,V as tr,W as nr,X as rr,Y as ir,Z as ar,_ as or,a as sr,b as cr,c as lr,d as ur,f as dr,g as fr,h as pr,i as mr,k as hr,l as gr,m as _r,n as vr,p as yr,q as br,u as xr,v as Sr,w as Cr,x as wr,y as Tr,z as Er}from"../../_chunks/workflow/helpers-DlLD3ov_.js";import{d as Dr,l as Or,n as kr,s as Ar,u as jr}from"../../_chunks/workflow/attribute-changes-BW-kbMMn.js";import{a as Mr,n as Nr,o as Pr,r as Fr,s as Ir,t as Lr}from"../../_chunks/workflow/resume-hook-DMsV_b4n.js";import{r as Rr,t as zr}from"../../_chunks/workflow/wait-until-xbRRDuUf.js";import{a as Br,c as Vr,d as Hr,f as Ur,g as Wr,h as Gr,i as Kr,l as qr,m as Jr,n as Yr,o as Xr,p as Zr,r as Qr,s as $r,t as ei,u as ti}from"../../_chunks/workflow/run-DzdAqdb1.js";import{t as ni}from"../../_chunks/workflow/run-id-Ct9AjQDR.js";import{createRequire as ri}from"node:module";import{createHash as ii}from"node:crypto";import{types as ai}from"node:util";import oi from"node:assert/strict";import{pathToFileURL as si}from"node:url";import{Script as ci,createContext as li,runInContext as ui}from"node:vm";function di(e=process.env){return e.WORKFLOW_TARGET_WORLD||(e.VERCEL_DEPLOYMENT_ID?`vercel`:`local`)}function fi(e){return e===`vercel`||e===`@workflow/world-vercel`}var pi=t(un(),1);function mi(e){return e instanceof jr||e instanceof Or||e instanceof Dr||e instanceof kr}const hi=`The workflow event log contains orphaned or mismatched events and cannot be replayed. This is an internal workflow SDK error; please report it with the runId.`;function gi(e,t){let n=t??Ur(e);return gn.is(e)?{attribution:`user`,errorCode:n,hint:`A value passed across a workflow/step boundary could not be serialized. See the error message for the offending path and the Learn More link for details.`}:mi(e)?{attribution:`user`,errorCode:n,hint:`A workflow-only or step-only API was called from the wrong context. The error message includes the exact API and how to move the call.`}:Sn.is(e)?{attribution:`sdk`,errorCode:n,hint:hi}:n===J.DEPLOYMENT_MISMATCH?{attribution:`sdk`,errorCode:n,hint:`The run was delivered to a deployment other than the deployment it is pinned to, and was stopped to protect against code-skew errors after the runtime failed to re-route it there. Verify that the run's deployment is still available and that queue callbacks route to it.`}:e instanceof q?{attribution:`sdk`,errorCode:n,hint:`This is an internal workflow SDK error, not a bug in your code. If it keeps happening, please report it with the stack trace and the runId.`}:n===J.REPLAY_TIMEOUT?{attribution:`sdk`,errorCode:n,hint:'The workflow replay between step boundaries took too long. This bounds workflow-VM and event-log replay time only — step bodies (`"use step"` functions) are excluded. This usually means the event log is unusually large or the workflow function is doing heavy synchronous work in workflow code outside of step bodies. Override the default budget via the WORKFLOW_REPLAY_TIMEOUT_MS env var if needed.'}:n===J.MAX_DELIVERIES_EXCEEDED?{attribution:`sdk`,errorCode:n,hint:`The workflow queue exceeded its max-delivery budget. This usually indicates a persistent runtime failure — check the most recent stack traces for the underlying cause.`}:n===J.MAX_EVENTS_EXCEEDED?{attribution:`user`,errorCode:n,hint:`The workflow exceeded the maximum number of events per run. This usually means unbounded work in the workflow function — e.g. a loop that keeps creating steps without terminating. Break long-running workflows into child workflows to stay under the limit.`}:n===J.CORRUPTED_EVENT_LOG?{attribution:`sdk`,errorCode:n,hint:hi}:n===J.STREAM_ERROR?{attribution:`sdk`,errorCode:n,hint:`Workflow stream infrastructure failed while reading or writing data. This is an SDK or backend failure, not an error in your workflow code; please retry the run and report persistent failures with the runId.`}:n===J.WORLD_CONTRACT_ERROR?{attribution:`sdk`,errorCode:n,hint:`The workflow backend returned data that violated the SDK contract. This is not retryable; please report it with the stack trace and runId.`}:{attribution:`user`,errorCode:n}}function _i(e){if(e===null)return!0;let t=typeof e;return t!==`object`&&t!==`function`}var vi=class{preparer;preparedPayloads=new Map;primitiveStepResults=new Map;encryptionKey;nextUnscannedEventIndex=0;constructor(e,t=ge){this.preparer=t,this.encryptionKey=Promise.resolve(e)}prepareEvent(e){this.prepareEventIfMissing(e)?.catch(()=>{})}async prewarm(e,t){let n=[],r=this.startPreparation(this.workflowInputKey(e.runId),e.input);r&&n.push(r);for(let e=this.nextUnscannedEventIndex;e<t.length;e++){let r=t[e],i=this.prepareEventIfMissing(r);i&&n.push(i)}this.nextUnscannedEventIndex=t.length,await Promise.allSettled(n)}resetScan(){this.nextUnscannedEventIndex=0}prepareWorkflowInput(e){return this.consumePreparation(this.workflowInputKey(e.runId),e.input)}prepareEventPayload(e,t,n){return this.consumePreparation(this.eventPayloadKey(e,t),n)}async getStepResult(e,t){if(this.primitiveStepResults.has(e))return this.primitiveStepResults.get(e);let n=await t();return _i(n)&&this.primitiveStepResults.set(e,n),n}consumePreparation(e,t){if(!(t instanceof Uint8Array))return this.runPreparation(t);let n=this.ensurePreparation(e,t);return n.catch(()=>{this.preparedPayloads.get(e)===n&&this.preparedPayloads.delete(e)}),n}ensurePreparation(e,t){let n=this.preparedPayloads.get(e);if(n)return n;let r=this.runPreparation(t);return this.preparedPayloads.set(e,r),r}async runPreparation(e){return this.preparer(e,await this.encryptionKey)}prepareEventIfMissing(e){let t,n;switch(e.eventType){case`run_created`:return this.startPreparation(this.workflowInputKey(e.runId),e.eventData.input);case`run_started`:return this.startPreparation(this.workflowInputKey(e.runId),e.eventData?.input);case`step_completed`:t=`result`,n=e.eventData?.result;break;case`step_failed`:t=`error`,n=e.eventData?.error;break;case`hook_received`:t=`payload`,n=e.eventData?.payload;break;default:return}return this.startPreparation(this.eventPayloadKey(e.eventId,t),n)}startPreparation(e,t){if(t instanceof Uint8Array&&!this.preparedPayloads.has(e))return this.ensurePreparation(e,t)}workflowInputKey(e){return`run:${e}:input`}eventPayloadKey(e,t){return`event:${e}:${t}`}};const yi=`cinst_${p()}`,bi=e=>`eventData`in e&&e.eventData&&`ownerMessageId`in e.eventData&&typeof e.eventData.ownerMessageId==`string`?e.eventData.ownerMessageId:void 0;function xi(e,t,n){if(!e)return 0;let r=0,i=new Map;for(let n of e){if(n.eventType!==`step_started`||n.correlationId!==t)continue;let e=bi(n);e===void 0?r++:i.set(e,(i.get(e)??0)+1)}if(n===void 0){let e=r;for(let t of i.values())e+=t;return e}if(n.type===`ownedBy`)return i.get(n.messageId)??0;let a=0;for(let e of i.values())e>a&&(a=e);return r+a}function Si(e){return ai.isNativeError(e)?e.name:`Error`}function Ci(e){return ai.isNativeError(e)?e.message:String(e)}function wi(e){return ai.isNativeError(e)?e.stack??``:``}function Ti(e){if(typeof e!=`object`||!e)return String(e);let{name:t,message:n,code:r}=e,i=typeof t==`string`&&t?t:`Error`,a=typeof n==`string`&&n?`${i}: ${n}`:i;return typeof r==`string`&&r&&!a.includes(r)?`${a} (${r})`:a}function Ei(e){let t=[],n=new Set;try{for(let r=Di(e);r!=null&&t.length<=4;r=Di(r)){if(typeof r!=`object`){t.push(String(r));break}if(n.has(r))break;n.add(r),t.push(Ti(r),...Oi(r))}}catch{t.push(`[unavailable cause]`)}return t.length>4?[...t.slice(0,4),`…`].join(`
1
+ import{a as e,s as t,t as n}from"../../_chunks/workflow/rolldown-runtime-B_knIduE.js";import{A as r,Ct as i,D as a,E as o,G as s,Q as c,_t as l,a as u,bt as d,gt as f,lt as p,ot as m,rt as h,u as g,vt as _,yt as v}from"../../_chunks/workflow/dist-CcnNPAp4.js";import{$ as y,$n as b,$t as x,A as S,An as C,At as w,B as T,Bn as E,Bt as D,Cn as O,Dn as k,Dt as A,Et as j,Fn as ee,Fr as M,Ft as N,G as P,Gn as F,Gt as I,H as L,Hn as te,Hr as R,Ht as ne,In as re,J as ie,Jn as ae,Jr as oe,Jt as se,K as z,Kn as ce,Kt as le,Ln as ue,Lr as B,Lt as de,M as V,Mr as fe,Mt as pe,N as me,Nn as he,On as ge,P as _e,Pn as ve,Pr as H,Pt as U,Q as ye,Qn as W,R as be,Rt as xe,Sn as Se,St as Ce,Tt as we,U as Te,Un as Ee,Ut as De,V as Oe,Vn as ke,Vt as Ae,W as je,Wn as Me,Wt as Ne,X as Pe,Xn as Fe,Y as G,Yn as Ie,Yt as Le,Z as Re,Zn as ze,_n as Be,_t as Ve,a as He,ai as Ue,an as We,ar as Ge,at as Ke,bn as qe,bt as Je,ci as Ye,cn as Xe,cr as Ze,d as Qe,dn as $e,dr as et,dt as tt,ei as nt,en as rt,er as it,et as at,f as ot,fn as st,ft as ct,gn as lt,gt as ut,hn as dt,ht as ft,ii as pt,in as mt,ir as ht,it as gt,j as _t,jt as vt,k as yt,kn as bt,kt as xt,l as St,ln as Ct,lr as wt,lt as Tt,m as Et,mn as Dt,mt as Ot,ni as kt,nn as At,nt as jt,oi as Mt,on as Nt,or as Pt,pn as Ft,q as It,qn as Lt,qr as Rt,qt as zt,ri as Bt,rn as Vt,rt as Ht,si as Ut,sn as Wt,sr as Gt,st as Kt,ti as qt,tn as Jt,tr as Yt,tt as Xt,u as Zt,un as Qt,ur as $t,ut as K,vn as en,xn as tn,yn as nn,zn as rn,zt as an}from"../../_chunks/workflow/serialization-B9gneT9Z.js";import{A as on,C as sn,E as cn,F as ln,I as q,L as un,N as J,O as dn,P as fn,R as pn,S as mn,a as hn,d as gn,f as _n,h as Y,i as X,m as vn,n as yn,o as bn,p as xn,r as Z,s as Sn,t as Cn,u as wn,v as Tn,z as En}from"../../_chunks/workflow/dist-S9cZRway.js";import{a as Dn,c as On,d as kn,f as An,i as jn,l as Q,n as Mn,t as Nn,u as Pn}from"../../_chunks/workflow/private-DLYTSBbu.js";import{o as Fn,r as In}from"../../_chunks/workflow/workflow-routes-BaljomCk.js";import{A as Ln,B as Rn,C as zn,D as Bn,E as Vn,F as Hn,G as Un,H as Wn,I as Gn,J as Kn,K as qn,L as Jn,M as Yn,N as Xn,O as Zn,P as Qn,R as $n,S as er,T as tr,U as nr,V as rr,W as ir,Y as ar,_ as or,a as sr,b as cr,c as lr,d as ur,f as dr,g as fr,h as pr,i as mr,j as hr,k as gr,l as _r,m as vr,n as yr,p as br,q as xr,s as Sr,u as Cr,v as wr,w as Tr,x as Er,y as Dr,z as Or}from"../../_chunks/workflow/helpers-CxNRXH0a.js";import{d as kr,l as Ar,n as jr,s as Mr,u as Nr}from"../../_chunks/workflow/attribute-changes-7se_SE2q.js";import{a as Pr,n as Fr,o as Ir,r as Lr,s as Rr,t as zr}from"../../_chunks/workflow/resume-hook-CPiIfe8r.js";import{r as Br,t as Vr}from"../../_chunks/workflow/wait-until-BPou0RGO.js";import{a as Hr,c as Ur,d as Wr,f as Gr,g as Kr,h as qr,i as Jr,l as Yr,m as Xr,n as Zr,o as Qr,p as $r,r as ei,s as ti,t as ni,u as ri}from"../../_chunks/workflow/run-BJSLCXR4.js";import{t as ii}from"../../_chunks/workflow/run-id-Ct9AjQDR.js";import{createRequire as ai}from"node:module";import{createHash as oi}from"node:crypto";import{types as si}from"node:util";import ci from"node:assert/strict";import{pathToFileURL as li}from"node:url";import{Script as ui,createContext as di,runInContext as fi}from"node:vm";function pi(e=process.env){return e.WORKFLOW_TARGET_WORLD||(e.VERCEL_DEPLOYMENT_ID?`vercel`:`local`)}function mi(e){return e===`vercel`||e===`@workflow/world-vercel`}var hi=t(pn(),1);function gi(e){return e instanceof Nr||e instanceof Ar||e instanceof kr||e instanceof jr}const _i=`The workflow event log contains orphaned or mismatched events and cannot be replayed. This is an internal workflow SDK error; please report it with the runId.`,vi=`The workflow replay between step boundaries took too long. This bounds workflow-VM and event-log replay time only — step bodies (\`"use step"\` functions) are excluded. This usually means the event log is unusually large or the workflow function is doing heavy synchronous work in workflow code outside of step bodies. ${_n} You can also override the default budget via the WORKFLOW_REPLAY_TIMEOUT_MS env var.`,yi=`The workflow exceeded the maximum number of events per run. If the run is expected to be long-running: ${_n} Otherwise, check for unbounded work in the workflow function (e.g. a loop that keeps creating steps without terminating), or split the work into child workflows.`;function bi(e,t){let n=t??Gr(e);return Tn.is(e)?{attribution:`user`,errorCode:n,hint:`A value passed across a workflow/step boundary could not be serialized. See the error message for the offending path and the Learn More link for details.`}:gi(e)?{attribution:`user`,errorCode:n,hint:`A workflow-only or step-only API was called from the wrong context. The error message includes the exact API and how to move the call.`}:Cn.is(e)?{attribution:`sdk`,errorCode:n,hint:_i}:n===q.DEPLOYMENT_MISMATCH?{attribution:`sdk`,errorCode:n,hint:`The run was delivered to a deployment other than the deployment it is pinned to, and was stopped to protect against code-skew errors after the runtime failed to re-route it there. Verify that the run's deployment is still available and that queue callbacks route to it.`}:e instanceof J?{attribution:`sdk`,errorCode:n,hint:`This is an internal workflow SDK error, not a bug in your code. If it keeps happening, please report it with the stack trace and the runId.`}:n===q.REPLAY_TIMEOUT?{attribution:`sdk`,errorCode:n,hint:vi}:n===q.MAX_DELIVERIES_EXCEEDED?{attribution:`sdk`,errorCode:n,hint:`The workflow queue exceeded its max-delivery budget. This usually indicates a persistent runtime failure — check the most recent stack traces for the underlying cause.`}:n===q.MAX_EVENTS_EXCEEDED?{attribution:`user`,errorCode:n,hint:yi}:n===q.CORRUPTED_EVENT_LOG?{attribution:`sdk`,errorCode:n,hint:_i}:n===q.STREAM_ERROR?{attribution:`sdk`,errorCode:n,hint:`Workflow stream infrastructure failed while reading or writing data. This is an SDK or backend failure, not an error in your workflow code; please retry the run and report persistent failures with the runId.`}:n===q.WORLD_CONTRACT_ERROR?{attribution:`sdk`,errorCode:n,hint:`The workflow backend returned data that violated the SDK contract. This is not retryable; please report it with the stack trace and runId.`}:{attribution:`user`,errorCode:n}}function xi(e){if(e===null)return!0;let t=typeof e;return t!==`object`&&t!==`function`}var Si=class{preparer;preparedPayloads=new Map;primitiveStepResults=new Map;encryptionKey;nextUnscannedEventIndex=0;constructor(e,t=be){this.preparer=t,this.encryptionKey=Promise.resolve(e)}prepareEvent(e){this.prepareEventIfMissing(e)?.catch(()=>{})}async prewarm(e,t){let n=[],r=this.startPreparation(this.workflowInputKey(e.runId),e.input);r&&n.push(r);for(let e=this.nextUnscannedEventIndex;e<t.length;e++){let r=t[e],i=this.prepareEventIfMissing(r);i&&n.push(i)}this.nextUnscannedEventIndex=t.length,await Promise.allSettled(n)}resetScan(){this.nextUnscannedEventIndex=0}prepareWorkflowInput(e){return this.consumePreparation(this.workflowInputKey(e.runId),e.input)}prepareEventPayload(e,t,n){return this.consumePreparation(this.eventPayloadKey(e,t),n)}async getStepResult(e,t){if(this.primitiveStepResults.has(e))return this.primitiveStepResults.get(e);let n=await t();return xi(n)&&this.primitiveStepResults.set(e,n),n}consumePreparation(e,t){if(!(t instanceof Uint8Array))return this.runPreparation(t);let n=this.ensurePreparation(e,t);return n.catch(()=>{this.preparedPayloads.get(e)===n&&this.preparedPayloads.delete(e)}),n}ensurePreparation(e,t){let n=this.preparedPayloads.get(e);if(n)return n;let r=this.runPreparation(t);return this.preparedPayloads.set(e,r),r}async runPreparation(e){return this.preparer(e,await this.encryptionKey)}prepareEventIfMissing(e){let t,n;switch(e.eventType){case`run_created`:return this.startPreparation(this.workflowInputKey(e.runId),e.eventData.input);case`run_started`:return this.startPreparation(this.workflowInputKey(e.runId),e.eventData?.input);case`step_completed`:t=`result`,n=e.eventData?.result;break;case`step_failed`:t=`error`,n=e.eventData?.error;break;case`hook_received`:t=`payload`,n=e.eventData?.payload;break;default:return}return this.startPreparation(this.eventPayloadKey(e.eventId,t),n)}startPreparation(e,t){if(t instanceof Uint8Array&&!this.preparedPayloads.has(e))return this.ensurePreparation(e,t)}workflowInputKey(e){return`run:${e}:input`}eventPayloadKey(e,t){return`event:${e}:${t}`}};const Ci=`cinst_${v()}`,wi=e=>`eventData`in e&&e.eventData&&`ownerMessageId`in e.eventData&&typeof e.eventData.ownerMessageId==`string`?e.eventData.ownerMessageId:void 0;function Ti(e,t,n){if(!e)return 0;let r=0,i=new Map;for(let n of e){if(n.eventType!==`step_started`||n.correlationId!==t)continue;let e=wi(n);e===void 0?r++:i.set(e,(i.get(e)??0)+1)}if(n===void 0){let e=r;for(let t of i.values())e+=t;return e}if(n.type===`ownedBy`)return i.get(n.messageId)??0;let a=0;for(let e of i.values())e>a&&(a=e);return r+a}function Ei(e){return si.isNativeError(e)?e.name:`Error`}function Di(e){return si.isNativeError(e)?e.message:String(e)}function Oi(e){return si.isNativeError(e)?e.stack??``:``}function ki(e){if(typeof e!=`object`||!e)return String(e);let{name:t,message:n,code:r}=e,i=typeof t==`string`&&t?t:`Error`,a=typeof n==`string`&&n?`${i}: ${n}`:i;return typeof r==`string`&&r&&!a.includes(r)?`${a} (${r})`:a}function Ai(e){let t=[],n=new Set;try{for(let r=ji(e);r!=null&&t.length<=4;r=ji(r)){if(typeof r!=`object`){t.push(String(r));break}if(n.has(r))break;n.add(r),t.push(ki(r),...Mi(r))}}catch{t.push(`[unavailable cause]`)}return t.length>4?[...t.slice(0,4),`…`].join(`
2
2
  `):t.join(`
3
- `)}function Di(e){return typeof e==`object`&&e?e.cause:void 0}function Oi(e){let t=e.errors;return Array.isArray(t)?t.slice(0,4).map(Ti):[]}function ki(e){return typeof e==`object`&&!!e&&`name`in e&&e.name===`AbortError`&&`message`in e&&typeof e.message==`string`&&(!(`stack`in e)||e.stack===void 0||typeof e.stack==`string`)}function Ai(e){if(!ki(e)||X.is(e))return e;let t=new X(`Aborted: ${e.message}`);return e.stack&&(t.stack=e.stack),t}function ji(e){return typeof e==`object`&&!!e&&`then`in e&&typeof e.then==`function`}function Mi(e){if(ai.isNativeError(e))return{name:e.name,message:e.message,stack:e.stack??``};if(typeof e==`string`)return{name:`Error`,message:e,stack:``};try{return{name:`Error`,message:JSON.stringify(e),stack:``}}catch{return{name:`Error`,message:String(e),stack:``}}}async function Ni(e){if(ji(e))try{let t=await Ni(await e);return{...t,message:`Promise rejection: ${t.message}`}}catch(e){let t=await Ni(e);return{...t,message:`Promise rejection: ${t.message}`}}return Mi(e)}const Pi=Symbol.for(`@workflow/core//lifecycleHooks`);function Fi(){return Object.hasOwn(globalThis,Pi)||Object.defineProperty(globalThis,Pi,{value:[],writable:!1,enumerable:!1,configurable:!1}),globalThis[Pi]}function Ii(e,t,n,r,i){let a,o=(r,i)=>{let o=(e,t)=>{try{return e()}catch{return t}},s=o(()=>Si(i),`Error`),c=o(()=>Ci(i),`[unavailable error message]`),l=o(()=>wi(i),``);try{a?.addEvent(`workflow.lifecycle.failure`,{phase:r,"exception.type":s,"exception.message":c,"exception.stacktrace":l})}catch{}try{G.error(`Workflow lifecycle ${n} ${r}`,{workflowRunId:e,workflowName:t,errorName:s,errorMessage:c,errorStack:l})}catch{}};try{let s=Fi().slice().filter(e=>{try{return!!e[n]}catch(e){return o(`handler property access threw`,e),!1}});if(s.length===0)return;zr(K(`workflow.lifecycle.${n}`,{attributes:{...Dt(e),...xe(t)}},async e=>{a=e;let t=[];try{let e=await r(t,e=>o(`error hydration failed`,e));for(let t of s)try{await i(t,e)}catch(e){o(`handler threw`,e)}}finally{let e=0;for(;e<t.length;){let n=t.slice(e);e=t.length;let r=await Promise.allSettled(n);for(let e of r)e.status===`rejected`&&o(`stream operation failed`,e.reason)}}}),e=>o(`dispatch failed`,e))}catch(e){o(`dispatch failed`,e)}}function Li(e,t){Ii(e,t,`onRunCompleted`,async()=>({run:new ei(e),workflowName:t}),(e,t)=>e.onRunCompleted?.(t))}async function Ri(e,t,n,r,i){try{return await b(e,t,n,r,globalThis,void 0,{lazyStreams:!0,liveAbortSignals:!1})}catch(e){return i(e),Error(`Failed to hydrate workflow run error`)}}function zi(e,t,n,r,i){Ii(e,t,`onRunFailed`,async(a,o)=>({run:new ei(e),workflowName:t,error:new sn(e,await Ri(n,e,r,a,o),{errorCode:i})}),(e,t)=>e.onRunFailed?.(t))}const Bi={outcome:`continue`};function Vi(e,t,n){return{outcome:e,spanAttributes:{...zt(t),...x(n),...ht(e===`rerouted`)}}}async function Hi({world:e,run:t,workflowName:n,requestId:r,retryCount:i=0,reenqueue:a,isDeploymentUnavailableError:o,beforeStop:s}){if(e.capabilities?.deploymentAffinity!==!0)return Bi;let c=await e.getDeploymentId();if(t.deploymentId===c)return Bi;await s?.();let l=qn(),u={workflowRunId:t.runId,pinnedDeploymentId:t.deploymentId,actualDeploymentId:c,retryCount:i,maxRetries:l},d=async(i,a)=>{let o=new on(t.runId,t.deploymentId,c,{recoveryAttempts:i,cause:a}),s;try{s=await _t(o,t.runId,void 0,void 0,(t.specVersion??0)>=5),await e.events.create(t.runId,{eventType:`run_failed`,specVersion:Rr(t.specVersion),eventData:{error:s,errorCode:J.DEPLOYMENT_MISMATCH}},{requestId:r})}catch(e){if(!Z.is(e)&&!Y.is(e))throw e;return Vi(`failed`,t.deploymentId,i)}return zi(t.runId,n,s,void 0,J.DEPLOYMENT_MISMATCH),Vi(`failed`,t.deploymentId,i)};if(a&&i<l){let e=i+1,n=Math.min(2**i,8);try{return await a({deploymentId:t.deploymentId,specVersion:t.specVersion,deploymentMismatchRetryCount:e,delaySeconds:n}),G.warn(`Workflow run received by a deployment it is not pinned to; re-routing to its own deployment`,{...u,attempt:e,delaySeconds:n}),Vi(`rerouted`,t.deploymentId,e)}catch(t){if(!o?.(t))throw t;return G.error(`Cannot re-route a misrouted workflow run to its own deployment; failing the run`,{...u,attempt:e,errorMessage:t instanceof Error?t.message:String(t)}),d(0,t)}}return G.error(i>0?`Workflow run kept arriving at a deployment it is not pinned to after re-routing; failing the run`:`Workflow run received by a deployment it is not pinned to; failing the run`,u),d(i)}function Ui(e){let t=new Set,n=new Map;for(let r of e)switch(r.eventType){case`hook_created`:t.add(r.correlationId);break;case`hook_disposed`:t.delete(r.correlationId);break;case`wait_created`:n.set(r.correlationId,Wi(r.eventData?.resumeAt));break;case`wait_completed`:n.delete(r.correlationId)}let r;for(let e of n.values())(r===void 0||e<r)&&(r=e);return{openHook:t.size>0,openWait:n.size>0,earliestOpenWaitResumeAtMs:r}}function Wi(e){let t;if(e instanceof Date)t=e.getTime();else if(typeof e==`number`)t=e;else if(typeof e==`string`)t=new Date(e).getTime();else return-1/0;return Number.isFinite(t)?t:-1/0}function Gi(e,t){return e.earliestOpenWaitResumeAtMs!==void 0&&e.earliestOpenWaitResumeAtMs<=t}function Ki(e){let t=0,n=0,r=0,i=0,a=0;for(let o of e.items){if(o.type===`step`){e.selfExecutedStepIds.has(o.correlationId)||a++;continue}o.type!==`hook`||o.disposed||(o.isSystem?i++:e.observedHookIds===void 0?r++:e.observedHookIds.has(o.correlationId)?t++:n++)}return{observedHookCount:t,unobservedHookCount:n,unknownHookCount:r,abortSignalHookCount:i,externalStepCount:a,waitDue:e.waitDue,inert:t===0&&r===0&&i===0&&a===0&&!e.waitDue}}function qi(){throw Error(`Unsupported in eve: @workflow/core createWorld(). eve selects and wires the workflow world explicitly at build time.`)}function Ji(){try{return ri(si(process.cwd()+`/package.json`).href)}catch{return ri(import.meta.url)}}const Yi=Symbol.for(`@workflow/world//cache`),Xi=Symbol.for(`@workflow/world//stubbedCache`),Zi=Symbol.for(`@workflow/world//cachePromise`),Qi=Symbol.for(`@workflow/world//stubbedCachePromise`),$=globalThis;function $i(e){if(typeof e.createWorld==`function`)return e.createWorld();if(typeof e.default==`function`)return e.default();if(e.default&&typeof e.default==`object`)return e.default;throw Error(`Invalid target world module: must export createWorld(), a default factory, or a default World instance.`)}function ea(e){if(e.startsWith(`file://`))return e;if(e.startsWith(`/`))return si(e).href;if(e.startsWith(`./`)||e.startsWith(`../`))return si(process.cwd()+`/`+e).href;try{return si(Ji().resolve(e)).href}catch{return e}}const ta=async()=>{let e=di();if(fi(e)){let e=[`WORKFLOW_VERCEL_PROJECT`,`WORKFLOW_VERCEL_TEAM`,`WORKFLOW_VERCEL_AUTH_TOKEN`,`WORKFLOW_VERCEL_ENV`].filter(e=>process.env[e]);return e.length>0&&process.env.VERCEL===`1`&&console.warn(`[workflow] Warning: ${e.join(`, `)} env var(s) are set but have no effect at runtime. These are only used by the Workflow CLI. Remove them from your Vercel project environment variables.`),qi()}if(e===`local`)return qi({dataDir:process.env.WORKFLOW_LOCAL_DATA_DIR});let t;try{t=Ji()(e)}catch{t=await import(ea(e))}if(typeof t==`function`)return t();try{return await $i(t)}catch{throw Error(`Invalid target world module: ${e}, must export a createWorld function or a default function that returns a World instance.`)}},na=async()=>{if($[Xi])return De($[Xi]),$[Xi];$[Qi]||($[Qi]=ta().catch(e=>{throw $[Qi]=void 0,e}));let e=await $[Qi];return De(e),$[Xi]=e,{createQueueHandler:e.createQueueHandler,specVersion:e.specVersion}},ra=async()=>$[Yi]?(De($[Yi]),$[Yi]):($[Zi]||($[Zi]=ta().catch(e=>{throw $[Zi]=void 0,e})),$[Yi]=await $[Zi],De($[Yi]),$[Yi]),ia=e=>{$[Yi]=e,$[Xi]=e,$[Zi]=void 0,$[Qi]=void 0},aa=Symbol.for(`@workflow/world//getWorldFn`);globalThis[aa]??=ra;var oa=class{limitMs;elapsedMs=0;intervalStart;constructor(e=er()){this.limitMs=e,this.intervalStart=Date.now()}get configuredLimitMs(){return this.limitMs}elapsed(){let e=this.intervalStart===null?0:Date.now()-this.intervalStart;return this.elapsedMs+e}pause(){this.intervalStart!==null&&(this.elapsedMs+=Date.now()-this.intervalStart,this.intervalStart=null)}resume(){this.intervalStart=Date.now()}isExhausted(){return this.elapsed()>=this.limitMs}},sa=class extends Error{name=`ReplayTimeoutRetryError`};async function ca(e){let{runId:t,workflowName:n,requestId:r,attempt:i,limitMs:a,slotSnapshot:o}=e,s=G.forRun(t,n),c=Hn();if(i<=c)throw s.warn(`Workflow replay exceeded timeout; retrying delivery`,{timeoutMs:a,attempt:i,maxRetries:c}),new sa(`Workflow replay exceeded maximum duration (${a/1e3}s)`);let l=await ra(),u=gi(void 0,J.REPLAY_TIMEOUT);s.error(`Workflow replay exceeded timeout and max retries exceeded. Failing the run`,{timeoutMs:a,attempt:i,maxRetries:c,errorCode:u.errorCode,errorAttribution:u.attribution});let d=fr(l,t),f=new X(`Workflow replay exceeded maximum duration (${a/1e3}s) after ${i} attempts`),p=await d(),m=await _t(f,t,p);await l.events.create(t,{eventType:`run_failed`,specVersion:8,eventData:{error:m,errorCode:J.REPLAY_TIMEOUT}},{requestId:r,...o}),zi(t,n,m,p,J.REPLAY_TIMEOUT)}var la=class{divergenceCount;active=!1;reported=!1;constructor(e){this.divergenceCount=e}static inert(){return new ua}activate(){this.active=!0}async withEventCreate(e,t){if(!this.active||this.reported)return t(e);this.reported=!0;try{return await t({...e,replayDivergenceCount:this.divergenceCount})}catch(e){throw this.reported=!1,e}}},ua=class extends la{constructor(){super(0)}activate(){}};function da(e,t){if(e&&Number.isFinite(e.resumeRequestedAtMs)&&Number.isFinite(e.queuePublishRequestedAtMs))return{trigger:`hook`,...e.strategy===`lazy`||e.strategy===`parallel`||e.strategy===`sequential`?{strategy:e.strategy}:{},resumeRequestedAtMs:e.resumeRequestedAtMs,queuePublishRequestedAtMs:e.queuePublishRequestedAtMs,consumerStartedAtMs:e.consumerStartedAtMs??NaN,...e.replayStartedAtMs===void 0?{}:{replayStartedAtMs:e.replayStartedAtMs},...e.nextStepEncounteredAtMs===void 0?{}:{nextStepEncounteredAtMs:e.nextStepEncounteredAtMs},...e.setupSource===`hook_preload`||e.setupSource===`run_started`||e.setupSource===`event_load`?{setupSource:e.setupSource}:{},stepExecution:t}}function fa(e){if(e&&Number.isFinite(e.consumerStartedAtMs))return{resumeRequestedAtMs:e.resumeRequestedAtMs,queuePublishRequestedAtMs:e.queuePublishRequestedAtMs,...e.strategy===void 0?{}:{strategy:e.strategy},consumerStartedAtMs:e.consumerStartedAtMs,...e.replayStartedAtMs===void 0?{}:{replayStartedAtMs:e.replayStartedAtMs},...e.nextStepEncounteredAtMs===void 0?{}:{nextStepEncounteredAtMs:e.nextStepEncounteredAtMs},...e.setupSource===void 0?{}:{setupSource:e.setupSource}}}function pa(e){let t=[e.resumeRequestedAtMs,e.queuePublishRequestedAtMs,e.consumerStartedAtMs,e.replayStartedAtMs,e.nextStepEncounteredAtMs,e.stepClaimStartedAtMs,...e.stepClaimCompletedAtMs===void 0?[]:[e.stepClaimCompletedAtMs],e.stepCodeStartedAtMs];for(let e of t)if(typeof e!=`number`||!Number.isFinite(e))return;for(let e=1;e<t.length;e++)if(t[e]<t[e-1])return;return t}function ma(e){let{tracking:t}=e;if(!t||e.attempt!==1||t.replayStartedAtMs===void 0||t.nextStepEncounteredAtMs===void 0||e.stepClaimStartedAtMs===void 0)return;let n={resumeRequestedAtMs:t.resumeRequestedAtMs,queuePublishRequestedAtMs:t.queuePublishRequestedAtMs,consumerStartedAtMs:t.consumerStartedAtMs,replayStartedAtMs:t.replayStartedAtMs,nextStepEncounteredAtMs:t.nextStepEncounteredAtMs,stepClaimStartedAtMs:e.stepClaimStartedAtMs,stepClaimCompletedAtMs:e.stepClaimCompletedAtMs,stepCodeStartedAtMs:e.stepCodeStartedAtMs};if(!pa(n))return;let{resumeRequestedAtMs:r,queuePublishRequestedAtMs:i,consumerStartedAtMs:a,replayStartedAtMs:o,nextStepEncounteredAtMs:s,stepClaimStartedAtMs:c,stepClaimCompletedAtMs:l,stepCodeStartedAtMs:u}=n;return{...ae(u-r),...B(i-r),...an(a-i),...we(o-a),...C(s-o),...Oe(c-s),...l===void 0?{}:U(l-c),...ce(u-(l??c)),...Ne(t.trigger),...t.strategy===void 0?{}:It(t.strategy),...t.setupSource===void 0?{}:j(t.setupSource),...k(t.stepExecution)}}function ha(e){let t=e.startsWith(`wrun_`)?e.slice(5):e;try{return u(ni(t).ulid)}catch{return}}function ga(e,t){try{e.stack=t;return}catch{}try{Object.defineProperty(e,"stack",{value:t,writable:!0,configurable:!0})}catch{}}const _a=s(`@workflow/core//devServerPort`,1,()=>({getPort:void 0,cachedPort:void 0,inFlight:void 0}));async function va(){if(_a.cachedPort!==void 0)return _a.cachedPort;if(_a.inFlight)return _a.inFlight;if(!_a.getPort)try{let e=[`@workflow/utils`,`get-port`].join(`/`),t=ri(si(process.cwd()+`/package.json`).href)(e);_a.getPort=t.getPort}catch{_a.getPort=async()=>void 0}let e=_a.getPort??(async()=>void 0);return _a.inFlight=e().then(e=>(typeof e==`number`&&(_a.cachedPort=e),e)).finally(()=>{_a.inFlight=void 0}),_a.inFlight}const ya=new Set([`step_created`,`step_started`,`step_completed`,`step_failed`,`step_retrying`,`hook_received`,`wait_created`,`wait_completed`]);function ba(e){let{events:t}=e,n=e.invocationStartedClean&&e.runCreatedAtMs!==void 0&&!e.suspensionHasWaits,r;if(n)for(let e of t){if(ya.has(e.eventType)){n=!1;break}if(e.eventType===`attr_set`){let t=+(e.occurredAt??e.createdAt);r=r===void 0?t:Math.min(r,t)}}let i,a,o,s=t[t.length-1];if(!e.suspensionHasWaits&&!e.suspensionCreatedHooks&&s&&(s.eventType===`step_completed`||s.eventType===`step_failed`)){i=+(s.occurredAt??s.createdAt);let e=new Set;for(let n of t)(n.eventType===`step_completed`||n.eventType===`step_failed`)&&n.correlationId!==void 0&&e.add(n.correlationId);a=e.size,o=t.length}let c=n&&e.runStartedReceivedAtMs!==void 0;if(n||i!==void 0)return{...n?{ttfsAnchorMs:e.runCreatedAtMs,preStepBlockingMs:r===void 0?e.preStepBlockingMs:e.preStepBlockingBeforeAttrMs??0,...r===void 0?{}:{preStepAttrStartMs:r}}:{},...c?{rsfsAnchorMs:e.runStartedReceivedAtMs}:{},...i===void 0?{}:{prevStepEndMs:i,stepCount:a,eventCount:o},replayMs:e.replayMs,turbo:e.turbo,retained:e.retained}}function xa(e){let{tracking:t}=e;if(!t||e.attempt!==1)return;let n=t.preStepAttrStartMs??e.stepCodeStartedAtMs,r=t.ttfsAnchorMs===void 0?void 0:n-t.ttfsAnchorMs-(t.preStepBlockingMs??0),i=r!==void 0&&r>=-6e4?Math.max(0,r):void 0,a=t.prevStepEndMs===void 0?void 0:e.stepCodeStartedAtMs-t.prevStepEndMs,o=a!==void 0&&a>=-6e4?Math.max(0,a):void 0,s=t.rsfsAnchorMs!==void 0&&e.stepStartPostSentAtMs!==void 0?Math.max(0,e.stepStartPostSentAtMs-t.rsfsAnchorMs):void 0,c=t.replayMs===void 0?void 0:Math.max(0,t.replayMs);if(i===void 0&&o===void 0)return;let l=[];return t.turbo&&l.push(`turbo`),e.lazyStepStart&&l.push(`lazyStepStart`),e.optimisticStart&&l.push(`optimisticStart`),e.preclaimedStart&&l.push(`preclaimedStart`),t.retained&&l.push(`retained`),{...i===void 0?{}:{ttfs:i},...o===void 0?{}:{stso:o},...o!==void 0&&t.stepCount!==void 0?{stepCount:t.stepCount}:{},...o!==void 0&&t.eventCount!==void 0?{eventCount:t.eventCount}:{},...s===void 0?{}:{rsfs:s},...c===void 0?{}:{finalSchedulingReplay:c},optimizations:l}}const Sa=`__workflowUnserializableStepInput`;function Ca(){return{args:[`[input unavailable: step argument serialization failed]`],closureVars:[],thisVal:void 0,[Sa]:!0}}function wa(e){return typeof e==`object`&&!!e&&e[Sa]===!0}function Ta(){return d(`WORKFLOW_STEP_STREAM_DRAIN_TIMEOUT_MS`,3e4,{integer:!0,min:1})}function Ea(e){let t=e?.name;return t===`AbortError`||t===`ResponseAborted`}async function Da(e){if(e.length===0)return;let t=Ta(),n;try{await Promise.race([Promise.all(e.map(e=>(e.settleReleasedWrites?.()??Promise.resolve(!1)).catch(e=>{if(!Ea(e))throw e;return!1}))),new Promise((e,r)=>{n=setTimeout(()=>r(new q(`Timed out draining step stream writes after ${t}ms`)),t)})])}catch(e){if(!Ea(e))throw e}finally{n!==void 0&&clearTimeout(n)}}function Oa(e,t){if(t&&e.events&&e.cursor!==void 0)return{events:e.events,cursor:e.cursor,hasMore:e.hasMore??!1}}async function ka(e){let{world:t,workflowRunId:n,workflowName:r,workflowStartedAt:i,stepId:a,stepName:o}=e,s=!!process.env.VERCEL_URL,c=(e.runSpecVersion??0)>=5,l=e.replayRecoveryReporter??la.inert(),u=async(e,r)=>l.withEventCreate(hr(r),r=>t.events.create(n,e,r)),d={computeInstanceId:yi,...e.requestId?{requestId:e.requestId}:{}},f=`step.execute ${vt(o)}`;return K(f,{},async l=>{if(l?.setAttributes({...yt(o),...xe(r),...Dt(n),...At(a)}),oi(!(e.lazyStepInput!==void 0&&e.preclaimedStart),`executeStep: lazyStepInput and preclaimedStart are mutually exclusive`),e.preclaimedStart&&e.preclaimedStart.owned===!1)return G.debug(`Pre-claimed step start lost, skipping`,{stepName:o,stepId:a,workflowRunId:n}),l?.setAttributes({...Qt(!0),...Ie(`running`)}),{type:`skipped`};let f=fr(t,n),p=An(o);if(!p||typeof p!=`function`){let t=`Step "${o}" is not registered in the current deployment. This usually indicates a build or bundling issue that caused the step to not be included in the deployment.`;if(G.error(`Step function not registered, failing step`,{workflowRunId:n,stepName:o,stepId:a}),e.lazyStepInput!==void 0)try{e.runReadyBarrier&&await e.runReadyBarrier.catch(()=>{}),await u({eventType:`step_started`,specVersion:8,correlationId:a,eventData:{stepName:o,workflowName:r,input:e.lazyStepInput,...e.ownerMessageId===void 0?{}:{ownerMessageId:e.ownerMessageId}}},d)}catch(e){if(Z.is(e))return{type:`skipped`};if(Y.is(e))return{type:`gone`};throw e}try{await u({eventType:`step_failed`,specVersion:8,correlationId:a,eventData:{stepName:o,error:await qe(new X(t),n,await f(),[],globalThis,c)}})}catch(e){if(Z.is(e))return{type:`skipped`};throw e}return l?.setAttributes({...He(`failed`),...lt(!0)}),{type:`failed`}}let m=p.maxRetries??3;if(l?.setAttributes({...Ge(m)}),e.authoritativeAttempt!==void 0&&e.authoritativeAttempt>m+1){let t=m,r=`Step "${o}" exceeded max retries (${t} ${cn(`retry`,`retries`,t)})`;W.error(`Step exceeded max retries`,{workflowRunId:n,stepName:o,stepId:a,attempt:e.authoritativeAttempt,maxRetries:m});try{await u({eventType:`step_failed`,specVersion:8,correlationId:a,eventData:{stepName:o,error:await qe(new X(r),n,await f(),[],globalThis,c)}})}catch(e){if(Z.is(e))return G.info(`Tried failing step for exceeded retries, but step has already finished.`,{workflowRunId:n,stepId:a,stepName:o,message:e instanceof Error?e.message:String(e)}),{type:`skipped`};if(Y.is(e))return{type:`gone`};throw e}return l?.setAttributes({...He(`failed`),...Mt(!0)}),{type:`failed`}}let h=e=>{if(wn.is(e)){let t=Math.max(1,typeof e.retryAfter==`number`?e.retryAfter:1);return G.info(`Throttled on step_started, deferring`,{retryAfterSeconds:t}),{type:`throttled`,timeoutSeconds:t}}if(Y.is(e))return G.info(`Workflow run "${n}" has already completed, skipping step "${a}": ${e.message}`),{type:`gone`};if(Z.is(e))return G.debug(`Step in terminal state, skipping`,{stepName:o,stepId:a,workflowRunId:n,error:e instanceof Error?e.message:String(e)}),l?.setAttributes({...Qt(!0),...Ie(`completed`)}),{type:`skipped`};if(pn.is(e)){let t=Math.max(1,e.retryAfter??1);return G.debug(`Step retryAfter timestamp not yet reached`,{stepName:o,stepId:a,timeoutSeconds:t}),{type:`retry`,timeoutSeconds:t}}},g=e.preclaimedStart===void 0&&e.lazyStepInput!==void 0&&e.suppressOptimisticStart!==!0&&(br()||e.forceOptimisticStart===!0&&!Wn());e.preclaimedStart?l?.setAttributes(tn(`batch_preclaimed`)):e.lazyStepInput!==void 0&&l?.setAttributes(tn(g?`optimistic`:`awaited`));let _,v=d,b,x,S,ee=async()=>{if(!S)return;let e=await S;if(e.ok)return;let t=h(e.err);if(!t)throw e.err;return t};if(e.preclaimedStart?.owned)_=e.preclaimedStart.step,b=e.preclaimedStart.batchPostSentAtMs,x=e.preclaimedStart.claimCompletedAtMs;else if(g){S=(e.runReadyBarrier??Promise.resolve()).then(()=>(b=Date.now(),u({eventType:`step_started`,specVersion:8,correlationId:a,eventData:{stepName:o,workflowName:r,input:e.lazyStepInput,...e.ownerMessageId===void 0?{}:{ownerMessageId:e.ownerMessageId}}},v))).then(()=>({ok:!0}),e=>({ok:!1,err:e}));let t=new Date;_={runId:n,stepId:a,stepName:o,status:`running`,input:e.lazyStepInput,attempt:1,startedAt:t,createdAt:t,updatedAt:t}}else try{let t=e.ownerMessageId===void 0?{}:{ownerMessageId:e.ownerMessageId};e.runReadyBarrier&&await e.runReadyBarrier.catch(()=>{}),b=Date.now();let n=await u({eventType:`step_started`,specVersion:8,correlationId:a,eventData:e.lazyStepInput===void 0?{stepName:o,...t}:{stepName:o,workflowName:r,input:e.lazyStepInput,...t}},v);x=Date.now(),_=n.step}catch(e){let t=h(e);if(t)return t;throw e}G.debug(`Step execution details`,{stepName:o,stepId:_.stepId,status:_.status,attempt:_.attempt}),l?.setAttributes({...He(_.status)});let C;if(_.attempt>m+1&&_.error){let e=_.attempt-1,t=`Step "${o}" exceeded max retries (${e} ${cn(`retry`,`retries`,e)})`;W.error(`Step exceeded max retries`,{workflowRunId:n,stepName:o,retryCount:e});let r=new X(t);if(_.error!=null)try{r.cause=await ue(_.error,n,await f())}catch{}try{await u({eventType:`step_failed`,specVersion:8,correlationId:a,eventData:{stepName:o,error:await qe(r,n,await f(),[],globalThis,c)}})}catch(e){if(Z.is(e))return G.info(`Tried failing step, but step has already finished.`,{workflowRunId:n,stepId:a,stepName:o,message:e.message}),{type:`skipped`};throw e}return l?.setAttributes({...He(`failed`),...Mt(!0)}),{type:`failed`}}let w=[],T=[],E=[],te=!0,O,ne=()=>{if(!O||O.rsfs!==void 0)return;let t=e.latencyTracking?.rsfsAnchorMs;t!==void 0&&b!==void 0&&(O.rsfs=Math.max(0,b-t),l&&l.setAttributes({...it(O.rsfs)}))};try{let u=_.attempt;if(!_.startedAt)throw new q(`Step "${a}" has no "startedAt" timestamp`);let d=_.startedAt,m=e.encryptionKey??await f(),h=await K(`step.hydrate`,{},async t=>{let r=Date.now(),i=await dt(_.input,n,m,T,globalThis,{},e.workflowDeploymentId,E,g?e.runReadyBarrier:void 0),a=Date.now()-r;return t?.setAttributes({...y(i.args.length),...me(a)}),i});if(wa(h)){let{message:e,hint:t}=N(`step arguments`,void 0);throw new gn(e,{hint:t})}let v=h.args,S=h.thisVal??null,k=Pn(s?`https://${process.env.VERCEL_URL}`:`http://localhost:${await va()??3e3}`),A,re=!1,j=Date.now();O=xa({tracking:e.latencyTracking,stepCodeStartedAtMs:j,attempt:u,lazyStepStart:e.lazyStepInput!==void 0,optimisticStart:g,preclaimedStart:e.preclaimedStart!==void 0,stepStartPostSentAtMs:b}),O&&l?.setAttributes({...O.ttfs===void 0?{}:ve(O.ttfs),...O.stso===void 0?{}:en(O.stso),...O.rsfs===void 0?{}:it(O.rsfs),...O.finalSchedulingReplay===void 0?{}:Be(O.finalSchedulingReplay),...Ht(O.optimizations??[])});let ie=()=>{let t=e.resumeTracking;if(!t||t.reported)return;let n=ma({tracking:t,attempt:u,stepClaimStartedAtMs:b,stepClaimCompletedAtMs:x,stepCodeStartedAtMs:Date.now()});n&&(t.reported=!0,l?.setAttributes(n))},M=`ok`,P=performance.now();try{C=await K(`step.execute`,{},async()=>await Pt.run({stepMetadata:{stepName:o,stepId:a,stepStartedAt:new Date(+d),attempt:u},workflowMetadata:{workflowName:r,workflowRunId:n,workflowStartedAt:new Date(+i),url:k,features:{encryption:!!m}},workflowDeploymentId:e.workflowDeploymentId,rootRunId:e.rootRunId,ops:T,preCompletionOps:w,streamStates:E,closureVars:h.closureVars,encryptionKey:m,runReadyBarrier:g?e.runReadyBarrier:void 0},()=>(ie(),t.telemetry?.recordStepExecution?.(a),p.apply(S,v))))}catch(e){M=`error`,A=e,re=!0}finally{Wt(performance.now()-P,M)}let ae=Date.now()-j;if(Re(...v,S,h.closureVars),re)throw await Da(E).catch(e=>{G.warn(`Failed to drain released streams after step error`,{workflowRunId:n,stepId:a,error:e instanceof Error?e.message:String(e)})}),A;if(l?.setAttributes({...D(ae)}),C=await K(`step.dehydrate`,{},async t=>{let r=Date.now(),i=await et(C,n,m,T,globalThis,!1,!1,c,g?e.runReadyBarrier:void 0),a=Date.now()-r;return t?.setAttributes({...I(a),...tt(typeof i)}),i}),T.length>0){let e=Promise.all(T);zr(e,e=>{G.warn(`Background flush of step stream ops failed`,{workflowRunId:n,stepId:a,error:e instanceof Error?e.message:String(e)})}),te=!1;let t=Promise.race([e.then(()=>{te=!0},e=>{if(Ea(e)){te=!0;return}throw e}),new Promise(e=>setTimeout(e,500))]);t.catch(()=>{}),await Da(E),await t}if(g){let e=await ee();if(e)return e;ne()}w.length>0&&await Promise.all(w).catch(()=>{})}catch(e){if(g){let e=await ee();if(e)return e;ne()}w.length>0&&await Promise.all(w).catch(()=>{});let t=Ai(e),r=await Ni(t),i=r.stack||wi(t)||``;t instanceof Error&&l?.recordException?.(t);let s=X.is(t);if(l?.setAttributes({...Rt(Si(t)),...Et(r.message),...at(Si(t)),...wt(s?`fatal`:hn.is(t)?`retryable`:`transient`),...st(!s)}),Y.is(e))return W.info(`Workflow run already completed, skipping step`,{workflowRunId:n,stepId:a,message:e.message}),{type:`gone`};if(s){W.error(`Encountered FatalError while executing step, bubbling up to parent workflow`,{workflowRunId:n,stepName:o,errorStack:i}),ai.isNativeError(t)&&i&&ga(t,i);try{await u({eventType:`step_failed`,specVersion:8,correlationId:a,eventData:{stepName:o,error:await qe(t,n,await f(),[],globalThis,c),...O}},{afterStepBody:!0})}catch(e){if(Z.is(e))return G.info(`Tried failing step, but step has already finished.`,{workflowRunId:n,stepId:a,stepName:o,message:e.message}),{type:`skipped`};throw e}return l?.setAttributes({...He(`failed`),...lt(!0)}),{type:`failed`}}let d=_.attempt;if(l?.setAttributes({...Ze(d),...Ge(m)}),d>=m+1){let t=_.attempt-1;W.error(`Max retries reached, bubbling error to parent workflow`,{workflowRunId:n,stepName:o,attempt:_.attempt,retryCount:t,errorStack:i});let s=`Step "${o}" failed after ${m} ${cn(`retry`,`retries`,m)}: ${r.message}`,d=new X(s);d.cause=e,i&&(d.stack=i);try{await u({eventType:`step_failed`,specVersion:8,correlationId:a,eventData:{stepName:o,error:await qe(d,n,await f(),[],globalThis,c),...O}},{afterStepBody:!0})}catch(e){if(Z.is(e))return G.info(`Tried failing step, but step has already finished.`,{workflowRunId:n,stepId:a,stepName:o,message:e.message}),{type:`skipped`};throw e}return l?.setAttributes({...He(`failed`),...Mt(!0)}),{type:`failed`}}hn.is(e)?W.info(`Encountered RetryableError, step will be retried`,{workflowRunId:n,stepName:o,attempt:d,message:e.message}):W.info(`Encountered Error, step will be retried`,{workflowRunId:n,stepName:o,attempt:d,errorStack:i}),ai.isNativeError(e)&&i&&ga(e,i);try{await u({eventType:`step_retrying`,specVersion:8,correlationId:a,eventData:{stepName:o,error:await qe(e,n,await f(),[],globalThis,c),...hn.is(e)&&{retryAfter:e.retryAfter}}})}catch(e){if(Z.is(e))return G.info(`Tried retrying step, but step has already finished.`,{workflowRunId:n,stepId:a,stepName:o,message:e.message}),{type:`skipped`};throw e}let p=Math.max(1,hn.is(e)?Math.ceil((+e.retryAfter.getTime()-Date.now())/1e3):1);return l?.setAttributes({...Ct(p),...ot(!0)}),{type:`retry`,timeoutSeconds:p}}let k;try{k=await u({eventType:`step_completed`,specVersion:8,correlationId:a,eventData:{stepName:o,workflowName:r,result:C,...O}},e.inlineDeltaSinceCursor===void 0?void 0:{sinceCursor:e.inlineDeltaSinceCursor})}catch(e){if(Z.is(e))return G.info(`Tried completing step, but step has already finished.`,{workflowRunId:n,stepId:a,stepName:o,message:e.message}),{type:`skipped`};if(Y.is(e))return W.info(`Workflow run already completed, skipping step`,{workflowRunId:n,stepId:a,message:e.message}),{type:`gone`};throw e}let A=Oa(k,e.inlineDeltaSinceCursor!==void 0);return l?.setAttributes({...He(`completed`),...tt(typeof C)}),T.length>0&&W.debug(`Step has pending ops`,{workflowRunId:n,stepName:o,opsCount:T.length}),{type:`completed`,hasPendingOps:!te,inlineDelta:A}})}function Aa(e){return e.hasCreatedEvent===!0&&e.ownerMessageId!==void 0&&e.sawRetrying!==!0}function ja(e,t){if(e.lastStartedAt===void 0)return 0;let n=Jn(),r=e.lastStartedAt+n*1e3-t;return Math.min(n,Math.max(0,Math.ceil(r/1e3)))}function Ma(e){return`${e.correlationId}:backstop:${e.lastStartedAt}`}function Na(e,t,n){let r=new Map,i=new Set;for(let t of e)if(t.correlationId!==void 0){if(t.eventType===`step_started`){let e=`eventData`in t&&t.eventData&&`ownerMessageId`in t.eventData&&typeof t.eventData.ownerMessageId==`string`?t.eventData.ownerMessageId:void 0;r.set(t.correlationId,e)}else t.eventType===`step_retrying`&&i.add(t.correlationId)}for(let e of t)if(e!==void 0&&!i.has(e)&&r.get(e)===n)return!0;return!1}const Pa=s(`@workflow/core//stepSingleFlight`,1,()=>({inFlight:new Map}));async function Fa(e,t,n,r=`warn`){let i=`${e}:${t}`,a=Pa.inFlight.get(i);if(a){G[r](`Step execution already in flight in this process; awaiting its settlement instead of executing again`,{workflowRunId:e,stepId:t});try{await a}catch{}return{type:`skipped`}}let o=n();Pa.inFlight.set(i,o);try{return await o}finally{Pa.inFlight.delete(i)}}async function Ia({runId:e,hookEvent:t,queueItem:n,requestId:r,sinceCursor:i,createEvent:a,world:o,forceClaimVictimWakes:s}){try{let c=await a(t,{requestId:r,...i===void 0?{}:{sinceCursor:i}});if(c.event?.eventType===`hook_conflict`)return{hasHookConflict:!0,hasAwaitedHookCreation:!1};if(c.hook?.claimedFrom){s?.add(c.hook.hookId);let t=await Pr(o,e,c.hook);G.info(`Hook token force-claimed from another run`,{workflowRunId:e,hookId:n.correlationId,victimRunId:c.hook.claimedFrom.runId,victimWake:t})}return{hasHookConflict:!1,hasAwaitedHookCreation:n.hasConflictAwaiter===!0}}catch(t){if(Z.is(t))return G.info(`Hook already exists, continuing`,{workflowRunId:e,message:t.message}),{hasHookConflict:!1,hasAwaitedHookCreation:n.hasConflictAwaiter===!0};if(Y.is(t))return G.info(`Workflow run already completed, skipping hook`,{workflowRunId:e,message:t.message}),{hasHookConflict:!1,hasAwaitedHookCreation:!1};if(Ra(t)){let e=new X(`createHook failed World validation: ${t instanceof Error?t.message:String(t)}`);throw e.cause=t,e}throw t}}async function La({suspension:e,world:t,run:n,span:r,requestId:i,eventLog:a,runReadyBarrier:o,replayRecoveryReporter:s,stepDispatch:c,ownerMessageId:l,allowDeferredBatchWork:u,forceClaimVictimWakes:d}){let f=n.runId,p=Ir(t,f,a?.events,{alreadyWoken:d}),m=async()=>{if(o)try{await o}catch{}},h=async e=>{let t=(await Promise.allSettled(e)).filter(e=>e.status===`rejected`).map(e=>e.reason);if(t.length!==0)throw t.find(e=>vn.is(e))??t[0]},g=s??la.inert(),_=(e,n)=>g.withEventCreate(n,n=>t.events.create(f,e,n)),v=0,y=0,b=!1,x=async(e,t)=>{if(y++,!a)return _(e,t);let n=a,r=await _(e,{...t,...zn(n.events)});if(typeof t?.sinceCursor==`string`)return n.cursor===t.sinceCursor&&r.events!==void 0&&r.hasMore!==!0&&(or(n.events,r.events),n.cursor=r.cursor??n.cursor,b=!0),r;let i=mr(n.events,r);return v+=i.added,i.truncated?G.debug(`Dropped a truncated skipped-slot report`,{workflowRunId:f,eventType:e.eventType,eventId:r.event?.eventId,offered:i.offered}):i.added>0&&G.debug(`Suspension write skipped occupied slots`,{workflowRunId:f,eventType:e.eventType,eventId:r.event?.eventId,reported:i.added}),r},S=e.items.filter(e=>e.type===`step`),ee=e.items.filter(e=>e.type===`hook`),C=e.items.filter(e=>e.type===`wait`),w=e.items.filter(e=>e.type===`attribute`),T=ee.filter(e=>!e.hasCreatedEvent),E=new Map;for(let e of ee){if(e.hasCreatedEvent&&!e.disposed)continue;let t=E.get(e.token);t?t.push(e):E.set(e.token,[e])}let te=await t.getEncryptionKeyForRun?.(n),D=te?await Vt(te):void 0,ne=(n.specVersion??0)>=5,k=0,A=[];async function j(t,n){let r={executions:[]};try{return await Jt(t,f,D,e.globalThis,!1,ne,r)}finally{k+=r.totalExecutions??r.executions.length,A.push(...r.executions.slice(0,5-A.length).map(e=>({...n,...e})))}}async function ie(e){let t={eventType:`hook_disposed`,specVersion:8,correlationId:e.correlationId,eventData:{token:e.token}};try{await x(t,{requestId:i})}catch(t){if(Z.is(t))G.info(`Hook already disposed, skipping duplicate disposal`,{workflowRunId:f,correlationId:e.correlationId,message:t.message});else if(Y.is(t))G.info(`Workflow run already completed, skipping hook disposal`,{workflowRunId:f,correlationId:e.correlationId,message:t.message});else if(xn.is(t))G.info(`Hook not found for disposal, continuing`,{workflowRunId:f,correlationId:e.correlationId,message:t.message});else throw t}}let M=[],N=[],P=0,ae=T.length===1&&typeof a?.cursor==`string`?a.cursor:void 0,oe=async e=>{for(let n of e){let e=!1;if(!n.hasCreatedEvent){let r=n.metadata===void 0?void 0:await j(n.metadata,{source:`hook_metadata`,correlationId:n.correlationId}),a={eventType:`hook_created`,specVersion:8,correlationId:n.correlationId,eventData:{token:n.token,tokenRetentionUntil:n.tokenRetentionUntil,metadata:r,isWebhook:n.isWebhook??!1,...n.isSystem&&{isSystem:!0},...n.force&&{force:!0}}},o=await Ia({runId:f,hookEvent:a,queueItem:n,requestId:i,sinceCursor:ae,createEvent:x,world:t,forceClaimVictimWakes:d});o.hasHookConflict&&M.push(n.correlationId),o.hasAwaitedHookCreation&&N.push(n.correlationId),e=o.hasHookConflict}n.disposed&&!e&&await ie(n)}},se=async e=>{try{let n=await j({aborted:!0,reason:e.abortReason},{source:`hook_abort`,correlationId:e.correlationId});await x({eventType:`hook_received`,specVersion:8,correlationId:e.correlationId,eventData:{token:e.token,payload:n}});try{let r=O(e.token);await t.streams.write(f,r,n),await t.streams.close(f,r)}catch{G.debug(`Failed to write abort stream packet, hook event will provide fallback`,{workflowRunId:f,correlationId:e.correlationId})}}catch(t){if(Z.is(t)||Y.is(t))G.info(`Workflow run already completed, skipping abort`,{workflowRunId:f,correlationId:e.correlationId,message:t.message});else throw t}},ce=[...E.values()],le=ee.filter(e=>e.abortRequested&&!e.disposed),F,I=ce.length>0||le.length>0?(async()=>{if(await m(),ce.length>0){let e={startMs:Date.now()};F=e,await h(ce.map(oe)),e.endMs=Date.now()}le.length>0&&await h(le.map(se))})():void 0,ue=new Set(S.filter(e=>!e.hasCreatedEvent).map(e=>e.correlationId)),de=new Set,fe=new Set,L=async(t,r)=>{G.warn(`Step arguments failed to serialize; failing the step so the workflow can observe the error`,{workflowRunId:f,correlationId:t.correlationId,stepName:t.stepName,error:r.message}),await m();let a=await Jt(Ca(),f,D,e.globalThis,!1,ne);try{await x({eventType:`step_created`,specVersion:8,correlationId:t.correlationId,eventData:{stepName:t.stepName,workflowName:n.workflowName,input:a}},{requestId:i})}catch(e){if(Z.is(e))G.info(`Step already exists, continuing`,{workflowRunId:f,correlationId:t.correlationId,message:e.message});else if(Y.is(e))return;else throw e}try{await x({eventType:`step_failed`,specVersion:8,correlationId:t.correlationId,eventData:{stepName:t.stepName,error:await qe(r,f,D,[],e.globalThis,ne)}},{requestId:i})}catch(e){if(Z.is(e)||Y.is(e))G.info(`Tried failing step, but step or run has already finished.`,{workflowRunId:f,correlationId:t.correlationId,message:e.message});else throw e}fe.add(t.correlationId),R.delete(t.correlationId)},pe=T.some(e=>e.hasConflictAwaiter===!0),R=new Set(pe?[]:S.filter(e=>ue.has(e.correlationId)).slice(0,Bn()).map(e=>e.correlationId)),me=new Map,z=[];I&&z.push(I);let he=new Set,ge=c!==void 0&&ir()&&(n.specVersion??0)>=3,_e=nr()&&typeof t.events.createBatch==`function`&&(n.specVersion??0)>=6&&!ge&&w.length===0,B=[],ve=[],ye=_e&&l!==void 0&&(R.size>=2||R.size===1&&T.length>0),be=new Map,V,H=()=>(V??=c?.getTraceCarrier()??Promise.resolve({}),V),xe=0,U=0;for(let e of S)if(ue.has(e.correlationId)){let r=ye&&R.has(e.correlationId),a=U;U+=r?2:1;let o=(async()=>{let o;try{o=await j({args:e.args,closureVars:e.closureVars,thisVal:e.thisVal},{source:`step_input`,correlationId:e.correlationId})}catch(t){if(!gn.is(t)||!c)throw t;await L(e,t);return}if(R.has(e.correlationId)){me.set(e.correlationId,{correlationId:e.correlationId,stepName:e.stepName,dehydratedInput:o}),r&&(B.push({order:a,kind:`inline-created`,correlationId:e.correlationId,event:{eventType:`step_created`,specVersion:8,correlationId:e.correlationId,eventData:{stepName:e.stepName,workflowName:n.workflowName,input:o}}}),B.push({order:a+1,kind:`inline-started`,correlationId:e.correlationId,event:{eventType:`step_started`,specVersion:8,correlationId:e.correlationId,eventData:{stepName:e.stepName,...l===void 0?{}:{ownerMessageId:l}}}}));return}let s={eventType:`step_created`,specVersion:8,correlationId:e.correlationId,eventData:{stepName:e.stepName,workflowName:n.workflowName,input:o}};if(ge&&o instanceof Uint8Array&&o.byteLength<=131072){await m();let r=await H(),[a,l]=await Promise.allSettled([x(s,{requestId:i}),cr(t,c.queueName,{runId:f,stepId:e.correlationId,stepName:e.stepName,traceCarrier:r,requestedAt:new Date,stepInput:{input:o},runContext:Cr(n)},{idempotencyKey:Rn(e.correlationId,e.stepName)})]);if(l.status===`rejected`)throw l.reason;if(he.add(e.correlationId),a.status===`rejected`){let t=a.reason;if(Z.is(t))G.info(`Step already exists, continuing`,{workflowRunId:f,correlationId:e.correlationId,message:t.message});else if(Zr(t))xe++,G.warn(`Step creation event write failed, but the step was dispatched via the queue. The step_created event will be ensured by the queue consumer.`,{workflowRunId:f,correlationId:e.correlationId,stepName:e.stepName,error:t instanceof Error?t.message:String(t)});else throw t}else de.add(e.correlationId);return}if(_e){B.push({order:a,kind:`step`,correlationId:e.correlationId,stepName:e.stepName,event:s});return}try{await m(),await x(s,{requestId:i}),de.add(e.correlationId)}catch(t){if(Z.is(t))G.info(`Step already exists, continuing`,{workflowRunId:f,correlationId:e.correlationId,message:t.message});else throw t}})();z.push(o),_e&&ve.push(o.catch(()=>{}))}for(let e of C)if(!e.hasCreatedEvent){let t={eventType:`wait_created`,specVersion:8,correlationId:e.correlationId,eventData:{resumeAt:e.resumeAt}};if(_e){B.push({order:U++,kind:`wait`,correlationId:e.correlationId,event:t});continue}z.push((async()=>{try{await m(),await x(t,{requestId:i})}catch(t){if(Z.is(t))G.info(`Wait already exists, continuing`,{workflowRunId:f,correlationId:e.correlationId,message:t.message});else throw t}})())}let Se;_e&&z.push((async()=>{if(await Promise.all(ve),B.length===0)return;let e=[...B].sort((e,t)=>e.order-t.order);await m();let r=async e=>{try{await x(e.event,{requestId:i}),e.kind===`step`&&de.add(e.correlationId)}catch(t){if(Z.is(t))G.info(e.kind===`step`?`Step already exists, continuing`:`Wait already exists, continuing`,{workflowRunId:f,correlationId:e.correlationId,message:t.message});else throw t}};if(e.length===1){await r(e[0]);return}let o=a?(pr(a.events)??0)+1:void 0,s=e=>{let t=[],n=[];for(let r=0;r<e.length;r++){let i=e[r],a=e[r+1],o=i.kind===`inline-created`&&a?.kind===`inline-started`&&a.correlationId===i.correlationId,s=o?2:1;n.length>0&&n.length+s>16&&(t.push(n),n=[]),n.push(i),o&&(n.push(a),r++)}return n.length>0&&t.push(n),t},l=e=>e.kind===`inline-created`||e.kind===`inline-started`,d=s(e.filter(e=>l(e))),p=e.filter(e=>!l(e)),h=p.length===1?[p]:s(p),g=p.length===1?h[0]:void 0,_=[...d,...h],v=c!==void 0;if(v)for(let t of e)t.kind===`step`&&he.add(t.correlationId);let b=0,S,ee=async e=>{let n=Date.now();y++;let{results:r}=await t.events.createBatch(f,e.map(e=>({event:e.event,...e.kind===`inline-started`?{computeInstanceId:yi}:{}})),{requestId:i}),a=Date.now();for(let[t,i]of r.entries()){let r=e[t];if(i.error===void 0){if(r.kind===`step`)de.add(r.correlationId);else if(r.kind===`inline-started`){let e=me.get(r.correlationId);if(e===void 0)throw new _n(`no dehydrated input for pre-claimed step ${r.correlationId}`,{status:500});let t=new Date,o=i.step?.startedAt?{...i.step,startedAt:i.step.startedAt}:{runId:f,stepId:r.correlationId,stepName:e.stepName,status:`running`,attempt:1,createdAt:t,updatedAt:t,startedAt:t};be.set(r.correlationId,{owned:!0,step:{...o,input:e.dehydratedInput},batchPostSentAtMs:n,claimCompletedAtMs:a})}continue}if(i.status===409){if(r.kind===`inline-created`||r.kind===`inline-started`){be.set(r.correlationId,{owned:!1}),G.info(`Inline step pre-claim lost, continuing`,{workflowRunId:f,correlationId:r.correlationId,message:i.message});continue}G.info(r.kind===`step`?`Step already exists, continuing`:`Wait already exists, continuing`,{workflowRunId:f,correlationId:r.correlationId,message:i.message});continue}throw new _n(`batched ${r.event.eventType} for ${r.correlationId} failed: ${i.error}: ${i.message}`,{status:i.status})}let o=pr(r.flatMap(e=>e.error===void 0&&e.event?[e.event]:[]));b+=r.filter(e=>e.error===void 0).length,o!==void 0&&(S===void 0||o>S)&&(S=o)},C=async e=>{if(!v)return;let r=e.filter(e=>e.kind===`step`);if(r.length===0)return;let i=await H();await wr(t,c.queueName,r.map(e=>({message:{runId:f,stepId:e.correlationId,stepName:e.stepName,traceCarrier:i,requestedAt:new Date,runContext:Cr(n)},opts:{idempotencyKey:Rn(e.correlationId,e.stepName)}})))},w=_.map(e=>e===g?r(e[0]):ee(e)),T=_.map(async(e,t)=>{await w[t],await C(e)}),E=(async()=>{let e=await Promise.allSettled([...w,...T]);if(o!==void 0&&S!==void 0){let e=S-o+1-b;e>0&&G.debug(`Batched fan-out committed above snapshot`,{workflowRunId:f,expectedFirstSlot:o,maxCommittedSlot:S,committedCount:b,interleaved:e})}let t=e.find(e=>e.status===`rejected`);if(t)throw t.reason})(),te=_.flatMap((e,t)=>e.some(e=>e.kind===`inline-started`)?[w[t]]:[]);if(u){if(E.catch(()=>{}),Se=E,te.length>0)try{await Promise.all(te)}catch(e){throw await E.catch(()=>{}),e}}else await E})());for(let e of w)z.push((async()=>{try{await m(),await x({eventType:`attr_set`,specVersion:8,correlationId:e.correlationId,eventData:{changes:e.changes,writer:{type:`workflow`},...e.allowReservedAttributes?{allowReservedAttributes:!0}:{}}},{requestId:i})}catch(t){if(Z.is(t))G.info(`Workflow attribute event already exists, continuing`,{workflowRunId:f,correlationId:e.correlationId,message:t.message});else if(Ra(t)){let e=new X(`setAttributes failed World validation: ${t instanceof Error?t.message:String(t)}`);throw e.cause=t,e}else throw t}})());let Ce=Promise.allSettled(z.filter(e=>e!==I)).then(()=>Date.now());try{await h(z)}finally{await p}if(F?.endMs!==void 0){let e=Math.max(F.startMs,await Ce);P+=Math.max(0,F.endMs-e)}let we=[];for(let e of R){let t=me.get(e);t&&we.push(t)}let Te=Date.now(),Ee;for(let e of C){let t=e.resumeAt.getTime(),n=Math.max(1e3,t-Te),r=Math.ceil(n/1e3);(!Ee||r<Ee.seconds)&&(Ee={seconds:r,correlationId:e.correlationId,resumeAtMs:t})}return r?.setAttributes({...jt(`workflow_suspended`),...Ke(S.length),...re(T.length),...Nt(C.length),...fe.size>0?bt(fe.size):{},...xe>0?Je(xe):{}}),{pendingSteps:S,createdStepCorrelationIds:de,failedStepCorrelationIds:fe,queuedStepCorrelationIds:he,lazyInlineSteps:we,inlineClaims:be,deferredBatchWork:Se,waitTimeout:M.length>0?void 0:Ee,hasHookConflict:M.length>0,hookConflictCorrelationIds:M,hasAwaitedHookCreation:N.length>0,awaitedHookCorrelationIds:N,eventLogCarriedForward:b&&y===1,hasAttributeEvents:w.length>0,hasHookEvents:T.length>0,hookCreationMs:P,serializationBlockerCount:k,serializationBlockers:A,reportedEventCount:v}}function Ra(e){return e instanceof f||e instanceof Error&&e.name===`AttributeValidationError`||_n.is(e)&&e.status===400}const za=()=>d(`WORKFLOW_WAIT_CONTINUATION_MAX_DELAY_SECONDS`,82800,{integer:!0,min:1}),Ba=()=>d(`WORKFLOW_NEAR_ELAPSED_WAIT_THRESHOLD_SECONDS`,2);function Va(e,t,n=Date.now(),r=0){let i=Ha(e,t,n);return r<=0?i:{delaySeconds:i.delaySeconds,idempotencyKey:`${i.idempotencyKey}:a${r}`}}function Ha(e,t,n){let r=za();if(e<=Math.min(Ba(),r))return{delaySeconds:e,idempotencyKey:`${t}:${Math.floor(n/1e3)}`};let i=Math.ceil(e/r);return{delaySeconds:Math.min(e,r),idempotencyKey:i===1?t:`${t}:hop-${i}`}}var Ua=44,Wa=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,Ga=new Uint8Array(64),Ka=new Uint8Array(128);for(let e=0;e<Wa.length;e++){let t=Wa.charCodeAt(e);Ga[e]=t,Ka[t]=e}function qa(e){let t=0,n=0,r=0;do r=Ka[e.next()],t|=(r&31)<<n,n+=5;while(r&32);return t}function Ja(e){return e&1?-2147483648|-(e>>>1):e>>>1}function Ya(e,t){return e.pos>=t?!1:e.peek()!==Ua}var Xa=class{constructor(e){this.pos=0,this.buffer=e}next(){return this.buffer.charCodeAt(this.pos++)}peek(){return this.buffer.charCodeAt(this.pos)}indexOf(e){let{buffer:t,pos:n}=this,r=t.indexOf(e,n);return r===-1?t.length:r}};function Za(e){let{length:t}=e,n=new Xa(e),r=[],i=0,a=0,o=0,s=0,c=0;do{let e=n.indexOf(`;`),t=[],l=!0,u=0;for(i=0;n.pos<e;){let r;i+=Ja(qa(n)),i<u&&(l=!1),u=i,Ya(n,e)?(a+=Ja(qa(n)),o+=Ja(qa(n)),s+=Ja(qa(n)),Ya(n,e)?(c+=Ja(qa(n)),r=[i,a,o,s,c]):r=[i,a,o,s]):r=[i],t.push(r),n.pos++}l||Qa(t),r.push(t),n.pos=e+1}while(n.pos<=t);return r}function Qa(e){e.sort($a)}function $a(e,t){return e[0]-t[0]}const eo=/^[\w+.-]+:\/\//,to=/^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/,no=/^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i;function ro(e){return eo.test(e)}function io(e){return e.startsWith(`//`)}function ao(e){return e.startsWith(`/`)}function oo(e){return e.startsWith(`file:`)}function so(e){return/^[.?#]/.test(e)}function co(e){let t=to.exec(e);return uo(t[1],t[2]||``,t[3],t[4]||``,t[5]||`/`,t[6]||``,t[7]||``)}function lo(e){let t=no.exec(e),n=t[2];return uo(`file:`,``,t[1]||``,``,ao(n)?n:`/`+n,t[3]||``,t[4]||``)}function uo(e,t,n,r,i,a,o){return{scheme:e,user:t,host:n,port:r,path:i,query:a,hash:o,type:7}}function fo(e){if(io(e)){let t=co(`http:`+e);return t.scheme=``,t.type=6,t}if(ao(e)){let t=co(`http://foo.com`+e);return t.scheme=``,t.host=``,t.type=5,t}if(oo(e))return lo(e);if(ro(e))return co(e);let t=co(`http://foo.com/`+e);return t.scheme=``,t.host=``,t.type=e?e.startsWith(`?`)?3:e.startsWith(`#`)?2:4:1,t}function po(e){if(e.endsWith(`/..`))return e;let t=e.lastIndexOf(`/`);return e.slice(0,t+1)}function mo(e,t){ho(t,t.type),e.path=e.path===`/`?t.path:po(t.path)+e.path}function ho(e,t){let n=t<=4,r=e.path.split(`/`),i=1,a=0,o=!1;for(let e=1;e<r.length;e++){let t=r[e];if(!t){o=!0;continue}if(o=!1,t!==`.`){if(t===`..`){a?(o=!0,a--,i--):n&&(r[i++]=t);continue}r[i++]=t,a++}}let s=``;for(let e=1;e<i;e++)s+=`/`+r[e];(!s||o&&!s.endsWith(`/..`))&&(s+=`/`),e.path=s}function go(e,t){if(!e&&!t)return``;let n=fo(e),r=n.type;if(t&&r!==7){let e=fo(t),i=e.type;switch(r){case 1:n.hash=e.hash;case 2:n.query=e.query;case 3:case 4:mo(n,e);case 5:n.user=e.user,n.host=e.host,n.port=e.port;case 6:n.scheme=e.scheme}i>r&&(r=i)}ho(n,r);let i=n.query+n.hash;switch(r){case 2:case 3:return i;case 4:{let r=n.path.slice(1);return r?so(t||e)&&!so(r)?`./`+r+i:r+i:i||`.`}case 5:return n.path+i;default:return n.scheme+`//`+n.user+n.host+n.port+n.path+i}}function _o(e){if(!e)return``;let t=e.lastIndexOf(`/`);return e.slice(0,t+1)}function vo(e,t){let n=_o(e),r=t?t+`/`:``;return e=>go(r+(e||``),n)}var yo=0,bo=1,xo=2,So=3,Co=4;function wo(e,t){let n=To(e,0);if(n===e.length)return e;t||(e=e.slice());for(let r=n;r<e.length;r=To(e,r+1))e[r]=Do(e[r],t);return e}function To(e,t){for(let n=t;n<e.length;n++)if(!Eo(e[n]))return n;return e.length}function Eo(e){for(let t=1;t<e.length;t++)if(e[t][yo]<e[t-1][yo])return!1;return!0}function Do(e,t){return t||(e=e.slice()),e.sort(Oo)}function Oo(e,t){return e[yo]-t[yo]}var ko=!1;function Ao(e,t,n,r){for(;n<=r;){let i=n+(r-n>>1),a=e[i][yo]-t;if(a===0)return ko=!0,i;a<0?n=i+1:r=i-1}return ko=!1,n-1}function jo(e,t,n){for(let r=n+1;r<e.length&&e[r][yo]===t;n=r++);return n}function Mo(e,t,n){for(let r=n-1;r>=0&&e[r][yo]===t;n=r--);return n}function No(){return{lastKey:-1,lastNeedle:-1,lastIndex:-1}}function Po(e,t,n,r){let{lastKey:i,lastNeedle:a,lastIndex:o}=n,s=0,c=e.length-1;if(r===i){if(t===a)return ko=o!==-1&&e[o][yo]===t,o;t>=a?s=o===-1?0:o:c=o}return n.lastKey=r,n.lastNeedle=t,n.lastIndex=Ao(e,t,s,c)}function Fo(e){return typeof e==`string`?JSON.parse(e):e}var Io="`line` must be greater than 0 (lines start at line 1)",Lo="`column` must be greater than or equal to 0 (columns start at column 0)",Ro=class{constructor(e,t){let n=typeof e==`string`;if(!n&&e._decodedMemo)return e;let r=Fo(e),{version:i,file:a,names:o,sourceRoot:s,sources:c,sourcesContent:l}=r;this.version=i,this.file=a,this.names=o||[],this.sourceRoot=s,this.sources=c,this.sourcesContent=l,this.ignoreList=r.ignoreList||r.x_google_ignoreList||void 0;let u=vo(t,s);this.resolvedSources=c.map(u);let{mappings:d}=r;if(typeof d==`string`)this._encoded=d,this._decoded=void 0;else if(Array.isArray(d))this._encoded=void 0,this._decoded=wo(d,n);else if(r.sections)throw Error(`TraceMap passed sectioned source map, please use FlattenMap export instead`);else throw Error(`invalid source map: ${JSON.stringify(r)}`);this._decodedMemo=No(),this._bySources=void 0,this._bySourceMemos=void 0}};function zo(e){return e}function Bo(e){var t;return(t=zo(e))._decoded||(t._decoded=Za(zo(e)._encoded))}function Vo(e,t){let{line:n,column:r,bias:i}=t;if(n--,n<0)throw Error(Io);if(r<0)throw Error(Lo);let a=Bo(e);if(n>=a.length)return Ho(null,null,null,null);let o=a[n],s=Uo(o,zo(e)._decodedMemo,n,r,i||1);if(s===-1)return Ho(null,null,null,null);let c=o[s];if(c.length===1)return Ho(null,null,null,null);let{names:l,resolvedSources:u}=e;return Ho(u[c[bo]],c[xo]+1,c[So],c.length===5?l[c[Co]]:null)}function Ho(e,t,n,r){return{source:e,line:t,column:n,name:r}}function Uo(e,t,n,r,i){let a=Po(e,r,t,n);return ko?a=(i===-1?jo:Mo)(e,r,a):i===-1&&a++,a===-1||a===e.length?-1:a}function Wo(e){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===43||e===47||e===61}function Go(e){let t=0;for(;t<e.length;){let n=e.indexOf(`//# sourceMappingURL=data:application/json`,t);if(n===-1)return;let r=e.indexOf(`;base64,`,n+42);if(r===-1){t=n+42;continue}let i=e.indexOf(`,`,n);if(i!==-1&&i<r){t=r+8;continue}let a=r+8,o=a;for(;o<e.length&&Wo(e.charCodeAt(o));)o++;if(o>a)return e.slice(a,o);t=o}}const Ko=s(`@workflow/core//sourceMapTracers`,1,()=>({byCode:new Map}));function qo(e){let t=Ko.byCode.get(e);if(t!==void 0)return Ko.byCode.delete(e),Ko.byCode.set(e,t),t;let n=null,r=Go(e);if(r)try{let e=Buffer.from(r,`base64`).toString(`utf-8`);n=new Ro(JSON.parse(e))}catch{n=null}for(Ko.byCode.set(e,n);Ko.byCode.size>8;){let e=Ko.byCode.keys().next().value;if(e===void 0)break;Ko.byCode.delete(e)}return n}function Jo(e,t,n){if(!e.includes(t))return e;let r=qo(n);if(!r)return e;try{return e.split(`
4
- `).map(e=>{let n=e.match(/^\s*at\s+(?:(.+?)\s+\()?(.+?):(\d+):(\d+)\)?$/);if(!n)return e;let[,i,a,o,s]=n;if(!a.includes(t))return e;let c=parseInt(o,10),l=parseInt(s,10),u=Vo(r,{line:c,column:l});if(u.source&&u.line!==null){let e=i||u.name||`anonymous`,t=u.column===null?l:u.column;return` at ${e} (${u.source}:${u.line}:${t})`}return e}).join(`
5
- `)}catch{return e}}function Yo(e,t,n){let r=(2<<31-Math.clz32(e.length-1|1))-1,i=Math.ceil(1.6*r*t/e.length);return(a=t)=>{if(!a)return``;let o=``;for(;;){let t=n(i),s=i;for(;s--;)if(o+=e[t[s]&r]||``,o.length>=a)return o}}}function Xo(e,t){let n=e.get(t);if(n)return n;let r=Zo(t);if(r){for(let[t,n]of e)if(Zo(t)===r)return n}}function Zo(e){let t=e.indexOf(`_`);return t===-1?void 0:e.slice(t+1)}function Qo(e){switch(e.type){case`step`:return`step ${e.stepName} (${e.correlationId})`;case`hook`:return`hook (${e.correlationId})`;case`wait`:return`wait (${e.correlationId})`;case`attribute`:return`attribute (${e.correlationId})`}return`unknown`}function $o(e,t,n){let r=e.correlationId?Xo(t,e.correlationId):void 0,i=n.describe();return[`pending at this id: ${r?Qo(r):`none`}.`,`consumer: index=${i.index}, length=${i.length}, parked=${i.parked}, lastConsumed=${i.lastConsumedEventId??`none`}`].join(` `)}function es(e){return function(t,n){let r=function(...r){let{promise:i,resolve:a,reject:o}=On(),s=`step_${e.generateUlid()}`,c={type:`step`,correlationId:s,stepName:t,args:r};this!==void 0&&this!==null&&this!==globalThis&&(c.thisVal=this);let l=n?.();return l&&(c.closureVars=l),e.invocationsQueue.set(s,c),W.debug(`Step consumer setup`,{correlationId:s,stepName:t,args:r}),e.eventsConsumer.subscribe(n=>{if(!n)return En(e),A.NotConsumed;if(W.debug(`Step consumer event processing`,{correlationId:s,stepName:t,args:r.join(`, `),incomingCorrelationId:n.correlationId,isMatch:s===n.correlationId,eventType:n.eventType}),n.correlationId!==s)return A.NotConsumed;let i=`eventData`in n&&n.eventData&&`stepName`in n.eventData?n.eventData.stepName:void 0;if(typeof i==`string`&&i!==t)return e.promiseQueue=e.promiseQueue.then(()=>{e.onWorkflowError(new Cn(`Replay divergence: step event ${n.eventType} for ${s} belongs to "${i}", but the current step consumer is "${t}"`,{eventId:n.eventId}))}),A.Finished;if(n.eventType===`step_created`){let r=e.invocationsQueue.get(s);return!r||r.type!==`step`?(e.promiseQueue=e.promiseQueue.then(()=>{o(new Cn(`Replay divergence: step ${s} (${t}) created but not found in invocation queue`,{eventId:n.eventId}))}),A.Finished):(r.hasCreatedEvent=!0,A.Consumed)}if(n.eventType===`step_started`){let t=e.invocationsQueue.get(s);return t&&t.type===`step`&&(t.ownerMessageId=`eventData`in n&&n.eventData&&`ownerMessageId`in n.eventData&&typeof n.eventData.ownerMessageId==`string`?n.eventData.ownerMessageId:void 0,t.lastStartedAt=+n.createdAt),A.Consumed}if(n.eventType===`step_retrying`){let t=e.invocationsQueue.get(s);return t&&t.type===`step`&&(t.sawRetrying=!0,t.ownerMessageId=void 0),A.Consumed}if(n.eventType===`step_failed`){e.invocationsQueue.delete(n.correlationId);let t=e.eventsConsumer.eventIndex,r=Tn(e,t,`step`,{deliveredAt:+n.createdAt}),i,a=jn(e,t,`step`);return e.pendingDeliveries++,e.promiseQueue=e.promiseQueue.then(async()=>{try{let t=await e.replayPayloadCache.prepareEventPayload(n.eventId,`error`,n.eventData.error);i=await ue(n.eventData.error,e.runId,e.encryptionKey,e.globalThis,{},t)}catch(e){W.error(`Failed to hydrate step_failed error`,{correlationId:n.correlationId,error:e instanceof Error?e.message:String(e)}),i=new X(`Failed to hydrate step error: ${e instanceof Error?e.message:String(e)}`)}finally{e.pendingDeliveries--}a.then(()=>{r.markDelivered(),o(i)})}),A.Finished}if(n.eventType===`step_completed`){e.invocationsQueue.delete(n.correlationId);let t=n.eventId,r=n.eventData.result,i=e.eventsConsumer.eventIndex,s=Tn(e,i,`step`,{deliveredAt:+n.createdAt}),c,l=jn(e,i,`step`);return e.pendingDeliveries++,e.promiseQueue=e.promiseQueue.then(async()=>{try{c={ok:!0,value:await e.replayPayloadCache.getStepResult(t,async()=>{let n=await e.replayPayloadCache.prepareEventPayload(t,`result`,r);return await L(r,e.runId,e.encryptionKey,e.globalThis,{},n)})}}catch(e){c={ok:!1,error:e}}finally{e.pendingDeliveries--}l.then(()=>{s.markDelivered(),c.ok?a(c.value):o(c.error)})}),A.Finished}return e.promiseQueue=e.promiseQueue.then(()=>{e.onWorkflowError(new Cn(`Replay divergence: Unexpected event type for step ${s} (name: ${t}) "${n.eventType}"`,{eventId:n.eventId}))}),A.Finished}),i},i=t.split(`//`).pop();return Object.defineProperty(r,"name",{value:i}),Object.defineProperty(r,"stepId",{value:t,writable:!1,enumerable:!1,configurable:!1}),n&&(rn(n),Object.defineProperty(r,"__closureVarsFn",{value:n,writable:!1,enumerable:!1,configurable:!1})),Object.defineProperty(r,"bind",{value:function(e,...r){let i=Function.prototype.bind.call(this,e,...r);return Object.defineProperty(i,"stepId",{value:t,writable:!1,enumerable:!1,configurable:!1}),n&&Object.defineProperty(i,"__closureVarsFn",{value:n,writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(i,"__boundThis",{value:e,writable:!1,enumerable:!1,configurable:!1}),r.length>0&&Object.defineProperty(i,"__boundArgs",{value:r,writable:!1,enumerable:!1,configurable:!1}),i},writable:!1,enumerable:!1,configurable:!1}),r}}var ts=n(((e,t)=>{(function(e,t,n){function r(e){var t=this,n=o();t.next=function(){var e=2091639*t.s0+t.c*23283064365386963e-26;return t.s0=t.s1,t.s1=t.s2,t.s2=e-(t.c=e|0)},t.c=1,t.s0=n(` `),t.s1=n(` `),t.s2=n(` `),t.s0-=n(e),t.s0<0&&(t.s0+=1),t.s1-=n(e),t.s1<0&&(t.s1+=1),t.s2-=n(e),t.s2<0&&(t.s2+=1),n=null}function i(e,t){return t.c=e.c,t.s0=e.s0,t.s1=e.s1,t.s2=e.s2,t}function a(e,t){var n=new r(e),a=t&&t.state,o=n.next;return o.int32=function(){return n.next()*4294967296|0},o.double=function(){return o()+(o()*2097152|0)*11102230246251565e-32},o.quick=o,a&&(typeof a==`object`&&i(a,n),o.state=function(){return i(n,{})}),o}function o(){var e=4022871197;return function(t){t=String(t);for(var n=0;n<t.length;n++){e+=t.charCodeAt(n);var r=.02519603282416938*e;e=r>>>0,r-=e,r*=e,e=r>>>0,r-=e,e+=r*4294967296}return(e>>>0)*23283064365386963e-26}}t&&t.exports?t.exports=a:n&&n.amd?n(function(){return a}):this.alea=a})(e,typeof t==`object`&&t,typeof define==`function`&&define)})),ns=n(((e,t)=>{(function(e,t,n){function r(e){var t=this,n=``;t.x=0,t.y=0,t.z=0,t.w=0,t.next=function(){var e=t.x^t.x<<11;return t.x=t.y,t.y=t.z,t.z=t.w,t.w^=t.w>>>19^e^e>>>8},e===(e|0)?t.x=e:n+=e;for(var r=0;r<n.length+64;r++)t.x^=n.charCodeAt(r)|0,t.next()}function i(e,t){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t}function a(e,t){var n=new r(e),a=t&&t.state,o=function(){return(n.next()>>>0)/4294967296};return o.double=function(){do var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21);while(e===0);return e},o.int32=n.next,o.quick=o,a&&(typeof a==`object`&&i(a,n),o.state=function(){return i(n,{})}),o}t&&t.exports?t.exports=a:n&&n.amd?n(function(){return a}):this.xor128=a})(e,typeof t==`object`&&t,typeof define==`function`&&define)})),rs=n(((e,t)=>{(function(e,t,n){function r(e){var t=this,n=``;t.next=function(){var e=t.x^t.x>>>2;return t.x=t.y,t.y=t.z,t.z=t.w,t.w=t.v,(t.d=t.d+362437|0)+(t.v=t.v^t.v<<4^(e^e<<1))|0},t.x=0,t.y=0,t.z=0,t.w=0,t.v=0,e===(e|0)?t.x=e:n+=e;for(var r=0;r<n.length+64;r++)t.x^=n.charCodeAt(r)|0,r==n.length&&(t.d=t.x<<10^t.x>>>4),t.next()}function i(e,t){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t.v=e.v,t.d=e.d,t}function a(e,t){var n=new r(e),a=t&&t.state,o=function(){return(n.next()>>>0)/4294967296};return o.double=function(){do var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21);while(e===0);return e},o.int32=n.next,o.quick=o,a&&(typeof a==`object`&&i(a,n),o.state=function(){return i(n,{})}),o}t&&t.exports?t.exports=a:n&&n.amd?n(function(){return a}):this.xorwow=a})(e,typeof t==`object`&&t,typeof define==`function`&&define)})),is=n(((e,t)=>{(function(e,t,n){function r(e){var t=this;t.next=function(){var e=t.x,n=t.i,r=e[n],i;return r^=r>>>7,i=r^r<<24,r=e[n+1&7],i^=r^r>>>10,r=e[n+3&7],i^=r^r>>>3,r=e[n+4&7],i^=r^r<<7,r=e[n+7&7],r^=r<<13,i^=r^r<<9,e[n]=i,t.i=n+1&7,i};function n(e,t){var n,r=[];if(t===(t|0))r[0]=t;else for(t=``+t,n=0;n<t.length;++n)r[n&7]=r[n&7]<<15^t.charCodeAt(n)+r[n+1&7]<<13;for(;r.length<8;)r.push(0);for(n=0;n<8&&r[n]===0;++n);for(n==8?r[7]=-1:r[n],e.x=r,e.i=0,n=256;n>0;--n)e.next()}n(t,e)}function i(e,t){return t.x=e.x.slice(),t.i=e.i,t}function a(e,t){e??=+new Date;var n=new r(e),a=t&&t.state,o=function(){return(n.next()>>>0)/4294967296};return o.double=function(){do var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21);while(e===0);return e},o.int32=n.next,o.quick=o,a&&(a.x&&i(a,n),o.state=function(){return i(n,{})}),o}t&&t.exports?t.exports=a:n&&n.amd?n(function(){return a}):this.xorshift7=a})(e,typeof t==`object`&&t,typeof define==`function`&&define)})),as=n(((e,t)=>{(function(e,t,n){function r(e){var t=this;t.next=function(){var e=t.w,n=t.X,r=t.i,i,a;return t.w=e=e+1640531527|0,a=n[r+34&127],i=n[r=r+1&127],a^=a<<13,i^=i<<17,a^=a>>>15,i^=i>>>12,a=n[r]=a^i,t.i=r,a+(e^e>>>16)|0};function n(e,t){var n,r,i,a,o,s=[],c=128;for(t===(t|0)?(r=t,t=null):(t+=`\0`,r=0,c=Math.max(c,t.length)),i=0,a=-32;a<c;++a)t&&(r^=t.charCodeAt((a+32)%t.length)),a===0&&(o=r),r^=r<<10,r^=r>>>15,r^=r<<4,r^=r>>>13,a>=0&&(o=o+1640531527|0,n=s[a&127]^=r+o,i=n==0?i+1:0);for(i>=128&&(s[(t&&t.length||0)&127]=-1),i=127,a=512;a>0;--a)r=s[i+34&127],n=s[i=i+1&127],r^=r<<13,n^=n<<17,r^=r>>>15,n^=n>>>12,s[i]=r^n;e.w=o,e.X=s,e.i=i}n(t,e)}function i(e,t){return t.i=e.i,t.w=e.w,t.X=e.X.slice(),t}function a(e,t){e??=+new Date;var n=new r(e),a=t&&t.state,o=function(){return(n.next()>>>0)/4294967296};return o.double=function(){do var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21);while(e===0);return e},o.int32=n.next,o.quick=o,a&&(a.X&&i(a,n),o.state=function(){return i(n,{})}),o}t&&t.exports?t.exports=a:n&&n.amd?n(function(){return a}):this.xor4096=a})(e,typeof t==`object`&&t,typeof define==`function`&&define)})),os=n(((e,t)=>{(function(e,t,n){function r(e){var t=this,n=``;t.next=function(){var e=t.b,n=t.c,r=t.d,i=t.a;return e=e<<25^e>>>7^n,n=n-r|0,r=r<<24^r>>>8^i,i=i-e|0,t.b=e=e<<20^e>>>12^n,t.c=n=n-r|0,t.d=r<<16^n>>>16^i,t.a=i-e|0},t.a=0,t.b=0,t.c=-1640531527,t.d=1367130551,e===Math.floor(e)?(t.a=e/4294967296|0,t.b=e|0):n+=e;for(var r=0;r<n.length+20;r++)t.b^=n.charCodeAt(r)|0,t.next()}function i(e,t){return t.a=e.a,t.b=e.b,t.c=e.c,t.d=e.d,t}function a(e,t){var n=new r(e),a=t&&t.state,o=function(){return(n.next()>>>0)/4294967296};return o.double=function(){do var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21);while(e===0);return e},o.int32=n.next,o.quick=o,a&&(typeof a==`object`&&i(a,n),o.state=function(){return i(n,{})}),o}t&&t.exports?t.exports=a:n&&n.amd?n(function(){return a}):this.tychei=a})(e,typeof t==`object`&&t,typeof define==`function`&&define)})),ss=n(((t,n)=>{(function(t,r,i){var a=256,o=6,s=52,c=`random`,l=i.pow(a,o),u=i.pow(2,s),d=u*2,f=a-1,p;function m(e,t,n){var s=[];t=t==1?{entropy:!0}:t||{};var f=v(_(t.entropy?[e,b(r)]:e??y(),3),s),p=new h(s),m=function(){for(var e=p.g(o),t=l,n=0;e<u;)e=(e+n)*a,t*=a,n=p.g(1);for(;e>=d;)e/=2,t/=2,n>>>=1;return(e+n)/t};return m.int32=function(){return p.g(4)|0},m.quick=function(){return p.g(4)/4294967296},m.double=m,v(b(p.S),r),(t.pass||n||function(e,t,n,r){return r&&(r.S&&g(r,p),e.state=function(){return g(p,{})}),n?(i[c]=e,t):e})(m,f,`global`in t?t.global:this==i,t.state)}function h(e){var t,n=e.length,r=this,i=0,o=r.i=r.j=0,s=r.S=[];for(n||(e=[n++]);i<a;)s[i]=i++;for(i=0;i<a;i++)s[i]=s[o=f&o+e[i%n]+(t=s[i])],s[o]=t;(r.g=function(e){for(var t,n=0,i=r.i,o=r.j,s=r.S;e--;)t=s[i=f&i+1],n=n*a+s[f&(s[i]=s[o=f&o+t])+(s[o]=t)];return r.i=i,r.j=o,n})(a)}function g(e,t){return t.i=e.i,t.j=e.j,t.S=e.S.slice(),t}function _(e,t){var n=[],r=typeof e,i;if(t&&r==`object`)for(i in e)try{n.push(_(e[i],t-1))}catch{}return n.length?n:r==`string`?e:e+`\0`}function v(e,t){for(var n=e+``,r,i=0;i<n.length;)t[f&i]=f&(r^=t[f&i]*19)+n.charCodeAt(i++);return b(t)}function y(){try{var e;return p&&(e=p.randomBytes)?e=e(a):(e=new Uint8Array(a),(t.crypto||t.msCrypto).getRandomValues(e)),b(e)}catch{var n=t.navigator,i=n&&n.plugins;return[+new Date,t,i,t.screen,b(r)]}}function b(e){return String.fromCharCode.apply(0,e)}if(v(i.random(),r),typeof n==`object`&&n.exports){n.exports=m;try{p=e(`crypto`)}catch{}}else typeof define==`function`&&define.amd?define(function(){return m}):i[`seed`+c]=m})(typeof self<`u`?self:t,[],Math)})),cs=t(n(((e,t)=>{var n=ts(),r=ns(),i=rs(),a=is(),o=as(),s=os(),c=ss();c.alea=n,c.xor128=r,c.xorwow=i,c.xorshift7=a,c.xor4096=o,c.tychei=s,t.exports=c}))(),1);const ls=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,us=new Uint8Array(128).fill(255);for(let e=0;e<64;e++)us[ls.charCodeAt(e)]=e;function ds(e){return e===9||e===10||e===12||e===13||e===32}function fs(e,t){for(;t<e.length&&ds(e.charCodeAt(t));)t++;return t}function ps(e,t){let n=e.length,r=e;n===2?r=e+`AA`:n===3&&(r=e+`A`);let i=us[r.charCodeAt(0)],a=us[r.charCodeAt(1)],o=us[r.charCodeAt(2)],s=us[r.charCodeAt(3)],c=i<<2|a>>4,l=(a&15)<<4|o>>2,u=(o&3)<<6|s;if(n===2){if(t&&l!==0)throw SyntaxError(`Extra bits in base64 chunk`);return[c]}if(n===3){if(t&&u!==0)throw SyntaxError(`Extra bits in base64 chunk`);return[c,l]}return[c,l,u]}function ms(e,t,n,r){if(r===void 0&&(r=2**53-1),r===0)return{read:0,bytes:[],error:null};let i=0,a=[],o=``,s=0,c=0,l=e.length;for(;;){if(c=fs(e,c),c===l){if(s>0){if(n===`stop-before-partial`)return{read:i,bytes:a,error:null};if(n===`loose`){if(s===1)return{read:i,bytes:a,error:SyntaxError(`Invalid base64: lone character in final chunk`)};a.push(...ps(o,!1))}else return{read:i,bytes:a,error:SyntaxError(`Invalid base64: incomplete chunk in strict mode`)}}return{read:l,bytes:a,error:null}}let u=e[c];if(c++,u===`=`){if(s<2)return{read:i,bytes:a,error:SyntaxError(`Invalid base64: padding in unexpected place`)};if(c=fs(e,c),s===2){if(c===l)return n===`stop-before-partial`?{read:i,bytes:a,error:null}:{read:i,bytes:a,error:SyntaxError(`Invalid base64: missing second padding character`)};u=e[c],u===`=`&&(c=fs(e,c+1))}if(c<l)return{read:i,bytes:a,error:SyntaxError(`Invalid base64: unexpected characters after padding`)};let t=n===`strict`;try{a.push(...ps(o,t))}catch(e){return{read:i,bytes:a,error:e}}return{read:l,bytes:a,error:null}}if(t===`base64url`){if(u===`+`||u===`/`)return{read:i,bytes:a,error:SyntaxError(`Invalid base64url: unexpected character '${u}'`)};u===`-`?u=`+`:u===`_`&&(u=`/`)}let d=u.charCodeAt(0);if(d>=128||us[d]===255)return{read:i,bytes:a,error:SyntaxError(`Invalid base64: unexpected character '${e[c-1]}'`)};let f=r-a.length;if(f===1&&s===2||f===2&&s===3||(o+=u,s=o.length,s===4&&(a.push(...ps(o)),o=``,s=0,i=c,a.length===r)))return{read:i,bytes:a,error:null}}}function hs(e,t){t===void 0&&(t=2**53-1);let n=e.length,r=[],i=0;if(n%2!=0)return{read:0,bytes:[],error:SyntaxError(`Invalid hex: string length must be even`)};for(;i<n&&r.length<t;){let t=e.substring(i,i+2);if(!/^[0-9a-fA-F]{2}$/.test(t))return{read:i,bytes:r,error:SyntaxError(`Invalid hex: unexpected character at position ${i}`)};i+=2,r.push(Number.parseInt(t,16))}return{read:i,bytes:r,error:null}}function gs(e,t){let n=t?.alphabet??`base64`;if(n!==`base64`&&n!==`base64url`)throw TypeError(`Invalid alphabet: expected "base64" or "base64url", got "${n}"`);let r=!!t?.omitPadding,i=``,a=e.length;for(let t=0;t<a;t+=3){let n=e[t],o=t+1<a?e[t+1]:0,s=t+2<a?e[t+2]:0;i+=ls[n>>2&63],i+=ls[(n&3)<<4|o>>4&15],t+1<a?i+=ls[(o&15)<<2|s>>6&3]:r||(i+=`=`),t+2<a?i+=ls[s&63]:r||(i+=`=`)}return n===`base64url`&&(i=i.replace(/\+/g,`-`).replace(/\//g,`_`)),i}function _s(e){let t=``;for(let n=0;n<e.length;n++)t+=e[n].toString(16).padStart(2,`0`);return t}function vs(e){let t=e.prototype,n=e;t.toBase64||Object.defineProperty(t,"toBase64",{value:function(t){if(!(this instanceof e))throw TypeError(`this is not a Uint8Array`);return gs(this,t)},writable:!0,enumerable:!1,configurable:!0}),t.toHex||Object.defineProperty(t,"toHex",{value:function(){if(!(this instanceof e))throw TypeError(`this is not a Uint8Array`);return _s(this)},writable:!0,enumerable:!1,configurable:!0}),t.setFromBase64||Object.defineProperty(t,"setFromBase64",{value:function(t,n){if(!(this instanceof e))throw TypeError(`this is not a Uint8Array`);if(typeof t!=`string`)throw TypeError(`expected a string`);let r=n?.alphabet??`base64`;if(r!==`base64`&&r!==`base64url`)throw TypeError(`Invalid alphabet: expected "base64" or "base64url", got "${r}"`);let i=n?.lastChunkHandling??`loose`;if(i!==`loose`&&i!==`strict`&&i!==`stop-before-partial`)throw TypeError(`Invalid lastChunkHandling: expected "loose", "strict", or "stop-before-partial", got "${i}"`);let a=ms(t,r,i,this.length),o=a.bytes,s=o.length;for(let e=0;e<s;e++)this[e]=o[e];if(a.error)throw a.error;return{read:a.read,written:s}},writable:!0,enumerable:!1,configurable:!0}),t.setFromHex||Object.defineProperty(t,"setFromHex",{value:function(t){if(!(this instanceof e))throw TypeError(`this is not a Uint8Array`);if(typeof t!=`string`)throw TypeError(`expected a string`);let n=hs(t,this.length),r=n.bytes,i=r.length;for(let e=0;e<i;e++)this[e]=r[e];if(n.error)throw n.error;return{read:n.read,written:i}},writable:!0,enumerable:!1,configurable:!0}),n.fromBase64||Object.defineProperty(e,"fromBase64",{value:function(t,n){if(typeof t!=`string`)throw TypeError(`expected a string`);let r=n?.alphabet??`base64`;if(r!==`base64`&&r!==`base64url`)throw TypeError(`Invalid alphabet: expected "base64" or "base64url", got "${r}"`);let i=n?.lastChunkHandling??`loose`;if(i!==`loose`&&i!==`strict`&&i!==`stop-before-partial`)throw TypeError(`Invalid lastChunkHandling: expected "loose", "strict", or "stop-before-partial", got "${i}"`);let a=ms(t,r,i);if(a.error)throw a.error;return new e(a.bytes)},writable:!0,enumerable:!1,configurable:!0}),n.fromHex||Object.defineProperty(e,"fromHex",{value:function(t){if(typeof t!=`string`)throw TypeError(`expected a string`);let n=hs(t);if(n.error)throw n.error;return new e(n.bytes)},writable:!0,enumerable:!1,configurable:!0})}function ys(e){return function(){let t=`0123456789abcdef`,n=``;for(let r=0;r<36;r++)n+=r===8||r===13||r===18||r===23?`-`:r===14?`4`:r===19?t[Math.floor(e()*4)+8]:t[Math.floor(e()*16)];return n}}const bs={"SHA-1":`sha1`,"SHA-256":`sha256`,"SHA-384":`sha384`,"SHA-512":`sha512`};function xs(e){if(ai.isTypedArray(e)||ai.isDataView(e)){if(ai.isSharedArrayBuffer(e.buffer))throw TypeError(`crypto.subtle.digest does not accept SharedArrayBuffer-backed views`);return e}if(!ai.isArrayBuffer(e))throw TypeError(`data must be an ArrayBuffer or ArrayBufferView`);return new Uint8Array(e)}function Ss(e){let{fixedTimestamp:t}=e,{seed:n}=e,r=(0,cs.default)(n),i=li(),a=ui(`globalThis`,i);a.Math.random=r;let o=a.Date;a.Date=function(...e){return new.target===void 0?new o(t).toString():Reflect.construct(o,e.length===0?[t]:e,new.target)},a.Date.prototype=o.prototype,Object.setPrototypeOf(a.Date,o),a.Date.now=()=>t;let s=globalThis.crypto,c=s.subtle;function l(e){for(let t=0;t<e.length;t++)e[t]=Math.floor(r()*256);return e}let u=ys(r),d=a;delete d.Atomics.waitAsync,delete d.WebAssembly.compile,delete d.WebAssembly.instantiate,delete d.WebAssembly.compileStreaming,delete d.WebAssembly.instantiateStreaming,delete d.WeakRef,delete d.FinalizationRegistry;let f=async(e,t)=>{let n=typeof e==`string`?e:e.name,r=bs[n.toUpperCase()];if(!r)throw new DOMException(`Unrecognized algorithm name: ${n}`,`NotSupportedError`);let i=ii(r).update(xs(t)).digest(),a=new ArrayBuffer(i.byteLength);return new Uint8Array(a).set(i),a};return a.crypto=new Proxy(s,{get(e,t){return t===`getRandomValues`?l:t===`randomUUID`?u:t===`subtle`?new Proxy(c,{get(e,t){if(t===`digest`)return f;let n=e[t];return typeof n==`function`?()=>{throw new q(`\`crypto.subtle.${String(t)}()\` is not available inside a workflow function. Move it to a step function where full Node.js crypto is available.`)}:n}}):e[t]}}),a.process={env:Object.freeze({...process.env})},a.DOMException=globalThis.DOMException,a.Headers=globalThis.Headers,a.TextEncoder=globalThis.TextEncoder,a.TextDecoder=globalThis.TextDecoder,a.console=globalThis.console,a.URL=globalThis.URL,a.URLSearchParams=globalThis.URLSearchParams,a.structuredClone=globalThis.structuredClone,a.atob=globalThis.atob,a.btoa=globalThis.btoa,vs(a.Uint8Array),a.Symbol.dispose??=Symbol.for(`Symbol.dispose`),a.Symbol.asyncDispose??=Symbol.for(`Symbol.asyncDispose`),a.exports={},a.module={exports:a.exports},{context:i,globalThis:a,updateTimestamp:e=>{t=e}}}const Cs=s(`@workflow/core//vmScriptCache`,1,()=>({byCode:new Map}));function ws(e){let t=Cs.byCode.get(e);if(t!==void 0)return Cs.byCode.delete(e),Cs.byCode.set(e,t),t}function Ts(e,t){let n=ws(e);if(n===void 0)for(n=new Map,Cs.byCode.set(e,n);Cs.byCode.size>8;){let e=Cs.byCode.keys().next().value;if(e===void 0)break;Cs.byCode.delete(e)}let r=n.get(t),i=r!==void 0;return r===void 0&&(r=new ci(e,{filename:t}),n.set(t,r)),{script:r,cacheHit:i}}function Es(e){return async function(t,n={}){let{promise:r,resolve:i}=On(),a=`attr_${e.generateUlid()}`;try{l({changes:t,writer:{type:`workflow`},...n.allowReservedAttributes===!0?{allowReservedAttributes:!0}:{}})}catch(t){if(!(t instanceof f))throw t;if(!e.eventsConsumer.events.some(e=>e.eventType===`attr_set`&&e.correlationId===a))throw new X(t.message)}let o={type:`attribute`,correlationId:a,changes:t,...n.allowReservedAttributes===!0?{allowReservedAttributes:!0}:{}};return e.invocationsQueue.set(a,o),e.eventsConsumer.subscribe(r=>r?r.correlationId===a?r.eventType!==`attr_set`||r.eventData.writer.type!==`workflow`||JSON.stringify(r.eventData.changes)!==JSON.stringify(t)||r.eventData.allowReservedAttributes===!0!=(n.allowReservedAttributes===!0)?(e.promiseQueue=e.promiseQueue.then(()=>{e.onWorkflowError(new Cn(`Replay divergence: Unexpected attribute event for ${a}`,{eventId:r.eventId}))}),A.Finished):(e.invocationsQueue.delete(a),e.promiseQueue=e.promiseQueue.then(()=>{i()}),A.Finished):A.NotConsumed:(En(e),A.NotConsumed)),r}}function Ds(e,t){if(typeof t!=`string`)return null;let n=M(R,e.globalThis),r=n?.[F];return typeof r==`function`?r.call(n,{runId:t}):null}function Os(e){return function(t={}){if(t.token===``)throw Error("`createHook()` was called with an empty string token. Pass a non-empty token, or omit the `token` option to use a generated one.");if(t.isWebhook===!0&&t.experimental_minRetention!==void 0)throw Error("Webhook hooks do not support `experimental_minRetention`. Use a non-webhook `createHook()` with `resumeHook()`.");if(t.experimental_minRetention!==void 0&&e.worldCapabilities?.hookRetention?.active!==!0)throw new X("The configured World does not support `experimental_minRetention` for Hooks.");if(t.experimental_force===!0){if(t.token===void 0||t.token===null)throw Error("`createHook()` was called with `experimental_force: true` but no `token`. Force-claiming only applies to an explicit token another run may hold.");if(t.isWebhook===!0)throw Error("Webhook hooks do not support `experimental_force`. Use a non-webhook `createHook()` with an explicit token.");if(e.worldCapabilities?.hookForceClaim!==!0)throw new X("The configured World does not support `experimental_force` for Hooks.")}let n=`hook_${e.generateUlid()}`,r=t.token??e.generateNanoid(),i=t.experimental_minRetention===void 0?void 0:ln(t.experimental_minRetention),a=t.isWebhook??!1;e.invocationsQueue.set(n,{type:`hook`,correlationId:n,token:r,tokenRetentionUntil:i,...t.experimental_force===!0&&{force:!0},metadata:t.metadata,isWebhook:a});let o=[],s;e.hookPayloadAwaiters?.set(n,()=>s!==void 0);let c,l=[],u=!1,d=!1,f=!1,p=!1,m=null,h=null,g=null,_=Promise.resolve();function v(t,n){let r=e.eventsConsumer.eventIndex,i=Tn(e,r,`hook`,{deliveredAt:t}),a=jn(e,r,`hook`);_=e.promiseQueue.then(()=>a).then(()=>{i.markDelivered(),n()})}function y(t){let n=_;e.promiseQueue=e.promiseQueue.then(()=>{n.then(t)})}let b=new Set;Pe.debug(`Hook consumer setup`,{correlationId:n,token:r}),e.eventsConsumer.subscribe(i=>{if(!i)return u=!0,(s!==void 0&&o.length===0||l.length>0&&!d&&!p)&&En(e),A.NotConsumed;if(i.correlationId!==n)return A.NotConsumed;let a=`eventData`in i&&i.eventData&&`token`in i.eventData?i.eventData.token:void 0;if(typeof a==`string`&&a!==r)return e.promiseQueue=e.promiseQueue.then(()=>{e.onWorkflowError(new Cn(`Replay divergence: hook event ${i.eventType} for ${n} belongs to token "${a}", but the current hook consumer expects "${r}"`,{eventId:i.eventId}))}),A.Finished;if(i.eventType===`hook_created`){let t=e.invocationsQueue.get(n);t&&t.type===`hook`&&(t.hasCreatedEvent=!0,t.tokenRetentionUntil=i.eventData.tokenRetentionUntil),d=!0;let r=l.slice();return l.length=0,v(+i.createdAt,()=>{for(let e of r)e.resolve(null)}),A.Consumed}if(i.eventType===`hook_conflict`){e.invocationsQueue.delete(n),e.hookPayloadAwaiters?.delete(n);let r=i,a=t.experimental_force===!0&&r.eventData.forceRefusedReason===void 0,o=a?new X(`createHook({ experimental_force: true }) for token "${r.eventData.token}" was answered with a hook_conflict: the configured World does not support force-claiming hook tokens${r.eventData.conflictingRunId?` (run "${r.eventData.conflictingRunId}" holds it)`:``}.`):new fn(r.eventData.token,r.eventData.conflictingRunId);p=!0,m=o,g=a?null:Ds(e,r.eventData.conflictingRunId);let c=s;s=void 0;let u=l.slice();return l.length=0,v(+i.createdAt,()=>{c?.reject(o);for(let e of u)g?e.resolve(g):e.reject(o)}),A.Consumed}if(i.eventType===`hook_received`){let t=i.resumeId;if(typeof t==`string`){if(b.has(t))return A.Consumed;b.add(t)}let n=e.eventsConsumer.eventIndex,r=s!==void 0,a=Tn(e,n,`hook`,{armed:r,deliveredAt:+i.createdAt});if(r){let t=jn(e,n,`hook`),r=s;if(s=void 0,r){c=r,e.pendingDeliveries++;let n;e.promiseQueue=e.promiseQueue.then(async()=>{try{let t=await e.replayPayloadCache.prepareEventPayload(i.eventId,`payload`,i.eventData.payload);n={ok:!0,value:await L(i.eventData.payload,e.runId,e.encryptionKey,e.globalThis,{},t)}}catch(e){n={ok:!1,error:e}}finally{e.pendingDeliveries--}t.then(()=>{a.markDelivered(),c===r&&(c=void 0),n.ok?r.resolve(n.value):r.reject(n.error)})})}}else{let t,r=On();e.pendingDeliveries++,e.promiseQueue=e.promiseQueue.then(async()=>{try{let n=await e.replayPayloadCache.prepareEventPayload(i.eventId,`payload`,i.eventData.payload);t={ok:!0,value:await L(i.eventData.payload,e.runId,e.encryptionKey,e.globalThis,{},n)}}catch(e){t={ok:!1,error:e}}finally{e.pendingDeliveries--,r.resolve()}}),o.push({claim:()=>(a.arm(),r.promise.then(()=>jn(e,n,`hook`)).then(()=>{if(a.markDelivered(),t&&!t.ok)throw t.error;return t.value}))})}return A.Consumed}if(i.eventType===`hook_disposed`){e.invocationsQueue.delete(n),e.hookPayloadAwaiters?.delete(n),f=!0;let t=i.eventData?.forceClaimedBy;if(t){let i=new bn(r,t.runId,t.hookId);h=i;let a=s;s=void 0;let o=l.slice();l.length=0,e.promiseQueue=e.promiseQueue.then(()=>{a?.reject(i);for(let e of o)e.resolve(null)}),Pe.debug(`Hook force-claimed by another run`,{correlationId:n,token:r,claimedByRunId:t.runId})}return A.Finished}return e.promiseQueue=e.promiseQueue.then(()=>{e.onWorkflowError(new Cn(`Replay divergence: Unexpected event type for hook ${n} (token: ${r}) "${i.eventType}"`,{eventId:i.eventId}))}),A.Finished});let x=!1;function S(){if(p&&m){let e=On();return y(()=>{e.reject(m)}),e.promise}if(c)return Pe.debug(`Hook await joined an in-flight payload`,{correlationId:n,token:r}),c.promise;if(o.length>0){let e=o.shift();if(e)return e.claim()}if(h){let t=h,n=On();return e.promiseQueue=e.promiseQueue.then(()=>{n.reject(t)}),n.promise}return u&&En(e),s?(Pe.debug(`Hook await joined the pending awaiter`,{correlationId:n,token:r}),s.promise):(s=On(),s.promise)}function ee(){let t=On();if(d)return y(()=>{t.resolve(null)}),t.promise;if(p)return y(()=>{g?t.resolve(g):t.reject(m)}),t.promise;let r=e.invocationsQueue.get(n);return r&&r.type===`hook`&&(r.hasConflictAwaiter=!0),u&&En(e),l.push(t),t.promise}function C(){if(x||(x=!0,e.hookPayloadAwaiters?.delete(n),f))return;let t=e.invocationsQueue.get(n);t&&t.type===`hook`&&(t.disposed=!0),s&&(s=void 0,En(e)),Pe.debug(`Hook disposed`,{correlationId:n,token:r})}let w={token:r,getConflict(){return ee()},then(e,t){return S().then(e,t)},async*[Symbol.asyncIterator](){for(;!x;)yield await this},dispose:C,[Symbol.dispose]:C},T=e.globalThis.Symbol.dispose;return T&&T!==Symbol.dispose&&(w[T]=C),w}}function ks(e){return async function(t){let{promise:n,resolve:r}=On(),i=`wait_${e.generateUlid()}`,a=ln(t),o={type:`wait`,correlationId:i,resumeAt:a};return e.invocationsQueue.set(i,o),e.eventsConsumer.subscribe(t=>{if(!t)return En(e),A.NotConsumed;if(t.correlationId!==i)return A.NotConsumed;if(t.eventType===`wait_created`){let n=e.invocationsQueue.get(i);return n&&n.type===`wait`&&(n.hasCreatedEvent=!0,n.resumeAt=t.eventData.resumeAt),A.Consumed}if(t.eventType===`wait_completed`){let n=t.eventData?.resumeAt;if(n!==void 0){let r=e.invocationsQueue.get(i),o=r&&r.type===`wait`?r.resumeAt:a,s=new Date(n),c=s.getTime(),l=o.getTime(),u=Number.isFinite(c)?s.toISOString():String(n);if(c!==l)return e.promiseQueue=e.promiseQueue.then(()=>{e.onWorkflowError(new Cn(`Replay divergence: wait_completed event for ${i} has resumeAt "${u}", but the current wait consumer expects "${o.toISOString()}"`,{eventId:t.eventId}))}),A.Finished}e.invocationsQueue.delete(i);let o=e.eventsConsumer.eventIndex,s=Tn(e,o,`wait`,{deliveredAt:+t.createdAt}),c=jn(e,o,`wait`);return e.promiseQueue.then(()=>c).then(()=>{s.markDelivered(),r()}),A.Finished}return e.promiseQueue=e.promiseQueue.then(()=>{e.onWorkflowError(new Cn(`Replay divergence: Unexpected event type for wait ${i} "${t.eventType}"`,{eventId:t.eventId}))}),A.Finished}),n}}async function As(e,t,n,r,i,a){if(t.size!==0){for(let e of t.values())e.type===`hook`&&e.isSystem&&!e.disposed&&!e.abortRequested&&(e.disposed=!0);try{let e=await ra();await La({suspension:new Mn(t,n),world:e,run:r,runReadyBarrier:a})}catch(t){G.warn(`Failed to drain pending queue items for ${i} workflow run`,{workflowRunId:e,message:t instanceof Error?t.message:String(t)})}}}function js(e,t,n){let r=We(t)?.moduleSpecifier||t,i=`globalThis.__private_workflows?.get(${JSON.stringify(t)})`;return K(`workflow.bundle.compile`,async t=>{let a=n===`shared`?Ts(e,r):{script:new ci(e,{filename:r}),cacheHit:!1},o=n===`shared`?Ts(i,r):{script:new ci(i,{filename:r}),cacheHit:!1};return t?.setAttributes({...be(a.cacheHit)}),{bundleScript:a.script,workflowLookupScript:o.script}})}function Ms(e,t){return js(e,t,`shared`)}function Ns(e,t){return js(e,t,`none`)}function Ps(e){return Is(`replay`,e.workflowRun,e.events,async t=>{let{session:n,execution:r}=await Rs(e);return t?.setAttributes({...w(n.argumentCount)}),Ls(await r,t)})}function Fs(e,t){return Is(`retained`,e.workflowRun,t,async n=>{n?.setAttributes({...w(e.argumentCount)});let r=await e.resume(t);return r.type===`replay`?r:Ls(r,n)})}function Is(e,t,n,r){return K(`workflow.run ${t.workflowName}`,i=>(i?.setAttributes({...xe(t.workflowName),...Dt(t.runId),...jt(t.status),...nn(n.length),...Ce(e)}),r(i)))}function Ls(e,t){return e.type===`completed`?t?.setAttributes({...ke(e.resultType)}):t&&(z(e.suspension,t),e.parked&&t.setAttributes({...P(e.parked.count),...se(e.parked.eventId),...Ft(e.parked.eventType)})),e}async function Rs(e){let t=await xt(`workflow.vm.create_context`);return zs(e,t.end).catch(e=>{throw t.fail(e),e})}async function zs({workflowCode:e,workflowRun:t,events:n,encryptionKey:r,replayPayloadCache:i,compiledWorkflowScripts:a,runReadyBarrier:o,worldCapabilities:s},c){let l=t.startedAt;if(!l)throw new q(`Workflow run "${t.runId}" has no "startedAt" timestamp (should not happen)`);let u=ha(t.runId)??+t.createdAt,d=!!process.env.VERCEL_URL,f=Pn(d?`https://${process.env.VERCEL_URL}`:`http://localhost:${await va()??3e3}`),{context:p,globalThis:h,updateTimestamp:g}=Ss({seed:`${t.runId}:${t.workflowName}:${t.deploymentId}`,fixedTimestamp:u}),_=On(),v={type:`running`,interruption:_},y=e=>{switch(v.type){case`running`:{let{interruption:t}=v;v=Mn.is(e)?{type:`suspended`,suspension:e}:{type:`replay`},O.suspensionGeneration++,t.reject(e);return}case`suspended`:v={type:`replay`};return;case`replay`:case`completed`:return}},b=m(()=>h.Math.random()),x=0,S=()=>(x+=1,b(u)),C=Yo(`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`,21,e=>new Uint8Array(e).map(()=>256*h.Math.random())),w={current:Promise.resolve()},T={current:()=>!0},E=u,te=e=>{e>E&&(E=e,g(e))},D=new H(n,{onUnconsumedEvent:e=>{y(new Cn(`Replay could not consume event: eventType=${e.eventType}, correlationId=${e.correlationId}, eventId=${e.eventId}. ${$o(e,O.invocationsQueue,D)}`,{eventId:e.eventId}))},onDuplicateEvent:(e,n)=>{let r={workflowRunId:t.runId,eventId:e.eventId,eventType:e.eventType,firstEventType:n,correlationId:e.correlationId};if(n!==e.eventType){G.debug(`Ignoring inert event that decides an already-decided outcome differently`,r);return}G.debug(`Ignoring inert event that repeats a class already in the event log`,r)},getPromiseQueue:()=>w.current,isDeliveryIdle:()=>T.current()}),O={runId:t.runId,encryptionKey:r,worldCapabilities:s,globalThis:h,onWorkflowError:y,eventsConsumer:D,generateUlid:S,generateNanoid:C,get mintCount(){return x},invocationsQueue:new Map,get promiseQueue(){return w.current},set promiseQueue(e){w.current=e},pendingDeliveries:0,suspensionGeneration:0,pendingDeliveryBarriers:new Map,hookPayloadAwaiters:new Map,advanceClock:te,replayPayloadCache:i};T.current=()=>kn(O);let ne=!1;O.eventsConsumer.subscribe(e=>e?e.eventType===`run_created`?A.Consumed:e.eventType===`run_started`?ne?A.NotConsumed:(ne=!0,A.Consumed):e.eventType===`attr_set`&&e.eventData.writer.type===`step`?A.Consumed:A.NotConsumed:A.NotConsumed);let k=es(O),re=Os(O),j=ks(O),ie=Es(O);h[kt]=k,h[ct]=ie,h[Tt]=re,h[ze]=j,h[Lt]=e=>oe(t.runId,e);let M={workflowName:t.workflowName,workflowRunId:t.runId,workflowStartedAt:new h.Date(+l),url:f,features:{encryption:!!r}};h[Ar]=M,h[Ae]=S,h.fetch=()=>{throw new h.Error(`Global "fetch" is unavailable in workflow functions. Use the "fetch" step function from "workflow" to make HTTP requests.\n\nLearn more: https://workflow-sdk.dev/err/${yn.FETCH_IN_WORKFLOW_FUNCTION}`)};let N=`Timeout functions like "setTimeout" and "setInterval" are not supported in workflow functions. Use the "sleep" function from "workflow" for time-based delays.`;h.setTimeout=()=>{throw new q(N,{slug:yn.TIMEOUT_FUNCTIONS_IN_WORKFLOW})},h.setInterval=()=>{throw new q(N,{slug:yn.TIMEOUT_FUNCTIONS_IN_WORKFLOW})},h.clearTimeout=()=>{throw new q(N,{slug:yn.TIMEOUT_FUNCTIONS_IN_WORKFLOW})},h.clearInterval=()=>{throw new q(N,{slug:yn.TIMEOUT_FUNCTIONS_IN_WORKFLOW})},h.setImmediate=()=>{throw new q(N,{slug:yn.TIMEOUT_FUNCTIONS_IN_WORKFLOW})},h.clearImmediate=()=>{throw new q(N,{slug:yn.TIMEOUT_FUNCTIONS_IN_WORKFLOW})},h.AbortController=Se(O);let P=ee();h.AbortSignal={abort:P.abort,any:P.any,timeout:P.timeout};class ae{cache;credentials;destination;headers;integrity;method;mode;redirect;referrer;referrerPolicy;url;keepalive;signal;duplex;body;constructor(e,t){if(typeof e==`string`||e instanceof h.URL){let t=String(e);try{new h.URL(t),this.url=t}catch(e){throw TypeError(`Failed to parse URL from ${t}`,{cause:e})}}else{if(this.url=e.url,!t){this.method=e.method,this.headers=new h.Headers(e.headers),this.body=e.body,this.mode=e.mode,this.credentials=e.credentials,this.cache=e.cache,this.redirect=e.redirect,this.referrer=e.referrer,this.referrerPolicy=e.referrerPolicy,this.integrity=e.integrity,this.keepalive=e.keepalive,this.signal=e.signal,this.duplex=e.duplex,this.destination=e.destination;return}this.method=e.method,this.headers=new h.Headers(e.headers),this.body=e.body,this.mode=e.mode,this.credentials=e.credentials,this.cache=e.cache,this.redirect=e.redirect,this.referrer=e.referrer,this.referrerPolicy=e.referrerPolicy,this.integrity=e.integrity,this.keepalive=e.keepalive,this.signal=e.signal,this.duplex=e.duplex,this.destination=e.destination}t?.method?this.method=t.method.toUpperCase():typeof this.method!=`string`&&(this.method=`GET`),t?.headers?this.headers=new h.Headers(t.headers):(typeof e==`string`||e instanceof h.URL)&&(this.headers=new h.Headers),t?.mode===void 0?typeof this.mode!=`string`&&(this.mode=`cors`):this.mode=t.mode,t?.credentials===void 0?typeof this.credentials!=`string`&&(this.credentials=`same-origin`):this.credentials=t.credentials,t?.cache===void 0?typeof this.cache!=`string`&&(this.cache=`default`):this.cache=t.cache,t?.redirect===void 0?typeof this.redirect!=`string`&&(this.redirect=`follow`):this.redirect=t.redirect,t?.referrer===void 0?typeof this.referrer!=`string`&&(this.referrer=`about:client`):this.referrer=t.referrer,t?.referrerPolicy===void 0?typeof this.referrerPolicy!=`string`&&(this.referrerPolicy=``):this.referrerPolicy=t.referrerPolicy,t?.integrity===void 0?typeof this.integrity!=`string`&&(this.integrity=``):this.integrity=t.integrity,t?.keepalive===void 0?typeof this.keepalive!=`boolean`&&(this.keepalive=!1):this.keepalive=t.keepalive,t?.signal===void 0?this.signal||={aborted:!1}:this.signal=t.signal,this.duplex||=`half`,this.destination||=`document`;let n=t?.body;if(n!=null&&(this.method===`GET`||this.method===`HEAD`))throw TypeError(`Request with GET/HEAD method cannot have body.`);this.body=n==null?null:Object.create(h.ReadableStream.prototype,{[Me]:{value:n,writable:!1}})}clone(){Q()}get bodyUsed(){return!1}blob;formData;arrayBuffer;json;text;async bytes(){return new Uint8Array(await this.arrayBuffer())}}h.Request=ae,Object.defineProperties(ae.prototype,{arrayBuffer:{value:k(`__builtin_response_array_buffer`),writable:!0,configurable:!0},json:{value:k(`__builtin_response_json`),writable:!0,configurable:!0},text:{value:k(`__builtin_response_text`),writable:!0,configurable:!0}});class se{type;url;status;statusText;body;headers;redirected;constructor(e,t){if(this.status=t?.status??200,this.statusText=t?.statusText??``,this.headers=new h.Headers(t?.headers),this.type=`default`,this.url=``,this.redirected=!1,e!=null&&(this.status===204||this.status===205||this.status===304))throw TypeError(`Response constructor: Invalid response status code ${this.status}`);this.body=e==null?null:Object.create(h.ReadableStream.prototype,{[Me]:{value:e,writable:!1}})}clone;blob;formData;get ok(){return this.status>=200&&this.status<300}get bodyUsed(){return!1}arrayBuffer;json;text;async bytes(){return new Uint8Array(await this.arrayBuffer())}static json(e,t){let n=JSON.stringify(e),r=new h.Headers(t?.headers);return r.has(`content-type`)||r.set(`content-type`,`application/json`),new se(n,{...t,headers:r})}static error(){Q()}static redirect(e,t=302){if(![301,302,303,307,308].includes(t))throw RangeError(`Invalid redirect status code: ${t}. Must be one of: 301, 302, 303, 307, 308`);let n=new h.Headers;n.set(`Location`,String(e));let r=Object.create(se.prototype);return r.status=t,r.statusText=``,r.headers=n,r.body=null,r.type=`default`,r.url=``,r.redirected=!1,r}}h.Response=se,Object.defineProperties(se.prototype,{arrayBuffer:{value:k(`__builtin_response_array_buffer`),writable:!0,configurable:!0},json:{value:k(`__builtin_response_json`),writable:!0,configurable:!0},text:{value:k(`__builtin_response_text`),writable:!0,configurable:!0}});class ce{constructor(){Q()}get locked(){return!1}cancel(){Q()}getReader(){Q()}pipeThrough(){Q()}pipeTo(){Q()}tee(){Q()}values(){Q()}static from(){Q()}[Symbol.asyncIterator](){Q()}}h.ReadableStream=ce;class le{constructor(){Q()}get locked(){return!1}abort(){Q()}close(){Q()}getWriter(){Q()}}h.WritableStream=le;class F{readable;writable;constructor(){Q()}}h.TransformStream=F,h.console=globalThis.console;let I=Symbol.for(`@vercel/request-context`);h[I]=globalThis[I],c();let{bundleScript:ue,workflowLookupScript:de}=a??await Ms(e,t.workflowName),fe=await K(`workflow.bundle.evaluate`,async()=>(ue.runInContext(p),de.runInContext(p)));if(typeof fe!=`function`)throw new dn(t.workflowName);let L=[];O.promiseQueue=O.promiseQueue.then(async()=>{L=await K(`workflow.input.hydrate`,async()=>{let e=await i.prepareWorkflowInput(t);return pe(t.input,t.runId,r,h,{},e)})}),await O.promiseQueue;let R=async e=>{throw Mn.is(e)||Cn.is(e)?(v.type===`running`&&(v={type:`replay`}),e):(v={type:`completed`},await As(t.runId,O.invocationsQueue,h,t,`failed`,o),e)},me=async(e,n)=>{let i;try{i=await Promise.race([e,n.promise])}catch(e){return v.type===`suspended`&&e===v.suspension?{type:`suspended`,suspension:v.suspension,session:_e,parked:D.parkedSummary}:R(e)}v={type:`completed`};let a=D.strandedEvent;if(a)return R(new Cn(`Replay finished without consuming event: eventType=${a.eventType}, correlationId=${a.correlationId}, eventId=${a.eventId}. ${$o(a,O.invocationsQueue,D)}`,{eventId:a.eventId}));try{let e=await St(i,t.runId,r,h,!1,(t.specVersion??0)>=5);return await As(t.runId,O.invocationsQueue,h,t,`completed`,o),{type:`completed`,output:e,resultType:typeof i}}catch(e){return R(e)}},z=await qt(),he=await xt(`workflow.replay.execute`),ge=z.run(async()=>fe(...L)),_e={workflowRun:t,argumentCount:L.length,async resume(e){switch(v.type){case`suspended`:{let t=D.events;if(!(e.length>t.length&&t.every((t,n)=>t.eventId===e[n].eventId)))return v={type:`replay`},{type:`replay`};let n=On();return v={type:`running`,interruption:n},O.suspensionGeneration++,z.refresh(),D.append(e.slice(t.length)),me(ge,n)}case`replay`:return{type:`replay`};case`completed`:case`running`:throw new q(`Cannot resume ${v.type} workflow "${t.runId}"`)}}},B=me(ge,_);return B.then(he.end,he.fail),{session:_e,execution:B}}function Bs(e){let t=Xn();return t===void 0?e:e===void 0?t:Math.min(e,t)}function Vs({world:e,runInput:t,runId:n,runLogger:r}){let i=t?.environment;if(!i)return!1;let a=e.getEnvironment?.();return!a||a===i?!1:(r.error(`Refusing to run this workflow: it was created in the "${i}" environment but this deployment runs in "${a}". Executing it here would create a second copy of the same run id in both environments — one pending forever, one running — so the queue message is being discarded without executing and without retrying. The client that called start() wrote the run to its own environment but addressed the queue message to a deployment in another one. Check that the environment that client authenticates as (WORKFLOW_VERCEL_ENV for CLI and CI clients, or the OIDC token's environment inside a deployment) matches the environment of the deployment it targets. The run it created is still pending in "${i}" and will not run.`,{workflowRunId:n,creatorEnvironment:i,currentEnvironment:a,pinnedDeploymentId:t?.deploymentId}),!0)}async function Hs({world:e,runInput:t,runId:n,runLogger:r}){let i=t?.deploymentId;if(!i)return;let a;try{a=await e.getDeploymentId()}catch{return}a&&a!==i&&r.error(`Queue message was delivered to a deployment it was not pinned to. The run was created targeting a different deployment, so this invocation may be replaying against code the run was not started on. Continuing — this is expected if the Workflow SDK version changed mid-run in local development, where the deployment id is derived from that version.`,{workflowRunId:n,pinnedDeploymentId:i,currentDeploymentId:a})}function Us(e){return q.is(e)?J.RUNTIME_ERROR:Jr(e)?J.WORLD_CONTRACT_ERROR:null}function Ws(e){return!_n.is(e)||e.status!==void 0&&e.status!==404?!1:/step/i.test(e.message)&&/not found/i.test(e.message)}async function Gs({world:e,workflowRun:t,runId:n,workflowName:r,requestId:i,err:a,errorCode:o,logMessage:s}){G.error(s,{workflowRunId:n,errorCode:o,error:a instanceof Error?a.message:String(a)});let c,l;try{c=await fr(e,t??n)(),l=await _t(a,n,c,globalThis,(t?.specVersion??0)>=5),await e.events.create(n,{eventType:`run_failed`,specVersion:8,eventData:{error:l,errorCode:o}},{requestId:i})}catch(e){if(Z.is(e)||Y.is(e))return;if(Jr(e)){G.error(`Fatal world contract error while recording workflow failure`,{workflowRunId:n,errorCode:J.WORLD_CONTRACT_ERROR,error:e instanceof Error?e.message:String(e)});return}throw e}zi(n,r,l,c,o)}function Ks(e,t){return e.find(e=>e.runId===t&&(e.eventType===`run_completed`||e.eventType===`run_failed`||e.eventType===`run_cancelled`))}function qs(e,t){let n=Ks(e,t);return n?(G.debug(`Run reached terminal event, exiting`,{workflowRunId:t,eventType:n.eventType,eventId:n.eventId}),!0):!1}function Js(e,t){let n=0;for(let r of e)t.has(r)||n++;return n}function Ys({suspension:e,serializationBlockerCount:t,hookContinuation:n=!1,invocationContinuation:r=!1}){return ar()?t>0?{retain:!1,reason:`serialization_executed_workflow_code`}:n?{retain:!0}:!r&&e.stepCount===0&&e.attributeCount===0?{retain:!1,reason:`no_replay_driver`}:{retain:!0}:{retain:!1,reason:`disabled`}}function Xs(e,t){return{serializationBlockerCount:t,serializationBlockers:e.map(({source:e,correlationId:t,kind:n,detail:r})=>({source:e,correlationId:t,kind:n,detail:r&&r.length>160?`${r.slice(0,160)}…`:r})),serializationBlockersTruncated:t>e.length}}function Zs(e){return e.cursor===null?{type:`loadAll`}:{type:`loadAfter`,events:e.events,cursor:e.cursor}}async function Qs(e,t){let n=process.env.WORKFLOW_V2_TIMEOUT_MS;if(n!==void 0&&n!==``){let e=Number(n);if(Number.isFinite(e)&&e>0)return e}let r=await e.getRuntimeDeadline?.();if(r!==void 0){let e=r.getTime();if(!Number.isNaN(e)){let n=Math.floor(e-t);if(n>=(0,pi.default)(`25m`))return(0,pi.default)(`10m`);if(n>=(0,pi.default)(`10m`))return(0,pi.default)(`5m`)}}return(0,pi.default)(`2m`)}async function $s(e,t,n,r,i){let a=Wr(t.executionContext);if(!a)return{code:e};let o=`Workflow run "${t.runId}" is a dynamic workflow run (source ${a.sourceHash.slice(0,12)})`;if(!Vn())throw new q(`${o}, but this deployment has not enabled dynamic workflows, so its stored code was not executed. Set ${Fn}=1 on the deployment to enable them.`);let s=Gr(a);if(t.workflowName!==s)throw new q(`${o}, but its workflow name ${JSON.stringify(t.workflowName)} does not match the dynamic id ${JSON.stringify(s)} its marker derives, so its stored code was not executed.`);let c=t.dynamicWorkflowCode;if(c===void 0&&(await i(),c=(await r.runs.get(t.runId,{resolveData:`all`})).dynamicWorkflowCode),c===void 0)throw new q(`${o}, but its stored workflow code is missing, so it cannot be replayed. This means the code was never persisted or its storage has expired.`);let l=await n(),u=t.executionContext?.features;try{return{code:await mt(c,l,{encryptionRequired:u?.encryption===!0}),dynamicWorkflow:a}}catch(e){throw new q(`${o}, but its stored workflow code could not be decoded, so it was not executed: ${e instanceof Error?e.message:String(e)}`,{cause:e})}}function ec(e,t){Nn(t?.basePath);let n=r(t?.namespace),s=a(`workflow`,n),l=t=>t.createQueueHandler(s,Mr(t)(async(r,a,l)=>{let d=Date.now(),f=Sr(r);if(f){await xr(f,t.specVersion);return}let{runId:p,traceCarrier:m,requestedAt:v,stepId:y,stepName:b,replayDivergence:x,preconditionReinvocations:ee,deploymentMismatchRetryCount:C,runInput:w,hookInput:T,stepInput:E,runContext:D,hookResumeTiming:O,waitContinuation:k}=g.parse(r),A=da(O,y===void 0?`inline`:`dispatched`);A&&y===void 0&&(A.consumerStartedAtMs=d),A&&!Number.isFinite(A.consumerStartedAtMs)&&(A=void 0);let re=Ve(m)?m:void 0,{requestId:j}=a,M=a.queueName.slice(s.length),N=G.forRun(p,M),P=Un();if(a.attempt>P){let e=gi(void 0,J.MAX_DELIVERIES_EXCEEDED);N.error(`Workflow handler exceeded max deliveries (${a.attempt}/${P})`,{attempt:a.attempt,errorCode:e.errorCode,errorAttribution:e.attribution});let t,n;try{let e=await ra(),r=fr(e,p),i=new X(`Workflow exceeded maximum queue deliveries (${a.attempt}/${P})`);t=await r(),n=await _t(i,p,t),await e.events.create(p,{eventType:`run_failed`,specVersion:8,eventData:{error:n,errorCode:J.MAX_DELIVERIES_EXCEEDED}},{requestId:j})}catch(e){if(Z.is(e)||Y.is(e))return;if(Zr(e))throw N.warn(`Transient error marking run as failed after max deliveries, retrying via queue redelivery`,{attempt:a.attempt,errorName:e instanceof Error?e.name:`UnknownError`,errorMessage:e instanceof Error?e.message:String(e)}),e;N.error(`Failed to mark run as failed after ${a.attempt} delivery attempts. A persistent error is preventing the run from being terminated. The run will remain in its current state until manually resolved. This is most likely due to a persistent outage of the workflow backend or a bug in the workflow runtime and should be reported to the Workflow team.`,{attempt:a.attempt,errorName:e instanceof Error?e.name:`UnknownError`,errorMessage:e instanceof Error?e.message:String(e),errorStack:e instanceof Error?e.stack:void 0});return}zi(p,M,n,t,J.MAX_DELIVERIES_EXCEEDED);return}let ae=ut(),oe=()=>Ot(ae,re),se=await $e(ae,re),ce=new oa,F=ae===`continuous`?re:void 0,I=await Bt(`CONSUMER`);return await Xe(F,async()=>await rt({workflowRunId:p,workflowName:M},async()=>{let t=await K(`workflow.route.get_world`,async()=>ra());if(!Vs({world:t,runInput:w,runId:p,runLogger:N}))return await Hs({world:t,runInput:w,runId:p,runLogger:N}),K(`workflow.execute ${Yt(M)}`,{kind:I,links:se},async r=>{r?.setAttributes({...xe(M),...Ee(`execute_v2`),...fe(`vercel-queue`),...gt(a.queueName),...S(a.messageId),...pt(`process`),...lr({requestedAt:v}),...Dt(p),...Ye(!!re),...Zt(ae)});let s=Date.now(),d=await Qs(t,s),f=s+d+Kn(),m=!1,g={inert:0,observedHook:0,unknownHook:0,abortSignal:0,externalStep:0,waitDue:0},P=0,se=new Set,F=x?new la(x.count):la.inert(),I,ue,L=await _(t=>{if(t&&!Hr(t)&&!Wr(t.executionContext))return ue!==t.workflowName&&(ue=t.workflowName,I=Ms(e,t.workflowName),I.catch(()=>{})),I}),pe=Dn(()=>{let e=Qn(t,p);return e.catch(()=>{}),e}),R,me=e=>{if(e&&!Hr(e))return R||=new vi(pe.value),R},z=e=>{e.eventType===`run_created`&&(me(e.eventData),L(e.eventData)),R?.prepareEvent(e)},he=async(e,n)=>{let r=ve(e,n),i={...B(),resolveData:vr,...n},a=await F.withEventCreate(r===void 0?i:{...i,sinceCursor:r},n=>t.events.create(p,e,n));return r!==void 0&&be(r,a),a},ge=(e,t)=>K(`workflow.replay.load`,async n=>{let r=0;n?.setAttributes({...Dt(p),...je(e)});try{let e=await t(e=>{r++,z(e)});return r=e.events?.length??r,e}finally{n?.setAttributes(nn(r))}}),B=()=>V.type===`loadAll`?{}:zn(V.events),ve=(e,t)=>{if(!(W||V.type!==`ready`||t?.sinceCursor!==void 0||t?.preloadEvents===!0||o(e.eventType)))return V.cursor??void 0},be=(e,t)=>{V.type===`ready`&&V.cursor===e&&t.events!==void 0&&t.hasMore!==!0&&sr(V,{events:t.events,cursor:t.cursor})},V={type:`loadAll`},H,U,Se=-1,Ce,we,De=0,Oe,W=rr()&&w!==void 0&&a.attempt===1&&y===void 0&&!x;r?.setAttributes(nt(W));let ke,Ae=async()=>{if(ke)try{await ke}catch{}},Me=async e=>{let n=Us(e);return n?(await Gs({world:t,workflowRun:H,runId:p,workflowName:M,requestId:j,err:e,errorCode:n,logMessage:`Fatal runtime error during workflow setup`}),!0):!1},Ne=new Set,Pe=e=>{Ne.size>0&&G.error(`Invariant violation: acking the workflow message while owned inline steps are still executing — crash recovery for these steps is broken`,{workflowRunId:p,ackPath:e,stepIds:[...Ne]})},Fe=async()=>({runId:p,traceCarrier:await oe(),requestedAt:new Date}),Ie=async(e,r)=>{if(Pe(`reinvoke`),!W)return{timeoutSeconds:e};await cr(t,gr(M,n),{...await Fe(),...r},e>0?{delaySeconds:e}:void 0)},Le=0,Re=null,ze=e=>{let t=Re;if(!t)return;Re=null;let n=new Set(e.map(e=>e.eventId)),r=Js(n,t.ids),i=Js(t.ids,n),a=i>0?`shrank`:r>0?`grew`:`unchanged`;G.warn(`Restarted replay reloaded its event log after a stale-snapshot rejection`,{workflowRunId:p,outcome:a,added:r,dropped:i,eventsBefore:t.ids.size,eventsAfter:n.size,preconditionRestarts:t.restart,reason:t.reason,source:t.source,loopIteration:P})},Be=(e,t,{allowDelta:n=!0}={})=>{if(Le>=Zn())return!1;Le++,Ze=null;let i=n&&Le===1?Tr(t,p):null,a=i!==null&&V.type!==`loadAll`;return Re=V.type===`loadAll`?null:{ids:new Set(V.events.map(e=>e.eventId)),restart:Le,reason:e,source:a?`inline-delta`:`full-reload`},i&&V.type!==`loadAll`?(sr(V,i),V={...V,type:`ready`}):(V={type:`loadAll`},R?.resetScan()),G.warn(`Event creation rejected as stale; restarting replay in-process`,{workflowRunId:p,reason:e,loopIteration:P,preconditionRestarts:Le,source:a?`inline-delta`:`full-reload`}),r?.setAttributes({"workflow.precondition_restarts":Le}),!0},Ve=async(e,t)=>{let n=(ee??0)+1,i=Er();return n>i?{reinvoked:!1,error:new q(`Event creation was rejected as stale after ${i} re-invocations of ${Zn()} in-process replay restarts each: this run cannot observe its own event log completely enough to make progress. Last rejection (${e}): ${t instanceof Error?t.message:String(t)}`,{cause:t})}:(G.warn(`Event creation rejected as stale after in-process restarts; re-invoking run for a fresh replay`,{workflowRunId:p,reason:e,loopIteration:P,preconditionReinvocations:n,maxReinvocations:i}),r?.setAttributes({"workflow.precondition_reinvocations":n}),{reinvoked:!0,result:await Ie(In(),{preconditionReinvocations:n})})},He=async(e,i,a)=>{let{outcome:o,spanAttributes:s}=await Hi({world:t,run:e,workflowName:M,requestId:j,retryCount:C,beforeStop:a,isDeploymentUnavailableError:t.isDeploymentUnavailableError,reenqueue:async({deploymentId:e,specVersion:r,deploymentMismatchRetryCount:a,delaySeconds:o})=>{await cr(t,gr(M,n),{...await i(),deploymentMismatchRetryCount:a},{deploymentId:e,specVersion:r,delaySeconds:o})}});return s&&r?.setAttributes(s),o};if(y&&b)try{let e=async()=>{if(!E)return`ok`;try{await t.events.create(p,{eventType:`step_created`,specVersion:8,correlationId:y,eventData:{stepName:b,workflowName:M,input:E.input}},{requestId:j,viaStepDispatch:!0}),r?.setAttributes(Xt(!0)),G.warn(`Materialized step_created from the queue message — the producer’s direct write did not land`,{workflowRunId:p,stepId:y,stepName:b})}catch(e){if(Z.is(e))return`ok`;if(Y.is(e))return`gone`;throw e}return`ok`},o,s;if(r?.setAttributes(Gt(D?`run_context`:`runs_get`)),D){if((E&&a.attempt>1?await e():`ok`)===`gone`){G.debug(`Run already finished, skipping background step`,{workflowRunId:p});return}s=D}else{let[n,r]=await Promise.all([t.runs.get(p,{resolveData:`none`}),E&&a.attempt>1?e():`ok`]);if(r===`gone`){G.debug(`Run already finished, skipping background step`,{workflowRunId:p});return}if(n.status!==`running`){G.debug(`Run already finished, skipping background step`,{workflowRunId:p,status:n.status});return}o=n,s={deploymentId:n.deploymentId,specVersion:n.specVersion??0,...n.startedAt?{startedAt:+n.startedAt}:{},rootRunId:Ln(n.attributes,p)}}if(await He({runId:p,deploymentId:s.deploymentId,specVersion:s.specVersion},async()=>({...await Fe(),stepId:y,stepName:b,...E?{stepInput:E}:{},...D?{runContext:D}:{},...O?{hookResumeTiming:O}:{}}))!==`continue`)return;let l=s.startedAt??Date.now(),u=a.attempt,d=An(b)?.maxRetries??3;a.attempt>d+1&&(u=xi((await _r(p)).events,y,{type:`totalAttempts`})+1);let f=A;A=void 0,ce.pause();let m;try{let n=()=>ka({world:t,workflowRunId:p,workflowDeploymentId:s.deploymentId,workflowName:M,workflowStartedAt:l,rootRunId:s.rootRunId??p,requestId:j,stepId:y,stepName:b,runSpecVersion:s.specVersion,authoritativeAttempt:u,...f?{resumeTracking:f}:{}});m=await Fa(p,y,async()=>{try{return await n()}catch(t){if(!E||!Ws(t))throw t;return await e()===`gone`?{type:`gone`}:await n()}})}finally{ce.resume()}if(m.type===`retry`||m.type===`throttled`)return{timeoutSeconds:m.timeoutSeconds};if(t.capabilities?.invoke&&m.type!==`gone`){await cr(t,gr(M,n),{runId:p,traceCarrier:await oe(),requestedAt:new Date});return}if(m.type===`completed`&&m.hasPendingOps){await cr(t,gr(M,n),{runId:p,traceCarrier:await oe(),requestedAt:new Date});return}if(m.type===`completed`||m.type===`failed`||m.type===`skipped`){let e=await _r(p);V=Zs(e);let n=new Set,r=new Set;for(let t of e.events)t.eventType===`step_created`?n.add(t.correlationId):(t.eventType===`step_completed`||t.eventType===`step_failed`)&&r.add(t.correlationId);let s=new Set;for(let e of n)r.has(e)||s.add(e);if(s.size>0){if(Gn()&&Na(e.events,s,a.messageId))G.debug(`Background step done; falling through to recover an inline step owned by this message`,{workflowRunId:p});else{G.debug(`Background step done but other steps pending, returning`,{workflowRunId:p});return}}G.debug(`All parallel steps done, replaying inline after background step`,{workflowRunId:p});let u=o??await t.runs.get(p,{resolveData:`none`});if(i(u.status)){G.debug(`Run already finished, skipping inline replay after background step`,{workflowRunId:p,status:u.status});return}L(u);let d=e.events.find(e=>e.eventType===`run_created`),f;if(d)f=d.eventData.input;else{if(!c(u.specVersion))throw new q(`Workflow run "${p}" has no "run_created" event`);let e=await t.runs.get(p,{resolveData:`all`});if(e.status!==`running`)return;f=e.input}H={...u,input:f,status:`running`,output:void 0,error:void 0,completedAt:void 0},Se=l}else return}catch(e){let n=Us(e);if(!n)throw e;await Gs({world:t,workflowRun:H,runId:p,workflowName:M,requestId:j,err:e,errorCode:n,logMessage:`Fatal error while preparing background workflow step`});return}if(!H&&T?.deploymentId!==void 0&&t.capabilities?.deploymentAffinity===!0){let e=T.deploymentId,n;try{n=await t.getDeploymentId()}catch{n=void 0}if(n!==void 0&&n!==e&&await He(await t.runs.get(p,{resolveData:`none`}),async()=>({...await Fe(),hookInput:T,...O?{hookResumeTiming:O}:{}}),Ae)!==`continue`)return}let Ge=!1;if(!H&&T&&T.resumeId!==void 0&&T.payloadDigest!==void 0){let e=T,t;try{t=new Date(u(e.resumeId))}catch{t=void 0}try{r?.addEvent(`workflow.hook_received.create.start`,{"workflow.hook_received.preload_events":!0});let n=await ge(`hook_preload`,n=>he({eventType:`hook_received`,specVersion:8,correlationId:e.hookId,eventData:{token:e.token,payload:e.payload}},{requestId:j,occurredAt:t,resumeId:e.resumeId,resumePayloadDigest:e.payloadDigest,preloadEvents:!0,replayEventObserver:n}));if(Ge=!0,n.run!==void 0&&n.run.startedAt!==void 0&&n.event!==void 0&&n.events!==void 0&&n.events.length>0&&n.cursor!=null&&n.hasMore===!1&&typeof n.maxEvents==`number`&&n.events.some(e=>e.eventType===`run_created`)&&n.events.some(e=>e.eventType===`run_started`)&&n.events.some(t=>t.eventType===`hook_received`&&t.resumeId===e.resumeId)&&n.run?.startedAt&&n.events){let e=n.events.find(e=>e.runId===p&&(e.eventType===`run_completed`||e.eventType===`run_failed`||e.eventType===`run_cancelled`));if(e){r?.setAttributes({...jt(e.eventType===`run_completed`?`completed`:e.eventType===`run_failed`?`failed`:`cancelled`),...ye(`hook_received_stream`)}),G.info(`Run already finished during lazy hook setup, skipping`,{workflowRunId:p,eventType:e.eventType});return}H=n.run,L(H),U=Bs(n.maxEvents),we=Date.now(),A&&(A.setupSource=`hook_preload`),V={type:`ready`,events:n.events,cursor:n.cursor},Se=+n.run.startedAt,r?.setAttributes({...jt(n.run.status),...Ut(Se),...ye(`hook_received_stream`)})}else r?.setAttributes(ye(`hook_received_fallback`))}catch(e){if(xn.is(e)||Y.is(e)){G.info(`Run already finished during lazy hook setup, skipping`,{workflowRunId:p,message:e.message});return}if(await Me(e))return;throw e}}if(!H){let e={eventType:`run_started`,specVersion:w?.specVersion??8,...w?{eventData:{input:w.input,deploymentId:w.deploymentId,workflowName:w.workflowName,executionContext:w.executionContext,attributes:w.attributes,allowReservedAttributes:w.allowReservedAttributes,dynamicWorkflowCode:w.dynamicWorkflowCode,dynamicWorkflowCodeRef:w.dynamicWorkflowCodeRef}}:{}};if(W&&w){r?.addEvent(`workflow.run_started.create.start`,{"workflow.run_started.skip_preload":!0});let t=he(e,{requestId:j,skipPreload:!0});ke=t;try{L(w),me(w)}catch(e){if(await Ae(),!await Me(e))throw e;return}t.then(e=>{let t=Bs(e.maxEvents);t!==void 0&&(U=t)}).catch(()=>{}),V={type:`ready`,events:[],cursor:null};let n=new Date;H={runId:p,status:`running`,deploymentId:w.deploymentId,workflowName:w.workflowName,specVersion:w.specVersion,executionContext:w.executionContext,input:w.input,...w.dynamicWorkflowCode?{dynamicWorkflowCode:w.dynamicWorkflowCode}:{},attributes:w.attributes??{},startedAt:n,createdAt:n,updatedAt:n},Se=+n,we=+n,r?.setAttributes({...jt(`running`),...Ut(Se)})}else try{r?.addEvent(`workflow.run_started.create.start`,{"workflow.run_started.skip_preload":!1});let t=ge(`run_started`,t=>he(e,{requestId:j,replayEventObserver:t}));try{L(w),me(w)}catch(e){try{await t}catch{}throw e}let n=await t;if(H=n.run,U=Bs(n.maxEvents),we=Date.now(),A&&(A.setupSource=`run_started`),n.events?.length){let e={events:[...n.events],cursor:n.cursor??null};V=n.hasMore?Zs(e):{...e,type:`ready`}}if(Se=+n.run.startedAt,r?.setAttributes({...jt(n.run.status),...Ut(Se)}),n.run.status!==`running`){G.info(`Workflow already completed or failed, skipping`,{workflowRunId:p,status:n.run.status});return}L(H)}catch(e){if(Z.is(e)||Y.is(e)){G.info(`Run already finished during setup, skipping`,{workflowRunId:p,message:e.message});return}if(!await Me(e))throw e;return}}if(oi(H,`Workflow run must be loaded before replay`),A&&A.setupSource===void 0&&(A.setupSource=`event_load`),await He(H,async()=>({...await Fe(),...T?{hookInput:T}:{},...O?{hookResumeTiming:O}:{}}),Ae)!==`continue`)return;if(T&&!Ge&&!(T.resumeId!==void 0&&V.type!==`loadAll`&&V.events.some(e=>e.eventType===`hook_received`&&e.resumeId===T.resumeId))){let e;try{e=T.resumeId===void 0?void 0:new Date(u(T.resumeId))}catch{e=void 0}let n;try{let i=await t.events.create(p,{eventType:`hook_received`,specVersion:8,correlationId:T.hookId,eventData:{token:T.token,payload:T.payload}},{requestId:j,occurredAt:e,resumeId:T.resumeId,resumePayloadDigest:T.payloadDigest});r?.setAttributes(Ue(!0));let a=i.event;n=a?{...a,eventData:{token:T.token,payload:T.payload}}:void 0}catch(e){if(xn.is(e)||Y.is(e))return;throw e}V.type!==`loadAll`&&n?(dr(V.events,n),z(n)):V={type:`loadAll`}}let Ke;try{Ke=await $s(e,H,()=>pe.value,t,Ae)}catch(e){if(await Ae(),!await Me(e))throw e;return}let qe=Ke.code,Je=Ke.dynamicWorkflow;Je&&(r?.setAttributes({...de(!0),...te(Je.sourceHash)}),N.info(`Executing stored dynamic workflow code`,{sourceHash:Je.sourceHash}));let Xe=Je&&!Hr(H)?Ns(qe,H.workflowName):void 0,Ze=null,Qe=new Set,$e=new Set;for(;;){let e=l?.revision??0;if(P++,ce.isExhausted()){await ca({runId:p,workflowName:M,requestId:j,attempt:a.attempt,limitMs:ce.configuredLimitMs,slotSnapshot:B()});return}if(Date.now()-s>=d){G.info(`V2 timeout reached, re-scheduling workflow`,{workflowRunId:p,loopIteration:P,elapsedMs:Date.now()-s}),await cr(t,gr(M,n),{runId:p,traceCarrier:await oe(),requestedAt:new Date});return}let i=0,o=!1;try{if(Hr(H)){G.debug(`Using QuickJS VM engine`,{workflowRunId:p,loopIteration:P}),await Ae(),V.type===`loadAfter`&&(sr(V,await _r(p,V.cursor)),V={...V,type:`ready`});let{runWorkflowWithQuickJS:e}=await import(`../../_chunks/workflow/_eve-core-quickjs-entrypoint-stub-qIV0OaFz.js`),t=await e({workflowCode:qe,workflowName:M,workflowRun:H,preloadedEvents:V.type===`ready`?V.events:void 0,preloadedEventsComplete:V.type===`ready`,preloadedCursor:V.type===`ready`?V.cursor:void 0,runInput:w,parentSpan:r,maxEventsLimit:U,namespace:n,nextTraceCarrier:oe,waitContinuation:k,deliveryAttempt:a.attempt,ownerMessageId:a.messageId,requestId:j});return t?.timeoutSeconds===void 0?void 0:await Ie(t.timeoutSeconds)}if(V.type!==`ready`){m=!1;let e=await _r(p,V.type===`loadAfter`?V.cursor:void 0);V.type===`loadAfter`?(sr(V,e),V={...V,type:`ready`}):V={...e,type:`ready`}}if(oi(V.type===`ready`),ze(V.events),qs(V.events,p))return;let e=Date.now(),s=new Set(V.events.filter(e=>e.eventType===`wait_completed`).map(e=>e.correlationId)),c=V.events.filter(t=>t.eventType===`wait_created`&&t.correlationId!==void 0&&!s.has(t.correlationId)&&e>=t.eventData.resumeAt.getTime()).map(e=>({eventType:`wait_completed`,specVersion:8,correlationId:e.correlationId,eventData:{resumeAt:e.eventData.resumeAt}}));for(let e of c)try{let t=await he(e,{requestId:j});mr(V.events,t)}catch(t){if(Z.is(t)){G.info(`Wait already completed, skipping`,{workflowRunId:p,correlationId:e.correlationId});continue}throw t}oi(V.type===`ready`);let l=new Set(V.events.filter(e=>e.eventType===`wait_completed`).map(e=>e.correlationId)),u=c.filter(e=>!l.has(e.correlationId));if(u.length>0){if(m=!1,V.cursor){let e=await _r(p,V.cursor),t=new Set(e.events.filter(e=>e.eventType===`wait_completed`).map(e=>e.correlationId));u.every(e=>t.has(e.correlationId))?sr(V,e):V={...await _r(p),type:`ready`}}else V={...await _r(p),type:`ready`}}if(yr()){let e=await $n(p,{events:V.events,cursor:V.cursor});if(V={...e.log,type:`ready`},e.gap!==void 0)throw new Sn(`Event log for run ${p} has a hole at slot ${e.gap.firstMissingSlot}: ${e.gap.missingCount} of the ${e.gap.maxSlot} slots up to the log's maximum hold no event.`)}if(qs(V.events,p))return;if(U!==void 0){let e=V.events.reduce((e,t)=>h(t)?e:e+1,0);if(e>=U)throw new mn(e,U)}Ce??=V.events.every(e=>e.eventType===`run_created`||e.eventType===`run_started`||e.eventType===`attr_set`||h(e)),G.debug(`Starting workflow execution`,{workflowRunId:p,loopIteration:P,eventCount:V.events.length,executionMode:Ze?`retained`:`replay`}),i=Date.now(),A&&(A.replayStartedAtMs??=i);let d=me(H);oi(d,`Node workflow replay requires payload preparation`);let f=d.prewarm(H,V.events),g=Ze?await Fs(Ze,V.events):{type:`replay`};if(o=Ze!==null&&g.type!==`replay`,g.type===`replay`){Ze=null;let e=L(H);oi(e||Xe,`Node workflow replay requires compiled scripts`),g=await Ps({workflowCode:qe,workflowRun:H,events:V.events,encryptionKey:await pe.value,replayPayloadCache:d,...e??Xe?{compiledWorkflowScripts:await(e??Xe)}:{},runReadyBarrier:ke,worldCapabilities:t.capabilities})}if(await f,g.type===`suspended`)throw Ze=g.session,g.suspension;let _=g.output;G.debug(`Workflow execution completed`,{workflowRunId:p,loopIteration:P,replayMs:Date.now()-i,executionMode:Ze?`retained`:`replay`}),F.activate();try{await Ae(),await he({eventType:`run_completed`,specVersion:8,eventData:{output:_}},{requestId:j})}catch(e){if(Z.is(e)||Y.is(e)){G.info(`Tried completing workflow run, but run has already finished.`,{workflowRunId:p,message:e.message});return}throw e}Li(p,M),r?.setAttributes({...jt(`completed`)});return}catch(c){if(Mn.is(c)){F.activate();let u=Date.now(),h=u-i;A&&c.stepCount>0&&(A.nextStepEncounteredAtMs??=u),G.debug(`Workflow suspended`,{workflowRunId:p,loopIteration:P,replayMs:h,steps:c.stepCount,hooks:c.hookCount,waits:c.waitCount});let _=Te(c.stepCount,c.hookCount,c.waitCount);_&&G.debug(_);let v=Date.now();oi(V.type===`ready`,`Workflow suspended before its event log was loaded`);let y;try{y=await La({suspension:c,world:t,run:H,span:r,requestId:j,eventLog:V,runReadyBarrier:ke,replayRecoveryReporter:F,forceClaimVictimWakes:se,stepDispatch:{queueName:gr(M,n),getTraceCarrier:oe},ownerMessageId:a.messageId,allowDeferredBatchWork:!0})}catch(e){if(vn.is(e)){if(Be(`suspension-create`,e))continue;let t=await Ve(`suspension-create`,e);if(t.reinvoked)return t.result;throw t.error}if(!X.is(e))throw e;let t=Ur(e);G.error(`Non-retryable error while committing workflow suspension; failing run`,{workflowRunId:p,errorCode:t,errorName:e.name,errorMessage:e.message});let n,i;try{await Ae(),n=await pe.value,i=await _t(e,p,n,globalThis,(H?.specVersion??0)>=5),await he({eventType:`run_failed`,specVersion:8,eventData:{error:i,errorCode:t}},{requestId:j})}catch(e){if(Z.is(e)||Y.is(e)){G.info(`Tried failing workflow run, but run has already finished.`,{workflowRunId:p,message:e.message});return}throw e}zi(p,M,i,n,t),r?.setAttributes({...jt(`failed`),...ie(t),..._e(e.name),...le(e.message),...at(e.name)});return}let b=Dn(()=>(oi(V.type===`ready`),Ui(V.events))),x=Ze?Ys({suspension:c,serializationBlockerCount:y.serializationBlockerCount,hookContinuation:y.hasAwaitedHookCreation||y.hasHookConflict,invocationContinuation:l!==void 0}):void 0;x?.retain===!1&&(Ze=null),y.hasAttributeEvents&&Oe===void 0&&(Oe=De),De+=y.hookCreationMs,G.debug(`Suspension handled`,{workflowRunId:p,suspensionMs:Date.now()-v,pendingSteps:y.pendingSteps.length,timeoutSeconds:y.waitTimeout?.seconds,hasHookConflict:y.hasHookConflict,hasAwaitedHookCreation:y.hasAwaitedHookCreation,hasAttributeEvents:y.hasAttributeEvents,...x?{workflowVmRetention:x.retain?`retained`:`replay`}:{},...x?.retain===!1?{workflowVmRetentionReason:x.reason}:{},...y.serializationBlockerCount>0?Xs(y.serializationBlockers,y.serializationBlockerCount):{}});let S=(e,t)=>{if(!Ze)return!1;let n=e.filter(e=>!Qe.has(e));if(n.length===0)return!1;for(let e of n)Qe.add(e);let i=y.eventLogCarriedForward&&!b.value.openWait;return i||(oi(V.type===`ready`),V=Zs(V)),G.debug(`Continuing over a hook write in-process`,{workflowRunId:p,loopIteration:P,settles:t,hookIds:n,carriedForward:y.eventLogCarriedForward,readBeforeResume:!i}),r?.setAttributes({"workflow.hook_write_continuations":Qe.size}),!0};if(y.hasHookConflict){if(await y.deferredBatchWork,S(y.hookConflictCorrelationIds,`hook_conflict`))continue;if([...y.inlineClaims.values()].some(e=>e.owned)){V=Zs(V);continue}return await Ie(0)}if(y.hasAttributeEvents){V=Zs(V);continue}if(y.failedStepCorrelationIds.size>0){await y.deferredBatchWork,Ze=null,V=Zs(V);continue}let ee=y.pendingSteps;if(m&&y.waitTimeout!==void 0&&ee.length===0&&!y.hasAwaitedHookCreation&&b.value.openWait){G.debug(`Re-reading the event log before parking on a wait over an inline delta`,{workflowRunId:p,loopIteration:P,waitCorrelationId:y.waitTimeout.correlationId}),r?.setAttributes({"workflow.wait_park_reread":!0}),V=Zs(V);continue}let C=y.lazyInlineSteps,w=new Set(C.map(e=>e.correlationId)),T=await oe(),E=[],te=Gn(),D=Date.now(),O=[],re=0,N=0;for(let e of y.queuedStepCorrelationIds)$e.add(e);let ae=A!==void 0&&C.length===0&&!ee.some(e=>!w.has(e.correlationId)&&te&&Aa(e)&&e.ownerMessageId===a.messageId);for(let e of ee){if(w.has(e.correlationId)||y.queuedStepCorrelationIds.has(e.correlationId))continue;let r=te&&Aa(e);if(r&&e.ownerMessageId===a.messageId){O.push(e);continue}let i=r?ja(e,D):0;if(i>0){re++,G.debug(`Pending step is inline-owned by a live invocation; ensuring delayed backstop wake instead of immediate requeue`,{workflowRunId:p,stepId:e.correlationId,ownerMessageId:e.ownerMessageId,backstopDelaySeconds:i}),E.push(cr(t,gr(M,n),{runId:p,traceCarrier:T,requestedAt:new Date},{delaySeconds:i,idempotencyKey:Ma(e)}));continue}if($e.has(e.correlationId)&&e.sawRetrying!==!0){N++;continue}$e.add(e.correlationId);let o=ae?fa(A):void 0;o&&(ae=!1,A=void 0),E.push(cr(t,gr(M,n),{runId:p,stepId:e.correlationId,stepName:e.stepName,traceCarrier:T,requestedAt:new Date,runContext:Cr(H),...o?{hookResumeTiming:o}:{}},{idempotencyKey:Rn(e.correlationId,e.stepName)}))}if(y.waitTimeout){let e=k?.correlationId===y.waitTimeout.correlationId?k.attempt+1:0;E.push(cr(t,gr(M,n),{runId:p,traceCarrier:T,requestedAt:new Date,waitContinuation:{correlationId:y.waitTimeout.correlationId,attempt:e}},Va(y.waitTimeout.seconds,y.waitTimeout.correlationId,Date.now(),e)))}let I=Promise.all(E);I.catch(()=>{});let ue=[...C.map(e=>{let t=y.inlineClaims.get(e.correlationId);return t?{correlationId:e.correlationId,stepName:e.stepName,preclaimedStart:t}:{correlationId:e.correlationId,stepName:e.stepName,lazyStepInput:e.dehydratedInput}}),...O.map(e=>({correlationId:e.correlationId,stepName:e.stepName}))];if((re>0||O.length>0||N>0)&&r?.setAttributes({...O.length>0?ne(O.length):{},...re>0?$t(re):{},...N>0?ft(N):{}}),N>0&&G.debug(`Skipped re-publishing step messages this invocation already published on an earlier replay pass`,{workflowRunId:p,loopIteration:P,republishesSkipped:N}),O.length>0&&G.warn(`Re-executing inline steps owned by this queue message — a previous delivery crashed mid-body and this redelivery is recovering them`,{workflowRunId:p,stepIds:O.map(e=>e.correlationId)}),ue.length===0){if(await Promise.all([I,y.deferredBatchWork]),y.hasAwaitedHookCreation){if(S(y.awaitedHookCorrelationIds,`hook_created`))continue;return await Ie(0)}if(l&&Date.now()-s<d&&await l.waitForActivity(e)){V=Zs(V);continue}return}let de=b.value,fe=Gi(de,f)||y.waitTimeout!==void 0&&!(y.waitTimeout.resumeAtMs>f),L=typeof V.cursor==`string`&&c.stepCount===1&&ee.length===1&&C.length===1&&O.length===0&&!fe;L&&(de.openWait||y.waitTimeout!==void 0)&&r?.setAttributes({"workflow.inline_delta_over_pending_wait":!0});let R=C.length>0?Ki({items:c.items,observedHookIds:c.observedHookIds,selfExecutedStepIds:new Set([...w,...O.map(e=>e.correlationId)]),waitDue:fe}):void 0;R&&(R.inert?g.inert++:(R.observedHookCount>0&&g.observedHook++,R.unknownHookCount>0&&g.unknownHook++,R.abortSignalHookCount>0&&g.abortSignal++,R.externalStepCount>0&&g.externalStep++,R.waitDue&&g.waitDue++),r?.setAttributes({"workflow.out_of_band.inert_boundaries":g.inert,"workflow.out_of_band.observed_hook_boundaries":g.observedHook,"workflow.out_of_band.unknown_hook_boundaries":g.unknownHook,"workflow.out_of_band.abort_signal_boundaries":g.abortSignal,"workflow.out_of_band.external_step_boundaries":g.externalStep,"workflow.out_of_band.wait_due_boundaries":g.waitDue}));let me=de.openHook||c.hookCount>0||y.hasHookEvents,z=W&&!y.hasAttributeEvents&&!y.waitTimeout&&!y.hasHookEvents&&!y.hasAwaitedHookCreation&&!de.openHook&&!de.openWait,ge=ba({events:V.events,invocationStartedClean:Ce===!0,runCreatedAtMs:ha(p)??(W?void 0:+H.createdAt),runStartedReceivedAtMs:we,replayMs:h,preStepBlockingMs:De,preStepBlockingBeforeAttrMs:Oe,suspensionHasWaits:c.waitCount>0||y.waitTimeout!==void 0,suspensionCreatedHooks:c.hookCount>0||y.hasHookEvents,turbo:W,retained:o}),B=A;A=void 0,ce.pause();let ve,ye=ue.map((e,n)=>{let r=()=>(oi(V.type===`ready`),ka({world:t,workflowRunId:p,workflowDeploymentId:H.deploymentId,workflowName:M,workflowStartedAt:Se,requestId:j,rootRunId:Ln(H.attributes,p),stepId:e.correlationId,stepName:e.stepName,runSpecVersion:H.specVersion,authoritativeAttempt:e.lazyStepInput!==void 0||e.preclaimedStart!==void 0?1:xi(V.events,e.correlationId,{type:`ownedBy`,messageId:a.messageId})+1,lazyStepInput:e.lazyStepInput,preclaimedStart:e.preclaimedStart,ownerMessageId:a.messageId,forceOptimisticStart:z,suppressOptimisticStart:me,runReadyBarrier:ke,...n===0&&(e.lazyStepInput!==void 0||e.preclaimedStart!==void 0)&&ge?{latencyTracking:ge}:{},...B?{resumeTracking:B}:{},...L&&V.cursor?{inlineDeltaSinceCursor:V.cursor}:{},replayRecoveryReporter:F}));Ne.add(e.correlationId);let i=e.lazyStepInput!==void 0||e.preclaimedStart!==void 0;return Fa(p,e.correlationId,r,i?`debug`:`warn`).finally(()=>Ne.delete(e.correlationId))});for(let e of ye)e.catch(()=>{});try{try{await Promise.all([I,y.deferredBatchWork])}catch(e){throw await Promise.allSettled(ye),e}ve=await Promise.all(ye)}catch(e){if(vn.is(e)){if(Be(`inline-claim`,e,{allowDelta:!(await Promise.allSettled(ye)).some(e=>e.status===`fulfilled`&&(e.value.type===`completed`||e.value.type===`failed`||e.value.type===`retry`))}))continue;let t=await Ve(`inline-claim`,e);if(t.reinvoked)return t.result;throw t.error}throw e}finally{ce.resume()}let be=[],xe=!1,U;for(let e=0;e<ue.length;e++){let t=ve[e],n=ue[e];t.type===`retry`?be.push({step:n,delaySeconds:t.timeoutSeconds}):t.type===`throttled`?U=Math.max(U??0,t.timeoutSeconds):t.type===`completed`&&t.hasPendingOps&&(xe=!0)}if(U!==void 0)return await Ie(U);if(be.length>0){let e=await oe();await Promise.all(be.map(({step:r,delaySeconds:i})=>cr(t,gr(M,n),{runId:p,stepId:r.correlationId,stepName:r.stepName,traceCarrier:e,requestedAt:new Date,runContext:Cr(H)},{delaySeconds:i,idempotencyKey:Rn(r.correlationId,r.stepName)})))}if(xe){G.debug(`Breaking loop: inline step has pending ops`,{workflowRunId:p,loopIteration:P}),await cr(t,gr(M,n),{runId:p,traceCarrier:await oe(),requestedAt:new Date});return}if(be.length>0)return;if(ue.length===1){let e=ve[0];if(e.type===`completed`&&e.inlineDelta){sr(V,e.inlineDelta),m=!e.inlineDelta.hasMore,V=e.inlineDelta.hasMore?Zs(V):{...V,type:`ready`};continue}}V=Zs(V)}else{let e=c;if(vn.is(c)){if(Be(`replay-write`,c))continue;let t=await Ve(`replay-write`,c);if(t.reinvoked)return t.result;e=t.error}if(Zr(c))throw N.warn(`Transient world error during replay; redelivering via queue instead of failing the run`,{errorName:c instanceof Error?c.name:`UnknownError`,errorMessage:c instanceof Error?c.message:String(c),deliveryAttempt:a.attempt}),c;let s,l={};if(Cn.is(c)){let r=(x?.count??0)+1,i=tr(),u=[...x?.eventIds??(x?[x.eventId]:[]),c.eventId].slice(-(i+1));if(l={errorCode:J.REPLAY_DIVERGENCE,divergenceEventId:c.eventId,priorDivergenceEventId:x?.eventId,divergenceEventIds:u,divergenceCount:r,deliveryAttempt:a.attempt,maxRecoveryReplays:i,loopIteration:P,servedByRetainedSession:o,eventLogState:V.type,eventLogLength:V.type===`loadAll`?void 0:V.events.length,eventLogLastEventId:V.type===`loadAll`?void 0:V.events.at(-1)?.eventId,cursor:V.type===`ready`?V.cursor??void 0:V.type===`loadAfter`?V.cursor:void 0,hasHookInput:T!==void 0,hasWaitContinuation:k!==void 0,isRecoveryReplay:x!==void 0,setupSource:A?.setupSource},r<=i){N.warn(`Workflow replay diverged; queueing a recovery replay before declaring the event log corrupted`,{...l,errorMessage:c.message}),await cr(t,gr(M,n),{runId:p,traceCarrier:await oe(),requestedAt:new Date,replayDivergence:{eventId:c.eventId,count:r,eventIds:u}});return}s=r,e=new Sn(`Workflow replay diverged ${r} times after ${i} recovery replays; latest divergent event was ${c.eventId}; divergent event ids: ${u.join(`, `)}. Last divergence: ${c.message}`,{cause:c})}else i>0&&F.activate();e instanceof Error&&r?.recordException?.(e);let u=await Ni(e),d=u.name||Si(e),f=u.message,m=u.stack||wi(e);if(m){let e=We(M)?.moduleSpecifier||M;m=Jo(m,e,qe)}let h=Ur(e);G.error(`Error while running workflow`,{...l,workflowRunId:p,errorCode:h,errorName:d,errorMessage:f,errorStack:m,errorCause:Ei(e)||void 0}),ai.isNativeError(e)&&m&&ga(e,m);let g,_;try{await Ae(),g=await pe.value,_=await _t(e,p,g,globalThis,(H?.specVersion??0)>=5),await he({eventType:`run_failed`,specVersion:8,eventData:{error:_,errorCode:h}},{requestId:j,...s===void 0?{}:{replayDivergenceCount:s}})}catch(e){if(Z.is(e)||Y.is(e)){G.info(`Tried failing workflow run, but run has already finished.`,{workflowRunId:p,message:e.message});return}if(Jr(e)){G.error(`Fatal world contract error while recording workflow failure`,{workflowRunId:p,errorCode:J.WORLD_CONTRACT_ERROR,error:e instanceof Error?e.message:String(e)});return}throw e}zi(p,M,_,g,h),r?.setAttributes({...jt(`failed`),...ie(h),..._e(d),...le(f),...at(d)});return}}}})}))})),d,f=0,p=Date.now(),m=typeof t?.routeModuleBodyStartedAt==`number`?p-t.routeModuleBodyStartedAt:void 0;return Yn(async e=>{f+=1;let t=d!==void 0,n=await Bt(`SERVER`);return K(`workflow.route.flow`,{kind:n,attributes:{...Kt(`flow`),...Le(yi),...he(t),...v(f),...Fe(Date.now()-p),...m===void 0?{}:Qe(m),...V(e.method),...T(`/.well-known/workflow/v1/flow`)}},async t=>{d||=await K(`workflow.route.init`,async()=>{let e=await K(`workflow.route.get_world_handlers`,async()=>ra());return l(e)});let n=await d(e);return n instanceof Response&&t?.setAttributes(E(n.status)),n})})}export{ei as Run,Mn as WorkflowSuspension,Qr as cancelRun,Kr as cancelRuns,ta as createWorld,$i as createWorldFromModule,Lr as getHookByToken,Yr as getRun,ra as getWorld,na as getWorldHandlers,ur as healthCheck,Br as listStreams,Xr as readStream,$r as recreateRunFromExisting,Vr as reenqueueRun,Nr as resumeHook,Fr as resumeWebhook,ia as setWorld,ti as start,qr as wakeUpRun,ec as workflowEntrypoint};
3
+ `)}function ji(e){return typeof e==`object`&&e?e.cause:void 0}function Mi(e){let t=e.errors;return Array.isArray(t)?t.slice(0,4).map(ki):[]}function Ni(e){return typeof e==`object`&&!!e&&`name`in e&&e.name===`AbortError`&&`message`in e&&typeof e.message==`string`&&(!(`stack`in e)||e.stack===void 0||typeof e.stack==`string`)}function Pi(e){if(!Ni(e)||X.is(e))return e;let t=new X(`Aborted: ${e.message}`);return e.stack&&(t.stack=e.stack),t}function Fi(e){return typeof e==`object`&&!!e&&`then`in e&&typeof e.then==`function`}function Ii(e){if(si.isNativeError(e))return{name:e.name,message:e.message,stack:e.stack??``};if(typeof e==`string`)return{name:`Error`,message:e,stack:``};try{return{name:`Error`,message:JSON.stringify(e),stack:``}}catch{return{name:`Error`,message:String(e),stack:``}}}async function Li(e){if(Fi(e))try{let t=await Li(await e);return{...t,message:`Promise rejection: ${t.message}`}}catch(e){let t=await Li(e);return{...t,message:`Promise rejection: ${t.message}`}}return Ii(e)}const Ri=Symbol.for(`@workflow/core//lifecycleHooks`);function zi(){return Object.hasOwn(globalThis,Ri)||Object.defineProperty(globalThis,Ri,{value:[],writable:!1,enumerable:!1,configurable:!1}),globalThis[Ri]}function Bi(e,t,n,r,i){let a,o=(r,i)=>{let o=(e,t)=>{try{return e()}catch{return t}},s=o(()=>Ei(i),`Error`),c=o(()=>Di(i),`[unavailable error message]`),l=o(()=>Oi(i),``);try{a?.addEvent(`workflow.lifecycle.failure`,{phase:r,"exception.type":s,"exception.message":c,"exception.stacktrace":l})}catch{}try{G.error(`Workflow lifecycle ${n} ${r}`,{workflowRunId:e,workflowName:t,errorName:s,errorMessage:c,errorStack:l})}catch{}};try{let s=zi().slice().filter(e=>{try{return!!e[n]}catch(e){return o(`handler property access threw`,e),!1}});if(s.length===0)return;Vr(K(`workflow.lifecycle.${n}`,{attributes:{...it(e),...ke(t)}},async e=>{a=e;let t=[];try{let e=await r(t,e=>o(`error hydration failed`,e));for(let t of s)try{await i(t,e)}catch(e){o(`handler threw`,e)}}finally{let e=0;for(;e<t.length;){let n=t.slice(e);e=t.length;let r=await Promise.allSettled(n);for(let e of r)e.status===`rejected`&&o(`stream operation failed`,e.reason)}}}),e=>o(`dispatch failed`,e))}catch(e){o(`dispatch failed`,e)}}function Vi(e,t){Bi(e,t,`onRunCompleted`,async()=>({run:new ni(e),workflowName:t}),(e,t)=>e.onRunCompleted?.(t))}async function Hi(e,t,n,r,i){try{return await S(e,t,n,r,globalThis,void 0,{lazyStreams:!0,liveAbortSignals:!1})}catch(e){return i(e),Error(`Failed to hydrate workflow run error`)}}function Ui(e,t,n,r,i){Bi(e,t,`onRunFailed`,async(a,o)=>({run:new ni(e),workflowName:t,error:new on(e,await Hi(n,e,r,a,o),{errorCode:i})}),(e,t)=>e.onRunFailed?.(t))}const Wi={outcome:`continue`};function Gi(e,t,n){return{outcome:e,spanAttributes:{...Yt(t),...ge(n),...k(e===`rerouted`)}}}async function Ki({world:e,run:t,workflowName:n,requestId:r,retryCount:i=0,reenqueue:a,isDeploymentUnavailableError:o,beforeStop:s}){if(e.capabilities?.deploymentAffinity!==!0)return Wi;let c=await e.getDeploymentId();if(t.deploymentId===c)return Wi;await s?.();let l=hr(),u={workflowRunId:t.runId,pinnedDeploymentId:t.deploymentId,actualDeploymentId:c,retryCount:i,maxRetries:l},d=async(i,a)=>{let o=new cn(t.runId,t.deploymentId,c,{recoveryAttempts:i,cause:a}),s;try{s=await St(o,t.runId,void 0,void 0,(t.specVersion??0)>=5),await e.events.create(t.runId,{eventType:`run_failed`,specVersion:Br(t.specVersion),eventData:{error:s,errorCode:q.DEPLOYMENT_MISMATCH}},{requestId:r})}catch(e){if(!Z.is(e)&&!Y.is(e))throw e;return Gi(`failed`,t.deploymentId,i)}return Ui(t.runId,n,s,void 0,q.DEPLOYMENT_MISMATCH),Gi(`failed`,t.deploymentId,i)};if(a&&i<l){let e=i+1,n=Math.min(2**i,8);try{return await a({deploymentId:t.deploymentId,specVersion:t.specVersion,deploymentMismatchRetryCount:e,delaySeconds:n}),G.warn(`Workflow run received by a deployment it is not pinned to; re-routing to its own deployment`,{...u,attempt:e,delaySeconds:n}),Gi(`rerouted`,t.deploymentId,e)}catch(t){if(!o?.(t))throw t;return G.error(`Cannot re-route a misrouted workflow run to its own deployment; failing the run`,{...u,attempt:e,errorMessage:t instanceof Error?t.message:String(t)}),d(0,t)}}return G.error(i>0?`Workflow run kept arriving at a deployment it is not pinned to after re-routing; failing the run`:`Workflow run received by a deployment it is not pinned to; failing the run`,u),d(i)}const qi=[.5,.8,.95],Ji=i(`@workflow/core//eventLimitWarnings`,1,()=>new Set);function Yi(e,t){if(t===void 0||t<=0||t>=2**53-1)return;let n;for(let r of qi)e>=Math.ceil(t*r)&&(n=r);return n}function Xi(e){let{runId:t,workflowName:n,eventCount:r,limit:i,isQuickJS:a}=e,o=Yi(r,i);if(o===void 0)return;let s=`${t}:${o}`;if(Ji.has(s))return;Ji.size>=1e4&&Ji.clear(),Ji.add(s);let c=a?`This QuickJS run is still subject to the limit because it was not started with a positive snapshot threshold (WORKFLOW_SNAPSHOT_THRESHOLD=0, or WORKFLOW_VM=quickjs was not set where the run was started). Runs started with WORKFLOW_VM=quickjs and snapshotting enabled are exempt.`:_n;G.forRun(t,n).warn(`Workflow run is approaching the per-run event limit (${r} of ${i} events, ${Math.round(o*100)}%). The run will fail with MAX_EVENTS_EXCEEDED when it reaches the limit. ${c}`,{eventCount:r,maxEvents:i,milestone:o,docs:`https://workflow-sdk.dev/err/max-events-exceeded`})}function Zi(e){let t=new Set,n=new Map;for(let r of e)switch(r.eventType){case`hook_created`:t.add(r.correlationId);break;case`hook_disposed`:t.delete(r.correlationId);break;case`wait_created`:n.set(r.correlationId,Qi(r.eventData?.resumeAt));break;case`wait_completed`:n.delete(r.correlationId)}let r;for(let e of n.values())(r===void 0||e<r)&&(r=e);return{openHook:t.size>0,openWait:n.size>0,earliestOpenWaitResumeAtMs:r}}function Qi(e){let t;if(e instanceof Date)t=e.getTime();else if(typeof e==`number`)t=e;else if(typeof e==`string`)t=new Date(e).getTime();else return-1/0;return Number.isFinite(t)?t:-1/0}function $i(e,t){return e.earliestOpenWaitResumeAtMs!==void 0&&e.earliestOpenWaitResumeAtMs<=t}function ea(e){let t=0,n=0,r=0,i=0,a=0;for(let o of e.items){if(o.type===`step`){e.selfExecutedStepIds.has(o.correlationId)||a++;continue}o.type!==`hook`||o.disposed||(o.isSystem?i++:e.observedHookIds===void 0?r++:e.observedHookIds.has(o.correlationId)?t++:n++)}return{observedHookCount:t,unobservedHookCount:n,unknownHookCount:r,abortSignalHookCount:i,externalStepCount:a,waitDue:e.waitDue,inert:t===0&&r===0&&i===0&&a===0&&!e.waitDue}}function ta(){throw Error(`Unsupported in eve: @workflow/core createWorld(). eve selects and wires the workflow world explicitly at build time.`)}function na(){try{return ai(li(process.cwd()+`/package.json`).href)}catch{return ai(import.meta.url)}}const ra=Symbol.for(`@workflow/world//cache`),ia=Symbol.for(`@workflow/world//stubbedCache`),aa=Symbol.for(`@workflow/world//cachePromise`),oa=Symbol.for(`@workflow/world//stubbedCachePromise`),$=globalThis;function sa(e){if(typeof e.createWorld==`function`)return e.createWorld();if(typeof e.default==`function`)return e.default();if(e.default&&typeof e.default==`object`)return e.default;throw Error(`Invalid target world module: must export createWorld(), a default factory, or a default World instance.`)}function ca(e){if(e.startsWith(`file://`))return e;if(e.startsWith(`/`))return li(e).href;if(e.startsWith(`./`)||e.startsWith(`../`))return li(process.cwd()+`/`+e).href;try{return li(na().resolve(e)).href}catch{return e}}const la=async()=>{let e=pi();if(mi(e)){let e=[`WORKFLOW_VERCEL_PROJECT`,`WORKFLOW_VERCEL_TEAM`,`WORKFLOW_VERCEL_AUTH_TOKEN`,`WORKFLOW_VERCEL_ENV`].filter(e=>process.env[e]);return e.length>0&&process.env.VERCEL===`1`&&console.warn(`[workflow] Warning: ${e.join(`, `)} env var(s) are set but have no effect at runtime. These are only used by the Workflow CLI. Remove them from your Vercel project environment variables.`),ta()}if(e===`local`)return ta({dataDir:process.env.WORKFLOW_LOCAL_DATA_DIR});let t;try{t=na()(e)}catch{t=await import(ca(e))}if(typeof t==`function`)return t();try{return await sa(t)}catch{throw Error(`Invalid target world module: ${e}, must export a createWorld function or a default function that returns a World instance.`)}},ua=async()=>{if($[ia])return R($[ia]),$[ia];$[oa]||($[oa]=la().catch(e=>{throw $[oa]=void 0,e}));let e=await $[oa];return R(e),$[ia]=e,{createQueueHandler:e.createQueueHandler,specVersion:e.specVersion}},da=async()=>$[ra]?(R($[ra]),$[ra]):($[aa]||($[aa]=la().catch(e=>{throw $[aa]=void 0,e})),$[ra]=await $[aa],R($[ra]),$[ra]),fa=e=>{$[ra]=e,$[ia]=e,$[aa]=void 0,$[oa]=void 0},pa=Symbol.for(`@workflow/world//getWorldFn`);globalThis[pa]??=da;var ma=class{limitMs;elapsedMs=0;intervalStart;constructor(e=Wn()){this.limitMs=e,this.intervalStart=Date.now()}get configuredLimitMs(){return this.limitMs}elapsed(){let e=this.intervalStart===null?0:Date.now()-this.intervalStart;return this.elapsedMs+e}pause(){this.intervalStart!==null&&(this.elapsedMs+=Date.now()-this.intervalStart,this.intervalStart=null)}resume(){this.intervalStart=Date.now()}isExhausted(){return this.elapsed()>=this.limitMs}},ha=class extends Error{name=`ReplayTimeoutRetryError`};async function ga(e){let{runId:t,workflowName:n,requestId:r,attempt:i,limitMs:a,slotSnapshot:o}=e,s=G.forRun(t,n),c=rr();if(i<=c)throw s.warn(`Workflow replay exceeded timeout; retrying delivery`,{timeoutMs:a,attempt:i,maxRetries:c}),new ha(`Workflow replay exceeded maximum duration (${a/1e3}s)`);let l=await da(),u=bi(void 0,q.REPLAY_TIMEOUT);s.error(`Workflow replay exceeded timeout and max retries exceeded. Failing the run`,{timeoutMs:a,attempt:i,maxRetries:c,errorCode:u.errorCode,errorAttribution:u.attribution});let d=fr(l,t),f=new X(ln(`Workflow replay exceeded maximum duration (${a/1e3}s) after ${i} attempts`,{hint:`Replay time grows with the size of the event log. ${_n}`,slug:yn.REPLAY_TIMEOUT})),p=await d(),m=await St(f,t,p);await l.events.create(t,{eventType:`run_failed`,specVersion:8,eventData:{error:m,errorCode:q.REPLAY_TIMEOUT}},{requestId:r,...o}),Ui(t,n,m,p,q.REPLAY_TIMEOUT)}var _a=class{divergenceCount;active=!1;reported=!1;constructor(e){this.divergenceCount=e}static inert(){return new va}activate(){this.active=!0}async withEventCreate(e,t){if(!this.active||this.reported)return t(e);this.reported=!0;try{return await t({...e,replayDivergenceCount:this.divergenceCount})}catch(e){throw this.reported=!1,e}}},va=class extends _a{constructor(){super(0)}activate(){}};function ya(e,t){if(e&&Number.isFinite(e.resumeRequestedAtMs)&&Number.isFinite(e.queuePublishRequestedAtMs))return{trigger:`hook`,...e.strategy===`lazy`||e.strategy===`parallel`||e.strategy===`sequential`?{strategy:e.strategy}:{},resumeRequestedAtMs:e.resumeRequestedAtMs,queuePublishRequestedAtMs:e.queuePublishRequestedAtMs,consumerStartedAtMs:e.consumerStartedAtMs??NaN,...e.replayStartedAtMs===void 0?{}:{replayStartedAtMs:e.replayStartedAtMs},...e.nextStepEncounteredAtMs===void 0?{}:{nextStepEncounteredAtMs:e.nextStepEncounteredAtMs},...e.setupSource===`hook_preload`||e.setupSource===`run_started`||e.setupSource===`event_load`?{setupSource:e.setupSource}:{},stepExecution:t}}function ba(e){if(e&&Number.isFinite(e.consumerStartedAtMs))return{resumeRequestedAtMs:e.resumeRequestedAtMs,queuePublishRequestedAtMs:e.queuePublishRequestedAtMs,...e.strategy===void 0?{}:{strategy:e.strategy},consumerStartedAtMs:e.consumerStartedAtMs,...e.replayStartedAtMs===void 0?{}:{replayStartedAtMs:e.replayStartedAtMs},...e.nextStepEncounteredAtMs===void 0?{}:{nextStepEncounteredAtMs:e.nextStepEncounteredAtMs},...e.setupSource===void 0?{}:{setupSource:e.setupSource}}}function xa(e){let t=[e.resumeRequestedAtMs,e.queuePublishRequestedAtMs,e.consumerStartedAtMs,e.replayStartedAtMs,e.nextStepEncounteredAtMs,e.stepClaimStartedAtMs,...e.stepClaimCompletedAtMs===void 0?[]:[e.stepClaimCompletedAtMs],e.stepCodeStartedAtMs];for(let e of t)if(typeof e!=`number`||!Number.isFinite(e))return;for(let e=1;e<t.length;e++)if(t[e]<t[e-1])return;return t}function Sa(e){let{tracking:t}=e;if(!t||e.attempt!==1||t.replayStartedAtMs===void 0||t.nextStepEncounteredAtMs===void 0||e.stepClaimStartedAtMs===void 0)return;let n={resumeRequestedAtMs:t.resumeRequestedAtMs,queuePublishRequestedAtMs:t.queuePublishRequestedAtMs,consumerStartedAtMs:t.consumerStartedAtMs,replayStartedAtMs:t.replayStartedAtMs,nextStepEncounteredAtMs:t.nextStepEncounteredAtMs,stepClaimStartedAtMs:e.stepClaimStartedAtMs,stepClaimCompletedAtMs:e.stepClaimCompletedAtMs,stepCodeStartedAtMs:e.stepCodeStartedAtMs};if(!xa(n))return;let{resumeRequestedAtMs:r,queuePublishRequestedAtMs:i,consumerStartedAtMs:a,replayStartedAtMs:o,nextStepEncounteredAtMs:s,stepClaimStartedAtMs:c,stepClaimCompletedAtMs:l,stepCodeStartedAtMs:u}=n;return{...se(u-r),...xe(i-r),...an(a-i),...Ae(o-a),...D(s-o),...Ne(c-s),...l===void 0?{}:De(l-c),...le(u-(l??c)),...Le(t.trigger),...t.strategy===void 0?{}:zt(t.strategy),...t.setupSource===void 0?{}:ne(t.setupSource),...I(t.stepExecution)}}function Ca(e){let t=e.startsWith(`wrun_`)?e.slice(5):e;try{return l(ii(t).ulid)}catch{return}}function wa(e,t){try{e.stack=t;return}catch{}try{Object.defineProperty(e,"stack",{value:t,writable:!0,configurable:!0})}catch{}}const Ta=i(`@workflow/core//devServerPort`,1,()=>({getPort:void 0,cachedPort:void 0,inFlight:void 0}));async function Ea(){if(Ta.cachedPort!==void 0)return Ta.cachedPort;if(Ta.inFlight)return Ta.inFlight;if(!Ta.getPort)try{let e=[`@workflow/utils`,`get-port`].join(`/`),t=ai(li(process.cwd()+`/package.json`).href)(e);Ta.getPort=t.getPort}catch{Ta.getPort=async()=>void 0}let e=Ta.getPort??(async()=>void 0);return Ta.inFlight=e().then(e=>(typeof e==`number`&&(Ta.cachedPort=e),e)).finally(()=>{Ta.inFlight=void 0}),Ta.inFlight}const Da=new Set([`step_created`,`step_started`,`step_completed`,`step_failed`,`step_retrying`,`hook_received`,`wait_created`,`wait_completed`]);function Oa(e){let{events:t}=e,n=e.invocationStartedClean&&e.runCreatedAtMs!==void 0&&!e.suspensionHasWaits,r;if(n)for(let e of t){if(Da.has(e.eventType)){n=!1;break}if(e.eventType===`attr_set`){let t=+(e.occurredAt??e.createdAt);r=r===void 0?t:Math.min(r,t)}}let i,a,o,s=t[t.length-1];if(!e.suspensionHasWaits&&!e.suspensionCreatedHooks&&s&&(s.eventType===`step_completed`||s.eventType===`step_failed`)){i=+(s.occurredAt??s.createdAt);let e=new Set;for(let n of t)(n.eventType===`step_completed`||n.eventType===`step_failed`)&&n.correlationId!==void 0&&e.add(n.correlationId);a=e.size,o=t.length}let c=n&&e.runStartedReceivedAtMs!==void 0;if(n||i!==void 0)return{...n?{ttfsAnchorMs:e.runCreatedAtMs,preStepBlockingMs:r===void 0?e.preStepBlockingMs:e.preStepBlockingBeforeAttrMs??0,...r===void 0?{}:{preStepAttrStartMs:r}}:{},...c?{rsfsAnchorMs:e.runStartedReceivedAtMs}:{},...i===void 0?{}:{prevStepEndMs:i,stepCount:a,eventCount:o},replayMs:e.replayMs,turbo:e.turbo,retained:e.retained}}function ka(e){let{tracking:t}=e;if(!t||e.attempt!==1)return;let n=t.preStepAttrStartMs??e.stepCodeStartedAtMs,r=t.ttfsAnchorMs===void 0?void 0:n-t.ttfsAnchorMs-(t.preStepBlockingMs??0),i=r!==void 0&&r>=-6e4?Math.max(0,r):void 0,a=t.prevStepEndMs===void 0?void 0:e.stepCodeStartedAtMs-t.prevStepEndMs,o=a!==void 0&&a>=-6e4?Math.max(0,a):void 0,s=t.rsfsAnchorMs!==void 0&&e.stepStartPostSentAtMs!==void 0?Math.max(0,e.stepStartPostSentAtMs-t.rsfsAnchorMs):void 0,c=t.replayMs===void 0?void 0:Math.max(0,t.replayMs);if(i===void 0&&o===void 0)return;let l=[];return t.turbo&&l.push(`turbo`),e.lazyStepStart&&l.push(`lazyStepStart`),e.optimisticStart&&l.push(`optimisticStart`),e.preclaimedStart&&l.push(`preclaimedStart`),t.retained&&l.push(`retained`),{...i===void 0?{}:{ttfs:i},...o===void 0?{}:{stso:o},...o!==void 0&&t.stepCount!==void 0?{stepCount:t.stepCount}:{},...o!==void 0&&t.eventCount!==void 0?{eventCount:t.eventCount}:{},...s===void 0?{}:{rsfs:s},...c===void 0?{}:{finalSchedulingReplay:c},optimizations:l}}const Aa=`__workflowUnserializableStepInput`;function ja(){return{args:[`[input unavailable: step argument serialization failed]`],closureVars:[],thisVal:void 0,[Aa]:!0}}function Ma(e){return typeof e==`object`&&!!e&&e[Aa]===!0}function Na(){return d(`WORKFLOW_STEP_STREAM_DRAIN_TIMEOUT_MS`,3e4,{integer:!0,min:1})}function Pa(e){let t=e?.name;return t===`AbortError`||t===`ResponseAborted`}async function Fa(e){if(e.length===0)return;let t=Na(),n;try{await Promise.race([Promise.all(e.map(e=>(e.settleReleasedWrites?.()??Promise.resolve(!1)).catch(e=>{if(!Pa(e))throw e;return!1}))),new Promise((e,r)=>{n=setTimeout(()=>r(new J(`Timed out draining step stream writes after ${t}ms`)),t)})])}catch(e){if(!Pa(e))throw e}finally{n!==void 0&&clearTimeout(n)}}function Ia(e,t){if(t&&e.events&&e.cursor!==void 0)return{events:e.events,cursor:e.cursor,hasMore:e.hasMore??!1}}async function La(e){let{world:t,workflowRunId:n,workflowName:r,workflowStartedAt:i,stepId:a,stepName:o}=e,s=!!process.env.VERCEL_URL,c=(e.runSpecVersion??0)>=5,l=e.replayRecoveryReporter??_a.inert(),u=async(e,r)=>l.withEventCreate(gr(r),r=>t.events.create(n,e,r)),d={computeInstanceId:Ci,...e.requestId?{requestId:e.requestId}:{}},f=`step.execute ${Ut(o)}`;return K(f,{},async l=>{if(l?.setAttributes({...Ct(o),...ke(r),...it(n),...Nt(a)}),ci(!(e.lazyStepInput!==void 0&&e.preclaimedStart),`executeStep: lazyStepInput and preclaimedStart are mutually exclusive`),e.preclaimedStart&&e.preclaimedStart.owned===!1)return G.debug(`Pre-claimed step start lost, skipping`,{stepName:o,stepId:a,workflowRunId:n}),l?.setAttributes({...lt(!0),...dt(`running`)}),{type:`skipped`};let f=fr(t,n),p=Mn(o);if(!p||typeof p!=`function`){let t=`Step "${o}" is not registered in the current deployment. This usually indicates a build or bundling issue that caused the step to not be included in the deployment.`;if(G.error(`Step function not registered, failing step`,{workflowRunId:n,stepName:o,stepId:a}),e.lazyStepInput!==void 0)try{e.runReadyBarrier&&await e.runReadyBarrier.catch(()=>{}),await u({eventType:`step_started`,specVersion:8,correlationId:a,eventData:{stepName:o,workflowName:r,input:e.lazyStepInput,...e.ownerMessageId===void 0?{}:{ownerMessageId:e.ownerMessageId}}},d)}catch(e){if(Z.is(e))return{type:`skipped`};if(Y.is(e))return{type:`gone`};throw e}try{await u({eventType:`step_failed`,specVersion:8,correlationId:a,eventData:{stepName:o,error:await Qe(new X(t),n,await f(),[],globalThis,c)}})}catch(e){if(Z.is(e))return{type:`skipped`};throw e}return l?.setAttributes({...en(`failed`),...mt(!0)}),{type:`failed`}}let m=p.maxRetries??3;if(l?.setAttributes({...Xe(m)}),e.authoritativeAttempt!==void 0&&e.authoritativeAttempt>m+1){let t=m,r=`Step "${o}" exceeded max retries (${t} ${En(`retry`,`retries`,t)})`;Pe.error(`Step exceeded max retries`,{workflowRunId:n,stepName:o,stepId:a,attempt:e.authoritativeAttempt,maxRetries:m});try{await u({eventType:`step_failed`,specVersion:8,correlationId:a,eventData:{stepName:o,error:await Qe(new X(r),n,await f(),[],globalThis,c)}})}catch(e){if(Z.is(e))return G.info(`Tried failing step for exceeded retries, but step has already finished.`,{workflowRunId:n,stepId:a,stepName:o,message:e instanceof Error?e.message:String(e)}),{type:`skipped`};if(Y.is(e))return{type:`gone`};throw e}return l?.setAttributes({...en(`failed`),...$e(!0)}),{type:`failed`}}let h=e=>{if(mn.is(e)){let t=Math.max(1,typeof e.retryAfter==`number`?e.retryAfter:1);return G.info(`Throttled on step_started, deferring`,{retryAfterSeconds:t}),{type:`throttled`,timeoutSeconds:t}}if(Y.is(e))return G.info(`Workflow run "${n}" has already completed, skipping step "${a}": ${e.message}`),{type:`gone`};if(Z.is(e))return G.debug(`Step in terminal state, skipping`,{stepName:o,stepId:a,workflowRunId:n,error:e instanceof Error?e.message:String(e)}),l?.setAttributes({...lt(!0),...dt(`completed`)}),{type:`skipped`};if(sn.is(e)){let t=Math.max(1,e.retryAfter??1);return G.debug(`Step retryAfter timestamp not yet reached`,{stepName:o,stepId:a,timeoutSeconds:t}),{type:`retry`,timeoutSeconds:t}}},g=e.preclaimedStart===void 0&&e.lazyStepInput!==void 0&&e.suppressOptimisticStart!==!0&&(qn()||e.forceOptimisticStart===!0&&!xr());e.preclaimedStart?l?.setAttributes(Be(`batch_preclaimed`)):e.lazyStepInput!==void 0&&l?.setAttributes(Be(g?`optimistic`:`awaited`));let _,v=d,y,b,S,C=async()=>{if(!S)return;let e=await S;if(e.ok)return;let t=h(e.err);if(!t)throw e.err;return t};if(e.preclaimedStart?.owned)_=e.preclaimedStart.step,y=e.preclaimedStart.batchPostSentAtMs,b=e.preclaimedStart.claimCompletedAtMs;else if(g){S=(e.runReadyBarrier??Promise.resolve()).then(()=>(y=Date.now(),u({eventType:`step_started`,specVersion:8,correlationId:a,eventData:{stepName:o,workflowName:r,input:e.lazyStepInput,...e.ownerMessageId===void 0?{}:{ownerMessageId:e.ownerMessageId}}},v))).then(()=>({ok:!0}),e=>({ok:!1,err:e}));let t=new Date;_={runId:n,stepId:a,stepName:o,status:`running`,input:e.lazyStepInput,attempt:1,startedAt:t,createdAt:t,updatedAt:t}}else try{let t=e.ownerMessageId===void 0?{}:{ownerMessageId:e.ownerMessageId};e.runReadyBarrier&&await e.runReadyBarrier.catch(()=>{}),y=Date.now();let n=await u({eventType:`step_started`,specVersion:8,correlationId:a,eventData:e.lazyStepInput===void 0?{stepName:o,...t}:{stepName:o,workflowName:r,input:e.lazyStepInput,...t}},v);b=Date.now(),_=n.step}catch(e){let t=h(e);if(t)return t;throw e}G.debug(`Step execution details`,{stepName:o,stepId:_.stepId,status:_.status,attempt:_.attempt}),l?.setAttributes({...en(_.status)});let w;if(_.attempt>m+1&&_.error){let e=_.attempt-1,t=`Step "${o}" exceeded max retries (${e} ${En(`retry`,`retries`,e)})`;Pe.error(`Step exceeded max retries`,{workflowRunId:n,stepName:o,retryCount:e});let r=new X(t);if(_.error!=null)try{r.cause=await V(_.error,n,await f())}catch{}try{await u({eventType:`step_failed`,specVersion:8,correlationId:a,eventData:{stepName:o,error:await Qe(r,n,await f(),[],globalThis,c)}})}catch(e){if(Z.is(e))return G.info(`Tried failing step, but step has already finished.`,{workflowRunId:n,stepId:a,stepName:o,message:e.message}),{type:`skipped`};throw e}return l?.setAttributes({...en(`failed`),...$e(!0)}),{type:`failed`}}let T=[],E=[],D=[],O=!0,k,A=()=>{if(!k||k.rsfs!==void 0)return;let t=e.latencyTracking?.rsfsAnchorMs;t!==void 0&&y!==void 0&&(k.rsfs=Math.max(0,y-t),l&&l.setAttributes({...Dt(k.rsfs)}))};try{let u=_.attempt;if(!_.startedAt)throw new J(`Step "${a}" has no "startedAt" timestamp`);let d=_.startedAt,m=e.encryptionKey??await f(),h=await K(`step.hydrate`,{},async t=>{let r=Date.now(),i=await _t(_.input,n,m,E,globalThis,{},e.workflowDeploymentId,D,g?e.runReadyBarrier:void 0),a=Date.now()-r;return t?.setAttributes({...x(i.args.length),...U(a)}),i});if(Ma(h)){let{message:e,hint:t}=ie(`step arguments`,void 0);throw new Tn(e,{hint:t})}let v=h.args,S=h.thisVal??null,j=In(s?`https://${process.env.VERCEL_URL}`:`http://localhost:${await Ea()??3e3}`),ee,M=!1,P=Date.now();k=ka({tracking:e.latencyTracking,stepCodeStartedAtMs:P,attempt:u,lazyStepStart:e.lazyStepInput!==void 0,optimisticStart:g,preclaimedStart:e.preclaimedStart!==void 0,stepStartPostSentAtMs:y}),k&&l?.setAttributes({...k.ttfs===void 0?{}:qe(k.ttfs),...k.stso===void 0?{}:nn(k.stso),...k.rsfs===void 0?{}:Dt(k.rsfs),...k.finalSchedulingReplay===void 0?{}:We(k.finalSchedulingReplay),...Wt(k.optimizations??[])});let F=()=>{let t=e.resumeTracking;if(!t||t.reported)return;let n=Sa({tracking:t,attempt:u,stepClaimStartedAtMs:y,stepClaimCompletedAtMs:b,stepCodeStartedAtMs:Date.now()});n&&(t.reported=!0,l?.setAttributes(n))},I=`ok`,L=performance.now();try{w=await K(`step.execute`,{},async()=>await It.run({stepMetadata:{stepName:o,stepId:a,stepStartedAt:new Date(+d),attempt:u},workflowMetadata:{workflowName:r,workflowRunId:n,workflowStartedAt:new Date(+i),url:j,features:{encryption:!!m}},workflowDeploymentId:e.workflowDeploymentId,rootRunId:e.rootRunId,ops:E,preCompletionOps:T,streamStates:D,closureVars:h.closureVars,encryptionKey:m,runReadyBarrier:g?e.runReadyBarrier:void 0},()=>(F(),t.telemetry?.recordStepExecution?.(a),p.apply(S,v))))}catch(e){I=`error`,ee=e,M=!0}finally{Kt(performance.now()-L,I)}let te=Date.now()-P;if(He(...v,S,h.closureVars),M)throw await Fa(D).catch(e=>{G.warn(`Failed to drain released streams after step error`,{workflowRunId:n,stepId:a,error:e instanceof Error?e.message:String(e)})}),ee;if(l?.setAttributes({...N(te)}),w=await K(`step.dehydrate`,{},async t=>{let r=Date.now(),i=await ot(w,n,m,E,globalThis,!1,!1,c,g?e.runReadyBarrier:void 0),a=Date.now()-r;return t?.setAttributes({...de(a),...Qt(typeof i)}),i}),E.length>0){let e=Promise.all(E);Vr(e,e=>{G.warn(`Background flush of step stream ops failed`,{workflowRunId:n,stepId:a,error:e instanceof Error?e.message:String(e)})}),O=!1;let t=Promise.race([e.then(()=>{O=!0},e=>{if(Pa(e)){O=!0;return}throw e}),new Promise(e=>setTimeout(e,500))]);t.catch(()=>{}),await Fa(D),await t}if(g){let e=await C();if(e)return e;A()}T.length>0&&await Promise.all(T).catch(()=>{})}catch(e){if(g){let e=await C();if(e)return e;A()}T.length>0&&await Promise.all(T).catch(()=>{});let t=Pi(e),r=await Li(t),i=r.stack||Oi(t)||``;t instanceof Error&&l?.recordException?.(t);let s=X.is(t);if(l?.setAttributes({...Vt(Ei(t)),...At(r.message),...ut(Ei(t)),...Ot(s?`fatal`:vn.is(t)?`retryable`:`transient`),...ft(!s)}),Y.is(e))return Pe.info(`Workflow run already completed, skipping step`,{workflowRunId:n,stepId:a,message:e.message}),{type:`gone`};if(s){Pe.error(`Encountered FatalError while executing step, bubbling up to parent workflow`,{workflowRunId:n,stepName:o,errorStack:i}),si.isNativeError(t)&&i&&wa(t,i);try{await u({eventType:`step_failed`,specVersion:8,correlationId:a,eventData:{stepName:o,error:await Qe(t,n,await f(),[],globalThis,c),...k}},{afterStepBody:!0})}catch(e){if(Z.is(e))return G.info(`Tried failing step, but step has already finished.`,{workflowRunId:n,stepId:a,stepName:o,message:e.message}),{type:`skipped`};throw e}return l?.setAttributes({...en(`failed`),...mt(!0)}),{type:`failed`}}let d=_.attempt;if(l?.setAttributes({...rt(d),...Xe(m)}),d>=m+1){let t=_.attempt-1;Pe.error(`Max retries reached, bubbling error to parent workflow`,{workflowRunId:n,stepName:o,attempt:_.attempt,retryCount:t,errorStack:i});let s=`Step "${o}" failed after ${m} ${En(`retry`,`retries`,m)}: ${r.message}`,d=new X(s);d.cause=e,i&&(d.stack=i);try{await u({eventType:`step_failed`,specVersion:8,correlationId:a,eventData:{stepName:o,error:await Qe(d,n,await f(),[],globalThis,c),...k}},{afterStepBody:!0})}catch(e){if(Z.is(e))return G.info(`Tried failing step, but step has already finished.`,{workflowRunId:n,stepId:a,stepName:o,message:e.message}),{type:`skipped`};throw e}return l?.setAttributes({...en(`failed`),...$e(!0)}),{type:`failed`}}vn.is(e)?Pe.info(`Encountered RetryableError, step will be retried`,{workflowRunId:n,stepName:o,attempt:d,message:e.message}):Pe.info(`Encountered Error, step will be retried`,{workflowRunId:n,stepName:o,attempt:d,errorStack:i}),si.isNativeError(e)&&i&&wa(e,i);try{await u({eventType:`step_retrying`,specVersion:8,correlationId:a,eventData:{stepName:o,error:await Qe(e,n,await f(),[],globalThis,c),...vn.is(e)&&{retryAfter:e.retryAfter}}})}catch(e){if(Z.is(e))return G.info(`Tried retrying step, but step has already finished.`,{workflowRunId:n,stepId:a,stepName:o,message:e.message}),{type:`skipped`};throw e}let p=Math.max(1,vn.is(e)?Math.ceil((+e.retryAfter.getTime()-Date.now())/1e3):1);return l?.setAttributes({...st(p),...Ft(!0)}),{type:`retry`,timeoutSeconds:p}}let j;try{j=await u({eventType:`step_completed`,specVersion:8,correlationId:a,eventData:{stepName:o,workflowName:r,result:w,...k}},e.inlineDeltaSinceCursor===void 0?void 0:{sinceCursor:e.inlineDeltaSinceCursor})}catch(e){if(Z.is(e))return G.info(`Tried completing step, but step has already finished.`,{workflowRunId:n,stepId:a,stepName:o,message:e.message}),{type:`skipped`};if(Y.is(e))return Pe.info(`Workflow run already completed, skipping step`,{workflowRunId:n,stepId:a,message:e.message}),{type:`gone`};throw e}let ee=Ia(j,e.inlineDeltaSinceCursor!==void 0);return l?.setAttributes({...en(`completed`),...Qt(typeof w)}),E.length>0&&Pe.debug(`Step has pending ops`,{workflowRunId:n,stepName:o,opsCount:E.length}),{type:`completed`,hasPendingOps:!O,inlineDelta:ee}})}function Ra(e){return e.hasCreatedEvent===!0&&e.ownerMessageId!==void 0&&e.sawRetrying!==!0}function za(e,t){if(e.lastStartedAt===void 0)return 0;let n=Yn(),r=e.lastStartedAt+n*1e3-t;return Math.min(n,Math.max(0,Math.ceil(r/1e3)))}function Ba(e){return`${e.correlationId}:backstop:${e.lastStartedAt}`}function Va(e,t,n){let r=new Map,i=new Set;for(let t of e)if(t.correlationId!==void 0){if(t.eventType===`step_started`){let e=`eventData`in t&&t.eventData&&`ownerMessageId`in t.eventData&&typeof t.eventData.ownerMessageId==`string`?t.eventData.ownerMessageId:void 0;r.set(t.correlationId,e)}else t.eventType===`step_retrying`&&i.add(t.correlationId)}for(let e of t)if(e!==void 0&&!i.has(e)&&r.get(e)===n)return!0;return!1}const Ha=i(`@workflow/core//stepSingleFlight`,1,()=>({inFlight:new Map}));async function Ua(e,t,n,r=`warn`){let i=`${e}:${t}`,a=Ha.inFlight.get(i);if(a){G[r](`Step execution already in flight in this process; awaiting its settlement instead of executing again`,{workflowRunId:e,stepId:t});try{await a}catch{}return{type:`skipped`}}let o=n();Ha.inFlight.set(i,o);try{return await o}finally{Ha.inFlight.delete(i)}}async function Wa({runId:e,hookEvent:t,queueItem:n,requestId:r,sinceCursor:i,createEvent:a,world:o,forceClaimVictimWakes:s}){try{let c=await a(t,{requestId:r,...i===void 0?{}:{sinceCursor:i}});if(c.event?.eventType===`hook_conflict`)return{hasHookConflict:!0,hasAwaitedHookCreation:!1};if(c.hook?.claimedFrom){s?.add(c.hook.hookId);let t=await Ir(o,e,c.hook);G.info(`Hook token force-claimed from another run`,{workflowRunId:e,hookId:n.correlationId,victimRunId:c.hook.claimedFrom.runId,victimWake:t})}return{hasHookConflict:!1,hasAwaitedHookCreation:n.hasConflictAwaiter===!0}}catch(t){if(Z.is(t))return G.info(`Hook already exists, continuing`,{workflowRunId:e,message:t.message}),{hasHookConflict:!1,hasAwaitedHookCreation:n.hasConflictAwaiter===!0};if(Y.is(t))return G.info(`Workflow run already completed, skipping hook`,{workflowRunId:e,message:t.message}),{hasHookConflict:!1,hasAwaitedHookCreation:!1};if(Ka(t)){let e=new X(`createHook failed World validation: ${t instanceof Error?t.message:String(t)}`);throw e.cause=t,e}throw t}}async function Ga({suspension:e,world:t,run:n,span:r,requestId:i,eventLog:a,runReadyBarrier:o,replayRecoveryReporter:s,stepDispatch:c,ownerMessageId:l,allowDeferredBatchWork:u,forceClaimVictimWakes:d}){let f=n.runId,p=Rr(t,f,a?.events,{alreadyWoken:d}),m=async()=>{if(o)try{await o}catch{}},h=async e=>{let t=(await Promise.allSettled(e)).filter(e=>e.status===`rejected`).map(e=>e.reason);if(t.length!==0)throw t.find(e=>gn.is(e))??t[0]},_=s??_a.inert(),v=(e,n)=>_.withEventCreate(n,n=>t.events.create(f,e,n)),y=0,b=0,x=!1,S=async(e,t)=>{if(b++,!a)return v(e,t);let n=a,r=await v(e,{...t,...Vn(n.events)});if(typeof t?.sinceCursor==`string`)return n.cursor===t.sinceCursor&&r.events!==void 0&&r.hasMore!==!0&&(or(n.events,r.events),n.cursor=r.cursor??n.cursor,x=!0),r;let i=mr(n.events,r);return y+=i.added,i.truncated?G.debug(`Dropped a truncated skipped-slot report`,{workflowRunId:f,eventType:e.eventType,eventId:r.event?.eventId,offered:i.offered}):i.added>0&&G.debug(`Suspension write skipped occupied slots`,{workflowRunId:f,eventType:e.eventType,eventId:r.event?.eventId,reported:i.added}),r},C=e.items.filter(e=>e.type===`step`),w=e.items.filter(e=>e.type===`hook`),T=e.items.filter(e=>e.type===`wait`),D=e.items.filter(e=>e.type===`attribute`),O=w.filter(e=>!e.hasCreatedEvent),k=new Map;for(let e of w){if(e.hasCreatedEvent&&!e.disposed)continue;let t=k.get(e.token);t?t.push(e):k.set(e.token,[e])}let A=await t.getEncryptionKeyForRun?.(n),j=A?await Ue(A):void 0,ee=(n.specVersion??0)>=5,M=0,N=[];async function F(t,n){let r={executions:[]};try{return await Zt(t,f,j,e.globalThis,!1,ee,r)}finally{M+=r.totalExecutions??r.executions.length,N.push(...r.executions.slice(0,5-N.length).map(e=>({...n,...e})))}}async function I(e){let t={eventType:`hook_disposed`,specVersion:8,correlationId:e.correlationId,eventData:{token:e.token}};try{await S(t,{requestId:i})}catch(t){if(Z.is(t))G.info(`Hook already disposed, skipping duplicate disposal`,{workflowRunId:f,correlationId:e.correlationId,message:t.message});else if(Y.is(t))G.info(`Workflow run already completed, skipping hook disposal`,{workflowRunId:f,correlationId:e.correlationId,message:t.message});else if(Sn.is(t))G.info(`Hook not found for disposal, continuing`,{workflowRunId:f,correlationId:e.correlationId,message:t.message});else throw t}}let L=[],te=[],R=0,ne=O.length===1&&typeof a?.cursor==`string`?a.cursor:void 0,re=C.some(e=>!e.hasCreatedEvent)||T.some(e=>!e.hasCreatedEvent)||D.length>0||w.some(e=>e.disposed||e.abortRequested),ie=a?(n.specVersion??0)<6?`unsupported_spec`:re?`other_suspension_writes`:O.some(e=>e.force||k.get(e.token)?.length!==1)?`dependent_hooks`:void 0:`no_event_log`,ae=ie?[]:O,oe=ae.length>1&&a?pr(a.events):void 0,se=new Set(oe===void 0?[]:ae.map(e=>e.correlationId)),z=new Map,ce=async(e,t)=>{b++;let n=await v(e,{...t,resolveData:`all`});return e.correlationId&&z.set(e.correlationId,n),n},le=async e=>{for(let n of e){let e=!1;if(!n.hasCreatedEvent){let r=n.metadata===void 0?void 0:await F(n.metadata,{source:`hook_metadata`,correlationId:n.correlationId}),a={eventType:`hook_created`,specVersion:8,correlationId:n.correlationId,eventData:{token:n.token,tokenRetentionUntil:n.tokenRetentionUntil,metadata:r,isWebhook:n.isWebhook??!1,...n.isSystem&&{isSystem:!0},...n.force&&{force:!0}}},o=await Wa({runId:f,hookEvent:a,queueItem:n,requestId:i,sinceCursor:ne,createEvent:se.has(n.correlationId)?ce:S,world:t,forceClaimVictimWakes:d});o.hasHookConflict&&L.push(n.correlationId),o.hasAwaitedHookCreation&&te.push(n.correlationId),e=o.hasHookConflict}n.disposed&&!e&&await I(n)}},ue=async e=>{try{let n=await F({aborted:!0,reason:e.abortReason},{source:`hook_abort`,correlationId:e.correlationId});await S({eventType:`hook_received`,specVersion:8,correlationId:e.correlationId,eventData:{token:e.token,payload:n}});try{let r=P(e.token);await t.streams.write(f,r,n),await t.streams.close(f,r)}catch{G.debug(`Failed to write abort stream packet, hook event will provide fallback`,{workflowRunId:f,correlationId:e.correlationId})}}catch(t){if(Z.is(t)||Y.is(t))G.info(`Workflow run already completed, skipping abort`,{workflowRunId:f,correlationId:e.correlationId,message:t.message});else throw t}},B=[...k.values()],de=w.filter(e=>e.abortRequested&&!e.disposed),V,fe=B.length>0||de.length>0?(async()=>{if(await m(),B.length>0){let e={startMs:Date.now()};V=e,await h(B.map(le)),e.endMs=Date.now()}de.length>0&&await h(de.map(ue))})():void 0,pe=new Set(C.filter(e=>!e.hasCreatedEvent).map(e=>e.correlationId)),me=new Set,he=new Set,ge=async(t,r)=>{G.warn(`Step arguments failed to serialize; failing the step so the workflow can observe the error`,{workflowRunId:f,correlationId:t.correlationId,stepName:t.stepName,error:r.message}),await m();let a=await Zt(ja(),f,j,e.globalThis,!1,ee);try{await S({eventType:`step_created`,specVersion:8,correlationId:t.correlationId,eventData:{stepName:t.stepName,workflowName:n.workflowName,input:a}},{requestId:i})}catch(e){if(Z.is(e))G.info(`Step already exists, continuing`,{workflowRunId:f,correlationId:t.correlationId,message:e.message});else if(Y.is(e))return;else throw e}try{await S({eventType:`step_failed`,specVersion:8,correlationId:t.correlationId,eventData:{stepName:t.stepName,error:await Qe(r,f,j,[],e.globalThis,ee)}},{requestId:i})}catch(e){if(Z.is(e)||Y.is(e))G.info(`Tried failing step, but step or run has already finished.`,{workflowRunId:f,correlationId:t.correlationId,message:e.message});else throw e}he.add(t.correlationId),ve.delete(t.correlationId)},_e=O.some(e=>e.hasConflictAwaiter===!0),ve=new Set(_e?[]:C.filter(e=>pe.has(e.correlationId)).slice(0,Qn()).map(e=>e.correlationId)),H=new Map,U=[];fe&&U.push(fe);let ye=new Set,W=nr()&&typeof t.events.createBatch==`function`&&(n.specVersion??0)>=6&&D.length===0,be=[],xe=[],Se=W&&l!==void 0&&(ve.size>=2||ve.size===1&&O.length>0),Ce=new Map,we,Te=()=>(we??=c?.getTraceCarrier()??Promise.resolve({}),we),Ee=0;for(let e of C)if(pe.has(e.correlationId)){let t=Se&&ve.has(e.correlationId),r=Ee;Ee+=t?2:1;let a=(async()=>{let a;try{a=await F({args:e.args,closureVars:e.closureVars,thisVal:e.thisVal},{source:`step_input`,correlationId:e.correlationId})}catch(t){if(!Tn.is(t)||!c)throw t;await ge(e,t);return}if(ve.has(e.correlationId)){H.set(e.correlationId,{correlationId:e.correlationId,stepName:e.stepName,dehydratedInput:a}),t&&(be.push({order:r,kind:`inline-created`,correlationId:e.correlationId,event:{eventType:`step_created`,specVersion:8,correlationId:e.correlationId,eventData:{stepName:e.stepName,workflowName:n.workflowName,input:a}}}),be.push({order:r+1,kind:`inline-started`,correlationId:e.correlationId,event:{eventType:`step_started`,specVersion:8,correlationId:e.correlationId,eventData:{stepName:e.stepName,...l===void 0?{}:{ownerMessageId:l}}}}));return}let o={eventType:`step_created`,specVersion:8,correlationId:e.correlationId,eventData:{stepName:e.stepName,workflowName:n.workflowName,input:a}};if(W){be.push({order:r,kind:`step`,correlationId:e.correlationId,stepName:e.stepName,event:o});return}try{await m(),await S(o,{requestId:i}),me.add(e.correlationId)}catch(t){if(Z.is(t))G.info(`Step already exists, continuing`,{workflowRunId:f,correlationId:e.correlationId,message:t.message});else throw t}})();U.push(a),W&&xe.push(a.catch(()=>{}))}for(let e of T)if(!e.hasCreatedEvent){let t={eventType:`wait_created`,specVersion:8,correlationId:e.correlationId,eventData:{resumeAt:e.resumeAt}};if(W){be.push({order:Ee++,kind:`wait`,correlationId:e.correlationId,event:t});continue}U.push((async()=>{try{await m(),await S(t,{requestId:i})}catch(t){if(Z.is(t))G.info(`Wait already exists, continuing`,{workflowRunId:f,correlationId:e.correlationId,message:t.message});else throw t}})())}let De;W&&U.push((async()=>{if(await Promise.all(xe),be.length===0)return;let e=[...be].sort((e,t)=>e.order-t.order);await m();let r=async e=>{try{await S(e.event,{requestId:i}),e.kind===`step`&&me.add(e.correlationId)}catch(t){if(Z.is(t))G.info(e.kind===`step`?`Step already exists, continuing`:`Wait already exists, continuing`,{workflowRunId:f,correlationId:e.correlationId,message:t.message});else throw t}};if(e.length===1){await r(e[0]);return}let o=a?(pr(a.events)??0)+1:void 0,s=e=>{let t=[],n=[];for(let r=0;r<e.length;r++){let i=e[r],a=e[r+1],o=i.kind===`inline-created`&&a?.kind===`inline-started`&&a.correlationId===i.correlationId,s=o?2:1;n.length>0&&n.length+s>16&&(t.push(n),n=[]),n.push(i),o&&(n.push(a),r++)}return n.length>0&&t.push(n),t},l=e=>e.kind===`inline-created`||e.kind===`inline-started`,d=s(e.filter(e=>l(e))),p=e.filter(e=>!l(e)),h=p.length===1?[p]:s(p),g=p.length===1?h[0]:void 0,_=[...d,...h],v=c!==void 0;if(v)for(let t of e)t.kind===`step`&&ye.add(t.correlationId);let y=0,x,C=async e=>{let n=Date.now();b++;let{results:r}=await t.events.createBatch(f,e.map(e=>({event:e.event,...e.kind===`inline-started`?{computeInstanceId:Ci}:{}})),{requestId:i}),a=Date.now();for(let[t,i]of r.entries()){let r=e[t];if(i.error===void 0){if(r.kind===`step`)me.add(r.correlationId);else if(r.kind===`inline-started`){let e=H.get(r.correlationId);if(e===void 0)throw new fn(`no dehydrated input for pre-claimed step ${r.correlationId}`,{status:500});let t=new Date,o=i.step?.startedAt?{...i.step,startedAt:i.step.startedAt}:{runId:f,stepId:r.correlationId,stepName:e.stepName,status:`running`,attempt:1,createdAt:t,updatedAt:t,startedAt:t};Ce.set(r.correlationId,{owned:!0,step:{...o,input:e.dehydratedInput},batchPostSentAtMs:n,claimCompletedAtMs:a})}continue}if(i.status===409){if(r.kind===`inline-created`||r.kind===`inline-started`){Ce.set(r.correlationId,{owned:!1}),G.info(`Inline step pre-claim lost, continuing`,{workflowRunId:f,correlationId:r.correlationId,message:i.message});continue}G.info(r.kind===`step`?`Step already exists, continuing`:`Wait already exists, continuing`,{workflowRunId:f,correlationId:r.correlationId,message:i.message});continue}throw new fn(`batched ${r.event.eventType} for ${r.correlationId} failed: ${i.error}: ${i.message}`,{status:i.status})}let o=pr(r.flatMap(e=>e.error===void 0&&e.event?[e.event]:[]));y+=r.filter(e=>e.error===void 0).length,o!==void 0&&(x===void 0||o>x)&&(x=o)},w=async e=>{if(!v)return;let r=e.filter(e=>e.kind===`step`);if(r.length===0)return;let i=await Te();await Er(t,c.queueName,r.map(e=>({message:{runId:f,stepId:e.correlationId,stepName:e.stepName,traceCarrier:i,requestedAt:new Date,runContext:Tr(n)},opts:{idempotencyKey:Bn(e.correlationId,e.stepName)}})))},T=_.map(e=>e===g?r(e[0]):C(e)),E=_.map(async(e,t)=>{await T[t],await w(e)}),D=(async()=>{let e=await Promise.allSettled([...T,...E]);if(o!==void 0&&x!==void 0){let e=x-o+1-y;e>0&&G.debug(`Batched fan-out committed above snapshot`,{workflowRunId:f,expectedFirstSlot:o,maxCommittedSlot:x,committedCount:y,interleaved:e})}let t=e.find(e=>e.status===`rejected`);if(t)throw t.reason})(),O=_.flatMap((e,t)=>e.some(e=>e.kind===`inline-started`)?[T[t]]:[]);if(u){if(D.catch(()=>{}),De=D,O.length>0)try{await Promise.all(O)}catch(e){throw await D.catch(()=>{}),e}}else await D})());for(let e of D)U.push((async()=>{try{await m(),await S({eventType:`attr_set`,specVersion:8,correlationId:e.correlationId,eventData:{changes:e.changes,writer:{type:`workflow`},...e.allowReservedAttributes?{allowReservedAttributes:!0}:{}}},{requestId:i})}catch(t){if(Z.is(t))G.info(`Workflow attribute event already exists, continuing`,{workflowRunId:f,correlationId:e.correlationId,message:t.message});else if(Ka(t)){let e=new X(`setAttributes failed World validation: ${t instanceof Error?t.message:String(t)}`);throw e.cause=t,e}else throw t}})());let Oe=Promise.allSettled(U.filter(e=>e!==fe)).then(()=>Date.now());try{await h(U)}finally{await p}let ke=()=>{if(ie)return ie;if(!a||oe===void 0)return`missing_frontier`;if(z.size!==se.size)return`missing_response`;if(b!==z.size)return`other_suspension_writes`;if(pr(a.events)!==oe)return`prefix_changed`;if(Sr(a.events)!==void 0)return`prefix_gap`;let e=[];for(let t of ae){let n=z.get(t.correlationId),r=n.event;if(!r)return`missing_event`;if(n.hasMore===!0)return`incomplete_response`;if(r.runId!==f||r.correlationId!==t.correlationId||r.eventType!==`hook_created`&&r.eventType!==`hook_conflict`||r.eventData.token!==t.token)return`event_mismatch`;if(r.eventType===`hook_created`&&(r.eventData.metadata!==void 0&&!(r.eventData.metadata instanceof Uint8Array)||t.metadata!==void 0&&r.eventData.metadata===void 0))return`unresolved_metadata`;let i=g(r.eventId);if(i===null)return`non_slot_event`;e.push({event:r,slot:i,cursor:n.eventCursor})}if(e.sort((e,t)=>e.slot-t.slot),!e.every(({slot:e},t)=>e===oe+t+1))return`nonconsecutive_slots`;let t=e.at(-1);if(!t?.cursor)return`missing_event_cursor`;a.events.push(...e.map(({event:e})=>e)),a.cursor=t.cursor},Ae=!1;if(O.length>1){let e=ke();Ae=e===void 0,r?.setAttributes({"workflow.concurrent_hooks.count":O.length,"workflow.concurrent_hooks.carried_forward":Ae,"workflow.concurrent_hooks.fallback_reason":e??`none`}),G.debug(`Reconciled concurrent hook registrations`,{workflowRunId:f,hookCount:O.length,carriedForward:Ae,...e?{fallbackReason:e}:{}})}if(V?.endMs!==void 0){let e=Math.max(V.startMs,await Oe);R+=Math.max(0,V.endMs-e)}let je=[];for(let e of ve){let t=H.get(e);t&&je.push(t)}let Me=Date.now(),Ne;for(let e of T){let t=e.resumeAt.getTime(),n=Math.max(1e3,t-Me),r=Math.ceil(n/1e3);(!Ne||r<Ne.seconds)&&(Ne={seconds:r,correlationId:e.correlationId,resumeAtMs:t})}return r?.setAttributes({...ht(`workflow_suspended`),...Pt(C.length),...E(O.length),...et(T.length),...he.size>0?Gt(he.size):{}}),{pendingSteps:C,createdStepCorrelationIds:me,failedStepCorrelationIds:he,queuedStepCorrelationIds:ye,lazyInlineSteps:je,inlineClaims:Ce,deferredBatchWork:De,waitTimeout:L.length>0?void 0:Ne,hasHookConflict:L.length>0,hookConflictCorrelationIds:L,hasAwaitedHookCreation:te.length>0,awaitedHookCorrelationIds:te,eventLogCarriedForward:x&&b===1||Ae,hasAttributeEvents:D.length>0,hasHookEvents:O.length>0,hookCreationMs:R,serializationBlockerCount:M,serializationBlockers:N,reportedEventCount:y}}function Ka(e){return e instanceof p||e instanceof Error&&e.name===`AttributeValidationError`||fn.is(e)&&e.status===400}const qa=()=>d(`WORKFLOW_WAIT_CONTINUATION_MAX_DELAY_SECONDS`,82800,{integer:!0,min:1}),Ja=()=>d(`WORKFLOW_NEAR_ELAPSED_WAIT_THRESHOLD_SECONDS`,2);function Ya(e,t,n=Date.now(),r=0){let i=Xa(e,t,n);return r<=0?i:{delaySeconds:i.delaySeconds,idempotencyKey:`${i.idempotencyKey}:a${r}`}}function Xa(e,t,n){let r=qa();if(e<=Math.min(Ja(),r))return{delaySeconds:e,idempotencyKey:`${t}:${Math.floor(n/1e3)}`};let i=Math.ceil(e/r);return{delaySeconds:Math.min(e,r),idempotencyKey:i===1?t:`${t}:hop-${i}`}}var Za=44,Qa=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,$a=new Uint8Array(64),eo=new Uint8Array(128);for(let e=0;e<Qa.length;e++){let t=Qa.charCodeAt(e);$a[e]=t,eo[t]=e}function to(e){let t=0,n=0,r=0;do r=eo[e.next()],t|=(r&31)<<n,n+=5;while(r&32);return t}function no(e){return e&1?-2147483648|-(e>>>1):e>>>1}function ro(e,t){return e.pos>=t?!1:e.peek()!==Za}var io=class{constructor(e){this.pos=0,this.buffer=e}next(){return this.buffer.charCodeAt(this.pos++)}peek(){return this.buffer.charCodeAt(this.pos)}indexOf(e){let{buffer:t,pos:n}=this,r=t.indexOf(e,n);return r===-1?t.length:r}};function ao(e){let{length:t}=e,n=new io(e),r=[],i=0,a=0,o=0,s=0,c=0;do{let e=n.indexOf(`;`),t=[],l=!0,u=0;for(i=0;n.pos<e;){let r;i+=no(to(n)),i<u&&(l=!1),u=i,ro(n,e)?(a+=no(to(n)),o+=no(to(n)),s+=no(to(n)),ro(n,e)?(c+=no(to(n)),r=[i,a,o,s,c]):r=[i,a,o,s]):r=[i],t.push(r),n.pos++}l||oo(t),r.push(t),n.pos=e+1}while(n.pos<=t);return r}function oo(e){e.sort(so)}function so(e,t){return e[0]-t[0]}const co=/^[\w+.-]+:\/\//,lo=/^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/,uo=/^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i;function fo(e){return co.test(e)}function po(e){return e.startsWith(`//`)}function mo(e){return e.startsWith(`/`)}function ho(e){return e.startsWith(`file:`)}function go(e){return/^[.?#]/.test(e)}function _o(e){let t=lo.exec(e);return yo(t[1],t[2]||``,t[3],t[4]||``,t[5]||`/`,t[6]||``,t[7]||``)}function vo(e){let t=uo.exec(e),n=t[2];return yo(`file:`,``,t[1]||``,``,mo(n)?n:`/`+n,t[3]||``,t[4]||``)}function yo(e,t,n,r,i,a,o){return{scheme:e,user:t,host:n,port:r,path:i,query:a,hash:o,type:7}}function bo(e){if(po(e)){let t=_o(`http:`+e);return t.scheme=``,t.type=6,t}if(mo(e)){let t=_o(`http://foo.com`+e);return t.scheme=``,t.host=``,t.type=5,t}if(ho(e))return vo(e);if(fo(e))return _o(e);let t=_o(`http://foo.com/`+e);return t.scheme=``,t.host=``,t.type=e?e.startsWith(`?`)?3:e.startsWith(`#`)?2:4:1,t}function xo(e){if(e.endsWith(`/..`))return e;let t=e.lastIndexOf(`/`);return e.slice(0,t+1)}function So(e,t){Co(t,t.type),e.path=e.path===`/`?t.path:xo(t.path)+e.path}function Co(e,t){let n=t<=4,r=e.path.split(`/`),i=1,a=0,o=!1;for(let e=1;e<r.length;e++){let t=r[e];if(!t){o=!0;continue}if(o=!1,t!==`.`){if(t===`..`){a?(o=!0,a--,i--):n&&(r[i++]=t);continue}r[i++]=t,a++}}let s=``;for(let e=1;e<i;e++)s+=`/`+r[e];(!s||o&&!s.endsWith(`/..`))&&(s+=`/`),e.path=s}function wo(e,t){if(!e&&!t)return``;let n=bo(e),r=n.type;if(t&&r!==7){let e=bo(t),i=e.type;switch(r){case 1:n.hash=e.hash;case 2:n.query=e.query;case 3:case 4:So(n,e);case 5:n.user=e.user,n.host=e.host,n.port=e.port;case 6:n.scheme=e.scheme}i>r&&(r=i)}Co(n,r);let i=n.query+n.hash;switch(r){case 2:case 3:return i;case 4:{let r=n.path.slice(1);return r?go(t||e)&&!go(r)?`./`+r+i:r+i:i||`.`}case 5:return n.path+i;default:return n.scheme+`//`+n.user+n.host+n.port+n.path+i}}function To(e){if(!e)return``;let t=e.lastIndexOf(`/`);return e.slice(0,t+1)}function Eo(e,t){let n=To(e),r=t?t+`/`:``;return e=>wo(r+(e||``),n)}var Do=0,Oo=1,ko=2,Ao=3,jo=4;function Mo(e,t){let n=No(e,0);if(n===e.length)return e;t||(e=e.slice());for(let r=n;r<e.length;r=No(e,r+1))e[r]=Fo(e[r],t);return e}function No(e,t){for(let n=t;n<e.length;n++)if(!Po(e[n]))return n;return e.length}function Po(e){for(let t=1;t<e.length;t++)if(e[t][Do]<e[t-1][Do])return!1;return!0}function Fo(e,t){return t||(e=e.slice()),e.sort(Io)}function Io(e,t){return e[Do]-t[Do]}var Lo=!1;function Ro(e,t,n,r){for(;n<=r;){let i=n+(r-n>>1),a=e[i][Do]-t;if(a===0)return Lo=!0,i;a<0?n=i+1:r=i-1}return Lo=!1,n-1}function zo(e,t,n){for(let r=n+1;r<e.length&&e[r][Do]===t;n=r++);return n}function Bo(e,t,n){for(let r=n-1;r>=0&&e[r][Do]===t;n=r--);return n}function Vo(){return{lastKey:-1,lastNeedle:-1,lastIndex:-1}}function Ho(e,t,n,r){let{lastKey:i,lastNeedle:a,lastIndex:o}=n,s=0,c=e.length-1;if(r===i){if(t===a)return Lo=o!==-1&&e[o][Do]===t,o;t>=a?s=o===-1?0:o:c=o}return n.lastKey=r,n.lastNeedle=t,n.lastIndex=Ro(e,t,s,c)}function Uo(e){return typeof e==`string`?JSON.parse(e):e}var Wo="`line` must be greater than 0 (lines start at line 1)",Go="`column` must be greater than or equal to 0 (columns start at column 0)",Ko=class{constructor(e,t){let n=typeof e==`string`;if(!n&&e._decodedMemo)return e;let r=Uo(e),{version:i,file:a,names:o,sourceRoot:s,sources:c,sourcesContent:l}=r;this.version=i,this.file=a,this.names=o||[],this.sourceRoot=s,this.sources=c,this.sourcesContent=l,this.ignoreList=r.ignoreList||r.x_google_ignoreList||void 0;let u=Eo(t,s);this.resolvedSources=c.map(u);let{mappings:d}=r;if(typeof d==`string`)this._encoded=d,this._decoded=void 0;else if(Array.isArray(d))this._encoded=void 0,this._decoded=Mo(d,n);else if(r.sections)throw Error(`TraceMap passed sectioned source map, please use FlattenMap export instead`);else throw Error(`invalid source map: ${JSON.stringify(r)}`);this._decodedMemo=Vo(),this._bySources=void 0,this._bySourceMemos=void 0}};function qo(e){return e}function Jo(e){var t;return(t=qo(e))._decoded||(t._decoded=ao(qo(e)._encoded))}function Yo(e,t){let{line:n,column:r,bias:i}=t;if(n--,n<0)throw Error(Wo);if(r<0)throw Error(Go);let a=Jo(e);if(n>=a.length)return Xo(null,null,null,null);let o=a[n],s=Zo(o,qo(e)._decodedMemo,n,r,i||1);if(s===-1)return Xo(null,null,null,null);let c=o[s];if(c.length===1)return Xo(null,null,null,null);let{names:l,resolvedSources:u}=e;return Xo(u[c[Oo]],c[ko]+1,c[Ao],c.length===5?l[c[jo]]:null)}function Xo(e,t,n,r){return{source:e,line:t,column:n,name:r}}function Zo(e,t,n,r,i){let a=Ho(e,r,t,n);return Lo?a=(i===-1?zo:Bo)(e,r,a):i===-1&&a++,a===-1||a===e.length?-1:a}function Qo(e){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===43||e===47||e===61}function $o(e){let t=0;for(;t<e.length;){let n=e.indexOf(`//# sourceMappingURL=data:application/json`,t);if(n===-1)return;let r=e.indexOf(`;base64,`,n+42);if(r===-1){t=n+42;continue}let i=e.indexOf(`,`,n);if(i!==-1&&i<r){t=r+8;continue}let a=r+8,o=a;for(;o<e.length&&Qo(e.charCodeAt(o));)o++;if(o>a)return e.slice(a,o);t=o}}const es=i(`@workflow/core//sourceMapTracers`,1,()=>({byCode:new Map}));function ts(e){let t=es.byCode.get(e);if(t!==void 0)return es.byCode.delete(e),es.byCode.set(e,t),t;let n=null,r=$o(e);if(r)try{let e=Buffer.from(r,`base64`).toString(`utf-8`);n=new Ko(JSON.parse(e))}catch{n=null}for(es.byCode.set(e,n);es.byCode.size>8;){let e=es.byCode.keys().next().value;if(e===void 0)break;es.byCode.delete(e)}return n}function ns(e,t,n){if(!e.includes(t))return e;let r=ts(n);if(!r)return e;try{return e.split(`
4
+ `).map(e=>{let n=e.match(/^\s*at\s+(?:(.+?)\s+\()?(.+?):(\d+):(\d+)\)?$/);if(!n)return e;let[,i,a,o,s]=n;if(!a.includes(t))return e;let c=parseInt(o,10),l=parseInt(s,10),u=Yo(r,{line:c,column:l});if(u.source&&u.line!==null){let e=i||u.name||`anonymous`,t=u.column===null?l:u.column;return` at ${e} (${u.source}:${u.line}:${t})`}return e}).join(`
5
+ `)}catch{return e}}function rs(e,t){let n=e.get(t);if(n)return n;let r=is(t);if(r){for(let[t,n]of e)if(is(t)===r)return n}}function is(e){let t=e.indexOf(`_`);return t===-1?void 0:e.slice(t+1)}function as(e){switch(e.type){case`step`:return`step ${e.stepName} (${e.correlationId})`;case`hook`:return`hook (${e.correlationId})`;case`wait`:return`wait (${e.correlationId})`;case`attribute`:return`attribute (${e.correlationId})`}return`unknown`}function os(e,t,n){let r=e.correlationId?rs(t,e.correlationId):void 0,i=n.describe();return[`pending at this id: ${r?as(r):`none`}.`,`consumer: index=${i.index}, length=${i.length}, parked=${i.parked}, lastConsumed=${i.lastConsumedEventId??`none`}`].join(` `)}function ss(e){return()=>{let t=new Uint8Array(34).map(()=>256*e()),n=``;for(let e=33;n.length<21;e--)n+=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`[t[e]&63];return n}}function cs(e){return function(t,n){let r=function(...r){let{promise:i,resolve:a,reject:o}=An(),s=`step_${e.generateUlid()}`,c={type:`step`,correlationId:s,stepName:t,args:r};this!==void 0&&this!==null&&this!==globalThis&&(c.thisVal=this);let l=n?.();return l&&(c.closureVars=l),e.invocationsQueue.set(s,c),Pe.debug(`Step consumer setup`,{correlationId:s,stepName:t,args:r}),e.eventsConsumer.subscribe(n=>{if(!n)return On(e),L.NotConsumed;if(Pe.debug(`Step consumer event processing`,{correlationId:s,stepName:t,args:r.join(`, `),incomingCorrelationId:n.correlationId,isMatch:s===n.correlationId,eventType:n.eventType}),n.correlationId!==s)return L.NotConsumed;let i=`eventData`in n&&n.eventData&&`stepName`in n.eventData?n.eventData.stepName:void 0;if(typeof i==`string`&&i!==t)return e.promiseQueue=e.promiseQueue.then(()=>{e.onWorkflowError(new xn(`Replay divergence: step event ${n.eventType} for ${s} belongs to "${i}", but the current step consumer is "${t}"`,{eventId:n.eventId}))}),L.Finished;if(n.eventType===`step_created`){let r=e.invocationsQueue.get(s);return!r||r.type!==`step`?(e.promiseQueue=e.promiseQueue.then(()=>{o(new xn(`Replay divergence: step ${s} (${t}) created but not found in invocation queue`,{eventId:n.eventId}))}),L.Finished):(r.hasCreatedEvent=!0,L.Consumed)}if(n.eventType===`step_started`){let t=e.invocationsQueue.get(s);return t&&t.type===`step`&&(t.hasCreatedEvent=!0,t.ownerMessageId=`eventData`in n&&n.eventData&&`ownerMessageId`in n.eventData&&typeof n.eventData.ownerMessageId==`string`?n.eventData.ownerMessageId:void 0,t.lastStartedAt=+n.createdAt),L.Consumed}if(n.eventType===`step_retrying`){let t=e.invocationsQueue.get(s);return t&&t.type===`step`&&(t.sawRetrying=!0,t.ownerMessageId=void 0),L.Consumed}if(n.eventType===`step_failed`){e.invocationsQueue.delete(n.correlationId);let t=e.eventsConsumer.eventIndex,r=Dn(e,t,`step`,{deliveredAt:+n.createdAt}),i,a=Nn(e,t,`step`);return e.pendingDeliveries++,e.promiseQueue=e.promiseQueue.then(async()=>{try{let t=await e.replayPayloadCache.prepareEventPayload(n.eventId,`error`,n.eventData.error);i=await V(n.eventData.error,e.runId,e.encryptionKey,e.globalThis,{},t)}catch(e){Pe.error(`Failed to hydrate step_failed error`,{correlationId:n.correlationId,error:e instanceof Error?e.message:String(e)}),i=new X(`Failed to hydrate step error: ${e instanceof Error?e.message:String(e)}`)}finally{e.pendingDeliveries--}a.then(()=>{r.markDelivered(),o(i)})}),L.Finished}if(n.eventType===`step_completed`){e.invocationsQueue.delete(n.correlationId);let t=n.eventId,r=n.eventData.result,i=e.eventsConsumer.eventIndex,s=Dn(e,i,`step`,{deliveredAt:+n.createdAt}),c,l=Nn(e,i,`step`);return e.pendingDeliveries++,e.promiseQueue=e.promiseQueue.then(async()=>{try{c={ok:!0,value:await e.replayPayloadCache.getStepResult(t,async()=>{let n=await e.replayPayloadCache.prepareEventPayload(t,`result`,r);return await me(r,e.runId,e.encryptionKey,e.globalThis,{},n)})}}catch(e){c={ok:!1,error:e}}finally{e.pendingDeliveries--}l.then(()=>{s.markDelivered(),c.ok?a(c.value):o(c.error)})}),L.Finished}return e.promiseQueue=e.promiseQueue.then(()=>{e.onWorkflowError(new xn(`Replay divergence: Unexpected event type for step ${s} (name: ${t}) "${n.eventType}"`,{eventId:n.eventId}))}),L.Finished}),i},i=t.split(`//`).pop();return Object.defineProperty(r,"name",{value:i}),Object.defineProperty(r,"stepId",{value:t,writable:!1,enumerable:!1,configurable:!1}),n&&(B(n),Object.defineProperty(r,"__closureVarsFn",{value:n,writable:!1,enumerable:!1,configurable:!1})),Object.defineProperty(r,"bind",{value:function(e,...r){let i=Function.prototype.bind.call(this,e,...r);return Object.defineProperty(i,"stepId",{value:t,writable:!1,enumerable:!1,configurable:!1}),n&&Object.defineProperty(i,"__closureVarsFn",{value:n,writable:!1,enumerable:!1,configurable:!1}),Object.defineProperty(i,"__boundThis",{value:e,writable:!1,enumerable:!1,configurable:!1}),r.length>0&&Object.defineProperty(i,"__boundArgs",{value:r,writable:!1,enumerable:!1,configurable:!1}),i},writable:!1,enumerable:!1,configurable:!1}),r}}var ls=n(((e,t)=>{(function(e,t,n){function r(e){var t=this,n=o();t.next=function(){var e=2091639*t.s0+t.c*23283064365386963e-26;return t.s0=t.s1,t.s1=t.s2,t.s2=e-(t.c=e|0)},t.c=1,t.s0=n(` `),t.s1=n(` `),t.s2=n(` `),t.s0-=n(e),t.s0<0&&(t.s0+=1),t.s1-=n(e),t.s1<0&&(t.s1+=1),t.s2-=n(e),t.s2<0&&(t.s2+=1),n=null}function i(e,t){return t.c=e.c,t.s0=e.s0,t.s1=e.s1,t.s2=e.s2,t}function a(e,t){var n=new r(e),a=t&&t.state,o=n.next;return o.int32=function(){return n.next()*4294967296|0},o.double=function(){return o()+(o()*2097152|0)*11102230246251565e-32},o.quick=o,a&&(typeof a==`object`&&i(a,n),o.state=function(){return i(n,{})}),o}function o(){var e=4022871197;return function(t){t=String(t);for(var n=0;n<t.length;n++){e+=t.charCodeAt(n);var r=.02519603282416938*e;e=r>>>0,r-=e,r*=e,e=r>>>0,r-=e,e+=r*4294967296}return(e>>>0)*23283064365386963e-26}}t&&t.exports?t.exports=a:n&&n.amd?n(function(){return a}):this.alea=a})(e,typeof t==`object`&&t,typeof define==`function`&&define)})),us=n(((e,t)=>{(function(e,t,n){function r(e){var t=this,n=``;t.x=0,t.y=0,t.z=0,t.w=0,t.next=function(){var e=t.x^t.x<<11;return t.x=t.y,t.y=t.z,t.z=t.w,t.w^=t.w>>>19^e^e>>>8},e===(e|0)?t.x=e:n+=e;for(var r=0;r<n.length+64;r++)t.x^=n.charCodeAt(r)|0,t.next()}function i(e,t){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t}function a(e,t){var n=new r(e),a=t&&t.state,o=function(){return(n.next()>>>0)/4294967296};return o.double=function(){do var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21);while(e===0);return e},o.int32=n.next,o.quick=o,a&&(typeof a==`object`&&i(a,n),o.state=function(){return i(n,{})}),o}t&&t.exports?t.exports=a:n&&n.amd?n(function(){return a}):this.xor128=a})(e,typeof t==`object`&&t,typeof define==`function`&&define)})),ds=n(((e,t)=>{(function(e,t,n){function r(e){var t=this,n=``;t.next=function(){var e=t.x^t.x>>>2;return t.x=t.y,t.y=t.z,t.z=t.w,t.w=t.v,(t.d=t.d+362437|0)+(t.v=t.v^t.v<<4^(e^e<<1))|0},t.x=0,t.y=0,t.z=0,t.w=0,t.v=0,e===(e|0)?t.x=e:n+=e;for(var r=0;r<n.length+64;r++)t.x^=n.charCodeAt(r)|0,r==n.length&&(t.d=t.x<<10^t.x>>>4),t.next()}function i(e,t){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t.v=e.v,t.d=e.d,t}function a(e,t){var n=new r(e),a=t&&t.state,o=function(){return(n.next()>>>0)/4294967296};return o.double=function(){do var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21);while(e===0);return e},o.int32=n.next,o.quick=o,a&&(typeof a==`object`&&i(a,n),o.state=function(){return i(n,{})}),o}t&&t.exports?t.exports=a:n&&n.amd?n(function(){return a}):this.xorwow=a})(e,typeof t==`object`&&t,typeof define==`function`&&define)})),fs=n(((e,t)=>{(function(e,t,n){function r(e){var t=this;t.next=function(){var e=t.x,n=t.i,r=e[n],i;return r^=r>>>7,i=r^r<<24,r=e[n+1&7],i^=r^r>>>10,r=e[n+3&7],i^=r^r>>>3,r=e[n+4&7],i^=r^r<<7,r=e[n+7&7],r^=r<<13,i^=r^r<<9,e[n]=i,t.i=n+1&7,i};function n(e,t){var n,r=[];if(t===(t|0))r[0]=t;else for(t=``+t,n=0;n<t.length;++n)r[n&7]=r[n&7]<<15^t.charCodeAt(n)+r[n+1&7]<<13;for(;r.length<8;)r.push(0);for(n=0;n<8&&r[n]===0;++n);for(n==8?r[7]=-1:r[n],e.x=r,e.i=0,n=256;n>0;--n)e.next()}n(t,e)}function i(e,t){return t.x=e.x.slice(),t.i=e.i,t}function a(e,t){e??=+new Date;var n=new r(e),a=t&&t.state,o=function(){return(n.next()>>>0)/4294967296};return o.double=function(){do var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21);while(e===0);return e},o.int32=n.next,o.quick=o,a&&(a.x&&i(a,n),o.state=function(){return i(n,{})}),o}t&&t.exports?t.exports=a:n&&n.amd?n(function(){return a}):this.xorshift7=a})(e,typeof t==`object`&&t,typeof define==`function`&&define)})),ps=n(((e,t)=>{(function(e,t,n){function r(e){var t=this;t.next=function(){var e=t.w,n=t.X,r=t.i,i,a;return t.w=e=e+1640531527|0,a=n[r+34&127],i=n[r=r+1&127],a^=a<<13,i^=i<<17,a^=a>>>15,i^=i>>>12,a=n[r]=a^i,t.i=r,a+(e^e>>>16)|0};function n(e,t){var n,r,i,a,o,s=[],c=128;for(t===(t|0)?(r=t,t=null):(t+=`\0`,r=0,c=Math.max(c,t.length)),i=0,a=-32;a<c;++a)t&&(r^=t.charCodeAt((a+32)%t.length)),a===0&&(o=r),r^=r<<10,r^=r>>>15,r^=r<<4,r^=r>>>13,a>=0&&(o=o+1640531527|0,n=s[a&127]^=r+o,i=n==0?i+1:0);for(i>=128&&(s[(t&&t.length||0)&127]=-1),i=127,a=512;a>0;--a)r=s[i+34&127],n=s[i=i+1&127],r^=r<<13,n^=n<<17,r^=r>>>15,n^=n>>>12,s[i]=r^n;e.w=o,e.X=s,e.i=i}n(t,e)}function i(e,t){return t.i=e.i,t.w=e.w,t.X=e.X.slice(),t}function a(e,t){e??=+new Date;var n=new r(e),a=t&&t.state,o=function(){return(n.next()>>>0)/4294967296};return o.double=function(){do var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21);while(e===0);return e},o.int32=n.next,o.quick=o,a&&(a.X&&i(a,n),o.state=function(){return i(n,{})}),o}t&&t.exports?t.exports=a:n&&n.amd?n(function(){return a}):this.xor4096=a})(e,typeof t==`object`&&t,typeof define==`function`&&define)})),ms=n(((e,t)=>{(function(e,t,n){function r(e){var t=this,n=``;t.next=function(){var e=t.b,n=t.c,r=t.d,i=t.a;return e=e<<25^e>>>7^n,n=n-r|0,r=r<<24^r>>>8^i,i=i-e|0,t.b=e=e<<20^e>>>12^n,t.c=n=n-r|0,t.d=r<<16^n>>>16^i,t.a=i-e|0},t.a=0,t.b=0,t.c=-1640531527,t.d=1367130551,e===Math.floor(e)?(t.a=e/4294967296|0,t.b=e|0):n+=e;for(var r=0;r<n.length+20;r++)t.b^=n.charCodeAt(r)|0,t.next()}function i(e,t){return t.a=e.a,t.b=e.b,t.c=e.c,t.d=e.d,t}function a(e,t){var n=new r(e),a=t&&t.state,o=function(){return(n.next()>>>0)/4294967296};return o.double=function(){do var e=((n.next()>>>11)+(n.next()>>>0)/4294967296)/(1<<21);while(e===0);return e},o.int32=n.next,o.quick=o,a&&(typeof a==`object`&&i(a,n),o.state=function(){return i(n,{})}),o}t&&t.exports?t.exports=a:n&&n.amd?n(function(){return a}):this.tychei=a})(e,typeof t==`object`&&t,typeof define==`function`&&define)})),hs=n(((t,n)=>{(function(t,r,i){var a=256,o=6,s=52,c=`random`,l=i.pow(a,o),u=i.pow(2,s),d=u*2,f=a-1,p;function m(e,t,n){var s=[];t=t==1?{entropy:!0}:t||{};var f=v(_(t.entropy?[e,b(r)]:e??y(),3),s),p=new h(s),m=function(){for(var e=p.g(o),t=l,n=0;e<u;)e=(e+n)*a,t*=a,n=p.g(1);for(;e>=d;)e/=2,t/=2,n>>>=1;return(e+n)/t};return m.int32=function(){return p.g(4)|0},m.quick=function(){return p.g(4)/4294967296},m.double=m,v(b(p.S),r),(t.pass||n||function(e,t,n,r){return r&&(r.S&&g(r,p),e.state=function(){return g(p,{})}),n?(i[c]=e,t):e})(m,f,`global`in t?t.global:this==i,t.state)}function h(e){var t,n=e.length,r=this,i=0,o=r.i=r.j=0,s=r.S=[];for(n||(e=[n++]);i<a;)s[i]=i++;for(i=0;i<a;i++)s[i]=s[o=f&o+e[i%n]+(t=s[i])],s[o]=t;(r.g=function(e){for(var t,n=0,i=r.i,o=r.j,s=r.S;e--;)t=s[i=f&i+1],n=n*a+s[f&(s[i]=s[o=f&o+t])+(s[o]=t)];return r.i=i,r.j=o,n})(a)}function g(e,t){return t.i=e.i,t.j=e.j,t.S=e.S.slice(),t}function _(e,t){var n=[],r=typeof e,i;if(t&&r==`object`)for(i in e)try{n.push(_(e[i],t-1))}catch{}return n.length?n:r==`string`?e:e+`\0`}function v(e,t){for(var n=e+``,r,i=0;i<n.length;)t[f&i]=f&(r^=t[f&i]*19)+n.charCodeAt(i++);return b(t)}function y(){try{var e;return p&&(e=p.randomBytes)?e=e(a):(e=new Uint8Array(a),(t.crypto||t.msCrypto).getRandomValues(e)),b(e)}catch{var n=t.navigator,i=n&&n.plugins;return[+new Date,t,i,t.screen,b(r)]}}function b(e){return String.fromCharCode.apply(0,e)}if(v(i.random(),r),typeof n==`object`&&n.exports){n.exports=m;try{p=e(`crypto`)}catch{}}else typeof define==`function`&&define.amd?define(function(){return m}):i[`seed`+c]=m})(typeof self<`u`?self:t,[],Math)})),gs=t(n(((e,t)=>{var n=ls(),r=us(),i=ds(),a=fs(),o=ps(),s=ms(),c=hs();c.alea=n,c.xor128=r,c.xorwow=i,c.xorshift7=a,c.xor4096=o,c.tychei=s,t.exports=c}))(),1);const _s=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,vs=new Uint8Array(128).fill(255);for(let e=0;e<64;e++)vs[_s.charCodeAt(e)]=e;function ys(e){return e===9||e===10||e===12||e===13||e===32}function bs(e,t){for(;t<e.length&&ys(e.charCodeAt(t));)t++;return t}function xs(e,t){let n=e.length,r=e;n===2?r=e+`AA`:n===3&&(r=e+`A`);let i=vs[r.charCodeAt(0)],a=vs[r.charCodeAt(1)],o=vs[r.charCodeAt(2)],s=vs[r.charCodeAt(3)],c=i<<2|a>>4,l=(a&15)<<4|o>>2,u=(o&3)<<6|s;if(n===2){if(t&&l!==0)throw SyntaxError(`Extra bits in base64 chunk`);return[c]}if(n===3){if(t&&u!==0)throw SyntaxError(`Extra bits in base64 chunk`);return[c,l]}return[c,l,u]}function Ss(e,t,n,r){if(r===void 0&&(r=2**53-1),r===0)return{read:0,bytes:[],error:null};let i=0,a=[],o=``,s=0,c=0,l=e.length;for(;;){if(c=bs(e,c),c===l){if(s>0){if(n===`stop-before-partial`)return{read:i,bytes:a,error:null};if(n===`loose`){if(s===1)return{read:i,bytes:a,error:SyntaxError(`Invalid base64: lone character in final chunk`)};a.push(...xs(o,!1))}else return{read:i,bytes:a,error:SyntaxError(`Invalid base64: incomplete chunk in strict mode`)}}return{read:l,bytes:a,error:null}}let u=e[c];if(c++,u===`=`){if(s<2)return{read:i,bytes:a,error:SyntaxError(`Invalid base64: padding in unexpected place`)};if(c=bs(e,c),s===2){if(c===l)return n===`stop-before-partial`?{read:i,bytes:a,error:null}:{read:i,bytes:a,error:SyntaxError(`Invalid base64: missing second padding character`)};u=e[c],u===`=`&&(c=bs(e,c+1))}if(c<l)return{read:i,bytes:a,error:SyntaxError(`Invalid base64: unexpected characters after padding`)};let t=n===`strict`;try{a.push(...xs(o,t))}catch(e){return{read:i,bytes:a,error:e}}return{read:l,bytes:a,error:null}}if(t===`base64url`){if(u===`+`||u===`/`)return{read:i,bytes:a,error:SyntaxError(`Invalid base64url: unexpected character '${u}'`)};u===`-`?u=`+`:u===`_`&&(u=`/`)}let d=u.charCodeAt(0);if(d>=128||vs[d]===255)return{read:i,bytes:a,error:SyntaxError(`Invalid base64: unexpected character '${e[c-1]}'`)};let f=r-a.length;if(f===1&&s===2||f===2&&s===3||(o+=u,s=o.length,s===4&&(a.push(...xs(o)),o=``,s=0,i=c,a.length===r)))return{read:i,bytes:a,error:null}}}function Cs(e,t){t===void 0&&(t=2**53-1);let n=e.length,r=[],i=0;if(n%2!=0)return{read:0,bytes:[],error:SyntaxError(`Invalid hex: string length must be even`)};for(;i<n&&r.length<t;){let t=e.substring(i,i+2);if(!/^[0-9a-fA-F]{2}$/.test(t))return{read:i,bytes:r,error:SyntaxError(`Invalid hex: unexpected character at position ${i}`)};i+=2,r.push(Number.parseInt(t,16))}return{read:i,bytes:r,error:null}}function ws(e,t){let n=t?.alphabet??`base64`;if(n!==`base64`&&n!==`base64url`)throw TypeError(`Invalid alphabet: expected "base64" or "base64url", got "${n}"`);let r=!!t?.omitPadding,i=``,a=e.length;for(let t=0;t<a;t+=3){let n=e[t],o=t+1<a?e[t+1]:0,s=t+2<a?e[t+2]:0;i+=_s[n>>2&63],i+=_s[(n&3)<<4|o>>4&15],t+1<a?i+=_s[(o&15)<<2|s>>6&3]:r||(i+=`=`),t+2<a?i+=_s[s&63]:r||(i+=`=`)}return n===`base64url`&&(i=i.replace(/\+/g,`-`).replace(/\//g,`_`)),i}function Ts(e){let t=``;for(let n=0;n<e.length;n++)t+=e[n].toString(16).padStart(2,`0`);return t}function Es(e){let t=e.prototype,n=e;t.toBase64||Object.defineProperty(t,"toBase64",{value:function(t){if(!(this instanceof e))throw TypeError(`this is not a Uint8Array`);return ws(this,t)},writable:!0,enumerable:!1,configurable:!0}),t.toHex||Object.defineProperty(t,"toHex",{value:function(){if(!(this instanceof e))throw TypeError(`this is not a Uint8Array`);return Ts(this)},writable:!0,enumerable:!1,configurable:!0}),t.setFromBase64||Object.defineProperty(t,"setFromBase64",{value:function(t,n){if(!(this instanceof e))throw TypeError(`this is not a Uint8Array`);if(typeof t!=`string`)throw TypeError(`expected a string`);let r=n?.alphabet??`base64`;if(r!==`base64`&&r!==`base64url`)throw TypeError(`Invalid alphabet: expected "base64" or "base64url", got "${r}"`);let i=n?.lastChunkHandling??`loose`;if(i!==`loose`&&i!==`strict`&&i!==`stop-before-partial`)throw TypeError(`Invalid lastChunkHandling: expected "loose", "strict", or "stop-before-partial", got "${i}"`);let a=Ss(t,r,i,this.length),o=a.bytes,s=o.length;for(let e=0;e<s;e++)this[e]=o[e];if(a.error)throw a.error;return{read:a.read,written:s}},writable:!0,enumerable:!1,configurable:!0}),t.setFromHex||Object.defineProperty(t,"setFromHex",{value:function(t){if(!(this instanceof e))throw TypeError(`this is not a Uint8Array`);if(typeof t!=`string`)throw TypeError(`expected a string`);let n=Cs(t,this.length),r=n.bytes,i=r.length;for(let e=0;e<i;e++)this[e]=r[e];if(n.error)throw n.error;return{read:n.read,written:i}},writable:!0,enumerable:!1,configurable:!0}),n.fromBase64||Object.defineProperty(e,"fromBase64",{value:function(t,n){if(typeof t!=`string`)throw TypeError(`expected a string`);let r=n?.alphabet??`base64`;if(r!==`base64`&&r!==`base64url`)throw TypeError(`Invalid alphabet: expected "base64" or "base64url", got "${r}"`);let i=n?.lastChunkHandling??`loose`;if(i!==`loose`&&i!==`strict`&&i!==`stop-before-partial`)throw TypeError(`Invalid lastChunkHandling: expected "loose", "strict", or "stop-before-partial", got "${i}"`);let a=Ss(t,r,i);if(a.error)throw a.error;return new e(a.bytes)},writable:!0,enumerable:!1,configurable:!0}),n.fromHex||Object.defineProperty(e,"fromHex",{value:function(t){if(typeof t!=`string`)throw TypeError(`expected a string`);let n=Cs(t);if(n.error)throw n.error;return new e(n.bytes)},writable:!0,enumerable:!1,configurable:!0})}function Ds(e){return function(){let t=`0123456789abcdef`,n=``;for(let r=0;r<36;r++)n+=r===8||r===13||r===18||r===23?`-`:r===14?`4`:r===19?t[Math.floor(e()*4)+8]:t[Math.floor(e()*16)];return n}}const Os={"SHA-1":`sha1`,"SHA-256":`sha256`,"SHA-384":`sha384`,"SHA-512":`sha512`};function ks(e){if(si.isTypedArray(e)||si.isDataView(e)){if(si.isSharedArrayBuffer(e.buffer))throw TypeError(`crypto.subtle.digest does not accept SharedArrayBuffer-backed views`);return e}if(!si.isArrayBuffer(e))throw TypeError(`data must be an ArrayBuffer or ArrayBufferView`);return new Uint8Array(e)}function As(e){let{fixedTimestamp:t}=e,{seed:n}=e,r=(0,gs.default)(n),i=di(),a=fi(`globalThis`,i);a.Math.random=r;let o=a.Date;a.Date=function(...e){return new.target===void 0?new o(t).toString():Reflect.construct(o,e.length===0?[t]:e,new.target)},a.Date.prototype=o.prototype,Object.setPrototypeOf(a.Date,o),a.Date.now=()=>t;let s=globalThis.crypto,c=s.subtle;function l(e){for(let t=0;t<e.length;t++)e[t]=Math.floor(r()*256);return e}let u=Ds(r),d=a;delete d.Atomics.waitAsync,delete d.WebAssembly.compile,delete d.WebAssembly.instantiate,delete d.WebAssembly.compileStreaming,delete d.WebAssembly.instantiateStreaming,delete d.WeakRef,delete d.FinalizationRegistry;let f=async(e,t)=>{let n=typeof e==`string`?e:e.name,r=Os[n.toUpperCase()];if(!r)throw new DOMException(`Unrecognized algorithm name: ${n}`,`NotSupportedError`);let i=oi(r).update(ks(t)).digest(),a=new ArrayBuffer(i.byteLength);return new Uint8Array(a).set(i),a};return a.crypto=new Proxy(s,{get(e,t){return t===`getRandomValues`?l:t===`randomUUID`?u:t===`subtle`?new Proxy(c,{get(e,t){if(t===`digest`)return f;let n=e[t];return typeof n==`function`?()=>{throw new J(`\`crypto.subtle.${String(t)}()\` is not available inside a workflow function. Move it to a step function where full Node.js crypto is available.`)}:n}}):e[t]}}),a.process={env:Object.freeze({...process.env})},a.DOMException=globalThis.DOMException,a.Headers=globalThis.Headers,a.TextEncoder=globalThis.TextEncoder,a.TextDecoder=globalThis.TextDecoder,a.console=globalThis.console,a.URL=globalThis.URL,a.URLSearchParams=globalThis.URLSearchParams,a.structuredClone=globalThis.structuredClone,a.atob=globalThis.atob,a.btoa=globalThis.btoa,Es(a.Uint8Array),a.Symbol.dispose??=Symbol.for(`Symbol.dispose`),a.Symbol.asyncDispose??=Symbol.for(`Symbol.asyncDispose`),a.exports={},a.module={exports:a.exports},{context:i,globalThis:a,updateTimestamp:e=>{t=e}}}const js=i(`@workflow/core//vmScriptCache`,1,()=>({byCode:new Map}));function Ms(e){let t=js.byCode.get(e);if(t!==void 0)return js.byCode.delete(e),js.byCode.set(e,t),t}function Ns(e,t){let n=Ms(e);if(n===void 0)for(n=new Map,js.byCode.set(e,n);js.byCode.size>8;){let e=js.byCode.keys().next().value;if(e===void 0)break;js.byCode.delete(e)}let r=n.get(t),i=r!==void 0;return r===void 0&&(r=new ui(e,{filename:t}),n.set(t,r)),{script:r,cacheHit:i}}function Ps(e){return async function(t,n={}){let{promise:r,resolve:i}=An(),a=`attr_${e.generateUlid()}`;try{f({changes:t,writer:{type:`workflow`},...n.allowReservedAttributes===!0?{allowReservedAttributes:!0}:{}})}catch(t){if(!(t instanceof p))throw t;if(!e.eventsConsumer.events.some(e=>e.eventType===`attr_set`&&e.correlationId===a))throw new X(t.message)}let o={type:`attribute`,correlationId:a,changes:t,...n.allowReservedAttributes===!0?{allowReservedAttributes:!0}:{}};return e.invocationsQueue.set(a,o),e.eventsConsumer.subscribe(r=>{if(!r)return On(e),L.NotConsumed;if(r.correlationId!==a)return L.NotConsumed;if(r.eventType!==`attr_set`||r.eventData.writer.type!==`workflow`||JSON.stringify(r.eventData.changes)!==JSON.stringify(t)||r.eventData.allowReservedAttributes===!0!=(n.allowReservedAttributes===!0))return e.promiseQueue=e.promiseQueue.then(()=>{e.onWorkflowError(new xn(`Replay divergence: Unexpected attribute event for ${a}`,{eventId:r.eventId}))}),L.Finished;e.invocationsQueue.delete(a);let o=e.eventsConsumer.eventIndex,s=Dn(e,o,`attribute`,{deliveredAt:null}),c=Nn(e,o,`attribute`);return e.promiseQueue.then(()=>c).then(()=>{s.markDelivered(),i()}),L.Finished}),r}}function Fs(e,t){if(typeof t!=`string`)return null;let n=H(fe,e.globalThis),r=n?.[M];return typeof r==`function`?r.call(n,{runId:t}):null}function Is(e){return function(t={}){if(t.token===``)throw Error("`createHook()` was called with an empty string token. Pass a non-empty token, or omit the `token` option to use a generated one.");if(t.isWebhook===!0&&t.experimental_minRetention!==void 0)throw Error("Webhook hooks do not support `experimental_minRetention`. Use a non-webhook `createHook()` with `resumeHook()`.");if(t.experimental_minRetention!==void 0&&e.worldCapabilities?.hookRetention?.active!==!0)throw new X("The configured World does not support `experimental_minRetention` for Hooks.");if(t.experimental_force===!0){if(t.token===void 0||t.token===null)throw Error("`createHook()` was called with `experimental_force: true` but no `token`. Force-claiming only applies to an explicit token another run may hold.");if(t.isWebhook===!0)throw Error("Webhook hooks do not support `experimental_force`. Use a non-webhook `createHook()` with an explicit token.");if(e.worldCapabilities?.hookForceClaim!==!0)throw new X("The configured World does not support `experimental_force` for Hooks.")}let n=`hook_${e.generateUlid()}`,r=t.token??e.generateNanoid(),i=t.experimental_minRetention===void 0?void 0:un(t.experimental_minRetention),a=t.isWebhook??!1;e.invocationsQueue.set(n,{type:`hook`,correlationId:n,token:r,tokenRetentionUntil:i,...t.experimental_force===!0&&{force:!0},metadata:t.metadata,isWebhook:a});let o=[],s;e.hookPayloadAwaiters?.set(n,()=>s!==void 0);let c,l=[],u=!1,d=!1,f=!1,p=!1,m=null,h=null,g=null,_=Promise.resolve();function v(t,n){let r=e.eventsConsumer.eventIndex,i=Dn(e,r,`hook`,{deliveredAt:t}),a=Nn(e,r,`hook`);_=e.promiseQueue.then(()=>a).then(()=>{i.markDelivered(),n()})}function y(t){let n=_;e.promiseQueue=e.promiseQueue.then(()=>{n.then(t)})}let b=new Set;Re.debug(`Hook consumer setup`,{correlationId:n,token:r}),e.eventsConsumer.subscribe(i=>{if(!i)return u=!0,(s!==void 0&&o.length===0||l.length>0&&!d&&!p)&&On(e),L.NotConsumed;if(i.correlationId!==n)return L.NotConsumed;let a=`eventData`in i&&i.eventData&&`token`in i.eventData?i.eventData.token:void 0;if(typeof a==`string`&&a!==r)return e.promiseQueue=e.promiseQueue.then(()=>{e.onWorkflowError(new xn(`Replay divergence: hook event ${i.eventType} for ${n} belongs to token "${a}", but the current hook consumer expects "${r}"`,{eventId:i.eventId}))}),L.Finished;if(i.eventType===`hook_created`){let t=e.invocationsQueue.get(n);t&&t.type===`hook`&&(t.hasCreatedEvent=!0,t.tokenRetentionUntil=i.eventData.tokenRetentionUntil),d=!0;let r=l.slice();return l.length=0,v(+i.createdAt,()=>{for(let e of r)e.resolve(null)}),L.Consumed}if(i.eventType===`hook_conflict`){e.invocationsQueue.delete(n),e.hookPayloadAwaiters?.delete(n);let r=i,a=t.experimental_force===!0&&r.eventData.forceRefusedReason===void 0,o=a?new X(`createHook({ experimental_force: true }) for token "${r.eventData.token}" was answered with a hook_conflict: the configured World does not support force-claiming hook tokens${r.eventData.conflictingRunId?` (run "${r.eventData.conflictingRunId}" holds it)`:``}.`):new hn(r.eventData.token,r.eventData.conflictingRunId);p=!0,m=o,g=a?null:Fs(e,r.eventData.conflictingRunId);let c=s;s=void 0;let u=l.slice();return l.length=0,v(+i.createdAt,()=>{c?.reject(o);for(let e of u)g?e.resolve(g):e.reject(o)}),L.Consumed}if(i.eventType===`hook_received`){let t=i.resumeId;if(typeof t==`string`){if(b.has(t))return L.Consumed;b.add(t)}let n=e.eventsConsumer.eventIndex,r=s!==void 0,a=Dn(e,n,`hook`,{armed:r,deliveredAt:+i.createdAt});if(r){let t=Nn(e,n,`hook`),r=s;if(s=void 0,r){c=r,e.pendingDeliveries++;let n;e.promiseQueue=e.promiseQueue.then(async()=>{try{let t=await e.replayPayloadCache.prepareEventPayload(i.eventId,`payload`,i.eventData.payload);n={ok:!0,value:await me(i.eventData.payload,e.runId,e.encryptionKey,e.globalThis,{},t)}}catch(e){n={ok:!1,error:e}}finally{e.pendingDeliveries--}t.then(()=>{a.markDelivered(),c===r&&(c=void 0),n.ok?r.resolve(n.value):r.reject(n.error)})})}}else{let t,r=An();e.pendingDeliveries++,e.promiseQueue=e.promiseQueue.then(async()=>{try{let n=await e.replayPayloadCache.prepareEventPayload(i.eventId,`payload`,i.eventData.payload);t={ok:!0,value:await me(i.eventData.payload,e.runId,e.encryptionKey,e.globalThis,{},n)}}catch(e){t={ok:!1,error:e}}finally{e.pendingDeliveries--,r.resolve()}}),o.push({claim:()=>(a.arm(),r.promise.then(()=>Nn(e,n,`hook`)).then(()=>{if(a.markDelivered(),t&&!t.ok)throw t.error;return t.value}))})}return L.Consumed}if(i.eventType===`hook_disposed`){e.invocationsQueue.delete(n),e.hookPayloadAwaiters?.delete(n),f=!0;let t=i.eventData?.forceClaimedBy;if(t){let i=new bn(r,t.runId,t.hookId);h=i;let a=s;s=void 0;let o=l.slice();l.length=0,e.promiseQueue=e.promiseQueue.then(()=>{a?.reject(i);for(let e of o)e.resolve(null)}),Re.debug(`Hook force-claimed by another run`,{correlationId:n,token:r,claimedByRunId:t.runId})}return L.Finished}return e.promiseQueue=e.promiseQueue.then(()=>{e.onWorkflowError(new xn(`Replay divergence: Unexpected event type for hook ${n} (token: ${r}) "${i.eventType}"`,{eventId:i.eventId}))}),L.Finished});let x=!1;function S(){if(p&&m){let e=An();return y(()=>{e.reject(m)}),e.promise}if(c)return Re.debug(`Hook await joined an in-flight payload`,{correlationId:n,token:r}),c.promise;if(o.length>0){let e=o.shift();if(e)return e.claim()}if(h){let t=h,n=An();return e.promiseQueue=e.promiseQueue.then(()=>{n.reject(t)}),n.promise}return u&&On(e),s?(Re.debug(`Hook await joined the pending awaiter`,{correlationId:n,token:r}),s.promise):(s=An(),s.promise)}function C(){let t=An();if(d)return y(()=>{t.resolve(null)}),t.promise;if(p)return y(()=>{g?t.resolve(g):t.reject(m)}),t.promise;let r=e.invocationsQueue.get(n);return r&&r.type===`hook`&&(r.hasConflictAwaiter=!0),u&&On(e),l.push(t),t.promise}function w(){if(x||(x=!0,e.hookPayloadAwaiters?.delete(n),f))return;let t=e.invocationsQueue.get(n);t&&t.type===`hook`&&(t.disposed=!0),s&&(s=void 0,On(e)),Re.debug(`Hook disposed`,{correlationId:n,token:r})}let T={token:r,getConflict(){return C()},then(e,t){return S().then(e,t)},async*[Symbol.asyncIterator](){for(;!x;)yield await this},dispose:w,[Symbol.dispose]:w},E=e.globalThis.Symbol.dispose;return E&&E!==Symbol.dispose&&(T[E]=w),T}}function Ls(e){return async function(t){let{promise:n,resolve:r}=An(),i=`wait_${e.generateUlid()}`,a=un(t),o={type:`wait`,correlationId:i,resumeAt:a};return e.invocationsQueue.set(i,o),e.eventsConsumer.subscribe(t=>{if(!t)return On(e),L.NotConsumed;if(t.correlationId!==i)return L.NotConsumed;if(t.eventType===`wait_created`){let n=e.invocationsQueue.get(i);return n&&n.type===`wait`&&(n.hasCreatedEvent=!0,n.resumeAt=t.eventData.resumeAt),L.Consumed}if(t.eventType===`wait_completed`){let n=t.eventData?.resumeAt;if(n!==void 0){let r=e.invocationsQueue.get(i),o=r&&r.type===`wait`?r.resumeAt:a,s=new Date(n),c=s.getTime(),l=o.getTime(),u=Number.isFinite(c)?s.toISOString():String(n);if(c!==l)return e.promiseQueue=e.promiseQueue.then(()=>{e.onWorkflowError(new xn(`Replay divergence: wait_completed event for ${i} has resumeAt "${u}", but the current wait consumer expects "${o.toISOString()}"`,{eventId:t.eventId}))}),L.Finished}e.invocationsQueue.delete(i);let o=e.eventsConsumer.eventIndex,s=Dn(e,o,`wait`,{deliveredAt:+t.createdAt}),c=Nn(e,o,`wait`);return e.promiseQueue.then(()=>c).then(()=>{s.markDelivered(),r()}),L.Finished}return e.promiseQueue=e.promiseQueue.then(()=>{e.onWorkflowError(new xn(`Replay divergence: Unexpected event type for wait ${i} "${t.eventType}"`,{eventId:t.eventId}))}),L.Finished}),n}}async function Rs(e,t,n,r,i,a){if(t.size!==0){for(let e of t.values())e.type===`hook`&&e.isSystem&&!e.disposed&&!e.abortRequested&&(e.disposed=!0);try{let e=await da();await Ga({suspension:new Pn(t,n),world:e,run:r,runReadyBarrier:a})}catch(t){G.warn(`Failed to drain pending queue items for ${i} workflow run`,{workflowRunId:e,message:t instanceof Error?t.message:String(t)})}}}function zs(e,t,n){let r=Mt(t)?.moduleSpecifier||t,i=`globalThis.__private_workflows?.get(${JSON.stringify(t)})`;return K(`workflow.bundle.compile`,async t=>{let a=n===`shared`?Ns(e,r):{script:new ui(e,{filename:r}),cacheHit:!1},o=n===`shared`?Ns(i,r):{script:new ui(i,{filename:r}),cacheHit:!1};return t?.setAttributes({...O(a.cacheHit)}),{bundleScript:a.script,workflowLookupScript:o.script}})}function Bs(e,t){return zs(e,t,`shared`)}function Vs(e,t){return zs(e,t,`none`)}function Hs(e){return Ws(`replay`,e.workflowRun,e.events,async t=>{let{session:n,execution:r}=await Ks(e);return t?.setAttributes({...tn(n.argumentCount)}),Gs(await r,t)})}function Us(e,t){return Ws(`retained`,e.workflowRun,t,async n=>{n?.setAttributes({...tn(e.argumentCount)});let r=await e.resume(t);return r.type===`replay`?r:Gs(r,n)})}function Ws(e,t,n,r){return K(`workflow.run ${t.workflowName}`,i=>(i?.setAttributes({...ke(t.workflowName),...it(t.runId),...ht(t.status),...ue(n.length),...rn(e)}),r(i)))}function Gs(e,t){return e.type===`completed`?t?.setAttributes({...ae(e.resultType)}):t&&(ye(e.suspension,t),e.parked&&t.setAttributes({...ce(e.parked.count),...Me(e.parked.eventId),...F(e.parked.eventType)})),e}async function Ks(e){let t=await Tt(`workflow.vm.create_context`);return qs(e,t.end).catch(e=>{throw t.fail(e),e})}async function qs({workflowCode:e,workflowRun:t,events:n,encryptionKey:r,replayPayloadCache:i,compiledWorkflowScripts:a,runReadyBarrier:o,worldCapabilities:s},c){let l=t.startedAt;if(!l)throw new J(`Workflow run "${t.runId}" has no "startedAt" timestamp (should not happen)`);let u=Ca(t.runId)??+t.createdAt,d=!!process.env.VERCEL_URL,f=In(d?`https://${process.env.VERCEL_URL}`:`http://localhost:${await Ea()??3e3}`),{context:p,globalThis:m,updateTimestamp:g}=As({seed:`${t.runId}:${t.workflowName}:${t.deploymentId}`,fixedTimestamp:u}),v=An(),y={type:`running`,interruption:v},b=e=>{switch(y.type){case`running`:{let{interruption:t}=y;y=Pn.is(e)?{type:`suspended`,suspension:e}:{type:`replay`},j.suspensionGeneration++,t.reject(e);return}case`suspended`:y={type:`replay`};return;case`replay`:case`completed`:return}},x=_(()=>m.Math.random()),S=0,C=()=>(S+=1,x(u)),w=ss(()=>m.Math.random()),E={current:Promise.resolve()},D={current:()=>!0},O=u,k=e=>{e>O&&(O=e,g(e))},A=new Te(n,{onUnconsumedEvent:e=>{b(new xn(`Replay could not consume event: eventType=${e.eventType}, correlationId=${e.correlationId}, eventId=${e.eventId}. ${os(e,j.invocationsQueue,A)}`,{eventId:e.eventId}))},onDuplicateEvent:(e,n)=>{let r={workflowRunId:t.runId,eventId:e.eventId,eventType:e.eventType,firstEventType:n,correlationId:e.correlationId};if(n!==e.eventType&&h(n)===h(e.eventType)){G.debug(`Ignoring inert event that decides an already-decided outcome differently`,r);return}if(n!==e.eventType){G.debug(`Ignoring inert event for an entity whose terminal event is already in the event log`,r);return}G.debug(`Ignoring inert event that repeats a class already in the event log`,r)},getPromiseQueue:()=>E.current,isDeliveryIdle:()=>D.current()}),j={runId:t.runId,encryptionKey:r,worldCapabilities:s,globalThis:m,onWorkflowError:b,eventsConsumer:A,generateUlid:C,generateNanoid:w,get mintCount(){return S},invocationsQueue:new Map,get promiseQueue(){return E.current},set promiseQueue(e){E.current=e},pendingDeliveries:0,suspensionGeneration:0,pendingDeliveryBarriers:new Map,hookPayloadAwaiters:new Map,advanceClock:k,replayPayloadCache:i};D.current=()=>jn(j);let ee=!1;j.eventsConsumer.subscribe(e=>e?e.eventType===`run_created`?L.Consumed:e.eventType===`run_started`?ee?L.NotConsumed:(ee=!0,L.Consumed):e.eventType===`attr_set`&&e.eventData.writer.type===`step`?L.Consumed:L.NotConsumed:L.NotConsumed);let M=cs(j),N=Is(j),P=Ls(j),F=Ps(j);m[pt]=M,m[kt]=F,m[nt]=N,m[Bt]=P,m[qt]=e=>z(t.runId,e);let I={workflowName:t.workflowName,workflowRunId:t.runId,workflowStartedAt:new m.Date(+l),url:f,features:{encryption:!!r}};m[Mr]=I,m[oe]=C,m.fetch=()=>{throw new m.Error(`Global "fetch" is unavailable in workflow functions. Use the "fetch" step function from "workflow" to make HTTP requests.\n\nLearn more: https://workflow-sdk.dev/err/${yn.FETCH_IN_WORKFLOW_FUNCTION}`)};let te=`Timeout functions like "setTimeout" and "setInterval" are not supported in workflow functions. Use the "sleep" function from "workflow" for time-based delays.`;m.setTimeout=()=>{throw new J(te,{slug:yn.TIMEOUT_FUNCTIONS_IN_WORKFLOW})},m.setInterval=()=>{throw new J(te,{slug:yn.TIMEOUT_FUNCTIONS_IN_WORKFLOW})},m.clearTimeout=()=>{throw new J(te,{slug:yn.TIMEOUT_FUNCTIONS_IN_WORKFLOW})},m.clearInterval=()=>{throw new J(te,{slug:yn.TIMEOUT_FUNCTIONS_IN_WORKFLOW})},m.setImmediate=()=>{throw new J(te,{slug:yn.TIMEOUT_FUNCTIONS_IN_WORKFLOW})},m.clearImmediate=()=>{throw new J(te,{slug:yn.TIMEOUT_FUNCTIONS_IN_WORKFLOW})},m.AbortController=Oe(j);let R=T();m.AbortSignal={abort:R.abort,any:R.any,timeout:R.timeout};class ne{cache;credentials;destination;headers;integrity;method;mode;redirect;referrer;referrerPolicy;url;keepalive;signal;duplex;body;constructor(e,t){if(typeof e==`string`||e instanceof m.URL){let t=String(e);try{new m.URL(t),this.url=t}catch(e){throw TypeError(`Failed to parse URL from ${t}`,{cause:e})}}else{if(this.url=e.url,!t){this.method=e.method,this.headers=new m.Headers(e.headers),this.body=e.body,this.mode=e.mode,this.credentials=e.credentials,this.cache=e.cache,this.redirect=e.redirect,this.referrer=e.referrer,this.referrerPolicy=e.referrerPolicy,this.integrity=e.integrity,this.keepalive=e.keepalive,this.signal=e.signal,this.duplex=e.duplex,this.destination=e.destination;return}this.method=e.method,this.headers=new m.Headers(e.headers),this.body=e.body,this.mode=e.mode,this.credentials=e.credentials,this.cache=e.cache,this.redirect=e.redirect,this.referrer=e.referrer,this.referrerPolicy=e.referrerPolicy,this.integrity=e.integrity,this.keepalive=e.keepalive,this.signal=e.signal,this.duplex=e.duplex,this.destination=e.destination}t?.method?this.method=t.method.toUpperCase():typeof this.method!=`string`&&(this.method=`GET`),t?.headers?this.headers=new m.Headers(t.headers):(typeof e==`string`||e instanceof m.URL)&&(this.headers=new m.Headers),t?.mode===void 0?typeof this.mode!=`string`&&(this.mode=`cors`):this.mode=t.mode,t?.credentials===void 0?typeof this.credentials!=`string`&&(this.credentials=`same-origin`):this.credentials=t.credentials,t?.cache===void 0?typeof this.cache!=`string`&&(this.cache=`default`):this.cache=t.cache,t?.redirect===void 0?typeof this.redirect!=`string`&&(this.redirect=`follow`):this.redirect=t.redirect,t?.referrer===void 0?typeof this.referrer!=`string`&&(this.referrer=`about:client`):this.referrer=t.referrer,t?.referrerPolicy===void 0?typeof this.referrerPolicy!=`string`&&(this.referrerPolicy=``):this.referrerPolicy=t.referrerPolicy,t?.integrity===void 0?typeof this.integrity!=`string`&&(this.integrity=``):this.integrity=t.integrity,t?.keepalive===void 0?typeof this.keepalive!=`boolean`&&(this.keepalive=!1):this.keepalive=t.keepalive,t?.signal===void 0?this.signal||={aborted:!1}:this.signal=t.signal,this.duplex||=`half`,this.destination||=`document`;let n=t?.body;if(n!=null&&(this.method===`GET`||this.method===`HEAD`))throw TypeError(`Request with GET/HEAD method cannot have body.`);this.body=n==null?null:Object.create(m.ReadableStream.prototype,{[Rt]:{value:n,writable:!1}})}clone(){Q()}get bodyUsed(){return!1}blob;formData;arrayBuffer;json;text;async bytes(){return new Uint8Array(await this.arrayBuffer())}}m.Request=ne,Object.defineProperties(ne.prototype,{arrayBuffer:{value:M(`__builtin_response_array_buffer`),writable:!0,configurable:!0},json:{value:M(`__builtin_response_json`),writable:!0,configurable:!0},text:{value:M(`__builtin_response_text`),writable:!0,configurable:!0}});class re{type;url;status;statusText;body;headers;redirected;constructor(e,t){if(this.status=t?.status??200,this.statusText=t?.statusText??``,this.headers=new m.Headers(t?.headers),this.type=`default`,this.url=``,this.redirected=!1,e!=null&&(this.status===204||this.status===205||this.status===304))throw TypeError(`Response constructor: Invalid response status code ${this.status}`);this.body=e==null?null:Object.create(m.ReadableStream.prototype,{[Rt]:{value:e,writable:!1}})}clone;blob;formData;get ok(){return this.status>=200&&this.status<300}get bodyUsed(){return!1}arrayBuffer;json;text;async bytes(){return new Uint8Array(await this.arrayBuffer())}static json(e,t){let n=JSON.stringify(e),r=new m.Headers(t?.headers);return r.has(`content-type`)||r.set(`content-type`,`application/json`),new re(n,{...t,headers:r})}static error(){Q()}static redirect(e,t=302){if(![301,302,303,307,308].includes(t))throw RangeError(`Invalid redirect status code: ${t}. Must be one of: 301, 302, 303, 307, 308`);let n=new m.Headers;n.set(`Location`,String(e));let r=Object.create(re.prototype);return r.status=t,r.statusText=``,r.headers=n,r.body=null,r.type=`default`,r.url=``,r.redirected=!1,r}}m.Response=re,Object.defineProperties(re.prototype,{arrayBuffer:{value:M(`__builtin_response_array_buffer`),writable:!0,configurable:!0},json:{value:M(`__builtin_response_json`),writable:!0,configurable:!0},text:{value:M(`__builtin_response_text`),writable:!0,configurable:!0}});class ie{constructor(){Q()}get locked(){return!1}cancel(){Q()}getReader(){Q()}pipeThrough(){Q()}pipeTo(){Q()}tee(){Q()}values(){Q()}static from(){Q()}[Symbol.asyncIterator](){Q()}}m.ReadableStream=ie;class ae{constructor(){Q()}get locked(){return!1}abort(){Q()}close(){Q()}getWriter(){Q()}}m.WritableStream=ae;class se{readable;writable;constructor(){Q()}}m.TransformStream=se,m.console=globalThis.console;let ce=Symbol.for(`@vercel/request-context`);m[ce]=globalThis[ce],c();let{bundleScript:le,workflowLookupScript:ue}=a??await Bs(e,t.workflowName),B=await K(`workflow.bundle.evaluate`,async()=>(le.runInContext(p),ue.runInContext(p)));if(typeof B!=`function`)throw new dn(t.workflowName);let de=[];j.promiseQueue=j.promiseQueue.then(async()=>{de=await K(`workflow.input.hydrate`,async()=>{let e=await i.prepareWorkflowInput(t);return _e(t.input,t.runId,r,m,{},e)})}),await j.promiseQueue;let V=async e=>{throw Pn.is(e)||xn.is(e)?(y.type===`running`&&(y={type:`replay`}),e):(y={type:`completed`},await Rs(t.runId,j.invocationsQueue,m,t,`failed`,o),e)},fe=async(e,n)=>{let i;try{i=await Promise.race([e,n.promise])}catch(e){return y.type===`suspended`&&e===y.suspension?{type:`suspended`,suspension:y.suspension,session:ge,parked:A.parkedSummary}:V(e)}y={type:`completed`};let a=A.strandedEvent;if(a)return V(new xn(`Replay finished without consuming event: eventType=${a.eventType}, correlationId=${a.correlationId}, eventId=${a.eventId}. ${os(a,j.invocationsQueue,A)}`,{eventId:a.eventId}));try{let e=await Et(i,t.runId,r,m,!1,(t.specVersion??0)>=5);return await Rs(t.runId,j.invocationsQueue,m,t,`completed`,o),{type:`completed`,output:e,resultType:typeof i}}catch(e){return V(e)}},pe=await Xt(),me=await Tt(`workflow.replay.execute`),he=pe.run(async()=>B(...de)),ge={workflowRun:t,argumentCount:de.length,async resume(e){switch(y.type){case`suspended`:{let t=A.events;if(!(e.length>t.length&&t.every((t,n)=>t.eventId===e[n].eventId)))return y={type:`replay`},{type:`replay`};let n=An();return y={type:`running`,interruption:n},j.suspensionGeneration++,pe.refresh(),A.append(e.slice(t.length)),fe(he,n)}case`replay`:return{type:`replay`};case`completed`:case`running`:throw new J(`Cannot resume ${y.type} workflow "${t.runId}"`)}}},ve=fe(he,v);return ve.then(me.end,me.fail),{session:ge,execution:ve}}function Js(e){let t=Xn();return t===void 0?e:e===void 0?t:Math.min(e,t)}function Ys({world:e,runInput:t,runId:n,runLogger:r}){let i=t?.environment;if(!i)return!1;let a=e.getEnvironment?.();return!a||a===i?!1:(r.error(`Refusing to run this workflow: it was created in the "${i}" environment but this deployment runs in "${a}". Executing it here would create a second copy of the same run id in both environments — one pending forever, one running — so the queue message is being discarded without executing and without retrying. The client that called start() wrote the run to its own environment but addressed the queue message to a deployment in another one. Check that the environment that client authenticates as (WORKFLOW_VERCEL_ENV for CLI and CI clients, or the OIDC token's environment inside a deployment) matches the environment of the deployment it targets. The run it created is still pending in "${i}" and will not run.`,{workflowRunId:n,creatorEnvironment:i,currentEnvironment:a,pinnedDeploymentId:t?.deploymentId}),!0)}async function Xs({world:e,runInput:t,runId:n,runLogger:r}){let i=t?.deploymentId;if(!i)return;let a;try{a=await e.getDeploymentId()}catch{return}a&&a!==i&&r.error(`Queue message was delivered to a deployment it was not pinned to. The run was created targeting a different deployment, so this invocation may be replaying against code the run was not started on. Continuing — this is expected if the Workflow SDK version changed mid-run in local development, where the deployment id is derived from that version.`,{workflowRunId:n,pinnedDeploymentId:i,currentDeploymentId:a})}function Zs(e){return J.is(e)?q.RUNTIME_ERROR:Xr(e)?q.WORLD_CONTRACT_ERROR:null}async function Qs({world:e,workflowRun:t,runId:n,workflowName:r,requestId:i,err:a,errorCode:o,logMessage:s}){G.error(s,{workflowRunId:n,errorCode:o,error:a instanceof Error?a.message:String(a)});let c,l;try{c=await fr(e,t??n)(),l=await St(a,n,c,globalThis,(t?.specVersion??0)>=5),await e.events.create(n,{eventType:`run_failed`,specVersion:8,eventData:{error:l,errorCode:o}},{requestId:i})}catch(e){if(Z.is(e)||Y.is(e))return;if(Xr(e)){G.error(`Fatal world contract error while recording workflow failure`,{workflowRunId:n,errorCode:q.WORLD_CONTRACT_ERROR,error:e instanceof Error?e.message:String(e)});return}throw e}Ui(n,r,l,c,o)}function $s(e,t){return e.find(e=>e.runId===t&&(e.eventType===`run_completed`||e.eventType===`run_failed`||e.eventType===`run_cancelled`))}function ec(e,t){let n=$s(e,t);return n?(G.debug(`Run reached terminal event, exiting`,{workflowRunId:t,eventType:n.eventType,eventId:n.eventId}),!0):!1}function tc(e,t){let n=0;for(let r of e)t.has(r)||n++;return n}function nc({suspension:e,serializationBlockerCount:t,hookContinuation:n=!1,invocationContinuation:r=!1}){return ar()?t>0?{retain:!1,reason:`serialization_executed_workflow_code`}:n?{retain:!0}:!r&&e.stepCount===0&&e.attributeCount===0?{retain:!1,reason:`no_replay_driver`}:{retain:!0}:{retain:!1,reason:`disabled`}}function rc(e,t){return{serializationBlockerCount:t,serializationBlockers:e.map(({source:e,correlationId:t,kind:n,detail:r})=>({source:e,correlationId:t,kind:n,detail:r&&r.length>160?`${r.slice(0,160)}…`:r})),serializationBlockersTruncated:t>e.length}}function ic(e){return e.cursor===null?{type:`loadAll`}:{type:`loadAfter`,events:e.events,cursor:e.cursor}}async function ac(e,t){let n=process.env.WORKFLOW_V2_TIMEOUT_MS;if(n!==void 0&&n!==``){let e=Number(n);if(Number.isFinite(e)&&e>0)return e}let r=await e.getRuntimeDeadline?.();if(r!==void 0){let e=r.getTime();if(!Number.isNaN(e)){let n=Math.floor(e-t);if(n>=(0,hi.default)(`25m`))return(0,hi.default)(`10m`);if(n>=(0,hi.default)(`10m`))return(0,hi.default)(`5m`)}}return(0,hi.default)(`2m`)}async function oc(e,t,n,r,i){let a=Kr(t.executionContext);if(!a)return{code:e};let o=`Workflow run "${t.runId}" is a dynamic workflow run (source ${a.sourceHash.slice(0,12)})`;if(!ir())throw new J(`${o}, but this deployment has not enabled dynamic workflows, so its stored code was not executed. Set ${Ln}=1 on the deployment to enable them.`);let s=qr(a);if(t.workflowName!==s)throw new J(`${o}, but its workflow name ${JSON.stringify(t.workflowName)} does not match the dynamic id ${JSON.stringify(s)} its marker derives, so its stored code was not executed.`);let c=t.dynamicWorkflowCode;if(c===void 0&&(await i(),c=(await r.runs.get(t.runId,{resolveData:`all`})).dynamicWorkflowCode),c===void 0)throw new J(`${o}, but its stored workflow code is missing, so it cannot be replayed. This means the code was never persisted or its storage has expired.`);let l=await n(),u=t.executionContext?.features;try{return{code:await yt(c,l,{encryptionRequired:u?.encryption===!0}),dynamicWorkflow:a}}catch(e){throw new J(`${o}, but its stored workflow code could not be decoded, so it was not executed: ${e instanceof Error?e.message:String(e)}`,{cause:e})}}function sc(e,t){Fn(t?.basePath);let n=r(t?.namespace),i=a(`workflow`,n),d=t=>t.createQueueHandler(i,Pr(t)(async(r,a,d)=>{let f=Date.now(),p=wr(r);if(p){await Cr(p,t.specVersion);return}let{runId:h,traceCarrier:g,requestedAt:_,stepId:v,stepName:b,replayDivergence:x,preconditionReinvocations:S,deploymentMismatchRetryCount:T,runInput:E,hookInput:D,runContext:O,hookResumeTiming:k,waitContinuation:A}=o.parse(r),j=ya(k,v===void 0?`inline`:`dispatched`);j&&v===void 0&&(j.consumerStartedAtMs=f),j&&!Number.isFinite(j.consumerStartedAtMs)&&(j=void 0);let M=Ke(g)?g:void 0,{requestId:N}=a,P=a.queueName.slice(i.length),F=G.forRun(h,P),I=Hn();if(a.attempt>I){let e=bi(void 0,q.MAX_DELIVERIES_EXCEEDED);F.error(`Workflow handler exceeded max deliveries (${a.attempt}/${I})`,{attempt:a.attempt,errorCode:e.errorCode,errorAttribution:e.attribution});let t,n;try{let e=await da(),r=fr(e,h),i=new X(`Workflow exceeded maximum queue deliveries (${a.attempt}/${I})`);t=await r(),n=await St(i,h,t),await e.events.create(h,{eventType:`run_failed`,specVersion:8,eventData:{error:n,errorCode:q.MAX_DELIVERIES_EXCEEDED}},{requestId:N})}catch(e){if(Z.is(e)||Y.is(e))return;if($r(e))throw F.warn(`Transient error marking run as failed after max deliveries, retrying via queue redelivery`,{attempt:a.attempt,errorName:e instanceof Error?e.name:`UnknownError`,errorMessage:e instanceof Error?e.message:String(e)}),e;F.error(`Failed to mark run as failed after ${a.attempt} delivery attempts. A persistent error is preventing the run from being terminated. The run will remain in its current state until manually resolved. This is most likely due to a persistent outage of the workflow backend or a bug in the workflow runtime and should be reported to the Workflow team.`,{attempt:a.attempt,errorName:e instanceof Error?e.name:`UnknownError`,errorMessage:e instanceof Error?e.message:String(e),errorStack:e instanceof Error?e.stack:void 0});return}Ui(h,P,n,t,q.MAX_DELIVERIES_EXCEEDED);return}let L=gt(),R=()=>jt(L,M),ne=await at(L,M),ie=new ma,ae=L===`continuous`?M:void 0,oe=await Ht(`CONSUMER`);return await tt(ae,async()=>await ct({workflowRunId:h,workflowName:P},async()=>{let t=await K(`workflow.route.get_world`,async()=>da());if(!Ys({world:t,runInput:E,runId:h,runLogger:F}))return await Xs({world:t,runInput:E,runId:h,runLogger:F}),K(`workflow.execute ${Ye(P)}`,{kind:oe,links:ne},async r=>{r?.setAttributes({...ke(P),...te(`execute_v2`),...pe(`vercel-queue`),...xt(a.queueName),...w(a.messageId),...vt(`process`),...lr({requestedAt:_}),...it(h),...wt(!!M),...Ze(L)});let i=Date.now(),o=await ac(t,i),f=i+o+Gn(),p=!1,g={inert:0,observedHook:0,unknownHook:0,abortSignal:0,externalStep:0,waitDue:0},I=0,ne=new Set,ae=x?new _a(x.count):_a.inert(),oe,se,z=await y(t=>{if(t&&!Wr(t)&&!Kr(t.executionContext))return se!==t.workflowName&&(se=t.workflowName,oe=Bs(e,t.workflowName),oe.catch(()=>{})),oe}),ce=kn(()=>{let e=er(t,h);return e.catch(()=>{}),e}),le,B=e=>{if(e&&!Wr(e))return le||=new Si(ce.value),le},de=e=>{e.eventType===`run_created`&&(B(e.eventData),z(e.eventData)),le?.prepareEvent(e)},V=async(e,n)=>{let r=ge(e,n),i={...me(),resolveData:yr,...n},a=await ae.withEventCreate(r===void 0?i:{...i,sinceCursor:r},n=>t.events.create(h,e,n));return r!==void 0&&_e(r,a),a},fe=(e,t)=>K(`workflow.replay.load`,async n=>{let r=0;n?.setAttributes({...it(h),...Lt(e)});try{let e=await t(e=>{r++,de(e)});return r=e.events?.length??r,e}finally{n?.setAttributes(ue(r))}}),me=()=>H.type===`loadAll`?{}:Vn(H.events),ge=(e,t)=>{if(!(De||H.type!==`ready`||t?.sinceCursor!==void 0||t?.preloadEvents===!0||c(e.eventType)))return H.cursor??void 0},_e=(e,t)=>{H.type===`ready`&&H.cursor===e&&t.events!==void 0&&t.hasMore!==!0&&sr(H,{events:t.events,cursor:t.cursor})},H={type:`loadAll`},U,ye,W=-1,be,xe,we=0,Te,De=Kn()&&E!==void 0&&a.attempt===1&&v===void 0&&!x;r?.setAttributes($t(De));let Oe,Ae=async()=>{if(Oe)try{await Oe}catch{}},Me=async e=>{let n=Zs(e);return n?(await Qs({world:t,workflowRun:U,runId:h,workflowName:P,requestId:N,err:e,errorCode:n,logMessage:`Fatal runtime error during workflow setup`}),!0):!1},Ne=new Set,Pe=e=>{Ne.size>0&&G.error(`Invariant violation: acking the workflow message while owned inline steps are still executing — crash recovery for these steps is broken`,{workflowRunId:h,ackPath:e,stepIds:[...Ne]})},Fe=async()=>({runId:h,traceCarrier:await R(),requestedAt:new Date}),Ie=async(e,r)=>{if(Pe(`reinvoke`),!De)return{timeoutSeconds:e};await cr(t,_r(P,n),{...await Fe(),...r},e>0?{delaySeconds:e}:void 0)},Le=0,Re=null,ze=e=>{let t=Re;if(!t)return;Re=null;let n=new Set(e.map(e=>e.eventId)),r=tc(n,t.ids),i=tc(t.ids,n),a=i>0?`shrank`:r>0?`grew`:`unchanged`;G.warn(`Restarted replay reloaded its event log after a stale-snapshot rejection`,{workflowRunId:h,outcome:a,added:r,dropped:i,eventsBefore:t.ids.size,eventsAfter:n.size,preconditionRestarts:t.restart,reason:t.reason,source:t.source,loopIteration:I})},Be=(e,t,{allowDelta:n=!0}={})=>{if(Le>=Jn())return!1;Le++,Xe=null;let i=n&&Le===1?Dr(t,h):null,a=i!==null&&H.type!==`loadAll`;return Re=H.type===`loadAll`?null:{ids:new Set(H.events.map(e=>e.eventId)),restart:Le,reason:e,source:a?`inline-delta`:`full-reload`},i&&H.type!==`loadAll`?(sr(H,i),H={...H,type:`ready`}):(H={type:`loadAll`},le?.resetScan()),G.warn(`Event creation rejected as stale; restarting replay in-process`,{workflowRunId:h,reason:e,loopIteration:I,preconditionRestarts:Le,source:a?`inline-delta`:`full-reload`}),r?.setAttributes({"workflow.precondition_restarts":Le}),!0},Ve=async(e,t)=>{let n=(S??0)+1,i=$n();return n>i?{reinvoked:!1,error:new J(`Event creation was rejected as stale after ${i} re-invocations of ${Jn()} in-process replay restarts each: this run cannot observe its own event log completely enough to make progress. Last rejection (${e}): ${t instanceof Error?t.message:String(t)}`,{cause:t})}:(G.warn(`Event creation rejected as stale after in-process restarts; re-invoking run for a fresh replay`,{workflowRunId:h,reason:e,loopIteration:I,preconditionReinvocations:n,maxReinvocations:i}),r?.setAttributes({"workflow.precondition_reinvocations":n}),{reinvoked:!0,result:await Ie(Or(),{preconditionReinvocations:n})})},He=async(e,i,a)=>{let{outcome:o,spanAttributes:s}=await Ki({world:t,run:e,workflowName:P,requestId:N,retryCount:T,beforeStop:a,isDeploymentUnavailableError:t.isDeploymentUnavailableError,reenqueue:async({deploymentId:e,specVersion:r,deploymentMismatchRetryCount:a,delaySeconds:o})=>{await cr(t,_r(P,n),{...await i(),deploymentMismatchRetryCount:a},{deploymentId:e,specVersion:r,delaySeconds:o})}});return s&&r?.setAttributes(s),o};if(v&&b)try{let e,i;if(r?.setAttributes(Jt(O?`run_context`:`runs_get`)),O)i=O;else{let n=await t.runs.get(h,{resolveData:`none`});if(n.status!==`running`){G.debug(`Run already finished, skipping background step`,{workflowRunId:h,status:n.status});return}e=n,i={deploymentId:n.deploymentId,specVersion:n.specVersion??0,...n.startedAt?{startedAt:+n.startedAt}:{},rootRunId:zn(n.attributes,h)}}if(await He({runId:h,deploymentId:i.deploymentId,specVersion:i.specVersion},async()=>({...await Fe(),stepId:v,stepName:b,...O?{runContext:O}:{},...k?{hookResumeTiming:k}:{}}))!==`continue`)return;let o=i.startedAt??Date.now(),c=a.attempt,l=Mn(b)?.maxRetries??3;a.attempt>l+1&&(c=Ti((await vr(h)).events,v,{type:`totalAttempts`})+1);let d=j;j=void 0,ie.pause();let f;try{f=await Ua(h,v,()=>La({world:t,workflowRunId:h,workflowDeploymentId:i.deploymentId,workflowName:P,workflowStartedAt:o,rootRunId:i.rootRunId??h,requestId:N,stepId:v,stepName:b,runSpecVersion:i.specVersion,authoritativeAttempt:c,...d?{resumeTracking:d}:{}}))}finally{ie.resume()}if(f.type===`retry`||f.type===`throttled`)return{timeoutSeconds:f.timeoutSeconds};if(t.capabilities?.invoke&&f.type!==`gone`){await cr(t,_r(P,n),{runId:h,traceCarrier:await R(),requestedAt:new Date});return}if(f.type===`completed`&&f.hasPendingOps){await cr(t,_r(P,n),{runId:h,traceCarrier:await R(),requestedAt:new Date});return}if(f.type===`completed`||f.type===`failed`||f.type===`skipped`){let n=await vr(h);H=ic(n);let r=new Set,i=new Set;for(let e of n.events)e.eventType===`step_created`||e.eventType===`step_started`?r.add(e.correlationId):(e.eventType===`step_completed`||e.eventType===`step_failed`)&&i.add(e.correlationId);let c=new Set;for(let e of r)i.has(e)||c.add(e);if(c.size>0){if(Un()&&Va(n.events,c,a.messageId))G.debug(`Background step done; falling through to recover an inline step owned by this message`,{workflowRunId:h});else{G.debug(`Background step done but other steps pending, returning`,{workflowRunId:h});return}}G.debug(`All parallel steps done, replaying inline after background step`,{workflowRunId:h});let l=e??await t.runs.get(h,{resolveData:`none`});if(s(l.status)){G.debug(`Run already finished, skipping inline replay after background step`,{workflowRunId:h,status:l.status});return}z(l);let d=n.events.find(e=>e.eventType===`run_created`),f;if(d)f=d.eventData.input;else{if(!u(l.specVersion))throw new J(`Workflow run "${h}" has no "run_created" event`);let e=await t.runs.get(h,{resolveData:`all`});if(e.status!==`running`)return;f=e.input}U={...l,input:f,status:`running`,output:void 0,error:void 0,completedAt:void 0},W=o}else return}catch(e){let n=Zs(e);if(!n)throw e;await Qs({world:t,workflowRun:U,runId:h,workflowName:P,requestId:N,err:e,errorCode:n,logMessage:`Fatal error while preparing background workflow step`});return}if(!U&&D?.deploymentId!==void 0&&t.capabilities?.deploymentAffinity===!0){let e=D.deploymentId,n;try{n=await t.getDeploymentId()}catch{n=void 0}if(n!==void 0&&n!==e&&await He(await t.runs.get(h,{resolveData:`none`}),async()=>({...await Fe(),hookInput:D,...k?{hookResumeTiming:k}:{}}),Ae)!==`continue`)return}let Ue=!1;if(!U&&D&&D.resumeId!==void 0&&D.payloadDigest!==void 0){let e=D,t;try{t=new Date(l(e.resumeId))}catch{t=void 0}try{r?.addEvent(`workflow.hook_received.create.start`,{"workflow.hook_received.preload_events":!0});let n=await fe(`hook_preload`,n=>V({eventType:`hook_received`,specVersion:8,correlationId:e.hookId,eventData:{token:e.token,payload:e.payload}},{requestId:N,occurredAt:t,resumeId:e.resumeId,resumePayloadDigest:e.payloadDigest,preloadEvents:!0,replayEventObserver:n}));if(Ue=!0,n.run!==void 0&&n.run.startedAt!==void 0&&n.event!==void 0&&n.events!==void 0&&n.events.length>0&&n.cursor!=null&&n.hasMore===!1&&typeof n.maxEvents==`number`&&n.events.some(e=>e.eventType===`run_created`)&&n.events.some(e=>e.eventType===`run_started`)&&n.events.some(t=>t.eventType===`hook_received`&&t.resumeId===e.resumeId)&&n.run?.startedAt&&n.events){let e=n.events.find(e=>e.runId===h&&(e.eventType===`run_completed`||e.eventType===`run_failed`||e.eventType===`run_cancelled`));if(e){r?.setAttributes({...ht(e.eventType===`run_completed`?`completed`:e.eventType===`run_failed`?`failed`:`cancelled`),...Ce(`hook_received_stream`)}),G.info(`Run already finished during lazy hook setup, skipping`,{workflowRunId:h,eventType:e.eventType});return}U=n.run,z(U),ye=Js(n.maxEvents),xe=Date.now(),j&&(j.setupSource=`hook_preload`),H={type:`ready`,events:n.events,cursor:n.cursor},W=+n.run.startedAt,r?.setAttributes({...ht(n.run.status),...Ge(W),...Ce(`hook_received_stream`)})}else r?.setAttributes(Ce(`hook_received_fallback`))}catch(e){if(Sn.is(e)||Y.is(e)){G.info(`Run already finished during lazy hook setup, skipping`,{workflowRunId:h,message:e.message});return}if(await Me(e))return;throw e}}if(!U){let e={eventType:`run_started`,specVersion:E?.specVersion??8,...E?{eventData:{input:E.input,deploymentId:E.deploymentId,workflowName:E.workflowName,executionContext:E.executionContext,attributes:E.attributes,allowReservedAttributes:E.allowReservedAttributes,dynamicWorkflowCode:E.dynamicWorkflowCode,dynamicWorkflowCodeRef:E.dynamicWorkflowCodeRef}}:{}};if(De&&E){r?.addEvent(`workflow.run_started.create.start`,{"workflow.run_started.skip_preload":!0});let t=V(e,{requestId:N,skipPreload:!0});Oe=t;try{z(E),B(E)}catch(e){if(await Ae(),!await Me(e))throw e;return}t.then(e=>{let t=Js(e.maxEvents);t!==void 0&&(ye=t)}).catch(()=>{}),H={type:`ready`,events:[],cursor:null};let n=new Date;U={runId:h,status:`running`,deploymentId:E.deploymentId,workflowName:E.workflowName,specVersion:E.specVersion,executionContext:E.executionContext,input:E.input,...E.dynamicWorkflowCode?{dynamicWorkflowCode:E.dynamicWorkflowCode}:{},attributes:E.attributes??{},startedAt:n,createdAt:n,updatedAt:n},W=+n,xe=+n,r?.setAttributes({...ht(`running`),...Ge(W)})}else try{r?.addEvent(`workflow.run_started.create.start`,{"workflow.run_started.skip_preload":!1});let t=fe(`run_started`,t=>V(e,{requestId:N,replayEventObserver:t}));try{z(E),B(E)}catch(e){try{await t}catch{}throw e}let n=await t;if(U=n.run,ye=Js(n.maxEvents),xe=Date.now(),j&&(j.setupSource=`run_started`),n.events?.length){let e={events:[...n.events],cursor:n.cursor??null};H=n.hasMore?ic(e):{...e,type:`ready`}}if(W=+n.run.startedAt,r?.setAttributes({...ht(n.run.status),...Ge(W)}),n.run.status!==`running`){G.info(`Workflow already completed or failed, skipping`,{workflowRunId:h,status:n.run.status});return}z(U)}catch(e){if(Z.is(e)||Y.is(e)){G.info(`Run already finished during setup, skipping`,{workflowRunId:h,message:e.message});return}if(!await Me(e))throw e;return}}if(ci(U,`Workflow run must be loaded before replay`),j&&j.setupSource===void 0&&(j.setupSource=`event_load`),await He(U,async()=>({...await Fe(),...D?{hookInput:D}:{},...k?{hookResumeTiming:k}:{}}),Ae)!==`continue`)return;if(D&&!Ue&&!(D.resumeId!==void 0&&H.type!==`loadAll`&&H.events.some(e=>e.eventType===`hook_received`&&e.resumeId===D.resumeId))){let e;try{e=D.resumeId===void 0?void 0:new Date(l(D.resumeId))}catch{e=void 0}let n;try{let i=await t.events.create(h,{eventType:`hook_received`,specVersion:8,correlationId:D.hookId,eventData:{token:D.token,payload:D.payload}},{requestId:N,occurredAt:e,resumeId:D.resumeId,resumePayloadDigest:D.payloadDigest});r?.setAttributes(Je(!0));let a=i.event;n=a?{...a,eventData:{token:D.token,payload:D.payload}}:void 0}catch(e){if(Sn.is(e)||Y.is(e))return;throw e}H.type!==`loadAll`&&n?(dr(H.events,n),de(n)):H={type:`loadAll`}}let We;try{We=await oc(e,U,()=>ce.value,t,Ae)}catch(e){if(await Ae(),!await Me(e))throw e;return}let Ke=We.code,qe=We.dynamicWorkflow;qe&&(r?.setAttributes({...C(!0),...he(qe.sourceHash)}),F.info(`Executing stored dynamic workflow code`,{sourceHash:qe.sourceHash}));let Ye=qe&&!Wr(U)?Vs(Ke,U.workflowName):void 0,Xe=null,Qe=new Set,$e=new Set;for(;;){let e=d?.revision??0;if(I++,ie.isExhausted()){await ga({runId:h,workflowName:P,requestId:N,attempt:a.attempt,limitMs:ie.configuredLimitMs,slotSnapshot:me()});return}if(Date.now()-i>=o){G.info(`V2 timeout reached, re-scheduling workflow`,{workflowRunId:h,loopIteration:I,elapsedMs:Date.now()-i}),await cr(t,_r(P,n),{runId:h,traceCarrier:await R(),requestedAt:new Date});return}let s=0,c=!1;try{if(Wr(U)){G.debug(`Using QuickJS VM engine`,{workflowRunId:h,loopIteration:I}),await Ae(),H.type===`loadAfter`&&(sr(H,await vr(h,H.cursor)),H={...H,type:`ready`});let{runWorkflowWithQuickJS:e}=await import(`../../_chunks/workflow/_eve-core-quickjs-entrypoint-stub-qIV0OaFz.js`),t=await e({workflowCode:Ke,workflowName:P,workflowRun:U,preloadedEvents:H.type===`ready`?H.events:void 0,preloadedEventsComplete:H.type===`ready`,preloadedCursor:H.type===`ready`?H.cursor:void 0,runInput:E,parentSpan:r,maxEventsLimit:ye,namespace:n,nextTraceCarrier:R,waitContinuation:A,deliveryAttempt:a.attempt,ownerMessageId:a.messageId,requestId:N});return t?.timeoutSeconds===void 0?void 0:await Ie(t.timeoutSeconds)}if(H.type!==`ready`){p=!1;let e=await vr(h,H.type===`loadAfter`?H.cursor:void 0);H.type===`loadAfter`?(sr(H,e),H={...H,type:`ready`}):H={...e,type:`ready`}}if(ci(H.type===`ready`),ze(H.events),ec(H.events,h))return;let e=Date.now(),i=new Set(H.events.filter(e=>e.eventType===`wait_completed`).map(e=>e.correlationId)),o=H.events.filter(t=>t.eventType===`wait_created`&&t.correlationId!==void 0&&!i.has(t.correlationId)&&e>=t.eventData.resumeAt.getTime()).map(e=>({eventType:`wait_completed`,specVersion:8,correlationId:e.correlationId,eventData:{resumeAt:e.eventData.resumeAt}}));for(let e of o)try{let t=await V(e,{requestId:N});mr(H.events,t)}catch(t){if(Z.is(t)){G.info(`Wait already completed, skipping`,{workflowRunId:h,correlationId:e.correlationId});continue}throw t}ci(H.type===`ready`);let l=new Set(H.events.filter(e=>e.eventType===`wait_completed`).map(e=>e.correlationId)),u=o.filter(e=>!l.has(e.correlationId));if(u.length>0){if(p=!1,H.cursor){let e=await vr(h,H.cursor),t=new Set(e.events.filter(e=>e.eventType===`wait_completed`).map(e=>e.correlationId));u.every(e=>t.has(e.correlationId))?sr(H,e):H={...await vr(h),type:`ready`}}else H={...await vr(h),type:`ready`}}if(br()){let e=await tr(h,{events:H.events,cursor:H.cursor});if(H={...e.log,type:`ready`},e.gap!==void 0)throw new Cn(`Event log for run ${h} has a hole at slot ${e.gap.firstMissingSlot}: ${e.gap.missingCount} of the ${e.gap.maxSlot} slots up to the log's maximum hold no event.`)}if(ec(H.events,h))return;if(ye!==void 0){let e=H.events.reduce((e,t)=>m(t)?e:e+1,0);if(e>=ye)throw new wn(e,ye);Xi({runId:h,workflowName:P,eventCount:e,limit:ye,isQuickJS:!1})}be??=H.events.every(e=>e.eventType===`run_created`||e.eventType===`run_started`||e.eventType===`attr_set`||m(e)),G.debug(`Starting workflow execution`,{workflowRunId:h,loopIteration:I,eventCount:H.events.length,executionMode:Xe?`retained`:`replay`}),s=Date.now(),j&&(j.replayStartedAtMs??=s);let d=B(U);ci(d,`Node workflow replay requires payload preparation`);let f=d.prewarm(U,H.events),g=Xe?await Us(Xe,H.events):{type:`replay`};if(c=Xe!==null&&g.type!==`replay`,g.type===`replay`){Xe=null;let e=z(U);ci(e||Ye,`Node workflow replay requires compiled scripts`),g=await Hs({workflowCode:Ke,workflowRun:U,events:H.events,encryptionKey:await ce.value,replayPayloadCache:d,...e??Ye?{compiledWorkflowScripts:await(e??Ye)}:{},runReadyBarrier:Oe,worldCapabilities:t.capabilities})}if(await f,g.type===`suspended`)throw Xe=g.session,g.suspension;let _=g.output;G.debug(`Workflow execution completed`,{workflowRunId:h,loopIteration:I,replayMs:Date.now()-s,executionMode:Xe?`retained`:`replay`}),ae.activate();try{await Ae(),await V({eventType:`run_completed`,specVersion:8,eventData:{output:_}},{requestId:N})}catch(e){if(Z.is(e)||Y.is(e)){G.info(`Tried completing workflow run, but run has already finished.`,{workflowRunId:h,message:e.message});return}throw e}Vi(h,P),r?.setAttributes({...ht(`completed`)});return}catch(l){if(Pn.is(l)){ae.activate();let u=Date.now(),m=u-s;j&&l.stepCount>0&&(j.nextStepEncounteredAtMs??=u),G.debug(`Workflow suspended`,{workflowRunId:h,loopIteration:I,replayMs:m,steps:l.stepCount,hooks:l.hookCount,waits:l.waitCount});let _=je(l.stepCount,l.hookCount,l.waitCount);_&&G.debug(_);let v=Date.now();ci(H.type===`ready`,`Workflow suspended before its event log was loaded`);let y;try{y=await Ga({suspension:l,world:t,run:U,span:r,requestId:N,eventLog:H,runReadyBarrier:Oe,replayRecoveryReporter:ae,forceClaimVictimWakes:ne,stepDispatch:{queueName:_r(P,n),getTraceCarrier:R},ownerMessageId:a.messageId,allowDeferredBatchWork:!0})}catch(e){if(gn.is(e)){if(Be(`suspension-create`,e))continue;let t=await Ve(`suspension-create`,e);if(t.reinvoked)return t.result;throw t.error}if(!X.is(e))throw e;let t=Gr(e);G.error(`Non-retryable error while committing workflow suspension; failing run`,{workflowRunId:h,errorCode:t,errorName:e.name,errorMessage:e.message});let n,i;try{await Ae(),n=await ce.value,i=await St(e,h,n,globalThis,(U?.specVersion??0)>=5),await V({eventType:`run_failed`,specVersion:8,eventData:{error:i,errorCode:t}},{requestId:N})}catch(e){if(Z.is(e)||Y.is(e)){G.info(`Tried failing workflow run, but run has already finished.`,{workflowRunId:h,message:e.message});return}throw e}Ui(h,P,i,n,t),r?.setAttributes({...ht(`failed`),...ve(t),...re(e.name),...ee(e.message),...ut(e.name)});return}let b=kn(()=>(ci(H.type===`ready`),Zi(H.events))),x=Xe?nc({suspension:l,serializationBlockerCount:y.serializationBlockerCount,hookContinuation:y.hasAwaitedHookCreation||y.hasHookConflict,invocationContinuation:d!==void 0}):void 0;x?.retain===!1&&(Xe=null),y.hasAttributeEvents&&Te===void 0&&(Te=we),we+=y.hookCreationMs,G.debug(`Suspension handled`,{workflowRunId:h,suspensionMs:Date.now()-v,pendingSteps:y.pendingSteps.length,timeoutSeconds:y.waitTimeout?.seconds,hasHookConflict:y.hasHookConflict,hasAwaitedHookCreation:y.hasAwaitedHookCreation,hasAttributeEvents:y.hasAttributeEvents,...x?{workflowVmRetention:x.retain?`retained`:`replay`}:{},...x?.retain===!1?{workflowVmRetentionReason:x.reason}:{},...y.serializationBlockerCount>0?rc(y.serializationBlockers,y.serializationBlockerCount):{}});let S=(e,t)=>{if(!Xe)return!1;let n=e.filter(e=>!Qe.has(e));if(n.length===0)return!1;for(let e of n)Qe.add(e);let i=y.eventLogCarriedForward&&!b.value.openWait;return i||(ci(H.type===`ready`),H=ic(H)),G.debug(`Continuing over a hook write in-process`,{workflowRunId:h,loopIteration:I,settles:t,hookIds:n,carriedForward:y.eventLogCarriedForward,readBeforeResume:!i}),r?.setAttributes({"workflow.hook_write_continuations":Qe.size}),!0};if(y.hasHookConflict){if(await y.deferredBatchWork,S(y.hookConflictCorrelationIds,`hook_conflict`))continue;if([...y.inlineClaims.values()].some(e=>e.owned)){H=ic(H);continue}return await Ie(0)}if(y.hasAttributeEvents){H=ic(H);continue}if(y.failedStepCorrelationIds.size>0){await y.deferredBatchWork,Xe=null,H=ic(H);continue}let C=y.pendingSteps;if(p&&y.waitTimeout!==void 0&&C.length===0&&!y.hasAwaitedHookCreation&&b.value.openWait){G.debug(`Re-reading the event log before parking on a wait over an inline delta`,{workflowRunId:h,loopIteration:I,waitCorrelationId:y.waitTimeout.correlationId}),r?.setAttributes({"workflow.wait_park_reread":!0}),H=ic(H);continue}let w=y.lazyInlineSteps,T=new Set(w.map(e=>e.correlationId)),E=await R(),D=[],O=Un(),k=Date.now(),M=[],F=0,L=0;for(let e of y.queuedStepCorrelationIds)$e.add(e);let te=j!==void 0&&w.length===0&&!C.some(e=>!T.has(e.correlationId)&&O&&Ra(e)&&e.ownerMessageId===a.messageId);for(let e of C){if(T.has(e.correlationId)||y.queuedStepCorrelationIds.has(e.correlationId))continue;let r=O&&Ra(e);if(r&&e.ownerMessageId===a.messageId){M.push(e);continue}let i=r?za(e,k):0;if(i>0){F++,G.debug(`Pending step is inline-owned by a live invocation; ensuring delayed backstop wake instead of immediate requeue`,{workflowRunId:h,stepId:e.correlationId,ownerMessageId:e.ownerMessageId,backstopDelaySeconds:i}),D.push(cr(t,_r(P,n),{runId:h,traceCarrier:E,requestedAt:new Date},{delaySeconds:i,idempotencyKey:Ba(e)}));continue}if($e.has(e.correlationId)&&e.sawRetrying!==!0){L++;continue}$e.add(e.correlationId);let o=te?ba(j):void 0;o&&(te=!1,j=void 0),D.push(cr(t,_r(P,n),{runId:h,stepId:e.correlationId,stepName:e.stepName,traceCarrier:E,requestedAt:new Date,runContext:Tr(U),...o?{hookResumeTiming:o}:{}},{idempotencyKey:Bn(e.correlationId,e.stepName)}))}if(y.waitTimeout){let e=A?.correlationId===y.waitTimeout.correlationId?A.attempt+1:0;D.push(cr(t,_r(P,n),{runId:h,traceCarrier:E,requestedAt:new Date,waitContinuation:{correlationId:y.waitTimeout.correlationId,attempt:e}},Ya(y.waitTimeout.seconds,y.waitTimeout.correlationId,Date.now(),e)))}let oe=Promise.all(D);oe.catch(()=>{});let se=[...w.map(e=>{let t=y.inlineClaims.get(e.correlationId);return t?{correlationId:e.correlationId,stepName:e.stepName,preclaimedStart:t}:{correlationId:e.correlationId,stepName:e.stepName,lazyStepInput:e.dehydratedInput}}),...M.map(e=>({correlationId:e.correlationId,stepName:e.stepName}))];if((F>0||M.length>0||L>0)&&r?.setAttributes({...M.length>0?Ee(M.length):{},...F>0?Se(F):{},...L>0?bt(L):{}}),L>0&&G.debug(`Skipped re-publishing step messages this invocation already published on an earlier replay pass`,{workflowRunId:h,loopIteration:I,republishesSkipped:L}),M.length>0&&G.warn(`Re-executing inline steps owned by this queue message — a previous delivery crashed mid-body and this redelivery is recovering them`,{workflowRunId:h,stepIds:M.map(e=>e.correlationId)}),se.length===0){if(await Promise.all([oe,y.deferredBatchWork]),y.hasAwaitedHookCreation){if(S(y.awaitedHookCorrelationIds,`hook_created`))continue;return await Ie(0)}if(d&&Date.now()-i<o&&await d.waitForActivity(e)){H=ic(H);continue}return}let z=b.value,le=$i(z,f)||y.waitTimeout!==void 0&&!(y.waitTimeout.resumeAtMs>f),ue=typeof H.cursor==`string`&&l.stepCount===1&&C.length===1&&w.length===1&&M.length===0&&!le;ue&&(z.openWait||y.waitTimeout!==void 0)&&r?.setAttributes({"workflow.inline_delta_over_pending_wait":!0});let B=w.length>0?ea({items:l.items,observedHookIds:l.observedHookIds,selfExecutedStepIds:new Set([...T,...M.map(e=>e.correlationId)]),waitDue:le}):void 0;B&&(B.inert?g.inert++:(B.observedHookCount>0&&g.observedHook++,B.unknownHookCount>0&&g.unknownHook++,B.abortSignalHookCount>0&&g.abortSignal++,B.externalStepCount>0&&g.externalStep++,B.waitDue&&g.waitDue++),r?.setAttributes({"workflow.out_of_band.inert_boundaries":g.inert,"workflow.out_of_band.observed_hook_boundaries":g.observedHook,"workflow.out_of_band.unknown_hook_boundaries":g.unknownHook,"workflow.out_of_band.abort_signal_boundaries":g.abortSignal,"workflow.out_of_band.external_step_boundaries":g.externalStep,"workflow.out_of_band.wait_due_boundaries":g.waitDue}));let de=z.openHook||l.hookCount>0||y.hasHookEvents,fe=De&&!y.hasAttributeEvents&&!y.waitTimeout&&!y.hasHookEvents&&!y.hasAwaitedHookCreation&&!z.openHook&&!z.openWait,pe=Oa({events:H.events,invocationStartedClean:be===!0,runCreatedAtMs:Ca(h)??(De?void 0:+U.createdAt),runStartedReceivedAtMs:xe,replayMs:m,preStepBlockingMs:we,preStepBlockingBeforeAttrMs:Te,suspensionHasWaits:l.waitCount>0||y.waitTimeout!==void 0,suspensionCreatedHooks:l.hookCount>0||y.hasHookEvents,turbo:De,retained:c}),me=j;j=void 0,ie.pause();let he,ge=se.map((e,n)=>{let r=()=>(ci(H.type===`ready`),La({world:t,workflowRunId:h,workflowDeploymentId:U.deploymentId,workflowName:P,workflowStartedAt:W,requestId:N,rootRunId:zn(U.attributes,h),stepId:e.correlationId,stepName:e.stepName,runSpecVersion:U.specVersion,authoritativeAttempt:e.lazyStepInput!==void 0||e.preclaimedStart!==void 0?1:Ti(H.events,e.correlationId,{type:`ownedBy`,messageId:a.messageId})+1,lazyStepInput:e.lazyStepInput,preclaimedStart:e.preclaimedStart,ownerMessageId:a.messageId,forceOptimisticStart:fe,suppressOptimisticStart:de,runReadyBarrier:Oe,...n===0&&(e.lazyStepInput!==void 0||e.preclaimedStart!==void 0)&&pe?{latencyTracking:pe}:{},...me?{resumeTracking:me}:{},...ue&&H.cursor?{inlineDeltaSinceCursor:H.cursor}:{},replayRecoveryReporter:ae}));Ne.add(e.correlationId);let i=e.lazyStepInput!==void 0||e.preclaimedStart!==void 0;return Ua(h,e.correlationId,r,i?`debug`:`warn`).finally(()=>Ne.delete(e.correlationId))});for(let e of ge)e.catch(()=>{});try{try{await Promise.all([oe,y.deferredBatchWork])}catch(e){throw await Promise.allSettled(ge),e}he=await Promise.all(ge)}catch(e){if(gn.is(e)){if(Be(`inline-claim`,e,{allowDelta:!(await Promise.allSettled(ge)).some(e=>e.status===`fulfilled`&&(e.value.type===`completed`||e.value.type===`failed`||e.value.type===`retry`))}))continue;let t=await Ve(`inline-claim`,e);if(t.reinvoked)return t.result;throw t.error}throw e}finally{ie.resume()}let _e=[],ye=!1,Ce;for(let e=0;e<se.length;e++){let t=he[e],n=se[e];t.type===`retry`?_e.push({step:n,delaySeconds:t.timeoutSeconds}):t.type===`throttled`?Ce=Math.max(Ce??0,t.timeoutSeconds):t.type===`completed`&&t.hasPendingOps&&(ye=!0)}if(Ce!==void 0)return await Ie(Ce);if(_e.length>0){let e=await R();await Promise.all(_e.map(({step:r,delaySeconds:i})=>cr(t,_r(P,n),{runId:h,stepId:r.correlationId,stepName:r.stepName,traceCarrier:e,requestedAt:new Date,runContext:Tr(U)},{delaySeconds:i,idempotencyKey:Bn(r.correlationId,r.stepName)})))}if(ye){G.debug(`Breaking loop: inline step has pending ops`,{workflowRunId:h,loopIteration:I}),await cr(t,_r(P,n),{runId:h,traceCarrier:await R(),requestedAt:new Date});return}if(_e.length>0)return;if(se.length===1){let e=he[0];if(e.type===`completed`&&e.inlineDelta){sr(H,e.inlineDelta),p=!e.inlineDelta.hasMore,H=e.inlineDelta.hasMore?ic(H):{...H,type:`ready`};continue}}H=ic(H)}else{let e=l;if(gn.is(l)){if(Be(`replay-write`,l))continue;let t=await Ve(`replay-write`,l);if(t.reinvoked)return t.result;e=t.error}if($r(l))throw F.warn(`Transient world error during replay; redelivering via queue instead of failing the run`,{errorName:l instanceof Error?l.name:`UnknownError`,errorMessage:l instanceof Error?l.message:String(l),deliveryAttempt:a.attempt}),l;let i,o={};if(xn.is(l)){let r=(x?.count??0)+1,s=Rn(),u=[...x?.eventIds??(x?[x.eventId]:[]),l.eventId].slice(-(s+1));if(o={errorCode:q.REPLAY_DIVERGENCE,divergenceEventId:l.eventId,priorDivergenceEventId:x?.eventId,divergenceEventIds:u,divergenceCount:r,deliveryAttempt:a.attempt,maxRecoveryReplays:s,loopIteration:I,servedByRetainedSession:c,eventLogState:H.type,eventLogLength:H.type===`loadAll`?void 0:H.events.length,eventLogLastEventId:H.type===`loadAll`?void 0:H.events.at(-1)?.eventId,cursor:H.type===`ready`?H.cursor??void 0:H.type===`loadAfter`?H.cursor:void 0,hasHookInput:D!==void 0,hasWaitContinuation:A!==void 0,isRecoveryReplay:x!==void 0,setupSource:j?.setupSource},r<=s){F.warn(`Workflow replay diverged; queueing a recovery replay before declaring the event log corrupted`,{...o,errorMessage:l.message}),await cr(t,_r(P,n),{runId:h,traceCarrier:await R(),requestedAt:new Date,replayDivergence:{eventId:l.eventId,count:r,eventIds:u}});return}i=r,e=new Cn(`Workflow replay diverged ${r} times after ${s} recovery replays; latest divergent event was ${l.eventId}; divergent event ids: ${u.join(`, `)}. Last divergence: ${l.message}`,{cause:l})}else s>0&&ae.activate();e instanceof Error&&r?.recordException?.(e);let u=await Li(e),d=u.name||Ei(e),f=u.message,p=u.stack||Oi(e);if(p){let e=Mt(P)?.moduleSpecifier||P;p=ns(p,e,Ke)}let m=Gr(e);G.error(`Error while running workflow`,{...o,workflowRunId:h,errorCode:m,errorName:d,errorMessage:f,errorStack:p,errorCause:Ai(e)||void 0}),si.isNativeError(e)&&p&&wa(e,p);let g,_;try{await Ae(),g=await ce.value,_=await St(e,h,g,globalThis,(U?.specVersion??0)>=5),await V({eventType:`run_failed`,specVersion:8,eventData:{error:_,errorCode:m}},{requestId:N,...i===void 0?{}:{replayDivergenceCount:i}})}catch(e){if(Z.is(e)||Y.is(e)){G.info(`Tried failing workflow run, but run has already finished.`,{workflowRunId:h,message:e.message});return}if(Xr(e)){G.error(`Fatal world contract error while recording workflow failure`,{workflowRunId:h,errorCode:q.WORLD_CONTRACT_ERROR,error:e instanceof Error?e.message:String(e)});return}throw e}Ui(h,P,_,g,m),r?.setAttributes({...ht(`failed`),...ve(m),...re(d),...ee(f),...ut(d)});return}}}})}))})),f,p=0,h=Date.now(),g=typeof t?.routeModuleBodyStartedAt==`number`?h-t.routeModuleBodyStartedAt:void 0;return Zn(async e=>{p+=1;let t=f!==void 0,n=await Ht(`SERVER`);return K(`workflow.route.flow`,{kind:n,attributes:{...b(`flow`),...Ve(Ci),...Fe(t),...ze(p),...Ie(Date.now()-h),...g===void 0?{}:W(g),...we(e.method),...A(`/.well-known/workflow/v1/flow`)}},async t=>{f||=await K(`workflow.route.init`,async()=>{let e=await K(`workflow.route.get_world_handlers`,async()=>da());return d(e)});let n=await f(e);return n instanceof Response&&t?.setAttributes(j(n.status)),n})})}export{ni as Run,Pn as WorkflowSuspension,ei as cancelRun,Jr as cancelRuns,la as createWorld,sa as createWorldFromModule,zr as getHookByToken,Zr as getRun,da as getWorld,ua as getWorldHandlers,ur as healthCheck,Hr as listStreams,Qr as readStream,ti as recreateRunFromExisting,Ur as reenqueueRun,Fr as resumeHook,Lr as resumeWebhook,fa as setWorld,ri as start,Yr as wakeUpRun,sc as workflowEntrypoint};