UNPKG

eve

Version:

Filesystem-first framework for durable backend AI agents that run anywhere.

4 lines 775 kB
import{a as e,i as t,t as n}from"../../_chunks/workflow/chunk-BHKSVoKr.js";import{a as r,d as i,f as a,l as o,n as s,r as c,t as l,u}from"../../_chunks/workflow/dist-FLIfyJ4Y.js";import{C as d,E as f,T as p,a as m,c as h,d as g,f as _,h as v,i as y,l as b,m as x,n as S,o as C,p as w,r as T,s as E,t as D,u as O,w as k,y as A}from"../../_chunks/workflow/dist-Dxrjttr2.js";import{$ as j,An as M,At as N,B as P,Bn as F,Bt as ee,Cn as I,Ct as L,D as te,Dn as R,Dt as ne,E as re,En as ie,Et as z,F as ae,Fn as B,Ft as oe,G as se,Gn as ce,H as V,Hn as le,Ht as ue,I as de,In as fe,It as pe,Jn as H,Jt as me,K as he,Kn as ge,Kt as _e,L as ve,Ln as ye,Lt as be,M as xe,Mn as Se,Mt as Ce,N as U,Nn as we,Nt as Te,O as Ee,On as De,Ot as Oe,P as ke,Pn as Ae,Pt as je,Qn as Me,R as Ne,Rn as Pe,Rt as Fe,Sn as Ie,St as Le,Tn as Re,Tt as ze,U as Be,Un as Ve,Ut as He,V as Ue,Vn as We,Vt as Ge,W as Ke,Wn as qe,Wt as Je,X as Ye,Xn as Xe,Xt as Ze,Y as Qe,Yn as $e,Yt as et,Z as tt,Zn as nt,_ as rt,_n as it,_t as at,a as ot,an as st,ar as ct,at as lt,bn as ut,bt as dt,c as ft,ct as pt,d as mt,dt as ht,et as gt,f as _t,fn as vt,ft as yt,g as bt,gn as xt,gt as St,hn as Ct,ht as wt,i as Tt,in as Et,j as Dt,jn as Ot,jt as kt,k as At,kn as jt,kt as Mt,l as Nt,lt as Pt,mn as Ft,mt as It,n as Lt,nn as Rt,o as zt,on as Bt,or as Vt,ot as Ht,pt as Ut,qn as Wt,rn as Gt,rr as Kt,s as qt,sr as Jt,st as Yt,tn as Xt,tt as Zt,u as Qt,ut as $t,v as en,vn as tn,vt as nn,wn as rn,wt as an,x as on,xn as sn,xt as cn,y as ln,yn as un,yt as dn,z as W,zn as fn,zt as pn}from"../../_chunks/workflow/attribute-changes-Bi5DLT8S.js";import{awaitEarlierDeliveries as mn,getStepFunction as hn,registerDeliveryBarrier as gn,scheduleWhenIdle as _n}from"./private.js";import{n as vn,r as yn,t as bn}from"../../_chunks/workflow/resume-hook-CKTw-lb5.js";import{a as xn,c as Sn,i as Cn,l as wn,n as Tn,o as En,r as Dn,s as On,t as kn}from"../../_chunks/workflow/run-XM8dTRAo.js";import{createRequire as An}from"node:module";import{createHash as jn,webcrypto as Mn}from"node:crypto";import{inspect as Nn,promisify as Pn,types as Fn}from"node:util";import{AsyncLocalStorage as In}from"node:async_hooks";import{fileURLToPath as Ln,pathToFileURL as Rn}from"node:url";import{promises as zn}from"node:fs";import Bn,{access as Vn,constants as Hn,mkdir as Un,readFile as Wn,readdir as Gn,readlink as Kn,rm as qn,unlink as Jn,writeFile as Yn}from"node:fs/promises";import G from"node:path";import{execFile as Xn}from"node:child_process";import{setTimeout as Zn}from"node:timers/promises";import{EventEmitter as Qn}from"node:events";import*as $n from"path";import*as er from"fs";import*as tr from"net";import{createRequire as nr}from"module";import rr from"node:os";import{createContext as ir,runInContext as ar}from"node:vm";const or=new Set([`PARSE_ERROR`,`SCHEMA_VALIDATION`,f.WORLD_CONTRACT_ERROR]),sr=[k.is,w.is,A.is,g.is];function cr(e){if(!p.is(e)||e.status!==void 0)return!1;let t=`cause`in e?e.cause:void 0;return e.code!==void 0&&or.has(e.code)||e.message.startsWith(`Failed to parse response body for `)||e.message.startsWith(`Schema validation failed for `)||typeof t==`object`&&!!t&&`name`in t&&t.name===`ZodError`}function lr(e){if(E.is(e))return f.REPLAY_DIVERGENCE;if(D.is(e))return f.CORRUPTED_EVENT_LOG;if(cr(e))return f.WORLD_CONTRACT_ERROR;for(let t of sr)if(t(e))return f.RUNTIME_ERROR;return f.USER_ERROR}function ur(e){return e instanceof Vt||e instanceof ct||e instanceof Jt||e instanceof Me}const dr=`The workflow event log contains orphaned or mismatched events and cannot be replayed. This is an internal workflow SDK error; please report it with the runId.`;function fr(e,t){let n=t??lr(e);return _.is(e)?{attribution:`user`,errorCode:n,hint:`A value passed across a workflow/step boundary could not be serialized. See the error message for the offending path and the Learn More link for details.`}:ur(e)?{attribution:`user`,errorCode:n,hint:`A workflow-only or step-only API was called from the wrong context. The error message includes the exact API and how to move the call.`}:D.is(e)?{attribution:`sdk`,errorCode:n,hint:dr}:e instanceof k?{attribution:`sdk`,errorCode:n,hint:`This is an internal workflow SDK error, not a bug in your code. If it keeps happening, please report it with the stack trace and the runId.`}:n===f.REPLAY_TIMEOUT?{attribution:`sdk`,errorCode:n,hint:'The workflow replay between step boundaries took too long. This bounds workflow-VM and event-log replay time only — step bodies (`"use step"` functions) are excluded. This usually means the event log is unusually large or the workflow function is doing heavy synchronous work in workflow code outside of step bodies. Override the default budget via the WORKFLOW_REPLAY_TIMEOUT_MS env var if needed.'}:n===f.MAX_DELIVERIES_EXCEEDED?{attribution:`sdk`,errorCode:n,hint:`The workflow queue exceeded its max-delivery budget. This usually indicates a persistent runtime failure — check the most recent stack traces for the underlying cause.`}:n===f.CORRUPTED_EVENT_LOG?{attribution:`sdk`,errorCode:n,hint:dr}:n===f.WORLD_CONTRACT_ERROR?{attribution:`sdk`,errorCode:n,hint:`The workflow backend returned data that violated the SDK contract. This is not retryable; please report it with the stack trace and runId.`}:{attribution:`user`,errorCode:n}}const pr=24e4,mr=3e4,hr=78e4,gr=new Set;function _r(e,t,n){gr.has(e)||(gr.add(e),W.warn(t,n))}function vr(){let e=process.env.WORKFLOW_REPLAY_TIMEOUT_MS;if(!e)return pr;let t=Number(e);return!Number.isFinite(t)||t<=0?(_r(e,`Ignoring WORKFLOW_REPLAY_TIMEOUT_MS: not a positive finite number; using default`,{raw:e,defaultMs:pr}),pr):t<3e4?(_r(e,`WORKFLOW_REPLAY_TIMEOUT_MS below minimum; clamped`,{raw:e,clampedMs:mr,minMs:mr}),mr):t>78e4?(_r(e,`WORKFLOW_REPLAY_TIMEOUT_MS above maximum; clamped`,{raw:e,clampedMs:hr,maxMs:hr}),hr):t}const yr=Pn(Xn);function br(e,t=10){let n=parseInt(e,t);if(!Number.isNaN(n)&&n>=0&&n<=65535)return n}const xr=((e,t)=>e.join(t))([``,`proc`],`/`);async function Sr(e){let t=[`${xr}/net/tcp`,`${xr}/net/tcp6`],n=[],r=new Set,i=`${xr}/${e}/fd`;try{let e=(await Gn(i)).sort((e,t)=>Number.parseInt(e,10)-Number.parseInt(t,10)),t=await Promise.allSettled(e.map(async e=>(await Kn(`${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 Wn(e,`utf8`)).split(` `).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=br(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 Cr(e){try{let{stdout:t}=await yr(`lsof`,[`-a`,`-i`,`-P`,`-n`,`-p`,e.toString()]),n=[],r=t.split(` `);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=br(t.slice(e+1));r!==void 0&&n.push(r)}}}return n}catch{return[]}}async function wr(e){try{let{stdout:t}=await yr(`cmd`,[`/c`,`netstat -ano | findstr ${e} | findstr LISTENING`]),n=[],r=t.trim();if(r){let e=r.split(` `);for(let t of e){let e=t.trim().match(/^\s*TCP\s+(?:\[[\da-f:]+\]|[\d.]+):(\d+)\s+/i);if(e){let t=br(e[1]);t!==void 0&&n.push(t)}}}return n}catch{return[]}}async function Tr(){let{pid:e,platform:t}=process;try{switch(t){case`linux`:return await Sr(e);case`darwin`:return await Cr(e);case`win32`:return await wr(e);default:return[]}}catch(e){return process.env.NODE_ENV===`development`&&console.debug(`[getAllPorts] Detection failed:`,e),[]}}async function Er(e,t={}){let{endpoint:n=`/.well-known/workflow/v1/flow?__health`,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 Dr(e){let t=await Tr();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 Er(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 Or(e){let t={get value(){let n=e();return Object.defineProperty(t,"value",{value:n}),n}};return t}const kr=()=>process.env.WORKFLOW_LOCAL_DATA_DIR||`.workflow-data`,Ar=()=>process.env.WORKFLOW_LOCAL_BASE_URL,jr=Or(()=>({dataDir:kr(),baseUrl:Ar()}));async function Mr(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`http://localhost:${e.port}`;if(process.env.PORT)return`http://localhost:${process.env.PORT}`;let t=await Dr();if(t)return`http://localhost:${t}`;throw Error(`Unable to resolve base URL for workflow queue.`)}const Nr=it(()=>Math.random());function Pr(e){let t=typeof e==`string`?e:String(e);return t.length>48?`${t.slice(0,48)}…`:t}var Fr=class extends p{constructor(e,t){super(`Unsafe ${e} "${Pr(t)}": must not be empty, contain ".", "/", "\\", or null bytes`),this.name=`UnsafeEntityIdError`}static is(e){return e instanceof Error&&e.name===`UnsafeEntityIdError`}};function Ir(e,t){if(t.length===0||t.startsWith(`.`)||t.includes(`/`)||t.includes(`\\`)||t.includes(`\0`)||t.includes(`.`))throw new Fr(e,t)}function Lr(e,...t){let n=G.resolve(e),r=G.resolve(e,...t);if(r!==n&&!r.startsWith(n+G.sep))throw new Fr(`path`,t.join(`/`));return r}const Rr=process.platform===`win32`;async function zr(e,t=5){if(!Rr)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 Br=new Set;function Vr(){Br.clear()}const Hr=/\.[a-zA-Z][a-zA-Z0-9-]*$/;function Ur(e){return e.replace(Hr,``)}function Wr(e,t){return e.endsWith(`.${t}`)}function Gr(e,t,n,r){return Ir(`fileId`,n),r!==void 0&&Ir(`tag`,r),Lr(e,t,r?`${n}.${r}.json`:`${n}.json`)}async function Kr(e,t,n,r,i){if(Ir(`fileId`,n),i!==void 0&&Ir(`tag`,i),i){let a=await ei(Lr(e,t,`${n}.${i}.json`),r);if(a!==null)return a}return ei(Lr(e,t,`${n}.json`),r)}async function qr(e,t){let n=`.${t}.json`;try{return(await zn.readdir(e)).filter(e=>e.endsWith(n))}catch(e){if(e.code===`ENOENT`)return[];throw e}}async function Jr(e,t,n){let r=`.${t}${n}`;try{return(await zn.readdir(e)).filter(e=>e.endsWith(r))}catch(e){if(e.code===`ENOENT`)return[];throw e}}async function Yr(e){try{await zn.mkdir(e,{recursive:!0})}catch{}}function Xr(e,t){return t instanceof Uint8Array?{__type:`Uint8Array`,data:Buffer.from(t).toString(`base64`)}:t}function Zr(e,t){return typeof t==`object`&&t&&t.__type===`Uint8Array`&&typeof t.data==`string`?new Uint8Array(Buffer.from(t.data,`base64`)):t}async function Qr(e,t,n){return $r(e,JSON.stringify(t,Xr,2),n)}async function $r(e,t,n){if(!n?.overwrite){if(Br.has(e))throw new T(`File ${e} already exists and 'overwrite' is false`);try{throw await zn.access(e),Br.add(e),new T(`File ${e} already exists and 'overwrite' is false`)}catch(e){if(e.code!==`ENOENT`)throw e}}let r=`${e}.tmp.${Nr()}`,i=!1;try{await Yr(G.dirname(e)),await zn.writeFile(r,t),i=!0,await zr(()=>zn.rename(r,e)),Br.add(e)}catch(e){throw i&&await zr(()=>zn.unlink(r),3).catch(()=>{}),e}}async function ei(e,t){try{let n=await zn.readFile(e,`utf-8`);return t.parse(JSON.parse(n,Zr))}catch(e){if(e.code===`ENOENT`)return null;throw e}}async function ti(e){return await zn.readFile(e)}async function ni(e){let t=await zn.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 ri(e){try{await zn.unlink(e)}catch(e){if(e.code!==`ENOENT`)throw e}}async function ii(e,t){await Yr(G.dirname(e));let n=`${e}.tmp.${Nr()}`,r=!1;try{await zn.writeFile(n,t,{flag:`wx`}),r=!0;try{return await zr(()=>zn.link(n,e)),!0}catch(e){if(e.code===`EEXIST`)return!1;throw e}}finally{r&&await zr(()=>zn.unlink(n),3).catch(()=>{})}}async function ai(e){return oi(e,`.json`)}async function oi(e,t){try{return(await zn.readdir(e)).filter(e=>e.endsWith(t)).map(e=>e.slice(0,-t.length))}catch(e){if(e.code===`ENOENT`)return[];throw e}}function si(e){if(!e)return null;let t=e.split(`|`);return{timestamp:new Date(t[0]),id:t[1]||null}}function ci(e,t){return t?`${e.toISOString()}|${t}`:e.toISOString()}async function li(e){let{directory:t,schema:n,filePrefix:r,fileIdFilter:i,filter:a,sortOrder:o=`desc`,limit:s=20,cursor:c,getCreatedAt:l,getId:u}=e;r!==void 0&&Ir(`filePrefix`,r);let d=await ai(t),f=r?d.filter(e=>e.startsWith(r)):d,p=i?f.filter(i):f,m=si(c),h=p;m&&(h=p.filter(e=>{let t=l(`${e}.json`);if(t){let e=m.timestamp.getTime(),n=t.getTime();return m.id?o===`desc`?n<=e:n>=e:o===`desc`?n<e:n>e}return!0}));let g=[];for(let e of h){let r=G.join(t,`${e}.json`),i=null;try{i=await ei(r,n)}catch(t){if(t instanceof nt){console.warn(`Skipping item ${e} due to malformed JSON: ${t.message}`);continue}throw t}if(i){if(a&&!a(i))continue;if(m){let e=i.createdAt.getTime(),t=m.timestamp.getTime();if(o===`desc`){if(e>t||e===t&&m.id&&u&&u(i)>=m.id)continue}else if(e<t||e===t&&m.id&&u&&u(i)<=m.id)continue}g.push(i)}}g.sort((e,t)=>{let n=e.createdAt.getTime(),r=t.createdAt.getTime(),i=o===`asc`?n-r:r-n;if(i===0&&u){let n=u(e),r=u(t);return o===`asc`?n.localeCompare(r):r.localeCompare(n)}return i});let _=g.length>s,v=_?g.slice(0,s):g;return{data:v,cursor:v.length>0?ci(v[v.length-1].createdAt,u?.(v[v.length-1])):null,hasMore:_}}let ui=null;function di(){return typeof import.meta.url==`string`&&import.meta.url?G.dirname(Ln(import.meta.url)):null}async function fi(){if(ui)return ui;let e=di();if(e)try{let t=await Wn(G.join(e,`../package.json`),`utf-8`);return ui=JSON.parse(t),ui}catch{}return ui={name:`@workflow/world-local`,version:`bundled`},ui}const pi=`version.txt`;var mi=class extends Error{dataDir;code;constructor(e,t,n){super(e),this.name=`DataDirAccessError`,this.dataDir=t,this.code=n}},hi=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 gi(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 _i(e){let t=`${e.major}.${e.minor}.${e.patch}`;return e.prerelease?`${t}-${e.prerelease}`:t}function vi(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:gi(t.substring(n+1))}}function yi(e,t){return`${e}@${_i(t)}`}function bi(e,t){console.log(`[world-local] Upgrading from version ${_i(e)} to ${_i(t)}`)}async function xi(e){let t=G.resolve(e);try{await Un(t,{recursive:!0})}catch(e){let n=e;if(n.code!==`EEXIST`)throw new mi(`Failed to create data directory "${t}": ${n.message}`,t,n.code)}try{await Vn(t,Hn.R_OK)}catch(e){let n=e;throw new mi(`Data directory "${t}" is not readable: ${n.message}`,t,n.code)}let n=G.join(t,`.workflow-write-test-${Date.now()}`);try{await Yn(n,``),await Jn(n).catch(e=>{if(e.code!==`ENOENT`)throw e})}catch(e){let n=e;throw new mi(`Data directory "${t}" is not writable: ${n.message}`,t,n.code)}}async function Si(e){let t=G.join(G.resolve(e),pi);try{return vi(await Wn(t,`utf-8`))}catch(e){if(e.code===`ENOENT`)return null;throw e}}async function Ci(e,t){await Yn(G.join(G.resolve(e),pi),yi((await fi()).name,t))}function wi(e,t){return t||_i(e)}async function Ti(e){await xi(e);let t=await fi(),n=gi(t.version),r=await Si(e);if(r===null){await Ci(e,n);return}let{version:i}=r;if(_i(i)!==_i(n))try{bi(i,n),await Ci(e,n)}catch(e){let r=wi(i,e instanceof hi?e.suggestedVersion:void 0);throw console.error(`[world-local] Failed to upgrade data directory from version ${_i(i)} to ${_i(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 Ei=null;async function Di(){return Ei||=import(`../../_chunks/workflow/src-CQuMexnO.js`).then(t=>e(t.t(),1)).catch(()=>null),Ei}let Oi=null;async function ki(){return Oi||=Di().then(e=>e?e.trace.getTracer(`workflow`):null),Oi}async function Ai(e,...t){let[n,r]=await Promise.all([ki(),Di()]),{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 ji(e){let t=await Di();if(t)return t.SpanKind[e]}function Mi(...e){return t=>Object.fromEntries(e.map(e=>[e,t]))}const Ni=Mi(`peer.service`),Pi=Mi(`rpc.system`),Fi=Mi(`rpc.service`),Ii=Mi(`rpc.method`),Li={peerService:`world-local`,rpcSystem:`local`,rpcService:`world-local`};function Ri(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 zi(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=Ri(t);r&&(n=`${e}.${a} ${r}`)}return Ai(n,{kind:await ji(`INTERNAL`)},async e=>(e?.setAttributes({...Ni(Li.peerService),...Pi(Li.rpcSystem),...Fi(Li.rpcService),...Ii(n)}),i(...t)))}}return n}var Bi=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})),Vi=n(((e,t)=>{t.exports={kClose:Symbol(`close`),kDestroy:Symbol(`destroy`),kDispatch:Symbol(`dispatch`),kUrl:Symbol(`url`),kWriting:Symbol(`writing`),kResuming:Symbol(`resuming`),kQueue:Symbol(`queue`),kConnect:Symbol(`connect`),kConnecting:Symbol(`connecting`),kKeepAliveDefaultTimeout:Symbol(`default keep alive timeout`),kKeepAliveMaxTimeout:Symbol(`max keep alive timeout`),kKeepAliveTimeoutThreshold:Symbol(`keep alive timeout threshold`),kKeepAliveTimeoutValue:Symbol(`keep alive timeout`),kKeepAlive:Symbol(`keep alive`),kHeadersTimeout:Symbol(`headers timeout`),kBodyTimeout:Symbol(`body timeout`),kServerName:Symbol(`server name`),kLocalAddress:Symbol(`local address`),kHost:Symbol(`host`),kNoRef:Symbol(`no ref`),kBodyUsed:Symbol(`used`),kBody:Symbol(`abstracted request body`),kRunning:Symbol(`running`),kBlocking:Symbol(`blocking`),kPending:Symbol(`pending`),kSize:Symbol(`size`),kBusy:Symbol(`busy`),kQueued:Symbol(`queued`),kFree:Symbol(`free`),kConnected:Symbol(`connected`),kClosed:Symbol(`closed`),kNeedDrain:Symbol(`need drain`),kReset:Symbol(`reset`),kDestroyed:Symbol.for(`nodejs.stream.destroyed`),kResume:Symbol(`resume`),kOnError:Symbol(`on error`),kMaxHeadersSize:Symbol(`max headers size`),kRunningIdx:Symbol(`running index`),kPendingIdx:Symbol(`pending index`),kError:Symbol(`error`),kClients:Symbol(`clients`),kClient:Symbol(`client`),kParser:Symbol(`parser`),kOnDestroyed:Symbol(`destroy callbacks`),kPipelining:Symbol(`pipelining`),kSocket:Symbol(`socket`),kHostHeader:Symbol(`host header`),kConnector:Symbol(`connector`),kStrictContentLength:Symbol(`strict content length`),kMaxRedirections:Symbol(`maxRedirections`),kMaxRequests:Symbol(`maxRequestsPerClient`),kProxy:Symbol(`proxy agent options`),kCounter:Symbol(`socket request counter`),kMaxResponseSize:Symbol(`max response size`),kHTTP2Session:Symbol(`http2Session`),kHTTP2SessionState:Symbol(`http2Session state`),kRetryHandlerDefaultRetry:Symbol(`retry agent default retry`),kConstruct:Symbol(`constructable`),kListeners:Symbol(`listeners`),kHTTPContext:Symbol(`http context`),kMaxConcurrentStreams:Symbol(`max concurrent streams`),kHTTP2InitialWindowSize:Symbol(`http2 initial window size`),kHTTP2ConnectionWindowSize:Symbol(`http2 connection window size`),kEnableConnectProtocol:Symbol(`http2session connect protocol`),kRemoteSettings:Symbol(`http2session remote settings`),kHTTP2Stream:Symbol(`http2session client stream`),kPingInterval:Symbol(`ping interval`),kNoProxyAgent:Symbol(`no proxy agent`),kHttpProxyAgent:Symbol(`http proxy agent`),kHttpsProxyAgent:Symbol(`https proxy agent`),kSocks5ProxyAgent:Symbol(`socks5 proxy agent`)}})),Hi=n(((e,t)=>{let n=0,r=1e3,i,a=Symbol(`kFastTimer`),o=[];function s(){n+=499;let e=0,t=o.length;for(;e<t;){let r=o[e];r._state===0?(r._idleStart=n-499,r._state=1):r._state===1&&n>=r._idleStart+r._idleTimeout&&(r._state=-1,r._idleStart=-1,r._onTimeout(r._timerArg)),r._state===-1?(r._state=-2,--t!==0&&(o[e]=o[t])):++e}o.length=t,o.length!==0&&c()}function c(){i?.refresh?i.refresh():(clearTimeout(i),i=setTimeout(s,499),i?.unref())}var l=class{[a]=!0;_state=-2;_idleTimeout=-1;_idleStart=-1;_onTimeout;_timerArg;constructor(e,t,n){this._onTimeout=e,this._idleTimeout=t,this._timerArg=n,this.refresh()}refresh(){this._state===-2&&o.push(this),(!i||o.length===1)&&c(),this._state=0}clear(){this._state=-1,this._idleStart=-1}};t.exports={setTimeout(e,t,n){return t<=r?setTimeout(e,t,n):new l(e,t,n)},clearTimeout(e){e[a]?e.clear():clearTimeout(e)},setFastTimeout(e,t,n){return new l(e,t,n)},clearFastTimeout(e){e.clear()},now(){return n},tick(e=0){n+=e-r+1,s(),s()},reset(){n=0,o.length=0,clearTimeout(i),i=null},kFastTimer:a}})),K=n(((e,t)=>{let n=Symbol.for(`undici.error.UND_ERR`);var r=class extends Error{constructor(e,t){super(e,t),this.name=`UndiciError`,this.code=`UND_ERR`}static[Symbol.hasInstance](e){return e&&e[n]===!0}get[n](){return!0}};let i=Symbol.for(`undici.error.UND_ERR_CONNECT_TIMEOUT`);var a=class extends r{constructor(e){super(e),this.name=`ConnectTimeoutError`,this.message=e||`Connect Timeout Error`,this.code=`UND_ERR_CONNECT_TIMEOUT`}static[Symbol.hasInstance](e){return e&&e[i]===!0}get[i](){return!0}};let o=Symbol.for(`undici.error.UND_ERR_HEADERS_TIMEOUT`);var s=class extends r{constructor(e){super(e),this.name=`HeadersTimeoutError`,this.message=e||`Headers Timeout Error`,this.code=`UND_ERR_HEADERS_TIMEOUT`}static[Symbol.hasInstance](e){return e&&e[o]===!0}get[o](){return!0}};let c=Symbol.for(`undici.error.UND_ERR_HEADERS_OVERFLOW`);var l=class extends r{constructor(e){super(e),this.name=`HeadersOverflowError`,this.message=e||`Headers Overflow Error`,this.code=`UND_ERR_HEADERS_OVERFLOW`}static[Symbol.hasInstance](e){return e&&e[c]===!0}get[c](){return!0}};let u=Symbol.for(`undici.error.UND_ERR_BODY_TIMEOUT`);var d=class extends r{constructor(e){super(e),this.name=`BodyTimeoutError`,this.message=e||`Body Timeout Error`,this.code=`UND_ERR_BODY_TIMEOUT`}static[Symbol.hasInstance](e){return e&&e[u]===!0}get[u](){return!0}};let f=Symbol.for(`undici.error.UND_ERR_INVALID_ARG`);var p=class extends r{constructor(e){super(e),this.name=`InvalidArgumentError`,this.message=e||`Invalid Argument Error`,this.code=`UND_ERR_INVALID_ARG`}static[Symbol.hasInstance](e){return e&&e[f]===!0}get[f](){return!0}};let m=Symbol.for(`undici.error.UND_ERR_INVALID_RETURN_VALUE`);var h=class extends r{constructor(e){super(e),this.name=`InvalidReturnValueError`,this.message=e||`Invalid Return Value Error`,this.code=`UND_ERR_INVALID_RETURN_VALUE`}static[Symbol.hasInstance](e){return e&&e[m]===!0}get[m](){return!0}};let g=Symbol.for(`undici.error.UND_ERR_ABORT`);var _=class extends r{constructor(e){super(e),this.name=`AbortError`,this.message=e||`The operation was aborted`,this.code=`UND_ERR_ABORT`}static[Symbol.hasInstance](e){return e&&e[g]===!0}get[g](){return!0}};let v=Symbol.for(`undici.error.UND_ERR_ABORTED`);var y=class extends _{constructor(e){super(e),this.name=`AbortError`,this.message=e||`Request aborted`,this.code=`UND_ERR_ABORTED`}static[Symbol.hasInstance](e){return e&&e[v]===!0}get[v](){return!0}};let b=Symbol.for(`undici.error.UND_ERR_INFO`);var x=class extends r{constructor(e){super(e),this.name=`InformationalError`,this.message=e||`Request information`,this.code=`UND_ERR_INFO`}static[Symbol.hasInstance](e){return e&&e[b]===!0}get[b](){return!0}};let S=Symbol.for(`undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH`);var C=class extends r{constructor(e){super(e),this.name=`RequestContentLengthMismatchError`,this.message=e||`Request body length does not match content-length header`,this.code=`UND_ERR_REQ_CONTENT_LENGTH_MISMATCH`}static[Symbol.hasInstance](e){return e&&e[S]===!0}get[S](){return!0}};let w=Symbol.for(`undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH`);var T=class extends r{constructor(e){super(e),this.name=`ResponseContentLengthMismatchError`,this.message=e||`Response body length does not match content-length header`,this.code=`UND_ERR_RES_CONTENT_LENGTH_MISMATCH`}static[Symbol.hasInstance](e){return e&&e[w]===!0}get[w](){return!0}};let E=Symbol.for(`undici.error.UND_ERR_DESTROYED`);var D=class extends r{constructor(e){super(e),this.name=`ClientDestroyedError`,this.message=e||`The client is destroyed`,this.code=`UND_ERR_DESTROYED`}static[Symbol.hasInstance](e){return e&&e[E]===!0}get[E](){return!0}};let O=Symbol.for(`undici.error.UND_ERR_CLOSED`);var k=class extends r{constructor(e){super(e),this.name=`ClientClosedError`,this.message=e||`The client is closed`,this.code=`UND_ERR_CLOSED`}static[Symbol.hasInstance](e){return e&&e[O]===!0}get[O](){return!0}};let A=Symbol.for(`undici.error.UND_ERR_SOCKET`);var j=class extends r{constructor(e,t){super(e),this.name=`SocketError`,this.message=e||`Socket error`,this.code=`UND_ERR_SOCKET`,this.socket=t}static[Symbol.hasInstance](e){return e&&e[A]===!0}get[A](){return!0}};let M=Symbol.for(`undici.error.UND_ERR_NOT_SUPPORTED`);var N=class extends r{constructor(e){super(e),this.name=`NotSupportedError`,this.message=e||`Not supported error`,this.code=`UND_ERR_NOT_SUPPORTED`}static[Symbol.hasInstance](e){return e&&e[M]===!0}get[M](){return!0}};let P=Symbol.for(`undici.error.UND_ERR_BPL_MISSING_UPSTREAM`);var F=class extends r{constructor(e){super(e),this.name=`MissingUpstreamError`,this.message=e||`No upstream has been added to the BalancedPool`,this.code=`UND_ERR_BPL_MISSING_UPSTREAM`}static[Symbol.hasInstance](e){return e&&e[P]===!0}get[P](){return!0}};let ee=Symbol.for(`undici.error.UND_ERR_HTTP_PARSER`);var I=class extends Error{constructor(e,t,n){super(e),this.name=`HTTPParserError`,this.code=t?`HPE_${t}`:void 0,this.data=n?n.toString():void 0}static[Symbol.hasInstance](e){return e&&e[ee]===!0}get[ee](){return!0}};let L=Symbol.for(`undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE`);var te=class extends r{constructor(e){super(e),this.name=`ResponseExceededMaxSizeError`,this.message=e||`Response content exceeded max size`,this.code=`UND_ERR_RES_EXCEEDED_MAX_SIZE`}static[Symbol.hasInstance](e){return e&&e[L]===!0}get[L](){return!0}};let R=Symbol.for(`undici.error.UND_ERR_REQ_RETRY`);var ne=class extends r{constructor(e,t,{headers:n,data:r}){super(e),this.name=`RequestRetryError`,this.message=e||`Request retry error`,this.code=`UND_ERR_REQ_RETRY`,this.statusCode=t,this.data=r,this.headers=n}static[Symbol.hasInstance](e){return e&&e[R]===!0}get[R](){return!0}};let re=Symbol.for(`undici.error.UND_ERR_RESPONSE`);var ie=class extends r{constructor(e,t,{headers:n,body:r}){super(e),this.name=`ResponseError`,this.message=e||`Response error`,this.code=`UND_ERR_RESPONSE`,this.statusCode=t,this.body=r,this.headers=n}static[Symbol.hasInstance](e){return e&&e[re]===!0}get[re](){return!0}};let z=Symbol.for(`undici.error.UND_ERR_PRX_TLS`);var ae=class extends r{constructor(e,t,n={}){super(t,{cause:e,...n}),this.name=`SecureProxyConnectionError`,this.message=t||`Secure Proxy Connection failed`,this.code=`UND_ERR_PRX_TLS`,this.cause=e}static[Symbol.hasInstance](e){return e&&e[z]===!0}get[z](){return!0}};let B=Symbol.for(`undici.error.UND_ERR_MAX_ORIGINS_REACHED`);var oe=class extends r{constructor(e){super(e),this.name=`MaxOriginsReachedError`,this.message=e||`Maximum allowed origins reached`,this.code=`UND_ERR_MAX_ORIGINS_REACHED`}static[Symbol.hasInstance](e){return e&&e[B]===!0}get[B](){return!0}},se=class extends r{constructor(e,t){super(e),this.name=`Socks5ProxyError`,this.message=e||`SOCKS5 proxy error`,this.code=t||`UND_ERR_SOCKS5`}};let ce=Symbol.for(`undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED`);t.exports={AbortError:_,HTTPParserError:I,UndiciError:r,HeadersTimeoutError:s,HeadersOverflowError:l,BodyTimeoutError:d,RequestContentLengthMismatchError:C,ConnectTimeoutError:a,InvalidArgumentError:p,InvalidReturnValueError:h,RequestAbortedError:y,ClientDestroyedError:D,ClientClosedError:k,InformationalError:x,SocketError:j,NotSupportedError:N,ResponseContentLengthMismatchError:T,BalancedPoolMissingUpstreamError:F,ResponseExceededMaxSizeError:te,RequestRetryError:ne,ResponseError:ie,SecureProxyConnectionError:ae,MaxOriginsReachedError:oe,Socks5ProxyError:se,MessageSizeExceededError:class extends r{constructor(e){super(e),this.name=`MessageSizeExceededError`,this.message=e||`Max decompressed message size exceeded`,this.code=`UND_ERR_WS_MESSAGE_SIZE_EXCEEDED`}static[Symbol.hasInstance](e){return e&&e[ce]===!0}get[ce](){return!0}}}})),Ui=n(((e,t)=>{let n=`Accept.Accept-Encoding.Accept-Language.Accept-Ranges.Access-Control-Allow-Credentials.Access-Control-Allow-Headers.Access-Control-Allow-Methods.Access-Control-Allow-Origin.Access-Control-Expose-Headers.Access-Control-Max-Age.Access-Control-Request-Headers.Access-Control-Request-Method.Age.Allow.Alt-Svc.Alt-Used.Authorization.Cache-Control.Clear-Site-Data.Connection.Content-Disposition.Content-Encoding.Content-Language.Content-Length.Content-Location.Content-Range.Content-Security-Policy.Content-Security-Policy-Report-Only.Content-Type.Cookie.Cross-Origin-Embedder-Policy.Cross-Origin-Opener-Policy.Cross-Origin-Resource-Policy.Date.Device-Memory.Downlink.ECT.ETag.Expect.Expect-CT.Expires.Forwarded.From.Host.If-Match.If-Modified-Since.If-None-Match.If-Range.If-Unmodified-Since.Keep-Alive.Last-Modified.Link.Location.Max-Forwards.Origin.Permissions-Policy.Pragma.Proxy-Authenticate.Proxy-Authorization.RTT.Range.Referer.Referrer-Policy.Refresh.Retry-After.Sec-WebSocket-Accept.Sec-WebSocket-Extensions.Sec-WebSocket-Key.Sec-WebSocket-Protocol.Sec-WebSocket-Version.Server.Server-Timing.Service-Worker-Allowed.Service-Worker-Navigation-Preload.Set-Cookie.SourceMap.Strict-Transport-Security.Supports-Loading-Mode.TE.Timing-Allow-Origin.Trailer.Transfer-Encoding.Upgrade.Upgrade-Insecure-Requests.User-Agent.Vary.Via.WWW-Authenticate.X-Content-Type-Options.X-DNS-Prefetch-Control.X-Frame-Options.X-Permitted-Cross-Domain-Policies.X-Powered-By.X-Requested-With.X-XSS-Protection`.split(`.`),r={};Object.setPrototypeOf(r,null);let i={};Object.setPrototypeOf(i,null);function a(e){let t=i[e];return t===void 0&&(t=Buffer.from(e)),t}for(let e=0;e<n.length;++e){let t=n[e],i=t.toLowerCase();r[t]=r[i]=i}t.exports={wellknownHeaderNames:n,headerNameLowerCasedRecord:r,getHeaderNameAsBuffer:a}})),Wi=n(((e,t)=>{let{wellknownHeaderNames:n,headerNameLowerCasedRecord:r}=Ui();var i=class e{value=null;left=null;middle=null;right=null;code;constructor(t,n,r){if(r===void 0||r>=t.length)throw TypeError(`Unreachable`);if((this.code=t.charCodeAt(r))>127)throw TypeError(`key must be ascii string`);t.length===++r?this.value=n:this.middle=new e(t,n,r)}add(t,n){let r=t.length;if(r===0)throw TypeError(`Unreachable`);let i=0,a=this;for(;;){let o=t.charCodeAt(i);if(o>127)throw TypeError(`key must be ascii string`);if(a.code===o)if(r===++i){a.value=n;break}else if(a.middle!==null)a=a.middle;else{a.middle=new e(t,n,i);break}else if(a.code<o)if(a.left!==null)a=a.left;else{a.left=new e(t,n,i);break}else if(a.right!==null)a=a.right;else{a.right=new e(t,n,i);break}}}search(e){let t=e.length,n=0,r=this;for(;r!==null&&n<t;){let i=e[n];for(i<=90&&i>=65&&(i|=32);r!==null;){if(i===r.code){if(t===++n)return r;r=r.middle;break}r=r.code<i?r.left:r.right}}return null}},a=class{node=null;insert(e,t){this.node===null?this.node=new i(e,t,0):this.node.add(e,t)}lookup(e){return this.node?.search(e)?.value??null}};let o=new a;for(let e=0;e<n.length;++e){let t=r[n[e]];o.insert(t,t)}t.exports={TernarySearchTree:a,tree:o}})),q=n(((e,n)=>{let r=t(`node:assert`),{kDestroyed:i,kBodyUsed:a,kListeners:o,kBody:s}=Vi(),{IncomingMessage:c}=t(`node:http`),l=t(`node:stream`),u=t(`node:net`),{stringify:d}=t(`node:querystring`),{EventEmitter:f}=t(`node:events`),p=Hi(),{InvalidArgumentError:m,ConnectTimeoutError:h}=K(),{headerNameLowerCasedRecord:g}=Ui(),{tree:_}=Wi(),[v,y]=process.versions.node.split(`.`,2).map(e=>Number(e));var b=class{constructor(e){this[s]=e,this[a]=!1}async*[Symbol.asyncIterator](){r(!this[a],`disturbed`),this[a]=!0,yield*this[s]}};function x(){}function S(e){return C(e)?(I(e)===0&&e.on(`data`,function(){r(!1)}),typeof e.readableDidRead!=`boolean`&&(e[a]=!1,f.prototype.on.call(e,`data`,function(){this[a]=!0})),e):e&&typeof e.pipeTo==`function`?new b(e):e&&ue(e)?e:e&&typeof e!=`string`&&!ArrayBuffer.isView(e)&&F(e)?new b(e):e}function C(e){return e&&typeof e==`object`&&typeof e.pipe==`function`&&typeof e.on==`function`}function w(e){if(e===null)return!1;if(e instanceof Blob)return!0;if(typeof e!=`object`)return!1;{let t=e[Symbol.toStringTag];return(t===`Blob`||t===`File`)&&(`stream`in e&&typeof e.stream==`function`||`arrayBuffer`in e&&typeof e.arrayBuffer==`function`)}}function T(e){return e.includes(`?`)||e.includes(`#`)}function E(e,t){if(T(e))throw Error(`Query params cannot be passed when url already contains "?" or "#".`);let n=d(t);return n&&(e+=`?`+n),e}function D(e){let t=parseInt(e,10);return t===Number(e)&&t>=0&&t<=65535}function O(e){return e!=null&&e[0]===`h`&&e[1]===`t`&&e[2]===`t`&&e[3]===`p`&&(e[4]===`:`||e[4]===`s`&&e[5]===`:`)}function k(e){if(typeof e==`string`){if(e=new URL(e),!O(e.origin||e.protocol))throw new m("Invalid URL protocol: the URL must start with `http:` or `https:`.");return e}if(!e||typeof e!=`object`)throw new m(`Invalid URL: The URL argument must be a non-null object.`);if(!(e instanceof URL)){if(e.port!=null&&e.port!==``&&D(e.port)===!1)throw new m(`Invalid URL: port must be a valid integer or a string representation of an integer.`);if(e.path!=null&&typeof e.path!=`string`)throw new m(`Invalid URL path: the path must be a string or null/undefined.`);if(e.pathname!=null&&typeof e.pathname!=`string`)throw new m(`Invalid URL pathname: the pathname must be a string or null/undefined.`);if(e.hostname!=null&&typeof e.hostname!=`string`)throw new m(`Invalid URL hostname: the hostname must be a string or null/undefined.`);if(e.origin!=null&&typeof e.origin!=`string`)throw new m(`Invalid URL origin: the origin must be a string or null/undefined.`);if(!O(e.origin||e.protocol))throw new m("Invalid URL protocol: the URL must start with `http:` or `https:`.");let t=e.port==null?e.protocol===`https:`?443:80:e.port,n=e.origin==null?`${e.protocol||``}//${e.hostname||``}:${t}`:e.origin,r=e.path==null?`${e.pathname||``}${e.search||``}`:e.path;return n[n.length-1]===`/`&&(n=n.slice(0,n.length-1)),r&&r[0]!==`/`&&(r=`/${r}`),new URL(`${n}${r}`)}if(!O(e.origin||e.protocol))throw new m("Invalid URL protocol: the URL must start with `http:` or `https:`.");return e}function A(e){if(e=k(e),e.pathname!==`/`||e.search||e.hash)throw new m(`invalid url`);return e}function j(e){if(e[0]===`[`){let t=e.indexOf(`]`);return r(t!==-1),e.substring(1,t)}let t=e.indexOf(`:`);return t===-1?e:e.substring(0,t)}function M(e){if(!e)return null;r(typeof e==`string`);let t=j(e);return u.isIP(t)?``:t}function N(e){return JSON.parse(JSON.stringify(e))}function P(e){return e!=null&&typeof e[Symbol.asyncIterator]==`function`}function F(e){return e!=null&&(typeof e[Symbol.iterator]==`function`||typeof e[Symbol.asyncIterator]==`function`)}function ee(e){let t=Object.getPrototypeOf(e);return Object.prototype.hasOwnProperty.call(e,Symbol.iterator)||t!=null&&t!==Object.prototype&&typeof e[Symbol.iterator]==`function`}function I(e){if(e==null)return 0;if(C(e)){let t=e._readableState;return t&&t.objectMode===!1&&t.ended===!0&&Number.isFinite(t.length)?t.length:null}else if(w(e))return e.size==null?null:e.size;else if(oe(e))return e.byteLength;return null}function L(e){return e&&!!(e.destroyed||e[i]||l.isDestroyed?.(e))}function te(e,t){e==null||!C(e)||L(e)||(typeof e.destroy==`function`?(Object.getPrototypeOf(e).constructor===c&&(e.socket=null),e.destroy(t)):t&&queueMicrotask(()=>{e.emit(`error`,t)}),e.destroyed!==!0&&(e[i]=!0))}let R=/timeout=(\d+)/;function ne(e){let t=e.match(R);return t?parseInt(t[1],10)*1e3:null}function re(e){return typeof e==`string`?g[e]??e.toLowerCase():_.lookup(e)??e.toString(`latin1`).toLowerCase()}function ie(e){return _.lookup(e)??e.toString(`latin1`).toLowerCase()}function z(e,t){t===void 0&&(t={});for(let n=0;n<e.length;n+=2){let r=re(e[n]),i=t[r];if(i!==void 0)if(Object.hasOwn(t,r))typeof i==`string`&&(i=[i],t[r]=i),i.push(e[n+1].toString(`latin1`));else{let i=typeof e[n+1]==`string`?e[n+1]:Array.isArray(e[n+1])?e[n+1].map(e=>e.toString(`latin1`)):e[n+1].toString(`latin1`);r===`__proto__`?Object.defineProperty(t,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[r]=i}else{let i=typeof e[n+1]==`string`?e[n+1]:Array.isArray(e[n+1])?e[n+1].map(e=>e.toString(`latin1`)):e[n+1].toString(`latin1`);t[r]=i}}return t}function ae(e){let t=e.length,n=Array(t),r,i;for(let a=0;a<t;a+=2)r=e[a],i=e[a+1],typeof r!=`string`&&(r=r.toString()),typeof i!=`string`&&(i=i.toString(`latin1`)),n[a]=r,n[a+1]=i;return n}function B(e){if(!Array.isArray(e))throw TypeError(`expected headers to be an array`);return e.map(e=>Buffer.from(e))}function oe(e){return e instanceof Uint8Array||Buffer.isBuffer(e)}function se(e,t,n){if(!e||typeof e!=`object`)throw new m(`handler must be an object`);if(typeof e.onRequestStart!=`function`){if(typeof e.onConnect!=`function`)throw new m(`invalid onConnect method`);if(typeof e.onError!=`function`)throw new m(`invalid onError method`);if(typeof e.onBodySent!=`function`&&e.onBodySent!==void 0)throw new m(`invalid onBodySent method`);if(n||t===`CONNECT`){if(typeof e.onUpgrade!=`function`)throw new m(`invalid onUpgrade method`)}else{if(typeof e.onHeaders!=`function`)throw new m(`invalid onHeaders method`);if(typeof e.onData!=`function`)throw new m(`invalid onData method`);if(typeof e.onComplete!=`function`)throw new m(`invalid onComplete method`)}}}function ce(e){return!!(e&&(l.isDisturbed(e)||e[a]))}function V(e){return{localAddress:e.localAddress,localPort:e.localPort,remoteAddress:e.remoteAddress,remotePort:e.remotePort,remoteFamily:e.remoteFamily,timeout:e.timeout,bytesWritten:e.bytesWritten,bytesRead:e.bytesRead}}function le(e){let t;return new ReadableStream({start(){t=e[Symbol.asyncIterator]()},pull(e){return t.next().then(({done:t,value:n})=>{if(t)return queueMicrotask(()=>{e.close(),e.byobRequest?.respond(0)});{let t=Buffer.isBuffer(n)?n:Buffer.from(n);return t.byteLength?e.enqueue(new Uint8Array(t)):this.pull(e)}})},cancel(){return t.return()},type:`bytes`})}function ue(e){return e&&typeof e==`object`&&typeof e.append==`function`&&typeof e.delete==`function`&&typeof e.get==`function`&&typeof e.getAll==`function`&&typeof e.has==`function`&&typeof e.set==`function`&&e[Symbol.toStringTag]===`FormData`}function de(e,t){return`addEventListener`in e?(e.addEventListener(`abort`,t,{once:!0}),()=>e.removeEventListener(`abort`,t)):(e.once(`abort`,t),()=>e.removeListener(`abort`,t))}let fe=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function pe(e){return fe[e]===1}let H=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;function me(e){if(e.length>=12)return H.test(e);if(e.length===0)return!1;for(let t=0;t<e.length;t++)if(fe[e.charCodeAt(t)]!==1)return!1;return!0}let he=/[^\t\x20-\x7e\x80-\xff]/;function ge(e){return!he.test(e)}let _e=/^bytes (\d+)-(\d+)\/(\d+)?$/;function ve(e){if(e==null||e===``)return{start:0,end:null,size:null};let t=e?e.match(_e):null;return t?{start:parseInt(t[1]),end:t[2]?parseInt(t[2]):null,size:t[3]?parseInt(t[3]):null}:null}function ye(e,t,n){return(e[o]??=[]).push([t,n]),e.on(t,n),e}function be(e){if(e[o]!=null){for(let[t,n]of e[o])e.removeListener(t,n);e[o]=null}return e}function xe(e,t,n){try{t.onError(n),r(t.aborted)}catch(t){e.emit(`error`,t)}}let Se=process.platform===`win32`?(e,t)=>{if(!t.timeout)return x;let n=null,r=null,i=p.setFastTimeout(()=>{n=setImmediate(()=>{r=setImmediate(()=>Ce(e.deref(),t))})},t.timeout);return()=>{p.clearFastTimeout(i),clearImmediate(n),clearImmediate(r)}}:(e,t)=>{if(!t.timeout)return x;let n=null,r=p.setFastTimeout(()=>{n=setImmediate(()=>{Ce(e.deref(),t)})},t.timeout);return()=>{p.clearFastTimeout(r),clearImmediate(n)}};function Ce(e,t){if(e==null)return;let n=`Connect Timeout Error`;Array.isArray(e.autoSelectFamilyAttemptedAddresses)?n+=` (attempted addresses: ${e.autoSelectFamilyAttemptedAddresses.join(`, `)},`:n+=` (attempted address: ${t.hostname}:${t.port},`,n+=` timeout: ${t.timeout}ms)`,te(e,new h(n))}function U(e){if(e[0]===`h`&&e[1]===`t`&&e[2]===`t`&&e[3]===`p`)switch(e[4]){case`:`:return`http:`;case`s`:if(e[5]===`:`)return`https:`}return e.slice(0,e.indexOf(`:`)+1)}let we=Object.create(null);we.enumerable=!0;let Te={delete:`DELETE`,DELETE:`DELETE`,get:`GET`,GET:`GET`,head:`HEAD`,HEAD:`HEAD`,options:`OPTIONS`,OPTIONS:`OPTIONS`,post:`POST`,POST:`POST`,put:`PUT`,PUT:`PUT`},Ee={...Te,patch:`patch`,PATCH:`PATCH`};Object.setPrototypeOf(Te,null),Object.setPrototypeOf(Ee,null),n.exports={kEnumerableProperty:we,isDisturbed:ce,isBlobLike:w,parseOrigin:A,parseURL:k,getServerName:M,isStream:C,isIterable:F,hasSafeIterator:ee,isAsyncIterable:P,isDestroyed:L,headerNameToString:re,bufferToLowerCasedHeaderName:ie,addListener:ye,removeAllListeners:be,errorRequest:xe,parseRawHeaders:ae,encodeRawHeaders:B,parseHeaders:z,parseKeepAliveTimeout:ne,destroy:te,bodyLength:I,deepClone:N,ReadableStreamFrom:le,isBuffer:oe,assertRequestHandler:se,getSocketInfo:V,isFormDataLike:ue,pathHasQueryOrFragment:T,serializePathWithQuery:E,addAbortListener:de,isValidHTTPToken:me,isValidHeaderValue:ge,isTokenCharCode:pe,parseRangeHeader:ve,normalizedMethodRecordsBase:Te,normalizedMethodRecords:Ee,isValidPort:D,isHttpOrHttpsPrefixed:O,nodeMajor:v,nodeMinor:y,safeHTTPMethods:Object.freeze([`GET`,`HEAD`,`OPTIONS`,`TRACE`]),wrapRequestBody:S,setupConnectTimeout:Se,getProtocolFromUrlString:U}})),Gi=n(((e,t)=>{let{kConnected:n,kPending:r,kRunning:i,kSize:a,kFree:o,kQueued:s}=Vi();t.exports={ClientStats:class{constructor(e){this.connected=e[n],this.pending=e[r],this.running=e[i],this.size=e[a]}},PoolStats:class{constructor(e){this.connected=e[n],this.free=e[o],this.pending=e[r],this.queued=e[s],this.running=e[i],this.size=e[a]}}}})),Ki=n(((e,n)=>{let r=t(`node:diagnostics_channel`),i=t(`node:util`),a=i.debuglog(`undici`),o=i.debuglog(`fetch`),s=i.debuglog(`websocket`),c={beforeConnect:r.channel(`undici:client:beforeConnect`),connected:r.channel(`undici:client:connected`),connectError:r.channel(`undici:client:connectError`),sendHeaders:r.channel(`undici:client:sendHeaders`),create:r.channel(`undici:request:create`),bodySent:r.channel(`undici:request:bodySent`),bodyChunkSent:r.channel(`undici:request:bodyChunkSent`),bodyChunkReceived:r.channel(`undici:request:bodyChunkReceived`),headers:r.channel(`undici:request:headers`),trailers:r.channel(`undici:request:trailers`),error:r.channel(`undici:request:error`),open:r.channel(`undici:websocket:open`),close:r.channel(`undici:websocket:close`),socketError:r.channel(`undici:websocket:socket_error`),ping:r.channel(`undici:websocket:ping`),pong:r.channel(`undici:websocket:pong`),proxyConnected:r.channel(`undici:proxy:connected`)},l=!1;function u(e=a){if(!l){if(c.beforeConnect.hasSubscribers||c.connected.hasSubscribers||c.connectError.hasSubscribers||c.sendHeaders.hasSubscribers){l=!0;return}l=!0,r.subscribe(`undici:client:beforeConnect`,t=>{let{connectParams:{version:n,protocol:r,port:i,host:a}}=t;e(`connecting to %s%s using %s%s`,a,i?`:${i}`:``,r,n)}),r.subscribe(`undici:client:connected`,t=>{let{connectParams:{version:n,protocol:r,port:i,host:a}}=t;e(`connected to %s%s using %s%s`,a,i?`:${i}`:``,r,n)}),r.subscribe(`undici:client:connectError`,t=>{let{connectParams:{version:n,protocol:r,port:i,host:a},error:o}=t;e(`connection to %s%s using %s%s errored - %s`,a,i?`:${i}`:``,r,n,o.message)}),r.subscribe(`undici:client:sendHeaders`,t=>{let{request:{method:n,path:r,origin:i}}=t;e(`sending request to %s %s%s`,n,i,r)})}}let d=!1;function f(e=a){if(!d){if(c.headers.hasSubscribers||c.trailers.hasSubscribers||c.error.hasSubscribers){d=!0;return}d=!0,r.subscribe(`undici:request:headers`,t=>{let{request:{method:n,path:r,origin:i},response:{statusCode:a}}=t;e(`received response to %s %s%s - HTTP %d`,n,i,r,a)}),r.subscribe(`undici:request:trailers`,t=>{let{request:{method:n,path:r,origin:i}}=t;e(`trailers received from %s %s%s`,n,i,r)}),r.subscribe(`undici:request:error`,t=>{let{request:{method:n,path:r,origin:i},error:a}=t;e(`request to %s %s%s errored - %s`,n,i,r,a.message)})}}let p=!1;function m(e=s){if(!p){if(c.open.hasSubscribers||c.close.hasSubscribers||c.socketError.hasSubscribers||c.ping.hasSubscribers||c.pong.hasSubscribers){p=!0;return}p=!0,r.subscribe(`undici:websocket:open`,t=>{if(t.address!=null){let{address:n,port:r}=t.address;e(`connection opened %s%s`,n,r?`:${r}`:``)}else e(`connection opened`)}),r.subscribe(`undici:websocket:close`,t=>{let{websocket:n,code:r,reason:i}=t;e(`closed connection to %s - %s %s`,n.url,r,i)}),r.subscribe(`undici:websocket:socket_error`,t=>{e(`connection errored - %s`,t.message)}),r.subscribe(`undici:websocket:ping`,t=>{e(`ping received`)}),r.subscribe(`undici:websocket:pong`,t=>{e(`pong received`)})}}(a.enabled||o.enabled)&&(u(o.enabled?o:a),f(o.enabled?o:a)),s.enabled&&(u(a.enabled?a:s),m(s)),n.exports={channels:c}})),qi=n(((e,n)=>{let{InvalidArgumentError:r,NotSupportedError:i}=K(),a=t(`node:assert`),{isValidHTTPToken:o,isValidHeaderValue:s,isStream:c,destroy:l,isBuffer:u,isFormDataLike:d,isIterable:f,hasSafeIterator:p,isBlobLike:m,serializePathWithQuery:h,assertRequestHandler:g,getServerName:_,normalizedMethodRecords:v,getProtocolFromUrlString:y}=q(),{channels:b}=Ki(),{headerNameLowerCasedRecord:x}=Ui(),S=/[^\u0021-\u00ff]/;function C(e){if(typeof e!=`string`||e.length===0)return!1;for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(n<48||n>57)return!1}return!0}let w=Symbol(`handler`);var T=class{constructor(e,{path:t,method:n,body:i,headers:a,query:x,idempotent:C,blocking:T,upgrade:D,headersTimeout:O,bodyTimeout:k,reset:A,expectContinue:j,servername:M,throwOnError:N,maxRedirections:P,typeOfService:F},ee){if(typeof t!=`string`)throw new r(`path must be a string`);if(t[0]!==`/`&&!(t.startsWith(`http://`)||t.startsWith(`https://`))&&n!==`CONNECT`)throw new r(`path must be an absolute URL or start with a slash`);if(S.test(t))throw new r(`invalid request path`);if(typeof n!=`string`)throw new r(`method must be a string`);if(v[n]===void 0&&!o(n))throw new r(`invalid request method`);if(D&&typeof D!=`string`)throw new r(`upgrade must be a string`);if(D&&!s(D))throw new r(`invalid upgrade header`);if(O!=null&&(!Number.isFinite(O)||O<0))throw new r(`invalid headersTimeout`);if(k!=null&&(!Number.isFinite(k)||k<0))throw new r(`invalid bodyTimeout`);if(A!=null&&typeof A!=`boolean`)throw new r(`invalid reset`);if(j!=