experimental-ash 0.24.1 → 0.24.2

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 (126) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/src/chunks/authored-module-loader-DcCfCiBm.js +4 -0
  3. package/dist/src/chunks/client-DLHAGI2g.js +4 -0
  4. package/dist/src/chunks/dev-authored-source-watcher-CBID_Dwh.js +1 -0
  5. package/dist/src/chunks/{errors-DsO9xmQL.js → errors-HYWjHxV6.js} +1 -1
  6. package/dist/src/chunks/{gray-matter-BxS7ZG-J.js → gray-matter-D-9jHwOT.js} +4 -4
  7. package/dist/src/chunks/host-zBy9FyyX.js +70 -0
  8. package/dist/src/chunks/{jsdist-M7JFZoA4.js → jsdist-BkeWZ7EZ.js} +61 -61
  9. package/dist/src/chunks/package-HUaeub_D.js +1 -0
  10. package/dist/src/chunks/{paths-jcVjBqc3.js → paths-CebY5GCi.js} +2 -2
  11. package/dist/src/chunks/{picocolors-Bq-tZK9u.js → picocolors-aAkqW4On.js} +1 -1
  12. package/dist/src/chunks/token-D98SQdvs.js +1 -0
  13. package/dist/src/chunks/{url-BVRhVE2O.js → url-JdCGA634.js} +1 -1
  14. package/dist/src/cli/commands/info.js +1 -1
  15. package/dist/src/cli/dev/environment.d.ts +16 -2
  16. package/dist/src/cli/dev/environment.js +1 -1
  17. package/dist/src/cli/dev/input-requests.js +1 -1
  18. package/dist/src/cli/dev/repl.js +3 -3
  19. package/dist/src/cli/dev/url.js +1 -1
  20. package/dist/src/cli/run.js +1 -1
  21. package/dist/src/cli/ui/output.js +1 -1
  22. package/dist/src/client/index.d.ts +1 -0
  23. package/dist/src/client/index.js +1 -0
  24. package/dist/src/compiled/.vendor-stamp.json +7 -6
  25. package/dist/src/compiled/@ai-sdk/anthropic/index.js +1 -1
  26. package/dist/src/compiled/@ai-sdk/google/index.js +1 -1
  27. package/dist/src/compiled/@ai-sdk/mcp/index.js +1 -1
  28. package/dist/src/compiled/@ai-sdk/openai/index.js +1 -1
  29. package/dist/src/compiled/@ai-sdk/otel/index.js +1 -1
  30. package/dist/src/compiled/@chat-adapter/slack/_slack-web-api.d.ts +7 -0
  31. package/dist/src/compiled/@chat-adapter/slack/index.d.ts +418 -109
  32. package/dist/src/compiled/@chat-adapter/slack/index.js +31 -27
  33. package/dist/src/compiled/@chat-adapter/slack/package.json +1 -1
  34. package/dist/src/compiled/@chat-adapter/state-memory/index.d.ts +8 -2
  35. package/dist/src/compiled/@chat-adapter/state-memory/index.js +1 -1
  36. package/dist/src/compiled/@chat-adapter/state-memory/package.json +1 -1
  37. package/dist/src/compiled/@opentelemetry/api/index.js +1 -1
  38. package/dist/src/compiled/@vercel/sandbox/index.js +19 -17
  39. package/dist/src/compiled/@vercel/sandbox/package.json +1 -1
  40. package/dist/src/compiled/@workflow/core/index.js +2 -2
  41. package/dist/src/compiled/@workflow/core/runtime.js +22 -22
  42. package/dist/src/compiled/@workflow/core/workflow.js +1 -1
  43. package/dist/src/compiled/@workflow/errors/index.js +1 -1
  44. package/dist/src/compiled/_chunks/node/auth-ZhCJAHxl.js +2 -0
  45. package/dist/src/compiled/_chunks/node/{dist-BdWHjlRQ.js → dist-BQYUcBqu.js} +31 -31
  46. package/dist/src/compiled/_chunks/node/{chunk-Dd2tEFlW.js → dist-BdTs18CF.js} +1 -1
  47. package/dist/src/compiled/_chunks/node/retry-DkR2H1Y0.js +1 -0
  48. package/dist/src/compiled/_chunks/node/token-CoIbMZkq.js +1 -0
  49. package/dist/src/compiled/_chunks/node/{version-BMyZn3Y2.js → version-D4IYmfaS.js} +1 -1
  50. package/dist/src/compiled/_chunks/workflow/coerce-BhzIW-Hm.js +1 -0
  51. package/dist/src/compiled/_chunks/workflow/{compat-CIROS3w4.js → compat-DcEvieoj.js} +1 -1
  52. package/dist/src/compiled/_chunks/workflow/{core-DOVmxHH8.js → core-XWIi7wKc.js} +3 -3
  53. package/dist/src/compiled/_chunks/workflow/{dist-C7wPwOI9.js → dist-DO14ZaQj.js} +1 -1
  54. package/dist/src/compiled/_chunks/workflow/{dist-CpUQh3NH.js → dist-DZZY3Zyp.js} +1 -1
  55. package/dist/src/compiled/_chunks/workflow/resume-hook-DOMbNs-S.js +51 -0
  56. package/dist/src/compiled/_chunks/workflow/{schemas-DFZoEyCn.js → schemas-DmgDnhW3.js} +1 -1
  57. package/dist/src/compiled/_chunks/workflow/sleep-CRjce49s.js +1 -0
  58. package/dist/src/compiled/_chunks/workflow/{src-ClRYdO4-.js → src-B54rYDvB.js} +1 -1
  59. package/dist/src/compiled/_chunks/workflow/symbols-D8paKc8P.js +9 -0
  60. package/dist/src/compiled/_chunks/workflow/{token-CsNmv7KW.js → token-D9z1dMB6.js} +1 -1
  61. package/dist/src/compiled/_chunks/workflow/{token-j5Cl4rrs.js → token-DV7rQw_t.js} +1 -1
  62. package/dist/src/compiled/chat/index.d.ts +6 -3143
  63. package/dist/src/compiled/chat/index.js +1 -1
  64. package/dist/src/compiled/chat/{jsx-runtime-DxGwoLu2.d.ts → jsx-runtime-CFq1K_Ve.d.ts} +1 -1
  65. package/dist/src/compiled/chat/package.json +1 -1
  66. package/dist/src/compiled/jose/index.js +2 -2
  67. package/dist/src/compiled/jsonc-parser/LICENSE.md +21 -0
  68. package/dist/src/compiled/jsonc-parser/index.d.ts +13 -0
  69. package/dist/src/compiled/jsonc-parser/index.js +15 -0
  70. package/dist/src/compiled/jsonc-parser/package.json +7 -0
  71. package/dist/src/compiled/just-bash/index.js +773 -773
  72. package/dist/src/compiled/just-bash/package.json +1 -1
  73. package/dist/src/compiled/turndown/index.js +1 -1
  74. package/dist/src/compiled/zod/index.js +1 -1
  75. package/dist/src/compiled/zod-validation-error/index.js +1 -1
  76. package/dist/src/evals/cli/eval.js +1 -1
  77. package/dist/src/evals/loaders/yaml.js +1 -1
  78. package/dist/src/evals/runner/discover.js +1 -1
  79. package/dist/src/evals/runner/execute-suite.js +1 -1
  80. package/dist/src/evals/runner/reporters/console.js +1 -1
  81. package/dist/src/evals/scorers/autoevals-client.js +1 -1
  82. package/dist/src/evals/scorers/autoevals.js +1 -1
  83. package/dist/src/evals/scorers/json.js +1 -1
  84. package/dist/src/evals/scorers/run.js +1 -1
  85. package/dist/src/evals/scorers/sql.js +1 -1
  86. package/dist/src/evals/scorers/text.js +1 -1
  87. package/dist/src/internal/application/package.js +1 -1
  88. package/dist/src/internal/authored-asset-import-plugin.d.ts +5 -0
  89. package/dist/src/internal/authored-asset-import-plugin.js +141 -0
  90. package/dist/src/internal/authored-module-bundle.d.ts +4 -0
  91. package/dist/src/internal/authored-module-bundle.js +19 -0
  92. package/dist/src/internal/authored-module-loader.d.ts +6 -0
  93. package/dist/src/internal/authored-module-loader.js +114 -125
  94. package/dist/src/internal/authored-package-tsconfig-paths.d.ts +9 -0
  95. package/dist/src/internal/authored-package-tsconfig-paths.js +209 -0
  96. package/dist/src/internal/nitro/host/channel-routes.d.ts +9 -2
  97. package/dist/src/internal/nitro/host/dev-authored-source-watcher.d.ts +12 -1
  98. package/dist/src/internal/nitro/host/dev-authored-source-watcher.js +19 -3
  99. package/dist/src/internal/nitro/host/schedule-task-routes.d.ts +7 -3
  100. package/dist/src/internal/nitro/host/start-development-server.js +2 -0
  101. package/package.json +17 -17
  102. package/dist/src/chunks/authored-module-loader-XcFLnl49.js +0 -2
  103. package/dist/src/chunks/client-nshDsWNF.js +0 -4
  104. package/dist/src/chunks/dev-authored-source-watcher-CApkYfee.js +0 -7
  105. package/dist/src/chunks/host-3sfHdmXL.js +0 -65
  106. package/dist/src/chunks/package-DmsQgn4v.js +0 -1
  107. package/dist/src/chunks/prewarm-DslujbK5.js +0 -6
  108. package/dist/src/chunks/token-DtoyQZy2.js +0 -1
  109. package/dist/src/chunks/token-util-CHjOk3A7.js +0 -1
  110. package/dist/src/compiled/_chunks/node/auth-vbe4XEEK.js +0 -2
  111. package/dist/src/compiled/_chunks/node/dist-DMSq2ehP.js +0 -1
  112. package/dist/src/compiled/_chunks/node/retry-BOcy5BbJ.js +0 -1
  113. package/dist/src/compiled/_chunks/node/token-D-BTJHoU.js +0 -1
  114. package/dist/src/compiled/_chunks/workflow/coerce-Dh0wa7P9.js +0 -1
  115. package/dist/src/compiled/_chunks/workflow/context-errors-Bbvvp-li.js +0 -6
  116. package/dist/src/compiled/_chunks/workflow/dist-C_oiE-l7.js +0 -40
  117. package/dist/src/compiled/_chunks/workflow/resume-hook-C3VWUPii.js +0 -12
  118. package/dist/src/compiled/_chunks/workflow/sleep-QTkC1VFe.js +0 -1
  119. package/dist/src/compiled/_chunks/workflow/symbols-QezhMuLg.js +0 -4
  120. package/dist/src/compiled/chat/_workflow-serde.d.ts +0 -5
  121. /package/dist/src/chunks/{chunk-8L7ocgPr.js → chunk-DSjMdhoD.js} +0 -0
  122. /package/dist/src/chunks/{guards-CjJ3lmju.js → guards-26p6sOw3.js} +0 -0
  123. /package/dist/src/chunks/{input-requests-BsBi7_5K.js → input-requests-DJiy6dG9.js} +0 -0
  124. /package/dist/src/chunks/{runtime-model-BWu6M_hq.js → runtime-model-Dh0Nz64z.js} +0 -0
  125. /package/dist/src/chunks/{types-MZUhN0Zy.js → types-DDA2QUED.js} +0 -0
  126. /package/dist/src/compiled/_chunks/workflow/{chunk-DHhdAPOb.js → chunk-DSjMdhoD.js} +0 -0
