@workflow/core 5.0.0-beta.3 → 5.0.0-beta.31

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 (268) hide show
  1. package/dist/attribute-changes.d.ts +7 -0
  2. package/dist/attribute-changes.d.ts.map +1 -0
  3. package/dist/attribute-changes.js +25 -0
  4. package/dist/capabilities.d.ts +22 -1
  5. package/dist/capabilities.d.ts.map +1 -1
  6. package/dist/capabilities.js +41 -4
  7. package/dist/capture-stack.d.ts +16 -0
  8. package/dist/capture-stack.d.ts.map +1 -0
  9. package/dist/capture-stack.js +21 -0
  10. package/dist/class-serialization.d.ts +32 -0
  11. package/dist/class-serialization.d.ts.map +1 -1
  12. package/dist/class-serialization.js +37 -1
  13. package/dist/classify-error.d.ts +26 -3
  14. package/dist/classify-error.d.ts.map +1 -1
  15. package/dist/classify-error.js +103 -6
  16. package/dist/context-errors.d.ts +27 -0
  17. package/dist/context-errors.d.ts.map +1 -0
  18. package/dist/context-errors.js +101 -0
  19. package/dist/context-violation-error.d.ts +97 -0
  20. package/dist/context-violation-error.d.ts.map +1 -0
  21. package/dist/context-violation-error.js +147 -0
  22. package/dist/create-hook.d.ts +42 -3
  23. package/dist/create-hook.d.ts.map +1 -1
  24. package/dist/create-hook.js +4 -3
  25. package/dist/define-hook.d.ts.map +1 -1
  26. package/dist/define-hook.js +20 -5
  27. package/dist/describe-error.d.ts +70 -0
  28. package/dist/describe-error.d.ts.map +1 -0
  29. package/dist/describe-error.js +165 -0
  30. package/dist/encryption.d.ts +22 -1
  31. package/dist/encryption.d.ts.map +1 -1
  32. package/dist/encryption.js +72 -27
  33. package/dist/events-consumer.d.ts +25 -1
  34. package/dist/events-consumer.d.ts.map +1 -1
  35. package/dist/events-consumer.js +95 -16
  36. package/dist/flushable-stream.d.ts +10 -10
  37. package/dist/flushable-stream.d.ts.map +1 -1
  38. package/dist/flushable-stream.js +26 -15
  39. package/dist/global.d.ts +35 -1
  40. package/dist/global.d.ts.map +1 -1
  41. package/dist/global.js +21 -3
  42. package/dist/index.d.ts +1 -0
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +2 -1
  45. package/dist/log-format.d.ts +25 -0
  46. package/dist/log-format.d.ts.map +1 -0
  47. package/dist/log-format.js +250 -0
  48. package/dist/logger.d.ts +29 -30
  49. package/dist/logger.d.ts.map +1 -1
  50. package/dist/logger.js +82 -32
  51. package/dist/private.d.ts +107 -2
  52. package/dist/private.d.ts.map +1 -1
  53. package/dist/private.js +80 -3
  54. package/dist/runtime/constants.d.ts +189 -0
  55. package/dist/runtime/constants.d.ts.map +1 -1
  56. package/dist/runtime/constants.js +310 -15
  57. package/dist/runtime/get-port-lazy.d.ts +25 -0
  58. package/dist/runtime/get-port-lazy.d.ts.map +1 -0
  59. package/dist/runtime/get-port-lazy.js +92 -0
  60. package/dist/runtime/get-world-lazy.d.ts +23 -0
  61. package/dist/runtime/get-world-lazy.d.ts.map +1 -0
  62. package/dist/runtime/get-world-lazy.js +46 -0
  63. package/dist/runtime/helpers.d.ts +57 -6
  64. package/dist/runtime/helpers.d.ts.map +1 -1
  65. package/dist/runtime/helpers.js +169 -32
  66. package/dist/runtime/replay-budget.d.ts +98 -0
  67. package/dist/runtime/replay-budget.d.ts.map +1 -0
  68. package/dist/runtime/replay-budget.js +192 -0
  69. package/dist/runtime/resume-hook.d.ts.map +1 -1
  70. package/dist/runtime/resume-hook.js +39 -23
  71. package/dist/runtime/run-id-time.d.ts +10 -0
  72. package/dist/runtime/run-id-time.d.ts.map +1 -0
  73. package/dist/runtime/run-id-time.js +31 -0
  74. package/dist/runtime/run.d.ts +6 -2
  75. package/dist/runtime/run.d.ts.map +1 -1
  76. package/dist/runtime/run.js +52 -10
  77. package/dist/runtime/runs.d.ts +36 -2
  78. package/dist/runtime/runs.d.ts.map +1 -1
  79. package/dist/runtime/runs.js +18 -7
  80. package/dist/runtime/start.d.ts +58 -1
  81. package/dist/runtime/start.d.ts.map +1 -1
  82. package/dist/runtime/start.js +160 -46
  83. package/dist/runtime/step-executor.d.ts +131 -0
  84. package/dist/runtime/step-executor.d.ts.map +1 -0
  85. package/dist/runtime/step-executor.js +818 -0
  86. package/dist/runtime/step-handler.d.ts.map +1 -1
  87. package/dist/runtime/step-handler.js +718 -557
  88. package/dist/runtime/step-latency.d.ts +131 -0
  89. package/dist/runtime/step-latency.d.ts.map +1 -0
  90. package/dist/runtime/step-latency.js +155 -0
  91. package/dist/runtime/step-ownership.d.ts +72 -0
  92. package/dist/runtime/step-ownership.d.ts.map +1 -0
  93. package/dist/runtime/step-ownership.js +114 -0
  94. package/dist/runtime/step-single-flight.d.ts +12 -0
  95. package/dist/runtime/step-single-flight.d.ts.map +1 -0
  96. package/dist/runtime/step-single-flight.js +69 -0
  97. package/dist/runtime/suspension-handler.d.ts +81 -7
  98. package/dist/runtime/suspension-handler.d.ts.map +1 -1
  99. package/dist/runtime/suspension-handler.js +355 -137
  100. package/dist/runtime/wait-continuation.d.ts +84 -0
  101. package/dist/runtime/wait-continuation.d.ts.map +1 -0
  102. package/dist/runtime/wait-continuation.js +105 -0
  103. package/dist/runtime/wait-until.d.ts +18 -0
  104. package/dist/runtime/wait-until.d.ts.map +1 -0
  105. package/dist/runtime/wait-until.js +42 -0
  106. package/dist/runtime/world-compatibility.d.ts +5 -0
  107. package/dist/runtime/world-compatibility.d.ts.map +1 -0
  108. package/dist/runtime/world-compatibility.js +12 -0
  109. package/dist/runtime/world-init.d.ts +50 -0
  110. package/dist/runtime/world-init.d.ts.map +1 -0
  111. package/dist/runtime/world-init.js +50 -0
  112. package/dist/runtime/world-target.d.ts +11 -0
  113. package/dist/runtime/world-target.d.ts.map +1 -0
  114. package/dist/runtime/world-target.js +15 -0
  115. package/dist/runtime/world.d.ts +21 -9
  116. package/dist/runtime/world.d.ts.map +1 -1
  117. package/dist/runtime/world.js +58 -83
  118. package/dist/runtime.d.ts +15 -10
  119. package/dist/runtime.d.ts.map +1 -1
  120. package/dist/runtime.js +1757 -326
  121. package/dist/schemas.d.ts +1 -1
  122. package/dist/schemas.d.ts.map +1 -1
  123. package/dist/schemas.js +1 -1
  124. package/dist/serialization/client.d.ts +17 -0
  125. package/dist/serialization/client.d.ts.map +1 -0
  126. package/dist/serialization/client.js +48 -0
  127. package/dist/serialization/codec-devalue.d.ts +14 -0
  128. package/dist/serialization/codec-devalue.d.ts.map +1 -0
  129. package/dist/serialization/codec-devalue.js +98 -0
  130. package/dist/serialization/codec.d.ts +106 -0
  131. package/dist/serialization/codec.d.ts.map +1 -0
  132. package/dist/serialization/codec.js +17 -0
  133. package/dist/serialization/compression.d.ts +104 -0
  134. package/dist/serialization/compression.d.ts.map +1 -0
  135. package/dist/serialization/compression.js +260 -0
  136. package/dist/serialization/encryption.d.ts +33 -0
  137. package/dist/serialization/encryption.d.ts.map +1 -0
  138. package/dist/serialization/encryption.js +70 -0
  139. package/dist/serialization/errors.d.ts +34 -0
  140. package/dist/serialization/errors.d.ts.map +1 -0
  141. package/dist/serialization/errors.js +59 -0
  142. package/dist/serialization/format.d.ts +60 -0
  143. package/dist/serialization/format.d.ts.map +1 -0
  144. package/dist/serialization/format.js +97 -0
  145. package/dist/serialization/index.d.ts +19 -0
  146. package/dist/serialization/index.d.ts.map +1 -0
  147. package/dist/serialization/index.js +22 -0
  148. package/dist/serialization/reducers/class.d.ts +11 -0
  149. package/dist/serialization/reducers/class.d.ts.map +1 -0
  150. package/dist/serialization/reducers/class.js +68 -0
  151. package/dist/serialization/reducers/common.d.ts +16 -0
  152. package/dist/serialization/reducers/common.d.ts.map +1 -0
  153. package/dist/serialization/reducers/common.js +417 -0
  154. package/dist/serialization/reducers/step-function.d.ts +35 -0
  155. package/dist/serialization/reducers/step-function.d.ts.map +1 -0
  156. package/dist/serialization/reducers/step-function.js +88 -0
  157. package/dist/serialization/step.d.ts +17 -0
  158. package/dist/serialization/step.d.ts.map +1 -0
  159. package/dist/serialization/step.js +48 -0
  160. package/dist/serialization/types.d.ts +253 -0
  161. package/dist/serialization/types.d.ts.map +1 -0
  162. package/dist/serialization/types.js +25 -0
  163. package/dist/serialization/workflow.d.ts +29 -0
  164. package/dist/serialization/workflow.d.ts.map +1 -0
  165. package/dist/serialization/workflow.js +54 -0
  166. package/dist/serialization-format.d.ts +16 -0
  167. package/dist/serialization-format.d.ts.map +1 -1
  168. package/dist/serialization-format.js +213 -50
  169. package/dist/serialization.d.ts +322 -214
  170. package/dist/serialization.d.ts.map +1 -1
  171. package/dist/serialization.js +1575 -664
  172. package/dist/set-attributes.d.ts +18 -0
  173. package/dist/set-attributes.d.ts.map +1 -0
  174. package/dist/set-attributes.js +61 -0
  175. package/dist/sleep.d.ts.map +1 -1
  176. package/dist/sleep.js +3 -2
  177. package/dist/source-map.d.ts +5 -0
  178. package/dist/source-map.d.ts.map +1 -1
  179. package/dist/source-map.js +102 -10
  180. package/dist/step/context-storage.d.ts +53 -0
  181. package/dist/step/context-storage.d.ts.map +1 -1
  182. package/dist/step/context-storage.js +1 -1
  183. package/dist/step/get-closure-vars.d.ts.map +1 -1
  184. package/dist/step/get-closure-vars.js +3 -2
  185. package/dist/step/get-step-metadata.d.ts.map +1 -1
  186. package/dist/step/get-step-metadata.js +3 -2
  187. package/dist/step/get-workflow-metadata.d.ts.map +1 -1
  188. package/dist/step/get-workflow-metadata.js +3 -2
  189. package/dist/step/writable-stream.d.ts.map +1 -1
  190. package/dist/step/writable-stream.js +58 -6
  191. package/dist/step-hydration-cache.d.ts +148 -0
  192. package/dist/step-hydration-cache.d.ts.map +1 -0
  193. package/dist/step-hydration-cache.js +171 -0
  194. package/dist/step.d.ts.map +1 -1
  195. package/dist/step.js +144 -25
  196. package/dist/symbols.d.ts +28 -0
  197. package/dist/symbols.d.ts.map +1 -1
  198. package/dist/symbols.js +29 -1
  199. package/dist/telemetry/semantic-conventions.d.ts +98 -2
  200. package/dist/telemetry/semantic-conventions.d.ts.map +1 -1
  201. package/dist/telemetry/semantic-conventions.js +66 -1
  202. package/dist/telemetry.d.ts +68 -0
  203. package/dist/telemetry.d.ts.map +1 -1
  204. package/dist/telemetry.js +106 -4
  205. package/dist/types.d.ts +6 -0
  206. package/dist/types.d.ts.map +1 -1
  207. package/dist/types.js +23 -1
  208. package/dist/util.d.ts +16 -6
  209. package/dist/util.d.ts.map +1 -1
  210. package/dist/util.js +25 -16
  211. package/dist/version.d.ts +1 -1
  212. package/dist/version.d.ts.map +1 -1
  213. package/dist/version.js +2 -2
  214. package/dist/vm/index.d.ts.map +1 -1
  215. package/dist/vm/index.js +3 -2
  216. package/dist/vm/script-cache.d.ts +28 -0
  217. package/dist/vm/script-cache.d.ts.map +1 -0
  218. package/dist/vm/script-cache.js +140 -0
  219. package/dist/workflow/abort-controller.d.ts +65 -0
  220. package/dist/workflow/abort-controller.d.ts.map +1 -0
  221. package/dist/workflow/abort-controller.js +277 -0
  222. package/dist/workflow/attribute-dispatcher.d.ts +6 -0
  223. package/dist/workflow/attribute-dispatcher.d.ts.map +1 -0
  224. package/dist/workflow/attribute-dispatcher.js +48 -0
  225. package/dist/workflow/create-hook.d.ts.map +1 -1
  226. package/dist/workflow/create-hook.js +25 -3
  227. package/dist/workflow/define-hook.d.ts +1 -1
  228. package/dist/workflow/define-hook.d.ts.map +1 -1
  229. package/dist/workflow/define-hook.js +8 -4
  230. package/dist/workflow/get-workflow-metadata.d.ts.map +1 -1
  231. package/dist/workflow/get-workflow-metadata.js +14 -3
  232. package/dist/workflow/hook.d.ts.map +1 -1
  233. package/dist/workflow/hook.js +207 -33
  234. package/dist/workflow/index.d.ts +1 -0
  235. package/dist/workflow/index.d.ts.map +1 -1
  236. package/dist/workflow/index.js +5 -3
  237. package/dist/workflow/set-attributes.d.ts +77 -0
  238. package/dist/workflow/set-attributes.d.ts.map +1 -0
  239. package/dist/workflow/set-attributes.js +65 -0
  240. package/dist/workflow/sleep.d.ts.map +1 -1
  241. package/dist/workflow/sleep.js +45 -8
  242. package/dist/workflow/world-init-stub.d.ts +15 -0
  243. package/dist/workflow/world-init-stub.d.ts.map +1 -0
  244. package/dist/workflow/world-init-stub.js +15 -0
  245. package/dist/workflow.d.ts +17 -1
  246. package/dist/workflow.d.ts.map +1 -1
  247. package/dist/workflow.js +190 -56
  248. package/docs/api-reference/create-hook.mdx +38 -0
  249. package/docs/api-reference/create-webhook.mdx +1 -0
  250. package/docs/api-reference/fetch.mdx +5 -0
  251. package/docs/api-reference/index.mdx +3 -0
  252. package/docs/api-reference/set-attributes.mdx +65 -0
  253. package/docs/foundations/cancellation.mdx +459 -0
  254. package/docs/foundations/errors-and-retries.mdx +7 -3
  255. package/docs/foundations/hooks.mdx +29 -0
  256. package/docs/foundations/idempotency.mdx +236 -11
  257. package/docs/foundations/index.mdx +1 -23
  258. package/docs/foundations/meta.json +3 -1
  259. package/docs/foundations/serialization.mdx +77 -41
  260. package/docs/foundations/starting-workflows.mdx +5 -1
  261. package/docs/foundations/streaming.mdx +14 -23
  262. package/docs/foundations/versioning.mdx +263 -0
  263. package/docs/how-it-works/cancellation.mdx +287 -0
  264. package/docs/how-it-works/code-transform.mdx +2 -2
  265. package/docs/how-it-works/encryption.mdx +2 -2
  266. package/docs/how-it-works/event-sourcing.mdx +2 -2
  267. package/docs/how-it-works/meta.json +2 -1
  268. package/package.json +32 -11
