eve 0.7.0 → 0.7.3

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 (145) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/docs/public/README.md +16 -11
  3. package/dist/docs/public/agent-config.md +9 -9
  4. package/dist/docs/public/channels/custom.mdx +4 -4
  5. package/dist/docs/public/channels/discord.mdx +1 -1
  6. package/dist/docs/public/channels/eve.mdx +9 -9
  7. package/dist/docs/public/channels/github.mdx +1 -1
  8. package/dist/docs/public/channels/overview.mdx +21 -15
  9. package/dist/docs/public/channels/slack.mdx +2 -2
  10. package/dist/docs/public/channels/teams.mdx +1 -1
  11. package/dist/docs/public/channels/telegram.mdx +1 -1
  12. package/dist/docs/public/channels/twilio.mdx +1 -1
  13. package/dist/docs/public/{advanced → concepts}/context-control.md +3 -3
  14. package/dist/docs/public/{advanced → concepts}/default-harness.md +3 -3
  15. package/dist/docs/public/{advanced → concepts}/execution-model-and-durability.md +3 -1
  16. package/dist/docs/public/concepts/meta.json +10 -0
  17. package/dist/docs/public/{advanced → concepts}/security-model.md +2 -2
  18. package/dist/docs/public/{advanced → concepts}/sessions-runs-and-streaming.md +7 -7
  19. package/dist/docs/public/connections.mdx +3 -3
  20. package/dist/docs/public/evals/cases.mdx +2 -3
  21. package/dist/docs/public/evals/judge.mdx +1 -1
  22. package/dist/docs/public/evals/overview.mdx +4 -4
  23. package/dist/docs/public/evals/running.mdx +5 -10
  24. package/dist/docs/public/evals/targets.mdx +4 -23
  25. package/dist/docs/public/getting-started.mdx +28 -35
  26. package/dist/docs/public/{advanced → guides}/auth-and-route-protection.md +2 -2
  27. package/dist/docs/public/{client → guides/client}/continuations.mdx +2 -2
  28. package/dist/docs/public/{client → guides/client}/messages.mdx +1 -1
  29. package/dist/docs/public/{client → guides/client}/meta.json +1 -1
  30. package/dist/docs/public/{client → guides/client}/output-schema.mdx +2 -2
  31. package/dist/docs/public/{client → guides/client}/overview.mdx +5 -5
  32. package/dist/docs/public/{client → guides/client}/streaming.mdx +1 -1
  33. package/dist/docs/public/{advanced → guides}/deployment.md +9 -1
  34. package/dist/docs/public/{advanced → guides}/dynamic-capabilities.md +1 -1
  35. package/dist/docs/public/{advanced → guides}/dynamic-workflows.md +1 -1
  36. package/dist/docs/public/{frontend → guides/frontend}/nextjs.mdx +3 -3
  37. package/dist/docs/public/{frontend → guides/frontend}/nuxt.mdx +3 -3
  38. package/dist/docs/public/{frontend → guides/frontend}/overview.mdx +6 -6
  39. package/dist/docs/public/{frontend → guides/frontend}/sveltekit.mdx +3 -3
  40. package/dist/docs/public/{frontend → guides/frontend}/use-eve-agent-svelte.mdx +2 -2
  41. package/dist/docs/public/{frontend → guides/frontend}/use-eve-agent-vue.mdx +2 -2
  42. package/dist/docs/public/{advanced → guides}/hooks.md +2 -2
  43. package/dist/docs/public/{advanced → guides}/instrumentation.md +2 -0
  44. package/dist/docs/public/{advanced → guides}/meta.json +8 -11
  45. package/dist/docs/public/{advanced → guides}/session-context.md +2 -2
  46. package/dist/docs/public/{advanced → guides}/state.md +1 -1
  47. package/dist/docs/public/instructions.mdx +2 -2
  48. package/dist/docs/public/introduction.md +5 -2
  49. package/dist/docs/public/meta.json +3 -3
  50. package/dist/docs/public/reference/cli.md +3 -3
  51. package/dist/docs/public/reference/meta.json +1 -1
  52. package/dist/docs/public/reference/project-layout.md +5 -1
  53. package/dist/docs/public/reference/typescript-api.md +23 -23
  54. package/dist/docs/public/sandbox.mdx +1 -1
  55. package/dist/docs/public/schedules.mdx +2 -2
  56. package/dist/docs/public/skills.mdx +3 -3
  57. package/dist/docs/public/subagents.mdx +3 -3
  58. package/dist/docs/public/tools.mdx +4 -4
  59. package/dist/docs/public/tutorial/connect-a-warehouse.mdx +2 -2
  60. package/dist/docs/public/tutorial/first-agent.mdx +1 -1
  61. package/dist/docs/public/tutorial/guard-the-spend.mdx +1 -1
  62. package/dist/docs/public/tutorial/how-it-runs.mdx +2 -2
  63. package/dist/docs/public/tutorial/meta.json +1 -1
  64. package/dist/docs/public/tutorial/query-sample-data.mdx +1 -1
  65. package/dist/docs/public/tutorial/remember-definitions.mdx +3 -3
  66. package/dist/docs/public/tutorial/run-analysis.mdx +1 -1
  67. package/dist/docs/public/tutorial/ship-it.mdx +4 -4
  68. package/dist/docs/public/tutorial/team-playbooks.mdx +3 -3
  69. package/dist/src/cli/dev/tui/prompt-command-handler.js +1 -1
  70. package/dist/src/cli/dev/tui/runner.d.ts +2 -2
  71. package/dist/src/cli/dev/tui/runner.js +1 -1
  72. package/dist/src/cli/dev/tui/tui.js +1 -1
  73. package/dist/src/cli/run.d.ts +0 -2
  74. package/dist/src/cli/run.js +1 -1
  75. package/dist/src/client/types.d.ts +0 -1
  76. package/dist/src/compiled/.vendor-stamp.json +2 -2
  77. package/dist/src/compiled/@workflow/core/capabilities.d.ts +19 -1
  78. package/dist/src/compiled/@workflow/core/class-serialization.d.ts +32 -0
  79. package/dist/src/compiled/@workflow/core/create-hook.d.ts +37 -0
  80. package/dist/src/compiled/@workflow/core/global.d.ts +11 -1
  81. package/dist/src/compiled/@workflow/core/index.js +2 -2
  82. package/dist/src/compiled/@workflow/core/runtime/start.d.ts +6 -0
  83. package/dist/src/compiled/@workflow/core/runtime/suspension-handler.d.ts +15 -2
  84. package/dist/src/compiled/@workflow/core/runtime/wait-continuation.d.ts +84 -0
  85. package/dist/src/compiled/@workflow/core/runtime.js +27 -27
  86. package/dist/src/compiled/@workflow/core/serialization/types.d.ts +21 -0
  87. package/dist/src/compiled/@workflow/core/serialization.d.ts +72 -6
  88. package/dist/src/compiled/@workflow/core/symbols.d.ts +2 -0
  89. package/dist/src/compiled/@workflow/core/version.d.ts +1 -1
  90. package/dist/src/compiled/@workflow/core/workflow/attribute-dispatcher.d.ts +6 -0
  91. package/dist/src/compiled/@workflow/core/workflow/set-attributes.d.ts +3 -4
  92. package/dist/src/compiled/@workflow/core/workflow.js +1 -1
  93. package/dist/src/compiled/@workflow/world/events.d.ts +48 -0
  94. package/dist/src/compiled/@workflow/world/index.d.ts +1 -1
  95. package/dist/src/compiled/@workflow/world/queue.d.ts +3 -0
  96. package/dist/src/compiled/@workflow/world/runs.d.ts +2 -0
  97. package/dist/src/compiled/@workflow/world/spec-version.d.ts +2 -1
  98. package/dist/src/compiled/_chunks/workflow/attribute-changes-DGVGRGfw.js +59 -0
  99. package/dist/src/compiled/_chunks/workflow/resume-hook-DMSadN9o.js +1 -0
  100. package/dist/src/compiled/_chunks/workflow/run-BRdn7zy_.js +1 -0
  101. package/dist/src/compiled/_chunks/workflow/sleep-CpXfoXLF.js +1 -0
  102. package/dist/src/evals/cli/eval.d.ts +0 -2
  103. package/dist/src/evals/cli/eval.js +1 -1
  104. package/dist/src/evals/define-eval.d.ts +1 -1
  105. package/dist/src/evals/define-eval.js +1 -1
  106. package/dist/src/evals/index.d.ts +1 -2
  107. package/dist/src/evals/index.js +1 -1
  108. package/dist/src/evals/runner/artifacts.js +1 -1
  109. package/dist/src/evals/runner/execute-eval.d.ts +2 -3
  110. package/dist/src/evals/runner/execute-eval.js +1 -1
  111. package/dist/src/evals/runner/execute-task.d.ts +1 -2
  112. package/dist/src/evals/runner/execute-task.js +1 -1
  113. package/dist/src/evals/runner/reporters/console.js +1 -1
  114. package/dist/src/evals/runner/reporters/junit.js +3 -4
  115. package/dist/src/evals/runner/run-evals.d.ts +0 -1
  116. package/dist/src/evals/runner/run-evals.js +1 -1
  117. package/dist/src/evals/target.d.ts +1 -6
  118. package/dist/src/evals/target.js +1 -1
  119. package/dist/src/evals/types.d.ts +2 -18
  120. package/dist/src/execution/node-step.js +1 -1
  121. package/dist/src/execution/sandbox/bindings/vercel.d.ts +2 -6
  122. package/dist/src/execution/sandbox/bindings/vercel.js +1 -1
  123. package/dist/src/internal/application/package.js +1 -1
  124. package/dist/src/internal/nitro/routes/agent-info/build-agent-info-response-from-manifest.js +1 -1
  125. package/dist/src/internal/nitro/routes/agent-info/build-agent-info-response.d.ts +0 -1
  126. package/dist/src/internal/nitro/routes/agent-info/build-agent-info-response.js +1 -1
  127. package/dist/src/runtime/agent/mock-model-adapter.d.ts +3 -6
  128. package/dist/src/runtime/agent/mock-model-adapter.js +2 -2
  129. package/dist/src/runtime/agent/resolve-model.d.ts +2 -2
  130. package/dist/src/runtime/agent/resolve-model.js +1 -1
  131. package/dist/src/runtime/sandbox/keys.js +1 -1
  132. package/dist/src/setup/primitives/pm/pnpm.js +1 -1
  133. package/dist/src/setup/scaffold/create/add-to-project.js +1 -1
  134. package/dist/src/setup/scaffold/create/project.js +2 -2
  135. package/dist/src/setup/scaffold/update/channels.js +1 -1
  136. package/package.json +6 -6
  137. package/dist/docs/public/reference/faqs.md +0 -48
  138. package/dist/src/compiled/_chunks/workflow/resume-hook-CEAS3opc.js +0 -12
  139. package/dist/src/compiled/_chunks/workflow/sleep-Cup6vPoA.js +0 -1
  140. package/dist/src/compiled/_chunks/workflow/symbols-BUTtwS7j.js +0 -48
  141. package/dist/src/evals/requirements.d.ts +0 -3
  142. package/dist/src/evals/requirements.js +0 -1
  143. /package/dist/docs/public/{advanced → guides}/dev-tui.md +0 -0
  144. /package/dist/docs/public/{frontend → guides/frontend}/meta.json +0 -0
  145. /package/dist/docs/public/{advanced → guides}/remote-agents.md +0 -0
@@ -1,8 +1,8 @@
1
1
  import type { LanguageModel } from "ai";
2
2
  import type { RuntimeCompiledArtifactsSource } from "#runtime/compiled-artifacts-source.js";
3
3
  import type { RuntimeModelReference } from "#runtime/agent/bootstrap.js";
4
- import { EVE_MOCK_AUTHORED_MODELS_ENV, shouldMockAuthoredRuntimeModels } from "#runtime/agent/mock-model-adapter.js";
5
- export { EVE_MOCK_AUTHORED_MODELS_ENV, shouldMockAuthoredRuntimeModels };
4
+ import { shouldMockAuthoredRuntimeModels } from "#runtime/agent/mock-model-adapter.js";
5
+ export { shouldMockAuthoredRuntimeModels };
6
6
  /**
7
7
  * Resolves one runtime model reference into the active language model.
8
8
  */
