@enfyra/kernel 1.1.54 → 1.1.55

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.
@@ -1,4 +1,4 @@
1
- "use strict";var ne=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var ae=ne((et,re)=>{"use strict";var{fork:Pe}=require("child_process"),xe=require("path");function Se({workerDir:e,activeTaskContexts:t}){let a=new Map,n=new Map,r=new Map,o=new Map,i=null,h=0,_=1e3;function m(l){return Math.max(1,Math.trunc(Number(l)||3e4))}function v(l,s,c){let f=new Error(l);return f.code=s,f.details=c,f}function R(l,s){for(let[c,f]of n)f.child===l&&(clearTimeout(f.timer),n.delete(c),r.delete(c),f.reject(s))}function d(l){for(let[s,c]of o)c.child===l&&(clearTimeout(c.timer),o.delete(s))}function u(l,s){if(!l.connected)return;let c=`cancel_${++h}`,f=setTimeout(()=>{o.delete(c);try{l.kill()}catch{}},_);f.unref?.(),o.set(c,{child:l,timer:f});try{l.send({op:"cancelTask",taskId:s,id:c})}catch{clearTimeout(f),o.delete(c);try{l.kill()}catch{}}}function k(l){let s=typeof l=="string"?JSON.parse(l):l;if(s?.error)throw new Error(s.error);return s?.value}async function b(l){let s=t.get(l.taskId);if(!s)throw new Error(`Package callback context not found: ${l.taskId}`);let c=JSON.stringify(l.callbackId),f=JSON.stringify(l.argsJson||"[]"),y=await s.evalClosure(`return __invokeRuntimeCallback(${c}, ${f});`,[],{arguments:{copy:!0},result:{promise:!0,copy:!0}});return k(y)}function w(){if(i&&i.connected)return i;let l=xe.join(e,"package-runtime.child.js"),s=Pe(l,[],{stdio:["ignore","ignore","ignore","ipc"],env:{PATH:process.env.PATH||"",HOME:process.env.HOME||"",NODE_ENV:process.env.NODE_ENV||"production",TMPDIR:process.env.TMPDIR||"",LANG:process.env.LANG||""}});return i=s,s.on("message",c=>{if(!c||!c.id)return;if(c.type==="pkgStreamChunk"){let y=r.get(c.id);if(!y)return;y.onChunk(Buffer.from(c.chunk||"","base64")).then(()=>{try{s.send({type:"pkgStreamAck",ackId:c.ackId})}catch{}}).catch(T=>{try{s.send({type:"pkgStreamError",ackId:c.ackId,error:{message:T.message,stack:T.stack}})}catch{}});return}if(c.type==="taskCancelled"){let y=o.get(c.id);if(!y||y.child!==s)return;clearTimeout(y.timer),o.delete(c.id);return}if(c.type==="pkgCallbackCall"){b(c).then(y=>{try{s.send({type:"pkgCallbackResult",id:c.id,value:y})}catch{}}).catch(y=>{try{s.send({type:"pkgCallbackError",id:c.id,error:{message:y.message,stack:y.stack}})}catch{}});return}let f=n.get(c.id);if(f)if(clearTimeout(f.timer),n.delete(c.id),r.delete(c.id),c.ok)f.resolve(c.value);else{c.error?.code==="ERR_PACKAGE_RUNTIME_TIMEOUT"&&u(s,f.taskId);let y=v(c.error?.message||"Package runtime call failed",c.error?.code,c.error?.details);y.stack=c.error?.stack||y.stack,f.reject(y)}}),s.on("exit",(c,f)=>{i===s&&(i=null),d(s),R(s,v(`Package runtime exited${f?` with signal ${f}`:` with code ${c}`}`,"ERR_PACKAGE_RUNTIME_LOST",{outcome:"unknown_outcome",retryable:!1}))}),s.on("error",c=>{i===s&&(i=null),d(s),R(s,v(c.message,"ERR_PACKAGE_RUNTIME_LOST",{outcome:"unknown_outcome",retryable:!1}))}),s}function x(l){return new Promise((s,c)=>{let f=w(),y=`pkg_${++h}`,T=m(l.timeoutMs),E=setTimeout(()=>{n.delete(y),r.delete(y),u(f,l.taskId),c(v(`Package runtime call timed out after ${T}ms`,"ERR_PACKAGE_RUNTIME_TIMEOUT",{outcome:"unknown_outcome",retryable:!1}))},T);n.set(y,{child:f,taskId:l.taskId,resolve:s,reject:c,timer:E});try{f.send({...l,id:y},O=>{O&&(clearTimeout(E),n.delete(y),c(O))})}catch(O){clearTimeout(E),n.delete(y),c(O)}})}function S(l,s,c,f=[],y=3e4){return new Promise((T,E)=>{let O=w(),A=`pkg_${++h}`,Q=m(y),ee=setTimeout(()=>{n.delete(A),r.delete(A),u(O,l),E(v(`Package runtime stream timed out after ${Q}ms`,"ERR_PACKAGE_RUNTIME_TIMEOUT",{outcome:"unknown_outcome",retryable:!1}))},Q);n.set(A,{child:O,taskId:l,resolve:T,reject:E,timer:ee}),r.set(A,{onChunk:c});try{O.send({op:"streamHandle",taskId:l,handleId:s,path:f,id:A,timeoutMs:Q},W=>{W&&(clearTimeout(ee),n.delete(A),r.delete(A),E(W))})}catch(W){clearTimeout(ee),n.delete(A),r.delete(A),E(W)}})}function D(l){try{if(!i||!i.connected)return;i.send({...l,id:`pkg_${++h}`,fire:!0})}catch{}}function p(l){try{if(!i||!i.connected)return;u(i,l)}catch{}}async function H(l,s){let c=a.get(l);if(!c)throw new Error("Package context is not available");if(s.handleId)return x({op:s.kind==="get"?"handleGet":"handleCall",taskId:l,handleId:s.handleId,path:s.path||[],argsJson:s.argsJson||"[]",timeoutMs:s.timeoutMs});let f=c.get(s.packageName);if(!f)throw new Error(`Package "${s.packageName}" is not available`);return x({op:s.kind==="construct"?"construct":"call",taskId:l,packageName:s.packageName,package:{name:f.name,fileUrl:f.fileUrl},path:s.path||[],argsJson:s.argsJson||"[]",timeoutMs:s.timeoutMs})}function g(l,s){a.set(l,s)}function P(l){a.delete(l),D({op:"releaseTask",taskId:l})}function $(){if(i){try{i.kill()}catch{}i=null}}return{cleanupTaskPackages:P,cancelTask:p,executePackageRuntimeCall:H,setTaskPackages:g,streamPackageHandle:S,shutdownPackageRuntime:$}}re.exports={createPackageRuntimeBridge:Se}});var oe=ne((tt,se)=>{"use strict";var Ce=`
1
+ "use strict";var ne=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var ae=ne((et,re)=>{"use strict";var{fork:Pe}=require("child_process"),xe=require("path");function Ce({workerDir:e,activeTaskContexts:t}){let a=new Map,n=new Map,r=new Map,o=new Map,i=null,h=0,_=1e3;function m(l){return Math.max(1,Math.trunc(Number(l)||3e4))}function v(l,s,c){let f=new Error(l);return f.code=s,f.details=c,f}function R(l,s){for(let[c,f]of n)f.child===l&&(clearTimeout(f.timer),n.delete(c),r.delete(c),f.reject(s))}function d(l){for(let[s,c]of o)c.child===l&&(clearTimeout(c.timer),o.delete(s))}function u(l,s){if(!l.connected)return;let c=`cancel_${++h}`,f=setTimeout(()=>{o.delete(c);try{l.kill()}catch{}},_);f.unref?.(),o.set(c,{child:l,timer:f});try{l.send({op:"cancelTask",taskId:s,id:c})}catch{clearTimeout(f),o.delete(c);try{l.kill()}catch{}}}function k(l){let s=typeof l=="string"?JSON.parse(l):l;if(s?.error)throw new Error(s.error);return s?.value}async function b(l){let s=t.get(l.taskId);if(!s)throw new Error(`Package callback context not found: ${l.taskId}`);let c=JSON.stringify(l.callbackId),f=JSON.stringify(l.argsJson||"[]"),y=await s.evalClosure(`return __invokeRuntimeCallback(${c}, ${f});`,[],{arguments:{copy:!0},result:{promise:!0,copy:!0}});return k(y)}function w(){if(i&&i.connected)return i;let l=xe.join(e,"package-runtime.child.js"),s=Pe(l,[],{stdio:["ignore","ignore","ignore","ipc"],env:{PATH:process.env.PATH||"",HOME:process.env.HOME||"",NODE_ENV:process.env.NODE_ENV||"production",TMPDIR:process.env.TMPDIR||"",LANG:process.env.LANG||""}});return i=s,s.on("message",c=>{if(!c||!c.id)return;if(c.type==="pkgStreamChunk"){let y=r.get(c.id);if(!y)return;y.onChunk(Buffer.from(c.chunk||"","base64")).then(()=>{try{s.send({type:"pkgStreamAck",ackId:c.ackId})}catch{}}).catch(T=>{try{s.send({type:"pkgStreamError",ackId:c.ackId,error:{message:T.message,stack:T.stack}})}catch{}});return}if(c.type==="taskCancelled"){let y=o.get(c.id);if(!y||y.child!==s)return;clearTimeout(y.timer),o.delete(c.id);return}if(c.type==="pkgCallbackCall"){b(c).then(y=>{try{s.send({type:"pkgCallbackResult",id:c.id,value:y})}catch{}}).catch(y=>{try{s.send({type:"pkgCallbackError",id:c.id,error:{message:y.message,stack:y.stack}})}catch{}});return}let f=n.get(c.id);if(f)if(clearTimeout(f.timer),n.delete(c.id),r.delete(c.id),c.ok)f.resolve(c.value);else{c.error?.code==="ERR_PACKAGE_RUNTIME_TIMEOUT"&&u(s,f.taskId);let y=v(c.error?.message||"Package runtime call failed",c.error?.code,c.error?.details);y.stack=c.error?.stack||y.stack,f.reject(y)}}),s.on("exit",(c,f)=>{i===s&&(i=null),d(s),R(s,v(`Package runtime exited${f?` with signal ${f}`:` with code ${c}`}`,"ERR_PACKAGE_RUNTIME_LOST",{outcome:"unknown_outcome",retryable:!1}))}),s.on("error",c=>{i===s&&(i=null),d(s),R(s,v(c.message,"ERR_PACKAGE_RUNTIME_LOST",{outcome:"unknown_outcome",retryable:!1}))}),s}function x(l){return new Promise((s,c)=>{let f=w(),y=`pkg_${++h}`,T=m(l.timeoutMs),E=setTimeout(()=>{n.delete(y),r.delete(y),u(f,l.taskId),c(v(`Package runtime call timed out after ${T}ms`,"ERR_PACKAGE_RUNTIME_TIMEOUT",{outcome:"unknown_outcome",retryable:!1}))},T);n.set(y,{child:f,taskId:l.taskId,resolve:s,reject:c,timer:E});try{f.send({...l,id:y},O=>{O&&(clearTimeout(E),n.delete(y),c(O))})}catch(O){clearTimeout(E),n.delete(y),c(O)}})}function C(l,s,c,f=[],y=3e4){return new Promise((T,E)=>{let O=w(),N=`pkg_${++h}`,Q=m(y),ee=setTimeout(()=>{n.delete(N),r.delete(N),u(O,l),E(v(`Package runtime stream timed out after ${Q}ms`,"ERR_PACKAGE_RUNTIME_TIMEOUT",{outcome:"unknown_outcome",retryable:!1}))},Q);n.set(N,{child:O,taskId:l,resolve:T,reject:E,timer:ee}),r.set(N,{onChunk:c});try{O.send({op:"streamHandle",taskId:l,handleId:s,path:f,id:N,timeoutMs:Q},W=>{W&&(clearTimeout(ee),n.delete(N),r.delete(N),E(W))})}catch(W){clearTimeout(ee),n.delete(N),r.delete(N),E(W)}})}function D(l){try{if(!i||!i.connected)return;i.send({...l,id:`pkg_${++h}`,fire:!0})}catch{}}function p(l){try{if(!i||!i.connected)return;u(i,l)}catch{}}async function H(l,s){let c=a.get(l);if(!c)throw new Error("Package context is not available");if(s.handleId)return x({op:s.kind==="get"?"handleGet":"handleCall",taskId:l,handleId:s.handleId,path:s.path||[],argsJson:s.argsJson||"[]",timeoutMs:s.timeoutMs});let f=c.get(s.packageName);if(!f)throw new Error(`Package "${s.packageName}" is not available`);return x({op:s.kind==="construct"?"construct":"call",taskId:l,packageName:s.packageName,package:{name:f.name,fileUrl:f.fileUrl},path:s.path||[],argsJson:s.argsJson||"[]",timeoutMs:s.timeoutMs})}function g(l,s){a.set(l,s)}function P(l){a.delete(l),D({op:"releaseTask",taskId:l})}function $(){if(i){try{i.kill()}catch{}i=null}}return{cleanupTaskPackages:P,cancelTask:p,executePackageRuntimeCall:H,setTaskPackages:g,streamPackageHandle:C,shutdownPackageRuntime:$}}re.exports={createPackageRuntimeBridge:Ce}});var oe=ne((tt,se)=>{"use strict";var Se=`
2
2
  "use strict";
3
3
  let $ctx = {};
4
4
  let $pkgs = {};
@@ -949,16 +949,16 @@ function __cleanupTask() {
949
949
  __pendingRuntimeTasks = [];
950
950
  return true;
951
951
  }
952
- `;function Re(e){return Ce.replace("%%PKG_SETUP%%",e)}se.exports={buildSetupCode:Re}});var{parentPort:$e}=require("worker_threads"),C=$e||{on(e,t){e==="message"&&process.on("message",t)},postMessage(e){process.send?.(e)}},ie=require("fs"),{fileURLToPath:Me}=require("url"),{createPackageRuntimeBridge:Te}=ae(),{buildSetupCode:Ae}=oe(),V;try{V=require("isolated-vm")}catch(e){C.postMessage({type:"error",message:"isolated-vm not available: "+e.message}),process.exit(1)}var q=new Map,_e=0,U=new Map,J=new Map,I=new Map,j=Te({workerDir:__dirname,activeTaskContexts:U}),Ne=500,Ee=5e3,Oe=1,ce=new WeakMap,pe=new WeakMap,ge=new WeakMap,K={created:0,reused:0,released:0,evicted:0,scrubFailed:0};function B(e){let t=I.get(e);return Math.max(1,Math.ceil((t??Date.now()+3e4)-Date.now()))}var M=null,le=0,ue=0,de=0;async function Je(){let e=Date.now();if(e-ue<Ee)return de;if(ue=e,!M)return 0;let t=0;for(let a of M){let n=a?.isolate;if(!(!n||n.isDisposed))try{let r=await n.getHeapStatistics(),o=r.heap_size_limit||1,i=r.used_heap_size/o;i>t&&(t=i)}catch{}}return de=t,t}async function F(e){e.heapRatio=await Je(),e.runnerRssBytes=process.memoryUsage().rss,e.contextStats=Ie(),C.postMessage(e)}function Ie(){let e=0;if(M)for(let t of M)e+=t?.idleContexts?.length||0;return{...K,idle:e}}function ye(e,t,a){if(!M){let n=Math.max(1,Math.trunc(Number(t)||8));M=new Array(n).fill(null)}for(let n=0;n<M.length;n++){let r=(le+n)%M.length,o=M[r];if((!o||!o.isolate||o.isolate.isDisposed)&&(o={isolate:new V.Isolate({memoryLimit:e}),idleContexts:[],taskIds:new Set,contextCapacity:a},M[r]=o),o.taskIds.size<a)return le=(r+1)%M.length,o}throw new Error("No isolate lane is available")}function z(e,t,a){for(let n of[...e.taskIds])n!==t&&(e.taskIds.delete(n),J.delete(n),U.delete(n),I.delete(n),j.cancelTask(n),G(n),C.postMessage({type:"result",id:n,success:!1,error:{message:"Isolate was disposed because a sibling task could not continue",code:"ERR_EXECUTOR_ISOLATE_LOST",details:{outcome:"unknown_outcome",retryable:!1,reason:a}}}),C.postMessage({type:"taskReleased",id:n}));e.idleContexts.length=0;try{e.isolate.dispose()}catch{}}function je(e){let t=J.get(e);if(!t){C.postMessage({type:"taskCancelled",id:e});return}z(t,e,"sibling_cancelled"),j.cancelTask(e),J.delete(e),U.delete(e),I.delete(e),t.taskIds.delete(e),G(e),C.postMessage({type:"taskCancelled",id:e})}function he(e,t){t.taskIds.delete(e)&&(U.delete(e),J.delete(e),I.delete(e),G(e),C.postMessage({type:"taskReleased",id:e}))}async function N(e,t,a){let n=ce.get(e);n||(n=new Map,ce.set(e,n));let r=n.get(t);if(r)return r;let o;try{o=await e.compileScript(t,{filename:a})}catch(i){throw i&&typeof i=="object"&&(i.executionStage="compile"),i}if(n.set(t,o),n.size>Ne){let i=n.keys().next().value;n.delete(i)}return o}C.on("message",async e=>{if(e.type==="execute")Xe(e).catch(async t=>{await F({type:"result",id:e.id,success:!1,error:{message:t.message,stack:t.stack}})});else if(e.type==="executeBatch")Ye(e).catch(async t=>{await F({type:"result",id:e.id,success:!1,error:{message:t.message,stack:t.stack}})});else if(e.type==="invokeRuntimeCallback")Ue(e).catch(t=>{C.postMessage({type:"runtimeCallbackResult",callId:e.callId,error:t?.message||String(t)})});else if(e.type==="callResult"){let t=q.get(e.callId);t&&(q.delete(e.callId),t.resolve(e.result))}else if(e.type==="callError"){let t=q.get(e.callId);t&&(q.delete(e.callId),t.reject(new Error(e.error)))}else e.type==="cancelTask"&&je(e.id)});async function Ue(e){let t=U.get(e.id);if(!t){C.postMessage({type:"runtimeCallbackResult",callId:e.callId,error:`Runtime callback context not found: ${e.id}`});return}let a=await t.evalClosure(`return __invokeRuntimeCallback(${JSON.stringify(e.callbackId)}, ${JSON.stringify(e.argsJson||"[]")});`,[],{arguments:{copy:!0},result:{promise:!0,copy:!0}}),n=JSON.parse(a);C.postMessage({type:"runtimeCallbackResult",callId:e.callId,...n})}function L(e,t,a){return new Promise((n,r)=>{let o=`cb_${++_e}`;q.set(o,{resolve:n,reject:r}),C.postMessage({type:t,id:e,callId:o,...a})})}function He(e,t,a){C.postMessage({type:t,id:e,callId:`f_${++_e}`,...a})}async function Le(e,t){if(t?.method!=="stream")return L(e,"resCall",t);let a=JSON.parse(t.argsJson||"[]"),n=a[0],r=a[1]||{},o=n?.__pkgHandleArg;if(!o)return L(e,"resCall",t);let i=r.observer&&typeof r.observer=="object"?r.observer.__fnRef:null,h=r.transform&&typeof r.transform=="object"?r.transform.__fnRef:null,_=i||h?new TextDecoder("utf-8"):null;delete r.observer,delete r.transform;let m={...r};await L(e,"resCall",{method:"streamStart",argsJson:JSON.stringify([null,m])});let v=async(u,k,b)=>{if(!u)return;let w=U.get(e);if(!w)return;let x=await w.evalClosure(`return __invokeRuntimeCallback(${JSON.stringify(u)}, ${JSON.stringify(JSON.stringify([k,b]))});`,[],{arguments:{copy:!0},result:{promise:!0,copy:!0}}),S=JSON.parse(x);if(S?.error)throw new Error(S.error);if(S?.value?.__e!=="u")return S?.value},R=async(u,k)=>{if(i)try{await v(i,u,k)}catch{}},d=async(u,k,b)=>{let w=u;if(h){let S=await v(h,b,k);if(S===null)return;S!==void 0&&(w=Buffer.from(String(S)))}let x=Buffer.from(w);x.length!==0&&await L(e,"resCall",{method:"streamChunk",chunk:x.toString("base64")})};try{await j.streamPackageHandle(e,o,async k=>{let b="";try{b=_?_.decode(Buffer.from(k),{stream:!0}):""}catch{}await R(b,"chunk"),await d(k,"chunk",b)},[],B(e));let u="";try{u=_?_.decode():""}catch{}await R(u,"end"),await d("","end",u),await L(e,"resCall",{method:"streamEnd"})}catch(u){try{await L(e,"resCall",{method:"streamError",error:{message:u.message,stack:u.stack}})}catch{}throw await R("","error"),u}return JSON.stringify({__e:"u"})}function Fe(e){if(typeof e.sourceCode=="string"&&e.sourceCode.length>0)return e.sourceCode;let t=e.filePath;return!t&&typeof e.fileUrl=="string"&&e.fileUrl.startsWith("file://")&&(t=Me(e.fileUrl)),!t||!ie.existsSync(t)?null:ie.readFileSync(t,"utf8")}async function De(e,t,a){try{let n=Fe(a);if(!n)return null;let r=await e.compileModule(n,{filename:`pkg:${a.safeName}`});await r.instantiate(t,i=>{throw new Error(`Unresolved import in package ${a.safeName}: ${i}`)}),await r.evaluate({timeout:1e4});let o=await r.namespace.get("default");return o!==void 0&&o.typeof!=="undefined"?o.derefInto({release:!1}):r.namespace.derefInto({release:!1})}catch{return null}}function me(e,t){let a=r=>{let o=2166136261;for(let i=0;i<r.length;i++)o^=r.charCodeAt(i),o=Math.imul(o,16777619);return(o>>>0).toString(36)},n=new Set(t||[]);return e.map(r=>{let o=r.cacheKey||`${r.filePath||""}:${r.fileUrl||""}:${r.mtimeMs||""}:${r.size||""}:${a(r.sourceCode||"")}`,i=n.has(r.name)?"isolate":"proxy";return`${r.name}:${r.version||""}:${o}:${i}`}).join("|")}function ke(e,t){let a=new Set(t.map(_=>_.name)),n=new Set,r=String(e||""),o=/\b(?:\$ctx\.)?\$pkgs\s*\[\s*(['"`])([^'"`]+)\1\s*\]/g,i=/\brequire\s*\(\s*(['"`])([^'"`]+)\1\s*\)/g,h=/\b(?:\$ctx\.)?\$pkgs\.([A-Za-z_$][\w$]*)/g;for(let _ of[o,i])for(let m of r.matchAll(_)){let v=m[2];a.has(v)&&n.add(v)}for(let _ of r.matchAll(h)){let m=_[1];a.has(m)&&n.add(m)}return n}async function Ke(e,t,a,n){let r=await e.createContext(),o=r.global;await o.set("global",o.derefInto());let i=[],h=[],_=new Map;for(let d of a){_.set(d.name,d);let u=n.has(d.name)?await De(e,r,d):null;u!==null?(await o.set(`__pkg_${d.safeName}`,u),i.push(d)):h.push(d)}j.setTaskPackages(t,_),await o.set("__callRef",new V.Reference(async(d,u,k)=>{let b=JSON.parse(k);if(u==="pkgCall")try{return JSON.stringify(await j.executePackageRuntimeCall(d,b))}catch(w){throw new Error(JSON.stringify({__userThrow:!0,message:w.message,code:w.code,details:w.details}))}return u==="resCall"?Le(d,b):L(d,u,b)})),await o.set("__fireRef",new V.Reference((d,u,k)=>{let b=JSON.parse(k);He(d,u,b)}));let m=i.map(d=>`$pkgs[${JSON.stringify(d.name)}] = __pkg_${d.safeName};`).concat(h.map(d=>`$pkgs[${JSON.stringify(d.name)}] = __createPkgProxy(${JSON.stringify(d.name)}, []);`)).join(`
953
- `),v=Ae(m);return await(await N(e,v,"setup.js")).run(r,{timeout:B(t)}),pe.set(r,me(a,n)),ge.set(r,_),r}async function we(e,t,a,n,r,o,i){let h=e.isolate,_=me(a,r),m=null;for(let d=e.idleContexts.length-1;d>=0;d--){let u=e.idleContexts[d];if(e.idleContexts.splice(d,1),pe.get(u)===_){m=u,K.reused++;break}try{u.release()}catch{}}m||(m=await Ke(h,t,a,r),K.created++),j.setTaskPackages(t,ge.get(m)||new Map);let v=m.global;return await v.set("__snapshot",new V.ExternalCopy(n).copyInto()),await v.set("__nextTaskId",t),await v.set("__nextTaskTimeoutMs",o),await v.set("__nextTaskDeadlineMs",i),await(await N(h,"__resetTask(__snapshot, __nextTaskId, __nextTaskTimeoutMs, __nextTaskDeadlineMs);","reset-task.js")).run(m,{timeout:B(t)}),m}async function ve(e,t){if(!t||e.isolate.isDisposed)return;try{await(await N(e.isolate,"__cleanupTask();","cleanup-task.js")).run(t,{timeout:5e3})}catch{K.scrubFailed++;try{t.release()}catch{}return}let a=Math.max(1,Math.trunc(Number(e.contextCapacity)||Oe));if(e.idleContexts.length>=a){try{t.release()}catch{}K.evicted++;return}e.idleContexts.push(t),K.released++}function Be(e){try{let t=JSON.parse(e.message);if(t&&t.__userThrow)return{...t,message:t.message??e.message}}catch{}return null}var qe=3,Ve=["setup.js","extract.js","extract-error-ctx.js","set-status.js","populate-error.js"];function Ge(e){if(!e)return null;let t=e.split(`
952
+ `;function Re(e){return Se.replace("%%PKG_SETUP%%",e)}se.exports={buildSetupCode:Re}});var{parentPort:$e}=require("worker_threads"),S=$e||{on(e,t){e==="message"&&process.on("message",t)},postMessage(e){process.send?.(e)}},ie=require("fs"),{fileURLToPath:Me}=require("url"),{createPackageRuntimeBridge:Te}=ae(),{buildSetupCode:Ne}=oe(),V;try{V=require("isolated-vm")}catch(e){S.postMessage({type:"error",message:"isolated-vm not available: "+e.message}),process.exit(1)}var q=new Map,_e=0,U=new Map,J=new Map,I=new Map,j=Te({workerDir:__dirname,activeTaskContexts:U}),Ae=500,Ee=5e3,Oe=1,ce=new WeakMap,pe=new WeakMap,ge=new WeakMap,K={created:0,reused:0,released:0,evicted:0,scrubFailed:0};function B(e){let t=I.get(e);return Math.max(1,Math.ceil((t??Date.now()+3e4)-Date.now()))}var M=null,le=0,ue=0,de=0;async function Je(){let e=Date.now();if(e-ue<Ee)return de;if(ue=e,!M)return 0;let t=0;for(let a of M){let n=a?.isolate;if(!(!n||n.isDisposed))try{let r=await n.getHeapStatistics(),o=r.heap_size_limit||1,i=r.used_heap_size/o;i>t&&(t=i)}catch{}}return de=t,t}async function F(e){e.heapRatio=await Je(),e.runnerRssBytes=process.memoryUsage().rss,e.contextStats=Ie(),S.postMessage(e)}function Ie(){let e=0;if(M)for(let t of M)e+=t?.idleContexts?.length||0;return{...K,idle:e}}function ye(e,t,a){if(!M){let n=Math.max(1,Math.trunc(Number(t)||8));M=new Array(n).fill(null)}for(let n=0;n<M.length;n++){let r=(le+n)%M.length,o=M[r];if((!o||!o.isolate||o.isolate.isDisposed)&&(o={isolate:new V.Isolate({memoryLimit:e}),idleContexts:[],taskIds:new Set,contextCapacity:a},M[r]=o),o.taskIds.size<a)return le=(r+1)%M.length,o}throw new Error("No isolate lane is available")}function z(e,t,a){for(let n of[...e.taskIds])n!==t&&(e.taskIds.delete(n),J.delete(n),U.delete(n),I.delete(n),j.cancelTask(n),G(n),S.postMessage({type:"result",id:n,success:!1,error:{message:"Isolate was disposed because a sibling task could not continue",code:"ERR_EXECUTOR_ISOLATE_LOST",details:{outcome:"unknown_outcome",retryable:!1,reason:a}}}),S.postMessage({type:"taskReleased",id:n}));e.idleContexts.length=0;try{e.isolate.dispose()}catch{}}function je(e){let t=J.get(e);if(!t){S.postMessage({type:"taskCancelled",id:e});return}z(t,e,"sibling_cancelled"),j.cancelTask(e),J.delete(e),U.delete(e),I.delete(e),t.taskIds.delete(e),G(e),S.postMessage({type:"taskCancelled",id:e})}function he(e,t){t.taskIds.delete(e)&&(U.delete(e),J.delete(e),I.delete(e),G(e),S.postMessage({type:"taskReleased",id:e}))}async function A(e,t,a){let n=ce.get(e);n||(n=new Map,ce.set(e,n));let r=n.get(t);if(r)return r;let o;try{o=await e.compileScript(t,{filename:a})}catch(i){throw i&&typeof i=="object"&&(i.executionStage="compile"),i}if(n.set(t,o),n.size>Ae){let i=n.keys().next().value;n.delete(i)}return o}S.on("message",async e=>{if(e.type==="execute")Xe(e).catch(async t=>{await F({type:"result",id:e.id,success:!1,error:{message:t.message,stack:t.stack}})});else if(e.type==="executeBatch")Ye(e).catch(async t=>{await F({type:"result",id:e.id,success:!1,error:{message:t.message,stack:t.stack}})});else if(e.type==="invokeRuntimeCallback")Ue(e).catch(t=>{S.postMessage({type:"runtimeCallbackResult",callId:e.callId,error:t?.message||String(t)})});else if(e.type==="callResult"){let t=q.get(e.callId);t&&(q.delete(e.callId),t.resolve(e.result))}else if(e.type==="callError"){let t=q.get(e.callId);t&&(q.delete(e.callId),t.reject(new Error(e.error)))}else e.type==="cancelTask"&&je(e.id)});async function Ue(e){let t=U.get(e.id);if(!t){S.postMessage({type:"runtimeCallbackResult",callId:e.callId,error:`Runtime callback context not found: ${e.id}`});return}let a=await t.evalClosure(`return __invokeRuntimeCallback(${JSON.stringify(e.callbackId)}, ${JSON.stringify(e.argsJson||"[]")});`,[],{arguments:{copy:!0},result:{promise:!0,copy:!0}}),n=JSON.parse(a);S.postMessage({type:"runtimeCallbackResult",callId:e.callId,...n})}function L(e,t,a){return new Promise((n,r)=>{let o=`cb_${++_e}`;q.set(o,{resolve:n,reject:r}),S.postMessage({type:t,id:e,callId:o,...a})})}function He(e,t,a){S.postMessage({type:t,id:e,callId:`f_${++_e}`,...a})}async function Le(e,t){if(t?.method!=="stream")return L(e,"resCall",t);let a=JSON.parse(t.argsJson||"[]"),n=a[0],r=a[1]||{},o=n?.__pkgHandleArg;if(!o)return L(e,"resCall",t);let i=r.observer&&typeof r.observer=="object"?r.observer.__fnRef:null,h=r.transform&&typeof r.transform=="object"?r.transform.__fnRef:null,_=i||h?new TextDecoder("utf-8"):null;delete r.observer,delete r.transform;let m={...r};await L(e,"resCall",{method:"streamStart",argsJson:JSON.stringify([null,m])});let v=async(u,k,b)=>{if(!u)return;let w=U.get(e);if(!w)return;let x=await w.evalClosure(`return __invokeRuntimeCallback(${JSON.stringify(u)}, ${JSON.stringify(JSON.stringify([k,b]))});`,[],{arguments:{copy:!0},result:{promise:!0,copy:!0}}),C=JSON.parse(x);if(C?.error)throw new Error(C.error);if(C?.value?.__e!=="u")return C?.value},R=async(u,k)=>{if(i)try{await v(i,u,k)}catch{}},d=async(u,k,b)=>{let w=u;if(h){let C=await v(h,b,k);if(C===null)return;C!==void 0&&(w=Buffer.from(String(C)))}let x=Buffer.from(w);x.length!==0&&await L(e,"resCall",{method:"streamChunk",chunk:x.toString("base64")})};try{await j.streamPackageHandle(e,o,async k=>{let b="";try{b=_?_.decode(Buffer.from(k),{stream:!0}):""}catch{}await R(b,"chunk"),await d(k,"chunk",b)},[],B(e));let u="";try{u=_?_.decode():""}catch{}await R(u,"end"),await d("","end",u),await L(e,"resCall",{method:"streamEnd"})}catch(u){try{await L(e,"resCall",{method:"streamError",error:{message:u.message,stack:u.stack}})}catch{}throw await R("","error"),u}return JSON.stringify({__e:"u"})}function Fe(e){if(typeof e.sourceCode=="string"&&e.sourceCode.length>0)return e.sourceCode;let t=e.filePath;return!t&&typeof e.fileUrl=="string"&&e.fileUrl.startsWith("file://")&&(t=Me(e.fileUrl)),!t||!ie.existsSync(t)?null:ie.readFileSync(t,"utf8")}async function De(e,t,a){try{let n=Fe(a);if(!n)return null;let r=await e.compileModule(n,{filename:`pkg:${a.safeName}`});await r.instantiate(t,i=>{throw new Error(`Unresolved import in package ${a.safeName}: ${i}`)}),await r.evaluate({timeout:1e4});let o=await r.namespace.get("default");return o!==void 0&&o.typeof!=="undefined"?o.derefInto({release:!1}):r.namespace.derefInto({release:!1})}catch{return null}}function me(e,t){let a=r=>{let o=2166136261;for(let i=0;i<r.length;i++)o^=r.charCodeAt(i),o=Math.imul(o,16777619);return(o>>>0).toString(36)},n=new Set(t||[]);return e.map(r=>{let o=r.cacheKey||`${r.filePath||""}:${r.fileUrl||""}:${r.mtimeMs||""}:${r.size||""}:${a(r.sourceCode||"")}`,i=n.has(r.name)?"isolate":"proxy";return`${r.name}:${r.version||""}:${o}:${i}`}).join("|")}function ke(e,t){let a=new Set(t.map(_=>_.name)),n=new Set,r=String(e||""),o=/\b(?:\$ctx\.)?\$pkgs\s*\[\s*(['"`])([^'"`]+)\1\s*\]/g,i=/\brequire\s*\(\s*(['"`])([^'"`]+)\1\s*\)/g,h=/\b(?:\$ctx\.)?\$pkgs\.([A-Za-z_$][\w$]*)/g;for(let _ of[o,i])for(let m of r.matchAll(_)){let v=m[2];a.has(v)&&n.add(v)}for(let _ of r.matchAll(h)){let m=_[1];a.has(m)&&n.add(m)}return n}async function Ke(e,t,a,n){let r=await e.createContext(),o=r.global;await o.set("global",o.derefInto());let i=[],h=[],_=new Map;for(let d of a){_.set(d.name,d);let u=n.has(d.name)?await De(e,r,d):null;u!==null?(await o.set(`__pkg_${d.safeName}`,u),i.push(d)):h.push(d)}j.setTaskPackages(t,_),await o.set("__callRef",new V.Reference(async(d,u,k)=>{let b=JSON.parse(k);if(u==="pkgCall")try{return JSON.stringify(await j.executePackageRuntimeCall(d,b))}catch(w){throw new Error(JSON.stringify({__userThrow:!0,message:w.message,code:w.code,details:w.details}))}return u==="resCall"?Le(d,b):L(d,u,b)})),await o.set("__fireRef",new V.Reference((d,u,k)=>{let b=JSON.parse(k);He(d,u,b)}));let m=i.map(d=>`$pkgs[${JSON.stringify(d.name)}] = __pkg_${d.safeName};`).concat(h.map(d=>`$pkgs[${JSON.stringify(d.name)}] = __createPkgProxy(${JSON.stringify(d.name)}, []);`)).join(`
953
+ `),v=Ne(m);return await(await A(e,v,"setup.js")).run(r,{timeout:B(t)}),pe.set(r,me(a,n)),ge.set(r,_),r}async function we(e,t,a,n,r,o,i){let h=e.isolate,_=me(a,r),m=null;for(let d=e.idleContexts.length-1;d>=0;d--){let u=e.idleContexts[d];if(e.idleContexts.splice(d,1),pe.get(u)===_){m=u,K.reused++;break}try{u.release()}catch{}}m||(m=await Ke(h,t,a,r),K.created++),j.setTaskPackages(t,ge.get(m)||new Map);let v=m.global;return await v.set("__snapshot",new V.ExternalCopy(n).copyInto()),await v.set("__nextTaskId",t),await v.set("__nextTaskTimeoutMs",o),await v.set("__nextTaskDeadlineMs",i),await(await A(h,"__resetTask(__snapshot, __nextTaskId, __nextTaskTimeoutMs, __nextTaskDeadlineMs);","reset-task.js")).run(m,{timeout:B(t)}),m}async function ve(e,t){if(!t||e.isolate.isDisposed)return;try{await(await A(e.isolate,"__cleanupTask();","cleanup-task.js")).run(t,{timeout:5e3})}catch{K.scrubFailed++;try{t.release()}catch{}return}let a=Math.max(1,Math.trunc(Number(e.contextCapacity)||Oe));if(e.idleContexts.length>=a){try{t.release()}catch{}K.evicted++;return}e.idleContexts.push(t),K.released++}function Be(e){try{let t=JSON.parse(e.message);if(t&&t.__userThrow)return{...t,message:t.message??e.message}}catch{}return null}var qe=3,Ve=["setup.js","extract.js","extract-error-ctx.js","set-status.js","populate-error.js"];function Ge(e){if(!e)return null;let t=e.split(`
954
954
  `);for(let a of t){let n=a.match(/at\s+(.+\.js):(\d+):(\d+)/);if(!n)continue;let r=n[1].trim();if(Ve.includes(r)||r!=="handler.js"&&!r.startsWith("preHook #")&&!r.startsWith("postHook #"))continue;let i=parseInt(n[2])-qe;if(!(i<=0))return{line:i,column:parseInt(n[3]),phase:r.replace(".js","")}}return null}function We(e,t,a){if(!e||!t)return;let n=String(e).split(/\r?\n/),r=Math.max(1,t-1),o=Math.min(n.length,t+1),i=String(o).length,h=[];for(let _=r;_<=o;_++){let m=_===t?">":" ";h.push(`${m} ${String(_).padStart(i," ")}. ${n[_-1]??""}`),_===t&&a&&a>0&&h.push(` ${" ".repeat(i)} ${" ".repeat(Math.max(0,a-1))}^`)}return h.join(`
955
- `)}function ze(e,t){if(!(!e||!t)){if(t[e.phase])return t[e.phase];if(e.phase?.startsWith("preHook"))return t.preHook;if(e.phase?.startsWith("postHook"))return t.postHook}}function te(e,t){let a=Be(e);if(a)return{message:a.message,statusCode:a.statusCode,errorPath:a.errorPath,code:a.code,details:a.details};let n=Ge(e.stack),r=e.message||"Unknown error",o=n?`${r} (${n.phase}, line ${n.line})`:r,i=ze(n,t),h=n?We(i,n.line,n.column):void 0;return{message:o,statusCode:e.statusCode||null,details:{errorName:e.name||null,executionStage:e.executionStage||"runtime",...n?{...n,codeFrame:h}:{}}}}function X(e){return e?.message==="Script execution timed out."}function Y(e){return e?.message==="Isolate was disposed during execution due to memory limit"}function be(e){X(e)&&e?.code==null&&(e.code="ERR_SCRIPT_EXECUTION_TIMEOUT"),Y(e)&&e?.code==null&&(e.code="ERR_ISOLATE_MEMORY_LIMIT",e.details={outcome:"unknown_outcome",retryable:!1})}async function Z(e,t,a){be(t);let n=te(t,a);t.details&&(n.details={...n.details,...t.details}),await F({type:"result",id:e,success:!1,error:{...n,stack:t.stack,code:n.code??t.code}})}async function Xe(e){let{id:t,code:a,pkgSources:n,snapshot:r,memoryLimitMb:o,isolatePoolSize:i,tasksPerIsolate:h}=e,_={handler:e.sourceCode||a||""},m=n||[],v=Math.max(1,Math.trunc(Number(e.timeoutMs)||3e4)),R=Date.now()+v;I.set(t,R);let d=ke(a,m),u=ye(o,i,Math.max(1,Math.trunc(Number(h)||1)));u.taskIds.add(t),J.set(t,u);let k=u.isolate,b;try{b=await we(u,t,m,r,d,v,R)}catch(w){I.delete(t),J.delete(t),u.taskIds.delete(t),G(t),await Z(t,w,_),C.postMessage({type:"taskReleased",id:t});return}U.set(t,b);try{let w=`
955
+ `)}function ze(e,t){if(!(!e||!t)){if(t[e.phase])return t[e.phase];if(e.phase?.startsWith("preHook"))return t.preHook;if(e.phase?.startsWith("postHook"))return t.postHook}}function te(e,t){let a=Be(e);if(a)return{message:a.message,statusCode:a.statusCode,errorPath:a.errorPath,code:a.code??(Number.isInteger(a.statusCode)?`HTTP_${a.statusCode}`:void 0),details:a.details};let n=Ge(e.stack),r=e.message||"Unknown error",o=n?`${r} (${n.phase}, line ${n.line})`:r,i=ze(n,t),h=n?We(i,n.line,n.column):void 0;return{message:o,statusCode:e.statusCode||null,details:{errorName:e.name||null,executionStage:e.executionStage||"runtime",...n?{...n,codeFrame:h}:{}}}}function X(e){return e?.message==="Script execution timed out."}function Y(e){return e?.message==="Isolate was disposed during execution due to memory limit"}function be(e){X(e)&&e?.code==null&&(e.code="ERR_SCRIPT_EXECUTION_TIMEOUT"),Y(e)&&e?.code==null&&(e.code="ERR_ISOLATE_MEMORY_LIMIT",e.details={outcome:"unknown_outcome",retryable:!1})}async function Z(e,t,a){be(t);let n=te(t,a);t.details&&(n.details={...n.details,...t.details}),await F({type:"result",id:e,success:!1,error:{...n,stack:t.stack,code:n.code??t.code}})}async function Xe(e){let{id:t,code:a,pkgSources:n,snapshot:r,memoryLimitMb:o,isolatePoolSize:i,tasksPerIsolate:h}=e,_={handler:e.sourceCode||a||""},m=n||[],v=Math.max(1,Math.trunc(Number(e.timeoutMs)||3e4)),R=Date.now()+v;I.set(t,R);let d=ke(a,m),u=ye(o,i,Math.max(1,Math.trunc(Number(h)||1)));u.taskIds.add(t),J.set(t,u);let k=u.isolate,b;try{b=await we(u,t,m,r,d,v,R)}catch(w){I.delete(t),J.delete(t),u.taskIds.delete(t),G(t),await Z(t,w,_),S.postMessage({type:"taskReleased",id:t});return}U.set(t,b);try{let w=`
956
956
  (async () => {
957
957
  "use strict";
958
958
  ${a}
959
959
  })().then((__result) => __extractResult(__result, __result === undefined));
960
- `,S=await(await N(k,w,"handler.js")).run(b,{timeout:B(t),promise:!0}),D=JSON.parse(S);await F({type:"result",id:t,success:!0,...D})}catch(w){u.taskIds.has(t)&&(await Z(t,w,_),(X(w)||Y(w))&&z(u,t,"sibling_execution_failure"))}finally{await ve(u,b),he(t,u)}}async function Ye(e){let{id:t,codeBlocks:a,pkgSources:n,snapshot:r,memoryLimitMb:o,isolatePoolSize:i,tasksPerIsolate:h}=e,_=n||[],m=Math.max(1,Math.trunc(Number(e.timeoutMs)||3e4)),v=Date.now()+m;I.set(t,v);let R=ke((a||[]).map(p=>p.code||"").join(`
961
- `),_),d=ye(o,i,Math.max(1,Math.trunc(Number(h)||1)));d.taskIds.add(t),J.set(t,d);let u=d.isolate,k;try{k=await we(d,t,_,r,R,m,v)}catch(p){I.delete(t),J.delete(t),d.taskIds.delete(t),G(t),await Z(t,p),C.postMessage({type:"taskReleased",id:t});return}U.set(t,k);let b=[],w=[],x={},S=0,D=0;for(let p of a){let H=p.type||"handler",g=p.sourceCode||p.code||"";H==="postHook"?(D++,x[`postHook #${D}`]=g,x.postHook=g,w.push(p)):(H==="handler"?x.handler=g:(S++,x[`${H} #${S}`]=g,x.preHook=g),b.push(p))}try{let p=null;for(let g=0;g<b.length;g++){let P=b[g],$=P.type||"handler",l=$==="handler"?"handler":`${$} #${g+1}`,s;$==="preHook"?s=`
960
+ `,C=await(await A(k,w,"handler.js")).run(b,{timeout:B(t),promise:!0}),D=JSON.parse(C);await F({type:"result",id:t,success:!0,...D})}catch(w){u.taskIds.has(t)&&(await Z(t,w,_),(X(w)||Y(w))&&z(u,t,"sibling_execution_failure"))}finally{await ve(u,b),he(t,u)}}async function Ye(e){let{id:t,codeBlocks:a,pkgSources:n,snapshot:r,memoryLimitMb:o,isolatePoolSize:i,tasksPerIsolate:h}=e,_=n||[],m=Math.max(1,Math.trunc(Number(e.timeoutMs)||3e4)),v=Date.now()+m;I.set(t,v);let R=ke((a||[]).map(p=>p.code||"").join(`
961
+ `),_),d=ye(o,i,Math.max(1,Math.trunc(Number(h)||1)));d.taskIds.add(t),J.set(t,d);let u=d.isolate,k;try{k=await we(d,t,_,r,R,m,v)}catch(p){I.delete(t),J.delete(t),d.taskIds.delete(t),G(t),await Z(t,p),S.postMessage({type:"taskReleased",id:t});return}U.set(t,k);let b=[],w=[],x={},C=0,D=0;for(let p of a){let H=p.type||"handler",g=p.sourceCode||p.code||"";H==="postHook"?(D++,x[`postHook #${D}`]=g,x.postHook=g,w.push(p)):(H==="handler"?x.handler=g:(C++,x[`${H} #${C}`]=g,x.preHook=g),b.push(p))}try{let p=null;for(let g=0;g<b.length;g++){let P=b[g],$=P.type||"handler",l=$==="handler"?"handler":`${$} #${g+1}`,s;$==="preHook"?s=`
962
962
  (async () => {
963
963
  "use strict";
964
964
  ${P.code}
@@ -972,7 +972,7 @@ function __cleanupTask() {
972
972
  })().then((__r) => {
973
973
  $ctx.$data = __r;
974
974
  return "__handler_done__";
975
- });`;try{let f=await(await N(u,s,`${l}.js`)).run(k,{timeout:B(t),promise:!0});if($==="preHook"&&typeof f=="string"){let y=JSON.parse(f);if(y.__shortCircuit){let T=await fe(u,k,y.value);await F({type:"result",id:t,success:!0,...T,shortCircuit:!0});return}}}catch(c){p=c;break}}if(!p&&w.length>0&&await(await N(u,'$ctx.$statusCode = 200; "__status_set__";',"set-status.js")).run(k,{timeout:5e3}),p&&w.length>0){let g=te(p,x),P={message:g.message||"Unknown error",name:p.constructor?.name||"Error",stack:p.stack||"",statusCode:g.statusCode||500,details:g.details||{},timestamp:new Date().toISOString()},$=`
975
+ });`;try{let f=await(await A(u,s,`${l}.js`)).run(k,{timeout:B(t),promise:!0});if($==="preHook"&&typeof f=="string"){let y=JSON.parse(f);if(y.__shortCircuit){let T=await fe(u,k,y.value);await F({type:"result",id:t,success:!0,...T,shortCircuit:!0});return}}}catch(c){p=c;break}}if(!p&&w.length>0&&await(await A(u,'$ctx.$statusCode = 200; "__status_set__";',"set-status.js")).run(k,{timeout:5e3}),p&&w.length>0){let g=te(p,x),P={message:g.message||"Unknown error",name:p.constructor?.name||"Error",stack:p.stack||"",statusCode:g.statusCode||500,details:g.details||{},timestamp:new Date().toISOString()},$=`
976
976
  $ctx.$error = ${JSON.stringify(P)};
977
977
  $ctx.$data = null;
978
978
  $ctx.$statusCode = ${P.statusCode};
@@ -993,4 +993,4 @@ if ($ctx.$api) {
993
993
  })().then((__r) => {
994
994
  if (__r !== undefined) $ctx.$data = __r;
995
995
  return "__posthook_done__";
996
- });`;try{await(await N(u,l,`${$}.js`)).run(k,{timeout:B(t),promise:!0})}catch{}}if(p){be(p);let g=te(p,x);p.details&&(g.details={...g.details,...p.details});let P;try{let s=await(await N(u,"(async () => JSON.stringify(await __extractCtxChanges()))()","extract-error-ctx.js")).run(k,{timeout:5e3,promise:!0});P=JSON.parse(s)}catch{}await F({type:"result",id:t,success:!1,error:{message:g.message,statusCode:g.statusCode,errorPath:g.errorPath,stack:p.stack,code:g.code??p.code,details:g.details},ctxChanges:P}),(X(p)||Y(p))&&z(d,t,"sibling_execution_failure");return}let H=await fe(u,k);await F({type:"result",id:t,success:!0,...H})}catch(p){d.taskIds.has(t)&&(await Z(t,p),(X(p)||Y(p))&&z(d,t,"sibling_execution_failure"))}finally{await ve(d,k),he(t,d)}}function G(e){j.cleanupTaskPackages(e)}function Ze(){j.shutdownPackageRuntime()}process.on("exit",Ze);async function fe(e,t,a){if(a!==void 0){let i=`__extractResult(${JSON.stringify(a)}, false)`,_=await(await e.compileScript(i,{filename:"extract.js"})).run(t,{timeout:5e3,promise:!0});return JSON.parse(_)}let o=await(await N(e,"__extractResult($ctx.$data, $ctx.$data === undefined)","extract.js")).run(t,{timeout:5e3,promise:!0});return JSON.parse(o)}
996
+ });`;try{await(await A(u,l,`${$}.js`)).run(k,{timeout:B(t),promise:!0})}catch{}}if(p){be(p);let g=te(p,x);p.details&&(g.details={...g.details,...p.details});let P;try{let s=await(await A(u,"(async () => JSON.stringify(await __extractCtxChanges()))()","extract-error-ctx.js")).run(k,{timeout:5e3,promise:!0});P=JSON.parse(s)}catch{}await F({type:"result",id:t,success:!1,error:{message:g.message,statusCode:g.statusCode,errorPath:g.errorPath,stack:p.stack,code:g.code??p.code,details:g.details},ctxChanges:P}),(X(p)||Y(p))&&z(d,t,"sibling_execution_failure");return}let H=await fe(u,k);await F({type:"result",id:t,success:!0,...H})}catch(p){d.taskIds.has(t)&&(await Z(t,p),(X(p)||Y(p))&&z(d,t,"sibling_execution_failure"))}finally{await ve(d,k),he(t,d)}}function G(e){j.cleanupTaskPackages(e)}function Ze(){j.shutdownPackageRuntime()}process.on("exit",Ze);async function fe(e,t,a){if(a!==void 0){let i=`__extractResult(${JSON.stringify(a)}, false)`,_=await(await e.compileScript(i,{filename:"extract.js"})).run(t,{timeout:5e3,promise:!0});return JSON.parse(_)}let o=await(await A(e,"__extractResult($ctx.$data, $ctx.$data === undefined)","extract.js")).run(t,{timeout:5e3,promise:!0});return JSON.parse(o)}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";var hi=Object.create;var zt=Object.defineProperty;var mi=Object.getOwnPropertyDescriptor;var yi=Object.getOwnPropertyNames;var bi=Object.getPrototypeOf,_i=Object.prototype.hasOwnProperty;var q=(r,e)=>()=>(r&&(e=r(r=0)),e);var En=(r,e)=>{for(var t in e)zt(r,t,{get:e[t],enumerable:!0})},br=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of yi(e))!_i.call(r,i)&&i!==t&&zt(r,i,{get:()=>e[i],enumerable:!(n=mi(e,i))||n.enumerable});return r};var ue=(r,e,t)=>(t=r!=null?hi(bi(r)):{},br(e||!r||!r.__esModule?zt(t,"default",{value:r,enumerable:!0}):t,r)),wi=r=>br(zt({},"__esModule",{value:!0}),r);function vr(r){return Ln.createHash("md5").update(r).digest("hex").substring(0,8)}function Ir(r){return r.length<=xr-3?`${r}_pk`:`j_${vr(r)}_pk`}function Nr(r,e,t){let n=`${r}_${e}_foreign`;return n.length<=xr?n:`j_${vr(r)}_${t}_fk`}function xt(r,e,t){let n=`${r}:${e}:${t}`;return`j_${Ln.createHash("sha1").update(n).digest("hex").slice(0,12)}`}function J(r){return`${r}Id`}function vt(r,e,t){return{sourceColumn:"sourceId",targetColumn:"targetId"}}function Mr(r){return r.replace(/_([a-z])/g,e=>e[1].toUpperCase())}function Er(r){return r.replace(/([A-Z])/g,"_$1").toLowerCase()}function Or(r,e,t){return`${r}_${e}_${t}_fk`}function Ar(r,e,t){return`${r}_${e}_${t}_idx`}var Ln,xr,Ke=q(()=>{"use strict";Ln=ue(require("crypto")),xr=63});function ln(r){return ao[r]??null}var we,qn,Nt,ao,cn=q(()=>{"use strict";we=new Set(["_eq","_neq","_gt","_gte","_lt","_lte","_in","_not_in","_nin","_contains","_starts_with","_ends_with","_between","_is_null","_is_not_null"]),qn=new Set(["_and","_or","_not"]),Nt=[...Array.from(qn),...Array.from(we)],ao={_eq:"eq",_neq:"neq",_gt:"gt",_gte:"gte",_lt:"lt",_lte:"lte",_in:"in",_not_in:"not_in",_nin:"not_in",_contains:"contains",_starts_with:"starts_with",_ends_with:"ends_with",_between:"between"}});var N,de=q(()=>{"use strict";N=class extends Error{constructor(t="Bad Request",n){let i=Array.isArray(t),o=i?t.join("; ")||"Bad Request":typeof t=="string"?t:JSON.stringify(t);super(o);this.statusCode=400;this.errorCode="BAD_REQUEST";this.name="BadRequestException",this.details=n,i&&(this.messages=t)}}});function Lr(){let r=process.env.DB_URI||"";return r.startsWith("mongodb://")||r.startsWith("mongodb+srv://")}var Dr=q(()=>{"use strict"});function Me(r,e,t){throw new N({message:`Unsupported filter operator "${r}" on field "${e}"${t?` (table "${t}")`:""}. Supported operators: ${Nt.join(", ")}.`,error:"UnsupportedFilterOperator",operator:r,field:e,supportedOperators:Nt})}function un(r,e,t){if(!e||typeof e!="object"||Array.isArray(e))return;let n=Lr();for(let i of Object.keys(e))if(i.startsWith("_")&&!we.has(i)){if(n&&i==="_id")continue;Me(i,r,t)}}function re(r,e,t){if(!r||typeof r!="object")return;let n=t?.tables?.get(e),i=new Set((n?.columns??[]).map(s=>s.name)),o=new Map((n?.relations??[]).map(s=>[s.propertyName,s]));for(let[s,a]of Object.entries(r)){if(lo.has(s)){if(Array.isArray(a))for(let c of a)re(c,e,t);else a&&typeof a=="object"&&re(a,e,t);continue}let u=o.get(s);if(u){if(a&&typeof a=="object"&&!Array.isArray(a)){un(s,a,e);let c=u.targetTableName||u.targetTable;if(c){let d=Object.keys(a).filter(l=>!l.startsWith("_"));if(d.length>0){let l={};for(let f of d)l[f]=a[f];re(l,c,t)}}}continue}s.startsWith("_")&&!i.has(s)&&s!=="_id"&&Me(s,s,e),a&&typeof a=="object"&&!Array.isArray(a)&&un(s,a,e)}}var lo,Je=q(()=>{"use strict";de();cn();Dr();lo=new Set(["_and","_or","_not"])});function fe(r,e,t,n){return!r||typeof r!="object"?{node:null,hasRelationFilters:!1}:dn(r,{tableName:e,metadata:t,registry:n,parentJoinId:null,currentJoinId:null,currentTable:e})}function dn(r,e){if(!r||typeof r!="object")return{node:null,hasRelationFilters:!1};let t=[],n=!1;for(let[i,o]of Object.entries(r)){let s=co(i,o,e);s.hasRelationFilters&&(n=!0),s.node&&t.push(s.node)}return t.length===0?{node:null,hasRelationFilters:n}:t.length===1?{node:t[0],hasRelationFilters:n}:{node:{kind:"and",children:t},hasRelationFilters:n}}function co(r,e,t){if(r==="_and")return Wr("and",e,t);if(r==="_or")return Wr("or",e,t);if(r==="_not"){let c=dn(e,t);return c.node?{node:{kind:"not",child:c.node},hasRelationFilters:c.hasRelationFilters}:{node:null,hasRelationFilters:c.hasRelationFilters}}let n=t.metadata?.tables?.get(t.currentTable),i=n?.columns?.some(c=>c.name==="_id"&&c.isPrimary),o=n?.columns?.some(c=>c.name==="id"),a=r==="id"?i&&!o?"_id":"id":r,u=n?.relations?.find(c=>c.propertyName===a);return u?uo(a,e,u,t):n&&!n.columns?.find(d=>d.name===a)?(r.startsWith("_")&&r!=="_id"&&Me(r,r,t.currentTable),console.warn(`[filter-parser] Unknown field "${r}" on table "${t.currentTable}" \u2014 skipped (not a column or relation in metadata).`),{node:null,hasRelationFilters:!1}):fo(a,e,t)}function Wr(r,e,t){if(!Array.isArray(e))return{node:null,hasRelationFilters:!1};let n=[],i=!1;for(let o of e){let s=dn(o,t);s.hasRelationFilters&&(i=!0),s.node&&n.push(s.node)}return n.length===0?{node:null,hasRelationFilters:i}:n.length===1?{node:n[0],hasRelationFilters:i}:{node:{kind:r,children:n},hasRelationFilters:i}}function uo(r,e,t,n){if(typeof e!="object"||e===null)return{node:null,hasRelationFilters:!0};let i=Object.keys(e),o=i.length===1&&(i[0]==="_is_null"||i[0]==="_is_not_null"||i[0]==="_eq"||i[0]==="_neq"||i[0]==="_in"||i[0]==="_not_in"||i[0]==="_nin"),s=n.registry.registerWithParent(n.currentTable,r,n.metadata,"left",n.currentJoinId,"filter");if(o&&i[0]==="_is_null")return s?{node:{kind:"relation_exists",joinId:s,negate:e._is_null===!0},hasRelationFilters:!0}:{node:null,hasRelationFilters:!0};if(o&&i[0]==="_is_not_null")return s?{node:{kind:"relation_exists",joinId:s,negate:e._is_not_null!==!0},hasRelationFilters:!0}:{node:null,hasRelationFilters:!0};if(o&&(i[0]==="_eq"||i[0]==="_neq")&&e[i[0]]===null)return s?{node:{kind:"relation_exists",joinId:s,negate:i[0]==="_eq"},hasRelationFilters:!0}:{node:null,hasRelationFilters:!0};if(!s)return{node:null,hasRelationFilters:!0};let a=t.targetTableName||t.targetTable,u={...n,parentJoinId:n.currentJoinId,currentJoinId:s,currentTable:a},c=new Set(["_eq","_neq","_in","_not_in","_nin","_gt","_gte","_lt","_lte"]),l=i.length>0&&i.every(p=>c.has(p))?{id:e}:e;return{node:dn(l,u).node,hasRelationFilters:!0}}function fo(r,e,t){let n={joinId:t.currentJoinId,fieldName:r,isUuid:go(r,t)};if(e===null)return{node:{kind:"compare",field:n,op:"is_null",value:!0},hasRelationFilters:!1};if(typeof e!="object")return{node:{kind:"compare",field:n,op:"eq",value:e},hasRelationFilters:!1};for(let s of Object.keys(e))s.startsWith("_")&&!we.has(s)&&Me(s,r,t.tableName);let i=Object.entries(e).filter(([s])=>we.has(s));if(i.length===0)return{node:{kind:"compare",field:n,op:"eq",value:e},hasRelationFilters:!1};let o=[];for(let[s,a]of i){let u=po(n,s,a);u&&o.push(u)}return o.length===0?{node:null,hasRelationFilters:!1}:o.length===1?{node:o[0],hasRelationFilters:!1}:{node:{kind:"and",children:o},hasRelationFilters:!1}}function po(r,e,t){if(e==="_is_null")return{kind:"compare",field:r,op:"is_null",value:t===!0};if(e==="_is_not_null")return{kind:"compare",field:r,op:"is_null",value:t!==!0};let n=ln(e);return n?{kind:"compare",field:r,op:n,value:t}:null}function go(r,e){let t=e.metadata?.tables?.get(e.currentTable);if(!t)return!1;let n=r.includes(".")?r.split(".").pop():r,i=t.columns?.find(s=>s.name===n);if(!i)return!1;let o=(i.type||"").toLowerCase();return o==="uuid"||o==="uuidv4"||o.includes("uuid")}var Mt=q(()=>{"use strict";cn();Je()});var ie,Et=q(()=>{"use strict";ie=class{constructor(){this.map=new Map}size(){return this.map.size}has(e){return this.map.has(e)}get(e){return this.map.get(e)}getAll(){return Array.from(this.map.values())}registerWithParent(e,t,n,i="left",o=null,s="data"){let a=o?`${o}.${t}`:t;if(this.map.has(a)){let f=this.map.get(a);return i==="inner"&&(f.joinType="inner"),f.purposes.includes(s)||f.purposes.push(s),a}let u=n?.tables?.get(e);if(!u)return null;let c=u.relations?.find(f=>f.propertyName===t);if(!c)return null;let d=c.targetTableName||c.targetTable;if(!d)return null;let l={id:a,propertyName:t,parentTable:e,targetTable:d,relationType:c.type,parentJoinId:o,joinType:i,relationMeta:c,purposes:[s]};return this.map.set(a,l),a}}});async function W(r,e,t=oe){if(!Number.isInteger(t)||t<1)throw new Error("Batch fetch chunk size must be a positive integer");if(r.length<=t)return e(r);let n=[];for(let u=0;u<r.length;u+=t)n.push(r.slice(u,u+t));let i=[],o=0;async function s(){for(;o<n.length;){let u=o++;i[u]=await e(n[u])}}let a=Math.min(Yn,n.length);return await Promise.all(Array.from({length:a},s)),i.flat()}function He(r){let e=[],t=new Map;for(let n of r)if(n==="*"||!n.includes("."))e.push(n);else{let i=n.split("."),o=i[0],s=i.slice(1).join(".");t.has(o)||t.set(o,[]),t.get(o).push(s)}return{rootFields:e,subRelations:t}}var Ee,oe,Yn,Xn,Se,Ge=q(()=>{"use strict";de();Ee=16,oe=5e3,Yn=4,Xn=10;Se=class{constructor(e,t,n){this.adapter=e;this.metadataGetter=t;this.trace=n}enrichNestedDescs(e,t,n){if(!t||Object.keys(t).length===0)return e;let i=e.map(s=>{let a=t[s.relationName];if(!a)return s;let u=a.fields!=null?Array.isArray(a.fields)?a.fields:String(a.fields).split(",").map(c=>c.trim()).filter(Boolean):["*"];return{...s,fields:u,userFilter:a.filter??s.userFilter,userSort:a.sort??s.userSort,userLimit:a.limit!==void 0?Number(a.limit):s.userLimit,userPage:a.page!==void 0?Number(a.page):s.userPage,nestedDeep:a.deep??s.nestedDeep}}),o=new Set(i.map(s=>s.relationName));for(let[s,a]of Object.entries(t)){if(o.has(s))continue;let u=n?.relations?.find(d=>d.propertyName===s);if(!u)continue;let c=a.fields!=null?Array.isArray(a.fields)?a.fields:String(a.fields).split(",").map(d=>d.trim()).filter(Boolean):["*"];i.push({relationName:s,type:u.type,targetTable:u.targetTableName||u.targetTable,fields:c,isInverse:u.isInverse,fkColumn:u.foreignKeyColumn,mappedBy:u.mappedBy,junctionTableName:u.junctionTableName,junctionSourceColumn:u.junctionSourceColumn,junctionTargetColumn:u.junctionTargetColumn,userFilter:a.filter,userSort:a.sort,userLimit:a.limit!==void 0?Number(a.limit):void 0,userPage:a.page!==void 0?Number(a.page):void 0,nestedDeep:a.deep})}return i}withDefaultToManyLimit(e){return e.userLimit===void 0&&(e.type==="one-to-many"||e.type==="many-to-many")?{...e,userLimit:Xn}:e}fieldsForNestedResolution(e,t){if(!t||Object.keys(t).length===0)return e;let n=new Set(e.filter(o=>o!=="*").map(o=>o.split(".")[0])),i=[...e];for(let o of Object.keys(t))n.has(o)||i.push(o);return i}uniqueValues(e){let t=new Set,n=[];for(let i of e){if(i==null)continue;let o=this.adapter.keyOf(i);t.has(o)||(t.add(o),n.push(i))}return n}assertLocalSortFields(e,t){if(!e.userSort)return;let n=Array.isArray(e.userSort)?e.userSort:String(e.userSort).split(",").map(i=>i.trim()).filter(Boolean);for(let i of n){let o=i.startsWith("-")?i.slice(1):i;if(o.includes("."))throw new N(`Sort field '${o}' is not supported on deep relation '${e.relationName}'. Sort only by local fields defined on '${e.targetTable}'.`);let s=t.columns?.some(u=>u.name===o),a=o==="id"&&t.columns?.some(u=>u.name==="_id");if(!s&&!a)throw new N(`Sort field '${o}' does not exist on '${e.targetTable}'. Sort only by fields defined on the table metadata.`)}}async execute(e,t,n=3,i=0,o){if(e.length===0||t.length===0||i>=n)return;let s;o&&(s=await this.metadataGetter(o)??void 0),await Promise.all(t.map(a=>{let u=this.withDefaultToManyLimit(a);return u.type==="many-to-one"||u.type==="one-to-one"&&!u.isInverse?this.fetchOwnerRelation(e,u,n,i):u.type==="one-to-many"||u.type==="one-to-one"&&u.isInverse?this.fetchInverseRelation(e,u,n,i,s):u.type==="many-to-many"?this.fetchM2MRelation(e,u,n,i,s):Promise.resolve()}))}async fetchOwnerRelation(e,t,n,i){let o=this.adapter.resolveOwnerFkKey(t),s=new Set,a=[];for(let w of e){let C=w[o];if(C==null)continue;let T=this.adapter.keyOf(C);s.has(T)||(s.add(T),a.push(C))}if(a.length===0){for(let w of e)w[t.relationName]=null,o!==t.relationName&&delete w[o],t.fkColumn&&t.fkColumn!==t.relationName&&delete w[t.fkColumn];return}let u=await this.metadataGetter(t.targetTable);if(!u)throw new Error(`Metadata not found for target table: ${t.targetTable}`);this.assertLocalSortFields(t,u);let{isPkOnly:c,nestedDescs:d,fetchSpec:l}=this.adapter.resolveFields(this.fieldsForNestedResolution(t.fields,t.nestedDeep),u),f=this.adapter.getTargetPkField(u);if(c){for(let w of e){let C=w[o];w[t.relationName]=C!=null?this.adapter.buildScalarRef(C,f):null,o!==t.relationName&&delete w[o],t.fkColumn&&t.fkColumn!==t.relationName&&delete w[t.fkColumn]}return}let p=performance.now(),h=await this.adapter.fetchOwner(t.targetTable,a,l,t),g=Array.isArray(h)?h:h.docs,m=Array.isArray(h)?void 0:h.stats;this.trace?.dur(`batch_fetch_L${i}_${t.relationName}`,p,{relationType:t.type,targetTable:t.targetTable,strategy:m?.strategy??"batch-in",roundtrips:m?.roundtrips??(Math.ceil(a.length/oe)||1),concurrencyWaves:m?.concurrencyWaves,ioConcurrency:m?.ioConcurrency,rowsTransferred:m?.rowsTransferred??g.length,rowsReturned:g.length,rowsDiscarded:0,userFilter:!!t.userFilter,userSort:!!t.userSort});let y=this.enrichNestedDescs(d,t.nestedDeep,u);y.length>0&&await this.execute(g,y,n,i+1,t.targetTable);let b=new Map;for(let w of g)b.set(this.adapter.keyOf(w[f]),w);for(let w of e){let C=w[o];w[t.relationName]=C!=null&&b.get(this.adapter.keyOf(C))||null,o!==t.relationName&&delete w[o],t.fkColumn&&t.fkColumn!==t.relationName&&delete w[t.fkColumn]}}async fetchInverseRelation(e,t,n,i,o){let s=this.adapter.resolveParentPk(o),a=this.uniqueValues(e.map(I=>I[s]));if(a.length===0)return;let u=this.adapter.resolveInverseFkField(t),c=await this.metadataGetter(t.targetTable);if(!c)throw new Error(`Metadata not found for target table: ${t.targetTable}`);this.assertLocalSortFields(t,c);let{nestedDescs:d,fetchSpec:l}=this.adapter.resolveFields(this.fieldsForNestedResolution(t.fields,t.nestedDeep),c),f=performance.now(),{docs:p,groupKeyField:h,stats:g}=await this.adapter.fetchInverse(t.targetTable,u,a,l,t),m=new Map,y=t.fields.includes(u)||t.fields.includes("*");for(let I of p){let B=I[h],S=this.adapter.keyOf(B);m.has(S)||m.set(S,[]),m.get(S).push(I)}let b=t.userLimit!==void 0&&t.userLimit>0,w=b?"per-parent-c16":"batch-in",C=b?a.length:Math.ceil(a.length/oe)||1,T=b?Math.ceil(a.length/Ee):void 0,k=Array.from(m.values()).reduce((I,B)=>I+B.length,0);if(this.trace?.dur(`batch_fetch_L${i}_${t.relationName}`,f,{relationType:t.type,targetTable:t.targetTable,strategy:g?.strategy??w,roundtrips:g?.roundtrips??C,concurrencyWaves:g?.concurrencyWaves??T,ioConcurrency:g?.ioConcurrency,rowsTransferred:g?.rowsTransferred??p.length,rowsReturned:k,rowsDiscarded:Math.max(0,(g?.rowsTransferred??p.length)-k),userLimit:t.userLimit,userFilter:!!t.userFilter,userSort:!!t.userSort}),this.adapter.postProcessInverseChild)for(let I of p)this.adapter.postProcessInverseChild(I,u,y);let x=this.enrichNestedDescs(d,t.nestedDeep,c);x.length>0&&await this.execute(p,x,n,i+1,t.targetTable);let $=t.type==="one-to-one";for(let I of e){let B=this.adapter.keyOf(I[s]),S=m.get(B)||[];I[t.relationName]=$?S[0]||null:S}}async fetchM2MRelation(e,t,n,i,o){let s=this.adapter.resolveParentPk(o),a=this.uniqueValues(e.map(T=>T[s]));if(a.length===0)return;let u=await this.metadataGetter(t.targetTable);if(!u)throw new Error(`Metadata not found for target table: ${t.targetTable}`);this.assertLocalSortFields(t,u);let{nestedDescs:c,fetchSpec:d}=this.adapter.resolveFields(this.fieldsForNestedResolution(t.fields,t.nestedDeep),u),l=performance.now(),{grouped:f,docs:p,stats:h}=await this.adapter.fetchM2M(e,t,o,u,d),g=t.userLimit!==void 0&&t.userLimit>0,m=g?"m2m-per-parent-c16":"m2m-batch",y=g?a.length:Math.ceil(a.length/oe)||1,b=g?Math.ceil(a.length/Ee):void 0,w=Array.from(f.values()).reduce((T,k)=>T+k.length,0);this.trace?.dur(`batch_fetch_L${i}_${t.relationName}`,l,{relationType:t.type,targetTable:t.targetTable,strategy:h?.strategy??m,roundtrips:h?.roundtrips??y,concurrencyWaves:h?.concurrencyWaves??b,ioConcurrency:h?.ioConcurrency,rowsTransferred:h?.rowsTransferred??p.length,rowsReturned:w,rowsDiscarded:h?.rowsDiscarded??Math.max(0,(h?.rowsTransferred??p.length)-w),userLimit:t.userLimit,userFilter:!!t.userFilter,userSort:!!t.userSort});let C=this.enrichNestedDescs(c,t.nestedDeep,u);C.length>0&&p.length>0&&await this.execute(p,C,n,i+1,t.targetTable);for(let T of e){let k=this.adapter.keyOf(T[s]);T[t.relationName]=f.get(k)||[]}}}});var Hr,Ce,bn=q(()=>{"use strict";Hr=2,Ce=class{constructor(e=2){this.concurrency=e;this.active=0;this.waiters=[];if(!Number.isInteger(e)||e<1)throw new Error("Batch execution concurrency must be a positive integer")}async run(e){await this.acquire();try{return await e()}catch(t){throw this.cancel(t),t}finally{this.release()}}async acquire(){if(this.failure!==void 0)throw this.failure;if(this.active<this.concurrency){this.active+=1;return}if(await new Promise(e=>this.waiters.push(e)),this.failure!==void 0)throw this.failure;this.active+=1}release(){this.active-=1,this.failure===void 0&&this.waiters.shift()?.()}cancel(e){if(this.failure===void 0){this.failure=e;for(let t of this.waiters.splice(0))t()}}}});function v(r,e){let t=e==="mysql"?r.replace(/`/g,"``"):r.replace(/"/g,'""');switch(e){case"mysql":return`\`${t}\``;case"postgres":case"pg":case"sqlite":return`"${t}"`;case"mongodb":return r;default:return`\`${t}\``}}function Re(r,e){return r.split(".").map(t=>t==="*"||t.startsWith('"')&&t.endsWith('"')||t.startsWith("`")&&t.endsWith("`")?t:v(t,e)).join(".")}var ae=q(()=>{"use strict"});function ce(r,e,t){e&&Rn(r,e,t,"and")}function Rn(r,e,t,n){switch(e.kind){case"true":return;case"false":n==="or"?r.orWhereRaw("1 = 0"):r.whereRaw("1 = 0");return;case"and":{let i=function(){for(let o of e.children)this.where(function(){Rn(this,o,t,"and")})};n==="or"?r.orWhere(i):r.where(i);return}case"or":{let i=function(){for(let o of e.children)this.orWhere(function(){Rn(this,o,t,"and")})};n==="or"?r.orWhere(i):r.where(i);return}case"not":{let i=function(){this.whereNot(function(){Rn(this,e.child,t,"and")})};n==="or"?r.orWhere(i):r.where(i);return}case"compare":Uo(r,e,t,n);return;case"relation_exists":console.warn(`[sql-render-filter] relation_exists node reached renderer directly (rootTable=${t.rootTable}, joinId=${e.joinId}) \u2014 expected to be handled by applyRelationFilters. Filter silently skipped.`);return}}function Uo(r,e,t,n){if(e.field.joinId!==null){console.warn(`[sql-render-filter] compare node has joinId=${e.field.joinId} (field=${e.field.fieldName}) but reached renderer \u2014 expected join path to handle it. Filter silently skipped.`);return}let i=Qo(e.field,t),o=Re(i,t.dbType),s=!!e.field.isUuid,a=t.dbType==="postgres",u=n==="or"?"orWhere":"where",c=n==="or"?"orWhereRaw":"whereRaw",d=n==="or"?"orWhereIn":"whereIn",l=n==="or"?"orWhereNotIn":"whereNotIn",f=n==="or"?"orWhereBetween":"whereBetween",p=n==="or"?"orWhereNull":"whereNull",h=n==="or"?"orWhereNotNull":"whereNotNull";switch(e.op){case"eq":s&&a&&typeof e.value=="string"?r[c](`${o} = ?::uuid`,[e.value]):r[u](i,"=",e.value);return;case"neq":s&&a&&typeof e.value=="string"?r[c](`${o} != ?::uuid`,[e.value]):r[u](i,"!=",e.value);return;case"gt":s&&a&&typeof e.value=="string"?r[c](`${o} > ?::uuid`,[e.value]):r[u](i,">",e.value);return;case"gte":s&&a&&typeof e.value=="string"?r[c](`${o} >= ?::uuid`,[e.value]):r[u](i,">=",e.value);return;case"lt":s&&a&&typeof e.value=="string"?r[c](`${o} < ?::uuid`,[e.value]):r[u](i,"<",e.value);return;case"lte":s&&a&&typeof e.value=="string"?r[c](`${o} <= ?::uuid`,[e.value]):r[u](i,"<=",e.value);return;case"in":{let g=si(e.value);s&&a&&g.every(m=>typeof m=="string")?r[c](`${o} = ANY(?::uuid[])`,[g]):r[d](i,g);return}case"not_in":{let g=si(e.value);s&&a&&g.every(m=>typeof m=="string")?r[c](`${o} != ALL(?::uuid[])`,[g]):r[l](i,g);return}case"contains":cr(r,o,e.value,"contains",t,n);return;case"starts_with":cr(r,o,e.value,"starts_with",t,n);return;case"ends_with":cr(r,o,e.value,"ends_with",t,n);return;case"between":Array.isArray(e.value)&&e.value.length===2&&r[f](i,[e.value[0],e.value[1]]);return;case"is_null":e.value===!0?r[p](i):r[h](i);return}}function cr(r,e,t,n,i,o){let s=o==="or"?"orWhereRaw":"whereRaw";if(i.dbType==="postgres"){let u=n==="contains"?`lower(unaccent(${e})) ILIKE '%' || lower(unaccent(?)) || '%'`:n==="starts_with"?`lower(unaccent(${e})) ILIKE lower(unaccent(?)) || '%'`:`lower(unaccent(${e})) ILIKE '%' || lower(unaccent(?))`;r[s](u,[t]);return}if(i.dbType==="sqlite"){let u=n==="contains"?`lower(${e}) LIKE '%' || lower(?) || '%'`:n==="starts_with"?`lower(${e}) LIKE lower(?) || '%'`:`lower(${e}) LIKE '%' || lower(?)`;r[s](u,[t]);return}let a=n==="contains"?`lower(unaccent(${e})) COLLATE utf8mb4_general_ci LIKE CONCAT('%', lower(unaccent(?)) COLLATE utf8mb4_general_ci, '%')`:n==="starts_with"?`lower(unaccent(${e})) COLLATE utf8mb4_general_ci LIKE CONCAT(lower(unaccent(?)) COLLATE utf8mb4_general_ci, '%')`:`lower(unaccent(${e})) COLLATE utf8mb4_general_ci LIKE CONCAT('%', lower(unaccent(?)) COLLATE utf8mb4_general_ci)`;r[s](a,[t])}function Qo(r,e){return r.fieldName.includes(".")?r.fieldName:`${e.rootTable}.${r.fieldName}`}function si(r){return Array.isArray(r)?r:typeof r=="string"&&r.includes(",")?r.split(",").map(e=>e.trim()):[r]}var ur=q(()=>{"use strict";ae()});function H(r){return r.columns.find(e=>e.isPrimary)||null}var qt=q(()=>{"use strict"});var ai={};En(ai,{expandFieldsToJoinsAndSelect:()=>dr});async function dr(r,e,t,n,i,o){let s=[],a=[],u=await t(r);if(!u)return{select:[],batchFetchDescriptors:[]};let c=new Map;for(let l of e)if(l==="*"||!l.includes("."))c.has("")||c.set("",[]),c.get("").push(l);else{let f=l.split("."),p=f[0],h=f.slice(1).join(".");c.has(p)||c.set(p,[]),c.get(p).push(h)}if(o&&typeof o=="object")for(let[l,f]of Object.entries(o)){if(c.has(l))continue;let p=f&&typeof f=="object"&&f.fields!=null?Array.isArray(f.fields)?f.fields:String(f.fields).split(",").map(h=>h.trim()).filter(Boolean):["*"];c.set(l,p)}let d=c.get("")||[];for(let l of d){if(l==="*"){let h=new Set;for(let m of u.relations||[])if(m.type==="many-to-one"||m.type==="one-to-one"&&!m.isInverse){let y=m.foreignKeyColumn||J(m.propertyName);y&&h.add(y)}let g=new Set;for(let m of u.columns)h.has(m.name)||(s.push(`${r}.${m.name}`),g.add(m.name));for(let m of u.relations||[])!c.has(m.propertyName)&&!g.has(m.propertyName)&&c.set(m.propertyName,["id"]);continue}if(l.includes(".")){s.push(`${r}.${l}`);continue}if(u.columns?.find(h=>h.name===l)){s.push(`${r}.${l}`);continue}if(u.relations?.find(h=>h.propertyName===l)){c.has(l)||c.set(l,["id"]);continue}}return c.forEach((l,f)=>{if(f==="")return;let p=u.relations?.find(b=>b.propertyName===f);if(!p)return;if(p.type==="many-to-one"||p.type==="one-to-one"&&!p.isInverse){let b=p.foreignKeyColumn||J(p.propertyName),w=v(r,n),C=v(b,n),T=v(f,n);s.push(`${w}.${C} as ${T}`)}let g=p.targetTableName||p.targetTable,m=o?.[f],y=m?.fields!=null?Array.isArray(m.fields)?m.fields:String(m.fields).split(",").map(b=>b.trim()).filter(Boolean):l;a.push({relationName:f,type:p.type,targetTable:g,fields:y,isInverse:p.isInverse,fkColumn:p.foreignKeyColumn,mappedBy:p.mappedBy,junctionTableName:p.junctionTableName,junctionSourceColumn:p.junctionSourceColumn,junctionTargetColumn:p.junctionTargetColumn,userFilter:m?.filter,userSort:m?.sort,userLimit:m?.limit!==void 0?Number(m.limit):void 0,userPage:m?.page!==void 0?Number(m.page):void 0,nestedDeep:m?.deep})}),{select:s,batchFetchDescriptors:a}}var fr=q(()=>{"use strict";Ke();ae()});var Ut,Qt,Fn,ot,Jo,st,gr=q(()=>{"use strict";Ke();ae();qt();Ge();bn();ur();Et();Mt();Ut="__enfyra_row_number__",Qt="__sourceId__",Fn="__targetId__",ot="__enfyra_partitioned__",Jo=5e4,st=class{constructor(e,t="postgres",n,i=new Ce){this.knex=e;this.dbType=t;this.metadata=n;this.executionBudget=i;this.pkField="id"}chunkCount(e,t=oe){return Math.ceil(e.length/t)||1}m2mTargetChunkSize(){return this.dbType==="postgres"?Jo:oe}uniqueValues(e){return Array.from(new Map(e.filter(t=>t!=null).map(t=>[this.keyOf(t),t])).values())}runQuery(e){return this.executionBudget.run(()=>e)}buildPartitionRowNumber(e,t,n){let i=[...t];i.some(s=>s.column===n)||i.push({column:n,order:"asc"});let o=i.map(s=>`?? ${s.order.toUpperCase()}`).join(", ");return this.knex.raw(`ROW_NUMBER() OVER (PARTITION BY ?? ORDER BY ${o}) as ??`,[e,...i.map(s=>s.column),Ut])}buildPartitionSlice(e,t,n,i){return this.knex.from(e.as(ot)).select(`${ot}.*`).where(`${ot}.${Ut}`,">",n).andWhere(`${ot}.${Ut}`,"<=",n+i).orderBy(`${ot}.${t}`,"asc").orderBy(`${ot}.${Ut}`,"asc")}removePartitionFields(e){for(let t of e)delete t[Ut]}buildFilterTree(e,t){if(!e||!this.metadata)return null;let n=new ie,i=this.metadata?.tables?this.metadata:{tables:new Map(Object.entries(this.metadata))},{node:o}=fe(e,t,i,n);return o}parseSortTokens(e,t,n){return e?(Array.isArray(e)?e:e.split(",").map(o=>o.trim()).filter(Boolean)).map(o=>{let s=o.startsWith("-"),u=(s?o.slice(1):o).split(".");if(u.length===1)return{column:n?`${n}.${u[0]}`:`${t}.${u[0]}`,order:s?"desc":"asc"};let c=u[u.length-1];return{column:`${`__sort_${u.slice(0,-1).join("_")}`}.${c}`,order:s?"desc":"asc"}}):[]}applySortJoins(e,t,n,i){if(!t||!this.metadata)return;let o=Array.isArray(t)?t:t.split(",").map(a=>a.trim()).filter(Boolean),s=new Set;for(let a of o){let c=(a.startsWith("-")?a.slice(1):a).split(".");if(c.length<=1)continue;let d=n,l=i||n;for(let f=0;f<c.length-1;f++){let p=c[f],h=this.metadata?.tables?.get(d);if(!h)break;let g=h.relations?.find(b=>b.propertyName===p);if(!g)break;let m=g.targetTableName||g.targetTable,y=`__sort_${c.slice(0,f+1).join("_")}`;if(!s.has(y)){s.add(y);let b=g.foreignKeyColumn||J(g.propertyName),w=this.metadata?.tables?.get(m),C=w&&H(w)?.name||"id";e.leftJoin(`${m} as ${y}`,`${y}.${C}`,`${l}.${b}`)}d=m,l=y}}}toKnexSelect(e,t){let n=e.indexOf(" as ");if(n!==-1){let i=e.substring(0,n),o=e.substring(n+4),s=v(o,this.dbType),a=t?`${t}.${v(i,this.dbType)}`:v(i,this.dbType);return this.knex.raw(`${a} as ${s}`)}return t?this.knex.raw(`${t}.${v(e,this.dbType)} as ${v(e,this.dbType)}`):e}keyOf(e){return e==null?"":String(e)}buildScalarRef(e,t){return{[t||this.pkField]:e}}getTargetPkField(e){return H(e)?.name||"id"}resolveOwnerFkKey(e){return e.relationName}resolveInverseFkField(e){let t=e.fkColumn;return!t&&e.mappedBy&&(t=J(e.mappedBy)),t||(t=J(e.targetTable)),t}resolveParentPk(e){return e&&H(e)?.name||"id"}resolveFields(e,t){let{rootFields:n,subRelations:i}=He(e),o=[];if(n.includes("*")){let c=new Set;for(let d of t.relations||[])if(d.type==="many-to-one"||d.type==="one-to-one"&&!d.isInverse){let l=d.foreignKeyColumn||J(d.propertyName);l&&c.add(l)}for(let d of t.columns)c.has(d.name)||o.push(d.name);for(let d of t.relations||[])i.has(d.propertyName)||i.set(d.propertyName,["id"])}else for(let c of n){let d=t.columns.find(l=>l.name===c);d?o.push(d.name):t.relations?.find(f=>f.propertyName===c)&&!i.has(c)&&i.set(c,["id"])}let s=H(t)?.name||"id";o.includes(s)||o.push(s),i.forEach((c,d)=>{let l=t.relations?.find(f=>f.propertyName===d);if(l&&(l.type==="many-to-one"||l.type==="one-to-one"&&!l.isInverse)){let f=l.foreignKeyColumn||J(l.propertyName);f&&o.push(`${f} as ${d}`)}});let a=[];return i.forEach((c,d)=>{let l=t.relations?.find(p=>p.propertyName===d);if(!l)return;let f=l.targetTableName||l.targetTable;f&&a.push({relationName:d,type:l.type,targetTable:f,fields:c,isInverse:l.isInverse,fkColumn:l.foreignKeyColumn,mappedBy:l.mappedBy,junctionTableName:l.junctionTableName,junctionSourceColumn:l.junctionSourceColumn,junctionTargetColumn:l.junctionTargetColumn})}),{isPkOnly:o.length===1&&o[0]===s&&a.length===0,nestedDescs:a,fetchSpec:{selectCols:o,pkCol:s}}}async fetchOwner(e,t,n,i){let o=i?.userFilter?this.buildFilterTree(i.userFilter,e):null,s=i?.userSort?this.parseSortTokens(i.userSort,e):[],a=n.selectCols.map(c=>this.toKnexSelect(c)),u=await W(t,c=>{let d=this.knex(e).select(a).whereIn(n.pkCol,c);if(o&&ce(d,o,{dbType:this.dbType,rootTable:e}),s.length>0){this.applySortJoins(d,i.userSort,e);for(let l of s)d.orderBy(l.column,l.order)}return this.runQuery(d)});return{docs:u,stats:{strategy:"batch-in",roundtrips:this.chunkCount(t),ioConcurrency:this.executionBudget.concurrency,rowsTransferred:u.length}}}async fetchInverse(e,t,n,i,o){let s=t,a=i.selectCols.find(h=>h.startsWith(`${t} as `));a?s=a.split(" as ")[1].trim():i.selectCols.includes(t)||i.selectCols.push(t);let u=o?.userFilter?this.buildFilterTree(o.userFilter,e):null,c=o?.userSort?this.parseSortTokens(o.userSort,e):[],d=o?.userLimit,l=o?.userPage;if(d!==void 0&&d>0){let h=l?(l-1)*d:0,g=i.selectCols.map(y=>this.toKnexSelect(y)),m=await W(n,async y=>{let b=this.knex(e).select(g).select(this.buildPartitionRowNumber(`${e}.${t}`,c,`${e}.${i.pkCol}`)).whereIn(`${e}.${t}`,y);u&&ce(b,u,{dbType:this.dbType,rootTable:e}),this.applySortJoins(b,o.userSort,e);let w=await this.runQuery(this.buildPartitionSlice(b,s,h,d));return this.removePartitionFields(w),w});return{docs:m,groupKeyField:s,stats:{strategy:"partitioned-top-k",roundtrips:this.chunkCount(n),ioConcurrency:this.executionBudget.concurrency,rowsTransferred:m.length}}}let f=i.selectCols.map(h=>this.toKnexSelect(h)),p=await W(n,h=>{let g=this.knex(e).select(f).whereIn(t,h);if(u&&ce(g,u,{dbType:this.dbType,rootTable:e}),this.applySortJoins(g,o?.userSort,e),c.length>0)for(let m of c)g.orderBy(m.column,m.order);else g.orderBy(i.pkCol,"asc");return this.runQuery(g)});return{docs:p,groupKeyField:s,stats:{strategy:"batch-in",roundtrips:this.chunkCount(n),ioConcurrency:this.executionBudget.concurrency,rowsTransferred:p.length}}}postProcessInverseChild(e,t,n){n||delete e[t]}async selectM2MEdges(e,t,n,i,o,s,a,u){let c=`t.${s}`,d=!!a||u.some(g=>g.column!==c),l=d?u:u.map(g=>({...g,column:`${n}.${o}`})),f=t.userLimit,p=t.userPage;if(f!==void 0&&f>0){let g=p?(p-1)*f:0;return(await W(e,async y=>{let b=this.knex(n).select({[Qt]:`${n}.${i}`,[Fn]:`${n}.${o}`}).whereIn(`${n}.${i}`,y);d&&(b=b.join(`${t.targetTable} as t`,`${n}.${o}`,`t.${s}`),a&&ce(b,a,{dbType:this.dbType,rootTable:"t"}),this.applySortJoins(b,t.userSort,t.targetTable,"t")),b.select(this.buildPartitionRowNumber(`${n}.${i}`,l,d?c:`${n}.${o}`));let w=await this.runQuery(this.buildPartitionSlice(b,Qt,g,f));return this.removePartitionFields(w),w})).map(y=>({sourceId:y[Qt],targetId:y[Fn]}))}return(await W(e,g=>{let m=this.knex(n).select({[Qt]:`${n}.${i}`,[Fn]:`${n}.${o}`}).whereIn(`${n}.${i}`,g);if(d&&(m=m.join(`${t.targetTable} as t`,`${n}.${o}`,`t.${s}`),a&&ce(m,a,{dbType:this.dbType,rootTable:"t"}),this.applySortJoins(m,t.userSort,t.targetTable,"t")),m.orderBy(`${n}.${i}`,"asc"),l.length>0){for(let y of l)m.orderBy(y.column,y.order);d&&!l.some(y=>y.column===c)&&m.orderBy(c,"asc")}else m.orderBy(`${n}.${o}`,"asc");return this.runQuery(m)})).map(g=>({sourceId:g[Qt],targetId:g[Fn]}))}async loadM2MTargets(e,t,n){if(t.length===0)return[];let i=n.selectCols.map(o=>this.toKnexSelect(o));return W(t,o=>this.runQuery(this.knex(e).select(i).whereIn(n.pkCol,o)),this.m2mTargetChunkSize())}async fetchM2M(e,t,n,i,o){let s=this.resolveParentPk(n),a=this.uniqueValues(e.map(x=>x[s]));if(a.length===0)return{grouped:new Map,docs:[]};let u=t.junctionTableName,c=t.junctionSourceColumn,d=t.junctionTargetColumn;if(!u||!c||!d)throw new Error(`Missing junction table config for relation: ${t.relationName}`);let l=t.userFilter?this.buildFilterTree(t.userFilter,t.targetTable):null,f=t.userSort?this.parseSortTokens(t.userSort,t.targetTable,"t"):[],p=await this.selectM2MEdges(a,t,u,c,d,o.pkCol,l,f),h=new Map;for(let x of a)h.set(this.keyOf(x),[]);let g=o.selectCols.length===1&&o.selectCols[0]===o.pkCol,m=t.userLimit!==void 0&&t.userLimit>0,y=this.chunkCount(a),b=`t.${o.pkCol}`,w=!l&&f.every(x=>x.column===b);if(g){let x=new Map;for(let $ of p){let I=this.keyOf($.targetId);x.has(I)||x.set(I,{[o.pkCol]:$.targetId}),h.get(this.keyOf($.sourceId))?.push(x.get(I))}return{grouped:h,docs:[],stats:{strategy:w?m?"m2m-junction-partitioned-top-k":"m2m-junction-batch":m?"m2m-filtered-edge-top-k":"m2m-filtered-edge-batch",roundtrips:y,ioConcurrency:this.executionBudget.concurrency,rowsTransferred:p.length,rowsDiscarded:0}}}let C=this.uniqueValues(p.map(x=>x.targetId)),T=await this.loadM2MTargets(t.targetTable,C,o),k=new Map(T.map(x=>[this.keyOf(x[o.pkCol]),x]));for(let x of p){let $=k.get(this.keyOf(x.targetId));$&&h.get(this.keyOf(x.sourceId))?.push($)}return{grouped:h,docs:T,stats:{strategy:m?"m2m-partitioned-edge-loader":"m2m-edge-loader",roundtrips:y+(C.length>0?this.chunkCount(C,this.m2mTargetChunkSize()):0),ioConcurrency:this.executionBudget.concurrency,rowsTransferred:p.length+T.length,rowsDiscarded:0}}}}});var ui={};En(ui,{executeBatchFetches:()=>hr});async function hr(r,e,t,n,i=3,o=0,s,a="postgres",u,c){let d=new st(r,a,u);await new Se(d,n,c).execute(e,t,i,o,s)}var mr=q(()=>{"use strict";Ge();gr()});var Go={};En(Go,{ALL_SUPPORTED_OPERATORS:()=>Nt,AuthenticationException:()=>gt,AuthorizationException:()=>ht,BadRequestException:()=>N,BatchExecutionBudget:()=>Ce,BatchFetchEngine:()=>Se,BusinessLogicException:()=>ut,CHUNKED_FETCH_CONCURRENCY:()=>Yn,ConfigurationException:()=>$t,DEEP_TO_MANY_DEFAULT_LIMIT:()=>Xn,DEFAULT_BATCH_FETCH_IO_CONCURRENCY:()=>Hr,DEFAULT_TIMEOUT_MS:()=>Vt,DOTTED_PATH_MAX_HOPS:()=>Nn,DatabaseException:()=>Le,DuplicateResourceException:()=>pt,ErrorHandler:()=>xe,ExecutorEngineService:()=>Be,ExternalServiceException:()=>bt,FIELD_OPERATORS:()=>we,FileNotFoundException:()=>St,FileSizeExceededException:()=>Ct,FileUploadException:()=>Tt,HttpException:()=>P,ISOLATED_EXECUTOR_RUNTIME_LOG_PATH:()=>Yt,InvalidTokenException:()=>yt,IsolatedExecutorService:()=>We,JoinRegistry:()=>ie,LOGICAL_OPERATORS:()=>qn,MongoBatchAdapter:()=>Xe,MongoQueryExecutor:()=>Ae,PER_PARENT_CONCURRENCY:()=>Ee,QueryBuilderService:()=>at,QueryPlanner:()=>Z,ResourceNotFoundException:()=>ft,SchemaException:()=>wt,ScriptContractService:()=>tn,ScriptExecutionException:()=>ye,ScriptTimeoutException:()=>me,ServiceUnavailableException:()=>_t,SqlBatchAdapter:()=>st,SqlQueryExecutor:()=>je,TokenExpiredException:()=>mt,ValidationException:()=>dt,WHERE_IN_CHUNK_SIZE:()=>oe,WorkerPool:()=>Rt,appendIsolatedExecutorRuntimeLog:()=>Q,applyOperatorToMatch:()=>an,applyRelationFilters:()=>Lt,applyWhereToKnex:()=>it,assertFieldOperatorValueIsClean:()=>un,buildMongoCharFoldMapJson:()=>Wn,buildMongoFoldTextSearchJs:()=>nn,buildRelationSubquery:()=>Bt,buildSqlWherePartsFromFieldAst:()=>Wt,buildWhereClause:()=>le,camelToSnake:()=>Er,chunkedFetch:()=>W,compileScriptSource:()=>Gi,computeEngineTuning:()=>Pn,createEnfyraKernel:()=>Ho,dslOpToCompareOp:()=>ln,encodeMainThreadToIsolate:()=>Bn,escapeSqlValue:()=>Kt,executeBatchFetches:()=>hr,executeMongoBatchFetches:()=>wn,expandFieldsToJoinsAndSelect:()=>dr,getEffectiveCpuCount:()=>An,getEffectiveMemoryBytes:()=>kt,getEngineTuning:()=>en,getExecutableScript:()=>eo,getForeignKeyColumnName:()=>J,getIoAbortSignal:()=>Rr,getJunctionColumnNames:()=>vt,getJunctionTableName:()=>xt,getPrimaryKeyColumn:()=>H,getScriptLegacyField:()=>zi,getShortFkConstraintName:()=>Nr,getShortFkName:()=>Or,getShortIndexName:()=>Ar,getShortPkName:()=>Ir,hasLogicalOperators:()=>he,isExecutableJavaScript:()=>Yi,isScriptTable:()=>Vi,normalizeAggregateQuery:()=>tt,normalizeFlowStepScriptConfig:()=>no,normalizeScriptLanguage:()=>Hi,normalizeScriptPatch:()=>Zi,normalizeScriptRecord:()=>Xi,parseBatchFields:()=>He,parseFields:()=>$n,parseFilter:()=>fe,perParentRun:()=>_n,quoteIdentifier:()=>v,quoteQualifiedIdentifier:()=>Re,resolveExecutableScript:()=>to,rewriteFilterDenyingFields:()=>pi,rewriteSortDroppingDenied:()=>gi,runWithIoAbortSignal:()=>Fr,scriptContractService:()=>te,separateFilters:()=>V,snakeToCamel:()=>Mr,throwUnsupportedFieldOperator:()=>Me,validateDeepOptions:()=>yr,validateFilterShape:()=>re,whereToMongoFilter:()=>Qe});module.exports=wi(Go);var Vt=3e4,Be=class{constructor(e){this.isolatedExecutorService=e.isolatedExecutorService}register(e,t){e.routeData.__codeBlocks||(e.routeData.__codeBlocks=[]),e.routeData.__codeBlocks.push(t)}async runBatch(e,t,n={}){let i=e.routeData.__codeBlocks||[];return i.length===0?{value:void 0,shortCircuit:!1}:this.isolatedExecutorService.runBatch(i,e.routeData.context,t??Vt,n)}async run(e,t,n=Vt,i={}){return this.isolatedExecutorService.run(e,t,n,i)}};var Ht=class{constructor(e){this.context=e}log(e){console.log(this.format(e))}warn(e){console.warn(this.format(e))}error(e,t){console.error(this.format(e)),t&&console.error(t)}debug(e){process.env.DEBUG&&console.debug(this.format(e))}verbose(e){process.env.DEBUG&&console.debug(this.format(e))}format(e){let t=typeof e=="string"?e:JSON.stringify(e);return this.context?`[${this.context}] ${t}`:t}};var Sr=require("async_hooks"),Cr=ue(require("path")),kr=require("stream");var _r=require("child_process"),$i=["PATH","HOME","NODE_ENV","TMPDIR","LANG"];function Ti(){let r={};for(let e of $i){let t=process.env[e];t!==void 0&&(r[e]=t)}return r}var Gt=class{constructor(e){this.terminated=!1;this.child=(0,_r.fork)(e,[],{stdio:["ignore","ignore","ignore","ipc"],env:Ti(),serialization:"advanced"})}get pid(){return this.child.pid}on(e,t){return this.child.on(e,t),this}off(e,t){return this.child.off(e,t),this}postMessage(e){if(!this.child.connected)throw new Error("Executor runner IPC is closed");this.child.send(e)}terminate(){if(this.terminated)return;this.terminated=!0;try{this.child.disconnect()}catch{}try{this.child.kill("SIGTERM")}catch{}setTimeout(()=>{if(!(this.child.exitCode!==null||this.child.signalCode!==null))try{this.child.kill("SIGKILL")}catch{}},250).unref?.()}};var me=class extends Error{constructor(t=0,n,i){let o=typeof t=="number"&&t>0?`${t}ms`:String(t||"configured timeout");super(`Script execution timed out after ${o}`);this.statusCode=408;this.errorCode="SCRIPT_TIMEOUT";this.name="ScriptTimeoutException",this.details={timeoutMs:t,scriptId:n,...i}}},ye=class extends Error{constructor(t,n,i){super(`Script execution failed: ${t}`);this.statusCode=400;this.errorCode="SCRIPT_EXECUTION_ERROR";this.name="ScriptExecutionException",this.details={scriptId:n,...i}}},j=class extends Error{constructor(t,n,i,o){super(t);this.statusCode=n;this.errorCode=i;this.name=this.constructor.name,this.details=o}},P=class extends j{constructor(e,t,n){super(e,t,`HTTP_${t}`,n)}},ut=class extends j{constructor(e,t){super(e,400,"BUSINESS_LOGIC_ERROR",t)}},dt=class extends j{constructor(e,t){super(e,422,"VALIDATION_ERROR",t)}},ft=class extends j{constructor(e,t){super(t?`${e} with identifier '${t}' not found`:`${e} not found`,404,"RESOURCE_NOT_FOUND",{resource:e,identifier:t})}},pt=class extends j{constructor(e,t,n){super(`${e} with ${t} '${n}' already exists`,409,"DUPLICATE_RESOURCE",{resource:e,field:t,value:n})}},gt=class extends j{constructor(e="Authentication failed",t){super(e,401,"AUTHENTICATION_ERROR",t)}},ht=class extends j{constructor(e="Insufficient permissions",t){super(e,403,"AUTHORIZATION_ERROR",t)}},mt=class extends j{constructor(){super("Token has expired",401,"TOKEN_EXPIRED")}},yt=class extends j{constructor(){super("Invalid token provided",401,"INVALID_TOKEN")}},Le=class extends j{constructor(e,t){super(e,500,"DATABASE_ERROR",t)}},bt=class extends j{constructor(e,t,n){super(`External service '${e}' error: ${t}`,502,"EXTERNAL_SERVICE_ERROR",{service:e,details:n})}},_t=class extends j{constructor(e){super(`Service '${e}' is currently unavailable`,503,"SERVICE_UNAVAILABLE",{service:e})}},wt=class extends j{constructor(e,t){super(e,400,"SCHEMA_ERROR",t)}},$t=class extends j{constructor(e,t){super(e,500,"CONFIGURATION_ERROR",t)}},Tt=class extends j{constructor(e,t){super(e,400,"FILE_UPLOAD_ERROR",t)}},St=class extends j{constructor(e="File not found"){super(e,404,"FILE_NOT_FOUND")}},Ct=class extends j{constructor(e,t){super("File size exceeded",413,"FILE_SIZE_EXCEEDED",{maxSize:e,actualSize:t})}};var xe=class{static createException(e,t,n,i,o){if(e?.includes("$throw"))switch(e){case"$throw.http":return new P(n||"Error",t||500,o);case"$throw.businessLogic":return new ut(n||"Bad request",o);case"$throw.validation":return new dt(n||"Validation failed",o);case"$throw.notFound":return new ft(o?.resource||n||"Resource",o?.identifier);case"$throw.duplicate":return new pt(o?.resource||n||"Resource",o?.field||"field",o?.value||"value");case"$throw.unauthorized":return new gt(n||"Unauthorized");case"$throw.forbidden":return new ht(n||"Forbidden");case"$throw.tokenExpired":return new mt;case"$throw.invalidToken":return new yt;case"$throw.database":return new Le(n||"Database error",o);case"$throw.dbQuery":return new Le(n||"Query error",o);case"$throw.externalService":return new bt(n||"Service",n||"Error",o);case"$throw.serviceUnavailable":return new _t(n||"Service");case"$throw.rateLimit":return new P(n||"Rate limit exceeded",429);case"$throw.scriptError":return new ye(n||"Script error",i,o);case"$throw.scriptTimeout":return new me(o?.timeout||5e3,i);case"$throw.schema":return new wt(n||"Schema error",o);case"$throw.config":return new $t(n||"Configuration error",o);case"$throw.fileUpload":return new Tt(n||"File upload error",o);case"$throw.fileNotFound":return new St(n||"File not found");case"$throw.fileSizeExceeded":return new Ct(o?.maxSize||"unknown",o?.actualSize||"unknown");case"$throw.400":return new P(n||"Bad request",400,o);case"$throw.401":return new P(n||"Authentication required",401,o);case"$throw.403":return new P(n||"Insufficient permissions",403,o);case"$throw.404":return new P(n||"Not found",404,o);case"$throw.409":return new P(n||"Conflict",409,o);case"$throw.422":return new P(n||"Validation failed",422,o);case"$throw.429":return new P(n||"Rate limit exceeded",429,o);case"$throw.500":return new P(n||"Internal server error",500,o);case"$throw.503":return new P(n||"Service unavailable",503,o);default:return new ye(n||"Unknown error",i)}if(t)switch(t){case 400:return new P(n||"Bad request",400,o);case 401:return new P(n||"Authentication required",401,o);case 403:return new P(n||"Insufficient permissions",403,o);case 404:return new P(n||"Not found",404,o);case 409:return new P(n||"Conflict",409,o);case 422:return new P(n||"Validation failed",422,o);case 429:return new P(n||"Rate limit exceeded",429,o);case 500:return new P(n||"Internal server error",500,o);case 503:return new P(n||"Service unavailable",503,o);default:return new ye(n||"Unknown error",i,o)}return new ye(n||"Unknown error",i,o)}};var Xt=ue(require("fs")),Zt=ue(require("path")),Yt=Zt.join(process.cwd(),"test","logs","isolated-executor-runtime.log");function Si(){return process.env.ISOLATED_EXECUTOR_FILE_LOG==="0"?!1:process.env.ISOLATED_EXECUTOR_FILE_LOG==="1"?!0:process.env.JEST_WORKER_ID!==void 0}var Ci=Si();function Q(r){if(Ci)try{let e=Zt.dirname(Yt);Xt.mkdirSync(e,{recursive:!0});let t=JSON.stringify({ts:new Date().toISOString(),pid:process.pid,...r})+`
2
- `;Xt.appendFileSync(Yt,t)}catch{}}var be=ue(require("os")),De=ue(require("fs"));function kt(){try{let r=De.readFileSync("/sys/fs/cgroup/memory.max","utf8").trim();if(r!=="max"){let e=parseInt(r,10);if(Number.isFinite(e)&&e>0&&e<be.totalmem())return e}}catch{}try{let r=De.readFileSync("/sys/fs/cgroup/memory/memory.limit_in_bytes","utf8").trim(),e=parseInt(r,10);if(Number.isFinite(e)&&e>0&&e<be.totalmem())return e}catch{}return be.totalmem()}function An(){let r=be.availableParallelism?.()||be.cpus()?.length||1;try{let e=De.readFileSync("/sys/fs/cgroup/cpu.max","utf8").trim(),[t,n]=e.split(/\s+/);if(t!=="max"){let i=parseInt(t,10),o=parseInt(n,10);if(i>0&&o>0)return Math.max(1,Math.ceil(i/o))}}catch{}try{let e=parseInt(De.readFileSync("/sys/fs/cgroup/cpu/cpu.cfs_quota_us","utf8").trim(),10),t=parseInt(De.readFileSync("/sys/fs/cgroup/cpu/cpu.cfs_period_us","utf8").trim(),10);if(e>0&&t>0)return Math.max(1,Math.ceil(e/t))}catch{}return r}var ki=.25,On=128,Ri=2,Fi=4,xi=6,vi=8,Ii=2048,Ni=40,Mi=128,Ei=32;function Oi(r){let e=Math.trunc(Number(r));if(!(!Number.isFinite(e)||e<1))return Math.min(On,e)}function Ai(r){let e=Math.trunc(Number(r));return!Number.isFinite(e)||e<1?xi:Math.min(vi,e)}function wr(r){return 2**Math.ceil(Math.log2(Math.max(1,r)))}function Pn(r){let e=Math.max(1,Math.trunc(r.logicalCpuCount)||1),t=Math.max(1,r.totalMemoryBytes/(1024*1024)),n=Math.min(Mi,Math.max(Ni,Math.round(t/Ei))),i=t*ki,o=Math.max(1,Math.floor(i/n)),s=Math.max(1,Math.min(e,2,o)),a=Math.max(1,Math.floor(i/(s*n))),u=Math.min(On,wr(e*Ri)),c=Math.min(On,wr(e*Fi)),d=Math.max(u,Math.min(c,a)),l=Oi(r.maxLanesPerRunner)??d,f=t<Ii?1:l,p=Math.max(1,Math.min(f,a)),h=Ai(r.tasksPerIsolate),g=p*h;return{maxConcurrentWorkers:s,isolateMemoryLimitMb:n,tasksPerWorkerCap:g,isolatePoolSize:p,tasksPerIsolate:h}}function en(){return Pn({logicalCpuCount:An(),totalMemoryBytes:kt()})}var Qi=Cr.join(__dirname,"execution/worker.js"),Ji=1e3,jn=new Sr.AsyncLocalStorage;function Rr(){return jn.getStore()}function Fr(r,e){return jn.run(r,e)}var Rt=class{constructor(e,t,n,i,o,s,a,u=6e4){this.scriptPath=o;this.onCrash=s;this.onRotate=a;this.entries=[];this.waiting=[];this.cachedMemoryOk=!0;this.lastMemoryCheckMs=0;this.memorySampleIntervalMs=200;this.destroying=!1;this.entryCounter=0;this.max=e,this.effectiveMemory=t,this.rssCeiling=n,this.tasksCap=i,this.drainTimeoutMs=u;for(let c=0;c<e;c++)this.spawnEntry()}getEntries(){return this.entries}spawnEntry(){let e=new Gt(this.scriptPath),t={id:++this.entryCounter,worker:e,tasks:new Map,reservations:0,draining:!1,spawnedAt:Date.now()};return e.on("message",n=>{let i=t.tasks.get(n.id);i&&(n.type==="taskReleased"?i.onRelease?.():n.type==="result"||n.type==="taskCancelled"?(typeof n.heapRatio=="number"&&(t.lastHeapRatio=n.heapRatio),typeof n.runnerRssBytes=="number"&&(t.lastRssBytes=n.runnerRssBytes),n.contextStats&&(t.contextStats=n.contextStats),i.onResult(n.type==="taskCancelled"?{type:"result",id:n.id,success:!1,taskCancelled:!0,error:{message:"Task cancelled",code:"ERR_TASK_CANCELLED"}}:n),!t.draining&&typeof n.heapRatio=="number"&&n.heapRatio>=.8&&this.rotateEntry(t,`heap=${Math.round(n.heapRatio*100)}%`)):i.onIoCall(n))}),e.on("exit",()=>{let n=t.draining,i=this.destroying;t.drainTimeout&&(clearTimeout(t.drainTimeout),t.drainTimeout=void 0);for(let[,s]of t.tasks)s.abortController.abort(),s.onResult({type:"result",success:!1,error:{message:i?"Worker terminated":t.lastError?`Worker crashed: ${t.lastError}`:"Worker crashed",code:i?void 0:"ERR_EXECUTOR_RUNNER_LOST",details:i?void 0:{outcome:"unknown_outcome",retryable:!1}}});t.tasks.clear();let o=this.entries.indexOf(t);o!==-1&&this.entries.splice(o,1),!n&&!i&&(this.onCrash&&this.onCrash(),this.entries.length<this.max&&this.spawnEntry()),this.drainWaiting()}),e.on("error",n=>{t.lastError=n.message}),this.entries.push(t),t}rotateEntry(e,t){if(e.draining)return;e.draining=!0;let n=Date.now()-e.spawnedAt;if(this.onRotate&&this.onRotate({reason:t,ageMs:n}),this.spawnEntry(),e.tasks.size===0){e.worker.terminate();return}e.drainTimeout=setTimeout(()=>{e.drainTimeout=void 0,e.worker.terminate()},this.drainTimeoutMs)}isMemoryAvailable(){let e=Date.now();return e-this.lastMemoryCheckMs>=this.memorySampleIntervalMs&&(this.cachedMemoryOk=process.memoryUsage().rss/this.effectiveMemory<this.rssCeiling,this.lastMemoryCheckMs=e),this.cachedMemoryOk}findLeastBusy(){let e=null;for(let t of this.entries){if(t.draining)continue;let n=t.tasks.size+t.reservations;n<this.tasksCap&&(!e||n<e.tasks.size+e.reservations)&&(e=t)}return e}dispatch(){let e=this.findLeastBusy();return e&&(e.tasks.size+e.reservations===0||this.isMemoryAvailable())?(e.reservations++,Promise.resolve(e)):new Promise(t=>this.waiting.push(t))}registerTask(e,t,n){e.reservations=Math.max(0,e.reservations-1),e.tasks.set(t,n)}releaseReservation(e){e.reservations=Math.max(0,e.reservations-1),this.drainWaiting()}unregisterTask(e,t){e.tasks.delete(t),e.draining&&e.tasks.size===0&&(e.drainTimeout&&(clearTimeout(e.drainTimeout),e.drainTimeout=void 0),e.worker.terminate()),this.drainWaiting()}drainWaiting(){for(;this.waiting.length>0;){let e=this.findLeastBusy();if(e&&(e.tasks.size+e.reservations===0||this.isMemoryAvailable()))e.reservations++,this.waiting.shift()(e);else break}}terminateEntry(e){e.worker.terminate()}resize(e){for(this.max=Math.max(1,e);this.entries.length<this.max;)this.spawnEntry()}getMax(){return this.max}getWaitingCount(){return this.waiting.length}getTotalActiveTasks(){let e=0;for(let t of this.entries)e+=t.tasks.size;return e}getMetrics(){return{max:this.max,activeTasks:this.getTotalActiveTasks(),waitingTasks:this.waiting.length,workers:this.entries.map(e=>({id:e.id,pid:e.worker.pid,activeTasks:e.tasks.size,reservations:e.reservations,draining:e.draining,ageMs:Date.now()-e.spawnedAt,lastHeapRatio:e.lastHeapRatio??0,lastRssBytes:e.lastRssBytes??0,contextStats:e.contextStats??{}}))}}destroyAll(){this.destroying=!0;for(let e of this.entries)e.worker.terminate();this.entries.length=0,this.waiting.length=0}},Tr=new Set(["$helpers","$cache","$transaction","$repos","$req","$res","$socket","$storage","$logs","$throw","$trigger","$pkgs","$debug"]);function Bn(r){if(r===void 0)return JSON.stringify({__e:"u"});try{return JSON.stringify({__e:"v",d:r},(e,t)=>typeof t=="bigint"?t.toString():t)}catch{return JSON.stringify({__e:"v",d:{__serializationError:!0,message:"Result is not JSON-serializable"}})}}var We=class r{constructor(e){this.logger=new Ht(r.name);this.effectiveMemory=kt();this.prevCpuUsage=process.cpuUsage();this.prevCpuTime=process.hrtime.bigint();this.pressureTicks=0;this.recoveryTicks=0;this.taskCounter=0;this.taskDoneTotal=0;this.taskErrorTotal=0;this.taskTimeoutTotal=0;this.rotationsTotal=0;this.crashesTotal=0;this.responseStreams=new Map;this.taskCancellers=new Map;this.taskDurationsMs=[];this.queueWaitDurationsMs=[];this.runtimeCallbackCounter=0;this.packageCacheService=e.packageCacheService,this.packageCdnLoaderService=e.packageCdnLoaderService,this.isolationTuning=e.tuning??en(),this.ceiling=this.isolationTuning.maxConcurrentWorkers,this.pool=new Rt(this.isolationTuning.maxConcurrentWorkers,this.effectiveMemory,.9,this.isolationTuning.tasksPerWorkerCap,Qi,()=>{this.crashesTotal++,this.logger.warn("Worker crashed, replacement spawned")},({reason:t,ageMs:n})=>{this.rotationsTotal++,this.logger.log(`Worker rotation: reason=${t} age=${Math.round(n/1e3)}s`)}),this.logger.log(`Worker pool started: ${this.isolationTuning.maxConcurrentWorkers} workers, ${this.isolationTuning.isolateMemoryLimitMb}MB per isolate, ${this.isolationTuning.isolatePoolSize} isolates/worker, ${this.isolationTuning.tasksPerIsolate} tasks/isolate, ${this.isolationTuning.tasksPerWorkerCap} tasks/worker cap`),this.tuneTimer=setInterval(()=>this.autoTune(),3e4)}onDestroy(){this.tuneTimer&&clearInterval(this.tuneTimer),this.pool.destroyAll()}autoTune(){let t=process.memoryUsage().rss/this.effectiveMemory,n=process.hrtime.bigint(),i=process.cpuUsage(this.prevCpuUsage),o=Number(n-this.prevCpuTime)/1e3,s=o>0?(i.user+i.system)/o:0;this.prevCpuUsage=process.cpuUsage(),this.prevCpuTime=n;let a=this.pool.getMax(),u=this.pool.getWaitingCount(),c=t>.85||s>.7,d=t<.7&&s<.5,l=u>0,f=a;c?(this.recoveryTicks=0,this.pressureTicks++,this.pressureTicks>=3&&(f=Math.max(1,a-1))):d&&l?(this.pressureTicks=0,this.recoveryTicks++,this.recoveryTicks>=3&&(f=Math.min(this.ceiling,a+2))):(this.pressureTicks=0,this.recoveryTicks=0),f!==a&&(this.pool.resize(f),this.pressureTicks=0,this.recoveryTicks=0,this.logger.log(`Worker pool adjusted: ${a} -> ${f} (rss=${Math.round(t*100)}% cpu=${Math.round(s*100)}% queue=${u})`))}createSnapshot(e){let t={$body:e.$body,$query:e.$query,$params:e.$params,$user:e.$user,$share:e.$share,$data:e.$data,$api:{request:e.$api?.request},$uploadedFile:e.$uploadedFile,$req:this.cloneSnapshotValue(e.$req)};for(let i of Object.keys(e)){if(!i.startsWith("$")||i in t||Tr.has(i))continue;let o=this.cloneSnapshotValue(e[i]);o!==void 0&&(t[i]=o)}let n=e.$flow;if(n!=null)try{t.$flow=this.cloneSnapshotValue(n)??{}}catch{t.$flow={}}return t}cloneSnapshotValue(e){if(typeof e!="function")try{return JSON.parse(JSON.stringify(e,(t,n)=>{if(typeof n=="bigint")return String(n);if(typeof n!="function")return n}))}catch{return}}mergeCtxChanges(e,t){if(t){t.$body!==void 0&&(e.$body=t.$body),t.$query!==void 0&&(e.$query=t.$query),t.$params!==void 0&&(e.$params=t.$params),t.$data!==void 0&&(e.$data=t.$data),t.$error!==void 0&&(e.$error=t.$error),t.$statusCode!==void 0&&(e.$statusCode=t.$statusCode),t.$share!==void 0&&(e.$share=t.$share),t.$api!==void 0&&e.$api&&(t.$api.error&&(e.$api.error=t.$api.error),t.$api.response&&(e.$api.response=t.$api.response)),t.$flow!==void 0&&t.$flow!==null&&typeof t.$flow=="object"&&e.$flow!=null&&typeof e.$flow=="object"&&Object.assign(e.$flow,t.$flow);for(let[n,i]of Object.entries(t))n.startsWith("$")&&(n==="$body"||n==="$query"||n==="$params"||n==="$data"||n==="$error"||n==="$statusCode"||n==="$share"||n==="$api"||n==="$flow"||Tr.has(n)||n==="$env"||(e[n]=i));delete e.$pkgs}}spawnAndExecute(e,t,n,i,o){return(async()=>{let s=Date.now(),a=await this.pool.dispatch();if(this.recordQueueWait(Date.now()-s),o?.aborted){this.pool.releaseReservation(a);let d=new Error("Execution aborted after client disconnect");return d.code="ERR_EXECUTION_ABORTED",d.isAbort=!0,Promise.reject(d)}let u=`t_${++this.taskCounter}`,c=Date.now();return new Promise((d,l)=>{let f=!1,p=new AbortController,h=!1,g,m=()=>{let $=new Error("Execution aborted after client disconnect");return $.code="ERR_EXECUTION_ABORTED",$.isAbort=!0,$},y=()=>{let $=new Error(`Script execution timed out after ${i}ms`);return $.code="ERR_SCRIPT_EXECUTION_TIMEOUT",$.isTimeout=!0,$},b,w=$=>{if(!(f||h)){h=!0,g=$,p.abort(),this.cleanupResponseStream(u,$);try{a.worker.postMessage({type:"cancelTask",id:u})}catch{}b=setTimeout(()=>{f||(f=!0,clearTimeout(x),k(),this.taskCancellers.delete(u),this.pool.unregisterTask(a,u),this.taskErrorTotal++,Q({event:"task_cancel_grace_terminate",id:u}),this.pool.terminateEntry(a),$.details={...$.details??{},outcome:"unknown_outcome",retryable:!1,escalation:"runner_terminated_after_cancel_grace"},l($))},Ji),b.unref?.()}},C=()=>w(m());this.taskCancellers.set(u,C);let T=()=>C(),k=()=>{o?.removeEventListener("abort",T)};o&&o.addEventListener("abort",T,{once:!0});let x=setTimeout(()=>{f||(this.taskTimeoutTotal++,Q({event:"task_timeout",id:u,timeoutMs:i}),w(y()))},i);this.pool.registerTask(a,u,{abortController:p,onResult:$=>{if(!f){if($.taskCancelled===!0&&this.pool.unregisterTask(a,u),f=!0,clearTimeout(x),b&&clearTimeout(b),this.taskCancellers.delete(u),k(),this.cleanupResponseStream(u),this.recordTaskDuration(Date.now()-c),h){p.abort(),this.taskErrorTotal++,l(g??m());return}if($.success){this.taskDoneTotal++,Q({event:"task_done",id:u,ok:!0});let I={value:$.value,valueAbsent:$.valueAbsent===!0,ctxChanges:$.ctxChanges};$.shortCircuit&&(I.shortCircuit=!0),d(I)}else{this.taskErrorTotal++,Q({event:"task_done",id:u,ok:!1,message:$.error?.message});let I=new Error($.error?.message||"Handler execution failed");I.statusCode=$.error?.statusCode,I.code=$.error?.code,I.details=$.error?.details,$.error?.stack&&(I.stack=$.error.stack),$.ctxChanges&&(I.ctxChanges=$.ctxChanges),this.cleanupResponseStream(u,I),l(I)}}},onRelease:()=>{this.pool.unregisterTask(a,u)},onIoCall:$=>{if(f)return;let I=p.signal;$.type==="repoCall"?this.handleIoCall(()=>this.execRepoCall($,n),a.worker,$.callId,I):$.type==="transactionCall"?this.handleIoCall(()=>this.execTransactionCall($,n,a.worker),a.worker,$.callId,I):$.type==="helpersCall"?this.handleIoCall(()=>this.execHelpersCall($,n),a.worker,$.callId,I):$.type==="socketCall"?this.handleIoCall(()=>this.execSocketCall($,n),a.worker,$.callId,I):$.type==="cacheCall"?this.handleIoCall(()=>this.execCacheCall($,n),a.worker,$.callId,I):$.type==="storageCall"?this.handleIoCall(()=>this.execStorageCall($,n,a.worker),a.worker,$.callId,I):$.type==="dispatchCall"?this.handleIoCall(()=>this.execDispatchCall($,n),a.worker,$.callId,I):$.type==="resCall"&&this.handleIoCall(()=>this.execResCall($,n),a.worker,$.callId,I)}}),a.worker.postMessage({type:e,id:u,...t}),o?.aborted&&C()})})()}postAbortedCallError(e,t){try{e.postMessage({type:"callError",callId:t,error:JSON.stringify({__userThrow:!0,message:"Execution aborted after client disconnect",code:"ERR_EXECUTION_ABORTED"})})}catch{}}async handleIoCall(e,t,n,i){if(i?.aborted){this.postAbortedCallError(t,n);return}try{let o=await(i?jn.run(i,e):e());if(i?.aborted){this.postAbortedCallError(t,n);return}try{t.postMessage({type:"callResult",callId:n,result:Bn(o)})}catch{}}catch(o){if(i?.aborted){this.postAbortedCallError(t,n);return}try{let s={__userThrow:!0,message:o.message,statusCode:o.statusCode,code:o.errorCode??o.code,details:o.details,messages:o.messages};t.postMessage({type:"callError",callId:n,error:JSON.stringify(s)})}catch{}}}async execRepoCall(e,t){let n=JSON.parse(e.argsJson),i=e.access==="secure"?t?.$repos?.secure?.[e.table]:t?.$repos?.[e.table];if(!i||typeof i[e.method]!="function"){let o=e.access==="secure"?"secure.":"";throw new Error(`Repo method not found: ${o}${e.table}.${e.method}`)}return i[e.method](...n)}async execTransactionCall(e,t,n){let o=JSON.parse(e.argsJson||"[]").map(a=>a?.__fnRef&&typeof a.__fnRef=="string"?(...u)=>this.invokeRuntimeCallback(n,e.id,a.__fnRef,u):a)[0];if(typeof o!="function")throw new Error("$transaction.run requires a callback");let s=t?.$transaction?.run;if(typeof s!="function")throw new Error("$transaction is not available");return await s.call(t.$transaction,o)}async execHelpersCall(e,t){let n=JSON.parse(e.argsJson),i=e.name.split("."),o=t?.$helpers;for(let s of i)o=o?.[s];if(typeof o!="function")throw new Error(`Helper not found: ${e.name}`);return o(...n)}async execSocketCall(e,t){let n=JSON.parse(e.argsJson),i=t?.$socket?.[e.method];if(typeof i!="function")throw new Error(`Socket method not found: ${e.method}`);return i(...n)}async execCacheCall(e,t){let n=JSON.parse(e.argsJson),i=t?.$cache?.[e.method];if(typeof i!="function")throw new Error(`Cache method not found: ${e.method}`);return i(...n)}async execStorageCall(e,t,n){let i=this.parseStorageArgs(e.argsJson,n,e.id),o=t?.$storage?.[e.method];if(typeof o!="function")throw new Error(`Storage method not found: ${e.method}`);return o(...i)}parseStorageArgs(e,t,n){return JSON.parse(e,(i,o)=>{if(o?.__fnRef&&typeof o.__fnRef=="string"){let s=o.__fnRef;return(...a)=>this.invokeRuntimeCallback(t,n,s,a)}return o})}invokeRuntimeCallback(e,t,n,i){let o=`rtcb_${++this.runtimeCallbackCounter}`;return new Promise((s,a)=>{let u=setTimeout(()=>{d(),a(new Error(`Runtime callback timed out: ${n}`))},3e4),c=l=>{if(!(l?.type!=="runtimeCallbackResult"||l.callId!==o)){if(d(),l.error){a(new Error(l.error));return}s(l.value)}},d=()=>{clearTimeout(u),e.off("message",c)};e.on("message",c),e.postMessage({type:"invokeRuntimeCallback",id:t,callId:o,callbackId:n,argsJson:JSON.stringify(i)})})}async execDispatchCall(e,t){let n=JSON.parse(e.argsJson),i=t?.$trigger;if(typeof i!="function")throw new Error("$trigger is not available");return i(...n)}cancelTask(e){this.taskCancellers.get(e)?.()}async execResCall(e,t){if(e.method==="streamStart"){let s=JSON.parse(e.argsJson||"[]")[1]||{},a=t?.$res?.stream;if(typeof a!="function")throw new Error("Response method not found: stream");let u=new kr.PassThrough,c={stream:u};this.responseStreams.set(e.id,c);let d=t?.$res;if(d&&typeof d.once=="function"){let f=()=>{d.writableEnded!==!0&&this.cancelTask(e.id)};d.once("close",f),c.closeCleanup=()=>{typeof d.off=="function"?d.off("close",f):typeof d.removeListener=="function"&&d.removeListener("close",f)}}let l=a.call(t.$res,u,s);return l&&typeof l.catch=="function"&&l.catch(()=>{}),!0}if(e.method==="streamChunk"){let o=this.responseStreams.get(e.id);if(!o)throw new Error(`Response stream not found: ${e.id}`);let s=Buffer.from(e.chunk||"","base64");return o.stream.write(s)||await new Promise((a,u)=>{let c=()=>{l(),a()},d=f=>{l(),u(f)},l=()=>{o.stream.off("drain",c),o.stream.off("error",d)};o.stream.once("drain",c),o.stream.once("error",d)}),!0}if(e.method==="streamEnd"){let o=this.responseStreams.get(e.id);return o&&(o.closeCleanup?.(),o.stream.end(),this.responseStreams.delete(e.id)),!0}if(e.method==="streamError"){let o=this.responseStreams.get(e.id);if(o){o.closeCleanup?.();let s=e.error?.message||"Response stream failed";o.stream.destroy(new Error(s)),this.responseStreams.delete(e.id)}return!0}let n=JSON.parse(e.argsJson||"[]"),i=t?.$res?.[e.method];if(typeof i!="function")throw new Error(`Response method not found: ${e.method}`);return i.apply(t.$res,n)}cleanupResponseStream(e,t){let n=this.responseStreams.get(e);n&&(this.responseStreams.delete(e),n.closeCleanup?.(),t?n.stream.destroy(t):n.stream.end())}toWorkerCodeBlock(e){return{code:e.code,sourceCode:e.sourceCode,scriptLanguage:e.scriptLanguage,type:e.type}}async run(e,t,n,i={}){let o=Math.max(1,Math.trunc(Number(n)||3e4)),s=await this.packageCacheService.getPackages(),a=this.packageCdnLoaderService.getPackageSources(s),u=this.createSnapshot(t);Q({event:"isolated_run_start",timeoutMs:o,codeLen:e?.length??0});let c;try{let d={code:e,sourceCode:i.sourceCode??e,pkgSources:a,snapshot:u,timeoutMs:o,memoryLimitMb:this.isolationTuning.isolateMemoryLimitMb,isolatePoolSize:this.isolationTuning.isolatePoolSize,tasksPerIsolate:this.isolationTuning.tasksPerIsolate};c=await this.spawnAndExecute("execute",d,t,o)}catch(d){let l=d;if(Q({event:"isolated_run_error",message:l.message,code:l.code,isTimeout:!!l.isTimeout}),l.code==="ERR_EXECUTION_ABORTED"||l.isAbort)throw l;if(l.isTimeout||l.code==="ERR_SCRIPT_EXECUTION_TIMEOUT")throw new me(o,e,l.details);l.code&&l.details&&(l.details.executorCode=l.code);let f=l.statusCode??(typeof l.status=="number"?l.status:void 0);throw xe.createException(l.errorPath,f,l.message||"Unknown error",e,l.details||{})}return this.mergeCtxChanges(t,c.ctxChanges||{}),Q({event:"isolated_run_ok"}),c.valueAbsent?void 0:c.value}async runBatch(e,t,n,i={}){let o=Math.max(1,Math.trunc(Number(n)||3e4)),s=await this.packageCacheService.getPackages(),a=this.packageCdnLoaderService.getPackageSources(s),u=this.createSnapshot(t);Q({event:"isolated_batch_start",timeoutMs:o,blocks:e.length});let c;try{let l={codeBlocks:e.map(f=>this.toWorkerCodeBlock(f)),pkgSources:a,snapshot:u,timeoutMs:o,memoryLimitMb:this.isolationTuning.isolateMemoryLimitMb,isolatePoolSize:this.isolationTuning.isolatePoolSize,tasksPerIsolate:this.isolationTuning.tasksPerIsolate};c=await this.spawnAndExecute("executeBatch",l,t,o,i.signal)}catch(d){let l=d;if(Q({event:"isolated_batch_error",message:l.message,code:l.code,isTimeout:!!l.isTimeout}),l.ctxChanges&&this.mergeCtxChanges(t,l.ctxChanges),l.code==="ERR_EXECUTION_ABORTED"||l.isAbort)throw l;if(l.isTimeout||l.code==="ERR_SCRIPT_EXECUTION_TIMEOUT")throw new me(o,"(batch execution)",l.details);l.code&&l.details&&(l.details.executorCode=l.code);let f=l.statusCode??(typeof l.status=="number"?l.status:void 0);throw xe.createException(l.errorPath,f,l.message||"Unknown error","(batch execution)",l.details||{})}return this.mergeCtxChanges(t,c.ctxChanges||{}),Q({event:"isolated_batch_ok"}),{value:c.valueAbsent?void 0:c.value,shortCircuit:c.shortCircuit===!0}}recordTaskDuration(e){this.taskDurationsMs.push(e),this.taskDurationsMs.length>512&&this.taskDurationsMs.shift()}recordQueueWait(e){this.queueWaitDurationsMs.push(e),this.queueWaitDurationsMs.length>512&&this.queueWaitDurationsMs.shift()}percentile(e,t){if(e.length===0)return 0;let n=[...e].sort((o,s)=>o-s),i=Math.min(n.length-1,Math.max(0,Math.ceil(t/100*n.length)-1));return n[i]}getMetrics(){let e=this.pool.getMetrics(),t=this.taskDurationsMs,n=t.length===0?0:t.reduce((s,a)=>s+a,0)/t.length,i=this.queueWaitDurationsMs,o=i.length===0?0:i.reduce((s,a)=>s+a,0)/i.length;return{tuning:this.isolationTuning,pool:e,taskDoneTotal:this.taskDoneTotal,taskErrorTotal:this.taskErrorTotal,taskTimeoutTotal:this.taskTimeoutTotal,rotationsTotal:this.rotationsTotal,crashesTotal:this.crashesTotal,avgTaskMs:n,p95TaskMs:this.percentile(t,95),p99TaskMs:this.percentile(t,99),avgQueueWaitMs:o,p95QueueWaitMs:this.percentile(i,95),p99QueueWaitMs:this.percentile(i,99),maxHeapRatio:Math.max(0,...e.workers.map(s=>s.lastHeapRatio||0)),runnerRssBytes:e.workers.reduce((s,a)=>s+(a.lastRssBytes||0),0)}}};var ve=ue(require("typescript")),Ft={oauth_config_definition:"",route_handler_definition:"logic",pre_hook_definition:"code",post_hook_definition:"code",bootstrap_script_definition:"logic",websocket_definition:"connectionHandlerScript",websocket_event_definition:"handlerScript"};function zi(r){return te.getLegacyField(r)}function Vi(r){return te.isScriptTable(r)}function Hi(r){return te.normalizeLanguage(r)}var tn=class{getLegacyField(e){return Ft[e]}isScriptTable(e){return e in Ft}normalizeLanguage(e){return e==="javascript"?"javascript":"typescript"}compileSource(e,t){if(e==null||e==="")return null;let n=String(e),o=this.normalizeLanguage(t)==="javascript"?n:this.transpileTypeScript(n);return this.assertExecutableJavaScript(o),o}isExecutableJavaScript(e){if(!e)return!1;try{return this.assertExecutableJavaScript(e),!0}catch{return!1}}normalizeRecord(e,t){if(!this.isScriptTable(e)||!t||typeof t!="object")return t;let n={...t},i=this.getLegacyField(e);return i&&(n.sourceCode===void 0||n.sourceCode===null||n.sourceCode==="")&&n[i]!==void 0&&(n.sourceCode=n[i]),n.scriptLanguage=this.normalizeLanguage(n.scriptLanguage),n.compiledCode=this.compileSource(n.sourceCode,n.scriptLanguage),i&&i in n&&delete n[i],n}normalizePatch(e,t,n){if(!this.isScriptTable(e)||!t||typeof t!="object")return t;let i=this.getLegacyField(e),o=Object.prototype.hasOwnProperty.call(t,"sourceCode")||(i?Object.prototype.hasOwnProperty.call(t,i):!1),s=Object.prototype.hasOwnProperty.call(t,"scriptLanguage");if(!o&&!s)return t;let a=o?t.sourceCode??(i?t[i]:void 0):n?.sourceCode??(i&&n?n[i]:void 0),u=s?t.scriptLanguage:n?.scriptLanguage,c={...t};return o&&(c.sourceCode=a??null),c.scriptLanguage=this.normalizeLanguage(u),c.compiledCode=this.compileSource(a,c.scriptLanguage),i&&i in c&&delete c[i],c}getExecutableScript(e){return this.resolveExecutableScript(e).code}resolveExecutableScript(e){if(!e||typeof e!="object")return{code:null,compiledCode:null,shouldPersistCompiledCode:!1};if(typeof e.sourceCode=="string"&&e.sourceCode!==""){let n=this.compileSource(e.sourceCode,e.scriptLanguage);return{code:n,compiledCode:n,shouldPersistCompiledCode:n!==e.compiledCode}}let t=Object.keys(Ft).find(n=>Ft[n]in e);if(t){let n=e[Ft[t]];if(typeof n=="string"&&n!==""){let i=this.compileSource(n,e.scriptLanguage);return{code:i,compiledCode:i,shouldPersistCompiledCode:i!==e.compiledCode}}}return typeof e.compiledCode=="string"&&e.compiledCode!==""&&this.isExecutableJavaScript(e.compiledCode)?{code:e.compiledCode,compiledCode:e.compiledCode,shouldPersistCompiledCode:!1}:{code:null,compiledCode:null,shouldPersistCompiledCode:!1}}normalizeFlowStepScriptConfig(e){if(!e||typeof e!="object")return e;let t=e.type;if(t!=="script"&&t!=="condition")return e;let n={...e},i=e.config;if(typeof i=="string")try{i=JSON.parse(i)}catch{return e}let o=i&&typeof i=="object"?i:{};n.sourceCode=n.sourceCode??o.sourceCode??o.code??null,n.scriptLanguage=this.normalizeLanguage(n.scriptLanguage??o.scriptLanguage),n.compiledCode=this.compileSource(n.sourceCode,n.scriptLanguage);let s={...o};return delete s.sourceCode,delete s.scriptLanguage,delete s.compiledCode,delete s.code,{...n,config:typeof e.config=="string"?JSON.stringify(s):s}}repairContract(e){let t=this.normalizeLanguage(e?.scriptLanguage),n=e?.sourceCode??null,i=this.compileSource(n,t);return{sourceCode:n,scriptLanguage:t,code:i,compiledCode:i,shouldPersistCompiledCode:i!==e?.compiledCode}}transpileTypeScript(e){let t=ve.default.transpileModule(e,{compilerOptions:{target:ve.default.ScriptTarget.ES2022,module:ve.default.ModuleKind.CommonJS,importsNotUsedAsValues:ve.default.ImportsNotUsedAsValues.Remove,sourceMap:!1,inlineSourceMap:!1,inlineSources:!1},reportDiagnostics:!0}),n=t.diagnostics?.find(i=>i.category===ve.default.DiagnosticCategory.Error);if(n)throw new Error(ve.default.flattenDiagnosticMessageText(n.messageText,`
2
+ `;Xt.appendFileSync(Yt,t)}catch{}}var be=ue(require("os")),De=ue(require("fs"));function kt(){try{let r=De.readFileSync("/sys/fs/cgroup/memory.max","utf8").trim();if(r!=="max"){let e=parseInt(r,10);if(Number.isFinite(e)&&e>0&&e<be.totalmem())return e}}catch{}try{let r=De.readFileSync("/sys/fs/cgroup/memory/memory.limit_in_bytes","utf8").trim(),e=parseInt(r,10);if(Number.isFinite(e)&&e>0&&e<be.totalmem())return e}catch{}return be.totalmem()}function An(){let r=be.availableParallelism?.()||be.cpus()?.length||1;try{let e=De.readFileSync("/sys/fs/cgroup/cpu.max","utf8").trim(),[t,n]=e.split(/\s+/);if(t!=="max"){let i=parseInt(t,10),o=parseInt(n,10);if(i>0&&o>0)return Math.max(1,Math.ceil(i/o))}}catch{}try{let e=parseInt(De.readFileSync("/sys/fs/cgroup/cpu/cpu.cfs_quota_us","utf8").trim(),10),t=parseInt(De.readFileSync("/sys/fs/cgroup/cpu/cpu.cfs_period_us","utf8").trim(),10);if(e>0&&t>0)return Math.max(1,Math.ceil(e/t))}catch{}return r}var ki=.25,On=128,Ri=2,Fi=4,xi=6,vi=8,Ii=2048,Ni=40,Mi=128,Ei=32;function Oi(r){let e=Math.trunc(Number(r));if(!(!Number.isFinite(e)||e<1))return Math.min(On,e)}function Ai(r){let e=Math.trunc(Number(r));return!Number.isFinite(e)||e<1?xi:Math.min(vi,e)}function wr(r){return 2**Math.ceil(Math.log2(Math.max(1,r)))}function Pn(r){let e=Math.max(1,Math.trunc(r.logicalCpuCount)||1),t=Math.max(1,r.totalMemoryBytes/(1024*1024)),n=Math.min(Mi,Math.max(Ni,Math.round(t/Ei))),i=t*ki,o=Math.max(1,Math.floor(i/n)),s=Math.max(1,Math.min(e,2,o)),a=Math.max(1,Math.floor(i/(s*n))),u=Math.min(On,wr(e*Ri)),c=Math.min(On,wr(e*Fi)),d=Math.max(u,Math.min(c,a)),l=Oi(r.maxLanesPerRunner)??d,f=t<Ii?1:l,p=Math.max(1,Math.min(f,a)),h=Ai(r.tasksPerIsolate),g=p*h;return{maxConcurrentWorkers:s,isolateMemoryLimitMb:n,tasksPerWorkerCap:g,isolatePoolSize:p,tasksPerIsolate:h}}function en(){return Pn({logicalCpuCount:An(),totalMemoryBytes:kt()})}var Qi=Cr.join(__dirname,"execution/worker.js"),Ji=1e3,jn=new Sr.AsyncLocalStorage;function Rr(){return jn.getStore()}function Fr(r,e){return jn.run(r,e)}var Rt=class{constructor(e,t,n,i,o,s,a,u=6e4){this.scriptPath=o;this.onCrash=s;this.onRotate=a;this.entries=[];this.waiting=[];this.cachedMemoryOk=!0;this.lastMemoryCheckMs=0;this.memorySampleIntervalMs=200;this.destroying=!1;this.entryCounter=0;this.max=e,this.effectiveMemory=t,this.rssCeiling=n,this.tasksCap=i,this.drainTimeoutMs=u;for(let c=0;c<e;c++)this.spawnEntry()}getEntries(){return this.entries}spawnEntry(){let e=new Gt(this.scriptPath),t={id:++this.entryCounter,worker:e,tasks:new Map,reservations:0,draining:!1,spawnedAt:Date.now()};return e.on("message",n=>{let i=t.tasks.get(n.id);i&&(n.type==="taskReleased"?i.onRelease?.():n.type==="result"||n.type==="taskCancelled"?(typeof n.heapRatio=="number"&&(t.lastHeapRatio=n.heapRatio),typeof n.runnerRssBytes=="number"&&(t.lastRssBytes=n.runnerRssBytes),n.contextStats&&(t.contextStats=n.contextStats),i.onResult(n.type==="taskCancelled"?{type:"result",id:n.id,success:!1,taskCancelled:!0,error:{message:"Task cancelled",code:"ERR_TASK_CANCELLED"}}:n),!t.draining&&typeof n.heapRatio=="number"&&n.heapRatio>=.8&&this.rotateEntry(t,`heap=${Math.round(n.heapRatio*100)}%`)):i.onIoCall(n))}),e.on("exit",()=>{let n=t.draining,i=this.destroying;t.drainTimeout&&(clearTimeout(t.drainTimeout),t.drainTimeout=void 0);for(let[,s]of t.tasks)s.abortController.abort(),s.onResult({type:"result",success:!1,error:{message:i?"Worker terminated":t.lastError?`Worker crashed: ${t.lastError}`:"Worker crashed",code:i?void 0:"ERR_EXECUTOR_RUNNER_LOST",details:i?void 0:{outcome:"unknown_outcome",retryable:!1}}});t.tasks.clear();let o=this.entries.indexOf(t);o!==-1&&this.entries.splice(o,1),!n&&!i&&(this.onCrash&&this.onCrash(),this.entries.length<this.max&&this.spawnEntry()),this.drainWaiting()}),e.on("error",n=>{t.lastError=n.message}),this.entries.push(t),t}rotateEntry(e,t){if(e.draining)return;e.draining=!0;let n=Date.now()-e.spawnedAt;if(this.onRotate&&this.onRotate({reason:t,ageMs:n}),this.spawnEntry(),e.tasks.size===0){e.worker.terminate();return}e.drainTimeout=setTimeout(()=>{e.drainTimeout=void 0,e.worker.terminate()},this.drainTimeoutMs)}isMemoryAvailable(){let e=Date.now();return e-this.lastMemoryCheckMs>=this.memorySampleIntervalMs&&(this.cachedMemoryOk=process.memoryUsage().rss/this.effectiveMemory<this.rssCeiling,this.lastMemoryCheckMs=e),this.cachedMemoryOk}findLeastBusy(){let e=null;for(let t of this.entries){if(t.draining)continue;let n=t.tasks.size+t.reservations;n<this.tasksCap&&(!e||n<e.tasks.size+e.reservations)&&(e=t)}return e}dispatch(){let e=this.findLeastBusy();return e&&(e.tasks.size+e.reservations===0||this.isMemoryAvailable())?(e.reservations++,Promise.resolve(e)):new Promise(t=>this.waiting.push(t))}registerTask(e,t,n){e.reservations=Math.max(0,e.reservations-1),e.tasks.set(t,n)}releaseReservation(e){e.reservations=Math.max(0,e.reservations-1),this.drainWaiting()}unregisterTask(e,t){e.tasks.delete(t),e.draining&&e.tasks.size===0&&(e.drainTimeout&&(clearTimeout(e.drainTimeout),e.drainTimeout=void 0),e.worker.terminate()),this.drainWaiting()}drainWaiting(){for(;this.waiting.length>0;){let e=this.findLeastBusy();if(e&&(e.tasks.size+e.reservations===0||this.isMemoryAvailable()))e.reservations++,this.waiting.shift()(e);else break}}terminateEntry(e){e.worker.terminate()}resize(e){for(this.max=Math.max(1,e);this.entries.length<this.max;)this.spawnEntry()}getMax(){return this.max}getWaitingCount(){return this.waiting.length}getTotalActiveTasks(){let e=0;for(let t of this.entries)e+=t.tasks.size;return e}getMetrics(){return{max:this.max,activeTasks:this.getTotalActiveTasks(),waitingTasks:this.waiting.length,workers:this.entries.map(e=>({id:e.id,pid:e.worker.pid,activeTasks:e.tasks.size,reservations:e.reservations,draining:e.draining,ageMs:Date.now()-e.spawnedAt,lastHeapRatio:e.lastHeapRatio??0,lastRssBytes:e.lastRssBytes??0,contextStats:e.contextStats??{}}))}}destroyAll(){this.destroying=!0;for(let e of this.entries)e.worker.terminate();this.entries.length=0,this.waiting.length=0}},Tr=new Set(["$helpers","$cache","$transaction","$repos","$req","$res","$socket","$storage","$logs","$throw","$trigger","$pkgs","$debug"]);function Bn(r){if(r===void 0)return JSON.stringify({__e:"u"});try{return JSON.stringify({__e:"v",d:r},(e,t)=>typeof t=="bigint"?t.toString():t)}catch{return JSON.stringify({__e:"v",d:{__serializationError:!0,message:"Result is not JSON-serializable"}})}}var We=class r{constructor(e){this.logger=new Ht(r.name);this.effectiveMemory=kt();this.prevCpuUsage=process.cpuUsage();this.prevCpuTime=process.hrtime.bigint();this.pressureTicks=0;this.recoveryTicks=0;this.taskCounter=0;this.taskDoneTotal=0;this.taskErrorTotal=0;this.taskTimeoutTotal=0;this.rotationsTotal=0;this.crashesTotal=0;this.responseStreams=new Map;this.taskCancellers=new Map;this.taskDurationsMs=[];this.queueWaitDurationsMs=[];this.runtimeCallbackCounter=0;this.packageCacheService=e.packageCacheService,this.packageCdnLoaderService=e.packageCdnLoaderService,this.isolationTuning=e.tuning??en(),this.ceiling=this.isolationTuning.maxConcurrentWorkers,this.pool=new Rt(this.isolationTuning.maxConcurrentWorkers,this.effectiveMemory,.9,this.isolationTuning.tasksPerWorkerCap,Qi,()=>{this.crashesTotal++,this.logger.warn("Worker crashed, replacement spawned")},({reason:t,ageMs:n})=>{this.rotationsTotal++,this.logger.log(`Worker rotation: reason=${t} age=${Math.round(n/1e3)}s`)}),this.logger.log(`Worker pool started: ${this.isolationTuning.maxConcurrentWorkers} workers, ${this.isolationTuning.isolateMemoryLimitMb}MB per isolate, ${this.isolationTuning.isolatePoolSize} isolates/worker, ${this.isolationTuning.tasksPerIsolate} tasks/isolate, ${this.isolationTuning.tasksPerWorkerCap} tasks/worker cap`),this.tuneTimer=setInterval(()=>this.autoTune(),3e4)}onDestroy(){this.tuneTimer&&clearInterval(this.tuneTimer),this.pool.destroyAll()}autoTune(){let t=process.memoryUsage().rss/this.effectiveMemory,n=process.hrtime.bigint(),i=process.cpuUsage(this.prevCpuUsage),o=Number(n-this.prevCpuTime)/1e3,s=o>0?(i.user+i.system)/o:0;this.prevCpuUsage=process.cpuUsage(),this.prevCpuTime=n;let a=this.pool.getMax(),u=this.pool.getWaitingCount(),c=t>.85||s>.7,d=t<.7&&s<.5,l=u>0,f=a;c?(this.recoveryTicks=0,this.pressureTicks++,this.pressureTicks>=3&&(f=Math.max(1,a-1))):d&&l?(this.pressureTicks=0,this.recoveryTicks++,this.recoveryTicks>=3&&(f=Math.min(this.ceiling,a+2))):(this.pressureTicks=0,this.recoveryTicks=0),f!==a&&(this.pool.resize(f),this.pressureTicks=0,this.recoveryTicks=0,this.logger.log(`Worker pool adjusted: ${a} -> ${f} (rss=${Math.round(t*100)}% cpu=${Math.round(s*100)}% queue=${u})`))}createSnapshot(e){let t={$body:e.$body,$query:e.$query,$params:e.$params,$user:e.$user,$share:e.$share,$data:e.$data,$api:{request:e.$api?.request},$uploadedFile:e.$uploadedFile,$req:this.cloneSnapshotValue(e.$req)};for(let i of Object.keys(e)){if(!i.startsWith("$")||i in t||Tr.has(i))continue;let o=this.cloneSnapshotValue(e[i]);o!==void 0&&(t[i]=o)}let n=e.$flow;if(n!=null)try{t.$flow=this.cloneSnapshotValue(n)??{}}catch{t.$flow={}}return t}cloneSnapshotValue(e){if(typeof e!="function")try{return JSON.parse(JSON.stringify(e,(t,n)=>{if(typeof n=="bigint")return String(n);if(typeof n!="function")return n}))}catch{return}}mergeCtxChanges(e,t){if(t){t.$body!==void 0&&(e.$body=t.$body),t.$query!==void 0&&(e.$query=t.$query),t.$params!==void 0&&(e.$params=t.$params),t.$data!==void 0&&(e.$data=t.$data),t.$error!==void 0&&(e.$error=t.$error),t.$statusCode!==void 0&&(e.$statusCode=t.$statusCode),t.$share!==void 0&&(e.$share=t.$share),t.$api!==void 0&&e.$api&&(t.$api.error&&(e.$api.error=t.$api.error),t.$api.response&&(e.$api.response=t.$api.response)),t.$flow!==void 0&&t.$flow!==null&&typeof t.$flow=="object"&&e.$flow!=null&&typeof e.$flow=="object"&&Object.assign(e.$flow,t.$flow);for(let[n,i]of Object.entries(t))n.startsWith("$")&&(n==="$body"||n==="$query"||n==="$params"||n==="$data"||n==="$error"||n==="$statusCode"||n==="$share"||n==="$api"||n==="$flow"||Tr.has(n)||n==="$env"||(e[n]=i));delete e.$pkgs}}spawnAndExecute(e,t,n,i,o){return(async()=>{let s=Date.now(),a=await this.pool.dispatch();if(this.recordQueueWait(Date.now()-s),o?.aborted){this.pool.releaseReservation(a);let d=new Error("Execution aborted after client disconnect");return d.code="ERR_EXECUTION_ABORTED",d.isAbort=!0,Promise.reject(d)}let u=`t_${++this.taskCounter}`,c=Date.now();return new Promise((d,l)=>{let f=!1,p=new AbortController,h=!1,g,m=()=>{let $=new Error("Execution aborted after client disconnect");return $.code="ERR_EXECUTION_ABORTED",$.isAbort=!0,$},y=()=>{let $=new Error(`Script execution timed out after ${i}ms`);return $.code="ERR_SCRIPT_EXECUTION_TIMEOUT",$.isTimeout=!0,$},b,w=$=>{if(!(f||h)){h=!0,g=$,p.abort(),this.cleanupResponseStream(u,$);try{a.worker.postMessage({type:"cancelTask",id:u})}catch{}b=setTimeout(()=>{f||(f=!0,clearTimeout(x),k(),this.taskCancellers.delete(u),this.pool.unregisterTask(a,u),this.taskErrorTotal++,Q({event:"task_cancel_grace_terminate",id:u}),this.pool.terminateEntry(a),$.details={...$.details??{},outcome:"unknown_outcome",retryable:!1,escalation:"runner_terminated_after_cancel_grace"},l($))},Ji),b.unref?.()}},C=()=>w(m());this.taskCancellers.set(u,C);let T=()=>C(),k=()=>{o?.removeEventListener("abort",T)};o&&o.addEventListener("abort",T,{once:!0});let x=setTimeout(()=>{f||(this.taskTimeoutTotal++,Q({event:"task_timeout",id:u,timeoutMs:i}),w(y()))},i);this.pool.registerTask(a,u,{abortController:p,onResult:$=>{if(!f){if($.taskCancelled===!0&&this.pool.unregisterTask(a,u),f=!0,clearTimeout(x),b&&clearTimeout(b),this.taskCancellers.delete(u),k(),this.cleanupResponseStream(u),this.recordTaskDuration(Date.now()-c),h){p.abort(),this.taskErrorTotal++,l(g??m());return}if($.success){this.taskDoneTotal++,Q({event:"task_done",id:u,ok:!0});let I={value:$.value,valueAbsent:$.valueAbsent===!0,ctxChanges:$.ctxChanges};$.shortCircuit&&(I.shortCircuit=!0),d(I)}else{this.taskErrorTotal++,Q({event:"task_done",id:u,ok:!1,message:$.error?.message});let I=new Error($.error?.message||"Handler execution failed");I.statusCode=$.error?.statusCode,I.code=$.error?.code,I.errorCode=$.error?.code,I.details=$.error?.details,$.error?.stack&&(I.stack=$.error.stack),$.ctxChanges&&(I.ctxChanges=$.ctxChanges),this.cleanupResponseStream(u,I),l(I)}}},onRelease:()=>{this.pool.unregisterTask(a,u)},onIoCall:$=>{if(f)return;let I=p.signal;$.type==="repoCall"?this.handleIoCall(()=>this.execRepoCall($,n),a.worker,$.callId,I):$.type==="transactionCall"?this.handleIoCall(()=>this.execTransactionCall($,n,a.worker),a.worker,$.callId,I):$.type==="helpersCall"?this.handleIoCall(()=>this.execHelpersCall($,n),a.worker,$.callId,I):$.type==="socketCall"?this.handleIoCall(()=>this.execSocketCall($,n),a.worker,$.callId,I):$.type==="cacheCall"?this.handleIoCall(()=>this.execCacheCall($,n),a.worker,$.callId,I):$.type==="storageCall"?this.handleIoCall(()=>this.execStorageCall($,n,a.worker),a.worker,$.callId,I):$.type==="dispatchCall"?this.handleIoCall(()=>this.execDispatchCall($,n),a.worker,$.callId,I):$.type==="resCall"&&this.handleIoCall(()=>this.execResCall($,n),a.worker,$.callId,I)}}),a.worker.postMessage({type:e,id:u,...t}),o?.aborted&&C()})})()}postAbortedCallError(e,t){try{e.postMessage({type:"callError",callId:t,error:JSON.stringify({__userThrow:!0,message:"Execution aborted after client disconnect",code:"ERR_EXECUTION_ABORTED"})})}catch{}}async handleIoCall(e,t,n,i){if(i?.aborted){this.postAbortedCallError(t,n);return}try{let o=await(i?jn.run(i,e):e());if(i?.aborted){this.postAbortedCallError(t,n);return}try{t.postMessage({type:"callResult",callId:n,result:Bn(o)})}catch{}}catch(o){if(i?.aborted){this.postAbortedCallError(t,n);return}try{let s={__userThrow:!0,message:o.message,statusCode:o.statusCode,code:o.errorCode??o.code,details:o.details,messages:o.messages};t.postMessage({type:"callError",callId:n,error:JSON.stringify(s)})}catch{}}}async execRepoCall(e,t){let n=JSON.parse(e.argsJson),i=e.access==="secure"?t?.$repos?.secure?.[e.table]:t?.$repos?.[e.table];if(!i||typeof i[e.method]!="function"){let o=e.access==="secure"?"secure.":"";throw new Error(`Repo method not found: ${o}${e.table}.${e.method}`)}return i[e.method](...n)}async execTransactionCall(e,t,n){let o=JSON.parse(e.argsJson||"[]").map(a=>a?.__fnRef&&typeof a.__fnRef=="string"?(...u)=>this.invokeRuntimeCallback(n,e.id,a.__fnRef,u):a)[0];if(typeof o!="function")throw new Error("$transaction.run requires a callback");let s=t?.$transaction?.run;if(typeof s!="function")throw new Error("$transaction is not available");return await s.call(t.$transaction,o)}async execHelpersCall(e,t){let n=JSON.parse(e.argsJson),i=e.name.split("."),o=t?.$helpers;for(let s of i)o=o?.[s];if(typeof o!="function")throw new Error(`Helper not found: ${e.name}`);return o(...n)}async execSocketCall(e,t){let n=JSON.parse(e.argsJson),i=t?.$socket?.[e.method];if(typeof i!="function")throw new Error(`Socket method not found: ${e.method}`);return i(...n)}async execCacheCall(e,t){let n=JSON.parse(e.argsJson),i=t?.$cache?.[e.method];if(typeof i!="function")throw new Error(`Cache method not found: ${e.method}`);return i(...n)}async execStorageCall(e,t,n){let i=this.parseStorageArgs(e.argsJson,n,e.id),o=t?.$storage?.[e.method];if(typeof o!="function")throw new Error(`Storage method not found: ${e.method}`);return o(...i)}parseStorageArgs(e,t,n){return JSON.parse(e,(i,o)=>{if(o?.__fnRef&&typeof o.__fnRef=="string"){let s=o.__fnRef;return(...a)=>this.invokeRuntimeCallback(t,n,s,a)}return o})}invokeRuntimeCallback(e,t,n,i){let o=`rtcb_${++this.runtimeCallbackCounter}`;return new Promise((s,a)=>{let u=setTimeout(()=>{d(),a(new Error(`Runtime callback timed out: ${n}`))},3e4),c=l=>{if(!(l?.type!=="runtimeCallbackResult"||l.callId!==o)){if(d(),l.error){a(new Error(l.error));return}s(l.value)}},d=()=>{clearTimeout(u),e.off("message",c)};e.on("message",c),e.postMessage({type:"invokeRuntimeCallback",id:t,callId:o,callbackId:n,argsJson:JSON.stringify(i)})})}async execDispatchCall(e,t){let n=JSON.parse(e.argsJson),i=t?.$trigger;if(typeof i!="function")throw new Error("$trigger is not available");return i(...n)}cancelTask(e){this.taskCancellers.get(e)?.()}async execResCall(e,t){if(e.method==="streamStart"){let s=JSON.parse(e.argsJson||"[]")[1]||{},a=t?.$res?.stream;if(typeof a!="function")throw new Error("Response method not found: stream");let u=new kr.PassThrough,c={stream:u};this.responseStreams.set(e.id,c);let d=t?.$res;if(d&&typeof d.once=="function"){let f=()=>{d.writableEnded!==!0&&this.cancelTask(e.id)};d.once("close",f),c.closeCleanup=()=>{typeof d.off=="function"?d.off("close",f):typeof d.removeListener=="function"&&d.removeListener("close",f)}}let l=a.call(t.$res,u,s);return l&&typeof l.catch=="function"&&l.catch(()=>{}),!0}if(e.method==="streamChunk"){let o=this.responseStreams.get(e.id);if(!o)throw new Error(`Response stream not found: ${e.id}`);let s=Buffer.from(e.chunk||"","base64");return o.stream.write(s)||await new Promise((a,u)=>{let c=()=>{l(),a()},d=f=>{l(),u(f)},l=()=>{o.stream.off("drain",c),o.stream.off("error",d)};o.stream.once("drain",c),o.stream.once("error",d)}),!0}if(e.method==="streamEnd"){let o=this.responseStreams.get(e.id);return o&&(o.closeCleanup?.(),o.stream.end(),this.responseStreams.delete(e.id)),!0}if(e.method==="streamError"){let o=this.responseStreams.get(e.id);if(o){o.closeCleanup?.();let s=e.error?.message||"Response stream failed";o.stream.destroy(new Error(s)),this.responseStreams.delete(e.id)}return!0}let n=JSON.parse(e.argsJson||"[]"),i=t?.$res?.[e.method];if(typeof i!="function")throw new Error(`Response method not found: ${e.method}`);return i.apply(t.$res,n)}cleanupResponseStream(e,t){let n=this.responseStreams.get(e);n&&(this.responseStreams.delete(e),n.closeCleanup?.(),t?n.stream.destroy(t):n.stream.end())}toWorkerCodeBlock(e){return{code:e.code,sourceCode:e.sourceCode,scriptLanguage:e.scriptLanguage,type:e.type}}async run(e,t,n,i={}){let o=Math.max(1,Math.trunc(Number(n)||3e4)),s=await this.packageCacheService.getPackages(),a=this.packageCdnLoaderService.getPackageSources(s),u=this.createSnapshot(t);Q({event:"isolated_run_start",timeoutMs:o,codeLen:e?.length??0});let c;try{let d={code:e,sourceCode:i.sourceCode??e,pkgSources:a,snapshot:u,timeoutMs:o,memoryLimitMb:this.isolationTuning.isolateMemoryLimitMb,isolatePoolSize:this.isolationTuning.isolatePoolSize,tasksPerIsolate:this.isolationTuning.tasksPerIsolate};c=await this.spawnAndExecute("execute",d,t,o)}catch(d){let l=d;if(Q({event:"isolated_run_error",message:l.message,code:l.code,isTimeout:!!l.isTimeout}),l.code==="ERR_EXECUTION_ABORTED"||l.isAbort)throw l;if(l.isTimeout||l.code==="ERR_SCRIPT_EXECUTION_TIMEOUT")throw new me(o,e,l.details);l.code&&l.details&&(l.details.executorCode=l.code);let f=l.statusCode??(typeof l.status=="number"?l.status:void 0);throw xe.createException(l.errorPath,f,l.message||"Unknown error",e,l.details||{})}return this.mergeCtxChanges(t,c.ctxChanges||{}),Q({event:"isolated_run_ok"}),c.valueAbsent?void 0:c.value}async runBatch(e,t,n,i={}){let o=Math.max(1,Math.trunc(Number(n)||3e4)),s=await this.packageCacheService.getPackages(),a=this.packageCdnLoaderService.getPackageSources(s),u=this.createSnapshot(t);Q({event:"isolated_batch_start",timeoutMs:o,blocks:e.length});let c;try{let l={codeBlocks:e.map(f=>this.toWorkerCodeBlock(f)),pkgSources:a,snapshot:u,timeoutMs:o,memoryLimitMb:this.isolationTuning.isolateMemoryLimitMb,isolatePoolSize:this.isolationTuning.isolatePoolSize,tasksPerIsolate:this.isolationTuning.tasksPerIsolate};c=await this.spawnAndExecute("executeBatch",l,t,o,i.signal)}catch(d){let l=d;if(Q({event:"isolated_batch_error",message:l.message,code:l.code,isTimeout:!!l.isTimeout}),l.ctxChanges&&this.mergeCtxChanges(t,l.ctxChanges),l.code==="ERR_EXECUTION_ABORTED"||l.isAbort)throw l;if(l.isTimeout||l.code==="ERR_SCRIPT_EXECUTION_TIMEOUT")throw new me(o,"(batch execution)",l.details);l.code&&l.details&&(l.details.executorCode=l.code);let f=l.statusCode??(typeof l.status=="number"?l.status:void 0);throw xe.createException(l.errorPath,f,l.message||"Unknown error","(batch execution)",l.details||{})}return this.mergeCtxChanges(t,c.ctxChanges||{}),Q({event:"isolated_batch_ok"}),{value:c.valueAbsent?void 0:c.value,shortCircuit:c.shortCircuit===!0}}recordTaskDuration(e){this.taskDurationsMs.push(e),this.taskDurationsMs.length>512&&this.taskDurationsMs.shift()}recordQueueWait(e){this.queueWaitDurationsMs.push(e),this.queueWaitDurationsMs.length>512&&this.queueWaitDurationsMs.shift()}percentile(e,t){if(e.length===0)return 0;let n=[...e].sort((o,s)=>o-s),i=Math.min(n.length-1,Math.max(0,Math.ceil(t/100*n.length)-1));return n[i]}getMetrics(){let e=this.pool.getMetrics(),t=this.taskDurationsMs,n=t.length===0?0:t.reduce((s,a)=>s+a,0)/t.length,i=this.queueWaitDurationsMs,o=i.length===0?0:i.reduce((s,a)=>s+a,0)/i.length;return{tuning:this.isolationTuning,pool:e,taskDoneTotal:this.taskDoneTotal,taskErrorTotal:this.taskErrorTotal,taskTimeoutTotal:this.taskTimeoutTotal,rotationsTotal:this.rotationsTotal,crashesTotal:this.crashesTotal,avgTaskMs:n,p95TaskMs:this.percentile(t,95),p99TaskMs:this.percentile(t,99),avgQueueWaitMs:o,p95QueueWaitMs:this.percentile(i,95),p99QueueWaitMs:this.percentile(i,99),maxHeapRatio:Math.max(0,...e.workers.map(s=>s.lastHeapRatio||0)),runnerRssBytes:e.workers.reduce((s,a)=>s+(a.lastRssBytes||0),0)}}};var ve=ue(require("typescript")),Ft={oauth_config_definition:"",route_handler_definition:"logic",pre_hook_definition:"code",post_hook_definition:"code",bootstrap_script_definition:"logic",websocket_definition:"connectionHandlerScript",websocket_event_definition:"handlerScript"};function zi(r){return te.getLegacyField(r)}function Vi(r){return te.isScriptTable(r)}function Hi(r){return te.normalizeLanguage(r)}var tn=class{getLegacyField(e){return Ft[e]}isScriptTable(e){return e in Ft}normalizeLanguage(e){return e==="javascript"?"javascript":"typescript"}compileSource(e,t){if(e==null||e==="")return null;let n=String(e),o=this.normalizeLanguage(t)==="javascript"?n:this.transpileTypeScript(n);return this.assertExecutableJavaScript(o),o}isExecutableJavaScript(e){if(!e)return!1;try{return this.assertExecutableJavaScript(e),!0}catch{return!1}}normalizeRecord(e,t){if(!this.isScriptTable(e)||!t||typeof t!="object")return t;let n={...t},i=this.getLegacyField(e);return i&&(n.sourceCode===void 0||n.sourceCode===null||n.sourceCode==="")&&n[i]!==void 0&&(n.sourceCode=n[i]),n.scriptLanguage=this.normalizeLanguage(n.scriptLanguage),n.compiledCode=this.compileSource(n.sourceCode,n.scriptLanguage),i&&i in n&&delete n[i],n}normalizePatch(e,t,n){if(!this.isScriptTable(e)||!t||typeof t!="object")return t;let i=this.getLegacyField(e),o=Object.prototype.hasOwnProperty.call(t,"sourceCode")||(i?Object.prototype.hasOwnProperty.call(t,i):!1),s=Object.prototype.hasOwnProperty.call(t,"scriptLanguage");if(!o&&!s)return t;let a=o?t.sourceCode??(i?t[i]:void 0):n?.sourceCode??(i&&n?n[i]:void 0),u=s?t.scriptLanguage:n?.scriptLanguage,c={...t};return o&&(c.sourceCode=a??null),c.scriptLanguage=this.normalizeLanguage(u),c.compiledCode=this.compileSource(a,c.scriptLanguage),i&&i in c&&delete c[i],c}getExecutableScript(e){return this.resolveExecutableScript(e).code}resolveExecutableScript(e){if(!e||typeof e!="object")return{code:null,compiledCode:null,shouldPersistCompiledCode:!1};if(typeof e.sourceCode=="string"&&e.sourceCode!==""){let n=this.compileSource(e.sourceCode,e.scriptLanguage);return{code:n,compiledCode:n,shouldPersistCompiledCode:n!==e.compiledCode}}let t=Object.keys(Ft).find(n=>Ft[n]in e);if(t){let n=e[Ft[t]];if(typeof n=="string"&&n!==""){let i=this.compileSource(n,e.scriptLanguage);return{code:i,compiledCode:i,shouldPersistCompiledCode:i!==e.compiledCode}}}return typeof e.compiledCode=="string"&&e.compiledCode!==""&&this.isExecutableJavaScript(e.compiledCode)?{code:e.compiledCode,compiledCode:e.compiledCode,shouldPersistCompiledCode:!1}:{code:null,compiledCode:null,shouldPersistCompiledCode:!1}}normalizeFlowStepScriptConfig(e){if(!e||typeof e!="object")return e;let t=e.type;if(t!=="script"&&t!=="condition")return e;let n={...e},i=e.config;if(typeof i=="string")try{i=JSON.parse(i)}catch{return e}let o=i&&typeof i=="object"?i:{};n.sourceCode=n.sourceCode??o.sourceCode??o.code??null,n.scriptLanguage=this.normalizeLanguage(n.scriptLanguage??o.scriptLanguage),n.compiledCode=this.compileSource(n.sourceCode,n.scriptLanguage);let s={...o};return delete s.sourceCode,delete s.scriptLanguage,delete s.compiledCode,delete s.code,{...n,config:typeof e.config=="string"?JSON.stringify(s):s}}repairContract(e){let t=this.normalizeLanguage(e?.scriptLanguage),n=e?.sourceCode??null,i=this.compileSource(n,t);return{sourceCode:n,scriptLanguage:t,code:i,compiledCode:i,shouldPersistCompiledCode:i!==e?.compiledCode}}transpileTypeScript(e){let t=ve.default.transpileModule(e,{compilerOptions:{target:ve.default.ScriptTarget.ES2022,module:ve.default.ModuleKind.CommonJS,importsNotUsedAsValues:ve.default.ImportsNotUsedAsValues.Remove,sourceMap:!1,inlineSourceMap:!1,inlineSources:!1},reportDiagnostics:!0}),n=t.diagnostics?.find(i=>i.category===ve.default.DiagnosticCategory.Error);if(n)throw new Error(ve.default.flattenDiagnosticMessageText(n.messageText,`
3
3
  `));return t.outputText.trimEnd()}assertExecutableJavaScript(e){e&&new Function(`return (async () => {
4
4
  "use strict";
5
5
  ${e}
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@enfyra/kernel",
3
- "version": "1.1.54",
3
+ "version": "1.1.55",
4
4
  "source": "bundled-compiled-kernel"
5
5
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@enfyra/kernel",
3
- "version": "1.1.54",
3
+ "version": "1.1.55",
4
4
  "description": "Closed-distribution Enfyra kernel runtime",
5
5
  "license": "Elastic-2.0",
6
6
  "packageManager": "yarn@4.17.0",