claude-code-session-manager 0.2.4 → 0.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{cssMode-_C3S-X05.js → cssMode-k2weP8Ee.js} +1 -1
- package/dist/assets/{editor.main-oQ1CG2BW.js → editor.main-DY3GhIm6.js} +3 -3
- package/dist/assets/{freemarker2-Cawdruha.js → freemarker2-O9B_mSg1.js} +1 -1
- package/dist/assets/{handlebars-B5IoBCvw.js → handlebars-D8eGynvT.js} +1 -1
- package/dist/assets/{html-CJagBG-a.js → html-D_1J65SJ.js} +1 -1
- package/dist/assets/{htmlMode-D-MY76Nq.js → htmlMode-CPHN_TXP.js} +1 -1
- package/dist/assets/index-BYHTuGIu.css +32 -0
- package/dist/assets/index-CS33Ey9b.js +2971 -0
- package/dist/assets/{javascript-BAxcB0Mf.js → javascript-CIJ7nm35.js} +1 -1
- package/dist/assets/{jsonMode-F7q6_CK_.js → jsonMode-S3mSlD5S.js} +1 -1
- package/dist/assets/{liquid-C4nakUNR.js → liquid-ePkiDuZB.js} +1 -1
- package/dist/assets/{lspLanguageFeatures-Cg_0mru-.js → lspLanguageFeatures-zMm9RPxQ.js} +1 -1
- package/dist/assets/{mdx-DvZ8mSNH.js → mdx-DIYfdpmA.js} +1 -1
- package/dist/assets/{python-DQ7pF4gk.js → python-BXgUyeux.js} +1 -1
- package/dist/assets/{razor-DPzrFHKv.js → razor-DObpPm_2.js} +1 -1
- package/dist/assets/{tsMode-ucPd4AEY.js → tsMode-B8apA2ua.js} +1 -1
- package/dist/assets/{typescript-Dt1Q6_cP.js → typescript-vbToHgci.js} +1 -1
- package/dist/assets/{whisperWorker-BhZpQ_3S.js → whisperWorker-BhltUYOx.js} +12 -12
- package/dist/assets/{xml-Ci8C2daW.js → xml-B9aEuD-v.js} +1 -1
- package/dist/assets/{yaml-CWQdmo31.js → yaml-jf6LIEfe.js} +1 -1
- package/dist/index.html +2 -2
- package/dist/vad/ort-wasm-simd-threaded.asyncify.mjs +116 -0
- package/dist/vad/ort-wasm-simd-threaded.asyncify.wasm +0 -0
- package/dist/vad/ort-wasm-simd-threaded.jsep.mjs +106 -0
- package/dist/vad/ort-wasm-simd-threaded.jsep.wasm +0 -0
- package/dist/vad/ort-wasm-simd-threaded.jspi.mjs +110 -0
- package/dist/vad/ort-wasm-simd-threaded.jspi.wasm +0 -0
- package/dist/vad/ort-wasm-simd-threaded.mjs +59 -0
- package/dist/vad/ort-wasm-simd-threaded.wasm +0 -0
- package/dist/vad/silero_vad_v5.onnx +0 -0
- package/dist/vad/vad.worklet.bundle.min.js +1 -0
- package/package.json +9 -2
- package/src/main/index.cjs +2 -0
- package/src/main/usage.cjs +68 -0
- package/src/preload/api.d.ts +36 -0
- package/src/preload/index.cjs +3 -0
- package/dist/assets/index-BSNF1gRs.js +0 -135
- package/dist/assets/index-CvEzNZ2z.css +0 -32
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
async function ortWasmThreaded(moduleArg={}){var moduleRtn;var g=moduleArg,aa=!!globalThis.window,ba=!!globalThis.WorkerGlobalScope,k=globalThis.process?.versions?.node&&"renderer"!=globalThis.process?.type,m=ba&&self.name?.startsWith("em-pthread");if(k){const {createRequire:a}=await import("module");var require=a(import.meta.url),ca=require("worker_threads");global.Worker=ca.Worker;m=(ba=!ca.W)&&"em-pthread"==ca.workerData}g.mountExternalData=(a,b)=>{a.startsWith("./")&&(a=a.substring(2));(g.o||(g.o=new Map)).set(a,b)};
|
|
2
|
+
g.unmountExternalData=()=>{delete g.o};var SharedArrayBuffer=globalThis.SharedArrayBuffer??(new WebAssembly.Memory({initial:0,maximum:0,Z:!0})).buffer.constructor,da="./this.program",ea=(a,b)=>{throw b;},fa=import.meta.url,ha="",ia,ja;
|
|
3
|
+
if(k){var fs=require("fs");fa.startsWith("file:")&&(ha=require("path").dirname(require("url").fileURLToPath(fa))+"/");ja=a=>{a=ka(a)?new URL(a):a;return fs.readFileSync(a)};ia=async a=>{a=ka(a)?new URL(a):a;return fs.readFileSync(a,void 0)};1<process.argv.length&&(da=process.argv[1].replace(/\\/g,"/"));process.argv.slice(2);ea=(a,b)=>{process.exitCode=a;throw b;}}else if(aa||ba){try{ha=(new URL(".",fa)).href}catch{}k||(ba&&(ja=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";
|
|
4
|
+
b.send(null);return new Uint8Array(b.response)}),ia=async a=>{if(ka(a))return new Promise((c,d)=>{var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response?c(e.response):d(e.status)};e.onerror=d;e.send(null)});var b=await fetch(a,{credentials:"same-origin"});if(b.ok)return b.arrayBuffer();throw Error(b.status+" : "+b.url);})}var la=console.log.bind(console),ma=console.error.bind(console);
|
|
5
|
+
if(k){var na=require("util"),oa=a=>"object"==typeof a?na.inspect(a):a;la=(...a)=>fs.writeSync(1,a.map(oa).join(" ")+"\n");ma=(...a)=>fs.writeSync(2,a.map(oa).join(" ")+"\n")}var pa=la,q=ma,qa,ra,sa=!1,ta,ka=a=>a.startsWith("file://");function r(){u.buffer!=w.buffer&&ua()}var va,wa;
|
|
6
|
+
if(k&&m){var xa=ca.parentPort;xa.on("message",a=>global.onmessage?.({data:a}));Object.assign(globalThis,{self:global,postMessage:a=>xa.postMessage(a)});process.on("uncaughtException",a=>{postMessage({i:"uncaughtException",error:a});process.exit(1)})}var ya;
|
|
7
|
+
if(m){var za=!1;self.onunhandledrejection=b=>{throw b.reason||b;};async function a(b){try{var c=b.data,d=c.i;if("load"===d){let e=[];self.onmessage=f=>e.push(f);ya=()=>{postMessage({i:"loaded"});for(let f of e)a(f);self.onmessage=a};for(const f of c.K)if(!g[f]||g[f].proxy)g[f]=(...h)=>{postMessage({i:"callHandler",J:f,args:h})},"print"==f&&(pa=g[f]),"printErr"==f&&(q=g[f]);u=c.S;ua();ra=c.T;Aa();Ba()}else if("run"===d){Ca(c.h);Da(c.h,0,0,1,0,0);Ea();Fa(c.h);za||(Ga(),za=!0);try{await Ha(c.P,c.u)}catch(e){if("unwind"!=
|
|
8
|
+
e)throw e;}}else"setimmediate"!==c.target&&("checkMailbox"===d?za&&Ia():d&&(q(`worker: received unknown command ${d}`),q(c)))}catch(e){throw Ja(),e;}}self.onmessage=a}var w,x,Ka,La,B,C,Ma,D,E,Na,Oa=!1;function ua(){var a=u.buffer;g.HEAP8=w=new Int8Array(a);Ka=new Int16Array(a);g.HEAPU8=x=new Uint8Array(a);La=new Uint16Array(a);g.HEAP32=B=new Int32Array(a);g.HEAPU32=C=new Uint32Array(a);Ma=new Float32Array(a);D=new Float64Array(a);E=new BigInt64Array(a);Na=new BigUint64Array(a)}
|
|
9
|
+
function Pa(){Oa=!0;m?ya():F.__wasm_call_ctors()}function Qa(a){a="Aborted("+a+")";q(a);sa=!0;a+=". Build with -sASSERTIONS for more info.";Oa&&Ra();a=new WebAssembly.RuntimeError(a);wa?.(a);throw a;}var Sa;async function Ta(a){if(!qa)try{var b=await ia(a);return new Uint8Array(b)}catch{}if(a==Sa&&qa)a=new Uint8Array(qa);else if(ja)a=ja(a);else throw"both async and sync fetching of the wasm failed";return a}
|
|
10
|
+
async function Ua(a,b){try{var c=await Ta(a);return await WebAssembly.instantiate(c,b)}catch(d){q(`failed to asynchronously prepare wasm: ${d}`),Qa(d)}}async function Va(a){var b=Sa;if(!qa&&!ka(b)&&!k)try{var c=fetch(b,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(c,a)}catch(d){q(`wasm streaming compile failed: ${d}`),q("falling back to ArrayBuffer instantiation")}return Ua(b,a)}
|
|
11
|
+
function Wa(){Xa={HaveOffsetConverter:Ya,__pthread_create_js:Za,__syscall_fcntl64:$a,__syscall_fstat64:ab,__syscall_getcwd:bb,__syscall_getdents64:cb,__syscall_ioctl:db,__syscall_lstat64:eb,__syscall_mkdirat:fb,__syscall_newfstatat:gb,__syscall_openat:hb,__syscall_readlinkat:ib,__syscall_rmdir:jb,__syscall_stat64:kb,__syscall_unlinkat:lb,_abort_js:mb,_embind_register_bigint:nb,_embind_register_bool:ob,_embind_register_emval:qb,_embind_register_float:rb,_embind_register_integer:sb,_embind_register_memory_view:tb,
|
|
12
|
+
_embind_register_std_string:ub,_embind_register_std_wstring:vb,_embind_register_void:wb,_emscripten_init_main_thread_js:xb,_emscripten_notify_mailbox_postmessage:yb,_emscripten_receive_on_main_thread_js:zb,_emscripten_runtime_keepalive_clear:Ab,_emscripten_thread_cleanup:Bb,_emscripten_thread_mailbox_await:Fa,_emscripten_thread_set_strongref:Cb,_emval_await:Db,_emval_create_invoker:Eb,_emval_decref:Fb,_emval_equals:Gb,_emval_get_global:Hb,_emval_get_module_property:Ib,_emval_get_property:Jb,_emval_incref:Kb,
|
|
13
|
+
_emval_invoke:Lb,_emval_invoke_i64:Mb,_emval_new_array:Nb,_emval_new_array_from_memory_view:Ob,_emval_new_cstring:Pb,_emval_new_object:Qb,_emval_run_destructors:Rb,_emval_set_property:Sb,_gmtime_js:Tb,_localtime_js:Ub,_mktime_js:Vb,_mmap_js:Wb,_munmap_js:Xb,_setitimer_js:Yb,_tzset_js:Zb,clock_time_get:$b,emscripten_asm_const_int:ac,emscripten_asm_const_ptr:bc,emscripten_check_blocking_allowed:cc,emscripten_date_now:dc,emscripten_errn:ec,emscripten_exit_with_live_runtime:fc,emscripten_get_heap_max:gc,
|
|
14
|
+
emscripten_get_now:hc,emscripten_has_asyncify:ic,emscripten_num_logical_cores:jc,emscripten_pc_get_function:kc,emscripten_resize_heap:lc,emscripten_stack_snapshot:mc,emscripten_stack_unwind_buffer:nc,emwgpuAdapterRequestDevice:oc,emwgpuBufferDestroy:pc,emwgpuBufferGetConstMappedRange:qc,emwgpuBufferGetMappedRange:rc,emwgpuBufferMapAsync:sc,emwgpuBufferUnmap:tc,emwgpuDelete:uc,emwgpuDeviceCreateBuffer:vc,emwgpuDeviceCreateComputePipelineAsync:wc,emwgpuDeviceCreateShaderModule:xc,emwgpuDeviceDestroy:yc,
|
|
15
|
+
emwgpuDevicePopErrorScope:zc,emwgpuInstanceRequestAdapter:Ac,emwgpuWaitAny:Bc,environ_get:Cc,environ_sizes_get:Dc,exit:Ec,fd_close:Fc,fd_read:Gc,fd_seek:Hc,fd_write:Ic,memory:u,proc_exit:Jc,wgpuAdapterGetLimits:Kc,wgpuAdapterHasFeature:Lc,wgpuBufferGetSize:Mc,wgpuBufferGetUsage:Nc,wgpuCommandEncoderBeginComputePass:Oc,wgpuCommandEncoderCopyBufferToBuffer:Pc,wgpuCommandEncoderFinish:Qc,wgpuCommandEncoderResolveQuerySet:Rc,wgpuComputePassEncoderDispatchWorkgroups:Sc,wgpuComputePassEncoderDispatchWorkgroupsIndirect:Tc,
|
|
16
|
+
wgpuComputePassEncoderEnd:Uc,wgpuComputePassEncoderSetBindGroup:Vc,wgpuComputePassEncoderSetPipeline:Wc,wgpuComputePassEncoderWriteTimestamp:Xc,wgpuComputePipelineGetBindGroupLayout:Yc,wgpuDeviceCreateBindGroup:Zc,wgpuDeviceCreateCommandEncoder:$c,wgpuDeviceCreateQuerySet:ad,wgpuDeviceGetAdapterInfo:bd,wgpuDeviceGetFeatures:cd,wgpuDeviceGetLimits:dd,wgpuDevicePushErrorScope:ed,wgpuQueueSubmit:fd,wgpuQueueWriteBuffer:gd};if(!Xa.I){Xa.I=!0;var a=Xa,b=/^(invoke_.*|__asyncjs__.*)$/;for(let [c,d]of Object.entries(a))"function"==
|
|
17
|
+
typeof d&&(d.A||b.test(c))&&(a[c]=d=new WebAssembly.Suspending(d))}return{env:Xa,wasi_snapshot_preview1:Xa}}
|
|
18
|
+
async function Aa(){function a(d,e){d=F=d.exports;var f=/^(OrtAppendExecutionProvider|OrtCreateSession|OrtRun|OrtRunWithBinding|OrtBindInput|main|__main_argc_argv)$/;hd=new Set;var h={};for(let [l,n]of Object.entries(d))"function"==typeof n?(f.test(l)&&(hd.add(n),n=WebAssembly.promising(n)),h[l]=jd(n)):h[l]=n;F=h;F=kd();ld.push(F._emscripten_tls_init);d=F;md=d.__getTypeName;Ga=d._embind_initialize_bindings;g._OrtInit=d.OrtInit;g._OrtGetLastError=d.OrtGetLastError;g._OrtCreateSessionOptions=d.OrtCreateSessionOptions;
|
|
19
|
+
g._OrtAppendExecutionProvider=d.OrtAppendExecutionProvider;g._OrtAddFreeDimensionOverride=d.OrtAddFreeDimensionOverride;g._OrtAddSessionConfigEntry=d.OrtAddSessionConfigEntry;g._OrtReleaseSessionOptions=d.OrtReleaseSessionOptions;g._OrtCreateSession=d.OrtCreateSession;g._OrtReleaseSession=d.OrtReleaseSession;g._OrtGetInputOutputCount=d.OrtGetInputOutputCount;g._OrtGetInputOutputMetadata=d.OrtGetInputOutputMetadata;g._OrtFree=d.OrtFree;g._OrtCreateTensor=d.OrtCreateTensor;g._OrtGetTensorData=d.OrtGetTensorData;
|
|
20
|
+
g._OrtReleaseTensor=d.OrtReleaseTensor;g._OrtCreateRunOptions=d.OrtCreateRunOptions;g._OrtAddRunConfigEntry=d.OrtAddRunConfigEntry;g._OrtReleaseRunOptions=d.OrtReleaseRunOptions;g._OrtCreateBinding=d.OrtCreateBinding;g._OrtBindInput=d.OrtBindInput;g._OrtBindOutput=d.OrtBindOutput;g._OrtClearBoundOutputs=d.OrtClearBoundOutputs;g._OrtReleaseBinding=d.OrtReleaseBinding;g._OrtRunWithBinding=d.OrtRunWithBinding;g._OrtRun=d.OrtRun;g._OrtEndProfiling=d.OrtEndProfiling;nd=g._OrtGetWebGpuDevice=d.OrtGetWebGpuDevice;
|
|
21
|
+
od=d.pthread_self;G=g._free=d.free;pd=g._malloc=d.malloc;qd=g._wgpuBufferRelease=d.wgpuBufferRelease;rd=g._wgpuCreateInstance=d.wgpuCreateInstance;sd=d.emwgpuCreateBindGroup;td=d.emwgpuCreateBindGroupLayout;ud=d.emwgpuCreateCommandBuffer;vd=d.emwgpuCreateCommandEncoder;wd=d.emwgpuCreateComputePassEncoder;xd=d.emwgpuCreateQuerySet;yd=d.emwgpuCreateBuffer;zd=d.emwgpuCreateDevice;Ad=d.emwgpuCreateQueue;Bd=d.emwgpuOnCreateComputePipelineCompleted;Cd=d.emwgpuOnDeviceLostCompleted;Dd=d.emwgpuOnMapAsyncCompleted;
|
|
22
|
+
Ed=d.emwgpuOnPopErrorScopeCompleted;Fd=d.emwgpuOnRequestAdapterCompleted;Gd=d.emwgpuOnRequestDeviceCompleted;Hd=d.emwgpuOnUncapturedError;Da=d._emscripten_thread_init;Ja=d._emscripten_thread_crashed;Id=d._emscripten_run_js_on_main_thread;Jd=d._emscripten_thread_free_data;Kd=d._emscripten_thread_exit;Ld=d._emscripten_timeout;Md=d._emscripten_check_mailbox;Nd=d.memalign;Ra=d.__trap;Od=d.emscripten_stack_set_limits;H=d._emscripten_stack_restore;Pd=d._emscripten_stack_alloc;I=d.emscripten_stack_get_current;
|
|
23
|
+
Qd=d.__indirect_function_table;ra=e;return F}var b=Wa();if(g.instantiateWasm)return new Promise(d=>{g.instantiateWasm(b,(e,f)=>{d(a(e,f))})});if(m){var c=new WebAssembly.Instance(ra,Wa());return a(c,ra)}Sa??=g.locateFile?g.locateFile?g.locateFile("ort-wasm-simd-threaded.jspi.wasm",ha):ha+"ort-wasm-simd-threaded.jspi.wasm":(new URL("ort-wasm-simd-threaded.jspi.wasm",import.meta.url)).href;return function(d){return a(d.instance,d.module)}(await Va(b))}
|
|
24
|
+
class Rd{name="ExitStatus";constructor(a){this.message=`Program terminated with exit(${a})`;this.status=a}}
|
|
25
|
+
var Sd=a=>{a.terminate();a.onmessage=()=>{}},Ud=()=>{for(var a=Td;0<a.length;)a.shift()(g)},Td=[],Vd=0,Wd=null,$d=a=>{0==J.length&&(Xd(),Yd(J[0]));var b=J.pop();if(!b)return 6;Zd.push(b);K[a.h]=b;b.h=a.h;var c={i:"run",P:a.O,u:a.u,h:a.h};k&&b.unref();b.postMessage(c,a.D);return 0},L=0,M=(a,b,...c)=>{var d=16*c.length,e=I(),f=Pd(d),h=f>>>3,l;for(l of c)"bigint"==typeof l?((r(),E)[h++>>>0]=1n,(r(),E)[h++>>>0]=l):((r(),E)[h++>>>0]=0n,(r(),D)[h++>>>0]=l);a=Id(a,0,d,f,b);H(e);return a};
|
|
26
|
+
function Jc(a){if(m)return M(0,1,a);ta=a;if(!(0<L)){for(var b of Zd)Sd(b);for(b of J)Sd(b);J=[];Zd=[];K={};sa=!0}ea(a,new Rd(a))}function ae(a){if(m)return M(1,0,a);Ec(a)}var Ec=a=>{ta=a;if(m)throw ae(a),"unwind";Jc(a)},J=[],Zd=[],ld=[],K={};function be(){for(var a=g.numThreads-1;a--;)Xd();Td.push(async()=>{var b=ce();Vd++;await b;Vd--;0==Vd&&Wd&&(b=Wd,Wd=null,b())})}var de=a=>{var b=a.h;delete K[b];J.push(a);Zd.splice(Zd.indexOf(a),1);a.h=0;Jd(b)};function Ea(){ld.forEach(a=>a())}
|
|
27
|
+
var Yd=a=>new Promise(b=>{a.onmessage=f=>{var h=f.data;f=h.i;if(h.s&&h.s!=od()){var l=K[h.s];l?l.postMessage(h,h.D):q(`Internal error! Worker sent a message "${f}" to target pthread ${h.s}, but that thread no longer exists!`)}else if("checkMailbox"===f)Ia();else if("spawnThread"===f)$d(h);else if("cleanupThread"===f)ee(()=>{de(K[h.R])});else if("loaded"===f)a.loaded=!0,k&&!a.h&&a.unref(),b(a);else if("setimmediate"===h.target)a.postMessage(h);else if("uncaughtException"===f)a.onerror(h.error);else if("callHandler"===
|
|
28
|
+
f)g[h.J](...h.args);else f&&q(`worker sent an unknown command ${f}`)};a.onerror=f=>{q(`${"worker sent an error!"} ${f.filename}:${f.lineno}: ${f.message}`);throw f;};k&&(a.on("message",f=>a.onmessage({data:f})),a.on("error",f=>a.onerror(f)));var c=[],d=[],e;for(e of d)g.propertyIsEnumerable(e)&&c.push(e);a.postMessage({i:"load",K:c,S:u,T:ra})});async function ce(){if(!m)return Promise.all(J.map(Yd))}
|
|
29
|
+
function Xd(){var a=new Worker(new URL(import.meta.url),{type:"module",workerData:"em-pthread",name:"em-pthread"});J.push(a)}function Ca(a){var b=(r(),C)[a+52>>>2>>>0];a=(r(),C)[a+56>>>2>>>0];Od(b,b-a);H(b)}var fe=[],Ha=async(a,b)=>{L=0;var c=WebAssembly,d=c.promising,e=fe[a];e||(fe[a]=e=Qd.get(a),hd?.has(e)&&(fe[a]=e=WebAssembly.promising(e)));a=d.call(c,e)(b);a=await a;0<L?ta=a:Kd(a)},u;function ge(a,b,c,d){return m?M(2,1,a,b,c,d):Za(a,b,c,d)}
|
|
30
|
+
var N=a=>-9007199254740992>a||9007199254740992<a?NaN:Number(a);function Za(a,b,c,d){a>>>=0;b>>>=0;c>>>=0;d>>>=0;if(!globalThis.SharedArrayBuffer)return 6;var e=[];if(m&&0===e.length)return ge(a,b,c,d);a={O:c,h:a,u:d,D:e};return m?(a.i="spawnThread",postMessage(a,e),0):$d(a)}
|
|
31
|
+
var he=globalThis.TextDecoder&&new TextDecoder,ie=(a,b,c,d)=>{c=b+c;if(d)return c;for(;a[b]&&!(b>=c);)++b;return b},je=(a,b=0,c,d)=>{b>>>=0;c=ie(a,b,c,d);if(16<c-b&&a.buffer&&he)return he.decode(a.buffer instanceof ArrayBuffer?a.subarray(b,c):a.slice(b,c));for(d="";b<c;){var e=a[b++];if(e&128){var f=a[b++]&63;if(192==(e&224))d+=String.fromCharCode((e&31)<<6|f);else{var h=a[b++]&63;e=224==(e&240)?(e&15)<<12|f<<6|h:(e&7)<<18|f<<12|h<<6|a[b++]&63;65536>e?d+=String.fromCharCode(e):(e-=65536,d+=String.fromCharCode(55296|
|
|
32
|
+
e>>10,56320|e&1023))}}else d+=String.fromCharCode(e)}return d},ke=(a,b,c)=>(a>>>=0)?je((r(),x),a,b,c):"";function $a(a,b,c){return m?M(3,1,a,b,c):0}function ab(a,b){if(m)return M(4,1,a,b)}function bb(a,b){if(m)return M(5,1,a,b)}function cb(a,b,c){if(m)return M(6,1,a,b,c)}function db(a,b,c){return m?M(7,1,a,b,c):0}function eb(a,b){if(m)return M(8,1,a,b)}function fb(a,b,c){if(m)return M(9,1,a,b,c)}function gb(a,b,c,d){if(m)return M(10,1,a,b,c,d)}function hb(a,b,c,d){if(m)return M(11,1,a,b,c,d)}
|
|
33
|
+
function ib(a,b,c,d){if(m)return M(12,1,a,b,c,d)}function jb(a){if(m)return M(13,1,a)}function kb(a,b){if(m)return M(14,1,a,b)}function lb(a,b,c){if(m)return M(15,1,a,b,c)}var mb=()=>Qa(""),O=a=>{a>>>=0;for(var b="";;){var c=(r(),x)[a++>>>0];if(!c)return b;b+=String.fromCharCode(c)}},le={},me={},ne={},oe=class extends Error{constructor(a){super(a);this.name="BindingError"}};
|
|
34
|
+
function pe(a,b,c={}){var d=b.name;if(!a)throw new oe(`type "${d}" must have a positive integer typeid pointer`);if(me.hasOwnProperty(a)){if(c.L)return;throw new oe(`Cannot register type '${d}' twice`);}me[a]=b;delete ne[a];le.hasOwnProperty(a)&&(b=le[a],delete le[a],b.forEach(e=>e()))}function P(a,b,c={}){return pe(a,b,c)}
|
|
35
|
+
var qe=(a,b,c)=>{switch(b){case 1:return c?d=>(r(),w)[d>>>0]:d=>(r(),x)[d>>>0];case 2:return c?d=>(r(),Ka)[d>>>1>>>0]:d=>(r(),La)[d>>>1>>>0];case 4:return c?d=>(r(),B)[d>>>2>>>0]:d=>(r(),C)[d>>>2>>>0];case 8:return c?d=>(r(),E)[d>>>3>>>0]:d=>(r(),Na)[d>>>3>>>0];default:throw new TypeError(`invalid integer width (${b}): ${a}`);}};
|
|
36
|
+
function nb(a,b,c,d,e){a>>>=0;c>>>=0;b=O(b>>>0);d=0n===d;let f=h=>h;if(d){const h=8*c;f=l=>BigInt.asUintN(h,l);e=f(e)}P(a,{name:b,g:f,l:(h,l)=>{"number"==typeof l&&(l=BigInt(l));return l},j:qe(b,c,!d),m:null})}function ob(a,b,c,d){a>>>=0;b=O(b>>>0);P(a,{name:b,g:function(e){return!!e},l:function(e,f){return f?c:d},j:function(e){return this.g((r(),x)[e>>>0])},m:null})}var re=[],Q=[0,1,,1,null,1,!0,1,!1,1];function Fb(a){a>>>=0;9<a&&0===--Q[a+1]&&(Q[a]=void 0,re.push(a))}
|
|
37
|
+
var R=a=>{if(!a)throw new oe(`Cannot use deleted val. handle = ${a}`);return Q[a]},S=a=>{switch(a){case void 0:return 2;case null:return 4;case !0:return 6;case !1:return 8;default:const b=re.pop()||Q.length;Q[b]=a;Q[b+1]=1;return b}};function se(a){return this.g((r(),C)[a>>>2>>>0])}var te={name:"emscripten::val",g:a=>{var b=R(a);Fb(a);return b},l:(a,b)=>S(b),j:se,m:null};function qb(a){return P(a>>>0,te)}
|
|
38
|
+
var ue=(a,b)=>{switch(b){case 4:return function(c){return this.g((r(),Ma)[c>>>2>>>0])};case 8:return function(c){return this.g((r(),D)[c>>>3>>>0])};default:throw new TypeError(`invalid float width (${b}): ${a}`);}};function rb(a,b,c){a>>>=0;c>>>=0;b=O(b>>>0);P(a,{name:b,g:d=>d,l:(d,e)=>e,j:ue(b,c),m:null})}function sb(a,b,c,d,e){a>>>=0;c>>>=0;b=O(b>>>0);let f=l=>l;if(0===d){var h=32-8*c;f=l=>l<<h>>>h;e=f(e)}P(a,{name:b,g:f,l:(l,n)=>n,j:qe(b,c,0!==d),m:null})}
|
|
39
|
+
function tb(a,b,c){function d(f){var h=(r(),C)[f>>>2>>>0];f=(r(),C)[f+4>>>2>>>0];return new e((r(),w).buffer,f,h)}a>>>=0;var e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][b];c=O(c>>>0);P(a,{name:c,g:d,j:d},{L:!0})}
|
|
40
|
+
var T=(a,b,c)=>{var d=(r(),x);b>>>=0;if(0<c){var e=b;c=b+c-1;for(var f=0;f<a.length;++f){var h=a.codePointAt(f);if(127>=h){if(b>=c)break;d[b++>>>0]=h}else if(2047>=h){if(b+1>=c)break;d[b++>>>0]=192|h>>6;d[b++>>>0]=128|h&63}else if(65535>=h){if(b+2>=c)break;d[b++>>>0]=224|h>>12;d[b++>>>0]=128|h>>6&63;d[b++>>>0]=128|h&63}else{if(b+3>=c)break;d[b++>>>0]=240|h>>18;d[b++>>>0]=128|h>>12&63;d[b++>>>0]=128|h>>6&63;d[b++>>>0]=128|h&63;f++}}d[b>>>0]=0;a=b-e}else a=0;return a},U=a=>{for(var b=0,c=0;c<a.length;++c){var d=
|
|
41
|
+
a.charCodeAt(c);127>=d?b++:2047>=d?b+=2:55296<=d&&57343>=d?(b+=4,++c):b+=3}return b};
|
|
42
|
+
function ub(a,b){a>>>=0;b=O(b>>>0);P(a,{name:b,g(c){var d=(r(),C)[c>>>2>>>0];d=ke(c+4,d,!0);G(c);return d},l(c,d){d instanceof ArrayBuffer&&(d=new Uint8Array(d));var e="string"==typeof d;if(!(e||ArrayBuffer.isView(d)&&1==d.BYTES_PER_ELEMENT))throw new oe("Cannot pass non-string to std::string");var f=e?U(d):d.length;var h=pd(4+f+1),l=h+4;(r(),C)[h>>>2>>>0]=f;e?T(d,l,f+1):(r(),x).set(d,l>>>0);null!==c&&c.push(G,h);return h},j:se,m(c){G(c)}})}
|
|
43
|
+
var ve=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,we=(a,b,c)=>{a>>>=1;b=ie((r(),La),a,b/2,c);if(16<b-a&&ve)return ve.decode((r(),La).slice(a,b));for(c="";a<b;++a){var d=(r(),La)[a>>>0];c+=String.fromCharCode(d)}return c},xe=(a,b,c)=>{c??=2147483647;if(2>c)return 0;c-=2;var d=b;c=c<2*a.length?c/2:a.length;for(var e=0;e<c;++e){var f=a.charCodeAt(e);(r(),Ka)[b>>>1>>>0]=f;b+=2}(r(),Ka)[b>>>1>>>0]=0;return b-d},ye=a=>2*a.length,ze=(a,b,c)=>{var d="";a>>>=2;for(var e=0;!(e>=b/4);e++){var f=
|
|
44
|
+
(r(),C)[a+e>>>0];if(!f&&!c)break;d+=String.fromCodePoint(f)}return d},Ae=(a,b,c)=>{b>>>=0;c??=2147483647;if(4>c)return 0;var d=b;c=d+c-4;for(var e=0;e<a.length;++e){var f=a.codePointAt(e);65535<f&&e++;(r(),B)[b>>>2>>>0]=f;b+=4;if(b+4>c)break}(r(),B)[b>>>2>>>0]=0;return b-d},Be=a=>{for(var b=0,c=0;c<a.length;++c)65535<a.codePointAt(c)&&c++,b+=4;return b};
|
|
45
|
+
function vb(a,b,c){a>>>=0;b>>>=0;c>>>=0;c=O(c);if(2===b){var d=we;var e=xe;var f=ye}else d=ze,e=Ae,f=Be;P(a,{name:c,g:h=>{var l=(r(),C)[h>>>2>>>0];l=d(h+4,l*b,!0);G(h);return l},l:(h,l)=>{if("string"!=typeof l)throw new oe(`Cannot pass non-string to C++ string type ${c}`);var n=f(l),t=pd(4+n+b);(r(),C)[t>>>2>>>0]=n/b;e(l,t+4,n+b);null!==h&&h.push(G,t);return t},j:se,m(h){G(h)}})}function wb(a,b){a>>>=0;b=O(b>>>0);P(a,{M:!0,name:b,g:()=>{},l:()=>{}})}
|
|
46
|
+
function xb(a){Da(a>>>0,!ba,1,!aa,131072,!1);Ea()}var ee=a=>{if(!sa)try{if(a(),!(0<L))try{m?od()&&Kd(ta):Ec(ta)}catch(b){b instanceof Rd||"unwind"==b||ea(1,b)}}catch(b){b instanceof Rd||"unwind"==b||ea(1,b)}},Ce=!Atomics.waitAsync||globalThis.navigator?.userAgent&&91>Number((navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)||[])[2]);function Fa(a){a>>>=0;Ce||(Atomics.waitAsync((r(),B),a>>>2,a).value.then(Ia),a+=128,Atomics.store((r(),B),a>>>2,1))}var Ia=()=>ee(()=>{var a=od();a&&(Fa(a),Md())});
|
|
47
|
+
function yb(a,b){a>>>=0;a==b>>>0?setTimeout(Ia):m?postMessage({s:a,i:"checkMailbox"}):(a=K[a])&&a.postMessage({i:"checkMailbox"})}var De=[];function zb(a,b,c,d,e){b>>>=0;e>>>=0;De.length=0;c=e>>>3;for(d=e+d>>>3;c<d;){var f;(r(),E)[c++>>>0]?f=(r(),E)[c++>>>0]:f=(r(),D)[c++>>>0];De.push(f)}return(b?Ee[b]:Fe[a])(...De)}var Ab=()=>{L=0};function Bb(a){a>>>=0;m?postMessage({i:"cleanupThread",R:a}):de(K[a])}function Cb(a){k&&K[a>>>0].ref()}function jd(a){return(...b)=>a(...b)}
|
|
48
|
+
var hd=null,Ge=async a=>{L+=1;try{return await a()}finally{--L}};function Db(a){a>>>=0;return Ge(async()=>{var b=await R(a);return S(b)})}Db.A=!0;
|
|
49
|
+
var He=[],Ie=a=>{var b=He.length;He.push(a);return b},Je=(a,b)=>{for(var c=Array(a),d=0;d<a;++d){var e=d,f=(r(),C)[b+4*d>>>2>>>0],h=me[f];if(void 0===h)throw a=`parameter ${d}`,f=md(f),b=O(f),G(f),new oe(`${a} has unknown type ${b}`);c[e]=h}return c},Ke=(a,b,c)=>{var d=[];a=a(d,c);d.length&&((r(),C)[b>>>2>>>0]=S(d));return a},Le={},Me=a=>{var b=Le[a];return void 0===b?O(a):b};
|
|
50
|
+
function Eb(a,b,c){var [d,...e]=Je(a,b>>>0);b=d.l.bind(d);var f=e.map(n=>n.j.bind(n));a--;var h={toValue:R};a=f.map((n,t)=>{var y=`argFromPtr${t}`;h[y]=n;return`${y}(args${t?"+"+8*t:""})`});switch(c){case 0:var l="toValue(handle)";break;case 2:l="new (toValue(handle))";break;case 3:l="";break;case 1:h.getStringOrSymbol=Me,l="toValue(handle)[getStringOrSymbol(methodName)]"}l+=`(${a})`;d.M||(h.toReturnWire=b,h.emval_returnValue=Ke,l=`return emval_returnValue(toReturnWire, destructorsRef, ${l})`);l=
|
|
51
|
+
`return function (handle, methodName, destructorsRef, args) {\n ${l}\n }`;c=(new Function(Object.keys(h),l))(...Object.values(h));l=`methodCaller<(${e.map(n=>n.name)}) => ${d.name}>`;return Ie(Object.defineProperty(c,"name",{value:l}))}function Gb(a,b){b>>>=0;a=R(a>>>0);b=R(b);return a==b}function Hb(a){a>>>=0;if(!a)return S(globalThis);a=Me(a);return S(globalThis[a])}function Ib(a){a=Me(a>>>0);return S(g[a])}function Jb(a,b){b>>>=0;a=R(a>>>0);b=R(b);return S(a[b])}
|
|
52
|
+
function Kb(a){a>>>=0;9<a&&(Q[a+1]+=1)}function Lb(a,b,c,d,e){return He[a>>>0](b>>>0,c>>>0,d>>>0,e>>>0)}function Mb(a,b,c,d,e){return Lb(a>>>0,b>>>0,c>>>0,d>>>0,e>>>0)}function Nb(){return S([])}function Ob(a){a=R(a>>>0);for(var b=Array(a.length),c=0;c<a.length;c++)b[c]=a[c];return S(b)}function Pb(a){return S(Me(a>>>0))}function Qb(){return S({})}function Rb(a){a>>>=0;for(var b=R(a);b.length;){var c=b.pop();b.pop()(c)}Fb(a)}function Sb(a,b,c){b>>>=0;c>>>=0;a=R(a>>>0);b=R(b);c=R(c);a[b]=c}
|
|
53
|
+
function Tb(a,b){a=N(a);b>>>=0;a=new Date(1E3*a);(r(),B)[b>>>2>>>0]=a.getUTCSeconds();(r(),B)[b+4>>>2>>>0]=a.getUTCMinutes();(r(),B)[b+8>>>2>>>0]=a.getUTCHours();(r(),B)[b+12>>>2>>>0]=a.getUTCDate();(r(),B)[b+16>>>2>>>0]=a.getUTCMonth();(r(),B)[b+20>>>2>>>0]=a.getUTCFullYear()-1900;(r(),B)[b+24>>>2>>>0]=a.getUTCDay();a=(a.getTime()-Date.UTC(a.getUTCFullYear(),0,1,0,0,0,0))/864E5|0;(r(),B)[b+28>>>2>>>0]=a}
|
|
54
|
+
var Ne=a=>0===a%4&&(0!==a%100||0===a%400),Oe=[0,31,60,91,121,152,182,213,244,274,305,335],Pe=[0,31,59,90,120,151,181,212,243,273,304,334];
|
|
55
|
+
function Ub(a,b){a=N(a);b>>>=0;a=new Date(1E3*a);(r(),B)[b>>>2>>>0]=a.getSeconds();(r(),B)[b+4>>>2>>>0]=a.getMinutes();(r(),B)[b+8>>>2>>>0]=a.getHours();(r(),B)[b+12>>>2>>>0]=a.getDate();(r(),B)[b+16>>>2>>>0]=a.getMonth();(r(),B)[b+20>>>2>>>0]=a.getFullYear()-1900;(r(),B)[b+24>>>2>>>0]=a.getDay();var c=(Ne(a.getFullYear())?Oe:Pe)[a.getMonth()]+a.getDate()-1|0;(r(),B)[b+28>>>2>>>0]=c;(r(),B)[b+36>>>2>>>0]=-(60*a.getTimezoneOffset());c=(new Date(a.getFullYear(),6,1)).getTimezoneOffset();var d=(new Date(a.getFullYear(),
|
|
56
|
+
0,1)).getTimezoneOffset();a=(c!=d&&a.getTimezoneOffset()==Math.min(d,c))|0;(r(),B)[b+32>>>2>>>0]=a}
|
|
57
|
+
function Vb(a){a>>>=0;var b=new Date((r(),B)[a+20>>>2>>>0]+1900,(r(),B)[a+16>>>2>>>0],(r(),B)[a+12>>>2>>>0],(r(),B)[a+8>>>2>>>0],(r(),B)[a+4>>>2>>>0],(r(),B)[a>>>2>>>0],0),c=(r(),B)[a+32>>>2>>>0],d=b.getTimezoneOffset(),e=(new Date(b.getFullYear(),6,1)).getTimezoneOffset(),f=(new Date(b.getFullYear(),0,1)).getTimezoneOffset(),h=Math.min(f,e);0>c?(r(),B)[a+32>>>2>>>0]=Number(e!=f&&h==d):0<c!=(h==d)&&(e=Math.max(f,e),b.setTime(b.getTime()+6E4*((0<c?h:e)-d)));(r(),B)[a+24>>>2>>>0]=b.getDay();c=(Ne(b.getFullYear())?
|
|
58
|
+
Oe:Pe)[b.getMonth()]+b.getDate()-1|0;(r(),B)[a+28>>>2>>>0]=c;(r(),B)[a>>>2>>>0]=b.getSeconds();(r(),B)[a+4>>>2>>>0]=b.getMinutes();(r(),B)[a+8>>>2>>>0]=b.getHours();(r(),B)[a+12>>>2>>>0]=b.getDate();(r(),B)[a+16>>>2>>>0]=b.getMonth();(r(),B)[a+20>>>2>>>0]=b.getYear();a=b.getTime();return BigInt(isNaN(a)?-1:a/1E3)}function Wb(a,b,c,d,e,f,h){return m?M(16,1,a,b,c,d,e,f,h):-52}function Xb(a,b,c,d,e,f){if(m)return M(17,1,a,b,c,d,e,f)}var Qe={},hc=()=>performance.timeOrigin+performance.now();
|
|
59
|
+
function Yb(a,b){if(m)return M(18,1,a,b);Qe[a]&&(clearTimeout(Qe[a].id),delete Qe[a]);if(!b)return 0;var c=setTimeout(()=>{delete Qe[a];ee(()=>Ld(a,performance.timeOrigin+performance.now()))},b);Qe[a]={id:c,$:b};return 0}
|
|
60
|
+
function Zb(a,b,c,d){a>>>=0;b>>>=0;c>>>=0;d>>>=0;var e=(new Date).getFullYear(),f=(new Date(e,0,1)).getTimezoneOffset();e=(new Date(e,6,1)).getTimezoneOffset();var h=Math.max(f,e);(r(),C)[a>>>2>>>0]=60*h;(r(),B)[b>>>2>>>0]=Number(f!=e);b=l=>{var n=Math.abs(l);return`UTC${0<=l?"-":"+"}${String(Math.floor(n/60)).padStart(2,"0")}${String(n%60).padStart(2,"0")}`};a=b(f);b=b(e);e<f?(T(a,c,17),T(b,d,17)):(T(a,d,17),T(b,c,17))}var dc=()=>Date.now(),Re=1;
|
|
61
|
+
function $b(a,b,c){c>>>=0;if(!(0<=a&&3>=a))return 28;if(0===a)a=Date.now();else if(Re)a=performance.timeOrigin+performance.now();else return 52;a=Math.round(1E6*a);(r(),E)[c>>>3>>>0]=BigInt(a);return 0}var Se=[],Te=(a,b)=>{Se.length=0;for(var c;c=(r(),x)[a++>>>0];){var d=105!=c;d&=112!=c;b+=d&&b%8?4:0;Se.push(112==c?(r(),C)[b>>>2>>>0]:106==c?(r(),E)[b>>>3>>>0]:105==c?(r(),B)[b>>>2>>>0]:(r(),D)[b>>>3>>>0]);b+=d?8:4}return Se};function ac(a,b,c){a>>>=0;b=Te(b>>>0,c>>>0);return Ee[a](...b)}
|
|
62
|
+
function bc(a,b,c){a>>>=0;b=Te(b>>>0,c>>>0);return Ee[a](...b)}var cc=()=>{};function ec(a,b){return q(ke(a>>>0,b>>>0))}var fc=()=>{L+=1;throw"unwind";};function gc(){return 4294901760}var ic=()=>2,jc=()=>k?require("os").cpus().length:navigator.hardwareConcurrency,Ue={},Ve=a=>{var b=U(a)+1,c=pd(b);c&&T(a,c,b);return c},We=a=>{var b;return(b=/\bwasm-function\[\d+\]:(0x[0-9a-f]+)/.exec(a))?+b[1]:(b=/:(\d+):\d+(?:\)|$)/.exec(a))?2147483648|+b[1]:0},Xe=a=>{for(var b of a)(a=We(b))&&(Ue[a]=b)};
|
|
63
|
+
function mc(){var a=Error().stack.toString().split("\n");"Error"==a[0]&&a.shift();Xe(a);Ue.B=We(a[3]);Ue.N=a;return Ue.B}function kc(a){a=Ue[a>>>0];if(!a)return 0;var b;if(b=/^\s+at .*\.wasm\.(.*) \(.*\)$/.exec(a))a=b[1];else if(b=/^\s+at (.*) \(.*\)$/.exec(a))a=b[1];else if(b=/^(.+?)@/.exec(a))a=b[1];else return 0;G(kc.C??0);kc.C=Ve(a);return kc.C}
|
|
64
|
+
function lc(a){a>>>=0;var b=(r(),x).length;if(a<=b||4294901760<a)return!1;for(var c=1;4>=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);a:{d=(Math.min(4294901760,65536*Math.ceil(Math.max(a,d)/65536))-u.buffer.byteLength+65535)/65536|0;try{u.grow(d);ua();var e=1;break a}catch(f){}e=void 0}if(e)return!0}return!1}
|
|
65
|
+
function nc(a,b,c){a>>>=0;b>>>=0;if(Ue.B==a)var d=Ue.N;else d=Error().stack.toString().split("\n"),"Error"==d[0]&&d.shift(),Xe(d);for(var e=3;d[e]&&We(d[e])!=a;)++e;for(a=0;a<c&&d[a+e];++a)(r(),B)[b+4*a>>>2>>>0]=We(d[a+e]);return a}
|
|
66
|
+
var V=a=>{var b=U(a)+1,c=Pd(b);T(a,c,b);return c},Ye=[],W=(a,b)=>{Ye[a>>>=0]=b},X=[],Ze=[],$e=(a,b)=>{Ze[a]=new Promise(c=>b.finally(()=>c(a)))},Y=a=>{if(a)return Ye[a>>>0]},af=(a,b=0)=>{"pending"!=a.mapState||Qa();b=yd(b,"mapped"==a.mapState?3:1);W(b,a);"mapped"==a.mapState&&(X[b]=[]);return b},bf=(a,b=0)=>{var c=Ad(b);b=zd(b,c);W(c,a.queue);W(b,a);return b},cf=(a,b,c)=>{(r(),C)[a>>>2>>>0]=b;(r(),C)[a+4>>>2>>>0]=c},df=a=>{var b=(r(),C)[a>>>2>>>0];a=(r(),C)[a+4>>>2>>>0];return ke(b,a)},Z=a=>{var b=
|
|
67
|
+
(r(),C)[a>>>2>>>0];a=(r(),C)[a+4>>>2>>>0];if(b)return ke(b,a);if(0===a)return""},ef=a=>{var b=Z(a+4);var c=(c=(r(),C)[a+12>>>2>>>0])?Y(c):"auto";if(a+=16){var d=Y((r(),C)[a+4>>>2>>>0]);var e=(r(),C)[a+16>>>2>>>0];var f=(r(),C)[a+20>>>2>>>0];if(e){for(var h={},l=0;l<e;++l){var n=f+24*l,t=df(n+4);h[t]=(r(),D)[n+16>>>3>>>0]}e=h}else e=void 0;a={module:d,constants:e,entryPoint:Z(a+8)}}else a=void 0;return{label:b,layout:c,compute:a}},ff=(a,b)=>{function c(e,f){e=a[e];(r(),B)[b+f>>>2>>>0]=e}function d(e,
|
|
68
|
+
f){e=a[e];(r(),E)[b+f>>>3>>>0]=BigInt(e)}c("maxTextureDimension1D",4);c("maxTextureDimension2D",8);c("maxTextureDimension3D",12);c("maxTextureArrayLayers",16);c("maxBindGroups",20);c("maxBindGroupsPlusVertexBuffers",24);c("maxBindingsPerBindGroup",28);c("maxDynamicUniformBuffersPerPipelineLayout",32);c("maxDynamicStorageBuffersPerPipelineLayout",36);c("maxSampledTexturesPerShaderStage",40);c("maxSamplersPerShaderStage",44);c("maxStorageBuffersPerShaderStage",48);c("maxStorageTexturesPerShaderStage",
|
|
69
|
+
52);c("maxUniformBuffersPerShaderStage",56);c("minUniformBufferOffsetAlignment",80);c("minStorageBufferOffsetAlignment",84);d("maxUniformBufferBindingSize",64);d("maxStorageBufferBindingSize",72);c("maxVertexBuffers",88);d("maxBufferSize",96);c("maxVertexAttributes",104);c("maxVertexBufferArrayStride",108);c("maxInterStageShaderVariables",112);c("maxColorAttachments",116);c("maxColorAttachmentBytesPerSample",120);c("maxComputeWorkgroupStorageSize",124);c("maxComputeInvocationsPerWorkgroup",128);c("maxComputeWorkgroupSizeX",
|
|
70
|
+
132);c("maxComputeWorkgroupSizeY",136);c("maxComputeWorkgroupSizeZ",140);c("maxComputeWorkgroupsPerDimension",144);void 0!==a.Y&&c("maxImmediateSize",148)},gf=[,"validation","out-of-memory","internal"],hf=[,"compatibility","core"],jf={1:"core-features-and-limits",2:"depth-clip-control",3:"depth32float-stencil8",4:"texture-compression-bc",5:"texture-compression-bc-sliced-3d",6:"texture-compression-etc2",7:"texture-compression-astc",8:"texture-compression-astc-sliced-3d",9:"timestamp-query",10:"indirect-first-instance",
|
|
71
|
+
11:"shader-f16",12:"rg11b10ufloat-renderable",13:"bgra8unorm-storage",14:"float32-filterable",15:"float32-blendable",16:"clip-distances",17:"dual-source-blending",18:"subgroups",19:"texture-formats-tier1",20:"texture-formats-tier2",21:"primitive-index",327692:"chromium-experimental-unorm16-texture-formats",327693:"chromium-experimental-snorm16-texture-formats",327732:"chromium-experimental-multi-draw-indirect"},kf=[,"low-power","high-performance"],lf=[,"occlusion","timestamp"],mf={undefined:1,unknown:1,
|
|
72
|
+
destroyed:2};
|
|
73
|
+
function oc(a,b,c,d,e,f){b=N(b);c=N(c);d>>>=0;e>>>=0;f>>>=0;var h=Y(a>>>0);a={};if(f){var l=(r(),C)[f+12>>>2>>>0];if(l){var n=(r(),C)[f+16>>>2>>>0];a.requiredFeatures=Array.from((r(),C).subarray(n>>>2>>>0,n+4*l>>>2>>>0),p=>jf[p])}var t=(r(),C)[f+20>>>2>>>0];if(t){var y={};function p(z,A,pb=!1){A=t+A;A=(r(),C)[A>>>2>>>0];4294967295==A||pb&&0==A||(y[z]=A)}function v(z,A){A=t+A;var pb=(r(),C)[A>>>2>>>0],rf=(r(),C)[A+4>>>2>>>0];if(4294967295!=pb||4294967295!=rf)y[z]=4294967296*(r(),C)[A+4>>>2>>>0]+(r(),
|
|
74
|
+
C)[A>>>2>>>0]}p("maxTextureDimension1D",4);p("maxTextureDimension2D",8);p("maxTextureDimension3D",12);p("maxTextureArrayLayers",16);p("maxBindGroups",20);p("maxBindGroupsPlusVertexBuffers",24);p("maxDynamicUniformBuffersPerPipelineLayout",32);p("maxDynamicStorageBuffersPerPipelineLayout",36);p("maxSampledTexturesPerShaderStage",40);p("maxSamplersPerShaderStage",44);p("maxStorageBuffersPerShaderStage",48);p("maxStorageTexturesPerShaderStage",52);p("maxUniformBuffersPerShaderStage",56);p("minUniformBufferOffsetAlignment",
|
|
75
|
+
80);p("minStorageBufferOffsetAlignment",84);v("maxUniformBufferBindingSize",64);v("maxStorageBufferBindingSize",72);p("maxVertexBuffers",88);v("maxBufferSize",96);p("maxVertexAttributes",104);p("maxVertexBufferArrayStride",108);p("maxInterStageShaderVariables",112);p("maxColorAttachments",116);p("maxColorAttachmentBytesPerSample",120);p("maxComputeWorkgroupStorageSize",124);p("maxComputeInvocationsPerWorkgroup",128);p("maxComputeWorkgroupSizeX",132);p("maxComputeWorkgroupSizeY",136);p("maxComputeWorkgroupSizeZ",
|
|
76
|
+
140);p("maxComputeWorkgroupsPerDimension",144);p("maxImmediateSize",148,!0);a.requiredLimits=y}if(l=(r(),C)[f+24>>>2>>>0])l={label:Z(l+4)},a.defaultQueue=l;a.label=Z(f+4)}L+=1;$e(b,h.requestDevice(a).then(p=>{--L;W(e,p.queue);W(d,p);c&&(L+=1,$e(c,p.lost.then(v=>{--L;p.onuncapturederror=()=>{};var z=I(),A=V(v.message);Cd(c,mf[v.reason],A);H(z)})));p.onuncapturederror=v=>{var z=5;v.error instanceof GPUValidationError?z=2:v.error instanceof GPUOutOfMemoryError?z=3:v.error instanceof GPUInternalError&&
|
|
77
|
+
(z=4);var A=I();v=V(v.error.message);Hd(d,z,v);H(A)};"adapterInfo"in p||(p.adapterInfo=h.info);Gd(b,1,d,0)},p=>{--L;var v=I();p=V(p.message);Gd(b,3,d,p);c&&Cd(c,4,p);H(v)}))}function pc(a){a>>>=0;var b=Y(a),c=X[a];if(c){for(var d=0;d<c.length;++d)c[d]();delete X[a]}b.destroy()}var nf=()=>{var a="getMappedRange size=0 no longer means WGPU_WHOLE_MAP_SIZE";nf.v||(nf.v={});nf.v[a]||(nf.v[a]=1,k&&(a="warning: "+a),q(a))};
|
|
78
|
+
function qc(a,b,c){a>>>=0;b>>>=0;c>>>=0;var d=Y(a);0===c&&nf();4294967295==c&&(c=void 0);try{var e=d.getMappedRange(b,c)}catch(h){return 0}var f=Nd(16,e.byteLength);(r(),x).set(new Uint8Array(e),f>>>0);X[a].push(()=>G(f));return f}
|
|
79
|
+
function rc(a,b,c){a>>>=0;b>>>=0;c>>>=0;var d=Y(a);0===c&&nf();4294967295==c&&(c=void 0);try{var e=d.getMappedRange(b,c)}catch(h){return 0}var f=Nd(16,e.byteLength);(r(),x).fill(0,f,e.byteLength);X[a].push(()=>{(new Uint8Array(e)).set((r(),x).subarray(f>>>0,f+e.byteLength>>>0));G(f)});return f}
|
|
80
|
+
function sc(a,b,c,d,e){a>>>=0;b=N(b);c=N(c);e>>>=0;var f=Y(a);X[a]=[];4294967295==e&&(e=void 0);L+=1;$e(b,f.mapAsync(c,d>>>0,e).then(()=>{--L;Dd(b,1,0)},h=>{--L;I();var l=V(h.message);Dd(b,"AbortError"===h.name?4:"OperationError"===h.name?3:0,l);delete X[a]}))}function tc(a){a>>>=0;var b=Y(a),c=X[a];if(c){for(var d=0;d<c.length;++d)c[d]();delete X[a];b.unmap()}}function uc(a){delete Ye[a>>>0]}
|
|
81
|
+
function vc(a,b,c){a>>>=0;b>>>=0;c>>>=0;var d=!!(r(),C)[b+32>>>2>>>0];b={label:Z(b+4),usage:(r(),C)[b+16>>>2>>>0],size:4294967296*(r(),C)[b+28>>>2>>>0]+(r(),C)[b+24>>>2>>>0],mappedAtCreation:d};a=Y(a);try{var e=a.createBuffer(b)}catch(f){return!1}W(c,e);d&&(X[c]=[]);return!0}
|
|
82
|
+
function wc(a,b,c,d){a>>>=0;b=N(b);d>>>=0;c=ef(c>>>0);a=Y(a);L+=1;$e(b,a.createComputePipelineAsync(c).then(e=>{--L;W(d,e);Bd(b,1,d,0)},e=>{--L;var f=I(),h=V(e.message);Bd(b,"validation"===e.reason?3:"internal"===e.reason?4:0,d,h);H(f)}))}function xc(a,b,c){a>>>=0;b>>>=0;c>>>=0;var d=(r(),C)[b>>>2>>>0],e=(r(),C)[d+4>>>2>>>0];b={label:Z(b+4),code:""};switch(e){case 2:b.code=df(d+8)}W(c,Y(a).createShaderModule(b))}var yc=a=>{a=Y(a);a.onuncapturederror=null;a.destroy()};
|
|
83
|
+
function zc(a,b){b=N(b);a=Y(a>>>0);L+=1;$e(b,a.popErrorScope().then(c=>{--L;var d=5;c?c instanceof GPUValidationError?d=2:c instanceof GPUOutOfMemoryError?d=3:c instanceof GPUInternalError&&(d=4):d=1;var e=I();c=c?V(c.message):0;Ed(b,1,d,c);H(e)},c=>{--L;var d=I();c=V(c.message);Ed(b,1,5,c);H(d)}))}
|
|
84
|
+
function Ac(a,b,c,d){b=N(b);c>>>=0;d>>>=0;if(c){var e=(r(),C)[c+4>>>2>>>0];e={featureLevel:hf[e],powerPreference:kf[(r(),C)[c+8>>>2>>>0]],forceFallbackAdapter:!!(r(),C)[c+12>>>2>>>0]};c=(r(),C)[c>>>2>>>0];0!==c&&(r(),e.ba=!!(r(),C)[c+8>>>2>>>0])}"gpu"in navigator?(L+=1,$e(b,navigator.gpu.requestAdapter(e).then(f=>{--L;if(f)W(d,f),Fd(b,1,d,0);else{f=I();var h=V("WebGPU not available on this browser (requestAdapter returned null)");Fd(b,3,d,h);H(f)}},f=>{--L;var h=I();f=V(f.message);Fd(b,4,d,f);H(h)}))):
|
|
85
|
+
(c=I(),e=V("WebGPU not available on this browser (navigator.gpu is not available)"),Fd(b,3,d,e),H(c))}function Bc(a,b,c){a>>>=0;b>>>=0;c>>>=0;return Ge(async()=>{var d=[];if(c){var e=(r(),B)[c>>>2>>>0];d.length=b+1;d[b]=new Promise(l=>setTimeout(l,e,0))}else d.length=b;for(var f=0;f<b;++f){var h=4294967296*(r(),C)[a+8*f+4>>>2>>>0]+(r(),C)[a+8*f>>>2>>>0];if(!(h in Ze))return h;d[f]=Ze[h]}d=await Promise.race(d);delete Ze[d];return d})}Bc.A=!0;
|
|
86
|
+
var of={},qf=()=>{if(!pf){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:da||"./this.program"},b;for(b in of)void 0===of[b]?delete a[b]:a[b]=of[b];var c=[];for(b in a)c.push(`${b}=${a[b]}`);pf=c}return pf},pf;function Cc(a,b){if(m)return M(19,1,a,b);a>>>=0;b>>>=0;var c=0,d=0,e;for(e of qf()){var f=b+c;(r(),C)[a+d>>>2>>>0]=f;c+=T(e,f,Infinity)+1;d+=4}return 0}
|
|
87
|
+
function Dc(a,b){if(m)return M(20,1,a,b);a>>>=0;b>>>=0;var c=qf();(r(),C)[a>>>2>>>0]=c.length;a=0;for(var d of c)a+=U(d)+1;(r(),C)[b>>>2>>>0]=a;return 0}function Fc(a){return m?M(21,1,a):52}function Gc(a,b,c,d){return m?M(22,1,a,b,c,d):52}function Hc(a,b,c,d){return m?M(23,1,a,b,c,d):70}var sf=[null,[],[]];
|
|
88
|
+
function Ic(a,b,c,d){if(m)return M(24,1,a,b,c,d);b>>>=0;c>>>=0;d>>>=0;for(var e=0,f=0;f<c;f++){var h=(r(),C)[b>>>2>>>0],l=(r(),C)[b+4>>>2>>>0];b+=8;for(var n=0;n<l;n++){var t=a,y=(r(),x)[h+n>>>0],p=sf[t];0===y||10===y?((1===t?pa:q)(je(p)),p.length=0):p.push(y)}e+=l}(r(),C)[d>>>2>>>0]=e;return 0}function Kc(a,b){ff(Y(a>>>0).limits,b>>>0);return 1}function Lc(a,b){return Y(a>>>0).features.has(jf[b])}function Mc(a){return BigInt(Y(a>>>0).size)}function Nc(a){return BigInt(Y(a>>>0).usage)}
|
|
89
|
+
function Oc(a,b){a>>>=0;b>>>=0;if(b){var c=Z(b+4);b=(r(),C)[b+12>>>2>>>0];b=0!==b?{querySet:Y((r(),C)[b+4>>>2>>>0]),beginningOfPassWriteIndex:(r(),C)[b+8>>>2>>>0],endOfPassWriteIndex:(r(),C)[b+12>>>2>>>0]}:void 0;c={label:c,timestampWrites:b}}a=Y(a);b=wd(0);W(b,a.beginComputePass(c));return b}function Pc(a,b,c,d,e,f){c=N(c);e=N(e);f=N(f);Y(a>>>0).copyBufferToBuffer(Y(b>>>0),c,Y(d>>>0),e,f)}function Qc(a){a=Y(a>>>0);var b=ud(0);W(b,a.finish());return b}
|
|
90
|
+
function Rc(a,b,c,d,e,f){f=N(f);Y(a>>>0).resolveQuerySet(Y(b>>>0),c,d,Y(e>>>0),f)}function Sc(a,b,c,d){Y(a>>>0).dispatchWorkgroups(b,c,d)}function Tc(a,b,c){c=N(c);Y(a>>>0).dispatchWorkgroupsIndirect(Y(b>>>0),c)}function Uc(a){Y(a>>>0).end()}function Vc(a,b,c,d,e){d>>>=0;e>>>=0;a=Y(a>>>0);c=Y(c>>>0);0==d?a.setBindGroup(b,c):a.setBindGroup(b,c,(r(),C),e>>>2,d)}function Wc(a,b){Y(a>>>0).setPipeline(Y(b>>>0))}function Xc(a,b,c){Y(a>>>0).aa(Y(b>>>0),c)}
|
|
91
|
+
function Yc(a,b){a=Y(a>>>0);var c=td(0);W(c,a.getBindGroupLayout(b));return c}
|
|
92
|
+
function Zc(a,b){a>>>=0;b>>>=0;var c=Z(b+4),d=Y((r(),C)[b+12>>>2>>>0]),e=(r(),C)[b+16>>>2>>>0];b=(r(),C)[b+20>>>2>>>0];for(var f=[],h=0;h<e;++h){var l=f,n=l.push;var t=b+40*h;var y=(r(),C)[t+8>>>2>>>0],p=(r(),C)[t+32>>>2>>>0],v=(r(),C)[t+36>>>2>>>0],z=(r(),C)[t+4>>>2>>>0];y?(p=t+24,p=(r(),C)[p>>>2>>>0]+4294967296*(r(),B)[p+4>>>2>>>0],-1==p&&(p=void 0),t={binding:z,resource:{buffer:Y(y),offset:4294967296*(r(),C)[t+4+16>>>2>>>0]+(r(),C)[t+16>>>2>>>0],size:p}}):t=p?{binding:z,resource:Y(p)}:{binding:z,
|
|
93
|
+
resource:Y(v)};n.call(l,t)}c={label:c,layout:d,entries:f};a=Y(a);d=sd(0);W(d,a.createBindGroup(c));return d}function $c(a,b){a>>>=0;b>>>=0;var c;b&&(c={label:Z(b+4)});a=Y(a);b=vd(0);W(b,a.createCommandEncoder(c));return b}function ad(a,b){a>>>=0;b>>>=0;b={type:lf[(r(),C)[b+12>>>2>>>0]],count:(r(),C)[b+16>>>2>>>0]};a=Y(a);var c=xd(0);W(c,a.createQuerySet(b));return c}
|
|
94
|
+
function bd(a,b){a=Y(a>>>0).adapterInfo;b>>>=0;(r(),B)[b+52>>>2>>>0]=a.subgroupMinSize;(r(),B)[b+56>>>2>>>0]=a.subgroupMaxSize;var c=Ve(a.vendor+a.architecture+a.device+a.description),d=U(a.vendor);cf(b+4,c,d);c+=d;d=U(a.architecture);cf(b+12,c,d);c+=d;d=U(a.device);cf(b+20,c,d);cf(b+28,c+d,U(a.description));(r(),B)[b+36>>>2>>>0]=2;a=a.isFallbackAdapter?3:4;(r(),B)[b+40>>>2>>>0]=a;(r(),B)[b+44>>>2>>>0]=0;(r(),B)[b+48>>>2>>>0]=0;return 1}
|
|
95
|
+
var tf={"core-features-and-limits":1,"depth-clip-control":2,"depth32float-stencil8":3,"texture-compression-bc":4,"texture-compression-bc-sliced-3d":5,"texture-compression-etc2":6,"texture-compression-astc":7,"texture-compression-astc-sliced-3d":8,"timestamp-query":9,"indirect-first-instance":10,"shader-f16":11,"rg11b10ufloat-renderable":12,"bgra8unorm-storage":13,"float32-filterable":14,"float32-blendable":15,"clip-distances":16,"dual-source-blending":17,subgroups:18,"texture-formats-tier1":19,"texture-formats-tier2":20,
|
|
96
|
+
"primitive-index":21,"chromium-experimental-unorm16-texture-formats":327692,"chromium-experimental-snorm16-texture-formats":327693,"chromium-experimental-multi-draw-indirect":327732};function cd(a,b){b>>>=0;a=Y(a>>>0);var c=pd(4*a.features.size),d=0,e=0;a.features.forEach(f=>{f=tf[f];0<=f&&((r(),B)[c+d>>>2>>>0]=f,d+=4,e++)});(r(),C)[b+4>>>2>>>0]=c;(r(),C)[b>>>2>>>0]=e}function dd(a,b){ff(Y(a>>>0).limits,b>>>0);return 1}function ed(a,b){Y(a>>>0).pushErrorScope(gf[b])}
|
|
97
|
+
function fd(a,b,c){b>>>=0;c>>>=0;a=Y(a>>>0);b=Array.from((r(),B).subarray(c>>>2>>>0,c+4*b>>>2>>>0),d=>Y(d));a.submit(b)}function gd(a,b,c,d,e){c=N(c);d>>>=0;e>>>=0;a=Y(a>>>0);b=Y(b>>>0);d=(r(),x).subarray(d>>>0,d+e>>>0);a.writeBuffer(b,c,d,0,e)}m||be();m||(u=new WebAssembly.Memory({initial:256,maximum:65536,shared:!0}),ua());g.wasmBinary&&(qa=g.wasmBinary);g.stackSave=()=>I();g.stackRestore=a=>H(a);g.stackAlloc=a=>Pd(a);
|
|
98
|
+
g.setValue=function(a,b,c="i8"){c.endsWith("*")&&(c="*");switch(c){case "i1":(r(),w)[a>>>0]=b;break;case "i8":(r(),w)[a>>>0]=b;break;case "i16":(r(),Ka)[a>>>1>>>0]=b;break;case "i32":(r(),B)[a>>>2>>>0]=b;break;case "i64":(r(),E)[a>>>3>>>0]=BigInt(b);break;case "float":(r(),Ma)[a>>>2>>>0]=b;break;case "double":(r(),D)[a>>>3>>>0]=b;break;case "*":(r(),C)[a>>>2>>>0]=b;break;default:Qa(`invalid type for setValue: ${c}`)}};
|
|
99
|
+
g.getValue=function(a,b="i8"){b.endsWith("*")&&(b="*");switch(b){case "i1":return(r(),w)[a>>>0];case "i8":return(r(),w)[a>>>0];case "i16":return(r(),Ka)[a>>>1>>>0];case "i32":return(r(),B)[a>>>2>>>0];case "i64":return(r(),E)[a>>>3>>>0];case "float":return(r(),Ma)[a>>>2>>>0];case "double":return(r(),D)[a>>>3>>>0];case "*":return(r(),C)[a>>>2>>>0];default:Qa(`invalid type for getValue: ${b}`)}};g.UTF8ToString=ke;g.stringToUTF8=T;g.lengthBytesUTF8=U;
|
|
100
|
+
var Fe=[Jc,ae,ge,$a,ab,bb,cb,db,eb,fb,gb,hb,ib,jb,kb,lb,Wb,Xb,Yb,Cc,Dc,Fc,Gc,Hc,Ic],Ee={1127952:(a,b,c,d,e)=>{if("undefined"==typeof g||!g.o)return 1;a=ke(Number(a>>>0));a.startsWith("./")&&(a=a.substring(2));a=g.o.get(a);if(!a)return 2;b=Number(b>>>0);c=Number(c>>>0);d=Number(d>>>0);if(b+c>a.byteLength)return 3;try{const f=a.subarray(b,b+c);switch(e){case 0:(r(),x).set(f,d>>>0);break;case 1:g.F?g.F(d,f):g.X(d,f);break;default:return 4}return 0}catch{return 4}},1128776:(a,b,c)=>{g.H(a,(r(),x).subarray(b>>>
|
|
101
|
+
0,b+c>>>0))},1128840:()=>g.V(),1128882:a=>{g.G(a)},1128919:()=>"undefined"!==typeof wasmOffsetConverter};function Ya(){return"undefined"!==typeof wasmOffsetConverter}var md,Ga,nd,od,G,pd,qd,rd,sd,td,ud,vd,wd,xd,yd,zd,Ad,Bd,Cd,Dd,Ed,Fd,Gd,Hd,Da,Ja,Id,Jd,Kd,Ld,Md,Nd,Ra,Od,H,Pd,I,Qd,Xa;
|
|
102
|
+
function kd(){var a=F;a=Object.assign({},a);var b=d=>e=>d(e)>>>0,c=d=>()=>d()>>>0;a.__getTypeName=b(a.__getTypeName);a.pthread_self=c(a.pthread_self);a.malloc=b(a.malloc);a.memalign=(d=>(e,f)=>d(e,f)>>>0)(a.memalign);a._emscripten_stack_alloc=b(a._emscripten_stack_alloc);a.emscripten_stack_get_current=c(a.emscripten_stack_get_current);return a}function Ba(){0<Vd?Wd=Ba:m?(va?.(g),Pa()):(Ud(),0<Vd?Wd=Ba:async function(){g.calledRun=!0;sa||(Pa(),va?.(g))}())}var F;m||(F=await (Aa()),Ba());
|
|
103
|
+
g.PTR_SIZE=4;
|
|
104
|
+
g.webgpuInit=a=>{const b=new WeakMap;let c=1,d=void 0,e=void 0;g.webgpuRegisterDevice=l=>{if(void 0!==e)throw Error("another WebGPU EP inference session is being created.");if(l){var n=b.get(l);if(!n){n=rd(0);const t=bf(l,n);n=[c++,n,t];b.set(l,n)}d=l;e=n[0];return n}d=void 0;e=0};const f=new Map;g.webgpuOnCreateSession=l=>{if(void 0!==e){var n=e;e=void 0;if(l){const t=nd(n);f.set(l,t);0===n&&a(d??Y(t))}d=void 0}};g.webgpuOnReleaseSession=l=>{f.delete(l)};const h=Symbol("gpuBufferMetadata");g.webgpuRegisterBuffer=
|
|
105
|
+
(l,n,t)=>{if(t)return l[h]=[t,NaN],t;if(t=l[h])return t[1]++,t[0];n=f.get(n);if(void 0===n)throw Error("Invalid session handle passed to webgpuRegisterBuffer");n=af(l,n);l[h]=[n,1];return n};g.webgpuUnregisterBuffer=l=>{const n=l[h];if(!n)throw Error("Buffer is not registered");n[1]--;0===n[1]&&(qd(n[0]),delete l[h])};g.webgpuGetBuffer=l=>Y(l);g.webgpuCreateDownloader=(l,n,t)=>{t=f.get(t);if(void 0===t)throw Error("Invalid session handle passed to webgpuRegisterBuffer");const y=Y(t),p=16*Math.ceil(Number(n)/
|
|
106
|
+
16);return async()=>{const v=y.createBuffer({size:p,usage:9});try{const z=y.createCommandEncoder();z.copyBufferToBuffer(l,0,v,0,p);y.queue.submit([z.finish()]);await v.mapAsync(GPUMapMode.READ);return v.getMappedRange().slice(0,n)}finally{v.destroy()}}};g.F=(l,n)=>{var t=n.buffer;const y=n.byteOffset,p=n.byteLength;n=16*Math.ceil(Number(p)/16);l=Y(l);if(!d){var v=nd(e);d=Y(v)}v=d.createBuffer({mappedAtCreation:!0,size:n,usage:6});const z=v.getMappedRange();(new Uint8Array(z)).set(new Uint8Array(t,
|
|
107
|
+
y,p));v.unmap();t=d.createCommandEncoder();t.copyBufferToBuffer(v,0,l,0,n);d.queue.submit([t.finish()]);v.destroy()}};
|
|
108
|
+
g.webnnInit=a=>{const b=a[0];[g.V,g.G,g.webnnEnsureTensor,g.H,g.webnnDownloadTensor,g.U,g.webnnEnableTraceEvent]=a.slice(1);g.webnnReleaseTensorId=g.G;g.webnnUploadTensor=g.H;g.webnnRegisterMLContext=g.U;g.webnnOnRunStart=c=>b.onRunStart(c);g.webnnOnRunEnd=b.onRunEnd.bind(b);g.webnnOnReleaseSession=c=>{b.onReleaseSession(c)};g.webnnCreateMLTensorDownloader=(c,d)=>b.createMLTensorDownloader(c,d);g.webnnRegisterMLTensor=(c,d,e,f)=>b.registerMLTensor(c,d,e,f);g.webnnCreateMLContext=c=>b.createMLContext(c);
|
|
109
|
+
g.webnnRegisterMLConstant=(c,d,e,f,h,l)=>b.registerMLConstant(c,d,e,f,h,g.o,l);g.webnnRegisterGraphInput=b.registerGraphInput.bind(b);g.webnnIsGraphInput=b.isGraphInput.bind(b);g.webnnRegisterGraphOutput=b.registerGraphOutput.bind(b);g.webnnIsGraphOutput=b.isGraphOutput.bind(b);g.webnnCreateTemporaryTensor=b.createTemporaryTensor.bind(b);g.webnnIsGraphInputOutputTypeSupported=b.isGraphInputOutputTypeSupported.bind(b)};Oa?moduleRtn=g:moduleRtn=new Promise((a,b)=>{va=a;wa=b});
|
|
110
|
+
;return moduleRtn}export default ortWasmThreaded;var isPthread=globalThis.self?.name?.startsWith("em-pthread");var isNode=globalThis.process?.versions?.node&&globalThis.process?.type!="renderer";if(isNode)isPthread=(await import("worker_threads")).workerData==="em-pthread";isPthread&&ortWasmThreaded();
|
|
Binary file
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
async function ortWasmThreaded(moduleArg={}){var moduleRtn;var h=moduleArg,aa=!!globalThis.window,k=!!globalThis.WorkerGlobalScope,m=globalThis.process?.versions?.node&&"renderer"!=globalThis.process?.type,n=k&&self.name?.startsWith("em-pthread");if(m){const {createRequire:a}=await import("module");var require=a(import.meta.url),ba=require("worker_threads");global.Worker=ba.Worker;n=(k=!ba.ic)&&"em-pthread"==ba.workerData}h.mountExternalData=(a,b)=>{a.startsWith("./")&&(a=a.substring(2));(h.Sb||(h.Sb=new Map)).set(a,b)};
|
|
2
|
+
h.unmountExternalData=()=>{delete h.Sb};var SharedArrayBuffer=globalThis.SharedArrayBuffer??(new WebAssembly.Memory({initial:0,maximum:0,kc:!0})).buffer.constructor,ca="./this.program",da=(a,b)=>{throw b;},ea=import.meta.url,fa="",ha,ia;
|
|
3
|
+
if(m){var fs=require("fs");ea.startsWith("file:")&&(fa=require("path").dirname(require("url").fileURLToPath(ea))+"/");ia=a=>{a=ja(a)?new URL(a):a;return fs.readFileSync(a)};ha=async a=>{a=ja(a)?new URL(a):a;return fs.readFileSync(a,void 0)};1<process.argv.length&&(ca=process.argv[1].replace(/\\/g,"/"));process.argv.slice(2);da=(a,b)=>{process.exitCode=a;throw b;}}else if(aa||k){try{fa=(new URL(".",ea)).href}catch{}m||(k&&(ia=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";
|
|
4
|
+
b.send(null);return new Uint8Array(b.response)}),ha=async a=>{if(ja(a))return new Promise((d,c)=>{var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response?d(e.response):c(e.status)};e.onerror=c;e.send(null)});var b=await fetch(a,{credentials:"same-origin"});if(b.ok)return b.arrayBuffer();throw Error(b.status+" : "+b.url);})}var ka=console.log.bind(console),la=console.error.bind(console);
|
|
5
|
+
if(m){var ma=require("util"),na=a=>"object"==typeof a?ma.inspect(a):a;ka=(...a)=>fs.writeSync(1,a.map(na).join(" ")+"\n");la=(...a)=>fs.writeSync(2,a.map(na).join(" ")+"\n")}var oa=ka,p=la,q,r,pa=!1,t,ja=a=>a.startsWith("file://");function v(){x.buffer!=z.buffer&&qa()}var ra,sa;
|
|
6
|
+
if(m&&n){var ta=ba.parentPort;ta.on("message",a=>global.onmessage?.({data:a}));Object.assign(globalThis,{self:global,postMessage:a=>ta.postMessage(a)});process.on("uncaughtException",a=>{postMessage({Qb:"uncaughtException",error:a});process.exit(1)})}var ua;
|
|
7
|
+
if(n){var va=!1;self.onunhandledrejection=b=>{throw b.reason||b;};function a(b){try{var d=b.data,c=d.Qb;if("load"===c){let e=[];self.onmessage=f=>e.push(f);ua=()=>{postMessage({Qb:"loaded"});for(let f of e)a(f);self.onmessage=a};for(const f of d.$b)if(!h[f]||h[f].proxy)h[f]=(...g)=>{postMessage({Qb:"callHandler",Zb:f,args:g})},"print"==f&&(oa=h[f]),"printErr"==f&&(p=h[f]);x=d.ec;qa();r=d.fc;wa();xa()}else if("run"===c){ya(d.Pb);za(d.Pb,0,0,1,0,0);Aa();Ba(d.Pb);va||=!0;try{Ca(d.cc,d.Ub)}catch(e){if("unwind"!=
|
|
8
|
+
e)throw e;}}else"setimmediate"!==d.target&&("checkMailbox"===c?va&&Da():c&&(p(`worker: received unknown command ${c}`),p(d)))}catch(e){throw Ea(),e;}}self.onmessage=a}var z,A,Fa,C,D,Ga,G,H,Ha=!1;function qa(){var a=x.buffer;h.HEAP8=z=new Int8Array(a);Fa=new Int16Array(a);h.HEAPU8=A=new Uint8Array(a);new Uint16Array(a);h.HEAP32=C=new Int32Array(a);h.HEAPU32=D=new Uint32Array(a);Ga=new Float32Array(a);G=new Float64Array(a);H=new BigInt64Array(a);new BigUint64Array(a)}
|
|
9
|
+
function Ia(){Ha=!0;n?ua():I.Ua()}function J(a){a="Aborted("+a+")";p(a);pa=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");sa?.(a);throw a;}var Ja;async function Ka(a){if(!q)try{var b=await ha(a);return new Uint8Array(b)}catch{}if(a==Ja&&q)a=new Uint8Array(q);else if(ia)a=ia(a);else throw"both async and sync fetching of the wasm failed";return a}
|
|
10
|
+
async function La(a,b){try{var d=await Ka(a);return await WebAssembly.instantiate(d,b)}catch(c){p(`failed to asynchronously prepare wasm: ${c}`),J(c)}}async function Na(a){var b=Ja;if(!q&&!ja(b)&&!m)try{var d=fetch(b,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(d,a)}catch(c){p(`wasm streaming compile failed: ${c}`),p("falling back to ArrayBuffer instantiation")}return La(b,a)}
|
|
11
|
+
function Oa(){Pa={S:Qa,f:Ra,w:Sa,e:Ta,j:Ua,g:Va,T:Wa,b:Xa,G:Ya,ua:Za,k:$a,K:ab,Ka:bb,qa:cb,sa:db,La:eb,Ia:fb,Ba:gb,Ha:hb,Z:ib,ra:jb,oa:kb,Ja:lb,pa:mb,Qa:nb,Ea:ob,ma:pb,va:qb,ja:rb,U:sb,Da:Ba,Na:tb,ya:ub,za:vb,Aa:wb,wa:xb,xa:yb,ka:zb,Sa:Ab,Pa:Bb,W:Cb,V:Db,Oa:Eb,F:Fb,Ma:Gb,na:Hb,u:Ib,H:Jb,R:Kb,la:Lb,da:Mb,Ta:Nb,Fa:Ob,Ga:Pb,ta:Qb,L:Rb,Y:Sb,Ca:Tb,X:Ub,$:Vb,M:Wb,aa:Xb,N:Yb,v:Zb,c:$b,m:ac,n:bc,r:cc,ea:dc,x:ec,o:fc,O:gc,D:hc,I:ic,ba:jc,ca:kc,Q:lc,P:mc,fa:nc,z:oc,E:pc,d:qc,q:rc,i:sc,_:tc,l:uc,p:vc,s:wc,t:xc,
|
|
12
|
+
y:yc,ga:zc,B:Ac,J:Bc,C:Cc,ha:Dc,ia:Ec,A:Fc,h:Gc,a:x,Ra:Hc};return{a:Pa}}
|
|
13
|
+
async function wa(){function a(c,e){I=c.exports;I=Ic();Jc.push(I.wb);c=I;h._OrtInit=c.Va;h._OrtGetLastError=c.Wa;h._OrtCreateSessionOptions=c.Xa;h._OrtAppendExecutionProvider=c.Ya;h._OrtAddFreeDimensionOverride=c.Za;h._OrtAddSessionConfigEntry=c._a;h._OrtReleaseSessionOptions=c.$a;h._OrtCreateSession=c.ab;h._OrtReleaseSession=c.bb;h._OrtGetInputOutputCount=c.cb;h._OrtGetInputOutputMetadata=c.db;h._OrtFree=c.eb;h._OrtCreateTensor=c.fb;h._OrtGetTensorData=c.gb;h._OrtReleaseTensor=c.hb;h._OrtCreateRunOptions=
|
|
14
|
+
c.ib;h._OrtAddRunConfigEntry=c.jb;h._OrtReleaseRunOptions=c.kb;h._OrtCreateBinding=c.lb;h._OrtBindInput=c.mb;h._OrtBindOutput=c.nb;h._OrtClearBoundOutputs=c.ob;h._OrtReleaseBinding=c.pb;h._OrtRunWithBinding=c.qb;h._OrtRun=c.rb;h._OrtEndProfiling=c.sb;Kc=c.tb;Lc=h._free=c.ub;Mc=h._malloc=c.vb;za=c.yb;Ea=c.zb;Nc=c.Ab;Oc=c.Bb;Pc=c.Cb;Qc=c.Db;Rc=c.Eb;K=c.Fb;L=c.Gb;Sc=c.Hb;M=c.Ib;Tc=c.Jb;N=c.Kb;Uc=c.Lb;Vc=c.Mb;Wc=c.Nb;Xc=c.Ob;Yc=c.xb;r=e;return I}var b=Oa();if(h.instantiateWasm)return new Promise(c=>{h.instantiateWasm(b,
|
|
15
|
+
(e,f)=>{c(a(e,f))})});if(n){var d=new WebAssembly.Instance(r,Oa());return a(d,r)}Ja??=h.locateFile?h.locateFile?h.locateFile("ort-wasm-simd-threaded.wasm",fa):fa+"ort-wasm-simd-threaded.wasm":(new URL("ort-wasm-simd-threaded.wasm",import.meta.url)).href;return function(c){return a(c.instance,c.module)}(await Na(b))}class Zc{name="ExitStatus";constructor(a){this.message=`Program terminated with exit(${a})`;this.status=a}}
|
|
16
|
+
var $c=a=>{a.terminate();a.onmessage=()=>{}},ad=[],O=0,P=null,dd=a=>{0==Q.length&&(bd(),cd(Q[0]));var b=Q.pop();if(!b)return 6;R.push(b);S[a.Pb]=b;b.Pb=a.Pb;var d={Qb:"run",cc:a.bc,Ub:a.Ub,Pb:a.Pb};m&&b.unref();b.postMessage(d,a.Yb);return 0},T=0,U=(a,b,...d)=>{var c=16*d.length,e=N(),f=Tc(c),g=f>>>3,l;for(l of d)"bigint"==typeof l?((v(),H)[g++>>>0]=1n,(v(),H)[g++>>>0]=l):((v(),H)[g++>>>0]=0n,(v(),G)[g++>>>0]=l);a=Nc(a,0,c,f,b);M(e);return a};
|
|
17
|
+
function Hc(a){if(n)return U(0,1,a);t=a;if(!(0<T)){for(var b of R)$c(b);for(b of Q)$c(b);Q=[];R=[];S={};pa=!0}da(a,new Zc(a))}function ed(a){if(n)return U(1,0,a);Qb(a)}var Qb=a=>{t=a;if(n)throw ed(a),"unwind";Hc(a)},Q=[],R=[],Jc=[],S={};function fd(){for(var a=h.numThreads-1;a--;)bd();ad.push(async()=>{var b=gd();O++;await b;O--;0==O&&P&&(b=P,P=null,b())})}var hd=a=>{var b=a.Pb;delete S[b];Q.push(a);R.splice(R.indexOf(a),1);a.Pb=0;Oc(b)};function Aa(){Jc.forEach(a=>a())}
|
|
18
|
+
var cd=a=>new Promise(b=>{a.onmessage=f=>{var g=f.data;f=g.Qb;if(g.Tb&&g.Tb!=Kc()){var l=S[g.Tb];l?l.postMessage(g,g.Yb):p(`Internal error! Worker sent a message "${f}" to target pthread ${g.Tb}, but that thread no longer exists!`)}else if("checkMailbox"===f)Da();else if("spawnThread"===f)dd(g);else if("cleanupThread"===f)jd(()=>{hd(S[g.dc])});else if("loaded"===f)a.loaded=!0,m&&!a.Pb&&a.unref(),b(a);else if("setimmediate"===g.target)a.postMessage(g);else if("uncaughtException"===f)a.onerror(g.error);
|
|
19
|
+
else if("callHandler"===f)h[g.Zb](...g.args);else f&&p(`worker sent an unknown command ${f}`)};a.onerror=f=>{p(`${"worker sent an error!"} ${f.filename}:${f.lineno}: ${f.message}`);throw f;};m&&(a.on("message",f=>a.onmessage({data:f})),a.on("error",f=>a.onerror(f)));var d=[],c=[],e;for(e of c)h.propertyIsEnumerable(e)&&d.push(e);a.postMessage({Qb:"load",$b:d,ec:x,fc:r})});async function gd(){if(!n)return Promise.all(Q.map(cd))}
|
|
20
|
+
function bd(){var a=new Worker(new URL(import.meta.url),{type:"module",workerData:"em-pthread",name:"em-pthread"});Q.push(a)}function ya(a){var b=(v(),D)[a+52>>>2>>>0];a=(v(),D)[a+56>>>2>>>0];Sc(b,b-a);M(b)}var kd=[],V=a=>{var b=kd[a];b||(kd[a]=b=Yc.get(a));return b},Ca=(a,b)=>{T=0;a=V(a)(b);0<T?t=a:Pc(a)},x,ld=[],md=0;function Ra(a){a>>>=0;var b=new nd(a);0==(v(),z)[b.Rb+12>>>0]&&(od(b,!0),md--);pd(b,!1);ld.push(b);return Xc(a)}
|
|
21
|
+
var W=0,Sa=()=>{K(0,0);var a=ld.pop();Uc(a.Vb);W=0};function od(a,b){b=b?1:0;(v(),z)[a.Rb+12>>>0]=b}function pd(a,b){b=b?1:0;(v(),z)[a.Rb+13>>>0]=b}class nd{constructor(a){this.Vb=a;this.Rb=a-24}}var qd=a=>{var b=W;if(!b)return L(0),0;var d=new nd(b);(v(),D)[d.Rb+16>>>2>>>0]=b;var c=(v(),D)[d.Rb+4>>>2>>>0];if(!c)return L(0),b;for(var e of a){if(0===e||e===c)break;if(Wc(e,c,d.Rb+16))return L(e),b}L(c);return b};function Ta(){return qd([])}function Ua(a){return qd([a>>>0])}
|
|
22
|
+
function Va(a,b,d,c){return qd([a>>>0,b>>>0,d>>>0,c>>>0])}var Wa=()=>{var a=ld.pop();a||J("no exception to throw");var b=a.Vb;0==(v(),z)[a.Rb+13>>>0]&&(ld.push(a),pd(a,!0),od(a,!1),md++);Vc(b);W=b;throw W;};function Xa(a,b,d){a>>>=0;var c=new nd(a);b>>>=0;d>>>=0;(v(),D)[c.Rb+16>>>2>>>0]=0;(v(),D)[c.Rb+4>>>2>>>0]=b;(v(),D)[c.Rb+8>>>2>>>0]=d;Vc(a);W=a;md++;throw W;}var Ya=()=>md;function rd(a,b,d,c){return n?U(2,1,a,b,d,c):Za(a,b,d,c)}
|
|
23
|
+
function Za(a,b,d,c){a>>>=0;b>>>=0;d>>>=0;c>>>=0;if(!globalThis.SharedArrayBuffer)return 6;var e=[];if(n&&0===e.length)return rd(a,b,d,c);a={bc:d,Pb:a,Ub:c,Yb:e};return n?(a.Qb="spawnThread",postMessage(a,e),0):dd(a)}function $a(a){W||=a>>>0;throw W;}
|
|
24
|
+
var sd=globalThis.TextDecoder&&new TextDecoder,td=(a,b=0,d,c)=>{b>>>=0;var e=b;d=e+d;if(c)c=d;else{for(;a[e]&&!(e>=d);)++e;c=e}if(16<c-b&&a.buffer&&sd)return sd.decode(a.buffer instanceof ArrayBuffer?a.subarray(b,c):a.slice(b,c));for(e="";b<c;)if(d=a[b++],d&128){var f=a[b++]&63;if(192==(d&224))e+=String.fromCharCode((d&31)<<6|f);else{var g=a[b++]&63;d=224==(d&240)?(d&15)<<12|f<<6|g:(d&7)<<18|f<<12|g<<6|a[b++]&63;65536>d?e+=String.fromCharCode(d):(d-=65536,e+=String.fromCharCode(55296|d>>10,56320|
|
|
25
|
+
d&1023))}}else e+=String.fromCharCode(d);return e},ud=(a,b,d)=>(a>>>=0)?td((v(),A),a,b,d):"";function ab(a,b,d){return n?U(3,1,a,b,d):0}function bb(a,b){if(n)return U(4,1,a,b)}function cb(a,b){if(n)return U(5,1,a,b)}function db(a,b,d){if(n)return U(6,1,a,b,d)}function eb(a,b,d){return n?U(7,1,a,b,d):0}function fb(a,b){if(n)return U(8,1,a,b)}function gb(a,b,d){if(n)return U(9,1,a,b,d)}function hb(a,b,d,c){if(n)return U(10,1,a,b,d,c)}function ib(a,b,d,c){if(n)return U(11,1,a,b,d,c)}
|
|
26
|
+
function jb(a,b,d,c){if(n)return U(12,1,a,b,d,c)}function kb(a){if(n)return U(13,1,a)}function lb(a,b){if(n)return U(14,1,a,b)}function mb(a,b,d){if(n)return U(15,1,a,b,d)}var nb=()=>J("");function ob(a){za(a>>>0,!k,1,!aa,131072,!1);Aa()}
|
|
27
|
+
var jd=a=>{if(!pa)try{if(a(),!(0<T))try{n?Kc()&&Pc(t):Qb(t)}catch(b){b instanceof Zc||"unwind"==b||da(1,b)}}catch(b){b instanceof Zc||"unwind"==b||da(1,b)}},vd=!Atomics.waitAsync||globalThis.navigator?.userAgent&&91>Number((navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)||[])[2]);function Ba(a){a>>>=0;vd||(Atomics.waitAsync((v(),C),a>>>2,a).value.then(Da),a+=128,Atomics.store((v(),C),a>>>2,1))}var Da=()=>jd(()=>{var a=Kc();a&&(Ba(a),Rc())});
|
|
28
|
+
function pb(a,b){a>>>=0;a==b>>>0?setTimeout(Da):n?postMessage({Tb:a,Qb:"checkMailbox"}):(a=S[a])&&a.postMessage({Qb:"checkMailbox"})}var wd=[];function qb(a,b,d,c,e){b>>>=0;e>>>=0;wd.length=0;d=e>>>3;for(c=e+c>>>3;d<c;){var f;(v(),H)[d++>>>0]?f=(v(),H)[d++>>>0]:f=(v(),G)[d++>>>0];wd.push(f)}return(b?xd[b]:yd[a])(...wd)}var rb=()=>{T=0};function sb(a){a>>>=0;n?postMessage({Qb:"cleanupThread",dc:a}):hd(S[a])}function tb(a){m&&S[a>>>0].ref()}
|
|
29
|
+
function ub(a,b){a=-9007199254740992>a||9007199254740992<a?NaN:Number(a);b>>>=0;a=new Date(1E3*a);(v(),C)[b>>>2>>>0]=a.getUTCSeconds();(v(),C)[b+4>>>2>>>0]=a.getUTCMinutes();(v(),C)[b+8>>>2>>>0]=a.getUTCHours();(v(),C)[b+12>>>2>>>0]=a.getUTCDate();(v(),C)[b+16>>>2>>>0]=a.getUTCMonth();(v(),C)[b+20>>>2>>>0]=a.getUTCFullYear()-1900;(v(),C)[b+24>>>2>>>0]=a.getUTCDay();a=(a.getTime()-Date.UTC(a.getUTCFullYear(),0,1,0,0,0,0))/864E5|0;(v(),C)[b+28>>>2>>>0]=a}
|
|
30
|
+
var zd=a=>0===a%4&&(0!==a%100||0===a%400),Ad=[0,31,60,91,121,152,182,213,244,274,305,335],Bd=[0,31,59,90,120,151,181,212,243,273,304,334];
|
|
31
|
+
function vb(a,b){a=-9007199254740992>a||9007199254740992<a?NaN:Number(a);b>>>=0;a=new Date(1E3*a);(v(),C)[b>>>2>>>0]=a.getSeconds();(v(),C)[b+4>>>2>>>0]=a.getMinutes();(v(),C)[b+8>>>2>>>0]=a.getHours();(v(),C)[b+12>>>2>>>0]=a.getDate();(v(),C)[b+16>>>2>>>0]=a.getMonth();(v(),C)[b+20>>>2>>>0]=a.getFullYear()-1900;(v(),C)[b+24>>>2>>>0]=a.getDay();var d=(zd(a.getFullYear())?Ad:Bd)[a.getMonth()]+a.getDate()-1|0;(v(),C)[b+28>>>2>>>0]=d;(v(),C)[b+36>>>2>>>0]=-(60*a.getTimezoneOffset());d=(new Date(a.getFullYear(),
|
|
32
|
+
6,1)).getTimezoneOffset();var c=(new Date(a.getFullYear(),0,1)).getTimezoneOffset();a=(d!=c&&a.getTimezoneOffset()==Math.min(c,d))|0;(v(),C)[b+32>>>2>>>0]=a}
|
|
33
|
+
function wb(a){a>>>=0;var b=new Date((v(),C)[a+20>>>2>>>0]+1900,(v(),C)[a+16>>>2>>>0],(v(),C)[a+12>>>2>>>0],(v(),C)[a+8>>>2>>>0],(v(),C)[a+4>>>2>>>0],(v(),C)[a>>>2>>>0],0),d=(v(),C)[a+32>>>2>>>0],c=b.getTimezoneOffset(),e=(new Date(b.getFullYear(),6,1)).getTimezoneOffset(),f=(new Date(b.getFullYear(),0,1)).getTimezoneOffset(),g=Math.min(f,e);0>d?(v(),C)[a+32>>>2>>>0]=Number(e!=f&&g==c):0<d!=(g==c)&&(e=Math.max(f,e),b.setTime(b.getTime()+6E4*((0<d?g:e)-c)));(v(),C)[a+24>>>2>>>0]=b.getDay();d=(zd(b.getFullYear())?
|
|
34
|
+
Ad:Bd)[b.getMonth()]+b.getDate()-1|0;(v(),C)[a+28>>>2>>>0]=d;(v(),C)[a>>>2>>>0]=b.getSeconds();(v(),C)[a+4>>>2>>>0]=b.getMinutes();(v(),C)[a+8>>>2>>>0]=b.getHours();(v(),C)[a+12>>>2>>>0]=b.getDate();(v(),C)[a+16>>>2>>>0]=b.getMonth();(v(),C)[a+20>>>2>>>0]=b.getYear();a=b.getTime();return BigInt(isNaN(a)?-1:a/1E3)}function xb(a,b,d,c,e,f,g){return n?U(16,1,a,b,d,c,e,f,g):-52}function yb(a,b,d,c,e,f){if(n)return U(17,1,a,b,d,c,e,f)}var X={},Ib=()=>performance.timeOrigin+performance.now();
|
|
35
|
+
function zb(a,b){if(n)return U(18,1,a,b);X[a]&&(clearTimeout(X[a].id),delete X[a]);if(!b)return 0;var d=setTimeout(()=>{delete X[a];jd(()=>Qc(a,performance.timeOrigin+performance.now()))},b);X[a]={id:d,lc:b};return 0}
|
|
36
|
+
var Y=(a,b,d)=>{var c=(v(),A);b>>>=0;if(0<d){var e=b;d=b+d-1;for(var f=0;f<a.length;++f){var g=a.codePointAt(f);if(127>=g){if(b>=d)break;c[b++>>>0]=g}else if(2047>=g){if(b+1>=d)break;c[b++>>>0]=192|g>>6;c[b++>>>0]=128|g&63}else if(65535>=g){if(b+2>=d)break;c[b++>>>0]=224|g>>12;c[b++>>>0]=128|g>>6&63;c[b++>>>0]=128|g&63}else{if(b+3>=d)break;c[b++>>>0]=240|g>>18;c[b++>>>0]=128|g>>12&63;c[b++>>>0]=128|g>>6&63;c[b++>>>0]=128|g&63;f++}}c[b>>>0]=0;a=b-e}else a=0;return a};
|
|
37
|
+
function Ab(a,b,d,c){a>>>=0;b>>>=0;d>>>=0;c>>>=0;var e=(new Date).getFullYear(),f=(new Date(e,0,1)).getTimezoneOffset();e=(new Date(e,6,1)).getTimezoneOffset();var g=Math.max(f,e);(v(),D)[a>>>2>>>0]=60*g;(v(),C)[b>>>2>>>0]=Number(f!=e);b=l=>{var u=Math.abs(l);return`UTC${0<=l?"-":"+"}${String(Math.floor(u/60)).padStart(2,"0")}${String(u%60).padStart(2,"0")}`};a=b(f);b=b(e);e<f?(Y(a,d,17),Y(b,c,17)):(Y(a,c,17),Y(b,d,17))}var Eb=()=>Date.now(),Cd=1;
|
|
38
|
+
function Bb(a,b,d){d>>>=0;if(!(0<=a&&3>=a))return 28;if(0===a)a=Date.now();else if(Cd)a=performance.timeOrigin+performance.now();else return 52;a=Math.round(1E6*a);(v(),H)[d>>>3>>>0]=BigInt(a);return 0}var Dd=[];function Cb(a,b,d){a>>>=0;b>>>=0;d>>>=0;Dd.length=0;for(var c;c=(v(),A)[b++>>>0];){var e=105!=c;e&=112!=c;d+=e&&d%8?4:0;Dd.push(112==c?(v(),D)[d>>>2>>>0]:106==c?(v(),H)[d>>>3>>>0]:105==c?(v(),C)[d>>>2>>>0]:(v(),G)[d>>>3>>>0]);d+=e?8:4}return xd[a](...Dd)}var Db=()=>{};
|
|
39
|
+
function Fb(a,b){return p(ud(a>>>0,b>>>0))}var Gb=()=>{T+=1;throw"unwind";};function Hb(){return 4294901760}var Jb=()=>m?require("os").cpus().length:navigator.hardwareConcurrency,Z={},Ed=a=>{for(var b=0,d=0;d<a.length;++d){var c=a.charCodeAt(d);127>=c?b++:2047>=c?b+=2:55296<=c&&57343>=c?(b+=4,++d):b+=3}return b},Fd=a=>{var b;return(b=/\bwasm-function\[\d+\]:(0x[0-9a-f]+)/.exec(a))?+b[1]:(b=/:(\d+):\d+(?:\)|$)/.exec(a))?2147483648|+b[1]:0},Gd=a=>{for(var b of a)(a=Fd(b))&&(Z[a]=b)};
|
|
40
|
+
function Mb(){var a=Error().stack.toString().split("\n");"Error"==a[0]&&a.shift();Gd(a);Z.Wb=Fd(a[3]);Z.ac=a;return Z.Wb}function Kb(a){a=Z[a>>>0];if(!a)return 0;var b;if(b=/^\s+at .*\.wasm\.(.*) \(.*\)$/.exec(a))a=b[1];else if(b=/^\s+at (.*) \(.*\)$/.exec(a))a=b[1];else if(b=/^(.+?)@/.exec(a))a=b[1];else return 0;Lc(Kb.Xb??0);b=Ed(a)+1;var d=Mc(b);d&&Y(a,d,b);Kb.Xb=d;return Kb.Xb}
|
|
41
|
+
function Lb(a){a>>>=0;var b=(v(),A).length;if(a<=b||4294901760<a)return!1;for(var d=1;4>=d;d*=2){var c=b*(1+.2/d);c=Math.min(c,a+100663296);a:{c=(Math.min(4294901760,65536*Math.ceil(Math.max(a,c)/65536))-x.buffer.byteLength+65535)/65536|0;try{x.grow(c);qa();var e=1;break a}catch(f){}e=void 0}if(e)return!0}return!1}
|
|
42
|
+
function Nb(a,b,d){a>>>=0;b>>>=0;if(Z.Wb==a)var c=Z.ac;else c=Error().stack.toString().split("\n"),"Error"==c[0]&&c.shift(),Gd(c);for(var e=3;c[e]&&Fd(c[e])!=a;)++e;for(a=0;a<d&&c[a+e];++a)(v(),C)[b+4*a>>>2>>>0]=Fd(c[a+e]);return a}
|
|
43
|
+
var Hd={},Jd=()=>{if(!Id){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:ca||"./this.program"},b;for(b in Hd)void 0===Hd[b]?delete a[b]:a[b]=Hd[b];var d=[];for(b in a)d.push(`${b}=${a[b]}`);Id=d}return Id},Id;function Ob(a,b){if(n)return U(19,1,a,b);a>>>=0;b>>>=0;var d=0,c=0,e;for(e of Jd()){var f=b+d;(v(),D)[a+c>>>2>>>0]=f;d+=Y(e,f,Infinity)+1;c+=4}return 0}
|
|
44
|
+
function Pb(a,b){if(n)return U(20,1,a,b);a>>>=0;b>>>=0;var d=Jd();(v(),D)[a>>>2>>>0]=d.length;a=0;for(var c of d)a+=Ed(c)+1;(v(),D)[b>>>2>>>0]=a;return 0}function Rb(a){return n?U(21,1,a):52}function Sb(a,b,d,c){return n?U(22,1,a,b,d,c):52}function Tb(a,b,d,c){return n?U(23,1,a,b,d,c):70}var Kd=[null,[],[]];
|
|
45
|
+
function Ub(a,b,d,c){if(n)return U(24,1,a,b,d,c);b>>>=0;d>>>=0;c>>>=0;for(var e=0,f=0;f<d;f++){var g=(v(),D)[b>>>2>>>0],l=(v(),D)[b+4>>>2>>>0];b+=8;for(var u=0;u<l;u++){var w=a,y=(v(),A)[g+u>>>0],B=Kd[w];0===y||10===y?((1===w?oa:p)(td(B)),B.length=0):B.push(y)}e+=l}(v(),D)[c>>>2>>>0]=e;return 0}function Gc(a){return a>>>0}n||fd();n||(x=new WebAssembly.Memory({initial:256,maximum:65536,shared:!0}),qa());h.wasmBinary&&(q=h.wasmBinary);h.stackSave=()=>N();h.stackRestore=a=>M(a);h.stackAlloc=a=>Tc(a);
|
|
46
|
+
h.setValue=function(a,b,d="i8"){d.endsWith("*")&&(d="*");switch(d){case "i1":(v(),z)[a>>>0]=b;break;case "i8":(v(),z)[a>>>0]=b;break;case "i16":(v(),Fa)[a>>>1>>>0]=b;break;case "i32":(v(),C)[a>>>2>>>0]=b;break;case "i64":(v(),H)[a>>>3>>>0]=BigInt(b);break;case "float":(v(),Ga)[a>>>2>>>0]=b;break;case "double":(v(),G)[a>>>3>>>0]=b;break;case "*":(v(),D)[a>>>2>>>0]=b;break;default:J(`invalid type for setValue: ${d}`)}};
|
|
47
|
+
h.getValue=function(a,b="i8"){b.endsWith("*")&&(b="*");switch(b){case "i1":return(v(),z)[a>>>0];case "i8":return(v(),z)[a>>>0];case "i16":return(v(),Fa)[a>>>1>>>0];case "i32":return(v(),C)[a>>>2>>>0];case "i64":return(v(),H)[a>>>3>>>0];case "float":return(v(),Ga)[a>>>2>>>0];case "double":return(v(),G)[a>>>3>>>0];case "*":return(v(),D)[a>>>2>>>0];default:J(`invalid type for getValue: ${b}`)}};h.UTF8ToString=ud;h.stringToUTF8=Y;h.lengthBytesUTF8=Ed;
|
|
48
|
+
var yd=[Hc,ed,rd,ab,bb,cb,db,eb,fb,gb,hb,ib,jb,kb,lb,mb,xb,yb,zb,Ob,Pb,Rb,Sb,Tb,Ub],xd={887900:(a,b,d,c,e)=>{if("undefined"==typeof h||!h.Sb)return 1;a=ud(Number(a>>>0));a.startsWith("./")&&(a=a.substring(2));a=h.Sb.get(a);if(!a)return 2;b=Number(b>>>0);d=Number(d>>>0);c=Number(c>>>0);if(b+d>a.byteLength)return 3;try{const f=a.subarray(b,b+d);switch(e){case 0:(v(),A).set(f,c>>>0);break;case 1:h.hc?h.hc(c,f):h.jc(c,f);break;default:return 4}return 0}catch{return 4}},888724:()=>"undefined"!==typeof wasmOffsetConverter};
|
|
49
|
+
function Qa(){return"undefined"!==typeof wasmOffsetConverter}var Kc,Lc,Mc,za,Ea,Nc,Oc,Pc,Qc,Rc,K,L,Sc,M,Tc,N,Uc,Vc,Wc,Xc,Yc,Pa;function bc(a,b,d,c){var e=N();try{return V(a)(b,d,c)}catch(f){M(e);if(f!==f+0)throw f;K(1,0)}}function ac(a,b,d){var c=N();try{return V(a)(b,d)}catch(e){M(c);if(e!==e+0)throw e;K(1,0)}}function sc(a,b,d){var c=N();try{V(a)(b,d)}catch(e){M(c);if(e!==e+0)throw e;K(1,0)}}function $b(a,b){var d=N();try{return V(a)(b)}catch(c){M(d);if(c!==c+0)throw c;K(1,0)}}
|
|
50
|
+
function qc(a){var b=N();try{V(a)()}catch(d){M(b);if(d!==d+0)throw d;K(1,0)}}function fc(a,b,d,c,e,f,g){var l=N();try{return V(a)(b,d,c,e,f,g)}catch(u){M(l);if(u!==u+0)throw u;K(1,0)}}function rc(a,b){var d=N();try{V(a)(b)}catch(c){M(d);if(c!==c+0)throw c;K(1,0)}}function wc(a,b,d,c,e,f){var g=N();try{V(a)(b,d,c,e,f)}catch(l){M(g);if(l!==l+0)throw l;K(1,0)}}function uc(a,b,d,c){var e=N();try{V(a)(b,d,c)}catch(f){M(e);if(f!==f+0)throw f;K(1,0)}}
|
|
51
|
+
function vc(a,b,d,c,e){var f=N();try{V(a)(b,d,c,e)}catch(g){M(f);if(g!==g+0)throw g;K(1,0)}}function xc(a,b,d,c,e,f,g){var l=N();try{V(a)(b,d,c,e,f,g)}catch(u){M(l);if(u!==u+0)throw u;K(1,0)}}function Ec(a,b,d,c,e,f,g){var l=N();try{V(a)(b,d,c,e,f,g)}catch(u){M(l);if(u!==u+0)throw u;K(1,0)}}function Dc(a,b,d,c,e,f,g,l){var u=N();try{V(a)(b,d,c,e,f,g,l)}catch(w){M(u);if(w!==w+0)throw w;K(1,0)}}function cc(a,b,d,c,e){var f=N();try{return V(a)(b,d,c,e)}catch(g){M(f);if(g!==g+0)throw g;K(1,0)}}
|
|
52
|
+
function yc(a,b,d,c,e,f,g,l){var u=N();try{V(a)(b,d,c,e,f,g,l)}catch(w){M(u);if(w!==w+0)throw w;K(1,0)}}function Bc(a,b,d,c,e,f,g,l,u,w,y,B){var E=N();try{V(a)(b,d,c,e,f,g,l,u,w,y,B)}catch(F){M(E);if(F!==F+0)throw F;K(1,0)}}function ec(a,b,d,c,e,f){var g=N();try{return V(a)(b,d,c,e,f)}catch(l){M(g);if(l!==l+0)throw l;K(1,0)}}function oc(a,b,d){var c=N();try{return V(a)(b,d)}catch(e){M(c);if(e!==e+0)throw e;K(1,0);return 0n}}
|
|
53
|
+
function zc(a,b,d,c,e,f,g,l,u){var w=N();try{V(a)(b,d,c,e,f,g,l,u)}catch(y){M(w);if(y!==y+0)throw y;K(1,0)}}function Zb(a){var b=N();try{return V(a)()}catch(d){M(b);if(d!==d+0)throw d;K(1,0)}}function lc(a,b,d){var c=N();try{return V(a)(b,d)}catch(e){M(c);if(e!==e+0)throw e;K(1,0)}}function nc(a,b){var d=N();try{return V(a)(b)}catch(c){M(d);if(c!==c+0)throw c;K(1,0);return 0n}}function Fc(a,b,d,c,e){var f=N();try{V(a)(b,d,c,e)}catch(g){M(f);if(g!==g+0)throw g;K(1,0)}}
|
|
54
|
+
function mc(a){var b=N();try{return V(a)()}catch(d){M(b);if(d!==d+0)throw d;K(1,0);return 0n}}function ic(a,b,d,c,e,f){var g=N();try{return V(a)(b,d,c,e,f)}catch(l){M(g);if(l!==l+0)throw l;K(1,0)}}function dc(a,b,d,c,e,f){var g=N();try{return V(a)(b,d,c,e,f)}catch(l){M(g);if(l!==l+0)throw l;K(1,0)}}function gc(a,b,d,c,e,f,g,l){var u=N();try{return V(a)(b,d,c,e,f,g,l)}catch(w){M(u);if(w!==w+0)throw w;K(1,0)}}
|
|
55
|
+
function pc(a,b,d,c,e){var f=N();try{return V(a)(b,d,c,e)}catch(g){M(f);if(g!==g+0)throw g;K(1,0);return 0n}}function Yb(a,b,d,c){var e=N();try{return V(a)(b,d,c)}catch(f){M(e);if(f!==f+0)throw f;K(1,0)}}function Wb(a,b,d,c){var e=N();try{return V(a)(b,d,c)}catch(f){M(e);if(f!==f+0)throw f;K(1,0)}}function hc(a,b,d,c,e,f,g,l,u,w,y,B){var E=N();try{return V(a)(b,d,c,e,f,g,l,u,w,y,B)}catch(F){M(E);if(F!==F+0)throw F;K(1,0)}}
|
|
56
|
+
function Ac(a,b,d,c,e,f,g,l,u,w,y){var B=N();try{V(a)(b,d,c,e,f,g,l,u,w,y)}catch(E){M(B);if(E!==E+0)throw E;K(1,0)}}function Cc(a,b,d,c,e,f,g,l,u,w,y,B,E,F,Ld,Md){var Nd=N();try{V(a)(b,d,c,e,f,g,l,u,w,y,B,E,F,Ld,Md)}catch(Ma){M(Nd);if(Ma!==Ma+0)throw Ma;K(1,0)}}function kc(a,b,d,c){var e=N();try{return V(a)(b,d,c)}catch(f){M(e);if(f!==f+0)throw f;K(1,0)}}function jc(a,b,d,c,e){var f=N();try{return V(a)(b,d,c,e)}catch(g){M(f);if(g!==g+0)throw g;K(1,0)}}
|
|
57
|
+
function Xb(a,b,d){var c=N();try{return V(a)(b,d)}catch(e){M(c);if(e!==e+0)throw e;K(1,0)}}function Vb(a,b,d){var c=N();try{return V(a)(b,d)}catch(e){M(c);if(e!==e+0)throw e;K(1,0)}}function tc(a,b,d,c){var e=N();try{V(a)(b,d,c)}catch(f){M(e);if(f!==f+0)throw f;K(1,0)}}function Ic(){var a=I;a=Object.assign({},a);var b=c=>()=>c()>>>0,d=c=>e=>c(e)>>>0;a.tb=b(a.tb);a.vb=d(a.vb);a.Jb=d(a.Jb);a.Kb=b(a.Kb);a.Ob=d(a.Ob);return a}
|
|
58
|
+
function xa(){if(0<O)P=xa;else if(n)ra?.(h),Ia();else{for(var a=ad;0<a.length;)a.shift()(h);0<O?P=xa:(h.calledRun=!0,pa||(Ia(),ra?.(h)))}}var I;n||(I=await (wa()),xa());h.PTR_SIZE=4;Ha?moduleRtn=h:moduleRtn=new Promise((a,b)=>{ra=a;sa=b});
|
|
59
|
+
;return moduleRtn}export default ortWasmThreaded;var isPthread=globalThis.self?.name?.startsWith("em-pthread");var isNode=globalThis.process?.versions?.node&&globalThis.process?.type!="renderer";if(isNode)isPthread=(await import("worker_threads")).workerData==="em-pthread";isPthread&&ortWasmThreaded();
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(()=>{"use strict";var e={710:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.log=void 0;const s=e=>t=>{console.log(`VAD | ${e} >`,t)};t.log={error:s("error"),debug:s("debug"),warn:s("warn")}},954:(e,t)=>{var s;Object.defineProperty(t,"__esModule",{value:!0}),t.Message=void 0,function(e){e.AudioFrame="AUDIO_FRAME",e.SpeechStart="SPEECH_START",e.VADMisfire="VAD_MISFIRE",e.SpeechEnd="SPEECH_END",e.SpeechStop="SPEECH_STOP",e.SpeechRealStart="SPEECH_REAL_START",e.FrameProcessed="FRAME_PROCESSED"}(s||(t.Message=s={}))},825:(e,t,s)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Resampler=void 0;const r=s(710);t.Resampler=class{constructor(e){this.options=e,this.process=e=>{const t=[];for(const s of e)for(this.inputBuffer.push(s);this.hasEnoughDataForFrame();){const e=this.generateOutputFrame();t.push(e)}return t},e.nativeSampleRate<16e3&&r.log.error("nativeSampleRate is too low. Should have 16000 = targetSampleRate <= nativeSampleRate"),this.inputBuffer=[]}async*stream(e){for(const t of e)for(this.inputBuffer.push(t);this.hasEnoughDataForFrame();){const e=this.generateOutputFrame();yield e}}hasEnoughDataForFrame(){return this.inputBuffer.length*this.options.targetSampleRate/this.options.nativeSampleRate>=this.options.targetFrameSize}generateOutputFrame(){const e=new Float32Array(this.options.targetFrameSize);let t=0,s=0;for(;t<this.options.targetFrameSize;){let r=0,o=0;for(;s<Math.min(this.inputBuffer.length,(t+1)*this.options.nativeSampleRate/this.options.targetSampleRate);){const e=this.inputBuffer[s];void 0!==e&&(r+=e,o++),s++}e[t]=r/o,t++}return this.inputBuffer=this.inputBuffer.slice(s),e}}}},t={};function s(r){var o=t[r];if(void 0!==o)return o.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,s),a.exports}(()=>{const e=s(710),t=s(954),r=s(825);class o extends AudioWorkletProcessor{constructor(s){super(),this._stopProcessing=!1,this.options=s.processorOptions,this.port.onmessage=s=>{s.data===t.Message.SpeechStop&&(e.log.debug("Worklet received speech stop message"),this._stopProcessing=!0)},this.resampler=new r.Resampler({nativeSampleRate:sampleRate,targetSampleRate:16e3,targetFrameSize:this.options.frameSamples})}process(e){if(this._stopProcessing)return!1;const s=e[0];if(void 0===s)return!0;const r=s[0];if(void 0===r)return!0;const o=this.resampler.process(r);for(const e of o)this.port.postMessage({message:t.Message.AudioFrame,data:e.buffer},[e.buffer]);return!0}}registerProcessor("vad-helper-worklet",o)})()})();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-code-session-manager",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.6",
|
|
4
4
|
"description": "Local cockpit for Claude Code CLI sessions — terminal + full config surface.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/main/index.cjs",
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
"src/preload/",
|
|
14
14
|
"dist/index.html",
|
|
15
15
|
"dist/assets/",
|
|
16
|
+
"dist/vad/",
|
|
16
17
|
"README.md"
|
|
17
18
|
],
|
|
18
19
|
"scripts": {
|
|
@@ -24,7 +25,11 @@
|
|
|
24
25
|
"typecheck": "tsc --noEmit",
|
|
25
26
|
"start": "electron .",
|
|
26
27
|
"postinstall": "electron-rebuild -f -w node-pty",
|
|
27
|
-
"prepublishOnly": "vite build"
|
|
28
|
+
"prepublishOnly": "vite build",
|
|
29
|
+
"test:e2e": "xvfb-run -a playwright test",
|
|
30
|
+
"test:e2e:mic": "xvfb-run -a playwright test e2e/mic.spec.mjs",
|
|
31
|
+
"test:e2e:gen-fixture": "espeak-ng -w /tmp/sm-raw.wav -s 140 'testing one two three four five' && ffmpeg -y -i /tmp/sm-raw.wav -ar 48000 -ac 2 -sample_fmt s16 e2e/fixtures/speech.wav",
|
|
32
|
+
"refresh:vad-assets": "cp node_modules/@ricky0123/vad-web/dist/silero_vad_v5.onnx node_modules/@ricky0123/vad-web/dist/vad.worklet.bundle.min.js src/renderer/public/vad/ && cp node_modules/onnxruntime-web/dist/ort-wasm-simd-threaded.wasm node_modules/onnxruntime-web/dist/ort-wasm-simd-threaded.mjs node_modules/onnxruntime-web/dist/ort-wasm-simd-threaded.jsep.wasm node_modules/onnxruntime-web/dist/ort-wasm-simd-threaded.jsep.mjs src/renderer/public/vad/"
|
|
28
33
|
},
|
|
29
34
|
"keywords": [
|
|
30
35
|
"claude",
|
|
@@ -48,12 +53,14 @@
|
|
|
48
53
|
"@electron/rebuild": "^3.7.0",
|
|
49
54
|
"@huggingface/transformers": "^4.1.0",
|
|
50
55
|
"@monaco-editor/react": "^4.6.0",
|
|
56
|
+
"@ricky0123/vad-web": "^0.0.30",
|
|
51
57
|
"@xterm/addon-fit": "^0.10.0",
|
|
52
58
|
"@xterm/addon-web-links": "^0.11.0",
|
|
53
59
|
"@xterm/xterm": "^5.5.0",
|
|
54
60
|
"chokidar": "^4.0.1",
|
|
55
61
|
"electron": "^33.2.0",
|
|
56
62
|
"node-pty": "^1.2.0-beta.12",
|
|
63
|
+
"onnxruntime-web": "^1.24.3",
|
|
57
64
|
"zod": "^3.23.8",
|
|
58
65
|
"zustand": "^5.0.0"
|
|
59
66
|
},
|
package/src/main/index.cjs
CHANGED
|
@@ -7,6 +7,7 @@ const { manager: ptyManager, registerPtyHandlers } = require('./pty.cjs');
|
|
|
7
7
|
const configMgr = require('./config.cjs');
|
|
8
8
|
const transcripts = require('./transcripts.cjs');
|
|
9
9
|
const sessionsStore = require('./sessionsStore.cjs');
|
|
10
|
+
const billing = require('./usage.cjs');
|
|
10
11
|
|
|
11
12
|
let mainWindow = null;
|
|
12
13
|
let rebooting = false;
|
|
@@ -182,6 +183,7 @@ registerPtyHandlers();
|
|
|
182
183
|
configMgr.registerConfigHandlers();
|
|
183
184
|
transcripts.registerTranscriptHandlers();
|
|
184
185
|
sessionsStore.registerSessionsHandlers();
|
|
186
|
+
billing.registerBillingHandlers();
|
|
185
187
|
|
|
186
188
|
// --- App lifecycle ---
|
|
187
189
|
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* usage.cjs — fetches the user's plan usage (5h rolling, 7d rolling, per-model)
|
|
3
|
+
* from the same endpoint Claude Code's `/usage` slash command uses.
|
|
4
|
+
*
|
|
5
|
+
* Auth: OAuth bearer token from ~/.claude/.credentials.json (written by
|
|
6
|
+
* `claude login`). No separate API key required.
|
|
7
|
+
*
|
|
8
|
+
* Endpoint: GET https://api.anthropic.com/api/oauth/usage
|
|
9
|
+
* Response shape:
|
|
10
|
+
* {
|
|
11
|
+
* five_hour: { utilization: number (0-100+), resets_at: ISO-8601 | null },
|
|
12
|
+
* seven_day: { utilization: number, resets_at: ISO-8601 | null },
|
|
13
|
+
* seven_day_sonnet: { utilization, resets_at } | null,
|
|
14
|
+
* seven_day_opus: { utilization, resets_at } | null,
|
|
15
|
+
* extra_usage: { is_enabled, monthly_limit, used_credits, utilization, currency }
|
|
16
|
+
* }
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
const fsp = require('node:fs/promises');
|
|
20
|
+
const path = require('node:path');
|
|
21
|
+
const os = require('node:os');
|
|
22
|
+
const { ipcMain } = require('electron');
|
|
23
|
+
|
|
24
|
+
const CREDS_PATH = path.join(os.homedir(), '.claude', '.credentials.json');
|
|
25
|
+
const USAGE_URL = 'https://api.anthropic.com/api/oauth/usage';
|
|
26
|
+
|
|
27
|
+
async function readCredentials() {
|
|
28
|
+
const raw = await fsp.readFile(CREDS_PATH, 'utf8');
|
|
29
|
+
const data = JSON.parse(raw);
|
|
30
|
+
const oa = data?.claudeAiOauth;
|
|
31
|
+
if (!oa?.accessToken) throw new Error('not signed in (missing accessToken)');
|
|
32
|
+
return oa;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
async function fetchUsage() {
|
|
36
|
+
const creds = await readCredentials();
|
|
37
|
+
const r = await fetch(USAGE_URL, {
|
|
38
|
+
headers: {
|
|
39
|
+
Authorization: `Bearer ${creds.accessToken}`,
|
|
40
|
+
'anthropic-beta': 'oauth-2025-04-20',
|
|
41
|
+
'User-Agent': 'claude-code-session-manager',
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
if (!r.ok) {
|
|
45
|
+
const body = await r.text().catch(() => '');
|
|
46
|
+
throw new Error(`usage HTTP ${r.status}: ${body.slice(0, 200)}`);
|
|
47
|
+
}
|
|
48
|
+
const usage = await r.json();
|
|
49
|
+
return {
|
|
50
|
+
usage,
|
|
51
|
+
subscriptionType: creds.subscriptionType ?? null,
|
|
52
|
+
rateLimitTier: creds.rateLimitTier ?? null,
|
|
53
|
+
credentialsExpiresAt: creds.expiresAt ?? null,
|
|
54
|
+
fetchedAt: Date.now(),
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
function registerBillingHandlers() {
|
|
59
|
+
ipcMain.handle('billing:fetch', async () => {
|
|
60
|
+
try {
|
|
61
|
+
return { ok: true, data: await fetchUsage() };
|
|
62
|
+
} catch (e) {
|
|
63
|
+
return { ok: false, error: e?.message ?? String(e) };
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
module.exports = { registerBillingHandlers, fetchUsage };
|
package/src/preload/api.d.ts
CHANGED
|
@@ -86,6 +86,39 @@ export interface LoadedSessions {
|
|
|
86
86
|
activeTabId: string | null;
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
+
export interface UsageWindow {
|
|
90
|
+
utilization: number;
|
|
91
|
+
resets_at: string | null;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export interface UsageSnapshot {
|
|
95
|
+
five_hour: UsageWindow | null;
|
|
96
|
+
seven_day: UsageWindow | null;
|
|
97
|
+
seven_day_sonnet: UsageWindow | null;
|
|
98
|
+
seven_day_opus: UsageWindow | null;
|
|
99
|
+
seven_day_oauth_apps: UsageWindow | null;
|
|
100
|
+
extra_usage: {
|
|
101
|
+
is_enabled: boolean;
|
|
102
|
+
monthly_limit: number | null;
|
|
103
|
+
used_credits: number | null;
|
|
104
|
+
utilization: number | null;
|
|
105
|
+
currency: string | null;
|
|
106
|
+
} | null;
|
|
107
|
+
[key: string]: unknown;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export interface BillingFetchResult {
|
|
111
|
+
ok: boolean;
|
|
112
|
+
data?: {
|
|
113
|
+
usage: UsageSnapshot;
|
|
114
|
+
subscriptionType: string | null;
|
|
115
|
+
rateLimitTier: string | null;
|
|
116
|
+
credentialsExpiresAt: number | null;
|
|
117
|
+
fetchedAt: number;
|
|
118
|
+
};
|
|
119
|
+
error?: string;
|
|
120
|
+
}
|
|
121
|
+
|
|
89
122
|
export interface SessionManagerAPI {
|
|
90
123
|
app: {
|
|
91
124
|
version: () => Promise<string>;
|
|
@@ -116,6 +149,9 @@ export interface SessionManagerAPI {
|
|
|
116
149
|
load: () => Promise<LoadedSessions>;
|
|
117
150
|
save: (payload: LoadedSessions) => Promise<{ ok: boolean }>;
|
|
118
151
|
};
|
|
152
|
+
billing: {
|
|
153
|
+
fetch: () => Promise<BillingFetchResult>;
|
|
154
|
+
};
|
|
119
155
|
config: {
|
|
120
156
|
readJson: (path: string) => Promise<ReadJsonResult>;
|
|
121
157
|
readText: (path: string) => Promise<ReadTextResult>;
|
package/src/preload/index.cjs
CHANGED
|
@@ -54,6 +54,9 @@ contextBridge.exposeInMainWorld('api', {
|
|
|
54
54
|
load: () => ipcRenderer.invoke('sessions:load'),
|
|
55
55
|
save: (payload) => ipcRenderer.invoke('sessions:save', payload),
|
|
56
56
|
},
|
|
57
|
+
billing: {
|
|
58
|
+
fetch: () => ipcRenderer.invoke('billing:fetch'),
|
|
59
|
+
},
|
|
57
60
|
config: {
|
|
58
61
|
readJson: (path) => ipcRenderer.invoke('config:read-json', { path }),
|
|
59
62
|
readText: (path) => ipcRenderer.invoke('config:read-text', { path }),
|