@@ -1,102 +1,57 @@
1
- import { createRequire } from 'node:module';
2
- import { resolve } from 'node:path';
3
- import { pathToFileURL } from 'node:url';
4
- import { isVercelWorldTarget, resolveWorkflowTargetWorld, } from '@workflow/utils';
5
- import { createLocalWorld } from '@workflow/world-local';
6
- import { createVercelWorld } from '@workflow/world-vercel';
7
- const require = createRequire(pathToFileURL(process.cwd() + '/package.json').href);
1
+ import * as targetWorldModule from '@workflow/core/runtime/world-target';
2
+ import { assertWorldSupportsRuntimeProtocol } from './world-compatibility.js';
8
3
  const WorldCache = Symbol.for('@workflow/world//cache');
9
4
  const StubbedWorldCache = Symbol.for('@workflow/world//stubbedCache');
10
5
  const WorldCachePromise = Symbol.for('@workflow/world//cachePromise');
11
6
  const StubbedWorldCachePromise = Symbol.for('@workflow/world//stubbedCachePromise');
12
7
  const globalSymbols = globalThis;
13
8
  /**
14
- * Hides the dynamic import behind `new Function` to prevent bundlers from
15
- * trying to resolve it at build time, since the world module may not exist
16
- * at build time. Falls back to `require()` in environments where
17
- * `new Function`-based `import()` is unavailable (e.g. CJS test runners).
9
+ * Create a World instance from a world factory module. Shared by
10
+ * `createWorld()` (for the statically injected target world module) and
11
+ * tooling that loads a world module dynamically (e.g. the Nitro dev
12
+ * handler and `@workflow/world-testing`). Legacy world-specific factory
13
+ * names are still accepted for compatibility, but world packages should
14
+ * export `createWorld()`.
18
15
  */