@@ -1 +1 @@
1
- import{expectObjectRecord,getAuthoredModuleExport,materializeAuthoredModuleExport}from"#internal/authored-module.js";import{ROOT_COMPILED_AGENT_NODE_ID}from"#compiler/manifest.js";import{normalizeAgentDefinition}from"#internal/authored-definition/core.js";import{loadCompiledModuleMap}from"#runtime/loaders/module-map.js";import{resolveBootstrapRuntimeModel}from"#runtime/agent/bootstrap-model.js";import{EVE_MOCK_AUTHORED_MODELS_ENV,resolveMockAuthoredRuntimeModel,shouldMockAuthoredRuntimeModels}from"#runtime/agent/mock-model-adapter.js";async function resolveRuntimeModelReference(e,t={}){let n=resolveBootstrapRuntimeModel(e);if(n!==null)return n;let r=resolveMockAuthoredRuntimeModel(e);return r===null?isSourceBackedRuntimeModelReference(e)?await loadSourceBackedRuntimeModelReference(e,t):e.id:r}async function loadSourceBackedRuntimeModelReference(i,a){if(a.compiledArtifactsSource===void 0)throw Error(`Expected an explicit compiled artifact source to resolve the authored runtime model "${i.id}".`);let o=(await loadCompiledModuleMap({compiledArtifactsSource:a.compiledArtifactsSource})).nodes[ROOT_COMPILED_AGENT_NODE_ID]?.modules[i.source.sourceId],s=normalizeAgentDefinition(await materializeAuthoredModuleExport(getAuthoredModuleExport(expectObjectRecord(o,`Missing compiled agent config module for runtime model "${i.id}" at "${i.source.logicalPath}".`),i.source)),`Expected the authored agent config export "${i.source.exportName??`default`}" from "${i.source.logicalPath}" to match the public Eve shape.`).model;if(s===void 0)throw Error(`Expected the authored agent config export "${i.source.exportName??`default`}" from "${i.source.logicalPath}" to provide a runtime model.`);return s}function isSourceBackedRuntimeModelReference(e){return e.source!==void 0}export{EVE_MOCK_AUTHORED_MODELS_ENV,resolveRuntimeModelReference,shouldMockAuthoredRuntimeModels};
1
+ import{expectObjectRecord,getAuthoredModuleExport,materializeAuthoredModuleExport}from"#internal/authored-module.js";import{ROOT_COMPILED_AGENT_NODE_ID}from"#compiler/manifest.js";import{normalizeAgentDefinition}from"#internal/authored-definition/core.js";import{loadCompiledModuleMap}from"#runtime/loaders/module-map.js";import{resolveBootstrapRuntimeModel}from"#runtime/agent/bootstrap-model.js";import{resolveMockAuthoredRuntimeModel,shouldMockAuthoredRuntimeModels}from"#runtime/agent/mock-model-adapter.js";async function resolveRuntimeModelReference(e,t={}){let n=resolveBootstrapRuntimeModel(e);if(n!==null)return n;let r=resolveMockAuthoredRuntimeModel(e);return r===null?isSourceBackedRuntimeModelReference(e)?await loadSourceBackedRuntimeModelReference(e,t):e.id:r}async function loadSourceBackedRuntimeModelReference(i,a){if(a.compiledArtifactsSource===void 0)throw Error(`Expected an explicit compiled artifact source to resolve the authored runtime model "${i.id}".`);let o=(await loadCompiledModuleMap({compiledArtifactsSource:a.compiledArtifactsSource})).nodes[ROOT_COMPILED_AGENT_NODE_ID]?.modules[i.source.sourceId],s=normalizeAgentDefinition(await materializeAuthoredModuleExport(getAuthoredModuleExport(expectObjectRecord(o,`Missing compiled agent config module for runtime model "${i.id}" at "${i.source.logicalPath}".`),i.source)),`Expected the authored agent config export "${i.source.exportName??`default`}" from "${i.source.logicalPath}" to match the public Eve shape.`).model;if(s===void 0)throw Error(`Expected the authored agent config export "${i.source.exportName??`default`}" from "${i.source.logicalPath}" to provide a runtime model.`);return s}function isSourceBackedRuntimeModelReference(e){return e.source!==void 0}export{resolveRuntimeModelReference,shouldMockAuthoredRuntimeModels};
@@ -1 +1 @@
1
- import{resolveInstalledPackageInfo}from"#internal/application/package.js";import{realpath}from"node:fs/promises";import{createHash}from"node:crypto";import{getRuntimeCompiledArtifactsAppRoot,getRuntimeCompiledArtifactsCacheKey}from"#runtime/compiled-artifacts-source.js";import{loadCompileMetadata}from"#runtime/loaders/compile-metadata.js";async function createRuntimeSandboxKeys(e){return{sessionKey:await createRuntimeSandboxSessionKey(e),templateKey:await createRuntimeSandboxTemplateKey(e)}}async function createRuntimeSandboxTemplateKey(t){if(t.templatePlan.kind===`none`)return null;let n=await resolveRuntimeSandboxScope({backendName:t.backendName,compiledArtifactsSource:t.compiledArtifactsSource,scopeKind:t.templatePlan.kind===`source-graph`?`deployment`:`stable`}),r=await resolveRuntimeSandboxVersionHash({compiledArtifactsSource:t.compiledArtifactsSource,nodeId:t.nodeId,sourceId:t.sourceId,templatePlan:t.templatePlan}),i=createStableHash(`${resolveInstalledPackageInfo().version}:5:${r}`).slice(0,20);return sanitizeRuntimeSandboxKey(`eve-sbx-tpl-${t.backendName}-${n}-${i}`)}async function createRuntimeSandboxSessionKey(e){let t=await resolveRuntimeSandboxScope({backendName:e.backendName,compiledArtifactsSource:e.compiledArtifactsSource,scopeKind:`deployment`}),n=sanitizeRuntimeSandboxKey(e.nodeId);return sanitizeRuntimeSandboxKey(`eve-sbx-ses-${e.backendName}-${t}-${e.sessionId}-${n}`)}async function resolveRuntimeSandboxScope(e){if(e.backendName===`vercel`){if(e.scopeKind===`stable`){let e=resolveVercelProjectScope();if(e!==void 0)return createStableHash(e).slice(0,16)}let t=process.env.VERCEL_DEPLOYMENT_ID?.trim();if(t!==void 0&&t.length>0)return createStableHash(t).slice(0,16)}let n=getRuntimeCompiledArtifactsAppRoot(e.compiledArtifactsSource);return n===void 0?createStableHash(getRuntimeCompiledArtifactsCacheKey(e.compiledArtifactsSource)).slice(0,16):createStableHash(await realpath(n)).slice(0,16)}async function resolveRuntimeSandboxVersionHash(e){if(e.templatePlan.kind===`bootstrap`){let t=e.templatePlan.contentHash??await resolveSourceGraphHash(e.compiledArtifactsSource);return createStableHash(`bootstrap:${e.templatePlan.revalidationKey??``}:${e.templatePlan.sourceHash}:${t}:${e.nodeId}:${e.sourceId}`)}return e.templatePlan.kind===`workspace-content`?createStableHash(`workspace-content:${e.templatePlan.contentHash??await resolveSourceGraphHash(e.compiledArtifactsSource)}:${e.nodeId}:${e.sourceId}`):createStableHash(`source-graph:${await resolveSourceGraphHash(e.compiledArtifactsSource)}:${e.nodeId}:${e.sourceId}`)}async function resolveSourceGraphHash(e){return(await loadCompileMetadata({compiledArtifactsSource:e}))?.discovery.sourceGraphHash??getRuntimeCompiledArtifactsCacheKey(e)}function resolveVercelProjectScope(){let e=process.env.VERCEL_PROJECT_ID?.trim();if(e===void 0||e.length===0)return;let t=process.env.VERCEL_TEAM_ID?.trim();return t===void 0||t.length===0?`vercel-project:${e}`:`vercel-project:${t}:${e}`}function createStableHash(e){return createHash(`sha256`).update(e).digest(`hex`)}function sanitizeRuntimeSandboxKey(e){return e.replaceAll(/[^a-zA-Z0-9._-]+/g,`-`).slice(0,120)}export{createRuntimeSandboxKeys,createRuntimeSandboxTemplateKey};
1
+ import{resolveInstalledPackageInfo}from"#internal/application/package.js";import{realpath}from"node:fs/promises";import{createHash}from"node:crypto";import{getRuntimeCompiledArtifactsAppRoot,getRuntimeCompiledArtifactsCacheKey}from"#runtime/compiled-artifacts-source.js";import{loadCompileMetadata}from"#runtime/loaders/compile-metadata.js";async function createRuntimeSandboxKeys(e){return{sessionKey:await createRuntimeSandboxSessionKey(e),templateKey:await createRuntimeSandboxTemplateKey(e)}}async function createRuntimeSandboxTemplateKey(e){if(e.templatePlan.kind===`none`)return null;let t=await loadCompileMetadataForKeys(e.compiledArtifactsSource),n=await resolveRuntimeSandboxScope({backendName:e.backendName,compiledArtifactsSource:e.compiledArtifactsSource,scopeKind:e.templatePlan.kind===`source-graph`?`deployment`:`stable`}),r=resolveRuntimeSandboxVersionHash({compiledArtifactsSource:e.compiledArtifactsSource,metadata:t,nodeId:e.nodeId,sourceId:e.sourceId,templatePlan:e.templatePlan}),i=createStableHash(`${resolvePackageVersionForTemplateKey(t)}:5:${r}`).slice(0,20);return sanitizeRuntimeSandboxKey(`eve-sbx-tpl-${e.backendName}-${n}-${i}`)}function resolvePackageVersionForTemplateKey(t){return t?.generator.version??resolveInstalledPackageInfo().version}async function loadCompileMetadataForKeys(e){try{return await loadCompileMetadata({compiledArtifactsSource:e})}catch{return null}}async function createRuntimeSandboxSessionKey(e){let t=await resolveRuntimeSandboxScope({backendName:e.backendName,compiledArtifactsSource:e.compiledArtifactsSource,scopeKind:`deployment`}),n=sanitizeRuntimeSandboxKey(e.nodeId);return sanitizeRuntimeSandboxKey(`eve-sbx-ses-${e.backendName}-${t}-${e.sessionId}-${n}`)}async function resolveRuntimeSandboxScope(e){if(e.backendName===`vercel`){if(e.scopeKind===`stable`){let e=resolveVercelProjectScope();if(e!==void 0)return createStableHash(e).slice(0,16)}let t=process.env.VERCEL_DEPLOYMENT_ID?.trim();if(t!==void 0&&t.length>0)return createStableHash(t).slice(0,16)}let n=getRuntimeCompiledArtifactsAppRoot(e.compiledArtifactsSource);return n===void 0?createStableHash(getRuntimeCompiledArtifactsCacheKey(e.compiledArtifactsSource)).slice(0,16):createStableHash(await realpath(n)).slice(0,16)}function resolveRuntimeSandboxVersionHash(e){if(e.templatePlan.kind===`bootstrap`){let t=e.templatePlan.contentHash??resolveSourceGraphHash(e.metadata,e.compiledArtifactsSource);return createStableHash(`bootstrap:${e.templatePlan.revalidationKey??``}:${e.templatePlan.sourceHash}:${t}:${e.nodeId}:${e.sourceId}`)}return e.templatePlan.kind===`workspace-content`?createStableHash(`workspace-content:${e.templatePlan.contentHash??resolveSourceGraphHash(e.metadata,e.compiledArtifactsSource)}:${e.nodeId}:${e.sourceId}`):createStableHash(`source-graph:${resolveSourceGraphHash(e.metadata,e.compiledArtifactsSource)}:${e.nodeId}:${e.sourceId}`)}function resolveSourceGraphHash(e,t){return e?.discovery.sourceGraphHash??getRuntimeCompiledArtifactsCacheKey(t)}function resolveVercelProjectScope(){let e=process.env.VERCEL_PROJECT_ID?.trim();if(!(e===void 0||e.length===0))return`vercel-project:${e}`}function createStableHash(e){return createHash(`sha256`).update(e).digest(`hex`)}function sanitizeRuntimeSandboxKey(e){return e.replaceAll(/[^a-zA-Z0-9._-]+/g,`-`).slice(0,120)}export{createRuntimeSandboxKeys,createRuntimeSandboxTemplateKey};
@@ -1,4 +1,4 @@
1
- import{pathExists}from"../../path-exists.js";import{extname,join}from"node:path";import{existsSync}from"node:fs";import{readFile,writeFile}from"node:fs/promises";const PNPM_WORKSPACE_PATH=`pnpm-workspace.yaml`,PNPM_WORKSPACE_CONTENT=[`minimumReleaseAgeExclude:`,` - eve`,`allowBuilds:`,` sharp: false`,`# Some Eve releases import oxc-parser without declaring it; remove once`,`# every supported Eve range declares it itself.`,`packageExtensions:`,` eve:`,` dependencies:`,` oxc-parser: ^0.134.0`,``].join(`
1
+ import{pathExists}from"../../path-exists.js";import{extname,join}from"node:path";import{existsSync}from"node:fs";import{readFile,writeFile}from"node:fs/promises";const PNPM_WORKSPACE_PATH=`pnpm-workspace.yaml`,PNPM_WORKSPACE_CONTENT=[`minimumReleaseAgeExclude:`,` - eve`,`allowBuilds:`,` sharp: false`,`# Compatibility for Eve releases with an incomplete runtime manifest.`,`packageExtensions:`,` "eve@>=0.6.0-beta.13 <=0.7.0":`,` dependencies:`,` oxc-parser: 0.134.0`,``].join(`
2
2
  `),EVE_RELEASE_AGE_EXCLUSION=` - eve`,SHARP_BUILD_POLICY=` sharp: false`;function findYamlBlockEnd(e,t){let n=t+1;for(;n<e.length;){let t=e[n]??``;if(t.length>0&&!t.startsWith(` `)&&!t.startsWith(` `))break;n+=1}return n}function withSharpBuildPolicy(e){let t=e.endsWith(`
3
3
  `)?e:`${e}\n`,n=t.split(`
4
4
  `),r=n.findIndex(e=>e===`allowBuilds:`);if(r<0)return`${t.trim().length===0?``:`${t}\n`}allowBuilds:\n${SHARP_BUILD_POLICY}\n`;let i=findYamlBlockEnd(n,r);if(n.slice(r+1,i).some(e=>/^\s+sharp:/.test(e)))return e;let a=i;for(;a>r+1&&n[a-1]===``;)--a;return n.splice(a,0,SHARP_BUILD_POLICY),n.join(`
@@ -1 +1 @@
1
- import{getPackageManagerStrategy}from"../../primitives/pm/index.js";import{pathExists,writeTextFile}from"../files.js";import{patchPackageJson}from"../update/package-json.js";import{resolveVersionToken}from"../version-tokens.js";import{agentTemplateFiles,formatEveDependencySpecifier}from"./project.js";import{join}from"node:path";import{readFile}from"node:fs/promises";const DEPENDENCY_FIELDS=[`dependencies`,`devDependencies`,`optionalDependencies`,`peerDependencies`];function isJsonObject(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function hasDeclaredDependency(e,t){if(!isJsonObject(e))return!1;for(let n of DEPENDENCY_FIELDS){let r=e[n];if(isJsonObject(r)&&typeof r[t]==`string`)return!0}return!1}async function addAgentToProject(i){let a=join(i.projectRoot,`package.json`);if(!await pathExists(a))throw Error(`Cannot add an Eve agent to "${i.projectRoot}" because it has no package.json. Run \`eve init <name>\` to create a new project instead.`);let o=agentTemplateFiles(i.model),s=[];for(let e of Object.keys(o))await pathExists(join(i.projectRoot,e))&&s.push(e);if(s.length===0&&await pathExists(join(i.projectRoot,`agent`))&&s.push(`agent/`),s.length>0)throw Error(`Cannot add an Eve agent to "${i.projectRoot}" because it already has: ${s.join(`, `)}. Move them aside first.`);let c=resolveVersionToken(`evePackageVersion`,i.evePackageVersion??`0.7.0`),l=resolveVersionToken(`aiPackageVersion`,i.aiPackageVersion??`7.0.0-canary.171`),u=resolveVersionToken(`zodPackageVersion`,i.zodPackageVersion??`4.4.3`),d=[];for(let[e,t]of Object.entries(o)){let r=join(i.projectRoot,e);await writeTextFile(r,t),d.push(r)}let f=JSON.parse(await readFile(a,`utf8`)),p={ai:l,eve:formatEveDependencySpecifier(c),zod:u},m={};for(let[e,t]of Object.entries(p))hasDeclaredDependency(f,e)||(m[e]=t);return Object.keys(m).length>0&&await patchPackageJson(a,{dependencies:m}),await getPackageManagerStrategy(i.packageManager??`pnpm`).applyProjectConfiguration(i.projectRoot),{filesWritten:d,dependenciesAdded:Object.keys(m).sort()}}export{addAgentToProject};
1
+ import{getPackageManagerStrategy}from"../../primitives/pm/index.js";import{pathExists,writeTextFile}from"../files.js";import{patchPackageJson}from"../update/package-json.js";import{resolveVersionToken}from"../version-tokens.js";import{agentTemplateFiles,formatEveDependencySpecifier}from"./project.js";import{join}from"node:path";import{readFile}from"node:fs/promises";const DEPENDENCY_FIELDS=[`dependencies`,`devDependencies`,`optionalDependencies`,`peerDependencies`];function isJsonObject(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function hasDeclaredDependency(e,t){if(!isJsonObject(e))return!1;for(let n of DEPENDENCY_FIELDS){let r=e[n];if(isJsonObject(r)&&typeof r[t]==`string`)return!0}return!1}async function addAgentToProject(i){let a=join(i.projectRoot,`package.json`);if(!await pathExists(a))throw Error(`Cannot add an Eve agent to "${i.projectRoot}" because it has no package.json. Run \`eve init <name>\` to create a new project instead.`);let o=agentTemplateFiles(i.model),s=[];for(let e of Object.keys(o))await pathExists(join(i.projectRoot,e))&&s.push(e);if(s.length===0&&await pathExists(join(i.projectRoot,`agent`))&&s.push(`agent/`),s.length>0)throw Error(`Cannot add an Eve agent to "${i.projectRoot}" because it already has: ${s.join(`, `)}. Move them aside first.`);let c=resolveVersionToken(`evePackageVersion`,i.evePackageVersion??`0.7.3`),l=resolveVersionToken(`aiPackageVersion`,i.aiPackageVersion??`7.0.0-canary.171`),u=resolveVersionToken(`zodPackageVersion`,i.zodPackageVersion??`4.4.3`),d=[];for(let[e,t]of Object.entries(o)){let r=join(i.projectRoot,e);await writeTextFile(r,t),d.push(r)}let f=JSON.parse(await readFile(a,`utf8`)),p={ai:l,eve:formatEveDependencySpecifier(c),zod:u},m={};for(let[e,t]of Object.entries(p))hasDeclaredDependency(f,e)||(m[e]=t);return Object.keys(m).length>0&&await patchPackageJson(a,{dependencies:m}),await getPackageManagerStrategy(i.packageManager??`pnpm`).applyProjectConfiguration(i.projectRoot),{filesWritten:d,dependenciesAdded:Object.keys(m).sort()}}export{addAgentToProject};
@@ -1,4 +1,4 @@
1
- import{getPackageManagerStrategy}from"../../primitives/pm/index.js";import{pathExists,writeTextFile}from"../files.js";import{resolveVersionToken}from"../version-tokens.js";import{SUPPORTED_AUTHORED_MODULE_FILE_EXTENSIONS}from"../update/module-files.js";import{WEB_APP_TEMPLATE_FILES}from"./web-template.js";import{basename,join,resolve}from"node:path";import{mkdir,readdir,stat}from"node:fs/promises";const CURRENT_DIRECTORY_PROJECT_NAME=`.`,ALLOWED_CREATE_IN_PLACE_ENTRIES=new Set([`.DS_Store`,`.git`,`.gitkeep`,`.hg`]),DEFAULT_EVE_PACKAGE_VERSION=`0.7.0`,DEFAULT_AI_PACKAGE_VERSION=`7.0.0-canary.171`,DEFAULT_ZOD_PACKAGE_VERSION=`4.4.3`;function modelProviderSlug(e){let t=(e.split(`/`)[0]??``).replaceAll(/[^A-Za-z0-9._-]/gu,``);return t.length>0?t:`anthropic`}function byokProviderEnvVar(e){let t=modelProviderSlug(e).toUpperCase().replaceAll(/[^A-Z0-9]/gu,`_`);return`${/^[0-9]/.test(t)?`_`:``}${t}_API_KEY`}function agentTemplateFiles(e){return{"agent/agent.ts":BASE_AGENT_TEMPLATE.replaceAll(`__EVE_INIT_MODEL__`,e),"agent/channels/eve.ts":WEB_APP_TEMPLATE_FILES[`agent/channels/eve.ts`],"agent/instructions.md":AGENT_INSTRUCTIONS_TEMPLATE}}function renderTemplate(e,t){return e.replaceAll(`__EVE_INIT_APP_NAME__`,t.appName).replaceAll(`__EVE_INIT_MODEL__`,t.model).replaceAll(`__EVE_INIT_BYOK_PROVIDER__`,modelProviderSlug(t.model)).replaceAll(`__EVE_INIT_BYOK_ENV_VAR__`,byokProviderEnvVar(t.model)).replaceAll(`__EVE_INIT_PACKAGE_VERSION__`,formatEveDependencySpecifier(t.evePackageVersion)).replaceAll(`__EVE_INIT_AI_SDK_VERSION__`,t.aiPackageVersion).replaceAll(`__EVE_INIT_ZOD_VERSION__`,t.zodPackageVersion).replaceAll(`__EVE_INIT_TSGO_VERSION__`,t.tsgoPackageVersion).replaceAll(`__EVE_INIT_TYPES_NODE_VERSION__`,t.typesNodePackageVersion)}function formatEveDependencySpecifier(e){return/^\d+\.\d+\.\d+(?:[-+][0-9A-Za-z-.]+)?$/.test(e)?`^${e}`:e}const BASE_AGENT_TEMPLATE=`import { defineAgent } from "eve";
1
+ import{getPackageManagerStrategy}from"../../primitives/pm/index.js";import{pathExists,writeTextFile}from"../files.js";import{resolveVersionToken}from"../version-tokens.js";import{SUPPORTED_AUTHORED_MODULE_FILE_EXTENSIONS}from"../update/module-files.js";import{WEB_APP_TEMPLATE_FILES}from"./web-template.js";import{basename,join,resolve}from"node:path";import{mkdir,readdir,stat}from"node:fs/promises";const CURRENT_DIRECTORY_PROJECT_NAME=`.`,ALLOWED_CREATE_IN_PLACE_ENTRIES=new Set([`.DS_Store`,`.git`,`.gitkeep`,`.hg`]),DEFAULT_EVE_PACKAGE_VERSION=`0.7.3`,DEFAULT_AI_PACKAGE_VERSION=`7.0.0-canary.171`,DEFAULT_ZOD_PACKAGE_VERSION=`4.4.3`;function modelProviderSlug(e){let t=(e.split(`/`)[0]??``).replaceAll(/[^A-Za-z0-9._-]/gu,``);return t.length>0?t:`anthropic`}function byokProviderEnvVar(e){let t=modelProviderSlug(e).toUpperCase().replaceAll(/[^A-Z0-9]/gu,`_`);return`${/^[0-9]/.test(t)?`_`:``}${t}_API_KEY`}function agentTemplateFiles(e){return{"agent/agent.ts":BASE_AGENT_TEMPLATE.replaceAll(`__EVE_INIT_MODEL__`,e),"agent/channels/eve.ts":WEB_APP_TEMPLATE_FILES[`agent/channels/eve.ts`],"agent/instructions.md":AGENT_INSTRUCTIONS_TEMPLATE}}function renderTemplate(e,t){return e.replaceAll(`__EVE_INIT_APP_NAME__`,t.appName).replaceAll(`__EVE_INIT_MODEL__`,t.model).replaceAll(`__EVE_INIT_BYOK_PROVIDER__`,modelProviderSlug(t.model)).replaceAll(`__EVE_INIT_BYOK_ENV_VAR__`,byokProviderEnvVar(t.model)).replaceAll(`__EVE_INIT_PACKAGE_VERSION__`,formatEveDependencySpecifier(t.evePackageVersion)).replaceAll(`__EVE_INIT_AI_SDK_VERSION__`,t.aiPackageVersion).replaceAll(`__EVE_INIT_ZOD_VERSION__`,t.zodPackageVersion).replaceAll(`__EVE_INIT_TSGO_VERSION__`,t.tsgoPackageVersion).replaceAll(`__EVE_INIT_TYPES_NODE_VERSION__`,t.typesNodePackageVersion)}function formatEveDependencySpecifier(e){return/^\d+\.\d+\.\d+(?:[-+][0-9A-Za-z-.]+)?$/.test(e)?`^${e}`:e}const BASE_AGENT_TEMPLATE=`import { defineAgent } from "eve";
2
2
 
3
3
  export default defineAgent({
4
4
  model: "__EVE_INIT_MODEL__",
@@ -77,4 +77,4 @@ export default defineAgent({
77
77
  },
78
78
  },
79
79
  });
80
- `:BASE_AGENT_TEMPLATE,...SHARED_TEMPLATE_FILES,"package.json":packageJsonTemplate(t),...getPackageManagerStrategy(n).scaffoldFiles}}async function assertCanCreateInPlace(e,n){if(!await pathExists(e))return;let r=(await readdir(e)).filter(e=>!ALLOWED_CREATE_IN_PLACE_ENTRIES.has(e));if(r.length>0&&!n){let e=r.slice(0,5).join(`, `),t=r.length>5?`, and ${r.length-5} more`:``;throw Error(`Cannot create project in current directory because it is not empty. Found: ${e}${t}. Use an empty directory.`)}}async function scaffoldBaseProject(e){let i=resolve(e.targetDirectory??process.cwd(),e.projectName),a=e.projectName===`.`,s=e.overwriteExisting??!1,u=e.byokProvider??!1,d=e.packageManager??`pnpm`;if(a)await assertCanCreateInPlace(i,s);else if(await pathExists(i))throw Error(`Cannot create project because "${i}" already exists.`);let f=e.typesNodePackageVersion??`25.9.1`,p={appName:basename(i),model:e.model,evePackageVersion:resolveVersionToken(`evePackageVersion`,e.evePackageVersion??`0.7.0`),aiPackageVersion:resolveVersionToken(`aiPackageVersion`,e.aiPackageVersion??`7.0.0-canary.171`),zodPackageVersion:resolveVersionToken(`zodPackageVersion`,e.zodPackageVersion??`4.4.3`),tsgoPackageVersion:resolveVersionToken(`tsgoPackageVersion`,e.tsgoPackageVersion??`7.0.0-dev.20260523.1`),typesNodePackageVersion:u?resolveVersionToken(`typesNodePackageVersion`,f):f};await mkdir(i,{recursive:!0});for(let[r,o]of Object.entries(templateFiles(u,d))){let c=`${i}/${r}`,l=await pathExists(c);await writeTextFile(c,renderTemplate(o,p),{force:a&&s}),l&&await e.onOverwriteFile?.(c)}return i}async function isEveProject(e){for(let t of SUPPORTED_AUTHORED_MODULE_FILE_EXTENSIONS)try{return await stat(join(e,`agent`,`agent${t}`)),!0}catch{}return!1}export{CURRENT_DIRECTORY_PROJECT_NAME,DEFAULT_AI_PACKAGE_VERSION,DEFAULT_EVE_PACKAGE_VERSION,DEFAULT_ZOD_PACKAGE_VERSION,agentTemplateFiles,byokProviderEnvVar,formatEveDependencySpecifier,isEveProject,modelProviderSlug,scaffoldBaseProject};
80
+ `:BASE_AGENT_TEMPLATE,...SHARED_TEMPLATE_FILES,"package.json":packageJsonTemplate(t),...getPackageManagerStrategy(n).scaffoldFiles}}async function assertCanCreateInPlace(e,n){if(!await pathExists(e))return;let r=(await readdir(e)).filter(e=>!ALLOWED_CREATE_IN_PLACE_ENTRIES.has(e));if(r.length>0&&!n){let e=r.slice(0,5).join(`, `),t=r.length>5?`, and ${r.length-5} more`:``;throw Error(`Cannot create project in current directory because it is not empty. Found: ${e}${t}. Use an empty directory.`)}}async function scaffoldBaseProject(e){let i=resolve(e.targetDirectory??process.cwd(),e.projectName),a=e.projectName===`.`,s=e.overwriteExisting??!1,u=e.byokProvider??!1,d=e.packageManager??`pnpm`;if(a)await assertCanCreateInPlace(i,s);else if(await pathExists(i))throw Error(`Cannot create project because "${i}" already exists.`);let f=e.typesNodePackageVersion??`25.9.1`,p={appName:basename(i),model:e.model,evePackageVersion:resolveVersionToken(`evePackageVersion`,e.evePackageVersion??`0.7.3`),aiPackageVersion:resolveVersionToken(`aiPackageVersion`,e.aiPackageVersion??`7.0.0-canary.171`),zodPackageVersion:resolveVersionToken(`zodPackageVersion`,e.zodPackageVersion??`4.4.3`),tsgoPackageVersion:resolveVersionToken(`tsgoPackageVersion`,e.tsgoPackageVersion??`7.0.0-dev.20260523.1`),typesNodePackageVersion:u?resolveVersionToken(`typesNodePackageVersion`,f):f};await mkdir(i,{recursive:!0});for(let[r,o]of Object.entries(templateFiles(u,d))){let c=`${i}/${r}`,l=await pathExists(c);await writeTextFile(c,renderTemplate(o,p),{force:a&&s}),l&&await e.onOverwriteFile?.(c)}return i}async function isEveProject(e){for(let t of SUPPORTED_AUTHORED_MODULE_FILE_EXTENSIONS)try{return await stat(join(e,`agent`,`agent${t}`)),!0}catch{}return!1}export{CURRENT_DIRECTORY_PROJECT_NAME,DEFAULT_AI_PACKAGE_VERSION,DEFAULT_EVE_PACKAGE_VERSION,DEFAULT_ZOD_PACKAGE_VERSION,agentTemplateFiles,byokProviderEnvVar,formatEveDependencySpecifier,isEveProject,modelProviderSlug,scaffoldBaseProject};
@@ -1,4 +1,4 @@
1
- import{getPackageManagerStrategy}from"../../primitives/pm/index.js";import{pathExists,writeTextFile}from"../files.js";import{patchPackageJson}from"./package-json.js";import{resolveVersionToken}from"../version-tokens.js";import{getSupportedModuleBaseName,matchesSupportedModuleBaseName}from"./module-files.js";import{WEB_APP_TEMPLATE_FILES,WEB_APP_TEMPLATE_PACKAGE_JSON}from"../create/web-template.js";import"../create/project.js";import{basename,join,resolve}from"node:path";import{readFile,readdir,writeFile}from"node:fs/promises";const SLACK_CHANNEL_DEFAULT_ROUTE=`/eve/v1/slack`,DEFAULT_SLACK_CONNECTOR_SLUG=`my-agent`,PACKAGE_DEPENDENCY_FIELDS=[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`],WEB_NEXT_CONFIG_PATH=`next.config.ts`,WEB_VERCEL_JSON_PATH=`vercel.json`,WEB_VERCEL_JSON_SCHEMA=`https://openapi.vercel.sh/vercel.json`,WEB_COMPETING_NEXT_CONFIG_PATHS=[`next.config.js`,`next.config.mjs`,WEB_NEXT_CONFIG_PATH,`next.config.mts`].filter(e=>e!==WEB_NEXT_CONFIG_PATH),WEB_DEFAULT_VERCEL_SERVICES={web:{entrypoint:`.`,framework:`nextjs`,routePrefix:`/`},eve:{buildCommand:`eve build`,entrypoint:`.`,framework:`eve`,routePrefix:`/_eve_internal/eve`}};function toSlackConnectorSlug(e){return e}function isJsonObject(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}async function readDependencyVersion(e,t){let n=JSON.parse(await readFile(e,`utf8`));if(!isJsonObject(n)||!isJsonObject(n.dependencies))return;let r=n.dependencies[t];return typeof r==`string`?r:void 0}function packageJsonHasDependency(e,t){for(let n of PACKAGE_DEPENDENCY_FIELDS){let r=e[n];if(isJsonObject(r)&&typeof r[t]==`string`)return!0}return!1}async function hasPackageDependency(e,n){if(!await pathExists(e))return!1;let r=JSON.parse(await readFile(e,`utf8`));return isJsonObject(r)&&packageJsonHasDependency(r,n)}async function isNextJsProject(e){return hasPackageDependency(join(e,`package.json`),`next`)}async function ensurePackageDependency(e,n,i){return!await pathExists(e)||await readDependencyVersion(e,n)===i?[]:(await patchPackageJson(e,{dependencies:{[n]:i}}),[{path:e,dependencies:[n],devDependencies:[],scripts:[]}])}function resolveWebPackageVersions(e){return{evePackageVersion:e?.evePackageVersion??`0.7.0`,aiPackageVersion:e?.aiPackageVersion??`7.0.0-canary.171`,nextPackageVersion:e?.nextPackageVersion??`16.2.6`,reactPackageVersion:e?.reactPackageVersion??`19.2.6`,reactDomPackageVersion:e?.reactDomPackageVersion??`19.2.6`,streamdownPackageVersion:e?.streamdownPackageVersion??`2.5.0`,zodPackageVersion:e?.zodPackageVersion??`4.4.3`,tsgoPackageVersion:e?.tsgoPackageVersion??`7.0.0-dev.20260523.1`,typesNodePackageVersion:e?.typesNodePackageVersion??`25.9.1`,typesReactPackageVersion:e?.typesReactPackageVersion??`19.2.15`,typesReactDomPackageVersion:e?.typesReactDomPackageVersion??`19.2.3`}}function formatEveDependencySpecifier(e){return/^\d+\.\d+\.\d+(?:[-+][0-9A-Za-z-.]+)?$/.test(e)?`^${e}`:e}async function patchWebPackageJson(e,n){if(!await pathExists(e))return[];let a={...WEB_APP_TEMPLATE_PACKAGE_JSON.dependencies,ai:resolveVersionToken(`aiPackageVersion`,n.aiPackageVersion),eve:formatEveDependencySpecifier(resolveVersionToken(`evePackageVersion`,n.evePackageVersion)),next:resolveVersionToken(`nextPackageVersion`,n.nextPackageVersion),react:resolveVersionToken(`reactPackageVersion`,n.reactPackageVersion),"react-dom":resolveVersionToken(`reactDomPackageVersion`,n.reactDomPackageVersion),streamdown:resolveVersionToken(`streamdownPackageVersion`,n.streamdownPackageVersion),zod:resolveVersionToken(`zodPackageVersion`,n.zodPackageVersion)},o={...WEB_APP_TEMPLATE_PACKAGE_JSON.devDependencies,"@types/node":resolveVersionToken(`typesNodePackageVersion`,n.typesNodePackageVersion),"@types/react":resolveVersionToken(`typesReactPackageVersion`,n.typesReactPackageVersion),"@types/react-dom":resolveVersionToken(`typesReactDomPackageVersion`,n.typesReactDomPackageVersion),"@typescript/native-preview":resolveVersionToken(`tsgoPackageVersion`,n.tsgoPackageVersion)},s=WEB_APP_TEMPLATE_PACKAGE_JSON.scripts;return await patchPackageJson(e,{dependencies:a,devDependencies:o,scripts:s}),[{path:e,dependencies:Object.keys(a),devDependencies:Object.keys(o),scripts:Object.keys(s)}]}function normalizeSlackConnectorSlug(e){return toSlackConnectorSlug((e.trim().replace(/^@/,``).split(`/`).at(-1)??``).toLowerCase().replace(/[^a-z0-9_-]+/g,`-`).replace(/^[^a-z0-9]+/,``).replace(/[^a-z0-9]+$/,``).slice(0,100).replace(/[^a-z0-9]+$/,``)||`my-agent`)}async function deriveSlackConnectorSlug(e,t){if(t!==void 0&&t.length>0&&t!==`.`)return normalizeSlackConnectorSlug(t);try{let t=await readFile(join(e,`package.json`),`utf8`),n=JSON.parse(t);if(typeof n.name==`string`&&n.name.length>0)return normalizeSlackConnectorSlug(n.name)}catch{}return normalizeSlackConnectorSlug(basename(resolve(e))||`my-agent`)}function buildSlackTemplate(e){return`import { connectSlackCredentials } from "@vercel/connect/eve";
1
+ import{getPackageManagerStrategy}from"../../primitives/pm/index.js";import{pathExists,writeTextFile}from"../files.js";import{patchPackageJson}from"./package-json.js";import{resolveVersionToken}from"../version-tokens.js";import{getSupportedModuleBaseName,matchesSupportedModuleBaseName}from"./module-files.js";import{WEB_APP_TEMPLATE_FILES,WEB_APP_TEMPLATE_PACKAGE_JSON}from"../create/web-template.js";import"../create/project.js";import{basename,join,resolve}from"node:path";import{readFile,readdir,writeFile}from"node:fs/promises";const SLACK_CHANNEL_DEFAULT_ROUTE=`/eve/v1/slack`,DEFAULT_SLACK_CONNECTOR_SLUG=`my-agent`,PACKAGE_DEPENDENCY_FIELDS=[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`],WEB_NEXT_CONFIG_PATH=`next.config.ts`,WEB_VERCEL_JSON_PATH=`vercel.json`,WEB_VERCEL_JSON_SCHEMA=`https://openapi.vercel.sh/vercel.json`,WEB_COMPETING_NEXT_CONFIG_PATHS=[`next.config.js`,`next.config.mjs`,WEB_NEXT_CONFIG_PATH,`next.config.mts`].filter(e=>e!==WEB_NEXT_CONFIG_PATH),WEB_DEFAULT_VERCEL_SERVICES={web:{entrypoint:`.`,framework:`nextjs`,routePrefix:`/`},eve:{buildCommand:`eve build`,entrypoint:`.`,framework:`eve`,routePrefix:`/_eve_internal/eve`}};function toSlackConnectorSlug(e){return e}function isJsonObject(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}async function readDependencyVersion(e,t){let n=JSON.parse(await readFile(e,`utf8`));if(!isJsonObject(n)||!isJsonObject(n.dependencies))return;let r=n.dependencies[t];return typeof r==`string`?r:void 0}function packageJsonHasDependency(e,t){for(let n of PACKAGE_DEPENDENCY_FIELDS){let r=e[n];if(isJsonObject(r)&&typeof r[t]==`string`)return!0}return!1}async function hasPackageDependency(e,n){if(!await pathExists(e))return!1;let r=JSON.parse(await readFile(e,`utf8`));return isJsonObject(r)&&packageJsonHasDependency(r,n)}async function isNextJsProject(e){return hasPackageDependency(join(e,`package.json`),`next`)}async function ensurePackageDependency(e,n,i){return!await pathExists(e)||await readDependencyVersion(e,n)===i?[]:(await patchPackageJson(e,{dependencies:{[n]:i}}),[{path:e,dependencies:[n],devDependencies:[],scripts:[]}])}function resolveWebPackageVersions(e){return{evePackageVersion:e?.evePackageVersion??`0.7.3`,aiPackageVersion:e?.aiPackageVersion??`7.0.0-canary.171`,nextPackageVersion:e?.nextPackageVersion??`16.2.6`,reactPackageVersion:e?.reactPackageVersion??`19.2.6`,reactDomPackageVersion:e?.reactDomPackageVersion??`19.2.6`,streamdownPackageVersion:e?.streamdownPackageVersion??`2.5.0`,zodPackageVersion:e?.zodPackageVersion??`4.4.3`,tsgoPackageVersion:e?.tsgoPackageVersion??`7.0.0-dev.20260523.1`,typesNodePackageVersion:e?.typesNodePackageVersion??`25.9.1`,typesReactPackageVersion:e?.typesReactPackageVersion??`19.2.15`,typesReactDomPackageVersion:e?.typesReactDomPackageVersion??`19.2.3`}}function formatEveDependencySpecifier(e){return/^\d+\.\d+\.\d+(?:[-+][0-9A-Za-z-.]+)?$/.test(e)?`^${e}`:e}async function patchWebPackageJson(e,n){if(!await pathExists(e))return[];let a={...WEB_APP_TEMPLATE_PACKAGE_JSON.dependencies,ai:resolveVersionToken(`aiPackageVersion`,n.aiPackageVersion),eve:formatEveDependencySpecifier(resolveVersionToken(`evePackageVersion`,n.evePackageVersion)),next:resolveVersionToken(`nextPackageVersion`,n.nextPackageVersion),react:resolveVersionToken(`reactPackageVersion`,n.reactPackageVersion),"react-dom":resolveVersionToken(`reactDomPackageVersion`,n.reactDomPackageVersion),streamdown:resolveVersionToken(`streamdownPackageVersion`,n.streamdownPackageVersion),zod:resolveVersionToken(`zodPackageVersion`,n.zodPackageVersion)},o={...WEB_APP_TEMPLATE_PACKAGE_JSON.devDependencies,"@types/node":resolveVersionToken(`typesNodePackageVersion`,n.typesNodePackageVersion),"@types/react":resolveVersionToken(`typesReactPackageVersion`,n.typesReactPackageVersion),"@types/react-dom":resolveVersionToken(`typesReactDomPackageVersion`,n.typesReactDomPackageVersion),"@typescript/native-preview":resolveVersionToken(`tsgoPackageVersion`,n.tsgoPackageVersion)},s=WEB_APP_TEMPLATE_PACKAGE_JSON.scripts;return await patchPackageJson(e,{dependencies:a,devDependencies:o,scripts:s}),[{path:e,dependencies:Object.keys(a),devDependencies:Object.keys(o),scripts:Object.keys(s)}]}function normalizeSlackConnectorSlug(e){return toSlackConnectorSlug((e.trim().replace(/^@/,``).split(`/`).at(-1)??``).toLowerCase().replace(/[^a-z0-9_-]+/g,`-`).replace(/^[^a-z0-9]+/,``).replace(/[^a-z0-9]+$/,``).slice(0,100).replace(/[^a-z0-9]+$/,``)||`my-agent`)}async function deriveSlackConnectorSlug(e,t){if(t!==void 0&&t.length>0&&t!==`.`)return normalizeSlackConnectorSlug(t);try{let t=await readFile(join(e,`package.json`),`utf8`),n=JSON.parse(t);if(typeof n.name==`string`&&n.name.length>0)return normalizeSlackConnectorSlug(n.name)}catch{}return normalizeSlackConnectorSlug(basename(resolve(e))||`my-agent`)}function buildSlackTemplate(e){return`import { connectSlackCredentials } from "@vercel/connect/eve";
2
2
  import { slackChannel } from "eve/channels/slack";
3
3
 
4
4
  export default slackChannel({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eve",
3
- "version": "0.7.0",
3
+ "version": "0.7.3",
4
4
  "private": false,
5
5
  "description": "Filesystem-first framework for durable backend AI agents that run anywhere.",
6
6
  "keywords": [
@@ -243,7 +243,8 @@
243
243
  "access": "public"
244
244
  },
245
245
  "dependencies": {
246
- "nitro": "3.0.260610-beta"
246
+ "nitro": "3.0.260610-beta",
247
+ "oxc-parser": "0.134.0"
247
248
  },
248
249
  "devDependencies": {
249
250
  "@ai-sdk/anthropic": "4.0.0-canary.65",
@@ -263,10 +264,10 @@
263
264
  "@types/react-test-renderer": "19.1.0",
264
265
  "@vercel/oidc": "3.5.0",
265
266
  "@vercel/sandbox": "2.1.0",
266
- "@workflow/core": "5.0.0-beta.14",
267
+ "@workflow/core": "5.0.0-beta.15",
267
268
  "@workflow/errors": "5.0.0-beta.7",
268
- "@workflow/world": "5.0.0-beta.8",
269
- "@workflow/world-local": "5.0.0-beta.15",
269
+ "@workflow/world": "5.0.0-beta.9",
270
+ "@workflow/world-local": "5.0.0-beta.16",
270
271
  "ai": "7.0.0-canary.171",
271
272
  "autoevals": "0.0.132",
272
273
  "chat": "4.29.0",
@@ -279,7 +280,6 @@
279
280
  "jsonc-parser": "3.3.1",
280
281
  "just-bash": "3.0.1",
281
282
  "next": "16.2.6",
282
- "oxc-parser": "^0.134.0",
283
283
  "picocolors": "1.1.1",
284
284
  "react": "19.2.6",
285
285
  "react-test-renderer": "19.2.6",
@@ -1,48 +0,0 @@
1
- ---
2
- title: "FAQs"
3
- description: "Frequently asked questions about Eve."
4
- ---
5
-
6
- ## How do I view my agent's observability and drill into conversation traces?
7
-
8
- When you deploy an Eve agent to Vercel, the platform auto-detects `eve` as the framework, which surfaces an **Agent Runs** tab under your project's **Observability** view in the Vercel dashboard. From there you can browse sessions and drill into each conversation's trace.
9
-
10
- > The Agent Runs tab is currently gated: your Vercel team needs the feature enabled before it appears. If you don't see it, reach out to your Vercel contact to get your team enabled.
11
-
12
- Agent Runs is separate from the OpenTelemetry exporters configured in [`instrumentation.ts`](../advanced/instrumentation). Those still work and are the recommended path if you want spans in Braintrust, Datadog, or another third-party backend.
13
-
14
- ## Does Eve use the Chat SDK?
15
-
16
- Eve uses Chat SDK's **card-builder components** (Cards, Buttons, Actions, etc.) for composing rich Slack messages. When you build a card with Eve's Slack channel, the underlying primitives come from Chat SDK and get converted to Slack Block Kit at post time.
17
-
18
- Eve does **not** use Chat SDK's runtime. The `Chat`, `Adapter`, and `Thread` primitives are never imported or reachable through Eve's public API. Eve's channel layer (webhook handling, signature verification, event parsing, and thread management) is implemented inside Eve itself (see [Channels](../channels/overview)).
19
-
20
- In short:
21
-
22
- - Building Slack messages: the components feel just like Chat SDK cards.
23
- - Wiring a channel: you author against Eve's `defineChannel(...)` API, not a Chat SDK adapter.
24
-
25
- ## How is session data persisted?
26
-
27
- Eve persists session state automatically using the [Workflow SDK](https://workflow-sdk.dev), an open-source TypeScript library that makes ordinary functions durable, resumable, and crash-safe. Each Eve session corresponds to one workflow run: when a new message comes in, the runtime either starts a new workflow or resumes an existing one, and the durable context is serialized and threaded forward across each model-call boundary so the session can be reloaded on the next turn.
28
-
29
- You don't write workflow code directly. Workflow primitives (`start()`, `resumeHook()`, etc.) are an implementation detail of Eve's runtime layer; channels, tools, and hooks never touch them. This separation is enforced by the framework's mechanical invariants.
30
-
31
- If you want session data from your own code, there are two supported surfaces:
32
-
33
- - **Tools** can read the current session's metadata (id, turn, auth, parent lineage) via `ctx.session` from the optional `ctx` parameter on `execute`. This is read-only.
34
- - **`defineState`** is the supported pattern for reading or writing session-scoped durable state from authored code. See [Session context](../advanced/session-context).
35
-
36
- For the wire-level session lifecycle (creating sessions, streaming events, reconnecting by event index) see [Sessions, runs & streaming](../advanced/sessions-runs-and-streaming).
37
-
38
- ## Why didn't Eve discover my file?
39
-
40
- Run `eve info`. It lists the discovered surface and prints discovery diagnostics. From there, check that the file sits in the right authored slot and that the root-vs-subagent boundary is valid. See [CLI](./cli) and [Project layout](./project-layout).
41
-
42
- ## Why can't I call `ctx` at the top of my module?
43
-
44
- Runtime helpers on `ctx` (like `ctx.session`) only work inside active authored execution (tools, hooks, lifecycle callbacks), not at module top level. See [Session context](../advanced/session-context).
45
-
46
- ## Where do auth and network policy live?
47
-
48
- On the channel that handles the inbound request. See [Auth & route protection](../advanced/auth-and-route-protection).
@@ -1,12 +0,0 @@
1
- import{i as e,n as t,t as n}from"./chunk-DSjMdhoD.js";import{a as r,c as i,i as a,l as o,o as s,s as c,u as l}from"./dist-D0jyrm7a.js";import{E as u,T as d,a as f,c as p,d as m,f as h,i as g,n as _,o as v,s as y,w as b}from"./dist-6a3viBXZ.js";import{C as ee,I as te,P as ne,_t as re,a as ie,c as x,d as ae,f as oe,gt as se,ht as ce,i as S,k as le,l as C,mt as w,n as ue,o as de,pt as fe,r as pe,s as T,t as E,u as me,x as he}from"./symbols-BUTtwS7j.js";import{getStepFunction as ge}from"../../@workflow/core/private.js";import{types as _e}from"node:util";import{AsyncLocalStorage as ve}from"node:async_hooks";var ye=n(((e,t)=>{t.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:2**53-1||9007199254740991,RELEASE_TYPES:[`major`,`premajor`,`minor`,`preminor`,`patch`,`prepatch`,`prerelease`],SEMVER_SPEC_VERSION:`2.0.0`,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}})),be=n(((e,t)=>{t.exports=typeof process==`object`&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error(`SEMVER`,...e):()=>{}})),xe=n(((e,t)=>{let{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:r,MAX_LENGTH:i}=ye(),a=be();e=t.exports={};let o=e.re=[],s=e.safeRe=[],c=e.src=[],l=e.safeSrc=[],u=e.t={},d=0,f=`[a-zA-Z0-9-]`,p=[[`\\s`,1],[`\\d`,i],[f,r]],m=e=>{for(let[t,n]of p)e=e.split(`${t}*`).join(`${t}{0,${n}}`).split(`${t}+`).join(`${t}{1,${n}}`);return e},h=(e,t,n)=>{let r=m(t),i=d++;a(e,i,t),u[e]=i,c[i]=t,l[i]=r,o[i]=new RegExp(t,n?`g`:void 0),s[i]=new RegExp(r,n?`g`:void 0)};h(`NUMERICIDENTIFIER`,`0|[1-9]\\d*`),h(`NUMERICIDENTIFIERLOOSE`,`\\d+`),h(`NONNUMERICIDENTIFIER`,`\\d*[a-zA-Z-]${f}*`),h(`MAINVERSION`,`(${c[u.NUMERICIDENTIFIER]})\\.(${c[u.NUMERICIDENTIFIER]})\\.(${c[u.NUMERICIDENTIFIER]})`),h(`MAINVERSIONLOOSE`,`(${c[u.NUMERICIDENTIFIERLOOSE]})\\.(${c[u.NUMERICIDENTIFIERLOOSE]})\\.(${c[u.NUMERICIDENTIFIERLOOSE]})`),h(`PRERELEASEIDENTIFIER`,`(?:${c[u.NONNUMERICIDENTIFIER]}|${c[u.NUMERICIDENTIFIER]})`),h(`PRERELEASEIDENTIFIERLOOSE`,`(?:${c[u.NONNUMERICIDENTIFIER]}|${c[u.NUMERICIDENTIFIERLOOSE]})`),h(`PRERELEASE`,`(?:-(${c[u.PRERELEASEIDENTIFIER]}(?:\\.${c[u.PRERELEASEIDENTIFIER]})*))`),h(`PRERELEASELOOSE`,`(?:-?(${c[u.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[u.PRERELEASEIDENTIFIERLOOSE]})*))`),h(`BUILDIDENTIFIER`,`${f}+`),h(`BUILD`,`(?:\\+(${c[u.BUILDIDENTIFIER]}(?:\\.${c[u.BUILDIDENTIFIER]})*))`),h(`FULLPLAIN`,`v?${c[u.MAINVERSION]}${c[u.PRERELEASE]}?${c[u.BUILD]}?`),h(`FULL`,`^${c[u.FULLPLAIN]}$`),h(`LOOSEPLAIN`,`[v=\\s]*${c[u.MAINVERSIONLOOSE]}${c[u.PRERELEASELOOSE]}?${c[u.BUILD]}?`),h(`LOOSE`,`^${c[u.LOOSEPLAIN]}$`),h(`GTLT`,`((?:<|>)?=?)`),h(`XRANGEIDENTIFIERLOOSE`,`${c[u.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),h(`XRANGEIDENTIFIER`,`${c[u.NUMERICIDENTIFIER]}|x|X|\\*`),h(`XRANGEPLAIN`,`[v=\\s]*(${c[u.XRANGEIDENTIFIER]})(?:\\.(${c[u.XRANGEIDENTIFIER]})(?:\\.(${c[u.XRANGEIDENTIFIER]})(?:${c[u.PRERELEASE]})?${c[u.BUILD]}?)?)?`),h(`XRANGEPLAINLOOSE`,`[v=\\s]*(${c[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[u.XRANGEIDENTIFIERLOOSE]})(?:${c[u.PRERELEASELOOSE]})?${c[u.BUILD]}?)?)?`),h(`XRANGE`,`^${c[u.GTLT]}\\s*${c[u.XRANGEPLAIN]}$`),h(`XRANGELOOSE`,`^${c[u.GTLT]}\\s*${c[u.XRANGEPLAINLOOSE]}$`),h(`COERCEPLAIN`,`(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?`),h(`COERCE`,`${c[u.COERCEPLAIN]}(?:$|[^\\d])`),h(`COERCEFULL`,c[u.COERCEPLAIN]+`(?:${c[u.PRERELEASE]})?(?:${c[u.BUILD]})?(?:$|[^\\d])`),h(`COERCERTL`,c[u.COERCE],!0),h(`COERCERTLFULL`,c[u.COERCEFULL],!0),h(`LONETILDE`,`(?:~>?)`),h(`TILDETRIM`,`(\\s*)${c[u.LONETILDE]}\\s+`,!0),e.tildeTrimReplace=`$1~`,h(`TILDE`,`^${c[u.LONETILDE]}${c[u.XRANGEPLAIN]}$`),h(`TILDELOOSE`,`^${c[u.LONETILDE]}${c[u.XRANGEPLAINLOOSE]}$`),h(`LONECARET`,`(?:\\^)`),h(`CARETTRIM`,`(\\s*)${c[u.LONECARET]}\\s+`,!0),e.caretTrimReplace=`$1^`,h(`CARET`,`^${c[u.LONECARET]}${c[u.XRANGEPLAIN]}$`),h(`CARETLOOSE`,`^${c[u.LONECARET]}${c[u.XRANGEPLAINLOOSE]}$`),h(`COMPARATORLOOSE`,`^${c[u.GTLT]}\\s*(${c[u.LOOSEPLAIN]})$|^$`),h(`COMPARATOR`,`^${c[u.GTLT]}\\s*(${c[u.FULLPLAIN]})$|^$`),h(`COMPARATORTRIM`,`(\\s*)${c[u.GTLT]}\\s*(${c[u.LOOSEPLAIN]}|${c[u.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace=`$1$2$3`,h(`HYPHENRANGE`,`^\\s*(${c[u.XRANGEPLAIN]})\\s+-\\s+(${c[u.XRANGEPLAIN]})\\s*$`),h(`HYPHENRANGELOOSE`,`^\\s*(${c[u.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[u.XRANGEPLAINLOOSE]})\\s*$`),h(`STAR`,`(<|>)?=?\\s*\\*`),h(`GTE0`,`^\\s*>=\\s*0\\.0\\.0\\s*$`),h(`GTE0PRE`,`^\\s*>=\\s*0\\.0\\.0-0\\s*$`)})),Se=n(((e,t)=>{let n=Object.freeze({loose:!0}),r=Object.freeze({});t.exports=e=>e?typeof e==`object`?e:n:r})),Ce=n(((e,t)=>{let n=/^[0-9]+$/,r=(e,t)=>{if(typeof e==`number`&&typeof t==`number`)return e===t?0:e<t?-1:1;let r=n.test(e),i=n.test(t);return r&&i&&(e=+e,t=+t),e===t?0:r&&!i?-1:i&&!r?1:e<t?-1:1};t.exports={compareIdentifiers:r,rcompareIdentifiers:(e,t)=>r(t,e)}})),D=n(((e,t)=>{let n=be(),{MAX_LENGTH:r,MAX_SAFE_INTEGER:i}=ye(),{safeRe:a,t:o}=xe(),s=Se(),{compareIdentifiers:c}=Ce();t.exports=class e{constructor(t,c){if(c=s(c),t instanceof e){if(t.loose===!!c.loose&&t.includePrerelease===!!c.includePrerelease)return t;t=t.version}else if(typeof t!=`string`)throw TypeError(`Invalid version. Must be a string. Got type "${typeof t}".`);if(t.length>r)throw TypeError(`version is longer than ${r} characters`);n(`SemVer`,t,c),this.options=c,this.loose=!!c.loose,this.includePrerelease=!!c.includePrerelease;let l=t.trim().match(c.loose?a[o.LOOSE]:a[o.FULL]);if(!l)throw TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+l[1],this.minor=+l[2],this.patch=+l[3],this.major>i||this.major<0)throw TypeError(`Invalid major version`);if(this.minor>i||this.minor<0)throw TypeError(`Invalid minor version`);if(this.patch>i||this.patch<0)throw TypeError(`Invalid patch version`);l[4]?this.prerelease=l[4].split(`.`).map(e=>{if(/^[0-9]+$/.test(e)){let t=+e;if(t>=0&&t<i)return t}return e}):this.prerelease=[],this.build=l[5]?l[5].split(`.`):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(`.`)}`),this.version}toString(){return this.version}compare(t){if(n(`SemVer.compare`,this.version,this.options,t),!(t instanceof e)){if(typeof t==`string`&&t===this.version)return 0;t=new e(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(t){return t instanceof e||(t=new e(t,this.options)),this.major<t.major?-1:this.major>t.major?1:this.minor<t.minor?-1:this.minor>t.minor?1:this.patch<t.patch?-1:+(this.patch>t.patch)}comparePre(t){if(t instanceof e||(t=new e(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let r=0;do{let e=this.prerelease[r],i=t.prerelease[r];if(n(`prerelease compare`,r,e,i),e===void 0&&i===void 0)return 0;if(i===void 0)return 1;if(e===void 0)return-1;if(e===i)continue;return c(e,i)}while(++r)}compareBuild(t){t instanceof e||(t=new e(t,this.options));let r=0;do{let e=this.build[r],i=t.build[r];if(n(`build compare`,r,e,i),e===void 0&&i===void 0)return 0;if(i===void 0)return 1;if(e===void 0)return-1;if(e===i)continue;return c(e,i)}while(++r)}inc(e,t,n){if(e.startsWith(`pre`)){if(!t&&n===!1)throw Error(`invalid increment argument: identifier is empty`);if(t){let e=`-${t}`.match(this.options.loose?a[o.PRERELEASELOOSE]:a[o.PRERELEASE]);if(!e||e[1]!==t)throw Error(`invalid identifier: ${t}`)}}switch(e){case`premajor`:this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc(`pre`,t,n);break;case`preminor`:this.prerelease.length=0,this.patch=0,this.minor++,this.inc(`pre`,t,n);break;case`prepatch`:this.prerelease.length=0,this.inc(`patch`,t,n),this.inc(`pre`,t,n);break;case`prerelease`:this.prerelease.length===0&&this.inc(`patch`,t,n),this.inc(`pre`,t,n);break;case`release`:if(this.prerelease.length===0)throw Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case`major`:(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case`minor`:(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case`patch`:this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case`pre`:{let e=+!!Number(n);if(this.prerelease.length===0)this.prerelease=[e];else{let r=this.prerelease.length;for(;--r>=0;)typeof this.prerelease[r]==`number`&&(this.prerelease[r]++,r=-2);if(r===-1){if(t===this.prerelease.join(`.`)&&n===!1)throw Error(`invalid increment argument: identifier already exists`);this.prerelease.push(e)}}if(t){let r=[t,e];n===!1&&(r=[t]),c(this.prerelease[0],t)===0?isNaN(this.prerelease[1])&&(this.prerelease=r):this.prerelease=r}break}default:throw Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(`.`)}`),this}}})),O=n(((e,t)=>{let n=D();t.exports=(e,t,r=!1)=>{if(e instanceof n)return e;try{return new n(e,t)}catch(e){if(!r)return null;throw e}}})),we=n(((e,t)=>{let n=O();t.exports=(e,t)=>{let r=n(e,t);return r?r.version:null}})),Te=n(((e,t)=>{let n=O();t.exports=(e,t)=>{let r=n(e.trim().replace(/^[=v]+/,``),t);return r?r.version:null}})),Ee=n(((e,t)=>{let n=D();t.exports=(e,t,r,i,a)=>{typeof r==`string`&&(a=i,i=r,r=void 0);try{return new n(e instanceof n?e.version:e,r).inc(t,i,a).version}catch{return null}}})),De=n(((e,t)=>{let n=O();t.exports=(e,t)=>{let r=n(e,null,!0),i=n(t,null,!0),a=r.compare(i);if(a===0)return null;let o=a>0,s=o?r:i,c=o?i:r,l=!!s.prerelease.length;if(c.prerelease.length&&!l){if(!c.patch&&!c.minor)return`major`;if(c.compareMain(s)===0)return c.minor&&!c.patch?`minor`:`patch`}let u=l?`pre`:``;return r.major===i.major?r.minor===i.minor?r.patch===i.patch?`prerelease`:u+`patch`:u+`minor`:u+`major`}})),Oe=n(((e,t)=>{let n=D();t.exports=(e,t)=>new n(e,t).major})),ke=n(((e,t)=>{let n=D();t.exports=(e,t)=>new n(e,t).minor})),Ae=n(((e,t)=>{let n=D();t.exports=(e,t)=>new n(e,t).patch})),je=n(((e,t)=>{let n=O();t.exports=(e,t)=>{let r=n(e,t);return r&&r.prerelease.length?r.prerelease:null}})),k=n(((e,t)=>{let n=D();t.exports=(e,t,r)=>new n(e,r).compare(new n(t,r))})),Me=n(((e,t)=>{let n=k();t.exports=(e,t,r)=>n(t,e,r)})),Ne=n(((e,t)=>{let n=k();t.exports=(e,t)=>n(e,t,!0)})),Pe=n(((e,t)=>{let n=D();t.exports=(e,t,r)=>{let i=new n(e,r),a=new n(t,r);return i.compare(a)||i.compareBuild(a)}})),Fe=n(((e,t)=>{let n=Pe();t.exports=(e,t)=>e.sort((e,r)=>n(e,r,t))})),Ie=n(((e,t)=>{let n=Pe();t.exports=(e,t)=>e.sort((e,r)=>n(r,e,t))})),Le=n(((e,t)=>{let n=k();t.exports=(e,t,r)=>n(e,t,r)>0})),Re=n(((e,t)=>{let n=k();t.exports=(e,t,r)=>n(e,t,r)<0})),ze=n(((e,t)=>{let n=k();t.exports=(e,t,r)=>n(e,t,r)===0})),Be=n(((e,t)=>{let n=k();t.exports=(e,t,r)=>n(e,t,r)!==0})),Ve=n(((e,t)=>{let n=k();t.exports=(e,t,r)=>n(e,t,r)>=0})),He=n(((e,t)=>{let n=k();t.exports=(e,t,r)=>n(e,t,r)<=0})),Ue=n(((e,t)=>{let n=ze(),r=Be(),i=Le(),a=Ve(),o=Re(),s=He();t.exports=(e,t,c,l)=>{switch(t){case`===`:return typeof e==`object`&&(e=e.version),typeof c==`object`&&(c=c.version),e===c;case`!==`:return typeof e==`object`&&(e=e.version),typeof c==`object`&&(c=c.version),e!==c;case``:case`=`:case`==`:return n(e,c,l);case`!=`:return r(e,c,l);case`>`:return i(e,c,l);case`>=`:return a(e,c,l);case`<`:return o(e,c,l);case`<=`:return s(e,c,l);default:throw TypeError(`Invalid operator: ${t}`)}}})),We=n(((e,t)=>{let n=D(),r=O(),{safeRe:i,t:a}=xe();t.exports=(e,t)=>{if(e instanceof n)return e;if(typeof e==`number`&&(e=String(e)),typeof e!=`string`)return null;t||={};let o=null;if(!t.rtl)o=e.match(t.includePrerelease?i[a.COERCEFULL]:i[a.COERCE]);else{let n=t.includePrerelease?i[a.COERCERTLFULL]:i[a.COERCERTL],r;for(;(r=n.exec(e))&&(!o||o.index+o[0].length!==e.length);)(!o||r.index+r[0].length!==o.index+o[0].length)&&(o=r),n.lastIndex=r.index+r[1].length+r[2].length;n.lastIndex=-1}if(o===null)return null;let s=o[2];return r(`${s}.${o[3]||`0`}.${o[4]||`0`}${t.includePrerelease&&o[5]?`-${o[5]}`:``}${t.includePrerelease&&o[6]?`+${o[6]}`:``}`,t)}})),Ge=n(((e,t)=>{t.exports=class{constructor(){this.max=1e3,this.map=new Map}get(e){let t=this.map.get(e);if(t!==void 0)return this.map.delete(e),this.map.set(e,t),t}delete(e){return this.map.delete(e)}set(e,t){if(!this.delete(e)&&t!==void 0){if(this.map.size>=this.max){let e=this.map.keys().next().value;this.delete(e)}this.map.set(e,t)}return this}}})),A=n(((e,t)=>{let n=/\s+/g;t.exports=class e{constructor(t,r){if(r=i(r),t instanceof e)return t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease?t:new e(t.raw,r);if(t instanceof a)return this.raw=t.value,this.set=[[t]],this.formatted=void 0,this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=t.trim().replace(n,` `),this.set=this.raw.split(`||`).map(e=>this.parseRange(e.trim())).filter(e=>e.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let e=this.set[0];if(this.set=this.set.filter(e=>!h(e[0])),this.set.length===0)this.set=[e];else if(this.set.length>1){for(let e of this.set)if(e.length===1&&g(e[0])){this.set=[e];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted=``;for(let e=0;e<this.set.length;e++){e>0&&(this.formatted+=`||`);let t=this.set[e];for(let e=0;e<t.length;e++)e>0&&(this.formatted+=` `),this.formatted+=t[e].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){let t=((this.options.includePrerelease&&p)|(this.options.loose&&m))+`:`+e,n=r.get(t);if(n)return n;let i=this.options.loose,s=i?c[l.HYPHENRANGELOOSE]:c[l.HYPHENRANGE];e=e.replace(s,oe(this.options.includePrerelease)),o(`hyphen replace`,e),e=e.replace(c[l.COMPARATORTRIM],u),o(`comparator trim`,e),e=e.replace(c[l.TILDETRIM],d),o(`tilde trim`,e),e=e.replace(c[l.CARETTRIM],f),o(`caret trim`,e);let g=e.split(` `).map(e=>v(e,this.options)).join(` `).split(/\s+/).map(e=>ae(e,this.options));i&&(g=g.filter(e=>(o(`loose invalid filter`,e,this.options),!!e.match(c[l.COMPARATORLOOSE])))),o(`range list`,g);let _=new Map,y=g.map(e=>new a(e,this.options));for(let e of y){if(h(e))return[e];_.set(e.value,e)}_.size>1&&_.has(``)&&_.delete(``);let b=[..._.values()];return r.set(t,b),b}intersects(t,n){if(!(t instanceof e))throw TypeError(`a Range is required`);return this.set.some(e=>_(e,n)&&t.set.some(t=>_(t,n)&&e.every(e=>t.every(t=>e.intersects(t,n)))))}test(e){if(!e)return!1;if(typeof e==`string`)try{e=new s(e,this.options)}catch{return!1}for(let t=0;t<this.set.length;t++)if(se(this.set[t],e,this.options))return!0;return!1}};let r=new(Ge()),i=Se(),a=Ke(),o=be(),s=D(),{safeRe:c,t:l,comparatorTrimReplace:u,tildeTrimReplace:d,caretTrimReplace:f}=xe(),{FLAG_INCLUDE_PRERELEASE:p,FLAG_LOOSE:m}=ye(),h=e=>e.value===`<0.0.0-0`,g=e=>e.value===``,_=(e,t)=>{let n=!0,r=e.slice(),i=r.pop();for(;n&&r.length;)n=r.every(e=>i.intersects(e,t)),i=r.pop();return n},v=(e,t)=>(e=e.replace(c[l.BUILD],``),o(`comp`,e,t),e=te(e,t),o(`caret`,e),e=b(e,t),o(`tildes`,e),e=re(e,t),o(`xrange`,e),e=x(e,t),o(`stars`,e),e),y=e=>!e||e.toLowerCase()===`x`||e===`*`,b=(e,t)=>e.trim().split(/\s+/).map(e=>ee(e,t)).join(` `),ee=(e,t)=>{let n=t.loose?c[l.TILDELOOSE]:c[l.TILDE];return e.replace(n,(t,n,r,i,a)=>{o(`tilde`,e,t,n,r,i,a);let s;return y(n)?s=``:y(r)?s=`>=${n}.0.0 <${+n+1}.0.0-0`:y(i)?s=`>=${n}.${r}.0 <${n}.${+r+1}.0-0`:a?(o(`replaceTilde pr`,a),s=`>=${n}.${r}.${i}-${a} <${n}.${+r+1}.0-0`):s=`>=${n}.${r}.${i} <${n}.${+r+1}.0-0`,o(`tilde return`,s),s})},te=(e,t)=>e.trim().split(/\s+/).map(e=>ne(e,t)).join(` `),ne=(e,t)=>{o(`caret`,e,t);let n=t.loose?c[l.CARETLOOSE]:c[l.CARET],r=t.includePrerelease?`-0`:``;return e.replace(n,(t,n,i,a,s)=>{o(`caret`,e,t,n,i,a,s);let c;return y(n)?c=``:y(i)?c=`>=${n}.0.0${r} <${+n+1}.0.0-0`:y(a)?c=n===`0`?`>=${n}.${i}.0${r} <${n}.${+i+1}.0-0`:`>=${n}.${i}.0${r} <${+n+1}.0.0-0`:s?(o(`replaceCaret pr`,s),c=n===`0`?i===`0`?`>=${n}.${i}.${a}-${s} <${n}.${i}.${+a+1}-0`:`>=${n}.${i}.${a}-${s} <${n}.${+i+1}.0-0`:`>=${n}.${i}.${a}-${s} <${+n+1}.0.0-0`):(o(`no pr`),c=n===`0`?i===`0`?`>=${n}.${i}.${a}${r} <${n}.${i}.${+a+1}-0`:`>=${n}.${i}.${a}${r} <${n}.${+i+1}.0-0`:`>=${n}.${i}.${a} <${+n+1}.0.0-0`),o(`caret return`,c),c})},re=(e,t)=>(o(`replaceXRanges`,e,t),e.split(/\s+/).map(e=>ie(e,t)).join(` `)),ie=(e,t)=>{e=e.trim();let n=t.loose?c[l.XRANGELOOSE]:c[l.XRANGE];return e.replace(n,(n,r,i,a,s,c)=>{o(`xRange`,e,n,r,i,a,s,c);let l=y(i),u=l||y(a),d=u||y(s),f=d;return r===`=`&&f&&(r=``),c=t.includePrerelease?`-0`:``,l?n=r===`>`||r===`<`?`<0.0.0-0`:`*`:r&&f?(u&&(a=0),s=0,r===`>`?(r=`>=`,u?(i=+i+1,a=0,s=0):(a=+a+1,s=0)):r===`<=`&&(r=`<`,u?i=+i+1:a=+a+1),r===`<`&&(c=`-0`),n=`${r+i}.${a}.${s}${c}`):u?n=`>=${i}.0.0${c} <${+i+1}.0.0-0`:d&&(n=`>=${i}.${a}.0${c} <${i}.${+a+1}.0-0`),o(`xRange return`,n),n})},x=(e,t)=>(o(`replaceStars`,e,t),e.trim().replace(c[l.STAR],``)),ae=(e,t)=>(o(`replaceGTE0`,e,t),e.trim().replace(c[t.includePrerelease?l.GTE0PRE:l.GTE0],``)),oe=e=>(t,n,r,i,a,o,s,c,l,u,d,f)=>(n=y(r)?``:y(i)?`>=${r}.0.0${e?`-0`:``}`:y(a)?`>=${r}.${i}.0${e?`-0`:``}`:o?`>=${n}`:`>=${n}${e?`-0`:``}`,c=y(l)?``:y(u)?`<${+l+1}.0.0-0`:y(d)?`<${l}.${+u+1}.0-0`:f?`<=${l}.${u}.${d}-${f}`:e?`<${l}.${u}.${+d+1}-0`:`<=${c}`,`${n} ${c}`.trim()),se=(e,t,n)=>{for(let n=0;n<e.length;n++)if(!e[n].test(t))return!1;if(t.prerelease.length&&!n.includePrerelease){for(let n=0;n<e.length;n++)if(o(e[n].semver),e[n].semver!==a.ANY&&e[n].semver.prerelease.length>0){let r=e[n].semver;if(r.major===t.major&&r.minor===t.minor&&r.patch===t.patch)return!0}return!1}return!0}})),Ke=n(((e,t)=>{let n=Symbol(`SemVer ANY`);t.exports=class e{static get ANY(){return n}constructor(t,i){if(i=r(i),t instanceof e){if(t.loose===!!i.loose)return t;t=t.value}t=t.trim().split(/\s+/).join(` `),s(`comparator`,t,i),this.options=i,this.loose=!!i.loose,this.parse(t),this.semver===n?this.value=``:this.value=this.operator+this.semver.version,s(`comp`,this)}parse(e){let t=this.options.loose?i[a.COMPARATORLOOSE]:i[a.COMPARATOR],r=e.match(t);if(!r)throw TypeError(`Invalid comparator: ${e}`);this.operator=r[1]===void 0?``:r[1],this.operator===`=`&&(this.operator=``),r[2]?this.semver=new c(r[2],this.options.loose):this.semver=n}toString(){return this.value}test(e){if(s(`Comparator.test`,e,this.options.loose),this.semver===n||e===n)return!0;if(typeof e==`string`)try{e=new c(e,this.options)}catch{return!1}return o(e,this.operator,this.semver,this.options)}intersects(t,n){if(!(t instanceof e))throw TypeError(`a Comparator is required`);return this.operator===``?this.value===``?!0:new l(t.value,n).test(this.value):t.operator===``?t.value===``?!0:new l(this.value,n).test(t.semver):(n=r(n),n.includePrerelease&&(this.value===`<0.0.0-0`||t.value===`<0.0.0-0`)||!n.includePrerelease&&(this.value.startsWith(`<0.0.0`)||t.value.startsWith(`<0.0.0`))?!1:!!(this.operator.startsWith(`>`)&&t.operator.startsWith(`>`)||this.operator.startsWith(`<`)&&t.operator.startsWith(`<`)||this.semver.version===t.semver.version&&this.operator.includes(`=`)&&t.operator.includes(`=`)||o(this.semver,`<`,t.semver,n)&&this.operator.startsWith(`>`)&&t.operator.startsWith(`<`)||o(this.semver,`>`,t.semver,n)&&this.operator.startsWith(`<`)&&t.operator.startsWith(`>`)))}};let r=Se(),{safeRe:i,t:a}=xe(),o=Ue(),s=be(),c=D(),l=A()})),qe=n(((e,t)=>{let n=A();t.exports=(e,t,r)=>{try{t=new n(t,r)}catch{return!1}return t.test(e)}})),Je=n(((e,t)=>{let n=A();t.exports=(e,t)=>new n(e,t).set.map(e=>e.map(e=>e.value).join(` `).trim().split(` `))})),Ye=n(((e,t)=>{let n=D(),r=A();t.exports=(e,t,i)=>{let a=null,o=null,s=null;try{s=new r(t,i)}catch{return null}return e.forEach(e=>{s.test(e)&&(!a||o.compare(e)===-1)&&(a=e,o=new n(a,i))}),a}})),Xe=n(((e,t)=>{let n=D(),r=A();t.exports=(e,t,i)=>{let a=null,o=null,s=null;try{s=new r(t,i)}catch{return null}return e.forEach(e=>{s.test(e)&&(!a||o.compare(e)===1)&&(a=e,o=new n(a,i))}),a}})),Ze=n(((e,t)=>{let n=D(),r=A(),i=Le();t.exports=(e,t)=>{e=new r(e,t);let a=new n(`0.0.0`);if(e.test(a)||(a=new n(`0.0.0-0`),e.test(a)))return a;a=null;for(let t=0;t<e.set.length;++t){let r=e.set[t],o=null;r.forEach(e=>{let t=new n(e.semver.version);switch(e.operator){case`>`:t.prerelease.length===0?t.patch++:t.prerelease.push(0),t.raw=t.format();case``:case`>=`:(!o||i(t,o))&&(o=t);break;case`<`:case`<=`:break;default:throw Error(`Unexpected operation: ${e.operator}`)}}),o&&(!a||i(a,o))&&(a=o)}return a&&e.test(a)?a:null}})),Qe=n(((e,t)=>{let n=A();t.exports=(e,t)=>{try{return new n(e,t).range||`*`}catch{return null}}})),$e=n(((e,t)=>{let n=D(),r=Ke(),{ANY:i}=r,a=A(),o=qe(),s=Le(),c=Re(),l=He(),u=Ve();t.exports=(e,t,d,f)=>{e=new n(e,f),t=new a(t,f);let p,m,h,g,_;switch(d){case`>`:p=s,m=l,h=c,g=`>`,_=`>=`;break;case`<`:p=c,m=u,h=s,g=`<`,_=`<=`;break;default:throw TypeError(`Must provide a hilo val of "<" or ">"`)}if(o(e,t,f))return!1;for(let n=0;n<t.set.length;++n){let a=t.set[n],o=null,s=null;if(a.forEach(e=>{e.semver===i&&(e=new r(`>=0.0.0`)),o||=e,s||=e,p(e.semver,o.semver,f)?o=e:h(e.semver,s.semver,f)&&(s=e)}),o.operator===g||o.operator===_||(!s.operator||s.operator===g)&&m(e,s.semver)||s.operator===_&&h(e,s.semver))return!1}return!0}})),et=n(((e,t)=>{let n=$e();t.exports=(e,t,r)=>n(e,t,`>`,r)})),tt=n(((e,t)=>{let n=$e();t.exports=(e,t,r)=>n(e,t,`<`,r)})),nt=n(((e,t)=>{let n=A();t.exports=(e,t,r)=>(e=new n(e,r),t=new n(t,r),e.intersects(t,r))})),rt=n(((e,t)=>{let n=qe(),r=k();t.exports=(e,t,i)=>{let a=[],o=null,s=null,c=e.sort((e,t)=>r(e,t,i));for(let e of c)n(e,t,i)?(s=e,o||=e):(s&&a.push([o,s]),s=null,o=null);o&&a.push([o,null]);let l=[];for(let[e,t]of a)e===t?l.push(e):!t&&e===c[0]?l.push(`*`):t?e===c[0]?l.push(`<=${t}`):l.push(`${e} - ${t}`):l.push(`>=${e}`);let u=l.join(` || `),d=typeof t.raw==`string`?t.raw:String(t);return u.length<d.length?u:t}})),it=n(((e,t)=>{let n=A(),r=Ke(),{ANY:i}=r,a=qe(),o=k(),s=(e,t,r={})=>{if(e===t)return!0;e=new n(e,r),t=new n(t,r);let i=!1;OUTER:for(let n of e.set){for(let e of t.set){let t=u(n,e,r);if(i||=t!==null,t)continue OUTER}if(i)return!1}return!0},c=[new r(`>=0.0.0-0`)],l=[new r(`>=0.0.0`)],u=(e,t,n)=>{if(e===t)return!0;if(e.length===1&&e[0].semver===i){if(t.length===1&&t[0].semver===i)return!0;e=n.includePrerelease?c:l}if(t.length===1&&t[0].semver===i){if(n.includePrerelease)return!0;t=l}let r=new Set,s,u;for(let t of e)t.operator===`>`||t.operator===`>=`?s=d(s,t,n):t.operator===`<`||t.operator===`<=`?u=f(u,t,n):r.add(t.semver);if(r.size>1)return null;let p;if(s&&u&&(p=o(s.semver,u.semver,n),p>0||p===0&&(s.operator!==`>=`||u.operator!==`<=`)))return null;for(let e of r){if(s&&!a(e,String(s),n)||u&&!a(e,String(u),n))return null;for(let r of t)if(!a(e,String(r),n))return!1;return!0}let m,h,g,_,v=u&&!n.includePrerelease&&u.semver.prerelease.length?u.semver:!1,y=s&&!n.includePrerelease&&s.semver.prerelease.length?s.semver:!1;v&&v.prerelease.length===1&&u.operator===`<`&&v.prerelease[0]===0&&(v=!1);for(let e of t){if(_=_||e.operator===`>`||e.operator===`>=`,g=g||e.operator===`<`||e.operator===`<=`,s){if(y&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===y.major&&e.semver.minor===y.minor&&e.semver.patch===y.patch&&(y=!1),e.operator===`>`||e.operator===`>=`){if(m=d(s,e,n),m===e&&m!==s)return!1}else if(s.operator===`>=`&&!a(s.semver,String(e),n))return!1}if(u){if(v&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===v.major&&e.semver.minor===v.minor&&e.semver.patch===v.patch&&(v=!1),e.operator===`<`||e.operator===`<=`){if(h=f(u,e,n),h===e&&h!==u)return!1}else if(u.operator===`<=`&&!a(u.semver,String(e),n))return!1}if(!e.operator&&(u||s)&&p!==0)return!1}return!(s&&g&&!u&&p!==0||u&&_&&!s&&p!==0||y||v)},d=(e,t,n)=>{if(!e)return t;let r=o(e.semver,t.semver,n);return r>0?e:r<0||t.operator===`>`&&e.operator===`>=`?t:e},f=(e,t,n)=>{if(!e)return t;let r=o(e.semver,t.semver,n);return r<0?e:r>0||t.operator===`<`&&e.operator===`<=`?t:e};t.exports=s})),at=n(((e,t)=>{let n=xe(),r=ye(),i=D(),a=Ce();t.exports={parse:O(),valid:we(),clean:Te(),inc:Ee(),diff:De(),major:Oe(),minor:ke(),patch:Ae(),prerelease:je(),compare:k(),rcompare:Me(),compareLoose:Ne(),compareBuild:Pe(),sort:Fe(),rsort:Ie(),gt:Le(),lt:Re(),eq:ze(),neq:Be(),gte:Ve(),lte:He(),cmp:Ue(),coerce:We(),Comparator:Ke(),Range:A(),satisfies:qe(),toComparators:Je(),maxSatisfying:Ye(),minSatisfying:Xe(),minVersion:Ze(),validRange:Qe(),outside:$e(),gtr:et(),ltr:tt(),intersects:nt(),simplifyRange:rt(),subset:it(),SemVer:i,re:n.re,src:n.src,tokens:n.t,SEMVER_SPEC_VERSION:r.SEMVER_SPEC_VERSION,RELEASE_TYPES:r.RELEASE_TYPES,compareIdentifiers:a.compareIdentifiers,rcompareIdentifiers:a.rcompareIdentifiers}}));function ot(e){return new Uint8Array(e).toBase64()}function st(e){return Uint8Array.fromBase64(e).buffer}function ct(e){return Buffer.from(e).toString(`base64`)}function lt(e){return Uint8Array.from(Buffer.from(e,`base64`)).buffer}function ut(e){let t=new Uint8Array(e),n=``,r=32768;for(let e=0;e<t.length;e+=r){let i=t.subarray(e,e+r);n+=String.fromCharCode.apply(null,i)}return btoa(n)}function dt(e){let t=atob(e),n=t.length,r=new Uint8Array(n);for(let e=0;e<n;e++)r[e]=t.charCodeAt(e);return r.buffer}const ft=typeof Uint8Array.fromBase64==`function`,pt=typeof process==`object`&&process.versions?.node!==void 0,mt=ft?ot:pt?ct:ut,ht=ft?st:pt?lt:dt,gt=2**32-1,_t=gt-1;var j=class extends Error{constructor(e,t,n,r){super(e),this.name=`DevalueError`,this.path=t.join(``),this.value=n,this.root=r}};function vt(e){return e===null||typeof e!=`object`&&typeof e!=`function`}const yt=Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);function bt(e){let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null||Object.getPrototypeOf(t)===null||Object.getOwnPropertyNames(t).sort().join(`\0`)===yt}function xt(e){return Object.prototype.toString.call(e).slice(8,-1)}function St(e){switch(e){case`"`:return`\\"`;case`<`:return`\\u003C`;case`\\`:return`\\\\`;case`
2
- `:return`\\n`;case`\r`:return`\\r`;case` `:return`\\t`;case`\b`:return`\\b`;case`\f`:return`\\f`;case`\u2028`:return`\\u2028`;case`\u2029`:return`\\u2029`;default:return e<` `?`\\u${e.charCodeAt(0).toString(16).padStart(4,`0`)}`:``}}function M(e){let t=``,n=0,r=e.length;for(let i=0;i<r;i+=1){let r=e[i],a=St(r);a&&(t+=e.slice(n,i)+a,n=i+1)}return`"${n===0?e:t+e.slice(n)}"`}function Ct(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.getOwnPropertyDescriptor(e,t).enumerable)}const wt=/^[a-zA-Z_$][a-zA-Z_$0-9]*$/;function Tt(e){return wt.test(e)?`.`+e:`[`+JSON.stringify(e)+`]`}function Et(e){return!(!Number.isInteger(e)||e<0||e>_t)}function Dt(e){return!(!Number.isInteger(e)||e<0||e>gt)}function Ot(e){if(e.length===0||e.length>1&&e.charCodeAt(0)===48)return!1;for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(n<48||n>57)return!1}return Et(+e)}function kt(e){let t=Object.keys(e);for(var n=t.length-1;n>=0&&!Ot(t[n]);n--);return t.length=n+1,t}function At(e,t){return jt(JSON.parse(e),t)}function jt(e,t){if(typeof e==`number`)return a(e,!0);if(!Array.isArray(e)||e.length===0)throw Error(`Invalid input`);let n=e,r=Array(n.length),i=null;function a(e,o=!1){if(e===-1)return;if(e===-3)return NaN;if(e===-4)return 1/0;if(e===-5)return-1/0;if(e===-6)return-0;if(o||typeof e!=`number`)throw Error(`Invalid input`);if(e in r)return r[e];let s=n[e];if(!s||typeof s!=`object`)r[e]=s;else if(Array.isArray(s))if(typeof s[0]==`string`){let o=s[0],c=t&&Object.hasOwn(t,o)?t[o]:void 0;if(c){let t=s[1];if(typeof t!=`number`&&(t=n.push(s[1])-1),i??=new Set,i.has(t))throw Error(`Invalid circular reference`);return i.add(t),r[e]=c(a(t)),i.delete(t),r[e]}switch(o){case`Date`:r[e]=new Date(s[1]);break;case`Set`:let t=new Set;r[e]=t;for(let e=1;e<s.length;e+=1)t.add(a(s[e]));break;case`Map`:let i=new Map;r[e]=i;for(let e=1;e<s.length;e+=2)i.set(a(s[e]),a(s[e+1]));break;case`RegExp`:r[e]=new RegExp(s[1],s[2]);break;case`Object`:{let t=s[1];if(typeof n[t]==`object`&&n[t][0]!==`BigInt`)throw Error(`Invalid input`);r[e]=Object(a(t));break}case`BigInt`:r[e]=BigInt(s[1]);break;case`null`:let c=Object.create(null);r[e]=c;for(let e=1;e<s.length;e+=2){if(s[e]===`__proto__`)throw Error("Cannot parse an object with a `__proto__` property");c[s[e]]=a(s[e+1])}break;case`Int8Array`:case`Uint8Array`:case`Uint8ClampedArray`:case`Int16Array`:case`Uint16Array`:case`Float16Array`:case`Int32Array`:case`Uint32Array`:case`Float32Array`:case`Float64Array`:case`BigInt64Array`:case`BigUint64Array`:case`DataView`:{if(n[s[1]][0]!==`ArrayBuffer`)throw Error(`Invalid data`);let t=globalThis[o],i=a(s[1]);r[e]=s[2]===void 0?new t(i):new t(i,s[2],s[3]);break}case`ArrayBuffer`:{let t=s[1];if(typeof t!=`string`)throw Error(`Invalid ArrayBuffer encoding`);r[e]=ht(t);break}case`Temporal.Duration`:case`Temporal.Instant`:case`Temporal.PlainDate`:case`Temporal.PlainTime`:case`Temporal.PlainDateTime`:case`Temporal.PlainMonthDay`:case`Temporal.PlainYearMonth`:case`Temporal.ZonedDateTime`:{let t=o.slice(9);r[e]=Temporal[t].from(s[1]);break}case`URL`:r[e]=new URL(s[1]);break;case`URLSearchParams`:r[e]=new URLSearchParams(s[1]);break;default:throw Error(`Unknown type ${o}`)}}else if(s[0]===-7){let t=s[1];if(!Dt(t))throw Error(`Invalid input`);let n=[];r[e]=n,n[_t]=void 0,delete n[_t];for(let e=2;e<s.length;e+=2){let r=s[e];if(!Et(r)||r>=t)throw Error(`Invalid input`);n[r]=a(s[e+1])}n.length=t}else{let t=Array(s.length);r[e]=t;for(let e=0;e<s.length;e+=1){let n=s[e];n!==-2&&(t[e]=a(n))}}else{let t={};r[e]=t;for(let e of Object.keys(s)){if(e===`__proto__`)throw Error("Cannot parse an object with a `__proto__` property");let n=s[e];t[e]=a(n)}}return r[e]}return a(0)}function N(e,t){let n=Mt(!1,e,t);return typeof n==`string`?n:`[${n.join(`,`)}]`}function Mt(e,t,n){let r=[],i=new Map,a=[];if(n)for(let e of Object.getOwnPropertyNames(n))a.push({key:e,fn:n[e]});let o=[],s=0;function c(n,l){if(n===void 0)return-1;if(Number.isNaN(n))return-3;if(n===1/0)return-4;if(n===-1/0)return-5;if(n===0&&1/n<0)return-6;if(i.has(n))return i.get(n);l??=s++,i.set(n,l);for(let{key:e,fn:t}of a){let i=t(n);if(i)return r[l]=`["${e}",${c(i)}]`,l}if(typeof n==`function`)throw new j(`Cannot stringify a function`,o,n,t);if(typeof n==`symbol`)throw new j(`Cannot stringify a Symbol primitive`,o,n,t);let u=``;if(vt(n))u=Nt(n);else if(typeof n.then==`function`){if(!e)throw new j(`Cannot stringify a Promise or thenable — use stringifyAsync instead`,o,n,t);u=Promise.resolve(n).then(e=>{let t=c(e,l);t<0&&(r[l]=t)})}else{let e=xt(n);switch(e){case`Number`:case`String`:case`Boolean`:case`BigInt`:u=`["Object",${c(n.valueOf())}]`;break;case`Date`:u=`["Date","${isNaN(n.getDate())?``:n.toISOString()}"]`;break;case`URL`:u=`["URL",${M(n.toString())}]`;break;case`URLSearchParams`:u=`["URLSearchParams",${M(n.toString())}]`;break;case`RegExp`:let{source:r,flags:i}=n;u=i?`["RegExp",${M(r)},"${i}"]`:`["RegExp",${M(r)}]`;break;case`Array`:{let e=!1;u=`[`;for(let t=0;t<n.length;t+=1)if(t>0&&(u+=`,`),Object.hasOwn(n,t))o.push(`[${t}]`),u+=c(n[t]),o.pop();else if(e)u+=-2;else{let t=kt(n),r=t.length,i=String(n.length).length;if((n.length-r)*3>4+i+r*(i+1)){u=`[-7,`+n.length;for(let e=0;e<t.length;e++){let r=t[e];o.push(`[${r}]`),u+=`,`+r+`,`+c(n[r]),o.pop()}break}else e=!0,u+=-2}u+=`]`;break}case`Set`:u=`["Set"`;for(let e of n)u+=`,${c(e)}`;u+=`]`;break;case`Map`:u=`["Map"`;for(let[e,t]of n)o.push(`.get(${vt(e)?Nt(e):`...`})`),u+=`,${c(e)},${c(t)}`,o.pop();u+=`]`;break;case`Int8Array`:case`Uint8Array`:case`Uint8ClampedArray`:case`Int16Array`:case`Uint16Array`:case`Float16Array`:case`Int32Array`:case`Uint32Array`:case`Float32Array`:case`Float64Array`:case`BigInt64Array`:case`BigUint64Array`:case`DataView`:{let t=n;u=`["`+e+`",`+c(t.buffer),t.byteLength!==t.buffer.byteLength&&(u+=`,${t.byteOffset},${t.length}`),u+=`]`;break}case`ArrayBuffer`:u=`["ArrayBuffer","${mt(n)}"]`;break;case`Temporal.Duration`:case`Temporal.Instant`:case`Temporal.PlainDate`:case`Temporal.PlainTime`:case`Temporal.PlainDateTime`:case`Temporal.PlainMonthDay`:case`Temporal.PlainYearMonth`:case`Temporal.ZonedDateTime`:u=`["${e}",${M(n.toString())}]`;break;default:if(!bt(n))throw new j(`Cannot stringify arbitrary non-POJOs`,o,n,t);if(Ct(n).length>0)throw new j(`Cannot stringify POJOs with symbolic keys`,o,n,t);if(Object.getPrototypeOf(n)===null){u=`["null"`;for(let e of Object.keys(n)){if(e===`__proto__`)throw new j(`Cannot stringify objects with __proto__ keys`,o,n,t);o.push(Tt(e)),u+=`,${M(e)},${c(n[e])}`,o.pop()}u+=`]`}else{u=`{`;let e=!1;for(let r of Object.keys(n)){if(r===`__proto__`)throw new j(`Cannot stringify objects with __proto__ keys`,o,n,t);e&&(u+=`,`),e=!0,o.push(Tt(r)),u+=`${M(r)}:${c(n[r])}`,o.pop()}u+=`}`}}}return r[l]=u,l}let l=c(t);return l<0?`${l}`:r}function Nt(e){let t=typeof e;return t===`string`?M(e):e===void 0?`-1`:e===0&&1/e<0?`-6`:t===`bigint`?`["BigInt","${e}"]`:String(e)}var Pt=e(at(),1);async function Ft(e,t=[`encrypt`,`decrypt`]){if(e.byteLength!==32)throw new b(`Encryption key must be exactly 32 bytes, got ${e.byteLength}`);return globalThis.crypto.subtle.importKey(`raw`,e,`AES-GCM`,!1,t)}async function It(e,t){let n=globalThis.crypto.getRandomValues(new Uint8Array(12)),r;try{r=await globalThis.crypto.subtle.encrypt({name:`AES-GCM`,iv:n,tagLength:128},e,t)}catch(e){throw new m(`AES-256-GCM encryption failed: ${e instanceof Error?e.message:String(e)}`,{cause:e,context:{operation:`encrypt`,byteLength:t.byteLength}})}let i=new Uint8Array(12+r.byteLength);return i.set(n,0),i.set(new Uint8Array(r),12),i}async function Lt(e,t){if(t.byteLength<28)throw new m(`Encrypted data too short: expected at least 28 bytes, got ${t.byteLength}`,{context:{operation:`decrypt`,byteLength:t.byteLength}});let n=t.subarray(0,12),r=t.subarray(12),i;try{i=await globalThis.crypto.subtle.decrypt({name:`AES-GCM`,iv:n,tagLength:128},e,r)}catch(e){throw new m(`AES-256-GCM decryption failed: ${e instanceof Error?e.message:String(e)}`,{cause:e,context:{operation:`decrypt`,byteLength:t.byteLength}})}return new Uint8Array(i)}function P(){let e={...r(),pendingOps:0,doneResolved:!1,streamEnded:!1};return e.promise.catch(()=>{}),e}function Rt(e){if(e.locked)return!1;let t;try{t=e.getWriter()}catch{return!1}try{t.releaseLock()}catch{return!1}return!0}function zt(e){if(e.locked)return!1;let t;try{t=e.getReader()}catch{return!1}try{t.releaseLock()}catch{return!1}return!0}function Bt(e,t){if(t.writablePollingInterval!==void 0)return;let n=setInterval(()=>{if(t.doneResolved||t.streamEnded){clearInterval(n),t.writablePollingInterval=void 0;return}Rt(e)&&t.pendingOps===0&&(t.doneResolved=!0,t.resolve(),clearInterval(n),t.writablePollingInterval=void 0)},10);t.writablePollingInterval=n}function Vt(e,t){if(t.readablePollingInterval!==void 0)return;let n=setInterval(()=>{if(t.doneResolved||t.streamEnded){clearInterval(n),t.readablePollingInterval=void 0;return}zt(e)&&t.pendingOps===0&&(t.doneResolved=!0,t.resolve(),clearInterval(n),t.readablePollingInterval=void 0)},10);t.readablePollingInterval=n}async function F(e,t,n){let r=e.getReader(),i=t.getWriter(),a;try{for(;;){if(n.streamEnded)return;let e=await Promise.race([r.read(),i.closed.then(()=>{throw new b(`Writable stream closed prematurely`)})]);if(n.streamEnded)return;if(e.done){n.streamEnded=!0,await i.close(),n.doneResolved||(n.doneResolved=!0,n.resolve());return}n.pendingOps++;try{await i.write(e.value)}finally{n.pendingOps--}}}catch(e){throw n.streamEnded=!0,a=e,n.doneResolved||(n.doneResolved=!0,n.reject(e)),e}finally{r.cancel(a).catch(()=>{}),r.releaseLock(),i.releaseLock()}}const Ht=Symbol.for(`@workflow/world//cache`),Ut=Symbol.for(`@workflow/world//cachePromise`),Wt=Symbol.for(`@workflow/world//getWorldFn`);async function I(){let e=globalThis;if(e[Ht])return e[Ht];if(e[Ut])return e[Ht]=await e[Ut],e[Ht];let t=e[Wt];if(t)return t();let{getWorld:n}=await import([`./world`,`js`].join(`.`));return n()}const Gt=Symbol.for(`workflow-serialize`),Kt=Symbol.for(`workflow-deserialize`);function qt(e=globalThis){let t=e,n=t[oe];return n||(n=new Map,t[oe]=n),n}function Jt(e,t){return qt(t).get(e)}function Yt(){return{Class:e=>{if(typeof e!=`function`)return!1;let t=e.classId;return typeof t==`string`?{classId:t}:!1},Instance:e=>{if(typeof e!=`object`||!e)return!1;let t=e.constructor;if(!t||typeof t!=`function`)return!1;let n=t[Gt];if(typeof n!=`function`)return!1;let r=t.classId;if(typeof r!=`string`)throw Error(`Class "${t.name}" with ${String(Gt)} must have a static "classId" property.`);return{classId:r,data:n.call(t,e)}}}}function Xt(e=globalThis){return{Class:t=>{let n=t.classId,r=Jt(n,e);if(!r)throw Error(`Class "${n}" not found. Make sure the class is registered with registerSerializationClass.`);return r},Instance:t=>{let n=t.classId,r=t.data,i=Jt(n,e);if(!i)throw Error(`Class "${n}" not found. Make sure the class is registered with registerSerializationClass.`);let a=i[Kt];if(typeof a!=`function`)throw Error(`Class "${n}" does not have a static ${String(Kt)} method.`);return a.call(i,r)}}}function Zt(e,t,n){if(n===0)return`.`;let r=new Uint8Array(e,t,n);return Buffer.from(r).toString(`base64`)}function L(e){return Zt(e.buffer,e.byteOffset,e.byteLength)}function R(e,t){let n=e===`.`?``:e,r=Buffer.from(n,`base64`),i=new t.ArrayBuffer(r.length);return new t.Uint8Array(i).set(r),i}function Qt(e){return JSON.parse(e)}function $t(e){if(!_e.isNativeError(e))return!1;let t={message:e.message,stack:e.stack};return`cause`in e&&(t.cause=e.cause),t}function en(e,t){return!_e.isNativeError(t)||t.name!==e?!1:$t(t)}function z(e){return t=>en(e,t)||!1}function B(e,t){return n=>{let r=n,i=`cause`in r?{cause:r.cause}:void 0,a=e[t],o=new a(r.message,i);return r.stack!==void 0&&(o.stack=r.stack),o}}function tn(e=globalThis){return{ArrayBuffer:t=>t instanceof e.ArrayBuffer&&Zt(t,0,t.byteLength),BigInt:e=>typeof e==`bigint`&&e.toString(),BigInt64Array:t=>t instanceof e.BigInt64Array&&L(t),BigUint64Array:t=>t instanceof e.BigUint64Array&&L(t),Date:t=>t instanceof e.Date?Number.isNaN(t.getDate())?`.`:t.toISOString():!1,DOMException:e=>{if(typeof e!=`object`||!e||e.constructor?.name!==`DOMException`)return!1;let t=e,n={message:t.message,name:t.name,stack:t.stack};return`cause`in t&&(n.cause=t.cause),n},EvalError:z(`EvalError`),FatalError:z(`FatalError`),HookConflictError:e=>{let t=en(`HookConflictError`,e);if(!t)return!1;let n=e,r={...t,token:n.token};return n.conflictingRunId!==void 0&&(r.conflictingRunId=n.conflictingRunId),r},RangeError:z(`RangeError`),ReferenceError:z(`ReferenceError`),RetryableError:e=>{let t=en(`RetryableError`,e);if(!t)return!1;let n=e.retryAfter,r;if(n&&typeof n==`object`&&typeof n.getTime==`function`){let e=n.getTime();r=Number.isNaN(e)?Date.now()+1e3:e}else if(typeof n==`string`||typeof n==`number`){let e=new Date(n).getTime();r=Number.isNaN(e)?Date.now()+1e3:e}else r=Date.now()+1e3;return{...t,retryAfter:r}},RuntimeDecryptionError:e=>{let t=en(`RuntimeDecryptionError`,e);if(!t)return!1;let n={...t},r=e.context;return r!==void 0&&(n.context=r),n},SyntaxError:z(`SyntaxError`),TypeError:z(`TypeError`),URIError:z(`URIError`),AggregateError:e=>{let t=en(`AggregateError`,e);return t?{...t,errors:e.errors}:!1},Error:e=>{if(!_e.isNativeError(e))return!1;let t={name:e.name,message:e.message,stack:e.stack};return`cause`in e&&(t.cause=e.cause),t},Float32Array:t=>t instanceof e.Float32Array&&L(t),Float64Array:t=>t instanceof e.Float64Array&&L(t),Headers:t=>t instanceof e.Headers&&Array.from(t),Int8Array:t=>t instanceof e.Int8Array&&L(t),Int16Array:t=>t instanceof e.Int16Array&&L(t),Int32Array:t=>t instanceof e.Int32Array&&L(t),Map:t=>t instanceof e.Map&&Array.from(t),RegExp:t=>t instanceof e.RegExp&&{source:t.source,flags:t.flags},Set:t=>t instanceof e.Set&&Array.from(t),URL:t=>t instanceof e.URL&&t.href,WorkflowFunction:e=>{if(typeof e!=`function`)return!1;let t=e.workflowId;return typeof t==`string`?{workflowId:t}:!1},URLSearchParams:t=>t instanceof e.URLSearchParams?t.size===0?`.`:String(t):!1,Uint8Array:t=>t instanceof e.Uint8Array&&L(t),Uint8ClampedArray:t=>t instanceof e.Uint8ClampedArray&&L(t),Uint16Array:t=>t instanceof e.Uint16Array&&L(t),Uint32Array:t=>t instanceof e.Uint32Array&&L(t)}}function nn(e=globalThis){return{ArrayBuffer:t=>R(t,e),BigInt:t=>e.BigInt(t),BigInt64Array:t=>new e.BigInt64Array(R(t,e)),BigUint64Array:t=>new e.BigUint64Array(R(t,e)),Date:t=>new e.Date(t),DOMException:t=>{let n=new e.DOMException(t.message,t.name);return t.stack!==void 0&&(n.stack=t.stack),`cause`in t&&(n.cause=t.cause),n},EvalError:B(e,`EvalError`),FatalError:t=>{let n=new(e[Symbol.for(`@workflow/errors//FatalError`)]??g)(t.message);return t.stack!==void 0&&(n.stack=t.stack),`cause`in t&&(n.cause=t.cause),n},HookConflictError:t=>{let n=new(e[Symbol.for(`@workflow/errors//HookConflictError`)]??f)(t.token,t.conflictingRunId);return t.stack!==void 0&&(n.stack=t.stack),`cause`in t&&(n.cause=t.cause),n},RangeError:B(e,`RangeError`),ReferenceError:B(e,`ReferenceError`),RetryableError:t=>{let n=new(e[Symbol.for(`@workflow/errors//RetryableError`)]??p)(t.message,{retryAfter:new e.Date(t.retryAfter)});return t.stack!==void 0&&(n.stack=t.stack),`cause`in t&&(n.cause=t.cause),n},RuntimeDecryptionError:t=>{let n=e[Symbol.for(`@workflow/errors//RuntimeDecryptionError`)]??m,r={};`cause`in t&&(r.cause=t.cause),t.context!==void 0&&(r.context=t.context);let i=new n(t.message,r);return t.stack!==void 0&&(i.stack=t.stack),i},SyntaxError:B(e,`SyntaxError`),TypeError:B(e,`TypeError`),URIError:B(e,`URIError`),AggregateError:t=>{let n=`cause`in t?{cause:t.cause}:void 0,r=new e.AggregateError(t.errors,t.message,n);return t.stack!==void 0&&(r.stack=t.stack),r},Error:t=>{let n=`cause`in t?{cause:t.cause}:void 0,r=new e.Error(t.message,n);return r.name=t.name,t.stack!==void 0&&(r.stack=t.stack),r},Float32Array:t=>new e.Float32Array(R(t,e)),Float64Array:t=>new e.Float64Array(R(t,e)),Headers:t=>new e.Headers(t),Int8Array:t=>new e.Int8Array(R(t,e)),Int16Array:t=>new e.Int16Array(R(t,e)),Int32Array:t=>new e.Int32Array(R(t,e)),Map:t=>new e.Map(t),RegExp:t=>new e.RegExp(t.source,t.flags),Set:t=>new e.Set(t),URL:t=>new e.URL(t),WorkflowFunction:e=>Object.assign(()=>{throw Error(`Workflow functions cannot be called directly. Use start() to invoke them.`)},{workflowId:e.workflowId}),URLSearchParams:t=>new e.URLSearchParams(t===`.`?``:t),Uint8Array:t=>new e.Uint8Array(R(t,e)),Uint8ClampedArray:t=>new e.Uint8ClampedArray(R(t,e)),Uint16Array:t=>new e.Uint16Array(R(t,e)),Uint32Array:t=>new e.Uint32Array(R(t,e))}}function rn(){return{StepFunction:e=>{if(typeof e!=`function`)return!1;let t=e.stepId;if(typeof t!=`string`)return!1;let n=e.__closureVarsFn,r=n&&typeof n==`function`?n():void 0,i=`__boundThis`in e,a=i?e.__boundThis:void 0,o=e.__boundArgs,s={stepId:t};return r!==void 0&&(s.closureVars=r),i&&(s.boundThis=a),Array.isArray(o)&&o.length>0&&(s.boundArgs=o),s}}}function an(e=globalThis){let t=e[Symbol.for(`WORKFLOW_USE_STEP`)];return{StepFunction:e=>{let n=e.stepId,r=e.closureVars;if(!t)throw Error(`WORKFLOW_USE_STEP not found on global object. Step functions cannot be deserialized outside workflow context.`);let i=r?t(n,()=>r):t(n);if(`boundThis`in e){let t=Array.isArray(e.boundArgs)?e.boundArgs:[];return i.bind(e.boundThis,...t)}return i}}}function on(e){return e.length===4&&/^[a-z0-9]{4}$/.test(e)}const V={DEVALUE_V1:`devl`,ENCRYPTED:`encr`},sn=new TextEncoder,cn=new TextDecoder;function ln(e,t=globalThis,n){let r;switch(e){case`workflow`:r={...Yt(),...rn(),...tn(t)};break;case`step`:r={...Yt(),...tn(t)};break;case`client`:r={...Yt(),...tn(t)};break}return n?{...r,...n}:r}function un(e,t=globalThis,n){let r;switch(e){case`workflow`:r={...Xt(t),...an(t),...nn(t)};break;case`step`:r={...Xt(t),...nn(t)};break;case`client`:r={...Xt(t),...nn(t),StepFunction:()=>{throw Error(`Step functions cannot be deserialized in client context.`)}};break}return n?{...r,...n}:r}const H={formatPrefix:V.DEVALUE_V1,serialize(e,t,n){let r=N(e,ln(t,n?.global,n?.extraReducers));return sn.encode(r)},deserialize(e,t,n){let r=un(t,n?.global,n?.extraRevivers);return At(cn.decode(e),r)},deserializeLegacy(e,t,n){return jt(e,un(t,n?.global,n?.extraRevivers))}},dn=new TextEncoder,fn=new TextDecoder;function U(e,t){if(!(t instanceof Uint8Array))return t;let n=dn.encode(e),r=new Uint8Array(4+t.length);return r.set(n,0),r.set(t,4),r}function pn(e){if(!(e instanceof Uint8Array)||e.length<4)return null;let t=e.subarray(0,4),n=fn.decode(t);return on(n)?n:null}function W(e){if(!(e instanceof Uint8Array))return{format:V.DEVALUE_V1,payload:new TextEncoder().encode(JSON.stringify(e))};if(e.length<4)throw Error(`Data too short to contain format prefix: expected at least 4 bytes, got ${e.length}`);let t=e.subarray(0,4),n=fn.decode(t);if(!on(n))throw Error(`Invalid format prefix: "${n}". Must be 4 characters of [a-z0-9].`);return{format:n,payload:e.subarray(4)}}async function mn(e){return typeof e==`function`?e():e}async function hn(e,t){if(!t||!(e instanceof Uint8Array))return e;let n=await It(t,e);return U(V.ENCRYPTED,n)}async function gn(e,t){if(!(e instanceof Uint8Array))return e;let n=pn(e);if(n===V.ENCRYPTED&&!t)throw new m(`Encrypted data encountered but no encryption key is available. Encryption is not configured or no key was provided for this run.`,{context:{operation:`decrypt`,byteLength:e.byteLength,formatPrefix:`encr`}});if(n!==V.ENCRYPTED)return e;let{payload:r}=W(e);try{return await Lt(t,r)}catch(e){throw m.is(e)&&e.context&&(e.context.formatPrefix=n),e}}function _n(e,t,n){let[r,...i]=t.split(`
3
- `),a=i.join(`
4
- `),o=vn(r??``,n),s=yn(a),c=[`${e} ${r??``}`];return o&&c.push(o),s&&c.push(s),c.join(`
5
- `)}function vn(e,t){if(!t||Object.keys(t).length===0)return null;let n=new Set;n.add(`errorStack`),typeof t.errorMessage==`string`&&e.includes(t.errorMessage)&&n.add(`errorMessage`);let r=new Set([`workflowRunId`,`workflowName`,`stepId`,`stepName`,`errorAttribution`,`errorCode`,`errorName`,`errorMessage`,`errorStack`,`hint`,`attempt`,`retryCount`]),i=[],a=G(t,`errorName`),o=G(t,`errorAttribution`);if(a||o){let e=o?o===`sdk`?se(`sdk error`):re(`user error`):``,t=a?fe(a):``,n=e&&t?w(` · `):``;i.push(` ${e}${n}${t}`)}let l=G(t,`workflowRunId`),u=G(t,`workflowName`);l?i.push(Sn(`run`,l,u,c)):u&&i.push(Sn(`run`,null,u,c));let d=G(t,`stepId`),f=G(t,`stepName`);if((d||f)&&i.push(Sn(`step`,d,f,s)),t.attempt!==void 0||t.retryCount!==void 0){let e=t.attempt,n=t.retryCount;e!==void 0&&n!==void 0?i.push(` ${xn(`retry`)} ${e} ${w(`attempts ·`)} ${n} ${w(`max retries`)}`):e!==void 0&&i.push(` ${xn(`retry`)} ${e} ${w(`attempts`)}`)}let p=G(t,`errorCode`);p&&p!==a&&i.push(` ${xn(`code`)} ${w(p)}`);let m=G(t,`hint`);m&&i.push(` ${ce(m)}`);let h=Object.entries(t).filter(([e,t])=>!r.has(e)&&!n.has(e)&&t!=null).sort(([e],[t])=>e.localeCompare(t));for(let[e,t]of h)i.push(` ${xn(e)} ${Cn(t)}`);return i.length?i.join(`
6
- `):null}function yn(e){if(!e)return null;let t=e.split(`
7
- `),n=[],r=0,i=0,a=0,o=()=>{r>0&&(n.push(w(` … ${r} more ${r===1?`frame`:`frames`} in framework internals`)),r=0)};for(let e of t){let t=e.trimStart().startsWith(`at `);if(t&&bn(e)){r++;continue}if(t&&i>=6){a++;continue}o(),n.push(e),t&&i++}return o(),a>0&&n.push(w(` … ${a} more ${a===1?`frame`:`frames`} (run \`pnpm wf inspect run <id>\` for the full stack)`)),n.join(`
8
- `)}function bn(e){let t=e.trimStart();return t.startsWith(`at `)?!!(t.includes(`node:internal/`)||t.includes(`node_modules/.pnpm/`)||t.includes(`node_modules__pnpm_`)||t.includes(`_next_dist_`)||t.includes(`node_modules/next/`)||t.includes(`node_modules/@opentelemetry/`)||t.includes(`node_modules/vitest/`)||t.includes(`node_modules/@vitest/`)):!1}function G(e,t){let n=e[t];return typeof n==`string`&&n.length>0?n:null}function xn(e){return w(e.padEnd(6))}function Sn(e,t,n,r){let a=t||w(`—`),s=n&&(e===`run`?o(n):i(n))?`${w(`·`)} ${r(n)}`:``;return` ${xn(e)} ${a}${s?` `+s:``}`}function Cn(e){if(typeof e==`string`)return e.includes(`
9
- `)?e.split(`
10
- `).map((e,t)=>t===0?e:` ${e}`).join(`
11
- `):e;if(typeof e==`number`||typeof e==`boolean`)return String(e);try{return JSON.stringify(e)}catch{return String(e)}}var wn=class e extends Error{steps;globalThis;stepCount;hookCount;waitCount;hookDisposedCount;abortCount;constructor(e,t){let n=[...e.values()],r=0,i=0,a=0,o=0,s=0;for(let e of n)e.type===`step`?r++:e.type===`hook`?e.disposed?o++:e.abortRequested?s++:i++:e.type===`wait`&&a++;let c=[];r>0&&c.push(`${r} ${l(`step`,`steps`,r)}`),i>0&&c.push(`${i} ${l(`hook`,`hooks`,i)}`),a>0&&c.push(`${a} ${l(`wait`,`waits`,a)}`),o>0&&c.push(`${o} hook ${l(`disposal`,`disposals`,o)}`);let u=l(`has`,`have`,r+i+a+o),d=+(r>0)+ +(i>0)+ +(a>0)+ +(o>0),f;f=d>1?`processed`:r>0?`run`:i>0||a>0?`created`:o>0?`processed`:`received`;let p=c.length>0?`${c.join(` and `)} ${u} not been ${f} yet`:`0 steps have not been run yet`;super(p),this.name=`WorkflowSuspension`,this.steps=n,this.globalThis=t,this.stepCount=r,this.hookCount=i,this.waitCount=a,this.hookDisposedCount=o,this.abortCount=s}static is(t){return t instanceof e}};function Tn(){throw new b(`This API is not available inside a workflow function. Workflow functions run in a deterministic VM; move the call to a step function for full Node.js access.`)}function K(...e){return t=>Object.fromEntries(e.map(e=>[e,t]))}const En=K(`workflow.name`),Dn=K(`workflow.operation`),On=K(`workflow.run.id`),kn=K(`workflow.run.status`),An=K(`workflow.started_at`),jn=K(`workflow.events.count`),Mn=K(`workflow.arguments.count`),Nn=K(`workflow.result.type`),Pn=K(`workflow.trace.propagated`),Fn=K(`workflow.error.name`),In=K(`workflow.error.message`),Ln=K(`workflow.error.code`),Rn=K(`workflow.steps.created`),zn=K(`workflow.hooks.created`),Bn=K(`workflow.waits.created`),Vn=K(`step.name`),Hn=K(`step.id`),Un=K(`step.attempt`),Wn=K(`step.status`),Gn=K(`step.max_retries`),Kn=K(`step.skipped`),qn=K(`step.skip_reason`),Jn=K(`step.arguments.count`),Yn=K(`step.result.type`),Xn=K(`step.error.name`),Zn=K(`step.error.message`),Qn=K(`step.fatal_error`),$n=K(`step.retry.exhausted`),er=K(`step.retry.timeout_seconds`),tr=K(`step.retry.will_retry`),nr=K(`messaging.system`),rr=K(`messaging.destination.name`),ir=K(`messaging.message.id`),ar=K(`messaging.operation.type`),or=K(`workflow.queue.overhead_ms`),sr=K(`deployment.id`),cr=K(`workflow.hook.token`),lr=K(`workflow.hook.id`),ur=K(`workflow.hook.found`),dr=K(`workflow.suspension.state`),fr=K(`workflow.suspension.hook_count`),pr=K(`workflow.suspension.step_count`),mr=K(`workflow.suspension.wait_count`),hr=K(`error.type`),gr=K(`workflow.events.pages_loaded`),_r=K(`workflow.queue.deserialize_time_ms`),vr=K(`workflow.queue.execution_time_ms`),yr=K(`workflow.queue.serialize_time_ms`),br=K(`peer.service`),xr=K(`rpc.system`),Sr=K(`rpc.service`),Cr=K(`rpc.method`),wr=K(`error.retryable`),Tr=K(`error.category`);async function Er(){let e=await q.value;if(!e)return{};let t={};return e.propagation.inject(e.context.active(),t),t}async function Dr(e){let t=await q.value;if(t)return t.propagation.extract(t.context.active(),e)}async function Or(e,t){if(!e)return t();let n=await q.value;if(!n)return t();let r=await Dr(e);return r?n.context.with(r,async()=>await t()):t()}const q=a(async()=>{try{return await import(`./src-B54rYDvB.js`).then(t=>e(t.t(),1))}catch{return J.info(`OpenTelemetry not available, tracing will be disabled`),null}}),kr=a(async()=>{let e=await q.value;return e?e.trace.getTracer(`workflow`):null});async function Ar(e,...t){let[n,r]=await Promise.all([kr.value,q.value]),{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}),jr(t,r,e),t}finally{e.end()}})}function jr(e,t,n){!e||!wn.is(e)||(n.setStatus({code:t.SpanStatusCode.OK}),n.setAttributes({...dr(`suspended`),...pr(e.stepCount),...fr(e.hookCount),...mr(e.waitCount)}))}async function Mr(e){let[t,n]=await Promise.all([Dr(e),q.value]);if(!(!t||!n))return n.trace.getSpanContext(t)}async function Nr(){return await Fr(e=>e.trace.getActiveSpan())}async function Pr(e){return Fr(t=>t.SpanKind[e])}async function Fr(e){let t=await q.value;if(t)return await e(t)}function Ir(){return Fr(e=>{let t=e.trace.getActiveSpan()?.spanContext();if(t)return[{context:t}]})}async function Lr(e,t){let n=await q.value;if(!n)return t();let r=n.propagation.createBaggage({"workflow.run_id":{value:e.workflowRunId},"workflow.name":{value:e.workflowName}}),i=n.propagation.setBaggage(n.context.active(),r);return n.context.with(i,()=>t())}function Rr(e,t){if(!t)return!1;let n=!1;for(let r of t.split(`,`)){let t=r.trim();if(!t)continue;let i=t.startsWith(`-`),a=i?t.slice(1):t;RegExp(`^${a.replace(/[|\\{}()[\]^$+?.]/g,`\\$&`).replace(/\*/g,`.*`)}$`).test(e)&&(n=!i)}return n}function zr(e){let t=n=>{let r=t=>{let r=`workflow:${e}:${t}`;return(i,a)=>{let o=Object.keys(n).length>0,s=a&&Object.keys(a).length>0,c=o||s?{...n,...a??{}}:void 0;(t===`error`||t===`warn`)&&(t===`error`?console.error:console.warn)(_n(`[workflow-sdk]`,i,c)),Rr(r,process.env.DEBUG)&&(console.debug(`[${r}] ${i}`,c??``),Nr().then(n=>{n?.addEvent(`${t}.${e}`,{message:i,...c})}).catch(()=>{}))}};return{debug:r(`debug`),info:r(`info`),warn:r(`warn`),error:r(`error`),child:e=>t({...n,...e}),forRun:(e,r,i)=>t({...n,workflowRunId:e,...r===void 0?{}:{workflowName:r},...i??{}})}};return t({})}const Br=zr(`step`),J=zr(`runtime`),Vr=zr(`webhook`),Hr=zr(`events`);zr(`adapter`);function Ur(e){if(m.is(e))throw e}function Y(e,t){let n=e.includes(`return value`)?`returning`:`passing`,r=`Failed to serialize ${e}`;t instanceof j&&t.path&&(r+=` at path "${t.path}"`);let i=`Ensure you're ${n} workflow serializable types. Check the serialization docs to see what's serializable: https://workflow-sdk.dev/docs/foundations/serialization`;return t instanceof j&&t.value!==void 0&&J.error(`Serialization failed`,{context:e,problematicValue:t.value}),{message:r,hint:i}}async function Wr(e,t,n){try{let r=H.serialize(e,`client`,n);return hn(U(V.DEVALUE_V1,r),t)}catch(e){Ur(e);let{message:t,hint:n}=Y(`client value`,e);throw new h(t,{hint:n,cause:e})}}async function Gr(e,t,n){let r=await gn(e,t);if(!(r instanceof Uint8Array)){if(H.deserializeLegacy)return H.deserializeLegacy(r,`client`,n);throw Error(`Cannot deserialize non-binary data without legacy support`)}let{format:i,payload:a}=W(r);if(i===V.DEVALUE_V1)return H.deserialize(a,`client`,n);throw Error(`Unsupported serialization format: ${i}`)}async function Kr(e,t,n){try{let r=H.serialize(e,`step`,n);return hn(U(V.DEVALUE_V1,r),t)}catch(e){Ur(e);let{message:t,hint:n}=Y(`step value`,e);throw new h(t,{hint:n,cause:e})}}async function qr(e,t,n){let r=await gn(e,t);if(!(r instanceof Uint8Array)){if(H.deserializeLegacy)return H.deserializeLegacy(r,`step`,n);throw Error(`Cannot deserialize non-binary data without legacy support`)}let{format:i,payload:a}=W(r);if(i===V.DEVALUE_V1)return H.deserialize(a,`step`,n);throw Error(`Unsupported serialization format: ${i}`)}function Jr(e,t){if(!(e instanceof Uint8Array)){if(H.deserializeLegacy)return H.deserializeLegacy(e,`workflow`,t);throw Error(`Cannot deserialize non-binary data without legacy support`)}let{format:n,payload:r}=W(e);if(n===V.DEVALUE_V1)return H.deserialize(r,`workflow`,t);throw Error(`Unsupported serialization format: ${n}`)}const Yr=Symbol.for(`WORKFLOW_STEP_CONTEXT_STORAGE`),Xr=globalThis[Yr]??(globalThis[Yr]=new ve);function Zr(e,t,n){if(e===0&&t===0&&n===0)return null;let r=[];e>0&&r.push(`${e} ${l(`step`,`steps`,e)}`),t>0&&r.push(`${t} ${l(`hook`,`hooks`,t)}`),n>0&&r.push(`${n} ${l(`timer`,`timers`,n)}`);let i=[];e>0&&i.push(`steps are completed`),t>0&&i.push(`hooks are received`),n>0&&i.push(`timers have elapsed`);let a=i.join(` and `);return`${r.join(` and `)} to be enqueued\n Workflow will suspend and resume when ${a}`}function Qr(e,t){let n=`${e.replace(`wrun_`,`strm_`)}_user`;return t?`${n}_${Buffer.from(t,`utf-8`).toString(`base64url`)}`:n}function $r(e){return`strm_${e}_system_abort`}function ei(e){if(!e.startsWith(`abrt_`))throw Error(`Invalid abort hook token format: expected "abrt_" prefix, got "${e}"`);return $r(e.slice(5))}var X;(function(e){e[e.Consumed=0]=`Consumed`,e[e.NotConsumed=1]=`NotConsumed`,e[e.Finished=2]=`Finished`})(X||={});var ti=class{eventIndex;events=[];callbacks=[];onConsumedEvent;onUnconsumedEvent;getPromiseQueue;pendingUnconsumedCheck=null;pendingUnconsumedTimeout=null;unconsumedCheckVersion=0;constructor(e,t){this.events=e,this.eventIndex=0,this.onConsumedEvent=t.onConsumedEvent,this.onUnconsumedEvent=t.onUnconsumedEvent,this.getPromiseQueue=t.getPromiseQueue}subscribe(e){this.callbacks.push(e),this.pendingUnconsumedCheck!==null&&(this.unconsumedCheckVersion++,this.pendingUnconsumedCheck=null,this.pendingUnconsumedTimeout!==null&&(clearTimeout(this.pendingUnconsumedTimeout),this.pendingUnconsumedTimeout=null)),process.nextTick(this.consume)}notifyConsumedEvent(e){if(this.onConsumedEvent)try{this.onConsumedEvent(e)}catch(e){Hr.error(`onConsumedEvent callback threw an error`,{error:e})}}consume=()=>{let e=this.events[this.eventIndex]??null;for(let t=0;t<this.callbacks.length;t++){let n=this.callbacks[t],r=X.NotConsumed;try{r=n(e)}catch(e){Hr.error(`EventConsumer callback threw an error`,{error:e})}if(r===X.Consumed||r===X.Finished){e!==null&&this.notifyConsumedEvent(e),this.eventIndex++,r===X.Finished&&this.callbacks.splice(t,1),process.nextTick(this.consume);return}}if(e!==null){let t=++this.unconsumedCheckVersion;this.pendingUnconsumedCheck=this.getPromiseQueue().then(()=>new Promise(e=>setTimeout(e,0))).then(()=>this.getPromiseQueue()).then(()=>{this.pendingUnconsumedTimeout=setTimeout(()=>{this.pendingUnconsumedTimeout=null,this.unconsumedCheckVersion===t&&(this.pendingUnconsumedCheck=null,this.onUnconsumedEvent(e))},100)})}}},ni=class{aborted=!1;reason=void 0;[S];[E];#e=[];#t=null;get onabort(){return this.#t}set onabort(e){this.#t=e,e&&this.aborted&&e.call(this)}constructor(e,t){this[S]=e,this[E]=t}_setAborted(e){if(!this.aborted){this.aborted=!0,this.reason=e,this.#t&&this.#t.call(this);for(let e of this.#e)e();this.#e=[]}}addEventListener(e,t){if(e===`abort`){if(this.aborted){t();return}this.#e.push(t)}}removeEventListener(e,t){e===`abort`&&(this.#e=this.#e.filter(e=>e!==t))}throwIfAborted(){if(this.aborted)throw this.reason??new DOMException(`The operation was aborted.`,`AbortError`)}};function ri(e){return class{signal;[S];[E];constructor(){let t=e.generateUlid(),n=$r(t),r=`abrt_${t}`;this[S]=n,this[E]=r,this.signal=new ni(n,r);let i=`hook_${e.generateUlid()}`;e.invocationsQueue.set(i,{type:`hook`,correlationId:i,token:r,isWebhook:!1,isSystem:!0}),e.eventsConsumer.subscribe(t=>{if(!t||t.correlationId!==i)return X.NotConsumed;let n=`eventData`in t&&t.eventData&&`token`in t.eventData?t.eventData.token:void 0;if(typeof n==`string`&&n!==this[E])return e.promiseQueue=e.promiseQueue.then(()=>{e.onWorkflowError(new y(`Replay divergence: abort hook event ${t.eventType} for ${i} belongs to token "${n}", but the current abort hook expects "${this[E]}"`,{eventId:t.eventId}))}),X.Finished;if(t.eventType===`hook_created`){let t=e.invocationsQueue.get(i);return t&&t.type===`hook`&&(t.hasCreatedEvent=!0),X.Consumed}if(t.eventType===`hook_received`){let n=t.eventData?.payload;return e.promiseQueue=e.promiseQueue.then(async()=>{let t;if(n!==void 0)try{let r=await Bi(n,e.runId,e.encryptionKey,e.globalThis);r&&typeof r==`object`&&`reason`in r&&(t=r.reason)}catch{}this.signal._setAborted(t)}),e.invocationsQueue.delete(i),X.Consumed}return t.eventType===`hook_disposed`?(e.invocationsQueue.delete(i),X.Finished):X.NotConsumed})}abort(t){if(!this.signal.aborted){this.signal._setAborted(t);for(let[,n]of e.invocationsQueue)if(n.type===`hook`&&n.token===this[E]){n.abortRequested=!0,n.abortReason=t;break}}}}}function ii(){return{abort(e){let t=new ni(``,``);return t._setAborted(e??new DOMException(`The operation was aborted.`,`AbortError`)),t},any(e){let t=new ni(``,``),n=Array.from(e);for(let e of n)if(e.aborted)return t._setAborted(e.reason),t;let r=[],i=()=>{for(let{signal:e,listener:t}of r)e.removeEventListener&&e.removeEventListener(`abort`,t);r.length=0};for(let e of n){if(!e.addEventListener)continue;let n=()=>{t.aborted||(t._setAborted(e.reason),i())};r.push({signal:e,listener:n}),e.addEventListener(`abort`,n)}return t},timeout(){throw Error(`AbortSignal.timeout() is not supported in workflow functions. Use sleep() with an AbortController instead. See: /docs/errors/abort-signal-timeout-in-workflow`)}}}const ai=he();function oi(e){try{return e.getReader({mode:`byob`}).releaseLock(),`bytes`}catch{}}function Z(e){return Ur(e),e instanceof h&&e.cause!==void 0||e instanceof b&&e.cause!==void 0?e.cause:e}function si(e,t){let n=new TextEncoder,r={resolved:!1,key:void 0};return new TransformStream({async transform(i,a){try{r.resolved||=(r.key=await mn(t),!0);let o=N(i,e),s=n.encode(o),c=U(V.DEVALUE_V1,s);if(r.key){let e=await It(r.key,c);c=U(V.ENCRYPTED,e)}let l=new Uint8Array(4+c.length);new DataView(l.buffer).setUint32(0,c.length,!1),l.set(c,4),a.enqueue(l)}catch(e){if(m.is(e)){a.error(e);return}let{message:t,hint:n}=Y(`stream chunk`,e);a.error(new h(t,{hint:n,cause:e}))}}})}function ci(e,t){let n=new TextDecoder,r=new Uint8Array,i={resolved:!1,key:void 0};function a(e){let t=new Uint8Array(r.length+e.length);t.set(r,0),t.set(e,r.length),r=t}async function o(a){for(i.resolved||=(i.key=await mn(t),!0);r.length>=4;){let t=new DataView(r.buffer,r.byteOffset,r.byteLength).getUint32(0,!1);if(r.length<4+t)break;let o=r.slice(4,4+t);r=r.slice(4+t);let{format:s,payload:c}=W(o);if(s===V.ENCRYPTED){if(!i.key){a.error(new m(`Encrypted stream data encountered but no encryption key is available. Encryption is not configured or no key was provided for this run.`,{context:{operation:`decrypt`,byteLength:c.byteLength,formatPrefix:`encr`}}));return}let e;try{e=await Lt(i.key,c)}catch(e){throw m.is(e)&&e.context&&(e.context.formatPrefix=s),e}({format:s,payload:c}=W(e))}if(s===V.DEVALUE_V1){let t=n.decode(c);a.enqueue(At(t,e))}}}return new TransformStream({async transform(t,i){if(r.length===0&&t.length>=4){let e=new DataView(t.buffer,t.byteOffset,t.byteLength).getUint32(0,!1);if(e>0&&e<1e8){a(t),await o(i);return}}else if(r.length>0){a(t),await o(i);return}let s=n.decode(t).split(`
12
- `);for(let t of s)t.length>0&&i.enqueue(At(t,e))},async flush(e){r.length>0&&await o(e)}})}var li=class extends ReadableStream{#e;constructor(e,t,n){if(typeof t!=`string`||t.length===0)throw new b(`"name" is required, got "${t}"`);super({type:`bytes`,pull:async r=>{let i=this.#e;if(!i){let r=await(await I()).streams.get(e,t,n);i=this.#e=r.getReader()}if(!i){r.error(Error(`Failed to get reader`));return}let a=await i.read();a.done?(this.#e=void 0,r.close()):r.enqueue(a.value)},cancel:async e=>{this.#e&&=(await this.#e.cancel(e).catch(()=>{}),void 0)}})}};function ui(e,t,n){let r=n===void 0||n>=0,i=n??0,a=0,o=0,s=0,c,l=new Uint8Array;async function u(){let o=await I(),s=r?i+a:n;c=(await o.streams.get(e,t,s)).getReader()}async function d(){if(o++,s++,o>50)throw Error(`Stream "${t}" exceeded maximum reconnection attempts (50)`);if(s>1e3)throw Error(`Stream "${t}" exceeded maximum total reconnection attempts (1000)`);c&&=(await c.cancel().catch(()=>{}),void 0),i+=a,a=0,l=new Uint8Array,await u()}return new ReadableStream({pull:async e=>{for(;;){if(!c)try{await u()}catch(t){e.error(t);return}let t;try{t=await c.read()}catch(t){if(!r){e.error(t);return}try{await d()}catch(t){e.error(t);return}continue}if(t.done||!t.value){c=void 0,e.close();return}let n=t.value;if(n.length>0){let e=new Uint8Array(l.length+n.length);e.set(l,0),e.set(n,l.length),l=e}let i=!1;for(;l.length>=4;){let t=4+new DataView(l.buffer,l.byteOffset,l.byteLength).getUint32(0,!1);if(l.length<t)break;e.enqueue(l.slice(0,t)),l=l.slice(t),a++,i=!0}if(i){o=0;return}}},cancel:async()=>{c&&=(await c.cancel().catch(e=>{console.warn(`Error closing ReadableStream reader:`,e)}),void 0)}})}var Q=class extends WritableStream{constructor(e,t){if(typeof e!=`string`)throw new b(`"runId" must be a string, got "${typeof e}"`);if(typeof t!=`string`||t.length===0)throw new b(`"name" is required, got "${t}"`);let n=I(),r=[],i=null,a=null,o,s=async()=>{if(i&&=(clearTimeout(i),null),r.length===0)return;let a=r.slice(),s=await n;if(o===void 0&&(o=s.streamFlushIntervalMs??10),typeof s.streams.writeMulti==`function`&&a.length>1)await s.streams.writeMulti(e,t,a);else for(let n of a)await s.streams.write(e,t,n);r=[]},c=[],l=()=>{i||=setTimeout(()=>{i=null;let e=c;c=[],a=s().then(()=>{for(let t of e)t.resolve()},t=>{for(let n of e)n.reject(t)})},o??10)};super({async write(e){a&&=(await a,null),r.push(e),l(),await new Promise((e,t)=>{c.push({resolve:e,reject:t})})},async close(){a&&=(await a,null),await s(),await(await n).streams.close(e,t)},abort(e){i&&=(clearTimeout(i),null),r=[];let t=c;c=[];let n=e??Error(`Stream aborted`);for(let e of t)e.reject(n)}})}};function di(e=globalThis){return{...Yt(),...rn(),...tn(e),Request:t=>{if(!(t instanceof e.Request))return!1;let n={method:t.method,url:t.url,headers:t.headers,body:t.body,duplex:t.duplex},r=t[ae];return r&&(n.responseWritable=r),t.signal&&(t.signal.aborted||t.signal[S])&&(n.signal=t.signal),n},Response:t=>t instanceof e.Response?{type:t.type,url:t.url,status:t.status,statusText:t.statusText,headers:t.headers,body:t.body,redirected:t.redirected}:!1}}function fi(e,t,n,r,i,a){let o=t[S],s=t[E];if(!o){let e=(n[de]||ai)();o=$r(e),s=`abrt_${e}`,t[S]=o,t[E]=s,t.signal&&(t.signal[S]=o,t.signal[E]=s)}return mi(e,o,i,a,r),{streamName:o,hookToken:s,aborted:e.aborted,reason:e.aborted?e.reason:void 0}}function pi(e,t){let n=t[S]??t.signal?.[S],r=t[E]??t.signal?.[E];if(!n)throw Error(`AbortController/AbortSignal stream name is not set`);return{streamName:n,hookToken:r,aborted:e.aborted,reason:e.aborted?e.reason:void 0}}function mi(e,t,n,r,i){e.aborted||e[ue]||(e[ue]=!0,e.addEventListener(`abort`,()=>{i.push((async()=>{try{let i=await mn(r),a=await Ni({aborted:!0,reason:e.reason},n,i),o=new Q(n,t).getWriter();await o.write(a),await o.close()}catch{}})())},{once:!0}))}function hi(e=globalThis,t,n,r){return{...di(e),ReadableStream:i=>{if(!(i instanceof e.ReadableStream))return!1;if(i.locked)throw new h(`ReadableStream is locked and cannot be passed across a workflow boundary.`,{hint:`Pass the stream before calling .getReader() / .pipeThrough() / .pipeTo(), or tee it with .tee() and pass one of the branches.`});let a=`strm_${(e[de]||ai)()}`,o=oi(i),s=new Q(n,a);o===`bytes`?t.push(i.pipeTo(s)):t.push(i.pipeThrough(si(hi(e,t,n,r),r)).pipeTo(s));let c={name:a};return o&&(c.type=o),c},WritableStream:r=>{if(!(r instanceof e.WritableStream))return!1;let i=r[T],a=r[C];if(typeof i==`string`&&typeof a==`string`){let e={name:i,runId:a},t=r[x];return typeof t==`string`&&(e.deploymentId=t),e}let o=`strm_${(e[de]||ai)()}`,s=new li(n,o);return t.push(s.pipeTo(r)),{name:o}},AbortController:i=>!e.AbortController||typeof e.AbortController!=`function`||!(i instanceof e.AbortController)?!1:fi(i.signal,i,e,t,n,r),AbortSignal:i=>!e.AbortSignal||typeof e.AbortSignal!=`function`||!(i instanceof e.AbortSignal)?!1:fi(i,i,e,t,n,r)}}function gi(e=globalThis){return{...di(e),ReadableStream:t=>{if(!(t instanceof e.ReadableStream))return!1;let n=t[ie];if(n!==void 0)return{bodyInit:n};let r=t[T];if(!r)throw new b("ReadableStream `name` is not set");let i={name:r},a=t[me];return a&&(i.type=a),i},WritableStream:t=>{if(!(t instanceof e.WritableStream))return!1;let n=t[T];if(!n)throw new b("WritableStream `name` is not set");let r={name:n},i=t[C];typeof i==`string`&&(r.runId=i);let a=t[x];return typeof a==`string`&&(r.deploymentId=a),r},AbortController:t=>{if(!t||!t.signal)return!1;let n=t,r=n[S]??n.signal?.[S],i=e.AbortController&&typeof e.AbortController==`function`&&t instanceof e.AbortController;return!r&&!i?!1:pi(t.signal,n)},AbortSignal:t=>{let n=t?.[S],r=e.AbortSignal&&typeof e.AbortSignal==`function`&&t instanceof e.AbortSignal;return!n&&!r?!1:pi(t,t)}}}function _i(e=globalThis,t,n,r){return{...di(e),ReadableStream:i=>{if(!(i instanceof e.ReadableStream))return!1;if(i.locked)throw new h(`ReadableStream is locked and cannot be passed across a workflow boundary.`,{hint:`Pass the stream before calling .getReader() / .pipeThrough() / .pipeTo(), or tee it with .tee() and pass one of the branches.`});let a=i[T],o=i[me];if(!a){a=`strm_${(e[de]||ai)()}`,o=oi(i);let s=new Q(n,a);o===`bytes`?t.push(i.pipeTo(s)):t.push(i.pipeThrough(si(_i(e,t,n,r),r)).pipeTo(s))}let s={name:a};return o&&(s.type=o),s},WritableStream:i=>{if(!(i instanceof e.WritableStream))return!1;let a=i[T],o=i[C];a||(a=`strm_${(e[de]||ai)()}`,t.push(new li(n,a).pipeThrough(ci(Ei(e,t,n,r),r)).pipeTo(i)));let s={name:a};typeof o==`string`&&(s.runId=o);let c=i[x];return typeof c==`string`&&(s.deploymentId=c),s},AbortController:i=>!e.AbortController||typeof e.AbortController!=`function`||!(i instanceof e.AbortController)?!1:fi(i.signal,i,e,t,n,r),AbortSignal:i=>!e.AbortSignal||typeof e.AbortSignal!=`function`||!(i instanceof e.AbortSignal)?!1:fi(i,i,e,t,n,r)}}function vi(e,t,n,r){let i=new AbortController;return r.push((async()=>{try{let r=new li(t,n).getReader(),a=await Promise.race([r.read(),new Promise(e=>{if(i.signal.aborted){e({value:void 0,done:!0});return}i.signal.addEventListener(`abort`,()=>e({value:void 0,done:!0}),{once:!0})})]);if(r.releaseLock(),a.value&&!a.done)try{let n=Xr.getStore(),r=await Pi(a.value,t,n?.encryptionKey);e.abort(r?.reason)}catch{e.abort()}}catch{}})()),i}function $(e,t,n){let r=e,i=e.signal;r[S]=t.streamName,r[E]=t.hookToken,i[S]=t.streamName,i[E]=t.hookToken,n&&(r[pe]=n,i[pe]=n)}function yi(e,t){let n=e,r=t;n[S]!==void 0&&(r[S]=n[S]),n[E]!==void 0&&(r[E]=n[E]),n[pe]!==void 0&&(r[pe]=n[pe])}function bi(e,t,n){let r=new AbortController;e.aborted?($(r,e),r.abort(e.reason)):e.streamName?$(r,e,vi(r,n,e.streamName,t)):$(r,e);let i=r.abort.bind(r);return r.abort=t=>{if(r.signal.aborted)return;i(t);let n=Xr.getStore();n&&(n.ops.push((async()=>{try{let r=await Ni({aborted:!0,reason:t},n.workflowMetadata.workflowRunId,n.encryptionKey),i=new Q(n.workflowMetadata.workflowRunId,e.streamName).getWriter();await i.write(r),await i.close()}catch{}})()),e.hookToken&&n.ops.push((async()=>{try{let{resumeHook:n}=await Promise.resolve().then(()=>va);await n(e.hookToken,{aborted:!0,reason:t})}catch{}})()))},r}function xi(e,t,n){let r=new AbortController;return e.aborted?($(r,e),r.abort(e.reason)):e.streamName?$(r,e,vi(r,n,e.streamName,t)):$(r,e),r.signal}function Si(e=globalThis){return{...Xt(e),...nn(e)}}async function Ci(e,t){let n=await I();if(!n.getEncryptionKeyForRun)return;let r=t?await n.getEncryptionKeyForRun(e,{deploymentId:t}):await n.getEncryptionKeyForRun(await n.runs.get(e));return r?await Ft(r,[`encrypt`]):void 0}function wi(e=globalThis,t,n,r){return{...Si(e),StepFunction:()=>{throw new h(`Step functions cannot be deserialized in client context. Step functions should not be returned from workflows.`,{hint:`A step function reference reached the client. Return a serializable value (e.g. the step result) instead of the step itself.`})},WorkflowFunction:e=>Object.assign(()=>{throw new h(`Workflow functions cannot be called directly. Use start() to invoke them.`,{hint:"Wrap the workflow with `start(workflowFn, { ... })` from `workflow` to begin a run instead of invoking it like a normal function."})},{workflowId:e.workflowId}),Request:t=>{let n={method:t.method,headers:new e.Headers(t.headers),body:t.body,duplex:t.duplex};t.signal&&(n.signal=t.signal);let r=new e.Request(t.url,n);return t.signal&&yi(t.signal,r.signal),r},Response:t=>new e.Response(t.body,{status:t.status,statusText:t.statusText,headers:new e.Headers(t.headers)}),ReadableStream:i=>{if(`bodyInit`in i){let t=i.bodyInit;return new e.Response(t).body}if(i.type===`bytes`){let r=new li(n,i.name,i.startIndex),a=P();t.push(a.promise);let{readable:o,writable:s}=new e.TransformStream;return F(r,s,a).catch(()=>{}),Vt(o,a),o}else{let a=ui(n,i.name,i.startIndex),o=ci(wi(e,t,n,r),r),s=P();return t.push(s.promise),F(a,o.writable,s).catch(()=>{}),Vt(o.readable,s),o.readable}},WritableStream:i=>{let a=typeof i.runId==`string`?i.runId:n,o=a===n?r:Ci(a,i.deploymentId),s=si(hi(e,t,a,o),o),c=new Q(a,i.name),l=P();return t.push(l.promise),F(s.readable,c,l).catch(()=>{}),Bt(s.writable,l),Object.defineProperty(s.writable,T,{value:i.name,writable:!1}),Object.defineProperty(s.writable,C,{value:a,writable:!1}),typeof i.deploymentId==`string`&&Object.defineProperty(s.writable,x,{value:i.deploymentId,writable:!1}),s.writable},AbortController:e=>bi(e,t,n),AbortSignal:e=>xi(e,t,n)}}function Ti(e=globalThis){return{...Si(e),...an(e),Request:t=>{Object.setPrototypeOf(t,e.Request.prototype);let n=t.responseWritable;return n&&(t[ae]=n,delete t.responseWritable,t.respondWith=()=>{throw new h("`respondWith()` must be called from within a step function.",{hint:'Move the `respondWith(...)` call inside a `"use step"` function — it cannot be invoked from a workflow context.'})}),t},WorkflowFunction:e=>Object.assign(()=>{throw new h(`Workflow functions cannot be called directly. Use start() to invoke them.`,{hint:"Wrap the workflow with `start(workflowFn, { ... })` from `workflow` to begin a run instead of invoking it like a normal function."})},{workflowId:e.workflowId}),Response:t=>(Object.setPrototypeOf(t,e.Response.prototype),t),ReadableStream:t=>`bodyInit`in t?Object.create(e.ReadableStream.prototype,{[ie]:{value:t.bodyInit,writable:!1}}):Object.create(e.ReadableStream.prototype,{[T]:{value:t.name,writable:!1},[me]:{value:t.type,writable:!1}}),WritableStream:t=>{let n={[T]:{value:t.name,writable:!1}};return typeof t.runId==`string`&&(n[C]={value:t.runId,writable:!1}),typeof t.deploymentId==`string`&&(n[x]={value:t.deploymentId,writable:!1}),Object.create(e.WritableStream.prototype,n)},AbortController:e=>{let t=new ni(e.streamName,e.hookToken);return e.aborted&&t._setAborted(e.reason),{[S]:e.streamName,[E]:e.hookToken,signal:t,abort:()=>{}}},AbortSignal:e=>{let t=new ni(e.streamName,e.hookToken);return e.aborted&&t._setAborted(e.reason),t}}}function Ei(e=globalThis,t,n,r,i){return{...Si(e),StepFunction:e=>{let t=e.stepId,n=e.closureVars,r=`boundThis`in e,i=r?e.boundThis:void 0,a=Array.isArray(e.boundArgs)?e.boundArgs:[],o=ge(t);if(!o)throw new h(`Step function "${t}" not found. Make sure the step function is registered.`,{hint:`Make sure the step file is included in your build (i.e. it is listed in the workflow manifest), and that the SWC plugin is configured for the file.`});if(!n&&!r&&a.length===0)return o;let s=function(...e){let t=r?i:this,s=a.length>0?[...a,...e]:e;if(n){let e=Xr.getStore();if(!e)throw new b(`Cannot call step function with closure variables outside step context`);let r={...e,closureVars:n};return Xr.run(r,()=>o.apply(t,s))}return o.apply(t,s)};return Object.defineProperty(s,"name",{value:o.name}),Object.defineProperty(s,"stepId",{value:t,writable:!1,enumerable:!1,configurable:!1}),o.maxRetries!==void 0&&(s.maxRetries=o.maxRetries),s},WorkflowFunction:e=>Object.assign(()=>{throw new h(`Workflow functions cannot be called directly. Use start() to invoke them.`,{hint:"Wrap the workflow with `start(workflowFn, { ... })` from `workflow` to begin a run instead of invoking it like a normal function."})},{workflowId:e.workflowId}),Request:t=>{let n=t.responseWritable,r={method:t.method,headers:new e.Headers(t.headers),body:t.body,duplex:t.duplex};t.signal&&(r.signal=t.signal);let i=new e.Request(t.url,r);return t.signal&&yi(t.signal,i.signal),n&&(i.respondWith=async e=>{let t=n.getWriter();await t.write(e),await t.close()}),i},Response:t=>new e.Response(t.body,{status:t.status,statusText:t.statusText,headers:new e.Headers(t.headers)}),ReadableStream:a=>{if(`bodyInit`in a){let t=a.bodyInit;return new e.Response(t).body}let o=new li(n,a.name);if(a.type===`bytes`){let n=P();t.push(n.promise);let{readable:r,writable:i}=new e.TransformStream;return F(o,i,n).catch(()=>{}),Vt(r,n),r}else{let a=ci(Ei(e,t,n,r,i),r),s=P();return t.push(s.promise),F(o,a.writable,s).catch(()=>{}),Vt(a.readable,s),a.readable}},WritableStream:a=>{let o=typeof a.runId==`string`?a.runId:n,s=typeof a.deploymentId==`string`?a.deploymentId:o===n?i:void 0,c=o===n?r:Ci(o,s),l=si(_i(e,t,o,c),c),u=new Q(o,a.name),d=P();return t.push(d.promise),F(l.readable,u,d).catch(()=>{}),Bt(l.writable,d),Object.defineProperty(l.writable,T,{value:a.name,writable:!1}),Object.defineProperty(l.writable,C,{value:o,writable:!1}),s&&Object.defineProperty(l.writable,x,{value:s,writable:!1}),l.writable},AbortController:e=>bi(e,t,n),AbortSignal:e=>xi(e,t,n)}}async function Di(e,t){return await hn(e,t)}async function Oi(e,t){return gn(e,t)}async function ki(e,t,n,r=[],i=globalThis,a=!1){if(a)return Qt(N(e,hi(i,r,t,n)));try{return await Wr(e,n,{global:i,extraReducers:Hi(hi(i,r,t,n))})}catch(e){let t=Z(e),{message:n,hint:r}=Y(`workflow arguments`,t);throw new h(n,{hint:r,cause:t})}}async function Ai(e,t,n,r=globalThis,i={}){return Jr(await Oi(e,n),{global:r,extraRevivers:{...Ui(Ti(r)),...i}})}async function ji(e,t,n,r=globalThis,i=!1){if(i)return Qt(N(e,gi(r)));try{return await Kr(e,n,{global:r,extraReducers:Hi(gi(r))})}catch(e){let t=Z(e),{message:n,hint:r}=Y(`workflow return value`,t);throw new h(n,{hint:r,cause:t})}}async function Mi(e,t,n,r=[],i=globalThis,a={}){return Gr(e,n,{global:i,extraRevivers:{...Ui(wi(i,r,t,n)),...a}})}async function Ni(e,t,n,r=globalThis,i=!1){if(i)return Qt(N(e,gi(r)));try{return await Kr(e,n,{global:r,extraReducers:Hi(gi(r))})}catch(e){let t=Z(e),{message:n,hint:r}=Y(`step arguments`,t);throw new h(n,{hint:r,cause:t})}}async function Pi(e,t,n,r=[],i=globalThis,a={},o){return qr(e,n,{global:i,extraRevivers:{...Ui(Ei(i,r,t,n,o)),...a}})}async function Fi(e,t,n,r=[],i=globalThis,a=!1){if(a)return Qt(N(e,_i(i,r,t,n)));try{return await Kr(e,n,{global:i,extraReducers:Hi(_i(i,r,t,n))})}catch(e){let t=Z(e),{message:n,hint:r}=Y(`step return value`,t);throw new h(n,{hint:r,cause:t})}}async function Ii(e,t,n,r=[],i=globalThis){try{let a=N(e,_i(i,r,t,n)),o=new TextEncoder().encode(a);return await Di(U(V.DEVALUE_V1,o),n)}catch(e){let t=Z(e),{message:n,hint:r}=Y(`step error`,t);throw new h(n,{hint:r,cause:t})}}async function Li(e,t,n,r=globalThis,i={}){let a=await Oi(e,n);if(!(a instanceof Uint8Array))return jt(a,{...Ti(r),...i});let{format:o,payload:s}=W(a);if(o===V.DEVALUE_V1)return At(new TextDecoder().decode(s),{...Ti(r),...i});throw Error(`Unsupported serialization format: ${o}`)}async function Ri(e,t,n,r=globalThis){try{let t=N(e,gi(r)),i=new TextEncoder().encode(t);return await Di(U(V.DEVALUE_V1,i),n)}catch(e){let t=Z(e),{message:n,hint:r}=Y(`run error`,t);throw new h(n,{hint:r,cause:t})}}async function zi(e,t,n,r=[],i=globalThis,a={}){let o=await Oi(e,n);if(!(o instanceof Uint8Array))return jt(o,{...wi(i,r,t,n),...a});let{format:s,payload:c}=W(o);if(s===V.DEVALUE_V1)return At(new TextDecoder().decode(c),{...wi(i,r,t,n),...a});throw Error(`Unsupported serialization format: ${s}`)}async function Bi(e,t,n,r=globalThis,i={}){return Jr(await Oi(e,n),{global:r,extraRevivers:{...Ui(Ti(r)),...i}})}const Vi=[`ReadableStream`,`WritableStream`,`Request`,`Response`,`StepFunction`,`AbortController`,`AbortSignal`];function Hi(e){let t={};for(let n of Vi)n in e&&(t[n]=e[n]);return t}function Ui(e){let t={};for(let n of Vi)n in e&&(t[n]=e[n]);return t}const Wi=[{format:V.ENCRYPTED,minVersion:`4.2.0-beta.64`}],Gi=new Set([V.DEVALUE_V1]);function Ki(e){if(!e||!Pt.default.valid(e))return{supportedFormats:Gi};let t=new Set(Gi);for(let{format:n,minVersion:r}of Wi)Pt.default.gte(e,r)&&t.add(n);return{supportedFormats:t}}const qi=`5.0.0-beta.14`,Ji=/^[a-zA-Z0-9_\-./@]+$/;function Yi(e,t){if(!Ji.test(e))throw Error(`Invalid workflow name "${e}": must only contain alphanumeric characters, underscores, hyphens, dots, forward slashes, or at signs`);return`${ne(`workflow`,te(t))}${e}`}const Xi=he();function Zi(e){return`__health_check__${e}`}function Qi(e){let t=le.safeParse(e);if(t.success)return t.data}function $i(e){return`wrun_hc_${e}`}async function ea(e,t,n){let r=await I(),i=Zi(e.correlationId),a=JSON.stringify({healthy:!0,endpoint:t,correlationId:e.correlationId,specVersion:n??3,workflowCoreVersion:qi,timestamp:Date.now()}),o=$i(e.correlationId);await r.streams.write(o,i,a),await r.streams.close(o,i)}async function ta(e,t){let n=[],r=!1,i=!1;for(;!r&&!i;){let a=e.read(),o=new Promise(e=>setTimeout(()=>{i=!0,e({done:!0,value:void 0})},t)),s=await Promise.race([a,o]);r=s.done,s.value&&n.push(s.value)}return{chunks:n,timedOut:i}}function na(e){if(e.length===0)return null;let t=e.reduce((e,t)=>e+t.length,0),n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;let i=new TextDecoder().decode(n),a;try{a=JSON.parse(i)}catch{return i.length>0?{healthy:!0}:null}if(typeof a!=`object`||!a||!(`healthy`in a)||typeof a.healthy!=`boolean`)return null;let o=a,s={healthy:o.healthy};return typeof o.specVersion==`number`&&(s.specVersion=o.specVersion),typeof o.workflowCoreVersion==`string`&&(s.workflowCoreVersion=o.workflowCoreVersion),s}async function ra(e,t,n){let r=n?.timeout??3e4,i=Xi(),a=Zi(i),o=`${ne(t,te(n?.namespace))}health_check`,s=Date.now();try{for(await e.queue(o,{__healthCheck:!0,correlationId:i},{specVersion:1,deploymentId:n?.deploymentId});Date.now()-s<r;)try{let t=(await e.streams.get($i(i),a)).getReader(),{chunks:n,timedOut:r}=await ta(t,500);if(r){try{t.cancel()}catch{}await new Promise(e=>setTimeout(e,100));continue}let o=na(n);if(o)return{...o,latencyMs:Date.now()-s};await new Promise(e=>setTimeout(e,100))}catch{await new Promise(e=>setTimeout(e,100))}return{healthy:!1,error:`Health check timed out after ${r}ms`}}catch(e){return{healthy:!1,error:e instanceof Error?e.message:String(e)}}}function ia(e,t){return new d(`Event pagination ${t} for workflow run "${e}".`,{code:u.WORLD_CONTRACT_ERROR})}function aa(e,t,n){if(t){if(n.has(t))throw ia(e,`did not advance`);n.add(t)}}function oa(e,t,n){for(let r of n)t.has(r.eventId)||(t.add(r.eventId),e.push(r))}function sa(e,t,n,r){if(t){if(n===null)throw ia(e,`returned more pages without a cursor`);if(r.has(n))throw ia(e,`repeated a cursor`)}}function ca(e,t,n){return t!==null&&!n&&d.is(e)&&e.status===400}async function la(e,t){let n=t!==void 0;return Ar(n?`workflow.loadNewEvents`:`workflow.loadEvents`,async r=>{r?.setAttributes({...On(e)});let i=[],a=new Set,o=new Set,s=t??null,c=!0,l=0,u=!1,d=await I(),f=Date.now();for(;c;){let t=Date.now(),r=s;aa(e,r,o);let f;try{f=await d.events.list({runId:e,pagination:{sortOrder:`asc`,cursor:r??void 0}})}catch(t){if(ca(t,r,u)){J.warn(`Event cursor was rejected; retrying with a full event reload.`,{workflowRunId:e}),i.length=0,a.clear(),o.clear(),s=null,u=!0;continue}throw t}oa(i,a,f.data),c=f.hasMore,sa(e,c,f.cursor,o),s=f.cursor??s,l++,J.debug(`Loaded event page`,{workflowRunId:e,incremental:n,page:l,pageEvents:f.data.length,totalEvents:i.length,hasMore:c,pageMs:Date.now()-t})}return J.debug(`Event load complete`,{workflowRunId:e,incremental:n,totalEvents:i.length,pagesLoaded:l,totalMs:Date.now()-f}),r?.setAttributes({...jn(i.length),...gr(l)}),{events:i,cursor:s}})}const ua={"Access-Control-Allow-Origin":`*`,"Access-Control-Allow-Methods":`POST, OPTIONS, GET, HEAD`,"Access-Control-Allow-Headers":`Content-Type`};function da(e,t){return async n=>{let r=new URL(n.url);return r.searchParams.has(`__health`)?n.method===`OPTIONS`?new Response(null,{status:204,headers:ua}):new Response(JSON.stringify({healthy:!0,endpoint:r.pathname,specVersion:t??3,workflowCoreVersion:qi}),{status:200,headers:{"Content-Type":`application/json`,...ua}}):await e(n)}}async function fa(e,...t){let n=t[0];await Ar(`queue.publish`,{attributes:{...nr(`vercel-queue`),...rr(n),...ar(`publish`),...br(`vercel-queue`),...xr(`vercel-queue`),...Sr(`vqs`),...Cr(`publish`)},kind:await Pr(`PRODUCER`)},async n=>{let{messageId:r}=await e.queue(...t);r&&n?.setAttributes(ir(r))})}function pa(e){if(e.requestedAt)try{return or(Date.now()-e.requestedAt.getTime())}catch{return}}function ma(e,t){let n;return()=>(n||=(async()=>{let n=await e.getEncryptionKeyForRun?.(t);return n?await Ft(n):void 0})(),n)}function ha(t){import(`./functions-DuPjIvMH.js`).then(t=>e(t.default,1)).then(({waitUntil:e})=>{e(t)})}function ga(e,t){ha(e.catch(e=>{if(!(e?.name===`AbortError`||e?.name===`ResponseAborted`))try{t(e)}catch{}}))}async function _a(e){let t=e();return ha(t.catch(()=>{})),t}var va=t({getHookByToken:()=>ba,resumeHook:()=>xa,resumeWebhook:()=>Sa});async function ya(e){let t=await I(),n=await t.hooks.getByToken(e),r=await t.runs.get(n.runId),i=await t.getEncryptionKeyForRun?.(r),a=i?await Ft(i):void 0;return n.metadata!==void 0&&(n.metadata=await Pi(n.metadata,n.runId,a)),{hook:n,run:r,encryptionKey:a}}async function ba(e){let{hook:t}=await ya(e);return t}async function xa(e,t,n){return await _a(()=>Ar(`hook.resume`,async r=>{let i=await I();try{let a,o,s;if(typeof e==`string`){let t=await ya(e);a=t.hook,o=t.run,s=n??t.encryptionKey}else if(a=e,o=await i.runs.get(a.runId),n)s=n;else{let e=await i.getEncryptionKeyForRun?.(o);s=e?await Ft(e):void 0}r?.setAttributes({...cr(a.token),...lr(a.hookId),...On(a.runId)});let c=o.executionContext?.workflowCoreVersion,{supportedFormats:l}=Ki(typeof c==`string`?c:void 0);l.has(V.ENCRYPTED)||(s=void 0);let u=[],d=ee(a.specVersion),f=await Fi(t,a.runId,s,u,globalThis,d);ga(Promise.all(u),e=>{e!==void 0&&J.warn(`Background flush of hook payload ops failed`,{workflowRunId:a.runId,hookId:a.hookId,error:e instanceof Error?e.message:String(e)})}),await i.events.create(a.runId,{eventType:`hook_received`,specVersion:3,correlationId:a.hookId,eventData:{...d?{}:{token:a.token},payload:f}},{v1Compat:d}),r?.setAttributes({...En(o.workflowName)});let p=o.executionContext?.traceCarrier;if(p){let e=await Mr(p);e&&r?.addLink?.({context:e})}return await i.queue(Yi(o.workflowName),{runId:a.runId,traceCarrier:o.executionContext?.traceCarrier??void 0},{deploymentId:o.deploymentId,specVersion:o.specVersion??1}),a}catch(t){throw r?.setAttributes({...cr(typeof e==`string`?e:e.token),...ur(!1)}),t}}))}async function Sa(e,t){let{hook:n,encryptionKey:r}=await ya(e);if(n.isWebhook===!1)throw new v(e);let i,a;if(n.metadata&&typeof n.metadata==`object`&&`respondWith`in n.metadata)if(n.metadata.respondWith===`manual`){let{readable:e,writable:n}=new TransformStream;a=e,t[ae]=n}else if(n.metadata.respondWith instanceof Response)i=n.metadata.respondWith;else throw new b(`Invalid \`respondWith\` value: ${n.metadata.respondWith}`,{slug:_.WEBHOOK_INVALID_RESPOND_WITH_VALUE});else i=new Response(null,{status:202});if(await xa(n,t,r),a){let e=a.getReader(),t=await e.read();t.value&&(i=t.value),e.cancel()}if(!i)throw new b(`Workflow run did not send a response`,{slug:_.WEBHOOK_RESPONSE_NOT_SENT});return i}export{ir as $,Ai as A,kn as At,J as B,P as Bt,hi as C,Fn as Ct,Pi as D,Dn as Dt,zi as E,En as Et,ti as F,Tn as Ft,Ar as G,Vr as H,Bt as Ht,Zr as I,wn as It,sr as J,Or as K,ei as L,Kt as Lt,ii as M,Rn as Mt,ri as N,Pn as Nt,Li as O,Nn as Ot,X as P,Bn as Pt,rr as Q,Qr as R,Gt as Rt,ji as S,In as St,si as T,zn as Tt,Ir as U,Ft as Ut,Br as V,F as Vt,Er as W,wr as X,Tr as Y,hr as Z,Ri as _,qn as _t,_a as a,Jn as at,Fi as b,Mn as bt,ea as c,Xn as ct,ma as d,Gn as dt,ar as et,Qi as f,Vn as ft,Q as g,tr as gt,qi as h,er as ht,ga as i,yr as it,Mi as j,An as jt,Bi as k,On as kt,ra as l,Qn as lt,da as m,$n as mt,xa as n,_r as nt,pa as o,Un as ot,fa as p,Yn as pt,Lr as q,Sa as r,vr as rt,Yi as s,Zn as st,ba as t,nr as tt,la as u,Hn as ut,Ni as v,Kn as vt,wi as w,jn as wt,ki as x,Ln as xt,Ii as y,Wn as yt,Xr as z,I as zt};
@@ -1 +0,0 @@
1
- import{i as e}from"./dist-6a3viBXZ.js";import{H as t,W as n,at as r,h as i}from"./symbols-BUTtwS7j.js";function a(r,i={}){if(typeof r!=`object`||!r||Array.isArray(r))throw new e(`experimental_setAttributes requires a plain object, got ${r===null?`null`:Array.isArray(r)?`array`:typeof r}`);let a=Object.entries(r).map(([e,t])=>({key:e,value:t===void 0?null:t}));if(a.length===0)return a;let o=i.allowReservedAttributes===!0;try{n(a,{allowReservedAttributes:o})}catch(n){throw n instanceof t?new e(n.message):n}return a}async function o(e){let t=globalThis[i];return t||r(`sleep()`,`https://workflow-sdk.dev/docs/api-reference/workflow/sleep`,o),t(e)}export{a as n,o as t};