@enfyra/kernel 1.1.1 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- "use strict";var U=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var F=U((Ee,H)=>{"use strict";var{fork:se}=require("child_process"),oe=require("path");function ie({workerDir:e,activeTaskContexts:t}){let n=new Map,a=new Map,r=null,o=0;function c(p){for(let i of a.values())i.reject(p);a.clear()}function _(p){let i=typeof p=="string"?JSON.parse(p):p;if(i?.error)throw new Error(i.error);return i?.value}async function f(p){let i=t.get(p.taskId);if(!i)throw new Error(`Package callback context not found: ${p.taskId}`);let s=JSON.stringify(p.callbackId),g=JSON.stringify(p.argsJson||"[]"),u=await i.evalClosure(`return __invokeRuntimeCallback(${s}, ${g});`,[],{arguments:{copy:!0},result:{promise:!0,copy:!0}});return _(u)}function v(){if(r&&r.connected)return r;let p=oe.join(e,"package-runtime.child.js"),i=se(p,[],{stdio:["ignore","ignore","ignore","ipc"]});return r=i,i.on("message",s=>{if(!s||!s.id)return;if(s.type==="pkgCallbackCall"){f(s).then(u=>{try{i.send({type:"pkgCallbackResult",id:s.id,value:u})}catch{}}).catch(u=>{try{i.send({type:"pkgCallbackError",id:s.id,error:{message:u.message,stack:u.stack}})}catch{}});return}let g=a.get(s.id);if(g)if(a.delete(s.id),s.ok)g.resolve(s.value);else{let u=new Error(s.error?.message||"Package runtime call failed");u.stack=s.error?.stack||u.stack,g.reject(u)}}),i.on("exit",(s,g)=>{r===i&&(r=null),c(new Error(`Package runtime exited${g?` with signal ${g}`:` with code ${s}`}`))}),i.on("error",s=>{r===i&&(r=null),c(s)}),i}function d(p){return new Promise((i,s)=>{let g=v(),u=`pkg_${++o}`;a.set(u,{resolve:i,reject:s});try{g.send({...p,id:u},y=>{y&&(a.delete(u),s(y))})}catch(y){a.delete(u),s(y)}})}function m(p){try{if(!r||!r.connected)return;r.send({...p,id:`pkg_${++o}`,fire:!0})}catch{}}async function l(p,i){let s=n.get(p);if(!s)throw new Error("Package context is not available");if(i.handleId)return d({op:i.kind==="get"?"handleGet":"handleCall",taskId:p,handleId:i.handleId,path:i.path||[],argsJson:i.argsJson||"[]"});let g=s.get(i.packageName);if(!g)throw new Error(`Package "${i.packageName}" is not available`);return d({op:i.kind==="construct"?"construct":"call",taskId:p,packageName:i.packageName,package:{name:g.name,fileUrl:g.fileUrl},path:i.path||[],argsJson:i.argsJson||"[]"})}function h(p,i){n.set(p,i)}function w(p){n.delete(p),m({op:"releaseTask",taskId:p})}function k(){if(r){try{r.kill()}catch{}r=null}}return{cleanupTaskPackages:w,executePackageRuntimeCall:l,setTaskPackages:h,shutdownPackageRuntime:k}}H.exports={createPackageRuntimeBridge:ie}});var K=U((Te,L)=>{"use strict";var ce=`
1
+ "use strict";var U=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var F=U((Ee,H)=>{"use strict";var{fork:se}=require("child_process"),oe=require("path");function ie({workerDir:e,activeTaskContexts:t}){let n=new Map,a=new Map,r=null,o=0;function c(f){for(let i of a.values())i.reject(f);a.clear()}function _(f){let i=typeof f=="string"?JSON.parse(f):f;if(i?.error)throw new Error(i.error);return i?.value}async function p(f){let i=t.get(f.taskId);if(!i)throw new Error(`Package callback context not found: ${f.taskId}`);let s=JSON.stringify(f.callbackId),g=JSON.stringify(f.argsJson||"[]"),u=await i.evalClosure(`return __invokeRuntimeCallback(${s}, ${g});`,[],{arguments:{copy:!0},result:{promise:!0,copy:!0}});return _(u)}function v(){if(r&&r.connected)return r;let f=oe.join(e,"package-runtime.child.js"),i=se(f,[],{stdio:["ignore","ignore","ignore","ipc"]});return r=i,i.on("message",s=>{if(!s||!s.id)return;if(s.type==="pkgCallbackCall"){p(s).then(u=>{try{i.send({type:"pkgCallbackResult",id:s.id,value:u})}catch{}}).catch(u=>{try{i.send({type:"pkgCallbackError",id:s.id,error:{message:u.message,stack:u.stack}})}catch{}});return}let g=a.get(s.id);if(g)if(a.delete(s.id),s.ok)g.resolve(s.value);else{let u=new Error(s.error?.message||"Package runtime call failed");u.stack=s.error?.stack||u.stack,g.reject(u)}}),i.on("exit",(s,g)=>{r===i&&(r=null),c(new Error(`Package runtime exited${g?` with signal ${g}`:` with code ${s}`}`))}),i.on("error",s=>{r===i&&(r=null),c(s)}),i}function d(f){return new Promise((i,s)=>{let g=v(),u=`pkg_${++o}`;a.set(u,{resolve:i,reject:s});try{g.send({...f,id:u},y=>{y&&(a.delete(u),s(y))})}catch(y){a.delete(u),s(y)}})}function m(f){try{if(!r||!r.connected)return;r.send({...f,id:`pkg_${++o}`,fire:!0})}catch{}}async function l(f,i){let s=n.get(f);if(!s)throw new Error("Package context is not available");if(i.handleId)return d({op:i.kind==="get"?"handleGet":"handleCall",taskId:f,handleId:i.handleId,path:i.path||[],argsJson:i.argsJson||"[]"});let g=s.get(i.packageName);if(!g)throw new Error(`Package "${i.packageName}" is not available`);return d({op:i.kind==="construct"?"construct":"call",taskId:f,packageName:i.packageName,package:{name:g.name,fileUrl:g.fileUrl},path:i.path||[],argsJson:i.argsJson||"[]"})}function h(f,i){n.set(f,i)}function w(f){n.delete(f),m({op:"releaseTask",taskId:f})}function k(){if(r){try{r.kill()}catch{}r=null}}return{cleanupTaskPackages:w,executePackageRuntimeCall:l,setTaskPackages:h,shutdownPackageRuntime:k}}H.exports={createPackageRuntimeBridge:ie}});var K=U((je,L)=>{"use strict";var ce=`
2
2
  "use strict";
3
3
  let $ctx = {};
4
4
  let $pkgs = {};
@@ -194,29 +194,54 @@ async function __invokeRuntimeCallback(id, argsJson) {
194
194
  }
195
195
  }
196
196
 
197
- function __safeClone(v) {
197
+ async function __safeClone(v) {
198
198
  if (v === undefined) return undefined;
199
- try { return JSON.parse(JSON.stringify(v)); }
199
+ try {
200
+ if (v && typeof v.then === 'function') {
201
+ return await __safeClone(await v);
202
+ }
203
+ if (v instanceof Date) return v.toISOString();
204
+ if (v instanceof Set) {
205
+ const out = [];
206
+ for (const item of v.values()) out.push(await __safeClone(item));
207
+ return out;
208
+ }
209
+ if (v instanceof Map) {
210
+ const out = {};
211
+ for (const [key, item] of v.entries()) out[String(key)] = await __safeClone(item);
212
+ return out;
213
+ }
214
+ if (Array.isArray(v)) return Promise.all(v.map(__safeClone));
215
+ if (v && typeof v === 'object') {
216
+ const out = {};
217
+ for (const key of Object.keys(v)) out[key] = await __safeClone(v[key]);
218
+ return out;
219
+ }
220
+ if (typeof v === 'function' && v.__pkgHandlePromise) {
221
+ return undefined;
222
+ }
223
+ return JSON.parse(JSON.stringify(v));
224
+ }
200
225
  catch { return null; }
201
226
  }
202
227
 
203
- function __extractResult(result, isAbsent) {
228
+ async function __extractResult(result, isAbsent) {
204
229
  const valueAbsent = isAbsent === true;
205
230
  const out = {
206
231
  valueAbsent,
207
232
  ctxChanges: {
208
- $body: __safeClone($ctx.$body),
209
- $query: __safeClone($ctx.$query),
210
- $params: __safeClone($ctx.$params),
211
- $data: __safeClone($ctx.$data),
212
- $share: __safeClone($ctx.$share),
213
- $flow: __safeClone($ctx.$flow),
214
- $error: __safeClone($ctx.$error),
215
- $api: __safeClone($ctx.$api),
233
+ $body: await __safeClone($ctx.$body),
234
+ $query: await __safeClone($ctx.$query),
235
+ $params: await __safeClone($ctx.$params),
236
+ $data: await __safeClone($ctx.$data),
237
+ $share: await __safeClone($ctx.$share),
238
+ $flow: await __safeClone($ctx.$flow),
239
+ $error: await __safeClone($ctx.$error),
240
+ $api: await __safeClone($ctx.$api),
216
241
  $statusCode: $ctx.$statusCode,
217
242
  }
218
243
  };
219
- if (!valueAbsent) out.value = __safeClone(result);
244
+ if (!valueAbsent) out.value = await __safeClone(result);
220
245
  return JSON.stringify(out);
221
246
  }
222
247
 
@@ -626,16 +651,16 @@ function __cleanupTask() {
626
651
  __runtimeCallbacks = new Map();
627
652
  return true;
628
653
  }
629
- `;function le(e){return ce.replace("%%PKG_SETUP%%",e)}L.exports={buildSetupCode:le}});var{parentPort:O}=require("worker_threads"),D=require("fs"),{fileURLToPath:ue}=require("url"),{createPackageRuntimeBridge:pe}=F(),{buildSetupCode:fe}=K(),N;try{N=require("isolated-vm")}catch(e){O.postMessage({type:"error",message:"isolated-vm not available: "+e.message}),process.exit(1)}var A=new Map,W=0,J=new Map,M=pe({workerDir:__dirname,activeTaskContexts:J}),_e=500,de=5e3,ge=32,q=new WeakMap,G=new WeakMap,X=new WeakMap,C={created:0,reused:0,released:0,evicted:0,scrubFailed:0},x=null,ye=0,B=0,V=0;async function he(){let e=Date.now();if(e-B<de)return V;if(B=e,!x)return 0;let t=0;for(let n of x){let a=n?.isolate;if(!(!a||a.isDisposed))try{let r=await a.getHeapStatistics(),o=r.heap_size_limit||1,c=r.used_heap_size/o;c>t&&(t=c)}catch{}}return V=t,t}async function b(e){e.heapRatio=await he(),e.contextStats=me(),O.postMessage(e)}function me(){let e=0;if(x)for(let t of x)e+=t?.idleContexts?.length||0;return{...C,idle:e}}function Z(e,t){if(!x){let r=Math.max(1,Math.trunc(Number(t)||8));x=new Array(r).fill(null)}let n=ye++%x.length,a=x[n];return(!a||!a.isolate||a.isolate.isDisposed)&&(a={isolate:new N.Isolate({memoryLimit:e}),idleContexts:[]},x[n]=a),a}async function $(e,t,n){let a=q.get(e);a||(a=new Map,q.set(e,a));let r=a.get(t);if(r)return r;let o=await e.compileScript(t,{filename:n});if(a.set(t,o),a.size>_e){let c=a.keys().next().value;a.delete(c)}return o}O.on("message",async e=>{if(e.type==="execute")Ne(e).catch(async t=>{await b({type:"result",id:e.id,success:!1,error:{message:t.message,stack:t.stack}})});else if(e.type==="executeBatch")Je(e).catch(async t=>{await b({type:"result",id:e.id,success:!1,error:{message:t.message,stack:t.stack}})});else if(e.type==="callResult"){let t=A.get(e.callId);t&&(A.delete(e.callId),t.resolve(e.result))}else if(e.type==="callError"){let t=A.get(e.callId);t&&(A.delete(e.callId),t.reject(new Error(e.error)))}});function ke(e,t,n){return new Promise((a,r)=>{let o=`cb_${++W}`;A.set(o,{resolve:a,reject:r}),O.postMessage({type:t,id:e,callId:o,...n})})}function ve(e,t,n){O.postMessage({type:t,id:e,callId:`f_${++W}`,...n})}function we(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=ue(e.fileUrl)),!t||!D.existsSync(t)?null:D.readFileSync(t,"utf8")}async function Pe(e,t,n){try{let a=we(n);if(!a)return null;let r=await e.compileModule(a,{filename:`pkg:${n.safeName}`});await r.instantiate(t,c=>{throw new Error(`Unresolved import in package ${n.safeName}: ${c}`)}),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 Q(e,t){let n=r=>{let o=2166136261;for(let c=0;c<r.length;c++)o^=r.charCodeAt(c),o=Math.imul(o,16777619);return(o>>>0).toString(36)},a=new Set(t||[]);return e.map(r=>{let o=r.cacheKey||`${r.filePath||""}:${r.fileUrl||""}:${r.mtimeMs||""}:${r.size||""}:${n(r.sourceCode||"")}`,c=a.has(r.name)?"isolate":"proxy";return`${r.name}:${r.version||""}:${o}:${c}`}).join("|")}function Y(e,t){let n=new Set(t.map(f=>f.name)),a=new Set,r=String(e||""),o=/\b(?:\$ctx\.)?\$pkgs\s*\[\s*(['"`])([^'"`]+)\1\s*\]/g,c=/\brequire\s*\(\s*(['"`])([^'"`]+)\1\s*\)/g,_=/\b(?:\$ctx\.)?\$pkgs\.([A-Za-z_$][\w$]*)/g;for(let f of[o,c])for(let v of r.matchAll(f)){let d=v[2];n.has(d)&&a.add(d)}for(let f of r.matchAll(_)){let v=f[1];n.has(v)&&a.add(v)}return a}async function xe(e,t,n,a){let r=await e.createContext(),o=r.global;await o.set("global",o.derefInto());let c=[],_=[],f=new Map;for(let l of n){f.set(l.name,l);let h=a.has(l.name)?await Pe(e,r,l):null;h!==null?(await o.set(`__pkg_${l.safeName}`,h),c.push(l)):_.push(l)}M.setTaskPackages(t,f),await o.set("__callRef",new N.Reference(async(l,h,w)=>{let k=JSON.parse(w);return h==="pkgCall"?JSON.stringify(await M.executePackageRuntimeCall(l,k)):ke(l,h,k)})),await o.set("__fireRef",new N.Reference((l,h,w)=>{let k=JSON.parse(w);ve(l,h,k)}));let v=c.map(l=>`$pkgs[${JSON.stringify(l.name)}] = __pkg_${l.safeName};`).concat(_.map(l=>`$pkgs[${JSON.stringify(l.name)}] = __createPkgProxy(${JSON.stringify(l.name)}, []);`)).join(`
630
- `),d=fe(v);return await(await $(e,d,"setup.js")).run(r,{timeout:5e3}),G.set(r,Q(n,a)),X.set(r,f),r}async function ee(e,t,n,a,r){let o=e.isolate,c=Q(n,r),_=null;for(let d=e.idleContexts.length-1;d>=0;d--){let m=e.idleContexts[d];if(e.idleContexts.splice(d,1),G.get(m)===c){_=m,C.reused++;break}try{m.release()}catch{}}_||(_=await xe(o,t,n,r),C.created++),M.setTaskPackages(t,X.get(_)||new Map);let f=_.global;return await f.set("__snapshot",new N.ExternalCopy(a).copyInto()),await f.set("__nextTaskId",t),await(await $(o,"__resetTask(__snapshot, __nextTaskId);","reset-task.js")).run(_,{timeout:5e3}),_}async function te(e,t){if(!(!t||e.isolate.isDisposed)){try{await(await $(e.isolate,"__cleanupTask();","cleanup-task.js")).run(t,{timeout:5e3})}catch{C.scrubFailed++;try{t.release()}catch{}return}if(e.idleContexts.length>=ge){try{t.release()}catch{}C.evicted++;return}e.idleContexts.push(t),C.released++}}function $e(e){try{let t=JSON.parse(e.message);if(t&&t.__userThrow)return{...t,message:t.message??e.message}}catch{}return null}var Se=3,be=["setup.js","extract.js","extract-error-ctx.js","set-status.js","populate-error.js"];function Ce(e){if(!e)return null;let t=e.split(`
631
- `);for(let n of t){let a=n.match(/at\s+(.+\.js):(\d+):(\d+)/);if(!a)continue;let r=a[1].trim();if(be.includes(r))continue;let c=parseInt(a[2])-Se;if(!(c<=0))return{line:c,column:parseInt(a[3]),phase:r.replace(".js","")}}return null}function Re(e,t,n){if(!e||!t)return;let a=String(e).split(/\r?\n/),r=Math.max(1,t-1),o=Math.min(a.length,t+1),c=String(o).length,_=[];for(let f=r;f<=o;f++){let v=f===t?">":" ";_.push(`${v} ${String(f).padStart(c," ")}. ${a[f-1]??""}`),f===t&&n&&n>0&&_.push(` ${" ".repeat(c)} ${" ".repeat(Math.max(0,n-1))}^`)}return _.join(`
632
- `)}function Ae(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 E(e,t){let n=$e(e);if(n)return{message:n.message,statusCode:n.statusCode,details:n.details};let a=Ce(e.stack),r=e.message||"Unknown error",o=a?`${r} (${a.phase}, line ${a.line})`:r,c=Ae(a,t),_=a?Re(c,a.line,a.column):void 0;return{message:o,statusCode:e.statusCode||null,details:a?{...a,codeFrame:_}:void 0}}async function re(e,t){let n=E(t);await b({type:"result",id:e,success:!1,error:{...n,stack:t.stack,code:t.code}})}async function Ne(e){let{id:t,code:n,pkgSources:a,snapshot:r,memoryLimitMb:o,isolatePoolSize:c}=e,_=a||[],f=Math.max(1,Math.trunc(Number(e.timeoutMs)||3e4)),v=Y(n,_),d=Z(o,c),m=d.isolate,l=await ee(d,t,_,r,v);J.set(t,l);try{let h=`
654
+ `;function le(e){return ce.replace("%%PKG_SETUP%%",e)}L.exports={buildSetupCode:le}});var{parentPort:O}=require("worker_threads"),D=require("fs"),{fileURLToPath:ue}=require("url"),{createPackageRuntimeBridge:fe}=F(),{buildSetupCode:pe}=K(),N;try{N=require("isolated-vm")}catch(e){O.postMessage({type:"error",message:"isolated-vm not available: "+e.message}),process.exit(1)}var A=new Map,W=0,J=new Map,M=fe({workerDir:__dirname,activeTaskContexts:J}),_e=500,de=5e3,ge=32,q=new WeakMap,G=new WeakMap,X=new WeakMap,C={created:0,reused:0,released:0,evicted:0,scrubFailed:0},x=null,ye=0,B=0,V=0;async function he(){let e=Date.now();if(e-B<de)return V;if(B=e,!x)return 0;let t=0;for(let n of x){let a=n?.isolate;if(!(!a||a.isDisposed))try{let r=await a.getHeapStatistics(),o=r.heap_size_limit||1,c=r.used_heap_size/o;c>t&&(t=c)}catch{}}return V=t,t}async function b(e){e.heapRatio=await he(),e.contextStats=me(),O.postMessage(e)}function me(){let e=0;if(x)for(let t of x)e+=t?.idleContexts?.length||0;return{...C,idle:e}}function Z(e,t){if(!x){let r=Math.max(1,Math.trunc(Number(t)||8));x=new Array(r).fill(null)}let n=ye++%x.length,a=x[n];return(!a||!a.isolate||a.isolate.isDisposed)&&(a={isolate:new N.Isolate({memoryLimit:e}),idleContexts:[]},x[n]=a),a}async function $(e,t,n){let a=q.get(e);a||(a=new Map,q.set(e,a));let r=a.get(t);if(r)return r;let o=await e.compileScript(t,{filename:n});if(a.set(t,o),a.size>_e){let c=a.keys().next().value;a.delete(c)}return o}O.on("message",async e=>{if(e.type==="execute")Ne(e).catch(async t=>{await b({type:"result",id:e.id,success:!1,error:{message:t.message,stack:t.stack}})});else if(e.type==="executeBatch")Je(e).catch(async t=>{await b({type:"result",id:e.id,success:!1,error:{message:t.message,stack:t.stack}})});else if(e.type==="callResult"){let t=A.get(e.callId);t&&(A.delete(e.callId),t.resolve(e.result))}else if(e.type==="callError"){let t=A.get(e.callId);t&&(A.delete(e.callId),t.reject(new Error(e.error)))}});function ke(e,t,n){return new Promise((a,r)=>{let o=`cb_${++W}`;A.set(o,{resolve:a,reject:r}),O.postMessage({type:t,id:e,callId:o,...n})})}function ve(e,t,n){O.postMessage({type:t,id:e,callId:`f_${++W}`,...n})}function we(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=ue(e.fileUrl)),!t||!D.existsSync(t)?null:D.readFileSync(t,"utf8")}async function Pe(e,t,n){try{let a=we(n);if(!a)return null;let r=await e.compileModule(a,{filename:`pkg:${n.safeName}`});await r.instantiate(t,c=>{throw new Error(`Unresolved import in package ${n.safeName}: ${c}`)}),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 Q(e,t){let n=r=>{let o=2166136261;for(let c=0;c<r.length;c++)o^=r.charCodeAt(c),o=Math.imul(o,16777619);return(o>>>0).toString(36)},a=new Set(t||[]);return e.map(r=>{let o=r.cacheKey||`${r.filePath||""}:${r.fileUrl||""}:${r.mtimeMs||""}:${r.size||""}:${n(r.sourceCode||"")}`,c=a.has(r.name)?"isolate":"proxy";return`${r.name}:${r.version||""}:${o}:${c}`}).join("|")}function Y(e,t){let n=new Set(t.map(p=>p.name)),a=new Set,r=String(e||""),o=/\b(?:\$ctx\.)?\$pkgs\s*\[\s*(['"`])([^'"`]+)\1\s*\]/g,c=/\brequire\s*\(\s*(['"`])([^'"`]+)\1\s*\)/g,_=/\b(?:\$ctx\.)?\$pkgs\.([A-Za-z_$][\w$]*)/g;for(let p of[o,c])for(let v of r.matchAll(p)){let d=v[2];n.has(d)&&a.add(d)}for(let p of r.matchAll(_)){let v=p[1];n.has(v)&&a.add(v)}return a}async function xe(e,t,n,a){let r=await e.createContext(),o=r.global;await o.set("global",o.derefInto());let c=[],_=[],p=new Map;for(let l of n){p.set(l.name,l);let h=a.has(l.name)?await Pe(e,r,l):null;h!==null?(await o.set(`__pkg_${l.safeName}`,h),c.push(l)):_.push(l)}M.setTaskPackages(t,p),await o.set("__callRef",new N.Reference(async(l,h,w)=>{let k=JSON.parse(w);return h==="pkgCall"?JSON.stringify(await M.executePackageRuntimeCall(l,k)):ke(l,h,k)})),await o.set("__fireRef",new N.Reference((l,h,w)=>{let k=JSON.parse(w);ve(l,h,k)}));let v=c.map(l=>`$pkgs[${JSON.stringify(l.name)}] = __pkg_${l.safeName};`).concat(_.map(l=>`$pkgs[${JSON.stringify(l.name)}] = __createPkgProxy(${JSON.stringify(l.name)}, []);`)).join(`
655
+ `),d=pe(v);return await(await $(e,d,"setup.js")).run(r,{timeout:5e3}),G.set(r,Q(n,a)),X.set(r,p),r}async function ee(e,t,n,a,r){let o=e.isolate,c=Q(n,r),_=null;for(let d=e.idleContexts.length-1;d>=0;d--){let m=e.idleContexts[d];if(e.idleContexts.splice(d,1),G.get(m)===c){_=m,C.reused++;break}try{m.release()}catch{}}_||(_=await xe(o,t,n,r),C.created++),M.setTaskPackages(t,X.get(_)||new Map);let p=_.global;return await p.set("__snapshot",new N.ExternalCopy(a).copyInto()),await p.set("__nextTaskId",t),await(await $(o,"__resetTask(__snapshot, __nextTaskId);","reset-task.js")).run(_,{timeout:5e3}),_}async function te(e,t){if(!(!t||e.isolate.isDisposed)){try{await(await $(e.isolate,"__cleanupTask();","cleanup-task.js")).run(t,{timeout:5e3})}catch{C.scrubFailed++;try{t.release()}catch{}return}if(e.idleContexts.length>=ge){try{t.release()}catch{}C.evicted++;return}e.idleContexts.push(t),C.released++}}function $e(e){try{let t=JSON.parse(e.message);if(t&&t.__userThrow)return{...t,message:t.message??e.message}}catch{}return null}var Se=3,be=["setup.js","extract.js","extract-error-ctx.js","set-status.js","populate-error.js"];function Ce(e){if(!e)return null;let t=e.split(`
656
+ `);for(let n of t){let a=n.match(/at\s+(.+\.js):(\d+):(\d+)/);if(!a)continue;let r=a[1].trim();if(be.includes(r))continue;let c=parseInt(a[2])-Se;if(!(c<=0))return{line:c,column:parseInt(a[3]),phase:r.replace(".js","")}}return null}function Re(e,t,n){if(!e||!t)return;let a=String(e).split(/\r?\n/),r=Math.max(1,t-1),o=Math.min(a.length,t+1),c=String(o).length,_=[];for(let p=r;p<=o;p++){let v=p===t?">":" ";_.push(`${v} ${String(p).padStart(c," ")}. ${a[p-1]??""}`),p===t&&n&&n>0&&_.push(` ${" ".repeat(c)} ${" ".repeat(Math.max(0,n-1))}^`)}return _.join(`
657
+ `)}function Ae(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 E(e,t){let n=$e(e);if(n)return{message:n.message,statusCode:n.statusCode,details:n.details};let a=Ce(e.stack),r=e.message||"Unknown error",o=a?`${r} (${a.phase}, line ${a.line})`:r,c=Ae(a,t),_=a?Re(c,a.line,a.column):void 0;return{message:o,statusCode:e.statusCode||null,details:a?{...a,codeFrame:_}:void 0}}async function re(e,t){let n=E(t);await b({type:"result",id:e,success:!1,error:{...n,stack:t.stack,code:t.code}})}async function Ne(e){let{id:t,code:n,pkgSources:a,snapshot:r,memoryLimitMb:o,isolatePoolSize:c}=e,_=a||[],p=Math.max(1,Math.trunc(Number(e.timeoutMs)||3e4)),v=Y(n,_),d=Z(o,c),m=d.isolate,l=await ee(d,t,_,r,v);J.set(t,l);try{let h=`
633
658
  (async () => {
634
659
  "use strict";
635
660
  ${n}
636
661
  })().then((__result) => __extractResult(__result, __result === undefined));
637
- `,k=await(await $(m,h,"handler.js")).run(l,{timeout:f,promise:!0}),p=JSON.parse(k);await b({type:"result",id:t,success:!0,...p})}catch(h){await re(t,h)}finally{J.delete(t),await te(d,l),ae(t)}}async function Je(e){let{id:t,codeBlocks:n,pkgSources:a,snapshot:r,memoryLimitMb:o,isolatePoolSize:c}=e,_=a||[],f=Math.max(1,Math.trunc(Number(e.timeoutMs)||3e4)),v=Y((n||[]).map(s=>s.code||"").join(`
638
- `),_),d=Z(o,c),m=d.isolate,l=await ee(d,t,_,r,v);J.set(t,l);let h=[],w=[],k={},p=0,i=0;for(let s of n){let g=s.type||"handler";g==="postHook"?(i++,k[`postHook #${i}`]=s.code||"",k.postHook=s.code||"",w.push(s)):(g==="handler"?k.handler=s.code||"":(p++,k[`${g} #${p}`]=s.code||"",k.preHook=s.code||""),h.push(s))}try{let s=null;for(let u=0;u<h.length;u++){let y=h[u],P=y.type||"handler",R=P==="handler"?"handler":`${P} #${u+1}`,S;P==="preHook"?S=`
662
+ `,k=await(await $(m,h,"handler.js")).run(l,{timeout:p,promise:!0}),f=JSON.parse(k);await b({type:"result",id:t,success:!0,...f})}catch(h){await re(t,h)}finally{J.delete(t),await te(d,l),ae(t)}}async function Je(e){let{id:t,codeBlocks:n,pkgSources:a,snapshot:r,memoryLimitMb:o,isolatePoolSize:c}=e,_=a||[],p=Math.max(1,Math.trunc(Number(e.timeoutMs)||3e4)),v=Y((n||[]).map(s=>s.code||"").join(`
663
+ `),_),d=Z(o,c),m=d.isolate,l=await ee(d,t,_,r,v);J.set(t,l);let h=[],w=[],k={},f=0,i=0;for(let s of n){let g=s.type||"handler";g==="postHook"?(i++,k[`postHook #${i}`]=s.code||"",k.postHook=s.code||"",w.push(s)):(g==="handler"?k.handler=s.code||"":(f++,k[`${g} #${f}`]=s.code||"",k.preHook=s.code||""),h.push(s))}try{let s=null;for(let u=0;u<h.length;u++){let y=h[u],P=y.type||"handler",R=P==="handler"?"handler":`${P} #${u+1}`,S;P==="preHook"?S=`
639
664
  (async () => {
640
665
  "use strict";
641
666
  ${y.code}
@@ -649,7 +674,7 @@ function __cleanupTask() {
649
674
  })().then((__r) => {
650
675
  $ctx.$data = __r;
651
676
  return "__handler_done__";
652
- });`;try{let j=await(await $(m,S,`${R}.js`)).run(l,{timeout:f,promise:!0});if(P==="preHook"&&typeof j=="string"){let I=JSON.parse(j);if(I.__shortCircuit){let ne=await z(m,l,I.value);await b({type:"result",id:t,success:!0,...ne,shortCircuit:!0});return}}}catch(T){s=T;break}}if(!s&&w.length>0&&await(await $(m,'$ctx.$statusCode = 200; "__status_set__";',"set-status.js")).run(l,{timeout:5e3}),s&&w.length>0){let u=E(s,k),y={message:u.message||"Unknown error",name:s.constructor?.name||"Error",stack:s.stack||"",statusCode:u.statusCode||500,details:u.details||{},timestamp:new Date().toISOString()},P=`
677
+ });`;try{let T=await(await $(m,S,`${R}.js`)).run(l,{timeout:p,promise:!0});if(P==="preHook"&&typeof T=="string"){let I=JSON.parse(T);if(I.__shortCircuit){let ne=await z(m,l,I.value);await b({type:"result",id:t,success:!0,...ne,shortCircuit:!0});return}}}catch(j){s=j;break}}if(!s&&w.length>0&&await(await $(m,'$ctx.$statusCode = 200; "__status_set__";',"set-status.js")).run(l,{timeout:5e3}),s&&w.length>0){let u=E(s,k),y={message:u.message||"Unknown error",name:s.constructor?.name||"Error",stack:s.stack||"",statusCode:u.statusCode||500,details:u.details||{},timestamp:new Date().toISOString()},P=`
653
678
  $ctx.$error = ${JSON.stringify(y)};
654
679
  $ctx.$data = null;
655
680
  $ctx.$statusCode = ${y.statusCode};
@@ -670,14 +695,14 @@ if ($ctx.$api) {
670
695
  })().then((__r) => {
671
696
  if (__r !== undefined) $ctx.$data = __r;
672
697
  return "__posthook_done__";
673
- });`;try{await(await $(m,R,`${P}.js`)).run(l,{timeout:f,promise:!0})}catch{}}if(s){let u=E(s,k),y;try{let S=await(await $(m,`JSON.stringify({
674
- $body: __safeClone($ctx.$body),
675
- $query: __safeClone($ctx.$query),
676
- $params: __safeClone($ctx.$params),
677
- $data: __safeClone($ctx.$data),
678
- $share: __safeClone($ctx.$share),
679
- $flow: __safeClone($ctx.$flow),
680
- $error: __safeClone($ctx.$error),
681
- $api: __safeClone($ctx.$api),
698
+ });`;try{await(await $(m,R,`${P}.js`)).run(l,{timeout:p,promise:!0})}catch{}}if(s){let u=E(s,k),y;try{let S=await(await $(m,`(async () => JSON.stringify({
699
+ $body: await __safeClone($ctx.$body),
700
+ $query: await __safeClone($ctx.$query),
701
+ $params: await __safeClone($ctx.$params),
702
+ $data: await __safeClone($ctx.$data),
703
+ $share: await __safeClone($ctx.$share),
704
+ $flow: await __safeClone($ctx.$flow),
705
+ $error: await __safeClone($ctx.$error),
706
+ $api: await __safeClone($ctx.$api),
682
707
  $statusCode: $ctx.$statusCode,
683
- })`,"extract-error-ctx.js")).run(l,{timeout:5e3});y=JSON.parse(S)}catch{}await b({type:"result",id:t,success:!1,error:{message:u.message,statusCode:u.statusCode,stack:s.stack,code:s.code,details:u.details},ctxChanges:y});return}let g=await z(m,l);await b({type:"result",id:t,success:!0,...g})}catch(s){await re(t,s)}finally{J.delete(t),await te(d,l),ae(t)}}function ae(e){M.cleanupTaskPackages(e)}function Me(){M.shutdownPackageRuntime()}process.on("exit",Me);async function z(e,t,n){if(n!==void 0){let c=`__extractResult(${JSON.stringify(n)}, false)`,f=await(await e.compileScript(c,{filename:"extract.js"})).run(t,{timeout:5e3});return JSON.parse(f)}let o=await(await $(e,"__extractResult($ctx.$data, $ctx.$data === undefined)","extract.js")).run(t,{timeout:5e3});return JSON.parse(o)}
708
+ }))()`,"extract-error-ctx.js")).run(l,{timeout:5e3,promise:!0});y=JSON.parse(S)}catch{}await b({type:"result",id:t,success:!1,error:{message:u.message,statusCode:u.statusCode,stack:s.stack,code:s.code,details:u.details},ctxChanges:y});return}let g=await z(m,l);await b({type:"result",id:t,success:!0,...g})}catch(s){await re(t,s)}finally{J.delete(t),await te(d,l),ae(t)}}function ae(e){M.cleanupTaskPackages(e)}function Me(){M.shutdownPackageRuntime()}process.on("exit",Me);async function z(e,t,n){if(n!==void 0){let c=`__extractResult(${JSON.stringify(n)}, false)`,p=await(await e.compileScript(c,{filename:"extract.js"})).run(t,{timeout:5e3,promise:!0});return JSON.parse(p)}let o=await(await $(e,"__extractResult($ctx.$data, $ctx.$data === undefined)","extract.js")).run(t,{timeout:5e3,promise:!0});return JSON.parse(o)}
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@enfyra/kernel",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
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.1",
3
+ "version": "1.1.2",
4
4
  "description": "Closed-distribution Enfyra kernel runtime",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "private": false,