@aztec/txe 5.0.0-nightly.20260706 → 5.0.0-nightly.20260708
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/dest/AuthRegistry-D774QM2G.js +3 -0
- package/dest/AuthRegistry-D774QM2G.js.map +7 -0
- package/dest/HandshakeRegistry-4AIT55KH.js +3 -0
- package/dest/HandshakeRegistry-4AIT55KH.js.map +7 -0
- package/dest/{MultiCallEntrypoint-L4TYDBCW.js → MultiCallEntrypoint-WICVQACI.js} +1 -1
- package/dest/{MultiCallEntrypoint-L4TYDBCW.js.map → MultiCallEntrypoint-WICVQACI.js.map} +2 -2
- package/dest/SchnorrAccount-Y2WZTBJF.js +3 -0
- package/dest/SchnorrAccount-Y2WZTBJF.js.map +7 -0
- package/dest/{SchnorrInitializerlessAccount-U2A3DVSR.js → SchnorrInitializerlessAccount-3AKXYJQI.js} +1 -1
- package/dest/{SchnorrInitializerlessAccount-U2A3DVSR.js.map → SchnorrInitializerlessAccount-3AKXYJQI.js.map} +1 -1
- package/dest/bin/index.js +1 -1
- package/dest/{chunk-6JTAVPZJ.js → chunk-2LYGEVHI.js} +2 -2
- package/dest/{chunk-6JTAVPZJ.js.map → chunk-2LYGEVHI.js.map} +3 -3
- package/dest/{chunk-SJX3LB7U.js → chunk-HLH2NBQI.js} +9 -9
- package/dest/{chunk-SJX3LB7U.js.map → chunk-HLH2NBQI.js.map} +4 -4
- package/dest/index.d.ts +1 -1
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +5 -3
- package/dest/metafile.json +226 -183
- package/dest/oracle/interfaces.d.ts +5 -5
- package/dest/oracle/interfaces.d.ts.map +1 -1
- package/dest/oracle/test-resolver/default_fixtures.d.ts +3 -3
- package/dest/oracle/test-resolver/default_fixtures.d.ts.map +1 -1
- package/dest/oracle/test-resolver/default_fixtures.js +54 -11
- package/dest/oracle/test-resolver/resolver.js +38 -1
- package/dest/oracle/txe_oracle_public_context.d.ts +5 -5
- package/dest/oracle/txe_oracle_public_context.d.ts.map +1 -1
- package/dest/oracle/txe_oracle_public_context.js +13 -8
- package/dest/oracle/txe_oracle_registry.d.ts +10 -10
- package/dest/oracle/txe_oracle_registry.d.ts.map +1 -1
- package/dest/oracle/txe_oracle_registry.js +21 -12
- package/dest/oracle/txe_oracle_version.d.ts +2 -2
- package/dest/oracle/txe_oracle_version.js +2 -2
- package/dest/rpc_translator.d.ts +2 -2
- package/dest/rpc_translator.d.ts.map +1 -1
- package/dest/rpc_translator.js +3 -3
- package/dest/server.bundle.js +1 -1
- package/dest/state_machine/synchronizer.d.ts +3 -1
- package/dest/state_machine/synchronizer.d.ts.map +1 -1
- package/dest/state_machine/synchronizer.js +3 -0
- package/dest/worker.bundle.js +1 -1
- package/package.json +17 -17
- package/src/index.ts +5 -3
- package/src/oracle/interfaces.ts +4 -4
- package/src/oracle/test-resolver/default_fixtures.ts +73 -17
- package/src/oracle/test-resolver/resolver.ts +48 -1
- package/src/oracle/txe_oracle_public_context.ts +8 -7
- package/src/oracle/txe_oracle_registry.ts +14 -4
- package/src/oracle/txe_oracle_version.ts +2 -2
- package/src/rpc_translator.ts +3 -3
- package/src/state_machine/synchronizer.ts +5 -0
- package/dest/AuthRegistry-HBL4YLHF.js +0 -3
- package/dest/AuthRegistry-HBL4YLHF.js.map +0 -7
- package/dest/HandshakeRegistry-RLXDBPFJ.js +0 -3
- package/dest/HandshakeRegistry-RLXDBPFJ.js.map +0 -7
- package/dest/SchnorrAccount-TM347UJ7.js +0 -3
- package/dest/SchnorrAccount-TM347UJ7.js.map +0 -7
package/dest/bin/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
#!/usr/bin/env -S node --no-warnings
|
|
2
2
|
import { createRequire as __txeCreateRequire } from 'node:module';
|
|
3
3
|
const require = __txeCreateRequire(import.meta.url);
|
|
4
|
-
import{createTXERpcServer,startHttpRpcServer}from"../chunk-
|
|
4
|
+
import{createTXERpcServer,startHttpRpcServer}from"../chunk-2LYGEVHI.js";import{createLogger}from"../chunk-HLH2NBQI.js";import{__name}from"../chunk-BJVAAXNA.js";process.env.HARDWARE_CONCURRENCY??="2";async function main(){let{TXE_PORT=8080}=process.env;process.on("SIGTERM",()=>{logger.info("Received SIGTERM."),process.exit(0)}),process.on("SIGINT",()=>{logger.info("Received SIGTERM."),process.exit(0)});let logger=createLogger("txe:rpc");logger.info("Setting up TXE...");let txeServer=await createTXERpcServer(logger),{port}=await startHttpRpcServer(txeServer,{host:"127.0.0.1",port:TXE_PORT,timeoutMs:1e3*60*5});logger.info(`TXE listening on port ${port}`)}__name(main,"main");main().catch(err=>{console.error(err),process.exit(1)});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as __txeCreateRequire } from 'node:module';
|
|
2
2
|
const require = __txeCreateRequire(import.meta.url);
|
|
3
|
-
import{ContractStore,Fr,LazyProtocolContractsProvider,TXEDispatcher,TXEDispatcherApiSchema,TXE_REQUIRED_PROTOCOL_CONTRACTS,ZodError,createLogger,external_exports,getContractClassFromArtifact,getSchemaParameters,getStandardAuthRegistry,getStandardHandshakeRegistry,jsonStringify,loadContractArtifact,openEphemeralStore,parseWithOptionals,promiseWithResolvers,require_inherits,schemaHasMethod}from"./chunk-SJX3LB7U.js";import{__commonJS,__name,__require,__toESM}from"./chunk-BJVAAXNA.js";var require_vary=__commonJS({"../node_modules/vary/index.js"(exports2,module2){"use strict";module2.exports=vary;module2.exports.append=append;var FIELD_NAME_REGEXP=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function append(header,field){if(typeof header!="string")throw new TypeError("header argument is required");if(!field)throw new TypeError("field argument is required");for(var fields=Array.isArray(field)?field:parse(String(field)),j=0;j<fields.length;j++)if(!FIELD_NAME_REGEXP.test(fields[j]))throw new TypeError("field argument contains an invalid header name");if(header==="*")return header;var val=header,vals=parse(header.toLowerCase());if(fields.indexOf("*")!==-1||vals.indexOf("*")!==-1)return"*";for(var i=0;i<fields.length;i++){var fld=fields[i].toLowerCase();vals.indexOf(fld)===-1&&(vals.push(fld),val=val?val+", "+fields[i]:fields[i])}return val}__name(append,"append");function parse(header){for(var end=0,list=[],start=0,i=0,len=header.length;i<len;i++)switch(header.charCodeAt(i)){case 32:start===end&&(start=end=i+1);break;case 44:list.push(header.substring(start,end)),start=end=i+1;break;default:end=i+1;break}return list.push(header.substring(start,end)),list}__name(parse,"parse");function vary(res,field){if(!res||!res.getHeader||!res.setHeader)throw new TypeError("res argument is required");var val=res.getHeader("Vary")||"",header=Array.isArray(val)?val.join(", "):String(val);(val=append(header,field))&&res.setHeader("Vary",val)}__name(vary,"vary")}});var require_cors=__commonJS({"../node_modules/@koa/cors/index.js"(exports2,module2){var vary=require_vary();module2.exports=function(options){return options={...{allowMethods:"GET,HEAD,PUT,POST,DELETE,PATCH",secureContext:!1},...options},Array.isArray(options.exposeHeaders)&&(options.exposeHeaders=options.exposeHeaders.join(",")),Array.isArray(options.allowMethods)&&(options.allowMethods=options.allowMethods.join(",")),Array.isArray(options.allowHeaders)&&(options.allowHeaders=options.allowHeaders.join(",")),options.maxAge&&(options.maxAge=String(options.maxAge)),options.keepHeadersOnError=options.keepHeadersOnError===void 0||!!options.keepHeadersOnError,__name(async function(ctx,next){let requestOrigin=ctx.get("Origin");ctx.vary("Origin");let origin;if(typeof options.origin=="function"){if(origin=await options.origin(ctx),!origin)return await next()}else origin=options.origin||"*";let credentials;typeof options.credentials=="function"?credentials=await options.credentials(ctx):credentials=!!options.credentials,credentials&&origin==="*"&&(origin=requestOrigin);let headersSet={};function set(key,value){ctx.set(key,value),headersSet[key]=value}if(__name(set,"set"),ctx.method!=="OPTIONS"){if(set("Access-Control-Allow-Origin",origin),credentials===!0&&set("Access-Control-Allow-Credentials","true"),options.exposeHeaders&&set("Access-Control-Expose-Headers",options.exposeHeaders),options.secureContext&&(set("Cross-Origin-Opener-Policy","same-origin"),set("Cross-Origin-Embedder-Policy","require-corp")),!options.keepHeadersOnError)return await next();try{return await next()}catch(err){let errHeadersSet=err.headers||{},varyWithOrigin=vary.append(errHeadersSet.vary||errHeadersSet.Vary||"","Origin");throw delete errHeadersSet.Vary,err.headers={...errHeadersSet,...headersSet,vary:varyWithOrigin},err}}else{if(!ctx.get("Access-Control-Request-Method"))return await next();ctx.set("Access-Control-Allow-Origin",origin),credentials===!0&&ctx.set("Access-Control-Allow-Credentials","true"),options.maxAge&&ctx.set("Access-Control-Max-Age",options.maxAge),options.privateNetworkAccess&&ctx.get("Access-Control-Request-Private-Network")&&ctx.set("Access-Control-Allow-Private-Network","true"),options.allowMethods&&ctx.set("Access-Control-Allow-Methods",options.allowMethods),options.secureContext&&(set("Cross-Origin-Opener-Policy","same-origin"),set("Cross-Origin-Embedder-Policy","require-corp"));let allowHeaders=options.allowHeaders;allowHeaders||(allowHeaders=ctx.get("Access-Control-Request-Headers")),allowHeaders&&ctx.set("Access-Control-Allow-Headers",allowHeaders),ctx.status=204}},"cors")}}});var require_es_object_atoms=__commonJS({"../node_modules/es-object-atoms/index.js"(exports2,module2){"use strict";module2.exports=Object}});var require_es_errors=__commonJS({"../node_modules/es-errors/index.js"(exports2,module2){"use strict";module2.exports=Error}});var require_eval=__commonJS({"../node_modules/es-errors/eval.js"(exports2,module2){"use strict";module2.exports=EvalError}});var require_range=__commonJS({"../node_modules/es-errors/range.js"(exports2,module2){"use strict";module2.exports=RangeError}});var require_ref=__commonJS({"../node_modules/es-errors/ref.js"(exports2,module2){"use strict";module2.exports=ReferenceError}});var require_syntax=__commonJS({"../node_modules/es-errors/syntax.js"(exports2,module2){"use strict";module2.exports=SyntaxError}});var require_type=__commonJS({"../node_modules/es-errors/type.js"(exports2,module2){"use strict";module2.exports=TypeError}});var require_uri=__commonJS({"../node_modules/es-errors/uri.js"(exports2,module2){"use strict";module2.exports=URIError}});var require_abs=__commonJS({"../node_modules/math-intrinsics/abs.js"(exports2,module2){"use strict";module2.exports=Math.abs}});var require_floor=__commonJS({"../node_modules/math-intrinsics/floor.js"(exports2,module2){"use strict";module2.exports=Math.floor}});var require_max=__commonJS({"../node_modules/math-intrinsics/max.js"(exports2,module2){"use strict";module2.exports=Math.max}});var require_min=__commonJS({"../node_modules/math-intrinsics/min.js"(exports2,module2){"use strict";module2.exports=Math.min}});var require_pow=__commonJS({"../node_modules/math-intrinsics/pow.js"(exports2,module2){"use strict";module2.exports=Math.pow}});var require_round=__commonJS({"../node_modules/math-intrinsics/round.js"(exports2,module2){"use strict";module2.exports=Math.round}});var require_isNaN=__commonJS({"../node_modules/math-intrinsics/isNaN.js"(exports2,module2){"use strict";module2.exports=Number.isNaN||__name(function(a){return a!==a},"isNaN")}});var require_sign=__commonJS({"../node_modules/math-intrinsics/sign.js"(exports2,module2){"use strict";var $isNaN=require_isNaN();module2.exports=__name(function(number){return $isNaN(number)||number===0?number:number<0?-1:1},"sign")}});var require_gOPD=__commonJS({"../node_modules/gopd/gOPD.js"(exports2,module2){"use strict";module2.exports=Object.getOwnPropertyDescriptor}});var require_gopd=__commonJS({"../node_modules/gopd/index.js"(exports2,module2){"use strict";var $gOPD=require_gOPD();if($gOPD)try{$gOPD([],"length")}catch{$gOPD=null}module2.exports=$gOPD}});var require_es_define_property=__commonJS({"../node_modules/es-define-property/index.js"(exports2,module2){"use strict";var $defineProperty=Object.defineProperty||!1;if($defineProperty)try{$defineProperty({},"a",{value:1})}catch{$defineProperty=!1}module2.exports=$defineProperty}});var require_shams=__commonJS({"../node_modules/has-symbols/shams.js"(exports2,module2){"use strict";module2.exports=__name(function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var obj={},sym=Symbol("test"),symObj=Object(sym);if(typeof sym=="string"||Object.prototype.toString.call(sym)!=="[object Symbol]"||Object.prototype.toString.call(symObj)!=="[object Symbol]")return!1;var symVal=42;obj[sym]=symVal;for(var _ in obj)return!1;if(typeof Object.keys=="function"&&Object.keys(obj).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(obj).length!==0)return!1;var syms=Object.getOwnPropertySymbols(obj);if(syms.length!==1||syms[0]!==sym||!Object.prototype.propertyIsEnumerable.call(obj,sym))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var descriptor=Object.getOwnPropertyDescriptor(obj,sym);if(descriptor.value!==symVal||descriptor.enumerable!==!0)return!1}return!0},"hasSymbols")}});var require_has_symbols=__commonJS({"../node_modules/has-symbols/index.js"(exports2,module2){"use strict";var origSymbol=typeof Symbol<"u"&&Symbol,hasSymbolSham=require_shams();module2.exports=__name(function(){return typeof origSymbol!="function"||typeof Symbol!="function"||typeof origSymbol("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:hasSymbolSham()},"hasNativeSymbols")}});var require_Reflect_getPrototypeOf=__commonJS({"../node_modules/get-proto/Reflect.getPrototypeOf.js"(exports2,module2){"use strict";module2.exports=typeof Reflect<"u"&&Reflect.getPrototypeOf||null}});var require_Object_getPrototypeOf=__commonJS({"../node_modules/get-proto/Object.getPrototypeOf.js"(exports2,module2){"use strict";var $Object=require_es_object_atoms();module2.exports=$Object.getPrototypeOf||null}});var require_implementation=__commonJS({"../node_modules/function-bind/implementation.js"(exports2,module2){"use strict";var ERROR_MESSAGE="Function.prototype.bind called on incompatible ",toStr=Object.prototype.toString,max=Math.max,funcType="[object Function]",concatty=__name(function(a,b){for(var arr=[],i=0;i<a.length;i+=1)arr[i]=a[i];for(var j=0;j<b.length;j+=1)arr[j+a.length]=b[j];return arr},"concatty"),slicy=__name(function(arrLike,offset){for(var arr=[],i=offset||0,j=0;i<arrLike.length;i+=1,j+=1)arr[j]=arrLike[i];return arr},"slicy"),joiny=__name(function(arr,joiner){for(var str="",i=0;i<arr.length;i+=1)str+=arr[i],i+1<arr.length&&(str+=joiner);return str},"joiny");module2.exports=__name(function(that){var target=this;if(typeof target!="function"||toStr.apply(target)!==funcType)throw new TypeError(ERROR_MESSAGE+target);for(var args2=slicy(arguments,1),bound,binder=__name(function(){if(this instanceof bound){var result=target.apply(this,concatty(args2,arguments));return Object(result)===result?result:this}return target.apply(that,concatty(args2,arguments))},"binder"),boundLength=max(0,target.length-args2.length),boundArgs=[],i=0;i<boundLength;i++)boundArgs[i]="$"+i;if(bound=Function("binder","return function ("+joiny(boundArgs,",")+"){ return binder.apply(this,arguments); }")(binder),target.prototype){var Empty=__name(function(){},"Empty");Empty.prototype=target.prototype,bound.prototype=new Empty,Empty.prototype=null}return bound},"bind")}});var require_function_bind=__commonJS({"../node_modules/function-bind/index.js"(exports2,module2){"use strict";var implementation=require_implementation();module2.exports=Function.prototype.bind||implementation}});var require_functionCall=__commonJS({"../node_modules/call-bind-apply-helpers/functionCall.js"(exports2,module2){"use strict";module2.exports=Function.prototype.call}});var require_functionApply=__commonJS({"../node_modules/call-bind-apply-helpers/functionApply.js"(exports2,module2){"use strict";module2.exports=Function.prototype.apply}});var require_reflectApply=__commonJS({"../node_modules/call-bind-apply-helpers/reflectApply.js"(exports2,module2){"use strict";module2.exports=typeof Reflect<"u"&&Reflect&&Reflect.apply}});var require_actualApply=__commonJS({"../node_modules/call-bind-apply-helpers/actualApply.js"(exports2,module2){"use strict";var bind=require_function_bind(),$apply=require_functionApply(),$call=require_functionCall(),$reflectApply=require_reflectApply();module2.exports=$reflectApply||bind.call($call,$apply)}});var require_call_bind_apply_helpers=__commonJS({"../node_modules/call-bind-apply-helpers/index.js"(exports2,module2){"use strict";var bind=require_function_bind(),$TypeError=require_type(),$call=require_functionCall(),$actualApply=require_actualApply();module2.exports=__name(function(args2){if(args2.length<1||typeof args2[0]!="function")throw new $TypeError("a function is required");return $actualApply(bind,$call,args2)},"callBindBasic")}});var require_get=__commonJS({"../node_modules/dunder-proto/get.js"(exports2,module2){"use strict";var callBind=require_call_bind_apply_helpers(),gOPD=require_gopd(),hasProtoAccessor;try{hasProtoAccessor=[].__proto__===Array.prototype}catch(e){if(!e||typeof e!="object"||!("code"in e)||e.code!=="ERR_PROTO_ACCESS")throw e}var desc=!!hasProtoAccessor&&gOPD&&gOPD(Object.prototype,"__proto__"),$Object=Object,$getPrototypeOf=$Object.getPrototypeOf;module2.exports=desc&&typeof desc.get=="function"?callBind([desc.get]):typeof $getPrototypeOf=="function"?__name(function(value){return $getPrototypeOf(value==null?value:$Object(value))},"getDunder"):!1}});var require_get_proto=__commonJS({"../node_modules/get-proto/index.js"(exports2,module2){"use strict";var reflectGetProto=require_Reflect_getPrototypeOf(),originalGetProto=require_Object_getPrototypeOf(),getDunderProto=require_get();module2.exports=reflectGetProto?__name(function(O){return reflectGetProto(O)},"getProto"):originalGetProto?__name(function(O){if(!O||typeof O!="object"&&typeof O!="function")throw new TypeError("getProto: not an object");return originalGetProto(O)},"getProto"):getDunderProto?__name(function(O){return getDunderProto(O)},"getProto"):null}});var require_hasown=__commonJS({"../node_modules/hasown/index.js"(exports2,module2){"use strict";var call=Function.prototype.call,$hasOwn=Object.prototype.hasOwnProperty,bind=require_function_bind();module2.exports=bind.call(call,$hasOwn)}});var require_get_intrinsic=__commonJS({"../node_modules/get-intrinsic/index.js"(exports2,module2){"use strict";var undefined2,$Object=require_es_object_atoms(),$Error=require_es_errors(),$EvalError=require_eval(),$RangeError=require_range(),$ReferenceError=require_ref(),$SyntaxError=require_syntax(),$TypeError=require_type(),$URIError=require_uri(),abs=require_abs(),floor=require_floor(),max=require_max(),min=require_min(),pow=require_pow(),round=require_round(),sign=require_sign(),$Function=Function,getEvalledConstructor=__name(function(expressionSyntax){try{return $Function('"use strict"; return ('+expressionSyntax+").constructor;")()}catch{}},"getEvalledConstructor"),$gOPD=require_gopd(),$defineProperty=require_es_define_property(),throwTypeError=__name(function(){throw new $TypeError},"throwTypeError"),ThrowTypeError=$gOPD?(function(){try{return arguments.callee,throwTypeError}catch{try{return $gOPD(arguments,"callee").get}catch{return throwTypeError}}})():throwTypeError,hasSymbols=require_has_symbols()(),getProto=require_get_proto(),$ObjectGPO=require_Object_getPrototypeOf(),$ReflectGPO=require_Reflect_getPrototypeOf(),$apply=require_functionApply(),$call=require_functionCall(),needsEval={},TypedArray=typeof Uint8Array>"u"||!getProto?undefined2:getProto(Uint8Array),INTRINSICS={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?undefined2:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?undefined2:ArrayBuffer,"%ArrayIteratorPrototype%":hasSymbols&&getProto?getProto([][Symbol.iterator]()):undefined2,"%AsyncFromSyncIteratorPrototype%":undefined2,"%AsyncFunction%":needsEval,"%AsyncGenerator%":needsEval,"%AsyncGeneratorFunction%":needsEval,"%AsyncIteratorPrototype%":needsEval,"%Atomics%":typeof Atomics>"u"?undefined2:Atomics,"%BigInt%":typeof BigInt>"u"?undefined2:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?undefined2:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?undefined2:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?undefined2:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":$Error,"%eval%":eval,"%EvalError%":$EvalError,"%Float16Array%":typeof Float16Array>"u"?undefined2:Float16Array,"%Float32Array%":typeof Float32Array>"u"?undefined2:Float32Array,"%Float64Array%":typeof Float64Array>"u"?undefined2:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?undefined2:FinalizationRegistry,"%Function%":$Function,"%GeneratorFunction%":needsEval,"%Int8Array%":typeof Int8Array>"u"?undefined2:Int8Array,"%Int16Array%":typeof Int16Array>"u"?undefined2:Int16Array,"%Int32Array%":typeof Int32Array>"u"?undefined2:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":hasSymbols&&getProto?getProto(getProto([][Symbol.iterator]())):undefined2,"%JSON%":typeof JSON=="object"?JSON:undefined2,"%Map%":typeof Map>"u"?undefined2:Map,"%MapIteratorPrototype%":typeof Map>"u"||!hasSymbols||!getProto?undefined2:getProto(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":$Object,"%Object.getOwnPropertyDescriptor%":$gOPD,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?undefined2:Promise,"%Proxy%":typeof Proxy>"u"?undefined2:Proxy,"%RangeError%":$RangeError,"%ReferenceError%":$ReferenceError,"%Reflect%":typeof Reflect>"u"?undefined2:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?undefined2:Set,"%SetIteratorPrototype%":typeof Set>"u"||!hasSymbols||!getProto?undefined2:getProto(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?undefined2:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":hasSymbols&&getProto?getProto(""[Symbol.iterator]()):undefined2,"%Symbol%":hasSymbols?Symbol:undefined2,"%SyntaxError%":$SyntaxError,"%ThrowTypeError%":ThrowTypeError,"%TypedArray%":TypedArray,"%TypeError%":$TypeError,"%Uint8Array%":typeof Uint8Array>"u"?undefined2:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?undefined2:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?undefined2:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?undefined2:Uint32Array,"%URIError%":$URIError,"%WeakMap%":typeof WeakMap>"u"?undefined2:WeakMap,"%WeakRef%":typeof WeakRef>"u"?undefined2:WeakRef,"%WeakSet%":typeof WeakSet>"u"?undefined2:WeakSet,"%Function.prototype.call%":$call,"%Function.prototype.apply%":$apply,"%Object.defineProperty%":$defineProperty,"%Object.getPrototypeOf%":$ObjectGPO,"%Math.abs%":abs,"%Math.floor%":floor,"%Math.max%":max,"%Math.min%":min,"%Math.pow%":pow,"%Math.round%":round,"%Math.sign%":sign,"%Reflect.getPrototypeOf%":$ReflectGPO};if(getProto)try{null.error}catch(e){errorProto=getProto(getProto(e)),INTRINSICS["%Error.prototype%"]=errorProto}var errorProto,doEval=__name(function doEval2(name){var value;if(name==="%AsyncFunction%")value=getEvalledConstructor("async function () {}");else if(name==="%GeneratorFunction%")value=getEvalledConstructor("function* () {}");else if(name==="%AsyncGeneratorFunction%")value=getEvalledConstructor("async function* () {}");else if(name==="%AsyncGenerator%"){var fn2=doEval2("%AsyncGeneratorFunction%");fn2&&(value=fn2.prototype)}else if(name==="%AsyncIteratorPrototype%"){var gen=doEval2("%AsyncGenerator%");gen&&getProto&&(value=getProto(gen.prototype))}return INTRINSICS[name]=value,value},"doEval"),LEGACY_ALIASES={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},bind=require_function_bind(),hasOwn=require_hasown(),$concat=bind.call($call,Array.prototype.concat),$spliceApply=bind.call($apply,Array.prototype.splice),$replace=bind.call($call,String.prototype.replace),$strSlice=bind.call($call,String.prototype.slice),$exec=bind.call($call,RegExp.prototype.exec),rePropName=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,reEscapeChar=/\\(\\)?/g,stringToPath=__name(function(string){var first=$strSlice(string,0,1),last=$strSlice(string,-1);if(first==="%"&&last!=="%")throw new $SyntaxError("invalid intrinsic syntax, expected closing `%`");if(last==="%"&&first!=="%")throw new $SyntaxError("invalid intrinsic syntax, expected opening `%`");var result=[];return $replace(string,rePropName,function(match,number,quote,subString){result[result.length]=quote?$replace(subString,reEscapeChar,"$1"):number||match}),result},"stringToPath"),getBaseIntrinsic=__name(function(name,allowMissing){var intrinsicName=name,alias;if(hasOwn(LEGACY_ALIASES,intrinsicName)&&(alias=LEGACY_ALIASES[intrinsicName],intrinsicName="%"+alias[0]+"%"),hasOwn(INTRINSICS,intrinsicName)){var value=INTRINSICS[intrinsicName];if(value===needsEval&&(value=doEval(intrinsicName)),typeof value>"u"&&!allowMissing)throw new $TypeError("intrinsic "+name+" exists, but is not available. Please file an issue!");return{alias,name:intrinsicName,value}}throw new $SyntaxError("intrinsic "+name+" does not exist!")},"getBaseIntrinsic");module2.exports=__name(function(name,allowMissing){if(typeof name!="string"||name.length===0)throw new $TypeError("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof allowMissing!="boolean")throw new $TypeError('"allowMissing" argument must be a boolean');if($exec(/^%?[^%]*%?$/,name)===null)throw new $SyntaxError("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var parts=stringToPath(name),intrinsicBaseName=parts.length>0?parts[0]:"",intrinsic=getBaseIntrinsic("%"+intrinsicBaseName+"%",allowMissing),intrinsicRealName=intrinsic.name,value=intrinsic.value,skipFurtherCaching=!1,alias=intrinsic.alias;alias&&(intrinsicBaseName=alias[0],$spliceApply(parts,$concat([0,1],alias)));for(var i=1,isOwn=!0;i<parts.length;i+=1){var part=parts[i],first=$strSlice(part,0,1),last=$strSlice(part,-1);if((first==='"'||first==="'"||first==="`"||last==='"'||last==="'"||last==="`")&&first!==last)throw new $SyntaxError("property names with quotes must have matching quotes");if((part==="constructor"||!isOwn)&&(skipFurtherCaching=!0),intrinsicBaseName+="."+part,intrinsicRealName="%"+intrinsicBaseName+"%",hasOwn(INTRINSICS,intrinsicRealName))value=INTRINSICS[intrinsicRealName];else if(value!=null){if(!(part in value)){if(!allowMissing)throw new $TypeError("base intrinsic for "+name+" exists, but the property is not available.");return}if($gOPD&&i+1>=parts.length){var desc=$gOPD(value,part);isOwn=!!desc,isOwn&&"get"in desc&&!("originalValue"in desc.get)?value=desc.get:value=value[part]}else isOwn=hasOwn(value,part),value=value[part];isOwn&&!skipFurtherCaching&&(INTRINSICS[intrinsicRealName]=value)}}return value},"GetIntrinsic")}});var require_call_bound=__commonJS({"../node_modules/call-bound/index.js"(exports2,module2){"use strict";var GetIntrinsic=require_get_intrinsic(),callBindBasic=require_call_bind_apply_helpers(),$indexOf=callBindBasic([GetIntrinsic("%String.prototype.indexOf%")]);module2.exports=__name(function(name,allowMissing){var intrinsic=GetIntrinsic(name,!!allowMissing);return typeof intrinsic=="function"&&$indexOf(name,".prototype.")>-1?callBindBasic([intrinsic]):intrinsic},"callBoundIntrinsic")}});var require_shams2=__commonJS({"../node_modules/has-tostringtag/shams.js"(exports2,module2){"use strict";var hasSymbols=require_shams();module2.exports=__name(function(){return hasSymbols()&&!!Symbol.toStringTag},"hasToStringTagShams")}});var require_is_regex=__commonJS({"../node_modules/is-regex/index.js"(exports2,module2){"use strict";var callBound=require_call_bound(),hasToStringTag=require_shams2()(),hasOwn=require_hasown(),gOPD=require_gopd(),fn2;hasToStringTag?($exec=callBound("RegExp.prototype.exec"),isRegexMarker={},throwRegexMarker=__name(function(){throw isRegexMarker},"throwRegexMarker"),badStringifier={toString:throwRegexMarker,valueOf:throwRegexMarker},typeof Symbol.toPrimitive=="symbol"&&(badStringifier[Symbol.toPrimitive]=throwRegexMarker),fn2=__name(function(value){if(!value||typeof value!="object")return!1;var descriptor=gOPD(value,"lastIndex"),hasLastIndexDataProperty=descriptor&&hasOwn(descriptor,"value");if(!hasLastIndexDataProperty)return!1;try{$exec(value,badStringifier)}catch(e){return e===isRegexMarker}},"isRegex")):($toString=callBound("Object.prototype.toString"),regexClass="[object RegExp]",fn2=__name(function(value){return!value||typeof value!="object"&&typeof value!="function"?!1:$toString(value)===regexClass},"isRegex"));var $exec,isRegexMarker,throwRegexMarker,badStringifier,$toString,regexClass;module2.exports=fn2}});var require_safe_regex_test=__commonJS({"../node_modules/safe-regex-test/index.js"(exports2,module2){"use strict";var callBound=require_call_bound(),isRegex=require_is_regex(),$exec=callBound("RegExp.prototype.exec"),$TypeError=require_type();module2.exports=__name(function(regex){if(!isRegex(regex))throw new $TypeError("`regex` must be a RegExp");return __name(function(s){return $exec(regex,s)!==null},"test")},"regexTester")}});var require_is_generator_function=__commonJS({"../node_modules/is-generator-function/index.js"(exports2,module2){"use strict";var callBound=require_call_bound(),safeRegexTest=require_safe_regex_test(),isFnRegex=safeRegexTest(/^\s*(?:function)?\*/),hasToStringTag=require_shams2()(),getProto=require_get_proto(),toStr=callBound("Object.prototype.toString"),fnToStr=callBound("Function.prototype.toString"),getGeneratorFunc=__name(function(){if(!hasToStringTag)return!1;try{return Function("return function*() {}")()}catch{}},"getGeneratorFunc"),GeneratorFunction;module2.exports=__name(function(fn2){if(typeof fn2!="function")return!1;if(isFnRegex(fnToStr(fn2)))return!0;if(!hasToStringTag){var str=toStr(fn2);return str==="[object GeneratorFunction]"}if(!getProto)return!1;if(typeof GeneratorFunction>"u"){var generatorFunc=getGeneratorFunc();GeneratorFunction=generatorFunc?getProto(generatorFunc):!1}return getProto(fn2)===GeneratorFunction},"isGeneratorFunction")}});var require_ms=__commonJS({"../node_modules/ms/index.js"(exports2,module2){var s=1e3,m=s*60,h=m*60,d=h*24,w=d*7,y=d*365.25;module2.exports=function(val,options){options=options||{};var type=typeof val;if(type==="string"&&val.length>0)return parse(val);if(type==="number"&&isFinite(val))return options.long?fmtLong(val):fmtShort(val);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(val))};function parse(str){if(str=String(str),!(str.length>100)){var match=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str);if(match){var n=parseFloat(match[1]),type=(match[2]||"ms").toLowerCase();switch(type){case"years":case"year":case"yrs":case"yr":case"y":return n*y;case"weeks":case"week":case"w":return n*w;case"days":case"day":case"d":return n*d;case"hours":case"hour":case"hrs":case"hr":case"h":return n*h;case"minutes":case"minute":case"mins":case"min":case"m":return n*m;case"seconds":case"second":case"secs":case"sec":case"s":return n*s;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}__name(parse,"parse");function fmtShort(ms){var msAbs=Math.abs(ms);return msAbs>=d?Math.round(ms/d)+"d":msAbs>=h?Math.round(ms/h)+"h":msAbs>=m?Math.round(ms/m)+"m":msAbs>=s?Math.round(ms/s)+"s":ms+"ms"}__name(fmtShort,"fmtShort");function fmtLong(ms){var msAbs=Math.abs(ms);return msAbs>=d?plural(ms,msAbs,d,"day"):msAbs>=h?plural(ms,msAbs,h,"hour"):msAbs>=m?plural(ms,msAbs,m,"minute"):msAbs>=s?plural(ms,msAbs,s,"second"):ms+" ms"}__name(fmtLong,"fmtLong");function plural(ms,msAbs,n,name){var isPlural=msAbs>=n*1.5;return Math.round(ms/n)+" "+name+(isPlural?"s":"")}__name(plural,"plural")}});var require_common=__commonJS({"../node_modules/debug/src/common.js"(exports2,module2){function setup(env){createDebug.debug=createDebug,createDebug.default=createDebug,createDebug.coerce=coerce,createDebug.disable=disable,createDebug.enable=enable,createDebug.enabled=enabled,createDebug.humanize=require_ms(),createDebug.destroy=destroy,Object.keys(env).forEach(key=>{createDebug[key]=env[key]}),createDebug.names=[],createDebug.skips=[],createDebug.formatters={};function selectColor(namespace){let hash=0;for(let i=0;i<namespace.length;i++)hash=(hash<<5)-hash+namespace.charCodeAt(i),hash|=0;return createDebug.colors[Math.abs(hash)%createDebug.colors.length]}__name(selectColor,"selectColor"),createDebug.selectColor=selectColor;function createDebug(namespace){let prevTime,enableOverride=null,namespacesCache,enabledCache;function debug(...args2){if(!debug.enabled)return;let self=debug,curr=Number(new Date),ms=curr-(prevTime||curr);self.diff=ms,self.prev=prevTime,self.curr=curr,prevTime=curr,args2[0]=createDebug.coerce(args2[0]),typeof args2[0]!="string"&&args2.unshift("%O");let index=0;args2[0]=args2[0].replace(/%([a-zA-Z%])/g,(match,format2)=>{if(match==="%%")return"%";index++;let formatter=createDebug.formatters[format2];if(typeof formatter=="function"){let val=args2[index];match=formatter.call(self,val),args2.splice(index,1),index--}return match}),createDebug.formatArgs.call(self,args2),(self.log||createDebug.log).apply(self,args2)}return __name(debug,"debug"),debug.namespace=namespace,debug.useColors=createDebug.useColors(),debug.color=createDebug.selectColor(namespace),debug.extend=extend,debug.destroy=createDebug.destroy,Object.defineProperty(debug,"enabled",{enumerable:!0,configurable:!1,get:__name(()=>enableOverride!==null?enableOverride:(namespacesCache!==createDebug.namespaces&&(namespacesCache=createDebug.namespaces,enabledCache=createDebug.enabled(namespace)),enabledCache),"get"),set:__name(v=>{enableOverride=v},"set")}),typeof createDebug.init=="function"&&createDebug.init(debug),debug}__name(createDebug,"createDebug");function extend(namespace,delimiter){let newDebug=createDebug(this.namespace+(typeof delimiter>"u"?":":delimiter)+namespace);return newDebug.log=this.log,newDebug}__name(extend,"extend");function enable(namespaces){createDebug.save(namespaces),createDebug.namespaces=namespaces,createDebug.names=[],createDebug.skips=[];let split=(typeof namespaces=="string"?namespaces:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let ns of split)ns[0]==="-"?createDebug.skips.push(ns.slice(1)):createDebug.names.push(ns)}__name(enable,"enable");function matchesTemplate(search,template){let searchIndex=0,templateIndex=0,starIndex=-1,matchIndex=0;for(;searchIndex<search.length;)if(templateIndex<template.length&&(template[templateIndex]===search[searchIndex]||template[templateIndex]==="*"))template[templateIndex]==="*"?(starIndex=templateIndex,matchIndex=searchIndex,templateIndex++):(searchIndex++,templateIndex++);else if(starIndex!==-1)templateIndex=starIndex+1,matchIndex++,searchIndex=matchIndex;else return!1;for(;templateIndex<template.length&&template[templateIndex]==="*";)templateIndex++;return templateIndex===template.length}__name(matchesTemplate,"matchesTemplate");function disable(){let namespaces=[...createDebug.names,...createDebug.skips.map(namespace=>"-"+namespace)].join(",");return createDebug.enable(""),namespaces}__name(disable,"disable");function enabled(name){for(let skip of createDebug.skips)if(matchesTemplate(name,skip))return!1;for(let ns of createDebug.names)if(matchesTemplate(name,ns))return!0;return!1}__name(enabled,"enabled");function coerce(val){return val instanceof Error?val.stack||val.message:val}__name(coerce,"coerce");function destroy(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return __name(destroy,"destroy"),createDebug.enable(createDebug.load()),createDebug}__name(setup,"setup");module2.exports=setup}});var require_browser=__commonJS({"../node_modules/debug/src/browser.js"(exports2,module2){exports2.formatArgs=formatArgs;exports2.save=save;exports2.load=load;exports2.useColors=useColors;exports2.storage=localstorage();exports2.destroy=(()=>{let warned=!1;return()=>{warned||(warned=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();exports2.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function useColors(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let m;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(m=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(m[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}__name(useColors,"useColors");function formatArgs(args2){if(args2[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+args2[0]+(this.useColors?"%c ":" ")+"+"+module2.exports.humanize(this.diff),!this.useColors)return;let c="color: "+this.color;args2.splice(1,0,c,"color: inherit");let index=0,lastC=0;args2[0].replace(/%[a-zA-Z%]/g,match=>{match!=="%%"&&(index++,match==="%c"&&(lastC=index))}),args2.splice(lastC,0,c)}__name(formatArgs,"formatArgs");exports2.log=console.debug||console.log||(()=>{});function save(namespaces){try{namespaces?exports2.storage.setItem("debug",namespaces):exports2.storage.removeItem("debug")}catch{}}__name(save,"save");function load(){let r;try{r=exports2.storage.getItem("debug")||exports2.storage.getItem("DEBUG")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}__name(load,"load");function localstorage(){try{return localStorage}catch{}}__name(localstorage,"localstorage");module2.exports=require_common()(exports2);var{formatters}=module2.exports;formatters.j=function(v){try{return JSON.stringify(v)}catch(error){return"[UnexpectedJSONParseError]: "+error.message}}}});var require_has_flag=__commonJS({"../node_modules/has-flag/index.js"(exports2,module2){"use strict";module2.exports=(flag,argv=process.argv)=>{let prefix=flag.startsWith("-")?"":flag.length===1?"-":"--",position=argv.indexOf(prefix+flag),terminatorPosition=argv.indexOf("--");return position!==-1&&(terminatorPosition===-1||position<terminatorPosition)}}});var require_supports_color=__commonJS({"../node_modules/supports-color/index.js"(exports2,module2){"use strict";var os=__require("os"),tty=__require("tty"),hasFlag=require_has_flag(),{env}=process,flagForceColor;hasFlag("no-color")||hasFlag("no-colors")||hasFlag("color=false")||hasFlag("color=never")?flagForceColor=0:(hasFlag("color")||hasFlag("colors")||hasFlag("color=true")||hasFlag("color=always"))&&(flagForceColor=1);function envForceColor(){if("FORCE_COLOR"in env)return env.FORCE_COLOR==="true"?1:env.FORCE_COLOR==="false"?0:env.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(env.FORCE_COLOR,10),3)}__name(envForceColor,"envForceColor");function translateLevel(level){return level===0?!1:{level,hasBasic:!0,has256:level>=2,has16m:level>=3}}__name(translateLevel,"translateLevel");function supportsColor(haveStream,{streamIsTTY,sniffFlags=!0}={}){let noFlagForceColor=envForceColor();noFlagForceColor!==void 0&&(flagForceColor=noFlagForceColor);let forceColor=sniffFlags?flagForceColor:noFlagForceColor;if(forceColor===0)return 0;if(sniffFlags){if(hasFlag("color=16m")||hasFlag("color=full")||hasFlag("color=truecolor"))return 3;if(hasFlag("color=256"))return 2}if(haveStream&&!streamIsTTY&&forceColor===void 0)return 0;let min=forceColor||0;if(env.TERM==="dumb")return min;if(process.platform==="win32"){let osRelease=os.release().split(".");return Number(osRelease[0])>=10&&Number(osRelease[2])>=10586?Number(osRelease[2])>=14931?3:2:1}if("CI"in env)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE","DRONE"].some(sign=>sign in env)||env.CI_NAME==="codeship"?1:min;if("TEAMCITY_VERSION"in env)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION)?1:0;if(env.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in env){let version=Number.parseInt((env.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(env.TERM_PROGRAM){case"iTerm.app":return version>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(env.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)||"COLORTERM"in env?1:min}__name(supportsColor,"supportsColor");function getSupportLevel(stream,options={}){let level=supportsColor(stream,{streamIsTTY:stream&&stream.isTTY,...options});return translateLevel(level)}__name(getSupportLevel,"getSupportLevel");module2.exports={supportsColor:getSupportLevel,stdout:getSupportLevel({isTTY:tty.isatty(1)}),stderr:getSupportLevel({isTTY:tty.isatty(2)})}}});var require_node=__commonJS({"../node_modules/debug/src/node.js"(exports2,module2){var tty=__require("tty"),util=__require("util");exports2.init=init;exports2.log=log3;exports2.formatArgs=formatArgs;exports2.save=save;exports2.load=load;exports2.useColors=useColors;exports2.destroy=util.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");exports2.colors=[6,2,3,4,5,1];try{let supportsColor=require_supports_color();supportsColor&&(supportsColor.stderr||supportsColor).level>=2&&(exports2.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}exports2.inspectOpts=Object.keys(process.env).filter(key=>/^debug_/i.test(key)).reduce((obj,key)=>{let prop=key.substring(6).toLowerCase().replace(/_([a-z])/g,(_,k)=>k.toUpperCase()),val=process.env[key];return/^(yes|on|true|enabled)$/i.test(val)?val=!0:/^(no|off|false|disabled)$/i.test(val)?val=!1:val==="null"?val=null:val=Number(val),obj[prop]=val,obj},{});function useColors(){return"colors"in exports2.inspectOpts?!!exports2.inspectOpts.colors:tty.isatty(process.stderr.fd)}__name(useColors,"useColors");function formatArgs(args2){let{namespace:name,useColors:useColors2}=this;if(useColors2){let c=this.color,colorCode="\x1B[3"+(c<8?c:"8;5;"+c),prefix=` ${colorCode};1m${name} \x1B[0m`;args2[0]=prefix+args2[0].split(`
|
|
3
|
+
import{ContractStore,Fr,LazyProtocolContractsProvider,TXEDispatcher,TXEDispatcherApiSchema,TXE_REQUIRED_PROTOCOL_CONTRACTS,ZodError,createLogger,external_exports,getContractClassFromArtifact,getSchemaParameters,getStandardAuthRegistry,getStandardHandshakeRegistry,jsonStringify,loadContractArtifact,openEphemeralStore,parseWithOptionals,promiseWithResolvers,require_inherits,schemaHasMethod,sha256ToField}from"./chunk-HLH2NBQI.js";import{__commonJS,__name,__require,__toESM}from"./chunk-BJVAAXNA.js";var require_vary=__commonJS({"../node_modules/vary/index.js"(exports2,module2){"use strict";module2.exports=vary;module2.exports.append=append;var FIELD_NAME_REGEXP=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function append(header,field){if(typeof header!="string")throw new TypeError("header argument is required");if(!field)throw new TypeError("field argument is required");for(var fields=Array.isArray(field)?field:parse(String(field)),j=0;j<fields.length;j++)if(!FIELD_NAME_REGEXP.test(fields[j]))throw new TypeError("field argument contains an invalid header name");if(header==="*")return header;var val=header,vals=parse(header.toLowerCase());if(fields.indexOf("*")!==-1||vals.indexOf("*")!==-1)return"*";for(var i=0;i<fields.length;i++){var fld=fields[i].toLowerCase();vals.indexOf(fld)===-1&&(vals.push(fld),val=val?val+", "+fields[i]:fields[i])}return val}__name(append,"append");function parse(header){for(var end=0,list=[],start=0,i=0,len=header.length;i<len;i++)switch(header.charCodeAt(i)){case 32:start===end&&(start=end=i+1);break;case 44:list.push(header.substring(start,end)),start=end=i+1;break;default:end=i+1;break}return list.push(header.substring(start,end)),list}__name(parse,"parse");function vary(res,field){if(!res||!res.getHeader||!res.setHeader)throw new TypeError("res argument is required");var val=res.getHeader("Vary")||"",header=Array.isArray(val)?val.join(", "):String(val);(val=append(header,field))&&res.setHeader("Vary",val)}__name(vary,"vary")}});var require_cors=__commonJS({"../node_modules/@koa/cors/index.js"(exports2,module2){var vary=require_vary();module2.exports=function(options){return options={...{allowMethods:"GET,HEAD,PUT,POST,DELETE,PATCH",secureContext:!1},...options},Array.isArray(options.exposeHeaders)&&(options.exposeHeaders=options.exposeHeaders.join(",")),Array.isArray(options.allowMethods)&&(options.allowMethods=options.allowMethods.join(",")),Array.isArray(options.allowHeaders)&&(options.allowHeaders=options.allowHeaders.join(",")),options.maxAge&&(options.maxAge=String(options.maxAge)),options.keepHeadersOnError=options.keepHeadersOnError===void 0||!!options.keepHeadersOnError,__name(async function(ctx,next){let requestOrigin=ctx.get("Origin");ctx.vary("Origin");let origin;if(typeof options.origin=="function"){if(origin=await options.origin(ctx),!origin)return await next()}else origin=options.origin||"*";let credentials;typeof options.credentials=="function"?credentials=await options.credentials(ctx):credentials=!!options.credentials,credentials&&origin==="*"&&(origin=requestOrigin);let headersSet={};function set(key,value){ctx.set(key,value),headersSet[key]=value}if(__name(set,"set"),ctx.method!=="OPTIONS"){if(set("Access-Control-Allow-Origin",origin),credentials===!0&&set("Access-Control-Allow-Credentials","true"),options.exposeHeaders&&set("Access-Control-Expose-Headers",options.exposeHeaders),options.secureContext&&(set("Cross-Origin-Opener-Policy","same-origin"),set("Cross-Origin-Embedder-Policy","require-corp")),!options.keepHeadersOnError)return await next();try{return await next()}catch(err){let errHeadersSet=err.headers||{},varyWithOrigin=vary.append(errHeadersSet.vary||errHeadersSet.Vary||"","Origin");throw delete errHeadersSet.Vary,err.headers={...errHeadersSet,...headersSet,vary:varyWithOrigin},err}}else{if(!ctx.get("Access-Control-Request-Method"))return await next();ctx.set("Access-Control-Allow-Origin",origin),credentials===!0&&ctx.set("Access-Control-Allow-Credentials","true"),options.maxAge&&ctx.set("Access-Control-Max-Age",options.maxAge),options.privateNetworkAccess&&ctx.get("Access-Control-Request-Private-Network")&&ctx.set("Access-Control-Allow-Private-Network","true"),options.allowMethods&&ctx.set("Access-Control-Allow-Methods",options.allowMethods),options.secureContext&&(set("Cross-Origin-Opener-Policy","same-origin"),set("Cross-Origin-Embedder-Policy","require-corp"));let allowHeaders=options.allowHeaders;allowHeaders||(allowHeaders=ctx.get("Access-Control-Request-Headers")),allowHeaders&&ctx.set("Access-Control-Allow-Headers",allowHeaders),ctx.status=204}},"cors")}}});var require_es_object_atoms=__commonJS({"../node_modules/es-object-atoms/index.js"(exports2,module2){"use strict";module2.exports=Object}});var require_es_errors=__commonJS({"../node_modules/es-errors/index.js"(exports2,module2){"use strict";module2.exports=Error}});var require_eval=__commonJS({"../node_modules/es-errors/eval.js"(exports2,module2){"use strict";module2.exports=EvalError}});var require_range=__commonJS({"../node_modules/es-errors/range.js"(exports2,module2){"use strict";module2.exports=RangeError}});var require_ref=__commonJS({"../node_modules/es-errors/ref.js"(exports2,module2){"use strict";module2.exports=ReferenceError}});var require_syntax=__commonJS({"../node_modules/es-errors/syntax.js"(exports2,module2){"use strict";module2.exports=SyntaxError}});var require_type=__commonJS({"../node_modules/es-errors/type.js"(exports2,module2){"use strict";module2.exports=TypeError}});var require_uri=__commonJS({"../node_modules/es-errors/uri.js"(exports2,module2){"use strict";module2.exports=URIError}});var require_abs=__commonJS({"../node_modules/math-intrinsics/abs.js"(exports2,module2){"use strict";module2.exports=Math.abs}});var require_floor=__commonJS({"../node_modules/math-intrinsics/floor.js"(exports2,module2){"use strict";module2.exports=Math.floor}});var require_max=__commonJS({"../node_modules/math-intrinsics/max.js"(exports2,module2){"use strict";module2.exports=Math.max}});var require_min=__commonJS({"../node_modules/math-intrinsics/min.js"(exports2,module2){"use strict";module2.exports=Math.min}});var require_pow=__commonJS({"../node_modules/math-intrinsics/pow.js"(exports2,module2){"use strict";module2.exports=Math.pow}});var require_round=__commonJS({"../node_modules/math-intrinsics/round.js"(exports2,module2){"use strict";module2.exports=Math.round}});var require_isNaN=__commonJS({"../node_modules/math-intrinsics/isNaN.js"(exports2,module2){"use strict";module2.exports=Number.isNaN||__name(function(a){return a!==a},"isNaN")}});var require_sign=__commonJS({"../node_modules/math-intrinsics/sign.js"(exports2,module2){"use strict";var $isNaN=require_isNaN();module2.exports=__name(function(number){return $isNaN(number)||number===0?number:number<0?-1:1},"sign")}});var require_gOPD=__commonJS({"../node_modules/gopd/gOPD.js"(exports2,module2){"use strict";module2.exports=Object.getOwnPropertyDescriptor}});var require_gopd=__commonJS({"../node_modules/gopd/index.js"(exports2,module2){"use strict";var $gOPD=require_gOPD();if($gOPD)try{$gOPD([],"length")}catch{$gOPD=null}module2.exports=$gOPD}});var require_es_define_property=__commonJS({"../node_modules/es-define-property/index.js"(exports2,module2){"use strict";var $defineProperty=Object.defineProperty||!1;if($defineProperty)try{$defineProperty({},"a",{value:1})}catch{$defineProperty=!1}module2.exports=$defineProperty}});var require_shams=__commonJS({"../node_modules/has-symbols/shams.js"(exports2,module2){"use strict";module2.exports=__name(function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var obj={},sym=Symbol("test"),symObj=Object(sym);if(typeof sym=="string"||Object.prototype.toString.call(sym)!=="[object Symbol]"||Object.prototype.toString.call(symObj)!=="[object Symbol]")return!1;var symVal=42;obj[sym]=symVal;for(var _ in obj)return!1;if(typeof Object.keys=="function"&&Object.keys(obj).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(obj).length!==0)return!1;var syms=Object.getOwnPropertySymbols(obj);if(syms.length!==1||syms[0]!==sym||!Object.prototype.propertyIsEnumerable.call(obj,sym))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var descriptor=Object.getOwnPropertyDescriptor(obj,sym);if(descriptor.value!==symVal||descriptor.enumerable!==!0)return!1}return!0},"hasSymbols")}});var require_has_symbols=__commonJS({"../node_modules/has-symbols/index.js"(exports2,module2){"use strict";var origSymbol=typeof Symbol<"u"&&Symbol,hasSymbolSham=require_shams();module2.exports=__name(function(){return typeof origSymbol!="function"||typeof Symbol!="function"||typeof origSymbol("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:hasSymbolSham()},"hasNativeSymbols")}});var require_Reflect_getPrototypeOf=__commonJS({"../node_modules/get-proto/Reflect.getPrototypeOf.js"(exports2,module2){"use strict";module2.exports=typeof Reflect<"u"&&Reflect.getPrototypeOf||null}});var require_Object_getPrototypeOf=__commonJS({"../node_modules/get-proto/Object.getPrototypeOf.js"(exports2,module2){"use strict";var $Object=require_es_object_atoms();module2.exports=$Object.getPrototypeOf||null}});var require_implementation=__commonJS({"../node_modules/function-bind/implementation.js"(exports2,module2){"use strict";var ERROR_MESSAGE="Function.prototype.bind called on incompatible ",toStr=Object.prototype.toString,max=Math.max,funcType="[object Function]",concatty=__name(function(a,b){for(var arr=[],i=0;i<a.length;i+=1)arr[i]=a[i];for(var j=0;j<b.length;j+=1)arr[j+a.length]=b[j];return arr},"concatty"),slicy=__name(function(arrLike,offset){for(var arr=[],i=offset||0,j=0;i<arrLike.length;i+=1,j+=1)arr[j]=arrLike[i];return arr},"slicy"),joiny=__name(function(arr,joiner){for(var str="",i=0;i<arr.length;i+=1)str+=arr[i],i+1<arr.length&&(str+=joiner);return str},"joiny");module2.exports=__name(function(that){var target=this;if(typeof target!="function"||toStr.apply(target)!==funcType)throw new TypeError(ERROR_MESSAGE+target);for(var args2=slicy(arguments,1),bound,binder=__name(function(){if(this instanceof bound){var result=target.apply(this,concatty(args2,arguments));return Object(result)===result?result:this}return target.apply(that,concatty(args2,arguments))},"binder"),boundLength=max(0,target.length-args2.length),boundArgs=[],i=0;i<boundLength;i++)boundArgs[i]="$"+i;if(bound=Function("binder","return function ("+joiny(boundArgs,",")+"){ return binder.apply(this,arguments); }")(binder),target.prototype){var Empty=__name(function(){},"Empty");Empty.prototype=target.prototype,bound.prototype=new Empty,Empty.prototype=null}return bound},"bind")}});var require_function_bind=__commonJS({"../node_modules/function-bind/index.js"(exports2,module2){"use strict";var implementation=require_implementation();module2.exports=Function.prototype.bind||implementation}});var require_functionCall=__commonJS({"../node_modules/call-bind-apply-helpers/functionCall.js"(exports2,module2){"use strict";module2.exports=Function.prototype.call}});var require_functionApply=__commonJS({"../node_modules/call-bind-apply-helpers/functionApply.js"(exports2,module2){"use strict";module2.exports=Function.prototype.apply}});var require_reflectApply=__commonJS({"../node_modules/call-bind-apply-helpers/reflectApply.js"(exports2,module2){"use strict";module2.exports=typeof Reflect<"u"&&Reflect&&Reflect.apply}});var require_actualApply=__commonJS({"../node_modules/call-bind-apply-helpers/actualApply.js"(exports2,module2){"use strict";var bind=require_function_bind(),$apply=require_functionApply(),$call=require_functionCall(),$reflectApply=require_reflectApply();module2.exports=$reflectApply||bind.call($call,$apply)}});var require_call_bind_apply_helpers=__commonJS({"../node_modules/call-bind-apply-helpers/index.js"(exports2,module2){"use strict";var bind=require_function_bind(),$TypeError=require_type(),$call=require_functionCall(),$actualApply=require_actualApply();module2.exports=__name(function(args2){if(args2.length<1||typeof args2[0]!="function")throw new $TypeError("a function is required");return $actualApply(bind,$call,args2)},"callBindBasic")}});var require_get=__commonJS({"../node_modules/dunder-proto/get.js"(exports2,module2){"use strict";var callBind=require_call_bind_apply_helpers(),gOPD=require_gopd(),hasProtoAccessor;try{hasProtoAccessor=[].__proto__===Array.prototype}catch(e){if(!e||typeof e!="object"||!("code"in e)||e.code!=="ERR_PROTO_ACCESS")throw e}var desc=!!hasProtoAccessor&&gOPD&&gOPD(Object.prototype,"__proto__"),$Object=Object,$getPrototypeOf=$Object.getPrototypeOf;module2.exports=desc&&typeof desc.get=="function"?callBind([desc.get]):typeof $getPrototypeOf=="function"?__name(function(value){return $getPrototypeOf(value==null?value:$Object(value))},"getDunder"):!1}});var require_get_proto=__commonJS({"../node_modules/get-proto/index.js"(exports2,module2){"use strict";var reflectGetProto=require_Reflect_getPrototypeOf(),originalGetProto=require_Object_getPrototypeOf(),getDunderProto=require_get();module2.exports=reflectGetProto?__name(function(O){return reflectGetProto(O)},"getProto"):originalGetProto?__name(function(O){if(!O||typeof O!="object"&&typeof O!="function")throw new TypeError("getProto: not an object");return originalGetProto(O)},"getProto"):getDunderProto?__name(function(O){return getDunderProto(O)},"getProto"):null}});var require_hasown=__commonJS({"../node_modules/hasown/index.js"(exports2,module2){"use strict";var call=Function.prototype.call,$hasOwn=Object.prototype.hasOwnProperty,bind=require_function_bind();module2.exports=bind.call(call,$hasOwn)}});var require_get_intrinsic=__commonJS({"../node_modules/get-intrinsic/index.js"(exports2,module2){"use strict";var undefined2,$Object=require_es_object_atoms(),$Error=require_es_errors(),$EvalError=require_eval(),$RangeError=require_range(),$ReferenceError=require_ref(),$SyntaxError=require_syntax(),$TypeError=require_type(),$URIError=require_uri(),abs=require_abs(),floor=require_floor(),max=require_max(),min=require_min(),pow=require_pow(),round=require_round(),sign=require_sign(),$Function=Function,getEvalledConstructor=__name(function(expressionSyntax){try{return $Function('"use strict"; return ('+expressionSyntax+").constructor;")()}catch{}},"getEvalledConstructor"),$gOPD=require_gopd(),$defineProperty=require_es_define_property(),throwTypeError=__name(function(){throw new $TypeError},"throwTypeError"),ThrowTypeError=$gOPD?(function(){try{return arguments.callee,throwTypeError}catch{try{return $gOPD(arguments,"callee").get}catch{return throwTypeError}}})():throwTypeError,hasSymbols=require_has_symbols()(),getProto=require_get_proto(),$ObjectGPO=require_Object_getPrototypeOf(),$ReflectGPO=require_Reflect_getPrototypeOf(),$apply=require_functionApply(),$call=require_functionCall(),needsEval={},TypedArray=typeof Uint8Array>"u"||!getProto?undefined2:getProto(Uint8Array),INTRINSICS={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?undefined2:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?undefined2:ArrayBuffer,"%ArrayIteratorPrototype%":hasSymbols&&getProto?getProto([][Symbol.iterator]()):undefined2,"%AsyncFromSyncIteratorPrototype%":undefined2,"%AsyncFunction%":needsEval,"%AsyncGenerator%":needsEval,"%AsyncGeneratorFunction%":needsEval,"%AsyncIteratorPrototype%":needsEval,"%Atomics%":typeof Atomics>"u"?undefined2:Atomics,"%BigInt%":typeof BigInt>"u"?undefined2:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?undefined2:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?undefined2:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?undefined2:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":$Error,"%eval%":eval,"%EvalError%":$EvalError,"%Float16Array%":typeof Float16Array>"u"?undefined2:Float16Array,"%Float32Array%":typeof Float32Array>"u"?undefined2:Float32Array,"%Float64Array%":typeof Float64Array>"u"?undefined2:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?undefined2:FinalizationRegistry,"%Function%":$Function,"%GeneratorFunction%":needsEval,"%Int8Array%":typeof Int8Array>"u"?undefined2:Int8Array,"%Int16Array%":typeof Int16Array>"u"?undefined2:Int16Array,"%Int32Array%":typeof Int32Array>"u"?undefined2:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":hasSymbols&&getProto?getProto(getProto([][Symbol.iterator]())):undefined2,"%JSON%":typeof JSON=="object"?JSON:undefined2,"%Map%":typeof Map>"u"?undefined2:Map,"%MapIteratorPrototype%":typeof Map>"u"||!hasSymbols||!getProto?undefined2:getProto(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":$Object,"%Object.getOwnPropertyDescriptor%":$gOPD,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?undefined2:Promise,"%Proxy%":typeof Proxy>"u"?undefined2:Proxy,"%RangeError%":$RangeError,"%ReferenceError%":$ReferenceError,"%Reflect%":typeof Reflect>"u"?undefined2:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?undefined2:Set,"%SetIteratorPrototype%":typeof Set>"u"||!hasSymbols||!getProto?undefined2:getProto(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?undefined2:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":hasSymbols&&getProto?getProto(""[Symbol.iterator]()):undefined2,"%Symbol%":hasSymbols?Symbol:undefined2,"%SyntaxError%":$SyntaxError,"%ThrowTypeError%":ThrowTypeError,"%TypedArray%":TypedArray,"%TypeError%":$TypeError,"%Uint8Array%":typeof Uint8Array>"u"?undefined2:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?undefined2:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?undefined2:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?undefined2:Uint32Array,"%URIError%":$URIError,"%WeakMap%":typeof WeakMap>"u"?undefined2:WeakMap,"%WeakRef%":typeof WeakRef>"u"?undefined2:WeakRef,"%WeakSet%":typeof WeakSet>"u"?undefined2:WeakSet,"%Function.prototype.call%":$call,"%Function.prototype.apply%":$apply,"%Object.defineProperty%":$defineProperty,"%Object.getPrototypeOf%":$ObjectGPO,"%Math.abs%":abs,"%Math.floor%":floor,"%Math.max%":max,"%Math.min%":min,"%Math.pow%":pow,"%Math.round%":round,"%Math.sign%":sign,"%Reflect.getPrototypeOf%":$ReflectGPO};if(getProto)try{null.error}catch(e){errorProto=getProto(getProto(e)),INTRINSICS["%Error.prototype%"]=errorProto}var errorProto,doEval=__name(function doEval2(name){var value;if(name==="%AsyncFunction%")value=getEvalledConstructor("async function () {}");else if(name==="%GeneratorFunction%")value=getEvalledConstructor("function* () {}");else if(name==="%AsyncGeneratorFunction%")value=getEvalledConstructor("async function* () {}");else if(name==="%AsyncGenerator%"){var fn2=doEval2("%AsyncGeneratorFunction%");fn2&&(value=fn2.prototype)}else if(name==="%AsyncIteratorPrototype%"){var gen=doEval2("%AsyncGenerator%");gen&&getProto&&(value=getProto(gen.prototype))}return INTRINSICS[name]=value,value},"doEval"),LEGACY_ALIASES={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},bind=require_function_bind(),hasOwn=require_hasown(),$concat=bind.call($call,Array.prototype.concat),$spliceApply=bind.call($apply,Array.prototype.splice),$replace=bind.call($call,String.prototype.replace),$strSlice=bind.call($call,String.prototype.slice),$exec=bind.call($call,RegExp.prototype.exec),rePropName=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,reEscapeChar=/\\(\\)?/g,stringToPath=__name(function(string){var first=$strSlice(string,0,1),last=$strSlice(string,-1);if(first==="%"&&last!=="%")throw new $SyntaxError("invalid intrinsic syntax, expected closing `%`");if(last==="%"&&first!=="%")throw new $SyntaxError("invalid intrinsic syntax, expected opening `%`");var result=[];return $replace(string,rePropName,function(match,number,quote,subString){result[result.length]=quote?$replace(subString,reEscapeChar,"$1"):number||match}),result},"stringToPath"),getBaseIntrinsic=__name(function(name,allowMissing){var intrinsicName=name,alias;if(hasOwn(LEGACY_ALIASES,intrinsicName)&&(alias=LEGACY_ALIASES[intrinsicName],intrinsicName="%"+alias[0]+"%"),hasOwn(INTRINSICS,intrinsicName)){var value=INTRINSICS[intrinsicName];if(value===needsEval&&(value=doEval(intrinsicName)),typeof value>"u"&&!allowMissing)throw new $TypeError("intrinsic "+name+" exists, but is not available. Please file an issue!");return{alias,name:intrinsicName,value}}throw new $SyntaxError("intrinsic "+name+" does not exist!")},"getBaseIntrinsic");module2.exports=__name(function(name,allowMissing){if(typeof name!="string"||name.length===0)throw new $TypeError("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof allowMissing!="boolean")throw new $TypeError('"allowMissing" argument must be a boolean');if($exec(/^%?[^%]*%?$/,name)===null)throw new $SyntaxError("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var parts=stringToPath(name),intrinsicBaseName=parts.length>0?parts[0]:"",intrinsic=getBaseIntrinsic("%"+intrinsicBaseName+"%",allowMissing),intrinsicRealName=intrinsic.name,value=intrinsic.value,skipFurtherCaching=!1,alias=intrinsic.alias;alias&&(intrinsicBaseName=alias[0],$spliceApply(parts,$concat([0,1],alias)));for(var i=1,isOwn=!0;i<parts.length;i+=1){var part=parts[i],first=$strSlice(part,0,1),last=$strSlice(part,-1);if((first==='"'||first==="'"||first==="`"||last==='"'||last==="'"||last==="`")&&first!==last)throw new $SyntaxError("property names with quotes must have matching quotes");if((part==="constructor"||!isOwn)&&(skipFurtherCaching=!0),intrinsicBaseName+="."+part,intrinsicRealName="%"+intrinsicBaseName+"%",hasOwn(INTRINSICS,intrinsicRealName))value=INTRINSICS[intrinsicRealName];else if(value!=null){if(!(part in value)){if(!allowMissing)throw new $TypeError("base intrinsic for "+name+" exists, but the property is not available.");return}if($gOPD&&i+1>=parts.length){var desc=$gOPD(value,part);isOwn=!!desc,isOwn&&"get"in desc&&!("originalValue"in desc.get)?value=desc.get:value=value[part]}else isOwn=hasOwn(value,part),value=value[part];isOwn&&!skipFurtherCaching&&(INTRINSICS[intrinsicRealName]=value)}}return value},"GetIntrinsic")}});var require_call_bound=__commonJS({"../node_modules/call-bound/index.js"(exports2,module2){"use strict";var GetIntrinsic=require_get_intrinsic(),callBindBasic=require_call_bind_apply_helpers(),$indexOf=callBindBasic([GetIntrinsic("%String.prototype.indexOf%")]);module2.exports=__name(function(name,allowMissing){var intrinsic=GetIntrinsic(name,!!allowMissing);return typeof intrinsic=="function"&&$indexOf(name,".prototype.")>-1?callBindBasic([intrinsic]):intrinsic},"callBoundIntrinsic")}});var require_shams2=__commonJS({"../node_modules/has-tostringtag/shams.js"(exports2,module2){"use strict";var hasSymbols=require_shams();module2.exports=__name(function(){return hasSymbols()&&!!Symbol.toStringTag},"hasToStringTagShams")}});var require_is_regex=__commonJS({"../node_modules/is-regex/index.js"(exports2,module2){"use strict";var callBound=require_call_bound(),hasToStringTag=require_shams2()(),hasOwn=require_hasown(),gOPD=require_gopd(),fn2;hasToStringTag?($exec=callBound("RegExp.prototype.exec"),isRegexMarker={},throwRegexMarker=__name(function(){throw isRegexMarker},"throwRegexMarker"),badStringifier={toString:throwRegexMarker,valueOf:throwRegexMarker},typeof Symbol.toPrimitive=="symbol"&&(badStringifier[Symbol.toPrimitive]=throwRegexMarker),fn2=__name(function(value){if(!value||typeof value!="object")return!1;var descriptor=gOPD(value,"lastIndex"),hasLastIndexDataProperty=descriptor&&hasOwn(descriptor,"value");if(!hasLastIndexDataProperty)return!1;try{$exec(value,badStringifier)}catch(e){return e===isRegexMarker}},"isRegex")):($toString=callBound("Object.prototype.toString"),regexClass="[object RegExp]",fn2=__name(function(value){return!value||typeof value!="object"&&typeof value!="function"?!1:$toString(value)===regexClass},"isRegex"));var $exec,isRegexMarker,throwRegexMarker,badStringifier,$toString,regexClass;module2.exports=fn2}});var require_safe_regex_test=__commonJS({"../node_modules/safe-regex-test/index.js"(exports2,module2){"use strict";var callBound=require_call_bound(),isRegex=require_is_regex(),$exec=callBound("RegExp.prototype.exec"),$TypeError=require_type();module2.exports=__name(function(regex){if(!isRegex(regex))throw new $TypeError("`regex` must be a RegExp");return __name(function(s){return $exec(regex,s)!==null},"test")},"regexTester")}});var require_is_generator_function=__commonJS({"../node_modules/is-generator-function/index.js"(exports2,module2){"use strict";var callBound=require_call_bound(),safeRegexTest=require_safe_regex_test(),isFnRegex=safeRegexTest(/^\s*(?:function)?\*/),hasToStringTag=require_shams2()(),getProto=require_get_proto(),toStr=callBound("Object.prototype.toString"),fnToStr=callBound("Function.prototype.toString"),getGeneratorFunc=__name(function(){if(!hasToStringTag)return!1;try{return Function("return function*() {}")()}catch{}},"getGeneratorFunc"),GeneratorFunction;module2.exports=__name(function(fn2){if(typeof fn2!="function")return!1;if(isFnRegex(fnToStr(fn2)))return!0;if(!hasToStringTag){var str=toStr(fn2);return str==="[object GeneratorFunction]"}if(!getProto)return!1;if(typeof GeneratorFunction>"u"){var generatorFunc=getGeneratorFunc();GeneratorFunction=generatorFunc?getProto(generatorFunc):!1}return getProto(fn2)===GeneratorFunction},"isGeneratorFunction")}});var require_ms=__commonJS({"../node_modules/ms/index.js"(exports2,module2){var s=1e3,m=s*60,h=m*60,d=h*24,w=d*7,y=d*365.25;module2.exports=function(val,options){options=options||{};var type=typeof val;if(type==="string"&&val.length>0)return parse(val);if(type==="number"&&isFinite(val))return options.long?fmtLong(val):fmtShort(val);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(val))};function parse(str){if(str=String(str),!(str.length>100)){var match=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str);if(match){var n=parseFloat(match[1]),type=(match[2]||"ms").toLowerCase();switch(type){case"years":case"year":case"yrs":case"yr":case"y":return n*y;case"weeks":case"week":case"w":return n*w;case"days":case"day":case"d":return n*d;case"hours":case"hour":case"hrs":case"hr":case"h":return n*h;case"minutes":case"minute":case"mins":case"min":case"m":return n*m;case"seconds":case"second":case"secs":case"sec":case"s":return n*s;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}__name(parse,"parse");function fmtShort(ms){var msAbs=Math.abs(ms);return msAbs>=d?Math.round(ms/d)+"d":msAbs>=h?Math.round(ms/h)+"h":msAbs>=m?Math.round(ms/m)+"m":msAbs>=s?Math.round(ms/s)+"s":ms+"ms"}__name(fmtShort,"fmtShort");function fmtLong(ms){var msAbs=Math.abs(ms);return msAbs>=d?plural(ms,msAbs,d,"day"):msAbs>=h?plural(ms,msAbs,h,"hour"):msAbs>=m?plural(ms,msAbs,m,"minute"):msAbs>=s?plural(ms,msAbs,s,"second"):ms+" ms"}__name(fmtLong,"fmtLong");function plural(ms,msAbs,n,name){var isPlural=msAbs>=n*1.5;return Math.round(ms/n)+" "+name+(isPlural?"s":"")}__name(plural,"plural")}});var require_common=__commonJS({"../node_modules/debug/src/common.js"(exports2,module2){function setup(env){createDebug.debug=createDebug,createDebug.default=createDebug,createDebug.coerce=coerce,createDebug.disable=disable,createDebug.enable=enable,createDebug.enabled=enabled,createDebug.humanize=require_ms(),createDebug.destroy=destroy,Object.keys(env).forEach(key=>{createDebug[key]=env[key]}),createDebug.names=[],createDebug.skips=[],createDebug.formatters={};function selectColor(namespace){let hash=0;for(let i=0;i<namespace.length;i++)hash=(hash<<5)-hash+namespace.charCodeAt(i),hash|=0;return createDebug.colors[Math.abs(hash)%createDebug.colors.length]}__name(selectColor,"selectColor"),createDebug.selectColor=selectColor;function createDebug(namespace){let prevTime,enableOverride=null,namespacesCache,enabledCache;function debug(...args2){if(!debug.enabled)return;let self=debug,curr=Number(new Date),ms=curr-(prevTime||curr);self.diff=ms,self.prev=prevTime,self.curr=curr,prevTime=curr,args2[0]=createDebug.coerce(args2[0]),typeof args2[0]!="string"&&args2.unshift("%O");let index=0;args2[0]=args2[0].replace(/%([a-zA-Z%])/g,(match,format2)=>{if(match==="%%")return"%";index++;let formatter=createDebug.formatters[format2];if(typeof formatter=="function"){let val=args2[index];match=formatter.call(self,val),args2.splice(index,1),index--}return match}),createDebug.formatArgs.call(self,args2),(self.log||createDebug.log).apply(self,args2)}return __name(debug,"debug"),debug.namespace=namespace,debug.useColors=createDebug.useColors(),debug.color=createDebug.selectColor(namespace),debug.extend=extend,debug.destroy=createDebug.destroy,Object.defineProperty(debug,"enabled",{enumerable:!0,configurable:!1,get:__name(()=>enableOverride!==null?enableOverride:(namespacesCache!==createDebug.namespaces&&(namespacesCache=createDebug.namespaces,enabledCache=createDebug.enabled(namespace)),enabledCache),"get"),set:__name(v=>{enableOverride=v},"set")}),typeof createDebug.init=="function"&&createDebug.init(debug),debug}__name(createDebug,"createDebug");function extend(namespace,delimiter){let newDebug=createDebug(this.namespace+(typeof delimiter>"u"?":":delimiter)+namespace);return newDebug.log=this.log,newDebug}__name(extend,"extend");function enable(namespaces){createDebug.save(namespaces),createDebug.namespaces=namespaces,createDebug.names=[],createDebug.skips=[];let split=(typeof namespaces=="string"?namespaces:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let ns of split)ns[0]==="-"?createDebug.skips.push(ns.slice(1)):createDebug.names.push(ns)}__name(enable,"enable");function matchesTemplate(search,template){let searchIndex=0,templateIndex=0,starIndex=-1,matchIndex=0;for(;searchIndex<search.length;)if(templateIndex<template.length&&(template[templateIndex]===search[searchIndex]||template[templateIndex]==="*"))template[templateIndex]==="*"?(starIndex=templateIndex,matchIndex=searchIndex,templateIndex++):(searchIndex++,templateIndex++);else if(starIndex!==-1)templateIndex=starIndex+1,matchIndex++,searchIndex=matchIndex;else return!1;for(;templateIndex<template.length&&template[templateIndex]==="*";)templateIndex++;return templateIndex===template.length}__name(matchesTemplate,"matchesTemplate");function disable(){let namespaces=[...createDebug.names,...createDebug.skips.map(namespace=>"-"+namespace)].join(",");return createDebug.enable(""),namespaces}__name(disable,"disable");function enabled(name){for(let skip of createDebug.skips)if(matchesTemplate(name,skip))return!1;for(let ns of createDebug.names)if(matchesTemplate(name,ns))return!0;return!1}__name(enabled,"enabled");function coerce(val){return val instanceof Error?val.stack||val.message:val}__name(coerce,"coerce");function destroy(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return __name(destroy,"destroy"),createDebug.enable(createDebug.load()),createDebug}__name(setup,"setup");module2.exports=setup}});var require_browser=__commonJS({"../node_modules/debug/src/browser.js"(exports2,module2){exports2.formatArgs=formatArgs;exports2.save=save;exports2.load=load;exports2.useColors=useColors;exports2.storage=localstorage();exports2.destroy=(()=>{let warned=!1;return()=>{warned||(warned=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();exports2.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function useColors(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let m;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(m=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(m[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}__name(useColors,"useColors");function formatArgs(args2){if(args2[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+args2[0]+(this.useColors?"%c ":" ")+"+"+module2.exports.humanize(this.diff),!this.useColors)return;let c="color: "+this.color;args2.splice(1,0,c,"color: inherit");let index=0,lastC=0;args2[0].replace(/%[a-zA-Z%]/g,match=>{match!=="%%"&&(index++,match==="%c"&&(lastC=index))}),args2.splice(lastC,0,c)}__name(formatArgs,"formatArgs");exports2.log=console.debug||console.log||(()=>{});function save(namespaces){try{namespaces?exports2.storage.setItem("debug",namespaces):exports2.storage.removeItem("debug")}catch{}}__name(save,"save");function load(){let r;try{r=exports2.storage.getItem("debug")||exports2.storage.getItem("DEBUG")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}__name(load,"load");function localstorage(){try{return localStorage}catch{}}__name(localstorage,"localstorage");module2.exports=require_common()(exports2);var{formatters}=module2.exports;formatters.j=function(v){try{return JSON.stringify(v)}catch(error){return"[UnexpectedJSONParseError]: "+error.message}}}});var require_has_flag=__commonJS({"../node_modules/has-flag/index.js"(exports2,module2){"use strict";module2.exports=(flag,argv=process.argv)=>{let prefix=flag.startsWith("-")?"":flag.length===1?"-":"--",position=argv.indexOf(prefix+flag),terminatorPosition=argv.indexOf("--");return position!==-1&&(terminatorPosition===-1||position<terminatorPosition)}}});var require_supports_color=__commonJS({"../node_modules/supports-color/index.js"(exports2,module2){"use strict";var os=__require("os"),tty=__require("tty"),hasFlag=require_has_flag(),{env}=process,flagForceColor;hasFlag("no-color")||hasFlag("no-colors")||hasFlag("color=false")||hasFlag("color=never")?flagForceColor=0:(hasFlag("color")||hasFlag("colors")||hasFlag("color=true")||hasFlag("color=always"))&&(flagForceColor=1);function envForceColor(){if("FORCE_COLOR"in env)return env.FORCE_COLOR==="true"?1:env.FORCE_COLOR==="false"?0:env.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(env.FORCE_COLOR,10),3)}__name(envForceColor,"envForceColor");function translateLevel(level){return level===0?!1:{level,hasBasic:!0,has256:level>=2,has16m:level>=3}}__name(translateLevel,"translateLevel");function supportsColor(haveStream,{streamIsTTY,sniffFlags=!0}={}){let noFlagForceColor=envForceColor();noFlagForceColor!==void 0&&(flagForceColor=noFlagForceColor);let forceColor=sniffFlags?flagForceColor:noFlagForceColor;if(forceColor===0)return 0;if(sniffFlags){if(hasFlag("color=16m")||hasFlag("color=full")||hasFlag("color=truecolor"))return 3;if(hasFlag("color=256"))return 2}if(haveStream&&!streamIsTTY&&forceColor===void 0)return 0;let min=forceColor||0;if(env.TERM==="dumb")return min;if(process.platform==="win32"){let osRelease=os.release().split(".");return Number(osRelease[0])>=10&&Number(osRelease[2])>=10586?Number(osRelease[2])>=14931?3:2:1}if("CI"in env)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE","DRONE"].some(sign=>sign in env)||env.CI_NAME==="codeship"?1:min;if("TEAMCITY_VERSION"in env)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION)?1:0;if(env.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in env){let version=Number.parseInt((env.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(env.TERM_PROGRAM){case"iTerm.app":return version>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(env.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)||"COLORTERM"in env?1:min}__name(supportsColor,"supportsColor");function getSupportLevel(stream,options={}){let level=supportsColor(stream,{streamIsTTY:stream&&stream.isTTY,...options});return translateLevel(level)}__name(getSupportLevel,"getSupportLevel");module2.exports={supportsColor:getSupportLevel,stdout:getSupportLevel({isTTY:tty.isatty(1)}),stderr:getSupportLevel({isTTY:tty.isatty(2)})}}});var require_node=__commonJS({"../node_modules/debug/src/node.js"(exports2,module2){var tty=__require("tty"),util=__require("util");exports2.init=init;exports2.log=log3;exports2.formatArgs=formatArgs;exports2.save=save;exports2.load=load;exports2.useColors=useColors;exports2.destroy=util.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");exports2.colors=[6,2,3,4,5,1];try{let supportsColor=require_supports_color();supportsColor&&(supportsColor.stderr||supportsColor).level>=2&&(exports2.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}exports2.inspectOpts=Object.keys(process.env).filter(key=>/^debug_/i.test(key)).reduce((obj,key)=>{let prop=key.substring(6).toLowerCase().replace(/_([a-z])/g,(_,k)=>k.toUpperCase()),val=process.env[key];return/^(yes|on|true|enabled)$/i.test(val)?val=!0:/^(no|off|false|disabled)$/i.test(val)?val=!1:val==="null"?val=null:val=Number(val),obj[prop]=val,obj},{});function useColors(){return"colors"in exports2.inspectOpts?!!exports2.inspectOpts.colors:tty.isatty(process.stderr.fd)}__name(useColors,"useColors");function formatArgs(args2){let{namespace:name,useColors:useColors2}=this;if(useColors2){let c=this.color,colorCode="\x1B[3"+(c<8?c:"8;5;"+c),prefix=` ${colorCode};1m${name} \x1B[0m`;args2[0]=prefix+args2[0].split(`
|
|
4
4
|
`).join(`
|
|
5
5
|
`+prefix),args2.push(colorCode+"m+"+module2.exports.humanize(this.diff)+"\x1B[0m")}else args2[0]=getDate()+name+" "+args2[0]}__name(formatArgs,"formatArgs");function getDate(){return exports2.inspectOpts.hideDate?"":new Date().toISOString()+" "}__name(getDate,"getDate");function log3(...args2){return process.stderr.write(util.formatWithOptions(exports2.inspectOpts,...args2)+`
|
|
6
6
|
`)}__name(log3,"log");function save(namespaces){namespaces?process.env.DEBUG=namespaces:delete process.env.DEBUG}__name(save,"save");function load(){return process.env.DEBUG}__name(load,"load");function init(debug){debug.inspectOpts={};let keys=Object.keys(exports2.inspectOpts);for(let i=0;i<keys.length;i++)debug.inspectOpts[keys[i]]=exports2.inspectOpts[keys[i]]}__name(init,"init");module2.exports=require_common()(exports2);var{formatters}=module2.exports;formatters.o=function(v){return this.inspectOpts.colors=this.useColors,util.inspect(v,this.inspectOpts).split(`
|
|
@@ -45,7 +45,7 @@ ${msg.replace(/^/gm," ")}
|
|
|
45
45
|
"use strict"
|
|
46
46
|
log.call(deprecate, message, site)
|
|
47
47
|
return fn.apply(this, arguments)
|
|
48
|
-
})`);return deprecatedfn}__name(wrapfunction,"wrapfunction");function wrapproperty(obj,prop,message2){if(!obj||typeof obj!="object"&&typeof obj!="function")throw new TypeError("argument obj must be object");var descriptor=Object.getOwnPropertyDescriptor(obj,prop);if(!descriptor)throw new TypeError("must call property on owner object");if(!descriptor.configurable)throw new TypeError("property must be configurable");var deprecate2=this,stack2=getStack(),site2=callSiteLocation(stack2[1]);site2.name=prop,"value"in descriptor&&(descriptor=convertDataDescriptorToAccessor(obj,prop,message2));var get=descriptor.get,set=descriptor.set;typeof get=="function"&&(descriptor.get=__name(function(){return log.call(deprecate2,message2,site2),get.apply(this,arguments)},"getter")),typeof set=="function"&&(descriptor.set=__name(function(){return log.call(deprecate2,message2,site2),set.apply(this,arguments)},"setter")),Object.defineProperty(obj,prop,descriptor)}__name(wrapproperty,"wrapproperty");function DeprecationError(namespace,message2,stack2){var error=new Error,stackString;return Object.defineProperty(error,"constructor",{value:DeprecationError}),Object.defineProperty(error,"message",{configurable:!0,enumerable:!1,value:message2,writable:!0}),Object.defineProperty(error,"name",{enumerable:!1,configurable:!0,value:"DeprecationError",writable:!0}),Object.defineProperty(error,"namespace",{configurable:!0,enumerable:!1,value:namespace,writable:!0}),Object.defineProperty(error,"stack",{configurable:!0,enumerable:!1,get:__name(function(){return stackString!==void 0?stackString:stackString=createStackString.call(this,stack2)},"get"),set:__name(function(val){stackString=val},"setter")}),error}__name(DeprecationError,"DeprecationError")}});var require_codes4=__commonJS({"../node_modules/koa-compress/node_modules/statuses/codes.json"(exports2,module2){module2.exports={"100":"Continue","101":"Switching Protocols","102":"Processing","103":"Early Hints","200":"OK","201":"Created","202":"Accepted","203":"Non-Authoritative Information","204":"No Content","205":"Reset Content","206":"Partial Content","207":"Multi-Status","208":"Already Reported","226":"IM Used","300":"Multiple Choices","301":"Moved Permanently","302":"Found","303":"See Other","304":"Not Modified","305":"Use Proxy","306":"(Unused)","307":"Temporary Redirect","308":"Permanent Redirect","400":"Bad Request","401":"Unauthorized","402":"Payment Required","403":"Forbidden","404":"Not Found","405":"Method Not Allowed","406":"Not Acceptable","407":"Proxy Authentication Required","408":"Request Timeout","409":"Conflict","410":"Gone","411":"Length Required","412":"Precondition Failed","413":"Payload Too Large","414":"URI Too Long","415":"Unsupported Media Type","416":"Range Not Satisfiable","417":"Expectation Failed","418":"I'm a teapot","421":"Misdirected Request","422":"Unprocessable Entity","423":"Locked","424":"Failed Dependency","425":"Unordered Collection","426":"Upgrade Required","428":"Precondition Required","429":"Too Many Requests","431":"Request Header Fields Too Large","451":"Unavailable For Legal Reasons","500":"Internal Server Error","501":"Not Implemented","502":"Bad Gateway","503":"Service Unavailable","504":"Gateway Timeout","505":"HTTP Version Not Supported","506":"Variant Also Negotiates","507":"Insufficient Storage","508":"Loop Detected","509":"Bandwidth Limit Exceeded","510":"Not Extended","511":"Network Authentication Required"}}});var require_statuses4=__commonJS({"../node_modules/koa-compress/node_modules/statuses/index.js"(exports2,module2){"use strict";var codes=require_codes4();module2.exports=status;status.STATUS_CODES=codes;status.codes=populateStatusesMap(status,codes);status.redirect={300:!0,301:!0,302:!0,303:!0,305:!0,307:!0,308:!0};status.empty={204:!0,205:!0,304:!0};status.retry={502:!0,503:!0,504:!0};function populateStatusesMap(statuses,codes2){var arr=[];return Object.keys(codes2).forEach(__name(function(code){var message2=codes2[code],status2=Number(code);statuses[status2]=message2,statuses[message2]=status2,statuses[message2.toLowerCase()]=status2,arr.push(status2)},"forEachCode")),arr}__name(populateStatusesMap,"populateStatusesMap");function status(code){if(typeof code=="number"){if(!status[code])throw new Error("invalid status code: "+code);return code}if(typeof code!="string")throw new TypeError("code must be a number or string");var n=parseInt(code,10);if(!isNaN(n)){if(!status[n])throw new Error("invalid status code: "+n);return n}if(n=status[code.toLowerCase()],!n)throw new Error('invalid status message: "'+code+'"');return n}__name(status,"status")}});var require_http_errors4=__commonJS({"../node_modules/koa-compress/node_modules/http-errors/index.js"(exports2,module2){"use strict";var deprecate2=require_depd4()("http-errors"),setPrototypeOf=require_setprototypeof(),statuses=require_statuses4(),inherits=require_inherits(),toIdentifier=require_toidentifier();module2.exports=createError;module2.exports.HttpError=createHttpErrorConstructor();module2.exports.isHttpError=createIsHttpErrorFunction(module2.exports.HttpError);populateConstructorExports(module2.exports,statuses.codes,module2.exports.HttpError);function codeClass(status){return+(String(status).charAt(0)+"00")}__name(codeClass,"codeClass");function createError(){for(var err,msg,status=500,props={},i=0;i<arguments.length;i++){var arg=arguments[i];if(arg instanceof Error){err=arg,status=err.status||err.statusCode||status;continue}switch(typeof arg){case"string":msg=arg;break;case"number":status=arg,i!==0&&deprecate2("non-first-argument status code; replace with createError("+arg+", ...)");break;case"object":props=arg;break}}typeof status=="number"&&(status<400||status>=600)&&deprecate2("non-error status code; use only 4xx or 5xx status codes"),(typeof status!="number"||!statuses[status]&&(status<400||status>=600))&&(status=500);var HttpError2=createError[status]||createError[codeClass(status)];err||(err=HttpError2?new HttpError2(msg):new Error(msg||statuses[status]),Error.captureStackTrace(err,createError)),(!HttpError2||!(err instanceof HttpError2)||err.status!==status)&&(err.expose=status<500,err.status=err.statusCode=status);for(var key in props)key!=="status"&&key!=="statusCode"&&(err[key]=props[key]);return err}__name(createError,"createError");function createHttpErrorConstructor(){function HttpError2(){throw new TypeError("cannot construct abstract class")}return __name(HttpError2,"HttpError"),inherits(HttpError2,Error),HttpError2}__name(createHttpErrorConstructor,"createHttpErrorConstructor");function createClientErrorConstructor(HttpError2,name,code){var className=toClassName(name);function ClientError(message2){var msg=message2??statuses[code],err=new Error(msg);return Error.captureStackTrace(err,ClientError),setPrototypeOf(err,ClientError.prototype),Object.defineProperty(err,"message",{enumerable:!0,configurable:!0,value:msg,writable:!0}),Object.defineProperty(err,"name",{enumerable:!1,configurable:!0,value:className,writable:!0}),err}return __name(ClientError,"ClientError"),inherits(ClientError,HttpError2),nameFunc(ClientError,className),ClientError.prototype.status=code,ClientError.prototype.statusCode=code,ClientError.prototype.expose=!0,ClientError}__name(createClientErrorConstructor,"createClientErrorConstructor");function createIsHttpErrorFunction(HttpError2){return __name(function(val){return!val||typeof val!="object"?!1:val instanceof HttpError2?!0:val instanceof Error&&typeof val.expose=="boolean"&&typeof val.statusCode=="number"&&val.status===val.statusCode},"isHttpError")}__name(createIsHttpErrorFunction,"createIsHttpErrorFunction");function createServerErrorConstructor(HttpError2,name,code){var className=toClassName(name);function ServerError(message2){var msg=message2??statuses[code],err=new Error(msg);return Error.captureStackTrace(err,ServerError),setPrototypeOf(err,ServerError.prototype),Object.defineProperty(err,"message",{enumerable:!0,configurable:!0,value:msg,writable:!0}),Object.defineProperty(err,"name",{enumerable:!1,configurable:!0,value:className,writable:!0}),err}return __name(ServerError,"ServerError"),inherits(ServerError,HttpError2),nameFunc(ServerError,className),ServerError.prototype.status=code,ServerError.prototype.statusCode=code,ServerError.prototype.expose=!1,ServerError}__name(createServerErrorConstructor,"createServerErrorConstructor");function nameFunc(func,name){var desc=Object.getOwnPropertyDescriptor(func,"name");desc&&desc.configurable&&(desc.value=name,Object.defineProperty(func,"name",desc))}__name(nameFunc,"nameFunc");function populateConstructorExports(exports3,codes,HttpError2){codes.forEach(__name(function(code){var CodeError,name=toIdentifier(statuses[code]);switch(codeClass(code)){case 400:CodeError=createClientErrorConstructor(HttpError2,name,code);break;case 500:CodeError=createServerErrorConstructor(HttpError2,name,code);break}CodeError&&(exports3[code]=CodeError,exports3[name]=CodeError)},"forEachCode")),exports3["I'mateapot"]=deprecate2.function(exports3.ImATeapot,`"I'mateapot"; use "ImATeapot" instead`)}__name(populateConstructorExports,"populateConstructorExports");function toClassName(name){return name.substr(-5)!=="Error"?name+"Error":name}__name(toClassName,"toClassName")}});var require_encodings2=__commonJS({"../node_modules/koa-compress/lib/encodings.js"(exports2,module2){var errors=require_http_errors4(),zlib=__require("zlib"),Encodings=class _Encodings{static{__name(this,"Encodings")}constructor(options={}){this.wildcardAcceptEncoding=options.wildcardAcceptEncoding||_Encodings.wildcardAcceptEncoding,this.preferredEncodings=options.preferredEncodings||_Encodings.preferredEncodings,this.reDirective=options.reDirective||_Encodings.reDirective,this.encodingWeights=new Map}parseAcceptEncoding(acceptEncoding="*"){let{encodingWeights,reDirective}=this;acceptEncoding.split(",").forEach(directive=>{let match=reDirective.exec(directive);if(!match)return;let encoding=match[1],weight=match[2]&&!isNaN(match[2])?parseFloat(match[2],10):1;if(weight=Math.max(weight,0),weight=Math.min(weight,1),encoding==="*"){this.wildcardAcceptEncoding.forEach(enc=>{encodingWeights.has(enc)||encodingWeights.set(enc,weight)});return}encodingWeights.set(encoding,weight)})}getPreferredContentEncoding(){let{encodingWeights,preferredEncodings}=this,acceptedEncodings=Array.from(encodingWeights.keys()).sort((a,b)=>encodingWeights.get(b)-encodingWeights.get(a)).filter(encoding=>encoding==="identity"||typeof _Encodings.encodingMethods[encoding]=="function"),weightClasses=new Map;acceptedEncodings.forEach(encoding=>{let weight=encodingWeights.get(encoding);weightClasses.has(weight)||weightClasses.set(weight,new Set),weightClasses.get(weight).add(encoding)});let weights=Array.from(weightClasses.keys()).sort((a,b)=>b-a);for(let i=0;i<weights.length;i++){let encodings=weightClasses.get(weights[i]);for(let j=0;j<preferredEncodings.length;j++){let preferredEncoding=preferredEncodings[j];if(encodings.has(preferredEncoding))return preferredEncoding}}if(encodingWeights.get("identity")===0)throw errors(406,"Please accept br, gzip, deflate, or identity.");return"identity"}};Encodings.encodingMethods={gzip:zlib.createGzip,deflate:zlib.createDeflate,br:zlib.createBrotliCompress};Encodings.encodingMethodDefaultOptions={gzip:{},deflate:{},br:{params:{[zlib.constants.BROTLI_PARAM_QUALITY]:4}}};Encodings.wildcardAcceptEncoding=["gzip","deflate"];Encodings.preferredEncodings=["br","gzip","deflate"];Encodings.reDirective=/^\s*(gzip|compress|deflate|br|identity|\*)\s*(?:;\s*q\s*=\s*(\d(?:\.\d)?))?\s*$/;module2.exports=Encodings}});var require_lib5=__commonJS({"../node_modules/koa-compress/lib/index.js"(exports2,module2){"use strict";var compressible=require_compressible(),isJSON=require_koa_is_json(),Stream=__require("stream"),bytes=require_bytes(),Encodings=require_encodings2(),NO_TRANSFORM_REGEX=/(?:^|,)\s*?no-transform\s*?(?:,|$)/,emptyBodyStatues=new Set([204,205,304]);module2.exports=(options={})=>{let{filter=compressible,threshold=1024,defaultEncoding="identity"}=options;typeof threshold=="string"&&(threshold=bytes(threshold));let preferredEncodings=Encodings.preferredEncodings.filter(encoding=>options[encoding]!==!1&&options[encoding]!==null),encodingOptions={};return preferredEncodings.forEach(encoding=>{encodingOptions[encoding]={...Encodings.encodingMethodDefaultOptions[encoding],...options[encoding]||{}}}),Object.assign(compressMiddleware,{preferredEncodings,encodingOptions}),compressMiddleware;async function compressMiddleware(ctx,next){ctx.vary("Accept-Encoding"),await next();let{body}=ctx;if(!body||ctx.res.headersSent||!ctx.writable||ctx.compress===!1||ctx.request.method==="HEAD"||emptyBodyStatues.has(+ctx.response.status)||ctx.response.get("Content-Encoding")||!(ctx.compress===!0||filter(ctx.response.type))||NO_TRANSFORM_REGEX.test(ctx.response.get("Cache-Control"))||threshold&&ctx.response.length<threshold)return;let encodings=new Encodings({preferredEncodings});encodings.parseAcceptEncoding(ctx.request.headers["accept-encoding"]||defaultEncoding);let encoding=encodings.getPreferredContentEncoding();if(encoding==="identity")return;isJSON(body)&&(body=ctx.body=JSON.stringify(body)),ctx.set("Content-Encoding",encoding),ctx.res.removeHeader("Content-Length");let compress2=Encodings.encodingMethods[encoding],stream=ctx.body=compress2(encodingOptions[encoding]);if(body instanceof Stream)return body.pipe(stream);stream.end(body)}__name(compressMiddleware,"compressMiddleware")}}});var require_dist=__commonJS({"../node_modules/koa-router/node_modules/path-to-regexp/dist/index.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.pathToRegexp=exports2.tokensToRegexp=exports2.regexpToFunction=exports2.match=exports2.tokensToFunction=exports2.compile=exports2.parse=void 0;function lexer(str){for(var tokens=[],i=0;i<str.length;){var char=str[i];if(char==="*"||char==="+"||char==="?"){tokens.push({type:"MODIFIER",index:i,value:str[i++]});continue}if(char==="\\"){tokens.push({type:"ESCAPED_CHAR",index:i++,value:str[i++]});continue}if(char==="{"){tokens.push({type:"OPEN",index:i,value:str[i++]});continue}if(char==="}"){tokens.push({type:"CLOSE",index:i,value:str[i++]});continue}if(char===":"){for(var name="",j=i+1;j<str.length;){var code=str.charCodeAt(j);if(code>=48&&code<=57||code>=65&&code<=90||code>=97&&code<=122||code===95){name+=str[j++];continue}break}if(!name)throw new TypeError("Missing parameter name at ".concat(i));tokens.push({type:"NAME",index:i,value:name}),i=j;continue}if(char==="("){var count=1,pattern="",j=i+1;if(str[j]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(j));for(;j<str.length;){if(str[j]==="\\"){pattern+=str[j++]+str[j++];continue}if(str[j]===")"){if(count--,count===0){j++;break}}else if(str[j]==="("&&(count++,str[j+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(j));pattern+=str[j++]}if(count)throw new TypeError("Unbalanced pattern at ".concat(i));if(!pattern)throw new TypeError("Missing pattern at ".concat(i));tokens.push({type:"PATTERN",index:i,value:pattern}),i=j;continue}tokens.push({type:"CHAR",index:i,value:str[i++]})}return tokens.push({type:"END",index:i,value:""}),tokens}__name(lexer,"lexer");function parse(str,options){options===void 0&&(options={});for(var tokens=lexer(str),_a=options.prefixes,prefixes=_a===void 0?"./":_a,_b=options.delimiter,delimiter=_b===void 0?"/#?":_b,result=[],key=0,i=0,path="",tryConsume=__name(function(type){if(i<tokens.length&&tokens[i].type===type)return tokens[i++].value},"tryConsume"),mustConsume=__name(function(type){var value2=tryConsume(type);if(value2!==void 0)return value2;var _a2=tokens[i],nextType=_a2.type,index=_a2.index;throw new TypeError("Unexpected ".concat(nextType," at ").concat(index,", expected ").concat(type))},"mustConsume"),consumeText=__name(function(){for(var result2="",value2;value2=tryConsume("CHAR")||tryConsume("ESCAPED_CHAR");)result2+=value2;return result2},"consumeText"),isSafe=__name(function(value2){for(var _i=0,delimiter_1=delimiter;_i<delimiter_1.length;_i++){var char2=delimiter_1[_i];if(value2.indexOf(char2)>-1)return!0}return!1},"isSafe"),safePattern=__name(function(prefix2){var prev=result[result.length-1],prevText=prefix2||(prev&&typeof prev=="string"?prev:"");if(prev&&!prevText)throw new TypeError('Must have text between two parameters, missing text after "'.concat(prev.name,'"'));return!prevText||isSafe(prevText)?"[^".concat(escapeString(delimiter),"]+?"):"(?:(?!".concat(escapeString(prevText),")[^").concat(escapeString(delimiter),"])+?")},"safePattern");i<tokens.length;){var char=tryConsume("CHAR"),name=tryConsume("NAME"),pattern=tryConsume("PATTERN");if(name||pattern){var prefix=char||"";prefixes.indexOf(prefix)===-1&&(path+=prefix,prefix=""),path&&(result.push(path),path=""),result.push({name:name||key++,prefix,suffix:"",pattern:pattern||safePattern(prefix),modifier:tryConsume("MODIFIER")||""});continue}var value=char||tryConsume("ESCAPED_CHAR");if(value){path+=value;continue}path&&(result.push(path),path="");var open=tryConsume("OPEN");if(open){var prefix=consumeText(),name_1=tryConsume("NAME")||"",pattern_1=tryConsume("PATTERN")||"",suffix=consumeText();mustConsume("CLOSE"),result.push({name:name_1||(pattern_1?key++:""),pattern:name_1&&!pattern_1?safePattern(prefix):pattern_1,prefix,suffix,modifier:tryConsume("MODIFIER")||""});continue}mustConsume("END")}return result}__name(parse,"parse");exports2.parse=parse;function compile(str,options){return tokensToFunction(parse(str,options),options)}__name(compile,"compile");exports2.compile=compile;function tokensToFunction(tokens,options){options===void 0&&(options={});var reFlags=flags(options),_a=options.encode,encode=_a===void 0?function(x){return x}:_a,_b=options.validate,validate=_b===void 0?!0:_b,matches=tokens.map(function(token){if(typeof token=="object")return new RegExp("^(?:".concat(token.pattern,")$"),reFlags)});return function(data){for(var path="",i=0;i<tokens.length;i++){var token=tokens[i];if(typeof token=="string"){path+=token;continue}var value=data?data[token.name]:void 0,optional=token.modifier==="?"||token.modifier==="*",repeat=token.modifier==="*"||token.modifier==="+";if(Array.isArray(value)){if(!repeat)throw new TypeError('Expected "'.concat(token.name,'" to not repeat, but got an array'));if(value.length===0){if(optional)continue;throw new TypeError('Expected "'.concat(token.name,'" to not be empty'))}for(var j=0;j<value.length;j++){var segment=encode(value[j],token);if(validate&&!matches[i].test(segment))throw new TypeError('Expected all "'.concat(token.name,'" to match "').concat(token.pattern,'", but got "').concat(segment,'"'));path+=token.prefix+segment+token.suffix}continue}if(typeof value=="string"||typeof value=="number"){var segment=encode(String(value),token);if(validate&&!matches[i].test(segment))throw new TypeError('Expected "'.concat(token.name,'" to match "').concat(token.pattern,'", but got "').concat(segment,'"'));path+=token.prefix+segment+token.suffix;continue}if(!optional){var typeOfMessage=repeat?"an array":"a string";throw new TypeError('Expected "'.concat(token.name,'" to be ').concat(typeOfMessage))}}return path}}__name(tokensToFunction,"tokensToFunction");exports2.tokensToFunction=tokensToFunction;function match(str,options){var keys=[],re=pathToRegexp(str,keys,options);return regexpToFunction(re,keys,options)}__name(match,"match");exports2.match=match;function regexpToFunction(re,keys,options){options===void 0&&(options={});var _a=options.decode,decode=_a===void 0?function(x){return x}:_a;return function(pathname){var m=re.exec(pathname);if(!m)return!1;for(var path=m[0],index=m.index,params=Object.create(null),_loop_1=__name(function(i2){if(m[i2]===void 0)return"continue";var key=keys[i2-1];key.modifier==="*"||key.modifier==="+"?params[key.name]=m[i2].split(key.prefix+key.suffix).map(function(value){return decode(value,key)}):params[key.name]=decode(m[i2],key)},"_loop_1"),i=1;i<m.length;i++)_loop_1(i);return{path,index,params}}}__name(regexpToFunction,"regexpToFunction");exports2.regexpToFunction=regexpToFunction;function escapeString(str){return str.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}__name(escapeString,"escapeString");function flags(options){return options&&options.sensitive?"":"i"}__name(flags,"flags");function regexpToRegexp(path,keys){if(!keys)return path;for(var groupsRegex=/\((?:\?<(.*?)>)?(?!\?)/g,index=0,execResult=groupsRegex.exec(path.source);execResult;)keys.push({name:execResult[1]||index++,prefix:"",suffix:"",modifier:"",pattern:""}),execResult=groupsRegex.exec(path.source);return path}__name(regexpToRegexp,"regexpToRegexp");function arrayToRegexp(paths,keys,options){var parts=paths.map(function(path){return pathToRegexp(path,keys,options).source});return new RegExp("(?:".concat(parts.join("|"),")"),flags(options))}__name(arrayToRegexp,"arrayToRegexp");function stringToRegexp(path,keys,options){return tokensToRegexp(parse(path,options),keys,options)}__name(stringToRegexp,"stringToRegexp");function tokensToRegexp(tokens,keys,options){options===void 0&&(options={});for(var _a=options.strict,strict=_a===void 0?!1:_a,_b=options.start,start=_b===void 0?!0:_b,_c=options.end,end=_c===void 0?!0:_c,_d=options.encode,encode=_d===void 0?function(x){return x}:_d,_e=options.delimiter,delimiter=_e===void 0?"/#?":_e,_f=options.endsWith,endsWith=_f===void 0?"":_f,endsWithRe="[".concat(escapeString(endsWith),"]|$"),delimiterRe="[".concat(escapeString(delimiter),"]"),route=start?"^":"",_i=0,tokens_1=tokens;_i<tokens_1.length;_i++){var token=tokens_1[_i];if(typeof token=="string")route+=escapeString(encode(token));else{var prefix=escapeString(encode(token.prefix)),suffix=escapeString(encode(token.suffix));if(token.pattern)if(keys&&keys.push(token),prefix||suffix)if(token.modifier==="+"||token.modifier==="*"){var mod2=token.modifier==="*"?"?":"";route+="(?:".concat(prefix,"((?:").concat(token.pattern,")(?:").concat(suffix).concat(prefix,"(?:").concat(token.pattern,"))*)").concat(suffix,")").concat(mod2)}else route+="(?:".concat(prefix,"(").concat(token.pattern,")").concat(suffix,")").concat(token.modifier);else{if(token.modifier==="+"||token.modifier==="*")throw new TypeError('Can not repeat "'.concat(token.name,'" without a prefix and suffix'));route+="(".concat(token.pattern,")").concat(token.modifier)}else route+="(?:".concat(prefix).concat(suffix,")").concat(token.modifier)}}if(end)strict||(route+="".concat(delimiterRe,"?")),route+=options.endsWith?"(?=".concat(endsWithRe,")"):"$";else{var endToken=tokens[tokens.length-1],isEndDelimited=typeof endToken=="string"?delimiterRe.indexOf(endToken[endToken.length-1])>-1:endToken===void 0;strict||(route+="(?:".concat(delimiterRe,"(?=").concat(endsWithRe,"))?")),isEndDelimited||(route+="(?=".concat(delimiterRe,"|").concat(endsWithRe,")"))}return new RegExp(route,flags(options))}__name(tokensToRegexp,"tokensToRegexp");exports2.tokensToRegexp=tokensToRegexp;function pathToRegexp(path,keys,options){return path instanceof RegExp?regexpToRegexp(path,keys):Array.isArray(path)?arrayToRegexp(path,keys,options):stringToRegexp(path,keys,options)}__name(pathToRegexp,"pathToRegexp");exports2.pathToRegexp=pathToRegexp}});var require_layer=__commonJS({"../node_modules/koa-router/lib/layer.js"(exports2,module2){var{parse:parseUrl,format:formatUrl}=__require("node:url"),{pathToRegexp,compile,parse}=require_dist();module2.exports=class{static{__name(this,"Layer")}constructor(path,methods,middleware,opts={}){this.opts=opts,this.name=this.opts.name||null,this.methods=[],this.paramNames=[],this.stack=Array.isArray(middleware)?middleware:[middleware];for(let method of methods){let l=this.methods.push(method.toUpperCase());this.methods[l-1]==="GET"&&this.methods.unshift("HEAD")}for(let i=0;i<this.stack.length;i++){let type=typeof this.stack[i];if(type!=="function")throw new Error(`${methods.toString()} \`${this.opts.name||path}\`: \`middleware\` must be a function, not \`${type}\``)}this.path=path,this.regexp=pathToRegexp(path,this.paramNames,this.opts)}match(path){return this.regexp.test(path)}params(path,captures,params={}){for(let len=captures.length,i=0;i<len;i++)if(this.paramNames[i]){let c=captures[i];c&&c.length>0&&(params[this.paramNames[i].name]=c&&safeDecodeURIComponent(c))}return params}captures(path){return this.opts.ignoreCaptures?[]:path.match(this.regexp).slice(1)}url(params,options){let args2=params,url=this.path.replace(/\(\.\*\)/g,"");typeof params!="object"&&(args2=Array.prototype.slice.call(arguments),typeof args2[args2.length-1]=="object"&&(options=args2[args2.length-1],args2=args2.slice(0,-1)));let toPath=compile(url,{encode:encodeURIComponent,...options}),replaced,tokens=parse(url),replace={};if(Array.isArray(args2))for(let len=tokens.length,i=0,j=0;i<len;i++)tokens[i].name&&(replace[tokens[i].name]=args2[j++]);else tokens.some(token=>token.name)?replace=params:options||(options=params);return replaced=toPath(replace),options&&options.query?(replaced=parseUrl(replaced),typeof options.query=="string"?replaced.search=options.query:(replaced.search=void 0,replaced.query=options.query),formatUrl(replaced)):replaced}param(param,fn2){let{stack:stack2}=this,params=this.paramNames,middleware=__name(function(ctx,next){return fn2.call(this,ctx.params[param],ctx,next)},"middleware");middleware.param=param;let names=params.map(function(p){return p.name}),x=names.indexOf(param);return x>-1&&stack2.some((fn3,i)=>{if(!fn3.param||names.indexOf(fn3.param)>x)return stack2.splice(i,0,middleware),!0}),this}setPrefix(prefix){return this.path&&(this.path=this.path!=="/"||this.opts.strict===!0?`${prefix}${this.path}`:prefix,this.paramNames=[],this.regexp=pathToRegexp(this.path,this.paramNames,this.opts)),this}};function safeDecodeURIComponent(text){try{return decodeURIComponent(text.replace(/\+/g," "))}catch{return text}}__name(safeDecodeURIComponent,"safeDecodeURIComponent")}});var require_router=__commonJS({"../node_modules/koa-router/lib/router.js"(exports2,module2){var http2=__require("node:http"),debug=require_src()("koa-router"),compose=require_koa_compose(),HttpError2=require_http_errors3(),{pathToRegexp}=require_dist(),Layer=require_layer(),methods=http2.METHODS.map(method=>method.toLowerCase()),Router2=class _Router{static{__name(this,"Router")}constructor(opts={}){if(!(this instanceof _Router))return new _Router(opts);this.opts=opts,this.methods=this.opts.methods||["HEAD","OPTIONS","GET","PUT","PATCH","POST","DELETE"],this.exclusive=!!this.opts.exclusive,this.params={},this.stack=[],this.host=this.opts.host}static url(path,...args2){return Layer.prototype.url.apply({path},args2)}use(...middleware){let router=this,path;if(Array.isArray(middleware[0])&&typeof middleware[0][0]=="string"){let arrPaths=middleware[0];for(let p of arrPaths)router.use.apply(router,[p,...middleware.slice(1)]);return this}let hasPath=typeof middleware[0]=="string";hasPath&&(path=middleware.shift());for(let m of middleware)if(m.router){let cloneRouter=Object.assign(Object.create(_Router.prototype),m.router,{stack:[...m.router.stack]});for(let j=0;j<cloneRouter.stack.length;j++){let nestedLayer=cloneRouter.stack[j],cloneLayer=Object.assign(Object.create(Layer.prototype),nestedLayer);path&&cloneLayer.setPrefix(path),router.opts.prefix&&cloneLayer.setPrefix(router.opts.prefix),router.stack.push(cloneLayer),cloneRouter.stack[j]=cloneLayer}if(router.params){let routerParams=Object.keys(router.params);for(let key of routerParams)cloneRouter.param(key,router.params[key])}}else{let keys=[];pathToRegexp(router.opts.prefix||"",keys);let routerPrefixHasParam=!!(router.opts.prefix&&keys.length>0);router.register(path||"([^/]*)",[],m,{end:!1,ignoreCaptures:!hasPath&&!routerPrefixHasParam})}return this}prefix(prefix){prefix=prefix.replace(/\/$/,""),this.opts.prefix=prefix;for(let i=0;i<this.stack.length;i++)this.stack[i].setPrefix(prefix);return this}middleware(){let router=this,dispatch=__name((ctx,next)=>{if(debug("%s %s",ctx.method,ctx.path),!router.matchHost(ctx.host))return next();let path=router.opts.routerPath||ctx.newRouterPath||ctx.path||ctx.routerPath,matched=router.match(path,ctx.method);if(ctx.matched?ctx.matched.push.apply(ctx.matched,matched.path):ctx.matched=matched.path,ctx.router=router,!matched.route)return next();let matchedLayers=matched.pathAndMethod,mostSpecificLayer=matchedLayers[matchedLayers.length-1];ctx._matchedRoute=mostSpecificLayer.path,mostSpecificLayer.name&&(ctx._matchedRouteName=mostSpecificLayer.name);let layerChain=(router.exclusive?[mostSpecificLayer]:matchedLayers).reduce((memo,layer)=>(memo.push((ctx2,next2)=>(ctx2.captures=layer.captures(path,ctx2.captures),ctx2.request.params=layer.params(path,ctx2.captures,ctx2.params),ctx2.params=ctx2.request.params,ctx2.routerPath=layer.path,ctx2.routerName=layer.name,ctx2._matchedRoute=layer.path,layer.name&&(ctx2._matchedRouteName=layer.name),next2())),[...memo,...layer.stack]),[]);return compose(layerChain)(ctx,next)},"dispatch");return dispatch.router=this,dispatch}routes(){return this.middleware()}allowedMethods(options={}){let implemented=this.methods;return(ctx,next)=>next().then(()=>{let allowed={};if(ctx.matched&&(!ctx.status||ctx.status===404)){for(let i=0;i<ctx.matched.length;i++){let route=ctx.matched[i];for(let j=0;j<route.methods.length;j++){let method=route.methods[j];allowed[method]=method}}let allowedArr=Object.keys(allowed);if(implemented.includes(ctx.method)){if(allowedArr.length>0){if(ctx.method==="OPTIONS")ctx.status=200,ctx.body="",ctx.set("Allow",allowedArr.join(", "));else if(!allowed[ctx.method]){if(options.throw)throw typeof options.methodNotAllowed=="function"?options.methodNotAllowed():new HttpError2.MethodNotAllowed;ctx.status=405,ctx.set("Allow",allowedArr.join(", "))}}}else{if(options.throw)throw typeof options.notImplemented=="function"?options.notImplemented():new HttpError2.NotImplemented;ctx.status=501,ctx.set("Allow",allowedArr.join(", "))}}})}all(name,path,middleware){if(typeof path=="string"?middleware=Array.prototype.slice.call(arguments,2):(middleware=Array.prototype.slice.call(arguments,1),path=name,name=null),typeof path!="string"&&!(path instanceof RegExp)&&(!Array.isArray(path)||path.length===0))throw new Error("You have to provide a path when adding an all handler");return this.register(path,methods,middleware,{name}),this}redirect(source,destination,code){if((typeof source=="symbol"||source[0]!=="/")&&(source=this.url(source),source instanceof Error))throw source;if((typeof destination=="symbol"||destination[0]!=="/"&&!destination.includes("://"))&&(destination=this.url(destination),destination instanceof Error))throw destination;return this.all(source,ctx=>{ctx.redirect(destination),ctx.status=code||301})}register(path,methods2,middleware,opts={}){let router=this,{stack:stack2}=this;if(Array.isArray(path)){for(let curPath of path)router.register.call(router,curPath,methods2,middleware,opts);return this}let route=new Layer(path,methods2,middleware,{end:opts.end===!1?opts.end:!0,name:opts.name,sensitive:opts.sensitive||this.opts.sensitive||!1,strict:opts.strict||this.opts.strict||!1,prefix:opts.prefix||this.opts.prefix||"",ignoreCaptures:opts.ignoreCaptures});this.opts.prefix&&route.setPrefix(this.opts.prefix);for(let i=0;i<Object.keys(this.params).length;i++){let param=Object.keys(this.params)[i];route.param(param,this.params[param])}return stack2.push(route),debug("defined route %s %s",route.methods,route.path),route}route(name){let routes=this.stack;for(let len=routes.length,i=0;i<len;i++)if(routes[i].name&&routes[i].name===name)return routes[i];return!1}url(name,...args2){let route=this.route(name);return route?route.url.apply(route,args2):new Error(`No route found for name: ${String(name)}`)}match(path,method){let layers=this.stack,layer,matched={path:[],pathAndMethod:[],route:!1};for(let len=layers.length,i=0;i<len;i++)layer=layers[i],debug("test %s %s",layer.path,layer.regexp),layer.match(path)&&(matched.path.push(layer),(layer.methods.length===0||layer.methods.includes(method))&&(matched.pathAndMethod.push(layer),layer.methods.length>0&&(matched.route=!0)));return matched}matchHost(input){let{host}=this;if(!host)return!0;if(!input)return!1;if(typeof host=="string")return input===host;if(typeof host=="object"&&host instanceof RegExp)return host.test(input)}param(param,middleware){this.params[param]=middleware;for(let i=0;i<this.stack.length;i++)this.stack[i].param(param,middleware);return this}};for(let method of methods)Router2.prototype[method]=function(name,path,middleware){if(typeof path=="string"||path instanceof RegExp?middleware=Array.prototype.slice.call(arguments,2):(middleware=Array.prototype.slice.call(arguments,1),path=name,name=null),typeof path!="string"&&!(path instanceof RegExp)&&(!Array.isArray(path)||path.length===0))throw new Error(`You have to provide a path when adding a ${method} handler`);return this.register(path,[method],middleware,{name}),this};Router2.prototype.del=Router2.prototype.delete;module2.exports=Router2}});var log2=createLogger("json-rpc:api-key-auth");var import_cors=__toESM(require_cors(),1);import http from"http";var import_application=__toESM(require_application(),1),koa_default=import_application.default,HttpError=import_application.default.HttpError;var import_koa_bodyparser=__toESM(require_koa_bodyparser(),1),import_koa_compress=__toESM(require_lib5(),1),import_koa_router=__toESM(require_router(),1);import{format,inspect}from"util";function assert(x,err){if(!x)throw new Error(err)}__name(assert,"assert");var defaultServerConfig={http200OnError:!1,maxBatchSize:100,maxBodySizeBytes:"1mb"},SafeJsonRpcServer=class{static{__name(this,"SafeJsonRpcServer")}proxy;healthCheck;extraMiddlewares;diagnosticsMiddleware;log;httpServer;config;constructor(proxy,config={},healthCheck=()=>!0,extraMiddlewares=[],diagnosticsMiddleware,log3=createLogger("json-rpc:server")){this.proxy=proxy,this.healthCheck=healthCheck,this.extraMiddlewares=extraMiddlewares,this.diagnosticsMiddleware=diagnosticsMiddleware,this.log=log3,this.config={...defaultServerConfig,...config},this.config.maxBodySizeBytes||(this.config.maxBodySizeBytes=defaultServerConfig.maxBodySizeBytes)}isHealthy(){return this.healthCheck()}getApp(prefix=""){let router=this.getRouter(prefix),exceptionHandler=__name(async(ctx,next)=>{try{await next()}catch(err){let method=ctx.request.body?.method??"unknown";this.log.warn(`Uncaught error in JSON RPC server call ${method}: ${inspect(err)}`),err&&"name"in err&&err.name==="BadRequestError"?(ctx.status=400,ctx.body={jsonrpc:"2.0",id:null,error:{code:-32e3,message:`Bad request: ${err.message}`}}):err&&err instanceof SyntaxError?(ctx.status=400,ctx.body={jsonrpc:"2.0",id:null,error:{code:-32700,message:`Parse error: ${err.message}`}}):(ctx.status=500,ctx.body={jsonrpc:"2.0",id:null,error:{code:-32600,message:err.message??"Internal error"}})}},"exceptionHandler"),jsonResponse=__name(async(ctx,next)=>{try{await next(),ctx.body&&typeof ctx.body=="object"&&(ctx.body=jsonStringify(ctx.body))}catch(err){ctx.status=500,ctx.body={jsonrpc:"2.0",error:{code:-32700,message:`Unable to serialize response: ${err.message}`}}}},"jsonResponse"),app=new koa_default;app.on("error",error=>{this.log.error(`Error on API handler: ${error}`)}),app.use((0,import_koa_compress.default)({br:!1})),app.use(jsonResponse);for(let middleware of this.extraMiddlewares)app.use(middleware);return app.use(exceptionHandler),app.use((0,import_koa_bodyparser.default)({jsonLimit:this.config.maxBodySizeBytes,enableTypes:["json"]})),app.use((0,import_cors.default)()),app.use(router.routes()),app.use(router.allowedMethods()),app}getRouter(prefix){let router=new import_koa_router.default({prefix});return router.post("/",async ctx=>{if(Array.isArray(ctx.request.body)){if(ctx.request.body.length>this.config.maxBatchSize){ctx.status=this.config.http200OnError?200:400,ctx.body={jsonrpc:"2.0",error:{code:-32600,message:`Batch request exceeds maximum allowed size of ${this.config.maxBatchSize}`},id:null};return}let resp=await this.processBatch(ctx.request.body,ctx.request.headers);Array.isArray(resp)?(ctx.status=200,ctx.body=resp):(ctx.status=this.config.http200OnError?200:400,ctx.body=resp)}else{let resp=await this.processRequest(ctx.request.body,ctx.request.headers);"error"in resp&&(ctx.status=this.config.http200OnError?200:400),ctx.body=resp}}),router}async processBatch(requests,headers={}){return requests.length===0?{jsonrpc:"2.0",error:{code:-32600,message:"Invalid Request"},id:null}:(await Promise.allSettled(requests.map(req=>this.processRequest(req,headers)))).map(res=>res.status==="fulfilled"?res.value:(this.log.warn(`Uncaught error executing request in batch: ${res.reason}.`),{jsonrpc:"2.0",error:{code:-32600,message:"Invalid Request"},id:null}))}async processRequest(request,headers={}){if(!request||typeof request!="object")return{jsonrpc:"2.0",error:{code:-32600,message:"Invalid Request"},id:null};let{params=[],jsonrpc="2.0",id,method}=request;if(typeof method!="string"||!method)return{jsonrpc:"2.0",id,error:{code:-32600,message:"Invalid request"}};if(typeof method!="string"||method==="constructor"||!this.proxy.hasMethod(method))return{jsonrpc,id,error:{code:-32601,message:`Method not found: ${method}`}};try{let result;return this.diagnosticsMiddleware?await this.diagnosticsMiddleware({id:id??null,method,params,headers},async()=>{result=await this.proxy.call(method,params)}):result=await this.proxy.call(method,params),{jsonrpc,id,result}}catch(err){if(err&&err instanceof ZodError){let message2=err.issues.map(e=>`${e.message} (${e.path.join(".")})`).join(". ")||"Validation error";return{jsonrpc:"2.0",id,error:{code:-32701,message:message2}}}else return err?{jsonrpc,id,error:{code:-32702,data:err.data,message:err.message}}:{jsonrpc,id,error:{code:-32702,message:"Error executing request"}}}}start(port,prefix=""){if(this.httpServer)throw new Error("Server is already listening");this.httpServer=http.createServer(this.getApp(prefix).callback()),this.httpServer.listen(port)}stop(){if(!this.httpServer)return Promise.resolve();let{promise,resolve,reject}=promiseWithResolvers();return this.httpServer.close(err=>{err?reject(err):resolve()}),promise}async call(methodName,jsonParams=[]){return await this.proxy.call(methodName,jsonParams)}},SafeJsonProxy=class{static{__name(this,"SafeJsonProxy")}handler;log;schema;constructor(handler,schema){this.handler=handler,this.log=createLogger("json-rpc:proxy"),this.schema=schema}async call(methodName,jsonParams=[]){this.log.debug(format("request",methodName,jsonParams)),assert(Array.isArray(jsonParams),`Params to ${methodName} is not an array: ${jsonParams}`),assert(schemaHasMethod(this.schema,methodName),`Method ${methodName} not found in schema`);let method=this.handler[methodName];assert(typeof method=="function",`Method ${methodName} is not a function`);let args2=await parseWithOptionals(jsonParams,getSchemaParameters(this.schema[methodName])),ret=await method.apply(this.handler,args2);return this.log.debug(format("response",methodName,ret)),ret}hasMethod(methodName){return schemaHasMethod(this.schema,methodName)&&typeof this.handler[methodName]=="function"}};function createSafeJsonRpcServer(handler,schema,options={}){let{diagnostic,log:log3,healthCheck,middlewares:extraMiddlewares}=options,proxy=new SafeJsonProxy(handler,schema);return new SafeJsonRpcServer(proxy,options,healthCheck,extraMiddlewares,diagnostic,log3)}__name(createSafeJsonRpcServer,"createSafeJsonRpcServer");function createStatusRouter(getCurrentStatus,apiPrefix=""){let router=new import_koa_router.default({prefix:`${apiPrefix}`});return router.get("/status",async ctx=>{let ok;try{ok=await getCurrentStatus()===!0}catch{ok=!1}ctx.status=ok?200:500}),router}__name(createStatusRouter,"createStatusRouter");async function startHttpRpcServer(rpcServer,options={}){let app=rpcServer.getApp(options.apiPrefix),statusRouter=createStatusRouter(rpcServer.isHealthy.bind(rpcServer),options.apiPrefix);app.use(statusRouter.routes()).use(statusRouter.allowedMethods());let httpServer=http.createServer(app.callback());options.timeoutMs&&(httpServer.timeout=options.timeoutMs);let{promise,resolve}=promiseWithResolvers(),listenPort=options.port?typeof options.port=="string"?parseInt(options.port):options.port:0;httpServer.listen({host:options.host,port:listenPort,reuseAddress:!0},()=>resolve()),options.noWait||await promise;let port=httpServer.address().port;return Object.assign(httpServer,{port})}__name(startHttpRpcServer,"startHttpRpcServer");var ChainInfoSchema=external_exports.object({chainId:Fr.schema,version:Fr.schema});async function getSchnorrAccountContractArtifact(){let{default:schnorrAccountContractJson}=await import("./SchnorrAccount-TM347UJ7.js");return loadContractArtifact(schnorrAccountContractJson)}__name(getSchnorrAccountContractArtifact,"getSchnorrAccountContractArtifact");import{BackendType,Barretenberg,BarretenbergSync}from"@aztec/bb.js";import{existsSync}from"node:fs";import{cpus}from"node:os";import{fileURLToPath}from"node:url";import{Worker}from"node:worker_threads";Barretenberg.initSingleton({backend:BackendType.Wasm,skipSrsInit:!0,threads:1});BarretenbergSync.initSingleton({backend:BackendType.Wasm});async function buildSharedContractStore(){let kvStore=await openEphemeralStore("txe-shared-contracts",void 0,2),dataDir=kvStore.dataDirectory,contractStore=new ContractStore(kvStore),provider=new LazyProtocolContractsProvider,[protocolContracts,standardContracts,schnorrArtifact]=await Promise.all([Promise.all(TXE_REQUIRED_PROTOCOL_CONTRACTS.map(name=>provider.getProtocolContractArtifact(name))),Promise.all([getStandardAuthRegistry(),getStandardHandshakeRegistry()]),getSchnorrAccountContractArtifact()]),schnorrClass=await getContractClassFromArtifact(schnorrArtifact);return await Promise.all([...[...protocolContracts,...standardContracts].flatMap(({instance,artifact,contractClass})=>[contractStore.addContractArtifact(artifact,contractClass),contractStore.addContractInstance(instance)]),contractStore.addContractArtifact(schnorrArtifact,schnorrClass)]),{dataDir,schnorrClassId:schnorrClass.id.toString()}}__name(buildSharedContractStore,"buildSharedContractStore");function resolveWorkerBundlePath(){let candidates=[new URL("./worker.bundle.js",import.meta.url),new URL("../worker.bundle.js",import.meta.url)];return candidates.find(u=>existsSync(fileURLToPath(u)))??candidates[0]}__name(resolveWorkerBundlePath,"resolveWorkerBundlePath");function deserializeError(payload){if(!payload)return new Error("Worker returned an error with no payload");let err=new Error(payload.message);return payload.name&&(err.name=payload.name),payload.stack&&(err.stack=payload.stack),err}__name(deserializeError,"deserializeError");var TXEDispatcherPool=class{constructor(logger,opts={}){this.logger=logger;this.maxWorkers=Math.max(1,opts.workers??Math.min(cpus().length,16)),this.readyPromise=this.init()}static{__name(this,"TXEDispatcherPool")}workers=[];sessionToWorker=new Map;pending=new Map;nextRequestId=0;maxWorkers;readyPromise;contractStoreSourceDir;schnorrClassId;workerPath;ready(){return this.readyPromise}async init(){let t0=Date.now(),{dataDir,schnorrClassId}=await buildSharedContractStore();this.contractStoreSourceDir=dataDir,this.schnorrClassId=schnorrClassId,this.workerPath=resolveWorkerBundlePath(),this.logger.debug(`TXE dispatcher pool ready (lazy spawn, cap=${this.maxWorkers})`,{contractStoreSourceDir:dataDir,schnorrClassId,ms:Date.now()-t0})}spawnWorker(){let workerIdx=this.workers.length,w=new Worker(this.workerPath,{workerData:{contractStoreSourceDir:this.contractStoreSourceDir,schnorrClassId:this.schnorrClassId}}),slot={worker:w,sessions:new Set,inFlightRequestIds:new Set};return this.workers.push(slot),w.on("message",msg=>this.handleMessage(workerIdx,msg)),w.on("error",err=>this.handleWorkerError(workerIdx,err)),w.on("exit",code=>{code!==0&&this.handleWorkerError(workerIdx,new Error(`Worker ${workerIdx} exited with code ${code}`))}),this.logger.debug(`Spawning TXE worker ${workerIdx} on demand`,{cap:this.maxWorkers,poolSize:this.workers.length}),workerIdx}disposeSession(sessionId){let workerIdx=this.sessionToWorker.get(sessionId);if(workerIdx===void 0)throw new Error(`disposeSession: no worker mapped for session ${sessionId}`);this.sessionToWorker.delete(sessionId);let slot=this.workers[workerIdx];if(!slot)throw new Error(`disposeSession: worker ${workerIdx} (session ${sessionId}) missing from pool`);slot.sessions.delete(sessionId),slot.worker.postMessage({type:"dispose-session",sessionId})}async resolve_foreign_call(callData){await this.readyPromise;let sessionId=callData.session_id,workerIdx=this.sessionToWorker.get(sessionId);workerIdx===void 0&&(workerIdx=this.pickOrSpawnWorker(),this.sessionToWorker.set(sessionId,workerIdx),this.workers[workerIdx].sessions.add(sessionId),this.logger.debug(`Routing new session ${sessionId} to worker ${workerIdx}`));let slot=this.workers[workerIdx],requestId=this.nextRequestId++;return new Promise((resolve,reject)=>{this.pending.set(requestId,{resolve,reject,workerIdx}),slot.inFlightRequestIds.add(requestId),slot.worker.postMessage({type:"foreign-call",requestId,callData})})}async shutdown(){let slots=this.workers.splice(0,this.workers.length);await Promise.all(slots.map(s=>s.worker.terminate()));for(let[requestId,pending]of this.pending)pending.reject(new Error("TXE dispatcher pool was shut down")),this.pending.delete(requestId)}pickOrSpawnWorker(){if(this.workers.length<this.maxWorkers)return this.spawnWorker();let minIdx=0,minCount=this.workers[0].sessions.size;for(let i=1;i<this.workers.length;i++){let count=this.workers[i].sessions.size;count<minCount&&(minIdx=i,minCount=count)}return minIdx}handleMessage(workerIdx,msg){switch(msg.type){case"result":this.handleResult(workerIdx,msg);return;case"memstat":this.logger.debug(`worker ${workerIdx} memstat`,{worker:workerIdx,sessions:msg.sessions,rssMiB:Math.round(msg.rss/1024/1024),heapTotalMiB:Math.round(msg.heapTotal/1024/1024),heapUsedMiB:Math.round(msg.heapUsed/1024/1024),externalMiB:Math.round(msg.external/1024/1024),arrayBuffersMiB:Math.round(msg.arrayBuffers/1024/1024)});return}}handleResult(workerIdx,msg){let pending=this.pending.get(msg.requestId);if(!pending)throw new Error(`handleResult: request ${msg.requestId} (worker ${workerIdx}) not in pending map`);this.pending.delete(msg.requestId);let slot=this.workers[workerIdx];if(!slot)throw new Error(`handleResult: worker ${workerIdx} (request ${msg.requestId}) missing from pool`);slot.inFlightRequestIds.delete(msg.requestId),msg.ok?pending.resolve(msg.value):pending.reject(deserializeError(msg.error))}handleWorkerError(workerIdx,err){this.logger.error(`TXE worker ${workerIdx} crashed; sessions assigned to it will fail`,err);let slot=this.workers[workerIdx];if(!slot)throw new Error(`handleWorkerError: worker ${workerIdx} missing from pool (orig err: ${err.message})`);for(let requestId of slot.inFlightRequestIds){let pending=this.pending.get(requestId);if(!pending)throw new Error(`handleWorkerError: in-flight request ${requestId} (worker ${workerIdx}) not in pending map`);pending.reject(err),this.pending.delete(requestId)}slot.inFlightRequestIds.clear();for(let sessionId of slot.sessions)this.sessionToWorker.delete(sessionId);slot.sessions.clear()}};var SESSION_SYMBOL=Symbol("txeSessionId");async function createTXERpcServer(logger){let workerCount=Number(process.env.TXE_WORKERS),dispatcher;if(workerCount===1){let{dataDir,schnorrClassId}=await buildSharedContractStore();dispatcher=new TXEDispatcher(logger,{contractStoreSourceDir:dataDir,schnorrClassId})}else dispatcher=new TXEDispatcherPool(logger,{workers:Number.isFinite(workerCount)&&workerCount>1?workerCount:void 0});return createSafeJsonRpcServer(dispatcher,TXEDispatcherApiSchema,{http200OnError:!0,middlewares:[async(ctx,next)=>{await next();let socket=ctx.req.socket;if(socket[SESSION_SYMBOL]!==void 0)return;let body=ctx.request.body,sessionId=body&&typeof body=="object"&&"params"in body?extractSessionId(body.params):void 0;sessionId!==void 0&&(socket[SESSION_SYMBOL]=sessionId,logger.debug("Tagged socket with session",{sessionId,remoteAddress:socket.remoteAddress,remotePort:socket.remotePort}),socket.once("close",()=>{logger.debug("Disposing session on socket close",{sessionId}),dispatcher.disposeSession(sessionId)}))}]})}__name(createTXERpcServer,"createTXERpcServer");function extractSessionId(params){if(!Array.isArray(params)||params.length===0)return;let first=params[0];if(first&&typeof first=="object"&&"session_id"in first){let sid=first.session_id;return typeof sid=="number"?sid:void 0}}__name(extractSessionId,"extractSessionId");export{startHttpRpcServer,createTXERpcServer};
|
|
48
|
+
})`);return deprecatedfn}__name(wrapfunction,"wrapfunction");function wrapproperty(obj,prop,message2){if(!obj||typeof obj!="object"&&typeof obj!="function")throw new TypeError("argument obj must be object");var descriptor=Object.getOwnPropertyDescriptor(obj,prop);if(!descriptor)throw new TypeError("must call property on owner object");if(!descriptor.configurable)throw new TypeError("property must be configurable");var deprecate2=this,stack2=getStack(),site2=callSiteLocation(stack2[1]);site2.name=prop,"value"in descriptor&&(descriptor=convertDataDescriptorToAccessor(obj,prop,message2));var get=descriptor.get,set=descriptor.set;typeof get=="function"&&(descriptor.get=__name(function(){return log.call(deprecate2,message2,site2),get.apply(this,arguments)},"getter")),typeof set=="function"&&(descriptor.set=__name(function(){return log.call(deprecate2,message2,site2),set.apply(this,arguments)},"setter")),Object.defineProperty(obj,prop,descriptor)}__name(wrapproperty,"wrapproperty");function DeprecationError(namespace,message2,stack2){var error=new Error,stackString;return Object.defineProperty(error,"constructor",{value:DeprecationError}),Object.defineProperty(error,"message",{configurable:!0,enumerable:!1,value:message2,writable:!0}),Object.defineProperty(error,"name",{enumerable:!1,configurable:!0,value:"DeprecationError",writable:!0}),Object.defineProperty(error,"namespace",{configurable:!0,enumerable:!1,value:namespace,writable:!0}),Object.defineProperty(error,"stack",{configurable:!0,enumerable:!1,get:__name(function(){return stackString!==void 0?stackString:stackString=createStackString.call(this,stack2)},"get"),set:__name(function(val){stackString=val},"setter")}),error}__name(DeprecationError,"DeprecationError")}});var require_codes4=__commonJS({"../node_modules/koa-compress/node_modules/statuses/codes.json"(exports2,module2){module2.exports={"100":"Continue","101":"Switching Protocols","102":"Processing","103":"Early Hints","200":"OK","201":"Created","202":"Accepted","203":"Non-Authoritative Information","204":"No Content","205":"Reset Content","206":"Partial Content","207":"Multi-Status","208":"Already Reported","226":"IM Used","300":"Multiple Choices","301":"Moved Permanently","302":"Found","303":"See Other","304":"Not Modified","305":"Use Proxy","306":"(Unused)","307":"Temporary Redirect","308":"Permanent Redirect","400":"Bad Request","401":"Unauthorized","402":"Payment Required","403":"Forbidden","404":"Not Found","405":"Method Not Allowed","406":"Not Acceptable","407":"Proxy Authentication Required","408":"Request Timeout","409":"Conflict","410":"Gone","411":"Length Required","412":"Precondition Failed","413":"Payload Too Large","414":"URI Too Long","415":"Unsupported Media Type","416":"Range Not Satisfiable","417":"Expectation Failed","418":"I'm a teapot","421":"Misdirected Request","422":"Unprocessable Entity","423":"Locked","424":"Failed Dependency","425":"Unordered Collection","426":"Upgrade Required","428":"Precondition Required","429":"Too Many Requests","431":"Request Header Fields Too Large","451":"Unavailable For Legal Reasons","500":"Internal Server Error","501":"Not Implemented","502":"Bad Gateway","503":"Service Unavailable","504":"Gateway Timeout","505":"HTTP Version Not Supported","506":"Variant Also Negotiates","507":"Insufficient Storage","508":"Loop Detected","509":"Bandwidth Limit Exceeded","510":"Not Extended","511":"Network Authentication Required"}}});var require_statuses4=__commonJS({"../node_modules/koa-compress/node_modules/statuses/index.js"(exports2,module2){"use strict";var codes=require_codes4();module2.exports=status;status.STATUS_CODES=codes;status.codes=populateStatusesMap(status,codes);status.redirect={300:!0,301:!0,302:!0,303:!0,305:!0,307:!0,308:!0};status.empty={204:!0,205:!0,304:!0};status.retry={502:!0,503:!0,504:!0};function populateStatusesMap(statuses,codes2){var arr=[];return Object.keys(codes2).forEach(__name(function(code){var message2=codes2[code],status2=Number(code);statuses[status2]=message2,statuses[message2]=status2,statuses[message2.toLowerCase()]=status2,arr.push(status2)},"forEachCode")),arr}__name(populateStatusesMap,"populateStatusesMap");function status(code){if(typeof code=="number"){if(!status[code])throw new Error("invalid status code: "+code);return code}if(typeof code!="string")throw new TypeError("code must be a number or string");var n=parseInt(code,10);if(!isNaN(n)){if(!status[n])throw new Error("invalid status code: "+n);return n}if(n=status[code.toLowerCase()],!n)throw new Error('invalid status message: "'+code+'"');return n}__name(status,"status")}});var require_http_errors4=__commonJS({"../node_modules/koa-compress/node_modules/http-errors/index.js"(exports2,module2){"use strict";var deprecate2=require_depd4()("http-errors"),setPrototypeOf=require_setprototypeof(),statuses=require_statuses4(),inherits=require_inherits(),toIdentifier=require_toidentifier();module2.exports=createError;module2.exports.HttpError=createHttpErrorConstructor();module2.exports.isHttpError=createIsHttpErrorFunction(module2.exports.HttpError);populateConstructorExports(module2.exports,statuses.codes,module2.exports.HttpError);function codeClass(status){return+(String(status).charAt(0)+"00")}__name(codeClass,"codeClass");function createError(){for(var err,msg,status=500,props={},i=0;i<arguments.length;i++){var arg=arguments[i];if(arg instanceof Error){err=arg,status=err.status||err.statusCode||status;continue}switch(typeof arg){case"string":msg=arg;break;case"number":status=arg,i!==0&&deprecate2("non-first-argument status code; replace with createError("+arg+", ...)");break;case"object":props=arg;break}}typeof status=="number"&&(status<400||status>=600)&&deprecate2("non-error status code; use only 4xx or 5xx status codes"),(typeof status!="number"||!statuses[status]&&(status<400||status>=600))&&(status=500);var HttpError2=createError[status]||createError[codeClass(status)];err||(err=HttpError2?new HttpError2(msg):new Error(msg||statuses[status]),Error.captureStackTrace(err,createError)),(!HttpError2||!(err instanceof HttpError2)||err.status!==status)&&(err.expose=status<500,err.status=err.statusCode=status);for(var key in props)key!=="status"&&key!=="statusCode"&&(err[key]=props[key]);return err}__name(createError,"createError");function createHttpErrorConstructor(){function HttpError2(){throw new TypeError("cannot construct abstract class")}return __name(HttpError2,"HttpError"),inherits(HttpError2,Error),HttpError2}__name(createHttpErrorConstructor,"createHttpErrorConstructor");function createClientErrorConstructor(HttpError2,name,code){var className=toClassName(name);function ClientError(message2){var msg=message2??statuses[code],err=new Error(msg);return Error.captureStackTrace(err,ClientError),setPrototypeOf(err,ClientError.prototype),Object.defineProperty(err,"message",{enumerable:!0,configurable:!0,value:msg,writable:!0}),Object.defineProperty(err,"name",{enumerable:!1,configurable:!0,value:className,writable:!0}),err}return __name(ClientError,"ClientError"),inherits(ClientError,HttpError2),nameFunc(ClientError,className),ClientError.prototype.status=code,ClientError.prototype.statusCode=code,ClientError.prototype.expose=!0,ClientError}__name(createClientErrorConstructor,"createClientErrorConstructor");function createIsHttpErrorFunction(HttpError2){return __name(function(val){return!val||typeof val!="object"?!1:val instanceof HttpError2?!0:val instanceof Error&&typeof val.expose=="boolean"&&typeof val.statusCode=="number"&&val.status===val.statusCode},"isHttpError")}__name(createIsHttpErrorFunction,"createIsHttpErrorFunction");function createServerErrorConstructor(HttpError2,name,code){var className=toClassName(name);function ServerError(message2){var msg=message2??statuses[code],err=new Error(msg);return Error.captureStackTrace(err,ServerError),setPrototypeOf(err,ServerError.prototype),Object.defineProperty(err,"message",{enumerable:!0,configurable:!0,value:msg,writable:!0}),Object.defineProperty(err,"name",{enumerable:!1,configurable:!0,value:className,writable:!0}),err}return __name(ServerError,"ServerError"),inherits(ServerError,HttpError2),nameFunc(ServerError,className),ServerError.prototype.status=code,ServerError.prototype.statusCode=code,ServerError.prototype.expose=!1,ServerError}__name(createServerErrorConstructor,"createServerErrorConstructor");function nameFunc(func,name){var desc=Object.getOwnPropertyDescriptor(func,"name");desc&&desc.configurable&&(desc.value=name,Object.defineProperty(func,"name",desc))}__name(nameFunc,"nameFunc");function populateConstructorExports(exports3,codes,HttpError2){codes.forEach(__name(function(code){var CodeError,name=toIdentifier(statuses[code]);switch(codeClass(code)){case 400:CodeError=createClientErrorConstructor(HttpError2,name,code);break;case 500:CodeError=createServerErrorConstructor(HttpError2,name,code);break}CodeError&&(exports3[code]=CodeError,exports3[name]=CodeError)},"forEachCode")),exports3["I'mateapot"]=deprecate2.function(exports3.ImATeapot,`"I'mateapot"; use "ImATeapot" instead`)}__name(populateConstructorExports,"populateConstructorExports");function toClassName(name){return name.substr(-5)!=="Error"?name+"Error":name}__name(toClassName,"toClassName")}});var require_encodings2=__commonJS({"../node_modules/koa-compress/lib/encodings.js"(exports2,module2){var errors=require_http_errors4(),zlib=__require("zlib"),Encodings=class _Encodings{static{__name(this,"Encodings")}constructor(options={}){this.wildcardAcceptEncoding=options.wildcardAcceptEncoding||_Encodings.wildcardAcceptEncoding,this.preferredEncodings=options.preferredEncodings||_Encodings.preferredEncodings,this.reDirective=options.reDirective||_Encodings.reDirective,this.encodingWeights=new Map}parseAcceptEncoding(acceptEncoding="*"){let{encodingWeights,reDirective}=this;acceptEncoding.split(",").forEach(directive=>{let match=reDirective.exec(directive);if(!match)return;let encoding=match[1],weight=match[2]&&!isNaN(match[2])?parseFloat(match[2],10):1;if(weight=Math.max(weight,0),weight=Math.min(weight,1),encoding==="*"){this.wildcardAcceptEncoding.forEach(enc=>{encodingWeights.has(enc)||encodingWeights.set(enc,weight)});return}encodingWeights.set(encoding,weight)})}getPreferredContentEncoding(){let{encodingWeights,preferredEncodings}=this,acceptedEncodings=Array.from(encodingWeights.keys()).sort((a,b)=>encodingWeights.get(b)-encodingWeights.get(a)).filter(encoding=>encoding==="identity"||typeof _Encodings.encodingMethods[encoding]=="function"),weightClasses=new Map;acceptedEncodings.forEach(encoding=>{let weight=encodingWeights.get(encoding);weightClasses.has(weight)||weightClasses.set(weight,new Set),weightClasses.get(weight).add(encoding)});let weights=Array.from(weightClasses.keys()).sort((a,b)=>b-a);for(let i=0;i<weights.length;i++){let encodings=weightClasses.get(weights[i]);for(let j=0;j<preferredEncodings.length;j++){let preferredEncoding=preferredEncodings[j];if(encodings.has(preferredEncoding))return preferredEncoding}}if(encodingWeights.get("identity")===0)throw errors(406,"Please accept br, gzip, deflate, or identity.");return"identity"}};Encodings.encodingMethods={gzip:zlib.createGzip,deflate:zlib.createDeflate,br:zlib.createBrotliCompress};Encodings.encodingMethodDefaultOptions={gzip:{},deflate:{},br:{params:{[zlib.constants.BROTLI_PARAM_QUALITY]:4}}};Encodings.wildcardAcceptEncoding=["gzip","deflate"];Encodings.preferredEncodings=["br","gzip","deflate"];Encodings.reDirective=/^\s*(gzip|compress|deflate|br|identity|\*)\s*(?:;\s*q\s*=\s*(\d(?:\.\d)?))?\s*$/;module2.exports=Encodings}});var require_lib5=__commonJS({"../node_modules/koa-compress/lib/index.js"(exports2,module2){"use strict";var compressible=require_compressible(),isJSON=require_koa_is_json(),Stream=__require("stream"),bytes=require_bytes(),Encodings=require_encodings2(),NO_TRANSFORM_REGEX=/(?:^|,)\s*?no-transform\s*?(?:,|$)/,emptyBodyStatues=new Set([204,205,304]);module2.exports=(options={})=>{let{filter=compressible,threshold=1024,defaultEncoding="identity"}=options;typeof threshold=="string"&&(threshold=bytes(threshold));let preferredEncodings=Encodings.preferredEncodings.filter(encoding=>options[encoding]!==!1&&options[encoding]!==null),encodingOptions={};return preferredEncodings.forEach(encoding=>{encodingOptions[encoding]={...Encodings.encodingMethodDefaultOptions[encoding],...options[encoding]||{}}}),Object.assign(compressMiddleware,{preferredEncodings,encodingOptions}),compressMiddleware;async function compressMiddleware(ctx,next){ctx.vary("Accept-Encoding"),await next();let{body}=ctx;if(!body||ctx.res.headersSent||!ctx.writable||ctx.compress===!1||ctx.request.method==="HEAD"||emptyBodyStatues.has(+ctx.response.status)||ctx.response.get("Content-Encoding")||!(ctx.compress===!0||filter(ctx.response.type))||NO_TRANSFORM_REGEX.test(ctx.response.get("Cache-Control"))||threshold&&ctx.response.length<threshold)return;let encodings=new Encodings({preferredEncodings});encodings.parseAcceptEncoding(ctx.request.headers["accept-encoding"]||defaultEncoding);let encoding=encodings.getPreferredContentEncoding();if(encoding==="identity")return;isJSON(body)&&(body=ctx.body=JSON.stringify(body)),ctx.set("Content-Encoding",encoding),ctx.res.removeHeader("Content-Length");let compress2=Encodings.encodingMethods[encoding],stream=ctx.body=compress2(encodingOptions[encoding]);if(body instanceof Stream)return body.pipe(stream);stream.end(body)}__name(compressMiddleware,"compressMiddleware")}}});var require_dist=__commonJS({"../node_modules/koa-router/node_modules/path-to-regexp/dist/index.js"(exports2){"use strict";Object.defineProperty(exports2,"__esModule",{value:!0});exports2.pathToRegexp=exports2.tokensToRegexp=exports2.regexpToFunction=exports2.match=exports2.tokensToFunction=exports2.compile=exports2.parse=void 0;function lexer(str){for(var tokens=[],i=0;i<str.length;){var char=str[i];if(char==="*"||char==="+"||char==="?"){tokens.push({type:"MODIFIER",index:i,value:str[i++]});continue}if(char==="\\"){tokens.push({type:"ESCAPED_CHAR",index:i++,value:str[i++]});continue}if(char==="{"){tokens.push({type:"OPEN",index:i,value:str[i++]});continue}if(char==="}"){tokens.push({type:"CLOSE",index:i,value:str[i++]});continue}if(char===":"){for(var name="",j=i+1;j<str.length;){var code=str.charCodeAt(j);if(code>=48&&code<=57||code>=65&&code<=90||code>=97&&code<=122||code===95){name+=str[j++];continue}break}if(!name)throw new TypeError("Missing parameter name at ".concat(i));tokens.push({type:"NAME",index:i,value:name}),i=j;continue}if(char==="("){var count=1,pattern="",j=i+1;if(str[j]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(j));for(;j<str.length;){if(str[j]==="\\"){pattern+=str[j++]+str[j++];continue}if(str[j]===")"){if(count--,count===0){j++;break}}else if(str[j]==="("&&(count++,str[j+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(j));pattern+=str[j++]}if(count)throw new TypeError("Unbalanced pattern at ".concat(i));if(!pattern)throw new TypeError("Missing pattern at ".concat(i));tokens.push({type:"PATTERN",index:i,value:pattern}),i=j;continue}tokens.push({type:"CHAR",index:i,value:str[i++]})}return tokens.push({type:"END",index:i,value:""}),tokens}__name(lexer,"lexer");function parse(str,options){options===void 0&&(options={});for(var tokens=lexer(str),_a=options.prefixes,prefixes=_a===void 0?"./":_a,_b=options.delimiter,delimiter=_b===void 0?"/#?":_b,result=[],key=0,i=0,path="",tryConsume=__name(function(type){if(i<tokens.length&&tokens[i].type===type)return tokens[i++].value},"tryConsume"),mustConsume=__name(function(type){var value2=tryConsume(type);if(value2!==void 0)return value2;var _a2=tokens[i],nextType=_a2.type,index=_a2.index;throw new TypeError("Unexpected ".concat(nextType," at ").concat(index,", expected ").concat(type))},"mustConsume"),consumeText=__name(function(){for(var result2="",value2;value2=tryConsume("CHAR")||tryConsume("ESCAPED_CHAR");)result2+=value2;return result2},"consumeText"),isSafe=__name(function(value2){for(var _i=0,delimiter_1=delimiter;_i<delimiter_1.length;_i++){var char2=delimiter_1[_i];if(value2.indexOf(char2)>-1)return!0}return!1},"isSafe"),safePattern=__name(function(prefix2){var prev=result[result.length-1],prevText=prefix2||(prev&&typeof prev=="string"?prev:"");if(prev&&!prevText)throw new TypeError('Must have text between two parameters, missing text after "'.concat(prev.name,'"'));return!prevText||isSafe(prevText)?"[^".concat(escapeString(delimiter),"]+?"):"(?:(?!".concat(escapeString(prevText),")[^").concat(escapeString(delimiter),"])+?")},"safePattern");i<tokens.length;){var char=tryConsume("CHAR"),name=tryConsume("NAME"),pattern=tryConsume("PATTERN");if(name||pattern){var prefix=char||"";prefixes.indexOf(prefix)===-1&&(path+=prefix,prefix=""),path&&(result.push(path),path=""),result.push({name:name||key++,prefix,suffix:"",pattern:pattern||safePattern(prefix),modifier:tryConsume("MODIFIER")||""});continue}var value=char||tryConsume("ESCAPED_CHAR");if(value){path+=value;continue}path&&(result.push(path),path="");var open=tryConsume("OPEN");if(open){var prefix=consumeText(),name_1=tryConsume("NAME")||"",pattern_1=tryConsume("PATTERN")||"",suffix=consumeText();mustConsume("CLOSE"),result.push({name:name_1||(pattern_1?key++:""),pattern:name_1&&!pattern_1?safePattern(prefix):pattern_1,prefix,suffix,modifier:tryConsume("MODIFIER")||""});continue}mustConsume("END")}return result}__name(parse,"parse");exports2.parse=parse;function compile(str,options){return tokensToFunction(parse(str,options),options)}__name(compile,"compile");exports2.compile=compile;function tokensToFunction(tokens,options){options===void 0&&(options={});var reFlags=flags(options),_a=options.encode,encode=_a===void 0?function(x){return x}:_a,_b=options.validate,validate=_b===void 0?!0:_b,matches=tokens.map(function(token){if(typeof token=="object")return new RegExp("^(?:".concat(token.pattern,")$"),reFlags)});return function(data){for(var path="",i=0;i<tokens.length;i++){var token=tokens[i];if(typeof token=="string"){path+=token;continue}var value=data?data[token.name]:void 0,optional=token.modifier==="?"||token.modifier==="*",repeat=token.modifier==="*"||token.modifier==="+";if(Array.isArray(value)){if(!repeat)throw new TypeError('Expected "'.concat(token.name,'" to not repeat, but got an array'));if(value.length===0){if(optional)continue;throw new TypeError('Expected "'.concat(token.name,'" to not be empty'))}for(var j=0;j<value.length;j++){var segment=encode(value[j],token);if(validate&&!matches[i].test(segment))throw new TypeError('Expected all "'.concat(token.name,'" to match "').concat(token.pattern,'", but got "').concat(segment,'"'));path+=token.prefix+segment+token.suffix}continue}if(typeof value=="string"||typeof value=="number"){var segment=encode(String(value),token);if(validate&&!matches[i].test(segment))throw new TypeError('Expected "'.concat(token.name,'" to match "').concat(token.pattern,'", but got "').concat(segment,'"'));path+=token.prefix+segment+token.suffix;continue}if(!optional){var typeOfMessage=repeat?"an array":"a string";throw new TypeError('Expected "'.concat(token.name,'" to be ').concat(typeOfMessage))}}return path}}__name(tokensToFunction,"tokensToFunction");exports2.tokensToFunction=tokensToFunction;function match(str,options){var keys=[],re=pathToRegexp(str,keys,options);return regexpToFunction(re,keys,options)}__name(match,"match");exports2.match=match;function regexpToFunction(re,keys,options){options===void 0&&(options={});var _a=options.decode,decode=_a===void 0?function(x){return x}:_a;return function(pathname){var m=re.exec(pathname);if(!m)return!1;for(var path=m[0],index=m.index,params=Object.create(null),_loop_1=__name(function(i2){if(m[i2]===void 0)return"continue";var key=keys[i2-1];key.modifier==="*"||key.modifier==="+"?params[key.name]=m[i2].split(key.prefix+key.suffix).map(function(value){return decode(value,key)}):params[key.name]=decode(m[i2],key)},"_loop_1"),i=1;i<m.length;i++)_loop_1(i);return{path,index,params}}}__name(regexpToFunction,"regexpToFunction");exports2.regexpToFunction=regexpToFunction;function escapeString(str){return str.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}__name(escapeString,"escapeString");function flags(options){return options&&options.sensitive?"":"i"}__name(flags,"flags");function regexpToRegexp(path,keys){if(!keys)return path;for(var groupsRegex=/\((?:\?<(.*?)>)?(?!\?)/g,index=0,execResult=groupsRegex.exec(path.source);execResult;)keys.push({name:execResult[1]||index++,prefix:"",suffix:"",modifier:"",pattern:""}),execResult=groupsRegex.exec(path.source);return path}__name(regexpToRegexp,"regexpToRegexp");function arrayToRegexp(paths,keys,options){var parts=paths.map(function(path){return pathToRegexp(path,keys,options).source});return new RegExp("(?:".concat(parts.join("|"),")"),flags(options))}__name(arrayToRegexp,"arrayToRegexp");function stringToRegexp(path,keys,options){return tokensToRegexp(parse(path,options),keys,options)}__name(stringToRegexp,"stringToRegexp");function tokensToRegexp(tokens,keys,options){options===void 0&&(options={});for(var _a=options.strict,strict=_a===void 0?!1:_a,_b=options.start,start=_b===void 0?!0:_b,_c=options.end,end=_c===void 0?!0:_c,_d=options.encode,encode=_d===void 0?function(x){return x}:_d,_e=options.delimiter,delimiter=_e===void 0?"/#?":_e,_f=options.endsWith,endsWith=_f===void 0?"":_f,endsWithRe="[".concat(escapeString(endsWith),"]|$"),delimiterRe="[".concat(escapeString(delimiter),"]"),route=start?"^":"",_i=0,tokens_1=tokens;_i<tokens_1.length;_i++){var token=tokens_1[_i];if(typeof token=="string")route+=escapeString(encode(token));else{var prefix=escapeString(encode(token.prefix)),suffix=escapeString(encode(token.suffix));if(token.pattern)if(keys&&keys.push(token),prefix||suffix)if(token.modifier==="+"||token.modifier==="*"){var mod2=token.modifier==="*"?"?":"";route+="(?:".concat(prefix,"((?:").concat(token.pattern,")(?:").concat(suffix).concat(prefix,"(?:").concat(token.pattern,"))*)").concat(suffix,")").concat(mod2)}else route+="(?:".concat(prefix,"(").concat(token.pattern,")").concat(suffix,")").concat(token.modifier);else{if(token.modifier==="+"||token.modifier==="*")throw new TypeError('Can not repeat "'.concat(token.name,'" without a prefix and suffix'));route+="(".concat(token.pattern,")").concat(token.modifier)}else route+="(?:".concat(prefix).concat(suffix,")").concat(token.modifier)}}if(end)strict||(route+="".concat(delimiterRe,"?")),route+=options.endsWith?"(?=".concat(endsWithRe,")"):"$";else{var endToken=tokens[tokens.length-1],isEndDelimited=typeof endToken=="string"?delimiterRe.indexOf(endToken[endToken.length-1])>-1:endToken===void 0;strict||(route+="(?:".concat(delimiterRe,"(?=").concat(endsWithRe,"))?")),isEndDelimited||(route+="(?=".concat(delimiterRe,"|").concat(endsWithRe,")"))}return new RegExp(route,flags(options))}__name(tokensToRegexp,"tokensToRegexp");exports2.tokensToRegexp=tokensToRegexp;function pathToRegexp(path,keys,options){return path instanceof RegExp?regexpToRegexp(path,keys):Array.isArray(path)?arrayToRegexp(path,keys,options):stringToRegexp(path,keys,options)}__name(pathToRegexp,"pathToRegexp");exports2.pathToRegexp=pathToRegexp}});var require_layer=__commonJS({"../node_modules/koa-router/lib/layer.js"(exports2,module2){var{parse:parseUrl,format:formatUrl}=__require("node:url"),{pathToRegexp,compile,parse}=require_dist();module2.exports=class{static{__name(this,"Layer")}constructor(path,methods,middleware,opts={}){this.opts=opts,this.name=this.opts.name||null,this.methods=[],this.paramNames=[],this.stack=Array.isArray(middleware)?middleware:[middleware];for(let method of methods){let l=this.methods.push(method.toUpperCase());this.methods[l-1]==="GET"&&this.methods.unshift("HEAD")}for(let i=0;i<this.stack.length;i++){let type=typeof this.stack[i];if(type!=="function")throw new Error(`${methods.toString()} \`${this.opts.name||path}\`: \`middleware\` must be a function, not \`${type}\``)}this.path=path,this.regexp=pathToRegexp(path,this.paramNames,this.opts)}match(path){return this.regexp.test(path)}params(path,captures,params={}){for(let len=captures.length,i=0;i<len;i++)if(this.paramNames[i]){let c=captures[i];c&&c.length>0&&(params[this.paramNames[i].name]=c&&safeDecodeURIComponent(c))}return params}captures(path){return this.opts.ignoreCaptures?[]:path.match(this.regexp).slice(1)}url(params,options){let args2=params,url=this.path.replace(/\(\.\*\)/g,"");typeof params!="object"&&(args2=Array.prototype.slice.call(arguments),typeof args2[args2.length-1]=="object"&&(options=args2[args2.length-1],args2=args2.slice(0,-1)));let toPath=compile(url,{encode:encodeURIComponent,...options}),replaced,tokens=parse(url),replace={};if(Array.isArray(args2))for(let len=tokens.length,i=0,j=0;i<len;i++)tokens[i].name&&(replace[tokens[i].name]=args2[j++]);else tokens.some(token=>token.name)?replace=params:options||(options=params);return replaced=toPath(replace),options&&options.query?(replaced=parseUrl(replaced),typeof options.query=="string"?replaced.search=options.query:(replaced.search=void 0,replaced.query=options.query),formatUrl(replaced)):replaced}param(param,fn2){let{stack:stack2}=this,params=this.paramNames,middleware=__name(function(ctx,next){return fn2.call(this,ctx.params[param],ctx,next)},"middleware");middleware.param=param;let names=params.map(function(p){return p.name}),x=names.indexOf(param);return x>-1&&stack2.some((fn3,i)=>{if(!fn3.param||names.indexOf(fn3.param)>x)return stack2.splice(i,0,middleware),!0}),this}setPrefix(prefix){return this.path&&(this.path=this.path!=="/"||this.opts.strict===!0?`${prefix}${this.path}`:prefix,this.paramNames=[],this.regexp=pathToRegexp(this.path,this.paramNames,this.opts)),this}};function safeDecodeURIComponent(text){try{return decodeURIComponent(text.replace(/\+/g," "))}catch{return text}}__name(safeDecodeURIComponent,"safeDecodeURIComponent")}});var require_router=__commonJS({"../node_modules/koa-router/lib/router.js"(exports2,module2){var http2=__require("node:http"),debug=require_src()("koa-router"),compose=require_koa_compose(),HttpError2=require_http_errors3(),{pathToRegexp}=require_dist(),Layer=require_layer(),methods=http2.METHODS.map(method=>method.toLowerCase()),Router2=class _Router{static{__name(this,"Router")}constructor(opts={}){if(!(this instanceof _Router))return new _Router(opts);this.opts=opts,this.methods=this.opts.methods||["HEAD","OPTIONS","GET","PUT","PATCH","POST","DELETE"],this.exclusive=!!this.opts.exclusive,this.params={},this.stack=[],this.host=this.opts.host}static url(path,...args2){return Layer.prototype.url.apply({path},args2)}use(...middleware){let router=this,path;if(Array.isArray(middleware[0])&&typeof middleware[0][0]=="string"){let arrPaths=middleware[0];for(let p of arrPaths)router.use.apply(router,[p,...middleware.slice(1)]);return this}let hasPath=typeof middleware[0]=="string";hasPath&&(path=middleware.shift());for(let m of middleware)if(m.router){let cloneRouter=Object.assign(Object.create(_Router.prototype),m.router,{stack:[...m.router.stack]});for(let j=0;j<cloneRouter.stack.length;j++){let nestedLayer=cloneRouter.stack[j],cloneLayer=Object.assign(Object.create(Layer.prototype),nestedLayer);path&&cloneLayer.setPrefix(path),router.opts.prefix&&cloneLayer.setPrefix(router.opts.prefix),router.stack.push(cloneLayer),cloneRouter.stack[j]=cloneLayer}if(router.params){let routerParams=Object.keys(router.params);for(let key of routerParams)cloneRouter.param(key,router.params[key])}}else{let keys=[];pathToRegexp(router.opts.prefix||"",keys);let routerPrefixHasParam=!!(router.opts.prefix&&keys.length>0);router.register(path||"([^/]*)",[],m,{end:!1,ignoreCaptures:!hasPath&&!routerPrefixHasParam})}return this}prefix(prefix){prefix=prefix.replace(/\/$/,""),this.opts.prefix=prefix;for(let i=0;i<this.stack.length;i++)this.stack[i].setPrefix(prefix);return this}middleware(){let router=this,dispatch=__name((ctx,next)=>{if(debug("%s %s",ctx.method,ctx.path),!router.matchHost(ctx.host))return next();let path=router.opts.routerPath||ctx.newRouterPath||ctx.path||ctx.routerPath,matched=router.match(path,ctx.method);if(ctx.matched?ctx.matched.push.apply(ctx.matched,matched.path):ctx.matched=matched.path,ctx.router=router,!matched.route)return next();let matchedLayers=matched.pathAndMethod,mostSpecificLayer=matchedLayers[matchedLayers.length-1];ctx._matchedRoute=mostSpecificLayer.path,mostSpecificLayer.name&&(ctx._matchedRouteName=mostSpecificLayer.name);let layerChain=(router.exclusive?[mostSpecificLayer]:matchedLayers).reduce((memo,layer)=>(memo.push((ctx2,next2)=>(ctx2.captures=layer.captures(path,ctx2.captures),ctx2.request.params=layer.params(path,ctx2.captures,ctx2.params),ctx2.params=ctx2.request.params,ctx2.routerPath=layer.path,ctx2.routerName=layer.name,ctx2._matchedRoute=layer.path,layer.name&&(ctx2._matchedRouteName=layer.name),next2())),[...memo,...layer.stack]),[]);return compose(layerChain)(ctx,next)},"dispatch");return dispatch.router=this,dispatch}routes(){return this.middleware()}allowedMethods(options={}){let implemented=this.methods;return(ctx,next)=>next().then(()=>{let allowed={};if(ctx.matched&&(!ctx.status||ctx.status===404)){for(let i=0;i<ctx.matched.length;i++){let route=ctx.matched[i];for(let j=0;j<route.methods.length;j++){let method=route.methods[j];allowed[method]=method}}let allowedArr=Object.keys(allowed);if(implemented.includes(ctx.method)){if(allowedArr.length>0){if(ctx.method==="OPTIONS")ctx.status=200,ctx.body="",ctx.set("Allow",allowedArr.join(", "));else if(!allowed[ctx.method]){if(options.throw)throw typeof options.methodNotAllowed=="function"?options.methodNotAllowed():new HttpError2.MethodNotAllowed;ctx.status=405,ctx.set("Allow",allowedArr.join(", "))}}}else{if(options.throw)throw typeof options.notImplemented=="function"?options.notImplemented():new HttpError2.NotImplemented;ctx.status=501,ctx.set("Allow",allowedArr.join(", "))}}})}all(name,path,middleware){if(typeof path=="string"?middleware=Array.prototype.slice.call(arguments,2):(middleware=Array.prototype.slice.call(arguments,1),path=name,name=null),typeof path!="string"&&!(path instanceof RegExp)&&(!Array.isArray(path)||path.length===0))throw new Error("You have to provide a path when adding an all handler");return this.register(path,methods,middleware,{name}),this}redirect(source,destination,code){if((typeof source=="symbol"||source[0]!=="/")&&(source=this.url(source),source instanceof Error))throw source;if((typeof destination=="symbol"||destination[0]!=="/"&&!destination.includes("://"))&&(destination=this.url(destination),destination instanceof Error))throw destination;return this.all(source,ctx=>{ctx.redirect(destination),ctx.status=code||301})}register(path,methods2,middleware,opts={}){let router=this,{stack:stack2}=this;if(Array.isArray(path)){for(let curPath of path)router.register.call(router,curPath,methods2,middleware,opts);return this}let route=new Layer(path,methods2,middleware,{end:opts.end===!1?opts.end:!0,name:opts.name,sensitive:opts.sensitive||this.opts.sensitive||!1,strict:opts.strict||this.opts.strict||!1,prefix:opts.prefix||this.opts.prefix||"",ignoreCaptures:opts.ignoreCaptures});this.opts.prefix&&route.setPrefix(this.opts.prefix);for(let i=0;i<Object.keys(this.params).length;i++){let param=Object.keys(this.params)[i];route.param(param,this.params[param])}return stack2.push(route),debug("defined route %s %s",route.methods,route.path),route}route(name){let routes=this.stack;for(let len=routes.length,i=0;i<len;i++)if(routes[i].name&&routes[i].name===name)return routes[i];return!1}url(name,...args2){let route=this.route(name);return route?route.url.apply(route,args2):new Error(`No route found for name: ${String(name)}`)}match(path,method){let layers=this.stack,layer,matched={path:[],pathAndMethod:[],route:!1};for(let len=layers.length,i=0;i<len;i++)layer=layers[i],debug("test %s %s",layer.path,layer.regexp),layer.match(path)&&(matched.path.push(layer),(layer.methods.length===0||layer.methods.includes(method))&&(matched.pathAndMethod.push(layer),layer.methods.length>0&&(matched.route=!0)));return matched}matchHost(input){let{host}=this;if(!host)return!0;if(!input)return!1;if(typeof host=="string")return input===host;if(typeof host=="object"&&host instanceof RegExp)return host.test(input)}param(param,middleware){this.params[param]=middleware;for(let i=0;i<this.stack.length;i++)this.stack[i].param(param,middleware);return this}};for(let method of methods)Router2.prototype[method]=function(name,path,middleware){if(typeof path=="string"||path instanceof RegExp?middleware=Array.prototype.slice.call(arguments,2):(middleware=Array.prototype.slice.call(arguments,1),path=name,name=null),typeof path!="string"&&!(path instanceof RegExp)&&(!Array.isArray(path)||path.length===0))throw new Error(`You have to provide a path when adding a ${method} handler`);return this.register(path,[method],middleware,{name}),this};Router2.prototype.del=Router2.prototype.delete;module2.exports=Router2}});var log2=createLogger("json-rpc:api-key-auth");var import_cors=__toESM(require_cors(),1);import http from"http";var import_application=__toESM(require_application(),1),koa_default=import_application.default,HttpError=import_application.default.HttpError;var import_koa_bodyparser=__toESM(require_koa_bodyparser(),1),import_koa_compress=__toESM(require_lib5(),1),import_koa_router=__toESM(require_router(),1);import{format,inspect}from"util";function assert(x,err){if(!x)throw new Error(err)}__name(assert,"assert");var defaultServerConfig={http200OnError:!1,maxBatchSize:100,maxBodySizeBytes:"1mb"},SafeJsonRpcServer=class{static{__name(this,"SafeJsonRpcServer")}proxy;healthCheck;extraMiddlewares;diagnosticsMiddleware;log;httpServer;config;constructor(proxy,config={},healthCheck=()=>!0,extraMiddlewares=[],diagnosticsMiddleware,log3=createLogger("json-rpc:server")){this.proxy=proxy,this.healthCheck=healthCheck,this.extraMiddlewares=extraMiddlewares,this.diagnosticsMiddleware=diagnosticsMiddleware,this.log=log3,this.config={...defaultServerConfig,...config},this.config.maxBodySizeBytes||(this.config.maxBodySizeBytes=defaultServerConfig.maxBodySizeBytes)}isHealthy(){return this.healthCheck()}getApp(prefix=""){let router=this.getRouter(prefix),exceptionHandler=__name(async(ctx,next)=>{try{await next()}catch(err){let method=ctx.request.body?.method??"unknown";this.log.warn(`Uncaught error in JSON RPC server call ${method}: ${inspect(err)}`),err&&"name"in err&&err.name==="BadRequestError"?(ctx.status=400,ctx.body={jsonrpc:"2.0",id:null,error:{code:-32e3,message:`Bad request: ${err.message}`}}):err&&err instanceof SyntaxError?(ctx.status=400,ctx.body={jsonrpc:"2.0",id:null,error:{code:-32700,message:`Parse error: ${err.message}`}}):(ctx.status=500,ctx.body={jsonrpc:"2.0",id:null,error:{code:-32600,message:err.message??"Internal error"}})}},"exceptionHandler"),jsonResponse=__name(async(ctx,next)=>{try{await next(),ctx.body&&typeof ctx.body=="object"&&(ctx.body=jsonStringify(ctx.body))}catch(err){ctx.status=500,ctx.body={jsonrpc:"2.0",error:{code:-32700,message:`Unable to serialize response: ${err.message}`}}}},"jsonResponse"),app=new koa_default;app.on("error",error=>{this.log.error(`Error on API handler: ${error}`)}),app.use((0,import_koa_compress.default)({br:!1})),app.use(jsonResponse);for(let middleware of this.extraMiddlewares)app.use(middleware);return app.use(exceptionHandler),app.use((0,import_koa_bodyparser.default)({jsonLimit:this.config.maxBodySizeBytes,enableTypes:["json"]})),app.use((0,import_cors.default)()),app.use(router.routes()),app.use(router.allowedMethods()),app}getRouter(prefix){let router=new import_koa_router.default({prefix});return router.post("/",async ctx=>{if(Array.isArray(ctx.request.body)){if(ctx.request.body.length>this.config.maxBatchSize){ctx.status=this.config.http200OnError?200:400,ctx.body={jsonrpc:"2.0",error:{code:-32600,message:`Batch request exceeds maximum allowed size of ${this.config.maxBatchSize}`},id:null};return}let resp=await this.processBatch(ctx.request.body,ctx.request.headers);Array.isArray(resp)?(ctx.status=200,ctx.body=resp):(ctx.status=this.config.http200OnError?200:400,ctx.body=resp)}else{let resp=await this.processRequest(ctx.request.body,ctx.request.headers);"error"in resp&&(ctx.status=this.config.http200OnError?200:400),ctx.body=resp}}),router}async processBatch(requests,headers={}){return requests.length===0?{jsonrpc:"2.0",error:{code:-32600,message:"Invalid Request"},id:null}:(await Promise.allSettled(requests.map(req=>this.processRequest(req,headers)))).map(res=>res.status==="fulfilled"?res.value:(this.log.warn(`Uncaught error executing request in batch: ${res.reason}.`),{jsonrpc:"2.0",error:{code:-32600,message:"Invalid Request"},id:null}))}async processRequest(request,headers={}){if(!request||typeof request!="object")return{jsonrpc:"2.0",error:{code:-32600,message:"Invalid Request"},id:null};let{params=[],jsonrpc="2.0",id,method}=request;if(typeof method!="string"||!method)return{jsonrpc:"2.0",id,error:{code:-32600,message:"Invalid request"}};if(typeof method!="string"||method==="constructor"||!this.proxy.hasMethod(method))return{jsonrpc,id,error:{code:-32601,message:`Method not found: ${method}`}};try{let result;return this.diagnosticsMiddleware?await this.diagnosticsMiddleware({id:id??null,method,params,headers},async()=>{result=await this.proxy.call(method,params)}):result=await this.proxy.call(method,params),{jsonrpc,id,result}}catch(err){if(err&&err instanceof ZodError){let message2=err.issues.map(e=>`${e.message} (${e.path.join(".")})`).join(". ")||"Validation error";return{jsonrpc:"2.0",id,error:{code:-32701,message:message2}}}else return err?{jsonrpc,id,error:{code:-32702,data:err.data,message:err.message}}:{jsonrpc,id,error:{code:-32702,message:"Error executing request"}}}}start(port,prefix=""){if(this.httpServer)throw new Error("Server is already listening");this.httpServer=http.createServer(this.getApp(prefix).callback()),this.httpServer.listen(port)}stop(){if(!this.httpServer)return Promise.resolve();let{promise,resolve,reject}=promiseWithResolvers();return this.httpServer.close(err=>{err?reject(err):resolve()}),promise}async call(methodName,jsonParams=[]){return await this.proxy.call(methodName,jsonParams)}},SafeJsonProxy=class{static{__name(this,"SafeJsonProxy")}handler;log;schema;constructor(handler,schema){this.handler=handler,this.log=createLogger("json-rpc:proxy"),this.schema=schema}async call(methodName,jsonParams=[]){this.log.debug(format("request",methodName,jsonParams)),assert(Array.isArray(jsonParams),`Params to ${methodName} is not an array: ${jsonParams}`),assert(schemaHasMethod(this.schema,methodName),`Method ${methodName} not found in schema`);let method=this.handler[methodName];assert(typeof method=="function",`Method ${methodName} is not a function`);let args2=await parseWithOptionals(jsonParams,getSchemaParameters(this.schema[methodName])),ret=await method.apply(this.handler,args2);return this.log.debug(format("response",methodName,ret)),ret}hasMethod(methodName){return schemaHasMethod(this.schema,methodName)&&typeof this.handler[methodName]=="function"}};function createSafeJsonRpcServer(handler,schema,options={}){let{diagnostic,log:log3,healthCheck,middlewares:extraMiddlewares}=options,proxy=new SafeJsonProxy(handler,schema);return new SafeJsonRpcServer(proxy,options,healthCheck,extraMiddlewares,diagnostic,log3)}__name(createSafeJsonRpcServer,"createSafeJsonRpcServer");function createStatusRouter(getCurrentStatus,apiPrefix=""){let router=new import_koa_router.default({prefix:`${apiPrefix}`});return router.get("/status",async ctx=>{let ok;try{ok=await getCurrentStatus()===!0}catch{ok=!1}ctx.status=ok?200:500}),router}__name(createStatusRouter,"createStatusRouter");async function startHttpRpcServer(rpcServer,options={}){let app=rpcServer.getApp(options.apiPrefix),statusRouter=createStatusRouter(rpcServer.isHealthy.bind(rpcServer),options.apiPrefix);app.use(statusRouter.routes()).use(statusRouter.allowedMethods());let httpServer=http.createServer(app.callback());options.timeoutMs&&(httpServer.timeout=options.timeoutMs);let{promise,resolve}=promiseWithResolvers(),listenPort=options.port?typeof options.port=="string"?parseInt(options.port):options.port:0;httpServer.listen({host:options.host,port:listenPort,reuseAddress:!0},()=>resolve()),options.noWait||await promise;let port=httpServer.address().port;return Object.assign(httpServer,{port})}__name(startHttpRpcServer,"startHttpRpcServer");var ChainInfoSchema=external_exports.object({chainId:Fr.schema,version:Fr.schema});var SIGNING_KEY_TO_SECRET_KEY_SEPARATOR=sha256ToField([Buffer.from("@aztec/accounts/signing_key_to_secret_key")]);async function getSchnorrAccountContractArtifact(){let{default:schnorrAccountContractJson}=await import("./SchnorrAccount-Y2WZTBJF.js");return loadContractArtifact(schnorrAccountContractJson)}__name(getSchnorrAccountContractArtifact,"getSchnorrAccountContractArtifact");import{BackendType,Barretenberg,BarretenbergSync}from"@aztec/bb.js";import{existsSync}from"node:fs";import{cpus}from"node:os";import{fileURLToPath}from"node:url";import{Worker}from"node:worker_threads";Barretenberg.initSingleton({backend:BackendType.Wasm,skipSrsInit:!0,threads:1});BarretenbergSync.initSingleton({backend:BackendType.Wasm});async function buildSharedContractStore(){let kvStore=await openEphemeralStore("txe-shared-contracts",void 0,2),dataDir=kvStore.dataDirectory,contractStore=new ContractStore(kvStore),provider=new LazyProtocolContractsProvider,[protocolContracts,standardContracts,schnorrArtifact]=await Promise.all([Promise.all(TXE_REQUIRED_PROTOCOL_CONTRACTS.map(name=>provider.getProtocolContractArtifact(name))),Promise.all([getStandardAuthRegistry(),getStandardHandshakeRegistry()]),getSchnorrAccountContractArtifact()]),schnorrClass=await getContractClassFromArtifact(schnorrArtifact);return await Promise.all([...[...protocolContracts,...standardContracts].flatMap(({instance,artifact,contractClass})=>[contractStore.addContractArtifact(artifact,contractClass),contractStore.addContractInstance(instance)]),contractStore.addContractArtifact(schnorrArtifact,schnorrClass)]),{dataDir,schnorrClassId:schnorrClass.id.toString()}}__name(buildSharedContractStore,"buildSharedContractStore");function resolveWorkerBundlePath(){let candidates=[new URL("./worker.bundle.js",import.meta.url),new URL("../worker.bundle.js",import.meta.url)];return candidates.find(u=>existsSync(fileURLToPath(u)))??candidates[0]}__name(resolveWorkerBundlePath,"resolveWorkerBundlePath");function deserializeError(payload){if(!payload)return new Error("Worker returned an error with no payload");let err=new Error(payload.message);return payload.name&&(err.name=payload.name),payload.stack&&(err.stack=payload.stack),err}__name(deserializeError,"deserializeError");var TXEDispatcherPool=class{constructor(logger,opts={}){this.logger=logger;this.maxWorkers=Math.max(1,opts.workers??Math.min(cpus().length,16)),this.readyPromise=this.init()}static{__name(this,"TXEDispatcherPool")}workers=[];sessionToWorker=new Map;pending=new Map;nextRequestId=0;maxWorkers;readyPromise;contractStoreSourceDir;schnorrClassId;workerPath;ready(){return this.readyPromise}async init(){let t0=Date.now(),{dataDir,schnorrClassId}=await buildSharedContractStore();this.contractStoreSourceDir=dataDir,this.schnorrClassId=schnorrClassId,this.workerPath=resolveWorkerBundlePath(),this.logger.debug(`TXE dispatcher pool ready (lazy spawn, cap=${this.maxWorkers})`,{contractStoreSourceDir:dataDir,schnorrClassId,ms:Date.now()-t0})}spawnWorker(){let workerIdx=this.workers.length,w=new Worker(this.workerPath,{workerData:{contractStoreSourceDir:this.contractStoreSourceDir,schnorrClassId:this.schnorrClassId}}),slot={worker:w,sessions:new Set,inFlightRequestIds:new Set};return this.workers.push(slot),w.on("message",msg=>this.handleMessage(workerIdx,msg)),w.on("error",err=>this.handleWorkerError(workerIdx,err)),w.on("exit",code=>{code!==0&&this.handleWorkerError(workerIdx,new Error(`Worker ${workerIdx} exited with code ${code}`))}),this.logger.debug(`Spawning TXE worker ${workerIdx} on demand`,{cap:this.maxWorkers,poolSize:this.workers.length}),workerIdx}disposeSession(sessionId){let workerIdx=this.sessionToWorker.get(sessionId);if(workerIdx===void 0)throw new Error(`disposeSession: no worker mapped for session ${sessionId}`);this.sessionToWorker.delete(sessionId);let slot=this.workers[workerIdx];if(!slot)throw new Error(`disposeSession: worker ${workerIdx} (session ${sessionId}) missing from pool`);slot.sessions.delete(sessionId),slot.worker.postMessage({type:"dispose-session",sessionId})}async resolve_foreign_call(callData){await this.readyPromise;let sessionId=callData.session_id,workerIdx=this.sessionToWorker.get(sessionId);workerIdx===void 0&&(workerIdx=this.pickOrSpawnWorker(),this.sessionToWorker.set(sessionId,workerIdx),this.workers[workerIdx].sessions.add(sessionId),this.logger.debug(`Routing new session ${sessionId} to worker ${workerIdx}`));let slot=this.workers[workerIdx],requestId=this.nextRequestId++;return new Promise((resolve,reject)=>{this.pending.set(requestId,{resolve,reject,workerIdx}),slot.inFlightRequestIds.add(requestId),slot.worker.postMessage({type:"foreign-call",requestId,callData})})}async shutdown(){let slots=this.workers.splice(0,this.workers.length);await Promise.all(slots.map(s=>s.worker.terminate()));for(let[requestId,pending]of this.pending)pending.reject(new Error("TXE dispatcher pool was shut down")),this.pending.delete(requestId)}pickOrSpawnWorker(){if(this.workers.length<this.maxWorkers)return this.spawnWorker();let minIdx=0,minCount=this.workers[0].sessions.size;for(let i=1;i<this.workers.length;i++){let count=this.workers[i].sessions.size;count<minCount&&(minIdx=i,minCount=count)}return minIdx}handleMessage(workerIdx,msg){switch(msg.type){case"result":this.handleResult(workerIdx,msg);return;case"memstat":this.logger.debug(`worker ${workerIdx} memstat`,{worker:workerIdx,sessions:msg.sessions,rssMiB:Math.round(msg.rss/1024/1024),heapTotalMiB:Math.round(msg.heapTotal/1024/1024),heapUsedMiB:Math.round(msg.heapUsed/1024/1024),externalMiB:Math.round(msg.external/1024/1024),arrayBuffersMiB:Math.round(msg.arrayBuffers/1024/1024)});return}}handleResult(workerIdx,msg){let pending=this.pending.get(msg.requestId);if(!pending)throw new Error(`handleResult: request ${msg.requestId} (worker ${workerIdx}) not in pending map`);this.pending.delete(msg.requestId);let slot=this.workers[workerIdx];if(!slot)throw new Error(`handleResult: worker ${workerIdx} (request ${msg.requestId}) missing from pool`);slot.inFlightRequestIds.delete(msg.requestId),msg.ok?pending.resolve(msg.value):pending.reject(deserializeError(msg.error))}handleWorkerError(workerIdx,err){this.logger.error(`TXE worker ${workerIdx} crashed; sessions assigned to it will fail`,err);let slot=this.workers[workerIdx];if(!slot)throw new Error(`handleWorkerError: worker ${workerIdx} missing from pool (orig err: ${err.message})`);for(let requestId of slot.inFlightRequestIds){let pending=this.pending.get(requestId);if(!pending)throw new Error(`handleWorkerError: in-flight request ${requestId} (worker ${workerIdx}) not in pending map`);pending.reject(err),this.pending.delete(requestId)}slot.inFlightRequestIds.clear();for(let sessionId of slot.sessions)this.sessionToWorker.delete(sessionId);slot.sessions.clear()}};var SESSION_SYMBOL=Symbol("txeSessionId");async function createTXERpcServer(logger){let workerCount=Number(process.env.TXE_WORKERS),dispatcher;if(workerCount===1){let{dataDir,schnorrClassId}=await buildSharedContractStore();dispatcher=new TXEDispatcher(logger,{contractStoreSourceDir:dataDir,schnorrClassId})}else dispatcher=new TXEDispatcherPool(logger,{workers:Number.isFinite(workerCount)&&workerCount>1?workerCount:void 0});return createSafeJsonRpcServer(dispatcher,TXEDispatcherApiSchema,{http200OnError:!0,middlewares:[async(ctx,next)=>{await next();let socket=ctx.req.socket;if(socket[SESSION_SYMBOL]!==void 0)return;let body=ctx.request.body,sessionId=body&&typeof body=="object"&&"params"in body?extractSessionId(body.params):void 0;sessionId!==void 0&&(socket[SESSION_SYMBOL]=sessionId,logger.debug("Tagged socket with session",{sessionId,remoteAddress:socket.remoteAddress,remotePort:socket.remotePort}),socket.once("close",()=>{logger.debug("Disposing session on socket close",{sessionId}),dispatcher.disposeSession(sessionId)}))}]})}__name(createTXERpcServer,"createTXERpcServer");function extractSessionId(params){if(!Array.isArray(params)||params.length===0)return;let first=params[0];if(first&&typeof first=="object"&&"session_id"in first){let sid=first.session_id;return typeof sid=="number"?sid:void 0}}__name(extractSessionId,"extractSessionId");export{startHttpRpcServer,createTXERpcServer};
|
|
49
49
|
/*! Bundled license information:
|
|
50
50
|
|
|
51
51
|
vary/index.js:
|