@@ -0,0 +1,70 @@
1
+ import{n as e}from"./chunk-DSjMdhoD.js";import{C as t,D as n,E as r,S as i,T as a,_ as o,a as s,b as c,c as l,d as u,f as d,g as f,h as p,i as ee,l as te,m as ne,o as re,r as ie,u as ae,v as oe,w as se}from"./paths-CebY5GCi.js";import{a as ce,i as le,n as ue,r as de,t as fe}from"./authored-module-loader-DcCfCiBm.js";import{t as pe}from"./errors-HYWjHxV6.js";import{a as m,i as h,n as me,o as he,r as ge,t as g}from"./package-HUaeub_D.js";import{g as _,m as _e,p as ve}from"./types-DDA2QUED.js";import{loadDevelopmentEnvironmentFiles as ye}from"../cli/dev/environment.js";import{builtinModules as be}from"node:module";import{dirname as v,extname as xe,isAbsolute as Se,join as y,posix as Ce,relative as b,resolve as x,sep as we}from"node:path";import{cp as S,mkdir as C,readFile as w,readdir as T,realpath as E,rename as D,rm as O,symlink as Te,writeFile as k}from"node:fs/promises";import{createHash as Ee,randomUUID as De}from"node:crypto";import{existsSync as A,readFileSync as Oe}from"node:fs";import{fileURLToPath as ke}from"node:url";import{Buffer as Ae}from"node:buffer";import{build as je,copyPublicAssets as Me,createDevServer as Ne,createNitro as Pe,prepare as Fe,prerender as Ie}from"nitro/builder";const Le=`ash-cache.json`;async function Re(e){let t=await ze(e),n=g().version;t!==null&&t===n||await O(e,{force:!0,recursive:!0})}async function j(e){await C(e,{recursive:!0}),await k(y(e,Le),`${JSON.stringify({ashVersion:g().version},null,2)}\n`)}async function ze(e){try{let t=JSON.parse(await w(y(e,Le),`utf8`));return typeof t.ashVersion==`string`?t.ashVersion:null}catch(e){return e instanceof Error&&`code`in e&&e.code,null}}const Be=new Set([`__builtin_response_array_buffer`,`__builtin_response_json`,`__builtin_response_text`]);async function Ve(e){if(e.mode===!1)return{code:e.source,workflowManifest:{}};let t=await He(e.filename,e.source),n=We(t);if(n.length===0)return{code:e.source,workflowManifest:{}};let r=e.moduleSpecifier??`./${ot(e.filename)}`,i=e.stableModuleSpecifier??r,a={},o=[],s=[],c=!1;for(let t of n){if(t.directive===`use step`){let n=st(r,t.name);a.steps??={};let i=a.steps[e.filename]??={};if(i[t.name]={stepId:n},e.mode===`workflow`){let e=t.exportPrefix.length>0?`export `:``;o.push({end:t.rangeEnd,start:t.rangeStart,text:`${e}var ${t.name} = globalThis[Symbol.for("WORKFLOW_USE_STEP")](${JSON.stringify(n)});`})}else o.push({end:t.directiveEnd,start:t.directiveStart,text:``}),e.mode===`step`?(c=!0,s.push(`registerStepFunction(${JSON.stringify(n)}, ${t.name});`)):s.push(`${t.name}.stepId = ${JSON.stringify(n)};`);continue}let n=`workflow//${e.stableWorkflowNames?.has(t.name)===!0?i:r}//${t.name}`;a.workflows??={};let l=a.workflows[e.filename]??={};l[t.name]={workflowId:n},e.mode===`workflow`?(o.push({end:t.directiveEnd,start:t.directiveStart,text:``}),s.push(`${t.name}.workflowId = ${JSON.stringify(n)};`),s.push(`globalThis.__private_workflows.set(${JSON.stringify(n)}, ${t.name});`)):(o.push({end:t.directiveEnd,start:t.directiveStart,text:`throw new Error(${JSON.stringify(`You attempted to execute workflow ${t.name} function directly. To start a workflow, use start(${t.name}) from workflow/api`)});`}),s.push(`${t.name}.workflowId = ${JSON.stringify(n)};`))}let l=`/**__internal_workflows${JSON.stringify(a)}*/;`,u=n.some(e=>e.directive===`use workflow`);if(e.mode===`workflow`&&!u)return{code:`${l}\n${Ue(e.source,t,n,r)}`,workflowManifest:a};let d=Ye(e.source,o),f=e.mode===`workflow`?await Xe(e.filename,d):d;return{code:`${c?`import { registerStepFunction } from "workflow/internal/private";\n${l}\n`:`${l}\n`}${f}${s.length>0?`\n${s.join(`
2
+ `)}\n`:``}`,workflowManifest:a}}async function He(e,t){let{parseAst:n}=await ce();return n(t,{astType:`ts`,lang:at(e),range:!0,sourceType:`module`},e)}function Ue(e,t,n,r){let i=Ze(e,t),a=n.filter(e=>e.directive===`use step`).map(e=>{let t=e.exportPrefix.length>0?`export `:``,n=st(r,e.name);return`${t}var ${e.name} = globalThis[Symbol.for("WORKFLOW_USE_STEP")](${JSON.stringify(n)});`}),o=[...i,...a];return o.length>0?`${o.join(`
3
+ `)}\n`:``}function We(e){let t=[];for(let n of e.body??[]){let e=Ge(n);if(e===null)continue;let r=e.fn,i=r.id?.name,a=qe(r.body);if(r.async!==!0||i===void 0||a===void 0)continue;let o=Je(a[0]);o!==null&&t.push({directive:o.value,directiveEnd:o.end,directiveStart:o.start,exportPrefix:e.exported?`export `:``,name:i,rangeEnd:e.end,rangeStart:e.start})}return t}function Ge(e){return e.type===`FunctionDeclaration`?Ke(e,!1,e):e.type!==`ExportNamedDeclaration`||e.declaration?.type!==`FunctionDeclaration`?null:Ke(e.declaration,!0,e)}function Ke(e,t,n){return e.start===void 0||e.end===void 0||n.start===void 0||n.end===void 0?null:{end:n.end,exported:t,fn:e,start:n.start}}function qe(e){return e===void 0||Array.isArray(e)?e:e.body}function Je(e){let t=e?.directive??(e?.type===`ExpressionStatement`&&e.expression?.type===`Literal`?e.expression.value:void 0);return t!==`use workflow`&&t!==`use step`||e?.start===void 0||e.end===void 0?null:{end:e.end,start:e.start,value:t}}function Ye(e,t){let n=``,r=0;for(let i of[...t].sort((e,t)=>e.start-t.start))n+=e.slice(r,i.start),n+=i.text,r=i.end;return n+e.slice(r)}async function Xe(e,t){let n=await He(e,t),r=tt(n),i=[];for(let e of n.body??[]){if(e.type!==`ImportDeclaration`||e.start===void 0||e.end===void 0)continue;let n=et(e);n.length>0&&n.every(e=>!r.has(e))&&i.push({end:it(t,e.end),start:e.start,text:``})}return i.length>0?Ye(t,i):t}function Ze(e,t){let n=[];for(let r of t.body??[])r.type===`ExportNamedDeclaration`&&r.declaration?.type===`VariableDeclaration`&&r.declaration.kind===`const`&&r.start!==void 0&&r.end!==void 0&&(r.declaration.declarations??[]).every(Qe)&&n.push(e.slice(r.start,r.end).trim());return n}function Qe(e){return $e(e.init)}function $e(e){return e==null?!1:e.type===`Literal`?e.value===null||typeof e.value==`boolean`||typeof e.value==`number`||typeof e.value==`string`:e.type===`TSAsExpression`||e.type===`TSSatisfiesExpression`||e.type===`TSNonNullExpression`||e.type===`TSTypeAssertion`?$e(e.expression):e.type===`UnaryExpression`&&e.argument?.type===`Literal`?typeof e.argument.value==`number`:!1}function et(e){return e.importKind===`type`?[]:(e.specifiers??[]).filter(e=>e.importKind!==`type`).map(e=>e.local?.name).filter(e=>e!==void 0)}function tt(e){let t=new Set;return nt(e,e=>{e.type===`Identifier`&&typeof e.name==`string`&&t.add(e.name)}),t}function nt(e,t){if(!(e.type===`ImportDeclaration`||e.type?.startsWith(`TS`))){t(e);for(let n of Object.values(e))if(Array.isArray(n))for(let e of n)rt(e)&&nt(e,t);else rt(n)&&nt(n,t)}}function rt(e){return typeof e==`object`&&!!e&&typeof e.type==`string`}function it(e,t){let n=t;for(;n<e.length&&(e[n]===` `||e[n]===` `);)n+=1;return e[n]===`\r`&&e[n+1]===`
4
+ `?n+2:e[n]===`
5
+ `?n+1:n}function at(e){return e.endsWith(`.tsx`)?`tsx`:e.endsWith(`.jsx`)?`jsx`:/\.[cm]?ts$/.test(e)?`ts`:`js`}function ot(e){return e.replace(/\.(?:[cm]?[jt]sx?)$/,``)}function st(e,t){return Be.has(t)?t:`step//${e}//${t}`}const ct={type:`queue/v2beta`,topic:`__wkf_workflow_*`,consumer:`default`,retryAfterSeconds:5,initialDelaySeconds:0},M=new Map,lt=new Map;async function ut(e,t,n,r,i,a=re){let o=i??process.cwd(),{moduleSpecifier:s,stableModuleSpecifier:c}=pt(r===void 0?Se(e)?e:y(o,e):r,o);return Ve({filename:e,mode:n,moduleSpecifier:s,source:t,stableModuleSpecifier:c,stableWorkflowNames:a})}function dt(e){return{hasSerde:e.includes(`workflow.serde`)||e.includes(`@serde`)||e.includes(`workflowSerde`)||e.includes(`__workflow_serde`),hasUseStep:/["']use step["']/.test(e),hasUseWorkflow:/["']use workflow["']/.test(e)}}function ft(e,t){let n=_t(e),r=!n&&yt(e,t);if(n||r){let n=mt(e);if(n!==null){let i=vt(t).has(n.name);if(!(r||i))return{importPath:bt(e,t),isPackage:!1};let a=ht(e,n);return a?{importPath:`${n.name}${a}`,isPackage:!0}:Ct(e,n)?{importPath:n.name,isPackage:!0}:{importPath:bt(e,t),isPackage:!1}}}return{importPath:bt(e,t),isPackage:!1}}function pt(e,t){let n=_t(e),r=!n&&yt(e,t);if(!n&&!r)return{moduleSpecifier:void 0,stableModuleSpecifier:void 0};let i=mt(e);if(i===null)return{moduleSpecifier:void 0,stableModuleSpecifier:void 0};let a=ht(e,i),o=a?`${i.name}${a}`:i.name;return{moduleSpecifier:`${o}@${i.version}`,stableModuleSpecifier:o}}function mt(e){let t=v(e),n=[];for(;t!==v(t);){let e=M.get(t);if(e!==void 0){for(let t of n)M.set(t,e);return e}n.push(t);let r=y(t,`package.json`);if(A(r))try{let e=JSON.parse(Oe(r,`utf8`));if(typeof e.name==`string`&&typeof e.version==`string`){let r={dir:t,exports:e.exports,main:e.main,module:e.module,name:e.name,version:e.version};M.set(t,r);for(let e of n)M.set(e,r);return r}}catch{}t=v(t)}for(let e of n)M.set(e,null);return null}function ht(e,t){if(t.exports===null||typeof t.exports!=`object`||Array.isArray(t.exports))return``;let n=e.replace(/\\/g,`/`),r=t.dir.replace(/\\/g,`/`),i=n.startsWith(`${r}/`)?`./${n.substring(r.length+1)}`:null;if(i===null)return``;for(let[e,n]of Object.entries(t.exports)){let t=N(n);if(t!==null&&gt(t)===i)return e===`.`?``:e.substring(1)}return``}function N(e){if(typeof e==`string`)return e;if(Array.isArray(e)){for(let t of e){let e=N(t);if(e!==null)return e}return null}if(typeof e==`object`&&e)for(let t of[`workflow`,`default`,`require`,`import`,`node`]){let n=e[t],r=N(n);if(r!==null)return r}return null}function gt(e){return e.startsWith(`./`)?e:`./${e}`}function _t(e){return e.split(we).join(`/`).includes(`/node_modules/`)}function vt(e){let t=lt.get(e);if(t!==void 0)return t;let n=new Set,r=y(e,`package.json`);if(A(r))try{let e=JSON.parse(Oe(r,`utf8`));for(let t of[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`]){let r=e[t];if(typeof r==`object`&&r&&!Array.isArray(r))for(let e of Object.keys(r))n.add(e)}}catch{}return lt.set(e,n),n}function yt(e,t){if(_t(e))return!1;let n=mt(e);return n===null||x(n.dir)===x(t)?!1:vt(t).has(n.name)}function bt(e,t){let n=t.replace(/\\/g,`/`),r=e.replace(/\\/g,`/`),i=r.startsWith(`${n}/`)?r.substring(n.length+1):b(t,e).replace(/\\/g,`/`);return i.startsWith(`.`)||(i=`./${i}`),i}function xt(e){if(typeof e==`string`||Array.isArray(e))return!0;if(typeof e!=`object`||!e)return!1;let t=Object.keys(e);return t.length>0&&t.every(e=>!e.startsWith(`.`))?!0:`.`in e}function St(e){let t=e.replace(/\\/g,`/`);return t.startsWith(`./`)?t.substring(2):t.startsWith(`/`)?t.substring(1):t}function Ct(e,t){let n=e.replace(/\\/g,`/`),r=t.dir.replace(/\\/g,`/`);if(!n.startsWith(`${r}/`))return!1;let i=n.substring(r.length+1);if(t.exports!==void 0){let e;if(t.exports!==null&&typeof t.exports==`object`&&`.`in t.exports)e=t.exports[`.`];else if(xt(t.exports))e=t.exports;else return!1;let n=N(e);return n!==null&&St(n)===i}return[t.module,t.main,`index.js`,`index.mjs`,`index.cjs`,`index.ts`,`index.mts`,`index.cts`].flatMap(e=>typeof e==`string`?[St(e)]:[]).includes(i)}const wt=`\0ash-workflow-entry`,Tt=new Set([`server-only`,`client-only`,`next/dist/compiled/server-only`,`next/dist/compiled/client-only`]);new Set([...be,...be.map(e=>`node:${e}`)]);const Et=new Set([`.ts`,`.tsx`,`.mts`,`.cts`,`.js`,`.jsx`,`.mjs`,`.cjs`]),Dt=new Set([`node_modules`,`.git`,`.next`,`.nuxt`,`.output`,`.vercel`,`.workflow-data`,`.workflow-vitest`,`.well-known`,`.svelte-kit`,`.turbo`,`.cache`,`.yarn`,`.pnpm-store`]);async function Ot(e){let t=[];async function n(e){let r;try{r=await T(e,{withFileTypes:!0})}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return;throw e}for(let i of r){if(i.isDirectory()){Dt.has(i.name)||await n(y(e,i.name));continue}if(!i.isFile())continue;let r=i.name.match(/\.[^.]+$/)?.[0];r!==void 0&&Et.has(r)&&t.push(y(e,i.name))}}return await n(e),t}function kt(e,t){let{importPath:n,isPackage:r}=ft(e,t);return r?`import ${JSON.stringify(n)};`:`import ${JSON.stringify(Rt(t,e))};`}function At(e){return{name:`ash-workflow-virtual-entry`,resolveId(e){if(e===`\0ash-workflow-entry`)return{id:e}},load(t){if(t===`\0ash-workflow-entry`)return{code:e,moduleSideEffects:!0,moduleType:`js`}}}}function jt(){return{name:`ash-workflow-pseudo-packages`,resolveId(e){if(Tt.has(e))return{id:`\0ash-workflow-pseudo-package:${e}`}},load(e){if(e.startsWith(`\0ash-workflow-pseudo-package:`))return{code:``,moduleType:`js`}}}}function Mt(e,t={}){return{name:`ash-package-imports`,resolveId(n){let r=n.match(/^#compiled\/(.+)$/)?.[1];if(r!==void 0)return t.workflowCondition===!0&&r===`@workflow/core/index.js`?zt([y(e,`src`,`internal`,`workflow-bundle`,`workflow-core-shim.ts`),y(e,`dist`,`src`,`internal`,`workflow-bundle`,`workflow-core-shim.js`)]):zt([y(e,`.generated`,`compiled`,r),y(e,`dist`,`src`,`compiled`,r)]);let i=n.match(/^#(.+)\.js$/)?.[1];if(i!==void 0)return zt([`.ts`,`.tsx`,`.mts`,`.cts`,`.js`,`.jsx`,`.mjs`,`.cjs`].flatMap(t=>[y(e,`src`,`${i}${t}`),y(e,`dist`,`src`,`${i}${t}`)]))}}}function Nt(e){let t=new Set(e.sideEffectFiles?.map(e=>e.replaceAll(`\\`,`/`))??[]);return{name:`ash-workflow-transform`,async load(n){if(!Wt(n))return;let r=await w(n,`utf8`),i=await ut(Ut(e.workingDir,n),r.replace(/require\(\s*(['"])server-only\1\s*\)/g,`void 0`).replace(/require\(\s*(['"])client-only\1\s*\)/g,`void 0`),e.mode??`workflow`,n,e.projectRoot);return Vt(e.manifest,i.workflowManifest),{code:i.code,map:null,moduleSideEffects:t.has(n.replaceAll(`\\`,`/`))||void 0}}}}async function Pt(e){let t=`// biome-ignore-all lint: generated file
6
+ /* eslint-disable */
7
+ import { workflowEntrypoint } from 'workflow/runtime';
8
+
9
+ const workflowCode = \`${(e.code.endsWith(`
10
+ `)?e.code:`${e.code}\n`).replace(/[\\`$]/g,`\\$&`)}\`;
11
+
12
+ export const POST = workflowEntrypoint(workflowCode);`;if(!e.bundleFinalOutput){await Bt(e.outfile,t);return}let n=le(await de({cwd:e.workingDir,input:wt,external:e=>e===`@aws-sdk/credential-provider-web-identity`,platform:`node`,plugins:[At(t)],write:!1,output:{comments:!1,format:e.format,sourcemap:!1}}),`final workflow bundle for "${e.outfile}"`);await Bt(e.outfile,n.code)}function Ft(e){let t={};for(let[n,r]of Object.entries(e??{})){t[n]={};for(let[e,i]of Object.entries(r))t[n][e]={stepId:i.stepId}}return t}function It(e){let t={};for(let[n,r]of Object.entries(e??{})){t[n]={};for(let[e,i]of Object.entries(r))t[n][e]={graph:{edges:[],nodes:[]},workflowId:i.workflowId}}return t}function Lt(e){let t={};for(let[n,r]of Object.entries(e??{})){t[n]={};for(let[e,i]of Object.entries(r))t[n][e]={classId:i.classId}}return t}function Rt(e,t){let n=b(e,t).replaceAll(`\\`,`/`);return n.startsWith(`./`)||n.startsWith(`../`)?n:`./${n}`}function zt(e){for(let t of e)if(A(t))return{id:x(t)}}async function Bt(e,t){await C(v(e),{recursive:!0});let n=`${e}.${process.pid}.${Date.now()}.tmp`;await k(n,t),await D(n,e)}function Vt(e,t){e.steps=Ht(e.steps,t.steps),e.workflows=Ht(e.workflows,t.workflows),e.classes=Ht(e.classes,t.classes)}function Ht(e,t){if(t===void 0)return e;let n={...e};for(let[e,r]of Object.entries(t))n[e]={...n[e],...r};return n}function Ut(e,t){let n=t.replaceAll(`\\`,`/`),r=b(e.replaceAll(`\\`,`/`),n).replaceAll(`\\`,`/`);return r.startsWith(`../`)&&(r=r.split(`/`).filter(e=>e!==`..`).join(`/`)),r}function Wt(e){return/\.(?:[cm]?[jt]sx?)$/.test(e)}async function P(e,t){let n=`${e}.tmp-${process.pid}-${Date.now().toString(36)}`;await k(n,t),await D(n,e)}async function Gt(e){let t=[...e.discoveredEntries.discoveredSteps].sort(),n=new Set(t),r=[...e.discoveredEntries.discoveredSerdeFiles].sort().filter(e=>!n.has(e)),i=await qt({projectRoot:e.projectRoot,stepFiles:t,serdeOnlyFiles:r,workingDir:e.workingDir}),a=v(e.outfile),o=[`// Generated by Ash. Do not edit by hand.`,...Kt({builtinsImportSpecifier:e.builtinsPath===void 0?`workflow/internal/builtins`:F({outfileDirectory:a,preferAbsoluteFileImports:e.preferAbsoluteFileImports??!1,targetPath:e.builtinsPath}),outfileDirectory:a,preferAbsoluteFileImports:e.preferAbsoluteFileImports??!1,serdeOnlyFiles:r,stepFiles:t}),`export const __steps_registered = true;`,``].join(`
13
+ `);return await C(a,{recursive:!0}),await Zt(e.outfile)!==o&&await k(e.outfile,o),i}function Kt(e){return[e.builtinsImportSpecifier,...e.stepFiles.map(t=>F({outfileDirectory:e.outfileDirectory,preferAbsoluteFileImports:e.preferAbsoluteFileImports,targetPath:t})),...e.serdeOnlyFiles.map(t=>F({outfileDirectory:e.outfileDirectory,preferAbsoluteFileImports:e.preferAbsoluteFileImports,targetPath:t}))].map(e=>`import ${JSON.stringify(e)};`)}function F(e){return e.preferAbsoluteFileImports?se(e.targetPath):Xt(e.outfileDirectory,e.targetPath)}async function qt(e){let t={},n=[...e.stepFiles,...e.serdeOnlyFiles];for(let r of n){let n=await w(r,`utf8`);Jt(t,(await ut(Yt(e.workingDir,r),n,`step`,r,e.projectRoot)).workflowManifest)}return t}function Jt(e,t){e.steps=I(e.steps,t.steps),e.workflows=I(e.workflows,t.workflows),e.classes=I(e.classes,t.classes)}function I(e,t){if(t===void 0)return e;let n={...e};for(let[e,r]of Object.entries(t))n[e]={...n[e],...r};return n}function Yt(e,t){let n=t.replaceAll(`\\`,`/`),r=b(e.replaceAll(`\\`,`/`),n).replaceAll(`\\`,`/`);return r.startsWith(`../`)&&(r=r.split(`/`).filter(e=>e!==`..`).join(`/`)),r}function Xt(e,t){let n=b(e,t).replaceAll(`\\`,`/`);return n.startsWith(`.`)?n:`./${n}`}async function Zt(e){try{return await w(e,`utf8`)}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return null;throw e}}const Qt=`index.__ash_service_route_prefix.mjs`,$t=[`ash/`,`.well-known/workflow/`];function L(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function en(e){return $t.some(t=>e.startsWith(t))}function tn(e,t){return e.filter(nn).map(e=>an(e,t))}function nn(e){if(!L(e)||`handle`in e)return!0;let t=typeof e.src==`string`?e.src:``,n=typeof e.dest==`string`?e.dest:``;return R(t)||R(n)}function R(e){return e.includes(`/ash/v1`)||e.includes(`/.well-known/workflow/`)}function rn(e){return e.includes(`/ash/v1`)}function an(e,t){if(!L(e)||`handle`in e||typeof e.src!=`string`)return e;let n=rn(e.src)||typeof e.dest==`string`&&rn(e.dest),r={...e,src:on(e.src,t)};return n&&(r.dest=`/ash/__server`),r}function on(e,t){if(t===void 0||t===`/`||!R(e)||e.includes(t))return e;let n=t.endsWith(`/`)?t.slice(0,-1):t,r=n.replaceAll(`/`,`\\/`);return e.includes(r)?e:e.startsWith(`^(?:/`)?`^(?:${n}${e.slice(4)}`:e.startsWith(`^/`)?`^${n}${e.slice(1)}`:e.startsWith(`/`)?`${n}${e}`:e}async function sn(e,t){let n=y(e,`.vc-config.json`),r=y(e,Qt),i=JSON.parse(await w(n,`utf8`)),a=L(i)?i:{};await k(r,cn(t)),await k(n,`${JSON.stringify({...a,handler:Qt},null,2)}\n`)}function cn(e){return`
14
+ import { Server } from "node:http";
15
+
16
+ const SERVICE_PREFIX = ${JSON.stringify(ln(e))};
17
+ const PATCH_SYMBOL = Symbol.for("ash.service.route-prefix-strip.patch");
18
+
19
+ function stripServiceRoutePrefix(requestUrl) {
20
+ if (typeof requestUrl !== "string" || requestUrl === "*") {
21
+ return requestUrl;
22
+ }
23
+
24
+ const queryIndex = requestUrl.indexOf("?");
25
+ const rawPath = queryIndex === -1 ? requestUrl : requestUrl.slice(0, queryIndex);
26
+ const query = queryIndex === -1 ? "" : requestUrl.slice(queryIndex);
27
+ const path = rawPath.startsWith("/") ? rawPath : \`/\${rawPath}\`;
28
+
29
+ if (path === SERVICE_PREFIX) {
30
+ return \`/\${query}\`;
31
+ }
32
+
33
+ if (path.startsWith(\`\${SERVICE_PREFIX}/\`)) {
34
+ return path.slice(SERVICE_PREFIX.length) + query;
35
+ }
36
+
37
+ return path + query;
38
+ }
39
+
40
+ if (!globalThis[PATCH_SYMBOL]) {
41
+ globalThis[PATCH_SYMBOL] = true;
42
+ const originalEmit = Server.prototype.emit;
43
+ Server.prototype.emit = function patchedEmit(event, request, ...args) {
44
+ if (event === "request" && request && typeof request.url === "string") {
45
+ request.url = stripServiceRoutePrefix(request.url);
46
+ }
47
+
48
+ return originalEmit.call(this, event, request, ...args);
49
+ };
50
+ }
51
+
52
+ const originalModule = await import("./index.mjs");
53
+ const entrypoint = originalModule?.default ?? originalModule;
54
+
55
+ export default entrypoint;
56
+ `.trimStart()}function ln(e){let t=(e.startsWith(`/`)?e:`/${e}`).replace(/\/+$/,``);return t.length===0?`/`:t}const un=[`@mongodb-js/zstd`,`node-liblzma`],dn=[`@chat-adapter/slack`,`chat`];function fn(e){let t={};return pn(e)&&Object.assign(t,e),t.NODE_OPTIONS=`--experimental-require-module`,t}function pn(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}async function mn(e){await O(e,{force:!0,recursive:!0}),await C(e,{recursive:!0})}async function hn(e){try{return await E(e.sourcePath)}catch{return await E(e.fallbackPath)}}async function gn(e){let t=await hn({fallbackPath:e.fallbackPath,sourcePath:e.sourcePath});await mn(e.targetPath),await S(t,e.targetPath,{dereference:!0,recursive:!0})}async function _n(e,t={}){let n=y(e,`functions`),r=await vn(n);r!==null&&(t.servicePrefix!==void 0&&await sn(r,t.servicePrefix),await yn(n,r)),await xn(n,n),await Sn(e,t.servicePrefix)}async function vn(e){let t=y(e,`__server.func`),n=y(e,`ash/__server.func`),r;try{r=await E(t)}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return null;throw e}let i=`${n}.ash-staging`;return await C(v(n),{recursive:!0}),await O(i,{force:!0,recursive:!0}),await S(r,i,{dereference:!0,recursive:!0}),await O(n,{force:!0,recursive:!0}),await D(i,n),n}async function yn(e,t,n=e){let r;try{r=await T(e,{withFileTypes:!0})}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return;throw e}await Promise.all(r.map(async r=>{let i=y(e,r.name),a=z(b(n,i));if(r.isSymbolicLink()){r.name.endsWith(`.func`)&&en(a)&&await bn(i,t);return}r.isDirectory()&&!r.name.endsWith(`.func`)&&await yn(i,t,n)}))}async function bn(e,t){await O(e,{force:!0,recursive:!0}),await Te(z(b(v(e),t)),e,`dir`)}async function xn(e,t){let n;try{n=await T(t,{withFileTypes:!0})}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return;throw e}await Promise.all(n.map(async n=>{let r=y(t,n.name),i=z(b(e,r));if(n.name.endsWith(`.func`)){en(i)||await O(r,{force:!0,recursive:!0});return}n.isDirectory()&&await xn(e,r)}))}async function Sn(e,t){let n=y(e,`config.json`),r;try{r=JSON.parse(await w(n,`utf8`))}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return;throw e}!pn(r)||!Array.isArray(r.routes)||(r.routes=tn(r.routes,t),await k(n,`${JSON.stringify(r,null,2)}\n`))}function z(e){return e.replaceAll(`\\`,`/`)}function Cn(e){let t=b(e.fromDirectoryPath,e.toFilePath).replaceAll(`\\`,`/`);return t.startsWith(`.`)?t:`./${t}`}function wn(e){return[`import nitroHandler from ${JSON.stringify(e.delegateImportPath)};`,``,`function invokeNitroHandler(request, context) {`,` if (typeof nitroHandler === "function") {`,` return nitroHandler(request, context);`,` }`,``,` if (nitroHandler !== null && typeof nitroHandler === "object" && "fetch" in nitroHandler) {`,` const fetch = nitroHandler.fetch;`,` if (typeof fetch === "function") {`,` return fetch.call(nitroHandler, request, context);`,` }`,` }`,``,` throw new TypeError("Expected Nitro handler to export a function or an object with fetch(request, context).");`,`}`,``,`const workflowRoutePath = ${JSON.stringify(e.workflowRoutePath)};`,``,`function rewriteRequestToWorkflowRoute(request) {`,` const sourceUrl = new URL(request.url);`,` const routedUrl = new URL(workflowRoutePath, sourceUrl);`,` routedUrl.search = sourceUrl.search;`,` return new Request(routedUrl, request);`,`}`,``,`export default {`,` fetch(request, context) {`,` return invokeNitroHandler(rewriteRequestToWorkflowRoute(request), context);`,` },`,`};`,``].join(`
57
+ `)}async function Tn(e){try{let t=JSON.parse(await w(y(e,`.vc-config.json`),`utf8`));if(typeof t.handler==`string`&&t.handler.length>0)return t.handler}catch{}return`index.mjs`}async function En(e){let t=await Tn(e.functionDirectoryPath),n=y(e.functionDirectoryPath,t),r=v(n),i=xe(t),a=y(r,`__ash_nitro_handler__${i.length>0?i:`.mjs`}`),o=Cn({fromDirectoryPath:r,toFilePath:a});await D(n,a),await k(n,wn({delegateImportPath:o,workflowRoutePath:e.workflowRoutePath}))}const Dn=new Map;var On=class{#e;#t;config;#n=new WeakMap;constructor(e){this.config={buildTarget:`standalone`,dirs:[ge(`src/execution`)],externalPackages:[...un,...dn],projectRoot:e.appRoot,watch:e.watch,workingDir:e.rootDir},this.#e=e.compiledArtifactsBootstrapPath,this.#t=e.outDir}async build(e={}){let t=(Dn.get(this.#t)??Promise.resolve()).then(()=>this.#r(e));Dn.set(this.#t,t.catch(()=>{})),await t}async#r(e){await Re(this.#t);let t=await this.#i();if(t.length===0)throw Error(`Expected the execution workflow source file under "${ge(`src/execution`)}".`);let n=await this.findTsConfigPath();await C(this.#t,{recursive:!0});let r=await this.discoverEntries(t,this.#t,n),i=y(this.#t,`workflows.mjs`),{manifest:a}=await this.createWorkflowsBundle({discoveredEntries:r,keepInterimBundleContext:!1,outfile:i,bundleFinalOutput:!1,format:`esm`,inputFiles:t,tsconfigPath:n}),o=y(this.#t,`steps.mjs`),s=await Gt({builtinsPath:m(`workflow/internal/builtins`),discoveredEntries:r,outfile:o,preferAbsoluteFileImports:!0,projectRoot:this.config.projectRoot??this.config.workingDir,workingDir:this.config.workingDir}),c=e.nitroStepOutfile;c!==void 0&&c!==o&&await Gt({builtinsPath:m(`workflow/internal/builtins`),discoveredEntries:r,outfile:c,preferAbsoluteFileImports:!0,projectRoot:this.config.projectRoot??this.config.workingDir,workingDir:this.config.workingDir}),await kn(i,o),await An(i),await jn(i);let l=e.nitroWorkflowOutfile;l!==void 0&&l!==i&&(await C(v(l),{recursive:!0}),await Rn(i,l),c!==void 0&&(await kn(l,c),await An(l),await jn(l))),await this.createManifest({workflowBundlePath:y(this.#t,`workflows.mjs`),manifestDir:this.#t,manifest:{steps:{...s.steps,...a.steps},workflows:{...s.workflows,...a.workflows},classes:{...s.classes,...a.classes}}}),await j(this.#t)}get transformProjectRoot(){return this.config.projectRoot??this.config.workingDir}async findTsConfigPath(){let e=this.config.workingDir;for(;;){for(let t of[`tsconfig.json`,`jsconfig.json`]){let n=y(e,t);try{return await w(n),n}catch(e){if(!(e instanceof Error&&`code`in e&&e.code===`ENOENT`))throw e}}let t=v(e);if(t===e)return;e=t}}async getInputFiles(){let e=this.config.dirs.map(e=>x(this.config.workingDir,e));return(await Promise.all(e.map(e=>Ot(e)))).flat()}async discoverEntries(e,t,n){let r=this.#n.get(e);if(r!==void 0)return r;let i={discoveredSerdeFiles:[],discoveredSteps:[],discoveredWorkflows:[]};for(let t of e){let e=dt(await w(t,`utf8`));e.hasUseStep&&i.discoveredSteps.push(t),e.hasUseWorkflow&&i.discoveredWorkflows.push(t),e.hasSerde&&i.discoveredSerdeFiles.push(t)}return this.#n.set(e,i),i}async createWorkflowsBundle({bundleFinalOutput:e=!0,discoveredEntries:t,format:n=`cjs`,inputFiles:r,keepInterimBundleContext:i=this.config.watch,outfile:a,tsconfigPath:o}){let s=t??await this.discoverEntries(r,v(a),o),c=[...s.discoveredWorkflows].sort(),l=new Set(c),u=[...s.discoveredSerdeFiles].sort().filter(e=>!l.has(e)),d={},f=[...c.map(e=>kt(e,this.config.workingDir)),...u.map(e=>kt(e,this.config.workingDir))].join(`
58
+ `);return await Pt({bundleFinalOutput:e,code:le(await de({cwd:this.config.workingDir,input:wt,platform:`neutral`,plugins:[At(f),jt(),Mt(this.config.workingDir,{workflowCondition:!0}),Nt({manifest:d,projectRoot:this.transformProjectRoot,sideEffectFiles:[...c,...u],workingDir:this.config.workingDir})],resolve:{conditionNames:[`ash-source`,`workflow`,`node`,`import`,`default`],extensions:[`.ts`,`.tsx`,`.mts`,`.cts`,`.js`,`.jsx`,`.mjs`,`.cjs`],mainFields:[`module`,`main`]},tsconfig:o??!1,write:!1,output:{banner:`globalThis.__private_workflows = new Map();`,codeSplitting:!1,comments:!1,format:`cjs`,sourcemap:`inline`}}),`intermediate workflow bundle for "${a}"`).code,format:n,outfile:a,workingDir:this.config.workingDir}),i?{bundleFinal:async t=>{await Pt({bundleFinalOutput:e,code:t,format:n,outfile:a,workingDir:this.config.workingDir})},interimBundleCtx:void 0,manifest:d}:{manifest:d}}async createManifest({manifest:e,manifestDir:t}){let n={version:`1.0.0`,steps:Ft(e.steps),workflows:It(e.workflows),classes:Lt(e.classes)},r=JSON.stringify(n,null,2);return await C(t,{recursive:!0}),await k(y(t,`manifest.json`),r),r}async buildVercelOutput(e){await this.build();let t=y(this.#t,`vercel-build-output`,`functions`,`.well-known`,`workflow`,`v1`),n=y(t,`flow.func`),r=y(e.outputDir,`functions`,`.well-known`,`workflow`,`v1`),i=y(e.flowNitroOutputDir,`functions`,`__server.func`),a=y(e.flowNitroOutputDir,`functions`,`.well-known`,`workflow`,`v1`,`flow.func`),o=y(r,`flow.func`),s=y(r,`step.func`),c=y(r,`webhook`,`[token].func`);await gn({fallbackPath:i,sourcePath:a,targetPath:n}),await Promise.all([this.#a(n,{experimentalTriggers:Array.from([ct]),maxDuration:`max`,runtime:e.runtime??null,shouldAddHelpers:!1}),S(y(this.#t,`manifest.json`),y(t,`manifest.json`))]),await En({functionDirectoryPath:n,workflowRoutePath:`/.well-known/workflow/v1/flow`}),await Promise.all([O(o,{force:!0,recursive:!0}),O(s,{force:!0,recursive:!0}),O(c,{force:!0,recursive:!0})]),await C(r,{recursive:!0}),await Promise.all([S(n,o,{recursive:!0}),S(y(t,`manifest.json`),y(r,`manifest.json`))])}async#i(){return[...await this.getInputFiles(),this.#e]}async#a(e,t){let n=y(e,`.vc-config.json`),r=await this.#o(n),i={...r};i.environment=fn(r.environment),t.runtime!==null&&(i.runtime=t.runtime),t.maxDuration!==void 0&&(i.maxDuration=t.maxDuration),t.shouldAddHelpers!==void 0&&(i.shouldAddHelpers=t.shouldAddHelpers),t.shouldAddSourcemapSupport!==void 0&&(i.shouldAddSourcemapSupport=t.shouldAddSourcemapSupport),t.experimentalTriggers!==void 0&&(i.experimentalTriggers=[...t.experimentalTriggers]),await k(n,`${JSON.stringify(i,null,2)}\n`)}async#o(e){try{let t=JSON.parse(await w(e,`utf8`));if(typeof t==`object`&&t)return t}catch{}return{}}};async function kn(e,t){let n=await B(e);if(n===null||n.includes(`__ashWorkflowStepsRegistered`))return;let r=In(v(e),t),i=[`import { __steps_registered as __ashWorkflowStepsRegistered } from ${JSON.stringify(r)};`,`void __ashWorkflowStepsRegistered;`,``].join(`
59
+ `),a=n.match(/^import\s.+?;\n/m);if(a===null||a.index===void 0){await P(e,`${i}${n}`);return}let o=a.index+a[0].length;await P(e,`${n.slice(0,o)}${i}${n.slice(o)}`)}async function An(e){let t=await B(e);if(t===null)return;let n=t;for(let e of[`workflow`,`workflow/api`,`workflow/internal/builtins`,`workflow/internal/private`,`workflow/runtime`]){let t=Fn(m(e));n=Pn(n,e,t)}n!==t&&await P(e,n)}async function jn(e){let t=await B(e);if(t===null)return;let n=t.indexOf(`const workflowCode = `),r=t.lastIndexOf(`;
60
+
61
+ export const POST = workflowEntrypoint(workflowCode);`);if(n===-1||r===-1||r<=n)return;let i=n+21,a=t.slice(i,r);if(!a.trimStart().startsWith("`"))return;let o=Nn(a,e),s=`${t.slice(0,i)}${Mn(o)}${t.slice(r)}`;s!==t&&await P(e,s)}function Mn(e){let t=Ae.from(e,`utf8`).toString(`base64`).match(/.{1,16384}/g)??[``];return`Buffer.from(${JSON.stringify(t)}.join(""), "base64").toString("utf8")`}function Nn(e,t){let n=e.trim();if(!n.startsWith("`")||!n.endsWith("`"))throw Error(`Expected generated workflow code literal in "${t}" to be a template.`);let r=n.slice(1,-1),i=``;for(let e=0;e<r.length;e+=1){let t=r[e];if(t!==`\\`){i+=t;continue}let n=r[e+1];if(n===`\\`||n==="`"||n===`$`){i+=n,e+=1;continue}i+=t}return i}function Pn(e,t,n){return e.replaceAll(JSON.stringify(t),JSON.stringify(n)).replaceAll(`'${t}'`,JSON.stringify(n))}function Fn(e){return se(e)}function In(e,t){let n=b(e,t).replaceAll(`\\`,`/`);return n.startsWith(`.`)?n:`./${n}`}async function B(e){try{return await w(e,`utf8`)}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return null;throw e}}async function Ln(e){try{return await w(e)}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return null;throw e}}async function Rn(e,t){let n=await w(e),r=await Ln(t);r!==null&&r.equals(n)||await P(t,n)}function V(e){return e.dev?{appRoot:e.appRoot,dev:e.dev,moduleMapLoaderPath:h(`src/internal/authored-module-map-loader.ts`)}:{appRoot:e.appRoot,dev:e.dev}}const zn=`\0ash-pruned-local-sandbox-backend`,Bn=/[/\\]bindings[/\\]local\.js$/;function Vn(){return{name:`ash-hosted-sandbox-backend-prune`,load(e){return e===zn?[`export function createLocalSandboxBackend() {`,` throw new Error("The local sandbox backend is pruned from hosted server bundles.");`,`}`,``].join(`
62
+ `):null},resolveId(e){return Bn.test(e)?zn:null}}}const Hn=`${_}/runs`,Un=`${_}/runs/:runId`,Wn=`${_}/runs/:runId/steps`,Gn=`${_}/runs/:runId/events`,H=`#ash-channel/`;function Kn(e){let t=e.compileResult.manifest.channels,n=new Set,r=[],i=new Set,a=te();for(let e of t){if(e.kind===`disabled`){if(!a.has(e.name))throw Error(`agent/channels/${e.name}.ts exports disableRoute() but "${e.name}" is not a framework channel. Rename the file to one of: ${[...a].sort().join(`, `)}.`);i.add(e.name);continue}n.add(e.name),r.push({method:e.method,route:e.urlPath})}let o=ae().filter(e=>!n.has(e.name)&&!i.has(e.name)).map(e=>({method:e.method,route:e.urlPath})),s=new Set,c=[];for(let e of[...o,...r]){let t=Yn(e);s.has(t)||(s.add(t),c.push(e))}return c}function qn(e,t){for(let n of t.registrations)Xn(e,{artifactsConfig:t.artifactsConfig,method:n.method,route:n.route})}function Jn(e,t){return $n(t.previous,t.next)?!1:(Zn(e),qn(e,{artifactsConfig:t.artifactsConfig,registrations:t.next}),e.routing.sync(),!0)}function Yn(e){return`${e.method.toUpperCase()} ${e.route}`}function Xn(e,t){let n=Yn(t),i=`${H}${n}`,a=r(h(`src/internal/nitro/routes/channel-dispatch.ts`));e.options.handlers.push({handler:i,method:t.method,route:t.route}),e.options.virtual[i]=[`import { dispatchChannelRequest } from ${a};`,`const config = ${JSON.stringify(t.artifactsConfig)};`,`export default (event) => dispatchChannelRequest(event, ${JSON.stringify(n)}, config);`].join(`
63
+ `)}function Zn(e){for(let t=e.options.handlers.length-1;t>=0;--t){let n=e.options.handlers[t];n!==void 0&&Qn(n)&&e.options.handlers.splice(t,1)}for(let t of Object.keys(e.options.virtual))t.startsWith(H)&&delete e.options.virtual[t]}function Qn(e){return e.handler.startsWith(H)}function $n(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1){let r=e[n],i=t[n];if(r===void 0||i===void 0||r.method!==i.method||r.route!==i.route)return!1}return!0}function er(e){return e===`all`||e===`app`}function tr(e){return U(e)}function U(e){return e===`all`||e===`flow`}function W(e,t){let n=`#ash-route-handler/${t.method??`ALL`} ${t.route}`,i=r(t.handlerPath);e.options.handlers.push({handler:n,method:t.method,route:t.route}),e.options.virtual[n]=[`import handler from ${i};`,`export default handler;`].join(`
64
+ `)}function G(e){return y(e.options.buildDir,`workflow`)}function nr(e,t){let n=b(e,t).replaceAll(`\\`,`/`);return n.startsWith(`.`)?n:`./${n}`}async function rr(e,t){let n=y(G(e),`${t.bundleName}-handler.mjs`),r=v(n),i=nr(r,t.bundlePath),a=(t.directHandlers??[]).map(e=>{let t=nr(r,e.bundlePath);return{importSpecifier:t,isOwnBundle:t===i,queuePrefix:e.queuePrefix}});await C(r,{recursive:!0}),await k(n,ir({bundlePath:i,directHandlers:a,runtimeImportSpecifier:t.runtimeImportSpecifier})),e.options.handlers.push({handler:n,route:t.route})}function ir(e){let t=[`// Generated by Ash. Do not edit by hand.`,`import { POST } from ${JSON.stringify(e.bundlePath)};`];if(e.directHandlers.length>0&&e.runtimeImportSpecifier!==void 0){let n=0,r=e.directHandlers.map(e=>{if(e.isOwnBundle)return{...e,binding:`POST`};let t=`__ashWorkflowDirectHandler${n}`;return n+=1,{...e,binding:t}});for(let e of r)e.isOwnBundle||t.push(`import { POST as ${e.binding} } from ${JSON.stringify(e.importSpecifier)};`);t.push(`import { getWorld as __ashGetWorkflowWorld } from ${JSON.stringify(e.runtimeImportSpecifier)};`,``,`try {`,` const __ashWorkflowWorld = await __ashGetWorkflowWorld();`,` if (typeof __ashWorkflowWorld?.registerHandler === "function") {`);for(let e of r)t.push(` __ashWorkflowWorld.registerHandler(${JSON.stringify(e.queuePrefix)}, ${e.binding});`);t.push(` }`,`} catch (err) {`,` console.warn("[ash] Failed to register direct workflow queue handlers:", err);`,`}`)}return t.push(``,`export default async ({ req }) => {`,` return await POST(req);`,`};`,``),t.join(`
65
+ `)}function ar(e,t){let n=`#ash-route${t.route}`,i=r(t.modulePath);e.options.handlers.push({handler:n,method:t.method,route:t.route}),e.options.virtual[n]=[`import { ${t.handlerExport} } from ${i};`,`export default async (event) => ${t.handlerExport}(${t.args}, event.req);`].join(`
66
+ `)}async function or(e,t,n){if(tr(n.surface)){let r=me(),i=new On({appRoot:t.appRoot,compiledArtifactsBootstrapPath:t.compiledArtifacts.bootstrapPath,outDir:t.workflowBuildDir,rootDir:r,watch:e.options.dev}),a=Promise.resolve(),o=async()=>{await i.build({nitroStepOutfile:U(n.surface)?y(G(e),`steps.mjs`):void 0,nitroWorkflowOutfile:e.options.dev&&U(n.surface)?y(G(e),`workflows.mjs`):void 0})},s=async()=>{let e=a.then(o);a=e.catch(()=>{}),await e},c=!0;await s(),e.hooks.hook(`build:before`,async()=>{if(c){c=!1;return}await s()}),e.options.dev&&e.hooks.hook(`dev:reload`,async()=>{await s()})}let r=V({appRoot:t.appRoot,dev:e.options.dev});er(n.surface)&&(W(e,{handlerPath:h(`src/internal/nitro/routes/index.ts`),method:`GET`,route:`/`}),W(e,{handlerPath:h(`src/internal/nitro/routes/health.ts`),method:`GET`,route:ve}),ar(e,{args:JSON.stringify({appRoot:r.appRoot}),handlerExport:`handleAgentInfoRequest`,method:`GET`,modulePath:h(`src/internal/nitro/routes/info.ts`),route:_e}),W(e,{handlerPath:h(`src/internal/nitro/routes/workflow-runs.ts`),method:`GET`,route:Hn}),W(e,{handlerPath:h(`src/internal/nitro/routes/workflow-run.ts`),method:`GET`,route:Un}),W(e,{handlerPath:h(`src/internal/nitro/routes/workflow-run-steps.ts`),method:`GET`,route:Wn}),W(e,{handlerPath:h(`src/internal/nitro/routes/workflow-run-events.ts`),method:`GET`,route:Gn}),qn(e,{artifactsConfig:r,registrations:Kn(t)}));let i=G(e),a=U(n.surface)?e.options.dev?y(i,`workflows.mjs`):y(t.workflowBuildDir,`workflows.mjs`):void 0,o=e.options.dev&&a!==void 0?[{bundlePath:a,queuePrefix:`__wkf_workflow_`}]:[],s=o.length>0?se(m(`workflow/runtime`)):void 0;a&&await rr(e,{bundleName:`workflows`,bundlePath:a,directHandlers:o,route:`/.well-known/workflow/v1/flow`,runtimeImportSpecifier:s}),e.routing.sync()}function sr(){return`${_}/cron/${De()}`}function cr(e){e.options.vercel!==void 0&&(e.options.vercel.cronHandlerRoute=sr())}function lr(e){return{plugins:[ue(),...e]}}function ur(e){e.hooks.hook(`rollup:before`,(e,t)=>{Array.isArray(t.plugins)&&t.plugins.unshift({name:`ash:nitro-routing-import-specifiers`,transform(e,t){if(t!==`#nitro/virtual/routing`&&t!==`#nitro/virtual/routing-meta`)return null;let n=a(e);return n===e?null:{code:n,map:null}}})})}const dr=`ash.schedule.`;var fr=class extends Error{scheduleId;sourceId;taskName;constructor(e,t={}){super(e),this.name=`ScheduleRegistrationError`,t.scheduleId!==void 0&&(this.scheduleId=t.scheduleId),t.sourceId!==void 0&&(this.sourceId=t.sourceId),t.taskName!==void 0&&(this.taskName=t.taskName)}};function pr(e){let t=e.map(e=>({cron:e.cron,description:`Run Ash schedule "${e.name}" from "${e.logicalPath}".`,logicalPath:e.logicalPath,scheduleId:e.name,sourceId:e.sourceId,taskName:hr(e.sourceId)})).sort((e,t)=>e.sourceId.localeCompare(t.sourceId));return mr(t),t}function mr(e){let t=new Map;for(let n of e){let e=t.get(n.scheduleId);if(e===void 0){t.set(n.scheduleId,n);continue}throw new fr(`Duplicate authored schedule id "${n.scheduleId}" found in "${e.logicalPath}" and "${n.logicalPath}".`,{scheduleId:n.scheduleId,sourceId:n.sourceId,taskName:n.taskName})}}function hr(e){return`${dr}${Buffer.from(e,`utf8`).toString(`base64url`)}`}const gr=`#ash-schedule-task/`;function _r(e,t){if(t.registrations.length!==0){e.options.experimental.tasks=!0;for(let n of t.registrations)br(e,{artifactsConfig:t.artifactsConfig,dispatchModulePath:t.dispatchModulePath,registration:n})}}function vr(e,t){let n=!Cr(t.previous,t.next);return yr(e),_r(e,{artifactsConfig:t.artifactsConfig,dispatchModulePath:t.dispatchModulePath,registrations:t.next}),n}function yr(e){for(let t of Object.keys(e.options.tasks))t.startsWith(`ash.schedule.`)&&delete e.options.tasks[t];for(let t of Object.keys(e.options.virtual))t.startsWith(gr)&&delete e.options.virtual[t];for(let[t,n]of Object.entries(e.options.scheduledTasks)){let r=Sr(n).filter(e=>!e.startsWith(dr));if(r.length===0){delete e.options.scheduledTasks[t];continue}if(r.length===1){let[n]=r;n!==void 0&&(e.options.scheduledTasks[t]=n);continue}e.options.scheduledTasks[t]=r}}function br(e,t){let n=`${gr}${t.registration.taskName}`,i=r(t.dispatchModulePath);e.options.tasks[t.registration.taskName]={description:t.registration.description,handler:n},e.options.virtual[n]=[`import { dispatchScheduleTask } from ${i};`,`const config = ${JSON.stringify(t.artifactsConfig)};`,`export default {`,` meta: { description: ${JSON.stringify(t.registration.description)} },`,` async run(event) {`,` return { result: await dispatchScheduleTask(event.name, config) };`,` },`,`};`].join(`
67
+ `),xr(e,t.registration.cron,t.registration.taskName)}function xr(e,t,n){let r=e.options.scheduledTasks[t];if(r===void 0){e.options.scheduledTasks[t]=n;return}if(typeof r==`string`){e.options.scheduledTasks[t]=[r,n];return}r.includes(n)||r.push(n)}function Sr(e){return typeof e==`string`?[e]:[...e]}function Cr(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1){let r=e[n],i=t[n];if(r===void 0||i===void 0||r.cron!==i.cron||r.description!==i.description||r.logicalPath!==i.logicalPath||r.scheduleId!==i.scheduleId||r.sourceId!==i.sourceId||r.taskName!==i.taskName)return!1}return!0}const wr=`@alinea/generated.@appsignal/nodejs.@aws-sdk/client-s3.@aws-sdk/s3-presigned-post.@blockfrost/blockfrost-js.@highlight-run/node.@huggingface/transformers.@jpg-store/lucid-cardano.@libsql/client.@mikro-orm/core.@mikro-orm/knex.@node-rs/argon2.@node-rs/bcrypt.@prisma/client.@react-pdf/renderer.@sentry/profiling-node.@sparticuz/chromium.@sparticuz/chromium-min.@statsig/statsig-node-core.@swc/core.@xenova/transformers.@zenstackhq/runtime.argon2.autoprefixer.aws-crt.bcrypt.better-sqlite3.canvas.chromadb-default-embed.config.cpu-features.cypress.dd-trace.eslint.express.firebase-admin.htmlrewriter.import-in-the-middle.isolated-vm.jest.jsdom.keyv.libsql.mdx-bundler.mongodb.mongoose.newrelic.next-mdx-remote.next-seo.node-cron.node-pty.node-web-audio-api.onnxruntime-node.oslo.pg.pino.pino-pretty.pino-roll.playwright.playwright-core.postcss.prettier.prisma.puppeteer.puppeteer-core.ravendb.require-in-the-middle.rimraf.sharp.shiki.sqlite3.thread-stream.ts-morph.ts-node.typescript.vscode-oniguruma.webpack.websocket.zeromq`.split(`.`);function Tr(e){if(e)return{config:{version:3,framework:{version:g().version}}}}const Er=[`workflow`,`workflow/api`,`workflow/errors`,`workflow/internal/builtins`,`workflow/internal/private`,`workflow/runtime`],Dr=Symbol(`ash.workflow-transform-patched`),Or=[`@napi-rs/keyring`];function kr(){let e={};for(let t of Er)e[t]=m(t);return e}function Ar(e){if(!e&&process.env.VERCEL)return`vercel`}function jr(e){return e===`all`||e===`app`}function Mr(e){return e===`all`||e===`flow`}function Nr(e){return Mr(e)}function Pr(e,t){return e.options.dev?y(e.options.buildDir,`workflow`,`steps.mjs`):y(t.workflowBuildDir,`steps.mjs`)}function Fr(e){let t=e.compileResult.manifest.config.build;return[...new Set([...Or,...wr,...t?.externalDependencies??[]])].filter(e=>e!==he)}function K(e){return e.replaceAll(`\\`,`/`)}function Ir(e){let t=e.indexOf(`?`),n=e.indexOf(`#`),r=t===-1?n:n===-1?t:Math.min(t,n);return r===-1?e:e.slice(0,r)}function Lr(e){return e.startsWith(`/@fs/`)?e.slice(4):e}function q(e,t){return t.startsWith(`file://`)?K(Lr(Ir(ke(t)))):Se(t)?K(Lr(Ir(t))):K(Lr(Ir(x(e,t))))}function Rr(e,t){let n=K(e);return n.startsWith(t)||n.includes(`/.ash/workflow-cache/`)}function zr(e){let t=K(e);return process.platform===`win32`?t.toLowerCase():t}function Br(e){let t=/^\s*import\s+(?:.+?\s+from\s+)?["']([^"']+)["'];?\s*$/gm,n=[];for(let r of e.matchAll(t)){let e=r[1];e!==void 0&&n.push(e)}return n}function Vr(e,t,n){return t.startsWith(`workflow`)?m(t):t.startsWith(`.`)||t.startsWith(`/`)||t.startsWith(`file://`)?q(n===void 0?e:v(q(e,n)),t):null}async function Hr(e,t){let n=await w(e,`utf8`),r=new Set;for(let i of Br(n)){let n=Vr(t,i,e);n!==null&&r.add(zr(n))}return r}async function Ur(e,t){if(e.options.noExternals===!0)return;let n;try{n=await Hr(t,e.options.rootDir)}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return;throw e}let r=Array.isArray(e.options.noExternals)?[...e.options.noExternals]:[];e.options.noExternals=[...new Set([...r,...n])]}function Wr(e,t){let n=K(e).replace(/\/$/,``),r=K(t),i=n.toLowerCase(),a=r.toLowerCase();if(a.startsWith(`${i}/`))return r.slice(n.length+1);if(a===i)return`.`;let o=b(n,r).replaceAll(`\\`,`/`);if(o.startsWith(`../`)&&(o=o.split(`/`).filter(e=>e!==`..`).join(`/`)),o.includes(`:`)||o.startsWith(`/`)){let e=r.split(`/`).pop();return e===void 0||e.length===0?`unknown.ts`:e}return o}function Gr(e,t){let n=[t,y(e.options.buildDir,`workflow`)].map(t=>q(e.options.rootDir,t));e.hooks.hook(`rollup:before`,(t,r)=>{Array.isArray(r.plugins)&&r.plugins.unshift({name:`ash:workflow-module-side-effects`,resolveId(t,r){let i=Vr(e.options.rootDir,t,r)??q(e.options.rootDir,t);return n.some(e=>Rr(i,e))?{id:i,moduleSideEffects:`no-treeshake`}:null}})})}function Kr(e,t){let n=null,r=async()=>(n===null&&(n=await Hr(t.stepEntrypointPath,e.options.rootDir)),n);e.hooks.hook(`build:before`,()=>{n=null}),e.options.dev&&e.hooks.hook(`dev:reload`,()=>{n=null}),e.hooks.hook(`rollup:before`,(t,n)=>{Array.isArray(n.plugins)&&n.plugins.unshift({name:`ash:workflow-step-module-side-effects`,async resolveId(t,n){let i=Vr(e.options.rootDir,t,n);return i===null||!(await r()).has(zr(i))?null:{id:i,moduleSideEffects:`no-treeshake`}}})})}function qr(e,t){let n=null,r=async()=>(n===null&&(n=await Hr(t.stepEntrypointPath,e.options.rootDir)),n);e.hooks.hook(`build:before`,()=>{n=null}),e.options.dev&&e.hooks.hook(`dev:reload`,()=>{n=null}),e.hooks.hook(`rollup:before`,(t,n)=>{Array.isArray(n.plugins)&&n.plugins.unshift({async transform(t,n){let i=await r(),a=q(e.options.rootDir,n);return i.has(zr(a))?{code:(await ut(Wr(e.options.rootDir,a),t,`step`,a,e.options.rootDir)).code,map:null}:null},name:`ash:workflow-step-transform`})})}function Jr(e,t){let n=K(t);e.hooks.hook(`rollup:before`,(e,t)=>{Array.isArray(t.plugins)&&t.plugins.unshift({name:`ash:instrumentation-module-side-effects`,resolveId(e){return K(e)===n?{id:e,moduleSideEffects:`no-treeshake`}:null}})})}function Yr(e,t){let n=K(t);e.hooks.hook(`rollup:before`,(e,t)=>{if(Array.isArray(t.plugins))for(let e of t.plugins){if(typeof e!=`object`||!e)continue;let t=e;if(t.name!==`workflow:transform`||t[Dr]===!0||typeof t.transform!=`function`)continue;let r=t.transform;t.transform=function(e,t,...i){return Rr(t,n)?null:r.call(this,e,t,...i)},t[Dr]=!0}})}async function J(e,t,n={}){let r=n.surface??`all`,i=(!t||n.schedules===!0)&&jr(r)&&e.scheduleRegistrations.length>0,a=Ar(t),o=a===`vercel`?Vn():null,s=o===null?[]:[o],c=lr(s),l=lr(s),u=Fr(e),d=ie(e.appRoot,r),f=e.compiledArtifacts.instrumentationPluginPath===void 0?[e.compiledArtifacts.bootstrapPath]:[e.compiledArtifacts.instrumentationPluginPath,e.compiledArtifacts.bootstrapPath];await Re(d);let p=await Pe({_cli:{command:t?`dev`:`build`},buildDir:d,dev:t,logLevel:t?1:void 0,output:n.outputDir===void 0?void 0:{dir:n.outputDir},preset:a,plugins:f,publicAssets:[],scanDirs:Nr(r)?[ge(`src/execution`)]:void 0,rolldownConfig:c,rollupConfig:l,rootDir:e.appRoot,serverDir:!1,traceDeps:u,vercel:Tr(a===`vercel`&&jr(r))},t?{watch:!0}:void 0);if(await j(d),ur(p),Mr(r)){let t=kr();for(let[e,n]of Object.entries(t))p.options.alias[e]=n;Gr(p,e.workflowBuildDir),Yr(p,e.workflowBuildDir)}if(Nr(r)){let t=Pr(p,e);Kr(p,{stepEntrypointPath:t}),qr(p,{stepEntrypointPath:t})}if(e.compiledArtifacts.instrumentationSourcePath!==void 0&&Jr(p,e.compiledArtifacts.instrumentationSourcePath),t&&Mr(r)){let t=e.workflowBuildDir,n=new Set([K(y(t,`workflows.mjs`))]);p.hooks.hook(`rollup:before`,(e,t)=>{let r=t.external;t.external=(e,...t)=>{if(n.has(K(e)))return!0;if(typeof r==`function`)return r(e,...t)}})}return i&&(cr(p),_r(p,{artifactsConfig:V({appRoot:e.appRoot,dev:p.options.dev}),dispatchModulePath:h(`src/internal/nitro/routes/schedule-task.ts`),registrations:e.scheduleRegistrations})),await or(p,e,{surface:r}),Nr(r)&&await Ur(p,Pr(p,e)),p}function Xr(e){if(typeof e!=`string`||e.length===0)return`unknown`;let t=e.toLowerCase();return t===`slack`||t.includes(`slack`)?`slack`:t===`http`?`http`:t.includes(`webhook`)?`webhook`:`unknown`}function Zr(e){let{manifest:t}=e;return{kind:`vercel-ash-agent-summary`,schemaVersion:2,generatorVersion:e.generatorVersion??g().version,agent:{name:t.config.name,description:t.config.description,modelId:t.config.model.id},instructions:t.instructions?ei(t.instructions):null,schedules:t.schedules.map(ti),tools:t.tools.map(ni),skills:t.skills.map(ri),connections:t.connections.map(ii),channels:t.channels.filter($r).map(ai),sandbox:t.sandbox===null?null:{logicalPath:t.sandbox.logicalPath},subagents:t.subagents.map(oi),diagnostics:{errors:t.diagnosticsSummary.errors,warnings:t.diagnosticsSummary.warnings}}}async function Qr(e){let t=Zr({generatorVersion:e.generatorVersion,manifest:e.manifest}),n=y(e.appRoot,`.ash/agent-summary.json`);return await C(v(n),{recursive:!0}),await k(n,`${JSON.stringify(t,null,2)}\n`),n}function $r(e){return e.kind===`channel`}function ei(e){return{logicalPath:e.logicalPath,sourceKind:e.sourceKind,markdown:e.markdown}}function ti(e){return{name:e.name,cron:e.cron,logicalPath:e.logicalPath}}function ni(e){return{name:e.name,description:e.description,logicalPath:e.logicalPath}}function ri(e){return{name:e.name,description:e.description,logicalPath:e.logicalPath,sourceKind:e.sourceKind}}function ii(e){let t={name:e.connectionName,description:e.description,url:e.url,logicalPath:e.logicalPath,type:`mcp`};return e.vercelConnect===void 0?t:{...t,vercelConnect:{connector:e.vercelConnect.connector}}}function ai(e){let t={name:e.name,method:e.method,urlPath:e.urlPath,type:Xr(e.adapterKind),logicalPath:e.logicalPath};return e.adapterKind===void 0?t:{...t,adapterKind:e.adapterKind}}function oi(e){return{name:e.name,description:e.description,logicalPath:e.logicalPath}}async function si(e){return[...e.manifest.schedules].map(e=>{let t={cron:e.cron,hasRun:e.hasRun,logicalPath:e.logicalPath,name:e.name,sourceId:e.sourceId,sourceKind:e.sourceKind};return e.markdown===void 0?t:{...t,markdown:e.markdown}})}async function ci(e){return await si({manifest:await d({compiledArtifactsSource:e.compiledArtifactsSource})})}async function li(e){let t=y(e.outDir,`compiled-artifacts-bootstrap.mjs`),n=y(e.outDir,`compiled-artifacts-instrumentation.mjs`),r=di(e.compileResult.manifest.agentRoot);await C(e.outDir,{recursive:!0}),await k(t,await pi({compileResult:e.compileResult,installModulePath:h(`src/runtime/loaders/bundled-artifacts.ts`),moduleMapPath:t,metadata:e.compileResult.metadata})),r!==void 0&&await k(n,mi({agentName:e.compileResult.manifest.config.name,instrumentationPath:r,registerConfigPath:h(`src/harness/instrumentation-config.ts`)}));let i={bootstrapPath:t};return r!==void 0&&(i.instrumentationPluginPath=n,i.instrumentationSourcePath=r),i}const ui=[`.ts`,`.mts`,`.js`,`.mjs`];function di(e){for(let t of ui){let n=y(e,`instrumentation${t}`);if(A(n))return n}}function fi(e){return e.replace(/^export const moduleMap = /m,`const moduleMap = `).replace(/\nexport default moduleMap;\n?$/,`
68
+ `)}async function pi(e){let n=fi(t({importSpecifierStyle:`absolute`,manifest:e.compileResult.manifest,moduleMapPath:e.moduleMapPath})).trim();return[`// Generated by Ash. Do not edit by hand.`,`import { installBundledCompiledArtifacts } from ${r(e.installModulePath)};`,``,n,``,`const metadata = ${JSON.stringify(e.metadata,null,2)};`,``,`const manifest = ${JSON.stringify(e.compileResult.manifest,null,2)};`,``,`export function installCompiledArtifactsBootstrap() {`,` installBundledCompiledArtifacts({`,` manifest,`,` metadata,`,` moduleMap,`,` });`,`}`,``,`installCompiledArtifactsBootstrap();`,``,`// Default export satisfies the Nitro plugin contract so this file`,`// can be used directly as a Nitro plugin without a separate wrapper.`,`export default function installCompiledArtifactsPlugin() {`,` // Already installed on import above.`,`}`,``,`export async function __ashInstallCompiledArtifactsStep() {`,` "use step";`,` return null;`,`}`,``].join(`
69
+ `)}function mi(e){return[`// Generated by Ash. Do not edit by hand.`,`import * as instrumentationModule from ${r(e.instrumentationPath)};`,`import { registerInstrumentationConfig } from ${r(e.registerConfigPath)};`,``,`if (instrumentationModule.default != null) {`,` registerInstrumentationConfig(instrumentationModule.default, { agentName: ${JSON.stringify(e.agentName)} });`,`}`,``,`// Default export satisfies the Nitro plugin contract so this file`,`// can be used directly as a Nitro plugin without a separate wrapper.`,`export default function installInstrumentationPlugin() {}`,``].join(`
70
+ `)}function hi(e){return f(e,{moduleMapLoaderPath:h(`src/internal/authored-module-map-loader.ts`),moduleMapLoadMode:`authored-source`})}async function gi(e){let t=await c({startPath:e}),n=await ci({compiledArtifactsSource:hi(t.project.appRoot)}),r=pr(n),i=s(t.project.appRoot),a=await li({compileResult:t,outDir:t.paths.compileDirectoryPath});return{appRoot:t.project.appRoot,compileResult:t,compiledArtifacts:a,scheduleRegistrations:r,schedules:n,workflowBuildDir:i}}async function _i(e){return await vi(await d({compiledArtifactsSource:e.compiledArtifactsSource}))}async function vi(e){let t={},r=[{agentRoot:e.agentRoot,manifest:e,nodeId:n},...[...e.subagents].sort((e,t)=>e.nodeId.localeCompare(t.nodeId)).map(e=>({agentRoot:e.agent.agentRoot,manifest:e.agent,nodeId:e.nodeId}))];for(let e of r)t[e.nodeId]={modules:await yi({agentRoot:e.agentRoot,manifest:e.manifest})};return{nodes:t}}async function yi(e){let t=i(e.manifest).sort((e,t)=>e.sourceId.localeCompare(t.sourceId)),n={};for(let r of t){let t=y(e.agentRoot,r.logicalPath);n[r.sourceId]=await fe(t)}return n}async function bi(e){let t=await xi(e.backendName,e.compiledArtifactsSource),n=await Si({compiledArtifactsSource:e.compiledArtifactsSource,nodeId:e.nodeId,sourceId:e.sourceId}),r=Y(`${g().version}:2:${n}`).slice(0,20);return Ci(`ash-sbx-tpl-${e.backendName}-${t}-${r}`)}async function xi(e,t){if(e===`vercel`){let e=process.env.VERCEL_DEPLOYMENT_ID?.trim();if(e!==void 0&&e.length>0)return Y(e).slice(0,16)}let n=o(t);return n===void 0?Y(oe(t)).slice(0,16):Y(await E(n)).slice(0,16)}async function Si(e){return Y(`${(await ne({compiledArtifactsSource:e.compiledArtifactsSource}))?.discovery.sourceGraphHash??oe(e.compiledArtifactsSource)}:${e.nodeId}:${e.sourceId}`)}function Y(e){return Ee(`sha256`).update(e).digest(`hex`)}function Ci(e){return e.replaceAll(/[^a-zA-Z0-9._-]+/g,`-`).slice(0,120)}async function wi(e){let t=[];return await Ti({files:t,logicalDirectoryPath:`.`,sourceDirectoryPath:e}),t.sort((e,t)=>e.path.localeCompare(t.path)),t}async function Ti(e){let t=await T(e.sourceDirectoryPath,{withFileTypes:!0});for(let n of t){if(!n.isDirectory()&&!n.isFile())continue;let t=y(e.sourceDirectoryPath,n.name),r=Ce.join(e.logicalDirectoryPath,n.name);if(n.isDirectory()){await Ti({files:e.files,logicalDirectoryPath:r,sourceDirectoryPath:t});continue}e.files.push({content:await w(t),path:Ce.join(u,r)})}}async function Ei(e){let t=await Oi(e);if(t.length===0)return;e.log?.(`Ash: initializing ${t.length} sandbox ${Mi(t.length,`template`)}...`);let n=e.dispatch??(async({backend:e,input:t})=>{await e.prewarm(t)});await Promise.all(t.map(async({backend:t,label:r,input:i})=>{e.log?.(`Ash: initializing sandbox template "${r}"...`);try{await n({backend:t,input:i})}catch(n){throw e.log?.(`Ash: failed to initialize sandbox template "${r}" on backend "${t.name}": ${pe(n)}`),n}e.log?.(`Ash: sandbox template "${r}" initialized.`)})),e.log?.(`Ash: initialized ${t.length} sandbox ${Mi(t.length,`template`)}.`)}async function Di(e){let t=hi(e.appRoot),n=await(e.loadAgentGraph??Ai)({compiledArtifactsSource:t});await Ei({compiledArtifactsSource:t,dispatch:e.dispatch,graph:n,log:e.log})}async function Oi(e){let t=p(e.compiledArtifactsSource.appRoot).compileDirectoryPath,n={appRoot:e.compiledArtifactsSource.appRoot};return[...await Promise.all(ji(e.graph).map(async({definition:r,nodeId:i,workspaceResourceRoot:a})=>{let o=await bi({backendName:r.backend.name,compiledArtifactsSource:e.compiledArtifactsSource,nodeId:i,sourceId:r.sourceId});return{backend:r.backend,label:Ni(i),input:{bootstrap:r.bootstrap,seedFiles:await ki({compileDirectoryPath:t,workspaceResourceRoot:a}),runtimeContext:n,templateKey:o}}}))].sort((e,t)=>e.label.localeCompare(t.label))}async function ki(e){return e.workspaceResourceRoot.rootEntries.length===0?[]:(await wi(`${e.compileDirectoryPath}/${e.workspaceResourceRoot.logicalPath}`)).map(e=>({content:e.content,path:e.path}))}async function Ai(e){let[t,n]=await Promise.all([d({compiledArtifactsSource:e.compiledArtifactsSource}),_i({compiledArtifactsSource:e.compiledArtifactsSource})]);return await l({manifest:t,moduleMap:n})}function ji(e){return[...e.nodesByNodeId.entries()].flatMap(([e,t])=>{let n=t.sandboxRegistry.sandbox;return n===null?[]:[{...n,nodeId:e}]})}function Mi(e,t){return e===1?t:`${t}s`}function Ni(e){return e===`__root__`?`root`:e}function Pi(){let e=process.env.VERCEL?.trim(),t=process.env.VERCEL_DEPLOYMENT_ID?.trim();return typeof e==`string`&&e.length>0&&typeof t==`string`&&t.length>0}async function Fi(e){return Pi()?(await Di(e),!0):!1}function Ii(e){return e.replace(/[\\/]+$/,``)}function Li(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Ri(e,t){return typeof t!=`string`||t.trim().length===0?null:x(e,t)}function zi(e){if(!Li(e.config)||!Li(e.config.experimentalServices))return;let t=!1,n;for(let r of Object.values(e.config.experimentalServices)){if(!Li(r))continue;if(r.framework===`nextjs`){t=!0;continue}if(r.framework!==`ash`)continue;let i=Ri(e.configRoot,r.entrypoint),a=typeof r.routePrefix==`string`?r.routePrefix.trim():``;i===e.appRoot&&a.length>0&&a!==`/`&&(n=a)}return t?n:void 0}async function Bi(e){let t=e;for(;;){try{let n=y(t,`vercel.json`),r=JSON.parse(await w(n,`utf8`)),i=zi({appRoot:e,configRoot:t,config:r});if(i!==void 0)return i}catch(e){if(!(e instanceof Error&&`code`in e&&e.code===`ENOENT`))throw e}let n=v(t);if(n===t)return;t=n}}async function Vi(e){try{return JSON.parse(await w(y(e,`functions`,`__server.func`,`.vc-config.json`),`utf8`)).runtime}catch{return}}async function Hi(e){let t=new On({appRoot:e.appRoot,compiledArtifactsBootstrapPath:e.compiledArtifactsBootstrapPath,outDir:e.workflowBuildDir,rootDir:me(),watch:!1}),n=await Vi(e.outputDir);await t.buildVercelOutput({flowNitroOutputDir:e.flowNitroOutputDir,outputDir:e.outputDir,runtime:n})}async function X(e){let t=Ii(e.options.output.dir);return await Re(t),await Fe(e),await Me(e),await Ie(e),await je(e),await j(t),t}async function Ui(e,t){let n=await J(e,!1,{outputDir:ee(e.appRoot,t),surface:t});try{return await X(n)}finally{await n.close()}}async function Wi(e){let t=await gi(e);if(!process.env.VERCEL){let e=await J(t,!1);try{let n=await X(e);return await Qr({manifest:t.compileResult.manifest,appRoot:t.appRoot}),n}finally{await e.close()}}let n=await J(t,!1,{surface:`app`});try{let e=await X(n);await Fi({appRoot:t.appRoot,log(e){console.log(e)}});let r=await Ui(t,`flow`);await Hi({appRoot:t.appRoot,compiledArtifactsBootstrapPath:t.compiledArtifacts.bootstrapPath,flowNitroOutputDir:r,outputDir:e,workflowBuildDir:t.workflowBuildDir});let i=await Bi(t.appRoot);return i!==void 0&&await _n(e,{servicePrefix:i}),await Qr({manifest:t.compileResult.manifest,appRoot:t.appRoot}),e}finally{await n.close()}}const Z=65535,Q=`WORKFLOW_LOCAL_BASE_URL`,$=`PORT`,Gi=new Set([`[::]`,`::`,`0.0.0.0`]);function Ki(e){let t=new URL(e);return Gi.has(t.hostname)?(t.hostname=`127.0.0.1`,t.toString()):e}function qi(e){return e instanceof Error&&`code`in e&&e.code===`EADDRINUSE`}function Ji(e){let t=typeof e==`string`?Number(e):e??3e3;if(!Number.isInteger(t)||t<0||t>Z)throw Error(`Invalid development server port "${String(e)}". Expected an integer between 0 and ${Z}.`);return t}function Yi(){let e=process.env[$];if(e===void 0||e.trim()===``)return;let t=Number(e);if(!Number.isInteger(t)||t<0||t>Z)throw Error(`Invalid ${$} environment variable "${e}". Expected an integer between 0 and ${Z}.`);return t}function Xi(e){let t=Ji(e.port);if(t===0||!e.retryOnAddressInUse)return[t];let n=[];for(let e=0;e<10;e+=1){let r=t+e;if(r>65535)break;n.push(r)}return n}function Zi(e){let t=process.env[Q],n=process.env[$],r=new URL(Ki(e));return process.env[Q]=r.origin,r.port&&(process.env[$]=r.port),()=>{t===void 0?delete process.env[Q]:process.env[Q]=t,n===void 0?delete process.env[$]:process.env[$]=n}}function Qi(e){let t=()=>{};return e.once(`error`,t),()=>{e.off(`error`,t)}}function $i(e){let t=e.upgrade.bind(e);e.upgrade=async(e,n,r)=>{let i=Qi(n);try{await t(e,n,r)}catch{n.destroyed||n.destroy()}finally{i()}}}async function ea(e){let t=Xi({port:e.port,retryOnAddressInUse:e.retryOnAddressInUse}),n;for(let r of t){let t=e.devServer.listen({hostname:e.host,port:r,silent:!0});try{return await t.ready(),t}catch(r){if(n=r,await t.close().catch(()=>{}),!qi(r)||!e.retryOnAddressInUse)throw r}}throw Error(`Failed to start Nitro dev server after ${t.length} attempts. Tried ports ${t.join(`, `)}.`,{cause:n})}async function ta(e,t={}){let n=t.schedules===!0;ye(e);let r=await gi(e);await Di({appRoot:r.appRoot,log:e=>console.log(e)});let i=await J(r,!0,{schedules:n}),a=Ne(i);$i(a);let o=t.host??i.options.devServer.hostname,s=t.port??Yi(),c=s??i.options.devServer.port,l=s===void 0,u;try{let e=await ea({devServer:a,host:o,port:c,retryOnAddressInUse:l});if(!e.url)throw Error(`Nitro dev server did not expose a URL.`);u=Zi(e.url),await Fe(i),await je(i);let{startAuthoredSourceWatcher:t}=await import(`./dev-authored-source-watcher-CBID_Dwh.js`),s=await t({nitro:i,preparedHost:r,schedulesEnabled:n}),d=u;if(d===void 0)throw Error(`Workflow local queue environment was not initialized.`);return{async close(){try{await s.close(),await a.close(),await i.close()}finally{d()}},url:Ki(e.url)}}catch(e){throw u?.(),await a.close().catch(()=>{}),await i.close().catch(()=>{}),e}}var na=e({buildHost:()=>ra,startHost:()=>ia});async function ra(e){return await Wi(e)}async function ia(e,t={}){return await ta(e,t)}export{vr as a,V as c,gi as i,ia as n,Kn as o,Di as r,Jn as s,na as t};