eve 0.75.0 → 0.76.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 (658) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/dist/src/_virtual/_rolldown/runtime.js +1 -1
  3. package/dist/src/acp/adapter.js +1 -1
  4. package/dist/src/channel/task-card.js +1 -1
  5. package/dist/src/channel/tool-eligibility.d.ts +1 -2
  6. package/dist/src/chunks/{use-eve-agent-B2Kne9z6.js → use-eve-agent-D2V9UhLt.js} +68 -10
  7. package/dist/src/chunks/{use-eve-agent-DK_T88EP.js → use-eve-agent-QmriPA-w.js} +68 -10
  8. package/dist/src/cli/commands/deploy.js +1 -1
  9. package/dist/src/cli/commands/link.d.ts +2 -1
  10. package/dist/src/cli/commands/link.js +1 -1
  11. package/dist/src/cli/commands/registry.js +1 -1
  12. package/dist/src/cli/commands/vercel-non-interactive.d.ts +6 -4
  13. package/dist/src/cli/commands/vercel-non-interactive.js +1 -1
  14. package/dist/src/cli/dev/environment.d.ts +0 -6
  15. package/dist/src/cli/dev/environment.js +1 -1
  16. package/dist/src/cli/dev/tui/conversation-view.js +1 -1
  17. package/dist/src/cli/dev/tui/runner.js +1 -1
  18. package/dist/src/cli/dev/tui/tool-presentation.js +1 -1
  19. package/dist/src/cli/dev/tui/transcript.js +1 -1
  20. package/dist/src/client/message-action-parts.d.ts +3 -0
  21. package/dist/src/client/message-action-parts.js +1 -1
  22. package/dist/src/client/message-reducer-types.d.ts +6 -1
  23. package/dist/src/client/message-reducer.js +1 -1
  24. package/dist/src/compiled/.vendor-stamp.json +9 -8
  25. package/dist/src/compiled/@eve/catalog/index.js +1 -1
  26. package/dist/src/compiled/@vercel/queue/index.d.ts +1066 -0
  27. package/dist/src/compiled/@vercel/queue/index.js +47 -0
  28. package/dist/src/compiled/@workflow/core/global.d.ts +10 -0
  29. package/dist/src/compiled/@workflow/core/index.js +1 -1
  30. package/dist/src/compiled/@workflow/core/private.d.ts +11 -0
  31. package/dist/src/compiled/@workflow/core/private.js +1 -1
  32. package/dist/src/compiled/@workflow/core/runtime/constants.d.ts +36 -8
  33. package/dist/src/compiled/@workflow/core/runtime/helpers.js +1 -1
  34. package/dist/src/compiled/@workflow/core/runtime/lifecycle-hooks.d.ts +10 -6
  35. package/dist/src/compiled/@workflow/core/runtime/out-of-band-observation.d.ts +159 -0
  36. package/dist/src/compiled/@workflow/core/runtime/vm-mode.d.ts +28 -4
  37. package/dist/src/compiled/@workflow/core/runtime.js +4 -4
  38. package/dist/src/compiled/@workflow/core/serialization.js +1 -1
  39. package/dist/src/compiled/@workflow/core/version.d.ts +1 -1
  40. package/dist/src/compiled/@workflow/core/workflow.js +1 -1
  41. package/dist/src/compiled/@workflow/world-local/index.js +5 -5
  42. package/dist/src/compiled/@workflow/world-vercel/index.js +4 -4
  43. package/dist/src/compiled/_chunks/workflow/{attribute-changes-CSqvJx6j.js → attribute-changes-BW-kbMMn.js} +1 -1
  44. package/dist/src/compiled/_chunks/workflow/dist-CyBgVS7g.js +1 -0
  45. package/dist/src/compiled/_chunks/workflow/{helpers-BXCuoPUb.js → helpers-DlLD3ov_.js} +1 -1
  46. package/dist/src/compiled/_chunks/workflow/private-tQUuwBoQ.js +1 -0
  47. package/dist/src/compiled/_chunks/workflow/{resume-hook-CvENCrxc.js → resume-hook-DMsV_b4n.js} +1 -1
  48. package/dist/src/compiled/_chunks/workflow/{run-8pLWuR2U.js → run-DzdAqdb1.js} +1 -1
  49. package/dist/src/compiled/_chunks/workflow/{serialization-vDozzDhh.js → serialization-DPdYS_w2.js} +2 -2
  50. package/dist/src/compiled/_chunks/workflow/sleep-BY6leHh8.js +1 -0
  51. package/dist/src/compiled/_chunks/workflow/{token-BKeK6DmC.js → token-D5ugC3PI.js} +1 -1
  52. package/dist/src/compiled/_chunks/workflow/{token-util-CddTZ_ef.js → token-util-Bla5Z0G9.js} +1 -1
  53. package/dist/src/compiled/_chunks/workflow/undici-D-ILjOKD.js +95 -0
  54. package/dist/src/compiled/_chunks/workflow/{wait-until-A344L2AG.js → wait-until-xbRRDuUf.js} +1 -1
  55. package/dist/src/compiler/connection-ownership.d.ts +6 -0
  56. package/dist/src/compiler/connection-ownership.js +1 -0
  57. package/dist/src/compiler/default-tool-policy.d.ts +0 -3
  58. package/dist/src/compiler/default-tool-policy.js +1 -1
  59. package/dist/src/compiler/extension-compatibility.d.ts +21 -20
  60. package/dist/src/compiler/extension-compatibility.js +1 -1
  61. package/dist/src/compiler/manifest.d.ts +9 -6
  62. package/dist/src/compiler/manifest.js +1 -1
  63. package/dist/src/compiler/normalize-connection.js +1 -1
  64. package/dist/src/compiler/normalize-manifest.js +1 -1
  65. package/dist/src/compiler/normalize-skill.d.ts +5 -0
  66. package/dist/src/compiler/normalize-skill.js +1 -1
  67. package/dist/src/compiler/normalize-subagent.d.ts +2 -1
  68. package/dist/src/compiler/normalize-subagent.js +1 -1
  69. package/dist/src/compiler/normalize-tool.js +1 -1
  70. package/dist/src/compiler/remote-agent-node.d.ts +2 -1
  71. package/dist/src/compiler/remote-agent-node.js +1 -1
  72. package/dist/src/connections/ownership.d.ts +18 -0
  73. package/dist/src/connections/ownership.js +1 -0
  74. package/dist/src/context/build-dynamic-tools.d.ts +3 -9
  75. package/dist/src/context/build-dynamic-tools.js +1 -1
  76. package/dist/src/context/dynamic-connection-lifecycle.js +1 -1
  77. package/dist/src/context/dynamic-skill-lifecycle.d.ts +2 -11
  78. package/dist/src/context/dynamic-skill-lifecycle.js +1 -1
  79. package/dist/src/context/dynamic-subagent-lifecycle.js +1 -1
  80. package/dist/src/context/dynamic-tool-lifecycle.js +1 -1
  81. package/dist/src/context/dynamic-tool-metadata.d.ts +1 -0
  82. package/dist/src/context/keys.d.ts +5 -4
  83. package/dist/src/context/memory-tools.js +1 -1
  84. package/dist/src/context/schedule-collection-tools.js +1 -1
  85. package/dist/src/discover/grammar.d.ts +11 -0
  86. package/dist/src/discover/grammar.js +1 -1
  87. package/dist/src/discover/manifest.d.ts +1 -0
  88. package/dist/src/discover/manifest.js +1 -1
  89. package/dist/src/discover/skills.d.ts +1 -0
  90. package/dist/src/discover/skills.js +1 -1
  91. package/dist/src/dynamic/definition.d.ts +7 -5
  92. package/dist/src/evals/assertions/collector.d.ts +4 -0
  93. package/dist/src/evals/assertions/collector.js +1 -1
  94. package/dist/src/evals/assertions/run.d.ts +2 -3
  95. package/dist/src/evals/assertions/run.js +2 -2
  96. package/dist/src/evals/assertions/scoped.js +1 -1
  97. package/dist/src/evals/index.d.ts +1 -1
  98. package/dist/src/evals/match.d.ts +9 -6
  99. package/dist/src/evals/reported-tool-name.d.ts +9 -0
  100. package/dist/src/evals/reported-tool-name.js +1 -0
  101. package/dist/src/evals/runner/derive-run-facts.d.ts +3 -3
  102. package/dist/src/evals/runner/derive-run-facts.js +1 -1
  103. package/dist/src/evals/runner/execute-task.js +1 -1
  104. package/dist/src/evals/runner/reporters/braintrust.js +1 -1
  105. package/dist/src/evals/runner/reporters/datadog-runtime-trace-links.d.ts +11 -0
  106. package/dist/src/evals/runner/reporters/datadog-runtime-trace-links.js +1 -0
  107. package/dist/src/evals/runner/reporters/datadog.js +2 -2
  108. package/dist/src/evals/session.js +2 -2
  109. package/dist/src/evals/target.d.ts +7 -0
  110. package/dist/src/evals/target.js +1 -1
  111. package/dist/src/evals/types.d.ts +17 -1
  112. package/dist/src/eve-channel/request.js +1 -1
  113. package/dist/src/execution/agent-sessions/remote.js +1 -1
  114. package/dist/src/execution/catalog/connection-auth.d.ts +41 -0
  115. package/dist/src/execution/catalog/connection-auth.js +1 -0
  116. package/dist/src/execution/catalog/connection-entry.d.ts +16 -0
  117. package/dist/src/execution/catalog/connection-entry.js +1 -0
  118. package/dist/src/execution/catalog/listing.d.ts +9 -0
  119. package/dist/src/execution/catalog/listing.js +3 -0
  120. package/dist/src/execution/catalog/rank.d.ts +44 -0
  121. package/dist/src/execution/catalog/rank.js +1 -0
  122. package/dist/src/execution/catalog/search.d.ts +28 -0
  123. package/dist/src/execution/catalog/search.js +1 -0
  124. package/dist/src/execution/catalog/signatures.d.ts +11 -0
  125. package/dist/src/execution/catalog/signatures.js +1 -0
  126. package/dist/src/execution/catalog/skills.d.ts +24 -0
  127. package/dist/src/execution/catalog/skills.js +1 -0
  128. package/dist/src/execution/catalog/step-catalog.d.ts +51 -0
  129. package/dist/src/execution/catalog/step-catalog.js +1 -0
  130. package/dist/src/execution/coordination-dispatch-shared.js +1 -1
  131. package/dist/src/execution/dynamic-connections.js +1 -1
  132. package/dist/src/execution/dynamic-workflow/tool.js +1 -1
  133. package/dist/src/execution/invoke-tool.js +1 -1
  134. package/dist/src/execution/ndjson-stream.d.ts +6 -6
  135. package/dist/src/execution/ndjson-stream.js +3 -3
  136. package/dist/src/execution/node-step.js +1 -1
  137. package/dist/src/execution/session/active-turn.d.ts +1 -1
  138. package/dist/src/execution/session/pending-turn-state.js +1 -1
  139. package/dist/src/execution/session/turn-step.js +1 -1
  140. package/dist/src/execution/session/turn.d.ts +5 -5
  141. package/dist/src/execution/session/turn.js +1 -1
  142. package/dist/src/execution/session.js +1 -1
  143. package/dist/src/execution/skills/instructions.d.ts +20 -10
  144. package/dist/src/execution/skills/instructions.js +2 -2
  145. package/dist/src/execution/tasks/calls.d.ts +6 -5
  146. package/dist/src/execution/tasks/calls.js +1 -1
  147. package/dist/src/execution/tasks/model-step.d.ts +10 -10
  148. package/dist/src/execution/tasks/model-step.js +1 -1
  149. package/dist/src/execution/tasks/render.d.ts +3 -3
  150. package/dist/src/execution/tasks/render.js +3 -3
  151. package/dist/src/execution/tasks/session.d.ts +2 -1
  152. package/dist/src/execution/tasks/table.d.ts +1 -1
  153. package/dist/src/execution/tasks/tool-entry-point.d.ts +1 -1
  154. package/dist/src/execution/tool-auth.js +1 -1
  155. package/dist/src/execution/tools/agent-router-workflow.js +1 -1
  156. package/dist/src/execution/tools/workflow/harness-definition.js +1 -1
  157. package/dist/src/extensions/code/extension/extension.d.ts +4 -18
  158. package/dist/src/extensions/code/extension/instructions/github.d.ts +3 -0
  159. package/dist/src/extensions/code/extension/instructions/github.js +1 -0
  160. package/dist/src/extensions/code/extension/instructions.md +1 -13
  161. package/dist/src/extensions/code/extension/lib/diagnostics.d.ts +4 -2
  162. package/dist/src/extensions/code/extension/lib/diagnostics.js +3 -3
  163. package/dist/src/extensions/code/extension/lib/github-compat.d.ts +28 -0
  164. package/dist/src/extensions/code/extension/lib/github-compat.js +1 -0
  165. package/dist/src/extensions/code/extension/lib/grep-search.d.ts +3 -13
  166. package/dist/src/extensions/code/extension/lib/grep-search.js +2 -2
  167. package/dist/src/extensions/code/extension/lib/patch.d.ts +8 -2
  168. package/dist/src/extensions/code/extension/lib/patch.js +4 -4
  169. package/dist/src/extensions/code/extension/lib/repository-root.d.ts +3 -4
  170. package/dist/src/extensions/code/extension/lib/repository-root.js +1 -1
  171. package/dist/src/extensions/code/extension/lib/sandbox.d.ts +2 -1
  172. package/dist/src/extensions/code/extension/lib/sandbox.js +1 -1
  173. package/dist/src/extensions/code/extension/lib/tooling.d.ts +4 -4
  174. package/dist/src/extensions/code/extension/lib/tooling.js +7 -7
  175. package/dist/src/extensions/code/extension/lib/workspace-root.d.ts +31 -0
  176. package/dist/src/extensions/code/extension/lib/workspace-root.js +1 -0
  177. package/dist/src/extensions/code/extension/skills/pr.d.ts +6 -0
  178. package/dist/src/extensions/code/extension/skills/pr.js +1 -0
  179. package/dist/src/extensions/code/extension/tools/apply_patch.d.ts +2 -2
  180. package/dist/src/extensions/code/extension/tools/apply_patch.js +2 -2
  181. package/dist/src/extensions/code/extension/tools/gh.d.ts +4 -3
  182. package/dist/src/extensions/code/extension/tools/gh.js +1 -1
  183. package/dist/src/extensions/code/extension/tools/grep.js +1 -1
  184. package/dist/src/extensions/code/tools.d.ts +2 -1
  185. package/dist/src/extensions/code/tools.js +1 -1
  186. package/dist/src/extensions/git/extension/extension.d.ts +12 -0
  187. package/dist/src/extensions/git/extension/extension.js +1 -0
  188. package/dist/src/extensions/git/extension/instructions/github.d.ts +2 -0
  189. package/dist/src/extensions/git/extension/instructions/github.js +1 -0
  190. package/dist/src/extensions/git/extension/lib/gh-tool.d.ts +29 -0
  191. package/dist/src/extensions/git/extension/lib/gh-tool.js +1 -0
  192. package/dist/src/extensions/git/extension/lib/github-guidance.d.ts +3 -0
  193. package/dist/src/extensions/git/extension/lib/github-guidance.js +49 -0
  194. package/dist/src/extensions/{code → git}/extension/lib/github-shell.d.ts +1 -1
  195. package/dist/src/extensions/git/extension/lib/github-shell.js +1 -0
  196. package/dist/src/extensions/git/extension/lib/repository-root.d.ts +5 -0
  197. package/dist/src/extensions/git/extension/lib/repository-root.js +1 -0
  198. package/dist/src/extensions/git/extension/lib/sandbox.d.ts +6 -0
  199. package/dist/src/extensions/git/extension/lib/sandbox.js +1 -0
  200. package/dist/src/extensions/git/extension/lib/shell.d.ts +1 -0
  201. package/dist/src/extensions/git/extension/lib/shell.js +1 -0
  202. package/dist/src/extensions/git/extension/lib/tooling.d.ts +4 -0
  203. package/dist/src/extensions/git/extension/lib/tooling.js +1 -0
  204. package/dist/src/extensions/git/extension/skills/pr.d.ts +5 -0
  205. package/dist/src/extensions/git/extension/skills/pr.js +1 -0
  206. package/dist/src/extensions/git/extension/tools/gh.d.ts +28 -0
  207. package/dist/src/extensions/git/extension/tools/gh.js +1 -0
  208. package/dist/src/extensions/git/tools.d.ts +27 -0
  209. package/dist/src/extensions/git/tools.js +1 -0
  210. package/dist/src/framework/sources/registry.js +1 -1
  211. package/dist/src/harness/action-presentation.d.ts +2 -2
  212. package/dist/src/harness/action-result-helpers.d.ts +10 -2
  213. package/dist/src/harness/action-result-helpers.js +1 -1
  214. package/dist/src/harness/announcements.d.ts +2 -8
  215. package/dist/src/harness/announcements.js +1 -1
  216. package/dist/src/harness/compaction/engine.d.ts +8 -19
  217. package/dist/src/harness/compaction/engine.js +1 -1
  218. package/dist/src/harness/compaction/step.d.ts +7 -1
  219. package/dist/src/harness/compaction/step.js +1 -1
  220. package/dist/src/harness/coordination.d.ts +11 -11
  221. package/dist/src/harness/coordination.js +1 -1
  222. package/dist/src/harness/current-messages.d.ts +1 -5
  223. package/dist/src/harness/current-messages.js +1 -1
  224. package/dist/src/harness/emission.d.ts +2 -2
  225. package/dist/src/harness/emission.js +1 -1
  226. package/dist/src/harness/execute-call.d.ts +48 -0
  227. package/dist/src/harness/execute-call.js +1 -0
  228. package/dist/src/harness/execute-tool.d.ts +3 -1
  229. package/dist/src/harness/final-output.d.ts +2 -6
  230. package/dist/src/harness/final-output.js +1 -1
  231. package/dist/src/harness/hitl/approvals.d.ts +5 -0
  232. package/dist/src/harness/hitl/approvals.js +1 -1
  233. package/dist/src/harness/hitl/approved-calls.d.ts +3 -2
  234. package/dist/src/harness/hitl/approved-calls.js +1 -1
  235. package/dist/src/harness/hitl/candidates.d.ts +13 -2
  236. package/dist/src/harness/hitl/candidates.js +1 -1
  237. package/dist/src/harness/hitl/coordinator.d.ts +3 -3
  238. package/dist/src/harness/hitl/coordinator.js +1 -1
  239. package/dist/src/harness/hitl/index.d.ts +6 -4
  240. package/dist/src/harness/hitl/index.js +1 -1
  241. package/dist/src/harness/hitl/intake.d.ts +3 -3
  242. package/dist/src/harness/hitl/intake.js +1 -1
  243. package/dist/src/harness/input-extraction.d.ts +4 -1
  244. package/dist/src/harness/input-extraction.js +1 -1
  245. package/dist/src/harness/input-request-resolution.d.ts +15 -0
  246. package/dist/src/harness/input-request-resolution.js +1 -1
  247. package/dist/src/harness/model-call/call.d.ts +5 -8
  248. package/dist/src/harness/model-call/call.js +1 -1
  249. package/dist/src/harness/model-call/errors.js +1 -1
  250. package/dist/src/harness/model-call/model.d.ts +4 -5
  251. package/dist/src/harness/model-call/model.js +1 -1
  252. package/dist/src/harness/model-call/request.d.ts +4 -4
  253. package/dist/src/harness/model-call/request.js +1 -1
  254. package/dist/src/harness/model-call/response.d.ts +2 -1
  255. package/dist/src/harness/model-call/response.js +1 -1
  256. package/dist/src/harness/model-call/retry.d.ts +1 -1
  257. package/dist/src/harness/model-call/retry.js +1 -1
  258. package/dist/src/harness/model-call/run.d.ts +5 -3
  259. package/dist/src/harness/model-call/run.js +1 -1
  260. package/dist/src/harness/model-call/tools.d.ts +14 -24
  261. package/dist/src/harness/model-call/tools.js +1 -1
  262. package/dist/src/harness/model-call/usage.js +1 -1
  263. package/dist/src/harness/model-profile.d.ts +28 -0
  264. package/dist/src/harness/model-profile.js +1 -0
  265. package/dist/src/harness/prompt-cache.d.ts +5 -53
  266. package/dist/src/harness/prompt-cache.js +1 -1
  267. package/dist/src/harness/provider-safety.d.ts +3 -5
  268. package/dist/src/harness/provider-safety.js +1 -1
  269. package/dist/src/harness/provider-tools.d.ts +7 -14
  270. package/dist/src/harness/provider-tools.js +1 -1
  271. package/dist/src/harness/session-machine/commit.js +1 -1
  272. package/dist/src/harness/session-machine/transitions.d.ts +5 -2
  273. package/dist/src/harness/session-machine/transitions.js +1 -1
  274. package/dist/src/harness/step/after-model.js +1 -1
  275. package/dist/src/harness/step-hooks.d.ts +6 -9
  276. package/dist/src/harness/step-hooks.js +1 -1
  277. package/dist/src/harness/tool-call-input-errors.d.ts +2 -2
  278. package/dist/src/harness/tool-call-io.d.ts +3 -0
  279. package/dist/src/harness/tool-call-io.js +1 -1
  280. package/dist/src/harness/tools.d.ts +24 -22
  281. package/dist/src/harness/tools.js +1 -1
  282. package/dist/src/harness/turn-tag-state.d.ts +12 -0
  283. package/dist/src/harness/turn-tag-state.js +1 -1
  284. package/dist/src/harness/types.d.ts +14 -0
  285. package/dist/src/instrumentation/lifecycle.d.ts +0 -1
  286. package/dist/src/instrumentation/native-events.js +1 -1
  287. package/dist/src/instrumentation/runtime.d.ts +2 -1
  288. package/dist/src/internal/application/package.js +1 -1
  289. package/dist/src/internal/authored-definition/core.js +1 -1
  290. package/dist/src/internal/authored-definition/schedule-collection.js +1 -1
  291. package/dist/src/internal/authored-definition/schema-backed.d.ts +2 -2
  292. package/dist/src/internal/authored-definition/schema-backed.js +1 -1
  293. package/dist/src/internal/authored-module.d.ts +2 -1
  294. package/dist/src/internal/authored-module.js +1 -1
  295. package/dist/src/internal/gateway.d.ts +0 -13
  296. package/dist/src/internal/gateway.js +1 -1
  297. package/dist/src/internal/helpers/markdown.js +1 -1
  298. package/dist/src/internal/mcp/skills.js +1 -1
  299. package/dist/src/internal/nitro/host/create-application-nitro.js +1 -1
  300. package/dist/src/internal/nitro/host/dev-host-fingerprint.js +1 -1
  301. package/dist/src/internal/nitro/host/local-schedules-runtime-plugin.d.ts +5 -0
  302. package/dist/src/internal/nitro/host/local-schedules-runtime-plugin.js +1 -0
  303. package/dist/src/internal/nitro/routes/schedule-collection-consumer.d.ts +6 -0
  304. package/dist/src/internal/nitro/routes/schedule-collection-consumer.js +1 -1
  305. package/dist/src/internal/schedules/consumer-route.d.ts +2 -0
  306. package/dist/src/internal/schedules/consumer-route.js +1 -1
  307. package/dist/src/internal/schedules/dev-environment.d.ts +2 -0
  308. package/dist/src/internal/schedules/dev-environment.js +1 -0
  309. package/dist/src/internal/vercel-agent-summary.d.ts +2 -2
  310. package/dist/src/internal/workflow/vercel-world-defaults.d.ts +1 -1
  311. package/dist/src/internal/workflow/vercel-world-defaults.js +1 -1
  312. package/dist/src/protocol/catalog-tools.d.ts +12 -0
  313. package/dist/src/protocol/catalog-tools.js +1 -0
  314. package/dist/src/protocol/message-version.js +1 -1
  315. package/dist/src/protocol/message.d.ts +1 -1
  316. package/dist/src/protocol/remote-agent-protocol.d.ts +2 -0
  317. package/dist/src/protocol/remote-agent-protocol.js +1 -1
  318. package/dist/src/protocol/reply-tool.d.ts +2 -0
  319. package/dist/src/protocol/reply-tool.js +1 -0
  320. package/dist/src/protocol/runtime-tools.d.ts +6 -0
  321. package/dist/src/protocol/runtime-tools.js +1 -0
  322. package/dist/src/protocol/session-projection.js +1 -1
  323. package/dist/src/protocol/task-tools.d.ts +4 -4
  324. package/dist/src/protocol/task-tools.js +1 -1
  325. package/dist/src/public/channels/chat-sdk/chatSdkChannel.js +1 -1
  326. package/dist/src/public/channels/linear/defaults.js +2 -2
  327. package/dist/src/public/channels/slack/action-status.d.ts +0 -9
  328. package/dist/src/public/channels/slack/action-status.js +1 -1
  329. package/dist/src/public/channels/slack/defaults.js +2 -2
  330. package/dist/src/public/channels/slack/task-card.d.ts +1 -1
  331. package/dist/src/public/definitions/connections/mcp.d.ts +4 -4
  332. package/dist/src/public/definitions/connections/openapi.d.ts +6 -7
  333. package/dist/src/public/definitions/remote-agent.d.ts +6 -3
  334. package/dist/src/public/definitions/workspace-agent.d.ts +6 -3
  335. package/dist/src/public/experimental/schedules/index.d.ts +1 -1
  336. package/dist/src/public/schedules/providers/in-memory.js +1 -1
  337. package/dist/src/public/schedules/providers/vercel.js +1 -1
  338. package/dist/src/public/schedules/subscription.d.ts +36 -16
  339. package/dist/src/public/tools/web-search.d.ts +1 -1
  340. package/dist/src/runtime/agent/bootstrap.d.ts +2 -1
  341. package/dist/src/runtime/agent/bootstrap.js +1 -1
  342. package/dist/src/runtime/agent/mock-model-adapter.js +2 -2
  343. package/dist/src/runtime/agent/mock-model-fixtures.js +2 -2
  344. package/dist/src/runtime/agent/mock-model-skill-selection.d.ts +2 -0
  345. package/dist/src/runtime/agent/mock-model-skill-selection.js +2 -2
  346. package/dist/src/runtime/agent/mock-structured-output.d.ts +1 -1
  347. package/dist/src/runtime/connections/mcp-client.js +1 -1
  348. package/dist/src/runtime/connections/registry.js +1 -1
  349. package/dist/src/runtime/connections/scoped-authorization.js +1 -1
  350. package/dist/src/runtime/connections/tool-result.d.ts +2 -2
  351. package/dist/src/runtime/resolve-agent-graph.js +1 -1
  352. package/dist/src/runtime/resolve-tool.js +1 -1
  353. package/dist/src/runtime/schedules/collection-client.d.ts +12 -3
  354. package/dist/src/runtime/schedules/collection-client.js +1 -1
  355. package/dist/src/runtime/subagents/dynamic-agent-config.d.ts +2 -2
  356. package/dist/src/runtime/subagents/dynamic-remote-agent-config.d.ts +2 -1
  357. package/dist/src/runtime/subagents/dynamic-remote-agent-config.js +1 -1
  358. package/dist/src/runtime/subagents/registry.d.ts +2 -1
  359. package/dist/src/runtime/subagents/registry.js +1 -1
  360. package/dist/src/runtime/tools/registry.d.ts +2 -0
  361. package/dist/src/runtime/tools/registry.js +1 -1
  362. package/dist/src/runtime/types.d.ts +3 -3
  363. package/dist/src/setup/connection-connector.js +1 -2
  364. package/dist/src/setup/index.d.ts +1 -1
  365. package/dist/src/setup/index.js +1 -1
  366. package/dist/src/setup/integrations/slack/setup.d.ts +23 -3
  367. package/dist/src/setup/integrations/slack/setup.js +1 -1
  368. package/dist/src/setup/primitives/process-output.d.ts +5 -0
  369. package/dist/src/setup/primitives/process-output.js +2 -1
  370. package/dist/src/setup/scaffold/create/project.js +1 -1
  371. package/dist/src/setup/scaffold/create/web-template.d.ts +3 -2
  372. package/dist/src/setup/scaffold/create/web-template.js +384 -412
  373. package/dist/src/setup/scaffold/update/update-slack-channel.d.ts +17 -0
  374. package/dist/src/setup/scaffold/update/update-slack-channel.js +1 -1
  375. package/dist/src/setup/slack-connect-create.d.ts +10 -2
  376. package/dist/src/setup/slack-connect-create.js +1 -1
  377. package/dist/src/setup/slack-connect-lifecycle.d.ts +92 -44
  378. package/dist/src/setup/slack-connect-lifecycle.js +1 -1
  379. package/dist/src/setup/slack-connect.d.ts +30 -11
  380. package/dist/src/setup/slack-connect.js +1 -1
  381. package/dist/src/setup/slack-setup-plan.d.ts +72 -0
  382. package/dist/src/setup/slack-setup-plan.js +1 -0
  383. package/dist/src/setup/slackbot.d.ts +75 -35
  384. package/dist/src/setup/slackbot.js +2 -1
  385. package/dist/src/setup/vercel-project.d.ts +1 -1
  386. package/dist/src/setup/vercel-project.js +0 -0
  387. package/dist/src/shared/action-label.d.ts +10 -0
  388. package/dist/src/shared/action-label.js +1 -0
  389. package/dist/src/shared/action-request-name.d.ts +3 -1
  390. package/dist/src/shared/action-request-name.js +1 -1
  391. package/dist/src/shared/action-types.d.ts +7 -8
  392. package/dist/src/shared/action-types.js +1 -1
  393. package/dist/src/shared/agent-definition.d.ts +11 -3
  394. package/dist/src/shared/development-env-files.d.ts +4 -0
  395. package/dist/src/shared/development-env-files.js +1 -0
  396. package/dist/src/shared/input.d.ts +0 -1
  397. package/dist/src/shared/map-with-concurrency.d.ts +2 -0
  398. package/dist/src/shared/map-with-concurrency.js +1 -0
  399. package/dist/src/shared/skill-definition.d.ts +6 -0
  400. package/dist/src/shared/skill-package.d.ts +1 -0
  401. package/dist/src/shared/skill-package.js +1 -1
  402. package/dist/src/shared/web-search.d.ts +15 -2
  403. package/dist/src/shared/web-search.js +1 -1
  404. package/dist/src/svelte/index.js +1 -1
  405. package/dist/src/svelte/use-eve-agent.js +1 -1
  406. package/dist/src/tool-stubs/execute.d.ts +0 -3
  407. package/dist/src/tool-stubs/execute.js +1 -1
  408. package/dist/src/tool-stubs/rules.js +1 -1
  409. package/dist/src/tool-stubs/validate-targets.js +1 -1
  410. package/dist/src/tools/behavior.d.ts +3 -6
  411. package/dist/src/tools/definition.d.ts +5 -0
  412. package/dist/src/tools/dynamic.d.ts +5 -2
  413. package/dist/src/tools/provided/ask-question-workflow.js +1 -1
  414. package/dist/src/tools/provided/sleep-workflow.js +1 -1
  415. package/dist/src/tools/provided/task-cancel.d.ts +1 -1
  416. package/dist/src/tools/provided/task-wait.d.ts +1 -1
  417. package/dist/src/tools/provided/web-search.d.ts +20 -7
  418. package/dist/src/tools/provided/web-search.js +1 -1
  419. package/dist/src/tools/schema.d.ts +5 -0
  420. package/dist/src/tools/schema.js +1 -1
  421. package/dist/src/{runtime/connections/tool-signature.d.ts → tools/signature.d.ts} +2 -2
  422. package/dist/src/tools/workflow-definition.d.ts +1 -1
  423. package/dist/src/tracing/agent-approval-instrumentation.js +1 -1
  424. package/dist/src/tracing/agent-otel-provider.js +2 -2
  425. package/dist/src/tracing/agent-otel-runtime-context.d.ts +1 -0
  426. package/dist/src/tracing/agent-otel-runtime-context.js +1 -1
  427. package/dist/src/tracing/agent-otel-turn-state.d.ts +6 -0
  428. package/dist/src/tracing/agent-otel-turn-state.js +1 -0
  429. package/dist/src/tracing/agent-tool-instrumentation.js +1 -1
  430. package/dist/src/tracing/agent-trace-context-codec.js +1 -1
  431. package/dist/src/tracing/agent-trace-state.d.ts +4 -1
  432. package/dist/src/vue/index.js +1 -1
  433. package/dist/src/vue/use-eve-agent.js +1 -1
  434. package/docs/agent-config.md +8 -8
  435. package/docs/channels/chat-sdk.mdx +1 -1
  436. package/docs/channels/slack.mdx +32 -82
  437. package/docs/code-extension.mdx +28 -7
  438. package/docs/concepts/built-in-tools.md +43 -43
  439. package/docs/concepts/context-control.md +1 -1
  440. package/docs/concepts/execution-model-and-durability.mdx +1 -1
  441. package/docs/concepts/sessions-runs-and-streaming.md +4 -4
  442. package/docs/connections/mcp.mdx +5 -5
  443. package/docs/connections/openapi.mdx +1 -1
  444. package/docs/connections/overview.mdx +4 -2
  445. package/docs/evals/assertions.mdx +5 -3
  446. package/docs/evals/reporters.mdx +3 -1
  447. package/docs/evals/tool-stubs.mdx +3 -1
  448. package/docs/extensions.md +2 -0
  449. package/docs/guides/dev-tui.md +2 -2
  450. package/docs/guides/dynamic-capabilities.md +14 -4
  451. package/docs/guides/frontend/overview.mdx +1 -1
  452. package/docs/guides/remote-agents.md +10 -3
  453. package/docs/instructions.mdx +5 -5
  454. package/docs/reference/cli.md +2 -2
  455. package/docs/reference/typescript-api.md +3 -3
  456. package/docs/skills.mdx +19 -4
  457. package/docs/subagents/index.mdx +5 -3
  458. package/docs/tools/overview.mdx +22 -1
  459. package/docs/tools/tasks-upgrade.md +1 -1
  460. package/docs/tools/tasks.md +32 -32
  461. package/docs/tools/workflows.mdx +6 -6
  462. package/docs/tutorial/team-playbooks.mdx +2 -2
  463. package/package.json +27 -11
  464. package/dist/src/compiled/_chunks/workflow/dist-DmXynLVH.js +0 -1
  465. package/dist/src/compiled/_chunks/workflow/private-Dlf90Zvn.js +0 -1
  466. package/dist/src/compiled/_chunks/workflow/signal-exit-iIdjQcCK.js +0 -95
  467. package/dist/src/compiled/_chunks/workflow/sleep-BMqbraZM.js +0 -1
  468. package/dist/src/execution/connection-announcement.d.ts +0 -7
  469. package/dist/src/execution/connection-announcement.js +0 -4
  470. package/dist/src/execution/tools/connection-approval.d.ts +0 -25
  471. package/dist/src/execution/tools/connection-approval.js +0 -1
  472. package/dist/src/execution/tools/connection-search-rank.d.ts +0 -21
  473. package/dist/src/execution/tools/connection-search-rank.js +0 -1
  474. package/dist/src/execution/tools/connection-target.d.ts +0 -18
  475. package/dist/src/execution/tools/connection-target.js +0 -1
  476. package/dist/src/execution/tools/connection-tools.d.ts +0 -4
  477. package/dist/src/execution/tools/connection-tools.js +0 -2
  478. package/dist/src/execution/tools/load-skill.d.ts +0 -10
  479. package/dist/src/execution/tools/load-skill.js +0 -1
  480. package/dist/src/extensions/code/extension/lib/github-shell.js +0 -1
  481. package/dist/src/extensions/code/extension/skills/pr/SKILL.md +0 -53
  482. package/dist/src/extensions/code/extension/subagents/worker/tools/load_skill.d.ts +0 -2
  483. package/dist/src/extensions/code/extension/subagents/worker/tools/load_skill.js +0 -1
  484. package/dist/src/harness/advertised-tools.d.ts +0 -26
  485. package/dist/src/harness/advertised-tools.js +0 -1
  486. package/dist/src/harness/nested-actions.d.ts +0 -23
  487. package/dist/src/harness/nested-actions.js +0 -1
  488. package/dist/src/node_modules/.pnpm/@vercel_cli-config@0.2.0/node_modules/@vercel/cli-config/dist/cli-config.js +0 -1
  489. package/dist/src/node_modules/.pnpm/@vercel_cli-config@0.2.0/node_modules/@vercel/cli-config/dist/cred-storage.js +0 -1
  490. package/dist/src/node_modules/.pnpm/@vercel_cli-config@0.2.0/node_modules/@vercel/cli-config/dist/index.js +0 -1
  491. package/dist/src/node_modules/.pnpm/@vercel_cli-config@0.2.0/node_modules/@vercel/cli-config/dist/schema.js +0 -1
  492. package/dist/src/node_modules/.pnpm/@vercel_cli-config@0.2.0/node_modules/@vercel/cli-config/dist/schema.zod.js +0 -1
  493. package/dist/src/node_modules/.pnpm/@vercel_cli-config@0.2.0/node_modules/@vercel/cli-config/dist/types.js +0 -1
  494. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.0/node_modules/@vercel/cli-exec/dist/envpath.js +0 -1
  495. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.0/node_modules/@vercel/cli-exec/dist/errors.js +0 -2
  496. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.0/node_modules/@vercel/cli-exec/dist/errutils.js +0 -1
  497. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.0/node_modules/@vercel/cli-exec/dist/exec.js +0 -1
  498. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.0/node_modules/@vercel/cli-exec/dist/fsutils.js +0 -1
  499. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.0/node_modules/@vercel/cli-exec/dist/index.js +0 -1
  500. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.0/node_modules/@vercel/cli-exec/dist/lookup.js +0 -1
  501. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.0/node_modules/@vercel/cli-exec/dist/safety.js +0 -1
  502. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.0/node_modules/@vercel/oidc/dist/auth-errors.js +0 -1
  503. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.0/node_modules/@vercel/oidc/dist/exchange-vercel-oidc-token.js +0 -1
  504. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.0/node_modules/@vercel/oidc/dist/get-context.js +0 -1
  505. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.0/node_modules/@vercel/oidc/dist/get-vercel-oidc-token-sync.js +0 -1
  506. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.0/node_modules/@vercel/oidc/dist/get-vercel-oidc-token-with-refresh.js +0 -2
  507. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.0/node_modules/@vercel/oidc/dist/index.js +0 -1
  508. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.0/node_modules/@vercel/oidc/dist/oauth.js +0 -1
  509. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.0/node_modules/@vercel/oidc/dist/token-error.js +0 -1
  510. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.0/node_modules/@vercel/oidc/dist/token-io.js +0 -1
  511. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.0/node_modules/@vercel/oidc/dist/token-util.js +0 -2
  512. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.0/node_modules/@vercel/oidc/dist/token.js +0 -1
  513. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.0/node_modules/@vercel/oidc/dist/verify-vercel-oidc-token.js +0 -1
  514. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.0/node_modules/@vercel/oidc/dist/version.js +0 -1
  515. package/dist/src/node_modules/.pnpm/@vercel_queue@0.5.1_@opentelemetry_api@1.9.1/node_modules/@vercel/queue/dist/index.js +0 -36
  516. package/dist/src/node_modules/.pnpm/balanced-match@4.0.4/node_modules/balanced-match/dist/esm/index.js +0 -1
  517. package/dist/src/node_modules/.pnpm/brace-expansion@5.0.12/node_modules/brace-expansion/dist/esm/index.js +0 -1
  518. package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/index.js +0 -1
  519. package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/enoent.js +0 -1
  520. package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/parse.js +0 -1
  521. package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/escape.js +0 -1
  522. package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/readShebang.js +0 -1
  523. package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/resolveCommand.js +0 -1
  524. package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/index.js +0 -1
  525. package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/command.js +0 -1
  526. package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/error.js +0 -2
  527. package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/kill.js +0 -1
  528. package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/promise.js +0 -1
  529. package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/stdio.js +0 -1
  530. package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/stream.js +0 -1
  531. package/dist/src/node_modules/.pnpm/get-stream@6.0.1/node_modules/get-stream/buffer-stream.js +0 -1
  532. package/dist/src/node_modules/.pnpm/get-stream@6.0.1/node_modules/get-stream/index.js +0 -1
  533. package/dist/src/node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/core.js +0 -1
  534. package/dist/src/node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/main.js +0 -1
  535. package/dist/src/node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/realtime.js +0 -1
  536. package/dist/src/node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/signals.js +0 -1
  537. package/dist/src/node_modules/.pnpm/is-stream@2.0.1/node_modules/is-stream/index.js +0 -1
  538. package/dist/src/node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/index.js +0 -1
  539. package/dist/src/node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/mode.js +0 -1
  540. package/dist/src/node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/windows.js +0 -1
  541. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/index.js +0 -1
  542. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/compact/decrypt.js +0 -1
  543. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/compact/encrypt.js +0 -1
  544. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/flattened/decrypt.js +0 -1
  545. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/flattened/encrypt.js +0 -1
  546. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/general/decrypt.js +0 -1
  547. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/general/encrypt.js +0 -1
  548. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwk/embedded.js +0 -1
  549. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwk/thumbprint.js +0 -1
  550. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwks/local.js +0 -1
  551. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwks/remote.js +0 -1
  552. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/compact/sign.js +0 -1
  553. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/compact/verify.js +0 -1
  554. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/flattened/sign.js +0 -1
  555. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/flattened/verify.js +0 -1
  556. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/general/sign.js +0 -1
  557. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/general/verify.js +0 -1
  558. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/decrypt.js +0 -1
  559. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/encrypt.js +0 -1
  560. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/produce.js +0 -1
  561. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/sign.js +0 -1
  562. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/unsecured.js +0 -1
  563. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/verify.js +0 -1
  564. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/key/export.js +0 -1
  565. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/key/generate_key_pair.js +0 -1
  566. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/key/generate_secret.js +0 -1
  567. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/key/import.js +0 -1
  568. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/aesgcmkw.js +0 -1
  569. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/buffer_utils.js +0 -1
  570. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/cek.js +0 -1
  571. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/check_iv_length.js +0 -1
  572. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/check_key_type.js +0 -1
  573. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/check_p2s.js +0 -1
  574. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/crypto_key.js +0 -1
  575. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/decrypt_key_management.js +0 -1
  576. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/encrypt_key_management.js +0 -1
  577. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/epoch.js +0 -1
  578. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/invalid_key_input.js +0 -1
  579. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/is_disjoint.js +0 -1
  580. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/is_jwk.js +0 -1
  581. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/is_object.js +0 -1
  582. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/iv.js +0 -1
  583. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/jwt_claims_set.js +0 -1
  584. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/private_symbols.js +0 -1
  585. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/secs.js +0 -1
  586. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/validate_algorithms.js +0 -1
  587. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/validate_crit.js +0 -1
  588. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/aeskw.js +0 -1
  589. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/asn1.js +0 -1
  590. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/base64url.js +0 -1
  591. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/cbc_tag.js +0 -1
  592. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/check_cek_length.js +0 -1
  593. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/check_key_length.js +0 -1
  594. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/ciphers.js +0 -1
  595. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/decrypt.js +0 -1
  596. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/digest.js +0 -1
  597. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/dsa_digest.js +0 -1
  598. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/ecdhes.js +0 -1
  599. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/encrypt.js +0 -1
  600. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/fetch_jwks.js +0 -1
  601. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/generate.js +0 -1
  602. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/get_named_curve.js +0 -1
  603. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/get_sign_verify_key.js +0 -1
  604. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/hmac_digest.js +0 -1
  605. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/is_key_like.js +0 -1
  606. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/is_key_object.js +0 -1
  607. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/jwk_to_key.js +0 -1
  608. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/key_to_jwk.js +0 -1
  609. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/node_key.js +0 -1
  610. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/normalize_key.js +0 -1
  611. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/pbes2kw.js +0 -1
  612. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/random.js +0 -1
  613. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/rsaes.js +0 -1
  614. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/runtime.js +0 -1
  615. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/sign.js +0 -1
  616. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/timing_safe_equal.js +0 -1
  617. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/verify.js +0 -1
  618. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/webcrypto.js +0 -1
  619. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/base64url.js +0 -1
  620. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/decode_jwt.js +0 -1
  621. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/decode_protected_header.js +0 -1
  622. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/errors.js +0 -1
  623. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/runtime.js +0 -1
  624. package/dist/src/node_modules/.pnpm/merge-stream@2.0.0/node_modules/merge-stream/index.js +0 -1
  625. package/dist/src/node_modules/.pnpm/mimic-fn@2.1.0/node_modules/mimic-fn/index.js +0 -1
  626. package/dist/src/node_modules/.pnpm/minimatch@10.2.6/node_modules/minimatch/dist/esm/assert-valid-pattern.js +0 -1
  627. package/dist/src/node_modules/.pnpm/minimatch@10.2.6/node_modules/minimatch/dist/esm/ast.js +0 -1
  628. package/dist/src/node_modules/.pnpm/minimatch@10.2.6/node_modules/minimatch/dist/esm/brace-expressions.js +0 -1
  629. package/dist/src/node_modules/.pnpm/minimatch@10.2.6/node_modules/minimatch/dist/esm/escape.js +0 -1
  630. package/dist/src/node_modules/.pnpm/minimatch@10.2.6/node_modules/minimatch/dist/esm/index.js +0 -1
  631. package/dist/src/node_modules/.pnpm/minimatch@10.2.6/node_modules/minimatch/dist/esm/unescape.js +0 -1
  632. package/dist/src/node_modules/.pnpm/mixpart@0.0.6/node_modules/mixpart/dist/index.js +0 -7
  633. package/dist/src/node_modules/.pnpm/npm-run-path@4.0.1/node_modules/npm-run-path/index.js +0 -1
  634. package/dist/src/node_modules/.pnpm/onetime@5.1.2/node_modules/onetime/index.js +0 -1
  635. package/dist/src/node_modules/.pnpm/os-paths@4.4.0/node_modules/os-paths/src/lib/index.js +0 -1
  636. package/dist/src/node_modules/.pnpm/path-key@3.1.1/node_modules/path-key/index.js +0 -1
  637. package/dist/src/node_modules/.pnpm/picocolors@1.1.1/node_modules/picocolors/picocolors.js +0 -1
  638. package/dist/src/node_modules/.pnpm/shebang-command@2.0.0/node_modules/shebang-command/index.js +0 -1
  639. package/dist/src/node_modules/.pnpm/shebang-regex@3.0.0/node_modules/shebang-regex/index.js +0 -1
  640. package/dist/src/node_modules/.pnpm/signal-exit@3.0.7/node_modules/signal-exit/index.js +0 -1
  641. package/dist/src/node_modules/.pnpm/signal-exit@3.0.7/node_modules/signal-exit/signals.js +0 -1
  642. package/dist/src/node_modules/.pnpm/strip-final-newline@2.0.0/node_modules/strip-final-newline/index.js +0 -2
  643. package/dist/src/node_modules/.pnpm/which@2.0.2/node_modules/which/which.js +0 -1
  644. package/dist/src/node_modules/.pnpm/xdg-app-paths@5.5.1/node_modules/xdg-app-paths/src/lib/index.js +0 -1
  645. package/dist/src/node_modules/.pnpm/xdg-portable@7.3.0/node_modules/xdg-portable/src/lib/index.js +0 -1
  646. package/dist/src/public/tools/load-skill.d.ts +0 -3
  647. package/dist/src/public/tools/load-skill.js +0 -1
  648. package/dist/src/runtime/skills/fragment-context.d.ts +0 -4
  649. package/dist/src/runtime/skills/fragment-context.js +0 -1
  650. package/dist/src/tools/framework/connection-tools.d.ts +0 -3
  651. package/dist/src/tools/framework/connection-tools.js +0 -1
  652. package/dist/src/tools/provided/load-skill.d.ts +0 -2
  653. package/dist/src/tools/provided/load-skill.js +0 -1
  654. /package/dist/src/extensions/{code → git}/extension/lib/github-shell-schema.d.ts +0 -0
  655. /package/dist/src/extensions/{code → git}/extension/lib/github-shell-schema.js +0 -0
  656. /package/dist/src/extensions/{code → git}/extension/lib/signed-commit.d.ts +0 -0
  657. /package/dist/src/extensions/{code → git}/extension/lib/signed-commit.js +0 -0
  658. /package/dist/src/{runtime/connections/tool-signature.js → tools/signature.js} +0 -0
