eve 0.65.0 → 0.66.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 (627) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +1 -2
  3. package/dist/src/_virtual/_rolldown/runtime.js +1 -1
  4. package/dist/src/chunks/{use-eve-agent-BIouJCii.js → use-eve-agent-BUeSjwIk.js} +242 -1
  5. package/dist/src/chunks/{use-eve-agent-BRvEh9sO.js → use-eve-agent-ydPlURM4.js} +242 -1
  6. package/dist/src/cli/dev/tui/argument-typeahead.d.ts +36 -0
  7. package/dist/src/cli/dev/tui/argument-typeahead.js +2 -0
  8. package/dist/src/cli/dev/tui/blocks.js +1 -1
  9. package/dist/src/cli/dev/tui/prompt-command-handler.js +1 -1
  10. package/dist/src/cli/dev/tui/runner.d.ts +3 -0
  11. package/dist/src/cli/dev/tui/runner.js +1 -1
  12. package/dist/src/cli/dev/tui/setup-commands.d.ts +2 -8
  13. package/dist/src/cli/dev/tui/setup-commands.js +1 -2
  14. package/dist/src/cli/dev/tui/setup-flow.d.ts +0 -3
  15. package/dist/src/cli/dev/tui/terminal-renderer.d.ts +3 -0
  16. package/dist/src/cli/dev/tui/terminal-renderer.js +10 -11
  17. package/dist/src/cli/dev/tui/test/fake-setup-flow-renderer.js +1 -1
  18. package/dist/src/cli/dev/tui/tui.js +1 -1
  19. package/dist/src/cli/dev/tui/vercel-trusted-sources-policy.d.ts +1 -1
  20. package/dist/src/cli/dev/tui/vercel-trusted-sources.js +1 -1
  21. package/dist/src/cli/invoke/result.d.ts +1 -1
  22. package/dist/src/cli/invoke/result.js +1 -1
  23. package/dist/src/cli/telemetry/preference.js +1 -1
  24. package/dist/src/client/index.d.ts +1 -3
  25. package/dist/src/client/index.js +1 -1
  26. package/dist/src/compiled/.vendor-stamp.json +4 -2
  27. package/dist/src/compiled/@agentclientprotocol/sdk/index.js +2 -51
  28. package/dist/src/compiled/@ai-sdk/anthropic/index.js +2 -2
  29. package/dist/src/compiled/@ai-sdk/google/index.js +7 -7
  30. package/dist/src/compiled/@ai-sdk/mcp/index.js +1 -1
  31. package/dist/src/compiled/@ai-sdk/openai/index.js +4 -4
  32. package/dist/src/compiled/@ai-sdk/otel/index.js +1 -1
  33. package/dist/src/compiled/@cfworker/json-schema/index.d.ts +18 -0
  34. package/dist/src/compiled/@cfworker/json-schema/index.js +2 -0
  35. package/dist/src/compiled/@modelcontextprotocol/server/index.js +9 -58
  36. package/dist/src/compiled/@opentelemetry/api/index.js +1 -1
  37. package/dist/src/compiled/@opentelemetry/otlp-transformer/index.js +1 -1
  38. package/dist/src/compiled/@photon-ai/chat-adapter-imessage/index.js +55 -55
  39. package/dist/src/compiled/@vercel/blob/index.js +14 -36
  40. package/dist/src/compiled/@vercel/oidc/index.js +6 -28
  41. package/dist/src/compiled/@vercel/otel/index.js +1 -1
  42. package/dist/src/compiled/@vercel/sandbox/index.js +13 -13
  43. package/dist/src/compiled/@vercel/sdk/LICENSE +201 -0
  44. package/dist/src/compiled/@vercel/sdk/index.d.ts +41 -0
  45. package/dist/src/compiled/@vercel/sdk/index.js +1 -0
  46. package/dist/src/compiled/@workflow/core/index.js +1 -1
  47. package/dist/src/compiled/@workflow/core/private.js +1 -1
  48. package/dist/src/compiled/@workflow/core/runtime/helpers.js +1 -1
  49. package/dist/src/compiled/@workflow/core/runtime.js +2 -2
  50. package/dist/src/compiled/@workflow/core/serialization.js +1 -1
  51. package/dist/src/compiled/@workflow/core/workflow.js +1 -1
  52. package/dist/src/compiled/@workflow/errors/index.js +1 -1
  53. package/dist/src/compiled/@workflow/world-local/index.js +5 -5
  54. package/dist/src/compiled/@workflow/world-vercel/index.js +16 -16
  55. package/dist/src/compiled/_chunks/client/core-CspsxXR-.js +52 -0
  56. package/dist/src/compiled/_chunks/client/rolldown-runtime-DK3Fl9T5.js +1 -0
  57. package/dist/src/compiled/_chunks/node/auth-Dztlx9pE.js +2 -0
  58. package/dist/src/compiled/_chunks/workflow/{attribute-changes-DFx4eluc.js → attribute-changes-89Nwz7XW.js} +1 -1
  59. package/dist/src/compiled/_chunks/workflow/{chunk-5MU5Z6L3-CrYztnvh.js → chunk-5MU5Z6L3-z9-dfnHp.js} +1 -1
  60. package/dist/src/compiled/_chunks/workflow/{chunk-NWCAEW5Y-ClfmNvkQ.js → chunk-NWCAEW5Y-8afLJrun.js} +1 -1
  61. package/dist/src/compiled/_chunks/workflow/{dist-C3919PVU.js → dist-C3ZE62yI.js} +3 -3
  62. package/dist/src/compiled/_chunks/workflow/dist-CNT2vjZ4.js +1 -0
  63. package/dist/src/compiled/_chunks/workflow/{dist-xTushGCp.js → dist-DtXwQbZr.js} +1 -1
  64. package/dist/src/compiled/_chunks/workflow/{esm-DyLz8Egm.js → esm-DtrPCf49.js} +1 -1
  65. package/dist/src/compiled/_chunks/workflow/{experimental-evaluation-D8_K_Pe9.js → experimental-evaluation-Dm32egEG.js} +2 -2
  66. package/dist/src/compiled/_chunks/workflow/frames-DnrfSd1P.js +3 -0
  67. package/dist/src/compiled/_chunks/workflow/{functions-C06vHfWP.js → functions-DpZiBxgQ.js} +1 -1
  68. package/dist/src/compiled/_chunks/workflow/{getMachineId-bsd-WEBNKY2R-DcIEvZzd.js → getMachineId-bsd-WEBNKY2R-D5OkV-EY.js} +1 -1
  69. package/dist/src/compiled/_chunks/workflow/{getMachineId-darwin-LT47KAXP-C4nRhfn9.js → getMachineId-darwin-LT47KAXP-BqwKrkSO.js} +1 -1
  70. package/dist/src/compiled/_chunks/workflow/{getMachineId-linux-LTVQO6VW-BqQf2T4W.js → getMachineId-linux-LTVQO6VW-CJlbJ4KP.js} +1 -1
  71. package/dist/src/compiled/_chunks/workflow/{getMachineId-unsupported-UKWBA27G-oYffWhib.js → getMachineId-unsupported-UKWBA27G-C4Y3-LZG.js} +1 -1
  72. package/dist/src/compiled/_chunks/workflow/{getMachineId-win-NLJKOPY6-CpL96LtN.js → getMachineId-win-NLJKOPY6-CsPs71SE.js} +1 -1
  73. package/dist/src/compiled/_chunks/workflow/{global-DFW-hO6M.js → global-DIlFoH2w.js} +1 -1
  74. package/dist/src/compiled/_chunks/workflow/{helpers-Bw52uyzw.js → helpers-k3zcudWr.js} +1 -1
  75. package/dist/src/compiled/_chunks/workflow/{logger-DFNCa8Nl.js → logger-Bzc8jWWj.js} +1 -1
  76. package/dist/src/compiled/_chunks/workflow/resume-hook-BmJ263ZR.js +1 -0
  77. package/dist/src/compiled/_chunks/workflow/{rolldown-runtime-DPpTSio4.js → rolldown-runtime-B_knIduE.js} +1 -1
  78. package/dist/src/compiled/_chunks/workflow/{run-BT6SQv5f.js → run-NLvREued.js} +1 -1
  79. package/dist/src/compiled/_chunks/workflow/{serialization-Cl0SYU0I.js → serialization-HCDeQWcR.js} +2 -2
  80. package/dist/src/compiled/_chunks/workflow/{signal-exit-B9U6kH7R.js → signal-exit-DZKTacNU.js} +1 -1
  81. package/dist/src/compiled/_chunks/workflow/sleep-Bi508qmg.js +1 -0
  82. package/dist/src/compiled/_chunks/workflow/{token-CrFhCmWs.js → token-1wSBbi5N.js} +1 -1
  83. package/dist/src/compiled/_chunks/workflow/{token-U5XEWlVM.js → token-BhlnqoHM.js} +1 -1
  84. package/dist/src/compiled/_chunks/workflow/{token-util-BkqzD0OM.js → token-util-Cm4Ec1Bg.js} +1 -1
  85. package/dist/src/compiled/_chunks/workflow/token-util-DaeRTzDa.js +5 -0
  86. package/dist/src/compiled/_chunks/workflow/{wait-until-Dzhr6tzf.js → wait-until-DXLZx3tU.js} +1 -1
  87. package/dist/src/compiled/_chunks/workflow/{wrapper-CKui_eTd.js → wrapper-CzrF_dmI.js} +3 -3
  88. package/dist/src/compiled/_chunks/workflow/ws-transport-BSM_Cl7a.js +1 -0
  89. package/dist/src/compiled/jose/index.js +1 -1
  90. package/dist/src/compiled/zod/index.js +1 -51
  91. package/dist/src/compiled/zod/v3.js +1 -0
  92. package/dist/src/compiled/zod/v4/core.js +1 -0
  93. package/dist/src/compiled/zod-validation-error/index.js +1 -1
  94. package/dist/src/compiler/extension-compatibility.d.ts +20 -14
  95. package/dist/src/compiler/extension-compatibility.js +1 -1
  96. package/dist/src/context/build-base-tool-context.js +1 -1
  97. package/dist/src/context/build-callback-context.js +1 -1
  98. package/dist/src/context/dynamic-skill-lifecycle.d.ts +3 -3
  99. package/dist/src/context/dynamic-skill-lifecycle.js +1 -1
  100. package/dist/src/context/keys.d.ts +18 -4
  101. package/dist/src/context/keys.js +1 -1
  102. package/dist/src/context/session-context.d.ts +5 -4
  103. package/dist/src/execution/dynamic-workflow/tool.js +1 -1
  104. package/dist/src/execution/route-child-delivery.js +1 -1
  105. package/dist/src/execution/sandbox/bindings/docker-templates.d.ts +6 -0
  106. package/dist/src/execution/sandbox/bindings/docker-templates.js +1 -1
  107. package/dist/src/execution/sandbox/bindings/docker.d.ts +6 -2
  108. package/dist/src/execution/sandbox/bindings/docker.js +1 -1
  109. package/dist/src/execution/sandbox/bindings/just-bash-runtime.d.ts +2 -2
  110. package/dist/src/execution/sandbox/bindings/just-bash.d.ts +2 -2
  111. package/dist/src/execution/sandbox/bindings/local-provider-utils.js +1 -1
  112. package/dist/src/execution/sandbox/bindings/microsandbox-lifecycle.d.ts +7 -2
  113. package/dist/src/execution/sandbox/bindings/microsandbox.d.ts +6 -2
  114. package/dist/src/execution/sandbox/bindings/vercel.d.ts +6 -3
  115. package/dist/src/execution/sandbox/bindings/vercel.js +1 -1
  116. package/dist/src/execution/sandbox/ensure.js +1 -1
  117. package/dist/src/execution/sandbox/logging-session.js +2 -2
  118. package/dist/src/execution/sandbox/provider-host.js +1 -1
  119. package/dist/src/execution/sandbox/session.d.ts +5 -2
  120. package/dist/src/execution/sandbox/session.js +1 -1
  121. package/dist/src/execution/session/event-sink.d.ts +7 -13
  122. package/dist/src/execution/session/event-sink.js +1 -1
  123. package/dist/src/execution/session/handoff.d.ts +2 -2
  124. package/dist/src/execution/session/handoff.js +1 -1
  125. package/dist/src/execution/session/turn-step.js +1 -1
  126. package/dist/src/execution/settle-cancelled-turn-step.js +1 -1
  127. package/dist/src/execution/skills/instructions.d.ts +6 -8
  128. package/dist/src/execution/skills/instructions.js +2 -2
  129. package/dist/src/execution/tools/agent-router-workflow.js +1 -1
  130. package/dist/src/execution/tools/agent-router.d.ts +1 -2
  131. package/dist/src/execution/tools/agent-router.js +1 -1
  132. package/dist/src/execution/tools/ask-question-workflow.js +1 -1
  133. package/dist/src/execution/tools/ask-question.d.ts +17 -18
  134. package/dist/src/execution/tools/ask-question.js +2 -2
  135. package/dist/src/execution/tools/connection-search.js +1 -1
  136. package/dist/src/execution/tools/load-skill.d.ts +9 -5
  137. package/dist/src/execution/tools/load-skill.js +1 -1
  138. package/dist/src/execution/tools/sleep-workflow.js +1 -1
  139. package/dist/src/execution/tools/sleep.d.ts +8 -9
  140. package/dist/src/execution/tools/sleep.js +1 -1
  141. package/dist/src/execution/tools/subagent/emit-event-step.d.ts +2 -1
  142. package/dist/src/execution/tools/subagent/emit-event-step.js +1 -1
  143. package/dist/src/execution/tools/subagent/task-agent-requests.js +1 -1
  144. package/dist/src/execution/tools/workflow/body.js +1 -1
  145. package/dist/src/extensions/code/extension/extension.d.ts +57 -0
  146. package/dist/src/extensions/code/extension/extension.js +1 -0
  147. package/dist/src/extensions/code/extension/hooks/authenticate.d.ts +2 -0
  148. package/dist/src/extensions/code/extension/hooks/authenticate.js +1 -0
  149. package/dist/src/extensions/code/extension/instructions.md +87 -0
  150. package/dist/src/extensions/code/extension/lib/command-failure.d.ts +7 -0
  151. package/dist/src/extensions/code/extension/lib/command-failure.js +2 -0
  152. package/dist/src/extensions/code/extension/lib/computer-use-driver-source.d.ts +14 -0
  153. package/dist/src/extensions/code/extension/lib/computer-use-driver-source.js +1309 -0
  154. package/dist/src/extensions/code/extension/lib/computer-use-sandbox.d.ts +9 -0
  155. package/dist/src/extensions/code/extension/lib/computer-use-sandbox.js +120 -0
  156. package/dist/src/extensions/code/extension/lib/computer-use.d.ts +36 -0
  157. package/dist/src/extensions/code/extension/lib/computer-use.js +78 -0
  158. package/dist/src/extensions/code/extension/lib/connect-authentication.d.ts +7 -0
  159. package/dist/src/extensions/code/extension/lib/connect-authentication.js +1 -0
  160. package/dist/src/extensions/code/extension/lib/credentials.d.ts +13 -0
  161. package/dist/src/extensions/code/extension/lib/credentials.js +3 -0
  162. package/dist/src/extensions/code/extension/lib/diagnostics.d.ts +30 -0
  163. package/dist/src/extensions/code/extension/lib/diagnostics.js +6 -0
  164. package/dist/src/extensions/code/extension/lib/generated-paths.d.ts +18 -0
  165. package/dist/src/extensions/code/extension/lib/generated-paths.js +2 -0
  166. package/dist/src/extensions/code/extension/lib/github-shell-schema.d.ts +11 -0
  167. package/dist/src/extensions/code/extension/lib/github-shell-schema.js +1 -0
  168. package/dist/src/extensions/code/extension/lib/github-shell.d.ts +53 -0
  169. package/dist/src/extensions/code/extension/lib/github-shell.js +1 -0
  170. package/dist/src/extensions/code/extension/lib/grep-search.d.ts +61 -0
  171. package/dist/src/extensions/code/extension/lib/grep-search.js +6 -0
  172. package/dist/src/extensions/code/extension/lib/guidelines.d.ts +25 -0
  173. package/dist/src/extensions/code/extension/lib/guidelines.js +2 -0
  174. package/dist/src/extensions/code/extension/lib/patch.d.ts +35 -0
  175. package/dist/src/extensions/code/extension/lib/patch.js +20 -0
  176. package/dist/src/extensions/code/extension/lib/prwatch-github.d.ts +70 -0
  177. package/dist/src/extensions/code/extension/lib/prwatch-github.js +1 -0
  178. package/dist/src/extensions/code/extension/lib/prwatch-registry.d.ts +27 -0
  179. package/dist/src/extensions/code/extension/lib/prwatch-registry.js +1 -0
  180. package/dist/src/extensions/code/extension/lib/prwatch.d.ts +2 -0
  181. package/dist/src/extensions/code/extension/lib/prwatch.js +1 -0
  182. package/dist/src/extensions/code/extension/lib/repository-root.d.ts +4 -0
  183. package/dist/src/extensions/code/extension/lib/repository-root.js +1 -0
  184. package/dist/src/extensions/code/extension/lib/sandbox.d.ts +12 -0
  185. package/dist/src/extensions/code/extension/lib/sandbox.js +2 -0
  186. package/dist/src/extensions/code/extension/lib/shell.d.ts +1 -0
  187. package/dist/src/extensions/code/extension/lib/shell.js +1 -0
  188. package/dist/src/extensions/code/extension/lib/signed-commit.d.ts +2 -0
  189. package/dist/src/extensions/code/extension/lib/signed-commit.js +130 -0
  190. package/dist/src/extensions/code/extension/lib/tooling.d.ts +27 -0
  191. package/dist/src/extensions/code/extension/lib/tooling.js +92 -0
  192. package/dist/src/extensions/code/extension/skills/investigate/SKILL.md +30 -0
  193. package/dist/src/extensions/code/extension/skills/lookup-agent-run/SKILL.md +29 -0
  194. package/dist/src/extensions/code/extension/skills/pr/SKILL.md +53 -0
  195. package/dist/src/extensions/code/extension/skills/review/SKILL.md +21 -0
  196. package/dist/src/extensions/code/extension/subagents/worker/agent.d.ts +17 -0
  197. package/dist/src/extensions/code/extension/subagents/worker/agent.js +1 -0
  198. package/dist/src/extensions/code/extension/subagents/worker/instructions.md +20 -0
  199. package/dist/src/extensions/code/extension/subagents/worker/sandbox.d.ts +2 -0
  200. package/dist/src/extensions/code/extension/subagents/worker/sandbox.js +1 -0
  201. package/dist/src/extensions/code/extension/subagents/worker/tools/glob.d.ts +1 -0
  202. package/dist/src/extensions/code/extension/subagents/worker/tools/glob.js +1 -0
  203. package/dist/src/extensions/code/extension/subagents/worker/tools/grep.d.ts +1 -0
  204. package/dist/src/extensions/code/extension/subagents/worker/tools/grep.js +1 -0
  205. package/dist/src/extensions/code/extension/subagents/worker/tools/load_skill.d.ts +2 -0
  206. package/dist/src/extensions/code/extension/subagents/worker/tools/load_skill.js +1 -0
  207. package/dist/src/extensions/code/extension/subagents/worker/tools/read_file.d.ts +1 -0
  208. package/dist/src/extensions/code/extension/subagents/worker/tools/read_file.js +1 -0
  209. package/dist/src/extensions/code/extension/subagents/worker/tools/web_fetch.d.ts +2 -0
  210. package/dist/src/extensions/code/extension/subagents/worker/tools/web_fetch.js +1 -0
  211. package/dist/src/extensions/code/extension/subagents/worker/tools/web_search.d.ts +2 -0
  212. package/dist/src/extensions/code/extension/subagents/worker/tools/web_search.js +1 -0
  213. package/dist/src/extensions/code/extension/subagents/worker/tools/write_file.d.ts +2 -0
  214. package/dist/src/extensions/code/extension/subagents/worker/tools/write_file.js +1 -0
  215. package/dist/src/extensions/code/extension/tools/apply_patch.d.ts +28 -0
  216. package/dist/src/extensions/code/extension/tools/apply_patch.js +2 -0
  217. package/dist/src/extensions/code/extension/tools/computer_use.d.ts +400 -0
  218. package/dist/src/extensions/code/extension/tools/computer_use.js +1 -0
  219. package/dist/src/extensions/code/extension/tools/gh.d.ts +27 -0
  220. package/dist/src/extensions/code/extension/tools/gh.js +1 -0
  221. package/dist/src/extensions/code/extension/tools/grep.d.ts +28 -0
  222. package/dist/src/extensions/code/extension/tools/grep.js +1 -0
  223. package/dist/src/extensions/code/tools.d.ts +4 -0
  224. package/dist/src/extensions/code/tools.js +1 -0
  225. package/dist/src/harness/compaction.js +1 -1
  226. package/dist/src/harness/final-output.js +1 -1
  227. package/dist/src/harness/input-extraction.js +1 -1
  228. package/dist/src/harness/tool-loop.js +2 -2
  229. package/dist/src/harness/tools.js +1 -1
  230. package/dist/src/internal/application/optional-package-import.d.ts +9 -0
  231. package/dist/src/internal/application/optional-package-import.js +1 -0
  232. package/dist/src/internal/application/optional-package-install.d.ts +1 -5
  233. package/dist/src/internal/application/optional-package-install.js +2 -2
  234. package/dist/src/internal/application/package.js +1 -1
  235. package/dist/src/node_modules/.pnpm/@vercel_cli-config@0.2.7/node_modules/@vercel/cli-config/dist/index.js +21 -0
  236. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/envpath.js +1 -0
  237. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/errors.js +2 -0
  238. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/errutils.js +1 -0
  239. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/exec.js +1 -0
  240. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/fsutils.js +1 -0
  241. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/index.js +1 -0
  242. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/lookup.js +1 -0
  243. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/safety.js +1 -0
  244. package/dist/src/node_modules/.pnpm/@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_37d5e4f23f0f03cba2e0819e67e81b38/node_modules/@vercel/connect/dist/authorization.js +1 -0
  245. package/dist/src/node_modules/.pnpm/@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_37d5e4f23f0f03cba2e0819e67e81b38/node_modules/@vercel/connect/dist/connector.js +1 -0
  246. package/dist/src/node_modules/.pnpm/@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_37d5e4f23f0f03cba2e0819e67e81b38/node_modules/@vercel/connect/dist/index.js +1 -0
  247. package/dist/src/node_modules/.pnpm/@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_37d5e4f23f0f03cba2e0819e67e81b38/node_modules/@vercel/connect/dist/installation.js +1 -0
  248. package/dist/src/node_modules/.pnpm/@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_37d5e4f23f0f03cba2e0819e67e81b38/node_modules/@vercel/connect/dist/internal/base-url.js +1 -0
  249. package/dist/src/node_modules/.pnpm/@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_37d5e4f23f0f03cba2e0819e67e81b38/node_modules/@vercel/connect/dist/internal/default-scopes.js +1 -0
  250. package/dist/src/node_modules/.pnpm/@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_37d5e4f23f0f03cba2e0819e67e81b38/node_modules/@vercel/connect/dist/internal/env.js +1 -0
  251. package/dist/src/node_modules/.pnpm/@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_37d5e4f23f0f03cba2e0819e67e81b38/node_modules/@vercel/connect/dist/internal/url-validation.js +1 -0
  252. package/dist/src/node_modules/.pnpm/@vercel_connect@2.2.0_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_37d5e4f23f0f03cba2e0819e67e81b38/node_modules/@vercel/connect/dist/token.js +1 -0
  253. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/auth-errors.js +1 -0
  254. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/exchange-vercel-oidc-token.js +1 -0
  255. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/get-context.js +1 -0
  256. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/get-vercel-oidc-token-sync.js +1 -0
  257. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/get-vercel-oidc-token-with-refresh.js +2 -0
  258. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/index.js +1 -0
  259. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/oauth.js +1 -0
  260. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/token-error.js +1 -0
  261. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/token-io.js +1 -0
  262. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/token-util.js +2 -0
  263. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/token.js +1 -0
  264. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/verify-vercel-oidc-token.js +1 -0
  265. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.8/node_modules/@vercel/oidc/dist/version.js +1 -0
  266. package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/index.js +1 -0
  267. package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/enoent.js +1 -0
  268. package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/parse.js +1 -0
  269. package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/escape.js +1 -0
  270. package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/readShebang.js +1 -0
  271. package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/resolveCommand.js +1 -0
  272. package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/index.js +1 -0
  273. package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/command.js +1 -0
  274. package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/error.js +2 -0
  275. package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/kill.js +1 -0
  276. package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/promise.js +1 -0
  277. package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/stdio.js +1 -0
  278. package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/stream.js +1 -0
  279. package/dist/src/node_modules/.pnpm/get-stream@6.0.1/node_modules/get-stream/buffer-stream.js +1 -0
  280. package/dist/src/node_modules/.pnpm/get-stream@6.0.1/node_modules/get-stream/index.js +1 -0
  281. package/dist/src/node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/core.js +1 -0
  282. package/dist/src/node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/main.js +1 -0
  283. package/dist/src/node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/realtime.js +1 -0
  284. package/dist/src/node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/signals.js +1 -0
  285. package/dist/src/node_modules/.pnpm/is-stream@2.0.1/node_modules/is-stream/index.js +1 -0
  286. package/dist/src/node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/index.js +1 -0
  287. package/dist/src/node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/mode.js +1 -0
  288. package/dist/src/node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/windows.js +1 -0
  289. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/index.js +1 -0
  290. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/compact/decrypt.js +1 -0
  291. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/compact/encrypt.js +1 -0
  292. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/flattened/decrypt.js +1 -0
  293. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/flattened/encrypt.js +1 -0
  294. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/general/decrypt.js +1 -0
  295. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/general/encrypt.js +1 -0
  296. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwk/embedded.js +1 -0
  297. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwk/thumbprint.js +1 -0
  298. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwks/local.js +1 -0
  299. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwks/remote.js +1 -0
  300. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/compact/sign.js +1 -0
  301. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/compact/verify.js +1 -0
  302. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/flattened/sign.js +1 -0
  303. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/flattened/verify.js +1 -0
  304. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/general/sign.js +1 -0
  305. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/general/verify.js +1 -0
  306. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/decrypt.js +1 -0
  307. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/encrypt.js +1 -0
  308. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/produce.js +1 -0
  309. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/sign.js +1 -0
  310. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/unsecured.js +1 -0
  311. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/verify.js +1 -0
  312. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/key/export.js +1 -0
  313. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/key/generate_key_pair.js +1 -0
  314. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/key/generate_secret.js +1 -0
  315. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/key/import.js +1 -0
  316. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/aesgcmkw.js +1 -0
  317. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/buffer_utils.js +1 -0
  318. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/cek.js +1 -0
  319. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/check_iv_length.js +1 -0
  320. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/check_key_type.js +1 -0
  321. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/check_p2s.js +1 -0
  322. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/crypto_key.js +1 -0
  323. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/decrypt_key_management.js +1 -0
  324. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/encrypt_key_management.js +1 -0
  325. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/epoch.js +1 -0
  326. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/invalid_key_input.js +1 -0
  327. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/is_disjoint.js +1 -0
  328. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/is_jwk.js +1 -0
  329. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/is_object.js +1 -0
  330. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/iv.js +1 -0
  331. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/jwt_claims_set.js +1 -0
  332. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/private_symbols.js +1 -0
  333. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/secs.js +1 -0
  334. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/validate_algorithms.js +1 -0
  335. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/validate_crit.js +1 -0
  336. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/aeskw.js +1 -0
  337. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/asn1.js +1 -0
  338. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/base64url.js +1 -0
  339. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/cbc_tag.js +1 -0
  340. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/check_cek_length.js +1 -0
  341. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/check_key_length.js +1 -0
  342. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/ciphers.js +1 -0
  343. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/decrypt.js +1 -0
  344. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/digest.js +1 -0
  345. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/dsa_digest.js +1 -0
  346. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/ecdhes.js +1 -0
  347. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/encrypt.js +1 -0
  348. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/fetch_jwks.js +1 -0
  349. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/generate.js +1 -0
  350. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/get_named_curve.js +1 -0
  351. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/get_sign_verify_key.js +1 -0
  352. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/hmac_digest.js +1 -0
  353. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/is_key_like.js +1 -0
  354. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/is_key_object.js +1 -0
  355. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/jwk_to_key.js +1 -0
  356. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/key_to_jwk.js +1 -0
  357. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/node_key.js +1 -0
  358. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/normalize_key.js +1 -0
  359. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/pbes2kw.js +1 -0
  360. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/random.js +1 -0
  361. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/rsaes.js +1 -0
  362. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/runtime.js +1 -0
  363. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/sign.js +1 -0
  364. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/timing_safe_equal.js +1 -0
  365. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/verify.js +1 -0
  366. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/webcrypto.js +1 -0
  367. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/base64url.js +1 -0
  368. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/decode_jwt.js +1 -0
  369. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/decode_protected_header.js +1 -0
  370. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/errors.js +1 -0
  371. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/runtime.js +1 -0
  372. package/dist/src/node_modules/.pnpm/merge-stream@2.0.0/node_modules/merge-stream/index.js +1 -0
  373. package/dist/src/node_modules/.pnpm/mimic-fn@2.1.0/node_modules/mimic-fn/index.js +1 -0
  374. package/dist/src/node_modules/.pnpm/npm-run-path@4.0.1/node_modules/npm-run-path/index.js +1 -0
  375. package/dist/src/node_modules/.pnpm/onetime@5.1.2/node_modules/onetime/index.js +1 -0
  376. package/dist/src/node_modules/.pnpm/path-key@3.1.1/node_modules/path-key/index.js +1 -0
  377. package/dist/src/node_modules/.pnpm/shebang-command@2.0.0/node_modules/shebang-command/index.js +1 -0
  378. package/dist/src/node_modules/.pnpm/shebang-regex@3.0.0/node_modules/shebang-regex/index.js +1 -0
  379. package/dist/src/node_modules/.pnpm/signal-exit@3.0.7/node_modules/signal-exit/index.js +1 -0
  380. package/dist/src/node_modules/.pnpm/signal-exit@3.0.7/node_modules/signal-exit/signals.js +1 -0
  381. package/dist/src/node_modules/.pnpm/strip-final-newline@2.0.0/node_modules/strip-final-newline/index.js +2 -0
  382. package/dist/src/node_modules/.pnpm/which@2.0.2/node_modules/which/which.js +1 -0
  383. package/dist/src/public/channels/github/checkout.d.ts +7 -2
  384. package/dist/src/public/channels/github/checkout.js +1 -1
  385. package/dist/src/public/channels/github/defaults.js +1 -1
  386. package/dist/src/public/channels/slack/api-errors.d.ts +33 -0
  387. package/dist/src/public/channels/slack/api-errors.js +1 -0
  388. package/dist/src/public/channels/slack/api.js +1 -1
  389. package/dist/src/public/channels/slack/interaction-cards.js +1 -1
  390. package/dist/src/public/channels/slack/interactions.js +1 -1
  391. package/dist/src/public/definitions/sandbox.d.ts +1 -1
  392. package/dist/src/public/memory/file/provider.js +1 -1
  393. package/dist/src/public/sandbox/docker.d.ts +7 -0
  394. package/dist/src/public/sandbox/index.d.ts +1 -1
  395. package/dist/src/public/sandbox/microsandbox.d.ts +7 -0
  396. package/dist/src/public/sandbox/vercel.d.ts +7 -0
  397. package/dist/src/public/skills/index.d.ts +1 -2
  398. package/dist/src/runtime/connections/mcp-client.d.ts +0 -7
  399. package/dist/src/runtime/connections/mcp-client.js +1 -1
  400. package/dist/src/runtime/connections/openapi-client.d.ts +0 -3
  401. package/dist/src/runtime/connections/openapi-client.js +1 -1
  402. package/dist/src/runtime/workspace/seed-files.js +1 -1
  403. package/dist/src/sandbox/providers/docker.d.ts +4 -4
  404. package/dist/src/sandbox/providers/just-bash.d.ts +2 -2
  405. package/dist/src/sandbox/providers/microsandbox.d.ts +4 -4
  406. package/dist/src/sandbox/providers/vercel.d.ts +4 -3
  407. package/dist/src/sandbox/state.d.ts +2 -0
  408. package/dist/src/self-modification/config.d.ts +6 -0
  409. package/dist/src/self-modification/extension/config-schema.d.ts +25 -0
  410. package/dist/src/self-modification/extension/config-schema.js +1 -0
  411. package/dist/src/self-modification/extension/extension.d.ts +3 -47
  412. package/dist/src/self-modification/extension/extension.js +1 -1
  413. package/dist/src/self-modification/extension/subagents/agent/tools/registry_add.js +1 -1
  414. package/dist/src/self-modification/git-workspace.d.ts +5 -1
  415. package/dist/src/self-modification/git.d.ts +5 -1
  416. package/dist/src/services/dev-client/request-headers.d.ts +1 -1
  417. package/dist/src/services/dev-client/request-headers.js +1 -1
  418. package/dist/src/setup/flows/model.d.ts +0 -108
  419. package/dist/src/setup/flows/model.js +1 -1
  420. package/dist/src/setup/integrations/discord/api.js +1 -1
  421. package/dist/src/setup/integrations/discord/connect.js +1 -1
  422. package/dist/src/setup/integrations/github/connect.js +1 -1
  423. package/dist/src/setup/integrations/linear/connect.js +1 -1
  424. package/dist/src/setup/integrations/linq/connect.js +1 -1
  425. package/dist/src/setup/integrations/photon/connect.js +1 -1
  426. package/dist/src/setup/integrations/teams/connect.js +1 -1
  427. package/dist/src/setup/project-resolution.js +1 -1
  428. package/dist/src/setup/scaffold/create/project.js +1 -1
  429. package/dist/src/setup/slack-connect.d.ts +1 -1
  430. package/dist/src/setup/slack-connect.js +1 -1
  431. package/dist/src/setup/vercel-api-failure.js +1 -1
  432. package/dist/src/setup/vercel-deployment.js +1 -1
  433. package/dist/src/setup/vercel-project-api.d.ts +1 -1
  434. package/dist/src/setup/vercel-project-api.js +1 -1
  435. package/dist/src/setup/vercel-project-framework.js +1 -1
  436. package/dist/src/setup/vercel-project.js +0 -0
  437. package/dist/src/shared/connection-types.d.ts +0 -2
  438. package/dist/src/shared/sandbox-network-policy.d.ts +5 -4
  439. package/dist/src/shared/sandbox-session.d.ts +0 -15
  440. package/dist/src/shared/skill-package.d.ts +3 -0
  441. package/dist/src/shared/skill-package.js +1 -1
  442. package/dist/src/svelte/index.js +1 -1
  443. package/dist/src/svelte/use-eve-agent.js +1 -1
  444. package/dist/src/tasks/json.d.ts +72 -2
  445. package/dist/src/tasks/json.js +1 -1
  446. package/dist/src/tools/framework/agent-contract.d.ts +7 -6
  447. package/dist/src/tools/framework/agent-contract.js +1 -1
  448. package/dist/src/tools/framework/agent.d.ts +4 -13
  449. package/dist/src/tools/framework/task-cancel.d.ts +1 -17
  450. package/dist/src/tools/framework/task-contract.d.ts +16 -137
  451. package/dist/src/tools/framework/task-contract.js +1 -1
  452. package/dist/src/tools/provided/bash.d.ts +11 -12
  453. package/dist/src/tools/provided/bash.js +1 -1
  454. package/dist/src/tools/provided/glob.d.ts +13 -14
  455. package/dist/src/tools/provided/glob.js +1 -1
  456. package/dist/src/tools/provided/grep.d.ts +17 -18
  457. package/dist/src/tools/provided/grep.js +1 -1
  458. package/dist/src/tools/provided/read-file.d.ts +14 -15
  459. package/dist/src/tools/provided/read-file.js +1 -1
  460. package/dist/src/tools/provided/web-fetch.d.ts +13 -18
  461. package/dist/src/tools/provided/web-fetch.js +1 -1
  462. package/dist/src/tools/provided/workflow.js +1 -1
  463. package/dist/src/tools/provided/write-file.d.ts +10 -11
  464. package/dist/src/tools/provided/write-file.js +1 -1
  465. package/dist/src/tools/schema.d.ts +40 -10
  466. package/dist/src/tools/schema.js +1 -1
  467. package/dist/src/vue/index.js +1 -1
  468. package/dist/src/vue/use-eve-agent.js +1 -1
  469. package/docs/README.md +1 -1
  470. package/docs/channels/slack.mdx +1 -1
  471. package/docs/connections/overview.mdx +1 -1
  472. package/docs/extensions.md +4 -0
  473. package/docs/getting-started.mdx +1 -1
  474. package/docs/guides/deployment/vercel.mdx +6 -0
  475. package/docs/guides/dev-tui.md +1 -1
  476. package/docs/guides/dynamic-capabilities.md +2 -0
  477. package/docs/guides/hooks.md +6 -3
  478. package/docs/guides/instrumentation/agent-runs.mdx +101 -0
  479. package/docs/guides/instrumentation/instrumentation.mdx +2 -1
  480. package/docs/guides/instrumentation/meta.json +1 -1
  481. package/docs/guides/instrumentation/migration.md +5 -1
  482. package/docs/guides/instrumentation/otel.mdx +8 -27
  483. package/docs/guides/self-modification.md +37 -0
  484. package/docs/guides/session-context.md +11 -13
  485. package/docs/install-integrations.mdx +1 -1
  486. package/docs/meta.json +1 -0
  487. package/docs/reference/cli.md +1 -1
  488. package/docs/reference/typescript-api.md +1 -2
  489. package/docs/sandbox/index.mdx +11 -0
  490. package/docs/skills.mdx +3 -10
  491. package/docs/subagents/index.mdx +1 -1
  492. package/docs/tools/overview.mdx +7 -1
  493. package/docs/tools/workflows.mdx +1 -1
  494. package/package.json +30 -1
  495. package/dist/src/cli/dev/tui/model-picker.d.ts +0 -50
  496. package/dist/src/cli/dev/tui/model-picker.js +0 -1
  497. package/dist/src/compiled/_chunks/client/errors-Cd0_QQdM.js +0 -2
  498. package/dist/src/compiled/_chunks/node/auth-DDrvYko5.js +0 -2
  499. package/dist/src/compiled/_chunks/node/schemas-g-rLPCNX.js +0 -50
  500. package/dist/src/compiled/_chunks/workflow/coerce-D0oqvQ_w.js +0 -1
  501. package/dist/src/compiled/_chunks/workflow/dist-DjECvUyK.js +0 -2
  502. package/dist/src/compiled/_chunks/workflow/frames-D_Q-7A1N.js +0 -3
  503. package/dist/src/compiled/_chunks/workflow/resume-hook-BhA_nDEV.js +0 -1
  504. package/dist/src/compiled/_chunks/workflow/schemas-4CmFgxN_.js +0 -50
  505. package/dist/src/compiled/_chunks/workflow/sleep-DB4AH9-A.js +0 -1
  506. package/dist/src/compiled/_chunks/workflow/token-util-pP4KRRl0.js +0 -27
  507. package/dist/src/compiled/_chunks/workflow/ws-transport-BpTMh40s.js +0 -1
  508. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/lib/primitives.js +0 -1
  509. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/lib/schemas.js +0 -1
  510. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/models/aclaction.js +0 -1
  511. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/models/sdkvalidationerror.js +0 -1
  512. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/models/updateprojectblock.js +0 -1
  513. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/models/updateprojectprojectsbranchmatcher.js +0 -1
  514. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/types/defaultToZeroValue.js +0 -1
  515. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/types/fp.js +0 -1
  516. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/types/primitives.js +0 -1
  517. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/types/rfcdate.js +0 -1
  518. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/types/smartUnion.js +0 -1
  519. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/types/unrecognized.js +0 -1
  520. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/index.js +0 -1
  521. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/ZodError.js +0 -1
  522. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/errors.js +0 -1
  523. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/external.js +0 -1
  524. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/helpers/errorUtil.js +0 -1
  525. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/helpers/parseUtil.js +0 -1
  526. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/helpers/typeAliases.js +0 -1
  527. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/helpers/util.js +0 -1
  528. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/index.js +0 -1
  529. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/locales/en.js +0 -1
  530. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/types.js +0 -1
  531. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/checks.js +0 -1
  532. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/coerce.js +0 -1
  533. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/compat.js +0 -1
  534. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/deep-partial.js +0 -1
  535. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/errors.js +0 -1
  536. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/external.js +0 -1
  537. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/from-json-schema.js +0 -1
  538. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/in-out.js +0 -1
  539. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/iso.js +0 -1
  540. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/parse.js +0 -1
  541. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/schemas.js +0 -1
  542. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/api.js +0 -1
  543. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/checks.js +0 -1
  544. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/compile.js +0 -2
  545. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/core.js +0 -1
  546. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/doc.js +0 -3
  547. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/errors.js +0 -2
  548. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/index.js +0 -1
  549. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/json-schema-generator.js +0 -1
  550. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/json-schema-processors.js +0 -1
  551. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/json-schema.js +0 -1
  552. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/memoizer.js +0 -1
  553. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/parse.js +0 -1
  554. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/regexes.js +0 -1
  555. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/registries.js +0 -1
  556. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/schemas.js +0 -46
  557. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/to-json-schema.js +0 -3
  558. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/util.js +0 -1
  559. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/versions.js +0 -1
  560. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/visit.js +0 -1
  561. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ar.js +0 -1
  562. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/az.js +0 -1
  563. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/be.js +0 -1
  564. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/bg.js +0 -1
  565. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/bn.js +0 -1
  566. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ca.js +0 -1
  567. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ckb.js +0 -1
  568. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/cs.js +0 -1
  569. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/da.js +0 -1
  570. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/de.js +0 -1
  571. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/el.js +0 -1
  572. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/en.js +0 -1
  573. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/eo.js +0 -1
  574. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/es.js +0 -1
  575. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/fa.js +0 -1
  576. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/fi.js +0 -1
  577. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/fr-CA.js +0 -1
  578. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/fr.js +0 -1
  579. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/gu.js +0 -1
  580. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/he.js +0 -1
  581. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/hi.js +0 -1
  582. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/hr.js +0 -1
  583. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/hu.js +0 -1
  584. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/hy.js +0 -1
  585. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/id.js +0 -1
  586. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/index.js +0 -1
  587. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/is.js +0 -1
  588. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/it.js +0 -1
  589. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ja.js +0 -1
  590. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ka.js +0 -1
  591. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/kh.js +0 -1
  592. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/km.js +0 -1
  593. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/kn.js +0 -1
  594. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ko.js +0 -1
  595. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/lt.js +0 -1
  596. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/mk.js +0 -1
  597. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ms.js +0 -1
  598. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ne.js +0 -1
  599. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/nl.js +0 -1
  600. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/nn.js +0 -1
  601. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/no.js +0 -1
  602. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ota.js +0 -1
  603. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/pl.js +0 -1
  604. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ps.js +0 -1
  605. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/pt-BR.js +0 -1
  606. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/pt.js +0 -1
  607. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ro.js +0 -1
  608. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ru.js +0 -1
  609. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/sk.js +0 -1
  610. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/sl.js +0 -1
  611. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/sv.js +0 -1
  612. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ta.js +0 -1
  613. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/th.js +0 -1
  614. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/tk.js +0 -1
  615. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/tr.js +0 -1
  616. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ua.js +0 -1
  617. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/uk.js +0 -1
  618. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ur.js +0 -1
  619. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/uz.js +0 -1
  620. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/vi.js +0 -1
  621. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/yo.js +0 -1
  622. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/zh-CN.js +0 -1
  623. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/zh-TW.js +0 -1
  624. package/dist/src/runtime/skills/sandbox-access.d.ts +0 -22
  625. package/dist/src/runtime/skills/sandbox-access.js +0 -1
  626. package/dist/src/shared/skill-types.d.ts +0 -22
  627. package/dist/src/shared/skill-types.js +0 -1
