eve 0.22.5 → 0.22.6
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.
- package/CHANGELOG.md +9 -0
- package/dist/src/compiled/.vendor-stamp.json +4 -4
- package/dist/src/compiled/@workflow/core/index.d.ts +1 -1
- package/dist/src/compiled/@workflow/core/index.js +2 -2
- package/dist/src/compiled/@workflow/core/runtime/start.d.ts +1 -1
- package/dist/src/compiled/@workflow/core/runtime/step-latency.d.ts +1 -1
- package/dist/src/compiled/@workflow/core/runtime.js +1 -1
- package/dist/src/compiled/@workflow/core/set-attributes.d.ts +12 -7
- package/dist/src/compiled/@workflow/core/step/context-storage.d.ts +1 -1
- package/dist/src/compiled/@workflow/core/version.d.ts +1 -1
- package/dist/src/compiled/@workflow/core/workflow/index.d.ts +1 -1
- package/dist/src/compiled/@workflow/core/workflow/set-attributes.d.ts +20 -16
- package/dist/src/compiled/@workflow/core/workflow.js +1 -1
- package/dist/src/compiled/@workflow/world/recovery.d.ts +3 -2
- package/dist/src/compiled/@workflow/world-local/index.js +2 -2
- package/dist/src/compiled/@workflow/world-vercel/index.js +2 -2
- package/dist/src/compiled/_chunks/workflow/{attribute-changes-ubiPfqvY.js → attribute-changes-Dmf_myUv.js} +2 -2
- package/dist/src/compiled/_chunks/workflow/{dist-DnBjuNAZ.js → dist-CQenixFf.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{resume-hook-BkVkWg2r.js → resume-hook-BH01MfRF.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{run-B3N1kN9q.js → run-CL3mguvM.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{sleep-C2Bn-UUg.js → sleep-BkAHCD_s.js} +1 -1
- package/dist/src/internal/application/package.js +1 -1
- package/dist/src/internal/application/paths.d.ts +1 -0
- package/dist/src/internal/application/paths.js +1 -1
- package/dist/src/internal/nitro/host/prepare-application-host.js +1 -1
- package/dist/src/internal/nitro/host/vercel-build-output-config.d.ts +1 -0
- package/dist/src/internal/nitro/host/vercel-build-output-config.js +1 -1
- package/dist/src/public/channels/chat-sdk/chatSdkChannel.js +1 -1
- package/dist/src/setup/scaffold/create/project.js +1 -1
- package/package.json +5 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,i as t,t as n}from"../../_chunks/workflow/chunk-BHKSVoKr.js";import{i as r,n as i,r as a,t as o}from"../../_chunks/workflow/dist-CttsoN4D.js";import{C as s,T as c,h as l,l as u,o as d,r as f,u as p}from"../../_chunks/workflow/dist-DpDDcpTl.js";import{A as m,B as h,D as g,E as _,G as v,H as y,I as b,J as x,K as ee,L as te,M as S,O as ne,R as C,V as re,W as w,Z as T,_ as ie,c as ae,et as E,f as oe,it as D,j as se,m as O,n as ce,nt as k,o as A,r as le,s as ue,u as j,y as M,z as de}from"../../_chunks/workflow/dist-
|
|
1
|
+
import{a as e,i as t,t as n}from"../../_chunks/workflow/chunk-BHKSVoKr.js";import{i as r,n as i,r as a,t as o}from"../../_chunks/workflow/dist-CttsoN4D.js";import{C as s,T as c,h as l,l as u,o as d,r as f,u as p}from"../../_chunks/workflow/dist-DpDDcpTl.js";import{A as m,B as h,D as g,E as _,G as v,H as y,I as b,J as x,K as ee,L as te,M as S,O as ne,R as C,V as re,W as w,Z as T,_ as ie,c as ae,et as E,f as oe,it as D,j as se,m as O,n as ce,nt as k,o as A,r as le,s as ue,u as j,y as M,z as de}from"../../_chunks/workflow/dist-CQenixFf.js";import{t as N}from"../../_chunks/workflow/undici-fb54XL8i.js";import{createHash as P}from"node:crypto";import{promisify as fe}from"node:util";import{fileURLToPath as pe}from"node:url";import{promises as F}from"node:fs";import I,{access as me,constants as he,mkdir as ge,readFile as L,readdir as _e,readlink as ve,rm as ye,unlink as be,writeFile as xe}from"node:fs/promises";import R from"node:path";import{execFile as Se}from"node:child_process";import{setTimeout as Ce}from"node:timers/promises";import{EventEmitter as we}from"node:events";function Te(e,t=10){let n=parseInt(e,t);if(!Number.isNaN(n)&&n>=0&&n<=65535)return n}function Ee(e,t){let n=[],r=e.trim().split(`
|
|
2
2
|
`);for(let e of r){let r=e.trim().split(/\s+/);if(r.length<5||r[0]?.toUpperCase()!==`TCP`)continue;let[,i,,a,o]=r;if(a?.toUpperCase()!==`LISTENING`||o!==t.toString())continue;let s=i.lastIndexOf(`:`);if(s===-1)continue;let c=Te(i.slice(s+1));c!==void 0&&n.push(c)}return n}const De=fe(Se);function Oe(e,t=10){let n=parseInt(e,t);if(!Number.isNaN(n)&&n>=0&&n<=65535)return n}const ke=((e,t)=>e.join(t))([``,`proc`],`/`);async function Ae(e){let t=[`${ke}/net/tcp`,`${ke}/net/tcp6`],n=[],r=new Set,i=`${ke}/${e}/fd`;try{let e=(await _e(i)).sort((e,t)=>Number.parseInt(e,10)-Number.parseInt(t,10)),t=await Promise.allSettled(e.map(async e=>(await ve(`${i}/${e}`)).match(/^socket:\[(\d+)\]$/)?.[1]??null));for(let e of t)e.status===`fulfilled`&&e.value&&(n.push(e.value),r.add(e.value))}catch{return[]}if(n.length===0)return[];let a=new Map;for(let e of t)try{let t=(await L(e,`utf8`)).split(`
|
|
3
3
|
`).slice(1);for(let e of t){if(!e.trim())continue;let t=e.trim().split(/\s+/);if(t.length<10)continue;let n=t[1],i=t[3],o=t[9];if(!n||i!==`0A`||!o||!r.has(o))continue;let s=n.indexOf(`:`);if(s===-1)continue;let c=n.slice(s+1);if(!c)continue;let l=Oe(c,16);l!==void 0&&a.set(o,l)}}catch{}let o=[];for(let e of n){let t=a.get(e);t!==void 0&&o.push(t)}return o}async function je(e){try{let{stdout:t}=await De(`lsof`,[`-a`,`-i`,`-P`,`-n`,`-p`,e.toString()]),n=[],r=t.split(`
|
|
4
|
-
`);for(let e of r)if(e.includes(`LISTEN`)){let t=e.trim().split(/\s+/)[8];if(t){let e=t.lastIndexOf(`:`);if(e!==-1){let r=Oe(t.slice(e+1));r!==void 0&&n.push(r)}}}return n}catch{return[]}}async function Me(e){try{let{stdout:t}=await De(`cmd`,[`/c`,`netstat -ano -p tcp | findstr LISTENING`]);return Ee(t,e)}catch{return[]}}async function Ne(){let{pid:e,platform:t}=process;try{switch(t){case`linux`:return await Ae(e);case`darwin`:return await je(e);case`win32`:return await Me(e);default:return[]}}catch(e){return process.env.NODE_ENV===`development`&&console.debug(`[getAllPorts] Detection failed:`,e),[]}}const Pe=`${o}/flow?__health`;async function Fe(e,t={}){let{endpoint:n=Pe,timeout:r=500}=t,i=new AbortController,a=setTimeout(()=>i.abort(),r);try{return(await fetch(`http://localhost:${e}${n}`,{method:`HEAD`,signal:i.signal})).status===200}catch{return!1}finally{clearTimeout(a)}}async function Ie(e){let t=await Ne();if(t.length===0)return;if(t.length===1)return t[0];let n=(await Promise.all(t.map(async t=>({port:t,isWorkflow:await Fe(t,e)})))).find(e=>e.isWorkflow);return n?n.port:(process.env.NODE_ENV===`development`&&console.debug(`[getWorkflowPort] Probing failed, falling back to first port:`,t[0]),t[0])}function Le(e){let t={get value(){let n=e();return Object.defineProperty(t,"value",{value:n}),n}};return t}const Re=()=>process.env.WORKFLOW_LOCAL_DATA_DIR||`.workflow-data`,ze=()=>process.env.WORKFLOW_LOCAL_BASE_URL,Be=Le(()=>({dataDir:Re(),baseUrl:ze()}));function Ve(e){return e.baseUrl??process.env.WORKFLOW_LOCAL_BASE_URL??i(`http://localhost`)}async function He(e){if(e.baseUrl)return e.baseUrl;if(process.env.WORKFLOW_LOCAL_BASE_URL)return process.env.WORKFLOW_LOCAL_BASE_URL;if(typeof e.port==`number`)return i(`http://localhost:${e.port}`);if(process.env.PORT)return i(`http://localhost:${process.env.PORT}`);let t=await Ie({endpoint:a()});if(t)return i(`http://localhost:${t}`);throw Error(`Unable to resolve base URL for workflow queue.`)}const Ue=A(()=>Math.random());function We(e){let t=typeof e==`string`?e:String(e);return t.length>48?`${t.slice(0,48)}…`:t}var Ge=class extends c{constructor(e,t){super(`Unsafe ${e} "${We(t)}": must not be empty, contain ".", "/", "\\", or null bytes`),this.name=`UnsafeEntityIdError`}static is(e){return e instanceof Error&&e.name===`UnsafeEntityIdError`}};function z(e,t){if(t.length===0||t.startsWith(`.`)||t.includes(`/`)||t.includes(`\\`)||t.includes(`\0`)||t.includes(`.`))throw new Ge(e,t)}function B(e,...t){let n=R.resolve(e),r=R.resolve(e,...t);if(r!==n&&!r.startsWith(n+R.sep))throw new Ge(`path`,t.join(`/`));return r}const Ke=process.platform===`win32`;async function qe(e,t=5){if(!Ke)return e();let n=[`EPERM`,`EBUSY`,`EACCES`];for(let r=0;r<=t;r++)try{return await e()}catch(e){if(!(r<t&&n.includes(e.code)))throw e;let i=10*2**r+Math.random()*10;await new Promise(e=>setTimeout(e,i))}throw Error(`Retry loop exited unexpectedly`)}const Je=new Set,Ye=new Set;function Xe(){Je.clear(),Ye.clear()}const Ze=/\.[a-zA-Z][a-zA-Z0-9-]*$/;function Qe(e){return e.replace(Ze,``)}function $e(e,t){return e.endsWith(`.${t}`)}function et(e){return!Ze.test(e)}function V(e,t,n,r){return z(`fileId`,n),r!==void 0&&z(`tag`,r),B(e,t,r?`${n}.${r}.json`:`${n}.json`)}async function H(e,t,n,r,i){if(z(`fileId`,n),i!==void 0&&z(`tag`,i),i){let a=await G(B(e,t,`${n}.${i}.json`),r);if(a!==null)return a}return G(B(e,t,`${n}.json`),r)}async function tt(e,t){let n=`.${t}.json`;try{return(await F.readdir(e)).filter(e=>e.endsWith(n))}catch(e){if(e.code===`ENOENT`)return[];throw e}}async function nt(e,t,n){let r=`.${t}${n}`;try{return(await F.readdir(e)).filter(e=>e.endsWith(r))}catch(e){if(e.code===`ENOENT`)return[];throw e}}async function rt(e){let t=R.resolve(e);if(!Ye.has(t))try{await F.mkdir(t,{recursive:!0}),Ye.add(t)}catch{}}async function it(e,t){await rt(e);try{return await t()}catch(n){if(n.code!==`ENOENT`)throw n;return Ye.delete(R.resolve(e)),await rt(e),t()}}function U(e,t){return t instanceof Uint8Array?{__type:`Uint8Array`,data:Buffer.from(t).toString(`base64`)}:t}function at(e,t){return typeof t==`object`&&t&&t.__type===`Uint8Array`&&typeof t.data==`string`?new Uint8Array(Buffer.from(t.data,`base64`)):t}async function W(e,t,n){return ot(e,JSON.stringify(t,U,2),n)}async function ot(e,t,n){if(!n?.overwrite){if(Je.has(e))throw new f(`File ${e} already exists and 'overwrite' is false`);try{throw await F.access(e),Je.add(e),new f(`File ${e} already exists and 'overwrite' is false`)}catch(e){if(e.code!==`ENOENT`)throw e}}let r=`${e}.tmp.${Ue()}`,i=!1;try{await it(R.dirname(e),async()=>{await F.writeFile(r,t),i=!0,await qe(()=>F.rename(r,e))}),Je.add(e)}catch(e){throw i&&await qe(()=>F.unlink(r),3).catch(()=>{}),e}}async function G(e,t){try{let n=await F.readFile(e,`utf-8`);return t.parse(JSON.parse(n,at))}catch(e){if(e.code===`ENOENT`)return null;throw e}}async function st(e){return await F.readFile(e)}async function ct(e){let t=await F.open(e,`r`);try{let e=Buffer.allocUnsafe(1),{bytesRead:n}=await t.read(e,0,1,0);return n===0?void 0:e[0]}finally{await t.close()}}async function K(e){try{await F.unlink(e)}catch(e){if(e.code!==`ENOENT`)throw e}}async function q(e,t){let n=`${e}.tmp.${Ue()}`,r=!1;try{return await it(R.dirname(e),async()=>{await F.writeFile(n,t,{flag:`wx`}),r=!0;try{return await qe(()=>F.link(n,e)),!0}catch(e){if(e.code===`EEXIST`)return!1;throw e}})}finally{r&&await qe(()=>F.unlink(n),3).catch(()=>{})}}async function J(e){return lt(e,`.json`)}async function lt(e,t){try{return(await F.readdir(e)).filter(e=>e.endsWith(t)).map(e=>e.slice(0,-t.length))}catch(e){if(e.code===`ENOENT`)return[];throw e}}function ut(e){if(!e)return null;let t=e.split(`|`);return{timestamp:new Date(t[0]),id:t[1]||null}}function dt(e,t){return t?`${e.toISOString()}|${t}`:e.toISOString()}async function Y(e){let{directory:t,schema:n,cachedItems:r,filePrefix:i,fileIdFilter:a,filter:o,sortOrder:s=`desc`,limit:c=20,cursor:l,getCreatedAt:u,getId:d}=e;i!==void 0&&z(`filePrefix`,i);let f=R.resolve(t),p=await J(f),m=i?p.filter(e=>e.startsWith(i)):p,h=a?m.filter(a):m,g=ut(l),_=h;g&&(_=h.filter(e=>{let t=u(`${e}.json`);if(t){let e=g.timestamp.getTime(),n=t.getTime();return g.id?s===`desc`?n<=e:n>=e:s===`desc`?n<e:n>e}return!0}));let v=[];for(let e=0;e<_.length;e+=32){let t=_.slice(e,e+32),i=await Promise.all(t.map(async e=>{let t=R.join(f,`${e}.json`);try{let e=r?.get(t);return e===void 0?await G(t,n):structuredClone(e)}catch(t){if(t instanceof D)return console.warn(`Skipping item ${e} due to malformed JSON: ${t.message}`),null;throw t}}));for(let e of i)if(e&&!(o&&!o(e))){if(g){let t=e.createdAt.getTime(),n=g.timestamp.getTime();if(s===`desc`){if(t>n||t===n&&g.id&&d&&d(e)>=g.id)continue}else if(t<n||t===n&&g.id&&d&&d(e)<=g.id)continue}v.push(e)}}v.sort((e,t)=>{let n=e.createdAt.getTime(),r=t.createdAt.getTime(),i=s===`asc`?n-r:r-n;if(i===0&&d){let n=d(e),r=d(t);return s===`asc`?n.localeCompare(r):r.localeCompare(n)}return i});let y=v.length>c,b=y?v.slice(0,c):v;return{data:b,cursor:b.length>0?dt(b[b.length-1].createdAt,d?.(b[b.length-1])):null,hasMore:y}}let X=null;function ft(){return typeof import.meta.url==`string`&&import.meta.url?R.dirname(pe(import.meta.url)):null}async function pt(){if(X)return X;let e=ft();if(e)try{let t=await L(R.join(e,`../package.json`),`utf-8`);return X=JSON.parse(t),X}catch{}return X={name:`@workflow/world-local`,version:`5.0.0-beta.26`},X}const mt=`version.txt`;var ht=class extends Error{dataDir;code;constructor(e,t,n){super(e),this.name=`DataDirAccessError`,this.dataDir=t,this.code=n}},gt=class extends Error{oldVersion;newVersion;suggestedVersion;constructor(e,t,n,r){super(e),this.name=`DataDirVersionError`,this.oldVersion=t,this.newVersion=n,this.suggestedVersion=r}};function _t(e){let t=e.match(/^(\d+)\.(\d+)\.(\d+)(?:-(.+))?$/);if(!t)throw Error(`Invalid version string: "${e}"`);return{major:parseInt(t[1],10),minor:parseInt(t[2],10),patch:parseInt(t[3],10),prerelease:t[4],raw:e}}function Z(e){let t=`${e.major}.${e.minor}.${e.patch}`;return e.prerelease?`${t}-${e.prerelease}`:t}function vt(e){let t=e.trim(),n=t.lastIndexOf(`@`);if(n<=0)throw Error(`Invalid version file content: "${e}"`);return{packageName:t.substring(0,n),version:_t(t.substring(n+1))}}function yt(e,t){return`${e}@${Z(t)}`}function bt(e,t){console.log(`[world-local] Upgrading from version ${Z(e)} to ${Z(t)}`)}async function xt(e){let t=R.resolve(e);try{await ge(t,{recursive:!0})}catch(e){let n=e;if(n.code!==`EEXIST`)throw new ht(`Failed to create data directory "${t}": ${n.message}`,t,n.code)}try{await me(t,he.R_OK)}catch(e){let n=e;throw new ht(`Data directory "${t}" is not readable: ${n.message}`,t,n.code)}let n=R.join(t,`.workflow-write-test-${Date.now()}`);try{await xe(n,``),await be(n).catch(e=>{if(e.code!==`ENOENT`)throw e})}catch(e){let n=e;throw new ht(`Data directory "${t}" is not writable: ${n.message}`,t,n.code)}}async function St(e){let t=R.join(R.resolve(e),mt);try{return vt(await L(t,`utf-8`))}catch(e){if(e.code===`ENOENT`)return null;throw e}}async function Ct(e,t){await xe(R.join(R.resolve(e),mt),yt((await pt()).name,t))}function wt(e,t){return t||Z(e)}async function Tt(e){await xt(e);let t=await pt(),n=_t(t.version),r=await St(e);if(r===null){await Ct(e,n);return}let{version:i}=r;if(Z(i)!==Z(n))try{bt(i,n),await Ct(e,n)}catch(e){let r=wt(i,e instanceof gt?e.suggestedVersion:void 0);throw console.error(`[world-local] Failed to upgrade data directory from version ${Z(i)} to ${Z(n)}:`,e instanceof Error?e.message:e),console.error(`[world-local] Data is not compatible with the current version. Please downgrade to ${t.name}@${r}`),e}}let Et=null;async function Dt(){return Et||=import(`../../_chunks/workflow/src-CQuMexnO.js`).then(t=>e(t.t(),1)).catch(()=>null),Et}let Ot=null;async function kt(){return Ot||=Dt().then(e=>e?e.trace.getTracer(`workflow`):null),Ot}async function At(e,...t){let[n,r]=await Promise.all([kt(),Dt()]),{fn:i,opts:a}=typeof t[0]==`function`?{fn:t[0],opts:{}}:{fn:t[1],opts:t[0]};if(!i)throw Error(`Function to trace must be provided`);return!n||!r?await i():n.startActiveSpan(e,a,async e=>{try{let t=await i(e);return e.setStatus({code:r.SpanStatusCode.OK}),t}catch(t){throw e.setStatus({code:r.SpanStatusCode.ERROR,message:t.message}),t}finally{e.end()}})}async function jt(e){let t=await Dt();if(t)return t.SpanKind[e]}function Q(...e){return t=>Object.fromEntries(e.map(e=>[e,t]))}const Mt=Q(`peer.service`),Nt=Q(`rpc.system`),Pt=Q(`rpc.service`),Ft=Q(`rpc.method`),It=Q(`workflow.run.id`),Lt=Q(`step.id`),Rt={peerService:`world-local`,rpcSystem:`local`,rpcService:`world-local`},zt={"world.runs.get":0,"world.runs.experimentalSetAttributes":0,"world.steps.get":0,"world.events.create":0,"world.events.get":0},Bt=new Set([`world.steps.list`,`world.events.list`,`world.hooks.list`]);function Vt(e){if(e.length>=2&&typeof e[1]==`object`&&e[1]!==null){let t=e[1];if(typeof t.eventType==`string`)return t.eventType}}function Ht(e,t){return typeof e[t]==`string`?e[t]:void 0}function Ut(e){if(typeof e!=`object`||!e)return;let t=e.runId;return typeof t==`string`?t:void 0}function Wt(e){if(typeof e!=`object`||!e)return;let t=e;if(typeof t.runId==`string`)return t.runId;for(let e of[`run`,`step`,`hook`,`wait`]){let n=t[e];if(typeof n==`object`&&n){let e=n.runId;if(typeof e==`string`)return e}}}function Gt(e,t,n){let r=`${e}.${t}`,i={},a=zt[r],o=a===void 0?Bt.has(r)?Ut(n[0]):void 0:Ht(n,a);if(o&&Object.assign(i,It(o)),r===`world.steps.get`){let e=Ht(n,1);e&&Object.assign(i,Lt(e))}return i}function Kt(e,t){let n={};for(let r of Object.keys(t))if(typeof t[r]!=`function`)n[r]=t[r];else{let i=t[r],a=String(r);n[r]=async(...t)=>{let n=`${e}.${a}`;if(e===`world.events`&&a===`create`){let r=Vt(t);r&&(n=`${e}.${a} ${r}`)}return At(n,{kind:await jt(`INTERNAL`)},async r=>{r?.setAttributes({...Mt(Rt.peerService),...Nt(Rt.rpcSystem),...Pt(Rt.rpcService),...Ft(n),...Gt(e,a,t)});let o=await i(...t),s=Wt(o);return s&&r?.setAttributes(It(s)),o})}}return n}var qt=n((e=>{var n=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.RateLimit=e.Sema=void 0;let r=n(t(`events`));function i(e,t,n,r,i){for(let a=0;a<i;++a)n[a+r]=e[a+t],e[a+t]=void 0}function a(e){return e>>>=0,--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,e+1}function o(e){return a(Math.min(Math.max(16,e),1073741824))}var s=class{constructor(e){this._capacity=o(e),this._length=0,this._front=0,this.arr=[]}push(e){let t=this._length;this.checkCapacity(t+1);let n=this._front+t&this._capacity-1;return this.arr[n]=e,this._length=t+1,t+1}pop(){let e=this._length;if(e===0)return;let t=this._front+e-1&this._capacity-1,n=this.arr[t];return this.arr[t]=void 0,this._length=e-1,n}shift(){let e=this._length;if(e===0)return;let t=this._front,n=this.arr[t];return this.arr[t]=void 0,this._front=t+1&this._capacity-1,this._length=e-1,n}get length(){return this._length}checkCapacity(e){this._capacity<e&&this.resizeTo(o(this._capacity*1.5+16))}resizeTo(e){let t=this._capacity;this._capacity=e;let n=this._front,r=this._length;if(n+r>t){let e=n+r&t-1;i(this.arr,0,this.arr,t,e)}}},c=class extends r.default{};function l(e){return typeof e==`function`}function u(){return`1`}var d=class{constructor(e,{initFn:t=u,pauseFn:n,resumeFn:r,capacity:i=10}={}){if(l(n)!==l(r))throw Error(`pauseFn and resumeFn must be both set for pausing`);this.nrTokens=e,this.free=new s(e),this.waiting=new s(i),this.releaseEmitter=new c,this.noTokens=t===u,this.pauseFn=n,this.resumeFn=r,this.paused=!1,this.releaseEmitter.on(`release`,e=>{let t=this.waiting.shift();t?t.resolve(e):(this.resumeFn&&this.paused&&(this.paused=!1,this.resumeFn()),this.free.push(e))});for(let n=0;n<e;n++)this.free.push(t())}tryAcquire(){return this.free.pop()}async acquire(){let e=this.tryAcquire();return e===void 0?new Promise((e,t)=>{this.pauseFn&&!this.paused&&(this.paused=!0,this.pauseFn()),this.waiting.push({resolve:e,reject:t})}):e}release(e){this.releaseEmitter.emit(`release`,this.noTokens?`1`:e)}drain(){let e=Array(this.nrTokens);for(let t=0;t<this.nrTokens;t++)e[t]=this.acquire();return Promise.all(e)}nrWaiting(){return this.waiting.length}};e.Sema=d;function f(e,{timeUnit:t=1e3,uniformDistribution:n=!1}={}){let r=new d(n?1:e),i=n?t/e:t;return async function(){await r.acquire(),setTimeout(()=>r.release(),i)}}e.RateLimit=f}))(),Jt=N(),Yt=class{contentType=`application/json`;serialize(e){return Buffer.from(JSON.stringify(e,U))}async deserialize(e){let t=[],n=e.getReader();for(;;){let{done:e,value:r}=await n.read();if(e)break;r&&t.push(r)}let r=Buffer.concat(t).toString();return JSON.parse(r,at)}};const Xt=parseInt(process.env.WORKFLOW_LOCAL_QUEUE_MAX_VISIBILITY??`0`,10)||1/0,Zt=2147483647,Qt=parseInt(process.env.WORKFLOW_LOCAL_QUEUE_CONCURRENCY??`0`,10)||1e3,$t=`Cannot perform ArrayBuffer.prototype.slice on a detached ArrayBuffer`;function en(e){let t=e,n=new Set;for(;t&&typeof t==`object`&&!n.has(t);){if(n.add(t),`message`in t&&typeof t.message==`string`&&t.message.includes($t))return!0;t=`cause`in t?t.cause:void 0}return!1}function tn(e){let{kind:t,prefix:n}=ie(e);return{pathname:t===`workflow`?`flow`:`step`,prefix:n}}function nn(e){let t=new Jt.Agent({headersTimeout:0,connections:1e3,keepAliveTimeout:3e4}),n=new Yt,i=A(),a=new qt.Sema(Qt),o=new AbortController,s=o.signal,c=new Map,l=new Map,u=async(o,u,d)=>{let f=[];if(d?.idempotencyKey){let e=c.get(d.idempotencyKey);if(e)return{messageId:e}}let p=n.serialize(u),{pathname:m,prefix:h}=tn(o),g=oe.parse(`msg_${i()}`),_=u,v=_.runId??_.workflowRunId??void 0,y=_.stepId??void 0;if(d?.idempotencyKey){let e=d.idempotencyKey;c.set(e,g),f.push(()=>{c.delete(e)})}return(async()=>{d?.delaySeconds&&d.delaySeconds>0&&await Ce(Math.min(d.delaySeconds*1e3,Zt),void 0,{signal:s}),a.tryAcquire()||(console.warn(`[world-local]: concurrency limit (${Qt}) reached, waiting for queue to free up`),await a.acquire());let n=0;try{for(let i=0;i<256;i++){let a={...d?.headers,"content-type":`application/json`,"x-vqs-queue-name":o,"x-vqs-message-id":g,"x-vqs-message-attempt":String(n+1)},c=l.get(h),u;try{if(c)u=await c(new Request(r(Ve(e),{type:m}),{method:`POST`,headers:a,body:p}));else{let n=await He(e);u=await fetch(r(n,{type:m}),{method:`POST`,duplex:`half`,dispatcher:t,headers:a,body:p})}}catch(e){let t=e?.name;if(s.aborted||t===`AbortError`||t===`ResponseAborted`)return;if(en(e))throw e;console.error(`[world-local] Queue delivery failed at the transport (loop ${i+1}), retrying`,{queueName:o,messageId:g,...v&&{runId:v},...y&&{stepId:y},error:String(e)}),await Ce(5e3,void 0,{signal:s});continue}n++;let f=await u.text();if(u.ok){try{let e=Number(JSON.parse(f).timeoutSeconds);if(Number.isFinite(e)&&e>=0){e>0&&await Ce(Math.min(e*1e3,Zt),void 0,{signal:s});continue}}catch{}return}console.error(`[world-local] Queue message failed (attempt ${n}, HTTP ${u.status})`,{queueName:o,messageId:g,...v&&{runId:v},...y&&{stepId:y},handlerError:f}),await Ce(5e3,void 0,{signal:s})}console.error(`[world-local] Queue message exhausted safety limit (256 attempts)`,{queueName:o,messageId:g,...v&&{runId:v},...y&&{stepId:y}})}finally{a.release()}})().catch(e=>{e?.name===`AbortError`||e?.name===`ResponseAborted`||(en(e)?console.error(`[local world] Queue operation failed: detected "${$t}". This usually means a Next.js proxy/middleware consumed Workflow's internal request before the executor could read it. Exclude \`/.well-known/workflow/*\` from your matcher. See https://workflow-sdk.dev/docs/getting-started/next#configure-proxy-handler`,{queueName:o,messageId:g,...v&&{runId:v},...y&&{stepId:y},originalError:e}):console.error(`[local world] Queue operation failed:`,e))}).finally(()=>{for(let e of f)e()}),{messageId:g}},d=E({"x-vqs-queue-name":O,"x-vqs-message-id":oe,"x-vqs-message-attempt":x()});return{queue:u,createQueueHandler:(e,t)=>async n=>{let r=d.safeParse(Object.fromEntries(n.headers));if(!r.success||!n.body)return Response.json({error:n.body?`Missing required headers`:`Missing request body`},{status:400});let i=r.data[`x-vqs-queue-name`],a=r.data[`x-vqs-message-id`],o=r.data[`x-vqs-message-attempt`];if(!i.startsWith(e))return Response.json({error:`Unhandled queue`},{status:400});let s=await new Yt().deserialize(n.body);try{let e=await t(s,{attempt:o,queueName:i,messageId:a}),n=null;return typeof e?.timeoutSeconds==`number`&&(n=Math.min(e.timeoutSeconds,Xt)),n==null?Response.json({ok:!0}):Response.json({timeoutSeconds:n})}catch(e){return Response.json(String(e),{status:500})}},getDeploymentId:async()=>`dpl_local@${(await pt()).version}`,registerHandler(e,t){l.set(e,t)},async close(){s.aborted||(o.abort(),await t.close())}}}function rn(e){return P(`sha256`).update(e).digest(`hex`)}function an(e,t,n){return B(e,`.locks`,`hooks`,n?`${t}.disposed.${n}`:`${t}.disposed`)}async function on(e,t,n){let r=[an(e,t)];n&&r.push(an(e,t,n));for(let e of r)try{return await I.access(e),!0}catch{}return!1}function sn(e,t){return R.join(e,`hooks`,`tokens`,`${rn(t)}.json`)}async function cn(e,t,n,r){let i=sn(e,t),a;try{a=JSON.parse(await I.readFile(i,`utf8`))}catch{return}a.runId!==n||a.hookId!==r||await I.unlink(i).catch(()=>{})}function ln(e,t,n,r){let i=P(`sha256`).update(`${t}\x00${n}\x00${r}`).digest(`hex`);return R.join(e,`hooks`,`tokens`,`${i}.recovery.json`)}const un=A(()=>Math.random()),$=e=>{let t=RegExp(`^${e}_`,`g`);return n=>{let r=Qe(n.replace(/\.json$/,``))+`.json`,i=r.indexOf(`-`);return i===-1?ce(r.replace(/\.json$/,``).replace(t,``)):e===`step`?null:ce(r.substring(i+1).replace(/\.json$/,``).replace(t,``))}},dn=E({runId:k()}),fn=E({hookId:k(),tag:k().optional()});function pn(e,t){return B(e,`hooks`,`token-index`,rn(t))}function mn(e,t){return z(`hookId`,t),B(e,`hooks`,`id-index`,t)}function hn(e){return B(e,`hooks`,`by-run`)}function gn(e){let t=Qe(e);return t===e?void 0:e.slice(t.length+1)}function _n(e,t){return t?et(e)||$e(e,t):et(e)}async function vn(e){try{return await G(e,S)}catch(e){if(e instanceof SyntaxError||e instanceof D)return null;throw e}}async function yn(e,t,n,r,i,a){z(`runId`,n),z(`eventId`,i),a!==void 0&&z(`tag`,a);let o=a?`${i}.${a}.json`:`${i}.json`,s=JSON.stringify({runId:n});await Promise.all([q(R.join(pn(e,t),o),s),q(R.join(mn(e,r),o),s)])}function bn(e,t,n,r){return V(e,`hooks/by-run`,`${t}-${n}`,r)}async function xn(e,t,n,r){await q(bn(e,t,n,r),JSON.stringify(r?{hookId:n,tag:r}:{hookId:n}))}async function Sn(e,t,n,r){await K(bn(e,t,n,r)),r&&await K(bn(e,t,n))}async function Cn(e,t){z(`runId`,t);let n=hn(e),r=`${t}-`,i=[];for(let e of await J(n)){if(!e.startsWith(r))continue;let t=null;try{t=await G(R.join(n,`${e}.json`),fn)}catch(e){if(!(e instanceof SyntaxError||e instanceof D))throw e}i.push({fileId:e,hookId:t?.hookId??null,tag:t?.tag})}return i}async function wn(e,t){await K(R.join(hn(e),`${t}.json`))}const Tn=new Map;function En(){Tn.clear()}async function Dn(e){let t=R.resolve(e),n=Tn.get(t);return n||(n=kn(t).catch(e=>{throw Tn.delete(t),e}),Tn.set(t,n)),n}async function On(e,t,n){for(let r=0;r<e.length;r+=t)await Promise.all(e.slice(r,r+t).map(n))}async function kn(e){let t=R.join(e,`hooks`,`.hook-index-complete`);try{await I.access(t);return}catch{}let n=R.join(e,`events`);await On(await J(n),32,async t=>{let r=await vn(R.join(n,`${t}.json`));if(!r||r.eventType!==`hook_created`||typeof r.correlationId!=`string`)return;let i=r.eventData?.token;if(typeof i==`string`)try{await yn(e,i,r.runId,r.correlationId,r.eventId,gn(t))}catch{}});let r=R.join(e,`hooks`);await On(await J(r),32,async t=>{let n=null;try{n=await G(R.join(r,`${t}.json`),M)}catch(e){if(!(e instanceof SyntaxError||e instanceof D))throw e}if(n)try{await xn(e,n.runId,n.hookId,gn(t))}catch{}}),await q(t,``)}async function An(e,t,n,r){await Dn(e);let i;try{i=t.kind===`token`?pn(e,t.token):mn(e,t.hookId)}catch{return null}let a=(await J(i)).filter(e=>_n(e,r)).sort((e,t)=>Qe(t).localeCompare(Qe(e)));for(let t of a){let r=null;try{r=await G(R.join(i,`${t}.json`),dn)}catch(e){if(!(e instanceof SyntaxError||e instanceof D))throw e}if(!r)continue;let a=Qe(t),o;try{o=V(e,`events`,`${r.runId}-${a}`,gn(t))}catch{continue}let s=await vn(o);if(s&&s.eventType===`hook_created`&&typeof s.correlationId==`string`&&n(s))return s}return null}function jn(e,t){return t===`none`?{...e,input:void 0,output:void 0}:e}function Mn(e,t){return t===`none`?{...e,input:void 0,output:void 0}:e}function Nn(e,t){if(t===`none`){let{metadata:t,...n}=e;return n}return e}function Pn(e){if(e.eventType!==`hook_created`)return;let t=e.eventData.token;return typeof t==`string`?t:void 0}function Fn(e){let{token:t,metadata:n,isWebhook:r,isSystem:i}=e.eventData;return{runId:e.runId,hookId:e.correlationId,token:t,metadata:n,ownerId:`local-owner`,projectId:`local-project`,environment:`local`,createdAt:e.createdAt,specVersion:e.specVersion,isWebhook:r??!0,isSystem:i??!1}}function In(e,t){return e.eventType===`hook_created`&&typeof e.correlationId==`string`&&t(e)}async function Ln(e,t,n){let r=await H(e,`runs`,t,m,n);return r?se(r.status):!1}async function Rn(e,t,n,r){let i=await An(e,t,e=>In(e,n),r);return!i||!In(i,n)||await Ln(e,i.runId,r)||await on(e,i.correlationId,r)?null:i}async function zn(e,t,n){let r=Fn(t);return await q(R.join(e,`hooks`,`tokens`,`${rn(r.token)}.json`),JSON.stringify({token:r.token,hookId:r.hookId,runId:r.runId,eventId:t.eventId})),await xn(e,r.runId,r.hookId,n),await q(V(e,`hooks`,r.hookId,n),JSON.stringify(r,U,2)),r}async function Bn(e,t,n){let r=await Rn(e,{kind:`token`,token:t},e=>Pn(e)===t,n);return r?zn(e,r,n):null}async function Vn(e,t,n){let r=await Rn(e,{kind:`id`,hookId:t},e=>e.correlationId===t,n);return r?zn(e,r,n):null}function Hn(e,t){let n=E({hookId:k().optional()});async function r(r){let i=null;try{i=await G(sn(e,r),n)}catch(e){if(!(e instanceof SyntaxError||e instanceof D))throw e}if(i?.hookId)try{let n=await H(e,`hooks`,i.hookId,M,t);if(n&&n.token===r)return{...n,isWebhook:n.isWebhook??!0}}catch(e){if(!Ge.is(e))throw e}let a=R.join(e,`hooks`),o=await J(a);for(let e of o){let t=await G(R.join(a,`${e}.json`),M);if(t&&t.token===r)return{...t,isWebhook:t.isWebhook??!0}}return null}async function i(n,r){z(`hookId`,n);let i=await H(e,`hooks`,n,M,t);if(!i){let i=await Vn(e,n,t);if(!i)throw new d(n);let a=r?.resolveData||`all`;return Nn({...i,isWebhook:i.isWebhook??!0},a)}let a=r?.resolveData||`all`;return Nn({...i,isWebhook:i.isWebhook??!0},a)}async function a(n){let i=await r(n)??await Bn(e,n,t);if(!i)throw new d(n);return i}async function o(t){let n=R.join(e,`hooks`),r=t.resolveData||`all`,i=await Y({directory:n,schema:M,sortOrder:t.pagination?.sortOrder??`asc`,limit:t.pagination?.limit,cursor:t.pagination?.cursor,filePrefix:void 0,filter:e=>!(t.runId&&e.runId!==t.runId),getCreatedAt:()=>null,getId:e=>e.hookId});return{...i,data:i.data.map(e=>Nn(e,r))}}return{get:i,getByToken:a,list:o}}async function Un(e,t){await Dn(e);for(let n of await Cn(e,t)){if(n.hookId){let r=null,i=null;try{i=V(e,`hooks`,n.hookId,n.tag),r=await G(i,M)}catch(e){if(!Ge.is(e)&&!(e instanceof SyntaxError||e instanceof D))throw e}r&&i&&r.runId===t&&(await cn(e,r.token,r.runId,r.hookId),await K(ln(e,r.token,r.runId,r.hookId)),await K(i))}await wn(e,n.fileId)}}async function Wn(e,t,n,r,i){z(`runId`,t);let a=i?.resolveData??`all`;switch(n.eventType){case`run_cancelled`:{let n=new Date,i={runId:r.runId,deploymentId:r.deploymentId,workflowName:r.workflowName,specVersion:r.specVersion,executionContext:r.executionContext,input:r.input,createdAt:r.createdAt,expiredAt:r.expiredAt,startedAt:r.startedAt,status:`cancelled`,output:void 0,error:void 0,completedAt:n,updatedAt:n,attributes:r.attributes};return await W(B(e,`runs`,`${t}.json`),i,{overwrite:!0}),await Un(e,t),{event:void 0,run:jn(i,a)}}case`wait_completed`:case`hook_received`:{let r=`evnt_${un()}`,i=new Date,o={...n,runId:t,eventId:r,createdAt:i,specVersion:5};return await W(B(e,`events`,`${`${t}-${r}`}.json`),o),{event:y(o,a)}}default:throw Error(`Event type '${n.eventType}' not supported for legacy runs (specVersion: ${r.specVersion||`undefined`}). Please upgrade 'workflow' package.`)}}const Gn=new Map;function Kn(e,t){let n=Gn.get(e),r={},i=(async()=>{n&&await n.catch(()=>void 0);try{return await t()}finally{Gn.get(e)===r.task&&Gn.delete(e)}})();return r.task=i,Gn.set(e,i),i}function qn(e,t){return{get:(async(n,r)=>{z(`runId`,n);let i=await H(e,`runs`,n,m,t);if(!i)throw new s(n);return jn(i,r?.resolveData??`all`)}),list:(async t=>{let n=t?.resolveData??`all`,r=await Y({directory:R.join(e,`runs`),schema:m,fileIdFilter:t?.fileIdFilter,filter:e=>!(t?.workflowName&&e.workflowName!==t.workflowName||t?.status&&e.status!==t.status),sortOrder:t?.pagination?.sortOrder??`desc`,limit:t?.pagination?.limit??200,cursor:t?.pagination?.cursor,getCreatedAt:$(`wrun`),getId:e=>e.runId});return n===`none`?{...r,data:r.data.map(e=>({...e,input:void 0,output:void 0}))}:r}),experimentalSetAttributes:async(n,r,i)=>(z(`runId`,n),Kn(n,async()=>{let a=await H(e,`runs`,n,m,t);if(!a)throw new s(n);try{ee(r,{existingKeys:Object.keys(a.attributes??{}),allowReservedAttributes:i?.allowReservedAttributes})}catch(e){throw e instanceof w,e}let o=v(a.attributes,r),c={...a,attributes:o,updatedAt:new Date};return await W(V(e,`runs`,n,t),c,{overwrite:!0}),{attributes:o}}))}}const Jn=E({hookId:k().optional(),runId:k(),eventId:k().optional()}),Yn=E({eventId:k()});async function Xn(e){try{return await G(e,Jn)}catch(e){if(e instanceof SyntaxError||e instanceof D)return null;throw e}}async function Zn(e,t,n){if(t.hookId&&await on(e,t.hookId,n))return!0;let r=await H(e,`runs`,t.runId,m,n);return r?se(r.status):!0}async function Qn(e){try{return await G(e,Yn)}catch(e){if(e instanceof SyntaxError||e instanceof D)return null;throw e}}async function $n(e,t,n){return(await Y({directory:R.join(e,`events`),schema:S,filePrefix:`${t}-`,filter:e=>e.eventType===`hook_created`&&e.correlationId===n,limit:1,getCreatedAt:$(`evnt`),getId:e=>e.eventId})).data[0]?.eventId??null}async function er(e,t,n,r,i){let a=await H(e,`events`,`${t}-${r}`,S,i);if(!a||a.eventType!==`hook_created`||a.correlationId!==n||await H(e,`hooks`,n,M,i))return;let o=a.eventData??{};if(typeof o.token!=`string`)return;let s={runId:t,hookId:n,token:o.token,metadata:o.metadata,ownerId:`local-owner`,projectId:`local-project`,environment:`local`,createdAt:a.createdAt,specVersion:a.specVersion,isWebhook:o.isWebhook??!0,isSystem:o.isSystem??!1};await yn(e,o.token,t,n,r,i),await xn(e,t,n,i),await q(V(e,`hooks`,n,i),JSON.stringify(s,U,2))}async function tr(e,t,n,r,i){let a=ln(e,t,n,r);return await q(a,JSON.stringify({eventId:i}))?i:(await Qn(a))?.eventId??null}function nr(e,t,n){let r=e.get(t),i={},a=(async()=>{r&&await r.catch(()=>void 0);try{return await n()}finally{e.get(t)===i.task&&e.delete(t)}})();return i.task=a,e.set(t,a),a}async function rr(e,t){let n=R.join(e,`waits`),r=await J(n);for(let e of r)e.startsWith(`${t}-`)&&await K(R.join(n,`${e}.json`))}async function ir(e,t,n,r){return Kn(t,async()=>{let i=await G(V(e,`runs`,t,n),m),a={...r,attributes:i?.attributes??r.attributes};return await W(V(e,`runs`,t,n),a,{overwrite:!0}),a})}function ar(e,t){let n=4*1024*1024,r=new Map,i=new Map,a=new Map,o=0;function x(e){let t=r.get(e);if(!t)return;r.delete(e),o-=i.get(e)??0,i.delete(e);let n=a.get(t.runId);n?.delete(e),n?.size===0&&a.delete(t.runId)}function w(e){for(let t of a.get(e)??[])x(t)}function T(){r.clear(),i.clear(),a.clear(),o=0}function ie(e,t,s){if(s>n)return;for(;r.size>0&&(r.size>=1e3||o+s>n);){let e=r.keys().next().value;x(e)}r.set(e,t),i.set(e,s),o+=s;let c=a.get(t.runId)??new Set;c.add(e),a.set(t.runId,c)}function E(e,t,r){if(h(e.eventType)){w(e.runId);return}let i=Buffer.byteLength(r);if(i>n)return;let a=S.safeParse(JSON.parse(r,at));a.success&&ie(t,a.data,i)}async function oe(n){let r=V(e,`events`,`${n.runId}-${n.eventId}`,t),i=JSON.stringify(n,U,2);await ot(r,i),E(n,r,i)}let D=new Map,O=new Map;return{clearCache:T,async create(n,i,a){if(n!=null&&n!==``&&z(`runId`,n),`correlationId`in i&&typeof i.correlationId==`string`&&z(`correlationId`,i.correlationId),de(i.eventType)&&n&&i.correlationId)return nr(D,t?`${n}-${i.correlationId}.${t}`:`${n}-${i.correlationId}`,()=>o());if(C(i.eventType)&&n&&i.correlationId)return nr(O,t?`${n}-${i.correlationId}.hook.${t}`:`${n}-${i.correlationId}.hook`,()=>o());return o();async function o(){let o=`evnt_${un()}`,x=new Date,C;if(i.eventType===`run_created`&&(!n||n===``))C=`wrun_${un()}`;else if(n)C=n;else throw Error(`runId is required for non-run_created events`);if(i.eventType===`run_created`&&n&&n!==``){let e=le(C,`wrun_`);if(e)throw new c(e)}let w=i.specVersion??5,T=null;if(i.eventType!==`run_created`&&![`step_completed`,`step_retrying`].includes(i.eventType)&&(T=await H(e,`runs`,C,m,t),i.eventType===`run_started`&&!T&&`eventData`in i&&i.eventData)){let n=i.eventData;if(n.deploymentId&&n.workflowName&&n.input!==void 0){ee(Object.entries(n.attributes??{}).map(([e,t])=>({key:e,value:t})),{allowReservedAttributes:n.allowReservedAttributes===!0});let r={runId:C,deploymentId:n.deploymentId,status:`pending`,workflowName:n.workflowName,specVersion:w,executionContext:n.executionContext,input:n.input,output:void 0,error:void 0,startedAt:void 0,completedAt:void 0,attributes:n.attributes??{},createdAt:x,updatedAt:x};if(await q(V(e,`runs`,C,t),JSON.stringify(r,U))){let e=`evnt_${un()}`;await oe({eventType:`run_created`,runId:C,eventId:e,createdAt:x,specVersion:w,eventData:{deploymentId:n.deploymentId,workflowName:n.workflowName,input:n.input,executionContext:n.executionContext,attributes:n.attributes,allowReservedAttributes:n.allowReservedAttributes}}),T=r}else T=await H(e,`runs`,C,m,t)}}if(i.eventType===`run_failed`&&!T||i.eventType===`attr_set`&&!T)throw new s(C);if(T){if(ae(T.specVersion))throw new p(T.specVersion,5);if(ue(T.specVersion))return Wn(e,C,i,T,a)}let ie=b(i),D=ie&&i.eventType===`step_started`;if(T&&se(T.status)){if(i.eventType===`run_cancelled`&&T.status===`cancelled`){let e={...i,runId:C,eventId:o,createdAt:x,specVersion:w};return await oe(e),{event:y(e,a?.resolveData??`all`),run:T}}if(i.eventType===`run_started`)throw new u(`Workflow run "${C}" is already in terminal state "${T.status}"`);if(h(i.eventType))throw new f(`Cannot transition run from terminal state "${T.status}"`);if(ie)throw new f(`Cannot create new entities on run in terminal state "${T.status}"`);if(i.eventType===`attr_set`)throw new f(`Cannot set attributes on run in terminal state "${T.status}"`)}let O=null;if(de(i.eventType)&&i.eventType!==`step_created`&&i.correlationId){if(O=await H(e,`steps`,`${C}-${i.correlationId}`,g,t),!O&&!D)throw new c(`Step "${i.correlationId}" not found`);if(D&&O)throw new f(`Step "${i.correlationId}" already created`);if(O){if(ne(O.status))throw new f(`Cannot modify step in terminal state "${O.status}"`);if(T&&se(T.status)&&O.status!==`running`)throw new u(`Cannot modify non-running step on run in terminal state "${T.status}"`)}}if(te(i.eventType)&&i.correlationId&&(i.eventType===`hook_received`&&await on(e,i.correlationId,t)||!await H(e,`hooks`,i.correlationId,M,t)))throw new d(i.correlationId);let k={...i,runId:C,eventId:o,createdAt:x,specVersion:w};if(i.eventType===`run_started`&&`eventData`in k&&delete k.eventData,D&&k.eventType===`step_started`&&k.eventData){let{input:e,...t}=k.eventData;k={...k,eventData:t}}let A,j,N,P,fe=!1,pe;if(i.eventType===`run_created`&&`eventData`in i){let n=i.eventData;if(ee(Object.entries(n.attributes??{}).map(([e,t])=>({key:e,value:t})),{allowReservedAttributes:n.allowReservedAttributes===!0}),A={runId:C,deploymentId:n.deploymentId,status:`pending`,workflowName:n.workflowName,specVersion:w,executionContext:n.executionContext,input:n.input,output:void 0,error:void 0,startedAt:void 0,completedAt:void 0,attributes:n.attributes??{},createdAt:x,updatedAt:x},!await q(V(e,`runs`,C,t),JSON.stringify(A,U,2)))throw new f(`Workflow run "${C}" already exists`)}else if(i.eventType===`run_started`){if(T){if(T.status===`running`)return{run:T};A=await ir(e,C,t,{runId:T.runId,deploymentId:T.deploymentId,workflowName:T.workflowName,specVersion:T.specVersion,executionContext:T.executionContext,input:T.input,createdAt:T.createdAt,expiredAt:T.expiredAt,status:`running`,output:void 0,error:void 0,completedAt:void 0,startedAt:T.startedAt??x,updatedAt:x,attributes:T.attributes})}}else if(i.eventType===`run_completed`&&`eventData`in i){let n=i.eventData;T&&(A=await ir(e,C,t,{runId:T.runId,deploymentId:T.deploymentId,workflowName:T.workflowName,specVersion:T.specVersion,executionContext:T.executionContext,input:T.input,createdAt:T.createdAt,expiredAt:T.expiredAt,startedAt:T.startedAt,status:`completed`,output:n.output,error:void 0,completedAt:x,updatedAt:x,attributes:T.attributes}),await Promise.all([Un(e,C),rr(e,C)]))}else if(i.eventType===`run_failed`&&`eventData`in i){let n=i.eventData;T&&(A=await ir(e,C,t,{runId:T.runId,deploymentId:T.deploymentId,workflowName:T.workflowName,specVersion:T.specVersion,executionContext:T.executionContext,input:T.input,createdAt:T.createdAt,expiredAt:T.expiredAt,startedAt:T.startedAt,status:`failed`,output:void 0,error:n.error,errorCode:n.errorCode,completedAt:x,updatedAt:x,attributes:T.attributes}),await Promise.all([Un(e,C),rr(e,C)]))}else if(i.eventType===`run_cancelled`)T&&(A=await ir(e,C,t,{runId:T.runId,deploymentId:T.deploymentId,workflowName:T.workflowName,specVersion:T.specVersion,executionContext:T.executionContext,input:T.input,createdAt:T.createdAt,expiredAt:T.expiredAt,startedAt:T.startedAt,status:`cancelled`,output:void 0,error:void 0,completedAt:x,updatedAt:x,attributes:T.attributes}),await Promise.all([Un(e,C),rr(e,C)]));else if(i.eventType===`attr_set`&&T)A=await Kn(C,async()=>{let n=await G(V(e,`runs`,C,t),m);if(!n)throw new s(C);if(ee(i.eventData.changes,{existingKeys:Object.keys(n.attributes),allowReservedAttributes:i.eventData.allowReservedAttributes===!0}),i.correlationId&&i.eventData.writer.type===`workflow`&&!await q(B(e,`.locks`,`attributes`,t?`${C}-${i.correlationId}.created.${t}`:`${C}-${i.correlationId}.created`),``))throw new f(`Attribute event "${i.correlationId}" already exists`);let r={...n,attributes:v(n.attributes,i.eventData.changes),updatedAt:x};return await W(V(e,`runs`,C,t),r,{overwrite:!0}),r});else if(i.eventType===`step_created`&&`eventData`in i){if(!await q(B(e,`.locks`,`steps`,t?`${C}-${i.correlationId}.created.${t}`:`${C}-${i.correlationId}.created`),``))throw new f(`Step "${i.correlationId}" already created`);let n=i.eventData;j={runId:C,stepId:i.correlationId,stepName:n.stepName,status:`pending`,input:n.input,output:void 0,error:void 0,attempt:0,startedAt:void 0,completedAt:void 0,createdAt:x,updatedAt:x,specVersion:w},await W(V(e,`steps`,`${C}-${i.correlationId}`,t),j)}else if(i.eventType===`step_started`){if(!O&&D){let n=i.eventData;if(await q(B(e,`.locks`,`steps`,t?`${C}-${i.correlationId}.created.${t}`:`${C}-${i.correlationId}.created`),``)){let r={runId:C,stepId:i.correlationId,stepName:n.stepName,status:`pending`,input:n.input,output:void 0,error:void 0,attempt:0,startedAt:void 0,completedAt:void 0,createdAt:x,updatedAt:x,specVersion:w};await W(V(e,`steps`,`${C}-${i.correlationId}`,t),r);let a=`evnt_${un()}`,o={eventType:`step_created`,runId:C,eventId:a,createdAt:x,specVersion:w,correlationId:i.correlationId,eventData:{stepName:n.stepName,input:n.input}};await W(V(e,`events`,`${C}-${a}`,t),o),O=r,fe=!0}else throw new f(`Step "${i.correlationId}" already created`)}if(O){if(O.retryAfter&&O.retryAfter.getTime()>Date.now())throw new l(`Cannot start step "${i.correlationId}": retryAfter timestamp has not been reached yet`,{retryAfter:Math.ceil((O.retryAfter.getTime()-Date.now())/1e3)});let n=`${C}-${i.correlationId}`,r=await H(e,`steps`,n,g,t);if(r&&ne(r.status))throw new f(`Cannot modify step in terminal state "${r.status}"`);j={...O,status:`running`,startedAt:O.startedAt??x,attempt:O.attempt+1,retryAfter:void 0,updatedAt:x},await W(V(e,`steps`,n,t),j,{overwrite:!0})}}else if(i.eventType===`step_completed`&&`eventData`in i){let n=i.eventData;if(O){let r=`${C}-${i.correlationId}`;if(!await q(B(e,`.locks`,`steps`,t?`${r}.terminal.${t}`:`${r}.terminal`),``))throw new f(`Cannot modify step in terminal state`);j={...O,status:`completed`,output:n.result,completedAt:x,updatedAt:x},await W(V(e,`steps`,r,t),j,{overwrite:!0})}}else if(i.eventType===`step_failed`&&`eventData`in i){let n=i.eventData;if(O){let r=`${C}-${i.correlationId}`;if(!await q(B(e,`.locks`,`steps`,t?`${r}.terminal.${t}`:`${r}.terminal`),``))throw new f(`Cannot modify step in terminal state`);j={...O,status:`failed`,error:n.error,completedAt:x,updatedAt:x},await W(V(e,`steps`,r,t),j,{overwrite:!0})}}else if(i.eventType===`step_retrying`&&`eventData`in i){let n=i.eventData;if(O){let r=`${C}-${i.correlationId}`;j={...O,status:`pending`,error:n.error,retryAfter:n.retryAfter,updatedAt:x},await W(V(e,`steps`,r,t),j,{overwrite:!0})}}else if(i.eventType===`hook_created`&&`eventData`in i){let n=i.eventData,r=sn(e,n.token),s=JSON.stringify({token:n.token,hookId:i.correlationId,runId:C,eventId:o}),c=!1,l=null,u=0,d=0;for(let a=0;a<10&&(await Xn(r)||await Bn(e,n.token,t),c=await q(r,s),!c);a++){if(l=await Xn(r),!l){d++,d>=3&&await K(r);continue}if(l.runId===C&&l.hookId===i.correlationId||!await Zn(e,l,t))break;u++,u<3?await new Promise(e=>setTimeout(e,10)):(await K(r),l.hookId&&(await K(V(e,`hooks`,l.hookId,t)),await K(ln(e,n.token,l.runId,l.hookId)))),l=null}let p=!1;if(!c)if(l?.runId===C&&l.hookId===i.correlationId){let r;if(l.eventId)r=l.eventId;else{let a=await $n(e,C,i.correlationId);if(a!==null)throw await er(e,C,i.correlationId,a,t),new f(`Hook "${i.correlationId}" already created`);let s=await tr(e,n.token,C,i.correlationId,o);if(s===null)throw new f(`Hook "${i.correlationId}" already created`);r=s}o=r;let a=ce(o.replace(/^evnt_/,``))??x;k={...i,runId:C,eventId:o,createdAt:a,specVersion:w},p=!0}else{let e={eventType:`hook_conflict`,correlationId:i.correlationId,eventData:{token:n.token,...l?{conflictingRunId:l.runId}:{}},runId:C,eventId:o,createdAt:x,specVersion:w};return await oe(e),{event:y(e,a?.resolveData??`all`),run:A,step:j,hook:void 0}}N={runId:C,hookId:i.correlationId,token:n.token,metadata:n.metadata,ownerId:`local-owner`,projectId:`local-project`,environment:`local`,createdAt:k.createdAt,specVersion:w,isWebhook:n.isWebhook??!1,isSystem:n.isSystem??!1},pe=p?{overwrite:!0}:void 0,await yn(e,n.token,C,i.correlationId,o,t)}else if(i.eventType===`hook_disposed`){if(!await q(an(e,i.correlationId,t),``))throw new f(`Hook "${i.correlationId}" already disposed`);let n=V(e,`hooks`,i.correlationId,t),r=await H(e,`hooks`,i.correlationId,M,t);r&&(await cn(e,r.token,r.runId,r.hookId),await K(ln(e,r.token,r.runId,r.hookId))),await K(n),await Sn(e,C,i.correlationId,t)}else if(i.eventType===`wait_created`&&`eventData`in i){let n=`${C}-${i.correlationId}`;if(!await q(B(e,`.locks`,`waits`,t?`${n}.created.${t}`:`${n}.created`),``))throw new f(`Wait "${i.correlationId}" already exists`);let r=i.eventData;P={waitId:n,runId:C,status:`waiting`,resumeAt:r.resumeAt,completedAt:void 0,createdAt:x,updatedAt:x,specVersion:w},await W(V(e,`waits`,n,t),P)}else if(i.eventType===`wait_completed`){let n=`${C}-${i.correlationId}`,r=B(e,`.locks`,`waits`,t?`${n}.completed.${t}`:`${n}.completed`);if(!await q(r,``))throw new f(`Wait "${i.correlationId}" already completed`);let a=await H(e,`waits`,n,_,t);if(!a)throw await I.unlink(r).catch(()=>{}),new c(`Wait "${i.correlationId}" not found`);P={...a,status:`completed`,completedAt:x,updatedAt:x},await W(V(e,`waits`,n,t),P,{overwrite:!0})}if(i.eventType===`hook_received`&&i.correlationId&&await on(e,i.correlationId,t))throw new d(i.correlationId);let F=V(e,`events`,`${C}-${o}`,t),me=JSON.stringify(k,U,2);if(!await q(F,me))throw i.eventType===`hook_created`&&i.correlationId&&await er(e,C,i.correlationId,o,t),new f(`Event "${o}" already exists for run "${C}"`);E(k,F,me),N&&i.eventType===`hook_created`&&(await xn(e,N.runId,N.hookId,t),await W(V(e,`hooks`,N.hookId,t),N,pe));let he=a?.resolveData??`all`,ge=y(k,he),L,_e,ve;if(i.eventType===`run_started`&&A){let t=await Y({directory:R.join(e,`events`),schema:S,cachedItems:r,filePrefix:`${C}-`,sortOrder:`asc`,limit:1e3,getCreatedAt:$(`evnt`),getId:e=>e.eventId});L=t.data,_e=t.cursor,ve=t.hasMore}if(re(i.eventType)&&typeof a?.sinceCursor==`string`){let t=await Y({directory:R.join(e,`events`),schema:S,filePrefix:`${C}-`,sortOrder:`asc`,cursor:a.sinceCursor,getCreatedAt:$(`evnt`),getId:e=>e.eventId});L=he===`none`?t.data.map(e=>y(e,he)):t.data,_e=t.cursor,ve=t.hasMore}return{event:ge,run:A,step:j,hook:N,wait:P,events:L,cursor:_e,hasMore:ve,...fe?{stepCreated:!0}:{}}}},async get(n,r,i){z(`runId`,n),z(`eventId`,r);let a=await H(e,`events`,`${n}-${r}`,S,t);if(!a)throw Error(`Event ${r} in run ${n} not found`);return y(a,i?.resolveData??`all`)},async list(t){let{runId:n}=t;z(`runId`,n);let i=t.resolveData??`all`,a=await Y({directory:R.join(e,`events`),schema:S,cachedItems:r,filePrefix:`${n}-`,sortOrder:t.pagination?.sortOrder??`asc`,limit:t.pagination?.limit,cursor:t.pagination?.cursor,getCreatedAt:$(`evnt`),getId:e=>e.eventId});return i===`none`?{...a,data:a.data.map(e=>y(e,i))}:a},async listByCorrelationId(t){let n=t.correlationId;z(`correlationId`,n);let i=t.resolveData??`all`,a=await Y({directory:R.join(e,`events`),schema:S,cachedItems:r,filter:e=>e.correlationId===n,sortOrder:t.pagination?.sortOrder??`asc`,limit:t.pagination?.limit,cursor:t.pagination?.cursor,getCreatedAt:$(`evnt`),getId:e=>e.eventId});return i===`none`?{...a,data:a.data.map(e=>y(e,i))}:a}}}function or(e,t){return{get:(async(n,r,i)=>{z(`runId`,n),z(`stepId`,r);let a=await H(e,`steps`,`${n}-${r}`,g,t);if(!a)throw Error(`Step ${r} in run ${n} not found`);return Mn(a,i?.resolveData??`all`)}),list:(async t=>{z(`runId`,t.runId);let n=t.resolveData??`all`,r=await Y({directory:R.join(e,`steps`),schema:g,filePrefix:`${t.runId}-`,sortOrder:t.pagination?.sortOrder??`desc`,limit:t.pagination?.limit,cursor:t.pagination?.cursor,getCreatedAt:$(`step`),getId:e=>e.stepId});return n===`none`?{...r,data:r.data.map(e=>({...e,input:void 0,output:void 0}))}:r})}}function sr(e,t){let n=qn(e,t),r=or(e,t),i=ar(e,t),a=Hn(e,t);return{runs:Kt(`world.runs`,n),steps:Kt(`world.steps`,r),events:Kt(`world.events`,i),hooks:Kt(`world.hooks`,a),clearCache:()=>i.clearCache()}}const cr=A(()=>Math.random()),lr=E({streams:T(k())});function ur(e){return e===1}function dr(e){let t=Buffer.from([+!!e.eof]);return Buffer.concat([t,e.chunk])}function fr(e){return ur(e[0])}function pr(e){return{eof:fr(e),chunk:Buffer.from(e.subarray(1))}}async function mr(e){try{return await I.readdir(e)}catch(e){if(e.code===`ENOENT`)return[];throw e}}function hr(e,t,n,r=n,i=()=>!0){for(let a of t){if(!a.endsWith(n))continue;let t=a.slice(0,-n.length);i(t)&&e.set(t,r)}}function gr(e,t){return z(`streamName`,t),R.join(e,t)}async function _r(e,t,n){let r=gr(e,t),i=await mr(r),a=new Map;return hr(a,i,`.json`),hr(a,i,`.bin`,`.bin`,n?e=>!e.endsWith(`.${n}`):void 0),n&&hr(a,i,`.${n}.bin`),{files:[...a.keys()].sort(),extMap:a,dir:r}}function vr(e,t){let n=t?`.${t}`:``,r=new we,i=new Set;async function a(n,r){z(`runId`,n),z(`streamName`,r);let a=`${n}:${r}`;if(i.has(a))return;let o=V(e,`streams/runs`,n,t),s=(await H(e,`streams/runs`,n,lr,t))?.streams??[];s.includes(r)||(s.push(r),await W(o,{streams:s},{overwrite:!0})),i.add(a)}function o(e){return typeof e==`string`?Buffer.from(new TextEncoder().encode(e)):e instanceof Buffer?e:Buffer.from(e)}return{streams:{async write(t,i,s){let c=`chnk_${cr()}`;await a(await t,i);let l=o(s),u=dr({chunk:l,eof:!1});await ot(R.join(gr(R.join(e,`streams`,`chunks`),i),`${c}${n}.bin`),u);let d=Uint8Array.from(l);r.emit(`chunk:${i}`,{streamName:i,chunkData:d,chunkId:c})},async writeMulti(t,i,s){if(s.length===0)return;let c=s.map(()=>`chnk_${cr()}`);await a(await t,i);let l=s.map(e=>o(e)).map(async(t,r)=>{let a=c[r],o=dr({chunk:t,eof:!1});return await ot(R.join(gr(R.join(e,`streams`,`chunks`),i),`${a}${n}.bin`),o),{chunkId:a,chunkData:Uint8Array.from(t)}});for(let e of l){let{chunkId:t,chunkData:n}=await e;r.emit(`chunk:${i}`,{streamName:i,chunkData:n,chunkId:t})}},async close(t,i){let o=`chnk_${cr()}`;await a(await t,i),await ot(R.join(gr(R.join(e,`streams`,`chunks`),i),`${o}${n}.bin`),dr({chunk:Buffer.from([]),eof:!0})),r.emit(`close:${i}`,{streamName:i})},async list(n){return z(`runId`,n),(await H(e,`streams/runs`,n,lr,t))?.streams??[]},async getChunks(n,r,i){let a=i?.limit??100,{files:o,extMap:s,dir:c}=await _r(R.join(e,`streams`,`chunks`),r,t),l=0;if(i?.cursor)try{l=JSON.parse(Buffer.from(i.cursor,`base64`).toString(`utf-8`)).i}catch{l=0}let u=!1,d=[],f=0;for(let e of o){let t=s.get(e)??`.bin`,n=R.join(c,`${e}${t}`);if(f<l){if(ur(await ct(n))){u=!0;break}f++;continue}if(d.length>=a){ur(await ct(n))?u=!0:f++;break}let r=pr(await st(n));if(r.eof){u=!0;break}d.push({index:f,data:Uint8Array.from(r.chunk)}),f++}let p=!u&&f>l+d.length,m=l+d.length;return{data:d,cursor:p?Buffer.from(JSON.stringify({i:m})).toString(`base64`):null,hasMore:p,done:u}},async getInfo(n,r){let{files:i,extMap:a,dir:o}=await _r(R.join(e,`streams`,`chunks`),r,t),s=!1,c=0;for(let e of i){let t=a.get(e)??`.bin`;if(ur(await ct(R.join(o,`${e}${t}`)))){s=!0;break}c++}return{tailIndex:c-1,done:s}},async get(n,i,a=0){let o=R.join(e,`streams`,`chunks`),s=()=>{},c=null,l=!1;return new ReadableStream({async start(e){let n=new Set,u=[],d=!0,f=!1,p=t=>{if(t.chunkData.byteLength===0){n.add(t.chunkId);return}d?(n.add(t.chunkId),u.push({chunkId:t.chunkId,chunkData:Uint8Array.from(t.chunkData)})):n.has(t.chunkId)||(n.add(t.chunkId),e.enqueue(Uint8Array.from(t.chunkData)))},m=()=>{if(d){f=!0;return}l=!0,s();try{e.close()}catch{}};s=()=>{r.off(`chunk:${i}`,p),r.off(`close:${i}`,m),c&&=(clearInterval(c),null)},r.on(`chunk:${i}`,p),r.on(`close:${i}`,m);let{files:h,extMap:g,dir:_}=await _r(o,i,t),v=h.length;if(typeof a==`number`&&a<0&&h.length>0){let e=h[h.length-1],t=g.get(e)??`.bin`;ur(await ct(R.join(_,`${e}${t}`)))&&v--}let y=typeof a==`number`&&a<0?Math.max(0,v+a):a,b=!1;for(let t=y;t<h.length;t++){let r=h[t],i=r;if(n.has(i))continue;let a=g.get(r)??`.bin`,o=pr(await st(R.join(_,`${r}${a}`)));if(o?.eof===!0){b=!0;break}n.add(i),o.chunk.byteLength&&e.enqueue(Uint8Array.from(o.chunk))}d=!1,u.sort((e,t)=>e.chunkId.localeCompare(t.chunkId));for(let t of u)e.enqueue(Uint8Array.from(t.chunkData));if(b){l=!0,s();try{e.close()}catch{}return}if(f){l=!0,s();try{e.close()}catch{}return}for(let e=0;e<y&&e<h.length;e++)n.add(h[e]);if(l){s();return}let x=!1;c=setInterval(async()=>{if(!x){x=!0;try{let{files:r,extMap:a}=await _r(o,i,t);for(let t of r){let r=t;if(n.has(r))continue;n.add(r);let i=a.get(t)??`.bin`,o=pr(await st(R.join(_,`${t}${i}`)));if(o?.eof===!0){l=!0,s();try{e.close()}catch{}return}if(l)return;o.chunk.byteLength&&e.enqueue(Uint8Array.from(o.chunk))}}catch(e){e instanceof Error&&`code`in e||console.error(`[world-local] Unexpected polling error:`,e)}finally{x=!1}}},100)},cancel(){l=!0,s()}})}}}}function yr(e){let t=e?Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0)):{},n={...Be.value,...t},r=n.tag,i=nn(n),{clearCache:a,...o}=sr(n.dataDir,r),s=n.recoverActiveRuns??!0;return{specVersion:5,...i,...o,...Kt(`world.streams`,{...vr(n.dataDir,r),...n.streamFlushIntervalMs!==void 0&&{streamFlushIntervalMs:n.streamFlushIntervalMs}}),async start(){if(await Tt(n.dataDir),!s)return;let e=r?e=>$e(e,r):et;await j({...o.runs,list:(t=>o.runs.list({...t,fileIdFilter:e}))},i.queue,`world-local`)},async close(){a(),await i.close()},async clear(){if(a(),r){let e=n.dataDir,t=R.join(e,`hooks`),i=await tt(t,r),{HookSchema:a}=await import(`../../_chunks/workflow/dist-DnBjuNAZ.js`).then(e=>e.t);await Promise.all(i.map(async n=>{let r=await G(R.join(t,n),a);r?.token&&(await K(R.join(t,`tokens`,`${rn(r.token)}.json`)),await K(ln(e,r.token,r.runId,r.hookId)))})),await Promise.all([`runs`,`steps`,`events`,`hooks`,`hooks/by-run`,`waits`,`streams/runs`].map(async t=>{let n=R.join(e,t),i=await tt(n,r);await Promise.all(i.map(e=>K(R.join(n,e))))}));for(let t of[`token-index`,`id-index`]){let n=R.join(e,`hooks`,t),i;try{i=await F.readdir(n,{withFileTypes:!0})}catch{i=[]}await Promise.all(i.filter(e=>e.isDirectory()).map(async e=>{let t=R.join(n,e.name),i=await tt(t,r);await Promise.all(i.map(e=>K(R.join(t,e))))}))}await F.rm(R.join(e,`.locks`),{recursive:!0,force:!0}).catch(()=>{});let o=R.join(e,`streams`,`chunks`),s;try{s=await F.readdir(o,{withFileTypes:!0})}catch{s=[]}await Promise.all(s.filter(e=>e.isDirectory()).map(async e=>{let t=R.join(o,e.name),n=await nt(t,r,`.bin`);await Promise.all(n.map(e=>F.unlink(R.join(t,e)).catch(()=>{})))})),Xe()}else Xe(),En(),await ye(n.dataDir,{recursive:!0,force:!0}),await Tt(n.dataDir)}}}function br(e){return yr(e)}export{ht as DataDirAccessError,gt as DataDirVersionError,br as createLocalWorld,yr as createWorld,xt as ensureDataDir,Tt as initDataDir,_t as parseVersion};
|
|
4
|
+
`);for(let e of r)if(e.includes(`LISTEN`)){let t=e.trim().split(/\s+/)[8];if(t){let e=t.lastIndexOf(`:`);if(e!==-1){let r=Oe(t.slice(e+1));r!==void 0&&n.push(r)}}}return n}catch{return[]}}async function Me(e){try{let{stdout:t}=await De(`cmd`,[`/c`,`netstat -ano -p tcp | findstr LISTENING`]);return Ee(t,e)}catch{return[]}}async function Ne(){let{pid:e,platform:t}=process;try{switch(t){case`linux`:return await Ae(e);case`darwin`:return await je(e);case`win32`:return await Me(e);default:return[]}}catch(e){return process.env.NODE_ENV===`development`&&console.debug(`[getAllPorts] Detection failed:`,e),[]}}const Pe=`${o}/flow?__health`;async function Fe(e,t={}){let{endpoint:n=Pe,timeout:r=500}=t,i=new AbortController,a=setTimeout(()=>i.abort(),r);try{return(await fetch(`http://localhost:${e}${n}`,{method:`HEAD`,signal:i.signal})).status===200}catch{return!1}finally{clearTimeout(a)}}async function Ie(e){let t=await Ne();if(t.length===0)return;if(t.length===1)return t[0];let n=(await Promise.all(t.map(async t=>({port:t,isWorkflow:await Fe(t,e)})))).find(e=>e.isWorkflow);return n?n.port:(process.env.NODE_ENV===`development`&&console.debug(`[getWorkflowPort] Probing failed, falling back to first port:`,t[0]),t[0])}function Le(e){let t={get value(){let n=e();return Object.defineProperty(t,"value",{value:n}),n}};return t}const Re=()=>process.env.WORKFLOW_LOCAL_DATA_DIR||`.workflow-data`,ze=()=>process.env.WORKFLOW_LOCAL_BASE_URL,Be=Le(()=>({dataDir:Re(),baseUrl:ze()}));function Ve(e){return e.baseUrl??process.env.WORKFLOW_LOCAL_BASE_URL??i(`http://localhost`)}async function He(e){if(e.baseUrl)return e.baseUrl;if(process.env.WORKFLOW_LOCAL_BASE_URL)return process.env.WORKFLOW_LOCAL_BASE_URL;if(typeof e.port==`number`)return i(`http://localhost:${e.port}`);if(process.env.PORT)return i(`http://localhost:${process.env.PORT}`);let t=await Ie({endpoint:a()});if(t)return i(`http://localhost:${t}`);throw Error(`Unable to resolve base URL for workflow queue.`)}const Ue=A(()=>Math.random());function We(e){let t=typeof e==`string`?e:String(e);return t.length>48?`${t.slice(0,48)}…`:t}var Ge=class extends c{constructor(e,t){super(`Unsafe ${e} "${We(t)}": must not be empty, contain ".", "/", "\\", or null bytes`),this.name=`UnsafeEntityIdError`}static is(e){return e instanceof Error&&e.name===`UnsafeEntityIdError`}};function z(e,t){if(t.length===0||t.startsWith(`.`)||t.includes(`/`)||t.includes(`\\`)||t.includes(`\0`)||t.includes(`.`))throw new Ge(e,t)}function B(e,...t){let n=R.resolve(e),r=R.resolve(e,...t);if(r!==n&&!r.startsWith(n+R.sep))throw new Ge(`path`,t.join(`/`));return r}const Ke=process.platform===`win32`;async function qe(e,t=5){if(!Ke)return e();let n=[`EPERM`,`EBUSY`,`EACCES`];for(let r=0;r<=t;r++)try{return await e()}catch(e){if(!(r<t&&n.includes(e.code)))throw e;let i=10*2**r+Math.random()*10;await new Promise(e=>setTimeout(e,i))}throw Error(`Retry loop exited unexpectedly`)}const Je=new Set,Ye=new Set;function Xe(){Je.clear(),Ye.clear()}const Ze=/\.[a-zA-Z][a-zA-Z0-9-]*$/;function Qe(e){return e.replace(Ze,``)}function $e(e,t){return e.endsWith(`.${t}`)}function et(e){return!Ze.test(e)}function V(e,t,n,r){return z(`fileId`,n),r!==void 0&&z(`tag`,r),B(e,t,r?`${n}.${r}.json`:`${n}.json`)}async function H(e,t,n,r,i){if(z(`fileId`,n),i!==void 0&&z(`tag`,i),i){let a=await G(B(e,t,`${n}.${i}.json`),r);if(a!==null)return a}return G(B(e,t,`${n}.json`),r)}async function tt(e,t){let n=`.${t}.json`;try{return(await F.readdir(e)).filter(e=>e.endsWith(n))}catch(e){if(e.code===`ENOENT`)return[];throw e}}async function nt(e,t,n){let r=`.${t}${n}`;try{return(await F.readdir(e)).filter(e=>e.endsWith(r))}catch(e){if(e.code===`ENOENT`)return[];throw e}}async function rt(e){let t=R.resolve(e);if(!Ye.has(t))try{await F.mkdir(t,{recursive:!0}),Ye.add(t)}catch{}}async function it(e,t){await rt(e);try{return await t()}catch(n){if(n.code!==`ENOENT`)throw n;return Ye.delete(R.resolve(e)),await rt(e),t()}}function U(e,t){return t instanceof Uint8Array?{__type:`Uint8Array`,data:Buffer.from(t).toString(`base64`)}:t}function at(e,t){return typeof t==`object`&&t&&t.__type===`Uint8Array`&&typeof t.data==`string`?new Uint8Array(Buffer.from(t.data,`base64`)):t}async function W(e,t,n){return ot(e,JSON.stringify(t,U,2),n)}async function ot(e,t,n){if(!n?.overwrite){if(Je.has(e))throw new f(`File ${e} already exists and 'overwrite' is false`);try{throw await F.access(e),Je.add(e),new f(`File ${e} already exists and 'overwrite' is false`)}catch(e){if(e.code!==`ENOENT`)throw e}}let r=`${e}.tmp.${Ue()}`,i=!1;try{await it(R.dirname(e),async()=>{await F.writeFile(r,t),i=!0,await qe(()=>F.rename(r,e))}),Je.add(e)}catch(e){throw i&&await qe(()=>F.unlink(r),3).catch(()=>{}),e}}async function G(e,t){try{let n=await F.readFile(e,`utf-8`);return t.parse(JSON.parse(n,at))}catch(e){if(e.code===`ENOENT`)return null;throw e}}async function st(e){return await F.readFile(e)}async function ct(e){let t=await F.open(e,`r`);try{let e=Buffer.allocUnsafe(1),{bytesRead:n}=await t.read(e,0,1,0);return n===0?void 0:e[0]}finally{await t.close()}}async function K(e){try{await F.unlink(e)}catch(e){if(e.code!==`ENOENT`)throw e}}async function q(e,t){let n=`${e}.tmp.${Ue()}`,r=!1;try{return await it(R.dirname(e),async()=>{await F.writeFile(n,t,{flag:`wx`}),r=!0;try{return await qe(()=>F.link(n,e)),!0}catch(e){if(e.code===`EEXIST`)return!1;throw e}})}finally{r&&await qe(()=>F.unlink(n),3).catch(()=>{})}}async function J(e){return lt(e,`.json`)}async function lt(e,t){try{return(await F.readdir(e)).filter(e=>e.endsWith(t)).map(e=>e.slice(0,-t.length))}catch(e){if(e.code===`ENOENT`)return[];throw e}}function ut(e){if(!e)return null;let t=e.split(`|`);return{timestamp:new Date(t[0]),id:t[1]||null}}function dt(e,t){return t?`${e.toISOString()}|${t}`:e.toISOString()}async function Y(e){let{directory:t,schema:n,cachedItems:r,filePrefix:i,fileIdFilter:a,filter:o,sortOrder:s=`desc`,limit:c=20,cursor:l,getCreatedAt:u,getId:d}=e;i!==void 0&&z(`filePrefix`,i);let f=R.resolve(t),p=await J(f),m=i?p.filter(e=>e.startsWith(i)):p,h=a?m.filter(a):m,g=ut(l),_=h;g&&(_=h.filter(e=>{let t=u(`${e}.json`);if(t){let e=g.timestamp.getTime(),n=t.getTime();return g.id?s===`desc`?n<=e:n>=e:s===`desc`?n<e:n>e}return!0}));let v=[];for(let e=0;e<_.length;e+=32){let t=_.slice(e,e+32),i=await Promise.all(t.map(async e=>{let t=R.join(f,`${e}.json`);try{let e=r?.get(t);return e===void 0?await G(t,n):structuredClone(e)}catch(t){if(t instanceof D)return console.warn(`Skipping item ${e} due to malformed JSON: ${t.message}`),null;throw t}}));for(let e of i)if(e&&!(o&&!o(e))){if(g){let t=e.createdAt.getTime(),n=g.timestamp.getTime();if(s===`desc`){if(t>n||t===n&&g.id&&d&&d(e)>=g.id)continue}else if(t<n||t===n&&g.id&&d&&d(e)<=g.id)continue}v.push(e)}}v.sort((e,t)=>{let n=e.createdAt.getTime(),r=t.createdAt.getTime(),i=s===`asc`?n-r:r-n;if(i===0&&d){let n=d(e),r=d(t);return s===`asc`?n.localeCompare(r):r.localeCompare(n)}return i});let y=v.length>c,b=y?v.slice(0,c):v;return{data:b,cursor:b.length>0?dt(b[b.length-1].createdAt,d?.(b[b.length-1])):null,hasMore:y}}let X=null;function ft(){return typeof import.meta.url==`string`&&import.meta.url?R.dirname(pe(import.meta.url)):null}async function pt(){if(X)return X;let e=ft();if(e)try{let t=await L(R.join(e,`../package.json`),`utf-8`);return X=JSON.parse(t),X}catch{}return X={name:`@workflow/world-local`,version:`5.0.0-beta.27`},X}const mt=`version.txt`;var ht=class extends Error{dataDir;code;constructor(e,t,n){super(e),this.name=`DataDirAccessError`,this.dataDir=t,this.code=n}},gt=class extends Error{oldVersion;newVersion;suggestedVersion;constructor(e,t,n,r){super(e),this.name=`DataDirVersionError`,this.oldVersion=t,this.newVersion=n,this.suggestedVersion=r}};function _t(e){let t=e.match(/^(\d+)\.(\d+)\.(\d+)(?:-(.+))?$/);if(!t)throw Error(`Invalid version string: "${e}"`);return{major:parseInt(t[1],10),minor:parseInt(t[2],10),patch:parseInt(t[3],10),prerelease:t[4],raw:e}}function Z(e){let t=`${e.major}.${e.minor}.${e.patch}`;return e.prerelease?`${t}-${e.prerelease}`:t}function vt(e){let t=e.trim(),n=t.lastIndexOf(`@`);if(n<=0)throw Error(`Invalid version file content: "${e}"`);return{packageName:t.substring(0,n),version:_t(t.substring(n+1))}}function yt(e,t){return`${e}@${Z(t)}`}function bt(e,t){console.log(`[world-local] Upgrading from version ${Z(e)} to ${Z(t)}`)}async function xt(e){let t=R.resolve(e);try{await ge(t,{recursive:!0})}catch(e){let n=e;if(n.code!==`EEXIST`)throw new ht(`Failed to create data directory "${t}": ${n.message}`,t,n.code)}try{await me(t,he.R_OK)}catch(e){let n=e;throw new ht(`Data directory "${t}" is not readable: ${n.message}`,t,n.code)}let n=R.join(t,`.workflow-write-test-${Date.now()}`);try{await xe(n,``),await be(n).catch(e=>{if(e.code!==`ENOENT`)throw e})}catch(e){let n=e;throw new ht(`Data directory "${t}" is not writable: ${n.message}`,t,n.code)}}async function St(e){let t=R.join(R.resolve(e),mt);try{return vt(await L(t,`utf-8`))}catch(e){if(e.code===`ENOENT`)return null;throw e}}async function Ct(e,t){await xe(R.join(R.resolve(e),mt),yt((await pt()).name,t))}function wt(e,t){return t||Z(e)}async function Tt(e){await xt(e);let t=await pt(),n=_t(t.version),r=await St(e);if(r===null){await Ct(e,n);return}let{version:i}=r;if(Z(i)!==Z(n))try{bt(i,n),await Ct(e,n)}catch(e){let r=wt(i,e instanceof gt?e.suggestedVersion:void 0);throw console.error(`[world-local] Failed to upgrade data directory from version ${Z(i)} to ${Z(n)}:`,e instanceof Error?e.message:e),console.error(`[world-local] Data is not compatible with the current version. Please downgrade to ${t.name}@${r}`),e}}let Et=null;async function Dt(){return Et||=import(`../../_chunks/workflow/src-CQuMexnO.js`).then(t=>e(t.t(),1)).catch(()=>null),Et}let Ot=null;async function kt(){return Ot||=Dt().then(e=>e?e.trace.getTracer(`workflow`):null),Ot}async function At(e,...t){let[n,r]=await Promise.all([kt(),Dt()]),{fn:i,opts:a}=typeof t[0]==`function`?{fn:t[0],opts:{}}:{fn:t[1],opts:t[0]};if(!i)throw Error(`Function to trace must be provided`);return!n||!r?await i():n.startActiveSpan(e,a,async e=>{try{let t=await i(e);return e.setStatus({code:r.SpanStatusCode.OK}),t}catch(t){throw e.setStatus({code:r.SpanStatusCode.ERROR,message:t.message}),t}finally{e.end()}})}async function jt(e){let t=await Dt();if(t)return t.SpanKind[e]}function Q(...e){return t=>Object.fromEntries(e.map(e=>[e,t]))}const Mt=Q(`peer.service`),Nt=Q(`rpc.system`),Pt=Q(`rpc.service`),Ft=Q(`rpc.method`),It=Q(`workflow.run.id`),Lt=Q(`step.id`),Rt={peerService:`world-local`,rpcSystem:`local`,rpcService:`world-local`},zt={"world.runs.get":0,"world.runs.experimentalSetAttributes":0,"world.steps.get":0,"world.events.create":0,"world.events.get":0},Bt=new Set([`world.steps.list`,`world.events.list`,`world.hooks.list`]);function Vt(e){if(e.length>=2&&typeof e[1]==`object`&&e[1]!==null){let t=e[1];if(typeof t.eventType==`string`)return t.eventType}}function Ht(e,t){return typeof e[t]==`string`?e[t]:void 0}function Ut(e){if(typeof e!=`object`||!e)return;let t=e.runId;return typeof t==`string`?t:void 0}function Wt(e){if(typeof e!=`object`||!e)return;let t=e;if(typeof t.runId==`string`)return t.runId;for(let e of[`run`,`step`,`hook`,`wait`]){let n=t[e];if(typeof n==`object`&&n){let e=n.runId;if(typeof e==`string`)return e}}}function Gt(e,t,n){let r=`${e}.${t}`,i={},a=zt[r],o=a===void 0?Bt.has(r)?Ut(n[0]):void 0:Ht(n,a);if(o&&Object.assign(i,It(o)),r===`world.steps.get`){let e=Ht(n,1);e&&Object.assign(i,Lt(e))}return i}function Kt(e,t){let n={};for(let r of Object.keys(t))if(typeof t[r]!=`function`)n[r]=t[r];else{let i=t[r],a=String(r);n[r]=async(...t)=>{let n=`${e}.${a}`;if(e===`world.events`&&a===`create`){let r=Vt(t);r&&(n=`${e}.${a} ${r}`)}return At(n,{kind:await jt(`INTERNAL`)},async r=>{r?.setAttributes({...Mt(Rt.peerService),...Nt(Rt.rpcSystem),...Pt(Rt.rpcService),...Ft(n),...Gt(e,a,t)});let o=await i(...t),s=Wt(o);return s&&r?.setAttributes(It(s)),o})}}return n}var qt=n((e=>{var n=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.RateLimit=e.Sema=void 0;let r=n(t(`events`));function i(e,t,n,r,i){for(let a=0;a<i;++a)n[a+r]=e[a+t],e[a+t]=void 0}function a(e){return e>>>=0,--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,e+1}function o(e){return a(Math.min(Math.max(16,e),1073741824))}var s=class{constructor(e){this._capacity=o(e),this._length=0,this._front=0,this.arr=[]}push(e){let t=this._length;this.checkCapacity(t+1);let n=this._front+t&this._capacity-1;return this.arr[n]=e,this._length=t+1,t+1}pop(){let e=this._length;if(e===0)return;let t=this._front+e-1&this._capacity-1,n=this.arr[t];return this.arr[t]=void 0,this._length=e-1,n}shift(){let e=this._length;if(e===0)return;let t=this._front,n=this.arr[t];return this.arr[t]=void 0,this._front=t+1&this._capacity-1,this._length=e-1,n}get length(){return this._length}checkCapacity(e){this._capacity<e&&this.resizeTo(o(this._capacity*1.5+16))}resizeTo(e){let t=this._capacity;this._capacity=e;let n=this._front,r=this._length;if(n+r>t){let e=n+r&t-1;i(this.arr,0,this.arr,t,e)}}},c=class extends r.default{};function l(e){return typeof e==`function`}function u(){return`1`}var d=class{constructor(e,{initFn:t=u,pauseFn:n,resumeFn:r,capacity:i=10}={}){if(l(n)!==l(r))throw Error(`pauseFn and resumeFn must be both set for pausing`);this.nrTokens=e,this.free=new s(e),this.waiting=new s(i),this.releaseEmitter=new c,this.noTokens=t===u,this.pauseFn=n,this.resumeFn=r,this.paused=!1,this.releaseEmitter.on(`release`,e=>{let t=this.waiting.shift();t?t.resolve(e):(this.resumeFn&&this.paused&&(this.paused=!1,this.resumeFn()),this.free.push(e))});for(let n=0;n<e;n++)this.free.push(t())}tryAcquire(){return this.free.pop()}async acquire(){let e=this.tryAcquire();return e===void 0?new Promise((e,t)=>{this.pauseFn&&!this.paused&&(this.paused=!0,this.pauseFn()),this.waiting.push({resolve:e,reject:t})}):e}release(e){this.releaseEmitter.emit(`release`,this.noTokens?`1`:e)}drain(){let e=Array(this.nrTokens);for(let t=0;t<this.nrTokens;t++)e[t]=this.acquire();return Promise.all(e)}nrWaiting(){return this.waiting.length}};e.Sema=d;function f(e,{timeUnit:t=1e3,uniformDistribution:n=!1}={}){let r=new d(n?1:e),i=n?t/e:t;return async function(){await r.acquire(),setTimeout(()=>r.release(),i)}}e.RateLimit=f}))(),Jt=N(),Yt=class{contentType=`application/json`;serialize(e){return Buffer.from(JSON.stringify(e,U))}async deserialize(e){let t=[],n=e.getReader();for(;;){let{done:e,value:r}=await n.read();if(e)break;r&&t.push(r)}let r=Buffer.concat(t).toString();return JSON.parse(r,at)}};const Xt=parseInt(process.env.WORKFLOW_LOCAL_QUEUE_MAX_VISIBILITY??`0`,10)||1/0,Zt=2147483647,Qt=parseInt(process.env.WORKFLOW_LOCAL_QUEUE_CONCURRENCY??`0`,10)||1e3,$t=`Cannot perform ArrayBuffer.prototype.slice on a detached ArrayBuffer`;function en(e){let t=e,n=new Set;for(;t&&typeof t==`object`&&!n.has(t);){if(n.add(t),`message`in t&&typeof t.message==`string`&&t.message.includes($t))return!0;t=`cause`in t?t.cause:void 0}return!1}function tn(e){let{kind:t,prefix:n}=ie(e);return{pathname:t===`workflow`?`flow`:`step`,prefix:n}}function nn(e){let t=new Jt.Agent({headersTimeout:0,connections:1e3,keepAliveTimeout:3e4}),n=new Yt,i=A(),a=new qt.Sema(Qt),o=new AbortController,s=o.signal,c=new Map,l=new Map,u=async(o,u,d)=>{let f=[];if(d?.idempotencyKey){let e=c.get(d.idempotencyKey);if(e)return{messageId:e}}let p=n.serialize(u),{pathname:m,prefix:h}=tn(o),g=oe.parse(`msg_${i()}`),_=u,v=_.runId??_.workflowRunId??void 0,y=_.stepId??void 0;if(d?.idempotencyKey){let e=d.idempotencyKey;c.set(e,g),f.push(()=>{c.delete(e)})}return(async()=>{d?.delaySeconds&&d.delaySeconds>0&&await Ce(Math.min(d.delaySeconds*1e3,Zt),void 0,{signal:s}),a.tryAcquire()||(console.warn(`[world-local]: concurrency limit (${Qt}) reached, waiting for queue to free up`),await a.acquire());let n=0;try{for(let i=0;i<256;i++){let a={...d?.headers,"content-type":`application/json`,"x-vqs-queue-name":o,"x-vqs-message-id":g,"x-vqs-message-attempt":String(n+1)},c=l.get(h),u;try{if(c)u=await c(new Request(r(Ve(e),{type:m}),{method:`POST`,headers:a,body:p}));else{let n=await He(e);u=await fetch(r(n,{type:m}),{method:`POST`,duplex:`half`,dispatcher:t,headers:a,body:p})}}catch(e){let t=e?.name;if(s.aborted||t===`AbortError`||t===`ResponseAborted`)return;if(en(e))throw e;console.error(`[world-local] Queue delivery failed at the transport (loop ${i+1}), retrying`,{queueName:o,messageId:g,...v&&{runId:v},...y&&{stepId:y},error:String(e)}),await Ce(5e3,void 0,{signal:s});continue}n++;let f=await u.text();if(u.ok){try{let e=Number(JSON.parse(f).timeoutSeconds);if(Number.isFinite(e)&&e>=0){e>0&&await Ce(Math.min(e*1e3,Zt),void 0,{signal:s});continue}}catch{}return}console.error(`[world-local] Queue message failed (attempt ${n}, HTTP ${u.status})`,{queueName:o,messageId:g,...v&&{runId:v},...y&&{stepId:y},handlerError:f}),await Ce(5e3,void 0,{signal:s})}console.error(`[world-local] Queue message exhausted safety limit (256 attempts)`,{queueName:o,messageId:g,...v&&{runId:v},...y&&{stepId:y}})}finally{a.release()}})().catch(e=>{e?.name===`AbortError`||e?.name===`ResponseAborted`||(en(e)?console.error(`[local world] Queue operation failed: detected "${$t}". This usually means a Next.js proxy/middleware consumed Workflow's internal request before the executor could read it. Exclude \`/.well-known/workflow/*\` from your matcher. See https://workflow-sdk.dev/docs/getting-started/next#configure-proxy-handler`,{queueName:o,messageId:g,...v&&{runId:v},...y&&{stepId:y},originalError:e}):console.error(`[local world] Queue operation failed:`,e))}).finally(()=>{for(let e of f)e()}),{messageId:g}},d=E({"x-vqs-queue-name":O,"x-vqs-message-id":oe,"x-vqs-message-attempt":x()});return{queue:u,createQueueHandler:(e,t)=>async n=>{let r=d.safeParse(Object.fromEntries(n.headers));if(!r.success||!n.body)return Response.json({error:n.body?`Missing required headers`:`Missing request body`},{status:400});let i=r.data[`x-vqs-queue-name`],a=r.data[`x-vqs-message-id`],o=r.data[`x-vqs-message-attempt`];if(!i.startsWith(e))return Response.json({error:`Unhandled queue`},{status:400});let s=await new Yt().deserialize(n.body);try{let e=await t(s,{attempt:o,queueName:i,messageId:a}),n=null;return typeof e?.timeoutSeconds==`number`&&(n=Math.min(e.timeoutSeconds,Xt)),n==null?Response.json({ok:!0}):Response.json({timeoutSeconds:n})}catch(e){return Response.json(String(e),{status:500})}},getDeploymentId:async()=>`dpl_local@${(await pt()).version}`,registerHandler(e,t){l.set(e,t)},async close(){s.aborted||(o.abort(),await t.close())}}}function rn(e){return P(`sha256`).update(e).digest(`hex`)}function an(e,t,n){return B(e,`.locks`,`hooks`,n?`${t}.disposed.${n}`:`${t}.disposed`)}async function on(e,t,n){let r=[an(e,t)];n&&r.push(an(e,t,n));for(let e of r)try{return await I.access(e),!0}catch{}return!1}function sn(e,t){return R.join(e,`hooks`,`tokens`,`${rn(t)}.json`)}async function cn(e,t,n,r){let i=sn(e,t),a;try{a=JSON.parse(await I.readFile(i,`utf8`))}catch{return}a.runId!==n||a.hookId!==r||await I.unlink(i).catch(()=>{})}function ln(e,t,n,r){let i=P(`sha256`).update(`${t}\x00${n}\x00${r}`).digest(`hex`);return R.join(e,`hooks`,`tokens`,`${i}.recovery.json`)}const un=A(()=>Math.random()),$=e=>{let t=RegExp(`^${e}_`,`g`);return n=>{let r=Qe(n.replace(/\.json$/,``))+`.json`,i=r.indexOf(`-`);return i===-1?ce(r.replace(/\.json$/,``).replace(t,``)):e===`step`?null:ce(r.substring(i+1).replace(/\.json$/,``).replace(t,``))}},dn=E({runId:k()}),fn=E({hookId:k(),tag:k().optional()});function pn(e,t){return B(e,`hooks`,`token-index`,rn(t))}function mn(e,t){return z(`hookId`,t),B(e,`hooks`,`id-index`,t)}function hn(e){return B(e,`hooks`,`by-run`)}function gn(e){let t=Qe(e);return t===e?void 0:e.slice(t.length+1)}function _n(e,t){return t?et(e)||$e(e,t):et(e)}async function vn(e){try{return await G(e,S)}catch(e){if(e instanceof SyntaxError||e instanceof D)return null;throw e}}async function yn(e,t,n,r,i,a){z(`runId`,n),z(`eventId`,i),a!==void 0&&z(`tag`,a);let o=a?`${i}.${a}.json`:`${i}.json`,s=JSON.stringify({runId:n});await Promise.all([q(R.join(pn(e,t),o),s),q(R.join(mn(e,r),o),s)])}function bn(e,t,n,r){return V(e,`hooks/by-run`,`${t}-${n}`,r)}async function xn(e,t,n,r){await q(bn(e,t,n,r),JSON.stringify(r?{hookId:n,tag:r}:{hookId:n}))}async function Sn(e,t,n,r){await K(bn(e,t,n,r)),r&&await K(bn(e,t,n))}async function Cn(e,t){z(`runId`,t);let n=hn(e),r=`${t}-`,i=[];for(let e of await J(n)){if(!e.startsWith(r))continue;let t=null;try{t=await G(R.join(n,`${e}.json`),fn)}catch(e){if(!(e instanceof SyntaxError||e instanceof D))throw e}i.push({fileId:e,hookId:t?.hookId??null,tag:t?.tag})}return i}async function wn(e,t){await K(R.join(hn(e),`${t}.json`))}const Tn=new Map;function En(){Tn.clear()}async function Dn(e){let t=R.resolve(e),n=Tn.get(t);return n||(n=kn(t).catch(e=>{throw Tn.delete(t),e}),Tn.set(t,n)),n}async function On(e,t,n){for(let r=0;r<e.length;r+=t)await Promise.all(e.slice(r,r+t).map(n))}async function kn(e){let t=R.join(e,`hooks`,`.hook-index-complete`);try{await I.access(t);return}catch{}let n=R.join(e,`events`);await On(await J(n),32,async t=>{let r=await vn(R.join(n,`${t}.json`));if(!r||r.eventType!==`hook_created`||typeof r.correlationId!=`string`)return;let i=r.eventData?.token;if(typeof i==`string`)try{await yn(e,i,r.runId,r.correlationId,r.eventId,gn(t))}catch{}});let r=R.join(e,`hooks`);await On(await J(r),32,async t=>{let n=null;try{n=await G(R.join(r,`${t}.json`),M)}catch(e){if(!(e instanceof SyntaxError||e instanceof D))throw e}if(n)try{await xn(e,n.runId,n.hookId,gn(t))}catch{}}),await q(t,``)}async function An(e,t,n,r){await Dn(e);let i;try{i=t.kind===`token`?pn(e,t.token):mn(e,t.hookId)}catch{return null}let a=(await J(i)).filter(e=>_n(e,r)).sort((e,t)=>Qe(t).localeCompare(Qe(e)));for(let t of a){let r=null;try{r=await G(R.join(i,`${t}.json`),dn)}catch(e){if(!(e instanceof SyntaxError||e instanceof D))throw e}if(!r)continue;let a=Qe(t),o;try{o=V(e,`events`,`${r.runId}-${a}`,gn(t))}catch{continue}let s=await vn(o);if(s&&s.eventType===`hook_created`&&typeof s.correlationId==`string`&&n(s))return s}return null}function jn(e,t){return t===`none`?{...e,input:void 0,output:void 0}:e}function Mn(e,t){return t===`none`?{...e,input:void 0,output:void 0}:e}function Nn(e,t){if(t===`none`){let{metadata:t,...n}=e;return n}return e}function Pn(e){if(e.eventType!==`hook_created`)return;let t=e.eventData.token;return typeof t==`string`?t:void 0}function Fn(e){let{token:t,metadata:n,isWebhook:r,isSystem:i}=e.eventData;return{runId:e.runId,hookId:e.correlationId,token:t,metadata:n,ownerId:`local-owner`,projectId:`local-project`,environment:`local`,createdAt:e.createdAt,specVersion:e.specVersion,isWebhook:r??!0,isSystem:i??!1}}function In(e,t){return e.eventType===`hook_created`&&typeof e.correlationId==`string`&&t(e)}async function Ln(e,t,n){let r=await H(e,`runs`,t,m,n);return r?se(r.status):!1}async function Rn(e,t,n,r){let i=await An(e,t,e=>In(e,n),r);return!i||!In(i,n)||await Ln(e,i.runId,r)||await on(e,i.correlationId,r)?null:i}async function zn(e,t,n){let r=Fn(t);return await q(R.join(e,`hooks`,`tokens`,`${rn(r.token)}.json`),JSON.stringify({token:r.token,hookId:r.hookId,runId:r.runId,eventId:t.eventId})),await xn(e,r.runId,r.hookId,n),await q(V(e,`hooks`,r.hookId,n),JSON.stringify(r,U,2)),r}async function Bn(e,t,n){let r=await Rn(e,{kind:`token`,token:t},e=>Pn(e)===t,n);return r?zn(e,r,n):null}async function Vn(e,t,n){let r=await Rn(e,{kind:`id`,hookId:t},e=>e.correlationId===t,n);return r?zn(e,r,n):null}function Hn(e,t){let n=E({hookId:k().optional()});async function r(r){let i=null;try{i=await G(sn(e,r),n)}catch(e){if(!(e instanceof SyntaxError||e instanceof D))throw e}if(i?.hookId)try{let n=await H(e,`hooks`,i.hookId,M,t);if(n&&n.token===r)return{...n,isWebhook:n.isWebhook??!0}}catch(e){if(!Ge.is(e))throw e}let a=R.join(e,`hooks`),o=await J(a);for(let e of o){let t=await G(R.join(a,`${e}.json`),M);if(t&&t.token===r)return{...t,isWebhook:t.isWebhook??!0}}return null}async function i(n,r){z(`hookId`,n);let i=await H(e,`hooks`,n,M,t);if(!i){let i=await Vn(e,n,t);if(!i)throw new d(n);let a=r?.resolveData||`all`;return Nn({...i,isWebhook:i.isWebhook??!0},a)}let a=r?.resolveData||`all`;return Nn({...i,isWebhook:i.isWebhook??!0},a)}async function a(n){let i=await r(n)??await Bn(e,n,t);if(!i)throw new d(n);return i}async function o(t){let n=R.join(e,`hooks`),r=t.resolveData||`all`,i=await Y({directory:n,schema:M,sortOrder:t.pagination?.sortOrder??`asc`,limit:t.pagination?.limit,cursor:t.pagination?.cursor,filePrefix:void 0,filter:e=>!(t.runId&&e.runId!==t.runId),getCreatedAt:()=>null,getId:e=>e.hookId});return{...i,data:i.data.map(e=>Nn(e,r))}}return{get:i,getByToken:a,list:o}}async function Un(e,t){await Dn(e);for(let n of await Cn(e,t)){if(n.hookId){let r=null,i=null;try{i=V(e,`hooks`,n.hookId,n.tag),r=await G(i,M)}catch(e){if(!Ge.is(e)&&!(e instanceof SyntaxError||e instanceof D))throw e}r&&i&&r.runId===t&&(await cn(e,r.token,r.runId,r.hookId),await K(ln(e,r.token,r.runId,r.hookId)),await K(i))}await wn(e,n.fileId)}}async function Wn(e,t,n,r,i){z(`runId`,t);let a=i?.resolveData??`all`;switch(n.eventType){case`run_cancelled`:{let n=new Date,i={runId:r.runId,deploymentId:r.deploymentId,workflowName:r.workflowName,specVersion:r.specVersion,executionContext:r.executionContext,input:r.input,createdAt:r.createdAt,expiredAt:r.expiredAt,startedAt:r.startedAt,status:`cancelled`,output:void 0,error:void 0,completedAt:n,updatedAt:n,attributes:r.attributes};return await W(B(e,`runs`,`${t}.json`),i,{overwrite:!0}),await Un(e,t),{event:void 0,run:jn(i,a)}}case`wait_completed`:case`hook_received`:{let r=`evnt_${un()}`,i=new Date,o={...n,runId:t,eventId:r,createdAt:i,specVersion:5};return await W(B(e,`events`,`${`${t}-${r}`}.json`),o),{event:y(o,a)}}default:throw Error(`Event type '${n.eventType}' not supported for legacy runs (specVersion: ${r.specVersion||`undefined`}). Please upgrade 'workflow' package.`)}}const Gn=new Map;function Kn(e,t){let n=Gn.get(e),r={},i=(async()=>{n&&await n.catch(()=>void 0);try{return await t()}finally{Gn.get(e)===r.task&&Gn.delete(e)}})();return r.task=i,Gn.set(e,i),i}function qn(e,t){return{get:(async(n,r)=>{z(`runId`,n);let i=await H(e,`runs`,n,m,t);if(!i)throw new s(n);return jn(i,r?.resolveData??`all`)}),list:(async t=>{let n=t?.resolveData??`all`,r=await Y({directory:R.join(e,`runs`),schema:m,fileIdFilter:t?.fileIdFilter,filter:e=>!(t?.workflowName&&e.workflowName!==t.workflowName||t?.status&&e.status!==t.status),sortOrder:t?.pagination?.sortOrder??`desc`,limit:t?.pagination?.limit??200,cursor:t?.pagination?.cursor,getCreatedAt:$(`wrun`),getId:e=>e.runId});return n===`none`?{...r,data:r.data.map(e=>({...e,input:void 0,output:void 0}))}:r}),experimentalSetAttributes:async(n,r,i)=>(z(`runId`,n),Kn(n,async()=>{let a=await H(e,`runs`,n,m,t);if(!a)throw new s(n);try{ee(r,{existingKeys:Object.keys(a.attributes??{}),allowReservedAttributes:i?.allowReservedAttributes})}catch(e){throw e instanceof w,e}let o=v(a.attributes,r),c={...a,attributes:o,updatedAt:new Date};return await W(V(e,`runs`,n,t),c,{overwrite:!0}),{attributes:o}}))}}const Jn=E({hookId:k().optional(),runId:k(),eventId:k().optional()}),Yn=E({eventId:k()});async function Xn(e){try{return await G(e,Jn)}catch(e){if(e instanceof SyntaxError||e instanceof D)return null;throw e}}async function Zn(e,t,n){if(t.hookId&&await on(e,t.hookId,n))return!0;let r=await H(e,`runs`,t.runId,m,n);return r?se(r.status):!0}async function Qn(e){try{return await G(e,Yn)}catch(e){if(e instanceof SyntaxError||e instanceof D)return null;throw e}}async function $n(e,t,n){return(await Y({directory:R.join(e,`events`),schema:S,filePrefix:`${t}-`,filter:e=>e.eventType===`hook_created`&&e.correlationId===n,limit:1,getCreatedAt:$(`evnt`),getId:e=>e.eventId})).data[0]?.eventId??null}async function er(e,t,n,r,i){let a=await H(e,`events`,`${t}-${r}`,S,i);if(!a||a.eventType!==`hook_created`||a.correlationId!==n||await H(e,`hooks`,n,M,i))return;let o=a.eventData??{};if(typeof o.token!=`string`)return;let s={runId:t,hookId:n,token:o.token,metadata:o.metadata,ownerId:`local-owner`,projectId:`local-project`,environment:`local`,createdAt:a.createdAt,specVersion:a.specVersion,isWebhook:o.isWebhook??!0,isSystem:o.isSystem??!1};await yn(e,o.token,t,n,r,i),await xn(e,t,n,i),await q(V(e,`hooks`,n,i),JSON.stringify(s,U,2))}async function tr(e,t,n,r,i){let a=ln(e,t,n,r);return await q(a,JSON.stringify({eventId:i}))?i:(await Qn(a))?.eventId??null}function nr(e,t,n){let r=e.get(t),i={},a=(async()=>{r&&await r.catch(()=>void 0);try{return await n()}finally{e.get(t)===i.task&&e.delete(t)}})();return i.task=a,e.set(t,a),a}async function rr(e,t){let n=R.join(e,`waits`),r=await J(n);for(let e of r)e.startsWith(`${t}-`)&&await K(R.join(n,`${e}.json`))}async function ir(e,t,n,r){return Kn(t,async()=>{let i=await G(V(e,`runs`,t,n),m),a={...r,attributes:i?.attributes??r.attributes};return await W(V(e,`runs`,t,n),a,{overwrite:!0}),a})}function ar(e,t){let n=4*1024*1024,r=new Map,i=new Map,a=new Map,o=0;function x(e){let t=r.get(e);if(!t)return;r.delete(e),o-=i.get(e)??0,i.delete(e);let n=a.get(t.runId);n?.delete(e),n?.size===0&&a.delete(t.runId)}function w(e){for(let t of a.get(e)??[])x(t)}function T(){r.clear(),i.clear(),a.clear(),o=0}function ie(e,t,s){if(s>n)return;for(;r.size>0&&(r.size>=1e3||o+s>n);){let e=r.keys().next().value;x(e)}r.set(e,t),i.set(e,s),o+=s;let c=a.get(t.runId)??new Set;c.add(e),a.set(t.runId,c)}function E(e,t,r){if(h(e.eventType)){w(e.runId);return}let i=Buffer.byteLength(r);if(i>n)return;let a=S.safeParse(JSON.parse(r,at));a.success&&ie(t,a.data,i)}async function oe(n){let r=V(e,`events`,`${n.runId}-${n.eventId}`,t),i=JSON.stringify(n,U,2);await ot(r,i),E(n,r,i)}let D=new Map,O=new Map;return{clearCache:T,async create(n,i,a){if(n!=null&&n!==``&&z(`runId`,n),`correlationId`in i&&typeof i.correlationId==`string`&&z(`correlationId`,i.correlationId),de(i.eventType)&&n&&i.correlationId)return nr(D,t?`${n}-${i.correlationId}.${t}`:`${n}-${i.correlationId}`,()=>o());if(C(i.eventType)&&n&&i.correlationId)return nr(O,t?`${n}-${i.correlationId}.hook.${t}`:`${n}-${i.correlationId}.hook`,()=>o());return o();async function o(){let o=`evnt_${un()}`,x=new Date,C;if(i.eventType===`run_created`&&(!n||n===``))C=`wrun_${un()}`;else if(n)C=n;else throw Error(`runId is required for non-run_created events`);if(i.eventType===`run_created`&&n&&n!==``){let e=le(C,`wrun_`);if(e)throw new c(e)}let w=i.specVersion??5,T=null;if(i.eventType!==`run_created`&&![`step_completed`,`step_retrying`].includes(i.eventType)&&(T=await H(e,`runs`,C,m,t),i.eventType===`run_started`&&!T&&`eventData`in i&&i.eventData)){let n=i.eventData;if(n.deploymentId&&n.workflowName&&n.input!==void 0){ee(Object.entries(n.attributes??{}).map(([e,t])=>({key:e,value:t})),{allowReservedAttributes:n.allowReservedAttributes===!0});let r={runId:C,deploymentId:n.deploymentId,status:`pending`,workflowName:n.workflowName,specVersion:w,executionContext:n.executionContext,input:n.input,output:void 0,error:void 0,startedAt:void 0,completedAt:void 0,attributes:n.attributes??{},createdAt:x,updatedAt:x};if(await q(V(e,`runs`,C,t),JSON.stringify(r,U))){let e=`evnt_${un()}`;await oe({eventType:`run_created`,runId:C,eventId:e,createdAt:x,specVersion:w,eventData:{deploymentId:n.deploymentId,workflowName:n.workflowName,input:n.input,executionContext:n.executionContext,attributes:n.attributes,allowReservedAttributes:n.allowReservedAttributes}}),T=r}else T=await H(e,`runs`,C,m,t)}}if(i.eventType===`run_failed`&&!T||i.eventType===`attr_set`&&!T)throw new s(C);if(T){if(ae(T.specVersion))throw new p(T.specVersion,5);if(ue(T.specVersion))return Wn(e,C,i,T,a)}let ie=b(i),D=ie&&i.eventType===`step_started`;if(T&&se(T.status)){if(i.eventType===`run_cancelled`&&T.status===`cancelled`){let e={...i,runId:C,eventId:o,createdAt:x,specVersion:w};return await oe(e),{event:y(e,a?.resolveData??`all`),run:T}}if(i.eventType===`run_started`)throw new u(`Workflow run "${C}" is already in terminal state "${T.status}"`);if(h(i.eventType))throw new f(`Cannot transition run from terminal state "${T.status}"`);if(ie)throw new f(`Cannot create new entities on run in terminal state "${T.status}"`);if(i.eventType===`attr_set`)throw new f(`Cannot set attributes on run in terminal state "${T.status}"`)}let O=null;if(de(i.eventType)&&i.eventType!==`step_created`&&i.correlationId){if(O=await H(e,`steps`,`${C}-${i.correlationId}`,g,t),!O&&!D)throw new c(`Step "${i.correlationId}" not found`);if(D&&O)throw new f(`Step "${i.correlationId}" already created`);if(O){if(ne(O.status))throw new f(`Cannot modify step in terminal state "${O.status}"`);if(T&&se(T.status)&&O.status!==`running`)throw new u(`Cannot modify non-running step on run in terminal state "${T.status}"`)}}if(te(i.eventType)&&i.correlationId&&(i.eventType===`hook_received`&&await on(e,i.correlationId,t)||!await H(e,`hooks`,i.correlationId,M,t)))throw new d(i.correlationId);let k={...i,runId:C,eventId:o,createdAt:x,specVersion:w};if(i.eventType===`run_started`&&`eventData`in k&&delete k.eventData,D&&k.eventType===`step_started`&&k.eventData){let{input:e,...t}=k.eventData;k={...k,eventData:t}}let A,j,N,P,fe=!1,pe;if(i.eventType===`run_created`&&`eventData`in i){let n=i.eventData;if(ee(Object.entries(n.attributes??{}).map(([e,t])=>({key:e,value:t})),{allowReservedAttributes:n.allowReservedAttributes===!0}),A={runId:C,deploymentId:n.deploymentId,status:`pending`,workflowName:n.workflowName,specVersion:w,executionContext:n.executionContext,input:n.input,output:void 0,error:void 0,startedAt:void 0,completedAt:void 0,attributes:n.attributes??{},createdAt:x,updatedAt:x},!await q(V(e,`runs`,C,t),JSON.stringify(A,U,2)))throw new f(`Workflow run "${C}" already exists`)}else if(i.eventType===`run_started`){if(T){if(T.status===`running`)return{run:T};A=await ir(e,C,t,{runId:T.runId,deploymentId:T.deploymentId,workflowName:T.workflowName,specVersion:T.specVersion,executionContext:T.executionContext,input:T.input,createdAt:T.createdAt,expiredAt:T.expiredAt,status:`running`,output:void 0,error:void 0,completedAt:void 0,startedAt:T.startedAt??x,updatedAt:x,attributes:T.attributes})}}else if(i.eventType===`run_completed`&&`eventData`in i){let n=i.eventData;T&&(A=await ir(e,C,t,{runId:T.runId,deploymentId:T.deploymentId,workflowName:T.workflowName,specVersion:T.specVersion,executionContext:T.executionContext,input:T.input,createdAt:T.createdAt,expiredAt:T.expiredAt,startedAt:T.startedAt,status:`completed`,output:n.output,error:void 0,completedAt:x,updatedAt:x,attributes:T.attributes}),await Promise.all([Un(e,C),rr(e,C)]))}else if(i.eventType===`run_failed`&&`eventData`in i){let n=i.eventData;T&&(A=await ir(e,C,t,{runId:T.runId,deploymentId:T.deploymentId,workflowName:T.workflowName,specVersion:T.specVersion,executionContext:T.executionContext,input:T.input,createdAt:T.createdAt,expiredAt:T.expiredAt,startedAt:T.startedAt,status:`failed`,output:void 0,error:n.error,errorCode:n.errorCode,completedAt:x,updatedAt:x,attributes:T.attributes}),await Promise.all([Un(e,C),rr(e,C)]))}else if(i.eventType===`run_cancelled`)T&&(A=await ir(e,C,t,{runId:T.runId,deploymentId:T.deploymentId,workflowName:T.workflowName,specVersion:T.specVersion,executionContext:T.executionContext,input:T.input,createdAt:T.createdAt,expiredAt:T.expiredAt,startedAt:T.startedAt,status:`cancelled`,output:void 0,error:void 0,completedAt:x,updatedAt:x,attributes:T.attributes}),await Promise.all([Un(e,C),rr(e,C)]));else if(i.eventType===`attr_set`&&T)A=await Kn(C,async()=>{let n=await G(V(e,`runs`,C,t),m);if(!n)throw new s(C);if(ee(i.eventData.changes,{existingKeys:Object.keys(n.attributes),allowReservedAttributes:i.eventData.allowReservedAttributes===!0}),i.correlationId&&i.eventData.writer.type===`workflow`&&!await q(B(e,`.locks`,`attributes`,t?`${C}-${i.correlationId}.created.${t}`:`${C}-${i.correlationId}.created`),``))throw new f(`Attribute event "${i.correlationId}" already exists`);let r={...n,attributes:v(n.attributes,i.eventData.changes),updatedAt:x};return await W(V(e,`runs`,C,t),r,{overwrite:!0}),r});else if(i.eventType===`step_created`&&`eventData`in i){if(!await q(B(e,`.locks`,`steps`,t?`${C}-${i.correlationId}.created.${t}`:`${C}-${i.correlationId}.created`),``))throw new f(`Step "${i.correlationId}" already created`);let n=i.eventData;j={runId:C,stepId:i.correlationId,stepName:n.stepName,status:`pending`,input:n.input,output:void 0,error:void 0,attempt:0,startedAt:void 0,completedAt:void 0,createdAt:x,updatedAt:x,specVersion:w},await W(V(e,`steps`,`${C}-${i.correlationId}`,t),j)}else if(i.eventType===`step_started`){if(!O&&D){let n=i.eventData;if(await q(B(e,`.locks`,`steps`,t?`${C}-${i.correlationId}.created.${t}`:`${C}-${i.correlationId}.created`),``)){let r={runId:C,stepId:i.correlationId,stepName:n.stepName,status:`pending`,input:n.input,output:void 0,error:void 0,attempt:0,startedAt:void 0,completedAt:void 0,createdAt:x,updatedAt:x,specVersion:w};await W(V(e,`steps`,`${C}-${i.correlationId}`,t),r);let a=`evnt_${un()}`,o={eventType:`step_created`,runId:C,eventId:a,createdAt:x,specVersion:w,correlationId:i.correlationId,eventData:{stepName:n.stepName,input:n.input}};await W(V(e,`events`,`${C}-${a}`,t),o),O=r,fe=!0}else throw new f(`Step "${i.correlationId}" already created`)}if(O){if(O.retryAfter&&O.retryAfter.getTime()>Date.now())throw new l(`Cannot start step "${i.correlationId}": retryAfter timestamp has not been reached yet`,{retryAfter:Math.ceil((O.retryAfter.getTime()-Date.now())/1e3)});let n=`${C}-${i.correlationId}`,r=await H(e,`steps`,n,g,t);if(r&&ne(r.status))throw new f(`Cannot modify step in terminal state "${r.status}"`);j={...O,status:`running`,startedAt:O.startedAt??x,attempt:O.attempt+1,retryAfter:void 0,updatedAt:x},await W(V(e,`steps`,n,t),j,{overwrite:!0})}}else if(i.eventType===`step_completed`&&`eventData`in i){let n=i.eventData;if(O){let r=`${C}-${i.correlationId}`;if(!await q(B(e,`.locks`,`steps`,t?`${r}.terminal.${t}`:`${r}.terminal`),``))throw new f(`Cannot modify step in terminal state`);j={...O,status:`completed`,output:n.result,completedAt:x,updatedAt:x},await W(V(e,`steps`,r,t),j,{overwrite:!0})}}else if(i.eventType===`step_failed`&&`eventData`in i){let n=i.eventData;if(O){let r=`${C}-${i.correlationId}`;if(!await q(B(e,`.locks`,`steps`,t?`${r}.terminal.${t}`:`${r}.terminal`),``))throw new f(`Cannot modify step in terminal state`);j={...O,status:`failed`,error:n.error,completedAt:x,updatedAt:x},await W(V(e,`steps`,r,t),j,{overwrite:!0})}}else if(i.eventType===`step_retrying`&&`eventData`in i){let n=i.eventData;if(O){let r=`${C}-${i.correlationId}`;j={...O,status:`pending`,error:n.error,retryAfter:n.retryAfter,updatedAt:x},await W(V(e,`steps`,r,t),j,{overwrite:!0})}}else if(i.eventType===`hook_created`&&`eventData`in i){let n=i.eventData,r=sn(e,n.token),s=JSON.stringify({token:n.token,hookId:i.correlationId,runId:C,eventId:o}),c=!1,l=null,u=0,d=0;for(let a=0;a<10&&(await Xn(r)||await Bn(e,n.token,t),c=await q(r,s),!c);a++){if(l=await Xn(r),!l){d++,d>=3&&await K(r);continue}if(l.runId===C&&l.hookId===i.correlationId||!await Zn(e,l,t))break;u++,u<3?await new Promise(e=>setTimeout(e,10)):(await K(r),l.hookId&&(await K(V(e,`hooks`,l.hookId,t)),await K(ln(e,n.token,l.runId,l.hookId)))),l=null}let p=!1;if(!c)if(l?.runId===C&&l.hookId===i.correlationId){let r;if(l.eventId)r=l.eventId;else{let a=await $n(e,C,i.correlationId);if(a!==null)throw await er(e,C,i.correlationId,a,t),new f(`Hook "${i.correlationId}" already created`);let s=await tr(e,n.token,C,i.correlationId,o);if(s===null)throw new f(`Hook "${i.correlationId}" already created`);r=s}o=r;let a=ce(o.replace(/^evnt_/,``))??x;k={...i,runId:C,eventId:o,createdAt:a,specVersion:w},p=!0}else{let e={eventType:`hook_conflict`,correlationId:i.correlationId,eventData:{token:n.token,...l?{conflictingRunId:l.runId}:{}},runId:C,eventId:o,createdAt:x,specVersion:w};return await oe(e),{event:y(e,a?.resolveData??`all`),run:A,step:j,hook:void 0}}N={runId:C,hookId:i.correlationId,token:n.token,metadata:n.metadata,ownerId:`local-owner`,projectId:`local-project`,environment:`local`,createdAt:k.createdAt,specVersion:w,isWebhook:n.isWebhook??!1,isSystem:n.isSystem??!1},pe=p?{overwrite:!0}:void 0,await yn(e,n.token,C,i.correlationId,o,t)}else if(i.eventType===`hook_disposed`){if(!await q(an(e,i.correlationId,t),``))throw new f(`Hook "${i.correlationId}" already disposed`);let n=V(e,`hooks`,i.correlationId,t),r=await H(e,`hooks`,i.correlationId,M,t);r&&(await cn(e,r.token,r.runId,r.hookId),await K(ln(e,r.token,r.runId,r.hookId))),await K(n),await Sn(e,C,i.correlationId,t)}else if(i.eventType===`wait_created`&&`eventData`in i){let n=`${C}-${i.correlationId}`;if(!await q(B(e,`.locks`,`waits`,t?`${n}.created.${t}`:`${n}.created`),``))throw new f(`Wait "${i.correlationId}" already exists`);let r=i.eventData;P={waitId:n,runId:C,status:`waiting`,resumeAt:r.resumeAt,completedAt:void 0,createdAt:x,updatedAt:x,specVersion:w},await W(V(e,`waits`,n,t),P)}else if(i.eventType===`wait_completed`){let n=`${C}-${i.correlationId}`,r=B(e,`.locks`,`waits`,t?`${n}.completed.${t}`:`${n}.completed`);if(!await q(r,``))throw new f(`Wait "${i.correlationId}" already completed`);let a=await H(e,`waits`,n,_,t);if(!a)throw await I.unlink(r).catch(()=>{}),new c(`Wait "${i.correlationId}" not found`);P={...a,status:`completed`,completedAt:x,updatedAt:x},await W(V(e,`waits`,n,t),P,{overwrite:!0})}if(i.eventType===`hook_received`&&i.correlationId&&await on(e,i.correlationId,t))throw new d(i.correlationId);let F=V(e,`events`,`${C}-${o}`,t),me=JSON.stringify(k,U,2);if(!await q(F,me))throw i.eventType===`hook_created`&&i.correlationId&&await er(e,C,i.correlationId,o,t),new f(`Event "${o}" already exists for run "${C}"`);E(k,F,me),N&&i.eventType===`hook_created`&&(await xn(e,N.runId,N.hookId,t),await W(V(e,`hooks`,N.hookId,t),N,pe));let he=a?.resolveData??`all`,ge=y(k,he),L,_e,ve;if(i.eventType===`run_started`&&A){let t=await Y({directory:R.join(e,`events`),schema:S,cachedItems:r,filePrefix:`${C}-`,sortOrder:`asc`,limit:1e3,getCreatedAt:$(`evnt`),getId:e=>e.eventId});L=t.data,_e=t.cursor,ve=t.hasMore}if(re(i.eventType)&&typeof a?.sinceCursor==`string`){let t=await Y({directory:R.join(e,`events`),schema:S,filePrefix:`${C}-`,sortOrder:`asc`,cursor:a.sinceCursor,getCreatedAt:$(`evnt`),getId:e=>e.eventId});L=he===`none`?t.data.map(e=>y(e,he)):t.data,_e=t.cursor,ve=t.hasMore}return{event:ge,run:A,step:j,hook:N,wait:P,events:L,cursor:_e,hasMore:ve,...fe?{stepCreated:!0}:{}}}},async get(n,r,i){z(`runId`,n),z(`eventId`,r);let a=await H(e,`events`,`${n}-${r}`,S,t);if(!a)throw Error(`Event ${r} in run ${n} not found`);return y(a,i?.resolveData??`all`)},async list(t){let{runId:n}=t;z(`runId`,n);let i=t.resolveData??`all`,a=await Y({directory:R.join(e,`events`),schema:S,cachedItems:r,filePrefix:`${n}-`,sortOrder:t.pagination?.sortOrder??`asc`,limit:t.pagination?.limit,cursor:t.pagination?.cursor,getCreatedAt:$(`evnt`),getId:e=>e.eventId});return i===`none`?{...a,data:a.data.map(e=>y(e,i))}:a},async listByCorrelationId(t){let n=t.correlationId;z(`correlationId`,n);let i=t.resolveData??`all`,a=await Y({directory:R.join(e,`events`),schema:S,cachedItems:r,filter:e=>e.correlationId===n,sortOrder:t.pagination?.sortOrder??`asc`,limit:t.pagination?.limit,cursor:t.pagination?.cursor,getCreatedAt:$(`evnt`),getId:e=>e.eventId});return i===`none`?{...a,data:a.data.map(e=>y(e,i))}:a}}}function or(e,t){return{get:(async(n,r,i)=>{z(`runId`,n),z(`stepId`,r);let a=await H(e,`steps`,`${n}-${r}`,g,t);if(!a)throw Error(`Step ${r} in run ${n} not found`);return Mn(a,i?.resolveData??`all`)}),list:(async t=>{z(`runId`,t.runId);let n=t.resolveData??`all`,r=await Y({directory:R.join(e,`steps`),schema:g,filePrefix:`${t.runId}-`,sortOrder:t.pagination?.sortOrder??`desc`,limit:t.pagination?.limit,cursor:t.pagination?.cursor,getCreatedAt:$(`step`),getId:e=>e.stepId});return n===`none`?{...r,data:r.data.map(e=>({...e,input:void 0,output:void 0}))}:r})}}function sr(e,t){let n=qn(e,t),r=or(e,t),i=ar(e,t),a=Hn(e,t);return{runs:Kt(`world.runs`,n),steps:Kt(`world.steps`,r),events:Kt(`world.events`,i),hooks:Kt(`world.hooks`,a),clearCache:()=>i.clearCache()}}const cr=A(()=>Math.random()),lr=E({streams:T(k())});function ur(e){return e===1}function dr(e){let t=Buffer.from([+!!e.eof]);return Buffer.concat([t,e.chunk])}function fr(e){return ur(e[0])}function pr(e){return{eof:fr(e),chunk:Buffer.from(e.subarray(1))}}async function mr(e){try{return await I.readdir(e)}catch(e){if(e.code===`ENOENT`)return[];throw e}}function hr(e,t,n,r=n,i=()=>!0){for(let a of t){if(!a.endsWith(n))continue;let t=a.slice(0,-n.length);i(t)&&e.set(t,r)}}function gr(e,t){return z(`streamName`,t),R.join(e,t)}async function _r(e,t,n){let r=gr(e,t),i=await mr(r),a=new Map;return hr(a,i,`.json`),hr(a,i,`.bin`,`.bin`,n?e=>!e.endsWith(`.${n}`):void 0),n&&hr(a,i,`.${n}.bin`),{files:[...a.keys()].sort(),extMap:a,dir:r}}function vr(e,t){let n=t?`.${t}`:``,r=new we,i=new Set;async function a(n,r){z(`runId`,n),z(`streamName`,r);let a=`${n}:${r}`;if(i.has(a))return;let o=V(e,`streams/runs`,n,t),s=(await H(e,`streams/runs`,n,lr,t))?.streams??[];s.includes(r)||(s.push(r),await W(o,{streams:s},{overwrite:!0})),i.add(a)}function o(e){return typeof e==`string`?Buffer.from(new TextEncoder().encode(e)):e instanceof Buffer?e:Buffer.from(e)}return{streams:{async write(t,i,s){let c=`chnk_${cr()}`;await a(await t,i);let l=o(s),u=dr({chunk:l,eof:!1});await ot(R.join(gr(R.join(e,`streams`,`chunks`),i),`${c}${n}.bin`),u);let d=Uint8Array.from(l);r.emit(`chunk:${i}`,{streamName:i,chunkData:d,chunkId:c})},async writeMulti(t,i,s){if(s.length===0)return;let c=s.map(()=>`chnk_${cr()}`);await a(await t,i);let l=s.map(e=>o(e)).map(async(t,r)=>{let a=c[r],o=dr({chunk:t,eof:!1});return await ot(R.join(gr(R.join(e,`streams`,`chunks`),i),`${a}${n}.bin`),o),{chunkId:a,chunkData:Uint8Array.from(t)}});for(let e of l){let{chunkId:t,chunkData:n}=await e;r.emit(`chunk:${i}`,{streamName:i,chunkData:n,chunkId:t})}},async close(t,i){let o=`chnk_${cr()}`;await a(await t,i),await ot(R.join(gr(R.join(e,`streams`,`chunks`),i),`${o}${n}.bin`),dr({chunk:Buffer.from([]),eof:!0})),r.emit(`close:${i}`,{streamName:i})},async list(n){return z(`runId`,n),(await H(e,`streams/runs`,n,lr,t))?.streams??[]},async getChunks(n,r,i){let a=i?.limit??100,{files:o,extMap:s,dir:c}=await _r(R.join(e,`streams`,`chunks`),r,t),l=0;if(i?.cursor)try{l=JSON.parse(Buffer.from(i.cursor,`base64`).toString(`utf-8`)).i}catch{l=0}let u=!1,d=[],f=0;for(let e of o){let t=s.get(e)??`.bin`,n=R.join(c,`${e}${t}`);if(f<l){if(ur(await ct(n))){u=!0;break}f++;continue}if(d.length>=a){ur(await ct(n))?u=!0:f++;break}let r=pr(await st(n));if(r.eof){u=!0;break}d.push({index:f,data:Uint8Array.from(r.chunk)}),f++}let p=!u&&f>l+d.length,m=l+d.length;return{data:d,cursor:p?Buffer.from(JSON.stringify({i:m})).toString(`base64`):null,hasMore:p,done:u}},async getInfo(n,r){let{files:i,extMap:a,dir:o}=await _r(R.join(e,`streams`,`chunks`),r,t),s=!1,c=0;for(let e of i){let t=a.get(e)??`.bin`;if(ur(await ct(R.join(o,`${e}${t}`)))){s=!0;break}c++}return{tailIndex:c-1,done:s}},async get(n,i,a=0){let o=R.join(e,`streams`,`chunks`),s=()=>{},c=null,l=!1;return new ReadableStream({async start(e){let n=new Set,u=[],d=!0,f=!1,p=t=>{if(t.chunkData.byteLength===0){n.add(t.chunkId);return}d?(n.add(t.chunkId),u.push({chunkId:t.chunkId,chunkData:Uint8Array.from(t.chunkData)})):n.has(t.chunkId)||(n.add(t.chunkId),e.enqueue(Uint8Array.from(t.chunkData)))},m=()=>{if(d){f=!0;return}l=!0,s();try{e.close()}catch{}};s=()=>{r.off(`chunk:${i}`,p),r.off(`close:${i}`,m),c&&=(clearInterval(c),null)},r.on(`chunk:${i}`,p),r.on(`close:${i}`,m);let{files:h,extMap:g,dir:_}=await _r(o,i,t),v=h.length;if(typeof a==`number`&&a<0&&h.length>0){let e=h[h.length-1],t=g.get(e)??`.bin`;ur(await ct(R.join(_,`${e}${t}`)))&&v--}let y=typeof a==`number`&&a<0?Math.max(0,v+a):a,b=!1;for(let t=y;t<h.length;t++){let r=h[t],i=r;if(n.has(i))continue;let a=g.get(r)??`.bin`,o=pr(await st(R.join(_,`${r}${a}`)));if(o?.eof===!0){b=!0;break}n.add(i),o.chunk.byteLength&&e.enqueue(Uint8Array.from(o.chunk))}d=!1,u.sort((e,t)=>e.chunkId.localeCompare(t.chunkId));for(let t of u)e.enqueue(Uint8Array.from(t.chunkData));if(b){l=!0,s();try{e.close()}catch{}return}if(f){l=!0,s();try{e.close()}catch{}return}for(let e=0;e<y&&e<h.length;e++)n.add(h[e]);if(l){s();return}let x=!1;c=setInterval(async()=>{if(!x){x=!0;try{let{files:r,extMap:a}=await _r(o,i,t);for(let t of r){let r=t;if(n.has(r))continue;n.add(r);let i=a.get(t)??`.bin`,o=pr(await st(R.join(_,`${t}${i}`)));if(o?.eof===!0){l=!0,s();try{e.close()}catch{}return}if(l)return;o.chunk.byteLength&&e.enqueue(Uint8Array.from(o.chunk))}}catch(e){e instanceof Error&&`code`in e||console.error(`[world-local] Unexpected polling error:`,e)}finally{x=!1}}},100)},cancel(){l=!0,s()}})}}}}function yr(e){let t=e?Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0)):{},n={...Be.value,...t},r=n.tag,i=nn(n),{clearCache:a,...o}=sr(n.dataDir,r),s=n.recoverActiveRuns??!0;return{specVersion:5,...i,...o,...Kt(`world.streams`,{...vr(n.dataDir,r),...n.streamFlushIntervalMs!==void 0&&{streamFlushIntervalMs:n.streamFlushIntervalMs}}),async start(){if(await Tt(n.dataDir),!s)return;let e=r?e=>$e(e,r):et;await j({...o.runs,list:(t=>o.runs.list({...t,fileIdFilter:e}))},i.queue,`world-local`)},async close(){a(),await i.close()},async clear(){if(a(),r){let e=n.dataDir,t=R.join(e,`hooks`),i=await tt(t,r),{HookSchema:a}=await import(`../../_chunks/workflow/dist-CQenixFf.js`).then(e=>e.t);await Promise.all(i.map(async n=>{let r=await G(R.join(t,n),a);r?.token&&(await K(R.join(t,`tokens`,`${rn(r.token)}.json`)),await K(ln(e,r.token,r.runId,r.hookId)))})),await Promise.all([`runs`,`steps`,`events`,`hooks`,`hooks/by-run`,`waits`,`streams/runs`].map(async t=>{let n=R.join(e,t),i=await tt(n,r);await Promise.all(i.map(e=>K(R.join(n,e))))}));for(let t of[`token-index`,`id-index`]){let n=R.join(e,`hooks`,t),i;try{i=await F.readdir(n,{withFileTypes:!0})}catch{i=[]}await Promise.all(i.filter(e=>e.isDirectory()).map(async e=>{let t=R.join(n,e.name),i=await tt(t,r);await Promise.all(i.map(e=>K(R.join(t,e))))}))}await F.rm(R.join(e,`.locks`),{recursive:!0,force:!0}).catch(()=>{});let o=R.join(e,`streams`,`chunks`),s;try{s=await F.readdir(o,{withFileTypes:!0})}catch{s=[]}await Promise.all(s.filter(e=>e.isDirectory()).map(async e=>{let t=R.join(o,e.name),n=await nt(t,r,`.bin`);await Promise.all(n.map(e=>F.unlink(R.join(t,e)).catch(()=>{})))})),Xe()}else Xe(),En(),await ye(n.dataDir,{recursive:!0,force:!0}),await Tt(n.dataDir)}}}function br(e){return yr(e)}export{ht as DataDirAccessError,gt as DataDirVersionError,br as createLocalWorld,yr as createWorld,xt as ensureDataDir,Tt as initDataDir,_t as parseVersion};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import{a as e,i as t,t as n}from"../../_chunks/workflow/chunk-BHKSVoKr.js";import{C as r,T as i,h as a,l as o,m as s,o as c,r as l}from"../../_chunks/workflow/dist-DpDDcpTl.js";import{$ as u,C as d,D as f,F as p,H as m,L as h,M as g,N as _,P as v,Q as y,S as b,T as x,U as S,X as C,Y as w,Z as T,b as ee,et as E,f as te,k as ne,l as D,m as re,nt as ie,p as ae,q as oe,r as se,rt as ce,tt as le,w as ue,x as de,y as fe}from"../../_chunks/workflow/dist-
|
|
1
|
+
import{a as e,i as t,t as n}from"../../_chunks/workflow/chunk-BHKSVoKr.js";import{C as r,T as i,h as a,l as o,m as s,o as c,r as l}from"../../_chunks/workflow/dist-DpDDcpTl.js";import{$ as u,C as d,D as f,F as p,H as m,L as h,M as g,N as _,P as v,Q as y,S as b,T as x,U as S,X as C,Y as w,Z as T,b as ee,et as E,f as te,k as ne,l as D,m as re,nt as ie,p as ae,q as oe,r as se,rt as ce,tt as le,w as ue,x as de,y as fe}from"../../_chunks/workflow/dist-CQenixFf.js";import{t as pe}from"../../_chunks/workflow/undici-fb54XL8i.js";import{webcrypto as me}from"node:crypto";import{inspect as he}from"node:util";import{AsyncLocalStorage as ge}from"node:async_hooks";import _e from"node:os";import*as ve from"path";import*as ye from"fs";import{createRequire as be}from"module";import*as xe from"net";var Se=n(((e,t)=>{var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},s=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!a.call(e,c)&&c!==o&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},c=e=>s(n({},`__esModule`,{value:!0}),e),l={};o(l,{SYMBOL_FOR_REQ_CONTEXT:()=>u,getContext:()=>d}),t.exports=c(l);let u=Symbol.for(`@vercel/request-context`);function d(){return globalThis[u]?.get?.()??{}}0&&(t.exports={SYMBOL_FOR_REQ_CONTEXT:u,getContext:d})})),Ce=n(((e,t)=>{var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},s=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!a.call(e,c)&&c!==o&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},c=e=>s(n({},`__esModule`,{value:!0}),e),l={};o(l,{VercelOidcTokenError:()=>u}),t.exports=c(l);var u=class extends Error{constructor(e,t){super(e),this.name=`VercelOidcTokenError`,this.cause=t}toString(){return this.cause?`${this.name}: ${this.message}: ${this.cause}`:`${this.name}: ${this.message}`}};0&&(t.exports={VercelOidcTokenError:u})})),we=n(((t,n)=>{var r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s=(e,t)=>{for(var n in t)r(e,n,{get:t[n],enumerable:!0})},c=(e,t,n,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of a(t))!o.call(e,c)&&c!==n&&r(e,c,{get:()=>t[c],enumerable:!(s=i(t,c))||s.enumerable});return e},l=e=>c(r({},`__esModule`,{value:!0}),e),u={};s(u,{getVercelOidcToken:()=>p,getVercelOidcTokenSync:()=>m}),n.exports=l(u);var d=Se(),f=Ce();async function p(t){let n=``,r;try{n=m()}catch(e){r=e}try{let[{getTokenPayload:r,isExpired:i},{refreshToken:a}]=await Promise.all([await Promise.resolve().then(()=>e(ke())),await import(`../../_chunks/workflow/token-CaY0nA5J.js`).then(t=>e(t.default))]);(!n||i(r(n),t?.expirationBufferMs))&&(await a(t),n=m())}catch(e){let t=r instanceof Error?r.message:``;throw e instanceof Error&&(t=`${t}
|
|
2
2
|
${e.message}`),t?new f.VercelOidcTokenError(t):e}return n}function m(){let e=(0,d.getContext)().headers?.[`x-vercel-oidc-token`]??process.env.VERCEL_OIDC_TOKEN;if(!e)throw Error(`The 'x-vercel-oidc-token' header is missing from the request. Do you have the OIDC option enabled in the Vercel project settings?`);return e}0&&(n.exports={getVercelOidcToken:p,getVercelOidcTokenSync:m})})),Te=n(((e,t)=>{var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},s=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!a.call(e,c)&&c!==o&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},c=e=>s(n({},`__esModule`,{value:!0}),e),l={};o(l,{AccessTokenMissingError:()=>u,RefreshAccessTokenFailedError:()=>d}),t.exports=c(l);var u=class extends Error{constructor(){super(`No authentication found. Please log in with the Vercel CLI (vercel login).`),this.name=`AccessTokenMissingError`}},d=class extends Error{constructor(e){super(`Failed to refresh authentication token.`,{cause:e}),this.name=`RefreshAccessTokenFailedError`}};0&&(t.exports={AccessTokenMissingError:u,RefreshAccessTokenFailedError:d})})),Ee=n(((e,n)=>{var r=Object.create,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t)=>{for(var n in t)i(e,n,{get:t[n],enumerable:!0})},u=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let s of o(t))!c.call(e,s)&&s!==n&&i(e,s,{get:()=>t[s],enumerable:!(r=a(t,s))||r.enumerable});return e},d=(e,t,n)=>(n=e==null?{}:r(s(e)),u(t||!e||!e.__esModule?i(n,`default`,{value:e,enumerable:!0}):n,e)),f=e=>u(i({},`__esModule`,{value:!0}),e),p={};l(p,{findRootDir:()=>v,getUserDataDir:()=>y}),n.exports=f(p);var m=d(t(`path`)),h=d(t(`fs`)),g=d(t(`os`)),_=Ce();function v(){try{let e=process.cwd();for(;e!==m.default.dirname(e);){let t=m.default.join(e,`.vercel`);if(h.default.existsSync(t))return e;e=m.default.dirname(e)}}catch{throw new _.VercelOidcTokenError(`Token refresh only supported in node server environments`)}return null}function y(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(g.default.platform()){case`darwin`:return m.default.join(g.default.homedir(),`Library/Application Support`);case`linux`:return m.default.join(g.default.homedir(),`.local/share`);case`win32`:return process.env.LOCALAPPDATA?process.env.LOCALAPPDATA:null;default:return null}}0&&(n.exports={findRootDir:v,getUserDataDir:y})})),De=n(((e,n)=>{var r=Object.create,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t)=>{for(var n in t)i(e,n,{get:t[n],enumerable:!0})},u=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let s of o(t))!c.call(e,s)&&s!==n&&i(e,s,{get:()=>t[s],enumerable:!(r=a(t,s))||r.enumerable});return e},d=(e,t,n)=>(n=e==null?{}:r(s(e)),u(t||!e||!e.__esModule?i(n,`default`,{value:e,enumerable:!0}):n,e)),f=e=>u(i({},`__esModule`,{value:!0}),e),p={};l(p,{isValidAccessToken:()=>b,readAuthConfig:()=>v,writeAuthConfig:()=>y}),n.exports=f(p);var m=d(t(`fs`)),h=d(t(`path`)),g=ke();function _(){let e=(0,g.getVercelDataDir)();if(!e)throw Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return h.join(e,`auth.json`)}function v(){try{let e=_();if(!m.existsSync(e))return null;let t=m.readFileSync(e,`utf8`);return t?JSON.parse(t):null}catch{return null}}function y(e){let t=_(),n=h.dirname(t);m.existsSync(n)||m.mkdirSync(n,{mode:504,recursive:!0}),m.writeFileSync(t,JSON.stringify(e,null,2),{mode:384})}function b(e,t=0){if(!e.token)return!1;if(typeof e.expiresAt!=`number`)return!0;let n=Math.floor(Date.now()/1e3),r=t/1e3;return e.expiresAt>=n+r}0&&(n.exports={isValidAccessToken:b,readAuthConfig:v,writeAuthConfig:y})})),Oe=n(((e,n)=>{var r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s=(e,t)=>{for(var n in t)r(e,n,{get:t[n],enumerable:!0})},c=(e,t,n,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of a(t))!o.call(e,c)&&c!==n&&r(e,c,{get:()=>t[c],enumerable:!(s=i(t,c))||s.enumerable});return e},l=e=>c(r({},`__esModule`,{value:!0}),e),u={};s(u,{processTokenResponse:()=>g,refreshTokenRequest:()=>h}),n.exports=l(u);var d=t(`os`);let f=`@vercel/oidc node-${process.version} ${(0,d.platform)()} (${(0,d.arch)()}) ${(0,d.hostname)()}`,p=null;async function m(){if(p)return p;let e=await fetch(`https://vercel.com/.well-known/openid-configuration`,{headers:{"user-agent":f}});if(!e.ok)throw Error(`Failed to discover OAuth endpoints`);let t=await e.json();if(!t||typeof t.token_endpoint!=`string`)throw Error(`Invalid OAuth discovery response`);let n=t.token_endpoint;return p=n,n}async function h(e){let t=await m();return await fetch(t,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`,"user-agent":f},body:new URLSearchParams({client_id:`cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp`,grant_type:`refresh_token`,...e})})}async function g(e){let t=await e.json();if(!e.ok){let e=typeof t==`object`&&t&&`error`in t?String(t.error):`Token refresh failed`;return[Error(e)]}return typeof t!=`object`||!t?[Error(`Invalid token response`)]:typeof t.access_token==`string`?t.token_type===`Bearer`?typeof t.expires_in==`number`?[null,t]:[Error(`Missing expires_in in response`)]:[Error(`Invalid token_type in response`)]:[Error(`Missing access_token in response`)]}0&&(n.exports={processTokenResponse:g,refreshTokenRequest:h})})),ke=n(((e,n)=>{var r=Object.create,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t)=>{for(var n in t)i(e,n,{get:t[n],enumerable:!0})},u=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let s of o(t))!c.call(e,s)&&s!==n&&i(e,s,{get:()=>t[s],enumerable:!(r=a(t,s))||r.enumerable});return e},d=(e,t,n)=>(n=e==null?{}:r(s(e)),u(t||!e||!e.__esModule?i(n,`default`,{value:e,enumerable:!0}):n,e)),f=e=>u(i({},`__esModule`,{value:!0}),e),p={};l(p,{assertVercelOidcTokenResponse:()=>w,findProjectInfo:()=>T,getTokenPayload:()=>te,getVercelDataDir:()=>x,getVercelOidcToken:()=>C,getVercelToken:()=>S,isExpired:()=>ne,loadToken:()=>E,saveToken:()=>ee}),n.exports=f(p);var m=d(t(`path`)),h=d(t(`fs`)),g=Ce(),_=Ee(),v=De(),y=Oe(),b=Te();function x(){let e=(0,_.getUserDataDir)();return e?m.join(e,`com.vercel.cli`):null}async function S(e){let t=(0,v.readAuthConfig)();if(!t?.token)throw new b.AccessTokenMissingError;if((0,v.isValidAccessToken)(t,e?.expirationBufferMs))return t.token;if(!t.refreshToken)throw(0,v.writeAuthConfig)({}),new b.RefreshAccessTokenFailedError(`No refresh token available`);try{let e=await(0,y.refreshTokenRequest)({refresh_token:t.refreshToken}),[n,r]=await(0,y.processTokenResponse)(e);if(n||!r)throw(0,v.writeAuthConfig)({}),new b.RefreshAccessTokenFailedError(n);let i={token:r.access_token,expiresAt:Math.floor(Date.now()/1e3)+r.expires_in};return r.refresh_token&&(i.refreshToken=r.refresh_token),(0,v.writeAuthConfig)(i),i.token}catch(e){throw(0,v.writeAuthConfig)({}),e instanceof b.AccessTokenMissingError||e instanceof b.RefreshAccessTokenFailedError?e:new b.RefreshAccessTokenFailedError(e)}}async function C(e,t,n){let r=`https://api.vercel.com/v1/projects/${t}/token?source=vercel-oidc-refresh${n?`&teamId=${n}`:``}`,i=await fetch(r,{method:`POST`,headers:{Authorization:`Bearer ${e}`}});if(!i.ok)throw new g.VercelOidcTokenError(`Failed to refresh OIDC token: ${i.statusText}`);let a=await i.json();return w(a),a}function w(e){if(!e||typeof e!=`object`)throw TypeError("Vercel OIDC token is malformed. Expected an object. Please run `vc env pull` and try again");if(!(`token`in e)||typeof e.token!=`string`)throw TypeError("Vercel OIDC token is malformed. Expected a string-valued token property. Please run `vc env pull` and try again")}function T(){let e=(0,_.findRootDir)();if(!e)throw new g.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let t=m.join(e,`.vercel`,`project.json`);if(!h.existsSync(t))throw new g.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");let n=JSON.parse(h.readFileSync(t,`utf8`));if(typeof n.projectId!=`string`&&typeof n.orgId!=`string`)throw TypeError("Expected a string-valued projectId property. Try running `vc link` to re-link your project.");return{projectId:n.projectId,teamId:n.orgId}}function ee(e,t){let n=(0,_.getUserDataDir)();if(!n)throw new g.VercelOidcTokenError(`Unable to find user data directory. Please reach out to Vercel support.`);let r=m.join(n,`com.vercel.token`,`${t}.json`),i=JSON.stringify(e);h.mkdirSync(m.dirname(r),{mode:504,recursive:!0}),h.writeFileSync(r,i),h.chmodSync(r,432)}function E(e){let t=(0,_.getUserDataDir)();if(!t)throw new g.VercelOidcTokenError(`Unable to find user data directory. Please reach out to Vercel support.`);let n=m.join(t,`com.vercel.token`,`${e}.json`);if(!h.existsSync(n))return null;let r=JSON.parse(h.readFileSync(n,`utf8`));return w(r),r}function te(e){let t=e.split(`.`);if(t.length!==3)throw new g.VercelOidcTokenError("Invalid token. Please run `vc env pull` and try again");let n=t[1].replace(/-/g,`+`).replace(/_/g,`/`),r=n.padEnd(n.length+(4-n.length%4)%4,`=`);return JSON.parse(Buffer.from(r,`base64`).toString(`utf8`))}function ne(e,t=0){return e.exp*1e3<Date.now()+t}0&&(n.exports={assertVercelOidcTokenResponse:w,findProjectInfo:T,getTokenPayload:te,getVercelDataDir:x,getVercelOidcToken:C,getVercelToken:S,isExpired:ne,loadToken:E,saveToken:ee})})),Ae=n(((e,t)=>{var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},s=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!a.call(e,c)&&c!==o&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},c=e=>s(n({},`__esModule`,{value:!0}),e),l={};o(l,{AccessTokenMissingError:()=>f.AccessTokenMissingError,RefreshAccessTokenFailedError:()=>f.RefreshAccessTokenFailedError,getContext:()=>d.getContext,getVercelOidcToken:()=>u.getVercelOidcToken,getVercelOidcTokenSync:()=>u.getVercelOidcTokenSync,getVercelToken:()=>p.getVercelToken}),t.exports=c(l);var u=we(),d=Se(),f=Te(),p=ke();0&&(t.exports={AccessTokenMissingError,RefreshAccessTokenFailedError,getContext,getVercelOidcToken,getVercelOidcTokenSync,getVercelToken})}))();let je;try{je=new TextDecoder}catch{}let O,Me,k=0;const Ne=[],Pe=57337,Fe={};let Ie=11281e4,Le=1681e4,Re=Ne,ze=0,A={},j,Be,Ve=0,He=0,M,N,P=[],Ue=[],F,I,We,Ge={useRecords:!1,mapsAsObjects:!0},Ke=!1,qe=2;try{Function(``)}catch{qe=1/0}var Je=class e{constructor(e){if(e&&((e.keyMap||e._keyMap)&&!e.useRecords&&(e.useRecords=!1,e.mapsAsObjects=!0),e.useRecords===!1&&e.mapsAsObjects===void 0&&(e.mapsAsObjects=!0),e.getStructures&&(e.getShared=e.getStructures),e.getShared&&!e.structures&&((e.structures=[]).uninitialized=!0),e.keyMap)){this.mapKey=new Map;for(let[t,n]of Object.entries(e.keyMap))this.mapKey.set(n,t)}Object.assign(this,e)}decodeKey(e){return this.keyMap&&this.mapKey.get(e)||e}encodeKey(e){return this.keyMap&&this.keyMap.hasOwnProperty(e)?this.keyMap[e]:e}encodeKeys(e){if(!this._keyMap)return e;let t=new Map;for(let[n,r]of Object.entries(e))t.set(this._keyMap.hasOwnProperty(n)?this._keyMap[n]:n,r);return t}decodeKeys(e){if(!this._keyMap||e.constructor.name!=`Map`)return e;if(!this._mapKey){this._mapKey=new Map;for(let[e,t]of Object.entries(this._keyMap))this._mapKey.set(t,e)}let t={};return e.forEach((e,n)=>t[R(this._mapKey.has(n)?this._mapKey.get(n):n)]=e),t}mapDecode(e,t){let n=this.decode(e);if(this._keyMap)switch(n.constructor.name){case`Array`:return n.map(e=>this.decodeKeys(e))}return n}decode(t,n){if(O)return bt(()=>(xt(),this?this.decode(t,n):e.prototype.decode.call(Ge,t,n)));Me=n>-1?n:t.length,k=0,ze=0,He=0,Be=null,Re=Ne,M=null,O=t;try{I=t.dataView||=new DataView(t.buffer,t.byteOffset,t.byteLength)}catch(e){throw O=null,t instanceof Uint8Array?e:Error(`Source must be a Uint8Array or Buffer but was a `+(t&&typeof t==`object`?t.constructor.name:typeof t))}if(this instanceof e){if(A=this,F=this.sharedValues&&(this.pack?Array(this.maxPrivatePackedValues||16).concat(this.sharedValues):this.sharedValues),this.structures)return j=this.structures,Ye();(!j||j.length>0)&&(j=[])}else A=Ge,(!j||j.length>0)&&(j=[]),F=null;return Ye()}decodeMultiple(e,t){let n,r=0;try{let i=e.length;Ke=!0;let a=this?this.decode(e,i):Ct.decode(e,i);if(t){if(t(a)===!1)return;for(;k<i;)if(r=k,t(Ye())===!1)return}else{for(n=[a];k<i;)r=k,n.push(Ye());return n}}catch(e){throw e.lastPosition=r,e.values=n,e}finally{Ke=!1,xt()}}};function Ye(){try{let e=L();if(M){if(k>=M.postBundlePosition){let e=Error(`Unexpected bundle position`);throw e.incomplete=!0,e}k=M.postBundlePosition,M=null}if(k==Me)j=null,O=null,N&&=null;else if(k>Me){let e=Error(`Unexpected end of CBOR data`);throw e.incomplete=!0,e}else if(!Ke)throw Error(`Data read, but end of buffer not reached`);return e}catch(e){throw xt(),(e instanceof RangeError||e.message.startsWith(`Unexpected end of buffer`))&&(e.incomplete=!0),e}}function L(){let e=O[k++],t=e>>5;if(e&=31,e>23)switch(e){case 24:e=O[k++];break;case 25:if(t==7)return ot();e=I.getUint16(k),k+=2;break;case 26:if(t==7){let e=I.getFloat32(k);if(A.useFloat32>2){let t=St[(O[k]&127)<<1|O[k+1]>>7];return k+=4,(t*e+(e>0?.5:-.5)>>0)/t}return k+=4,e}e=I.getUint32(k),k+=4;break;case 27:if(t==7){let e=I.getFloat64(k);return k+=8,e}if(t>1){if(I.getUint32(k)>0)throw Error(`JavaScript does not support arrays, maps, or strings with length over 4294967295`);e=I.getUint32(k+4)}else A.int64AsNumber?(e=I.getUint32(k)*4294967296,e+=I.getUint32(k+4)):e=I.getBigUint64(k);k+=8;break;case 31:switch(t){case 2:case 3:throw Error(`Indefinite length not supported for byte or text strings`);case 4:let e=[],n,r=0;for(;(n=L())!=Fe;){if(r>=Ie)throw Error(`Array length exceeds ${Ie}`);e[r++]=n}return t==4?e:t==3?e.join(``):Buffer.concat(e);case 5:let i;if(A.mapsAsObjects){let e={},t=0;if(A.keyMap)for(;(i=L())!=Fe;){if(t++>=Le)throw Error(`Property count exceeds ${Le}`);e[R(A.decodeKey(i))]=L()}else for(;(i=L())!=Fe;){if(t++>=Le)throw Error(`Property count exceeds ${Le}`);e[R(i)]=L()}return e}else{We&&=(A.mapsAsObjects=!0,!1);let e=new Map;if(A.keyMap){let t=0;for(;(i=L())!=Fe;){if(t++>=Le)throw Error(`Map size exceeds ${Le}`);e.set(A.decodeKey(i),L())}}else{let t=0;for(;(i=L())!=Fe;){if(t++>=Le)throw Error(`Map size exceeds ${Le}`);e.set(i,L())}}return e}case 7:return Fe;default:throw Error(`Invalid major type for indefinite length `+t)}default:throw Error(`Unknown token `+e)}switch(t){case 0:return e;case 1:return~e;case 2:return rt(e);case 3:if(He>=k)return Be.slice(k-Ve,(k+=e)-Ve);if(He==0&&Me<140&&e<32){let t=e<16?nt(e):tt(e);if(t!=null)return t}return Qe(e);case 4:if(e>=Ie)throw Error(`Array length exceeds ${Ie}`);let t=Array(e);for(let n=0;n<e;n++)t[n]=L();return t;case 5:if(e>=Le)throw Error(`Map size exceeds ${Ie}`);if(A.mapsAsObjects){let t={};if(A.keyMap)for(let n=0;n<e;n++)t[R(A.decodeKey(L()))]=L();else for(let n=0;n<e;n++)t[R(L())]=L();return t}else{We&&=(A.mapsAsObjects=!0,!1);let t=new Map;if(A.keyMap)for(let n=0;n<e;n++)t.set(A.decodeKey(L()),L());else for(let n=0;n<e;n++)t.set(L(),L());return t}case 6:if(e>=Pe){let t=j[e&8191];if(t)return t.read||=Ze(t),t.read();if(e<65536){if(e==57343){let e=vt(),t=L(),n=L();ct(t,n);let r={};if(A.keyMap)for(let t=2;t<e;t++){let e=A.decodeKey(n[t-2]);r[R(e)]=L()}else for(let t=2;t<e;t++){let e=n[t-2];r[R(e)]=L()}return r}else if(e==57342){let e=vt(),t=L();for(let n=2;n<e;n++)ct(t++,L());return L()}else if(e==Pe)return _t();if(A.getShared&&(yt(),t=j[e&8191],t))return t.read||=Ze(t),t.read()}}let n=P[e];if(n)return n.handlesRead?n(L):n(L());{let t=L();for(let n=0;n<Ue.length;n++){let r=Ue[n](e,t);if(r!==void 0)return r}return new st(t,e)}case 7:switch(e){case 20:return!1;case 21:return!0;case 22:return null;case 23:return;default:let t=(F||ft())[e];if(t!==void 0)return t;throw Error(`Unknown token `+e)}default:if(isNaN(e)){let e=Error(`Unexpected end of CBOR data`);throw e.incomplete=!0,e}throw Error(`Unknown CBOR token `+e)}}const Xe=/^[a-zA-Z_$][a-zA-Z\d_$]*$/;function Ze(e){if(!e)throw Error(`Structure is required in record definition`);function t(){let e=O[k++];if(e&=31,e>23)switch(e){case 24:e=O[k++];break;case 25:e=I.getUint16(k),k+=2;break;case 26:e=I.getUint32(k),k+=4;break;default:throw Error(`Expected array header, but got `+O[k-1])}let t=this.compiledReader;for(;t;){if(t.propertyCount===e)return t(L);t=t.next}if(this.slowReads++>=qe){let n=this.length==e?this:this.slice(0,e);return t=A.keyMap?Function(`r`,`return {`+n.map(e=>A.decodeKey(e)).map(e=>Xe.test(e)?R(e)+`:r()`:`[`+JSON.stringify(e)+`]:r()`).join(`,`)+`}`):Function(`r`,`return {`+n.map(e=>Xe.test(e)?R(e)+`:r()`:`[`+JSON.stringify(e)+`]:r()`).join(`,`)+`}`),this.compiledReader&&(t.next=this.compiledReader),t.propertyCount=e,this.compiledReader=t,t(L)}let n={};if(A.keyMap)for(let t=0;t<e;t++)n[R(A.decodeKey(this[t]))]=L();else for(let t=0;t<e;t++)n[R(this[t])]=L();return n}return e.slowReads=0,t}function R(e){if(typeof e==`string`)return e===`__proto__`?`__proto_`:e;if(typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`)return e.toString();if(e==null)return e+``;throw Error(`Invalid property name type `+typeof e)}let Qe=et;function $e(e){Qe=t(1);function t(t){return function(t){let n=Re[ze++];if(n==null){if(M)return et(t);let r=e(k,Me,t,O);if(typeof r==`string`)n=r,Re=Ne;else if(Re=r,ze=1,He=1,n=Re[0],n===void 0)throw Error(`Unexpected end of buffer`)}let r=n.length;return r<=t?(k+=t,n):(Be=n,Ve=k,He=k+r,k+=t,n.slice(0,t))}}}function et(e){let t;if(e<16&&(t=nt(e)))return t;if(e>64&&je)return je.decode(O.subarray(k,k+=e));let n=k+e,r=[];for(t=``;k<n;){let e=O[k++];if(!(e&128))r.push(e);else if((e&224)==192){let t=O[k++]&63;r.push((e&31)<<6|t)}else if((e&240)==224){let t=O[k++]&63,n=O[k++]&63;r.push((e&31)<<12|t<<6|n)}else if((e&248)==240){let t=O[k++]&63,n=O[k++]&63,i=O[k++]&63,a=(e&7)<<18|t<<12|n<<6|i;a>65535&&(a-=65536,r.push(a>>>10&1023|55296),a=56320|a&1023),r.push(a)}else r.push(e);r.length>=4096&&(t+=z.apply(String,r),r.length=0)}return r.length>0&&(t+=z.apply(String,r)),t}let z=String.fromCharCode;function tt(e){let t=k,n=Array(e);for(let r=0;r<e;r++){let e=O[k++];if((e&128)>0){k=t;return}n[r]=e}return z.apply(String,n)}function nt(e){if(e<4)if(e<2){if(e===0)return``;{let e=O[k++];if((e&128)>1){--k;return}return z(e)}}else{let t=O[k++],n=O[k++];if((t&128)>0||(n&128)>0){k-=2;return}if(e<3)return z(t,n);let r=O[k++];if((r&128)>0){k-=3;return}return z(t,n,r)}else{let t=O[k++],n=O[k++],r=O[k++],i=O[k++];if((t&128)>0||(n&128)>0||(r&128)>0||(i&128)>0){k-=4;return}if(e<6){if(e===4)return z(t,n,r,i);{let e=O[k++];if((e&128)>0){k-=5;return}return z(t,n,r,i,e)}}else if(e<8){let a=O[k++],o=O[k++];if((a&128)>0||(o&128)>0){k-=6;return}if(e<7)return z(t,n,r,i,a,o);let s=O[k++];if((s&128)>0){k-=7;return}return z(t,n,r,i,a,o,s)}else{let a=O[k++],o=O[k++],s=O[k++],c=O[k++];if((a&128)>0||(o&128)>0||(s&128)>0||(c&128)>0){k-=8;return}if(e<10){if(e===8)return z(t,n,r,i,a,o,s,c);{let e=O[k++];if((e&128)>0){k-=9;return}return z(t,n,r,i,a,o,s,c,e)}}else if(e<12){let l=O[k++],u=O[k++];if((l&128)>0||(u&128)>0){k-=10;return}if(e<11)return z(t,n,r,i,a,o,s,c,l,u);let d=O[k++];if((d&128)>0){k-=11;return}return z(t,n,r,i,a,o,s,c,l,u,d)}else{let l=O[k++],u=O[k++],d=O[k++],f=O[k++];if((l&128)>0||(u&128)>0||(d&128)>0||(f&128)>0){k-=12;return}if(e<14){if(e===12)return z(t,n,r,i,a,o,s,c,l,u,d,f);{let e=O[k++];if((e&128)>0){k-=13;return}return z(t,n,r,i,a,o,s,c,l,u,d,f,e)}}else{let p=O[k++],m=O[k++];if((p&128)>0||(m&128)>0){k-=14;return}if(e<15)return z(t,n,r,i,a,o,s,c,l,u,d,f,p,m);let h=O[k++];if((h&128)>0){k-=15;return}return z(t,n,r,i,a,o,s,c,l,u,d,f,p,m,h)}}}}}function rt(e){return A.copyBuffers?Uint8Array.prototype.slice.call(O,k,k+=e):O.subarray(k,k+=e)}let it=new Float32Array(1),at=new Uint8Array(it.buffer,0,4);function ot(){let e=O[k++],t=O[k++],n=(e&127)>>2;if(n===31)return t||e&3?NaN:e&128?-1/0:1/0;if(n===0){let n=((e&3)<<8|t)/(1<<24);return e&128?-n:n}return at[3]=e&128|(n>>1)+56,at[2]=(e&7)<<5|t>>3,at[1]=t<<5,at[0]=0,it[0]}Array(4096);var st=class{constructor(e,t){this.value=e,this.tag=t}};P[0]=e=>new Date(e),P[1]=e=>new Date(Math.round(e*1e3)),P[2]=e=>{let t=BigInt(0);for(let n=0,r=e.byteLength;n<r;n++)t=BigInt(e[n])+(t<<BigInt(8));return t},P[3]=e=>BigInt(-1)-P[2](e),P[4]=e=>+(e[1]+`e`+e[0]),P[5]=e=>e[1]*Math.exp(e[0]*Math.log(2));const ct=(e,t)=>{e-=57344;let n=j[e];n&&n.isShared&&((j.restoreStructures||=[])[e]=n),j[e]=t,t.read=Ze(t)};P[105]=e=>{let t=e.length,n=e[1];ct(e[0],n);let r={};for(let i=2;i<t;i++){let t=n[i-2];r[R(t)]=e[i]}return r},P[14]=e=>M?M[0].slice(M.position0,M.position0+=e):new st(e,14),P[15]=e=>M?M[1].slice(M.position1,M.position1+=e):new st(e,15);let lt={Error,RegExp};P[27]=e=>(lt[e[0]]||Error)(e[1],e[2]);const ut=e=>{if(O[k++]!=132){let e=Error(`Packed values structure must be followed by a 4 element array`);throw O.length<k&&(e.incomplete=!0),e}let t=e();if(!t||!t.length){let e=Error(`Packed values structure must be followed by a 4 element array`);throw e.incomplete=!0,e}return F=F?t.concat(F.slice(t.length)):t,F.prefixes=e(),F.suffixes=e(),e()};ut.handlesRead=!0,P[51]=ut,P[6]=e=>{if(!F)if(A.getShared)yt();else return new st(e,6);if(typeof e==`number`)return F[16+(e>=0?2*e:-2*e-1)];let t=Error(`No support for non-integer packed references yet`);throw e===void 0&&(t.incomplete=!0),t},P[28]=e=>{N||(N=new Map,N.id=0);let t=N.id++,n=k,r=O[k],i;i=r>>5==4?[]:{};let a={target:i};N.set(t,a);let o=e();return a.used?(Object.getPrototypeOf(i)!==Object.getPrototypeOf(o)&&(k=n,i=o,N.set(t,{target:i}),o=e()),Object.assign(i,o)):(a.target=o,o)},P[28].handlesRead=!0,P[29]=e=>{let t=N.get(e);return t.used=!0,t.target},P[258]=e=>new Set(e),(P[259]=e=>(A.mapsAsObjects&&(A.mapsAsObjects=!1,We=!0),e())).handlesRead=!0;function dt(e,t){return typeof e==`string`?e+t:e instanceof Array?e.concat(t):Object.assign({},e,t)}function ft(){if(!F)if(A.getShared)yt();else throw Error(`No packed values available`);return F}Ue.push((e,t)=>{if(e>=225&&e<=255)return dt(ft().prefixes[e-224],t);if(e>=28704&&e<=32767)return dt(ft().prefixes[e-28672],t);if(e>=1879052288&&e<=2147483647)return dt(ft().prefixes[e-1879048192],t);if(e>=216&&e<=223)return dt(t,ft().suffixes[e-216]);if(e>=27647&&e<=28671)return dt(t,ft().suffixes[e-27639]);if(e>=1811940352&&e<=1879048191)return dt(t,ft().suffixes[e-1811939328]);if(e==1399353956)return{packedValues:F,structures:j.slice(0),version:t};if(e==55799)return t});const pt=new Uint8Array(new Uint16Array([1]).buffer)[0]==1,mt=[Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,typeof BigUint64Array>`u`?{name:`BigUint64Array`}:BigUint64Array,Int8Array,Int16Array,Int32Array,typeof BigInt64Array>`u`?{name:`BigInt64Array`}:BigInt64Array,Float32Array,Float64Array],ht=[64,68,69,70,71,72,77,78,79,85,86];for(let e=0;e<mt.length;e++)gt(mt[e],ht[e]);function gt(e,t){let n=`get`+e.name.slice(0,-5),r;typeof e==`function`?r=e.BYTES_PER_ELEMENT:e=null;for(let i=0;i<2;i++){if(!i&&r==1)continue;let a=r==2?1:r==4?2:r==8?3:0;P[i?t:t-4]=r==1||i==pt?n=>{if(!e)throw Error(`Could not find typed array for code `+t);return!A.copyBuffers&&(r===1||r===2&&!(n.byteOffset&1)||r===4&&!(n.byteOffset&3)||r===8&&!(n.byteOffset&7))?new e(n.buffer,n.byteOffset,n.byteLength>>a):new e(Uint8Array.prototype.slice.call(n,0).buffer)}:r=>{if(!e)throw Error(`Could not find typed array for code `+t);let o=new DataView(r.buffer,r.byteOffset,r.byteLength),s=r.length>>a,c=new e(s),l=o[n];for(let e=0;e<s;e++)c[e]=l.call(o,e<<a,i);return c}}}function _t(){let e=vt(),t=k+L();for(let t=2;t<e;t++){let e=vt();k+=e}let n=k;return k=t,M=[et(vt()),et(vt())],M.position0=0,M.position1=0,M.postBundlePosition=k,k=n,L()}function vt(){let e=O[k++]&31;if(e>23)switch(e){case 24:e=O[k++];break;case 25:e=I.getUint16(k),k+=2;break;case 26:e=I.getUint32(k),k+=4;break}return e}function yt(){if(A.getShared){let e=bt(()=>(O=null,A.getShared()))||{},t=e.structures||[];A.sharedVersion=e.version,F=A.sharedValues=e.packedValues,j===!0?A.structures=j=t:j.splice.apply(j,[0,t.length].concat(t))}}function bt(e){let t=Me,n=k,r=ze,i=Ve,a=He,o=Be,s=Re,c=N,l=M,u=new Uint8Array(O.slice(0,Me)),d=j,f=A,p=Ke,m=e();return Me=t,k=n,ze=r,Ve=i,He=a,Be=o,Re=s,N=c,M=l,O=u,Ke=p,j=d,A=f,I=new DataView(O.buffer,O.byteOffset,O.byteLength),m}function xt(){O=null,N=null,j=null}const St=Array(147);for(let e=0;e<256;e++)St[e]=+(`1e`+Math.floor(45.15-e*.30103));let Ct=new Je({useRecords:!1});const wt=Ct.decode;Ct.decodeMultiple;const Tt={NEVER:0,ALWAYS:1,DECIMAL_ROUND:3,DECIMAL_FIT:4};let Et;try{Et=new TextEncoder}catch{}let Dt,Ot;const kt=typeof globalThis==`object`&&globalThis.Buffer,At=kt!==void 0,jt=At?kt.allocUnsafeSlow:Uint8Array,Mt=At?kt:Uint8Array,Nt=At?4294967296:2144337920;let Pt,B,V,H=0,Ft,U=null;const It=/[\u0080-\uFFFF]/,W=Symbol(`record-id`);var Lt=class extends Je{constructor(e){super(e),this.offset=0;let t,n,r,i,a;e||={};let o=Mt.prototype.utf8Write?function(e,t,n){return B.utf8Write(e,t,n)}:Et&&Et.encodeInto?function(e,t){return Et.encodeInto(e,B.subarray(t)).written}:!1,s=this,c=e.structures||e.saveStructures,l=e.maxSharedStructures;if(l??=c?128:0,l>8190)throw Error(`Maximum maxSharedStructure is 8190`);let u=e.sequential;u&&(l=0),this.structures||=[],this.saveStructures&&(this.saveShared=this.saveStructures);let d,f,p=e.sharedValues,m;if(p){m=Object.create(null);for(let e=0,t=p.length;e<t;e++)m[p[e]]=e}let h=[],g=0,_=0;this.mapEncode=function(e,t){if(this._keyMap&&!this._mapped)switch(e.constructor.name){case`Array`:e=e.map(e=>this.encodeKeys(e));break}return this.encode(e,t)},this.encode=function(o,c){if(B||(B=new jt(8192),V=new DataView(B.buffer,0,8192),H=0),Ft=B.length-10,Ft-H<2048?(B=new jt(B.length),V=new DataView(B.buffer,0,B.length),Ft=B.length-10,H=0):c===512&&(H=H+7&2147483640),t=H,s.useSelfDescribedHeader&&(V.setUint32(H,3654940416),H+=3),a=s.structuredClone?new Map:null,s.bundleStrings&&typeof o!=`string`?(U=[],U.size=1/0):U=null,n=s.structures,n){if(n.uninitialized){let e=s.getShared()||{};s.structures=n=e.structures||[],s.sharedVersion=e.version;let t=s.sharedValues=e.packedValues;if(t){m={};for(let e=0,n=t.length;e<n;e++)m[t[e]]=e}}let e=n.length;if(e>l&&!u&&(e=l),!n.transitions){n.transitions=Object.create(null);for(let t=0;t<e;t++){let e=n[t];if(!e)continue;let r,i=n.transitions;for(let n=0,a=e.length;n<a;n++){i[W]===void 0&&(i[W]=t);let a=e[n];r=i[a],r||=i[a]=Object.create(null),i=r}i[W]=t|1048576}}u||(n.nextId=e)}if(r&&=!1,i=n||[],f=m,e.pack){let t=new Map;if(t.values=[],t.encoder=s,t.maxValues=e.maxPrivatePackedValues||(m?16:1/0),t.objectMap=m||!1,t.samplingPackedValues=d,Ut(o,t),t.values.length>0){B[H++]=216,B[H++]=51,Bt(4);let e=t.values;v(e),Bt(0),Bt(0),f=Object.create(m||null);for(let t=0,n=e.length;t<n;t++)f[e[t]]=t}}Pt=c&tn;try{if(Pt)return;if(v(o),U&&Jt(t,v),s.offset=H,a&&a.idsToInsert){H+=a.idsToInsert.length*2,H>Ft&&b(H),s.offset=H;let e=qt(B.subarray(t,H),a.idsToInsert);return a=null,e}return c&512?(B.start=t,B.end=H,B):B.subarray(t,H)}finally{if(n){if(_<10&&_++,n.length>l&&(n.length=l),g>1e4)n.transitions=null,_=0,g=0,h.length>0&&(h=[]);else if(h.length>0&&!u){for(let e=0,t=h.length;e<t;e++)h[e][W]=void 0;h=[]}}if(r&&s.saveShared){s.structures.length>l&&(s.structures=s.structures.slice(0,l));let e=B.subarray(t,H);return s.updateSharedData()===!1?s.encode(o):e}c&1024&&(H=t)}},this.findCommonStringsToPack=()=>(d=new Map,m||=Object.create(null),e=>{let t=e&&e.threshold||4,n=this.pack?e.maxPrivatePackedValues||16:0;p||=this.sharedValues=[];for(let[e,i]of d)i.count>t&&(m[e]=n++,p.push(e),r=!0);for(;this.saveShared&&this.updateSharedData()===!1;);d=null});let v=n=>{H>Ft&&(B=b(H));var r=typeof n,i;if(r===`string`){if(f){let t=f[n];if(t>=0){t<16?B[H++]=t+224:(B[H++]=198,t&1?v(15-t>>1):v(t-16>>1));return}else if(d&&!e.pack){let e=d.get(n);e?e.count++:d.set(n,{count:1})}}let r=n.length;if(U&&r>=4&&r<1024){if((U.size+=r)>61440){let e,n=(U[0]?U[0].length*3+U[1].length:0)+10;H+n>Ft&&(B=b(H+n)),B[H++]=217,B[H++]=223,B[H++]=249,B[H++]=U.position?132:130,B[H++]=26,e=H-t,H+=4,U.position&&Jt(t,v),U=[``,``],U.size=0,U.position=e}let e=It.test(n);U[+!e]+=n,B[H++]=e?206:207,v(r);return}let a;a=r<32?1:r<256?2:r<65536?3:5;let s=r*3;if(H+s>Ft&&(B=b(H+s)),r<64||!o){let e,t,o,s=H+a;for(e=0;e<r;e++)t=n.charCodeAt(e),t<128?B[s++]=t:t<2048?(B[s++]=t>>6|192,B[s++]=t&63|128):(t&64512)==55296&&((o=n.charCodeAt(e+1))&64512)==56320?(t=65536+((t&1023)<<10)+(o&1023),e++,B[s++]=t>>18|240,B[s++]=t>>12&63|128,B[s++]=t>>6&63|128,B[s++]=t&63|128):(B[s++]=t>>12|224,B[s++]=t>>6&63|128,B[s++]=t&63|128);i=s-H-a}else i=o(n,H+a,s);i<24?B[H++]=96|i:i<256?(a<2&&B.copyWithin(H+2,H+1,H+1+i),B[H++]=120,B[H++]=i):i<65536?(a<3&&B.copyWithin(H+3,H+2,H+2+i),B[H++]=121,B[H++]=i>>8,B[H++]=i&255):(a<5&&B.copyWithin(H+5,H+3,H+3+i),B[H++]=122,V.setUint32(H,i),H+=4),H+=i}else if(r===`number`)if(!this.alwaysUseFloat&&n>>>0===n)n<24?B[H++]=n:n<256?(B[H++]=24,B[H++]=n):n<65536?(B[H++]=25,B[H++]=n>>8,B[H++]=n&255):(B[H++]=26,V.setUint32(H,n),H+=4);else if(!this.alwaysUseFloat&&n>>0===n)n>=-24?B[H++]=31-n:n>=-256?(B[H++]=56,B[H++]=~n):n>=-65536?(B[H++]=57,V.setUint16(H,~n),H+=2):(B[H++]=58,V.setUint32(H,~n),H+=4);else{let e;if((e=this.useFloat32)>0&&n<4294967296&&n>=-2147483648){B[H++]=250,V.setFloat32(H,n);let t;if(e<4||(t=n*St[(B[H]&127)<<1|B[H+1]>>7])>>0===t){H+=4;return}else H--}B[H++]=251,V.setFloat64(H,n),H+=8}else if(r===`object`)if(!n)B[H++]=246;else{if(a){let e=a.get(n);if(e){if(B[H++]=216,B[H++]=29,B[H++]=25,!e.references){let t=a.idsToInsert||=[];e.references=[],t.push(e)}e.references.push(H-t),H+=2;return}else a.set(n,{offset:H-t})}let e=n.constructor;if(e===Object)y(n);else if(e===Array){i=n.length,i<24?B[H++]=128|i:Bt(i);for(let e=0;e<i;e++)v(n[e])}else if(e===Map)if((this.mapsAsObjects?this.useTag259ForMaps!==!1:this.useTag259ForMaps)&&(B[H++]=217,B[H++]=1,B[H++]=3),i=n.size,i<24?B[H++]=160|i:i<256?(B[H++]=184,B[H++]=i):i<65536?(B[H++]=185,B[H++]=i>>8,B[H++]=i&255):(B[H++]=186,V.setUint32(H,i),H+=4),s.keyMap)for(let[e,t]of n)v(s.encodeKey(e)),v(t);else for(let[e,t]of n)v(e),v(t);else{for(let e=0,t=Dt.length;e<t;e++){let t=Ot[e];if(n instanceof t){let t=Dt[e],r=t.tag;r??=t.getTag&&t.getTag.call(this,n),r<24?B[H++]=192|r:r<256?(B[H++]=216,B[H++]=r):r<65536?(B[H++]=217,B[H++]=r>>8,B[H++]=r&255):r>-1&&(B[H++]=218,V.setUint32(H,r),H+=4),t.encode.call(this,n,v,b);return}}if(n[Symbol.iterator]){if(Pt){let e=Error(`Iterable should be serialized as iterator`);throw e.iteratorNotHandled=!0,e}B[H++]=159;for(let e of n)v(e);B[H++]=255;return}if(n[Symbol.asyncIterator]||Ht(n)){let e=Error(`Iterable/blob should be serialized as iterator`);throw e.iteratorNotHandled=!0,e}if(this.useToJSON&&n.toJSON){let e=n.toJSON();if(e!==n)return v(e)}y(n)}}else if(r===`boolean`)B[H++]=n?245:244;else if(r===`bigint`){if(n<BigInt(1)<<BigInt(64)&&n>=0)B[H++]=27,V.setBigUint64(H,n);else if(n>-(BigInt(1)<<BigInt(64))&&n<0)B[H++]=59,V.setBigUint64(H,-n-BigInt(1));else if(this.largeBigIntToFloat)B[H++]=251,V.setFloat64(H,Number(n));else{n>=BigInt(0)?B[H++]=194:(B[H++]=195,n=BigInt(-1)-n);let e=[];for(;n;)e.push(Number(n&BigInt(255))),n>>=BigInt(8);Kt(new Uint8Array(e.reverse()),b);return}H+=8}else if(r===`undefined`)B[H++]=247;else throw Error(`Unknown type: `+r)},y=this.useRecords===!1?this.variableMapSize?e=>{let t=Object.keys(e),n=Object.values(e),r=t.length;if(r<24?B[H++]=160|r:r<256?(B[H++]=184,B[H++]=r):r<65536?(B[H++]=185,B[H++]=r>>8,B[H++]=r&255):(B[H++]=186,V.setUint32(H,r),H+=4),s.keyMap)for(let e=0;e<r;e++)v(s.encodeKey(t[e])),v(n[e]);else for(let e=0;e<r;e++)v(t[e]),v(n[e])}:e=>{B[H++]=185;let n=H-t;H+=2;let r=0;if(s.keyMap)for(let t in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(t))&&(v(s.encodeKey(t)),v(e[t]),r++);else for(let t in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(t))&&(v(t),v(e[t]),r++);B[n+++t]=r>>8,B[n+t]=r&255}:(e,t)=>{let n,a=i.transitions||=Object.create(null),o=0,s=0,c,u;if(this.keyMap){u=Object.keys(e).map(e=>this.encodeKey(e)),s=u.length;for(let e=0;e<s;e++){let t=u[e];n=a[t],n||(n=a[t]=Object.create(null),o++),a=n}}else for(let t in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(t))&&(n=a[t],n||(a[W]&1048576&&(c=a[W]&65535),n=a[t]=Object.create(null),o++),a=n,s++);let d=a[W];if(d!==void 0)d&=65535,B[H++]=217,B[H++]=d>>8|224,B[H++]=d&255;else if(u||=a.__keys__||=Object.keys(e),c===void 0?(d=i.nextId++,d||(d=0,i.nextId=1),d>=256&&(i.nextId=(d=l)+1)):d=c,i[d]=u,d<l){B[H++]=217,B[H++]=d>>8|224,B[H++]=d&255,a=i.transitions;for(let e=0;e<s;e++)(a[W]===void 0||a[W]&1048576)&&(a[W]=d),a=a[u[e]];a[W]=d|1048576,r=!0}else{if(a[W]=d,V.setUint32(H,3655335680),H+=3,o&&(g+=_*o),h.length>=256-l&&(h.shift()[W]=void 0),h.push(a),Bt(s+2),v(57344+d),v(u),t)return;for(let t in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(t))&&v(e[t]);return}if(s<24?B[H++]=128|s:Bt(s),!t)for(let t in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(t))&&v(e[t])},b=e=>{let n;if(e>16777216){if(e-t>Nt)throw Error(`Encoded buffer would be larger than maximum buffer size`);n=Math.min(Nt,Math.round(Math.max((e-t)*(e>67108864?1.25:2),4194304)/4096)*4096)}else n=(Math.max(e-t<<2,B.length-1)>>12)+1<<12;let r=new jt(n);return V=new DataView(r.buffer,0,n),B.copy?B.copy(r,0,t,e):r.set(B.slice(t,e)),H-=t,t=0,Ft=r.length-10,B=r},x=100,S=1e3;this.encodeAsIterable=function(e,t){return ee(e,t,C)},this.encodeAsAsyncIterable=function(e,t){return ee(e,t,E)};function*C(e,n,r){let i=e.constructor;if(i===Object){let t=s.useRecords!==!1;t?y(e,!0):Rt(Object.keys(e).length,160);for(let r in e){let i=e[r];t||v(r),i&&typeof i==`object`?n[r]?yield*C(i,n[r]):yield*w(i,n,r):v(i)}}else if(i===Array){let r=e.length;Bt(r);for(let i=0;i<r;i++){let r=e[i];r&&(typeof r==`object`||H-t>x)?n.element?yield*C(r,n.element):yield*w(r,n,`element`):v(r)}}else if(e[Symbol.iterator]&&!e.buffer){B[H++]=159;for(let r of e)r&&(typeof r==`object`||H-t>x)?n.element?yield*C(r,n.element):yield*w(r,n,`element`):v(r);B[H++]=255}else Ht(e)?(Rt(e.size,64),yield B.subarray(t,H),yield e,T()):e[Symbol.asyncIterator]?(B[H++]=159,yield B.subarray(t,H),yield e,T(),B[H++]=255):v(e);r&&H>t?yield B.subarray(t,H):H-t>x&&(yield B.subarray(t,H),T())}function*w(e,n,r){let i=H-t;try{v(e),H-t>x&&(yield B.subarray(t,H),T())}catch(a){if(a.iteratorNotHandled)n[r]={},H=t+i,yield*C.call(this,e,n[r]);else throw a}}function T(){x=S,s.encode(null,tn)}function ee(e,t,n){return x=t&&t.chunkThreshold?S=t.chunkThreshold:100,e&&typeof e==`object`?(s.encode(null,tn),n(e,s.iterateProperties||={},!0)):[s.encode(e)]}async function*E(e,t){for(let n of C(e,t,!0)){let e=n.constructor;if(e===Mt||e===Uint8Array)yield n;else if(Ht(n)){let e=n.stream().getReader(),t;for(;!(t=await e.read()).done;)yield t.value}else if(n[Symbol.asyncIterator])for await(let e of n)T(),e?yield*E(e,t.async||={}):yield s.encode(e);else yield n}}}useBuffer(e){B=e,V=new DataView(B.buffer,B.byteOffset,B.byteLength),H=0}clearSharedData(){this.structures&&=[],this.sharedValues&&=void 0}updateSharedData(){let e=this.sharedVersion||0;this.sharedVersion=e+1;let t=this.structures.slice(0),n=new zt(t,this.sharedValues,this.sharedVersion),r=this.saveShared(n,t=>(t&&t.version||0)==e);return r===!1?(n=this.getShared()||{},this.structures=n.structures||[],this.sharedValues=n.packedValues,this.sharedVersion=n.version,this.structures.nextId=this.structures.length):t.forEach((e,t)=>this.structures[t]=e),r}};function Rt(e,t){e<24?B[H++]=t|e:e<256?(B[H++]=t|24,B[H++]=e):e<65536?(B[H++]=t|25,B[H++]=e>>8,B[H++]=e&255):(B[H++]=t|26,V.setUint32(H,e),H+=4)}var zt=class{constructor(e,t,n){this.structures=e,this.packedValues=t,this.version=n}};function Bt(e){e<24?B[H++]=128|e:e<256?(B[H++]=152,B[H++]=e):e<65536?(B[H++]=153,B[H++]=e>>8,B[H++]=e&255):(B[H++]=154,V.setUint32(H,e),H+=4)}const Vt=typeof Blob>`u`?function(){}:Blob;function Ht(e){if(e instanceof Vt)return!0;let t=e[Symbol.toStringTag];return t===`Blob`||t===`File`}function Ut(e,t){switch(typeof e){case`string`:if(e.length>3){if(t.objectMap[e]>-1||t.values.length>=t.maxValues)return;let n=t.get(e);if(n)++n.count==2&&t.values.push(e);else if(t.set(e,{count:1}),t.samplingPackedValues){let n=t.samplingPackedValues.get(e);n?n.count++:t.samplingPackedValues.set(e,{count:1})}}break;case`object`:if(e)if(e instanceof Array)for(let n=0,r=e.length;n<r;n++)Ut(e[n],t);else{let r=!t.encoder.useRecords;for(var n in e)e.hasOwnProperty(n)&&(r&&Ut(n,t),Ut(e[n],t))}break;case`function`:console.log(e)}}const Wt=new Uint8Array(new Uint16Array([1]).buffer)[0]==1;Ot=[Date,Set,Error,RegExp,st,ArrayBuffer,Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,typeof BigUint64Array>`u`?function(){}:BigUint64Array,Int8Array,Int16Array,Int32Array,typeof BigInt64Array>`u`?function(){}:BigInt64Array,Float32Array,Float64Array,zt],Dt=[{tag:1,encode(e,t){let n=e.getTime()/1e3;(this.useTimestamp32||e.getMilliseconds()===0)&&n>=0&&n<4294967296?(B[H++]=26,V.setUint32(H,n),H+=4):(B[H++]=251,V.setFloat64(H,n),H+=8)}},{tag:258,encode(e,t){t(Array.from(e))}},{tag:27,encode(e,t){t([e.name,e.message])}},{tag:27,encode(e,t){t([`RegExp`,e.source,e.flags])}},{getTag(e){return e.tag},encode(e,t){t(e.value)}},{encode(e,t,n){Kt(e,n)}},{getTag(e){if(e.constructor===Uint8Array&&(this.tagUint8Array||At&&this.tagUint8Array!==!1))return 64},encode(e,t,n){Kt(e,n)}},Gt(68,1),Gt(69,2),Gt(70,4),Gt(71,8),Gt(72,1),Gt(77,2),Gt(78,4),Gt(79,8),Gt(85,4),Gt(86,8),{encode(e,t){let n=e.packedValues||[],r=e.structures||[];if(n.values.length>0){B[H++]=216,B[H++]=51,Bt(4);let e=n.values;t(e),Bt(0),Bt(0),packedObjectMap=Object.create(sharedPackedObjectMap||null);for(let t=0,n=e.length;t<n;t++)packedObjectMap[e[t]]=t}if(r){V.setUint32(H,3655335424),H+=3;let n=r.slice(0);n.unshift(57344),n.push(new st(e.version,1399353956)),t(n)}else t(new st(e.version,1399353956))}}];function Gt(e,t){return!Wt&&t>1&&(e-=4),{tag:e,encode:function(e,t){let n=e.byteLength,r=e.byteOffset||0,i=e.buffer||e;t(At?kt.from(i,r,n):new Uint8Array(i,r,n))}}}function Kt(e,t){let n=e.byteLength;n<24?B[H++]=64+n:n<256?(B[H++]=88,B[H++]=n):n<65536?(B[H++]=89,B[H++]=n>>8,B[H++]=n&255):(B[H++]=90,V.setUint32(H,n),H+=4),H+n>=B.length&&t(H+n),B.set(e.buffer?e:new Uint8Array(e),H),H+=n}function qt(e,t){let n,r=t.length*2,i=e.length-r;t.sort((e,t)=>e.offset>t.offset?1:-1);for(let n=0;n<t.length;n++){let r=t[n];r.id=n;for(let t of r.references)e[t++]=n>>8,e[t]=n&255}for(;n=t.pop();){let t=n.offset;e.copyWithin(t+r,t,i),r-=2;let a=t+r;e[a++]=216,e[a++]=28,i=t}return e}function Jt(e,t){V.setUint32(U.position+e,H-U.position-e+1);let n=U;U=null,t(n[0]),t(n[1])}let Yt=new Lt({useRecords:!1});const Xt=Yt.encode;Yt.encodeAsIterable,Yt.encodeAsAsyncIterable;const{NEVER:Zt,ALWAYS:Qt,DECIMAL_ROUND:$t,DECIMAL_FIT:en}=Tt,tn=2048;var nn=n(((e,t)=>{let n=()=>process.platform===`linux`,r=null;t.exports={isLinux:n,getReport:()=>{if(!r)if(n()&&process.report){let e=process.report.excludeNetwork;process.report.excludeNetwork=!0,r=process.report.getReport(),process.report.excludeNetwork=e}else r={};return r}}})),rn=n(((e,n)=>{let r=t(`fs`),i=2048;n.exports={LDD_PATH:`/usr/bin/ldd`,SELF_PATH:`/proc/self/exe`,readFileSync:e=>{let t=r.openSync(e,`r`),n=Buffer.alloc(i),a=r.readSync(t,n,0,i,0);return r.close(t,()=>{}),n.subarray(0,a)},readFile:e=>new Promise((t,n)=>{r.open(e,`r`,(e,a)=>{if(e)n(e);else{let e=Buffer.alloc(i);r.read(a,e,0,i,0,(n,i)=>{t(e.subarray(0,i)),r.close(a,()=>{})})}})})}})),an=n(((e,t)=>{t.exports={interpreterPath:e=>{if(e.length<64||e.readUInt32BE(0)!==2135247942||e.readUInt8(4)!==2||e.readUInt8(5)!==1)return null;let t=e.readUInt32LE(32),n=e.readUInt16LE(54),r=e.readUInt16LE(56);for(let i=0;i<r;i++){let r=t+i*n;if(e.readUInt32LE(r)===3){let t=e.readUInt32LE(r+8),n=e.readUInt32LE(r+32);return e.subarray(t,t+n).toString().replace(/\0.*$/g,``)}}return null}}})),on=n(((e,n)=>{let r=t(`child_process`),{isLinux:i,getReport:a}=nn(),{LDD_PATH:o,SELF_PATH:s,readFile:c,readFileSync:l}=rn(),{interpreterPath:u}=an(),d,f,p,m=`getconf GNU_LIBC_VERSION 2>&1 || true; ldd --version 2>&1 || true`,h=``,g=()=>h||new Promise(e=>{r.exec(m,(t,n)=>{h=t?` `:n,e(h)})}),_=()=>{if(!h)try{h=r.execSync(m,{encoding:`utf8`})}catch{h=` `}return h},v=`glibc`,y=/LIBC[a-z0-9 \-).]*?(\d+\.\d+)/i,b=`musl`,x=e=>e.includes(`libc.musl-`)||e.includes(`ld-musl-`),S=()=>{let e=a();return e.header&&e.header.glibcVersionRuntime?v:Array.isArray(e.sharedObjects)&&e.sharedObjects.some(x)?b:null},C=e=>{let[t,n]=e.split(/[\r\n]+/);return t&&t.includes(v)?v:n&&n.includes(b)?b:null},w=e=>{if(e){if(e.includes(`/ld-musl-`))return b;if(e.includes(`/ld-linux-`))return v}return null},T=e=>(e=e.toString(),e.includes(`musl`)?b:e.includes(`GNU C Library`)?v:null),ee=async()=>{if(f!==void 0)return f;f=null;try{f=T(await c(o))}catch{}return f},E=()=>{if(f!==void 0)return f;f=null;try{f=T(l(o))}catch{}return f},te=async()=>{if(d!==void 0)return d;d=null;try{d=w(u(await c(s)))}catch{}return d},ne=()=>{if(d!==void 0)return d;d=null;try{d=w(u(l(s)))}catch{}return d},D=async()=>{let e=null;return i()&&(e=await te(),e||(e=await ee(),e||=S(),e||=C(await g()))),e},re=()=>{let e=null;return i()&&(e=ne(),e||(e=E(),e||=S(),e||=C(_()))),e},ie=async()=>i()&&await D()!==v,ae=()=>i()&&re()!==v,oe=async()=>{if(p!==void 0)return p;p=null;try{let e=(await c(o)).match(y);e&&(p=e[1])}catch{}return p},se=()=>{if(p!==void 0)return p;p=null;try{let e=l(o).match(y);e&&(p=e[1])}catch{}return p},ce=()=>{let e=a();return e.header&&e.header.glibcVersionRuntime?e.header.glibcVersionRuntime:null},le=e=>e.trim().split(/\s+/)[1],ue=e=>{let[t,n,r]=e.split(/[\r\n]+/);return t&&t.includes(v)?le(t):n&&r&&n.includes(b)?le(r):null};n.exports={GLIBC:v,MUSL:b,family:D,familySync:re,isNonGlibcLinux:ie,isNonGlibcLinuxSync:ae,version:async()=>{let e=null;return i()&&(e=await oe(),e||=ce(),e||=ue(await g())),e},versionSync:()=>{let e=null;return i()&&(e=se(),e||=ce(),e||=ue(_())),e}}})),sn=n(((e,n)=>{var r=t(`fs`),i=t(`path`),a=t(`url`),o=process.config&&process.config.variables||{},s=!!process.env.PREBUILDS_ONLY,c=process.versions,l=c.modules;(c.deno||process.isBun)&&(l=`unsupported`);var u=E()?`electron`:`node`,d=process.arch,f=process.platform,p=process.env.LIBC||(te(f)?`musl`:`glibc`),m=process.env.ARM_VERSION||(d===`arm64`?`8`:o.arm_version)||``,h=(c.uv||``).split(`.`)[0];n.exports=g;function g(e){return typeof __webpack_require__==`function`?__non_webpack_require__(g.path(e)):t(g.path(e))}g.path=function(e){e=i.resolve(e||`.`);var n=``;try{n=typeof __webpack_require__==`function`?__non_webpack_require__(i.join(e,`package.json`)).name:t(i.join(e,`package.json`)).name;var r=n.toUpperCase().replace(/-/g,`_`)+`_PREBUILD`;process.env[r]&&(e=process.env[r])}catch{}if(!s){var o=v(i.join(e,`build/Release`),y);if(o)return o;var c=v(i.join(e,`build/Debug`),y);if(c)return c}var g=ne(e);if(g)return g;var T=ne(i.dirname(process.execPath));if(T)return T;var E=(n[0]==`@`?``:`@`+n+`/`)+n+`-`+f+`-`+d;try{return D(i.dirname(t(`module`).createRequire(a.pathToFileURL(i.join(e,`package.json`))).resolve(E)))}catch{}var te=[`platform=`+f,`arch=`+d,`runtime=`+u,`abi=`+l,`uv=`+h,m?`armv=`+m:``,`libc=`+p,`node=`+process.versions.node,process.versions.electron?`electron=`+process.versions.electron:``,typeof __webpack_require__==`function`?`webpack=true`:``].filter(Boolean).join(` `);throw Error(`No native build was found for `+te+`
|
|
3
3
|
attempted loading from: `+e+` and package: `+E+`
|
|
4
|
-
`);function ne(e){var t=_(i.join(e,`prebuilds`)).map(b).filter(x(f,d)).sort(S)[0];if(t)return D(i.join(e,`prebuilds`,t.name))}function D(e){var t=_(e).map(C).filter(w(u,l)).sort(ee(u))[0];if(t)return i.join(e,t.file)}};function _(e){try{return r.readdirSync(e)}catch{return[]}}function v(e,t){var n=_(e).filter(t);return n[0]&&i.join(e,n[0])}function y(e){return/\.node$/.test(e)}function b(e){var t=e.split(`-`);if(t.length===2){var n=t[0],r=t[1].split(`+`);if(n&&r.length&&r.every(Boolean))return{name:e,platform:n,architectures:r}}}function x(e,t){return function(n){return n==null||n.platform!==e?!1:n.architectures.includes(t)}}function S(e,t){return e.architectures.length-t.architectures.length}function C(e){var t=e.split(`.`),n=t.pop(),r={file:e,specificity:0};if(n===`node`){for(var i=0;i<t.length;i++){var a=t[i];if(a===`node`||a===`electron`||a===`node-webkit`)r.runtime=a;else if(a===`napi`)r.napi=!0;else if(a.slice(0,3)===`abi`)r.abi=a.slice(3);else if(a.slice(0,2)===`uv`)r.uv=a.slice(2);else if(a.slice(0,4)===`armv`)r.armv=a.slice(4);else if(a===`glibc`||a===`musl`)r.libc=a;else continue;r.specificity++}return r}}function w(e,t){return function(n){return!(n==null||n.runtime!==e&&!T(n)||n.abi!==t&&!n.napi||n.uv&&n.uv!==h||n.armv&&n.armv!==m||n.libc&&n.libc!==p)}}function T(e){return e.runtime===`node`&&e.napi}function ee(e){return function(t,n){return t.runtime===n.runtime?t.abi===n.abi?t.specificity===n.specificity?0:t.specificity>n.specificity?-1:1:t.abi?-1:1:t.runtime===e?-1:1}}function E(){return process.versions&&process.versions.electron||process.env.ELECTRON_RUN_AS_NODE?!0:typeof window<`u`&&window.process&&window.process.type===`renderer`}function te(e){if(e!==`linux`)return!1;let{familySync:t,MUSL:n}=on();return t()===n}g.parseTags=C,g.matchTags=w,g.compareTags=ee,g.parseTuple=b,g.matchTuple=x,g.compareTuples=S})),cn=n(((e,t)=>{t.exports=sn()(__dirname)}));if(!(process.env.CBOR_NATIVE_ACCELERATION_DISABLED!==void 0&&process.env.CBOR_NATIVE_ACCELERATION_DISABLED.toLowerCase()===`true`)){let e;try{e=typeof t==`function`?cn():be(import.meta.url)(`cbor-extract`),e&&$e(e.extractStrings)}catch{}}var ln=pe();let un,dn,fn;const pn={connections:8,keepAliveTimeout:1e4,pipelining:1},mn={...pn,allowH2:!1},hn={...pn,allowH2:!0},gn={retryAfter:!0,statusCodes:[500,502,503,504]},_n={retryAfter:!0,methods:[`PUT`],statusCodes:[429]};function vn(e){return e?.dispatcher??Sn()}function yn(e){return e?.dispatcher??Cn()}function bn(e){return e?.dispatcher??wn()}function xn(e,t){return new ln.RetryAgent(new ln.Agent(e),t)}function Sn(){return un??=xn(mn,gn),un}function Cn(){return dn??=xn(hn,gn),dn}function wn(){return fn??=xn(hn,_n),fn}let Tn=null;async function En(){return Tn||=import(`../../_chunks/workflow/src-CQuMexnO.js`).then(t=>e(t.t(),1)).catch(()=>null),Tn}let Dn=null;async function On(){return Dn||=En().then(e=>e?e.trace.getTracer(`workflow`):null),Dn}async function kn(e,...t){let[n,r]=await Promise.all([On(),En()]),{fn:i,opts:a}=typeof t[0]==`function`?{fn:t[0],opts:{}}:{fn:t[1],opts:t[0]};if(!i)throw Error(`Function to trace must be provided`);return!n||!r?await i():n.startActiveSpan(e,a,async e=>{try{let t=await i(e);return e.setStatus({code:r.SpanStatusCode.OK}),t}catch(t){throw e.setStatus({code:r.SpanStatusCode.ERROR,message:t.message}),t}finally{e.end()}})}async function An(e){let t=await En();if(t)return t.SpanKind[e]}async function jn(e){let t=await En();if(!t)return;let n={};t.propagation.inject(t.context.active(),n);for(let[t,r]of Object.entries(n))e.set(t,r)}function G(...e){return t=>Object.fromEntries(e.map(e=>[e,t]))}const Mn=G(`http.request.method`),Nn=G(`url.full`),Pn=G(`server.address`),Fn=G(`server.port`),In=G(`http.response.status_code`),Ln=G(`error.type`),Rn=G(`workflow.world.parse.format`),zn=G(`peer.service`),Bn=G(`rpc.system`),Vn=G(`rpc.service`),Hn=G(`rpc.method`),Un=G(`workflow.run.id`),Wn=G(`step.id`),Gn=G(`workflow.stream.name`),Kn=G(`workflow.stream.operation`),qn=G(`workflow.stream.start_index`),Jn=()=>ee(`WORKFLOW_REQUEST_TIMEOUT_MS`,6e4,{integer:!0,min:1}),Yn=typeof process<`u`&&typeof process.env.DEBUG==`string`&&(process.env.DEBUG.includes(`workflow:`)||process.env.DEBUG===`*`),Xn=[`x-vercel-id`,`x-vercel-error`,`x-vercel-mitigated`];function Zn(e){return Xn.flatMap(t=>{let n=e.get(t);return n?[`${t}=${n}`]:[]})}function Qn(e){let t=Zn(e);return t.length>0?` (${t.join(`; `)})`:``}function $n(e,t,n,r){if(!Yn)return;let i=Zn(n.headers),a=i.length>0?`; ${i.join(`; `)}`:``;console.debug(`[workflow:world-vercel:http] ${e} ${t} -> ${n.status} (${r}ms${a})`)}function er(e,t,n){if(!process.env.DEBUG)return;let r=Array.from(n.entries()).filter(([e])=>e.toLowerCase()!==`authorization`).map(([e,t])=>`-H "${e}: ${t}"`).join(` `);console.error(`Failed to fetch, reproduce with:\ncurl -X ${e} ${r} "${t}"`)}function tr(e){if(!e)return;let t=parseInt(e,10);return Number.isNaN(t)?void 0:t}function nr(e,t,n={}){let{retryAfter:r,code:c,url:u,mitigated:d}=n;return e===409?new l(t):e===410?new o(t):e===425?new a(t,{retryAfter:r}):e===429?rr(e,d)?new i(`${t} (x-vercel-mitigated=challenge)`,{url:u,status:e,code:`TRANSPORT`,retryAfter:r}):new s(t,{retryAfter:r}):new i(t,{url:u,status:e,code:c,retryAfter:r})}function rr(e,t){return e===429&&t===`challenge`}async function ir(e){return e?.token??process.env.VERCEL_TOKEN??await(0,Ae.getVercelOidcToken)().catch(()=>null)}function ar(e){try{let t=new URL(e);return{serverAddress:t.hostname,serverPort:t.port?parseInt(t.port,10):t.protocol===`https:`?443:80}}catch{return{}}}function or(e){let{method:t,url:n,peerService:r}=e,{serverAddress:i,serverPort:a}=ar(n);return{...Mn(t),...Nn(n),...i?Pn(i):{},...a?Fn(a):{},...zn(r),...Bn(`http`),...Vn(r)}}async function sr(e){let{method:t,url:n,headers:r,body:a,dispatcher:o,peerService:s=`workflow-server`,timeoutMs:c=Jn(),signal:l,injectTraceContext:u=!0,cacheBust:d=!0,logLabel:f,buildError:p,spanName:m,attributes:h,durationAttribute:g}=e,_=f??n;return kn(m??`http ${t}`,{kind:await An(`CLIENT`)},async e=>{e?.setAttributes(or({method:t,url:n,peerService:s})),h&&e?.setAttributes(h),u&&await jn(r),d&&r.set(`X-Request-Time`,Date.now().toString());let f=c==null?void 0:AbortSignal.timeout(c),m=l&&f?AbortSignal.any([l,f]):l??f,v=Date.now(),y;try{y=await fetch(n,{method:t,headers:r,body:a,signal:m,dispatcher:o})}catch(r){let a=Date.now()-v;if(r instanceof Error&&(r.name===`TimeoutError`||r.name===`AbortError`)){let o=new i(`${t} ${_} timed out after ${a}ms`,{url:n,cause:r});throw e?.setAttributes({...Ln(`TIMEOUT`)}),e?.recordException?.(o),o}throw r}let b=Date.now()-v;if($n(t,_,y,b),e?.setAttributes({...In(y.status)}),g&&e?.setAttributes({[g]:b}),!y.ok){if(e?.setAttributes({...Ln(`HTTP ${y.status}`)}),er(t,n,r),p){let t=await p(y);throw e?.recordException?.(t),t}let i=await y.text().catch(()=>``),a=nr(y.status,`${t} ${_} -> HTTP ${y.status}: ${y.statusText}${i?` ${i}`:``}${Qn(y.headers)}`,{url:n,retryAfter:tr(y.headers.get(`Retry-After`))});throw e?.recordException?.(a),a}return y})}const cr=`5.0.0-beta.26`,lr=new Set([`GET`,`HEAD`]),ur=new Set([`UND_ERR_REQ_RETRY`,`UND_ERR_SOCKET`,`UND_ERR_CONNECT`,`UND_ERR_CONNECT_TIMEOUT`,`UND_ERR_HEADERS_TIMEOUT`,`UND_ERR_BODY_TIMEOUT`,`UND_ERR_CLOSED`,`ECONNRESET`,`ECONNREFUSED`,`ENOTFOUND`,`EAI_AGAIN`,`EPIPE`]);function dr(e){let t=e;for(let e=0;t!=null&&e<5;e++){if(typeof t==`object`&&`code`in t){let e=t.code;if(typeof e==`string`&&ur.has(e))return e}t=t?.cause}}const fr=()=>process.env.VERCEL_WORKFLOW_SERVER_URL||``,pr=()=>process.env.WORKFLOW_TEST_LIMIT_OVERRIDES?.trim()||``;function mr(e){return e}const hr=()=>{let e=process.env.VERCEL_DEPLOYMENT_ID;return e?`@workflow/world-vercel/${cr} node-${process.version} ${_e.platform()} (${_e.arch()}) ${e}`:`@workflow/world-vercel/${cr} node-${process.version} ${_e.platform()} (${_e.arch()})`},gr=e=>{let t=e?.projectConfig,n=fr()||`https://vercel-workflow.com`,r=process.env.WORKFLOW_VERCEL_BACKEND_URL,i=!!(t?.projectId&&t?.teamId);return{baseUrl:i?r||`https://api.vercel.com/v1/workflow`:`${n}/api`,usingProxy:i}},_r=(e,t)=>{let n=e?.projectConfig,r=new Headers(e?.headers);r.set(`User-Agent`,hr());let i=pr();i&&r.set(`x-workflow-test-limit-overrides`,i),n&&(r.set(`x-vercel-environment`,n.environment||`production`),n.projectId&&r.set(`x-vercel-project-id`,n.projectId),n.teamId&&r.set(`x-vercel-team-id`,n.teamId));let a=fr();return a&&t.usingProxy&&r.set(`x-vercel-workflow-api-url`,a),r};async function vr(e){let{baseUrl:t,usingProxy:n}=gr(e),r=_r(e,{usingProxy:n});if(n){if(!e?.token)throw Error(`world-vercel: api-workflow proxy requested (${t}) but no Vercel auth token was provided. Pass one as \`config.token\` (the SDK reads it from \`WORKFLOW_VERCEL_AUTH_TOKEN\`).`);r.set(`Authorization`,`Bearer ${e.token}`)}else{let t;try{t=await(0,Ae.getVercelOidcToken)()}catch{}let n=e?.token??t;n&&r.set(`Authorization`,`Bearer ${n}`),t&&r.set(`x-vercel-trusted-oidc-idp-token`,t)}return{baseUrl:t,headers:r,usingProxy:n}}async function K({endpoint:e,options:t={},config:n={},schema:r,data:a,onResponse:o}){let s=t.method||`GET`,{baseUrl:c,headers:l}=await vr(n),u=`${c}${e}`;return kn(`http ${s}`,{kind:await An(`CLIENT`)},async c=>{c?.setAttributes(or({method:s,url:u,peerService:`workflow-server`})),l.set(`Accept`,`application/cbor`),await jn(l);let d;a!==void 0&&(l.set(`Content-Type`,`application/cbor`),d=Xt(a));let f=lr.has(s.toUpperCase()),p,m=``;for(let r=0;;r++){l.set(`X-Request-Time`,Date.now().toString());let a=AbortSignal.timeout(Jn()),h=t.signal?AbortSignal.any([t.signal,a]):a,g=new Request(u,{...t,body:d,headers:l,signal:h}),_=Date.now(),v;try{v=await fetch(g,{dispatcher:vn(n)})}catch(t){let n=Date.now()-_;if(t instanceof Error&&(t.name===`TimeoutError`||t.name===`AbortError`)){let r=new i(`${s} ${e} timed out after ${n}ms`,{url:u,code:`TIMEOUT`,cause:t});throw c?.setAttributes({...Ln(`TIMEOUT`)}),c?.recordException?.(r),r}let r=dr(t);if(r){let a=new i(`${s} ${e} transport failure after ${n}ms (${r})`,{url:u,code:`TRANSPORT`,cause:t});throw c?.setAttributes({...Ln(`TRANSPORT`)}),c?.recordException?.(a),a}throw t}let y=Date.now()-_;if(m=Qn(v.headers),$n(s,e,v,y),c?.setAttributes({...In(v.status)}),!v.ok){let t=await br(v).then(e=>e.data).catch(()=>({})),n=t.code??t.error;er(g.method,u,l);let r=tr(v.headers.get(`Retry-After`)),i=(t.message||`${g.method} ${e} -> HTTP ${v.status}: ${v.statusText}`)+m,a=nr(v.status,i,{url:u,code:n,retryAfter:r,mitigated:v.headers.get(`x-vercel-mitigated`)});throw c?.setAttributes({...Ln(n||`HTTP ${v.status}`)}),c?.recordException?.(a),a}o?.(v);try{p=await kn(`world.parse`,async e=>{let t=await br(v),n=(v.headers.get(`Content-Type`)||``).includes(`application/cbor`);return e?.setAttributes({...Rn(n?`cbor`:`json`)}),t});break}catch(t){if(f&&r<2){let n=100*2**r;c?.setAttributes({...Ln(`PARSE_ERROR_RETRYING`)}),Yn&&console.debug(`[workflow:world-vercel:http] ${s} ${e} body parse failed (attempt ${r+1}/3); retrying in ${n}ms: ${t}`),await new Promise(e=>setTimeout(e,n));continue}let n=v.headers.get(`Content-Type`)||`unknown`;throw new i(`Failed to parse response body for ${s} ${e}${m} (Content-Type: ${n}):\n\n${t}`,{url:u,code:`PARSE_ERROR`,cause:t})}}return await kn(`world.validate`,async()=>{let t=r.safeParse(p.data);if(!t.success){let n=t.error.issues.map(e=>` ${e.path.length>0?e.path.join(`.`):`<root>`}: ${e.message}`).join(`
|
|
4
|
+
`);function ne(e){var t=_(i.join(e,`prebuilds`)).map(b).filter(x(f,d)).sort(S)[0];if(t)return D(i.join(e,`prebuilds`,t.name))}function D(e){var t=_(e).map(C).filter(w(u,l)).sort(ee(u))[0];if(t)return i.join(e,t.file)}};function _(e){try{return r.readdirSync(e)}catch{return[]}}function v(e,t){var n=_(e).filter(t);return n[0]&&i.join(e,n[0])}function y(e){return/\.node$/.test(e)}function b(e){var t=e.split(`-`);if(t.length===2){var n=t[0],r=t[1].split(`+`);if(n&&r.length&&r.every(Boolean))return{name:e,platform:n,architectures:r}}}function x(e,t){return function(n){return n==null||n.platform!==e?!1:n.architectures.includes(t)}}function S(e,t){return e.architectures.length-t.architectures.length}function C(e){var t=e.split(`.`),n=t.pop(),r={file:e,specificity:0};if(n===`node`){for(var i=0;i<t.length;i++){var a=t[i];if(a===`node`||a===`electron`||a===`node-webkit`)r.runtime=a;else if(a===`napi`)r.napi=!0;else if(a.slice(0,3)===`abi`)r.abi=a.slice(3);else if(a.slice(0,2)===`uv`)r.uv=a.slice(2);else if(a.slice(0,4)===`armv`)r.armv=a.slice(4);else if(a===`glibc`||a===`musl`)r.libc=a;else continue;r.specificity++}return r}}function w(e,t){return function(n){return!(n==null||n.runtime!==e&&!T(n)||n.abi!==t&&!n.napi||n.uv&&n.uv!==h||n.armv&&n.armv!==m||n.libc&&n.libc!==p)}}function T(e){return e.runtime===`node`&&e.napi}function ee(e){return function(t,n){return t.runtime===n.runtime?t.abi===n.abi?t.specificity===n.specificity?0:t.specificity>n.specificity?-1:1:t.abi?-1:1:t.runtime===e?-1:1}}function E(){return process.versions&&process.versions.electron||process.env.ELECTRON_RUN_AS_NODE?!0:typeof window<`u`&&window.process&&window.process.type===`renderer`}function te(e){if(e!==`linux`)return!1;let{familySync:t,MUSL:n}=on();return t()===n}g.parseTags=C,g.matchTags=w,g.compareTags=ee,g.parseTuple=b,g.matchTuple=x,g.compareTuples=S})),cn=n(((e,t)=>{t.exports=sn()(__dirname)}));if(!(process.env.CBOR_NATIVE_ACCELERATION_DISABLED!==void 0&&process.env.CBOR_NATIVE_ACCELERATION_DISABLED.toLowerCase()===`true`)){let e;try{e=typeof t==`function`?cn():be(import.meta.url)(`cbor-extract`),e&&$e(e.extractStrings)}catch{}}var ln=pe();let un,dn,fn;const pn={connections:8,keepAliveTimeout:1e4,pipelining:1},mn={...pn,allowH2:!1},hn={...pn,allowH2:!0},gn={retryAfter:!0,statusCodes:[500,502,503,504]},_n={retryAfter:!0,methods:[`PUT`],statusCodes:[429]};function vn(e){return e?.dispatcher??Sn()}function yn(e){return e?.dispatcher??Cn()}function bn(e){return e?.dispatcher??wn()}function xn(e,t){return new ln.RetryAgent(new ln.Agent(e),t)}function Sn(){return un??=xn(mn,gn),un}function Cn(){return dn??=xn(hn,gn),dn}function wn(){return fn??=xn(hn,_n),fn}let Tn=null;async function En(){return Tn||=import(`../../_chunks/workflow/src-CQuMexnO.js`).then(t=>e(t.t(),1)).catch(()=>null),Tn}let Dn=null;async function On(){return Dn||=En().then(e=>e?e.trace.getTracer(`workflow`):null),Dn}async function kn(e,...t){let[n,r]=await Promise.all([On(),En()]),{fn:i,opts:a}=typeof t[0]==`function`?{fn:t[0],opts:{}}:{fn:t[1],opts:t[0]};if(!i)throw Error(`Function to trace must be provided`);return!n||!r?await i():n.startActiveSpan(e,a,async e=>{try{let t=await i(e);return e.setStatus({code:r.SpanStatusCode.OK}),t}catch(t){throw e.setStatus({code:r.SpanStatusCode.ERROR,message:t.message}),t}finally{e.end()}})}async function An(e){let t=await En();if(t)return t.SpanKind[e]}async function jn(e){let t=await En();if(!t)return;let n={};t.propagation.inject(t.context.active(),n);for(let[t,r]of Object.entries(n))e.set(t,r)}function G(...e){return t=>Object.fromEntries(e.map(e=>[e,t]))}const Mn=G(`http.request.method`),Nn=G(`url.full`),Pn=G(`server.address`),Fn=G(`server.port`),In=G(`http.response.status_code`),Ln=G(`error.type`),Rn=G(`workflow.world.parse.format`),zn=G(`peer.service`),Bn=G(`rpc.system`),Vn=G(`rpc.service`),Hn=G(`rpc.method`),Un=G(`workflow.run.id`),Wn=G(`step.id`),Gn=G(`workflow.stream.name`),Kn=G(`workflow.stream.operation`),qn=G(`workflow.stream.start_index`),Jn=()=>ee(`WORKFLOW_REQUEST_TIMEOUT_MS`,6e4,{integer:!0,min:1}),Yn=typeof process<`u`&&typeof process.env.DEBUG==`string`&&(process.env.DEBUG.includes(`workflow:`)||process.env.DEBUG===`*`),Xn=[`x-vercel-id`,`x-vercel-error`,`x-vercel-mitigated`];function Zn(e){return Xn.flatMap(t=>{let n=e.get(t);return n?[`${t}=${n}`]:[]})}function Qn(e){let t=Zn(e);return t.length>0?` (${t.join(`; `)})`:``}function $n(e,t,n,r){if(!Yn)return;let i=Zn(n.headers),a=i.length>0?`; ${i.join(`; `)}`:``;console.debug(`[workflow:world-vercel:http] ${e} ${t} -> ${n.status} (${r}ms${a})`)}function er(e,t,n){if(!process.env.DEBUG)return;let r=Array.from(n.entries()).filter(([e])=>e.toLowerCase()!==`authorization`).map(([e,t])=>`-H "${e}: ${t}"`).join(` `);console.error(`Failed to fetch, reproduce with:\ncurl -X ${e} ${r} "${t}"`)}function tr(e){if(!e)return;let t=parseInt(e,10);return Number.isNaN(t)?void 0:t}function nr(e,t,n={}){let{retryAfter:r,code:c,url:u,mitigated:d}=n;return e===409?new l(t):e===410?new o(t):e===425?new a(t,{retryAfter:r}):e===429?rr(e,d)?new i(`${t} (x-vercel-mitigated=challenge)`,{url:u,status:e,code:`TRANSPORT`,retryAfter:r}):new s(t,{retryAfter:r}):new i(t,{url:u,status:e,code:c,retryAfter:r})}function rr(e,t){return e===429&&t===`challenge`}async function ir(e){return e?.token??process.env.VERCEL_TOKEN??await(0,Ae.getVercelOidcToken)().catch(()=>null)}function ar(e){try{let t=new URL(e);return{serverAddress:t.hostname,serverPort:t.port?parseInt(t.port,10):t.protocol===`https:`?443:80}}catch{return{}}}function or(e){let{method:t,url:n,peerService:r}=e,{serverAddress:i,serverPort:a}=ar(n);return{...Mn(t),...Nn(n),...i?Pn(i):{},...a?Fn(a):{},...zn(r),...Bn(`http`),...Vn(r)}}async function sr(e){let{method:t,url:n,headers:r,body:a,dispatcher:o,peerService:s=`workflow-server`,timeoutMs:c=Jn(),signal:l,injectTraceContext:u=!0,cacheBust:d=!0,logLabel:f,buildError:p,spanName:m,attributes:h,durationAttribute:g}=e,_=f??n;return kn(m??`http ${t}`,{kind:await An(`CLIENT`)},async e=>{e?.setAttributes(or({method:t,url:n,peerService:s})),h&&e?.setAttributes(h),u&&await jn(r),d&&r.set(`X-Request-Time`,Date.now().toString());let f=c==null?void 0:AbortSignal.timeout(c),m=l&&f?AbortSignal.any([l,f]):l??f,v=Date.now(),y;try{y=await fetch(n,{method:t,headers:r,body:a,signal:m,dispatcher:o})}catch(r){let a=Date.now()-v;if(r instanceof Error&&(r.name===`TimeoutError`||r.name===`AbortError`)){let o=new i(`${t} ${_} timed out after ${a}ms`,{url:n,cause:r});throw e?.setAttributes({...Ln(`TIMEOUT`)}),e?.recordException?.(o),o}throw r}let b=Date.now()-v;if($n(t,_,y,b),e?.setAttributes({...In(y.status)}),g&&e?.setAttributes({[g]:b}),!y.ok){if(e?.setAttributes({...Ln(`HTTP ${y.status}`)}),er(t,n,r),p){let t=await p(y);throw e?.recordException?.(t),t}let i=await y.text().catch(()=>``),a=nr(y.status,`${t} ${_} -> HTTP ${y.status}: ${y.statusText}${i?` ${i}`:``}${Qn(y.headers)}`,{url:n,retryAfter:tr(y.headers.get(`Retry-After`))});throw e?.recordException?.(a),a}return y})}const cr=`5.0.0-beta.27`,lr=new Set([`GET`,`HEAD`]),ur=new Set([`UND_ERR_REQ_RETRY`,`UND_ERR_SOCKET`,`UND_ERR_CONNECT`,`UND_ERR_CONNECT_TIMEOUT`,`UND_ERR_HEADERS_TIMEOUT`,`UND_ERR_BODY_TIMEOUT`,`UND_ERR_CLOSED`,`ECONNRESET`,`ECONNREFUSED`,`ENOTFOUND`,`EAI_AGAIN`,`EPIPE`]);function dr(e){let t=e;for(let e=0;t!=null&&e<5;e++){if(typeof t==`object`&&`code`in t){let e=t.code;if(typeof e==`string`&&ur.has(e))return e}t=t?.cause}}const fr=()=>process.env.VERCEL_WORKFLOW_SERVER_URL||``,pr=()=>process.env.WORKFLOW_TEST_LIMIT_OVERRIDES?.trim()||``;function mr(e){return e}const hr=()=>{let e=process.env.VERCEL_DEPLOYMENT_ID;return e?`@workflow/world-vercel/${cr} node-${process.version} ${_e.platform()} (${_e.arch()}) ${e}`:`@workflow/world-vercel/${cr} node-${process.version} ${_e.platform()} (${_e.arch()})`},gr=e=>{let t=e?.projectConfig,n=fr()||`https://vercel-workflow.com`,r=process.env.WORKFLOW_VERCEL_BACKEND_URL,i=!!(t?.projectId&&t?.teamId);return{baseUrl:i?r||`https://api.vercel.com/v1/workflow`:`${n}/api`,usingProxy:i}},_r=(e,t)=>{let n=e?.projectConfig,r=new Headers(e?.headers);r.set(`User-Agent`,hr());let i=pr();i&&r.set(`x-workflow-test-limit-overrides`,i),n&&(r.set(`x-vercel-environment`,n.environment||`production`),n.projectId&&r.set(`x-vercel-project-id`,n.projectId),n.teamId&&r.set(`x-vercel-team-id`,n.teamId));let a=fr();return a&&t.usingProxy&&r.set(`x-vercel-workflow-api-url`,a),r};async function vr(e){let{baseUrl:t,usingProxy:n}=gr(e),r=_r(e,{usingProxy:n});if(n){if(!e?.token)throw Error(`world-vercel: api-workflow proxy requested (${t}) but no Vercel auth token was provided. Pass one as \`config.token\` (the SDK reads it from \`WORKFLOW_VERCEL_AUTH_TOKEN\`).`);r.set(`Authorization`,`Bearer ${e.token}`)}else{let t;try{t=await(0,Ae.getVercelOidcToken)()}catch{}let n=e?.token??t;n&&r.set(`Authorization`,`Bearer ${n}`),t&&r.set(`x-vercel-trusted-oidc-idp-token`,t)}return{baseUrl:t,headers:r,usingProxy:n}}async function K({endpoint:e,options:t={},config:n={},schema:r,data:a,onResponse:o}){let s=t.method||`GET`,{baseUrl:c,headers:l}=await vr(n),u=`${c}${e}`;return kn(`http ${s}`,{kind:await An(`CLIENT`)},async c=>{c?.setAttributes(or({method:s,url:u,peerService:`workflow-server`})),l.set(`Accept`,`application/cbor`),await jn(l);let d;a!==void 0&&(l.set(`Content-Type`,`application/cbor`),d=Xt(a));let f=lr.has(s.toUpperCase()),p,m=``;for(let r=0;;r++){l.set(`X-Request-Time`,Date.now().toString());let a=AbortSignal.timeout(Jn()),h=t.signal?AbortSignal.any([t.signal,a]):a,g=new Request(u,{...t,body:d,headers:l,signal:h}),_=Date.now(),v;try{v=await fetch(g,{dispatcher:vn(n)})}catch(t){let n=Date.now()-_;if(t instanceof Error&&(t.name===`TimeoutError`||t.name===`AbortError`)){let r=new i(`${s} ${e} timed out after ${n}ms`,{url:u,code:`TIMEOUT`,cause:t});throw c?.setAttributes({...Ln(`TIMEOUT`)}),c?.recordException?.(r),r}let r=dr(t);if(r){let a=new i(`${s} ${e} transport failure after ${n}ms (${r})`,{url:u,code:`TRANSPORT`,cause:t});throw c?.setAttributes({...Ln(`TRANSPORT`)}),c?.recordException?.(a),a}throw t}let y=Date.now()-_;if(m=Qn(v.headers),$n(s,e,v,y),c?.setAttributes({...In(v.status)}),!v.ok){let t=await br(v).then(e=>e.data).catch(()=>({})),n=t.code??t.error;er(g.method,u,l);let r=tr(v.headers.get(`Retry-After`)),i=(t.message||`${g.method} ${e} -> HTTP ${v.status}: ${v.statusText}`)+m,a=nr(v.status,i,{url:u,code:n,retryAfter:r,mitigated:v.headers.get(`x-vercel-mitigated`)});throw c?.setAttributes({...Ln(n||`HTTP ${v.status}`)}),c?.recordException?.(a),a}o?.(v);try{p=await kn(`world.parse`,async e=>{let t=await br(v),n=(v.headers.get(`Content-Type`)||``).includes(`application/cbor`);return e?.setAttributes({...Rn(n?`cbor`:`json`)}),t});break}catch(t){if(f&&r<2){let n=100*2**r;c?.setAttributes({...Ln(`PARSE_ERROR_RETRYING`)}),Yn&&console.debug(`[workflow:world-vercel:http] ${s} ${e} body parse failed (attempt ${r+1}/3); retrying in ${n}ms: ${t}`),await new Promise(e=>setTimeout(e,n));continue}let n=v.headers.get(`Content-Type`)||`unknown`;throw new i(`Failed to parse response body for ${s} ${e}${m} (Content-Type: ${n}):\n\n${t}`,{url:u,code:`PARSE_ERROR`,cause:t})}}return await kn(`world.validate`,async()=>{let t=r.safeParse(p.data);if(!t.success){let n=t.error.issues.map(e=>` ${e.path.length>0?e.path.join(`.`):`<root>`}: ${e.message}`).join(`
|
|
5
5
|
`),r=process.env.DEBUG?`\n\nResponse context: ${p.getDebugContext()}`:``;throw new i(`Schema validation failed for ${s} ${e}${m}:\n${n}${r}`,{url:u,code:`SCHEMA_VALIDATION`,cause:t.error})}return t.data})})}function yr(e){let t=he(e,{depth:3,maxArrayLength:10,breakLength:120});return t.length>500?`${t.slice(0,500)}...`:t}async function br(e){let t=e.headers.get(`Content-Type`)||``;if(t.includes(`application/cbor`)){let n=await e.arrayBuffer(),r=wt(new Uint8Array(n));return{data:r,getDebugContext:()=>`Content-Type: ${t}, ${n.byteLength} bytes (CBOR), preview: ${yr(r)}`}}let n=await e.text(),r=JSON.parse(n);return{data:r,getDebugContext:()=>`Content-Type: ${t}, ${n.length} bytes, preview: ${yr(r)}`}}function xr(e,t){t?.limit&&e.set(`limit`,t.limit.toString()),t?.cursor&&e.set(`cursor`,t.cursor),t?.sortOrder&&e.set(`sortOrder`,t.sortOrder)}function Sr(e){let t=e.toString();return t?`?${t}`:``}function Cr(e){return{runs:{get(t){return K({endpoint:`/v2/analytics/runs/${encodeURIComponent(t)}`,config:e,schema:d})},list(t={}){let n=new URLSearchParams;return t.workflowName&&n.set(`workflowName`,t.workflowName),t.status&&n.set(`status`,t.status),t.startTime&&t.endTime&&(n.set(`startTime`,t.startTime),n.set(`endTime`,t.endTime)),xr(n,t.pagination),K({endpoint:`/v2/analytics/runs${Sr(n)}`,config:e,schema:D(d)})}},steps:{get(t,n){return K({endpoint:`/v2/analytics/runs/${encodeURIComponent(t)}/steps/${encodeURIComponent(n)}`,config:e,schema:ue})},list(t){let n=new URLSearchParams;return xr(n,t.pagination),K({endpoint:`/v2/analytics/runs/${encodeURIComponent(t.runId)}/steps${Sr(n)}`,config:e,schema:D(ue)})}},events:{get(t,n){return K({endpoint:`/v2/analytics/runs/${encodeURIComponent(t)}/events/${encodeURIComponent(n)}`,config:e,schema:de})},list(t){let n=new URLSearchParams;return t.eventType&&n.set(`eventType`,t.eventType),t.correlationId&&n.set(`correlationId`,t.correlationId),xr(n,t.pagination),K({endpoint:`/v2/analytics/runs/${encodeURIComponent(t.runId)}/events${Sr(n)}`,config:e,schema:D(de)})},listByCorrelationId(t){let n=new URLSearchParams;return n.set(`correlationId`,t.correlationId),xr(n,t.pagination),K({endpoint:`/v2/analytics/events${Sr(n)}`,config:e,schema:D(de)})}},hooks:{get(t,n){let r=new URLSearchParams;return n?.runId&&r.set(`runId`,n.runId),K({endpoint:`/v2/analytics/hooks/${encodeURIComponent(t)}${Sr(r)}`,config:e,schema:b})},list(t){let n=new URLSearchParams;return n.set(`runId`,t.runId),xr(n,t.pagination),K({endpoint:`/v2/analytics/hooks${Sr(n)}`,config:e,schema:D(b)})}},waits:{get(t,n){return K({endpoint:`/v2/analytics/runs/${encodeURIComponent(t)}/waits/${encodeURIComponent(n)}`,config:e,schema:x})},list(t){let n=new URLSearchParams;return t.status&&n.set(`status`,t.status),xr(n,t.pagination),K({endpoint:`/v2/analytics/runs/${encodeURIComponent(t.runId)}/waits${Sr(n)}`,config:e,schema:D(x)})}}}}async function wr(e,t,n){if(e.length!==32)throw Error(`Invalid deployment key length: expected 32 bytes for AES-256, got ${e.length} bytes`);if(!t||typeof t!=`string`)throw Error(`projectId must be a non-empty string`);let r=await me.subtle.importKey(`raw`,e,`HKDF`,!1,[`deriveBits`]),i=new TextEncoder().encode(`${t}|${n}`),a=await me.subtle.deriveBits({name:`HKDF`,hash:`SHA-256`,salt:new Uint8Array(32),info:i},r,256);return new Uint8Array(a)}async function Tr(e,t,n,r){let i=await ir({token:r?.token});if(!i)throw Error(`Cannot fetch run key: no OIDC token or VERCEL_TOKEN available`);let a=new URLSearchParams({projectId:t,runId:n});r?.teamId&&a.set(`teamId`,r.teamId);let o=await(await sr({method:`GET`,url:`https://api.vercel.com/v1/workflow/run-key/${e}?${a}`,headers:new Headers({Authorization:`Bearer ${i}`}),dispatcher:vn({dispatcher:r?.dispatcher}),peerService:`vercel-api`,timeoutMs:null,buildError:async t=>{let r;try{r=await t.text()}catch{r=`<unable to read response body>`}return Error(`Failed to fetch run key for ${n} (deployment ${e}): HTTP ${t.status} ${t.statusText}${r?` — ${r}`:``}`)}})).json(),s=E({key:ie().nullable()}).safeParse(o);if(!s.success)throw Error(`Invalid response from Vercel API: expected { key: string | null }. Zod error: ${s.error.message}`);if(s.data.key!==null)return Buffer.from(s.data.key,`base64`)}function Er(e,t,n,r){if(!e)return;let i=process.env.VERCEL===`1`,a;function o(){if(a)return a;let e=process.env.VERCEL_DEPLOYMENT_KEY;if(e)return a=Buffer.from(e,`base64`),a}return async function(a,s){let c=typeof a==`string`?a:a.runId,l=typeof a==`string`?s?.deploymentId:a.deploymentId;if(i&&(!l||l===process.env.VERCEL_DEPLOYMENT_ID)){let t=o();return t?wr(t,e,c):void 0}if(l)return Tr(l,e,c,{token:n,teamId:t,dispatcher:r})}}const Dr={peerService:`workflow-server`,rpcSystem:`http`,rpcService:`workflow-server`},Or={"world.runs.get":0,"world.runs.experimentalSetAttributes":0,"world.steps.get":0,"world.events.create":0,"world.events.get":0},kr=new Set([`world.steps.list`,`world.events.list`,`world.hooks.list`]);function Ar(e){if(e.length>=2&&typeof e[1]==`object`&&e[1]!==null){let t=e[1];if(typeof t.eventType==`string`)return t.eventType}}function jr(e,t){return typeof e[t]==`string`?e[t]:void 0}function Mr(e){if(typeof e!=`object`||!e)return;let t=e.runId;return typeof t==`string`?t:void 0}function Nr(e){if(typeof e!=`object`||!e)return;let t=e;if(typeof t.runId==`string`)return t.runId;for(let e of[`run`,`step`,`hook`,`wait`]){let n=t[e];if(typeof n==`object`&&n){let e=n.runId;if(typeof e==`string`)return e}}}function Pr(e,t,n){let r=`${e}.${t}`,i={},a=Or[r],o=a===void 0?kr.has(r)?Mr(n[0]):void 0:jr(n,a);if(o&&Object.assign(i,Un(o)),r===`world.steps.get`){let e=jr(n,1);e&&Object.assign(i,Wn(e))}return i}function Fr(e,t){let n={};for(let r of Object.keys(t))if(typeof t[r]!=`function`)n[r]=t[r];else{let i=t[r],a=String(r);n[r]=async(...t)=>{let n=`${e}.${a}`;if(e===`world.events`&&a===`create`){let r=Ar(t);r&&(n=`${e}.${a} ${r}`)}return kn(n,{kind:await An(`CLIENT`)},async r=>{r?.setAttributes({...zn(Dr.peerService),...Bn(Dr.rpcSystem),...Vn(Dr.rpcService),...Hn(n),...Pr(e,a,t)});let o=await i(...t),s=Nr(o);return s&&r?.setAttributes(Un(s)),o})}}return n}var q=class extends Error{constructor(e){super(e),this.name=`MultipartParseError`}};function Ir(e){let t=new TextEncoder().encode(e);return(e,n=0)=>Buffer.prototype.indexOf.call(e,t,n)}function Lr(e){let t=new TextEncoder().encode(e),n={};for(let e=0;e<t.length;++e){let r=t[e];n[r]===void 0&&(n[r]=[]),n[r].push(e)}return function(e){let r=e.length-1;if(e[r]in n){let i=n[e[r]];for(let n=i.length-1;n>=0;--n)for(let a=i[n],o=r;a>=0&&e[o]===t[a];--a,--o)if(a===0)return o}return-1}}function Rr(e){let t=new TextDecoder(`iso-8859-1`).decode(e).trim().split(/\r?\n/),n=[];for(let e of t){let t=e.indexOf(`:`);if(t>0){let r=e.slice(0,t).trim(),i=e.slice(t+1).trim();n.push([r,i])}}return new Headers(n)}function zr(e){let t=e.match(/boundary=(?:"([^"]+)"|([^;]+))/i);if(!t)throw new q(`No boundary found in Content-Type header`);return t[1]??t[2]}var Br=class{queue=[];waiters=[];finished=!1;cancelled=!1;error=null;enqueue(e){this.finished||this.cancelled||(this.waiters.length>0?this.waiters.shift().resolve(e):this.queue.push(e))}finish(e){if(!this.finished)for(this.finished=!0,this.error=e||null;this.waiters.length>0;){let t=this.waiters.shift();e?t.reject(e):t.resolve(null)}}cancel(){if(!(this.cancelled||this.finished))for(this.cancelled=!0;this.waiters.length>0;)this.waiters.shift().resolve(null)}async dequeue(){if(this.queue.length>0)return this.queue.shift();if(this.finished||this.cancelled){if(this.error)throw this.error;return null}return new Promise((e,t)=>{this.waiters.push({resolve:e,reject:t})})}get isTerminal(){return this.finished||this.cancelled}};async function*Vr(e,t){if(!e.body)throw new q(`Response body is null`);let n=e.headers.get(`content-type`);if(!n)throw new q(`Missing Content-Type header`);yield*new Hr(zr(n),t).parseStream(e.body)}var Hr=class{boundary;findOpeningBoundary;openingBoundaryLength;findBoundary;findPartialTailBoundary;boundaryLength;findDoubleNewline;maxHeaderSize;maxBoundaryBuffer;state=0;buffer=null;currentHeaders=new Headers;currentPayloadController=null;constructor(e,t={}){this.boundary=e,this.findOpeningBoundary=Ir(`--${e}`),this.openingBoundaryLength=2+e.length,this.findBoundary=Ir(`\r
|
|
6
6
|
--${e}`),this.findPartialTailBoundary=Lr(`\r
|
|
7
7
|
--${e}`),this.boundaryLength=4+e.length,this.findDoubleNewline=Ir(`\r
|