@@ -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-DmXynLVH.js";import{$ as _,$n as v,$t as y,A as b,An as x,At as S,B as C,Bt as w,Cn as T,Dt as E,Et as D,Fn as ee,Ft as O,G as k,Gn as te,Gt as A,H as j,Hn as ne,Ht as M,In as re,Ir as N,J as P,Jn as ie,Jt as ae,K as oe,Kn as se,Kt as ce,Ln as le,Lr as ue,Lt as F,M as I,Mn as de,Mt as fe,N as pe,P as me,Pr as L,Pt as he,Q as R,Qn as ge,R as _e,Rn as ve,Rt as z,Sn as ye,St as be,Tn as B,Tt as V,U as H,Un as xe,Ut as Se,V as Ce,Vn as we,Vt as Te,W as Ee,Wn as De,Wr as Oe,Wt as ke,X as U,Xn as Ae,Xr as je,Y as W,Yn as Me,Yr as Ne,Yt as Pe,Z as Fe,Zn as Ie,_n as Le,_t as Re,a as ze,ai as Be,an as Ve,at as He,bn as Ue,bt as We,ci as Ge,cn as Ke,cr as qe,d as Je,dn as Ye,dr as Xe,dt as G,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-vDozzDhh.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-Dlf90Zvn.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-BXCuoPUb.js";import{d as Dr,l as Or,n as kr,s as Ar,u as jr}from"../../_chunks/workflow/attribute-changes-CSqvJx6j.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-CvENCrxc.js";import{r as Rr,t as zr}from"../../_chunks/workflow/wait-until-A344L2AG.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-8pLWuR2U.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=_e){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{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(`
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=(r,i)=>{try{W.error(`Workflow lifecycle ${n} ${r}`,{workflowRunId:e,workflowName:t,errorName:Si(i),errorMessage:Ci(i),errorStack:wi(i)})}catch{}};try{let e=Fi().slice().filter(e=>{try{return!!e[n]}catch(e){return a(`handler threw`,e),!1}});if(e.length===0)return;zr(K(`workflow.lifecycle.${n}`,async()=>{let t=[];try{let n=await r(t);for(let t of e)try{await i(t,n)}catch(e){a(`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`&&a(`stream operation failed`,e.reason)}}}),e=>a(`dispatch failed`,e))}catch(e){a(`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){try{return await b(e,t,n,r,globalThis,void 0,{lazyStreams:!0,liveAbortSignals:!1})}catch{return Error(`Failed to hydrate workflow run error`)}}function zi(e,t,n,r,i){Ii(e,t,`onRunFailed`,async a=>({run:new ei(e),workflowName:t,error:new sn(e,await Ri(n,e,r,a),{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}),W.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 W.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 W.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(){throw Error(`Unsupported in eve: @workflow/core createWorld(). eve selects and wires the workflow world explicitly at build time.`)}function qi(){try{return ri(si(process.cwd()+`/package.json`).href)}catch{return ri(import.meta.url)}}const Ji=Symbol.for(`@workflow/world//cache`),Yi=Symbol.for(`@workflow/world//stubbedCache`),Xi=Symbol.for(`@workflow/world//cachePromise`),Zi=Symbol.for(`@workflow/world//stubbedCachePromise`),$=globalThis;function Qi(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 $i(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(qi().resolve(e)).href}catch{return e}}const ea=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.`),Ki()}if(e===`local`)return Ki({dataDir:process.env.WORKFLOW_LOCAL_DATA_DIR});let t;try{t=qi()(e)}catch{t=await import($i(e))}if(typeof t==`function`)return t();try{return await Qi(t)}catch{throw Error(`Invalid target world module: ${e}, must export a createWorld function or a default function that returns a World instance.`)}},ta=async()=>{if($[Yi])return Oe($[Yi]),$[Yi];$[Zi]||($[Zi]=ea().catch(e=>{throw $[Zi]=void 0,e}));let e=await $[Zi];return Oe(e),$[Yi]=e,{createQueueHandler:e.createQueueHandler,specVersion:e.specVersion}},na=async()=>$[Ji]?(Oe($[Ji]),$[Ji]):($[Xi]||($[Xi]=ea().catch(e=>{throw $[Xi]=void 0,e})),$[Ji]=await $[Xi],Oe($[Ji]),$[Ji]),ra=e=>{$[Ji]=e,$[Yi]=e,$[Xi]=void 0,$[Zi]=void 0},ia=Symbol.for(`@workflow/world//getWorldFn`);globalThis[ia]??=na;var aa=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}},oa=class extends Error{name=`ReplayTimeoutRetryError`};async function sa(e){let{runId:t,workflowName:n,requestId:r,attempt:i,limitMs:a,slotSnapshot:o}=e,s=W.forRun(t,n),c=Hn();if(i<=c)throw s.warn(`Workflow replay exceeded timeout; retrying delivery`,{timeoutMs:a,attempt:i,maxRetries:c}),new oa(`Workflow replay exceeded maximum duration (${a/1e3}s)`);let l=await na(),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 ca=class{divergenceCount;active=!1;reported=!1;constructor(e){this.divergenceCount=e}static inert(){return new la}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}}},la=class extends ca{constructor(){super(0)}activate(){}};function ua(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 da(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 fa(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 pa(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(!fa(n))return;let{resumeRequestedAtMs:r,queuePublishRequestedAtMs:i,consumerStartedAtMs:a,replayStartedAtMs:o,nextStepEncounteredAtMs:s,stepClaimStartedAtMs:c,stepClaimCompletedAtMs:l,stepCodeStartedAtMs:u}=n;return{...ae(u-r),...z(i-r),...an(a-i),...Te(o-a),...w(s-o),...ke(c-s),...l===void 0?{}:Se(l-c),...ce(u-(l??c)),...Pe(t.trigger),...t.strategy===void 0?{}:It(t.strategy),...t.setupSource===void 0?{}:M(t.setupSource),...A(t.stepExecution)}}function ma(e){let t=e.startsWith(`wrun_`)?e.slice(5):e;try{return u(ni(t).ulid)}catch{return}}function ha(e,t){try{e.stack=t;return}catch{}try{Object.defineProperty(e,"stack",{value:t,writable:!0,configurable:!0})}catch{}}const ga=s(`@workflow/core//devServerPort`,1,()=>({getPort:void 0,cachedPort:void 0,inFlight:void 0}));async function _a(){if(ga.cachedPort!==void 0)return ga.cachedPort;if(ga.inFlight)return ga.inFlight;if(!ga.getPort)try{let e=[`@workflow/utils`,`get-port`].join(`/`),t=ri(si(process.cwd()+`/package.json`).href)(e);ga.getPort=t.getPort}catch{ga.getPort=async()=>void 0}let e=ga.getPort??(async()=>void 0);return ga.inFlight=e().then(e=>(typeof e==`number`&&(ga.cachedPort=e),e)).finally(()=>{ga.inFlight=void 0}),ga.inFlight}const va=new Set([`step_created`,`step_started`,`step_completed`,`step_failed`,`step_retrying`,`hook_received`,`wait_created`,`wait_completed`]);function ya(e){let{events:t}=e,n=e.invocationStartedClean&&e.runCreatedAtMs!==void 0&&!e.suspensionHasWaits,r;if(n)for(let e of t){if(va.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 ba(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 xa=`__workflowUnserializableStepInput`;function Sa(){return{args:[`[input unavailable: step argument serialization failed]`],closureVars:[],thisVal:void 0,[xa]:!0}}function Ca(e){return typeof e==`object`&&!!e&&e[xa]===!0}function wa(){return d(`WORKFLOW_STEP_STREAM_DRAIN_TIMEOUT_MS`,3e4,{integer:!0,min:1})}function Ta(e){let t=e?.name;return t===`AbortError`||t===`ResponseAborted`}async function Ea(e){if(e.length===0)return;let t=wa(),n;try{await Promise.race([Promise.all(e.map(e=>(e.settleReleasedWrites?.()??Promise.resolve(!1)).catch(e=>{if(!Ta(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(!Ta(e))throw e}finally{n!==void 0&&clearTimeout(n)}}function Da(e,t){if(t&&e.events&&e.cursor!==void 0)return{events:e.events,cursor:e.cursor,hasMore:e.hasMore??!1}}async function Oa(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??ca.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 W.debug(`Pre-claimed step start lost, skipping`,{stepName:o,stepId:a,workflowRunId:n}),l?.setAttributes({...Qt(!0),...Le(`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(W.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 Je(new X(t),n,await f(),[],globalThis,c)}})}catch(e){if(Z.is(e))return{type:`skipped`};throw e}return l?.setAttributes({...Ue(`failed`),...lt(!0)}),{type:`failed`}}let m=p.maxRetries??3;if(l?.setAttributes({...Ke(m)}),e.authoritativeAttempt!==void 0&&e.authoritativeAttempt>m+1){let t=m,r=`Step "${o}" exceeded max retries (${t} ${cn(`retry`,`retries`,t)})`;U.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 Je(new X(r),n,await f(),[],globalThis,c)}})}catch(e){if(Z.is(e))return W.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({...Ue(`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 W.info(`Throttled on step_started, deferring`,{retryAfterSeconds:t}),{type:`throttled`,timeoutSeconds:t}}if(Y.is(e))return W.info(`Workflow run "${n}" has already completed, skipping step "${a}": ${e.message}`),{type:`gone`};if(Z.is(e))return W.debug(`Step in terminal state, skipping`,{stepName:o,stepId:a,workflowRunId:n,error:e instanceof Error?e.message:String(e)}),l?.setAttributes({...Qt(!0),...Le(`completed`)}),{type:`skipped`};if(pn.is(e)){let t=Math.max(1,e.retryAfter??1);return W.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,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,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};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}W.debug(`Step execution details`,{stepName:o,stepId:_.stepId,status:_.status,attempt:_.attempt}),l?.setAttributes({...Ue(_.status)});let w;if(_.attempt>m+1&&_.error){let e=_.attempt-1,t=`Step "${o}" exceeded max retries (${e} ${cn(`retry`,`retries`,e)})`;U.error(`Step exceeded max retries`,{workflowRunId:n,stepName:o,retryCount:e});let r=new X(t);if(_.error!=null)try{r.cause=await I(_.error,n,await f())}catch{}try{await u({eventType:`step_failed`,specVersion:8,correlationId:a,eventData:{stepName:o,error:await Je(r,n,await f(),[],globalThis,c)}})}catch(e){if(Z.is(e))return W.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({...Ue(`failed`),...Mt(!0)}),{type:`failed`}}let T=[],E=[],D=[],ee=!0,k,te=()=>{if(!k||k.rsfs!==void 0)return;let t=e.latencyTracking?.rsfsAnchorMs;t!==void 0&&b!==void 0&&(k.rsfs=Math.max(0,b-t),l&&l.setAttributes({...it(k.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,E,globalThis,{},e.workflowDeploymentId,D,g?e.runReadyBarrier:void 0),a=Date.now()-r;return t?.setAttributes({...y(i.args.length),...he(a)}),i});if(Ca(h)){let{message:e,hint:t}=P(`step arguments`,void 0);throw new gn(e,{hint:t})}let v=h.args,S=h.thisVal??null,A=Pn(s?`https://${process.env.VERCEL_URL}`:`http://localhost:${await _a()??3e3}`),j,ne=!1,M=Date.now();k=ba({tracking:e.latencyTracking,stepCodeStartedAtMs:M,attempt:u,lazyStepStart:e.lazyStepInput!==void 0,optimisticStart:g,preclaimedStart:e.preclaimedStart!==void 0,stepStartPostSentAtMs:b}),k&&l?.setAttributes({...k.ttfs===void 0?{}:ye(k.ttfs),...k.stso===void 0?{}:en(k.stso),...k.rsfs===void 0?{}:it(k.rsfs),...k.finalSchedulingReplay===void 0?{}:Ve(k.finalSchedulingReplay),...Ht(k.optimizations??[])});let re=()=>{let t=e.resumeTracking;if(!t||t.reported)return;let n=pa({tracking:t,attempt:u,stepClaimStartedAtMs:b,stepClaimCompletedAtMs:x,stepCodeStartedAtMs:Date.now()});n&&(t.reported=!0,l?.setAttributes(n))},N=`ok`,ie=performance.now();try{w=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:A,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},()=>(re(),t.telemetry?.recordStepExecution?.(a),p.apply(S,v))))}catch(e){N=`error`,j=e,ne=!0}finally{Wt(performance.now()-ie,N)}let ae=Date.now()-M;if(ze(...v,S,h.closureVars),ne)throw await Ea(D).catch(e=>{W.warn(`Failed to drain released streams after step error`,{workflowRunId:n,stepId:a,error:e instanceof Error?e.message:String(e)})}),j;if(l?.setAttributes({...O(ae)}),w=await K(`step.dehydrate`,{},async t=>{let r=Date.now(),i=await et(w,n,m,E,globalThis,!1,!1,c,g?e.runReadyBarrier:void 0),a=Date.now()-r;return t?.setAttributes({...F(a),...tt(typeof i)}),i}),E.length>0){let e=Promise.all(E);zr(e,e=>{W.warn(`Background flush of step stream ops failed`,{workflowRunId:n,stepId:a,error:e instanceof Error?e.message:String(e)})}),ee=!1;let t=Promise.race([e.then(()=>{ee=!0},e=>{if(Ta(e)){ee=!0;return}throw e}),new Promise(e=>setTimeout(e,500))]);t.catch(()=>{}),await Ea(D),await t}if(g){let e=await C();if(e)return e;te()}T.length>0&&await Promise.all(T).catch(()=>{})}catch(e){if(g){let e=await C();if(e)return e;te()}T.length>0&&await Promise.all(T).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 U.info(`Workflow run already completed, skipping step`,{workflowRunId:n,stepId:a,message:e.message}),{type:`gone`};if(s){U.error(`Encountered FatalError while executing step, bubbling up to parent workflow`,{workflowRunId:n,stepName:o,errorStack:i}),ai.isNativeError(t)&&i&&ha(t,i);try{await u({eventType:`step_failed`,specVersion:8,correlationId:a,eventData:{stepName:o,error:await Je(t,n,await f(),[],globalThis,c),...k}},{afterStepBody:!0})}catch(e){if(Z.is(e))return W.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({...Ue(`failed`),...lt(!0)}),{type:`failed`}}let d=_.attempt;if(l?.setAttributes({...Ze(d),...Ke(m)}),d>=m+1){let t=_.attempt-1;U.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 Je(d,n,await f(),[],globalThis,c),...k}},{afterStepBody:!0})}catch(e){if(Z.is(e))return W.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({...Ue(`failed`),...Mt(!0)}),{type:`failed`}}hn.is(e)?U.info(`Encountered RetryableError, step will be retried`,{workflowRunId:n,stepName:o,attempt:d,message:e.message}):U.info(`Encountered Error, step will be retried`,{workflowRunId:n,stepName:o,attempt:d,errorStack:i}),ai.isNativeError(e)&&i&&ha(e,i);try{await u({eventType:`step_retrying`,specVersion:8,correlationId:a,eventData:{stepName:o,error:await Je(e,n,await f(),[],globalThis,c),...hn.is(e)&&{retryAfter:e.retryAfter}}})}catch(e){if(Z.is(e))return W.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 A;try{A=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 W.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 U.info(`Workflow run already completed, skipping step`,{workflowRunId:n,stepId:a,message:e.message}),{type:`gone`};throw e}let j=Da(A,e.inlineDeltaSinceCursor!==void 0);return l?.setAttributes({...Ue(`completed`),...tt(typeof w)}),E.length>0&&U.debug(`Step has pending ops`,{workflowRunId:n,stepName:o,opsCount:E.length}),{type:`completed`,hasPendingOps:!ee,inlineDelta:j}})}function ka(e){return e.hasCreatedEvent===!0&&e.ownerMessageId!==void 0&&e.sawRetrying!==!0}function Aa(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 ja(e){return`${e.correlationId}:backstop:${e.lastStartedAt}`}function Ma(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 Na=s(`@workflow/core//stepSingleFlight`,1,()=>({inFlight:new Map}));async function Pa(e,t,n,r=`warn`){let i=`${e}:${t}`,a=Na.inFlight.get(i);if(a){W[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();Na.inFlight.set(i,o);try{return await o}finally{Na.inFlight.delete(i)}}async function Fa({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);W.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 W.info(`Hook already exists, continuing`,{workflowRunId:e,message:t.message}),{hasHookConflict:!1,hasAwaitedHookCreation:n.hasConflictAwaiter===!0};if(Y.is(t))return W.info(`Workflow run already completed, skipping hook`,{workflowRunId:e,message:t.message}),{hasHookConflict:!1,hasAwaitedHookCreation:!1};if(La(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 Ia({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??ca.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?W.debug(`Dropped a truncated skipped-slot report`,{workflowRunId:f,eventType:e.eventType,eventId:r.event?.eventId,offered:i.offered}):i.added>0&&W.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`),C=e.items.filter(e=>e.type===`hook`),w=e.items.filter(e=>e.type===`wait`),T=e.items.filter(e=>e.type===`attribute`),E=C.filter(e=>!e.hasCreatedEvent),D=new Map;for(let e of C){if(e.hasCreatedEvent&&!e.disposed)continue;let t=D.get(e.token);t?t.push(e):D.set(e.token,[e])}let ee=await t.getEncryptionKeyForRun?.(n),O=ee?await Vt(ee):void 0,te=(n.specVersion??0)>=5,A=0,j=[];async function M(t,n){let r={executions:[]};try{return await Jt(t,f,O,e.globalThis,!1,te,r)}finally{A+=r.totalExecutions??r.executions.length,j.push(...r.executions.slice(0,5-j.length).map(e=>({...n,...e})))}}async function re(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))W.info(`Hook already disposed, skipping duplicate disposal`,{workflowRunId:f,correlationId:e.correlationId,message:t.message});else if(Y.is(t))W.info(`Workflow run already completed, skipping hook disposal`,{workflowRunId:f,correlationId:e.correlationId,message:t.message});else if(xn.is(t))W.info(`Hook not found for disposal, continuing`,{workflowRunId:f,correlationId:e.correlationId,message:t.message});else throw t}}let N=[],P=[],ie=0,ae=E.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 M(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 Fa({runId:f,hookEvent:a,queueItem:n,requestId:i,sinceCursor:ae,createEvent:x,world:t,forceClaimVictimWakes:d});o.hasHookConflict&&N.push(n.correlationId),o.hasAwaitedHookCreation&&P.push(n.correlationId),e=o.hasHookConflict}n.disposed&&!e&&await re(n)}},se=async e=>{try{let n=await M({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=k(e.token);await t.streams.write(f,r,n),await t.streams.close(f,r)}catch{W.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))W.info(`Workflow run already completed, skipping abort`,{workflowRunId:f,correlationId:e.correlationId,message:t.message});else throw t}},ce=[...D.values()],le=C.filter(e=>e.abortRequested&&!e.disposed),ue,F=ce.length>0||le.length>0?(async()=>{if(await m(),ce.length>0){let e={startMs:Date.now()};ue=e,await h(ce.map(oe)),e.endMs=Date.now()}le.length>0&&await h(le.map(se))})():void 0,I=new Set(S.filter(e=>!e.hasCreatedEvent).map(e=>e.correlationId)),de=new Set,fe=new Set,pe=async(t,r)=>{W.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(Sa(),f,O,e.globalThis,!1,te);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))W.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 Je(r,f,O,[],e.globalThis,te)}},{requestId:i})}catch(e){if(Z.is(e)||Y.is(e))W.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),L.delete(t.correlationId)},me=E.some(e=>e.hasConflictAwaiter===!0),L=new Set(me?[]:S.filter(e=>I.has(e.correlationId)).slice(0,Bn()).map(e=>e.correlationId)),he=new Map,R=[];F&&R.push(F);let ge=new Set,_e=c!==void 0&&ir()&&(n.specVersion??0)>=3,ve=nr()&&typeof t.events.createBatch==`function`&&(n.specVersion??0)>=6&&!_e&&T.length===0,z=[],ye=[],be=ve&&l!==void 0&&(L.size>=2||L.size===1&&E.length>0),B=new Map,V,H=()=>(V??=c?.getTraceCarrier()??Promise.resolve({}),V),xe=0,Se=0;for(let e of S)if(I.has(e.correlationId)){let r=be&&L.has(e.correlationId),a=Se;Se+=r?2:1;let o=(async()=>{let o;try{o=await M({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 pe(e,t);return}if(L.has(e.correlationId)){he.set(e.correlationId,{correlationId:e.correlationId,stepName:e.stepName,dehydratedInput:o}),r&&(z.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}}}),z.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(_e&&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(ge.add(e.correlationId),a.status===`rejected`){let t=a.reason;if(Z.is(t))W.info(`Step already exists, continuing`,{workflowRunId:f,correlationId:e.correlationId,message:t.message});else if(Zr(t))xe++,W.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(ve){z.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))W.info(`Step already exists, continuing`,{workflowRunId:f,correlationId:e.correlationId,message:t.message});else throw t}})();R.push(o),ve&&ye.push(o.catch(()=>{}))}for(let e of w)if(!e.hasCreatedEvent){let t={eventType:`wait_created`,specVersion:8,correlationId:e.correlationId,eventData:{resumeAt:e.resumeAt}};if(ve){z.push({order:Se++,kind:`wait`,correlationId:e.correlationId,event:t});continue}R.push((async()=>{try{await m(),await x(t,{requestId:i})}catch(t){if(Z.is(t))W.info(`Wait already exists, continuing`,{workflowRunId:f,correlationId:e.correlationId,message:t.message});else throw t}})())}let Ce;ve&&R.push((async()=>{if(await Promise.all(ye),z.length===0)return;let e=[...z].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))W.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>32&&(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`&&ge.add(t.correlationId);let b=0,S,C=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=he.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};B.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`){B.set(r.correlationId,{owned:!1}),W.info(`Inline step pre-claim lost, continuing`,{workflowRunId:f,correlationId:r.correlationId,message:i.message});continue}W.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)},w=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)}})))},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&&S!==void 0){let e=S-o+1-b;e>0&&W.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})(),ee=_.flatMap((e,t)=>e.some(e=>e.kind===`inline-started`)?[T[t]]:[]);if(u){if(D.catch(()=>{}),Ce=D,ee.length>0)try{await Promise.all(ee)}catch(e){throw await D.catch(()=>{}),e}}else await D})());for(let e of T)R.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))W.info(`Workflow attribute event already exists, continuing`,{workflowRunId:f,correlationId:e.correlationId,message:t.message});else if(La(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 we=Promise.allSettled(R.filter(e=>e!==F)).then(()=>Date.now());try{await h(R)}finally{await p}if(ue?.endMs!==void 0){let e=Math.max(ue.startMs,await we);ie+=Math.max(0,ue.endMs-e)}let Te=[];for(let e of L){let t=he.get(e);t&&Te.push(t)}let Ee=Date.now(),De;for(let e of w){let t=e.resumeAt.getTime(),n=Math.max(1e3,t-Ee),r=Math.ceil(n/1e3);(!De||r<De.seconds)&&(De={seconds:r,correlationId:e.correlationId,resumeAtMs:t})}return r?.setAttributes({...jt(`workflow_suspended`),...qe(S.length),...ne(E.length),...Nt(w.length),...fe.size>0?bt(fe.size):{},...xe>0?Ye(xe):{}}),{pendingSteps:S,createdStepCorrelationIds:de,failedStepCorrelationIds:fe,queuedStepCorrelationIds:ge,lazyInlineSteps:Te,inlineClaims:B,deferredBatchWork:Ce,waitTimeout:N.length>0?void 0:De,hasHookConflict:N.length>0,hookConflictCorrelationIds:N,hasAwaitedHookCreation:P.length>0,awaitedHookCorrelationIds:P,eventLogCarriedForward:b&&y===1,hasAttributeEvents:T.length>0,hasHookEvents:E.length>0,hookCreationMs:ie,serializationBlockerCount:A,serializationBlockers:j,reportedEventCount:v}}function La(e){return e instanceof f||e instanceof Error&&e.name===`AttributeValidationError`||_n.is(e)&&e.status===400}const Ra=()=>d(`WORKFLOW_WAIT_CONTINUATION_MAX_DELAY_SECONDS`,82800,{integer:!0,min:1}),za=()=>d(`WORKFLOW_NEAR_ELAPSED_WAIT_THRESHOLD_SECONDS`,2);function Ba(e,t,n=Date.now(),r=0){let i=Va(e,t,n);return r<=0?i:{delaySeconds:i.delaySeconds,idempotencyKey:`${i.idempotencyKey}:a${r}`}}function Va(e,t,n){let r=Ra();if(e<=Math.min(za(),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 Ha=44,Ua=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,Wa=new Uint8Array(64),Ga=new Uint8Array(128);for(let e=0;e<Ua.length;e++){let t=Ua.charCodeAt(e);Wa[e]=t,Ga[t]=e}function Ka(e){let t=0,n=0,r=0;do r=Ga[e.next()],t|=(r&31)<<n,n+=5;while(r&32);return t}function qa(e){return e&1?-2147483648|-(e>>>1):e>>>1}function Ja(e,t){return e.pos>=t?!1:e.peek()!==Ha}var Ya=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 Xa(e){let{length:t}=e,n=new Ya(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+=qa(Ka(n)),i<u&&(l=!1),u=i,Ja(n,e)?(a+=qa(Ka(n)),o+=qa(Ka(n)),s+=qa(Ka(n)),Ja(n,e)?(c+=qa(Ka(n)),r=[i,a,o,s,c]):r=[i,a,o,s]):r=[i],t.push(r),n.pos++}l||Za(t),r.push(t),n.pos=e+1}while(n.pos<=t);return r}function Za(e){e.sort(Qa)}function Qa(e,t){return e[0]-t[0]}const $a=/^[\w+.-]+:\/\//,eo=/^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/,to=/^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i;function no(e){return $a.test(e)}function ro(e){return e.startsWith(`//`)}function io(e){return e.startsWith(`/`)}function ao(e){return e.startsWith(`file:`)}function oo(e){return/^[.?#]/.test(e)}function so(e){let t=eo.exec(e);return lo(t[1],t[2]||``,t[3],t[4]||``,t[5]||`/`,t[6]||``,t[7]||``)}function co(e){let t=to.exec(e),n=t[2];return lo(`file:`,``,t[1]||``,``,io(n)?n:`/`+n,t[3]||``,t[4]||``)}function lo(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 uo(e){if(ro(e)){let t=so(`http:`+e);return t.scheme=``,t.type=6,t}if(io(e)){let t=so(`http://foo.com`+e);return t.scheme=``,t.host=``,t.type=5,t}if(ao(e))return co(e);if(no(e))return so(e);let t=so(`http://foo.com/`+e);return t.scheme=``,t.host=``,t.type=e?e.startsWith(`?`)?3:e.startsWith(`#`)?2:4:1,t}function fo(e){if(e.endsWith(`/..`))return e;let t=e.lastIndexOf(`/`);return e.slice(0,t+1)}function po(e,t){mo(t,t.type),e.path=e.path===`/`?t.path:fo(t.path)+e.path}function mo(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 ho(e,t){if(!e&&!t)return``;let n=uo(e),r=n.type;if(t&&r!==7){let e=uo(t),i=e.type;switch(r){case 1:n.hash=e.hash;case 2:n.query=e.query;case 3:case 4:po(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)}mo(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?oo(t||e)&&!oo(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 go(e){if(!e)return``;let t=e.lastIndexOf(`/`);return e.slice(0,t+1)}function _o(e,t){let n=go(e),r=t?t+`/`:``;return e=>ho(r+(e||``),n)}var vo=0,yo=1,bo=2,xo=3,So=4;function Co(e,t){let n=wo(e,0);if(n===e.length)return e;t||(e=e.slice());for(let r=n;r<e.length;r=wo(e,r+1))e[r]=Eo(e[r],t);return e}function wo(e,t){for(let n=t;n<e.length;n++)if(!To(e[n]))return n;return e.length}function To(e){for(let t=1;t<e.length;t++)if(e[t][vo]<e[t-1][vo])return!1;return!0}function Eo(e,t){return t||(e=e.slice()),e.sort(Do)}function Do(e,t){return e[vo]-t[vo]}var Oo=!1;function ko(e,t,n,r){for(;n<=r;){let i=n+(r-n>>1),a=e[i][vo]-t;if(a===0)return Oo=!0,i;a<0?n=i+1:r=i-1}return Oo=!1,n-1}function Ao(e,t,n){for(let r=n+1;r<e.length&&e[r][vo]===t;n=r++);return n}function jo(e,t,n){for(let r=n-1;r>=0&&e[r][vo]===t;n=r--);return n}function Mo(){return{lastKey:-1,lastNeedle:-1,lastIndex:-1}}function No(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 Oo=o!==-1&&e[o][vo]===t,o;t>=a?s=o===-1?0:o:c=o}return n.lastKey=r,n.lastNeedle=t,n.lastIndex=ko(e,t,s,c)}function Po(e){return typeof e==`string`?JSON.parse(e):e}var Fo="`line` must be greater than 0 (lines start at line 1)",Io="`column` must be greater than or equal to 0 (columns start at column 0)",Lo=class{constructor(e,t){let n=typeof e==`string`;if(!n&&e._decodedMemo)return e;let r=Po(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=_o(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=Co(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=Mo(),this._bySources=void 0,this._bySourceMemos=void 0}};function Ro(e){return e}function zo(e){var t;return(t=Ro(e))._decoded||(t._decoded=Xa(Ro(e)._encoded))}function Bo(e,t){let{line:n,column:r,bias:i}=t;if(n--,n<0)throw Error(Fo);if(r<0)throw Error(Io);let a=zo(e);if(n>=a.length)return Vo(null,null,null,null);let o=a[n],s=Ho(o,Ro(e)._decodedMemo,n,r,i||1);if(s===-1)return Vo(null,null,null,null);let c=o[s];if(c.length===1)return Vo(null,null,null,null);let{names:l,resolvedSources:u}=e;return Vo(u[c[yo]],c[bo]+1,c[xo],c.length===5?l[c[So]]:null)}function Vo(e,t,n,r){return{source:e,line:t,column:n,name:r}}function Ho(e,t,n,r,i){let a=No(e,r,t,n);return Oo?a=(i===-1?Ao:jo)(e,r,a):i===-1&&a++,a===-1||a===e.length?-1:a}function Uo(e){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===43||e===47||e===61}function Wo(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&&Uo(e.charCodeAt(o));)o++;if(o>a)return e.slice(a,o);t=o}}const Go=s(`@workflow/core//sourceMapTracers`,1,()=>({byCode:new Map}));function Ko(e){let t=Go.byCode.get(e);if(t!==void 0)return Go.byCode.delete(e),Go.byCode.set(e,t),t;let n=null,r=Wo(e);if(r)try{let e=Buffer.from(r,`base64`).toString(`utf-8`);n=new Lo(JSON.parse(e))}catch{n=null}for(Go.byCode.set(e,n);Go.byCode.size>8;){let e=Go.byCode.keys().next().value;if(e===void 0)break;Go.byCode.delete(e)}return n}function qo(e,t,n){if(!e.includes(t))return e;let r=Ko(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=Bo(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 Jo(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 Yo(e,t){let n=e.get(t);if(n)return n;let r=Xo(t);if(r){for(let[t,n]of e)if(Xo(t)===r)return n}}function Xo(e){let t=e.indexOf(`_`);return t===-1?void 0:e.slice(t+1)}function Zo(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 Qo(e,t,n){let r=e.correlationId?Yo(t,e.correlationId):void 0,i=n.describe();return[`pending at this id: ${r?Zo(r):`none`}.`,`consumer: index=${i.index}, length=${i.length}, parked=${i.parked}, lastConsumed=${i.lastConsumedEventId??`none`}`].join(` `)}function $o(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),U.debug(`Step consumer setup`,{correlationId:s,stepName:t,args:r}),e.eventsConsumer.subscribe(n=>{if(!n)return En(e),j.NotConsumed;if(U.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 j.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}))}),j.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}))}),j.Finished):(r.hasCreatedEvent=!0,j.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),j.Consumed}if(n.eventType===`step_retrying`){let t=e.invocationsQueue.get(s);return t&&t.type===`step`&&(t.sawRetrying=!0,t.ownerMessageId=void 0),j.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 I(n.eventData.error,e.runId,e.encryptionKey,e.globalThis,{},t)}catch(e){U.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)})}),j.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 pe(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)})}),j.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}))}),j.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 es=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)})),ts=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)})),ns=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)})),rs=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)})),is=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)})),as=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)})),os=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)})),ss=t(n(((e,t)=>{var n=es(),r=ts(),i=ns(),a=rs(),o=is(),s=as(),c=os();c.alea=n,c.xor128=r,c.xorwow=i,c.xorshift7=a,c.xor4096=o,c.tychei=s,t.exports=c}))(),1);const cs=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,ls=new Uint8Array(128).fill(255);for(let e=0;e<64;e++)ls[cs.charCodeAt(e)]=e;function us(e){return e===9||e===10||e===12||e===13||e===32}function ds(e,t){for(;t<e.length&&us(e.charCodeAt(t));)t++;return t}function fs(e,t){let n=e.length,r=e;n===2?r=e+`AA`:n===3&&(r=e+`A`);let i=ls[r.charCodeAt(0)],a=ls[r.charCodeAt(1)],o=ls[r.charCodeAt(2)],s=ls[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 ps(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=ds(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(...fs(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=ds(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=ds(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(...fs(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||ls[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(...fs(o)),o=``,s=0,i=c,a.length===r)))return{read:i,bytes:a,error:null}}}function ms(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 hs(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+=cs[n>>2&63],i+=cs[(n&3)<<4|o>>4&15],t+1<a?i+=cs[(o&15)<<2|s>>6&3]:r||(i+=`=`),t+2<a?i+=cs[s&63]:r||(i+=`=`)}return n===`base64url`&&(i=i.replace(/\+/g,`-`).replace(/\//g,`_`)),i}function gs(e){let t=``;for(let n=0;n<e.length;n++)t+=e[n].toString(16).padStart(2,`0`);return t}function _s(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 hs(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 gs(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=ps(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=ms(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=ps(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=ms(t);if(n.error)throw n.error;return new e(n.bytes)},writable:!0,enumerable:!1,configurable:!0})}function vs(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 ys={"SHA-1":`sha1`,"SHA-256":`sha256`,"SHA-384":`sha384`,"SHA-512":`sha512`};function bs(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 xs(e){let{fixedTimestamp:t}=e,{seed:n}=e,r=(0,ss.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=vs(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=ys[n.toUpperCase()];if(!r)throw new DOMException(`Unrecognized algorithm name: ${n}`,`NotSupportedError`);let i=ii(r).update(bs(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,_s(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 Ss=s(`@workflow/core//vmScriptCache`,1,()=>({byCode:new Map}));function Cs(e){let t=Ss.byCode.get(e);if(t!==void 0)return Ss.byCode.delete(e),Ss.byCode.set(e,t),t}function ws(e,t){let n=Cs(e);if(n===void 0)for(n=new Map,Ss.byCode.set(e,n);Ss.byCode.size>8;){let e=Ss.byCode.keys().next().value;if(e===void 0)break;Ss.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 Ts(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}))}),j.Finished):(e.invocationsQueue.delete(a),e.promiseQueue=e.promiseQueue.then(()=>{i()}),j.Finished):j.NotConsumed:(En(e),j.NotConsumed)),r}}function Es(e,t){if(typeof t!=`string`)return null;let n=N(L,e.globalThis),r=n?.[ue];return typeof r==`function`?r.call(n,{runId:t}):null}function Ds(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=[],c=[],l=!1,u=!1,d=!1,f=!1,p=null,m=null,h=null,g=Promise.resolve();function _(t,n){let r=e.eventsConsumer.eventIndex,i=Tn(e,r,`hook`,{deliveredAt:t}),a=jn(e,r,`hook`);g=e.promiseQueue.then(()=>a).then(()=>{i.markDelivered(),n()})}function v(t){let n=g;e.promiseQueue=e.promiseQueue.then(()=>{n.then(t)})}let y=new Set;Fe.debug(`Hook consumer setup`,{correlationId:n,token:r}),e.eventsConsumer.subscribe(i=>{if(!i)return l=!0,(s.length>0&&o.length===0||c.length>0&&!u&&!f)&&En(e),j.NotConsumed;if(i.correlationId!==n)return j.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}))}),j.Finished;if(i.eventType===`hook_created`){let t=e.invocationsQueue.get(n);t&&t.type===`hook`&&(t.hasCreatedEvent=!0,t.tokenRetentionUntil=i.eventData.tokenRetentionUntil),u=!0;let r=c.slice();return c.length=0,_(+i.createdAt,()=>{for(let e of r)e.resolve(null)}),j.Consumed}if(i.eventType===`hook_conflict`){e.invocationsQueue.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);f=!0,p=o,h=a?null:Es(e,r.eventData.conflictingRunId);let l=s.slice();s.length=0;let u=c.slice();return c.length=0,_(+i.createdAt,()=>{for(let e of l)e.reject(o);for(let e of u)h?e.resolve(h):e.reject(o)}),j.Consumed}if(i.eventType===`hook_received`){let t=i.resumeId;if(typeof t==`string`){if(y.has(t))return j.Consumed;y.add(t)}let n=e.eventsConsumer.eventIndex,r=s.length>0,a=Tn(e,n,`hook`,{armed:r,deliveredAt:+i.createdAt});if(r){let t=jn(e,n,`hook`),r=s.shift();if(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 pe(i.eventData.payload,e.runId,e.encryptionKey,e.globalThis,{},t)}}catch(e){n={ok:!1,error:e}}finally{e.pendingDeliveries--}t.then(()=>{a.markDelivered(),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 pe(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 j.Consumed}if(i.eventType===`hook_disposed`){e.invocationsQueue.delete(n),d=!0;let t=i.eventData?.forceClaimedBy;if(t){let i=new bn(r,t.runId,t.hookId);m=i;let a=s.slice();s.length=0;let o=c.slice();c.length=0,e.promiseQueue=e.promiseQueue.then(()=>{for(let e of a)e.reject(i);for(let e of o)e.resolve(null)}),Fe.debug(`Hook force-claimed by another run`,{correlationId:n,token:r,claimedByRunId:t.runId})}return j.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}))}),j.Finished});let b=!1;function x(){let t=On();if(f&&p)return v(()=>{t.reject(p)}),t.promise;if(o.length>0){let e=o.shift();if(e)return e.claim()}if(m){let n=m;return e.promiseQueue=e.promiseQueue.then(()=>{t.reject(n)}),t.promise}return l&&En(e),s.push(t),t.promise}function S(){let t=On();if(u)return v(()=>{t.resolve(null)}),t.promise;if(f)return v(()=>{h?t.resolve(h):t.reject(p)}),t.promise;let r=e.invocationsQueue.get(n);return r&&r.type===`hook`&&(r.hasConflictAwaiter=!0),l&&En(e),c.push(t),t.promise}function C(){if(b||(b=!0,d))return;let t=e.invocationsQueue.get(n);t&&t.type===`hook`&&(t.disposed=!0),s.length>0&&(s.length=0,En(e)),Fe.debug(`Hook disposed`,{correlationId:n,token:r})}let w={token:r,getConflict(){return S()},then(e,t){return x().then(e,t)},async*[Symbol.asyncIterator](){for(;!b;)yield await this},dispose:C,[Symbol.dispose]:C},T=e.globalThis.Symbol.dispose;return T&&T!==Symbol.dispose&&(w[T]=C),w}}function Os(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),j.NotConsumed;if(t.correlationId!==i)return j.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),j.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}))}),j.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()}),j.Finished}return e.promiseQueue=e.promiseQueue.then(()=>{e.onWorkflowError(new Cn(`Replay divergence: Unexpected event type for wait ${i} "${t.eventType}"`,{eventId:t.eventId}))}),j.Finished}),n}}async function ks(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 na();await Ia({suspension:new Mn(t,n),world:e,run:r,runReadyBarrier:a})}catch(t){W.warn(`Failed to drain pending queue items for ${i} workflow run`,{workflowRunId:e,message:t instanceof Error?t.message:String(t)})}}}function As(e,t,n){let r=Ge(t)?.moduleSpecifier||t,i=`globalThis.__private_workflows?.get(${JSON.stringify(t)})`;return K(`workflow.bundle.compile`,async t=>{let a=n===`shared`?ws(e,r):{script:new ci(e,{filename:r}),cacheHit:!1},o=n===`shared`?ws(i,r):{script:new ci(i,{filename:r}),cacheHit:!1};return t?.setAttributes({...B(a.cacheHit)}),{bundleScript:a.script,workflowLookupScript:o.script}})}function js(e,t){return As(e,t,`shared`)}function Ms(e,t){return As(e,t,`none`)}function Ns(e){return Fs(`replay`,e.workflowRun,e.events,async t=>{let{session:n,execution:r}=await Ls(e);return t?.setAttributes({...T(n.argumentCount)}),Is(await r,t)})}function Ps(e,t){return Fs(`retained`,e.workflowRun,t,async n=>{n?.setAttributes({...T(e.argumentCount)});let r=await e.resume(t);return r.type===`replay`?r:Is(r,n)})}function Fs(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),...we(e)}),r(i)))}function Is(e,t){return e.type===`completed`?t?.setAttributes({...Ae(e.resultType)}):t&&(R(e.suspension,t),e.parked&&t.setAttributes({...ie(e.parked.count),...se(e.parked.eventId),...Ft(e.parked.eventType)})),e}async function Ls(e){let t=await xt(`workflow.vm.create_context`);return Rs(e,t.end).catch(e=>{throw t.fail(e),e})}async function Rs({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=ma(t.runId)??+t.createdAt,d=!!process.env.VERCEL_URL,f=Pn(d?`https://${process.env.VERCEL_URL}`:`http://localhost:${await _a()??3e3}`),{context:p,globalThis:h,updateTimestamp:g}=xs({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`},k.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)),w=Jo(`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`,21,e=>new Uint8Array(e).map(()=>256*h.Math.random())),T={current:Promise.resolve()},E={current:()=>!0},D=u,ee=e=>{e>D&&(D=e,g(e))},O=new H(n,{onUnconsumedEvent:e=>{y(new Cn(`Replay could not consume event: eventType=${e.eventType}, correlationId=${e.correlationId}, eventId=${e.eventId}. ${Qo(e,k.invocationsQueue,O)}`,{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){W.debug(`Ignoring inert event that decides an already-decided outcome differently`,r);return}W.debug(`Ignoring inert event that repeats a class already in the event log`,r)},getPromiseQueue:()=>T.current,isDeliveryIdle:()=>E.current()}),k={runId:t.runId,encryptionKey:r,worldCapabilities:s,globalThis:h,onWorkflowError:y,eventsConsumer:O,generateUlid:S,generateNanoid:w,get mintCount(){return x},invocationsQueue:new Map,get promiseQueue(){return T.current},set promiseQueue(e){T.current=e},pendingDeliveries:0,suspensionGeneration:0,pendingDeliveryBarriers:new Map,advanceClock:ee,replayPayloadCache:i};E.current=()=>kn(k);let te=!1;k.eventsConsumer.subscribe(e=>e?e.eventType===`run_created`?j.Consumed:e.eventType===`run_started`?te?j.NotConsumed:(te=!0,j.Consumed):e.eventType===`attr_set`&&e.eventData.writer.type===`step`?j.Consumed:j.NotConsumed:j.NotConsumed);let A=$o(k),ne=Ds(k),M=Os(k),re=Ts(k);h[kt]=A,h[ct]=re,h[Tt]=ne,h[Be]=M,h[Lt]=e=>oe(t.runId,e);let N={workflowName:t.workflowName,workflowRunId:t.runId,workflowStartedAt:new h.Date(+l),url:f,features:{encryption:!!r}};h[Ar]=N,h[je]=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 P=`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(P,{slug:yn.TIMEOUT_FUNCTIONS_IN_WORKFLOW})},h.setInterval=()=>{throw new q(P,{slug:yn.TIMEOUT_FUNCTIONS_IN_WORKFLOW})},h.clearTimeout=()=>{throw new q(P,{slug:yn.TIMEOUT_FUNCTIONS_IN_WORKFLOW})},h.clearInterval=()=>{throw new q(P,{slug:yn.TIMEOUT_FUNCTIONS_IN_WORKFLOW})},h.setImmediate=()=>{throw new q(P,{slug:yn.TIMEOUT_FUNCTIONS_IN_WORKFLOW})},h.clearImmediate=()=>{throw new q(P,{slug:yn.TIMEOUT_FUNCTIONS_IN_WORKFLOW})},h.AbortController=Ce(k);let ie=C();h.AbortSignal={abort:ie.abort,any:ie.any,timeout:ie.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,{[Ne]:{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:A(`__builtin_response_array_buffer`),writable:!0,configurable:!0},json:{value:A(`__builtin_response_json`),writable:!0,configurable:!0},text:{value:A(`__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,{[Ne]:{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:A(`__builtin_response_array_buffer`),writable:!0,configurable:!0},json:{value:A(`__builtin_response_json`),writable:!0,configurable:!0},text:{value:A(`__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 ue{readable;writable;constructor(){Q()}}h.TransformStream=ue,h.console=globalThis.console;let F=Symbol.for(`@vercel/request-context`);h[F]=globalThis[F],c();let{bundleScript:I,workflowLookupScript:de}=a??await js(e,t.workflowName),fe=await K(`workflow.bundle.evaluate`,async()=>(I.runInContext(p),de.runInContext(p)));if(typeof fe!=`function`)throw new dn(t.workflowName);let pe=[];k.promiseQueue=k.promiseQueue.then(async()=>{pe=await K(`workflow.input.hydrate`,async()=>{let e=await i.prepareWorkflowInput(t);return me(t.input,t.runId,r,h,{},e)})}),await k.promiseQueue;let L=async e=>{throw Mn.is(e)||Cn.is(e)?(v.type===`running`&&(v={type:`replay`}),e):(v={type:`completed`},await ks(t.runId,k.invocationsQueue,h,t,`failed`,o),e)},he=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:ve,parked:O.parkedSummary}:L(e)}v={type:`completed`};let a=O.strandedEvent;if(a)return L(new Cn(`Replay finished without consuming event: eventType=${a.eventType}, correlationId=${a.correlationId}, eventId=${a.eventId}. ${Qo(a,k.invocationsQueue,O)}`,{eventId:a.eventId}));try{let e=await St(i,t.runId,r,h,!1,(t.specVersion??0)>=5);return await ks(t.runId,k.invocationsQueue,h,t,`completed`,o),{type:`completed`,output:e,resultType:typeof i}}catch(e){return L(e)}},R=await qt(),ge=await xt(`workflow.replay.execute`),_e=R.run(async()=>fe(...pe)),ve={workflowRun:t,argumentCount:pe.length,async resume(e){switch(v.type){case`suspended`:{let t=O.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},k.suspensionGeneration++,R.refresh(),O.append(e.slice(t.length)),he(_e,n)}case`replay`:return{type:`replay`};case`completed`:case`running`:throw new q(`Cannot resume ${v.type} workflow "${t.runId}"`)}}},z=he(_e,_);return z.then(ge.end,ge.fail),{session:ve,execution:z}}function zs(e){let t=Xn();return t===void 0?e:e===void 0?t:Math.min(e,t)}function Bs({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 Vs({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 Hs(e){return q.is(e)?J.RUNTIME_ERROR:Jr(e)?J.WORLD_CONTRACT_ERROR:null}function Us(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 Ws({world:e,workflowRun:t,runId:n,workflowName:r,requestId:i,err:a,errorCode:o,logMessage:s}){W.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)){W.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 Gs(e,t){return e.find(e=>e.runId===t&&(e.eventType===`run_completed`||e.eventType===`run_failed`||e.eventType===`run_cancelled`))}function Ks(e,t){let n=Gs(e,t);return n?(W.debug(`Run reached terminal event, exiting`,{workflowRunId:t,eventType:n.eventType,eventId:n.eventId}),!0):!1}function qs(e,t){let n=0;for(let r of e)t.has(r)||n++;return n}function Js({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 Ys(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 Xs(e){return e.cursor===null?{type:`loadAll`}:{type:`loadAfter`,events:e.events,cursor:e.cursor}}async function Zs(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 Qs(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 $s(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:C,deploymentMismatchRetryCount:w,runInput:T,hookInput:E,stepInput:D,runContext:O,hookResumeTiming:k,waitContinuation:A}=g.parse(r),j=ua(k,y===void 0?`inline`:`dispatched`);j&&y===void 0&&(j.consumerStartedAtMs=d),j&&!Number.isFinite(j.consumerStartedAtMs)&&(j=void 0);let ne=He(m)?m:void 0,{requestId:M}=a,N=a.queueName.slice(s.length),P=W.forRun(p,N),ie=Un();if(a.attempt>ie){let e=gi(void 0,J.MAX_DELIVERIES_EXCEEDED);P.error(`Workflow handler exceeded max deliveries (${a.attempt}/${ie})`,{attempt:a.attempt,errorCode:e.errorCode,errorAttribution:e.attribution});let t,n;try{let e=await na(),r=fr(e,p),i=new X(`Workflow exceeded maximum queue deliveries (${a.attempt}/${ie})`);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:M})}catch(e){if(Z.is(e)||Y.is(e))return;if(Zr(e))throw P.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;P.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,N,n,t,J.MAX_DELIVERIES_EXCEEDED);return}let ae=ut(),oe=()=>Ot(ae,ne),se=await $e(ae,ne),ce=new aa,ue=ae===`continuous`?ne:void 0,F=await Bt(`CONSUMER`);return await G(ue,async()=>await rt({workflowRunId:p,workflowName:N},async()=>{let t=await K(`workflow.route.get_world`,async()=>na());if(!Bs({world:t,runInput:T,runId:p,runLogger:P}))return await Vs({world:t,runInput:T,runId:p,runLogger:P}),K(`workflow.execute ${Yt(N)}`,{kind:F,links:se},async r=>{r?.setAttributes({...xe(N),...De(`execute_v2`),...fe(`vercel-queue`),...gt(a.queueName),...S(a.messageId),...pt(`process`),...lr({requestedAt:v}),...Dt(p),...Xe(!!ne),...Zt(ae)});let s=Date.now(),d=await Zs(t,s),f=s+d+Kn(),m=!1,g=0,ie=new Set,se=x?new ca(x.count):ca.inert(),ue,F,I=await _(t=>{if(t&&!Hr(t)&&!Wr(t.executionContext))return F!==t.workflowName&&(F=t.workflowName,ue=js(e,t.workflowName),ue.catch(()=>{})),ue}),pe=Dn(()=>{let e=Qn(t,p);return e.catch(()=>{}),e}),me,L=e=>{if(e&&!Hr(e))return me||=new vi(pe.value),me},he=e=>{e.eventType===`run_created`&&(L(e.eventData),I(e.eventData)),me?.prepareEvent(e)},R=async(e,n)=>{let r=z(e,n),i={..._e(),resolveData:vr,...n},a=await se.withEventCreate(r===void 0?i:{...i,sinceCursor:r},n=>t.events.create(p,e,n));return r!==void 0&&ye(r,a),a},ge=(e,t)=>K(`workflow.replay.load`,async n=>{let r=0;n?.setAttributes({...Dt(p),...Me(e)});try{let e=await t(e=>{r++,he(e)});return r=e.events?.length??r,e}finally{n?.setAttributes(nn(r))}}),_e=()=>B.type===`loadAll`?{}:zn(B.events),z=(e,t)=>{if(!(ke||B.type!==`ready`||t?.sinceCursor!==void 0||t?.preloadEvents===!0||o(e.eventType)))return B.cursor??void 0},ye=(e,t)=>{B.type===`ready`&&B.cursor===e&&t.events!==void 0&&t.hasMore!==!0&&sr(B,{events:t.events,cursor:t.cursor})},B={type:`loadAll`},V,H,Se=-1,Ce,we,Te=0,Oe,ke=rr()&&T!==void 0&&a.attempt===1&&y===void 0&&!x;r?.setAttributes(nt(ke));let U,Ae=async()=>{if(U)try{await U}catch{}},je=async e=>{let n=Hs(e);return n?(await Ws({world:t,workflowRun:V,runId:p,workflowName:N,requestId:M,err:e,errorCode:n,logMessage:`Fatal runtime error during workflow setup`}),!0):!1},Ne=new Set,Pe=e=>{Ne.size>0&&W.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`),!ke)return{timeoutSeconds:e};await cr(t,gr(N,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=qs(n,t.ids),i=qs(t.ids,n),a=i>0?`shrank`:r>0?`grew`:`unchanged`;W.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:g})},Be=(e,t,{allowDelta:n=!0}={})=>{if(Le>=Zn())return!1;Le++,G=null;let i=n&&Le===1?Tr(t,p):null,a=i!==null&&B.type!==`loadAll`;return Re=B.type===`loadAll`?null:{ids:new Set(B.events.map(e=>e.eventId)),restart:Le,reason:e,source:a?`inline-delta`:`full-reload`},i&&B.type!==`loadAll`?(sr(B,i),B={...B,type:`ready`}):(B={type:`loadAll`},me?.resetScan()),W.warn(`Event creation rejected as stale; restarting replay in-process`,{workflowRunId:p,reason:e,loopIteration:g,preconditionRestarts:Le,source:a?`inline-delta`:`full-reload`}),r?.setAttributes({"workflow.precondition_restarts":Le}),!0},Ve=async(e,t)=>{let n=(C??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})}:(W.warn(`Event creation rejected as stale after in-process restarts; re-invoking run for a fresh replay`,{workflowRunId:p,reason:e,loopIteration:g,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:N,requestId:M,retryCount:w,beforeStop:a,isDeploymentUnavailableError:t.isDeploymentUnavailableError,reenqueue:async({deploymentId:e,specVersion:r,deploymentMismatchRetryCount:a,delaySeconds:o})=>{await cr(t,gr(N,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(!D)return`ok`;try{await t.events.create(p,{eventType:`step_created`,specVersion:8,correlationId:y,eventData:{stepName:b,workflowName:N,input:D.input}},{requestId:M,viaStepDispatch:!0}),r?.setAttributes(Xt(!0)),W.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(O?`run_context`:`runs_get`)),O){if((D&&a.attempt>1?await e():`ok`)===`gone`){W.debug(`Run already finished, skipping background step`,{workflowRunId:p});return}s=O}else{let[n,r]=await Promise.all([t.runs.get(p,{resolveData:`none`}),D&&a.attempt>1?e():`ok`]);if(r===`gone`){W.debug(`Run already finished, skipping background step`,{workflowRunId:p});return}if(n.status!==`running`){W.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,...D?{stepInput:D}:{},...O?{runContext:O}:{},...k?{hookResumeTiming:k}:{}}))!==`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=j;j=void 0,ce.pause();let m;try{let n=()=>Oa({world:t,workflowRunId:p,workflowDeploymentId:s.deploymentId,workflowName:N,workflowStartedAt:l,rootRunId:s.rootRunId??p,requestId:M,stepId:y,stepName:b,runSpecVersion:s.specVersion,authoritativeAttempt:u,...f?{resumeTracking:f}:{}});m=await Pa(p,y,async()=>{try{return await n()}catch(t){if(!D||!Us(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(N,n),{runId:p,traceCarrier:await oe(),requestedAt:new Date});return}if(m.type===`completed`&&m.hasPendingOps){await cr(t,gr(N,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);B=Xs(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()&&Ma(e.events,s,a.messageId))W.debug(`Background step done; falling through to recover an inline step owned by this message`,{workflowRunId:p});else{W.debug(`Background step done but other steps pending, returning`,{workflowRunId:p});return}}W.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)){W.debug(`Run already finished, skipping inline replay after background step`,{workflowRunId:p,status:u.status});return}I(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}V={...u,input:f,status:`running`,output:void 0,error:void 0,completedAt:void 0},Se=l}else return}catch(e){let n=Hs(e);if(!n)throw e;await Ws({world:t,workflowRun:V,runId:p,workflowName:N,requestId:M,err:e,errorCode:n,logMessage:`Fatal error while preparing background workflow step`});return}if(!V&&E?.deploymentId!==void 0&&t.capabilities?.deploymentAffinity===!0){let e=E.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:E,...k?{hookResumeTiming:k}:{}}),Ae)!==`continue`)return}let Ue=!1;if(!V&&E&&E.resumeId!==void 0&&E.payloadDigest!==void 0){let e=E,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=>R({eventType:`hook_received`,specVersion:8,correlationId:e.hookId,eventData:{token:e.token,payload:e.payload}},{requestId:M,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===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`),...be(`hook_received_stream`)}),W.info(`Run already finished during lazy hook setup, skipping`,{workflowRunId:p,eventType:e.eventType});return}V=n.run,I(V),H=zs(n.maxEvents),we=Date.now(),j&&(j.setupSource=`hook_preload`),B={type:`ready`,events:n.events,cursor:n.cursor},Se=+n.run.startedAt,r?.setAttributes({...jt(n.run.status),...Ut(Se),...be(`hook_received_stream`)})}else r?.setAttributes(be(`hook_received_fallback`))}catch(e){if(xn.is(e)||Y.is(e)){W.info(`Run already finished during lazy hook setup, skipping`,{workflowRunId:p,message:e.message});return}if(await je(e))return;throw e}}if(!V){let e={eventType:`run_started`,specVersion:T?.specVersion??8,...T?{eventData:{input:T.input,deploymentId:T.deploymentId,workflowName:T.workflowName,executionContext:T.executionContext,attributes:T.attributes,allowReservedAttributes:T.allowReservedAttributes,dynamicWorkflowCode:T.dynamicWorkflowCode,dynamicWorkflowCodeRef:T.dynamicWorkflowCodeRef}}:{}};if(ke&&T){r?.addEvent(`workflow.run_started.create.start`,{"workflow.run_started.skip_preload":!0});let t=R(e,{requestId:M,skipPreload:!0});U=t;try{I(T),L(T)}catch(e){if(await Ae(),!await je(e))throw e;return}t.then(e=>{let t=zs(e.maxEvents);t!==void 0&&(H=t)}).catch(()=>{}),B={type:`ready`,events:[],cursor:null};let n=new Date;V={runId:p,status:`running`,deploymentId:T.deploymentId,workflowName:T.workflowName,specVersion:T.specVersion,executionContext:T.executionContext,input:T.input,...T.dynamicWorkflowCode?{dynamicWorkflowCode:T.dynamicWorkflowCode}:{},attributes:T.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=>R(e,{requestId:M,replayEventObserver:t}));try{I(T),L(T)}catch(e){try{await t}catch{}throw e}let n=await t;if(V=n.run,H=zs(n.maxEvents),we=Date.now(),j&&(j.setupSource=`run_started`),n.events?.length){let e={events:[...n.events],cursor:n.cursor??null};B=n.hasMore?Xs(e):{...e,type:`ready`}}if(Se=+n.run.startedAt,r?.setAttributes({...jt(n.run.status),...Ut(Se)}),n.run.status!==`running`){W.info(`Workflow already completed or failed, skipping`,{workflowRunId:p,status:n.run.status});return}I(V)}catch(e){if(Z.is(e)||Y.is(e)){W.info(`Run already finished during setup, skipping`,{workflowRunId:p,message:e.message});return}if(!await je(e))throw e;return}}if(oi(V,`Workflow run must be loaded before replay`),j&&j.setupSource===void 0&&(j.setupSource=`event_load`),await He(V,async()=>({...await Fe(),...E?{hookInput:E}:{},...k?{hookResumeTiming:k}:{}}),Ae)!==`continue`)return;if(E&&!Ue&&!(E.resumeId!==void 0&&B.type!==`loadAll`&&B.events.some(e=>e.eventType===`hook_received`&&e.resumeId===E.resumeId))){let e;try{e=E.resumeId===void 0?void 0:new Date(u(E.resumeId))}catch{e=void 0}let n;try{let i=await t.events.create(p,{eventType:`hook_received`,specVersion:8,correlationId:E.hookId,eventData:{token:E.token,payload:E.payload}},{requestId:M,occurredAt:e,resumeId:E.resumeId,resumePayloadDigest:E.payloadDigest});r?.setAttributes(We(!0));let a=i.event;n=a?{...a,eventData:{token:E.token,payload:E.payload}}:void 0}catch(e){if(xn.is(e)||Y.is(e))return;throw e}B.type!==`loadAll`&&n?(dr(B.events,n),he(n)):B={type:`loadAll`}}let Ke;try{Ke=await Qs(e,V,()=>pe.value,t,Ae)}catch(e){if(await Ae(),!await je(e))throw e;return}let qe=Ke.code,Je=Ke.dynamicWorkflow;Je&&(r?.setAttributes({...de(!0),...ee(Je.sourceHash)}),P.info(`Executing stored dynamic workflow code`,{sourceHash:Je.sourceHash}));let Ye=Je&&!Hr(V)?Ms(qe,V.workflowName):void 0,G=null,Ze=new Set,Qe=new Set;for(;;){let e=l?.revision??0;if(g++,ce.isExhausted()){await sa({runId:p,workflowName:N,requestId:M,attempt:a.attempt,limitMs:ce.configuredLimitMs,slotSnapshot:_e()});return}if(Date.now()-s>=d){W.info(`V2 timeout reached, re-scheduling workflow`,{workflowRunId:p,loopIteration:g,elapsedMs:Date.now()-s}),await cr(t,gr(N,n),{runId:p,traceCarrier:await oe(),requestedAt:new Date});return}let i=0,o=!1;try{if(Hr(V)){W.debug(`Using QuickJS VM engine`,{workflowRunId:p,loopIteration:g}),await Ae(),B.type===`loadAfter`&&(sr(B,await _r(p,B.cursor)),B={...B,type:`ready`});let{runWorkflowWithQuickJS:e}=await import(`../../_chunks/workflow/_eve-core-quickjs-entrypoint-stub-qIV0OaFz.js`),t=await e({workflowCode:qe,workflowName:N,workflowRun:V,preloadedEvents:B.type===`ready`?B.events:void 0,preloadedEventsComplete:B.type===`ready`,preloadedCursor:B.type===`ready`?B.cursor:void 0,runInput:T,parentSpan:r,maxEventsLimit:H,namespace:n,nextTraceCarrier:oe,waitContinuation:A,deliveryAttempt:a.attempt,ownerMessageId:a.messageId,requestId:M});return t?.timeoutSeconds===void 0?void 0:await Ie(t.timeoutSeconds)}if(B.type!==`ready`){m=!1;let e=await _r(p,B.type===`loadAfter`?B.cursor:void 0);B.type===`loadAfter`?(sr(B,e),B={...B,type:`ready`}):B={...e,type:`ready`}}if(oi(B.type===`ready`),ze(B.events),Ks(B.events,p))return;let e=Date.now(),s=new Set(B.events.filter(e=>e.eventType===`wait_completed`).map(e=>e.correlationId)),c=B.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 R(e,{requestId:M});mr(B.events,t)}catch(t){if(Z.is(t)){W.info(`Wait already completed, skipping`,{workflowRunId:p,correlationId:e.correlationId});continue}throw t}oi(B.type===`ready`);let l=new Set(B.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,B.cursor){let e=await _r(p,B.cursor),t=new Set(e.events.filter(e=>e.eventType===`wait_completed`).map(e=>e.correlationId));u.every(e=>t.has(e.correlationId))?sr(B,e):B={...await _r(p),type:`ready`}}else B={...await _r(p),type:`ready`}}if(yr()){let e=await $n(p,{events:B.events,cursor:B.cursor});if(B={...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(Ks(B.events,p))return;if(H!==void 0){let e=B.events.reduce((e,t)=>h(t)?e:e+1,0);if(e>=H)throw new mn(e,H)}Ce??=B.events.every(e=>e.eventType===`run_created`||e.eventType===`run_started`||e.eventType===`attr_set`||h(e)),W.debug(`Starting workflow execution`,{workflowRunId:p,loopIteration:g,eventCount:B.events.length,executionMode:G?`retained`:`replay`}),i=Date.now(),j&&(j.replayStartedAtMs??=i);let d=L(V);oi(d,`Node workflow replay requires payload preparation`);let f=d.prewarm(V,B.events),_=G?await Ps(G,B.events):{type:`replay`};if(o=G!==null&&_.type!==`replay`,_.type===`replay`){G=null;let e=I(V);oi(e||Ye,`Node workflow replay requires compiled scripts`),_=await Ns({workflowCode:qe,workflowRun:V,events:B.events,encryptionKey:await pe.value,replayPayloadCache:d,...e??Ye?{compiledWorkflowScripts:await(e??Ye)}:{},runReadyBarrier:U,worldCapabilities:t.capabilities})}if(await f,_.type===`suspended`)throw G=_.session,_.suspension;let v=_.output;W.debug(`Workflow execution completed`,{workflowRunId:p,loopIteration:g,replayMs:Date.now()-i,executionMode:G?`retained`:`replay`}),se.activate();try{await Ae(),await R({eventType:`run_completed`,specVersion:8,eventData:{output:v}},{requestId:M})}catch(e){if(Z.is(e)||Y.is(e)){W.info(`Tried completing workflow run, but run has already finished.`,{workflowRunId:p,message:e.message});return}throw e}Li(p,N),r?.setAttributes({...jt(`completed`)});return}catch(c){if(Mn.is(c)){se.activate();let u=Date.now(),h=u-i;j&&c.stepCount>0&&(j.nextStepEncounteredAtMs??=u),W.debug(`Workflow suspended`,{workflowRunId:p,loopIteration:g,replayMs:h,steps:c.stepCount,hooks:c.hookCount,waits:c.waitCount});let _=Ee(c.stepCount,c.hookCount,c.waitCount);_&&W.debug(_);let v=Date.now();oi(B.type===`ready`,`Workflow suspended before its event log was loaded`);let y;try{y=await Ia({suspension:c,world:t,run:V,span:r,requestId:M,eventLog:B,runReadyBarrier:U,replayRecoveryReporter:se,forceClaimVictimWakes:ie,stepDispatch:{queueName:gr(N,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);W.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,(V?.specVersion??0)>=5),await R({eventType:`run_failed`,specVersion:8,eventData:{error:i,errorCode:t}},{requestId:M})}catch(e){if(Z.is(e)||Y.is(e)){W.info(`Tried failing workflow run, but run has already finished.`,{workflowRunId:p,message:e.message});return}throw e}zi(p,N,i,n,t),r?.setAttributes({...jt(`failed`),...re(t),...ve(e.name),...le(e.message),...at(e.name)});return}let b=Dn(()=>(oi(B.type===`ready`),Ui(B.events))),x=G?Js({suspension:c,serializationBlockerCount:y.serializationBlockerCount,hookContinuation:y.hasAwaitedHookCreation||y.hasHookConflict,invocationContinuation:l!==void 0}):void 0;x?.retain===!1&&(G=null),y.hasAttributeEvents&&Oe===void 0&&(Oe=Te),Te+=y.hookCreationMs,W.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?Ys(y.serializationBlockers,y.serializationBlockerCount):{}});let S=(e,t)=>{if(!G)return!1;let n=e.filter(e=>!Ze.has(e));if(n.length===0)return!1;for(let e of n)Ze.add(e);let i=y.eventLogCarriedForward&&!b.value.openWait;return i||(oi(B.type===`ready`),B=Xs(B)),W.debug(`Continuing over a hook write in-process`,{workflowRunId:p,loopIteration:g,settles:t,hookIds:n,carriedForward:y.eventLogCarriedForward,readBeforeResume:!i}),r?.setAttributes({"workflow.hook_write_continuations":Ze.size}),!0};if(y.hasHookConflict){if(await y.deferredBatchWork,S(y.hookConflictCorrelationIds,`hook_conflict`))continue;if([...y.inlineClaims.values()].some(e=>e.owned)){B=Xs(B);continue}return await Ie(0)}if(y.hasAttributeEvents){B=Xs(B);continue}if(y.failedStepCorrelationIds.size>0){await y.deferredBatchWork,G=null,B=Xs(B);continue}let C=y.pendingSteps;if(m&&y.waitTimeout!==void 0&&C.length===0&&!y.hasAwaitedHookCreation&&b.value.openWait){W.debug(`Re-reading the event log before parking on a wait over an inline delta`,{workflowRunId:p,loopIteration:g,waitCorrelationId:y.waitTimeout.correlationId}),r?.setAttributes({"workflow.wait_park_reread":!0}),B=Xs(B);continue}let w=y.lazyInlineSteps,T=new Set(w.map(e=>e.correlationId)),E=await oe(),D=[],ee=Gn(),O=Date.now(),k=[],ne=0,P=0;for(let e of y.queuedStepCorrelationIds)Qe.add(e);let ae=j!==void 0&&w.length===0&&!C.some(e=>!T.has(e.correlationId)&&ee&&ka(e)&&e.ownerMessageId===a.messageId);for(let e of C){if(T.has(e.correlationId)||y.queuedStepCorrelationIds.has(e.correlationId))continue;let r=ee&&ka(e);if(r&&e.ownerMessageId===a.messageId){k.push(e);continue}let i=r?Aa(e,O):0;if(i>0){ne++,W.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}),D.push(cr(t,gr(N,n),{runId:p,traceCarrier:E,requestedAt:new Date},{delaySeconds:i,idempotencyKey:ja(e)}));continue}if(Qe.has(e.correlationId)&&e.sawRetrying!==!0){P++;continue}Qe.add(e.correlationId);let o=ae?da(j):void 0;o&&(ae=!1,j=void 0),D.push(cr(t,gr(N,n),{runId:p,stepId:e.correlationId,stepName:e.stepName,traceCarrier:E,requestedAt:new Date,runContext:Cr(V),...o?{hookResumeTiming:o}:{}},{idempotencyKey:Rn(e.correlationId,e.stepName)}))}if(y.waitTimeout){let e=A?.correlationId===y.waitTimeout.correlationId?A.attempt+1:0;D.push(cr(t,gr(N,n),{runId:p,traceCarrier:E,requestedAt:new Date,waitContinuation:{correlationId:y.waitTimeout.correlationId,attempt:e}},Ba(y.waitTimeout.seconds,y.waitTimeout.correlationId,Date.now(),e)))}let ue=Promise.all(D);ue.catch(()=>{});let F=[...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}}),...k.map(e=>({correlationId:e.correlationId,stepName:e.stepName}))];if((ne>0||k.length>0||P>0)&&r?.setAttributes({...k.length>0?te(k.length):{},...ne>0?$t(ne):{},...P>0?ft(P):{}}),P>0&&W.debug(`Skipped re-publishing step messages this invocation already published on an earlier replay pass`,{workflowRunId:p,loopIteration:g,republishesSkipped:P}),k.length>0&&W.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:k.map(e=>e.correlationId)}),F.length===0){if(await Promise.all([ue,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)){B=Xs(B);continue}return}let I=b.value,de=Gi(I,f)||y.waitTimeout!==void 0&&!(y.waitTimeout.resumeAtMs>f),fe=typeof B.cursor==`string`&&c.stepCount===1&&C.length===1&&w.length===1&&k.length===0&&!de;fe&&(I.openWait||y.waitTimeout!==void 0)&&r?.setAttributes({"workflow.inline_delta_over_pending_wait":!0});let me=I.openHook||c.hookCount>0||y.hasHookEvents,L=ke&&!y.hasAttributeEvents&&!y.waitTimeout&&!y.hasHookEvents&&!y.hasAwaitedHookCreation&&!I.openHook&&!I.openWait,he=ya({events:B.events,invocationStartedClean:Ce===!0,runCreatedAtMs:ma(p)??(ke?void 0:+V.createdAt),runStartedReceivedAtMs:we,replayMs:h,preStepBlockingMs:Te,preStepBlockingBeforeAttrMs:Oe,suspensionHasWaits:c.waitCount>0||y.waitTimeout!==void 0,suspensionCreatedHooks:c.hookCount>0||y.hasHookEvents,turbo:ke,retained:o}),ge=j;j=void 0,ce.pause();let _e,z=F.map((e,n)=>{let r=()=>(oi(B.type===`ready`),Oa({world:t,workflowRunId:p,workflowDeploymentId:V.deploymentId,workflowName:N,workflowStartedAt:Se,requestId:M,rootRunId:Ln(V.attributes,p),stepId:e.correlationId,stepName:e.stepName,runSpecVersion:V.specVersion,authoritativeAttempt:e.lazyStepInput!==void 0||e.preclaimedStart!==void 0?1:xi(B.events,e.correlationId,{type:`ownedBy`,messageId:a.messageId})+1,lazyStepInput:e.lazyStepInput,preclaimedStart:e.preclaimedStart,ownerMessageId:a.messageId,forceOptimisticStart:L,suppressOptimisticStart:me,runReadyBarrier:U,...n===0&&(e.lazyStepInput!==void 0||e.preclaimedStart!==void 0)&&he?{latencyTracking:he}:{},...ge?{resumeTracking:ge}:{},...fe&&B.cursor?{inlineDeltaSinceCursor:B.cursor}:{},replayRecoveryReporter:se}));Ne.add(e.correlationId);let i=e.lazyStepInput!==void 0||e.preclaimedStart!==void 0;return Pa(p,e.correlationId,r,i?`debug`:`warn`).finally(()=>Ne.delete(e.correlationId))});for(let e of z)e.catch(()=>{});try{try{await Promise.all([ue,y.deferredBatchWork])}catch(e){throw await Promise.allSettled(z),e}_e=await Promise.all(z)}catch(e){if(vn.is(e)){if(Be(`inline-claim`,e,{allowDelta:!(await Promise.allSettled(z)).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 ye=[],be=!1,H;for(let e=0;e<F.length;e++){let t=_e[e],n=F[e];t.type===`retry`?ye.push({step:n,delaySeconds:t.timeoutSeconds}):t.type===`throttled`?H=Math.max(H??0,t.timeoutSeconds):t.type===`completed`&&t.hasPendingOps&&(be=!0)}if(H!==void 0)return await Ie(H);if(ye.length>0){let e=await oe();await Promise.all(ye.map(({step:r,delaySeconds:i})=>cr(t,gr(N,n),{runId:p,stepId:r.correlationId,stepName:r.stepName,traceCarrier:e,requestedAt:new Date,runContext:Cr(V)},{delaySeconds:i,idempotencyKey:Rn(r.correlationId,r.stepName)})))}if(be){W.debug(`Breaking loop: inline step has pending ops`,{workflowRunId:p,loopIteration:g}),await cr(t,gr(N,n),{runId:p,traceCarrier:await oe(),requestedAt:new Date});return}if(ye.length>0)return;if(F.length===1){let e=_e[0];if(e.type===`completed`&&e.inlineDelta){sr(B,e.inlineDelta),m=!e.inlineDelta.hasMore,B=e.inlineDelta.hasMore?Xs(B):{...B,type:`ready`};continue}}B=Xs(B)}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 P.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:g,servedByRetainedSession:o,eventLogState:B.type,eventLogLength:B.type===`loadAll`?void 0:B.events.length,eventLogLastEventId:B.type===`loadAll`?void 0:B.events.at(-1)?.eventId,cursor:B.type===`ready`?B.cursor??void 0:B.type===`loadAfter`?B.cursor:void 0,hasHookInput:E!==void 0,hasWaitContinuation:A!==void 0,isRecoveryReplay:x!==void 0,setupSource:j?.setupSource},r<=i){P.warn(`Workflow replay diverged; queueing a recovery replay before declaring the event log corrupted`,{...l,errorMessage:c.message}),await cr(t,gr(N,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&&se.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=Ge(N)?.moduleSpecifier||N;m=qo(m,e,qe)}let h=Ur(e);W.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&&ha(e,m);let _,v;try{await Ae(),_=await pe.value,v=await _t(e,p,_,globalThis,(V?.specVersion??0)>=5),await R({eventType:`run_failed`,specVersion:8,eventData:{error:v,errorCode:h}},{requestId:M,...s===void 0?{}:{replayDivergenceCount:s}})}catch(e){if(Z.is(e)||Y.is(e)){W.info(`Tried failing workflow run, but run has already finished.`,{workflowRunId:p,message:e.message});return}if(Jr(e)){W.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,N,v,_,h),r?.setAttributes({...jt(`failed`),...re(h),...ve(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`),...Re(yi),...ge(t),...v(f),...Ie(Date.now()-p),...m===void 0?{}:Qe(m),...V(e.method),...E(`/.well-known/workflow/v1/flow`)}},async t=>{d||=await K(`workflow.route.init`,async()=>{let e=await K(`workflow.route.get_world_handlers`,async()=>na());return l(e)});let n=await d(e);return n instanceof Response&&t?.setAttributes(D(n.status)),n})})}export{ei as Run,Mn as WorkflowSuspension,Qr as cancelRun,Kr as cancelRuns,ea as createWorld,Qi as createWorldFromModule,Lr as getHookByToken,Yr as getRun,na as getWorld,ta as getWorldHandlers,ur as healthCheck,Br as listStreams,Xr as readStream,$r as recreateRunFromExisting,Vr as reenqueueRun,Nr as resumeHook,Fr as resumeWebhook,ra as setWorld,ti as start,qr as wakeUpRun,$s as workflowEntrypoint};
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};