@@ -1,5 +1,5 @@
1
- import{i as e,t}from"../../_chunks/workflow/rolldown-runtime-DPpTSio4.js";import{C as n,M as r,S as i,T as a,b as o,c as s,s as c}from"../../_chunks/workflow/schemas-4CmFgxN_.js";import{B as l,C as u,G as d,H as f,K as p,M as m,N as h,P as g,R as _,U as v,W as y,Z as b,a as x,at as ee,b as S,c as te,d as ne,ft as re,g as C,h as w,ht as T,l as ie,lt as ae,m as oe,mt as E,n as se,o as ce,ot as le,pt as ue,q as D,r as de,rt as fe,s as pe,st as me,tt as O,ut as k,v as A,z as j}from"../../_chunks/workflow/dist-DjECvUyK.js";import{n as M,t as N}from"../../_chunks/workflow/coerce-D0oqvQ_w.js";import{t as P}from"../../_chunks/workflow/debug-log-CVPstO1D.js";import{A as F,O as he,d as ge,f as _e,o as ve,r as I,y as ye}from"../../_chunks/workflow/dist-xTushGCp.js";import{i as be,n as xe,r as Se,t as Ce}from"../../_chunks/workflow/workflow-routes-CwqB063q.js";import{a as we,i as Te,n as Ee,r as De,t as Oe}from"../../_chunks/workflow/signal-exit-B9U6kH7R.js";import{createHash as ke}from"node:crypto";import{promisify as Ae}from"node:util";import{fileURLToPath as je}from"node:url";import{promises as L}from"node:fs";import R,{access as Me,constants as Ne,mkdir as Pe,readFile as Fe,readdir as Ie,readlink as Le,rm as Re,unlink as ze,writeFile as Be}from"node:fs/promises";import z from"node:path";import{tmpdir as Ve}from"node:os";import{execFile as He}from"node:child_process";import{setTimeout as Ue}from"node:timers/promises";import We from"node:assert";import{EventEmitter as Ge}from"node:events";var Ke=class extends F{dataDir;constructor(e,t){super(`[workflow] The local (filesystem) world cannot create its data directory "${e}" (${t}). Workflow runs cannot be stored, so every run will fail before its first step. If this is a Vercel deployment, its filesystem is read-only and the local world cannot work there. The world is selected from the environment when the process starts: the Vercel world is used when VERCEL_DEPLOYMENT_ID is set, unless WORKFLOW_TARGET_WORLD says otherwise. Unset WORKFLOW_TARGET_WORLD in this deployment, or set WORKFLOW_TARGET_WORLD=vercel, to use the Vercel world. Otherwise point WORKFLOW_LOCAL_DATA_DIR at a writable directory.`,{code:t}),this.name=`UnwritableDataDirError`,this.dataDir=e}static is(e){return e instanceof Error&&e.name===`UnwritableDataDirError`}};const qe=new Set([`EROFS`,`EACCES`,`EPERM`]);function Je(e){return e!==void 0&&qe.has(e)}const Ye=E(`@workflow/world-local//buildTargetWarnings`,1,()=>({warnedAboutVercelDeployment:!1}));function Xe(e){if(Ye.warnedAboutVercelDeployment||!process.env.VERCEL_DEPLOYMENT_ID)return;let t=z.resolve(e),n=Ve();t===n||t.startsWith(`${n}${z.sep}`)||(Ye.warnedAboutVercelDeployment=!0,console.warn(`[workflow] Warning: the local (filesystem) world is running inside a Vercel deployment, writing to ${t}. That filesystem is read-only, so workflow runs will fail before their first step. The world is selected from the environment when the process starts: the Vercel world is used when VERCEL_DEPLOYMENT_ID is set, unless WORKFLOW_TARGET_WORLD says otherwise. Unset WORKFLOW_TARGET_WORLD in this deployment, or set WORKFLOW_TARGET_WORLD=vercel, to use the Vercel world.`))}function Ze(e,t=10){let n=parseInt(e,t);if(!Number.isNaN(n)&&n>=0&&n<=65535)return n}function Qe(e,t){let n=[],r=e.trim().split(`
2
- `);for(let e of r){let r=e.trim().split(/\s+/);if(r.length<5||r[0]?.toUpperCase()!==`TCP`)continue;let[,i,,a,o]=r;if(a?.toUpperCase()!==`LISTENING`||o!==t.toString())continue;let s=i.lastIndexOf(`:`);if(s===-1)continue;let c=Ze(i.slice(s+1));c!==void 0&&n.push(c)}return n}const $e=Ae(He);function et(e,t=10){let n=parseInt(e,t);if(!Number.isNaN(n)&&n>=0&&n<=65535)return n}const tt=((e,t)=>e.join(t))([``,`proc`],`/`);async function nt(e){let t=[`${tt}/net/tcp`,`${tt}/net/tcp6`],n=[],r=new Set,i=`${tt}/${e}/fd`;try{let e=(await Ie(i)).sort((e,t)=>Number.parseInt(e,10)-Number.parseInt(t,10)),t=await Promise.allSettled(e.map(async e=>(await Le(`${i}/${e}`)).match(/^socket:\[(\d+)\]$/)?.[1]??null));for(let e of t)e.status===`fulfilled`&&e.value&&(n.push(e.value),r.add(e.value))}catch{return[]}if(n.length===0)return[];let a=new Map;for(let e of t)try{let t=(await Fe(e,`utf8`)).split(`
3
- `).slice(1);for(let e of t){if(!e.trim())continue;let t=e.trim().split(/\s+/);if(t.length<10)continue;let n=t[1],i=t[3],o=t[9];if(!n||i!==`0A`||!o||!r.has(o))continue;let s=n.indexOf(`:`);if(s===-1)continue;let c=n.slice(s+1);if(!c)continue;let l=et(c,16);l!==void 0&&a.set(o,l)}}catch{}let o=[];for(let e of n){let t=a.get(e);t!==void 0&&o.push(t)}return o}async function rt(e){try{let{stdout:t}=await $e(`lsof`,[`-a`,`-i`,`-P`,`-n`,`-p`,e.toString()]),n=[],r=t.split(`
4
- `);for(let e of r)if(e.includes(`LISTEN`)){let t=e.trim().split(/\s+/)[8];if(t){let e=t.lastIndexOf(`:`);if(e!==-1){let r=et(t.slice(e+1));r!==void 0&&n.push(r)}}}return n}catch{return[]}}async function it(e){try{let{stdout:t}=await $e(`cmd`,[`/c`,`netstat -ano -p tcp | findstr LISTENING`]);return Qe(t,e)}catch{return[]}}async function at(){let{pid:e,platform:t}=process;try{switch(t){case`linux`:return await nt(e);case`darwin`:return await rt(e);case`win32`:return await it(e);default:return[]}}catch(e){return P(`[getAllPorts] Detection failed:`,e),[]}}const ot=`${Ce}/flow?__health`;async function st(e,t={}){let{endpoint:n=ot,timeout:r=500}=t,i=new AbortController,a=setTimeout(()=>i.abort(),r);try{return(await fetch(`http://localhost:${e}${n}`,{method:`HEAD`,signal:i.signal})).status===200}catch{return!1}finally{clearTimeout(a)}}async function ct(e){let t=await at();if(t.length===0)return;if(t.length===1)return t[0];let n=(await Promise.all(t.map(async t=>({port:t,isWorkflow:await st(t,e)})))).find(e=>e.isWorkflow);return n?n.port:(P(`[getWorkflowPort] Probing failed, falling back to first port:`,t[0]),t[0])}function lt(e){let t={get value(){let n=e();return Object.defineProperty(t,"value",{value:n}),n}};return t}const ut=()=>process.env.WORKFLOW_LOCAL_DATA_DIR||`.workflow-data`,dt=()=>process.env.WORKFLOW_LOCAL_BASE_URL,ft=lt(()=>({dataDir:ut(),baseUrl:dt()}));function pt(e){if(e.recoverActiveRuns!==void 0)return e.recoverActiveRuns;let t=process.env.WORKFLOW_LOCAL_RECOVER_ACTIVE_RUNS?.toLowerCase();return t!==`0`&&t!==`false`}function mt(e){return e.baseUrl??process.env.WORKFLOW_LOCAL_BASE_URL??xe(`http://localhost`)}async function ht(e){if(e.baseUrl)return e.baseUrl;if(process.env.WORKFLOW_LOCAL_BASE_URL)return process.env.WORKFLOW_LOCAL_BASE_URL;if(typeof e.port==`number`)return xe(`http://localhost:${e.port}`);if(process.env.PORT)return xe(`http://localhost:${process.env.PORT}`);let t=await ct({endpoint:Se()});if(t)return xe(`http://localhost:${t}`);throw Error(`Unable to resolve base URL for workflow queue.`)}const B=E(`@workflow/world-local//fs`,1,()=>({ulid:k(()=>Math.random()),createdFilesCache:new Set,createdDirectoriesCache:new Set}));function gt(e){let t=typeof e==`string`?e:String(e);return t.length>48?`${t.slice(0,48)}…`:t}var _t=class extends F{constructor(e,t){super(`Unsafe ${e} "${gt(t)}": must not be empty, contain ".", "/", "\\", or null bytes`),this.name=`UnsafeEntityIdError`}static is(e){return e instanceof Error&&e.name===`UnsafeEntityIdError`}};function V(e,t){if(t.length===0||t.startsWith(`.`)||t.includes(`/`)||t.includes(`\\`)||t.includes(`\0`)||t.includes(`.`))throw new _t(e,t)}function H(e,...t){let n=z.resolve(e),r=z.resolve(e,...t);if(r!==n&&!r.startsWith(n+z.sep))throw new _t(`path`,t.join(`/`));return r}const vt=process.platform===`win32`;async function U(e,t=5){if(!vt)return e();let n=[`EPERM`,`EBUSY`,`EACCES`];for(let r=0;r<=t;r++)try{return await e()}catch(e){if(!(r<t&&n.includes(e.code)))throw e;let i=10*2**r+Math.random()*10;await new Promise(e=>setTimeout(e,i))}throw Error(`Retry loop exited unexpectedly`)}function yt(){B.createdFilesCache.clear(),B.createdDirectoriesCache.clear()}const bt=/\.[a-zA-Z][a-zA-Z0-9-]*$/;function xt(e){return e.replace(bt,``)}function St(e,t){return e.endsWith(`.${t}`)}function Ct(e){return!bt.test(e)}function W(e,t,n,r){return V(`fileId`,n),r!==void 0&&V(`tag`,r),H(e,t,r?`${n}.${r}.json`:`${n}.json`)}async function G(e,t,n,r,i){if(V(`fileId`,n),i!==void 0&&V(`tag`,i),i){let a=await J(H(e,t,`${n}.${i}.json`),r);if(a!==null)return a}return J(H(e,t,`${n}.json`),r)}async function wt(e,t){let n=`.${t}.json`;try{return(await L.readdir(e)).filter(e=>e.endsWith(n))}catch(e){if(e.code===`ENOENT`)return[];throw e}}async function Tt(e,t,n){let r=`.${t}${n}`;try{return(await L.readdir(e)).filter(e=>e.endsWith(r))}catch(e){if(e.code===`ENOENT`)return[];throw e}}async function Et(e){let t=z.resolve(e);if(!B.createdDirectoriesCache.has(t))try{await L.mkdir(t,{recursive:!0}),B.createdDirectoriesCache.add(t)}catch(e){let n=e.code;if(Je(n)&&!await Dt(t))throw new Ke(t,n)}}async function Dt(e){try{return(await L.stat(e)).isDirectory()}catch{return!1}}async function Ot(e,t){await Et(e);try{return await t()}catch(n){if(n.code!==`ENOENT`)throw n;return B.createdDirectoriesCache.delete(z.resolve(e)),await Et(e),t()}}function K(e,t){return t instanceof Uint8Array?{__type:`Uint8Array`,data:Buffer.from(t).toString(`base64`)}:t}function kt(e,t){return typeof t==`object`&&t&&t.__type===`Uint8Array`&&typeof t.data==`string`?new Uint8Array(Buffer.from(t.data,`base64`)):t}async function q(e,t,n){return At(e,JSON.stringify(t,K,2),n)}async function At(e,t,n){if(!n?.overwrite){if(B.createdFilesCache.has(e))throw new I(`File ${e} already exists and 'overwrite' is false`);try{throw await L.access(e),B.createdFilesCache.add(e),new I(`File ${e} already exists and 'overwrite' is false`)}catch(e){if(e.code!==`ENOENT`)throw e}}let r=`${e}.tmp.${B.ulid()}`,i=!1;try{await Ot(z.dirname(e),async()=>{await L.writeFile(r,t),i=!0,await U(()=>L.rename(r,e))}),B.createdFilesCache.add(e)}catch(e){throw i&&await U(()=>L.unlink(r),3).catch(()=>{}),e}}async function J(e,t){try{let n=await U(()=>L.readFile(e,`utf-8`));return t.parse(JSON.parse(n,kt))}catch(e){if(e.code===`ENOENT`)return null;throw e}}async function jt(e){return await L.readFile(e)}async function Mt(e){let t=await L.open(e,`r`);try{let e=Buffer.allocUnsafe(1),{bytesRead:n}=await t.read(e,0,1,0);return n===0?void 0:e[0]}finally{await t.close()}}async function Y(e){try{await U(()=>L.unlink(e))}catch(e){if(e.code!==`ENOENT`)throw e}}async function X(e,t){let n=`${e}.tmp.${B.ulid()}`,r=!1;try{return await Ot(z.dirname(e),async()=>{await L.writeFile(n,t,{flag:`wx`}),r=!0;try{return await U(()=>L.link(n,e)),!0}catch(e){if(e.code===`EEXIST`)return!1;throw e}})}finally{r&&await U(()=>L.unlink(n),3).catch(()=>{})}}async function Nt(e,t){try{return await Ot(z.dirname(t),()=>U(()=>L.link(e,t))),`linked`}catch(e){if(e.code===`EEXIST`)return`exists`;if(e.code===`ENOENT`)return`missing`;throw e}}async function Z(e){return Pt(e,`.json`)}async function Pt(e,t){try{return(await L.readdir(e)).filter(e=>e.endsWith(t)).map(e=>e.slice(0,-t.length))}catch(e){if(e.code===`ENOENT`)return[];throw e}}const Ft=`key:`;function It(e){if(!e)return null;if(e.startsWith(`key:`))return{timestamp:new Date(0),id:null,sortKey:e.slice(4)};let t=e.split(`|`);return{timestamp:new Date(t[0]),id:t[1]||null,sortKey:null}}function Lt(e,t,n){return n?`${Ft}${n}`:t?`${e.toISOString()}|${t}`:e.toISOString()}async function Rt(e){let{directory:t,schema:n,cachedItems:i,filePrefix:a,fileIdFilter:o,filter:s,sortOrder:c=`desc`,limit:l=20,cursor:u,getCreatedAt:d,getId:f,getSortKey:p,getSortKeyFromFileId:m}=e;a!==void 0&&V(`filePrefix`,a);let h=z.resolve(t),g=await Z(h),_=a?g.filter(e=>e.startsWith(a)):g,v=o?_.filter(o):_,y=It(u),b=v;if(y?.sortKey&&m){let e=y.sortKey;b=v.filter(t=>{let n=m(t);if(n===null)return!0;let r=n.localeCompare(e);return c===`desc`?r<0:r>0})}else y&&!y.sortKey&&(b=v.filter(e=>{let t=d(`${e}.json`);if(t){let e=y.timestamp.getTime(),n=t.getTime();return y.id?c===`desc`?n<=e:n>=e:c===`desc`?n<e:n>e}return!0}));let x=[];for(let e=0;e<b.length;e+=32){let t=b.slice(e,e+32),a=await Promise.all(t.map(async e=>{let t=z.join(h,`${e}.json`),a;try{let e=i?.get(t);a=e===void 0?await J(t,n):structuredClone(e)}catch(t){if(t instanceof r)return console.warn(`Skipping item ${e} due to malformed JSON: ${t.message}`),null;throw t}return a&&s&&!await s(a)?null:a}));for(let e of a){if(!e)continue;let t=p?.(e)??null;if(y?.sortKey){if(t){let e=t.localeCompare(y.sortKey);if(c===`desc`?e>=0:e<=0)continue}x.push(e);continue}if(y){let t=e.createdAt.getTime(),n=y.timestamp.getTime();if(c===`desc`){if(t>n||t===n&&y.id&&f&&f(e)>=y.id)continue}else if(t<n||t===n&&y.id&&f&&f(e)<=y.id)continue}x.push(e)}}x.sort((e,t)=>{if(p){let n=p(e),r=p(t);if(n!==null&&r!==null)return c===`asc`?n.localeCompare(r):r.localeCompare(n)}let n=e.createdAt.getTime(),r=t.createdAt.getTime(),i=c===`asc`?n-r:r-n;if(i===0&&f){let n=f(e),r=f(t);return c===`asc`?n.localeCompare(r):r.localeCompare(n)}return i});let ee=x.length>l,S=ee?x.slice(0,l):x;return{data:S,cursor:S.length>0?Lt(S[S.length-1].createdAt,f?.(S[S.length-1]),p?.(S[S.length-1])):null,hasMore:ee}}const zt=E(`@workflow/world-local//packageInfo`,1,()=>({cached:null}));function Bt(){return typeof import.meta.url==`string`&&import.meta.url?z.dirname(je(import.meta.url)):null}async function Vt(){if(zt.cached)return zt.cached;let e=Bt();if(e)try{let t=await Fe(z.join(e,`../package.json`),`utf-8`);return zt.cached=JSON.parse(t),zt.cached}catch{}return zt.cached={name:`@workflow/world-local`,version:`5.0.0-beta.46`},zt.cached}const Ht=`version.txt`;var Ut=class extends Error{dataDir;code;constructor(e,t,n){super(e),this.name=`DataDirAccessError`,this.dataDir=t,this.code=n}},Wt=class extends Error{oldVersion;newVersion;suggestedVersion;constructor(e,t,n,r){super(e),this.name=`DataDirVersionError`,this.oldVersion=t,this.newVersion=n,this.suggestedVersion=r}};function Gt(e){let t=e.match(/^(\d+)\.(\d+)\.(\d+)(?:-(.+))?$/);if(!t)throw Error(`Invalid version string: "${e}"`);return{major:parseInt(t[1],10),minor:parseInt(t[2],10),patch:parseInt(t[3],10),prerelease:t[4],raw:e}}function Q(e){let t=`${e.major}.${e.minor}.${e.patch}`;return e.prerelease?`${t}-${e.prerelease}`:t}function Kt(e){let t=e.trim(),n=t.lastIndexOf(`@`);if(n<=0)throw Error(`Invalid version file content: "${e}"`);return{packageName:t.substring(0,n),version:Gt(t.substring(n+1))}}function qt(e,t){return`${e}@${Q(t)}`}function Jt(e,t){console.log(`[world-local] Upgrading from version ${Q(e)} to ${Q(t)}`)}async function Yt(e){let t=z.resolve(e);try{await Pe(t,{recursive:!0})}catch(e){let n=e;if(n.code!==`EEXIST`)throw new Ut(`Failed to create data directory "${t}": ${n.message}`,t,n.code)}try{await Me(t,Ne.R_OK)}catch(e){let n=e;throw new Ut(`Data directory "${t}" is not readable: ${n.message}`,t,n.code)}let n=z.join(t,`.workflow-write-test-${Date.now()}`);try{await Be(n,``),await ze(n).catch(e=>{if(e.code!==`ENOENT`)throw e})}catch(e){let n=e;throw new Ut(`Data directory "${t}" is not writable: ${n.message}`,t,n.code)}}async function Xt(e){let t=z.join(z.resolve(e),Ht);try{return Kt(await Fe(t,`utf-8`))}catch(e){if(e.code===`ENOENT`)return null;throw e}}async function Zt(e,t){let n=z.join(z.resolve(e),Ht),r=qt((await Vt()).name,t);await Be(n,r)}function Qt(e,t){return t||Q(e)}async function $t(e){await Yt(e);let t=await Vt(),n=Gt(t.version),r=await Xt(e);if(r===null){await Zt(e,n);return}let{version:i}=r;if(Q(i)!==Q(n))try{Jt(i,n),await Zt(e,n)}catch(e){let r=Qt(i,e instanceof Wt?e.suggestedVersion:void 0);throw console.error(`[world-local] Failed to upgrade data directory from version ${Q(i)} to ${Q(n)}:`,e instanceof Error?e.message:e),console.error(`[world-local] Data is not compatible with the current version. Please downgrade to ${t.name}@${r}`),e}}const en=E(`@workflow/world-local//telemetry`,1,()=>({apiPromise:null,tracerPromise:null}));async function tn(){return en.apiPromise||=import(`../../@opentelemetry/api/index.js`).catch(()=>null),en.apiPromise}async function nn(){return en.tracerPromise||=tn().then(e=>e?e.trace.getTracer(`workflow`):null),en.tracerPromise}async function rn(e,...t){let[n,r]=await Promise.all([nn(),tn()]),{fn:i,opts:a}=typeof t[0]==`function`?{fn:t[0],opts:{}}:{fn:t[1],opts:t[0]};if(!i)throw Error(`Function to trace must be provided`);return!n||!r?await i():n.startActiveSpan(e,a,async e=>{try{let t=await i(e);return e.setStatus({code:r.SpanStatusCode.OK}),t}catch(t){throw e.setStatus({code:r.SpanStatusCode.ERROR,message:t.message}),t}finally{e.end()}})}async function an(e){let t=await tn();if(t)return t.SpanKind[e]}function on(...e){return t=>Object.fromEntries(e.map(e=>[e,t]))}const sn=on(`peer.service`),cn=on(`rpc.system`),ln=on(`rpc.service`),un=on(`rpc.method`),dn=on(`workflow.run.id`),fn=on(`step.id`),pn={peerService:`world-local`,rpcSystem:`local`,rpcService:`world-local`},mn={"world.runs.get":0,"world.runs.experimentalSetAttributes":0,"world.steps.get":0,"world.events.create":0,"world.events.get":0},hn=new Set([`world.steps.list`,`world.events.list`,`world.hooks.list`]);function gn(e){if(e.length>=2&&typeof e[1]==`object`&&e[1]!==null){let t=e[1];if(typeof t.eventType==`string`)return t.eventType}}function _n(e,t){return typeof e[t]==`string`?e[t]:void 0}function vn(e){if(typeof e!=`object`||!e)return;let t=e.runId;return typeof t==`string`?t:void 0}function yn(e){if(typeof e!=`object`||!e)return;let t=e;if(typeof t.runId==`string`)return t.runId;for(let e of[`run`,`step`,`hook`,`wait`]){let n=t[e];if(typeof n==`object`&&n){let e=n.runId;if(typeof e==`string`)return e}}}function bn(e,t,n){let r=`${e}.${t}`,i={},a=mn[r],o=a===void 0?hn.has(r)?vn(n[0]):void 0:_n(n,a);if(o&&Object.assign(i,dn(o)),r===`world.steps.get`){let e=_n(n,1);e&&Object.assign(i,fn(e))}return i}function xn(e,t){let n={};for(let r of Object.keys(t))if(typeof t[r]!=`function`)n[r]=t[r];else{let i=t[r],a=String(r);n[r]=async(...t)=>{let n=`${e}.${a}`;if(e===`world.events`&&a===`create`){let r=gn(t);r&&(n=`${e}.${a} ${r}`)}return rn(n,{kind:await an(`INTERNAL`)},async r=>{r?.setAttributes({...sn(pn.peerService),...cn(pn.rpcSystem),...ln(pn.rpcService),...un(n),...bn(e,a,t)});let o=await i(...t),s=yn(o);return s&&r?.setAttributes(dn(s)),o})}}return n}var Sn=t((t=>{var n=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.RateLimit=t.Sema=void 0;let r=n(e(`events`));function i(e,t,n,r,i){for(let a=0;a<i;++a)n[a+r]=e[a+t],e[a+t]=void 0}function a(e){return e>>>=0,--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,e+1}function o(e){return a(Math.min(Math.max(16,e),1073741824))}var s=class{constructor(e){this._capacity=o(e),this._length=0,this._front=0,this.arr=[]}push(e){let t=this._length;this.checkCapacity(t+1);let n=this._front+t&this._capacity-1;return this.arr[n]=e,this._length=t+1,t+1}pop(){let e=this._length;if(e===0)return;let t=this._front+e-1&this._capacity-1,n=this.arr[t];return this.arr[t]=void 0,this._length=e-1,n}shift(){let e=this._length;if(e===0)return;let t=this._front,n=this.arr[t];return this.arr[t]=void 0,this._front=t+1&this._capacity-1,this._length=e-1,n}get length(){return this._length}checkCapacity(e){this._capacity<e&&this.resizeTo(o(this._capacity*1.5+16))}resizeTo(e){let t=this._capacity;this._capacity=e;let n=this._front,r=this._length;if(n+r>t){let e=n+r&t-1;i(this.arr,0,this.arr,t,e)}}},c=class extends r.default{};function l(e){return typeof e==`function`}function u(){return`1`}var d=class{constructor(e,{initFn:t=u,pauseFn:n,resumeFn:r,capacity:i=10}={}){if(l(n)!==l(r))throw Error(`pauseFn and resumeFn must be both set for pausing`);this.nrTokens=e,this.free=new s(e),this.waiting=new s(i),this.releaseEmitter=new c,this.noTokens=t===u,this.pauseFn=n,this.resumeFn=r,this.paused=!1,this.releaseEmitter.on(`release`,e=>{let t=this.waiting.shift();t?t.resolve(e):(this.resumeFn&&this.paused&&(this.paused=!1,this.resumeFn()),this.free.push(e))});for(let n=0;n<e;n++)this.free.push(t())}tryAcquire(){return this.free.pop()}async acquire(){let e=this.tryAcquire();return e===void 0?new Promise((e,t)=>{this.pauseFn&&!this.paused&&(this.paused=!0,this.pauseFn()),this.waiting.push({resolve:e,reject:t})}):e}release(e){this.releaseEmitter.emit(`release`,this.noTokens?`1`:e)}drain(){let e=Array(this.nrTokens);for(let t=0;t<this.nrTokens;t++)e[t]=this.acquire();return Promise.all(e)}nrWaiting(){return this.waiting.length}};t.Sema=d;function f(e,{timeUnit:t=1e3,uniformDistribution:n=!1}={}){let r=new d(n?1:e),i=n?t/e:t;return async function(){await r.acquire(),setTimeout(()=>r.release(),i)}}t.RateLimit=f}))(),Cn=Ee(),wn=class{contentType=`application/json`;serialize(e){return Buffer.from(JSON.stringify(e,K))}async deserialize(e){let t=[],n=e.getReader();for(;;){let{done:e,value:r}=await n.read();if(e)break;r&&t.push(r)}let r=Buffer.concat(t).toString();return JSON.parse(r,kt)}};const Tn=parseInt(process.env.WORKFLOW_LOCAL_QUEUE_MAX_VISIBILITY??`0`,10)||1/0,En=2147483647,Dn=parseInt(process.env.WORKFLOW_LOCAL_QUEUE_CONCURRENCY??`0`,10)||1e3;function On(e,t){let n=process.env[e];if(n===void 0||n===``)return t;let r=Number.parseInt(n,10);return Number.isFinite(r)&&r>=0?r:t}function kn(){return{bodyTimeout:On(`WORKFLOW_LOCAL_BODY_TIMEOUT_MS`,3e4),connections:1e3,headersTimeout:On(`WORKFLOW_LOCAL_HEADERS_TIMEOUT_MS`,3e4),keepAliveTimeout:3e4}}const An=`Cannot perform ArrayBuffer.prototype.slice on a detached ArrayBuffer`;function jn(e){let t=e,n=new Set;for(;t&&typeof t==`object`&&!n.has(t);){if(n.add(t),`message`in t&&typeof t.message==`string`&&t.message.includes(An))return!0;t=`cause`in t?t.cause:void 0}return!1}function Mn(e){let t=kn(),n=w()?De({maxSockets:t.connections,keepAliveMs:t.keepAliveTimeout}):void 0,r=n?void 0:new Cn.Agent(t),i=new wn,a=k(),s=new Sn.Sema(Dn),c=new AbortController,l=c.signal,d=new Map,f=new Map,p=async(o,c,p)=>{let m=[];if(p?.idempotencyKey){let e=d.get(p.idempotencyKey);if(e)return{messageId:e}}let h=i.serialize(c),{prefix:g}=u(o),_=A.parse(`msg_${a()}`),v=c,y=v.runId??void 0,b=v.stepId??void 0;if(p?.idempotencyKey){let e=p.idempotencyKey;d.set(e,_),m.push(()=>{d.delete(e)})}return(async()=>{if(p?.delaySeconds&&p.delaySeconds>0){let e=Math.min(p.delaySeconds*1e3,En);await Ue(e,void 0,{signal:l})}s.tryAcquire()||(P(`[world-local]: concurrency limit (${Dn}) reached, waiting for queue to free up`),await s.acquire());let i=0;try{for(let a=0;a<256;a++){let s={...p?.headers,"content-type":`application/json`,"x-vqs-queue-name":o,"x-vqs-message-id":_,"x-vqs-message-attempt":String(i+1)},c=f.get(g),u,d;try{if(c)u=await c(new Request(be(mt(e),{type:`flow`}),{method:`POST`,headers:s,body:h}));else{let i=await ht(e),a=be(i,{type:`flow`});u=n?await we(a,{method:`POST`,headers:new Headers(s),body:h,agents:n,signal:l,headersTimeoutMs:t.headersTimeout,bodyTimeoutMs:t.bodyTimeout}):await fetch(a,{method:`POST`,duplex:`half`,dispatcher:r,headers:s,body:h,signal:l})}i++,d=await u.text()}catch(e){let t=e?.name;if(l.aborted||t===`AbortError`||t===`ResponseAborted`)return;if(jn(e))throw e;console.error(`[world-local] Queue delivery failed at the transport (loop ${a+1}), retrying`,{queueName:o,messageId:_,...y&&{runId:y},...b&&{stepId:b},error:String(e)}),await Ue(5e3,void 0,{signal:l});continue}if(u.ok){try{let e=Number(JSON.parse(d).timeoutSeconds);if(Number.isFinite(e)&&e>=0){if(e>0){let t=Math.min(e*1e3,En);await Ue(t,void 0,{signal:l})}continue}}catch{}return}console.error(`[world-local] Queue message failed (attempt ${i}, HTTP ${u.status})`,{queueName:o,messageId:_,...y&&{runId:y},...b&&{stepId:b},handlerError:d}),await Ue(5e3,void 0,{signal:l})}console.error(`[world-local] Queue message exhausted safety limit (256 attempts)`,{queueName:o,messageId:_,...y&&{runId:y},...b&&{stepId:b}})}finally{s.release()}})().catch(e=>{e?.name!==`AbortError`&&e?.name!==`ResponseAborted`&&(jn(e)?console.error(`[local world] Queue operation failed: detected "${An}". This usually means a Next.js proxy/middleware consumed Workflow's internal request before the executor could read it. Exclude \`/.well-known/workflow/*\` from your matcher. See https://workflow-sdk.dev/docs/getting-started/next#configure-proxy-handler`,{queueName:o,messageId:_,...y&&{runId:y},...b&&{stepId:b},originalError:e}):console.error(`[local world] Queue operation failed:`,e))}).finally(()=>{for(let e of m)e()}),{messageId:_}},m=T(o({"x-vqs-queue-name":S,"x-vqs-message-id":A,"x-vqs-message-attempt":M()}));return{queue:p,createQueueHandler:(e,t)=>async n=>{let r=m.safeParse(Object.fromEntries(n.headers));if(!r.success||!n.body)return Response.json({error:n.body?`Missing required headers`:`Missing request body`},{status:400});let i=r.data[`x-vqs-queue-name`],a=r.data[`x-vqs-message-id`],o=r.data[`x-vqs-message-attempt`];if(!i.startsWith(e))return Response.json({error:`Unhandled queue`},{status:400});let s=await new wn().deserialize(n.body);try{let e=await t(s,{attempt:o,queueName:i,messageId:a});if(typeof s==`object`&&s&&`invoke`in s&&s.invoke===!0)return Response.json({result:e});let n=null;return typeof e==`object`&&e&&`timeoutSeconds`in e&&typeof e.timeoutSeconds==`number`&&(n=Math.min(e.timeoutSeconds,Tn)),n==null?Response.json({ok:!0}):Response.json({timeoutSeconds:n})}catch(e){return Response.json(String(e),{status:500})}},getDeploymentId:async()=>`dpl_local@${(await Vt()).version}`,registerHandler(e,t){f.set(e,t)},async close(){l.aborted||(c.abort(),n&&Te(n),await r?.close())}}}var Nn=t(((t,n)=>{var r=e(`constants`),i=process.cwd,a=null,o=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){return a||=i.call(process),a};try{process.cwd()}catch{}if(typeof process.chdir==`function`){var s=process.chdir;process.chdir=function(e){a=null,s.call(process,e)},Object.setPrototypeOf&&Object.setPrototypeOf(process.chdir,s)}n.exports=c;function c(e){r.hasOwnProperty(`O_SYMLINK`)&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)&&t(e),e.lutimes||n(e),e.chown=s(e.chown),e.fchown=s(e.fchown),e.lchown=s(e.lchown),e.chmod=i(e.chmod),e.fchmod=i(e.fchmod),e.lchmod=i(e.lchmod),e.chownSync=c(e.chownSync),e.fchownSync=c(e.fchownSync),e.lchownSync=c(e.lchownSync),e.chmodSync=a(e.chmodSync),e.fchmodSync=a(e.fchmodSync),e.lchmodSync=a(e.lchmodSync),e.stat=l(e.stat),e.fstat=l(e.fstat),e.lstat=l(e.lstat),e.statSync=u(e.statSync),e.fstatSync=u(e.fstatSync),e.lstatSync=u(e.lstatSync),e.chmod&&!e.lchmod&&(e.lchmod=function(e,t,n){n&&process.nextTick(n)},e.lchmodSync=function(){}),e.chown&&!e.lchown&&(e.lchown=function(e,t,n,r){r&&process.nextTick(r)},e.lchownSync=function(){}),o===`win32`&&(e.rename=typeof e.rename==`function`?(function(t){function n(n,r,i){var a=Date.now(),o=0;t(n,r,function s(c){if(c&&(c.code===`EACCES`||c.code===`EPERM`||c.code===`EBUSY`)&&Date.now()-a<6e4){setTimeout(function(){e.stat(r,function(e,a){e&&e.code===`ENOENT`?t(n,r,s):i(c)})},o),o<100&&(o+=10);return}i&&i(c)})}return Object.setPrototypeOf&&Object.setPrototypeOf(n,t),n})(e.rename):e.rename),e.read=typeof e.read==`function`?(function(t){function n(n,r,i,a,o,s){var c;if(s&&typeof s==`function`){var l=0;c=function(u,d,f){if(u&&u.code===`EAGAIN`&&l<10)return l++,t.call(e,n,r,i,a,o,c);s.apply(this,arguments)}}return t.call(e,n,r,i,a,o,c)}return Object.setPrototypeOf&&Object.setPrototypeOf(n,t),n})(e.read):e.read,e.readSync=typeof e.readSync==`function`?(function(t){return function(n,r,i,a,o){for(var s=0;;)try{return t.call(e,n,r,i,a,o)}catch(e){if(e.code===`EAGAIN`&&s<10){s++;continue}throw e}}})(e.readSync):e.readSync;function t(e){e.lchmod=function(t,n,i){e.open(t,r.O_WRONLY|r.O_SYMLINK,n,function(t,r){if(t){i&&i(t);return}e.fchmod(r,n,function(t){e.close(r,function(e){i&&i(t||e)})})})},e.lchmodSync=function(t,n){var i=e.openSync(t,r.O_WRONLY|r.O_SYMLINK,n),a=!0,o;try{o=e.fchmodSync(i,n),a=!1}finally{if(a)try{e.closeSync(i)}catch{}else e.closeSync(i)}return o}}function n(e){r.hasOwnProperty(`O_SYMLINK`)&&e.futimes?(e.lutimes=function(t,n,i,a){e.open(t,r.O_SYMLINK,function(t,r){if(t){a&&a(t);return}e.futimes(r,n,i,function(t){e.close(r,function(e){a&&a(t||e)})})})},e.lutimesSync=function(t,n,i){var a=e.openSync(t,r.O_SYMLINK),o,s=!0;try{o=e.futimesSync(a,n,i),s=!1}finally{if(s)try{e.closeSync(a)}catch{}else e.closeSync(a)}return o}):e.futimes&&(e.lutimes=function(e,t,n,r){r&&process.nextTick(r)},e.lutimesSync=function(){})}function i(t){return t&&function(n,r,i){return t.call(e,n,r,function(e){d(e)&&(e=null),i&&i.apply(this,arguments)})}}function a(t){return t&&function(n,r){try{return t.call(e,n,r)}catch(e){if(!d(e))throw e}}}function s(t){return t&&function(n,r,i,a){return t.call(e,n,r,i,function(e){d(e)&&(e=null),a&&a.apply(this,arguments)})}}function c(t){return t&&function(n,r,i){try{return t.call(e,n,r,i)}catch(e){if(!d(e))throw e}}}function l(t){return t&&function(n,r,i){typeof r==`function`&&(i=r,r=null);function a(e,t){t&&(t.uid<0&&(t.uid+=4294967296),t.gid<0&&(t.gid+=4294967296)),i&&i.apply(this,arguments)}return r?t.call(e,n,r,a):t.call(e,n,a)}}function u(t){return t&&function(n,r){var i=r?t.call(e,n,r):t.call(e,n);return i&&(i.uid<0&&(i.uid+=4294967296),i.gid<0&&(i.gid+=4294967296)),i}}function d(e){return!(e&&e.code!==`ENOSYS`&&(process.getuid&&process.getuid()===0||e.code!==`EINVAL`&&e.code!==`EPERM`))}}})),Pn=t(((t,n)=>{var r=e(`stream`).Stream;n.exports=i;function i(e){return{ReadStream:t,WriteStream:n};function t(n,i){if(!(this instanceof t))return new t(n,i);r.call(this);var a=this;this.path=n,this.fd=null,this.readable=!0,this.paused=!1,this.flags=`r`,this.mode=438,this.bufferSize=65536,i||={};for(var o=Object.keys(i),s=0,c=o.length;s<c;s++){var l=o[s];this[l]=i[l]}if(this.encoding&&this.setEncoding(this.encoding),this.start!==void 0){if(typeof this.start!=`number`)throw TypeError(`start must be a Number`);if(this.end===void 0)this.end=1/0;else if(typeof this.end!=`number`)throw TypeError(`end must be a Number`);if(this.start>this.end)throw Error(`start must be <= end`);this.pos=this.start}if(this.fd!==null){process.nextTick(function(){a._read()});return}e.open(this.path,this.flags,this.mode,function(e,t){if(e){a.emit(`error`,e),a.readable=!1;return}a.fd=t,a.emit(`open`,t),a._read()})}function n(t,i){if(!(this instanceof n))return new n(t,i);r.call(this),this.path=t,this.fd=null,this.writable=!0,this.flags=`w`,this.encoding=`binary`,this.mode=438,this.bytesWritten=0,i||={};for(var a=Object.keys(i),o=0,s=a.length;o<s;o++){var c=a[o];this[c]=i[c]}if(this.start!==void 0){if(typeof this.start!=`number`)throw TypeError(`start must be a Number`);if(this.start<0)throw Error(`start must be >= zero`);this.pos=this.start}this.busy=!1,this._queue=[],this.fd===null&&(this._open=e.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush())}}})),Fn=t(((e,t)=>{t.exports=r;var n=Object.getPrototypeOf||function(e){return e.__proto__};function r(e){if(typeof e!=`object`||!e)return e;if(e instanceof Object)var t={__proto__:n(e)};else var t=Object.create(null);return Object.getOwnPropertyNames(e).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}),t}})),In=t(((t,n)=>{var r=e(`fs`),i=Nn(),a=Pn(),o=Fn(),s=e(`util`),c,l;typeof Symbol==`function`&&typeof Symbol.for==`function`?(c=Symbol.for(`graceful-fs.queue`),l=Symbol.for(`graceful-fs.previous`)):(c=`___graceful-fs.queue`,l=`___graceful-fs.previous`);function u(){}function d(e,t){Object.defineProperty(e,c,{get:function(){return t}})}var f=u;s.debuglog?f=s.debuglog(`gfs4`):/\bgfs4\b/i.test(process.env.NODE_DEBUG||``)&&(f=function(){var e=s.format.apply(s,arguments);e=`GFS4: `+e.split(/\n/).join(`
5
- GFS4: `),console.error(e)}),r[c]||(d(r,global[c]||[]),r.close=(function(e){function t(t,n){return e.call(r,t,function(e){e||g(),typeof n==`function`&&n.apply(this,arguments)})}return Object.defineProperty(t,l,{value:e}),t})(r.close),r.closeSync=(function(e){function t(t){e.apply(r,arguments),g()}return Object.defineProperty(t,l,{value:e}),t})(r.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||``)&&process.on(`exit`,function(){f(r[c]),e(`assert`).equal(r[c].length,0)})),global[c]||d(global,r[c]),n.exports=p(o(r)),process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!r.__patched&&(n.exports=p(r),r.__patched=!0);function p(e){i(e),e.gracefulify=p,e.createReadStream=ne,e.createWriteStream=re;var t=e.readFile;e.readFile=n;function n(e,n,r){return typeof n==`function`&&(r=n,n=null),i(e,n,r);function i(e,n,r,a){return t(e,n,function(t){t&&(t.code===`EMFILE`||t.code===`ENFILE`)?m([i,[e,n,r],t,a||Date.now(),Date.now()]):typeof r==`function`&&r.apply(this,arguments)})}}var r=e.writeFile;e.writeFile=o;function o(e,t,n,i){return typeof n==`function`&&(i=n,n=null),a(e,t,n,i);function a(e,t,n,i,o){return r(e,t,n,function(r){r&&(r.code===`EMFILE`||r.code===`ENFILE`)?m([a,[e,t,n,i],r,o||Date.now(),Date.now()]):typeof i==`function`&&i.apply(this,arguments)})}}var s=e.appendFile;s&&(e.appendFile=c);function c(e,t,n,r){return typeof n==`function`&&(r=n,n=null),i(e,t,n,r);function i(e,t,n,r,a){return s(e,t,n,function(o){o&&(o.code===`EMFILE`||o.code===`ENFILE`)?m([i,[e,t,n,r],o,a||Date.now(),Date.now()]):typeof r==`function`&&r.apply(this,arguments)})}}var l=e.copyFile;l&&(e.copyFile=u);function u(e,t,n,r){return typeof n==`function`&&(r=n,n=0),i(e,t,n,r);function i(e,t,n,r,a){return l(e,t,n,function(o){o&&(o.code===`EMFILE`||o.code===`ENFILE`)?m([i,[e,t,n,r],o,a||Date.now(),Date.now()]):typeof r==`function`&&r.apply(this,arguments)})}}var d=e.readdir;e.readdir=h;var f=/^v[0-5]\./;function h(e,t,n){typeof t==`function`&&(n=t,t=null);var r=f.test(process.version)?function(e,t,n,r){return d(e,i(e,t,n,r))}:function(e,t,n,r){return d(e,t,i(e,t,n,r))};return r(e,t,n);function i(e,t,n,i){return function(a,o){a&&(a.code===`EMFILE`||a.code===`ENFILE`)?m([r,[e,t,n],a,i||Date.now(),Date.now()]):(o&&o.sort&&o.sort(),typeof n==`function`&&n.call(this,a,o))}}}if(process.version.substr(0,4)===`v0.8`){var g=a(e);x=g.ReadStream,S=g.WriteStream}var _=e.ReadStream;_&&(x.prototype=Object.create(_.prototype),x.prototype.open=ee);var v=e.WriteStream;v&&(S.prototype=Object.create(v.prototype),S.prototype.open=te),Object.defineProperty(e,"ReadStream",{get:function(){return x},set:function(e){x=e},enumerable:!0,configurable:!0}),Object.defineProperty(e,"WriteStream",{get:function(){return S},set:function(e){S=e},enumerable:!0,configurable:!0});var y=x;Object.defineProperty(e,"FileReadStream",{get:function(){return y},set:function(e){y=e},enumerable:!0,configurable:!0});var b=S;Object.defineProperty(e,"FileWriteStream",{get:function(){return b},set:function(e){b=e},enumerable:!0,configurable:!0});function x(e,t){return this instanceof x?(_.apply(this,arguments),this):x.apply(Object.create(x.prototype),arguments)}function ee(){var e=this;w(e.path,e.flags,e.mode,function(t,n){t?(e.autoClose&&e.destroy(),e.emit(`error`,t)):(e.fd=n,e.emit(`open`,n),e.read())})}function S(e,t){return this instanceof S?(v.apply(this,arguments),this):S.apply(Object.create(S.prototype),arguments)}function te(){var e=this;w(e.path,e.flags,e.mode,function(t,n){t?(e.destroy(),e.emit(`error`,t)):(e.fd=n,e.emit(`open`,n))})}function ne(t,n){return new e.ReadStream(t,n)}function re(t,n){return new e.WriteStream(t,n)}var C=e.open;e.open=w;function w(e,t,n,r){return typeof n==`function`&&(r=n,n=null),i(e,t,n,r);function i(e,t,n,r,a){return C(e,t,n,function(o,s){o&&(o.code===`EMFILE`||o.code===`ENFILE`)?m([i,[e,t,n,r],o,a||Date.now(),Date.now()]):typeof r==`function`&&r.apply(this,arguments)})}}return e}function m(e){f(`ENQUEUE`,e[0].name,e[1]),r[c].push(e),_()}var h;function g(){for(var e=Date.now(),t=0;t<r[c].length;++t)r[c][t].length>2&&(r[c][t][3]=e,r[c][t][4]=e);_()}function _(){if(clearTimeout(h),h=void 0,r[c].length!==0){var e=r[c].shift(),t=e[0],n=e[1],i=e[2],a=e[3],o=e[4];if(a===void 0)f(`RETRY`,t.name,n),t.apply(null,n);else if(Date.now()-a>=6e4){f(`TIMEOUT`,t.name,n);var s=n.pop();typeof s==`function`&&s.call(null,i)}else{var l=Date.now()-o,u=Math.max(o-a,1);l>=Math.min(u*1.2,100)?(f(`RETRY`,t.name,n),t.apply(null,n.concat([a]))):r[c].push(e)}h===void 0&&(h=setTimeout(_,0))}}})),Ln=t(((e,t)=>{function n(e,t){typeof t==`boolean`&&(t={forever:t}),this._originalTimeouts=JSON.parse(JSON.stringify(e)),this._timeouts=e,this._options=t||{},this._maxRetryTime=t&&t.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}t.exports=n,n.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts},n.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timeouts=[],this._cachedTimeouts=null},n.prototype.retry=function(e){if(this._timeout&&clearTimeout(this._timeout),!e)return!1;var t=new Date().getTime();if(e&&t-this._operationStart>=this._maxRetryTime)return this._errors.unshift(Error(`RetryOperation timeout occurred`)),!1;this._errors.push(e);var n=this._timeouts.shift();if(n===void 0){if(this._cachedTimeouts)this._errors.splice(this._errors.length-1,this._errors.length),this._timeouts=this._cachedTimeouts.slice(0),n=this._timeouts.shift();else return!1}var r=this,i=setTimeout(function(){r._attempts++,r._operationTimeoutCb&&(r._timeout=setTimeout(function(){r._operationTimeoutCb(r._attempts)},r._operationTimeout),r._options.unref&&r._timeout.unref()),r._fn(r._attempts)},n);return this._options.unref&&i.unref(),!0},n.prototype.attempt=function(e,t){this._fn=e,t&&(t.timeout&&(this._operationTimeout=t.timeout),t.cb&&(this._operationTimeoutCb=t.cb));var n=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){n._operationTimeoutCb()},n._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)},n.prototype.try=function(e){console.log(`Using RetryOperation.try() is deprecated`),this.attempt(e)},n.prototype.start=function(e){console.log(`Using RetryOperation.start() is deprecated`),this.attempt(e)},n.prototype.start=n.prototype.try,n.prototype.errors=function(){return this._errors},n.prototype.attempts=function(){return this._attempts},n.prototype.mainError=function(){if(this._errors.length===0)return null;for(var e={},t=null,n=0,r=0;r<this._errors.length;r++){var i=this._errors[r],a=i.message,o=(e[a]||0)+1;e[a]=o,o>=n&&(t=i,n=o)}return t}})),Rn=t((e=>{var t=Ln();e.operation=function(n){return new t(e.timeouts(n),{forever:n&&n.forever,unref:n&&n.unref,maxRetryTime:n&&n.maxRetryTime})},e.timeouts=function(e){if(e instanceof Array)return[].concat(e);var t={retries:10,factor:2,minTimeout:1e3,maxTimeout:1/0,randomize:!1};for(var n in e)t[n]=e[n];if(t.minTimeout>t.maxTimeout)throw Error(`minTimeout is greater than maxTimeout`);for(var r=[],i=0;i<t.retries;i++)r.push(this.createTimeout(i,t));return e&&e.forever&&!r.length&&r.push(this.createTimeout(i,t)),r.sort(function(e,t){return e-t}),r},e.createTimeout=function(e,t){var n=t.randomize?Math.random()+1:1,r=Math.round(n*t.minTimeout*t.factor**+e);return r=Math.min(r,t.maxTimeout),r},e.wrap=function(t,n,r){if(n instanceof Array&&(r=n,n=null),!r)for(var i in r=[],t)typeof t[i]==`function`&&r.push(i);for(var a=0;a<r.length;a++){var o=r[a],s=t[o];t[o]=function(r){var i=e.operation(n),a=Array.prototype.slice.call(arguments,1),o=a.pop();a.push(function(e){i.retry(e)||(e&&(arguments[0]=i.mainError()),o.apply(this,arguments))}),i.attempt(function(){r.apply(t,a)})}.bind(t,s),t[o].options=n}}})),zn=t(((e,t)=>{t.exports=Rn()})),Bn=t(((e,t)=>{let n=Symbol();function r(e,t,r){let i=t[n];if(i)return t.stat(e,(e,t)=>{if(e)return r(e);r(null,t.mtime,i)});let a=new Date(Math.ceil(Date.now()/1e3)*1e3+5);t.utimes(e,a,a,i=>{if(i)return r(i);t.stat(e,(e,i)=>{if(e)return r(e);let a=i.mtime.getTime()%1e3==0?`s`:`ms`;Object.defineProperty(t,n,{value:a}),r(null,i.mtime,a)})})}function i(e){let t=Date.now();return e===`s`&&(t=Math.ceil(t/1e3)*1e3),new Date(t)}t.exports.probe=r,t.exports.getMtime=i})),Vn=t(((t,n)=>{let r=e(`path`),i=In(),a=zn(),o=Oe(),s=Bn(),c={};function l(e,t){return t.lockfilePath||`${e}.lock`}function u(e,t,n){if(!t.realpath)return n(null,r.resolve(e));t.fs.realpath(e,n)}function d(e,t,n){let r=l(e,t);t.fs.mkdir(r,i=>{if(!i)return s.probe(r,t.fs,(e,i,a)=>{if(e)return t.fs.rmdir(r,()=>{}),n(e);n(null,i,a)});if(i.code!==`EEXIST`)return n(i);if(t.stale<=0)return n(Object.assign(Error(`Lock file is already being held`),{code:`ELOCKED`,file:e}));t.fs.stat(r,(r,i)=>{if(r)return r.code===`ENOENT`?d(e,{...t,stale:0},n):n(r);if(!f(i,t))return n(Object.assign(Error(`Lock file is already being held`),{code:`ELOCKED`,file:e}));p(e,t,r=>{if(r)return n(r);d(e,{...t,stale:0},n)})})})}function f(e,t){return e.mtime.getTime()<Date.now()-t.stale}function p(e,t,n){t.fs.rmdir(l(e,t),e=>{if(e&&e.code!==`ENOENT`)return n(e);n()})}function m(e,t){let n=c[e];n.updateTimeout||(n.updateDelay=n.updateDelay||t.update,n.updateTimeout=setTimeout(()=>{n.updateTimeout=null,t.fs.stat(n.lockfilePath,(r,i)=>{let a=n.lastUpdate+t.stale<Date.now();if(r)return r.code===`ENOENT`||a?h(e,n,Object.assign(r,{code:`ECOMPROMISED`})):(n.updateDelay=1e3,m(e,t));if(n.mtime.getTime()!==i.mtime.getTime())return h(e,n,Object.assign(Error(`Unable to update lock within the stale threshold`),{code:`ECOMPROMISED`}));let o=s.getMtime(n.mtimePrecision);t.fs.utimes(n.lockfilePath,o,o,r=>{let i=n.lastUpdate+t.stale<Date.now();if(!n.released){if(r)return r.code===`ENOENT`||i?h(e,n,Object.assign(r,{code:`ECOMPROMISED`})):(n.updateDelay=1e3,m(e,t));n.mtime=o,n.lastUpdate=Date.now(),n.updateDelay=null,m(e,t)}})})},n.updateDelay),n.updateTimeout.unref&&n.updateTimeout.unref())}function h(e,t,n){t.released=!0,t.updateTimeout&&clearTimeout(t.updateTimeout),c[e]===t&&delete c[e],t.options.onCompromised(n)}function g(e,t,n){t={stale:1e4,update:null,realpath:!0,retries:0,fs:i,onCompromised:e=>{throw e},...t},t.retries=t.retries||0,t.retries=typeof t.retries==`number`?{retries:t.retries}:t.retries,t.stale=Math.max(t.stale||0,2e3),t.update=t.update==null?t.stale/2:t.update||0,t.update=Math.max(Math.min(t.update,t.stale/2),1e3),u(e,t,(e,r)=>{if(e)return n(e);let i=a.operation(t.retries);i.attempt(()=>{d(r,t,(e,a,o)=>{if(i.retry(e))return;if(e)return n(i.mainError());let s=c[r]={lockfilePath:l(r,t),mtime:a,mtimePrecision:o,options:t,lastUpdate:Date.now()};m(r,t),n(null,e=>{if(s.released)return e&&e(Object.assign(Error(`Lock is already released`),{code:`ERELEASED`}));_(r,{...t,realpath:!1},e)})})})})}function _(e,t,n){t={fs:i,realpath:!0,...t},u(e,t,(e,r)=>{if(e)return n(e);let i=c[r];if(!i)return n(Object.assign(Error(`Lock is not acquired/owned by you`),{code:`ENOTACQUIRED`}));i.updateTimeout&&clearTimeout(i.updateTimeout),i.released=!0,delete c[r],p(r,t,n)})}function v(e,t,n){t={stale:1e4,realpath:!0,fs:i,...t},t.stale=Math.max(t.stale||0,2e3),u(e,t,(e,r)=>{if(e)return n(e);t.fs.stat(l(r,t),(e,r)=>e?e.code===`ENOENT`?n(null,!1):n(e):n(null,!f(r,t)))})}function y(){return c}o(()=>{for(let e in c){let t=c[e].options;try{t.fs.rmdirSync(l(e,t))}catch{}}}),n.exports.lock=g,n.exports.unlock=_,n.exports.check=v,n.exports.getLocks=y})),Hn=t(((e,t)=>{let n=In();function r(e){let t=[`mkdir`,`realpath`,`stat`,`rmdir`,`utimes`],n={...e};return t.forEach(t=>{n[t]=(...n)=>{let r=n.pop(),i;try{i=e[`${t}Sync`](...n)}catch(e){return r(e)}r(null,i)}}),n}function i(e){return(...t)=>new Promise((n,r)=>{t.push((e,t)=>{e?r(e):n(t)}),e(...t)})}function a(e){return(...t)=>{let n,r;if(t.push((e,t)=>{n=e,r=t}),e(...t),n)throw n;return r}}function o(e){if(e={...e},e.fs=r(e.fs||n),typeof e.retries==`number`&&e.retries>0||e.retries&&typeof e.retries.retries==`number`&&e.retries.retries>0)throw Object.assign(Error(`Cannot use retries with the sync api`),{code:`ESYNC`});return e}t.exports={toPromise:i,toSync:a,toSyncOptions:o}})),Un=t(((e,t)=>{let n=Vn(),{toPromise:r,toSync:i,toSyncOptions:a}=Hn();async function o(e,t){let i=await r(n.lock)(e,t);return r(i)}function s(e,t){let r=i(n.lock)(e,a(t));return i(r)}function c(e,t){return r(n.unlock)(e,t)}function l(e,t){return i(n.unlock)(e,a(t))}function u(e,t){return r(n.check)(e,t)}function d(e,t){return i(n.check)(e,a(t))}t.exports=o,t.exports.lock=o,t.exports.unlock=c,t.exports.lockSync=s,t.exports.unlockSync=l,t.exports.check=u,t.exports.checkSync=d}))();function Wn(e){return ke(`sha256`).update(e).digest(`hex`)}function Gn(e,t,n){return H(e,`.locks`,`hooks`,n?`${t}.disposed.${n}`:`${t}.disposed`)}async function Kn(e,t,n){let r=[Gn(e,t)];n&&r.push(Gn(e,t,n));for(let e of r)try{return await R.access(e),!0}catch{}return!1}function qn(e,t,n){return H(e,`.locks`,`runs`,n?`${t}.terminal.${n}`:`${t}.terminal`)}async function Jn(e,t,n){let r=[qn(e,t)];n&&r.push(qn(e,t,n));for(let e of r)try{return await R.access(e),!0}catch(e){if(e.code!==`ENOENT`)throw e}return!1}function Yn(e,t,n){return H(e,`.locks`,`runs`,n?`${t}.pending.${n}`:`${t}.pending`)}function Xn(e,t,n,r){return z.join(Yn(e,t,r),`${n}.json`)}async function Zn(e,t,n){let r=[Yn(e,t)];n&&r.push(Yn(e,t,n));for(let e of r){let t;try{t=await R.readdir(e)}catch(e){if(e.code===`ENOENT`)continue;throw e}for(let n of t)try{await U(()=>R.unlink(z.join(e,n)))}catch(e){if(e.code!==`ENOENT`)throw e}await R.rmdir(e).catch(()=>{})}}async function Qn(e,t,n){let r=await $n(e,t,n),i=Date.now();if(r.maxId)try{let e=ae(r.maxId.replace(/^evnt_/,``));i<=e&&(i=e+1)}catch{}return{eventId:`evnt_${cr(i)}`,createdAt:new Date(i)}}async function $n(e,t,n){let r=[];try{r=await R.readdir(z.join(e,`events`))}catch(e){if(e.code!==`ENOENT`)throw e}let i=`${t}-`,a=[],o=null,s=0,c=!1,l=0;for(let e of r){if(!e.startsWith(i)||!e.endsWith(`.json`))continue;let t=e.slice(0,-5);if(!Ct(t)&&!(n&&St(t,n)))continue;let r=xt(t).slice(i.length);l+=1,a.push(r),(!o||r>o)&&(o=r);let u=te(r);u!==null&&(c=!0,u>s&&(s=u))}return{maxId:o,usesSlots:c,maxSlot:s,count:l,ids:a}}function er(e,t){return z.join(e,`hooks`,`tokens`,`${Wn(t)}.json`)}const tr=T(o({hookId:a().optional(),runId:a(),eventId:a().optional(),tokenRetentionUntil:N().optional()}));async function nr(e){try{return await J(e,tr)}catch(e){if(e instanceof SyntaxError||e instanceof r)return null;throw e}}async function rr(e,t,n){let r=er(e,t);await R.mkdir(z.dirname(r),{recursive:!0});let i=new AbortController,a;try{a=await(0,Un.lock)(r,{realpath:!1,stale:3e4,update:1e3,retries:{retries:350,factor:1,minTimeout:100,maxTimeout:100},onCompromised(e){i.abort(new F(`Hook token claim lock was compromised`,{cause:e}))}})}catch(e){throw new F(`Could not acquire Hook token claim lock`,{cause:e})}let o;try{o=await n(i.signal),i.signal.throwIfAborted()}catch(e){throw i.signal.aborted||await a().catch(()=>{}),e}try{await a()}catch(e){throw new F(`Could not release Hook token claim lock`,{cause:e})}return o}function ir(e,t,n){let r=ke(`sha256`).update(`${t}\x00${n}`).digest(`hex`);return z.join(e,`hooks`,`resumes`,`${r}.json`)}async function ar(e,t,n,r){await rr(e,t,async i=>{let a=er(e,t),o=await nr(a);o&&o.runId===n&&o.hookId===r&&(i.throwIfAborted(),await Y(a))})}function or(e,t,n,r){let i=ke(`sha256`).update(`${t}\x00${n}\x00${r}`).digest(`hex`);return z.join(e,`hooks`,`tokens`,`${i}.recovery.json`)}const sr=E(`@workflow/world-local//storageMonotonicUlid`,1,()=>({next:k(()=>Math.random())})),cr=e=>sr.next(e),lr=e=>{let t=RegExp(`^${e}_`,`g`);return n=>{let r=xt(n.replace(/\.json$/,``))+`.json`,i=r.indexOf(`-`);if(i===-1){let e=r.replace(/\.json$/,``).replace(t,``);return se(e)}if(e===`step`)return null;let a=r.substring(i+1).replace(/\.json$/,``).replace(t,``);return se(a)}},ur=T(o({runId:a()})),dr=T(o({hookId:a(),tag:a().optional()}));function fr(e,t){return H(e,`hooks`,`token-index`,Wn(t))}function pr(e,t){return V(`hookId`,t),H(e,`hooks`,`id-index`,t)}function mr(e){return H(e,`hooks`,`by-run`)}function hr(e){let t=xt(e);return t===e?void 0:e.slice(t.length+1)}function gr(e,t){return t?Ct(e)||St(e,t):Ct(e)}async function _r(e){try{return await J(e,l)}catch(e){if(e instanceof SyntaxError||e instanceof r)return null;throw e}}async function vr(e,t,n,r,i,a){V(`runId`,n),V(`eventId`,i),a!==void 0&&V(`tag`,a);let o=a?`${i}.${a}.json`:`${i}.json`,s=JSON.stringify({runId:n});await Promise.all([X(z.join(fr(e,t),o),s),X(z.join(pr(e,r),o),s)])}function yr(e,t,n,r){return W(e,`hooks/by-run`,`${t}-${n}`,r)}async function br(e,t,n,r){await X(yr(e,t,n,r),JSON.stringify(r?{hookId:n,tag:r}:{hookId:n}))}async function xr(e,t,n,r){await Y(yr(e,t,n,r)),r&&await Y(yr(e,t,n))}async function Sr(e,t){V(`runId`,t);let n=mr(e),i=`${t}-`,a=[];for(let e of await Z(n)){if(!e.startsWith(i))continue;let t=null;try{t=await J(z.join(n,`${e}.json`),dr)}catch(e){if(!(e instanceof SyntaxError||e instanceof r))throw e}a.push({fileId:e,hookId:t?.hookId??null,tag:t?.tag})}return a}async function Cr(e,t){await Y(z.join(mr(e),`${t}.json`))}const wr=E(`@workflow/world-local//hookIndexEnsureCache`,1,()=>({ensuredBasedirs:new Map}));function Tr(){wr.ensuredBasedirs.clear()}async function Er(e){let t=z.resolve(e),n=wr.ensuredBasedirs.get(t);return n||(n=Or(t).catch(e=>{throw wr.ensuredBasedirs.delete(t),e}),wr.ensuredBasedirs.set(t,n)),n}async function Dr(e,t,n){for(let r=0;r<e.length;r+=t)await Promise.all(e.slice(r,r+t).map(n))}async function Or(e){let t=z.join(e,`hooks`,`.hook-index-complete`);try{await R.access(t);return}catch{}let n=z.join(e,`events`);await Dr(await Z(n),32,async t=>{let r=await _r(z.join(n,`${t}.json`));if(!r||r.eventType!==`hook_created`||typeof r.correlationId!=`string`)return;let i=r.eventData?.token;if(typeof i==`string`)try{await vr(e,i,r.runId,r.correlationId,r.eventId,hr(t))}catch{}});let i=z.join(e,`hooks`);await Dr(await Z(i),32,async t=>{let n=null;try{n=await J(z.join(i,`${t}.json`),C)}catch(e){if(!(e instanceof SyntaxError||e instanceof r))throw e}if(n)try{await br(e,n.runId,n.hookId,hr(t))}catch{}}),await X(t,``)}async function kr(e,t,n,i){await Er(e);let a;try{a=t.kind===`token`?fr(e,t.token):pr(e,t.hookId)}catch{return null}let o=(await Z(a)).filter(e=>gr(e,i)).sort((e,t)=>xt(t).localeCompare(xt(e)));for(let t of o){let i=null;try{i=await J(z.join(a,`${t}.json`),ur)}catch(e){if(!(e instanceof SyntaxError||e instanceof r))throw e}if(!i)continue;let o=xt(t),s;try{s=W(e,`events`,`${i.runId}-${o}`,hr(t))}catch{continue}let c=await _r(s);if(c&&c.eventType===`hook_created`&&typeof c.correlationId==`string`&&n(c))return c}return null}function Ar(e,t){return t===`none`?{...e,input:void 0,output:void 0}:e}function jr(e,t){return t===`none`?{...e,input:void 0,output:void 0}:e}function Mr(e,t){if(t===`none`){let{metadata:t,...n}=e;return n}return e}function Nr(e){if(e.eventType!==`hook_created`)return;let t=e.eventData.token;return typeof t==`string`?t:void 0}function Pr(e){let{token:t,metadata:n,isWebhook:r,isSystem:i,tokenRetentionUntil:a}=e.eventData;return{runId:e.runId,hookId:e.correlationId,token:t,metadata:n,ownerId:`local-owner`,projectId:`local-project`,environment:`local`,createdAt:e.createdAt,specVersion:e.specVersion,isWebhook:r??!0,isSystem:i??!1,tokenRetentionUntil:a}}function Fr(e,t){return e.eventType===`hook_created`&&typeof e.correlationId==`string`&&t(e)}async function Ir(e,t,n){let r=await G(e,`runs`,t,_,n);return r?j(r.status):!1}async function Lr(e,t,n,r){let i=await kr(e,t,e=>Fr(e,n),r);if(!i||!Fr(i,n))return null;if(await Ir(e,i.runId,r)){let e=i.eventData.tokenRetentionUntil;if(!e||e.getTime()<=Date.now())return null}return await Kn(e,i.correlationId,r)?null:i}async function Rr(e,t,n){let r=Pr(t);return await X(er(e,r.token),JSON.stringify({token:r.token,hookId:r.hookId,runId:r.runId,eventId:t.eventId,tokenRetentionUntil:t.eventData.tokenRetentionUntil})),await br(e,r.runId,r.hookId,n),await X(W(e,`hooks`,r.hookId,n),JSON.stringify(r,K,2)),r}async function zr(e,t,n){let r=await Lr(e,{kind:`token`,token:t},e=>Nr(e)===t,n);return r?Rr(e,r,n):null}async function Br(e,t,n){let r=await Lr(e,{kind:`id`,hookId:t},e=>e.correlationId===t,n);return r?Rr(e,r,n):null}function Vr(e,t){async function n(n){return await Kn(e,n.hookId,t)?!1:n.tokenRetentionUntil&&n.tokenRetentionUntil.getTime()>Date.now()?!0:!await Ir(e,n.runId,t)}async function r(r){let i=await nr(er(e,r));if(i?.hookId){try{let a=await G(e,`hooks`,i.hookId,C,t);if(a?.token===r){if(!await n(a))throw new ve(r);return{...a,isWebhook:a.isWebhook??!0}}}catch(e){if(!_t.is(e))throw e}return null}let a=z.join(e,`hooks`),o=await Z(a);for(let e of o){let t=await J(z.join(a,`${e}.json`),C);if(t?.token===r){if(!await n(t))throw new ve(r);return{...t,isWebhook:t.isWebhook??!0}}}return null}async function i(r,i){V(`hookId`,r);let a=await G(e,`hooks`,r,C,t);if(a&&!await n(a))throw new ve(r);let o=a??await Br(e,r,t);if(!o)throw new ve(r);let s=i?.resolveData||`all`;return Mr({...o,isWebhook:o.isWebhook??!0},s)}async function a(n){let i=await r(n)??await zr(e,n,t);if(!i)throw new ve(n);return i}async function o(t){let r=z.join(e,`hooks`),i=t.resolveData||`all`,a=await Rt({directory:r,schema:C,sortOrder:t.pagination?.sortOrder??`asc`,limit:t.pagination?.limit,cursor:t.pagination?.cursor,filePrefix:void 0,filter:async e=>t.runId&&e.runId!==t.runId?!1:n(e),getCreatedAt:()=>null,getId:e=>e.hookId});return{...a,data:a.data.map(e=>Mr(e,i))}}return{get:i,getByToken:a,list:o}}async function Hr(e,t){await Er(e);for(let n of await Sr(e,t)){if(n.hookId){let i=null,a=null;try{a=W(e,`hooks`,n.hookId,n.tag),i=await J(a,C)}catch(e){if(!_t.is(e)&&!(e instanceof SyntaxError||e instanceof r))throw e}if(i&&a&&i.runId===t){if(i.tokenRetentionUntil&&i.tokenRetentionUntil.getTime()>Date.now())continue;await ar(e,i.token,i.runId,i.hookId),await Y(or(e,i.token,i.runId,i.hookId)),await Y(a)}}await Cr(e,n.fileId)}}const Ur=E(`@workflow/world-local//streamerMonotonicUlid`,1,()=>({next:k(()=>Math.random())})),Wr=e=>Ur.next(e),Gr=T(o({streams:s(a())}));function Kr(e){return e===1}function qr(e){let t=Buffer.from([+!!e.eof]);return Buffer.concat([t,e.chunk])}function Jr(e){return Kr(e[0])}function Yr(e){return{eof:Jr(e),chunk:Buffer.from(e.subarray(1))}}async function Xr(e){try{return await R.readdir(e)}catch(e){if(e.code===`ENOENT`)return[];throw e}}function Zr(e,t,n,r=n,i=()=>!0){for(let a of t){if(!a.endsWith(n))continue;let t=a.slice(0,-n.length);i(t)&&e.set(t,r)}}function Qr(e,t){return V(`streamName`,t),z.join(e,t)}async function $r(e,t,n){let r=Qr(e,t),i=await Xr(r),a=new Map;return Zr(a,i,`.json`),Zr(a,i,`.bin`,`.bin`,n?e=>!e.endsWith(`.${n}`):void 0),n&&Zr(a,i,`.${n}.bin`),{files:[...a.keys()].sort(),extMap:a,dir:r}}const ei=`chnk_${`0`.repeat(26)}`;async function ti(e,t,n){let r=z.join(e,`streams`,`chunks`),i=n?`.${n}`:``,a;try{V(`runId`,t),a=(await G(e,`streams/runs`,t,Gr,n))?.streams??[]}catch(e){ni(`streams of ${t}`,e);return}for(let e of a)try{let t=Qr(r,e);await At(z.join(t,`${ei}${i}.bin`),qr({chunk:Buffer.from([]),eof:!0}),{overwrite:!0});for(let e of await Xr(t))e.startsWith(ei)||(e.endsWith(`.bin`)||e.endsWith(`.json`))&&await U(()=>R.unlink(z.join(t,e))).catch(t=>{t.code!==`ENOENT`&&ni(e,t)})}catch(t){ni(e,t)}}function ni(e,t){console.warn(`[world-local] Failed to purge stream data for ${e}:`,t instanceof Error?t.message:t)}function ri(e,t){let n=t?`.${t}`:``,r=new Ge,i=new Set;async function a(n,r){V(`runId`,n),V(`streamName`,r);let a=`${n}:${r}`;if(i.has(a))return;let o=W(e,`streams/runs`,n,t),s=(await G(e,`streams/runs`,n,Gr,t))?.streams??[];s.includes(r)||(s.push(r),await q(o,{streams:s},{overwrite:!0})),i.add(a)}function o(e){return typeof e==`string`?Buffer.from(new TextEncoder().encode(e)):e instanceof Buffer?e:Buffer.from(e)}return{streams:{async write(t,i,s){let c=`chnk_${Wr()}`;await a(await t,i);let l=o(s),u=qr({chunk:l,eof:!1});await At(z.join(Qr(z.join(e,`streams`,`chunks`),i),`${c}${n}.bin`),u);let d=Uint8Array.from(l);r.emit(`chunk:${i}`,{streamName:i,chunkData:d,chunkId:c})},async writeMulti(t,i,s){if(s.length===0)return;let c=s.map(()=>`chnk_${Wr()}`);await a(await t,i);let l=s.map(e=>o(e)).map(async(t,r)=>{let a=c[r],o=qr({chunk:t,eof:!1});return await At(z.join(Qr(z.join(e,`streams`,`chunks`),i),`${a}${n}.bin`),o),{chunkId:a,chunkData:Uint8Array.from(t)}});for(let e of l){let{chunkId:t,chunkData:n}=await e;r.emit(`chunk:${i}`,{streamName:i,chunkData:n,chunkId:t})}},async close(t,i){let o=`chnk_${Wr()}`;await a(await t,i),await At(z.join(Qr(z.join(e,`streams`,`chunks`),i),`${o}${n}.bin`),qr({chunk:Buffer.from([]),eof:!0})),r.emit(`close:${i}`,{streamName:i})},async list(n){return V(`runId`,n),(await G(e,`streams/runs`,n,Gr,t))?.streams??[]},async getChunks(n,r,i){let a=i?.limit??100,{files:o,extMap:s,dir:c}=await $r(z.join(e,`streams`,`chunks`),r,t),l=0;if(i?.cursor)try{l=JSON.parse(Buffer.from(i.cursor,`base64`).toString(`utf-8`)).i}catch{l=0}let u=!1,d=[],f=0;for(let e of o){let t=s.get(e)??`.bin`,n=z.join(c,`${e}${t}`);if(f<l){if(Kr(await Mt(n))){u=!0;break}f++;continue}if(d.length>=a){Kr(await Mt(n))?u=!0:f++;break}let r=Yr(await jt(n));if(r.eof){u=!0;break}d.push({index:f,data:Uint8Array.from(r.chunk)}),f++}let p=!u&&f>l+d.length,m=l+d.length;return{data:d,cursor:p?Buffer.from(JSON.stringify({i:m})).toString(`base64`):null,hasMore:p,done:u}},async getInfo(n,r){let{files:i,extMap:a,dir:o}=await $r(z.join(e,`streams`,`chunks`),r,t),s=!1,c=0;for(let e of i){let t=a.get(e)??`.bin`;if(Kr(await Mt(z.join(o,`${e}${t}`)))){s=!0;break}c++}return{tailIndex:c-1,done:s}},async get(n,i,a=0){let o=z.join(e,`streams`,`chunks`),s=()=>{},c=null,l=!1;return new ReadableStream({async start(e){let n=new Set,u=[],d=!0,f=!1,p=t=>{if(t.chunkData.byteLength===0){n.add(t.chunkId);return}d?(n.add(t.chunkId),u.push({chunkId:t.chunkId,chunkData:Uint8Array.from(t.chunkData)})):n.has(t.chunkId)||(n.add(t.chunkId),e.enqueue(Uint8Array.from(t.chunkData)))},m=()=>{if(d){f=!0;return}l=!0,s();try{e.close()}catch{}};s=()=>{r.off(`chunk:${i}`,p),r.off(`close:${i}`,m),c&&=(clearInterval(c),null)},r.on(`chunk:${i}`,p),r.on(`close:${i}`,m);let{files:h,extMap:g,dir:_}=await $r(o,i,t),v=h.length;if(typeof a==`number`&&a<0&&h.length>0){let e=h[h.length-1],t=g.get(e)??`.bin`;Kr(await Mt(z.join(_,`${e}${t}`)))&&v--}let y=typeof a==`number`&&a<0?Math.max(0,v+a):a,b=!1;for(let t=y;t<h.length;t++){let r=h[t],i=r;if(n.has(i))continue;let a=g.get(r)??`.bin`,o=Yr(await jt(z.join(_,`${r}${a}`)));if(o?.eof===!0){b=!0;break}n.add(i),o.chunk.byteLength&&e.enqueue(Uint8Array.from(o.chunk))}d=!1,u.sort((e,t)=>e.chunkId.localeCompare(t.chunkId));for(let t of u)e.enqueue(Uint8Array.from(t.chunkData));if(b){l=!0,s();try{e.close()}catch{}return}if(f){l=!0,s();try{e.close()}catch{}return}for(let e=0;e<y&&e<h.length;e++)n.add(h[e]);if(l){s();return}let x=!1;c=setInterval(async()=>{if(!x){x=!0;try{let{files:r,extMap:a}=await $r(o,i,t);for(let t of r){let r=t;if(n.has(r))continue;n.add(r);let i=a.get(t)??`.bin`,o=Yr(await jt(z.join(_,`${t}${i}`)));if(o?.eof===!0){l=!0,s();try{e.close()}catch{}return}if(l)return;o.chunk.byteLength&&e.enqueue(Uint8Array.from(o.chunk))}}catch(e){e instanceof Error&&`code`in e||console.error(`[world-local] Unexpected polling error:`,e)}finally{x=!1}}},100)},cancel(){l=!0,s()}})}}}}function ii(e){let t=le(e);return t.unsupported&&console.warn(`[world-local] Ignoring unrecognized ${fe} value ${JSON.stringify(t.raw)}; keeping the run's data.`),t.mode===`none`}function ai(e,t){return{...e,input:void 0,output:void 0,error:void 0,expiredAt:t}}async function oi(e,t,n){await Promise.all([ci(z.join(e,`steps`),t,e=>{e.input=void 0,e.output=void 0,e.error=void 0}),ci(z.join(e,`events`),t,e=>{let t=e.eventData;if(t&&typeof t==`object`)for(let n of b(String(e.eventType)))delete t[n]}),li(e,t),ti(e,t,n)])}const si=n(a(),c()),$=i(e=>{if(e&&typeof e==`object`&&`eventType`in e&&`eventData`in e){let t=e.eventData;if(t&&typeof t==`object`)for(let n of b(String(e.eventType)))n in t||(t[n]=void 0)}return e},l);async function ci(e,t,n){let r;try{r=await Z(e)}catch(t){ui(e,t);return}for(let i of r){if(!i.startsWith(`${t}-`))continue;let r=z.join(e,`${i}.json`);try{let e=await J(r,si);if(!e)continue;n(e),await q(r,e,{overwrite:!0})}catch(e){ui(r,e)}}}async function li(e,t){let n;try{await Er(e),n=await Sr(e,t)}catch(e){ui(`hooks of ${t}`,e);return}for(let r of n)if(r.hookId)try{let n=W(e,`hooks`,r.hookId,r.tag),i=await J(n,si);if(!i||i.runId!==t)continue;i.metadata=void 0,await q(n,i,{overwrite:!0})}catch(e){ui(r.hookId,e)}}function ui(e,t){console.warn(`[world-local] Failed to purge user data for ${e}:`,t instanceof Error?t.message:t)}const di=new Ge;di.setMaxListeners(0);function fi(){return re(`WORKFLOW_LOCAL_RUN_STATUS_POLL_INTERVAL_MS`,100,{integer:!0,min:1})}function pi(e){di.emit(`run:${e}`)}function mi(e,t,n){return t<=0||n?.aborted?Promise.resolve():new Promise(r=>{let i=`run:${e}`,a=!1,o=()=>{a||(a=!0,clearTimeout(s),di.off(i,o),n?.removeEventListener(`abort`,o),r())},s=setTimeout(o,t);di.once(i,o),n?.addEventListener(`abort`,o,{once:!0})})}async function hi(e,t,n,r,i,a){if(j(a.status)||await Jn(e,t))throw new ge(`Workflow run "${t}" is already in a terminal state`);let o=Xn(e,t,n);await X(o,r);try{if(await Jn(e,t)||await Nt(o,i)!==`linked`)throw new ge(`Workflow run "${t}" is already in a terminal state`)}finally{await R.unlink(o).catch(()=>{})}}async function gi(e,t,n,r,i){V(`runId`,t);let a=i?.resolveData??`all`;switch(n.eventType){case`run_cancelled`:{await X(qn(e,t),``),await Zn(e,t);let n=new Date,i={runId:r.runId,deploymentId:r.deploymentId,workflowName:r.workflowName,specVersion:r.specVersion,executionContext:r.executionContext,input:r.input,createdAt:r.createdAt,expiredAt:r.expiredAt,startedAt:r.startedAt,status:`cancelled`,output:void 0,error:void 0,completedAt:n,updatedAt:n,attributes:r.attributes},o=ii(i.attributes),s=o?ai(i,n):i;return await q(H(e,`runs`,`${t}.json`),s,{overwrite:!0}),pi(t),await Hr(e,t),o&&await oi(e,t,void 0),{event:void 0,run:Ar(s,a)}}case`wait_completed`:case`hook_received`:{let i=`evnt_${cr()}`,o=new Date,s={...n,runId:t,eventId:i,createdAt:o,specVersion:7},c=H(e,`events`,`${`${t}-${i}`}.json`);return n.eventType===`hook_received`?await hi(e,t,i,JSON.stringify(s,K,2),c,r):await q(c,s),{event:D(s,a)}}default:throw Error(`Event type '${n.eventType}' not supported for legacy runs (specVersion: ${r.specVersion||`undefined`}). Please upgrade 'workflow' package.`)}}const _i=E(`@workflow/world-local//runFileLocks`,1,()=>({byKey:new Map}));function vi(e,t){let n=_i.byKey.get(e),r={},i=(async()=>{n&&await n.catch(()=>void 0);try{return await t()}finally{_i.byKey.get(e)===r.task&&_i.byKey.delete(e)}})();return r.task=i,_i.byKey.set(e,i),i}function yi(e,t){let n=(async(n,r)=>{V(`runId`,n);let i=await G(e,`runs`,n,_,t);if(!i)throw new he(n);return Ar(i,r?.resolveData??`all`)});return{get:n,waitForTerminalStatus:(async(e,t)=>{let r=Date.now()+(t?.timeoutMs??0);for(;;){let i=await n(e,t);if(j(i.status))return i;let a=r-Date.now();if(a<=0||t?.signal?.aborted)return i;await mi(e,Math.min(a,fi()),t?.signal)}}),getMany:(async(e,t)=>{let r=[...new Set(e)],i=await Promise.all(r.map(async e=>{try{return await n(e,t)}catch(e){if(e instanceof he)return null;throw e}})),a=new Map(r.map((e,t)=>[e,i[t]]));return e.map(e=>a.get(e)??null)}),list:(async t=>{let n=t?.resolveData??`all`,r=await Rt({directory:z.join(e,`runs`),schema:_,fileIdFilter:t?.fileIdFilter,filter:e=>!(t?.workflowName&&e.workflowName!==t.workflowName||t?.status!==void 0&&!(Array.isArray(t.status)?t.status:[t.status]).includes(e.status)),sortOrder:t?.pagination?.sortOrder??`desc`,limit:t?.pagination?.limit??200,cursor:t?.pagination?.cursor,getCreatedAt:lr(`wrun`),getId:e=>e.runId});return n===`none`?{...r,data:r.data.map(e=>({...e,input:void 0,output:void 0}))}:r}),experimentalSetAttributes:async(n,r,i)=>(V(`runId`,n),vi(n,async()=>{let a=await G(e,`runs`,n,_,t);if(!a)throw new he(n);try{me(r,{existingKeys:Object.keys(a.attributes??{}),allowReservedAttributes:i?.allowReservedAttributes})}catch(e){throw e instanceof O,e}let o=ee(a.attributes,r),s={...a,attributes:o,updatedAt:new Date};return await q(W(e,`runs`,n,t),s,{overwrite:!0}),{attributes:o}}))}}const bi=864e5;function xi(){let e=Number(process.env.WORKFLOW_LOCAL_HOOK_RETENTION_LIMIT_DAYS??30);if(!Number.isFinite(e)||e<=0)throw new F(`WORKFLOW_LOCAL_HOOK_RETENTION_LIMIT_DAYS must be a positive number`,{status:400});return e*bi}const Si=T(o({eventId:a()})),Ci=T(o({runId:a(),resumeId:a(),hookId:a(),eventId:a(),payloadDigest:a().optional()}));function wi(e,t){return e.eventType===`hook_received`&&e.correlationId===t.hookId&&(e.resumeId===void 0||e.resumeId===t.resumeId)}async function Ti(e,t,n,r){let i=await $n(e,t,r);for(let a of i.ids){let i=await G(e,`events`,`${t}-${a}`,$,r);if(i&&i.resumeId===n.resumeId&&wi(i,n))return i}return null}async function Ei(e,t,n){if(t.hookId&&await Kn(e,t.hookId,n))return!0;let r=await G(e,`runs`,t.runId,_,n);return r?j(r.status)?!t.tokenRetentionUntil||t.tokenRetentionUntil.getTime()<=Date.now():!1:!0}async function Di(e){try{return await J(e,Si)}catch(e){if(e instanceof SyntaxError||e instanceof r)return null;throw e}}function Oi(e){return ie(e.eventId)?e.eventId:null}function ki(e,t){let n=xt(t).slice(e.length+1);return ie(n)?n:null}async function Ai(e,t,n){return(await Rt({directory:z.join(e,`events`),schema:$,filePrefix:`${t}-`,filter:e=>e.eventType===`hook_created`&&e.correlationId===n,limit:1,getCreatedAt:lr(`evnt`),getId:e=>e.eventId})).data[0]?.eventId??null}async function ji(e,t,n,r,i){let a=await G(e,`events`,`${t}-${r}`,$,i);if(!a||a.eventType!==`hook_created`||a.correlationId!==n||await G(e,`hooks`,n,C,i))return;let o=Pr(a);await vr(e,o.token,t,n,r,i),await br(e,t,n,i),await X(W(e,`hooks`,n,i),JSON.stringify(o,K,2))}async function Mi(e,t,n,r,i){let a=or(e,t,n,r);return await X(a,JSON.stringify({eventId:i}))?i:(await Di(a))?.eventId??null}function Ni(e,t,n){let r=e.get(t),i={},a=(async()=>{r&&await r.catch(()=>void 0);try{return await n()}finally{e.get(t)===i.task&&e.delete(t)}})();return i.task=a,e.set(t,a),a}async function Pi(e,t){let n=z.join(e,`waits`),r=await Z(n);for(let e of r)e.startsWith(`${t}-`)&&await Y(z.join(n,`${e}.json`))}async function Fi(e,t,n,r){return vi(t,async()=>{let i=(await J(W(e,`runs`,t,n),_))?.attributes??r.attributes,a={...r,attributes:i},o=j(a.status)&&ii(i);return o&&(a=ai(a,new Date)),await q(W(e,`runs`,t,n),a,{overwrite:!0}),j(a.status)&&pi(t),{run:a,purged:o}})}function Ii(e,t){let n=xi(),r=4194304,i=new Map,a=new Map,o=new Map,s=0;function c(e){let t=i.get(e);if(!t)return;i.delete(e),s-=a.get(e)??0,a.delete(e);let n=o.get(t.runId);n?.delete(e),n?.size===0&&o.delete(t.runId)}function l(e){for(let t of o.get(e)??[])c(t)}function u(){i.clear(),a.clear(),o.clear(),s=0,b.clear()}let b=new Map;function S(e){return t?`${e}.${t}`:e}async function re(n,r){let i=`${n}-${ne(r)}`;for(let n of t?[W(e,`events`,i,t),W(e,`events`,i)]:[W(e,`events`,i)])try{return await R.stat(n),!0}catch(e){if(e.code!==`ENOENT`)throw e}return!1}async function w(n,r){let i=S(n),a=b.get(i);if(a===void 0||r?.rescan){let r=await $n(e,n,t);a===void 0?(a=r.count>0&&!r.usesSlots?null:{published:r.maxSlot},b.set(i,a)):a!==null&&(a.published=Math.max(a.published,r.maxSlot))}if(a===null)return null;let o=Math.max(a.published+1,1,r?.atLeast??1);for(;await re(n,o);)a.published=Math.max(a.published,o),o+=1;return o}function T(e,t){let n=te(t);if(n===null)return;let r=b.get(S(e));r&&(r.published=Math.max(r.published,n))}async function ae(e){let t=await w(e);return t===null?`evnt_${cr()}`:ne(t)}async function oe(n){let r=await w(n,{rescan:!0});return r===null?Qn(e,n,t):{eventId:ne(r),createdAt:new Date}}function E(e,t,n){if(n>r)return;for(;i.size>0&&(i.size>=1e3||s+n>r);){let e=i.keys().next().value;c(e)}i.set(e,t),a.set(e,n),s+=n;let l=o.get(t.runId)??new Set;l.add(e),o.set(t.runId,l)}function ce(e,t,n){if(p(e.eventType)){l(e.runId);return}let i=Buffer.byteLength(n);if(i>r)return;let a=$.safeParse(JSON.parse(n,kt));a.success&&E(t,a.data,i)}async function le(n){let r=n;for(let n=0;;n++){let i=W(e,`events`,`${r.runId}-${r.eventId}`,t),a=JSON.stringify(r,K,2),o=te(r.eventId);if(o===null)return await At(i,a),ce(r,i,a),r;if(await X(i,a))return T(r.runId,r.eventId),ce(r,i,a),r;let s=await w(r.runId,{rescan:n>0&&n%8==0,atLeast:o+1});We(s!==null),r={...r,eventId:ne(s)}}}let fe=(t,n)=>Rt({directory:z.join(e,`events`),schema:$,cachedItems:i,filePrefix:`${t}-`,sortOrder:n.sortOrder??`asc`,limit:n.limit,cursor:n.cursor,getCreatedAt:lr(`evnt`),getId:e=>e.eventId,getSortKey:Oi,getSortKeyFromFileId:e=>ki(t,e)}),O=new Map,k=new Map,A={clearCache:u,async create(r,i,a){if(i.eventType===`hook_created`&&i.eventData.tokenRetentionUntil!==void 0&&i.eventData.tokenRetentionUntil.getTime()>Date.now()+n)throw new F(`Hook minimum retention cannot exceed ${n/bi} days in the Local World.`,{status:400});if(r!=null&&r!==``&&V(`runId`,r),`correlationId`in i&&typeof i.correlationId==`string`&&V(`correlationId`,i.correlationId),d(i.eventType)&&r&&i.correlationId){let e=t?`${r}-${i.correlationId}.${t}`:`${r}-${i.correlationId}`;return Ni(O,e,o)}if(y(i.eventType)&&r&&i.correlationId){let e=t?`${r}-${i.correlationId}.hook.${t}`:`${r}-${i.correlationId}.hook`;return Ni(k,e,o)}return o();async function o(){let n=``,o=!1,s=null,c=new Date,u;if(i.eventType===`run_created`&&(!r||r===``))u=`wrun_${cr()}`;else if(r)u=r;else throw Error(`runId is required for non-run_created events`);if(i.eventType===`run_created`&&r&&r!==``){let e=de(u,`wrun_`);if(e)throw new F(e)}let y=i.specVersion??7,b=null;if(i.eventType!==`run_created`&&![`step_completed`,`step_retrying`].includes(i.eventType)&&(b=await G(e,`runs`,u,_,t),i.eventType===`run_started`&&!b&&`eventData`in i&&i.eventData)){let n=i.eventData;if(n.deploymentId&&n.workflowName&&n.input!==void 0){me(Object.entries(n.attributes??{}).map(([e,t])=>({key:e,value:t})),{allowReservedAttributes:n.allowReservedAttributes===!0});let r={runId:u,deploymentId:n.deploymentId,status:`pending`,workflowName:n.workflowName,specVersion:y,executionContext:n.executionContext,input:n.input,output:void 0,error:void 0,startedAt:void 0,completedAt:void 0,attributes:n.attributes??{},encryptionPublicKey:n.encryptionPublicKey,createdAt:c,updatedAt:c};if(await X(W(e,`runs`,u,t),JSON.stringify(r,K))){let e=await ae(u);await le({eventType:`run_created`,runId:u,eventId:e,createdAt:c,specVersion:y,eventData:{deploymentId:n.deploymentId,workflowName:n.workflowName,input:n.input,executionContext:n.executionContext,attributes:n.attributes,allowReservedAttributes:n.allowReservedAttributes,encryptionPublicKey:n.encryptionPublicKey}}),b=r}else b=await G(e,`runs`,u,_,t)}}if(n=await ae(u),!b&&(i.eventType===`run_failed`||i.eventType===`attr_set`||i.eventType===`run_started`))throw new he(u);if(b){if(pe(b.specVersion))throw new _e(b.specVersion,7);if(x(b.specVersion))return gi(e,u,i,b,a)}let S=f(i),re=S&&i.eventType===`step_started`;if(b&&j(b.status)){if(i.eventType===`run_cancelled`&&b.status===`cancelled`){let e=await le({...i,runId:u,eventId:n,createdAt:c,specVersion:y}),t=a?.resolveData??`all`;return{event:D(e,t),run:b,...b?{maxEvents:ue()}:{}}}if(i.eventType===`run_started`)throw new ge(`Workflow run "${u}" is already in terminal state "${b.status}"`);if(p(i.eventType))throw new I(`Cannot transition run from terminal state "${b.status}"`);if(S)throw new I(`Cannot create new entities on run in terminal state "${b.status}"`);if(i.eventType===`attr_set`)throw new I(`Cannot set attributes on run in terminal state "${b.status}"`)}let E=null;if(d(i.eventType)&&i.eventType!==`step_created`&&i.correlationId){if(E=await G(e,`steps`,`${u}-${i.correlationId}`,h,t),!E&&!re)throw new F(`Step "${i.correlationId}" not found`);if(re&&E)throw new I(`Step "${i.correlationId}" already created`);if(E){if(g(E.status))throw new I(`Cannot modify step in terminal state "${E.status}"`);if(b&&j(b.status)&&(E.status!==`running`||i.eventType===`step_started`))throw new ge(`Cannot ${i.eventType===`step_started`?`start`:`modify non-running`} step on run in terminal state "${b.status}"`)}}if(v(i.eventType)&&i.correlationId){if(i.eventType===`hook_received`&&a?.resumeId){let n=await J(ir(e,u,a.resumeId),Ci);if(n&&n.hookId===i.correlationId&&(!a.resumePayloadDigest||!n.payloadDigest||n.payloadDigest===a.resumePayloadDigest)){let r=await G(e,`events`,`${u}-${n.eventId}`,$,t),i=r&&wi(r,n)?r:await Ti(e,u,n,t);if(i)return{event:i}}}if(i.eventType===`hook_received`&&await Kn(e,i.correlationId,t)||!await G(e,`hooks`,i.correlationId,C,t))throw new ve(i.correlationId);if(i.eventType===`hook_received`&&a?.resumeId){let r=ir(e,u,a.resumeId),c=async r=>{if(r.hookId!==i.correlationId)throw new I(`hook_received resumeId "${a.resumeId}" already recorded for a different hook`);if(a.resumePayloadDigest&&r.payloadDigest&&r.payloadDigest!==a.resumePayloadDigest)throw new I(`hook_received resumeId "${a.resumeId}" already recorded with a different payload`);let c=await G(e,`events`,`${u}-${r.eventId}`,$,t);if(c&&wi(c,r))return{event:c};let l=await Ti(e,u,r,t);return l?{event:l}:(s=r.eventId,c||(n=r.eventId,o=!0),null)},l=await J(r,Ci);if(l){let e=await c(l);if(e)return e}else if(o=!ie(n),s=n,!await X(r,JSON.stringify({runId:u,resumeId:a.resumeId,hookId:i.correlationId,eventId:n,...a.resumePayloadDigest?{payloadDigest:a.resumePayloadDigest}:{}}))){s=null;let e=await J(r,Ci);if(e){let t=await c(e);if(t)return t}}}}let O={...i,runId:u,eventId:n,createdAt:c,specVersion:y,...i.eventType===`hook_received`&&a?.resumeId?{resumeId:a.resumeId}:{}};if(i.eventType===`run_started`&&`eventData`in O&&delete O.eventData,re&&O.eventType===`step_started`&&O.eventData){let{input:e,...t}=O.eventData;O={...O,eventData:t}}let k,A=!1,M,N,P,be=!1,xe;if(p(i.eventType)&&b){await X(qn(e,u,t),``),await Zn(e,u,t);let r=await oe(u);n=r.eventId,O={...O,eventId:n,createdAt:r.createdAt}}if(i.eventType===`run_created`&&`eventData`in i){let n=i.eventData;if(me(Object.entries(n.attributes??{}).map(([e,t])=>({key:e,value:t})),{allowReservedAttributes:n.allowReservedAttributes===!0}),k={runId:u,deploymentId:n.deploymentId,status:`pending`,workflowName:n.workflowName,specVersion:y,executionContext:n.executionContext,input:n.input,output:void 0,error:void 0,startedAt:void 0,completedAt:void 0,attributes:n.attributes??{},encryptionPublicKey:n.encryptionPublicKey,createdAt:c,updatedAt:c},!await X(W(e,`runs`,u,t),JSON.stringify(k,K,2)))throw new I(`Workflow run "${u}" already exists`)}else if(i.eventType===`run_started`){if(b){if(b.status===`running`){if(a?.skipPreload)return{run:b,maxEvents:ue()};let e=await fe(u,{limit:ue()});return{run:b,events:e.data,cursor:e.cursor,hasMore:e.hasMore,maxEvents:ue()}}let n=await Fi(e,u,t,{runId:b.runId,deploymentId:b.deploymentId,workflowName:b.workflowName,specVersion:b.specVersion,executionContext:b.executionContext,input:b.input,createdAt:b.createdAt,expiredAt:b.expiredAt,status:`running`,output:void 0,error:void 0,completedAt:void 0,startedAt:b.startedAt??c,updatedAt:c,attributes:b.attributes,encryptionPublicKey:b.encryptionPublicKey});k=n.run,A=n.purged}}else if(i.eventType===`run_completed`&&`eventData`in i){let n=i.eventData;if(b){let r=await Fi(e,u,t,{runId:b.runId,deploymentId:b.deploymentId,workflowName:b.workflowName,specVersion:b.specVersion,executionContext:b.executionContext,input:b.input,createdAt:b.createdAt,expiredAt:b.expiredAt,startedAt:b.startedAt,status:`completed`,output:n.output,error:void 0,completedAt:c,updatedAt:c,attributes:b.attributes,encryptionPublicKey:b.encryptionPublicKey});k=r.run,A=r.purged,await Promise.all([Hr(e,u),Pi(e,u)])}}else if(i.eventType===`run_failed`&&`eventData`in i){let n=i.eventData;if(b){let r=await Fi(e,u,t,{runId:b.runId,deploymentId:b.deploymentId,workflowName:b.workflowName,specVersion:b.specVersion,executionContext:b.executionContext,input:b.input,createdAt:b.createdAt,expiredAt:b.expiredAt,startedAt:b.startedAt,status:`failed`,output:void 0,error:n.error,errorCode:n.errorCode,completedAt:c,updatedAt:c,attributes:b.attributes,encryptionPublicKey:b.encryptionPublicKey});k=r.run,A=r.purged,await Promise.all([Hr(e,u),Pi(e,u)])}}else if(i.eventType===`run_cancelled`){if(b){let n=await Fi(e,u,t,{runId:b.runId,deploymentId:b.deploymentId,workflowName:b.workflowName,specVersion:b.specVersion,executionContext:b.executionContext,input:b.input,createdAt:b.createdAt,expiredAt:b.expiredAt,startedAt:b.startedAt,status:`cancelled`,output:void 0,error:void 0,completedAt:c,updatedAt:c,attributes:b.attributes,encryptionPublicKey:b.encryptionPublicKey});k=n.run,A=n.purged,await Promise.all([Hr(e,u),Pi(e,u)])}}else if(i.eventType===`attr_set`&&b)k=await vi(u,async()=>{let n=await J(W(e,`runs`,u,t),_);if(!n)throw new he(u);if(me(i.eventData.changes,{existingKeys:Object.keys(n.attributes),allowReservedAttributes:i.eventData.allowReservedAttributes===!0}),i.correlationId&&i.eventData.writer.type===`workflow`&&!await X(H(e,`.locks`,`attributes`,t?`${u}-${i.correlationId}.created.${t}`:`${u}-${i.correlationId}.created`),``))throw new I(`Attribute event "${i.correlationId}" already exists`);let r={...n,attributes:ee(n.attributes,i.eventData.changes),updatedAt:c};return await q(W(e,`runs`,u,t),r,{overwrite:!0}),r});else if(i.eventType===`step_created`&&`eventData`in i){if(!await X(H(e,`.locks`,`steps`,t?`${u}-${i.correlationId}.created.${t}`:`${u}-${i.correlationId}.created`),``))throw new I(`Step "${i.correlationId}" already created`);let n=i.eventData;M={runId:u,stepId:i.correlationId,stepName:n.stepName,status:`pending`,input:n.input,output:void 0,error:void 0,attempt:0,startedAt:void 0,completedAt:void 0,createdAt:c,updatedAt:c,specVersion:y},await q(W(e,`steps`,`${u}-${i.correlationId}`,t),M)}else if(i.eventType===`step_started`){if(!E&&re){let n=i.eventData;if(await X(H(e,`.locks`,`steps`,t?`${u}-${i.correlationId}.created.${t}`:`${u}-${i.correlationId}.created`),``)){let r={runId:u,stepId:i.correlationId,stepName:n.stepName,status:`pending`,input:n.input,output:void 0,error:void 0,attempt:0,startedAt:void 0,completedAt:void 0,createdAt:c,updatedAt:c,specVersion:y};await q(W(e,`steps`,`${u}-${i.correlationId}`,t),r);let a=await ae(u);await le({eventType:`step_created`,runId:u,eventId:a,createdAt:c,specVersion:y,correlationId:i.correlationId,eventData:{stepName:n.stepName,input:n.input}}),E=r,be=!0}else throw new I(`Step "${i.correlationId}" already created`)}if(E){if(E.retryAfter&&E.retryAfter.getTime()>Date.now())throw new ye(`Cannot start step "${i.correlationId}": retryAfter timestamp has not been reached yet`,{retryAfter:Math.ceil((E.retryAfter.getTime()-Date.now())/1e3)});let n=`${u}-${i.correlationId}`,r=await G(e,`steps`,n,h,t);if(r&&g(r.status))throw new I(`Cannot modify step in terminal state "${r.status}"`);M={...E,status:`running`,startedAt:E.startedAt??c,attempt:E.attempt+1,retryAfter:void 0,updatedAt:c},await q(W(e,`steps`,n,t),M,{overwrite:!0})}}else if(i.eventType===`step_completed`&&`eventData`in i){let n=i.eventData;if(E){let r=`${u}-${i.correlationId}`;if(!await X(H(e,`.locks`,`steps`,t?`${r}.terminal.${t}`:`${r}.terminal`),``))throw new I(`Cannot modify step in terminal state`);M={...E,status:`completed`,output:n.result,completedAt:c,updatedAt:c},await q(W(e,`steps`,r,t),M,{overwrite:!0})}}else if(i.eventType===`step_failed`&&`eventData`in i){let n=i.eventData;if(E){let r=`${u}-${i.correlationId}`;if(!await X(H(e,`.locks`,`steps`,t?`${r}.terminal.${t}`:`${r}.terminal`),``))throw new I(`Cannot modify step in terminal state`);M={...E,status:`failed`,error:n.error,completedAt:c,updatedAt:c},await q(W(e,`steps`,r,t),M,{overwrite:!0})}}else if(i.eventType===`step_retrying`&&`eventData`in i){let n=i.eventData;if(E){let r=`${u}-${i.correlationId}`;M={...E,status:`pending`,error:n.error,retryAfter:n.retryAfter,updatedAt:c},await q(W(e,`steps`,r,t),M,{overwrite:!0})}}else if(i.eventType===`hook_created`&&`eventData`in i){let r=i.eventData,s=er(e,r.token),l=JSON.stringify({token:r.token,hookId:i.correlationId,runId:u,eventId:n,tokenRetentionUntil:r.tokenRetentionUntil}),d=await rr(e,r.token,async n=>{let a=await nr(s);return a||=(n.throwIfAborted(),await Y(s),await zr(e,r.token,t),await nr(s)),a?a.runId===u&&a.hookId===i.correlationId?{status:`owned`,claim:a}:await Ei(e,a,t)?(n.throwIfAborted(),await Y(s),a.hookId&&(await Y(W(e,`hooks`,a.hookId,t)),await Y(or(e,r.token,a.runId,a.hookId)),await xr(e,a.runId,a.hookId,t)),n.throwIfAborted(),We(await X(s,l)),{status:`claimed`}):{status:`conflict`,claim:a}:(n.throwIfAborted(),We(await X(s,l)),{status:`claimed`})});if(d.status===`owned`){let a=d.claim,s;if(a.eventId)s=a.eventId;else{let a=await Ai(e,u,i.correlationId);if(a!==null)throw await ji(e,u,i.correlationId,a,t),new I(`Hook "${i.correlationId}" already created`);let o=await Mi(e,r.token,u,i.correlationId,n);if(o===null)throw new I(`Hook "${i.correlationId}" already created`);s=o}n=s,o=!0;let l=se(n.replace(/^evnt_/,``))??c;O={...i,eventData:{...i.eventData,tokenRetentionUntil:a.tokenRetentionUntil},runId:u,eventId:n,createdAt:l,specVersion:y}}if(d.status===`conflict`){let e=d.claim,t=await le({eventType:`hook_conflict`,correlationId:i.correlationId,eventData:{token:r.token,conflictingRunId:e.runId},runId:u,eventId:n,createdAt:c,specVersion:y}),o=a?.resolveData??`all`,s=typeof a?.sinceCursor==`string`?await fe(u,{sortOrder:`asc`,cursor:a.sinceCursor}):void 0,l={event:D(t,o),run:k,step:M,hook:void 0};return s?{...l,events:o===`none`?s.data.map(e=>D(e,o)):s.data,cursor:s.cursor,hasMore:s.hasMore}:l}let f=O.eventData;N={runId:u,hookId:i.correlationId,token:f.token,metadata:f.metadata,ownerId:`local-owner`,projectId:`local-project`,environment:`local`,createdAt:O.createdAt,specVersion:y,isWebhook:f.isWebhook??!1,isSystem:f.isSystem??!1,tokenRetentionUntil:f.tokenRetentionUntil},xe=d.status===`owned`?{overwrite:!0}:void 0,await vr(e,r.token,u,i.correlationId,n,t)}else if(i.eventType===`hook_disposed`){if(!await X(Gn(e,i.correlationId,t),``))throw new I(`Hook "${i.correlationId}" already disposed`);let n=W(e,`hooks`,i.correlationId,t),r=await G(e,`hooks`,i.correlationId,C,t);r&&(await ar(e,r.token,r.runId,r.hookId),await Y(or(e,r.token,r.runId,r.hookId))),await Y(n),await xr(e,u,i.correlationId,t)}else if(i.eventType===`wait_created`&&`eventData`in i){let n=`${u}-${i.correlationId}`;if(!await X(H(e,`.locks`,`waits`,t?`${n}.created.${t}`:`${n}.created`),``))throw new I(`Wait "${i.correlationId}" already exists`);let r=i.eventData;P={waitId:n,runId:u,status:`waiting`,resumeAt:r.resumeAt,completedAt:void 0,createdAt:c,updatedAt:c,specVersion:y},await q(W(e,`waits`,n,t),P)}else if(i.eventType===`wait_completed`){let n=`${u}-${i.correlationId}`,r=H(e,`.locks`,`waits`,t?`${n}.completed.${t}`:`${n}.completed`);if(!await X(r,``))throw new I(`Wait "${i.correlationId}" already completed`);let a=await G(e,`waits`,n,m,t);if(!a)throw await R.unlink(r).catch(()=>{}),new F(`Wait "${i.correlationId}" not found`);P={...a,status:`completed`,completedAt:c,updatedAt:c},await q(W(e,`waits`,n,t),P,{overwrite:!0})}if(i.eventType===`hook_received`&&i.correlationId&&await Kn(e,i.correlationId,t))throw new ve(i.correlationId);let Se=W(e,`events`,`${u}-${n}`,t),Ce=JSON.stringify(O,K,2),we=async r=>{let i=te(n);if(o||i===null)return!1;let a=await w(u,{rescan:r>0&&r%8==0,atLeast:i+1});return a!==null&&(n=ne(a),O={...O,eventId:n},Se=W(e,`events`,`${u}-${n}`,t),Ce=JSON.stringify(O,K,2),!0)},Te=!1;for(let r=0;;r++){if(i.eventType===`hook_received`){let r=await Jn(e,u,t),i=r?null:await G(e,`runs`,u,_,t);if(r||i&&j(i.status))throw new ge(`Workflow run "${u}" is already in a terminal state`);let a=Xn(e,u,`${n}.${cr()}`,t);if(!await X(a,Ce))throw new F(`Failed to stage event "${n}" for run "${u}": staging path already exists`);try{if(await Jn(e,u,t))throw new ge(`Workflow run "${u}" is already in a terminal state`);let n=await Nt(a,Se);if(n===`missing`)throw new ge(`Workflow run "${u}" is already in a terminal state`);Te=n===`linked`}finally{await Y(a).catch(()=>{})}}else Te=await X(Se,Ce);if(Te){T(u,n);break}if(i.eventType===`hook_received`&&a?.resumeId){let r=await G(e,`events`,`${u}-${n}`,$,t);if(r&&wi(r,{runId:u,resumeId:a.resumeId,hookId:i.correlationId,eventId:n}))return{event:r}}if(!await we(r))break}if(!Te)throw i.eventType===`hook_created`&&i.correlationId&&await ji(e,u,i.correlationId,n,t),new I(`Event "${n}" already exists for run "${u}"`);ce(O,Se,Ce),i.eventType===`hook_received`&&a?.resumeId&&s!==null&&s!==n&&await At(ir(e,u,a.resumeId),JSON.stringify({runId:u,resumeId:a.resumeId,hookId:i.correlationId,eventId:n,...a.resumePayloadDigest?{payloadDigest:a.resumePayloadDigest}:{}}),{overwrite:!0}),N&&i.eventType===`hook_created`&&(await br(e,N.runId,N.hookId,t),await q(W(e,`hooks`,N.hookId,t),N,xe)),A&&(await oi(e,u,t),l(u));let Ee=a?.resolveData??`all`,De=D(O,Ee),Oe;if(i.eventType===`run_started`&&k&&!a?.skipPreload&&(Oe=await fe(u,{limit:ue()})),typeof a?.sinceCursor==`string`){let e=await fe(u,{sortOrder:`asc`,cursor:a.sinceCursor});Oe=Ee===`none`?{...e,data:e.data.map(e=>D(e,Ee))}:e}let ke={event:De,run:k,step:M,hook:N,wait:P,...be?{stepCreated:!0}:{},...k?{maxEvents:ue()}:{}};return Oe?{...ke,events:Oe.data,cursor:Oe.cursor,hasMore:Oe.hasMore}:ke}},async get(n,r,i){V(`runId`,n),V(`eventId`,r);let a=await G(e,`events`,`${n}-${r}`,$,t);if(!a)throw Error(`Event ${r} in run ${n} not found`);let o=i?.resolveData??`all`;return D(a,o)},async list(e){let{runId:t}=e;V(`runId`,t);let n=e.resolveData??`all`,r=await fe(t,{...e.pagination,limit:e.pagination?.limit??ue()});return n===`none`?{...r,data:r.data.map(e=>D(e,n))}:r},async listByCorrelationId(t){let n=t.correlationId;V(`correlationId`,n),V(`runId`,t.runId);let r=t.resolveData??`all`,a=await Rt({directory:z.join(e,`events`),schema:$,cachedItems:i,filePrefix:`${t.runId}-`,filter:e=>e.correlationId===n,sortOrder:t.pagination?.sortOrder??`asc`,limit:t.pagination?.limit,cursor:t.pagination?.cursor,getCreatedAt:lr(`evnt`),getId:e=>e.eventId,getSortKey:Oi,getSortKeyFromFileId:e=>ki(t.runId,e)});return r===`none`?{...a,data:a.data.map(e=>D(e,r))}:a}};async function M(e,t,n){if(!e.event)return e;let r=te(e.event.eventId);if(r===null||t<1||r<=t+1)return e;let i=r-t-1,a=await A.list({runId:e.event.runId,pagination:{cursor:`${Ft}${ne(t)}`,limit:i,sortOrder:`asc`},resolveData:n}),o=e.event.eventId,s=a.data.filter(e=>e.eventId<o);return{...e,events:s,cursor:null,hasMore:s.length<r-t-1}}let N=(async(e,t,n)=>{if(n?.eventCount===void 0)return A.create(e,t,n);let r=n.resolveData??`all`,i=await A.create(e,t,n);return typeof n.sinceCursor==`string`?i:M(i,n.eventCount,r)});return{...A,create:N}}function Li(e,t){return{get:(async(n,r,i)=>{V(`runId`,n),V(`stepId`,r);let a=await G(e,`steps`,`${n}-${r}`,h,t);if(!a)throw Error(`Step ${r} in run ${n} not found`);return jr(a,i?.resolveData??`all`)}),list:(async t=>{V(`runId`,t.runId);let n=t.resolveData??`all`,r=await Rt({directory:z.join(e,`steps`),schema:h,filePrefix:`${t.runId}-`,sortOrder:t.pagination?.sortOrder??`desc`,limit:t.pagination?.limit,cursor:t.pagination?.cursor,getCreatedAt:lr(`step`),getId:e=>e.stepId});return n===`none`?{...r,data:r.data.map(e=>({...e,input:void 0,output:void 0}))}:r})}}function Ri(e,t){let n=yi(e,t),r=Li(e,t),i=Ii(e,t),a=Vr(e,t);return{runs:xn(`world.runs`,n),steps:xn(`world.steps`,r),events:xn(`world.events`,i),hooks:xn(`world.hooks`,a),clearCache:()=>i.clearCache()}}function zi(e){let t=e?Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0)):{},n={...ft.value,...t};Xe(n.dataDir);let r=n.tag,i=Mn(n),{clearCache:a,...o}=Ri(n.dataDir,r),s=pt(n);return{specVersion:ce(),capabilities:{hookRetention:{active:!0},hookResumeDedup:!0},...i,...o,...xn(`world.streams`,{...ri(n.dataDir,r),...n.streamFlushIntervalMs!==void 0&&{streamFlushIntervalMs:n.streamFlushIntervalMs}}),async start(){if(await $t(n.dataDir),!s)return;let e=r?e=>St(e,r):Ct,t={...o.runs,list:(t=>o.runs.list({...t,fileIdFilter:e}))};await oe(t,i.queue,`world-local`)},async close(){a(),await i.close()},async clear(){if(a(),r){let e=n.dataDir,t=z.join(e,`hooks`),i=await wt(t,r),{HookSchema:a}=await import(`../../_chunks/workflow/dist-DjECvUyK.js`).then(e=>e.t);await Promise.all(i.map(async n=>{let r=await J(z.join(t,n),a);r?.token&&(await Y(z.join(t,`tokens`,`${Wn(r.token)}.json`)),await Y(or(e,r.token,r.runId,r.hookId)))})),await Promise.all([`runs`,`steps`,`events`,`hooks`,`hooks/by-run`,`waits`,`streams/runs`].map(async t=>{let n=z.join(e,t),i=await wt(n,r);await Promise.all(i.map(e=>Y(z.join(n,e))))}));for(let t of[`token-index`,`id-index`]){let n=z.join(e,`hooks`,t),i;try{i=await L.readdir(n,{withFileTypes:!0})}catch{i=[]}await Promise.all(i.filter(e=>e.isDirectory()).map(async e=>{let t=z.join(n,e.name),i=await wt(t,r);await Promise.all(i.map(e=>Y(z.join(t,e))))}))}await L.rm(z.join(e,`.locks`),{recursive:!0,force:!0}).catch(()=>{});let o=z.join(e,`streams`,`chunks`),s;try{s=await L.readdir(o,{withFileTypes:!0})}catch{s=[]}await Promise.all(s.filter(e=>e.isDirectory()).map(async e=>{let t=z.join(o,e.name),n=await Tt(t,r,`.bin`);await Promise.all(n.map(e=>L.unlink(z.join(t,e)).catch(()=>{})))})),yt()}else yt(),Tr(),await Re(n.dataDir,{recursive:!0,force:!0}),await $t(n.dataDir)}}}export{Ut as DataDirAccessError,Wt as DataDirVersionError,Ke as UnwritableDataDirError,zi as createWorld,Yt as ensureDataDir,$t as initDataDir,Gt as parseVersion};
1
+ import{a as e,t}from"../../_chunks/workflow/rolldown-runtime-B_knIduE.js";import{t as n}from"../../_chunks/workflow/debug-log-CVPstO1D.js";import{B as r,C as i,G as a,H as o,K as s,M as c,N as l,P as u,R as d,U as f,W as p,Z as m,a as h,at as g,b as _,c as v,d as y,ft as b,g as x,h as S,l as C,lt as ee,m as w,mt as T,n as te,o as ne,ot as re,pt as ie,q as E,r as ae,rt as oe,s as se,st as ce,tt as le,ut as ue,v as de,z as D}from"../../_chunks/workflow/dist-CNT2vjZ4.js";import{A as O,O as fe,d as pe,f as me,o as he,r as k,y as ge}from"../../_chunks/workflow/dist-DtXwQbZr.js";import{i as A,n as _e,r as ve,t as ye}from"../../_chunks/workflow/workflow-routes-CwqB063q.js";import{a as j,i as M,n as N,r as P,t as F}from"../../_chunks/workflow/signal-exit-DZKTacNU.js";import{z as I}from"#compiled/zod/index.js";import{createHash as be}from"node:crypto";import{promisify as xe}from"node:util";import{fileURLToPath as Se}from"node:url";import{promises as L}from"node:fs";import R,{access as Ce,constants as we,mkdir as Te,readFile as Ee,readdir as De,readlink as Oe,rm as ke,unlink as Ae,writeFile as je}from"node:fs/promises";import z from"node:path";import{tmpdir as Me}from"node:os";import{execFile as Ne}from"node:child_process";import{setTimeout as Pe}from"node:timers/promises";import Fe from"node:assert";import{EventEmitter as Ie}from"node:events";var Le=class extends O{dataDir;constructor(e,t){super(`[workflow] The local (filesystem) world cannot create its data directory "${e}" (${t}). Workflow runs cannot be stored, so every run will fail before its first step. If this is a Vercel deployment, its filesystem is read-only and the local world cannot work there. The world is selected from the environment when the process starts: the Vercel world is used when VERCEL_DEPLOYMENT_ID is set, unless WORKFLOW_TARGET_WORLD says otherwise. Unset WORKFLOW_TARGET_WORLD in this deployment, or set WORKFLOW_TARGET_WORLD=vercel, to use the Vercel world. Otherwise point WORKFLOW_LOCAL_DATA_DIR at a writable directory.`,{code:t}),this.name=`UnwritableDataDirError`,this.dataDir=e}static is(e){return e instanceof Error&&e.name===`UnwritableDataDirError`}};const Re=new Set([`EROFS`,`EACCES`,`EPERM`]);function ze(e){return e!==void 0&&Re.has(e)}const Be=T(`@workflow/world-local//buildTargetWarnings`,1,()=>({warnedAboutVercelDeployment:!1}));function Ve(e){if(Be.warnedAboutVercelDeployment||!process.env.VERCEL_DEPLOYMENT_ID)return;let t=z.resolve(e),n=Me();t===n||t.startsWith(`${n}${z.sep}`)||(Be.warnedAboutVercelDeployment=!0,console.warn(`[workflow] Warning: the local (filesystem) world is running inside a Vercel deployment, writing to ${t}. That filesystem is read-only, so workflow runs will fail before their first step. The world is selected from the environment when the process starts: the Vercel world is used when VERCEL_DEPLOYMENT_ID is set, unless WORKFLOW_TARGET_WORLD says otherwise. Unset WORKFLOW_TARGET_WORLD in this deployment, or set WORKFLOW_TARGET_WORLD=vercel, to use the Vercel world.`))}function He(e,t=10){let n=parseInt(e,t);if(!Number.isNaN(n)&&n>=0&&n<=65535)return n}function Ue(e,t){let n=[],r=e.trim().split(`
2
+ `);for(let e of r){let r=e.trim().split(/\s+/);if(r.length<5||r[0]?.toUpperCase()!==`TCP`)continue;let[,i,,a,o]=r;if(a?.toUpperCase()!==`LISTENING`||o!==t.toString())continue;let s=i.lastIndexOf(`:`);if(s===-1)continue;let c=He(i.slice(s+1));c!==void 0&&n.push(c)}return n}const We=xe(Ne);function Ge(e,t=10){let n=parseInt(e,t);if(!Number.isNaN(n)&&n>=0&&n<=65535)return n}const Ke=((e,t)=>e.join(t))([``,`proc`],`/`);async function qe(e){let t=[`${Ke}/net/tcp`,`${Ke}/net/tcp6`],n=[],r=new Set,i=`${Ke}/${e}/fd`;try{let e=(await De(i)).sort((e,t)=>Number.parseInt(e,10)-Number.parseInt(t,10)),t=await Promise.allSettled(e.map(async e=>(await Oe(`${i}/${e}`)).match(/^socket:\[(\d+)\]$/)?.[1]??null));for(let e of t)e.status===`fulfilled`&&e.value&&(n.push(e.value),r.add(e.value))}catch{return[]}if(n.length===0)return[];let a=new Map;for(let e of t)try{let t=(await Ee(e,`utf8`)).split(`
3
+ `).slice(1);for(let e of t){if(!e.trim())continue;let t=e.trim().split(/\s+/);if(t.length<10)continue;let n=t[1],i=t[3],o=t[9];if(!n||i!==`0A`||!o||!r.has(o))continue;let s=n.indexOf(`:`);if(s===-1)continue;let c=n.slice(s+1);if(!c)continue;let l=Ge(c,16);l!==void 0&&a.set(o,l)}}catch{}let o=[];for(let e of n){let t=a.get(e);t!==void 0&&o.push(t)}return o}async function Je(e){try{let{stdout:t}=await We(`lsof`,[`-a`,`-i`,`-P`,`-n`,`-p`,e.toString()]),n=[],r=t.split(`
4
+ `);for(let e of r)if(e.includes(`LISTEN`)){let t=e.trim().split(/\s+/)[8];if(t){let e=t.lastIndexOf(`:`);if(e!==-1){let r=Ge(t.slice(e+1));r!==void 0&&n.push(r)}}}return n}catch{return[]}}async function Ye(e){try{let{stdout:t}=await We(`cmd`,[`/c`,`netstat -ano -p tcp | findstr LISTENING`]);return Ue(t,e)}catch{return[]}}async function Xe(){let{pid:e,platform:t}=process;try{switch(t){case`linux`:return await qe(e);case`darwin`:return await Je(e);case`win32`:return await Ye(e);default:return[]}}catch(e){return n(`[getAllPorts] Detection failed:`,e),[]}}const Ze=`${ye}/flow?__health`;async function Qe(e,t={}){let{endpoint:n=Ze,timeout:r=500}=t,i=new AbortController,a=setTimeout(()=>i.abort(),r);try{return(await fetch(`http://localhost:${e}${n}`,{method:`HEAD`,signal:i.signal})).status===200}catch{return!1}finally{clearTimeout(a)}}async function $e(e){let t=await Xe();if(t.length===0)return;if(t.length===1)return t[0];let r=(await Promise.all(t.map(async t=>({port:t,isWorkflow:await Qe(t,e)})))).find(e=>e.isWorkflow);return r?r.port:(n(`[getWorkflowPort] Probing failed, falling back to first port:`,t[0]),t[0])}function et(e){let t={get value(){let n=e();return Object.defineProperty(t,"value",{value:n}),n}};return t}const tt=()=>process.env.WORKFLOW_LOCAL_DATA_DIR||`.workflow-data`,nt=()=>process.env.WORKFLOW_LOCAL_BASE_URL,rt=et(()=>({dataDir:tt(),baseUrl:nt()}));function it(e){if(e.recoverActiveRuns!==void 0)return e.recoverActiveRuns;let t=process.env.WORKFLOW_LOCAL_RECOVER_ACTIVE_RUNS?.toLowerCase();return t!==`0`&&t!==`false`}function at(e){return e.baseUrl??process.env.WORKFLOW_LOCAL_BASE_URL??_e(`http://localhost`)}async function ot(e){if(e.baseUrl)return e.baseUrl;if(process.env.WORKFLOW_LOCAL_BASE_URL)return process.env.WORKFLOW_LOCAL_BASE_URL;if(typeof e.port==`number`)return _e(`http://localhost:${e.port}`);if(process.env.PORT)return _e(`http://localhost:${process.env.PORT}`);let t=await $e({endpoint:ve()});if(t)return _e(`http://localhost:${t}`);throw Error(`Unable to resolve base URL for workflow queue.`)}const B=T(`@workflow/world-local//fs`,1,()=>({ulid:ue(()=>Math.random()),createdFilesCache:new Set,createdDirectoriesCache:new Set}));function st(e){let t=typeof e==`string`?e:String(e);return t.length>48?`${t.slice(0,48)}…`:t}var ct=class extends O{constructor(e,t){super(`Unsafe ${e} "${st(t)}": must not be empty, contain ".", "/", "\\", or null bytes`),this.name=`UnsafeEntityIdError`}static is(e){return e instanceof Error&&e.name===`UnsafeEntityIdError`}};function V(e,t){if(t.length===0||t.startsWith(`.`)||t.includes(`/`)||t.includes(`\\`)||t.includes(`\0`)||t.includes(`.`))throw new ct(e,t)}function H(e,...t){let n=z.resolve(e),r=z.resolve(e,...t);if(r!==n&&!r.startsWith(n+z.sep))throw new ct(`path`,t.join(`/`));return r}const lt=process.platform===`win32`;async function U(e,t=5){if(!lt)return e();let n=[`EPERM`,`EBUSY`,`EACCES`];for(let r=0;r<=t;r++)try{return await e()}catch(e){if(!(r<t&&n.includes(e.code)))throw e;let i=10*2**r+Math.random()*10;await new Promise(e=>setTimeout(e,i))}throw Error(`Retry loop exited unexpectedly`)}function ut(){B.createdFilesCache.clear(),B.createdDirectoriesCache.clear()}const dt=/\.[a-zA-Z][a-zA-Z0-9-]*$/;function ft(e){return e.replace(dt,``)}function pt(e,t){return e.endsWith(`.${t}`)}function mt(e){return!dt.test(e)}function W(e,t,n,r){return V(`fileId`,n),r!==void 0&&V(`tag`,r),H(e,t,r?`${n}.${r}.json`:`${n}.json`)}async function G(e,t,n,r,i){if(V(`fileId`,n),i!==void 0&&V(`tag`,i),i){let a=await J(H(e,t,`${n}.${i}.json`),r);if(a!==null)return a}return J(H(e,t,`${n}.json`),r)}async function ht(e,t){let n=`.${t}.json`;try{return(await L.readdir(e)).filter(e=>e.endsWith(n))}catch(e){if(e.code===`ENOENT`)return[];throw e}}async function gt(e,t,n){let r=`.${t}${n}`;try{return(await L.readdir(e)).filter(e=>e.endsWith(r))}catch(e){if(e.code===`ENOENT`)return[];throw e}}async function _t(e){let t=z.resolve(e);if(!B.createdDirectoriesCache.has(t))try{await L.mkdir(t,{recursive:!0}),B.createdDirectoriesCache.add(t)}catch(e){let n=e.code;if(ze(n)&&!await vt(t))throw new Le(t,n)}}async function vt(e){try{return(await L.stat(e)).isDirectory()}catch{return!1}}async function yt(e,t){await _t(e);try{return await t()}catch(n){if(n.code!==`ENOENT`)throw n;return B.createdDirectoriesCache.delete(z.resolve(e)),await _t(e),t()}}function K(e,t){return t instanceof Uint8Array?{__type:`Uint8Array`,data:Buffer.from(t).toString(`base64`)}:t}function bt(e,t){return typeof t==`object`&&t&&t.__type===`Uint8Array`&&typeof t.data==`string`?new Uint8Array(Buffer.from(t.data,`base64`)):t}async function q(e,t,n){return xt(e,JSON.stringify(t,K,2),n)}async function xt(e,t,n){if(!n?.overwrite){if(B.createdFilesCache.has(e))throw new k(`File ${e} already exists and 'overwrite' is false`);try{throw await L.access(e),B.createdFilesCache.add(e),new k(`File ${e} already exists and 'overwrite' is false`)}catch(e){if(e.code!==`ENOENT`)throw e}}let r=`${e}.tmp.${B.ulid()}`,i=!1;try{await yt(z.dirname(e),async()=>{await L.writeFile(r,t),i=!0,await U(()=>L.rename(r,e))}),B.createdFilesCache.add(e)}catch(e){throw i&&await U(()=>L.unlink(r),3).catch(()=>{}),e}}async function J(e,t){try{let n=await U(()=>L.readFile(e,`utf-8`));return t.parse(JSON.parse(n,bt))}catch(e){if(e.code===`ENOENT`)return null;throw e}}async function St(e){return await L.readFile(e)}async function Ct(e){let t=await L.open(e,`r`);try{let e=Buffer.allocUnsafe(1),{bytesRead:n}=await t.read(e,0,1,0);return n===0?void 0:e[0]}finally{await t.close()}}async function Y(e){try{await U(()=>L.unlink(e))}catch(e){if(e.code!==`ENOENT`)throw e}}async function X(e,t){let n=`${e}.tmp.${B.ulid()}`,r=!1;try{return await yt(z.dirname(e),async()=>{await L.writeFile(n,t,{flag:`wx`}),r=!0;try{return await U(()=>L.link(n,e)),!0}catch(e){if(e.code===`EEXIST`)return!1;throw e}})}finally{r&&await U(()=>L.unlink(n),3).catch(()=>{})}}async function wt(e,t){try{return await yt(z.dirname(t),()=>U(()=>L.link(e,t))),`linked`}catch(e){if(e.code===`EEXIST`)return`exists`;if(e.code===`ENOENT`)return`missing`;throw e}}async function Z(e){return Tt(e,`.json`)}async function Tt(e,t){try{return(await L.readdir(e)).filter(e=>e.endsWith(t)).map(e=>e.slice(0,-t.length))}catch(e){if(e.code===`ENOENT`)return[];throw e}}const Et=`key:`;function Dt(e){if(!e)return null;if(e.startsWith(`key:`))return{timestamp:new Date(0),id:null,sortKey:e.slice(4)};let t=e.split(`|`);return{timestamp:new Date(t[0]),id:t[1]||null,sortKey:null}}function Ot(e,t,n){return n?`${Et}${n}`:t?`${e.toISOString()}|${t}`:e.toISOString()}async function kt(e){let{directory:t,schema:n,cachedItems:r,filePrefix:i,fileIdFilter:a,filter:o,sortOrder:s=`desc`,limit:c=20,cursor:l,getCreatedAt:u,getId:d,getSortKey:f,getSortKeyFromFileId:p}=e;i!==void 0&&V(`filePrefix`,i);let m=z.resolve(t),h=await Z(m),g=i?h.filter(e=>e.startsWith(i)):h,_=a?g.filter(a):g,v=Dt(l),y=_;if(v?.sortKey&&p){let e=v.sortKey;y=_.filter(t=>{let n=p(t);if(n===null)return!0;let r=n.localeCompare(e);return s===`desc`?r<0:r>0})}else v&&!v.sortKey&&(y=_.filter(e=>{let t=u(`${e}.json`);if(t){let e=v.timestamp.getTime(),n=t.getTime();return v.id?s===`desc`?n<=e:n>=e:s===`desc`?n<e:n>e}return!0}));let b=[];for(let e=0;e<y.length;e+=32){let t=y.slice(e,e+32),i=await Promise.all(t.map(async e=>{let t=z.join(m,`${e}.json`),i;try{let e=r?.get(t);i=e===void 0?await J(t,n):structuredClone(e)}catch(t){if(t instanceof I.ZodError)return console.warn(`Skipping item ${e} due to malformed JSON: ${t.message}`),null;throw t}return i&&o&&!await o(i)?null:i}));for(let e of i){if(!e)continue;let t=f?.(e)??null;if(v?.sortKey){if(t){let e=t.localeCompare(v.sortKey);if(s===`desc`?e>=0:e<=0)continue}b.push(e);continue}if(v){let t=e.createdAt.getTime(),n=v.timestamp.getTime();if(s===`desc`){if(t>n||t===n&&v.id&&d&&d(e)>=v.id)continue}else if(t<n||t===n&&v.id&&d&&d(e)<=v.id)continue}b.push(e)}}b.sort((e,t)=>{if(f){let n=f(e),r=f(t);if(n!==null&&r!==null)return s===`asc`?n.localeCompare(r):r.localeCompare(n)}let n=e.createdAt.getTime(),r=t.createdAt.getTime(),i=s===`asc`?n-r:r-n;if(i===0&&d){let n=d(e),r=d(t);return s===`asc`?n.localeCompare(r):r.localeCompare(n)}return i});let x=b.length>c,S=x?b.slice(0,c):b;return{data:S,cursor:S.length>0?Ot(S[S.length-1].createdAt,d?.(S[S.length-1]),f?.(S[S.length-1])):null,hasMore:x}}const At=T(`@workflow/world-local//packageInfo`,1,()=>({cached:null}));function jt(){return typeof import.meta.url==`string`&&import.meta.url?z.dirname(Se(import.meta.url)):null}async function Mt(){if(At.cached)return At.cached;let e=jt();if(e)try{let t=await Ee(z.join(e,`../package.json`),`utf-8`);return At.cached=JSON.parse(t),At.cached}catch{}return At.cached={name:`@workflow/world-local`,version:`5.0.0-beta.46`},At.cached}const Nt=`version.txt`;var Pt=class extends Error{dataDir;code;constructor(e,t,n){super(e),this.name=`DataDirAccessError`,this.dataDir=t,this.code=n}},Ft=class extends Error{oldVersion;newVersion;suggestedVersion;constructor(e,t,n,r){super(e),this.name=`DataDirVersionError`,this.oldVersion=t,this.newVersion=n,this.suggestedVersion=r}};function It(e){let t=e.match(/^(\d+)\.(\d+)\.(\d+)(?:-(.+))?$/);if(!t)throw Error(`Invalid version string: "${e}"`);return{major:parseInt(t[1],10),minor:parseInt(t[2],10),patch:parseInt(t[3],10),prerelease:t[4],raw:e}}function Q(e){let t=`${e.major}.${e.minor}.${e.patch}`;return e.prerelease?`${t}-${e.prerelease}`:t}function Lt(e){let t=e.trim(),n=t.lastIndexOf(`@`);if(n<=0)throw Error(`Invalid version file content: "${e}"`);return{packageName:t.substring(0,n),version:It(t.substring(n+1))}}function Rt(e,t){return`${e}@${Q(t)}`}function zt(e,t){console.log(`[world-local] Upgrading from version ${Q(e)} to ${Q(t)}`)}async function Bt(e){let t=z.resolve(e);try{await Te(t,{recursive:!0})}catch(e){let n=e;if(n.code!==`EEXIST`)throw new Pt(`Failed to create data directory "${t}": ${n.message}`,t,n.code)}try{await Ce(t,we.R_OK)}catch(e){let n=e;throw new Pt(`Data directory "${t}" is not readable: ${n.message}`,t,n.code)}let n=z.join(t,`.workflow-write-test-${Date.now()}`);try{await je(n,``),await Ae(n).catch(e=>{if(e.code!==`ENOENT`)throw e})}catch(e){let n=e;throw new Pt(`Data directory "${t}" is not writable: ${n.message}`,t,n.code)}}async function Vt(e){let t=z.join(z.resolve(e),Nt);try{return Lt(await Ee(t,`utf-8`))}catch(e){if(e.code===`ENOENT`)return null;throw e}}async function Ht(e,t){let n=z.join(z.resolve(e),Nt),r=Rt((await Mt()).name,t);await je(n,r)}function Ut(e,t){return t||Q(e)}async function Wt(e){await Bt(e);let t=await Mt(),n=It(t.version),r=await Vt(e);if(r===null){await Ht(e,n);return}let{version:i}=r;if(Q(i)!==Q(n))try{zt(i,n),await Ht(e,n)}catch(e){let r=Ut(i,e instanceof Ft?e.suggestedVersion:void 0);throw console.error(`[world-local] Failed to upgrade data directory from version ${Q(i)} to ${Q(n)}:`,e instanceof Error?e.message:e),console.error(`[world-local] Data is not compatible with the current version. Please downgrade to ${t.name}@${r}`),e}}const Gt=T(`@workflow/world-local//telemetry`,1,()=>({apiPromise:null,tracerPromise:null}));async function Kt(){return Gt.apiPromise||=import(`../../@opentelemetry/api/index.js`).catch(()=>null),Gt.apiPromise}async function qt(){return Gt.tracerPromise||=Kt().then(e=>e?e.trace.getTracer(`workflow`):null),Gt.tracerPromise}async function Jt(e,...t){let[n,r]=await Promise.all([qt(),Kt()]),{fn:i,opts:a}=typeof t[0]==`function`?{fn:t[0],opts:{}}:{fn:t[1],opts:t[0]};if(!i)throw Error(`Function to trace must be provided`);return!n||!r?await i():n.startActiveSpan(e,a,async e=>{try{let t=await i(e);return e.setStatus({code:r.SpanStatusCode.OK}),t}catch(t){throw e.setStatus({code:r.SpanStatusCode.ERROR,message:t.message}),t}finally{e.end()}})}async function Yt(e){let t=await Kt();if(t)return t.SpanKind[e]}function Xt(...e){return t=>Object.fromEntries(e.map(e=>[e,t]))}const Zt=Xt(`peer.service`),Qt=Xt(`rpc.system`),$t=Xt(`rpc.service`),en=Xt(`rpc.method`),tn=Xt(`workflow.run.id`),nn=Xt(`step.id`),rn={peerService:`world-local`,rpcSystem:`local`,rpcService:`world-local`},an={"world.runs.get":0,"world.runs.experimentalSetAttributes":0,"world.steps.get":0,"world.events.create":0,"world.events.get":0},on=new Set([`world.steps.list`,`world.events.list`,`world.hooks.list`]);function sn(e){if(e.length>=2&&typeof e[1]==`object`&&e[1]!==null){let t=e[1];if(typeof t.eventType==`string`)return t.eventType}}function cn(e,t){return typeof e[t]==`string`?e[t]:void 0}function ln(e){if(typeof e!=`object`||!e)return;let t=e.runId;return typeof t==`string`?t:void 0}function un(e){if(typeof e!=`object`||!e)return;let t=e;if(typeof t.runId==`string`)return t.runId;for(let e of[`run`,`step`,`hook`,`wait`]){let n=t[e];if(typeof n==`object`&&n){let e=n.runId;if(typeof e==`string`)return e}}}function dn(e,t,n){let r=`${e}.${t}`,i={},a=an[r],o=a===void 0?on.has(r)?ln(n[0]):void 0:cn(n,a);if(o&&Object.assign(i,tn(o)),r===`world.steps.get`){let e=cn(n,1);e&&Object.assign(i,nn(e))}return i}function fn(e,t){let n={};for(let r of Object.keys(t))if(typeof t[r]!=`function`)n[r]=t[r];else{let i=t[r],a=String(r);n[r]=async(...t)=>{let n=`${e}.${a}`;if(e===`world.events`&&a===`create`){let r=sn(t);r&&(n=`${e}.${a} ${r}`)}return Jt(n,{kind:await Yt(`INTERNAL`)},async r=>{r?.setAttributes({...Zt(rn.peerService),...Qt(rn.rpcSystem),...$t(rn.rpcService),...en(n),...dn(e,a,t)});let o=await i(...t),s=un(o);return s&&r?.setAttributes(tn(s)),o})}}return n}var pn=t((t=>{var n=t&&t.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.RateLimit=t.Sema=void 0;let r=n(e(`events`));function i(e,t,n,r,i){for(let a=0;a<i;++a)n[a+r]=e[a+t],e[a+t]=void 0}function a(e){return e>>>=0,--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,e+1}function o(e){return a(Math.min(Math.max(16,e),1073741824))}var s=class{constructor(e){this._capacity=o(e),this._length=0,this._front=0,this.arr=[]}push(e){let t=this._length;this.checkCapacity(t+1);let n=this._front+t&this._capacity-1;return this.arr[n]=e,this._length=t+1,t+1}pop(){let e=this._length;if(e===0)return;let t=this._front+e-1&this._capacity-1,n=this.arr[t];return this.arr[t]=void 0,this._length=e-1,n}shift(){let e=this._length;if(e===0)return;let t=this._front,n=this.arr[t];return this.arr[t]=void 0,this._front=t+1&this._capacity-1,this._length=e-1,n}get length(){return this._length}checkCapacity(e){this._capacity<e&&this.resizeTo(o(this._capacity*1.5+16))}resizeTo(e){let t=this._capacity;this._capacity=e;let n=this._front,r=this._length;if(n+r>t){let e=n+r&t-1;i(this.arr,0,this.arr,t,e)}}},c=class extends r.default{};function l(e){return typeof e==`function`}function u(){return`1`}var d=class{constructor(e,{initFn:t=u,pauseFn:n,resumeFn:r,capacity:i=10}={}){if(l(n)!==l(r))throw Error(`pauseFn and resumeFn must be both set for pausing`);this.nrTokens=e,this.free=new s(e),this.waiting=new s(i),this.releaseEmitter=new c,this.noTokens=t===u,this.pauseFn=n,this.resumeFn=r,this.paused=!1,this.releaseEmitter.on(`release`,e=>{let t=this.waiting.shift();t?t.resolve(e):(this.resumeFn&&this.paused&&(this.paused=!1,this.resumeFn()),this.free.push(e))});for(let n=0;n<e;n++)this.free.push(t())}tryAcquire(){return this.free.pop()}async acquire(){let e=this.tryAcquire();return e===void 0?new Promise((e,t)=>{this.pauseFn&&!this.paused&&(this.paused=!0,this.pauseFn()),this.waiting.push({resolve:e,reject:t})}):e}release(e){this.releaseEmitter.emit(`release`,this.noTokens?`1`:e)}drain(){let e=Array(this.nrTokens);for(let t=0;t<this.nrTokens;t++)e[t]=this.acquire();return Promise.all(e)}nrWaiting(){return this.waiting.length}};t.Sema=d;function f(e,{timeUnit:t=1e3,uniformDistribution:n=!1}={}){let r=new d(n?1:e),i=n?t/e:t;return async function(){await r.acquire(),setTimeout(()=>r.release(),i)}}t.RateLimit=f}))(),mn=N(),hn=class{contentType=`application/json`;serialize(e){return Buffer.from(JSON.stringify(e,K))}async deserialize(e){let t=[],n=e.getReader();for(;;){let{done:e,value:r}=await n.read();if(e)break;r&&t.push(r)}let r=Buffer.concat(t).toString();return JSON.parse(r,bt)}};const gn=parseInt(process.env.WORKFLOW_LOCAL_QUEUE_MAX_VISIBILITY??`0`,10)||1/0,_n=2147483647,vn=parseInt(process.env.WORKFLOW_LOCAL_QUEUE_CONCURRENCY??`0`,10)||1e3;function yn(e,t){let n=process.env[e];if(n===void 0||n===``)return t;let r=Number.parseInt(n,10);return Number.isFinite(r)&&r>=0?r:t}function bn(){return{bodyTimeout:yn(`WORKFLOW_LOCAL_BODY_TIMEOUT_MS`,3e4),connections:1e3,headersTimeout:yn(`WORKFLOW_LOCAL_HEADERS_TIMEOUT_MS`,3e4),keepAliveTimeout:3e4}}const xn=`Cannot perform ArrayBuffer.prototype.slice on a detached ArrayBuffer`;function Sn(e){let t=e,n=new Set;for(;t&&typeof t==`object`&&!n.has(t);){if(n.add(t),`message`in t&&typeof t.message==`string`&&t.message.includes(xn))return!0;t=`cause`in t?t.cause:void 0}return!1}function Cn(e){let t=bn(),r=S()?P({maxSockets:t.connections,keepAliveMs:t.keepAliveTimeout}):void 0,a=r?void 0:new mn.Agent(t),o=new hn,s=ue(),c=new pn.Sema(vn),l=new AbortController,u=l.signal,d=new Map,f=new Map,p=async(l,p,m)=>{let h=[];if(m?.idempotencyKey){let e=d.get(m.idempotencyKey);if(e)return{messageId:e}}let g=o.serialize(p),{prefix:_}=i(l),v=de.parse(`msg_${s()}`),y=p,b=y.runId??void 0,x=y.stepId??void 0;if(m?.idempotencyKey){let e=m.idempotencyKey;d.set(e,v),h.push(()=>{d.delete(e)})}return(async()=>{if(m?.delaySeconds&&m.delaySeconds>0){let e=Math.min(m.delaySeconds*1e3,_n);await Pe(e,void 0,{signal:u})}c.tryAcquire()||(n(`[world-local]: concurrency limit (${vn}) reached, waiting for queue to free up`),await c.acquire());let i=0;try{for(let n=0;n<256;n++){let o={...m?.headers,"content-type":`application/json`,"x-vqs-queue-name":l,"x-vqs-message-id":v,"x-vqs-message-attempt":String(i+1)},s=f.get(_),c,d;try{if(s)c=await s(new Request(A(at(e),{type:`flow`}),{method:`POST`,headers:o,body:g}));else{let n=await ot(e),i=A(n,{type:`flow`});c=r?await j(i,{method:`POST`,headers:new Headers(o),body:g,agents:r,signal:u,headersTimeoutMs:t.headersTimeout,bodyTimeoutMs:t.bodyTimeout}):await fetch(i,{method:`POST`,duplex:`half`,dispatcher:a,headers:o,body:g,signal:u})}i++,d=await c.text()}catch(e){let t=e?.name;if(u.aborted||t===`AbortError`||t===`ResponseAborted`)return;if(Sn(e))throw e;console.error(`[world-local] Queue delivery failed at the transport (loop ${n+1}), retrying`,{queueName:l,messageId:v,...b&&{runId:b},...x&&{stepId:x},error:String(e)}),await Pe(5e3,void 0,{signal:u});continue}if(c.ok){try{let e=Number(JSON.parse(d).timeoutSeconds);if(Number.isFinite(e)&&e>=0){if(e>0){let t=Math.min(e*1e3,_n);await Pe(t,void 0,{signal:u})}continue}}catch{}return}console.error(`[world-local] Queue message failed (attempt ${i}, HTTP ${c.status})`,{queueName:l,messageId:v,...b&&{runId:b},...x&&{stepId:x},handlerError:d}),await Pe(5e3,void 0,{signal:u})}console.error(`[world-local] Queue message exhausted safety limit (256 attempts)`,{queueName:l,messageId:v,...b&&{runId:b},...x&&{stepId:x}})}finally{c.release()}})().catch(e=>{e?.name!==`AbortError`&&e?.name!==`ResponseAborted`&&(Sn(e)?console.error(`[local world] Queue operation failed: detected "${xn}". This usually means a Next.js proxy/middleware consumed Workflow's internal request before the executor could read it. Exclude \`/.well-known/workflow/*\` from your matcher. See https://workflow-sdk.dev/docs/getting-started/next#configure-proxy-handler`,{queueName:l,messageId:v,...b&&{runId:b},...x&&{stepId:x},originalError:e}):console.error(`[local world] Queue operation failed:`,e))}).finally(()=>{for(let e of h)e()}),{messageId:v}},m=I.compile(I.object({"x-vqs-queue-name":_,"x-vqs-message-id":de,"x-vqs-message-attempt":I.coerce.number()}));return{queue:p,createQueueHandler:(e,t)=>async n=>{let r=m.safeParse(Object.fromEntries(n.headers));if(!r.success||!n.body)return Response.json({error:n.body?`Missing required headers`:`Missing request body`},{status:400});let i=r.data[`x-vqs-queue-name`],a=r.data[`x-vqs-message-id`],o=r.data[`x-vqs-message-attempt`];if(!i.startsWith(e))return Response.json({error:`Unhandled queue`},{status:400});let s=await new hn().deserialize(n.body);try{let e=await t(s,{attempt:o,queueName:i,messageId:a});if(typeof s==`object`&&s&&`invoke`in s&&s.invoke===!0)return Response.json({result:e});let n=null;return typeof e==`object`&&e&&`timeoutSeconds`in e&&typeof e.timeoutSeconds==`number`&&(n=Math.min(e.timeoutSeconds,gn)),n==null?Response.json({ok:!0}):Response.json({timeoutSeconds:n})}catch(e){return Response.json(String(e),{status:500})}},getDeploymentId:async()=>`dpl_local@${(await Mt()).version}`,registerHandler(e,t){f.set(e,t)},async close(){u.aborted||(l.abort(),r&&M(r),await a?.close())}}}var wn=t(((t,n)=>{var r=e(`constants`),i=process.cwd,a=null,o=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){return a||=i.call(process),a};try{process.cwd()}catch{}if(typeof process.chdir==`function`){var s=process.chdir;process.chdir=function(e){a=null,s.call(process,e)},Object.setPrototypeOf&&Object.setPrototypeOf(process.chdir,s)}n.exports=c;function c(e){r.hasOwnProperty(`O_SYMLINK`)&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)&&t(e),e.lutimes||n(e),e.chown=s(e.chown),e.fchown=s(e.fchown),e.lchown=s(e.lchown),e.chmod=i(e.chmod),e.fchmod=i(e.fchmod),e.lchmod=i(e.lchmod),e.chownSync=c(e.chownSync),e.fchownSync=c(e.fchownSync),e.lchownSync=c(e.lchownSync),e.chmodSync=a(e.chmodSync),e.fchmodSync=a(e.fchmodSync),e.lchmodSync=a(e.lchmodSync),e.stat=l(e.stat),e.fstat=l(e.fstat),e.lstat=l(e.lstat),e.statSync=u(e.statSync),e.fstatSync=u(e.fstatSync),e.lstatSync=u(e.lstatSync),e.chmod&&!e.lchmod&&(e.lchmod=function(e,t,n){n&&process.nextTick(n)},e.lchmodSync=function(){}),e.chown&&!e.lchown&&(e.lchown=function(e,t,n,r){r&&process.nextTick(r)},e.lchownSync=function(){}),o===`win32`&&(e.rename=typeof e.rename==`function`?(function(t){function n(n,r,i){var a=Date.now(),o=0;t(n,r,function s(c){if(c&&(c.code===`EACCES`||c.code===`EPERM`||c.code===`EBUSY`)&&Date.now()-a<6e4){setTimeout(function(){e.stat(r,function(e,a){e&&e.code===`ENOENT`?t(n,r,s):i(c)})},o),o<100&&(o+=10);return}i&&i(c)})}return Object.setPrototypeOf&&Object.setPrototypeOf(n,t),n})(e.rename):e.rename),e.read=typeof e.read==`function`?(function(t){function n(n,r,i,a,o,s){var c;if(s&&typeof s==`function`){var l=0;c=function(u,d,f){if(u&&u.code===`EAGAIN`&&l<10)return l++,t.call(e,n,r,i,a,o,c);s.apply(this,arguments)}}return t.call(e,n,r,i,a,o,c)}return Object.setPrototypeOf&&Object.setPrototypeOf(n,t),n})(e.read):e.read,e.readSync=typeof e.readSync==`function`?(function(t){return function(n,r,i,a,o){for(var s=0;;)try{return t.call(e,n,r,i,a,o)}catch(e){if(e.code===`EAGAIN`&&s<10){s++;continue}throw e}}})(e.readSync):e.readSync;function t(e){e.lchmod=function(t,n,i){e.open(t,r.O_WRONLY|r.O_SYMLINK,n,function(t,r){if(t){i&&i(t);return}e.fchmod(r,n,function(t){e.close(r,function(e){i&&i(t||e)})})})},e.lchmodSync=function(t,n){var i=e.openSync(t,r.O_WRONLY|r.O_SYMLINK,n),a=!0,o;try{o=e.fchmodSync(i,n),a=!1}finally{if(a)try{e.closeSync(i)}catch{}else e.closeSync(i)}return o}}function n(e){r.hasOwnProperty(`O_SYMLINK`)&&e.futimes?(e.lutimes=function(t,n,i,a){e.open(t,r.O_SYMLINK,function(t,r){if(t){a&&a(t);return}e.futimes(r,n,i,function(t){e.close(r,function(e){a&&a(t||e)})})})},e.lutimesSync=function(t,n,i){var a=e.openSync(t,r.O_SYMLINK),o,s=!0;try{o=e.futimesSync(a,n,i),s=!1}finally{if(s)try{e.closeSync(a)}catch{}else e.closeSync(a)}return o}):e.futimes&&(e.lutimes=function(e,t,n,r){r&&process.nextTick(r)},e.lutimesSync=function(){})}function i(t){return t&&function(n,r,i){return t.call(e,n,r,function(e){d(e)&&(e=null),i&&i.apply(this,arguments)})}}function a(t){return t&&function(n,r){try{return t.call(e,n,r)}catch(e){if(!d(e))throw e}}}function s(t){return t&&function(n,r,i,a){return t.call(e,n,r,i,function(e){d(e)&&(e=null),a&&a.apply(this,arguments)})}}function c(t){return t&&function(n,r,i){try{return t.call(e,n,r,i)}catch(e){if(!d(e))throw e}}}function l(t){return t&&function(n,r,i){typeof r==`function`&&(i=r,r=null);function a(e,t){t&&(t.uid<0&&(t.uid+=4294967296),t.gid<0&&(t.gid+=4294967296)),i&&i.apply(this,arguments)}return r?t.call(e,n,r,a):t.call(e,n,a)}}function u(t){return t&&function(n,r){var i=r?t.call(e,n,r):t.call(e,n);return i&&(i.uid<0&&(i.uid+=4294967296),i.gid<0&&(i.gid+=4294967296)),i}}function d(e){return!(e&&e.code!==`ENOSYS`&&(process.getuid&&process.getuid()===0||e.code!==`EINVAL`&&e.code!==`EPERM`))}}})),Tn=t(((t,n)=>{var r=e(`stream`).Stream;n.exports=i;function i(e){return{ReadStream:t,WriteStream:n};function t(n,i){if(!(this instanceof t))return new t(n,i);r.call(this);var a=this;this.path=n,this.fd=null,this.readable=!0,this.paused=!1,this.flags=`r`,this.mode=438,this.bufferSize=65536,i||={};for(var o=Object.keys(i),s=0,c=o.length;s<c;s++){var l=o[s];this[l]=i[l]}if(this.encoding&&this.setEncoding(this.encoding),this.start!==void 0){if(typeof this.start!=`number`)throw TypeError(`start must be a Number`);if(this.end===void 0)this.end=1/0;else if(typeof this.end!=`number`)throw TypeError(`end must be a Number`);if(this.start>this.end)throw Error(`start must be <= end`);this.pos=this.start}if(this.fd!==null){process.nextTick(function(){a._read()});return}e.open(this.path,this.flags,this.mode,function(e,t){if(e){a.emit(`error`,e),a.readable=!1;return}a.fd=t,a.emit(`open`,t),a._read()})}function n(t,i){if(!(this instanceof n))return new n(t,i);r.call(this),this.path=t,this.fd=null,this.writable=!0,this.flags=`w`,this.encoding=`binary`,this.mode=438,this.bytesWritten=0,i||={};for(var a=Object.keys(i),o=0,s=a.length;o<s;o++){var c=a[o];this[c]=i[c]}if(this.start!==void 0){if(typeof this.start!=`number`)throw TypeError(`start must be a Number`);if(this.start<0)throw Error(`start must be >= zero`);this.pos=this.start}this.busy=!1,this._queue=[],this.fd===null&&(this._open=e.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush())}}})),En=t(((e,t)=>{t.exports=r;var n=Object.getPrototypeOf||function(e){return e.__proto__};function r(e){if(typeof e!=`object`||!e)return e;if(e instanceof Object)var t={__proto__:n(e)};else var t=Object.create(null);return Object.getOwnPropertyNames(e).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}),t}})),Dn=t(((t,n)=>{var r=e(`fs`),i=wn(),a=Tn(),o=En(),s=e(`util`),c,l;typeof Symbol==`function`&&typeof Symbol.for==`function`?(c=Symbol.for(`graceful-fs.queue`),l=Symbol.for(`graceful-fs.previous`)):(c=`___graceful-fs.queue`,l=`___graceful-fs.previous`);function u(){}function d(e,t){Object.defineProperty(e,c,{get:function(){return t}})}var f=u;s.debuglog?f=s.debuglog(`gfs4`):/\bgfs4\b/i.test(process.env.NODE_DEBUG||``)&&(f=function(){var e=s.format.apply(s,arguments);e=`GFS4: `+e.split(/\n/).join(`
5
+ GFS4: `),console.error(e)}),r[c]||(d(r,global[c]||[]),r.close=(function(e){function t(t,n){return e.call(r,t,function(e){e||g(),typeof n==`function`&&n.apply(this,arguments)})}return Object.defineProperty(t,l,{value:e}),t})(r.close),r.closeSync=(function(e){function t(t){e.apply(r,arguments),g()}return Object.defineProperty(t,l,{value:e}),t})(r.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||``)&&process.on(`exit`,function(){f(r[c]),e(`assert`).equal(r[c].length,0)})),global[c]||d(global,r[c]),n.exports=p(o(r)),process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!r.__patched&&(n.exports=p(r),r.__patched=!0);function p(e){i(e),e.gracefulify=p,e.createReadStream=w,e.createWriteStream=T;var t=e.readFile;e.readFile=n;function n(e,n,r){return typeof n==`function`&&(r=n,n=null),i(e,n,r);function i(e,n,r,a){return t(e,n,function(t){t&&(t.code===`EMFILE`||t.code===`ENFILE`)?m([i,[e,n,r],t,a||Date.now(),Date.now()]):typeof r==`function`&&r.apply(this,arguments)})}}var r=e.writeFile;e.writeFile=o;function o(e,t,n,i){return typeof n==`function`&&(i=n,n=null),a(e,t,n,i);function a(e,t,n,i,o){return r(e,t,n,function(r){r&&(r.code===`EMFILE`||r.code===`ENFILE`)?m([a,[e,t,n,i],r,o||Date.now(),Date.now()]):typeof i==`function`&&i.apply(this,arguments)})}}var s=e.appendFile;s&&(e.appendFile=c);function c(e,t,n,r){return typeof n==`function`&&(r=n,n=null),i(e,t,n,r);function i(e,t,n,r,a){return s(e,t,n,function(o){o&&(o.code===`EMFILE`||o.code===`ENFILE`)?m([i,[e,t,n,r],o,a||Date.now(),Date.now()]):typeof r==`function`&&r.apply(this,arguments)})}}var l=e.copyFile;l&&(e.copyFile=u);function u(e,t,n,r){return typeof n==`function`&&(r=n,n=0),i(e,t,n,r);function i(e,t,n,r,a){return l(e,t,n,function(o){o&&(o.code===`EMFILE`||o.code===`ENFILE`)?m([i,[e,t,n,r],o,a||Date.now(),Date.now()]):typeof r==`function`&&r.apply(this,arguments)})}}var d=e.readdir;e.readdir=h;var f=/^v[0-5]\./;function h(e,t,n){typeof t==`function`&&(n=t,t=null);var r=f.test(process.version)?function(e,t,n,r){return d(e,i(e,t,n,r))}:function(e,t,n,r){return d(e,t,i(e,t,n,r))};return r(e,t,n);function i(e,t,n,i){return function(a,o){a&&(a.code===`EMFILE`||a.code===`ENFILE`)?m([r,[e,t,n],a,i||Date.now(),Date.now()]):(o&&o.sort&&o.sort(),typeof n==`function`&&n.call(this,a,o))}}}if(process.version.substr(0,4)===`v0.8`){var g=a(e);x=g.ReadStream,C=g.WriteStream}var _=e.ReadStream;_&&(x.prototype=Object.create(_.prototype),x.prototype.open=S);var v=e.WriteStream;v&&(C.prototype=Object.create(v.prototype),C.prototype.open=ee),Object.defineProperty(e,"ReadStream",{get:function(){return x},set:function(e){x=e},enumerable:!0,configurable:!0}),Object.defineProperty(e,"WriteStream",{get:function(){return C},set:function(e){C=e},enumerable:!0,configurable:!0});var y=x;Object.defineProperty(e,"FileReadStream",{get:function(){return y},set:function(e){y=e},enumerable:!0,configurable:!0});var b=C;Object.defineProperty(e,"FileWriteStream",{get:function(){return b},set:function(e){b=e},enumerable:!0,configurable:!0});function x(e,t){return this instanceof x?(_.apply(this,arguments),this):x.apply(Object.create(x.prototype),arguments)}function S(){var e=this;ne(e.path,e.flags,e.mode,function(t,n){t?(e.autoClose&&e.destroy(),e.emit(`error`,t)):(e.fd=n,e.emit(`open`,n),e.read())})}function C(e,t){return this instanceof C?(v.apply(this,arguments),this):C.apply(Object.create(C.prototype),arguments)}function ee(){var e=this;ne(e.path,e.flags,e.mode,function(t,n){t?(e.destroy(),e.emit(`error`,t)):(e.fd=n,e.emit(`open`,n))})}function w(t,n){return new e.ReadStream(t,n)}function T(t,n){return new e.WriteStream(t,n)}var te=e.open;e.open=ne;function ne(e,t,n,r){return typeof n==`function`&&(r=n,n=null),i(e,t,n,r);function i(e,t,n,r,a){return te(e,t,n,function(o,s){o&&(o.code===`EMFILE`||o.code===`ENFILE`)?m([i,[e,t,n,r],o,a||Date.now(),Date.now()]):typeof r==`function`&&r.apply(this,arguments)})}}return e}function m(e){f(`ENQUEUE`,e[0].name,e[1]),r[c].push(e),_()}var h;function g(){for(var e=Date.now(),t=0;t<r[c].length;++t)r[c][t].length>2&&(r[c][t][3]=e,r[c][t][4]=e);_()}function _(){if(clearTimeout(h),h=void 0,r[c].length!==0){var e=r[c].shift(),t=e[0],n=e[1],i=e[2],a=e[3],o=e[4];if(a===void 0)f(`RETRY`,t.name,n),t.apply(null,n);else if(Date.now()-a>=6e4){f(`TIMEOUT`,t.name,n);var s=n.pop();typeof s==`function`&&s.call(null,i)}else{var l=Date.now()-o,u=Math.max(o-a,1);l>=Math.min(u*1.2,100)?(f(`RETRY`,t.name,n),t.apply(null,n.concat([a]))):r[c].push(e)}h===void 0&&(h=setTimeout(_,0))}}})),On=t(((e,t)=>{function n(e,t){typeof t==`boolean`&&(t={forever:t}),this._originalTimeouts=JSON.parse(JSON.stringify(e)),this._timeouts=e,this._options=t||{},this._maxRetryTime=t&&t.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}t.exports=n,n.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts},n.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timeouts=[],this._cachedTimeouts=null},n.prototype.retry=function(e){if(this._timeout&&clearTimeout(this._timeout),!e)return!1;var t=new Date().getTime();if(e&&t-this._operationStart>=this._maxRetryTime)return this._errors.unshift(Error(`RetryOperation timeout occurred`)),!1;this._errors.push(e);var n=this._timeouts.shift();if(n===void 0){if(this._cachedTimeouts)this._errors.splice(this._errors.length-1,this._errors.length),this._timeouts=this._cachedTimeouts.slice(0),n=this._timeouts.shift();else return!1}var r=this,i=setTimeout(function(){r._attempts++,r._operationTimeoutCb&&(r._timeout=setTimeout(function(){r._operationTimeoutCb(r._attempts)},r._operationTimeout),r._options.unref&&r._timeout.unref()),r._fn(r._attempts)},n);return this._options.unref&&i.unref(),!0},n.prototype.attempt=function(e,t){this._fn=e,t&&(t.timeout&&(this._operationTimeout=t.timeout),t.cb&&(this._operationTimeoutCb=t.cb));var n=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){n._operationTimeoutCb()},n._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)},n.prototype.try=function(e){console.log(`Using RetryOperation.try() is deprecated`),this.attempt(e)},n.prototype.start=function(e){console.log(`Using RetryOperation.start() is deprecated`),this.attempt(e)},n.prototype.start=n.prototype.try,n.prototype.errors=function(){return this._errors},n.prototype.attempts=function(){return this._attempts},n.prototype.mainError=function(){if(this._errors.length===0)return null;for(var e={},t=null,n=0,r=0;r<this._errors.length;r++){var i=this._errors[r],a=i.message,o=(e[a]||0)+1;e[a]=o,o>=n&&(t=i,n=o)}return t}})),kn=t((e=>{var t=On();e.operation=function(n){return new t(e.timeouts(n),{forever:n&&n.forever,unref:n&&n.unref,maxRetryTime:n&&n.maxRetryTime})},e.timeouts=function(e){if(e instanceof Array)return[].concat(e);var t={retries:10,factor:2,minTimeout:1e3,maxTimeout:1/0,randomize:!1};for(var n in e)t[n]=e[n];if(t.minTimeout>t.maxTimeout)throw Error(`minTimeout is greater than maxTimeout`);for(var r=[],i=0;i<t.retries;i++)r.push(this.createTimeout(i,t));return e&&e.forever&&!r.length&&r.push(this.createTimeout(i,t)),r.sort(function(e,t){return e-t}),r},e.createTimeout=function(e,t){var n=t.randomize?Math.random()+1:1,r=Math.round(n*t.minTimeout*t.factor**+e);return r=Math.min(r,t.maxTimeout),r},e.wrap=function(t,n,r){if(n instanceof Array&&(r=n,n=null),!r)for(var i in r=[],t)typeof t[i]==`function`&&r.push(i);for(var a=0;a<r.length;a++){var o=r[a],s=t[o];t[o]=function(r){var i=e.operation(n),a=Array.prototype.slice.call(arguments,1),o=a.pop();a.push(function(e){i.retry(e)||(e&&(arguments[0]=i.mainError()),o.apply(this,arguments))}),i.attempt(function(){r.apply(t,a)})}.bind(t,s),t[o].options=n}}})),An=t(((e,t)=>{t.exports=kn()})),jn=t(((e,t)=>{let n=Symbol();function r(e,t,r){let i=t[n];if(i)return t.stat(e,(e,t)=>{if(e)return r(e);r(null,t.mtime,i)});let a=new Date(Math.ceil(Date.now()/1e3)*1e3+5);t.utimes(e,a,a,i=>{if(i)return r(i);t.stat(e,(e,i)=>{if(e)return r(e);let a=i.mtime.getTime()%1e3==0?`s`:`ms`;Object.defineProperty(t,n,{value:a}),r(null,i.mtime,a)})})}function i(e){let t=Date.now();return e===`s`&&(t=Math.ceil(t/1e3)*1e3),new Date(t)}t.exports.probe=r,t.exports.getMtime=i})),Mn=t(((t,n)=>{let r=e(`path`),i=Dn(),a=An(),o=F(),s=jn(),c={};function l(e,t){return t.lockfilePath||`${e}.lock`}function u(e,t,n){if(!t.realpath)return n(null,r.resolve(e));t.fs.realpath(e,n)}function d(e,t,n){let r=l(e,t);t.fs.mkdir(r,i=>{if(!i)return s.probe(r,t.fs,(e,i,a)=>{if(e)return t.fs.rmdir(r,()=>{}),n(e);n(null,i,a)});if(i.code!==`EEXIST`)return n(i);if(t.stale<=0)return n(Object.assign(Error(`Lock file is already being held`),{code:`ELOCKED`,file:e}));t.fs.stat(r,(r,i)=>{if(r)return r.code===`ENOENT`?d(e,{...t,stale:0},n):n(r);if(!f(i,t))return n(Object.assign(Error(`Lock file is already being held`),{code:`ELOCKED`,file:e}));p(e,t,r=>{if(r)return n(r);d(e,{...t,stale:0},n)})})})}function f(e,t){return e.mtime.getTime()<Date.now()-t.stale}function p(e,t,n){t.fs.rmdir(l(e,t),e=>{if(e&&e.code!==`ENOENT`)return n(e);n()})}function m(e,t){let n=c[e];n.updateTimeout||(n.updateDelay=n.updateDelay||t.update,n.updateTimeout=setTimeout(()=>{n.updateTimeout=null,t.fs.stat(n.lockfilePath,(r,i)=>{let a=n.lastUpdate+t.stale<Date.now();if(r)return r.code===`ENOENT`||a?h(e,n,Object.assign(r,{code:`ECOMPROMISED`})):(n.updateDelay=1e3,m(e,t));if(n.mtime.getTime()!==i.mtime.getTime())return h(e,n,Object.assign(Error(`Unable to update lock within the stale threshold`),{code:`ECOMPROMISED`}));let o=s.getMtime(n.mtimePrecision);t.fs.utimes(n.lockfilePath,o,o,r=>{let i=n.lastUpdate+t.stale<Date.now();if(!n.released){if(r)return r.code===`ENOENT`||i?h(e,n,Object.assign(r,{code:`ECOMPROMISED`})):(n.updateDelay=1e3,m(e,t));n.mtime=o,n.lastUpdate=Date.now(),n.updateDelay=null,m(e,t)}})})},n.updateDelay),n.updateTimeout.unref&&n.updateTimeout.unref())}function h(e,t,n){t.released=!0,t.updateTimeout&&clearTimeout(t.updateTimeout),c[e]===t&&delete c[e],t.options.onCompromised(n)}function g(e,t,n){t={stale:1e4,update:null,realpath:!0,retries:0,fs:i,onCompromised:e=>{throw e},...t},t.retries=t.retries||0,t.retries=typeof t.retries==`number`?{retries:t.retries}:t.retries,t.stale=Math.max(t.stale||0,2e3),t.update=t.update==null?t.stale/2:t.update||0,t.update=Math.max(Math.min(t.update,t.stale/2),1e3),u(e,t,(e,r)=>{if(e)return n(e);let i=a.operation(t.retries);i.attempt(()=>{d(r,t,(e,a,o)=>{if(i.retry(e))return;if(e)return n(i.mainError());let s=c[r]={lockfilePath:l(r,t),mtime:a,mtimePrecision:o,options:t,lastUpdate:Date.now()};m(r,t),n(null,e=>{if(s.released)return e&&e(Object.assign(Error(`Lock is already released`),{code:`ERELEASED`}));_(r,{...t,realpath:!1},e)})})})})}function _(e,t,n){t={fs:i,realpath:!0,...t},u(e,t,(e,r)=>{if(e)return n(e);let i=c[r];if(!i)return n(Object.assign(Error(`Lock is not acquired/owned by you`),{code:`ENOTACQUIRED`}));i.updateTimeout&&clearTimeout(i.updateTimeout),i.released=!0,delete c[r],p(r,t,n)})}function v(e,t,n){t={stale:1e4,realpath:!0,fs:i,...t},t.stale=Math.max(t.stale||0,2e3),u(e,t,(e,r)=>{if(e)return n(e);t.fs.stat(l(r,t),(e,r)=>e?e.code===`ENOENT`?n(null,!1):n(e):n(null,!f(r,t)))})}function y(){return c}o(()=>{for(let e in c){let t=c[e].options;try{t.fs.rmdirSync(l(e,t))}catch{}}}),n.exports.lock=g,n.exports.unlock=_,n.exports.check=v,n.exports.getLocks=y})),Nn=t(((e,t)=>{let n=Dn();function r(e){let t=[`mkdir`,`realpath`,`stat`,`rmdir`,`utimes`],n={...e};return t.forEach(t=>{n[t]=(...n)=>{let r=n.pop(),i;try{i=e[`${t}Sync`](...n)}catch(e){return r(e)}r(null,i)}}),n}function i(e){return(...t)=>new Promise((n,r)=>{t.push((e,t)=>{e?r(e):n(t)}),e(...t)})}function a(e){return(...t)=>{let n,r;if(t.push((e,t)=>{n=e,r=t}),e(...t),n)throw n;return r}}function o(e){if(e={...e},e.fs=r(e.fs||n),typeof e.retries==`number`&&e.retries>0||e.retries&&typeof e.retries.retries==`number`&&e.retries.retries>0)throw Object.assign(Error(`Cannot use retries with the sync api`),{code:`ESYNC`});return e}t.exports={toPromise:i,toSync:a,toSyncOptions:o}})),Pn=t(((e,t)=>{let n=Mn(),{toPromise:r,toSync:i,toSyncOptions:a}=Nn();async function o(e,t){let i=await r(n.lock)(e,t);return r(i)}function s(e,t){let r=i(n.lock)(e,a(t));return i(r)}function c(e,t){return r(n.unlock)(e,t)}function l(e,t){return i(n.unlock)(e,a(t))}function u(e,t){return r(n.check)(e,t)}function d(e,t){return i(n.check)(e,a(t))}t.exports=o,t.exports.lock=o,t.exports.unlock=c,t.exports.lockSync=s,t.exports.unlockSync=l,t.exports.check=u,t.exports.checkSync=d}))();function Fn(e){return be(`sha256`).update(e).digest(`hex`)}function In(e,t,n){return H(e,`.locks`,`hooks`,n?`${t}.disposed.${n}`:`${t}.disposed`)}async function Ln(e,t,n){let r=[In(e,t)];n&&r.push(In(e,t,n));for(let e of r)try{return await R.access(e),!0}catch{}return!1}function Rn(e,t,n){return H(e,`.locks`,`runs`,n?`${t}.terminal.${n}`:`${t}.terminal`)}async function zn(e,t,n){let r=[Rn(e,t)];n&&r.push(Rn(e,t,n));for(let e of r)try{return await R.access(e),!0}catch(e){if(e.code!==`ENOENT`)throw e}return!1}function Bn(e,t,n){return H(e,`.locks`,`runs`,n?`${t}.pending.${n}`:`${t}.pending`)}function Vn(e,t,n,r){return z.join(Bn(e,t,r),`${n}.json`)}async function Hn(e,t,n){let r=[Bn(e,t)];n&&r.push(Bn(e,t,n));for(let e of r){let t;try{t=await R.readdir(e)}catch(e){if(e.code===`ENOENT`)continue;throw e}for(let n of t)try{await U(()=>R.unlink(z.join(e,n)))}catch(e){if(e.code!==`ENOENT`)throw e}await R.rmdir(e).catch(()=>{})}}async function Un(e,t,n){let r=await Wn(e,t,n),i=Date.now();if(r.maxId)try{let e=ee(r.maxId.replace(/^evnt_/,``));i<=e&&(i=e+1)}catch{}return{eventId:`evnt_${$n(i)}`,createdAt:new Date(i)}}async function Wn(e,t,n){let r=[];try{r=await R.readdir(z.join(e,`events`))}catch(e){if(e.code!==`ENOENT`)throw e}let i=`${t}-`,a=[],o=null,s=0,c=!1,l=0;for(let e of r){if(!e.startsWith(i)||!e.endsWith(`.json`))continue;let t=e.slice(0,-5);if(!mt(t)&&!(n&&pt(t,n)))continue;let r=ft(t).slice(i.length);l+=1,a.push(r),(!o||r>o)&&(o=r);let u=v(r);u!==null&&(c=!0,u>s&&(s=u))}return{maxId:o,usesSlots:c,maxSlot:s,count:l,ids:a}}function Gn(e,t){return z.join(e,`hooks`,`tokens`,`${Fn(t)}.json`)}const Kn=I.compile(I.object({hookId:I.string().optional(),runId:I.string(),eventId:I.string().optional(),tokenRetentionUntil:I.coerce.date().optional()}));async function qn(e){try{return await J(e,Kn)}catch(e){if(e instanceof SyntaxError||e instanceof I.ZodError)return null;throw e}}async function Jn(e,t,n){let r=Gn(e,t);await R.mkdir(z.dirname(r),{recursive:!0});let i=new AbortController,a;try{a=await(0,Pn.lock)(r,{realpath:!1,stale:3e4,update:1e3,retries:{retries:350,factor:1,minTimeout:100,maxTimeout:100},onCompromised(e){i.abort(new O(`Hook token claim lock was compromised`,{cause:e}))}})}catch(e){throw new O(`Could not acquire Hook token claim lock`,{cause:e})}let o;try{o=await n(i.signal),i.signal.throwIfAborted()}catch(e){throw i.signal.aborted||await a().catch(()=>{}),e}try{await a()}catch(e){throw new O(`Could not release Hook token claim lock`,{cause:e})}return o}function Yn(e,t,n){let r=be(`sha256`).update(`${t}\x00${n}`).digest(`hex`);return z.join(e,`hooks`,`resumes`,`${r}.json`)}async function Xn(e,t,n,r){await Jn(e,t,async i=>{let a=Gn(e,t),o=await qn(a);o&&o.runId===n&&o.hookId===r&&(i.throwIfAborted(),await Y(a))})}function Zn(e,t,n,r){let i=be(`sha256`).update(`${t}\x00${n}\x00${r}`).digest(`hex`);return z.join(e,`hooks`,`tokens`,`${i}.recovery.json`)}const Qn=T(`@workflow/world-local//storageMonotonicUlid`,1,()=>({next:ue(()=>Math.random())})),$n=e=>Qn.next(e),er=e=>{let t=RegExp(`^${e}_`,`g`);return n=>{let r=ft(n.replace(/\.json$/,``))+`.json`,i=r.indexOf(`-`);if(i===-1){let e=r.replace(/\.json$/,``).replace(t,``);return te(e)}if(e===`step`)return null;let a=r.substring(i+1).replace(/\.json$/,``).replace(t,``);return te(a)}},tr=I.compile(I.object({runId:I.string()})),nr=I.compile(I.object({hookId:I.string(),tag:I.string().optional()}));function rr(e,t){return H(e,`hooks`,`token-index`,Fn(t))}function ir(e,t){return V(`hookId`,t),H(e,`hooks`,`id-index`,t)}function ar(e){return H(e,`hooks`,`by-run`)}function or(e){let t=ft(e);return t===e?void 0:e.slice(t.length+1)}function sr(e,t){return t?mt(e)||pt(e,t):mt(e)}async function cr(e){try{return await J(e,r)}catch(e){if(e instanceof SyntaxError||e instanceof I.ZodError)return null;throw e}}async function lr(e,t,n,r,i,a){V(`runId`,n),V(`eventId`,i),a!==void 0&&V(`tag`,a);let o=a?`${i}.${a}.json`:`${i}.json`,s=JSON.stringify({runId:n});await Promise.all([X(z.join(rr(e,t),o),s),X(z.join(ir(e,r),o),s)])}function ur(e,t,n,r){return W(e,`hooks/by-run`,`${t}-${n}`,r)}async function dr(e,t,n,r){await X(ur(e,t,n,r),JSON.stringify(r?{hookId:n,tag:r}:{hookId:n}))}async function fr(e,t,n,r){await Y(ur(e,t,n,r)),r&&await Y(ur(e,t,n))}async function pr(e,t){V(`runId`,t);let n=ar(e),r=`${t}-`,i=[];for(let e of await Z(n)){if(!e.startsWith(r))continue;let t=null;try{t=await J(z.join(n,`${e}.json`),nr)}catch(e){if(!(e instanceof SyntaxError||e instanceof I.ZodError))throw e}i.push({fileId:e,hookId:t?.hookId??null,tag:t?.tag})}return i}async function mr(e,t){await Y(z.join(ar(e),`${t}.json`))}const hr=T(`@workflow/world-local//hookIndexEnsureCache`,1,()=>({ensuredBasedirs:new Map}));function gr(){hr.ensuredBasedirs.clear()}async function _r(e){let t=z.resolve(e),n=hr.ensuredBasedirs.get(t);return n||(n=yr(t).catch(e=>{throw hr.ensuredBasedirs.delete(t),e}),hr.ensuredBasedirs.set(t,n)),n}async function vr(e,t,n){for(let r=0;r<e.length;r+=t)await Promise.all(e.slice(r,r+t).map(n))}async function yr(e){let t=z.join(e,`hooks`,`.hook-index-complete`);try{await R.access(t);return}catch{}let n=z.join(e,`events`);await vr(await Z(n),32,async t=>{let r=await cr(z.join(n,`${t}.json`));if(!r||r.eventType!==`hook_created`||typeof r.correlationId!=`string`)return;let i=r.eventData?.token;if(typeof i==`string`)try{await lr(e,i,r.runId,r.correlationId,r.eventId,or(t))}catch{}});let r=z.join(e,`hooks`);await vr(await Z(r),32,async t=>{let n=null;try{n=await J(z.join(r,`${t}.json`),x)}catch(e){if(!(e instanceof SyntaxError||e instanceof I.ZodError))throw e}if(n)try{await dr(e,n.runId,n.hookId,or(t))}catch{}}),await X(t,``)}async function br(e,t,n,r){await _r(e);let i;try{i=t.kind===`token`?rr(e,t.token):ir(e,t.hookId)}catch{return null}let a=(await Z(i)).filter(e=>sr(e,r)).sort((e,t)=>ft(t).localeCompare(ft(e)));for(let t of a){let r=null;try{r=await J(z.join(i,`${t}.json`),tr)}catch(e){if(!(e instanceof SyntaxError||e instanceof I.ZodError))throw e}if(!r)continue;let a=ft(t),o;try{o=W(e,`events`,`${r.runId}-${a}`,or(t))}catch{continue}let s=await cr(o);if(s&&s.eventType===`hook_created`&&typeof s.correlationId==`string`&&n(s))return s}return null}function xr(e,t){return t===`none`?{...e,input:void 0,output:void 0}:e}function Sr(e,t){return t===`none`?{...e,input:void 0,output:void 0}:e}function Cr(e,t){if(t===`none`){let{metadata:t,...n}=e;return n}return e}function wr(e){if(e.eventType!==`hook_created`)return;let t=e.eventData.token;return typeof t==`string`?t:void 0}function Tr(e){let{token:t,metadata:n,isWebhook:r,isSystem:i,tokenRetentionUntil:a}=e.eventData;return{runId:e.runId,hookId:e.correlationId,token:t,metadata:n,ownerId:`local-owner`,projectId:`local-project`,environment:`local`,createdAt:e.createdAt,specVersion:e.specVersion,isWebhook:r??!0,isSystem:i??!1,tokenRetentionUntil:a}}function Er(e,t){return e.eventType===`hook_created`&&typeof e.correlationId==`string`&&t(e)}async function Dr(e,t,n){let r=await G(e,`runs`,t,d,n);return r?D(r.status):!1}async function Or(e,t,n,r){let i=await br(e,t,e=>Er(e,n),r);if(!i||!Er(i,n))return null;if(await Dr(e,i.runId,r)){let e=i.eventData.tokenRetentionUntil;if(!e||e.getTime()<=Date.now())return null}return await Ln(e,i.correlationId,r)?null:i}async function kr(e,t,n){let r=Tr(t);return await X(Gn(e,r.token),JSON.stringify({token:r.token,hookId:r.hookId,runId:r.runId,eventId:t.eventId,tokenRetentionUntil:t.eventData.tokenRetentionUntil})),await dr(e,r.runId,r.hookId,n),await X(W(e,`hooks`,r.hookId,n),JSON.stringify(r,K,2)),r}async function Ar(e,t,n){let r=await Or(e,{kind:`token`,token:t},e=>wr(e)===t,n);return r?kr(e,r,n):null}async function jr(e,t,n){let r=await Or(e,{kind:`id`,hookId:t},e=>e.correlationId===t,n);return r?kr(e,r,n):null}function Mr(e,t){async function n(n){return await Ln(e,n.hookId,t)?!1:n.tokenRetentionUntil&&n.tokenRetentionUntil.getTime()>Date.now()?!0:!await Dr(e,n.runId,t)}async function r(r){let i=await qn(Gn(e,r));if(i?.hookId){try{let a=await G(e,`hooks`,i.hookId,x,t);if(a?.token===r){if(!await n(a))throw new he(r);return{...a,isWebhook:a.isWebhook??!0}}}catch(e){if(!ct.is(e))throw e}return null}let a=z.join(e,`hooks`),o=await Z(a);for(let e of o){let t=await J(z.join(a,`${e}.json`),x);if(t?.token===r){if(!await n(t))throw new he(r);return{...t,isWebhook:t.isWebhook??!0}}}return null}async function i(r,i){V(`hookId`,r);let a=await G(e,`hooks`,r,x,t);if(a&&!await n(a))throw new he(r);let o=a??await jr(e,r,t);if(!o)throw new he(r);let s=i?.resolveData||`all`;return Cr({...o,isWebhook:o.isWebhook??!0},s)}async function a(n){let i=await r(n)??await Ar(e,n,t);if(!i)throw new he(n);return i}async function o(t){let r=z.join(e,`hooks`),i=t.resolveData||`all`,a=await kt({directory:r,schema:x,sortOrder:t.pagination?.sortOrder??`asc`,limit:t.pagination?.limit,cursor:t.pagination?.cursor,filePrefix:void 0,filter:async e=>t.runId&&e.runId!==t.runId?!1:n(e),getCreatedAt:()=>null,getId:e=>e.hookId});return{...a,data:a.data.map(e=>Cr(e,i))}}return{get:i,getByToken:a,list:o}}async function Nr(e,t){await _r(e);for(let n of await pr(e,t)){if(n.hookId){let r=null,i=null;try{i=W(e,`hooks`,n.hookId,n.tag),r=await J(i,x)}catch(e){if(!ct.is(e)&&!(e instanceof SyntaxError||e instanceof I.ZodError))throw e}if(r&&i&&r.runId===t){if(r.tokenRetentionUntil&&r.tokenRetentionUntil.getTime()>Date.now())continue;await Xn(e,r.token,r.runId,r.hookId),await Y(Zn(e,r.token,r.runId,r.hookId)),await Y(i)}}await mr(e,n.fileId)}}const Pr=T(`@workflow/world-local//streamerMonotonicUlid`,1,()=>({next:ue(()=>Math.random())})),Fr=e=>Pr.next(e),Ir=I.compile(I.object({streams:I.array(I.string())}));function Lr(e){return e===1}function Rr(e){let t=Buffer.from([+!!e.eof]);return Buffer.concat([t,e.chunk])}function zr(e){return Lr(e[0])}function Br(e){return{eof:zr(e),chunk:Buffer.from(e.subarray(1))}}async function Vr(e){try{return await R.readdir(e)}catch(e){if(e.code===`ENOENT`)return[];throw e}}function Hr(e,t,n,r=n,i=()=>!0){for(let a of t){if(!a.endsWith(n))continue;let t=a.slice(0,-n.length);i(t)&&e.set(t,r)}}function Ur(e,t){return V(`streamName`,t),z.join(e,t)}async function Wr(e,t,n){let r=Ur(e,t),i=await Vr(r),a=new Map;return Hr(a,i,`.json`),Hr(a,i,`.bin`,`.bin`,n?e=>!e.endsWith(`.${n}`):void 0),n&&Hr(a,i,`.${n}.bin`),{files:[...a.keys()].sort(),extMap:a,dir:r}}const Gr=`chnk_${`0`.repeat(26)}`;async function Kr(e,t,n){let r=z.join(e,`streams`,`chunks`),i=n?`.${n}`:``,a;try{V(`runId`,t),a=(await G(e,`streams/runs`,t,Ir,n))?.streams??[]}catch(e){qr(`streams of ${t}`,e);return}for(let e of a)try{let t=Ur(r,e);await xt(z.join(t,`${Gr}${i}.bin`),Rr({chunk:Buffer.from([]),eof:!0}),{overwrite:!0});for(let e of await Vr(t))e.startsWith(Gr)||(e.endsWith(`.bin`)||e.endsWith(`.json`))&&await U(()=>R.unlink(z.join(t,e))).catch(t=>{t.code!==`ENOENT`&&qr(e,t)})}catch(t){qr(e,t)}}function qr(e,t){console.warn(`[world-local] Failed to purge stream data for ${e}:`,t instanceof Error?t.message:t)}function Jr(e,t){let n=t?`.${t}`:``,r=new Ie,i=new Set;async function a(n,r){V(`runId`,n),V(`streamName`,r);let a=`${n}:${r}`;if(i.has(a))return;let o=W(e,`streams/runs`,n,t),s=(await G(e,`streams/runs`,n,Ir,t))?.streams??[];s.includes(r)||(s.push(r),await q(o,{streams:s},{overwrite:!0})),i.add(a)}function o(e){return typeof e==`string`?Buffer.from(new TextEncoder().encode(e)):e instanceof Buffer?e:Buffer.from(e)}return{streams:{async write(t,i,s){let c=`chnk_${Fr()}`;await a(await t,i);let l=o(s),u=Rr({chunk:l,eof:!1});await xt(z.join(Ur(z.join(e,`streams`,`chunks`),i),`${c}${n}.bin`),u);let d=Uint8Array.from(l);r.emit(`chunk:${i}`,{streamName:i,chunkData:d,chunkId:c})},async writeMulti(t,i,s){if(s.length===0)return;let c=s.map(()=>`chnk_${Fr()}`);await a(await t,i);let l=s.map(e=>o(e)).map(async(t,r)=>{let a=c[r],o=Rr({chunk:t,eof:!1});return await xt(z.join(Ur(z.join(e,`streams`,`chunks`),i),`${a}${n}.bin`),o),{chunkId:a,chunkData:Uint8Array.from(t)}});for(let e of l){let{chunkId:t,chunkData:n}=await e;r.emit(`chunk:${i}`,{streamName:i,chunkData:n,chunkId:t})}},async close(t,i){let o=`chnk_${Fr()}`;await a(await t,i),await xt(z.join(Ur(z.join(e,`streams`,`chunks`),i),`${o}${n}.bin`),Rr({chunk:Buffer.from([]),eof:!0})),r.emit(`close:${i}`,{streamName:i})},async list(n){return V(`runId`,n),(await G(e,`streams/runs`,n,Ir,t))?.streams??[]},async getChunks(n,r,i){let a=i?.limit??100,{files:o,extMap:s,dir:c}=await Wr(z.join(e,`streams`,`chunks`),r,t),l=0;if(i?.cursor)try{l=JSON.parse(Buffer.from(i.cursor,`base64`).toString(`utf-8`)).i}catch{l=0}let u=!1,d=[],f=0;for(let e of o){let t=s.get(e)??`.bin`,n=z.join(c,`${e}${t}`);if(f<l){if(Lr(await Ct(n))){u=!0;break}f++;continue}if(d.length>=a){Lr(await Ct(n))?u=!0:f++;break}let r=Br(await St(n));if(r.eof){u=!0;break}d.push({index:f,data:Uint8Array.from(r.chunk)}),f++}let p=!u&&f>l+d.length,m=l+d.length;return{data:d,cursor:p?Buffer.from(JSON.stringify({i:m})).toString(`base64`):null,hasMore:p,done:u}},async getInfo(n,r){let{files:i,extMap:a,dir:o}=await Wr(z.join(e,`streams`,`chunks`),r,t),s=!1,c=0;for(let e of i){let t=a.get(e)??`.bin`;if(Lr(await Ct(z.join(o,`${e}${t}`)))){s=!0;break}c++}return{tailIndex:c-1,done:s}},async get(n,i,a=0){let o=z.join(e,`streams`,`chunks`),s=()=>{},c=null,l=!1;return new ReadableStream({async start(e){let n=new Set,u=[],d=!0,f=!1,p=t=>{if(t.chunkData.byteLength===0){n.add(t.chunkId);return}d?(n.add(t.chunkId),u.push({chunkId:t.chunkId,chunkData:Uint8Array.from(t.chunkData)})):n.has(t.chunkId)||(n.add(t.chunkId),e.enqueue(Uint8Array.from(t.chunkData)))},m=()=>{if(d){f=!0;return}l=!0,s();try{e.close()}catch{}};s=()=>{r.off(`chunk:${i}`,p),r.off(`close:${i}`,m),c&&=(clearInterval(c),null)},r.on(`chunk:${i}`,p),r.on(`close:${i}`,m);let{files:h,extMap:g,dir:_}=await Wr(o,i,t),v=h.length;if(typeof a==`number`&&a<0&&h.length>0){let e=h[h.length-1],t=g.get(e)??`.bin`;Lr(await Ct(z.join(_,`${e}${t}`)))&&v--}let y=typeof a==`number`&&a<0?Math.max(0,v+a):a,b=!1;for(let t=y;t<h.length;t++){let r=h[t],i=r;if(n.has(i))continue;let a=g.get(r)??`.bin`,o=Br(await St(z.join(_,`${r}${a}`)));if(o?.eof===!0){b=!0;break}n.add(i),o.chunk.byteLength&&e.enqueue(Uint8Array.from(o.chunk))}d=!1,u.sort((e,t)=>e.chunkId.localeCompare(t.chunkId));for(let t of u)e.enqueue(Uint8Array.from(t.chunkData));if(b){l=!0,s();try{e.close()}catch{}return}if(f){l=!0,s();try{e.close()}catch{}return}for(let e=0;e<y&&e<h.length;e++)n.add(h[e]);if(l){s();return}let x=!1;c=setInterval(async()=>{if(!x){x=!0;try{let{files:r,extMap:a}=await Wr(o,i,t);for(let t of r){let r=t;if(n.has(r))continue;n.add(r);let i=a.get(t)??`.bin`,o=Br(await St(z.join(_,`${t}${i}`)));if(o?.eof===!0){l=!0,s();try{e.close()}catch{}return}if(l)return;o.chunk.byteLength&&e.enqueue(Uint8Array.from(o.chunk))}}catch(e){e instanceof Error&&`code`in e||console.error(`[world-local] Unexpected polling error:`,e)}finally{x=!1}}},100)},cancel(){l=!0,s()}})}}}}function Yr(e){let t=re(e);return t.unsupported&&console.warn(`[world-local] Ignoring unrecognized ${oe} value ${JSON.stringify(t.raw)}; keeping the run's data.`),t.mode===`none`}function Xr(e,t){return{...e,input:void 0,output:void 0,error:void 0,expiredAt:t}}async function Zr(e,t,n){await Promise.all([$r(z.join(e,`steps`),t,e=>{e.input=void 0,e.output=void 0,e.error=void 0}),$r(z.join(e,`events`),t,e=>{let t=e.eventData;if(t&&typeof t==`object`)for(let n of m(String(e.eventType)))delete t[n]}),ei(e,t),Kr(e,t,n)])}const Qr=I.record(I.string(),I.any()),$=I.preprocess(e=>{if(e&&typeof e==`object`&&`eventType`in e&&`eventData`in e){let t=e.eventData;if(t&&typeof t==`object`)for(let n of m(String(e.eventType)))n in t||(t[n]=void 0)}return e},r);async function $r(e,t,n){let r;try{r=await Z(e)}catch(t){ti(e,t);return}for(let i of r){if(!i.startsWith(`${t}-`))continue;let r=z.join(e,`${i}.json`);try{let e=await J(r,Qr);if(!e)continue;n(e),await q(r,e,{overwrite:!0})}catch(e){ti(r,e)}}}async function ei(e,t){let n;try{await _r(e),n=await pr(e,t)}catch(e){ti(`hooks of ${t}`,e);return}for(let r of n)if(r.hookId)try{let n=W(e,`hooks`,r.hookId,r.tag),i=await J(n,Qr);if(!i||i.runId!==t)continue;i.metadata=void 0,await q(n,i,{overwrite:!0})}catch(e){ti(r.hookId,e)}}function ti(e,t){console.warn(`[world-local] Failed to purge user data for ${e}:`,t instanceof Error?t.message:t)}const ni=new Ie;ni.setMaxListeners(0);function ri(){return b(`WORKFLOW_LOCAL_RUN_STATUS_POLL_INTERVAL_MS`,100,{integer:!0,min:1})}function ii(e){ni.emit(`run:${e}`)}function ai(e,t,n){return t<=0||n?.aborted?Promise.resolve():new Promise(r=>{let i=`run:${e}`,a=!1,o=()=>{a||(a=!0,clearTimeout(s),ni.off(i,o),n?.removeEventListener(`abort`,o),r())},s=setTimeout(o,t);ni.once(i,o),n?.addEventListener(`abort`,o,{once:!0})})}async function oi(e,t,n,r,i,a){if(D(a.status)||await zn(e,t))throw new pe(`Workflow run "${t}" is already in a terminal state`);let o=Vn(e,t,n);await X(o,r);try{if(await zn(e,t)||await wt(o,i)!==`linked`)throw new pe(`Workflow run "${t}" is already in a terminal state`)}finally{await R.unlink(o).catch(()=>{})}}async function si(e,t,n,r,i){V(`runId`,t);let a=i?.resolveData??`all`;switch(n.eventType){case`run_cancelled`:{await X(Rn(e,t),``),await Hn(e,t);let n=new Date,i={runId:r.runId,deploymentId:r.deploymentId,workflowName:r.workflowName,specVersion:r.specVersion,executionContext:r.executionContext,input:r.input,createdAt:r.createdAt,expiredAt:r.expiredAt,startedAt:r.startedAt,status:`cancelled`,output:void 0,error:void 0,completedAt:n,updatedAt:n,attributes:r.attributes},o=Yr(i.attributes),s=o?Xr(i,n):i;return await q(H(e,`runs`,`${t}.json`),s,{overwrite:!0}),ii(t),await Nr(e,t),o&&await Zr(e,t,void 0),{event:void 0,run:xr(s,a)}}case`wait_completed`:case`hook_received`:{let i=`evnt_${$n()}`,o=new Date,s={...n,runId:t,eventId:i,createdAt:o,specVersion:7},c=H(e,`events`,`${`${t}-${i}`}.json`);return n.eventType===`hook_received`?await oi(e,t,i,JSON.stringify(s,K,2),c,r):await q(c,s),{event:E(s,a)}}default:throw Error(`Event type '${n.eventType}' not supported for legacy runs (specVersion: ${r.specVersion||`undefined`}). Please upgrade 'workflow' package.`)}}const ci=T(`@workflow/world-local//runFileLocks`,1,()=>({byKey:new Map}));function li(e,t){let n=ci.byKey.get(e),r={},i=(async()=>{n&&await n.catch(()=>void 0);try{return await t()}finally{ci.byKey.get(e)===r.task&&ci.byKey.delete(e)}})();return r.task=i,ci.byKey.set(e,i),i}function ui(e,t){let n=(async(n,r)=>{V(`runId`,n);let i=await G(e,`runs`,n,d,t);if(!i)throw new fe(n);return xr(i,r?.resolveData??`all`)});return{get:n,waitForTerminalStatus:(async(e,t)=>{let r=Date.now()+(t?.timeoutMs??0);for(;;){let i=await n(e,t);if(D(i.status))return i;let a=r-Date.now();if(a<=0||t?.signal?.aborted)return i;await ai(e,Math.min(a,ri()),t?.signal)}}),getMany:(async(e,t)=>{let r=[...new Set(e)],i=await Promise.all(r.map(async e=>{try{return await n(e,t)}catch(e){if(e instanceof fe)return null;throw e}})),a=new Map(r.map((e,t)=>[e,i[t]]));return e.map(e=>a.get(e)??null)}),list:(async t=>{let n=t?.resolveData??`all`,r=await kt({directory:z.join(e,`runs`),schema:d,fileIdFilter:t?.fileIdFilter,filter:e=>!(t?.workflowName&&e.workflowName!==t.workflowName||t?.status!==void 0&&!(Array.isArray(t.status)?t.status:[t.status]).includes(e.status)),sortOrder:t?.pagination?.sortOrder??`desc`,limit:t?.pagination?.limit??200,cursor:t?.pagination?.cursor,getCreatedAt:er(`wrun`),getId:e=>e.runId});return n===`none`?{...r,data:r.data.map(e=>({...e,input:void 0,output:void 0}))}:r}),experimentalSetAttributes:async(n,r,i)=>(V(`runId`,n),li(n,async()=>{let a=await G(e,`runs`,n,d,t);if(!a)throw new fe(n);try{ce(r,{existingKeys:Object.keys(a.attributes??{}),allowReservedAttributes:i?.allowReservedAttributes})}catch(e){throw e instanceof le,e}let o=g(a.attributes,r),s={...a,attributes:o,updatedAt:new Date};return await q(W(e,`runs`,n,t),s,{overwrite:!0}),{attributes:o}}))}}const di=864e5;function fi(){let e=Number(process.env.WORKFLOW_LOCAL_HOOK_RETENTION_LIMIT_DAYS??30);if(!Number.isFinite(e)||e<=0)throw new O(`WORKFLOW_LOCAL_HOOK_RETENTION_LIMIT_DAYS must be a positive number`,{status:400});return e*di}const pi=I.compile(I.object({eventId:I.string()})),mi=I.compile(I.object({runId:I.string(),resumeId:I.string(),hookId:I.string(),eventId:I.string(),payloadDigest:I.string().optional()}));function hi(e,t){return e.eventType===`hook_received`&&e.correlationId===t.hookId&&(e.resumeId===void 0||e.resumeId===t.resumeId)}async function gi(e,t,n,r){let i=await Wn(e,t,r);for(let a of i.ids){let i=await G(e,`events`,`${t}-${a}`,$,r);if(i&&i.resumeId===n.resumeId&&hi(i,n))return i}return null}async function _i(e,t,n){if(t.hookId&&await Ln(e,t.hookId,n))return!0;let r=await G(e,`runs`,t.runId,d,n);return r?D(r.status)?!t.tokenRetentionUntil||t.tokenRetentionUntil.getTime()<=Date.now():!1:!0}async function vi(e){try{return await J(e,pi)}catch(e){if(e instanceof SyntaxError||e instanceof I.ZodError)return null;throw e}}function yi(e){return C(e.eventId)?e.eventId:null}function bi(e,t){let n=ft(t).slice(e.length+1);return C(n)?n:null}async function xi(e,t,n){return(await kt({directory:z.join(e,`events`),schema:$,filePrefix:`${t}-`,filter:e=>e.eventType===`hook_created`&&e.correlationId===n,limit:1,getCreatedAt:er(`evnt`),getId:e=>e.eventId})).data[0]?.eventId??null}async function Si(e,t,n,r,i){let a=await G(e,`events`,`${t}-${r}`,$,i);if(!a||a.eventType!==`hook_created`||a.correlationId!==n||await G(e,`hooks`,n,x,i))return;let o=Tr(a);await lr(e,o.token,t,n,r,i),await dr(e,t,n,i),await X(W(e,`hooks`,n,i),JSON.stringify(o,K,2))}async function Ci(e,t,n,r,i){let a=Zn(e,t,n,r);return await X(a,JSON.stringify({eventId:i}))?i:(await vi(a))?.eventId??null}function wi(e,t,n){let r=e.get(t),i={},a=(async()=>{r&&await r.catch(()=>void 0);try{return await n()}finally{e.get(t)===i.task&&e.delete(t)}})();return i.task=a,e.set(t,a),a}async function Ti(e,t){let n=z.join(e,`waits`),r=await Z(n);for(let e of r)e.startsWith(`${t}-`)&&await Y(z.join(n,`${e}.json`))}async function Ei(e,t,n,r){return li(t,async()=>{let i=(await J(W(e,`runs`,t,n),d))?.attributes??r.attributes,a={...r,attributes:i},o=D(a.status)&&Yr(i);return o&&(a=Xr(a,new Date)),await q(W(e,`runs`,t,n),a,{overwrite:!0}),D(a.status)&&ii(t),{run:a,purged:o}})}function Di(e,t){let n=fi(),r=4194304,i=new Map,m=new Map,_=new Map,b=0;function S(e){let t=i.get(e);if(!t)return;i.delete(e),b-=m.get(e)??0,m.delete(e);let n=_.get(t.runId);n?.delete(e),n?.size===0&&_.delete(t.runId)}function ee(e){for(let t of _.get(e)??[])S(t)}function w(){i.clear(),m.clear(),_.clear(),b=0,T.clear()}let T=new Map;function ne(e){return t?`${e}.${t}`:e}async function re(n,r){let i=`${n}-${y(r)}`;for(let n of t?[W(e,`events`,i,t),W(e,`events`,i)]:[W(e,`events`,i)])try{return await R.stat(n),!0}catch(e){if(e.code!==`ENOENT`)throw e}return!1}async function oe(n,r){let i=ne(n),a=T.get(i);if(a===void 0||r?.rescan){let r=await Wn(e,n,t);a===void 0?(a=r.count>0&&!r.usesSlots?null:{published:r.maxSlot},T.set(i,a)):a!==null&&(a.published=Math.max(a.published,r.maxSlot))}if(a===null)return null;let o=Math.max(a.published+1,1,r?.atLeast??1);for(;await re(n,o);)a.published=Math.max(a.published,o),o+=1;return o}function le(e,t){let n=v(t);if(n===null)return;let r=T.get(ne(e));r&&(r.published=Math.max(r.published,n))}async function ue(e){let t=await oe(e);return t===null?`evnt_${$n()}`:y(t)}async function de(n){let r=await oe(n,{rescan:!0});return r===null?Un(e,n,t):{eventId:y(r),createdAt:new Date}}function A(e,t,n){if(n>r)return;for(;i.size>0&&(i.size>=1e3||b+n>r);){let e=i.keys().next().value;S(e)}i.set(e,t),m.set(e,n),b+=n;let a=_.get(t.runId)??new Set;a.add(e),_.set(t.runId,a)}function _e(e,t,n){if(s(e.eventType)){ee(e.runId);return}let i=Buffer.byteLength(n);if(i>r)return;let a=$.safeParse(JSON.parse(n,bt));a.success&&A(t,a.data,i)}async function ve(n){let r=n;for(let n=0;;n++){let i=W(e,`events`,`${r.runId}-${r.eventId}`,t),a=JSON.stringify(r,K,2),o=v(r.eventId);if(o===null)return await xt(i,a),_e(r,i,a),r;if(await X(i,a))return le(r.runId,r.eventId),_e(r,i,a),r;let s=await oe(r.runId,{rescan:n>0&&n%8==0,atLeast:o+1});Fe(s!==null),r={...r,eventId:y(s)}}}let ye=(t,n)=>kt({directory:z.join(e,`events`),schema:$,cachedItems:i,filePrefix:`${t}-`,sortOrder:n.sortOrder??`asc`,limit:n.limit,cursor:n.cursor,getCreatedAt:er(`evnt`),getId:e=>e.eventId,getSortKey:yi,getSortKeyFromFileId:e=>bi(t,e)}),j=new Map,M=new Map,N={clearCache:w,async create(r,i,m){if(i.eventType===`hook_created`&&i.eventData.tokenRetentionUntil!==void 0&&i.eventData.tokenRetentionUntil.getTime()>Date.now()+n)throw new O(`Hook minimum retention cannot exceed ${n/di} days in the Local World.`,{status:400});if(r!=null&&r!==``&&V(`runId`,r),`correlationId`in i&&typeof i.correlationId==`string`&&V(`correlationId`,i.correlationId),a(i.eventType)&&r&&i.correlationId){let e=t?`${r}-${i.correlationId}.${t}`:`${r}-${i.correlationId}`;return wi(j,e,_)}if(p(i.eventType)&&r&&i.correlationId){let e=t?`${r}-${i.correlationId}.hook.${t}`:`${r}-${i.correlationId}.hook`;return wi(M,e,_)}return _();async function _(){let n=``,p=!1,_=null,b=new Date,S;if(i.eventType===`run_created`&&(!r||r===``))S=`wrun_${$n()}`;else if(r)S=r;else throw Error(`runId is required for non-run_created events`);if(i.eventType===`run_created`&&r&&r!==``){let e=ae(S,`wrun_`);if(e)throw new O(e)}let w=i.specVersion??7,T=null;if(i.eventType!==`run_created`&&![`step_completed`,`step_retrying`].includes(i.eventType)&&(T=await G(e,`runs`,S,d,t),i.eventType===`run_started`&&!T&&`eventData`in i&&i.eventData)){let n=i.eventData;if(n.deploymentId&&n.workflowName&&n.input!==void 0){ce(Object.entries(n.attributes??{}).map(([e,t])=>({key:e,value:t})),{allowReservedAttributes:n.allowReservedAttributes===!0});let r={runId:S,deploymentId:n.deploymentId,status:`pending`,workflowName:n.workflowName,specVersion:w,executionContext:n.executionContext,input:n.input,output:void 0,error:void 0,startedAt:void 0,completedAt:void 0,attributes:n.attributes??{},encryptionPublicKey:n.encryptionPublicKey,createdAt:b,updatedAt:b};if(await X(W(e,`runs`,S,t),JSON.stringify(r,K))){let e=await ue(S);await ve({eventType:`run_created`,runId:S,eventId:e,createdAt:b,specVersion:w,eventData:{deploymentId:n.deploymentId,workflowName:n.workflowName,input:n.input,executionContext:n.executionContext,attributes:n.attributes,allowReservedAttributes:n.allowReservedAttributes,encryptionPublicKey:n.encryptionPublicKey}}),T=r}else T=await G(e,`runs`,S,d,t)}}if(n=await ue(S),!T&&(i.eventType===`run_failed`||i.eventType===`attr_set`||i.eventType===`run_started`))throw new fe(S);if(T){if(se(T.specVersion))throw new me(T.specVersion,7);if(h(T.specVersion))return si(e,S,i,T,m)}let ne=o(i),re=ne&&i.eventType===`step_started`;if(T&&D(T.status)){if(i.eventType===`run_cancelled`&&T.status===`cancelled`){let e=await ve({...i,runId:S,eventId:n,createdAt:b,specVersion:w}),t=m?.resolveData??`all`;return{event:E(e,t),run:T,...T?{maxEvents:ie()}:{}}}if(i.eventType===`run_started`)throw new pe(`Workflow run "${S}" is already in terminal state "${T.status}"`);if(s(i.eventType))throw new k(`Cannot transition run from terminal state "${T.status}"`);if(ne)throw new k(`Cannot create new entities on run in terminal state "${T.status}"`);if(i.eventType===`attr_set`)throw new k(`Cannot set attributes on run in terminal state "${T.status}"`)}let A=null;if(a(i.eventType)&&i.eventType!==`step_created`&&i.correlationId){if(A=await G(e,`steps`,`${S}-${i.correlationId}`,l,t),!A&&!re)throw new O(`Step "${i.correlationId}" not found`);if(re&&A)throw new k(`Step "${i.correlationId}" already created`);if(A){if(u(A.status))throw new k(`Cannot modify step in terminal state "${A.status}"`);if(T&&D(T.status)&&(A.status!==`running`||i.eventType===`step_started`))throw new pe(`Cannot ${i.eventType===`step_started`?`start`:`modify non-running`} step on run in terminal state "${T.status}"`)}}if(f(i.eventType)&&i.correlationId){if(i.eventType===`hook_received`&&m?.resumeId){let n=await J(Yn(e,S,m.resumeId),mi);if(n&&n.hookId===i.correlationId&&(!m.resumePayloadDigest||!n.payloadDigest||n.payloadDigest===m.resumePayloadDigest)){let r=await G(e,`events`,`${S}-${n.eventId}`,$,t),i=r&&hi(r,n)?r:await gi(e,S,n,t);if(i)return{event:i}}}if(i.eventType===`hook_received`&&await Ln(e,i.correlationId,t)||!await G(e,`hooks`,i.correlationId,x,t))throw new he(i.correlationId);if(i.eventType===`hook_received`&&m?.resumeId){let r=Yn(e,S,m.resumeId),a=async r=>{if(r.hookId!==i.correlationId)throw new k(`hook_received resumeId "${m.resumeId}" already recorded for a different hook`);if(m.resumePayloadDigest&&r.payloadDigest&&r.payloadDigest!==m.resumePayloadDigest)throw new k(`hook_received resumeId "${m.resumeId}" already recorded with a different payload`);let a=await G(e,`events`,`${S}-${r.eventId}`,$,t);if(a&&hi(a,r))return{event:a};let o=await gi(e,S,r,t);return o?{event:o}:(_=r.eventId,a||(n=r.eventId,p=!0),null)},o=await J(r,mi);if(o){let e=await a(o);if(e)return e}else if(p=!C(n),_=n,!await X(r,JSON.stringify({runId:S,resumeId:m.resumeId,hookId:i.correlationId,eventId:n,...m.resumePayloadDigest?{payloadDigest:m.resumePayloadDigest}:{}}))){_=null;let e=await J(r,mi);if(e){let t=await a(e);if(t)return t}}}}let j={...i,runId:S,eventId:n,createdAt:b,specVersion:w,...i.eventType===`hook_received`&&m?.resumeId?{resumeId:m.resumeId}:{}};if(i.eventType===`run_started`&&`eventData`in j&&delete j.eventData,re&&j.eventType===`step_started`&&j.eventData){let{input:e,...t}=j.eventData;j={...j,eventData:t}}let M,N=!1,P,F,I,be=!1,xe;if(s(i.eventType)&&T){await X(Rn(e,S,t),``),await Hn(e,S,t);let r=await de(S);n=r.eventId,j={...j,eventId:n,createdAt:r.createdAt}}if(i.eventType===`run_created`&&`eventData`in i){let n=i.eventData;if(ce(Object.entries(n.attributes??{}).map(([e,t])=>({key:e,value:t})),{allowReservedAttributes:n.allowReservedAttributes===!0}),M={runId:S,deploymentId:n.deploymentId,status:`pending`,workflowName:n.workflowName,specVersion:w,executionContext:n.executionContext,input:n.input,output:void 0,error:void 0,startedAt:void 0,completedAt:void 0,attributes:n.attributes??{},encryptionPublicKey:n.encryptionPublicKey,createdAt:b,updatedAt:b},!await X(W(e,`runs`,S,t),JSON.stringify(M,K,2)))throw new k(`Workflow run "${S}" already exists`)}else if(i.eventType===`run_started`){if(T){if(T.status===`running`){if(m?.skipPreload)return{run:T,maxEvents:ie()};let e=await ye(S,{limit:ie()});return{run:T,events:e.data,cursor:e.cursor,hasMore:e.hasMore,maxEvents:ie()}}let n=await Ei(e,S,t,{runId:T.runId,deploymentId:T.deploymentId,workflowName:T.workflowName,specVersion:T.specVersion,executionContext:T.executionContext,input:T.input,createdAt:T.createdAt,expiredAt:T.expiredAt,status:`running`,output:void 0,error:void 0,completedAt:void 0,startedAt:T.startedAt??b,updatedAt:b,attributes:T.attributes,encryptionPublicKey:T.encryptionPublicKey});M=n.run,N=n.purged}}else if(i.eventType===`run_completed`&&`eventData`in i){let n=i.eventData;if(T){let r=await Ei(e,S,t,{runId:T.runId,deploymentId:T.deploymentId,workflowName:T.workflowName,specVersion:T.specVersion,executionContext:T.executionContext,input:T.input,createdAt:T.createdAt,expiredAt:T.expiredAt,startedAt:T.startedAt,status:`completed`,output:n.output,error:void 0,completedAt:b,updatedAt:b,attributes:T.attributes,encryptionPublicKey:T.encryptionPublicKey});M=r.run,N=r.purged,await Promise.all([Nr(e,S),Ti(e,S)])}}else if(i.eventType===`run_failed`&&`eventData`in i){let n=i.eventData;if(T){let r=await Ei(e,S,t,{runId:T.runId,deploymentId:T.deploymentId,workflowName:T.workflowName,specVersion:T.specVersion,executionContext:T.executionContext,input:T.input,createdAt:T.createdAt,expiredAt:T.expiredAt,startedAt:T.startedAt,status:`failed`,output:void 0,error:n.error,errorCode:n.errorCode,completedAt:b,updatedAt:b,attributes:T.attributes,encryptionPublicKey:T.encryptionPublicKey});M=r.run,N=r.purged,await Promise.all([Nr(e,S),Ti(e,S)])}}else if(i.eventType===`run_cancelled`){if(T){let n=await Ei(e,S,t,{runId:T.runId,deploymentId:T.deploymentId,workflowName:T.workflowName,specVersion:T.specVersion,executionContext:T.executionContext,input:T.input,createdAt:T.createdAt,expiredAt:T.expiredAt,startedAt:T.startedAt,status:`cancelled`,output:void 0,error:void 0,completedAt:b,updatedAt:b,attributes:T.attributes,encryptionPublicKey:T.encryptionPublicKey});M=n.run,N=n.purged,await Promise.all([Nr(e,S),Ti(e,S)])}}else if(i.eventType===`attr_set`&&T)M=await li(S,async()=>{let n=await J(W(e,`runs`,S,t),d);if(!n)throw new fe(S);if(ce(i.eventData.changes,{existingKeys:Object.keys(n.attributes),allowReservedAttributes:i.eventData.allowReservedAttributes===!0}),i.correlationId&&i.eventData.writer.type===`workflow`&&!await X(H(e,`.locks`,`attributes`,t?`${S}-${i.correlationId}.created.${t}`:`${S}-${i.correlationId}.created`),``))throw new k(`Attribute event "${i.correlationId}" already exists`);let r={...n,attributes:g(n.attributes,i.eventData.changes),updatedAt:b};return await q(W(e,`runs`,S,t),r,{overwrite:!0}),r});else if(i.eventType===`step_created`&&`eventData`in i){if(!await X(H(e,`.locks`,`steps`,t?`${S}-${i.correlationId}.created.${t}`:`${S}-${i.correlationId}.created`),``))throw new k(`Step "${i.correlationId}" already created`);let n=i.eventData;P={runId:S,stepId:i.correlationId,stepName:n.stepName,status:`pending`,input:n.input,output:void 0,error:void 0,attempt:0,startedAt:void 0,completedAt:void 0,createdAt:b,updatedAt:b,specVersion:w},await q(W(e,`steps`,`${S}-${i.correlationId}`,t),P)}else if(i.eventType===`step_started`){if(!A&&re){let n=i.eventData;if(await X(H(e,`.locks`,`steps`,t?`${S}-${i.correlationId}.created.${t}`:`${S}-${i.correlationId}.created`),``)){let r={runId:S,stepId:i.correlationId,stepName:n.stepName,status:`pending`,input:n.input,output:void 0,error:void 0,attempt:0,startedAt:void 0,completedAt:void 0,createdAt:b,updatedAt:b,specVersion:w};await q(W(e,`steps`,`${S}-${i.correlationId}`,t),r);let a=await ue(S);await ve({eventType:`step_created`,runId:S,eventId:a,createdAt:b,specVersion:w,correlationId:i.correlationId,eventData:{stepName:n.stepName,input:n.input}}),A=r,be=!0}else throw new k(`Step "${i.correlationId}" already created`)}if(A){if(A.retryAfter&&A.retryAfter.getTime()>Date.now())throw new ge(`Cannot start step "${i.correlationId}": retryAfter timestamp has not been reached yet`,{retryAfter:Math.ceil((A.retryAfter.getTime()-Date.now())/1e3)});let n=`${S}-${i.correlationId}`,r=await G(e,`steps`,n,l,t);if(r&&u(r.status))throw new k(`Cannot modify step in terminal state "${r.status}"`);P={...A,status:`running`,startedAt:A.startedAt??b,attempt:A.attempt+1,retryAfter:void 0,updatedAt:b},await q(W(e,`steps`,n,t),P,{overwrite:!0})}}else if(i.eventType===`step_completed`&&`eventData`in i){let n=i.eventData;if(A){let r=`${S}-${i.correlationId}`;if(!await X(H(e,`.locks`,`steps`,t?`${r}.terminal.${t}`:`${r}.terminal`),``))throw new k(`Cannot modify step in terminal state`);P={...A,status:`completed`,output:n.result,completedAt:b,updatedAt:b},await q(W(e,`steps`,r,t),P,{overwrite:!0})}}else if(i.eventType===`step_failed`&&`eventData`in i){let n=i.eventData;if(A){let r=`${S}-${i.correlationId}`;if(!await X(H(e,`.locks`,`steps`,t?`${r}.terminal.${t}`:`${r}.terminal`),``))throw new k(`Cannot modify step in terminal state`);P={...A,status:`failed`,error:n.error,completedAt:b,updatedAt:b},await q(W(e,`steps`,r,t),P,{overwrite:!0})}}else if(i.eventType===`step_retrying`&&`eventData`in i){let n=i.eventData;if(A){let r=`${S}-${i.correlationId}`;P={...A,status:`pending`,error:n.error,retryAfter:n.retryAfter,updatedAt:b},await q(W(e,`steps`,r,t),P,{overwrite:!0})}}else if(i.eventType===`hook_created`&&`eventData`in i){let r=i.eventData,a=Gn(e,r.token),o=JSON.stringify({token:r.token,hookId:i.correlationId,runId:S,eventId:n,tokenRetentionUntil:r.tokenRetentionUntil}),s=await Jn(e,r.token,async n=>{let s=await qn(a);return s||=(n.throwIfAborted(),await Y(a),await Ar(e,r.token,t),await qn(a)),s?s.runId===S&&s.hookId===i.correlationId?{status:`owned`,claim:s}:await _i(e,s,t)?(n.throwIfAborted(),await Y(a),s.hookId&&(await Y(W(e,`hooks`,s.hookId,t)),await Y(Zn(e,r.token,s.runId,s.hookId)),await fr(e,s.runId,s.hookId,t)),n.throwIfAborted(),Fe(await X(a,o)),{status:`claimed`}):{status:`conflict`,claim:s}:(n.throwIfAborted(),Fe(await X(a,o)),{status:`claimed`})});if(s.status===`owned`){let a=s.claim,o;if(a.eventId)o=a.eventId;else{let a=await xi(e,S,i.correlationId);if(a!==null)throw await Si(e,S,i.correlationId,a,t),new k(`Hook "${i.correlationId}" already created`);let s=await Ci(e,r.token,S,i.correlationId,n);if(s===null)throw new k(`Hook "${i.correlationId}" already created`);o=s}n=o,p=!0;let c=te(n.replace(/^evnt_/,``))??b;j={...i,eventData:{...i.eventData,tokenRetentionUntil:a.tokenRetentionUntil},runId:S,eventId:n,createdAt:c,specVersion:w}}if(s.status===`conflict`){let e=s.claim,t=await ve({eventType:`hook_conflict`,correlationId:i.correlationId,eventData:{token:r.token,conflictingRunId:e.runId},runId:S,eventId:n,createdAt:b,specVersion:w}),a=m?.resolveData??`all`,o=typeof m?.sinceCursor==`string`?await ye(S,{sortOrder:`asc`,cursor:m.sinceCursor}):void 0,c={event:E(t,a),run:M,step:P,hook:void 0};return o?{...c,events:a===`none`?o.data.map(e=>E(e,a)):o.data,cursor:o.cursor,hasMore:o.hasMore}:c}let c=j.eventData;F={runId:S,hookId:i.correlationId,token:c.token,metadata:c.metadata,ownerId:`local-owner`,projectId:`local-project`,environment:`local`,createdAt:j.createdAt,specVersion:w,isWebhook:c.isWebhook??!1,isSystem:c.isSystem??!1,tokenRetentionUntil:c.tokenRetentionUntil},xe=s.status===`owned`?{overwrite:!0}:void 0,await lr(e,r.token,S,i.correlationId,n,t)}else if(i.eventType===`hook_disposed`){if(!await X(In(e,i.correlationId,t),``))throw new k(`Hook "${i.correlationId}" already disposed`);let n=W(e,`hooks`,i.correlationId,t),r=await G(e,`hooks`,i.correlationId,x,t);r&&(await Xn(e,r.token,r.runId,r.hookId),await Y(Zn(e,r.token,r.runId,r.hookId))),await Y(n),await fr(e,S,i.correlationId,t)}else if(i.eventType===`wait_created`&&`eventData`in i){let n=`${S}-${i.correlationId}`;if(!await X(H(e,`.locks`,`waits`,t?`${n}.created.${t}`:`${n}.created`),``))throw new k(`Wait "${i.correlationId}" already exists`);let r=i.eventData;I={waitId:n,runId:S,status:`waiting`,resumeAt:r.resumeAt,completedAt:void 0,createdAt:b,updatedAt:b,specVersion:w},await q(W(e,`waits`,n,t),I)}else if(i.eventType===`wait_completed`){let n=`${S}-${i.correlationId}`,r=H(e,`.locks`,`waits`,t?`${n}.completed.${t}`:`${n}.completed`);if(!await X(r,``))throw new k(`Wait "${i.correlationId}" already completed`);let a=await G(e,`waits`,n,c,t);if(!a)throw await R.unlink(r).catch(()=>{}),new O(`Wait "${i.correlationId}" not found`);I={...a,status:`completed`,completedAt:b,updatedAt:b},await q(W(e,`waits`,n,t),I,{overwrite:!0})}if(i.eventType===`hook_received`&&i.correlationId&&await Ln(e,i.correlationId,t))throw new he(i.correlationId);let Se=W(e,`events`,`${S}-${n}`,t),L=JSON.stringify(j,K,2),Ce=async r=>{let i=v(n);if(p||i===null)return!1;let a=await oe(S,{rescan:r>0&&r%8==0,atLeast:i+1});return a!==null&&(n=y(a),j={...j,eventId:n},Se=W(e,`events`,`${S}-${n}`,t),L=JSON.stringify(j,K,2),!0)},we=!1;for(let r=0;;r++){if(i.eventType===`hook_received`){let r=await zn(e,S,t),i=r?null:await G(e,`runs`,S,d,t);if(r||i&&D(i.status))throw new pe(`Workflow run "${S}" is already in a terminal state`);let a=Vn(e,S,`${n}.${$n()}`,t);if(!await X(a,L))throw new O(`Failed to stage event "${n}" for run "${S}": staging path already exists`);try{if(await zn(e,S,t))throw new pe(`Workflow run "${S}" is already in a terminal state`);let n=await wt(a,Se);if(n===`missing`)throw new pe(`Workflow run "${S}" is already in a terminal state`);we=n===`linked`}finally{await Y(a).catch(()=>{})}}else we=await X(Se,L);if(we){le(S,n);break}if(i.eventType===`hook_received`&&m?.resumeId){let r=await G(e,`events`,`${S}-${n}`,$,t);if(r&&hi(r,{runId:S,resumeId:m.resumeId,hookId:i.correlationId,eventId:n}))return{event:r}}if(!await Ce(r))break}if(!we)throw i.eventType===`hook_created`&&i.correlationId&&await Si(e,S,i.correlationId,n,t),new k(`Event "${n}" already exists for run "${S}"`);_e(j,Se,L),i.eventType===`hook_received`&&m?.resumeId&&_!==null&&_!==n&&await xt(Yn(e,S,m.resumeId),JSON.stringify({runId:S,resumeId:m.resumeId,hookId:i.correlationId,eventId:n,...m.resumePayloadDigest?{payloadDigest:m.resumePayloadDigest}:{}}),{overwrite:!0}),F&&i.eventType===`hook_created`&&(await dr(e,F.runId,F.hookId,t),await q(W(e,`hooks`,F.hookId,t),F,xe)),N&&(await Zr(e,S,t),ee(S));let Te=m?.resolveData??`all`,Ee=E(j,Te),De;if(i.eventType===`run_started`&&M&&!m?.skipPreload&&(De=await ye(S,{limit:ie()})),typeof m?.sinceCursor==`string`){let e=await ye(S,{sortOrder:`asc`,cursor:m.sinceCursor});De=Te===`none`?{...e,data:e.data.map(e=>E(e,Te))}:e}let Oe={event:Ee,run:M,step:P,hook:F,wait:I,...be?{stepCreated:!0}:{},...M?{maxEvents:ie()}:{}};return De?{...Oe,events:De.data,cursor:De.cursor,hasMore:De.hasMore}:Oe}},async get(n,r,i){V(`runId`,n),V(`eventId`,r);let a=await G(e,`events`,`${n}-${r}`,$,t);if(!a)throw Error(`Event ${r} in run ${n} not found`);let o=i?.resolveData??`all`;return E(a,o)},async list(e){let{runId:t}=e;V(`runId`,t);let n=e.resolveData??`all`,r=await ye(t,{...e.pagination,limit:e.pagination?.limit??ie()});return n===`none`?{...r,data:r.data.map(e=>E(e,n))}:r},async listByCorrelationId(t){let n=t.correlationId;V(`correlationId`,n),V(`runId`,t.runId);let r=t.resolveData??`all`,a=await kt({directory:z.join(e,`events`),schema:$,cachedItems:i,filePrefix:`${t.runId}-`,filter:e=>e.correlationId===n,sortOrder:t.pagination?.sortOrder??`asc`,limit:t.pagination?.limit,cursor:t.pagination?.cursor,getCreatedAt:er(`evnt`),getId:e=>e.eventId,getSortKey:yi,getSortKeyFromFileId:e=>bi(t.runId,e)});return r===`none`?{...a,data:a.data.map(e=>E(e,r))}:a}};async function P(e,t,n){if(!e.event)return e;let r=v(e.event.eventId);if(r===null||t<1||r<=t+1)return e;let i=r-t-1,a=await N.list({runId:e.event.runId,pagination:{cursor:`${Et}${y(t)}`,limit:i,sortOrder:`asc`},resolveData:n}),o=e.event.eventId,s=a.data.filter(e=>e.eventId<o);return{...e,events:s,cursor:null,hasMore:s.length<r-t-1}}let F=(async(e,t,n)=>{if(n?.eventCount===void 0)return N.create(e,t,n);let r=n.resolveData??`all`,i=await N.create(e,t,n);return typeof n.sinceCursor==`string`?i:P(i,n.eventCount,r)});return{...N,create:F}}function Oi(e,t){return{get:(async(n,r,i)=>{V(`runId`,n),V(`stepId`,r);let a=await G(e,`steps`,`${n}-${r}`,l,t);if(!a)throw Error(`Step ${r} in run ${n} not found`);return Sr(a,i?.resolveData??`all`)}),list:(async t=>{V(`runId`,t.runId);let n=t.resolveData??`all`,r=await kt({directory:z.join(e,`steps`),schema:l,filePrefix:`${t.runId}-`,sortOrder:t.pagination?.sortOrder??`desc`,limit:t.pagination?.limit,cursor:t.pagination?.cursor,getCreatedAt:er(`step`),getId:e=>e.stepId});return n===`none`?{...r,data:r.data.map(e=>({...e,input:void 0,output:void 0}))}:r})}}function ki(e,t){let n=ui(e,t),r=Oi(e,t),i=Di(e,t),a=Mr(e,t);return{runs:fn(`world.runs`,n),steps:fn(`world.steps`,r),events:fn(`world.events`,i),hooks:fn(`world.hooks`,a),clearCache:()=>i.clearCache()}}function Ai(e){let t=e?Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0)):{},n={...rt.value,...t};Ve(n.dataDir);let r=n.tag,i=Cn(n),{clearCache:a,...o}=ki(n.dataDir,r),s=it(n);return{specVersion:ne(),capabilities:{hookRetention:{active:!0},hookResumeDedup:!0},...i,...o,...fn(`world.streams`,{...Jr(n.dataDir,r),...n.streamFlushIntervalMs!==void 0&&{streamFlushIntervalMs:n.streamFlushIntervalMs}}),async start(){if(await Wt(n.dataDir),!s)return;let e=r?e=>pt(e,r):mt,t={...o.runs,list:(t=>o.runs.list({...t,fileIdFilter:e}))};await w(t,i.queue,`world-local`)},async close(){a(),await i.close()},async clear(){if(a(),r){let e=n.dataDir,t=z.join(e,`hooks`),i=await ht(t,r),{HookSchema:a}=await import(`../../_chunks/workflow/dist-CNT2vjZ4.js`).then(e=>e.t);await Promise.all(i.map(async n=>{let r=await J(z.join(t,n),a);r?.token&&(await Y(z.join(t,`tokens`,`${Fn(r.token)}.json`)),await Y(Zn(e,r.token,r.runId,r.hookId)))})),await Promise.all([`runs`,`steps`,`events`,`hooks`,`hooks/by-run`,`waits`,`streams/runs`].map(async t=>{let n=z.join(e,t),i=await ht(n,r);await Promise.all(i.map(e=>Y(z.join(n,e))))}));for(let t of[`token-index`,`id-index`]){let n=z.join(e,`hooks`,t),i;try{i=await L.readdir(n,{withFileTypes:!0})}catch{i=[]}await Promise.all(i.filter(e=>e.isDirectory()).map(async e=>{let t=z.join(n,e.name),i=await ht(t,r);await Promise.all(i.map(e=>Y(z.join(t,e))))}))}await L.rm(z.join(e,`.locks`),{recursive:!0,force:!0}).catch(()=>{});let o=z.join(e,`streams`,`chunks`),s;try{s=await L.readdir(o,{withFileTypes:!0})}catch{s=[]}await Promise.all(s.filter(e=>e.isDirectory()).map(async e=>{let t=z.join(o,e.name),n=await gt(t,r,`.bin`);await Promise.all(n.map(e=>L.unlink(z.join(t,e)).catch(()=>{})))})),ut()}else ut(),gr(),await ke(n.dataDir,{recursive:!0,force:!0}),await Wt(n.dataDir)}}}export{Pt as DataDirAccessError,Ft as DataDirVersionError,Le as UnwritableDataDirError,Ai as createWorld,Bt as ensureDataDir,Wt as initDataDir,It as parseVersion};