19
- const dynamicImport = new Function('specifier', 'return import(specifier)');
20
- function resolveModulePath(specifier) {
21
- // Already a file:// URL
22
- if (specifier.startsWith('file://')) {
23
- return specifier;
16
+ export function createWorldFromModule(mod) {
17
+ if (typeof mod.createWorld === 'function') {
18
+ return mod.createWorld();
24
19
  }
25
- // Absolute path - convert to file:// URL
26
- if (specifier.startsWith('/')) {
27
- return pathToFileURL(specifier).href;
20
+ if (typeof mod.createLocalWorld === 'function') {
21
+ return mod.createLocalWorld();
28
22
  }
29
- // Relative path - resolve relative to cwd and convert to file:// URL
30
- if (specifier.startsWith('./') || specifier.startsWith('../')) {
31
- return pathToFileURL(resolve(process.cwd(), specifier)).href;
23
+ if (typeof mod.createVercelWorld === 'function') {
24
+ return mod.createVercelWorld();
32
25
  }
33
- // Package specifier - use require.resolve to find the package
34
- try {
35
- return pathToFileURL(require.resolve(specifier)).href;
26
+ if (typeof mod.default === 'function') {
27
+ return mod.default();
36
28
  }
37
- catch {
38
- return specifier;
29
+ if (mod.default && typeof mod.default === 'object') {
30
+ return mod.default;
39
31
  }
32
+ throw new Error('Invalid target world module: must export createWorld(), a default factory, or a default World instance.');
40
33
  }
41
34
  /**
42
- * Create a new world instance based on environment variables.
43
- * WORKFLOW_TARGET_WORLD is used to determine the target world.
35
+ * Create a new world instance from the statically imported target world module.
44
36
  *
45
- * Note: WORKFLOW_VERCEL_* env vars (PROJECT, TEAM, AUTH_TOKEN, etc.) are
46
- * intentionally NOT read here. Those are for CLI/observability tooling only
47
- * and should not affect runtime behavior. The Vercel runtime provides
48
- * authentication via OIDC tokens and project context via system env vars
49
- * (VERCEL_DEPLOYMENT_ID, VERCEL_PROJECT_ID). Tooling that needs these env
50
- * vars should call createVercelWorld() directly with an explicit config and
51
- * use setWorld() to inject the instance.
37
+ * Framework integrations alias `@workflow/core/runtime/world-target` to the
38
+ * concrete world package at build time, so bundlers see a static import path
39
+ * instead of tracing a runtime-built require/import expression.
52
40
  */
53
41
  export const createWorld = async () => {
54
- const targetWorld = resolveWorkflowTargetWorld();
55
- if (isVercelWorldTarget(targetWorld)) {
56
- // Warn if WORKFLOW_VERCEL_* env vars are set inside a Vercel serverless
57
- // function (VERCEL=1) — they have no effect at runtime and likely indicate
58
- // a misconfiguration (user manually added them as Vercel project env vars,
59
- // which is not needed). We gate on VERCEL=1 so the warning does not fire
60
- // when the CLI or web observability app sets these env vars intentionally.
61
- const staleEnvVars = [
62
- 'WORKFLOW_VERCEL_PROJECT',
63
- 'WORKFLOW_VERCEL_TEAM',
64
- 'WORKFLOW_VERCEL_AUTH_TOKEN',
65
- 'WORKFLOW_VERCEL_ENV',
66
- ].filter((key) => process.env[key]);
67
- if (staleEnvVars.length > 0 && process.env.VERCEL === '1') {
68
- console.warn(`[workflow] Warning: ${staleEnvVars.join(', ')} env var(s) ` +
69
- 'are set but have no effect at runtime. These are only used by the Workflow CLI. ' +
70
- 'Remove them from your Vercel project environment variables.');
71
- }
72
- return createVercelWorld();
73
- }
74
- if (targetWorld === 'local') {
75
- return createLocalWorld({
76
- dataDir: process.env.WORKFLOW_LOCAL_DATA_DIR,
77
- });
78
- }
79
- // Try dynamic import() first — ESM-first since this PR's purpose is ESM support.
80
- // Fall back to require() for environments where `new Function`-based import()
81
- // is unavailable (e.g. CJS test runners).
82
- let mod;
83
- try {
84
- const resolvedPath = resolveModulePath(targetWorld);
85
- mod = await dynamicImport(resolvedPath);
86
- }
87
- catch {
88
- mod = require(targetWorld);
89
- }
90
- if (typeof mod === 'function') {
91
- return mod();
92
- }
93
- else if (typeof mod.default === 'function') {
94
- return mod.default();
95
- }
96
- else if (typeof mod.createWorld === 'function') {
97
- return mod.createWorld();
98
- }
99
- throw new Error(`Invalid target world module: ${targetWorld}, must export a default function or createWorld function that returns a World instance.`);
42
+ const world = await createWorldFromModule(targetWorldModule);
43
+ const staleEnvVars = [
44
+ 'WORKFLOW_VERCEL_PROJECT',
45
+ 'WORKFLOW_VERCEL_TEAM',
46
+ 'WORKFLOW_VERCEL_AUTH_TOKEN',
47
+ 'WORKFLOW_VERCEL_ENV',
48
+ ].filter((key) => process.env[key]);
49
+ if (staleEnvVars.length > 0 && process.env.VERCEL === '1') {
50
+ console.warn(`[workflow] Warning: ${staleEnvVars.join(', ')} env var(s) ` +
51
+ 'are set but have no effect at runtime. These are only used by the Workflow CLI. ' +
52
+ 'Remove them from your Vercel project environment variables.');
53
+ }
54
+ return world;
100
55
  };
101
56
  /**
102
57
  * Some functions from the world are needed at build time, but we do NOT want
@@ -109,6 +64,7 @@ export const createWorld = async () => {
109
64
  */
110
65
  export const getWorldHandlers = async () => {
111
66
  if (globalSymbols[StubbedWorldCache]) {
67
+ assertWorldSupportsRuntimeProtocol(globalSymbols[StubbedWorldCache]);
112
68
  return globalSymbols[StubbedWorldCache];
113
69
  }
114
70
  // Store the promise immediately to prevent race conditions with concurrent calls.
@@ -120,6 +76,7 @@ export const getWorldHandlers = async () => {
120
76
  });
121
77
  }
122
78
  const _world = await globalSymbols[StubbedWorldCachePromise];
79
+ assertWorldSupportsRuntimeProtocol(_world);
123
80
  globalSymbols[StubbedWorldCache] = _world;
124
81
  return {
125
82
  createQueueHandler: _world.createQueueHandler,
@@ -128,6 +85,7 @@ export const getWorldHandlers = async () => {
128
85
  };
129
86
  export const getWorld = async () => {
130
87
  if (globalSymbols[WorldCache]) {
88
+ assertWorldSupportsRuntimeProtocol(globalSymbols[WorldCache]);
131
89
  return globalSymbols[WorldCache];
132
90
  }
133
91
  // Store the promise immediately to prevent race conditions with concurrent calls.
@@ -139,6 +97,7 @@ export const getWorld = async () => {
139
97
  });
140
98
  }
141
99
  globalSymbols[WorldCache] = await globalSymbols[WorldCachePromise];
100
+ assertWorldSupportsRuntimeProtocol(globalSymbols[WorldCache]);
142
101
  return globalSymbols[WorldCache];
143
102
  };
144
103
  /**
@@ -151,4 +110,20 @@ export const setWorld = (world) => {
151
110
  globalSymbols[WorldCachePromise] = undefined;
152
111
  globalSymbols[StubbedWorldCachePromise] = undefined;
153
112
  };
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ybGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVudGltZS93b3JsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLDBCQUEwQixHQUMzQixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTNELE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FDM0IsYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQ3BELENBQUM7QUFFRixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFDeEQsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLENBQUM7QUFDdEUsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLENBQUM7QUFDdEUsTUFBTSx3QkFBd0IsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUN6QyxzQ0FBc0MsQ0FDdkMsQ0FBQztBQUVGLE1BQU0sYUFBYSxHQUtmLFVBQVUsQ0FBQztBQUVmOzs7OztHQUtHO0FBQ0gsTUFBTSxhQUFhLEdBQUcsSUFBSSxRQUFRLENBQUMsV0FBVyxFQUFFLDBCQUEwQixDQUV6RCxDQUFDO0FBRWxCLFNBQVMsaUJBQWlCLENBQUMsU0FBaUI7SUFDMUMsd0JBQXdCO0lBQ3hCLElBQUksU0FBUyxDQUFDLFVBQVUsQ0FBQyxT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QUFFLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDN0QsYUFBYSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsU0FBUyxDQUFDO1lBQzdDLE1BQU0sR0FBRyxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsYUFBYSxDQUFDLFVBQVUsQ0FBQyxHQUFHLE1BQU0sYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDbkUsT0FBTyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDbkMsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBd0IsRUFBUSxFQUFFO0lBQ3pELGFBQWEsQ0FBQyxVQUFVLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDbEMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQ3pDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLFNBQVMsQ0FBQztJQUM3QyxhQUFhLENBQUMsd0JBQXdCLENBQUMsR0FBRyxTQUFTLENBQUM7QUFDdEQsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlUmVxdWlyZSB9IGZyb20gJ25vZGU6bW9kdWxlJztcbmltcG9ydCB7IHJlc29sdmUgfSBmcm9tICdub2RlOnBhdGgnO1xuaW1wb3J0IHsgcGF0aFRvRmlsZVVSTCB9IGZyb20gJ25vZGU6dXJsJztcbmltcG9ydCB7XG4gIGlzVmVyY2VsV29ybGRUYXJnZXQsXG4gIHJlc29sdmVXb3JrZmxvd1RhcmdldFdvcmxkLFxufSBmcm9tICdAd29ya2Zsb3cvdXRpbHMnO1xuaW1wb3J0IHR5cGUgeyBXb3JsZCB9IGZyb20gJ0B3b3JrZmxvdy93b3JsZCc7XG5pbXBvcnQgeyBjcmVhdGVMb2NhbFdvcmxkIH0gZnJvbSAnQHdvcmtmbG93L3dvcmxkLWxvY2FsJztcbmltcG9ydCB7IGNyZWF0ZVZlcmNlbFdvcmxkIH0gZnJvbSAnQHdvcmtmbG93L3dvcmxkLXZlcmNlbCc7XG5cbmNvbnN0IHJlcXVpcmUgPSBjcmVhdGVSZXF1aXJlKFxuICBwYXRoVG9GaWxlVVJMKHByb2Nlc3MuY3dkKCkgKyAnL3BhY2thZ2UuanNvbicpLmhyZWZcbik7XG5cbmNvbnN0IFdvcmxkQ2FjaGUgPSBTeW1ib2wuZm9yKCdAd29ya2Zsb3cvd29ybGQvL2NhY2hlJyk7XG5jb25zdCBTdHViYmVkV29ybGRDYWNoZSA9IFN5bWJvbC5mb3IoJ0B3b3JrZmxvdy93b3JsZC8vc3R1YmJlZENhY2hlJyk7XG5jb25zdCBXb3JsZENhY2hlUHJvbWlzZSA9IFN5bWJvbC5mb3IoJ0B3b3JrZmxvdy93b3JsZC8vY2FjaGVQcm9taXNlJyk7XG5jb25zdCBTdHViYmVkV29ybGRDYWNoZVByb21pc2UgPSBTeW1ib2wuZm9yKFxuICAnQHdvcmtmbG93L3dvcmxkLy9zdHViYmVkQ2FjaGVQcm9taXNlJ1xuKTtcblxuY29uc3QgZ2xvYmFsU3ltYm9sczogdHlwZW9mIGdsb2JhbFRoaXMgJiB7XG4gIFtXb3JsZENhY2hlXT86IFdvcmxkO1xuICBbU3R1YmJlZFdvcmxkQ2FjaGVdPzogV29ybGQ7XG4gIFtXb3JsZENhY2hlUHJvbWlzZV0/OiBQcm9taXNlPFdvcmxkPjtcbiAgW1N0dWJiZWRXb3JsZENhY2hlUHJvbWlzZV0/OiBQcm9taXNlPFdvcmxkPjtcbn0gPSBnbG9iYWxUaGlzO1xuXG4vKipcbiAqIEhpZGVzIHRoZSBkeW5hbWljIGltcG9ydCBiZWhpbmQgYG5ldyBGdW5jdGlvbmAgdG8gcHJldmVudCBidW5kbGVycyBmcm9tXG4gKiB0cnlpbmcgdG8gcmVzb2x2ZSBpdCBhdCBidWlsZCB0aW1lLCBzaW5jZSB0aGUgd29ybGQgbW9kdWxlIG1heSBub3QgZXhpc3RcbiAqIGF0IGJ1aWxkIHRpbWUuIEZhbGxzIGJhY2sgdG8gYHJlcXVpcmUoKWAgaW4gZW52aXJvbm1lbnRzIHdoZXJlXG4gKiBgbmV3IEZ1bmN0aW9uYC1iYXNlZCBgaW1wb3J0KClgIGlzIHVuYXZhaWxhYmxlIChlLmcuIENKUyB0ZXN0IHJ1bm5lcnMpLlxuICovXG5jb25zdCBkeW5hbWljSW1wb3J0ID0gbmV3IEZ1bmN0aW9uKCdzcGVjaWZpZXInLCAncmV0dXJuIGltcG9ydChzcGVjaWZpZXIpJykgYXMgKFxuICBzcGVjaWZpZXI6IHN0cmluZ1xuKSA9PiBQcm9taXNlPGFueT47XG5cbmZ1bmN0aW9uIHJlc29sdmVNb2R1bGVQYXRoKHNwZWNpZmllcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgLy8gQWxyZWFkeSBhIGZpbGU6Ly8gVVJMXG4gIGlmIChzcGVjaWZpZXIuc3RhcnRzV2l0aCgnZmlsZTovLycpKSB7XG4gICAgcmV0dXJuIHNwZWNpZmllcjtcbiAgfVxuICAvLyBBYnNvbHV0ZSBwYXRoIC0gY29udmVydCB0byBmaWxlOi8vIFVSTFxuICBpZiAoc3BlY2lmaWVyLnN0YXJ0c1dpdGgoJy8nKSkge1xuICAgIHJldHVybiBwYXRoVG9GaWxlVVJMKHNwZWNpZmllcikuaHJlZjtcbiAgfVxuICAvLyBSZWxhdGl2ZSBwYXRoIC0gcmVzb2x2ZSByZWxhdGl2ZSB0byBjd2QgYW5kIGNvbnZlcnQgdG8gZmlsZTovLyBVUkxcbiAgaWYgKHNwZWNpZmllci5zdGFydHNXaXRoKCcuLycpIHx8IHNwZWNpZmllci5zdGFydHNXaXRoKCcuLi8nKSkge1xuICAgIHJldHVybiBwYXRoVG9GaWxlVVJMKHJlc29sdmUocHJvY2Vzcy5jd2QoKSwgc3BlY2lmaWVyKSkuaHJlZjtcbiAgfVxuICAvLyBQYWNrYWdlIHNwZWNpZmllciAtIHVzZSByZXF1aXJlLnJlc29sdmUgdG8gZmluZCB0aGUgcGFja2FnZVxuICB0cnkge1xuICAgIHJldHVybiBwYXRoVG9GaWxlVVJMKHJlcXVpcmUucmVzb2x2ZShzcGVjaWZpZXIpKS5ocmVmO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gc3BlY2lmaWVyO1xuICB9XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgbmV3IHdvcmxkIGluc3RhbmNlIGJhc2VkIG9uIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAqIFdPUktGTE9XX1RBUkdFVF9XT1JMRCBpcyB1c2VkIHRvIGRldGVybWluZSB0aGUgdGFyZ2V0IHdvcmxkLlxuICpcbiAqIE5vdGU6IFdPUktGTE9XX1ZFUkNFTF8qIGVudiB2YXJzIChQUk9KRUNULCBURUFNLCBBVVRIX1RPS0VOLCBldGMuKSBhcmVcbiAqIGludGVudGlvbmFsbHkgTk9UIHJlYWQgaGVyZS4gVGhvc2UgYXJlIGZvciBDTEkvb2JzZXJ2YWJpbGl0eSB0b29saW5nIG9ubHlcbiAqIGFuZCBzaG91bGQgbm90IGFmZmVjdCBydW50aW1lIGJlaGF2aW9yLiBUaGUgVmVyY2VsIHJ1bnRpbWUgcHJvdmlkZXNcbiAqIGF1dGhlbnRpY2F0aW9uIHZpYSBPSURDIHRva2VucyBhbmQgcHJvamVjdCBjb250ZXh0IHZpYSBzeXN0ZW0gZW52IHZhcnNcbiAqIChWRVJDRUxfREVQTE9ZTUVOVF9JRCwgVkVSQ0VMX1BST0pFQ1RfSUQpLiBUb29saW5nIHRoYXQgbmVlZHMgdGhlc2UgZW52XG4gKiB2YXJzIHNob3VsZCBjYWxsIGNyZWF0ZVZlcmNlbFdvcmxkKCkgZGlyZWN0bHkgd2l0aCBhbiBleHBsaWNpdCBjb25maWcgYW5kXG4gKiB1c2Ugc2V0V29ybGQoKSB0byBpbmplY3QgdGhlIGluc3RhbmNlLlxuICovXG5leHBvcnQgY29uc3QgY3JlYXRlV29ybGQgPSBhc3luYyAoKTogUHJvbWlzZTxXb3JsZD4gPT4ge1xuICBjb25zdCB0YXJnZXRXb3JsZCA9IHJlc29sdmVXb3JrZmxvd1RhcmdldFdvcmxkKCk7XG5cbiAgaWYgKGlzVmVyY2VsV29ybGRUYXJnZXQodGFyZ2V0V29ybGQpKSB7XG4gICAgLy8gV2FybiBpZiBXT1JLRkxPV19WRVJDRUxfKiBlbnYgdmFycyBhcmUgc2V0IGluc2lkZSBhIFZlcmNlbCBzZXJ2ZXJsZXNzXG4gICAgLy8gZnVuY3Rpb24gKFZFUkNFTD0xKSDigJQgdGhleSBoYXZlIG5vIGVmZmVjdCBhdCBydW50aW1lIGFuZCBsaWtlbHkgaW5kaWNhdGVcbiAgICAvLyBhIG1pc2NvbmZpZ3VyYXRpb24gKHVzZXIgbWFudWFsbHkgYWRkZWQgdGhlbSBhcyBWZXJjZWwgcHJvamVjdCBlbnYgdmFycyxcbiAgICAvLyB3aGljaCBpcyBub3QgbmVlZGVkKS4gV2UgZ2F0ZSBvbiBWRVJDRUw9MSBzbyB0aGUgd2FybmluZyBkb2VzIG5vdCBmaXJlXG4gICAgLy8gd2hlbiB0aGUgQ0xJIG9yIHdlYiBvYnNlcnZhYmlsaXR5IGFwcCBzZXRzIHRoZXNlIGVudiB2YXJzIGludGVudGlvbmFsbHkuXG4gICAgY29uc3Qgc3RhbGVFbnZWYXJzID0gW1xuICAgICAgJ1dPUktGTE9XX1ZFUkNFTF9QUk9KRUNUJyxcbiAgICAgICdXT1JLRkxPV19WRVJDRUxfVEVBTScsXG4gICAgICAnV09SS0ZMT1dfVkVSQ0VMX0FVVEhfVE9LRU4nLFxuICAgICAgJ1dPUktGTE9XX1ZFUkNFTF9FTlYnLFxuICAgIF0uZmlsdGVyKChrZXkpID0+IHByb2Nlc3MuZW52W2tleV0pO1xuICAgIGlmIChzdGFsZUVudlZhcnMubGVuZ3RoID4gMCAmJiBwcm9jZXNzLmVudi5WRVJDRUwgPT09ICcxJykge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgW3dvcmtmbG93XSBXYXJuaW5nOiAke3N0YWxlRW52VmFycy5qb2luKCcsICcpfSBlbnYgdmFyKHMpIGAgK1xuICAgICAgICAgICdhcmUgc2V0IGJ1dCBoYXZlIG5vIGVmZmVjdCBhdCBydW50aW1lLiBUaGVzZSBhcmUgb25seSB1c2VkIGJ5IHRoZSBXb3JrZmxvdyBDTEkuICcgK1xuICAgICAgICAgICdSZW1vdmUgdGhlbSBmcm9tIHlvdXIgVmVyY2VsIHByb2plY3QgZW52aXJvbm1lbnQgdmFyaWFibGVzLidcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNyZWF0ZVZlcmNlbFdvcmxkKCk7XG4gIH1cblxuICBpZiAodGFyZ2V0V29ybGQgPT09ICdsb2NhbCcpIHtcbiAgICByZXR1cm4gY3JlYXRlTG9jYWxXb3JsZCh7XG4gICAgICBkYXRhRGlyOiBwcm9jZXNzLmVudi5XT1JLRkxPV19MT0NBTF9EQVRBX0RJUixcbiAgICB9KTtcbiAgfVxuXG4gIC8vIFRyeSBkeW5hbWljIGltcG9ydCgpIGZpcnN0IOKAlCBFU00tZmlyc3Qgc2luY2UgdGhpcyBQUidzIHB1cnBvc2UgaXMgRVNNIHN1cHBvcnQuXG4gIC8vIEZhbGwgYmFjayB0byByZXF1aXJlKCkgZm9yIGVudmlyb25tZW50cyB3aGVyZSBgbmV3IEZ1bmN0aW9uYC1iYXNlZCBpbXBvcnQoKVxuICAvLyBpcyB1bmF2YWlsYWJsZSAoZS5nLiBDSlMgdGVzdCBydW5uZXJzKS5cbiAgbGV0IG1vZDogYW55O1xuICB0cnkge1xuICAgIGNvbnN0IHJlc29sdmVkUGF0aCA9IHJlc29sdmVNb2R1bGVQYXRoKHRhcmdldFdvcmxkKTtcbiAgICBtb2QgPSBhd2FpdCBkeW5hbWljSW1wb3J0KHJlc29sdmVkUGF0aCk7XG4gIH0gY2F0Y2gge1xuICAgIG1vZCA9IHJlcXVpcmUodGFyZ2V0V29ybGQpO1xuICB9XG4gIGlmICh0eXBlb2YgbW9kID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIG1vZCgpIGFzIFdvcmxkO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBtb2QuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBtb2QuZGVmYXVsdCgpIGFzIFdvcmxkO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBtb2QuY3JlYXRlV29ybGQgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gbW9kLmNyZWF0ZVdvcmxkKCkgYXMgV29ybGQ7XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgYEludmFsaWQgdGFyZ2V0IHdvcmxkIG1vZHVsZTogJHt0YXJnZXRXb3JsZH0sIG11c3QgZXhwb3J0IGEgZGVmYXVsdCBmdW5jdGlvbiBvciBjcmVhdGVXb3JsZCBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBXb3JsZCBpbnN0YW5jZS5gXG4gICk7XG59O1xuXG5leHBvcnQgdHlwZSBXb3JsZEhhbmRsZXJzID0gUGljazxXb3JsZCwgJ2NyZWF0ZVF1ZXVlSGFuZGxlcicgfCAnc3BlY1ZlcnNpb24nPjtcblxuLyoqXG4gKiBTb21lIGZ1bmN0aW9ucyBmcm9tIHRoZSB3b3JsZCBhcmUgbmVlZGVkIGF0IGJ1aWxkIHRpbWUsIGJ1dCB3ZSBkbyBOT1Qgd2FudFxuICogdG8gY2FjaGUgdGhlIHdvcmxkIGluIHRob3NlIGluc3RhbmNlcyBmb3IgZ2VuZXJhbCB1c2UsIHNpbmNlIHdlIGRvbid0IGhhdmVcbiAqIHRoZSBjb3JyZWN0IGVudmlyb25tZW50IHZhcmlhYmxlcyBzZXQgeWV0LiBUaGlzIGlzIGEgc2FmZSBmdW5jdGlvbiB0b1xuICogY2FsbCBhdCBidWlsZCB0aW1lLCB0aGF0IG9ubHkgZ2l2ZXMgYWNjZXNzIHRvIG5vbi1lbnZpcm9ubWVudC1ib3VuZCB3b3JsZFxuICogZnVuY3Rpb25zLiBUaGUgb25seSBiaW5kaW5nIHZhbHVlIHNob3VsZCBiZSB0aGUgdGFyZ2V0IHdvcmxkLlxuICogT25jZSB3ZSBtaWdyYXRlIHRvIGEgZmlsZS1iYXNlZCBjb25maWd1cmF0aW9uICh3b3JrZmxvdy5jb25maWcudHMpLCB3ZSBzaG91bGRcbiAqIGJlIGFibGUgdG8gcmUtY29tYmluZSBnZXRXb3JsZCBhbmQgZ2V0V29ybGRIYW5kbGVycyBpbnRvIG9uZSBzaW5nbGV0b24uXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRXb3JsZEhhbmRsZXJzID0gYXN5bmMgKCk6IFByb21pc2U8V29ybGRIYW5kbGVycz4gPT4ge1xuICBpZiAoZ2xvYmFsU3ltYm9sc1tTdHViYmVkV29ybGRDYWNoZV0pIHtcbiAgICByZXR1cm4gZ2xvYmFsU3ltYm9sc1tTdHViYmVkV29ybGRDYWNoZV07XG4gIH1cbiAgLy8gU3RvcmUgdGhlIHByb21pc2UgaW1tZWRpYXRlbHkgdG8gcHJldmVudCByYWNlIGNvbmRpdGlvbnMgd2l0aCBjb25jdXJyZW50IGNhbGxzLlxuICAvLyBDbGVhciBvbiByZWplY3Rpb24gc28gc3Vic2VxdWVudCBjYWxscyBjYW4gcmV0cnkgaW5zdGVhZCBvZiBjYWNoaW5nIHRoZSBmYWlsdXJlLlxuICBpZiAoIWdsb2JhbFN5bWJvbHNbU3R1YmJlZFdvcmxkQ2FjaGVQcm9taXNlXSkge1xuICAgIGdsb2JhbFN5bWJvbHNbU3R1YmJlZFdvcmxkQ2FjaGVQcm9taXNlXSA9IGNyZWF0ZVdvcmxkKCkuY2F0Y2goKGVycikgPT4ge1xuICAgICAgZ2xvYmFsU3ltYm9sc1tTdHViYmVkV29ybGRDYWNoZVByb21pc2VdID0gdW5kZWZpbmVkO1xuICAgICAgdGhyb3cgZXJyO1xuICAgIH0pO1xuICB9XG4gIGNvbnN0IF93b3JsZCA9IGF3YWl0IGdsb2JhbFN5bWJvbHNbU3R1YmJlZFdvcmxkQ2FjaGVQcm9taXNlXTtcbiAgZ2xvYmFsU3ltYm9sc1tTdHViYmVkV29ybGRDYWNoZV0gPSBfd29ybGQ7XG4gIHJldHVybiB7XG4gICAgY3JlYXRlUXVldWVIYW5kbGVyOiBfd29ybGQuY3JlYXRlUXVldWVIYW5kbGVyLFxuICAgIHNwZWNWZXJzaW9uOiBfd29ybGQuc3BlY1ZlcnNpb24sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0V29ybGQgPSBhc3luYyAoKTogUHJvbWlzZTxXb3JsZD4gPT4ge1xuICBpZiAoZ2xvYmFsU3ltYm9sc1tXb3JsZENhY2hlXSkge1xuICAgIHJldHVybiBnbG9iYWxTeW1ib2xzW1dvcmxkQ2FjaGVdO1xuICB9XG4gIC8vIFN0b3JlIHRoZSBwcm9taXNlIGltbWVkaWF0ZWx5IHRvIHByZXZlbnQgcmFjZSBjb25kaXRpb25zIHdpdGggY29uY3VycmVudCBjYWxscy5cbiAgLy8gQ2xlYXIgb24gcmVqZWN0aW9uIHNvIHN1YnNlcXVlbnQgY2FsbHMgY2FuIHJldHJ5IGluc3RlYWQgb2YgY2FjaGluZyB0aGUgZmFpbHVyZS5cbiAgaWYgKCFnbG9iYWxTeW1ib2xzW1dvcmxkQ2FjaGVQcm9taXNlXSkge1xuICAgIGdsb2JhbFN5bWJvbHNbV29ybGRDYWNoZVByb21pc2VdID0gY3JlYXRlV29ybGQoKS5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICBnbG9iYWxTeW1ib2xzW1dvcmxkQ2FjaGVQcm9taXNlXSA9IHVuZGVmaW5lZDtcbiAgICAgIHRocm93IGVycjtcbiAgICB9KTtcbiAgfVxuICBnbG9iYWxTeW1ib2xzW1dvcmxkQ2FjaGVdID0gYXdhaXQgZ2xvYmFsU3ltYm9sc1tXb3JsZENhY2hlUHJvbWlzZV07XG4gIHJldHVybiBnbG9iYWxTeW1ib2xzW1dvcmxkQ2FjaGVdO1xufTtcblxuLyoqXG4gKiBSZXNldCB0aGUgY2FjaGVkIHdvcmxkIGluc3RhbmNlLiBUaGlzIHNob3VsZCBiZSBjYWxsZWQgd2hlbiBlbnZpcm9ubWVudFxuICogdmFyaWFibGVzIGNoYW5nZSBhbmQgeW91IG5lZWQgdG8gcmVpbml0aWFsaXplIHRoZSB3b3JsZCB3aXRoIG5ldyBjb25maWcuXG4gKi9cbmV4cG9ydCBjb25zdCBzZXRXb3JsZCA9ICh3b3JsZDogV29ybGQgfCB1bmRlZmluZWQpOiB2b2lkID0+IHtcbiAgZ2xvYmFsU3ltYm9sc1tXb3JsZENhY2hlXSA9IHdvcmxkO1xuICBnbG9iYWxTeW1ib2xzW1N0dWJiZWRXb3JsZENhY2hlXSA9IHdvcmxkO1xuICBnbG9iYWxTeW1ib2xzW1dvcmxkQ2FjaGVQcm9taXNlXSA9IHVuZGVmaW5lZDtcbiAgZ2xvYmFsU3ltYm9sc1tTdHViYmVkV29ybGRDYWNoZVByb21pc2VdID0gdW5kZWZpbmVkO1xufTtcbiJdfQ==
113
+ // Register getWorld on globalThis so getWorldLazy can call it directly when
114
+ // world.ts is statically present in the bundle.
115
+ //
116
+ // For server routes that only consume `start` (or another helper that goes
117
+ // through getWorldLazy without statically using getWorld), webpack/turbopack
118
+ // would otherwise tree-shake world.ts out of the bundle entirely. The
119
+ // host-only `./world-init.ts` module imports world.ts for its side effect
120
+ // and is itself imported by `packages/workflow/src/api.ts` so this
121
+ // registration runs in every server bundle that touches `workflow/api`.
122
+ //
123
+ // Step/VM bundles never reach this branch: they don't statically import
124
+ // world.ts, and `world-init` resolves to an empty stub via the `workflow`
125
+ // export condition.
126
+ const GetWorldFnKey = Symbol.for('@workflow/world//getWorldFn');
127
+ globalThis[GetWorldFnKey] ??=
128
+ getWorld;
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ybGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVudGltZS93b3JsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssaUJBQWlCLE1BQU0scUNBQXFDLENBQUM7QUFFekUsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFOUUsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBQ3hELE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0FBQ3RFLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0FBQ3RFLE1BQU0sd0JBQXdCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FDekMsc0NBQXNDLENBQ3ZDLENBQUM7QUFFRixNQUFNLGFBQWEsR0FLZixVQUFVLENBQUM7QUFXZjs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUNuQyxHQUF1QjtJQUV2QixJQUFJLE9BQU8sR0FBRyxDQUFDLFdBQVcsS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUMxQyxPQUFPLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBSSxPQUFPLEdBQUcsQ0FBQyxnQkFBZ0IsS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUMvQyxPQUFPLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFDRCxJQUFJLE9BQU8sR0FBRyxDQUFDLGlCQUFpQixLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ2hELE9BQU8sR0FBRyxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUNELElBQUksT0FBTyxHQUFHLENBQUMsT0FBTyxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ3RDLE9BQU8sR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFD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Q0QsYUFBYSxDQUFDLFVBQVUsQ0FBQyxHQUFHLE1BQU0sYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDbkUsa0NBQWtDLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDOUQsT0FBTyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDbkMsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBd0IsRUFBUSxFQUFFO0lBQ3pELGFBQWEsQ0FBQyxVQUFVLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDbEMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQ3pDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLFNBQVMsQ0FBQztJQUM3QyxhQUFhLENBQUMsd0JBQXdCLENBQUMsR0FBRyxTQUFTLENBQUM7QUFDdEQsQ0FBQyxDQUFDO0FBRUYsNEVBQTRFO0FBQzVFLGdEQUFnRDtBQUNoRCxFQUFFO0FBQ0YsMkVBQTJFO0FBQzNFLDZFQUE2RTtBQUM3RSxzRUFBc0U7QUFDdEUsMEVBQTBFO0FBQzFFLG1FQUFtRTtBQUNuRSx3RUFBd0U7QUFDeEUsRUFBRTtBQUNGLHdFQUF3RTtBQUN4RSwwRUFBMEU7QUFDMUUsb0JBQW9CO0FBQ3BCLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQztBQUMvRCxVQUF5RCxDQUFDLGFBQWEsQ0FBQztJQUN2RSxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB0YXJnZXRXb3JsZE1vZHVsZSBmcm9tICdAd29ya2Zsb3cvY29yZS9ydW50aW1lL3dvcmxkLXRhcmdldCc7XG5pbXBvcnQgdHlwZSB7IFdvcmxkIH0gZnJvbSAnQHdvcmtmbG93L3dvcmxkJztcbmltcG9ydCB7IGFzc2VydFdvcmxkU3VwcG9ydHNSdW50aW1lUHJvdG9jb2wgfSBmcm9tICcuL3dvcmxkLWNvbXBhdGliaWxpdHkuanMnO1xuXG5jb25zdCBXb3JsZENhY2hlID0gU3ltYm9sLmZvcignQHdvcmtmbG93L3dvcmxkLy9jYWNoZScpO1xuY29uc3QgU3R1YmJlZFdvcmxkQ2FjaGUgPSBTeW1ib2wuZm9yKCdAd29ya2Zsb3cvd29ybGQvL3N0dWJiZWRDYWNoZScpO1xuY29uc3QgV29ybGRDYWNoZVByb21pc2UgPSBTeW1ib2wuZm9yKCdAd29ya2Zsb3cvd29ybGQvL2NhY2hlUHJvbWlzZScpO1xuY29uc3QgU3R1YmJlZFdvcmxkQ2FjaGVQcm9taXNlID0gU3ltYm9sLmZvcihcbiAgJ0B3b3JrZmxvdy93b3JsZC8vc3R1YmJlZENhY2hlUHJvbWlzZSdcbik7XG5cbmNvbnN0IGdsb2JhbFN5bWJvbHM6IHR5cGVvZiBnbG9iYWxUaGlzICYge1xuICBbV29ybGRDYWNoZV0/OiBXb3JsZDtcbiAgW1N0dWJiZWRXb3JsZENhY2hlXT86IFdvcmxkO1xuICBbV29ybGRDYWNoZVByb21pc2VdPzogUHJvbWlzZTxXb3JsZD47XG4gIFtTdHViYmVkV29ybGRDYWNoZVByb21pc2VdPzogUHJvbWlzZTxXb3JsZD47XG59ID0gZ2xvYmFsVGhpcztcblxuZXhwb3J0IHR5cGUgV29ybGRGYWN0b3J5TW9kdWxlID0ge1xuICBjcmVhdGVXb3JsZD86ICgpID0+IFdvcmxkIHwgUHJvbWlzZTxXb3JsZD47XG4gIC8qKiBAZGVwcmVjYXRlZCBXb3JsZCBwYWNrYWdlcyBzaG91bGQgZXhwb3J0IGBjcmVhdGVXb3JsZCgpYCBpbnN0ZWFkLiAqL1xuICBjcmVhdGVMb2NhbFdvcmxkPzogKCkgPT4gV29ybGQgfCBQcm9taXNlPFdvcmxkPjtcbiAgLyoqIEBkZXByZWNhdGVkIFdvcmxkIHBhY2thZ2VzIHNob3VsZCBleHBvcnQgYGNyZWF0ZVdvcmxkKClgIGluc3RlYWQuICovXG4gIGNyZWF0ZVZlcmNlbFdvcmxkPzogKCkgPT4gV29ybGQgfCBQcm9taXNlPFdvcmxkPjtcbiAgZGVmYXVsdD86ICgoKSA9PiBXb3JsZCB8IFByb21pc2U8V29ybGQ+KSB8IFdvcmxkO1xufTtcblxuLyoqXG4gKiBDcmVhdGUgYSBXb3JsZCBpbnN0YW5jZSBmcm9tIGEgd29ybGQgZmFjdG9yeSBtb2R1bGUuIFNoYXJlZCBieVxuICogYGNyZWF0ZVdvcmxkKClgIChmb3IgdGhlIHN0YXRpY2FsbHkgaW5qZWN0ZWQgdGFyZ2V0IHdvcmxkIG1vZHVsZSkgYW5kXG4gKiB0b29saW5nIHRoYXQgbG9hZHMgYSB3b3JsZCBtb2R1bGUgZHluYW1pY2FsbHkgKGUuZy4gdGhlIE5pdHJvIGRldlxuICogaGFuZGxlciBhbmQgYEB3b3JrZmxvdy93b3JsZC10ZXN0aW5nYCkuIExlZ2FjeSB3b3JsZC1zcGVjaWZpYyBmYWN0b3J5XG4gKiBuYW1lcyBhcmUgc3RpbGwgYWNjZXB0ZWQgZm9yIGNvbXBhdGliaWxpdHksIGJ1dCB3b3JsZCBwYWNrYWdlcyBzaG91bGRcbiAqIGV4cG9ydCBgY3JlYXRlV29ybGQoKWAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVXb3JsZEZyb21Nb2R1bGUoXG4gIG1vZDogV29ybGRGYWN0b3J5TW9kdWxlXG4pOiBXb3JsZCB8IFByb21pc2U8V29ybGQ+IHtcbiAgaWYgKHR5cGVvZiBtb2QuY3JlYXRlV29ybGQgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gbW9kLmNyZWF0ZVdvcmxkKCk7XG4gIH1cbiAgaWYgKHR5cGVvZiBtb2QuY3JlYXRlTG9jYWxXb3JsZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBtb2QuY3JlYXRlTG9jYWxXb3JsZCgpO1xuICB9XG4gIGlmICh0eXBlb2YgbW9kLmNyZWF0ZVZlcmNlbFdvcmxkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIG1vZC5jcmVhdGVWZXJjZWxXb3JsZCgpO1xuICB9XG4gIGlmICh0eXBlb2YgbW9kLmRlZmF1bHQgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gbW9kLmRlZmF1bHQoKTtcbiAgfVxuICBpZiAobW9kLmRlZmF1bHQgJiYgdHlwZW9mIG1vZC5kZWZhdWx0ID09PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiBtb2QuZGVmYXVsdCBhcyBXb3JsZDtcbiAgfVxuXG4gIHRocm93IG5ldyBFcnJvcihcbiAgICAnSW52YWxpZCB0YXJnZXQgd29ybGQgbW9kdWxlOiBtdXN0IGV4cG9ydCBjcmVhdGVXb3JsZCgpLCBhIGRlZmF1bHQgZmFjdG9yeSwgb3IgYSBkZWZhdWx0IFdvcmxkIGluc3RhbmNlLidcbiAgKTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBuZXcgd29ybGQgaW5zdGFuY2UgZnJvbSB0aGUgc3RhdGljYWxseSBpbXBvcnRlZCB0YXJnZXQgd29ybGQgbW9kdWxlLlxuICpcbiAqIEZyYW1ld29yayBpbnRlZ3JhdGlvbnMgYWxpYXMgYEB3b3JrZmxvdy9jb3JlL3J1bnRpbWUvd29ybGQtdGFyZ2V0YCB0byB0aGVcbiAqIGNvbmNyZXRlIHdvcmxkIHBhY2thZ2UgYXQgYnVpbGQgdGltZSwgc28gYnVuZGxlcnMgc2VlIGEgc3RhdGljIGltcG9ydCBwYXRoXG4gKiBpbnN0ZWFkIG9mIHRyYWNpbmcgYSBydW50aW1lLWJ1aWx0IHJlcXVpcmUvaW1wb3J0IGV4cHJlc3Npb24uXG4gKi9cbmV4cG9ydCBjb25zdCBjcmVhdGVXb3JsZCA9IGFzeW5jICgpOiBQcm9taXNlPFdvcmxkPiA9PiB7XG4gIGNvbnN0IHdvcmxkID0gYXdhaXQgY3JlYXRlV29ybGRGcm9tTW9kdWxlKHRhcmdldFdvcmxkTW9kdWxlKTtcblxuICBjb25zdCBzdGFsZUVudlZhcnMgPSBbXG4gICAgJ1dPUktGTE9XX1ZFUkNFTF9QUk9KRUNUJyxcbiAgICAnV09SS0ZMT1dfVkVSQ0VMX1RFQU0nLFxuICAgICdXT1JLRkxPV19WRVJDRUxfQVVUSF9UT0tFTicsXG4gICAgJ1dPUktGTE9XX1ZFUkNFTF9FTlYnLFxuICBdLmZpbHRlcigoa2V5KSA9PiBwcm9jZXNzLmVudltrZXldKTtcbiAgaWYgKHN0YWxlRW52VmFycy5sZW5ndGggPiAwICYmIHByb2Nlc3MuZW52LlZFUkNFTCA9PT0gJzEnKSB7XG4gICAgY29uc29sZS53YXJuKFxuICAgICAgYFt3b3JrZmxvd10gV2FybmluZzogJHtzdGFsZUVudlZhcnMuam9pbignLCAnKX0gZW52IHZhcihzKSBgICtcbiAgICAgICAgJ2FyZSBzZXQgYnV0IGhhdmUgbm8gZWZmZWN0IGF0IHJ1bnRpbWUuIFRoZXNlIGFyZSBvbmx5IHVzZWQgYnkgdGhlIFdvcmtmbG93IENMSS4gJyArXG4gICAgICAgICdSZW1vdmUgdGhlbSBmcm9tIHlvdXIgVmVyY2VsIHByb2plY3QgZW52aXJvbm1lbnQgdmFyaWFibGVzLidcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIHdvcmxkO1xufTtcblxuZXhwb3J0IHR5cGUgV29ybGRIYW5kbGVycyA9IFBpY2s8V29ybGQsICdjcmVhdGVRdWV1ZUhhbmRsZXInIHwgJ3NwZWNWZXJzaW9uJz47XG5cbi8qKlxuICogU29tZSBmdW5jdGlvbnMgZnJvbSB0aGUgd29ybGQgYXJlIG5lZWRlZCBhdCBidWlsZCB0aW1lLCBidXQgd2UgZG8gTk9UIHdhbnRcbiAqIHRvIGNhY2hlIHRoZSB3b3JsZCBpbiB0aG9zZSBpbnN0YW5jZXMgZm9yIGdlbmVyYWwgdXNlLCBzaW5jZSB3ZSBkb24ndCBoYXZlXG4gKiB0aGUgY29ycmVjdCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgc2V0IHlldC4gVGhpcyBpcyBhIHNhZmUgZnVuY3Rpb24gdG9cbiAqIGNhbGwgYXQgYnVpbGQgdGltZSwgdGhhdCBvbmx5IGdpdmVzIGFjY2VzcyB0byBub24tZW52aXJvbm1lbnQtYm91bmQgd29ybGRcbiAqIGZ1bmN0aW9ucy4gVGhlIG9ubHkgYmluZGluZyB2YWx1ZSBzaG91bGQgYmUgdGhlIHRhcmdldCB3b3JsZC5cbiAqIE9uY2Ugd2UgbWlncmF0ZSB0byBhIGZpbGUtYmFzZWQgY29uZmlndXJhdGlvbiAod29ya2Zsb3cuY29uZmlnLnRzKSwgd2Ugc2hvdWxkXG4gKiBiZSBhYmxlIHRvIHJlLWNvbWJpbmUgZ2V0V29ybGQgYW5kIGdldFdvcmxkSGFuZGxlcnMgaW50byBvbmUgc2luZ2xldG9uLlxuICovXG5leHBvcnQgY29uc3QgZ2V0V29ybGRIYW5kbGVycyA9IGFzeW5jICgpOiBQcm9taXNlPFdvcmxkSGFuZGxlcnM+ID0+IHtcbiAgaWYgKGdsb2JhbFN5bWJvbHNbU3R1YmJlZFdvcmxkQ2FjaGVdKSB7XG4gICAgYXNzZXJ0V29ybGRTdXBwb3J0c1J1bnRpbWVQcm90b2NvbChnbG9iYWxTeW1ib2xzW1N0dWJiZWRXb3JsZENhY2hlXSk7XG4gICAgcmV0dXJuIGdsb2JhbFN5bWJvbHNbU3R1YmJlZFdvcmxkQ2FjaGVdO1xuICB9XG4gIC8vIFN0b3JlIHRoZSBwcm9taXNlIGltbWVkaWF0ZWx5IHRvIHByZXZlbnQgcmFjZSBjb25kaXRpb25zIHdpdGggY29uY3VycmVudCBjYWxscy5cbiAgLy8gQ2xlYXIgb24gcmVqZWN0aW9uIHNvIHN1YnNlcXVlbnQgY2FsbHMgY2FuIHJldHJ5IGluc3RlYWQgb2YgY2FjaGluZyB0aGUgZmFpbHVyZS5cbiAgaWYgKCFnbG9iYWxTeW1ib2xzW1N0dWJiZWRXb3JsZENhY2hlUHJvbWlzZV0pIHtcbiAgICBnbG9iYWxTeW1ib2xzW1N0dWJiZWRXb3JsZENhY2hlUHJvbWlzZV0gPSBjcmVhdGVXb3JsZCgpLmNhdGNoKChlcnIpID0+IHtcbiAgICAgIGdsb2JhbFN5bWJvbHNbU3R1YmJlZFdvcmxkQ2FjaGVQcm9taXNlXSA9IHVuZGVmaW5lZDtcbiAgICAgIHRocm93IGVycjtcbiAgICB9KTtcbiAgfVxuICBjb25zdCBfd29ybGQgPSBhd2FpdCBnbG9iYWxTeW1ib2xzW1N0dWJiZWRXb3JsZENhY2hlUHJvbWlzZV07XG4gIGFzc2VydFdvcmxkU3VwcG9ydHNSdW50aW1lUHJvdG9jb2woX3dvcmxkKTtcbiAgZ2xvYmFsU3ltYm9sc1tTdHViYmVkV29ybGRDYWNoZV0gPSBfd29ybGQ7XG4gIHJldHVybiB7XG4gICAgY3JlYXRlUXVldWVIYW5kbGVyOiBfd29ybGQuY3JlYXRlUXVldWVIYW5kbGVyLFxuICAgIHNwZWNWZXJzaW9uOiBfd29ybGQuc3BlY1ZlcnNpb24sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0V29ybGQgPSBhc3luYyAoKTogUHJvbWlzZTxXb3JsZD4gPT4ge1xuICBpZiAoZ2xvYmFsU3ltYm9sc1tXb3JsZENhY2hlXSkge1xuICAgIGFzc2VydFdvcmxkU3VwcG9ydHNSdW50aW1lUHJvdG9jb2woZ2xvYmFsU3ltYm9sc1tXb3JsZENhY2hlXSk7XG4gICAgcmV0dXJuIGdsb2JhbFN5bWJvbHNbV29ybGRDYWNoZV07XG4gIH1cbiAgLy8gU3RvcmUgdGhlIHByb21pc2UgaW1tZWRpYXRlbHkgdG8gcHJldmVudCByYWNlIGNvbmRpdGlvbnMgd2l0aCBjb25jdXJyZW50IGNhbGxzLlxuICAvLyBDbGVhciBvbiByZWplY3Rpb24gc28gc3Vic2VxdWVudCBjYWxscyBjYW4gcmV0cnkgaW5zdGVhZCBvZiBjYWNoaW5nIHRoZSBmYWlsdXJlLlxuICBpZiAoIWdsb2JhbFN5bWJvbHNbV29ybGRDYWNoZVByb21pc2VdKSB7XG4gICAgZ2xvYmFsU3ltYm9sc1tXb3JsZENhY2hlUHJvbWlzZV0gPSBjcmVhdGVXb3JsZCgpLmNhdGNoKChlcnIpID0+IHtcbiAgICAgIGdsb2JhbFN5bWJvbHNbV29ybGRDYWNoZVByb21pc2VdID0gdW5kZWZpbmVkO1xuICAgICAgdGhyb3cgZXJyO1xuICAgIH0pO1xuICB9XG4gIGdsb2JhbFN5bWJvbHNbV29ybGRDYWNoZV0gPSBhd2FpdCBnbG9iYWxTeW1ib2xzW1dvcmxkQ2FjaGVQcm9taXNlXTtcbiAgYXNzZXJ0V29ybGRTdXBwb3J0c1J1bnRpbWVQcm90b2NvbChnbG9iYWxTeW1ib2xzW1dvcmxkQ2FjaGVdKTtcbiAgcmV0dXJuIGdsb2JhbFN5bWJvbHNbV29ybGRDYWNoZV07XG59O1xuXG4vKipcbiAqIFJlc2V0IHRoZSBjYWNoZWQgd29ybGQgaW5zdGFuY2UuIFRoaXMgc2hvdWxkIGJlIGNhbGxlZCB3aGVuIGVudmlyb25tZW50XG4gKiB2YXJpYWJsZXMgY2hhbmdlIGFuZCB5b3UgbmVlZCB0byByZWluaXRpYWxpemUgdGhlIHdvcmxkIHdpdGggbmV3IGNvbmZpZy5cbiAqL1xuZXhwb3J0IGNvbnN0IHNldFdvcmxkID0gKHdvcmxkOiBXb3JsZCB8IHVuZGVmaW5lZCk6IHZvaWQgPT4ge1xuICBnbG9iYWxTeW1ib2xzW1dvcmxkQ2FjaGVdID0gd29ybGQ7XG4gIGdsb2JhbFN5bWJvbHNbU3R1YmJlZFdvcmxkQ2FjaGVdID0gd29ybGQ7XG4gIGdsb2JhbFN5bWJvbHNbV29ybGRDYWNoZVByb21pc2VdID0gdW5kZWZpbmVkO1xuICBnbG9iYWxTeW1ib2xzW1N0dWJiZWRXb3JsZENhY2hlUHJvbWlzZV0gPSB1bmRlZmluZWQ7XG59O1xuXG4vLyBSZWdpc3RlciBnZXRXb3JsZCBvbiBnbG9iYWxUaGlzIHNvIGdldFdvcmxkTGF6eSBjYW4gY2FsbCBpdCBkaXJlY3RseSB3aGVuXG4vLyB3b3JsZC50cyBpcyBzdGF0aWNhbGx5IHByZXNlbnQgaW4gdGhlIGJ1bmRsZS5cbi8vXG4vLyBGb3Igc2VydmVyIHJvdXRlcyB0aGF0IG9ubHkgY29uc3VtZSBgc3RhcnRgIChvciBhbm90aGVyIGhlbHBlciB0aGF0IGdvZXNcbi8vIHRocm91Z2ggZ2V0V29ybGRMYXp5IHdpdGhvdXQgc3RhdGljYWxseSB1c2luZyBnZXRXb3JsZCksIHdlYnBhY2svdHVyYm9wYWNrXG4vLyB3b3VsZCBvdGhlcndpc2UgdHJlZS1zaGFrZSB3b3JsZC50cyBvdXQgb2YgdGhlIGJ1bmRsZSBlbnRpcmVseS4gVGhlXG4vLyBob3N0LW9ubHkgYC4vd29ybGQtaW5pdC50c2AgbW9kdWxlIGltcG9ydHMgd29ybGQudHMgZm9yIGl0cyBzaWRlIGVmZmVjdFxuLy8gYW5kIGlzIGl0c2VsZiBpbXBvcnRlZCBieSBgcGFja2FnZXMvd29ya2Zsb3cvc3JjL2FwaS50c2Agc28gdGhpc1xuLy8gcmVnaXN0cmF0aW9uIHJ1bnMgaW4gZXZlcnkgc2VydmVyIGJ1bmRsZSB0aGF0IHRvdWNoZXMgYHdvcmtmbG93L2FwaWAuXG4vL1xuLy8gU3RlcC9WTSBidW5kbGVzIG5ldmVyIHJlYWNoIHRoaXMgYnJhbmNoOiB0aGV5IGRvbid0IHN0YXRpY2FsbHkgaW1wb3J0XG4vLyB3b3JsZC50cywgYW5kIGB3b3JsZC1pbml0YCByZXNvbHZlcyB0byBhbiBlbXB0eSBzdHViIHZpYSB0aGUgYHdvcmtmbG93YFxuLy8gZXhwb3J0IGNvbmRpdGlvbi5cbmNvbnN0IEdldFdvcmxkRm5LZXkgPSBTeW1ib2wuZm9yKCdAd29ya2Zsb3cvd29ybGQvL2dldFdvcmxkRm4nKTtcbihnbG9iYWxUaGlzIGFzIHsgW0dldFdvcmxkRm5LZXldPzogKCkgPT4gUHJvbWlzZTxXb3JsZD4gfSlbR2V0V29ybGRGbktleV0gPz89XG4gIGdldFdvcmxkO1xuIl19
package/dist/runtime.d.ts CHANGED
@@ -4,18 +4,23 @@ export { WorkflowSuspension } from './global.js';
4
4
  export { type HealthCheckEndpoint, type HealthCheckOptions, type HealthCheckResult, healthCheck, } from './runtime/helpers.js';
5
5
  export { getHookByToken, resumeHook, resumeWebhook, } from './runtime/resume-hook.js';
6
6
  export { getRun, Run, type WorkflowReadableStream, type WorkflowReadableStreamOptions, } from './runtime/run.js';
7
- export { cancelRun, listStreams, type ReadStreamOptions, type RecreateRunOptions, readStream, recreateRunFromExisting, reenqueueRun, type StopSleepOptions, type StopSleepResult, wakeUpRun, } from './runtime/runs.js';
7
+ export { type CancelRunOptions, cancelRun, listStreams, type ReadStreamOptions, type RecreateRunOptions, type ReenqueueRunOptions, readStream, recreateRunFromExisting, reenqueueRun, type StopSleepOptions, type StopSleepResult, wakeUpRun, } from './runtime/runs.js';
8
8
  export { type StartOptions, type StartOptionsBase, type StartOptionsWithDeploymentId, type StartOptionsWithoutDeploymentId, start, } from './runtime/start.js';
9
- export { stepEntrypoint } from './runtime/step-handler.js';
10
- export { createWorld, getWorld, getWorldHandlers, setWorld, } from './runtime/world.js';
9
+ export { createWorld, createWorldFromModule, getWorld, getWorldHandlers, setWorld, type WorldFactoryModule, } from './runtime/world.js';
11
10
  /**
12
- * Function that creates a single route which handles any workflow execution
13
- * request and routes to the appropriate workflow function.
11
+ * Creates a single route which handles workflow execution requests,
12
+ * executing steps inline when possible to reduce function invocations
13
+ * and queue overhead.
14
14
  *
15
- * @param workflowCode - The workflow bundle code containing all the workflow
16
- * functions at the top level.
17
- * @returns A function that can be used as a Vercel API route.
15
+ * The handler loops: replay workflow execute step inline replay → ...
16
+ * until the workflow completes, times out, or encounters non-step suspensions.
17
+ *
18
+ * @param workflowCode - The workflow bundle code containing all workflow functions
19
+ * @returns A function that can be used as a Vercel API route
18
20
  */
19
- export declare function workflowEntrypoint(workflowCode: string): (req: Request) => Promise<Response>;
20
- export declare function runStep(): void;
21
+ export declare function workflowEntrypoint(workflowCode: string, options?: {
22
+ namespace?: string;
23
+ routeModuleBodyStartedAt?: number;
24
+ basePath?: string;
25
+ }): (req: Request) => Promise<Response>;
21
26
  //# sourceMappingURL=runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,KAAK,EAGV,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AAmCzB,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EACd,UAAU,EACV,aAAa,GACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,MAAM,EACN,GAAG,EACH,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,GACnC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,SAAS,EACT,WAAW,EACX,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,UAAU,EACV,uBAAuB,EACvB,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,SAAS,GACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,4BAA4B,EACjC,KAAK,+BAA+B,EACpC,KAAK,GACN,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EACL,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,QAAQ,GACT,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,MAAM,GACnB,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAuiBrC;AAID,wBAAgB,OAAO,SAAK"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,KAAK,KAAK,EAMV,KAAK,WAAW,EAEjB,MAAM,iBAAiB,CAAC;AAmEzB,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EACd,UAAU,EACV,aAAa,GACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,MAAM,EACN,GAAG,EACH,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,GACnC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,gBAAgB,EACrB,SAAS,EACT,WAAW,EACX,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,UAAU,EACV,uBAAuB,EACvB,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,SAAS,GACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,4BAA4B,EACjC,KAAK,+BAA+B,EACpC,KAAK,GACN,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAC;AAwJ5B;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE;IACR,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACA,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAonErC"}