@enfyra/kernel 1.1.38 → 1.1.40
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 +1 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var x=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var E=x((re,C)=>{"use strict";function M({handles:e,createHandleId:r,callIsolateCallback:n}){function a(f,t){if(t==null)return t;let l=typeof t;if(l==="string"||l==="number"||l==="boolean")return t;if(t instanceof Date)return{__date:t.toISOString()};if(t instanceof Set)return{__set:Array.from(t.values()).map(i=>a(f,i))};if(t instanceof Map)return{__map:Array.from(t.entries()).map(([i,d])=>[a(f,i),a(f,d)])};if(t instanceof RegExp)return{__regexp:{source:t.source,flags:t.flags}};if(t instanceof Error)return{__error:{name:t.name,message:t.message,stack:t.stack}};if(typeof URL<"u"&&t instanceof URL)return{__url:t.href};if(typeof URLSearchParams<"u"&&t instanceof URLSearchParams)return{__urlSearchParams:t.toString()};if(typeof Buffer<"u"&&Buffer.isBuffer(t)||t._isBuffer===!0)return o(f,t);if(ArrayBuffer.isView(t))return{__typedArray:t.constructor?.name||"Uint8Array",data:Array.from(t)};if(t instanceof ArrayBuffer)return{__arrayBuffer:Array.from(new Uint8Array(t))};if(Array.isArray(t))return t.map(i=>a(f,i));if(l==="object"&&j(t)){let i={};for(let[d,P]of Object.entries(t))i[d]=a(f,P);return i}return o(f,t)}function o(f,t){let l=r(f);return e.set(l,t),{__pkgHandle:l}}function c(f,t){if(!t||typeof t!="object")return t;if(t.__fnRef)return(...i)=>n(f,t.__fnRef,i);if(t.__pkgHandleArg){let i=e.get(t.__pkgHandleArg);if(!i)throw new Error(`Package argument handle not found: ${t.__pkgHandleArg}`);return i}if(t.__date)return new Date(t.__date);if(t.__set)return new Set(t.__set.map(i=>c(f,i)));if(t.__map)return new Map(t.__map.map(([i,d])=>[c(f,i),c(f,d)]));if(t.__regexp)return new RegExp(t.__regexp.source,t.__regexp.flags||"");if(t.__error){let i=new Error(t.__error.message||"");return i.name=t.__error.name||"Error",t.__error.stack&&(i.stack=t.__error.stack),i}if(t.__url)return new URL(t.__url);if(t.__urlSearchParams)return new URLSearchParams(t.__urlSearchParams);if(t.__blob)return new Blob([Uint8Array.from(t.__blob.data||[])],{type:t.__blob.type||""});if(t.__file){let i=[Uint8Array.from(t.__file.data||[])],d={type:t.__file.type||"",lastModified:t.__file.lastModified};return typeof File<"u"?new File(i,t.__file.name||"file",d):new Blob(i,d)}if(t.__formData){let i=new FormData;for(let[d,P]of t.__formData)i.append(d,c(f,P));return i}if(t.__typedArray){let i=globalThis[t.__typedArray]||Uint8Array;return new i(t.data||[])}if(t.__arrayBuffer)return Uint8Array.from(t.__arrayBuffer).buffer;if(Array.isArray(t))return t.map(i=>c(f,i));let l={};for(let[i,d]of Object.entries(t))l[i]=c(f,d);return l}function s(f,t){return JSON.parse(t||"[]").map(l=>c(f,l))}return{createPackageHandle:o,deserializePackageArg:c,deserializePackageArgs:s,serializePackageValue:a}}function j(e){if(e===null||typeof e!="object")return!1;let r=Object.getPrototypeOf(e);return r!==Object.prototype&&r!==null?!1:!Object.values(e).some(n=>typeof n=="function")}C.exports={createPackageRuntimeCodec:M}});var{AsyncLocalStorage:R}=require("node:async_hooks"),B=require("node:http"),U=require("node:https"),L=require("node:net"),H=require("node:tls"),y=require("node:http2"),{createPackageRuntimeCodec:N}=E(),T=new R,g=new Map,p=new Map,b=new Map,_=new Map,A=new Map,w=new Map,O=0,z=0,q=0;function F(e){return Math.max(1,Math.trunc(Number(e)||3e4))}function h(e){let r=A.get(e);return r||(r=new AbortController,A.set(e,r)),r}function I(e){h(e).abort();for(let[r,n]of w)if(n.taskId===e){try{typeof n.stream.destroy=="function"&&n.stream.destroy(new Error("Package stream cancelled")),typeof n.iterator?.return=="function"&&Promise.resolve(n.iterator.return()).catch(()=>{})}catch{}w.delete(r)}}function m(){return T.getStore()}function $(e){let r=m();if(!r||!e)return e;let n=h(r).signal;if(n.aborted)return e.destroy(new Error("Package call cancelled")),e;let a=()=>{try{e.destroy(new Error("Package call cancelled"))}catch{}};return n.addEventListener("abort",a,{once:!0}),e.once("close",()=>{n.removeEventListener("abort",a)}),e}function S(e){let r=m();if(!r||!e||typeof e.destroy!="function")return e;let n=h(r).signal;if(n.aborted)return e.destroy(new Error("Package call cancelled")),e;let a=()=>{try{e.destroy(new Error("Package call cancelled"))}catch{}};return n.addEventListener("abort",a,{once:!0}),e.once("close",()=>{n.removeEventListener("abort",a)}),e}function D(){for(let r of[B,U]){if(r.__enfyraCancelPatched)continue;r.__enfyraCancelPatched=!0;let n=r.request,a=r.get;r.request=function(...c){return $(n.apply(r,c))},r.get=function(...c){return $(a.apply(r,c))}}for(let[r,n]of[[L,["connect","createConnection"]],[H,["connect"]]])if(!r.__enfyraCancelPatched){r.__enfyraCancelPatched=!0;for(let a of n){let o=r[a];typeof o=="function"&&(r[a]=function(...s){return S(o.apply(r,s))})}}if(!y.__enfyraCancelPatched){y.__enfyraCancelPatched=!0;let r=y.connect;y.connect=function(...a){return S(r.apply(y,a))}}let e=globalThis.fetch;typeof e=="function"&&!globalThis.__enfyraFetchCancelPatched&&(globalThis.__enfyraFetchCancelPatched=!0,globalThis.fetch=function(n,a){let o=m();if(o){let c=a&&typeof a=="object"?a:{};c.signal||(a={...c,signal:h(o).signal})}return e.call(globalThis,n,a)})}D();function J(e){let r=K(e.taskId,e.argsJson),n=(e.path||[]).join(".");if(e.packageName==="undici"&&(n==="request"||n==="fetch")){let a=r[1]&&typeof r[1]=="object"?r[1]:{};r[1]={...a,signal:h(e.taskId).signal}}return r}function G(e,r){let n=()=>process.exit(1);try{process.send?.({id:e,ok:!1,error:{message:r}},n),setTimeout(n,50).unref?.()}catch{n()}}var{createPackageHandle:V,deserializePackageArg:W,deserializePackageArgs:K,serializePackageValue:u}=N({handles:p,createHandleId:e=>`${e}:pkg_${++O}`,callIsolateCallback:X});async function Q(e){let r=e.fileUrl||e.name;if(g.has(r))return g.get(r);let n=e.name&&e.name.startsWith("node:")?e.name:e.fileUrl||e.name;if(!n)throw new Error(`Package "${e.name}" cannot be imported by package runtime`);let a=await import(n);return g.set(r,a),a}function k(e,r){if(!r||r.length===0)return{target:e&&e.default!==void 0?e.default:e,receiver:void 0};let n=e,a;for(let o=0;o<r.length;o++){let c=r[o];if(n==null&&o===0&&e.default!==void 0&&(n=e.default),n!=null&&c in n){a=n,n=n[c];continue}if(o===0&&e.default!==void 0&&e.default!==n&&c in e.default){a=e.default,n=e.default[c];continue}throw new Error(`Package export not found: ${r.join(".")}`)}return{target:n,receiver:a}}function X(e,r,n){return new Promise((a,o)=>{let c=`cb_${++z}`;b.set(c,{resolve:a,reject:o,taskId:e});try{process.send?.({type:"pkgCallbackCall",id:c,taskId:e,callbackId:r,argsJson:JSON.stringify(n.map(s=>u(e,s)))})}catch(s){b.delete(c),o(s)}})}async function Y(e){let r=J(e);if(e.op==="handleCall"){let c=p.get(e.handleId);if(!c)throw new Error(`Package handle not found: ${e.handleId}`);let{target:s,receiver:f}=k(c,e.path||[]);if(typeof s!="function")return u(e.taskId,s);let t=await s.apply(f||c,r);return u(e.taskId,t)}if(e.op==="handleGet"){let c=p.get(e.handleId);if(!c)throw new Error(`Package handle not found: ${e.handleId}`);let{target:s,receiver:f}=k(c,e.path||[]);return u(e.taskId,typeof s=="function"&&f?s.bind(f):s)}let n=await Q(e.package),{target:a,receiver:o}=k(n,e.path||[]);if(e.op==="construct"){if(typeof a!="function")throw new Error(`Package export is not constructable: ${e.packageName}.${(e.path||[]).join(".")}`);return V(e.taskId,new a(...r))}return typeof a=="function"?u(e.taskId,await a.apply(o,r)):u(e.taskId,a)}function Z(e,r,n){return new Promise((a,o)=>{let c=`stream_${++q}`;_.set(c,{resolve:a,reject:o});try{process.send?.({type:"pkgStreamChunk",id:e,ackId:c,taskId:r,chunk:Buffer.from(n).toString("base64")},s=>{s&&(_.delete(c),o(s))})}catch(s){_.delete(c),o(s)}})}async function v(e){let r=p.get(e.handleId);if(!r)throw new Error(`Package handle not found: ${e.handleId}`);let{target:n}=k(r,e.path||[]),a=n||r;if(!a||typeof a[Symbol.asyncIterator]!="function"&&typeof a.on!="function")throw new Error(`Package handle is not a readable stream: ${e.handleId}`);let o=typeof a[Symbol.asyncIterator]=="function"?a[Symbol.asyncIterator]():a;w.set(e.id,{taskId:e.taskId,stream:a,iterator:o});try{for(;;){let c=await o.next();if(c.done)break;await Z(e.id,e.taskId,c.value)}}finally{w.delete(e.id)}}function ee(e){I(e),A.delete(e);for(let r of p.keys())r.startsWith(`${e}:`)&&p.delete(r)}process.on("message",async e=>{if(!e)return;if(e.type==="pkgStreamAck"||e.type==="pkgStreamError"){let o=_.get(e.ackId);if(!o)return;_.delete(e.ackId),e.type==="pkgStreamAck"?o.resolve(!0):o.reject(new Error(e.error?.message||"Package stream failed"));return}if(e.type==="pkgCallbackResult"||e.type==="pkgCallbackError"){let o=b.get(e.id);if(!o)return;b.delete(e.id),e.type==="pkgCallbackResult"?o.resolve(W(o.taskId,e.value)):o.reject(new Error(e.error?.message||"Package callback failed"));return}if(e.op==="cancelTask"){I(e.taskId),e.fire||process.send?.({id:e.id,ok:!0,value:!0});return}if(!e.op)return;let r=!1,n=F(e.timeoutMs),a=setTimeout(()=>{if(r)return;r=!0;let o=[e.op?`op=${e.op}`:null,e.packageName?`package=${e.packageName}`:null,e.handleId?`handle=${e.handleId}`:null,Array.isArray(e.path)?`path=${e.path.join(".")||"<root>"}`:null].filter(Boolean).join(" "),c=`Package runtime call timed out after ${n}ms${o?` (${o})`:""}`;G(e.id,c)},n);try{if(e.op==="releaseTask"){r=!0,clearTimeout(a),ee(e.taskId),e.fire||process.send?.({id:e.id,ok:!0,value:!0});return}let o=await T.run(e.taskId,()=>e.op==="streamHandle"?v(e):Y(e));if(r)return;r=!0,clearTimeout(a),process.send?.({id:e.id,ok:!0,value:o})}catch(o){if(r)return;r=!0,clearTimeout(a);let c=[e.op?`op=${e.op}`:null,e.packageName?`package=${e.packageName}`:null,e.handleId?`handle=${e.handleId}`:null,Array.isArray(e.path)?`path=${e.path.join(".")||"<root>"}`:null].filter(Boolean).join(" ");process.send?.({id:e.id,ok:!1,error:{message:c?`${o.message} (${c})`:o.message,stack:o.stack}})}});process.on("disconnect",()=>{process.exit(1)});
|