@wengine-ai/llms 2.1.2 → 2.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/server.cjs +108 -108
- package/dist/cjs/server.cjs.map +3 -3
- package/dist/esm/server.mjs +106 -106
- package/dist/esm/server.mjs.map +3 -3
- package/package.json +1 -1
package/dist/esm/server.mjs
CHANGED
|
@@ -5,25 +5,25 @@ var wb=Object.create;var zs=Object.defineProperty;var Eb=Object.getOwnPropertyDe
|
|
|
5
5
|
`:case"\r":throw Be(H());case"\u2028":case"\u2029":Ob(Ce);break;case void 0:throw Be(H())}pe+=H()},start(){switch(Ce){case"{":case"[":return Ie("punctuator",H())}ge="value"},beforePropertyName(){switch(Ce){case"$":case"_":pe=H(),ge="identifierName";return;case"\\":H(),ge="identifierNameStartEscape";return;case"}":return Ie("punctuator",H());case'"':case"'":vo=H()==='"',ge="string";return}if(ze.isIdStartChar(Ce)){pe+=H(),ge="identifierName";return}throw Be(H())},afterPropertyName(){if(Ce===":")return Ie("punctuator",H());throw Be(H())},beforePropertyValue(){ge="value"},afterPropertyValue(){switch(Ce){case",":case"}":return Ie("punctuator",H())}throw Be(H())},beforeArrayValue(){if(Ce==="]")return Ie("punctuator",H());ge="value"},afterArrayValue(){switch(Ce){case",":case"]":return Ie("punctuator",H())}throw Be(H())},end(){throw Be(H())}};function Ie(t,e){return{type:t,value:e,line:Lr,column:jt}}function an(t){for(let e of t){if(br()!==e)throw Be(H());H()}}function Db(){switch(br()){case"b":return H(),"\b";case"f":return H(),"\f";case"n":return H(),`
|
|
6
6
|
`;case"r":return H(),"\r";case"t":return H()," ";case"v":return H(),"\v";case"0":if(H(),ze.isDigit(br()))throw Be(H());return"\0";case"x":return H(),Rb();case"u":return H(),Pu();case`
|
|
7
7
|
`:case"\u2028":case"\u2029":return H(),"";case"\r":return H(),br()===`
|
|
8
|
-
`&&H(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw Be(H());case void 0:throw Be(H())}return H()}function Rb(){let t="",e=br();if(!ze.isHexDigit(e)||(t+=H(),e=br(),!ze.isHexDigit(e)))throw Be(H());return t+=H(),String.fromCodePoint(parseInt(t,16))}function Pu(){let t="",e=4;for(;e-- >0;){let r=br();if(!ze.isHexDigit(r))throw Be(H());t+=H()}return String.fromCodePoint(parseInt(t,16))}var xb={start(){if(He.type==="eof")throw un();xu()},beforePropertyName(){switch(He.type){case"identifier":case"string":Iu=He.value,et="afterPropertyName";return;case"punctuator":Ws();return;case"eof":throw un()}},afterPropertyName(){if(He.type==="eof")throw un();et="beforePropertyValue"},beforePropertyValue(){if(He.type==="eof")throw un();xu()},beforeArrayValue(){if(He.type==="eof")throw un();if(He.type==="punctuator"&&He.value==="]"){Ws();return}xu()},afterPropertyValue(){if(He.type==="eof")throw un();switch(He.value){case",":et="beforePropertyName";return;case"}":Ws()}},afterArrayValue(){if(He.type==="eof")throw un();switch(He.value){case",":et="beforeArrayValue";return;case"]":Ws()}},end(){}};function xu(){let t;switch(He.type){case"punctuator":switch(He.value){case"{":t={};break;case"[":t=[];break}break;case"null":case"boolean":case"numeric":case"string":t=He.value;break}if(To===void 0)To=t;else{let e=_r[_r.length-1];Array.isArray(e)?e.push(t):Object.defineProperty(e,Iu,{value:t,writable:!0,enumerable:!0,configurable:!0})}if(t!==null&&typeof t=="object")_r.push(t),Array.isArray(t)?et="beforeArrayValue":et="beforePropertyName";else{let e=_r[_r.length-1];e==null?et="end":Array.isArray(e)?et="afterArrayValue":et="afterPropertyValue"}}function Ws(){_r.pop();let t=_r[_r.length-1];t==null?et="end":Array.isArray(t)?et="afterArrayValue":et="afterPropertyValue"}function Be(t){return Js(t===void 0?`JSON5: invalid end of input at ${Lr}:${jt}`:`JSON5: invalid character '${dh(t)}' at ${Lr}:${jt}`)}function un(){return Js(`JSON5: invalid end of input at ${Lr}:${jt}`)}function ch(){return jt-=5,Js(`JSON5: invalid identifier character at ${Lr}:${jt}`)}function Ob(t){console.warn(`JSON5: '${dh(t)}' in strings is not valid ECMAScript; consider escaping`)}function dh(t){let e={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(e[t])return e[t];if(t<" "){let r=t.charCodeAt(0).toString(16);return"\\x"+("00"+r).substring(r.length)}return t}function Js(t){let e=new SyntaxError(t);return e.lineNumber=Lr,e.columnNumber=jt,e}});var mh=V(($D,ph)=>{var Bu=Ru();ph.exports=function(e,r,n){let o=[],s="",a,c,l="",d;if(r!=null&&typeof r=="object"&&!Array.isArray(r)&&(n=r.space,d=r.quote,r=r.replacer),typeof r=="function")c=r;else if(Array.isArray(r)){a=[];for(let _ of r){let
|
|
8
|
+
`&&H(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw Be(H());case void 0:throw Be(H())}return H()}function Rb(){let t="",e=br();if(!ze.isHexDigit(e)||(t+=H(),e=br(),!ze.isHexDigit(e)))throw Be(H());return t+=H(),String.fromCodePoint(parseInt(t,16))}function Pu(){let t="",e=4;for(;e-- >0;){let r=br();if(!ze.isHexDigit(r))throw Be(H());t+=H()}return String.fromCodePoint(parseInt(t,16))}var xb={start(){if(He.type==="eof")throw un();xu()},beforePropertyName(){switch(He.type){case"identifier":case"string":Iu=He.value,et="afterPropertyName";return;case"punctuator":Ws();return;case"eof":throw un()}},afterPropertyName(){if(He.type==="eof")throw un();et="beforePropertyValue"},beforePropertyValue(){if(He.type==="eof")throw un();xu()},beforeArrayValue(){if(He.type==="eof")throw un();if(He.type==="punctuator"&&He.value==="]"){Ws();return}xu()},afterPropertyValue(){if(He.type==="eof")throw un();switch(He.value){case",":et="beforePropertyName";return;case"}":Ws()}},afterArrayValue(){if(He.type==="eof")throw un();switch(He.value){case",":et="beforeArrayValue";return;case"]":Ws()}},end(){}};function xu(){let t;switch(He.type){case"punctuator":switch(He.value){case"{":t={};break;case"[":t=[];break}break;case"null":case"boolean":case"numeric":case"string":t=He.value;break}if(To===void 0)To=t;else{let e=_r[_r.length-1];Array.isArray(e)?e.push(t):Object.defineProperty(e,Iu,{value:t,writable:!0,enumerable:!0,configurable:!0})}if(t!==null&&typeof t=="object")_r.push(t),Array.isArray(t)?et="beforeArrayValue":et="beforePropertyName";else{let e=_r[_r.length-1];e==null?et="end":Array.isArray(e)?et="afterArrayValue":et="afterPropertyValue"}}function Ws(){_r.pop();let t=_r[_r.length-1];t==null?et="end":Array.isArray(t)?et="afterArrayValue":et="afterPropertyValue"}function Be(t){return Js(t===void 0?`JSON5: invalid end of input at ${Lr}:${jt}`:`JSON5: invalid character '${dh(t)}' at ${Lr}:${jt}`)}function un(){return Js(`JSON5: invalid end of input at ${Lr}:${jt}`)}function ch(){return jt-=5,Js(`JSON5: invalid identifier character at ${Lr}:${jt}`)}function Ob(t){console.warn(`JSON5: '${dh(t)}' in strings is not valid ECMAScript; consider escaping`)}function dh(t){let e={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(e[t])return e[t];if(t<" "){let r=t.charCodeAt(0).toString(16);return"\\x"+("00"+r).substring(r.length)}return t}function Js(t){let e=new SyntaxError(t);return e.lineNumber=Lr,e.columnNumber=jt,e}});var mh=V(($D,ph)=>{var Bu=Ru();ph.exports=function(e,r,n){let o=[],s="",a,c,l="",d;if(r!=null&&typeof r=="object"&&!Array.isArray(r)&&(n=r.space,d=r.quote,r=r.replacer),typeof r=="function")c=r;else if(Array.isArray(r)){a=[];for(let _ of r){let y;typeof _=="string"?y=_:(typeof _=="number"||_ instanceof String||_ instanceof Number)&&(y=String(_)),y!==void 0&&a.indexOf(y)<0&&a.push(y)}}return n instanceof Number?n=Number(n):n instanceof String&&(n=String(n)),typeof n=="number"?n>0&&(n=Math.min(10,Math.floor(n)),l=" ".substr(0,n)):typeof n=="string"&&(l=n.substr(0,10)),f("",{"":e});function f(_,y){let m=y[_];switch(m!=null&&(typeof m.toJSON5=="function"?m=m.toJSON5(_):typeof m.toJSON=="function"&&(m=m.toJSON(_))),c&&(m=c.call(y,_,m)),m instanceof Number?m=Number(m):m instanceof String?m=String(m):m instanceof Boolean&&(m=m.valueOf()),m){case null:return"null";case!0:return"true";case!1:return"false"}if(typeof m=="string")return p(m,!1);if(typeof m=="number")return String(m);if(typeof m=="object")return Array.isArray(m)?w(m):g(m)}function p(_){let y={"'":.1,'"':.2},m={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"},v="";for(let S=0;S<_.length;S++){let D=_[S];switch(D){case"'":case'"':y[D]++,v+=D;continue;case"\0":if(Bu.isDigit(_[S+1])){v+="\\x00";continue}}if(m[D]){v+=m[D];continue}if(D<" "){let O=D.charCodeAt(0).toString(16);v+="\\x"+("00"+O).substring(O.length);continue}v+=D}let b=d||Object.keys(y).reduce((S,D)=>y[S]<y[D]?S:D);return v=v.replace(new RegExp(b,"g"),m[b]),b+v+b}function g(_){if(o.indexOf(_)>=0)throw TypeError("Converting circular structure to JSON5");o.push(_);let y=s;s=s+l;let m=a||Object.keys(_),v=[];for(let S of m){let D=f(S,_);if(D!==void 0){let O=A(S)+":";l!==""&&(O+=" "),O+=D,v.push(O)}}let b;if(v.length===0)b="{}";else{let S;if(l==="")S=v.join(","),b="{"+S+"}";else{let D=`,
|
|
9
9
|
`+s;S=v.join(D),b=`{
|
|
10
10
|
`+s+S+`,
|
|
11
|
-
`+
|
|
11
|
+
`+y+"}"}}return o.pop(),s=y,b}function A(_){if(_.length===0)return p(_,!0);let y=String.fromCodePoint(_.codePointAt(0));if(!Bu.isIdStartChar(y))return p(_,!0);for(let m=y.length;m<_.length;m++)if(!Bu.isIdContinueChar(String.fromCodePoint(_.codePointAt(m))))return p(_,!0);return _}function w(_){if(o.indexOf(_)>=0)throw TypeError("Converting circular structure to JSON5");o.push(_);let y=s;s=s+l;let m=[];for(let b=0;b<_.length;b++){let S=f(String(b),_);m.push(S!==void 0?S:"null")}let v;if(m.length===0)v="[]";else if(l==="")v="["+m.join(",")+"]";else{let b=`,
|
|
12
12
|
`+s,S=m.join(b);v=`[
|
|
13
13
|
`+s+S+`,
|
|
14
|
-
`+
|
|
15
|
-
`)||n,code:s,status:o},e.data.error)}return Object.assign({message:n,code:s,status:o},e.data.error)}}return{message:n,code:e.status,status:e.statusText}}};St.GaxiosError=Vu;function lC(t,e){switch(t){case"stream":return e;case"json":return JSON.parse(JSON.stringify(e));case"arraybuffer":return JSON.parse(Buffer.from(e).toString("utf8"));case"blob":return JSON.parse(e.text());default:return e}}function Xh(t){let e="<<REDACTED> - See `errorRedactor` option in `gaxios` for configuration>.";function r(s){s&&s.forEach((a,c)=>{(/^authentication$/i.test(c)||/^authorization$/i.test(c)||/secret/i.test(c))&&s.set(c,e)})}function n(s,a){if(typeof s=="object"&&s!==null&&typeof s[a]=="string"){let c=s[a];(/grant_type=/i.test(c)||/assertion=/i.test(c)||/secret/i.test(c))&&(s[a]=e)}}function o(s){!s||typeof s!="object"||(s instanceof FormData||s instanceof URLSearchParams||"forEach"in s&&"set"in s?s.forEach((a,c)=>{(["grant_type","assertion"].includes(c)||/secret/.test(c))&&s.set(c,e)}):("grant_type"in s&&(s.grant_type=e),"assertion"in s&&(s.assertion=e),"client_secret"in s&&(s.client_secret=e)))}return t.config&&(r(t.config.headers),n(t.config,"data"),o(t.config.data),n(t.config,"body"),o(t.config.body),t.config.url.searchParams.has("token")&&t.config.url.searchParams.set("token",e),t.config.url.searchParams.has("client_secret")&&t.config.url.searchParams.set("client_secret",e)),t.response&&(Xh({config:t.response.config}),r(t.response.headers),t.response.bodyUsed&&(n(t.response,"data"),o(t.response.data))),t}});var ep=V(Yu=>{"use strict";Object.defineProperty(Yu,"__esModule",{value:!0});Yu.getRetryConfig=dC;async function dC(t){let e=Zh(t);if(!t||!t.config||!e&&!t.config.retry)return{shouldRetry:!1};e=e||{},e.currentRetryAttempt=e.currentRetryAttempt||0,e.retry=e.retry===void 0||e.retry===null?3:e.retry,e.httpMethodsToRetry=e.httpMethodsToRetry||["GET","HEAD","PUT","OPTIONS","DELETE"],e.noResponseRetries=e.noResponseRetries===void 0||e.noResponseRetries===null?2:e.noResponseRetries,e.retryDelayMultiplier=e.retryDelayMultiplier?e.retryDelayMultiplier:2,e.timeOfFirstRequest=e.timeOfFirstRequest?e.timeOfFirstRequest:Date.now(),e.totalTimeout=e.totalTimeout?e.totalTimeout:Number.MAX_SAFE_INTEGER,e.maxRetryDelay=e.maxRetryDelay?e.maxRetryDelay:Number.MAX_SAFE_INTEGER;let r=[[100,199],[408,408],[429,429],[500,599]];if(e.statusCodesToRetry=e.statusCodesToRetry||r,t.config.retryConfig=e,!await(e.shouldRetry||fC)(t))return{shouldRetry:!1,config:t.config};let o=hC(e);t.config.retryConfig.currentRetryAttempt+=1;let s=e.retryBackoff?e.retryBackoff(t,o):new Promise(a=>{setTimeout(a,o)});return e.onRetryAttempt&&await e.onRetryAttempt(t),await s,{shouldRetry:!0,config:t.config}}function fC(t){let e=Zh(t);if(t.config.signal?.aborted&&t.code!=="TimeoutError"||t.code==="AbortError"||!e||e.retry===0||!t.response&&(e.currentRetryAttempt||0)>=e.noResponseRetries||!e.httpMethodsToRetry||!e.httpMethodsToRetry.includes(t.config.method?.toUpperCase()||"GET"))return!1;if(t.response&&t.response.status){let r=!1;for(let[n,o]of e.statusCodesToRetry){let s=t.response.status;if(s>=n&&s<=o){r=!0;break}}if(!r)return!1}return e.currentRetryAttempt=e.currentRetryAttempt||0,!(e.currentRetryAttempt>=e.retry)}function Zh(t){if(t&&t.config&&t.config.retryConfig)return t.config.retryConfig}function hC(t){let r=(t.currentRetryAttempt?0:t.retryDelay??100)+(Math.pow(t.retryDelayMultiplier,t.currentRetryAttempt)-1)/2*1e3,n=t.totalTimeout-(Date.now()-t.timeOfFirstRequest);return Math.min(r,n,t.maxRetryDelay)}});var Xu=V(si=>{"use strict";Object.defineProperty(si,"__esModule",{value:!0});si.GaxiosInterceptorManager=void 0;var Qu=class extends Set{};si.GaxiosInterceptorManager=Qu});var rp=V((MR,tp)=>{var jn=1e3,Ln=jn*60,Un=Ln*60,ln=Un*24,pC=ln*7,mC=ln*365.25;tp.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return gC(t);if(r==="number"&&isFinite(t))return e.long?_C(t):yC(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function gC(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*mC;case"weeks":case"week":case"w":return r*pC;case"days":case"day":case"d":return r*ln;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Un;case"minutes":case"minute":case"mins":case"min":case"m":return r*Ln;case"seconds":case"second":case"secs":case"sec":case"s":return r*jn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function yC(t){var e=Math.abs(t);return e>=ln?Math.round(t/ln)+"d":e>=Un?Math.round(t/Un)+"h":e>=Ln?Math.round(t/Ln)+"m":e>=jn?Math.round(t/jn)+"s":t+"ms"}function _C(t){var e=Math.abs(t);return e>=ln?ii(t,e,ln,"day"):e>=Un?ii(t,e,Un,"hour"):e>=Ln?ii(t,e,Ln,"minute"):e>=jn?ii(t,e,jn,"second"):t+" ms"}function ii(t,e,r,n){var o=e>=r*1.5;return Math.round(t/r)+" "+n+(o?"s":"")}});var Zu=V((jR,np)=>{function bC(t){r.debug=r,r.default=r,r.coerce=l,r.disable=a,r.enable=o,r.enabled=c,r.humanize=rp(),r.destroy=d,Object.keys(t).forEach(f=>{r[f]=t[f]}),r.names=[],r.skips=[],r.formatters={};function e(f){let p=0;for(let y=0;y<f.length;y++)p=(p<<5)-p+f.charCodeAt(y),p|=0;return r.colors[Math.abs(p)%r.colors.length]}r.selectColor=e;function r(f){let p,y=null,A,w;function _(...g){if(!_.enabled)return;let m=_,v=Number(new Date),b=v-(p||v);m.diff=b,m.prev=p,m.curr=v,p=v,g[0]=r.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");let S=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,(O,q)=>{if(O==="%%")return"%";S++;let J=r.formatters[q];if(typeof J=="function"){let B=g[S];O=J.call(m,B),g.splice(S,1),S--}return O}),r.formatArgs.call(m,g),(m.log||r.log).apply(m,g)}return _.namespace=f,_.useColors=r.useColors(),_.color=r.selectColor(f),_.extend=n,_.destroy=r.destroy,Object.defineProperty(_,"enabled",{enumerable:!0,configurable:!1,get:()=>y!==null?y:(A!==r.namespaces&&(A=r.namespaces,w=r.enabled(f)),w),set:g=>{y=g}}),typeof r.init=="function"&&r.init(_),_}function n(f,p){let y=r(this.namespace+(typeof p>"u"?":":p)+f);return y.log=this.log,y}function o(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let p=(typeof f=="string"?f:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let y of p)y[0]==="-"?r.skips.push(y.slice(1)):r.names.push(y)}function s(f,p){let y=0,A=0,w=-1,_=0;for(;y<f.length;)if(A<p.length&&(p[A]===f[y]||p[A]==="*"))p[A]==="*"?(w=A,_=y,A++):(y++,A++);else if(w!==-1)A=w+1,_++,y=_;else return!1;for(;A<p.length&&p[A]==="*";)A++;return A===p.length}function a(){let f=[...r.names,...r.skips.map(p=>"-"+p)].join(",");return r.enable(""),f}function c(f){for(let p of r.skips)if(s(f,p))return!1;for(let p of r.names)if(s(f,p))return!0;return!1}function l(f){return f instanceof Error?f.stack||f.message:f}function d(){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 r.enable(r.load()),r}np.exports=bC});var op=V((at,ai)=>{at.formatArgs=wC;at.save=EC;at.load=AC;at.useColors=CC;at.storage=SC();at.destroy=(()=>{let t=!1;return()=>{t||(t=!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`."))}})();at.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 CC(){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 t;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&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function wC(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+ai.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(r++,o==="%c"&&(n=r))}),t.splice(n,0,e)}at.log=console.debug||console.log||(()=>{});function EC(t){try{t?at.storage.setItem("debug",t):at.storage.removeItem("debug")}catch{}}function AC(){let t;try{t=at.storage.getItem("debug")||at.storage.getItem("DEBUG")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function SC(){try{return localStorage}catch{}}ai.exports=Zu()(at);var{formatters:kC}=ai.exports;kC.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var ip=V((LR,sp)=>{"use strict";sp.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",n=e.indexOf(r+t),o=e.indexOf("--");return n!==-1&&(o===-1||n<o)}});var cp=V((UR,up)=>{"use strict";var vC=X("os"),ap=X("tty"),kt=ip(),{env:We}=process,Ur;kt("no-color")||kt("no-colors")||kt("color=false")||kt("color=never")?Ur=0:(kt("color")||kt("colors")||kt("color=true")||kt("color=always"))&&(Ur=1);"FORCE_COLOR"in We&&(We.FORCE_COLOR==="true"?Ur=1:We.FORCE_COLOR==="false"?Ur=0:Ur=We.FORCE_COLOR.length===0?1:Math.min(parseInt(We.FORCE_COLOR,10),3));function ec(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function tc(t,e){if(Ur===0)return 0;if(kt("color=16m")||kt("color=full")||kt("color=truecolor"))return 3;if(kt("color=256"))return 2;if(t&&!e&&Ur===void 0)return 0;let r=Ur||0;if(We.TERM==="dumb")return r;if(process.platform==="win32"){let n=vC.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in We)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in We)||We.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in We)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(We.TEAMCITY_VERSION)?1:0;if(We.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in We){let n=parseInt((We.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(We.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(We.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(We.TERM)||"COLORTERM"in We?1:r}function TC(t){let e=tc(t,t&&t.isTTY);return ec(e)}up.exports={supportsColor:TC,stdout:ec(tc(!0,ap.isatty(1))),stderr:ec(tc(!0,ap.isatty(2)))}});var dp=V((Ge,ci)=>{var DC=X("tty"),ui=X("util");Ge.init=BC;Ge.log=FC;Ge.formatArgs=xC;Ge.save=PC;Ge.load=IC;Ge.useColors=RC;Ge.destroy=ui.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Ge.colors=[6,2,3,4,5,1];try{let t=cp();t&&(t.stderr||t).level>=2&&(Ge.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{}Ge.inspectOpts=Object.keys(process.env).filter(t=>/^debug_/i.test(t)).reduce((t,e)=>{let r=e.substring(6).toLowerCase().replace(/_([a-z])/g,(o,s)=>s.toUpperCase()),n=process.env[e];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),t[r]=n,t},{});function RC(){return"colors"in Ge.inspectOpts?!!Ge.inspectOpts.colors:DC.isatty(process.stderr.fd)}function xC(t){let{namespace:e,useColors:r}=this;if(r){let n=this.color,o="\x1B[3"+(n<8?n:"8;5;"+n),s=` ${o};1m${e} \x1B[0m`;t[0]=s+t[0].split(`
|
|
14
|
+
`+y+"]"}return o.pop(),s=y,v}}});var Nu=V((qD,gh)=>{var Fb=hh(),Pb=mh(),Ib={parse:Fb,stringify:Pb};gh.exports=Ib});var xh={};Tu(xh,{getFallbackPromotionStore:()=>Do,resetFallbackPromotionStore:()=>zb});function Do(t){return cn||(cn=new Lu,t&&cn.configure(t)),cn}function zb(){cn&&(cn.clearAll(),cn=null)}var qb,Lu,cn,Ks=Me(()=>{"use strict";Bn();qb=600*1e3,Lu=class{promotions=new Map;enabled=!0;ttlMs=qb;configure(e){e?.enabled!==void 0&&(this.enabled=e.enabled),e?.ttlMinutes!==void 0&&(this.ttlMs=e.ttlMinutes*60*1e3)}getKey(e,r,n){return`${e},${r}:${n}`}promote(e,r,n,o,s,a){if(!this.enabled)return;let c=this.getKey(e,r,n),l=`${o},${s}`;this.promotions.set(c,{promotedModel:l,timestamp:Date.now(),ttlMs:a??this.ttlMs})}getPromotion(e,r,n,o){if(!this.enabled)return null;let s=this.getKey(e,r,n),a=this.promotions.get(s);if(!a)return null;if(Date.now()-a.timestamp>=a.ttlMs)return this.promotions.delete(s),null;let[l,...d]=a.promotedModel.split(","),f=d.join(",");if(!tt().isAvailable(l,f))return this.promotions.delete(s),null;let g=o.find(w=>w.name.toLowerCase()===l.toLowerCase()),A=g?.models?.find(w=>String(w).toLowerCase()===f.toLowerCase());return!g||!A?(this.promotions.delete(s),null):`${g.name},${A}`}clear(e,r,n){let o=this.getKey(e,r,n);this.promotions.delete(o)}clearByPrimary(e,r){let n=`${e},${r}:`,o=0;for(let s of this.promotions.keys())s.startsWith(n)&&(this.promotions.delete(s),o++);return o}clearAll(){this.promotions.clear()}clearExpired(){let e=Date.now();for(let[r,n]of this.promotions)e-n.timestamp>=n.ttlMs&&this.promotions.delete(r)}getAllPromotions(){let e=Date.now(),r=[];for(let[n,o]of this.promotions){let s=o.ttlMs-(e-o.timestamp);s>0&&r.push({key:n,promotedModel:o.promotedModel,remainingMs:s})}return r}},cn=null});function tt(t){return Uu||(Uu=new Ys(t)),Uu}var Hb,Ys,Uu,Bn=Me(()=>{"use strict";Hb={enabled:!0,failureThreshold:3,probeIntervalMinutes:5,halfOpenSuccessThreshold:2},Ys=class{states=new Map;config;probeTimer;constructor(e){this.config={...Hb,...e}}getKey(e,r){return`${e},${r}`}recordSuccess(e,r){if(!this.config.enabled)return;let n=this.getKey(e,r),o=this.states.get(n);o&&(o.successCount++,o.status==="half-open"?o.successCount>=this.config.halfOpenSuccessThreshold&&(this.clearPromotionsForPrimary(e,r),this.states.delete(n)):o.status==="open"&&(o.status="half-open",o.successCount=1,o.failureCount=0))}clearPromotionsForPrimary(e,r){try{let{getFallbackPromotionStore:n}=(Ks(),vb(xh));n().clearByPrimary(e,r)}catch{}}recordFailure(e,r,n){if(!this.config.enabled)return;let o=this.getKey(e,r),s=this.states.get(o);s||(s={provider:e,model:r,status:"closed",failureCount:0,successCount:0,lastFailureTime:0,lastProbeTime:0},this.states.set(o,s)),s.failureCount++,s.lastFailureTime=Date.now(),s.lastError=n,s.status==="half-open"?(s.status="open",s.successCount=0,s.lastProbeTime=0):s.status==="closed"&&s.failureCount>=this.config.failureThreshold&&(s.status="open",s.lastProbeTime=0)}getState(e,r){return this.states.get(this.getKey(e,r))}isAvailable(e,r){if(!this.config.enabled)return!0;let n=this.getState(e,r);return n?n.status!=="open":!0}getPriority(e,r){if(!this.config.enabled)return 0;let n=this.getState(e,r);if(!n)return 0;switch(n.status){case"closed":return 0;case"half-open":return 1;case"open":return 2}}getHealthyModels(){return[]}getFailPoolModels(){let e=[];for(let[r,n]of this.states)n.status==="open"&&e.push(r);return e}getHalfOpenModels(){let e=[];for(let[r,n]of this.states)n.status==="half-open"&&e.push(r);return e}forceOpen(e,r,n){if(!this.config.enabled)return;let o=this.getKey(e,r),s=this.states.get(o);s?(s.status="open",s.failureCount=Math.max(s.failureCount,this.config.failureThreshold),s.lastFailureTime=Date.now(),s.lastError=n,s.lastProbeTime=0):(s={provider:e,model:r,status:"open",failureCount:this.config.failureThreshold,successCount:0,lastFailureTime:Date.now(),lastProbeTime:0,lastError:n},this.states.set(o,s))}needsProbe(e){return Date.now()-e.lastProbeTime>=this.config.probeIntervalMinutes*60*1e3}markProbeAttempt(e,r){let n=this.getKey(e,r),o=this.states.get(n);o&&o.status==="open"&&(o.lastProbeTime=Date.now())}clear(){this.states.clear()}recover(e,r){let n=this.getKey(e,r);this.states.delete(n)}getAllStates(){return Array.from(this.states.values())}stopProbeTimer(){this.probeTimer&&(clearInterval(this.probeTimer),this.probeTimer=void 0)}},Uu=null});var Gu=V((OR,Gh)=>{"use strict";var oi=Object.prototype.hasOwnProperty,Wh=Object.prototype.toString,Lh=Object.defineProperty,Uh=Object.getOwnPropertyDescriptor,$h=function(e){return typeof Array.isArray=="function"?Array.isArray(e):Wh.call(e)==="[object Array]"},qh=function(e){if(!e||Wh.call(e)!=="[object Object]")return!1;var r=oi.call(e,"constructor"),n=e.constructor&&e.constructor.prototype&&oi.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!r&&!n)return!1;var o;for(o in e);return typeof o>"u"||oi.call(e,o)},zh=function(e,r){Lh&&r.name==="__proto__"?Lh(e,r.name,{enumerable:!0,configurable:!0,value:r.newValue,writable:!0}):e[r.name]=r.newValue},Hh=function(e,r){if(r==="__proto__")if(oi.call(e,r)){if(Uh)return Uh(e,r).value}else return;return e[r]};Gh.exports=function t(){var e,r,n,o,s,a,c=arguments[0],l=1,d=arguments.length,f=!1;for(typeof c=="boolean"&&(f=c,c=arguments[1]||{},l=2),(c==null||typeof c!="object"&&typeof c!="function")&&(c={});l<d;++l)if(e=arguments[l],e!=null)for(r in e)n=Hh(c,r),o=Hh(e,r),c!==o&&(f&&o&&(qh(o)||(s=$h(o)))?(s?(s=!1,a=n&&$h(n)?n:[]):a=n&&qh(n)?n:{},zh(c,{name:r,newValue:t(f,a,o)})):typeof o<"u"&&zh(c,{name:r,newValue:o}));return c}});var Jh=V((FR,aC)=>{aC.exports={name:"gaxios",version:"7.1.2",description:"A simple common HTTP client specifically for Google APIs and services.",main:"build/cjs/src/index.js",types:"build/cjs/src/index.d.ts",files:["build/"],exports:{".":{import:{types:"./build/esm/src/index.d.ts",default:"./build/esm/src/index.js"},require:{types:"./build/cjs/src/index.d.ts",default:"./build/cjs/src/index.js"}}},scripts:{lint:"gts check --no-inline-config",test:"c8 mocha build/esm/test","presystem-test":"npm run compile","system-test":"mocha build/esm/system-test --timeout 80000",compile:"tsc -b ./tsconfig.json ./tsconfig.cjs.json && node utils/enable-esm.mjs",fix:"gts fix",prepare:"npm run compile",pretest:"npm run compile",webpack:"webpack","prebrowser-test":"npm run compile","browser-test":"node build/browser-test/browser-test-runner.js",docs:"jsdoc -c .jsdoc.js","docs-test":"linkinator docs","predocs-test":"npm run docs","samples-test":"cd samples/ && npm link ../ && npm test && cd ../",prelint:"cd samples; npm link ../; npm install",clean:"gts clean"},repository:"googleapis/gaxios",keywords:["google"],engines:{node:">=18"},author:"Google, LLC",license:"Apache-2.0",devDependencies:{"@babel/plugin-proposal-private-methods":"^7.18.6","@types/cors":"^2.8.6","@types/express":"^5.0.0","@types/extend":"^3.0.1","@types/mocha":"^10.0.10","@types/multiparty":"4.2.1","@types/mv":"^2.1.0","@types/ncp":"^2.0.1","@types/node":"^22.0.0","@types/sinon":"^17.0.0","@types/tmp":"0.2.6",assert:"^2.0.0",browserify:"^17.0.0",c8:"^10.0.0",cors:"^2.8.5",express:"^5.0.0",gts:"^6.0.0","is-docker":"^3.0.0",jsdoc:"^4.0.0","jsdoc-fresh":"^4.0.0","jsdoc-region-tag":"^3.0.0",karma:"^6.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.0","karma-firefox-launcher":"^2.0.0","karma-mocha":"^2.0.0","karma-remap-coverage":"^0.1.5","karma-sourcemap-loader":"^0.4.0","karma-webpack":"^5.0.1",linkinator:"^6.1.2",mocha:"^11.1.0",multiparty:"^4.2.1",mv:"^2.1.1",ncp:"^2.0.0",nock:"^14.0.0-beta.13","null-loader":"^4.0.0","pack-n-play":"^3.0.0",puppeteer:"^24.0.0",sinon:"^21.0.0","stream-browserify":"^3.0.0",tmp:"0.2.5","ts-loader":"^9.5.2",typescript:"^5.8.3",webpack:"^5.35.0","webpack-cli":"^6.0.1"},dependencies:{extend:"^3.0.2","https-proxy-agent":"^7.0.1","node-fetch":"^3.3.2"}}});var Kh=V((PR,Vh)=>{"use strict";var uC=Jh();Vh.exports={pkg:uC}});var Ku=V(St=>{"use strict";var Qh=St&&St.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(St,"__esModule",{value:!0});St.GaxiosError=St.GAXIOS_ERROR_SYMBOL=void 0;St.defaultErrorRedactor=Xh;var Yh=Qh(Gu()),cC=Qh(Kh()),Ju=cC.default.pkg;St.GAXIOS_ERROR_SYMBOL=Symbol.for(`${Ju.name}-gaxios-error`);var Vu=class t extends Error{config;response;code;status;error;[St.GAXIOS_ERROR_SYMBOL]=Ju.version;static[Symbol.hasInstance](e){return e&&typeof e=="object"&&St.GAXIOS_ERROR_SYMBOL in e&&e[St.GAXIOS_ERROR_SYMBOL]===Ju.version?!0:Function.prototype[Symbol.hasInstance].call(t,e)}constructor(e,r,n,o){if(super(e,{cause:o}),this.config=r,this.response=n,this.error=o instanceof Error?o:void 0,this.config=(0,Yh.default)(!0,{},r),this.response&&(this.response.config=(0,Yh.default)(!0,{},this.response.config)),this.response){try{this.response.data=lC(this.config.responseType,this.response?.bodyUsed?this.response?.data:void 0)}catch{}this.status=this.response.status}o instanceof DOMException?this.code=o.name:o&&typeof o=="object"&&"code"in o&&(typeof o.code=="string"||typeof o.code=="number")&&(this.code=o.code)}static extractAPIErrorFromResponse(e,r="The request failed"){let n=r;if(typeof e.data=="string"&&(n=e.data),e.data&&typeof e.data=="object"&&"error"in e.data&&e.data.error&&!e.ok){if(typeof e.data.error=="string")return{message:e.data.error,code:e.status,status:e.statusText};if(typeof e.data.error=="object"){n="message"in e.data.error&&typeof e.data.error.message=="string"?e.data.error.message:n;let o="status"in e.data.error&&typeof e.data.error.status=="string"?e.data.error.status:e.statusText,s="code"in e.data.error&&typeof e.data.error.code=="number"?e.data.error.code:e.status;if("errors"in e.data.error&&Array.isArray(e.data.error.errors)){let a=[];for(let c of e.data.error.errors)typeof c=="object"&&"message"in c&&typeof c.message=="string"&&a.push(c.message);return Object.assign({message:a.join(`
|
|
15
|
+
`)||n,code:s,status:o},e.data.error)}return Object.assign({message:n,code:s,status:o},e.data.error)}}return{message:n,code:e.status,status:e.statusText}}};St.GaxiosError=Vu;function lC(t,e){switch(t){case"stream":return e;case"json":return JSON.parse(JSON.stringify(e));case"arraybuffer":return JSON.parse(Buffer.from(e).toString("utf8"));case"blob":return JSON.parse(e.text());default:return e}}function Xh(t){let e="<<REDACTED> - See `errorRedactor` option in `gaxios` for configuration>.";function r(s){s&&s.forEach((a,c)=>{(/^authentication$/i.test(c)||/^authorization$/i.test(c)||/secret/i.test(c))&&s.set(c,e)})}function n(s,a){if(typeof s=="object"&&s!==null&&typeof s[a]=="string"){let c=s[a];(/grant_type=/i.test(c)||/assertion=/i.test(c)||/secret/i.test(c))&&(s[a]=e)}}function o(s){!s||typeof s!="object"||(s instanceof FormData||s instanceof URLSearchParams||"forEach"in s&&"set"in s?s.forEach((a,c)=>{(["grant_type","assertion"].includes(c)||/secret/.test(c))&&s.set(c,e)}):("grant_type"in s&&(s.grant_type=e),"assertion"in s&&(s.assertion=e),"client_secret"in s&&(s.client_secret=e)))}return t.config&&(r(t.config.headers),n(t.config,"data"),o(t.config.data),n(t.config,"body"),o(t.config.body),t.config.url.searchParams.has("token")&&t.config.url.searchParams.set("token",e),t.config.url.searchParams.has("client_secret")&&t.config.url.searchParams.set("client_secret",e)),t.response&&(Xh({config:t.response.config}),r(t.response.headers),t.response.bodyUsed&&(n(t.response,"data"),o(t.response.data))),t}});var ep=V(Yu=>{"use strict";Object.defineProperty(Yu,"__esModule",{value:!0});Yu.getRetryConfig=dC;async function dC(t){let e=Zh(t);if(!t||!t.config||!e&&!t.config.retry)return{shouldRetry:!1};e=e||{},e.currentRetryAttempt=e.currentRetryAttempt||0,e.retry=e.retry===void 0||e.retry===null?3:e.retry,e.httpMethodsToRetry=e.httpMethodsToRetry||["GET","HEAD","PUT","OPTIONS","DELETE"],e.noResponseRetries=e.noResponseRetries===void 0||e.noResponseRetries===null?2:e.noResponseRetries,e.retryDelayMultiplier=e.retryDelayMultiplier?e.retryDelayMultiplier:2,e.timeOfFirstRequest=e.timeOfFirstRequest?e.timeOfFirstRequest:Date.now(),e.totalTimeout=e.totalTimeout?e.totalTimeout:Number.MAX_SAFE_INTEGER,e.maxRetryDelay=e.maxRetryDelay?e.maxRetryDelay:Number.MAX_SAFE_INTEGER;let r=[[100,199],[408,408],[429,429],[500,599]];if(e.statusCodesToRetry=e.statusCodesToRetry||r,t.config.retryConfig=e,!await(e.shouldRetry||fC)(t))return{shouldRetry:!1,config:t.config};let o=hC(e);t.config.retryConfig.currentRetryAttempt+=1;let s=e.retryBackoff?e.retryBackoff(t,o):new Promise(a=>{setTimeout(a,o)});return e.onRetryAttempt&&await e.onRetryAttempt(t),await s,{shouldRetry:!0,config:t.config}}function fC(t){let e=Zh(t);if(t.config.signal?.aborted&&t.code!=="TimeoutError"||t.code==="AbortError"||!e||e.retry===0||!t.response&&(e.currentRetryAttempt||0)>=e.noResponseRetries||!e.httpMethodsToRetry||!e.httpMethodsToRetry.includes(t.config.method?.toUpperCase()||"GET"))return!1;if(t.response&&t.response.status){let r=!1;for(let[n,o]of e.statusCodesToRetry){let s=t.response.status;if(s>=n&&s<=o){r=!0;break}}if(!r)return!1}return e.currentRetryAttempt=e.currentRetryAttempt||0,!(e.currentRetryAttempt>=e.retry)}function Zh(t){if(t&&t.config&&t.config.retryConfig)return t.config.retryConfig}function hC(t){let r=(t.currentRetryAttempt?0:t.retryDelay??100)+(Math.pow(t.retryDelayMultiplier,t.currentRetryAttempt)-1)/2*1e3,n=t.totalTimeout-(Date.now()-t.timeOfFirstRequest);return Math.min(r,n,t.maxRetryDelay)}});var Xu=V(si=>{"use strict";Object.defineProperty(si,"__esModule",{value:!0});si.GaxiosInterceptorManager=void 0;var Qu=class extends Set{};si.GaxiosInterceptorManager=Qu});var rp=V((MR,tp)=>{var jn=1e3,Ln=jn*60,Un=Ln*60,ln=Un*24,pC=ln*7,mC=ln*365.25;tp.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return gC(t);if(r==="number"&&isFinite(t))return e.long?_C(t):yC(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function gC(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*mC;case"weeks":case"week":case"w":return r*pC;case"days":case"day":case"d":return r*ln;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Un;case"minutes":case"minute":case"mins":case"min":case"m":return r*Ln;case"seconds":case"second":case"secs":case"sec":case"s":return r*jn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function yC(t){var e=Math.abs(t);return e>=ln?Math.round(t/ln)+"d":e>=Un?Math.round(t/Un)+"h":e>=Ln?Math.round(t/Ln)+"m":e>=jn?Math.round(t/jn)+"s":t+"ms"}function _C(t){var e=Math.abs(t);return e>=ln?ii(t,e,ln,"day"):e>=Un?ii(t,e,Un,"hour"):e>=Ln?ii(t,e,Ln,"minute"):e>=jn?ii(t,e,jn,"second"):t+" ms"}function ii(t,e,r,n){var o=e>=r*1.5;return Math.round(t/r)+" "+n+(o?"s":"")}});var Zu=V((jR,np)=>{function bC(t){r.debug=r,r.default=r,r.coerce=l,r.disable=a,r.enable=o,r.enabled=c,r.humanize=rp(),r.destroy=d,Object.keys(t).forEach(f=>{r[f]=t[f]}),r.names=[],r.skips=[],r.formatters={};function e(f){let p=0;for(let g=0;g<f.length;g++)p=(p<<5)-p+f.charCodeAt(g),p|=0;return r.colors[Math.abs(p)%r.colors.length]}r.selectColor=e;function r(f){let p,g=null,A,w;function _(...y){if(!_.enabled)return;let m=_,v=Number(new Date),b=v-(p||v);m.diff=b,m.prev=p,m.curr=v,p=v,y[0]=r.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let S=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(O,q)=>{if(O==="%%")return"%";S++;let J=r.formatters[q];if(typeof J=="function"){let B=y[S];O=J.call(m,B),y.splice(S,1),S--}return O}),r.formatArgs.call(m,y),(m.log||r.log).apply(m,y)}return _.namespace=f,_.useColors=r.useColors(),_.color=r.selectColor(f),_.extend=n,_.destroy=r.destroy,Object.defineProperty(_,"enabled",{enumerable:!0,configurable:!1,get:()=>g!==null?g:(A!==r.namespaces&&(A=r.namespaces,w=r.enabled(f)),w),set:y=>{g=y}}),typeof r.init=="function"&&r.init(_),_}function n(f,p){let g=r(this.namespace+(typeof p>"u"?":":p)+f);return g.log=this.log,g}function o(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let p=(typeof f=="string"?f:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let g of p)g[0]==="-"?r.skips.push(g.slice(1)):r.names.push(g)}function s(f,p){let g=0,A=0,w=-1,_=0;for(;g<f.length;)if(A<p.length&&(p[A]===f[g]||p[A]==="*"))p[A]==="*"?(w=A,_=g,A++):(g++,A++);else if(w!==-1)A=w+1,_++,g=_;else return!1;for(;A<p.length&&p[A]==="*";)A++;return A===p.length}function a(){let f=[...r.names,...r.skips.map(p=>"-"+p)].join(",");return r.enable(""),f}function c(f){for(let p of r.skips)if(s(f,p))return!1;for(let p of r.names)if(s(f,p))return!0;return!1}function l(f){return f instanceof Error?f.stack||f.message:f}function d(){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 r.enable(r.load()),r}np.exports=bC});var op=V((at,ai)=>{at.formatArgs=wC;at.save=EC;at.load=AC;at.useColors=CC;at.storage=SC();at.destroy=(()=>{let t=!1;return()=>{t||(t=!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`."))}})();at.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 CC(){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 t;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&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function wC(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+ai.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(r++,o==="%c"&&(n=r))}),t.splice(n,0,e)}at.log=console.debug||console.log||(()=>{});function EC(t){try{t?at.storage.setItem("debug",t):at.storage.removeItem("debug")}catch{}}function AC(){let t;try{t=at.storage.getItem("debug")||at.storage.getItem("DEBUG")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function SC(){try{return localStorage}catch{}}ai.exports=Zu()(at);var{formatters:kC}=ai.exports;kC.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var ip=V((LR,sp)=>{"use strict";sp.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",n=e.indexOf(r+t),o=e.indexOf("--");return n!==-1&&(o===-1||n<o)}});var cp=V((UR,up)=>{"use strict";var vC=X("os"),ap=X("tty"),kt=ip(),{env:We}=process,Ur;kt("no-color")||kt("no-colors")||kt("color=false")||kt("color=never")?Ur=0:(kt("color")||kt("colors")||kt("color=true")||kt("color=always"))&&(Ur=1);"FORCE_COLOR"in We&&(We.FORCE_COLOR==="true"?Ur=1:We.FORCE_COLOR==="false"?Ur=0:Ur=We.FORCE_COLOR.length===0?1:Math.min(parseInt(We.FORCE_COLOR,10),3));function ec(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function tc(t,e){if(Ur===0)return 0;if(kt("color=16m")||kt("color=full")||kt("color=truecolor"))return 3;if(kt("color=256"))return 2;if(t&&!e&&Ur===void 0)return 0;let r=Ur||0;if(We.TERM==="dumb")return r;if(process.platform==="win32"){let n=vC.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in We)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in We)||We.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in We)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(We.TEAMCITY_VERSION)?1:0;if(We.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in We){let n=parseInt((We.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(We.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(We.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(We.TERM)||"COLORTERM"in We?1:r}function TC(t){let e=tc(t,t&&t.isTTY);return ec(e)}up.exports={supportsColor:TC,stdout:ec(tc(!0,ap.isatty(1))),stderr:ec(tc(!0,ap.isatty(2)))}});var dp=V((Ge,ci)=>{var DC=X("tty"),ui=X("util");Ge.init=BC;Ge.log=FC;Ge.formatArgs=xC;Ge.save=PC;Ge.load=IC;Ge.useColors=RC;Ge.destroy=ui.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Ge.colors=[6,2,3,4,5,1];try{let t=cp();t&&(t.stderr||t).level>=2&&(Ge.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{}Ge.inspectOpts=Object.keys(process.env).filter(t=>/^debug_/i.test(t)).reduce((t,e)=>{let r=e.substring(6).toLowerCase().replace(/_([a-z])/g,(o,s)=>s.toUpperCase()),n=process.env[e];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),t[r]=n,t},{});function RC(){return"colors"in Ge.inspectOpts?!!Ge.inspectOpts.colors:DC.isatty(process.stderr.fd)}function xC(t){let{namespace:e,useColors:r}=this;if(r){let n=this.color,o="\x1B[3"+(n<8?n:"8;5;"+n),s=` ${o};1m${e} \x1B[0m`;t[0]=s+t[0].split(`
|
|
16
16
|
`).join(`
|
|
17
17
|
`+s),t.push(o+"m+"+ci.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=OC()+e+" "+t[0]}function OC(){return Ge.inspectOpts.hideDate?"":new Date().toISOString()+" "}function FC(...t){return process.stderr.write(ui.formatWithOptions(Ge.inspectOpts,...t)+`
|
|
18
18
|
`)}function PC(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function IC(){return process.env.DEBUG}function BC(t){t.inspectOpts={};let e=Object.keys(Ge.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=Ge.inspectOpts[e[r]]}ci.exports=Zu()(Ge);var{formatters:lp}=ci.exports;lp.o=function(t){return this.inspectOpts.colors=this.useColors,ui.inspect(t,this.inspectOpts).split(`
|
|
19
19
|
`).map(e=>e.trim()).join(" ")};lp.O=function(t){return this.inspectOpts.colors=this.useColors,ui.inspect(t,this.inspectOpts)}});var nc=V(($R,rc)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?rc.exports=op():rc.exports=dp()});var pp=V(ut=>{"use strict";var NC=ut&&ut.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),MC=ut&&ut.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),fp=ut&&ut.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&NC(e,t,r);return MC(e,t),e};Object.defineProperty(ut,"__esModule",{value:!0});ut.req=ut.json=ut.toBuffer=void 0;var jC=fp(X("http")),LC=fp(X("https"));async function hp(t){let e=0,r=[];for await(let n of t)e+=n.length,r.push(n);return Buffer.concat(r,e)}ut.toBuffer=hp;async function UC(t){let r=(await hp(t)).toString("utf8");try{return JSON.parse(r)}catch(n){let o=n;throw o.message+=` (input: ${r})`,o}}ut.json=UC;function $C(t,e={}){let n=((typeof t=="string"?t:t.href).startsWith("https:")?LC:jC).request(t,e),o=new Promise((s,a)=>{n.once("response",s).once("error",a).end()});return n.then=o.then.bind(o),n}ut.req=$C});var _p=V(ht=>{"use strict";var gp=ht&&ht.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),qC=ht&&ht.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),yp=ht&&ht.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&gp(e,t,r);return qC(e,t),e},zC=ht&&ht.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&gp(e,t,r)};Object.defineProperty(ht,"__esModule",{value:!0});ht.Agent=void 0;var HC=yp(X("net")),mp=yp(X("http")),WC=X("https");zC(pp(),ht);var Qt=Symbol("AgentBaseInternalState"),oc=class extends mp.Agent{constructor(e){super(e),this[Qt]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint=="boolean")return e.secureEndpoint;if(typeof e.protocol=="string")return e.protocol==="https:"}let{stack:r}=new Error;return typeof r!="string"?!1:r.split(`
|
|
20
|
-
`).some(n=>n.indexOf("(https.js:")!==-1||n.indexOf("node:https:")!==-1)}incrementSockets(e){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[e]||(this.sockets[e]=[]);let r=new HC.Socket({writable:!1});return this.sockets[e].push(r),this.totalSocketCount++,r}decrementSockets(e,r){if(!this.sockets[e]||r===null)return;let n=this.sockets[e],o=n.indexOf(r);o!==-1&&(n.splice(o,1),this.totalSocketCount--,n.length===0&&delete this.sockets[e])}getName(e){return this.isSecureEndpoint(e)?WC.Agent.prototype.getName.call(this,e):super.getName(e)}createSocket(e,r,n){let o={...r,secureEndpoint:this.isSecureEndpoint(r)},s=this.getName(o),a=this.incrementSockets(s);Promise.resolve().then(()=>this.connect(e,o)).then(c=>{if(this.decrementSockets(s,a),c instanceof mp.Agent)try{return c.addRequest(e,o)}catch(l){return n(l)}this[Qt].currentSocket=c,super.createSocket(e,r,n)},c=>{this.decrementSockets(s,a),n(c)})}createConnection(){let e=this[Qt].currentSocket;if(this[Qt].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[Qt].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[Qt]&&(this[Qt].defaultPort=e)}get protocol(){return this[Qt].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[Qt]&&(this[Qt].protocol=e)}};ht.Agent=oc});var bp=V($n=>{"use strict";var GC=$n&&$n.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty($n,"__esModule",{value:!0});$n.parseProxyResponse=void 0;var JC=GC(nc()),li=(0,JC.default)("https-proxy-agent:parse-proxy-response");function VC(t){return new Promise((e,r)=>{let n=0,o=[];function s(){let f=t.read();f?d(f):t.once("readable",s)}function a(){t.removeListener("end",c),t.removeListener("error",l),t.removeListener("readable",s)}function c(){a(),li("onend"),r(new Error("Proxy connection ended before receiving CONNECT response"))}function l(f){a(),li("onerror %o",f),r(f)}function d(f){o.push(f),n+=f.length;let p=Buffer.concat(o,n),
|
|
20
|
+
`).some(n=>n.indexOf("(https.js:")!==-1||n.indexOf("node:https:")!==-1)}incrementSockets(e){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[e]||(this.sockets[e]=[]);let r=new HC.Socket({writable:!1});return this.sockets[e].push(r),this.totalSocketCount++,r}decrementSockets(e,r){if(!this.sockets[e]||r===null)return;let n=this.sockets[e],o=n.indexOf(r);o!==-1&&(n.splice(o,1),this.totalSocketCount--,n.length===0&&delete this.sockets[e])}getName(e){return this.isSecureEndpoint(e)?WC.Agent.prototype.getName.call(this,e):super.getName(e)}createSocket(e,r,n){let o={...r,secureEndpoint:this.isSecureEndpoint(r)},s=this.getName(o),a=this.incrementSockets(s);Promise.resolve().then(()=>this.connect(e,o)).then(c=>{if(this.decrementSockets(s,a),c instanceof mp.Agent)try{return c.addRequest(e,o)}catch(l){return n(l)}this[Qt].currentSocket=c,super.createSocket(e,r,n)},c=>{this.decrementSockets(s,a),n(c)})}createConnection(){let e=this[Qt].currentSocket;if(this[Qt].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[Qt].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[Qt]&&(this[Qt].defaultPort=e)}get protocol(){return this[Qt].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[Qt]&&(this[Qt].protocol=e)}};ht.Agent=oc});var bp=V($n=>{"use strict";var GC=$n&&$n.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty($n,"__esModule",{value:!0});$n.parseProxyResponse=void 0;var JC=GC(nc()),li=(0,JC.default)("https-proxy-agent:parse-proxy-response");function VC(t){return new Promise((e,r)=>{let n=0,o=[];function s(){let f=t.read();f?d(f):t.once("readable",s)}function a(){t.removeListener("end",c),t.removeListener("error",l),t.removeListener("readable",s)}function c(){a(),li("onend"),r(new Error("Proxy connection ended before receiving CONNECT response"))}function l(f){a(),li("onerror %o",f),r(f)}function d(f){o.push(f),n+=f.length;let p=Buffer.concat(o,n),g=p.indexOf(`\r
|
|
21
21
|
\r
|
|
22
|
-
`);if(
|
|
23
|
-
`),w=A.shift();if(!w)return t.destroy(),r(new Error("No header received from proxy CONNECT response"));let _=w.split(" "),
|
|
24
|
-
`;if(n.username||n.password){let
|
|
22
|
+
`);if(g===-1){li("have not received end of HTTP headers yet..."),s();return}let A=p.slice(0,g).toString("ascii").split(`\r
|
|
23
|
+
`),w=A.shift();if(!w)return t.destroy(),r(new Error("No header received from proxy CONNECT response"));let _=w.split(" "),y=+_[1],m=_.slice(2).join(" "),v={};for(let b of A){if(!b)continue;let S=b.indexOf(":");if(S===-1)return t.destroy(),r(new Error(`Invalid header from proxy CONNECT response: "${b}"`));let D=b.slice(0,S).toLowerCase(),O=b.slice(S+1).trimStart(),q=v[D];typeof q=="string"?v[D]=[q,O]:Array.isArray(q)?q.push(O):v[D]=O}li("got proxy server response: %o %o",w,v),a(),e({connect:{statusCode:y,statusText:m,headers:v},buffered:p})}t.on("error",l),t.on("end",c),s()})}$n.parseProxyResponse=VC});var kp=V(vt=>{"use strict";var KC=vt&&vt.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),YC=vt&&vt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Ap=vt&&vt.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&KC(e,t,r);return YC(e,t),e},Sp=vt&&vt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(vt,"__esModule",{value:!0});vt.HttpsProxyAgent=void 0;var di=Ap(X("net")),Cp=Ap(X("tls")),QC=Sp(X("assert")),XC=Sp(nc()),ZC=_p(),ew=X("url"),tw=bp(),Oo=(0,XC.default)("https-proxy-agent"),wp=t=>t.servername===void 0&&t.host&&!di.isIP(t.host)?{...t,servername:t.host}:t,fi=class extends ZC.Agent{constructor(e,r){super(r),this.options={path:void 0},this.proxy=typeof e=="string"?new ew.URL(e):e,this.proxyHeaders=r?.headers??{},Oo("Creating new HttpsProxyAgent instance: %o",this.proxy.href);let n=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),o=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={ALPNProtocols:["http/1.1"],...r?Ep(r,"headers"):null,host:n,port:o}}async connect(e,r){let{proxy:n}=this;if(!r.host)throw new TypeError('No "host" provided');let o;n.protocol==="https:"?(Oo("Creating `tls.Socket`: %o",this.connectOpts),o=Cp.connect(wp(this.connectOpts))):(Oo("Creating `net.Socket`: %o",this.connectOpts),o=di.connect(this.connectOpts));let s=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},a=di.isIPv6(r.host)?`[${r.host}]`:r.host,c=`CONNECT ${a}:${r.port} HTTP/1.1\r
|
|
24
|
+
`;if(n.username||n.password){let g=`${decodeURIComponent(n.username)}:${decodeURIComponent(n.password)}`;s["Proxy-Authorization"]=`Basic ${Buffer.from(g).toString("base64")}`}s.Host=`${a}:${r.port}`,s["Proxy-Connection"]||(s["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let g of Object.keys(s))c+=`${g}: ${s[g]}\r
|
|
25
25
|
`;let l=(0,tw.parseProxyResponse)(o);o.write(`${c}\r
|
|
26
|
-
`);let{connect:d,buffered:f}=await l;if(e.emit("proxyConnect",d),this.emit("proxyConnect",d,e),d.statusCode===200)return e.once("socket",rw),r.secureEndpoint?(Oo("Upgrading socket connection to TLS"),Cp.connect({...Ep(wp(r),"host","path","port"),socket:o})):o;o.destroy();let p=new di.Socket({writable:!1});return p.readable=!0,e.once("socket",y=>{Oo("Replaying proxy buffer for failed request"),(0,QC.default)(y.listenerCount("data")>0),y.push(f),y.push(null)}),p}};fi.protocols=["http","https"];vt.HttpsProxyAgent=fi;function rw(t){t.resume()}function Ep(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}});function nw(t){if(!/^data:/i.test(t))throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');t=t.replace(/\r?\n/g,"");let e=t.indexOf(",");if(e===-1||e<=4)throw new TypeError("malformed data: URI");let r=t.substring(5,e).split(";"),n="",o=!1,s=r[0]||"text/plain",a=s;for(let f=1;f<r.length;f++)r[f]==="base64"?o=!0:r[f]&&(a+=`;${r[f]}`,r[f].indexOf("charset=")===0&&(n=r[f].substring(8)));!r[0]&&!n.length&&(a+=";charset=US-ASCII",n="US-ASCII");let c=o?"base64":"ascii",l=unescape(t.substring(e+1)),d=Buffer.from(l,c);return d.type=s,d.typeFull=a,d.charset=n,d}var vp,Tp=Me(()=>{vp=nw});var Rp=V((hi,Dp)=>{(function(t,e){typeof hi=="object"&&typeof Dp<"u"?e(hi):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis<"u"?globalThis:t||self,e(t.WebStreamsPolyfill={}))})(hi,(function(t){"use strict";function e(){}function r(i){return typeof i=="object"&&i!==null||typeof i=="function"}let n=e;function o(i,u){try{Object.defineProperty(i,"name",{value:u,configurable:!0})}catch{}}let s=Promise,a=Promise.prototype.then,c=Promise.reject.bind(s);function l(i){return new s(i)}function d(i){return l(u=>u(i))}function f(i){return c(i)}function p(i,u,h){return a.call(i,u,h)}function y(i,u,h){p(p(i,u,h),void 0,n)}function A(i,u){y(i,u)}function w(i,u){y(i,void 0,u)}function _(i,u,h){return p(i,u,h)}function g(i){p(i,void 0,n)}let m=i=>{if(typeof queueMicrotask=="function")m=queueMicrotask;else{let u=d(void 0);m=h=>p(u,h)}return m(i)};function v(i,u,h){if(typeof i!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(i,u,h)}function b(i,u,h){try{return d(v(i,u,h))}catch(E){return f(E)}}let S=16384;class D{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(u){let h=this._back,E=h;h._elements.length===S-1&&(E={_elements:[],_next:void 0}),h._elements.push(u),E!==h&&(this._back=E,h._next=E),++this._size}shift(){let u=this._front,h=u,E=this._cursor,R=E+1,L=u._elements,$=L[E];return R===S&&(h=u._next,R=0),--this._size,this._cursor=R,u!==h&&(this._front=h),L[E]=void 0,$}forEach(u){let h=this._cursor,E=this._front,R=E._elements;for(;(h!==R.length||E._next!==void 0)&&!(h===R.length&&(E=E._next,R=E._elements,h=0,R.length===0));)u(R[h]),++h}peek(){let u=this._front,h=this._cursor;return u._elements[h]}}let O=Symbol("[[AbortSteps]]"),q=Symbol("[[ErrorSteps]]"),J=Symbol("[[CancelSteps]]"),B=Symbol("[[PullSteps]]"),Y=Symbol("[[ReleaseSteps]]");function re(i,u){i._ownerReadableStream=u,u._reader=i,u._state==="readable"?Se(i):u._state==="closed"?me(i):se(i,u._storedError)}function ee(i,u){let h=i._ownerReadableStream;return Nt(h,u)}function ue(i){let u=i._ownerReadableStream;u._state==="readable"?G(i,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):K(i,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),u._readableStreamController[Y](),u._reader=void 0,i._ownerReadableStream=void 0}function fe(i){return new TypeError("Cannot "+i+" a stream using a released reader")}function Se(i){i._closedPromise=l((u,h)=>{i._closedPromise_resolve=u,i._closedPromise_reject=h})}function se(i,u){Se(i),G(i,u)}function me(i){Se(i),ce(i)}function G(i,u){i._closedPromise_reject!==void 0&&(g(i._closedPromise),i._closedPromise_reject(u),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0)}function K(i,u){se(i,u)}function ce(i){i._closedPromise_resolve!==void 0&&(i._closedPromise_resolve(void 0),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0)}let qe=Number.isFinite||function(i){return typeof i=="number"&&isFinite(i)},De=Math.trunc||function(i){return i<0?Math.ceil(i):Math.floor(i)};function W(i){return typeof i=="object"||typeof i=="function"}function de(i,u){if(i!==void 0&&!W(i))throw new TypeError(`${u} is not an object.`)}function _e(i,u){if(typeof i!="function")throw new TypeError(`${u} is not a function.`)}function It(i){return typeof i=="object"&&i!==null||typeof i=="function"}function xe(i,u){if(!It(i))throw new TypeError(`${u} is not an object.`)}function je(i,u,h){if(i===void 0)throw new TypeError(`Parameter ${u} is required in '${h}'.`)}function C(i,u,h){if(i===void 0)throw new TypeError(`${u} is required in '${h}'.`)}function k(i){return Number(i)}function T(i){return i===0?0:i}function M(i){return T(De(i))}function F(i,u){let E=Number.MAX_SAFE_INTEGER,R=Number(i);if(R=T(R),!qe(R))throw new TypeError(`${u} is not a finite number`);if(R=M(R),R<0||R>E)throw new TypeError(`${u} is outside the accepted range of 0 to ${E}, inclusive`);return!qe(R)||R===0?0:R}function I(i,u){if(!Ir(i))throw new TypeError(`${u} is not a ReadableStream.`)}function U(i){return new z(i)}function x(i,u){i._reader._readRequests.push(u)}function P(i,u,h){let R=i._reader._readRequests.shift();h?R._closeSteps():R._chunkSteps(u)}function j(i){return i._reader._readRequests.length}function N(i){let u=i._reader;return!(u===void 0||!Z(u))}class z{constructor(u){if(je(u,1,"ReadableStreamDefaultReader"),I(u,"First parameter"),Br(u))throw new TypeError("This stream has already been locked for exclusive reading by another reader");re(this,u),this._readRequests=new D}get closed(){return Z(this)?this._closedPromise:f(Ne("closed"))}cancel(u=void 0){return Z(this)?this._ownerReadableStream===void 0?f(fe("cancel")):ee(this,u):f(Ne("cancel"))}read(){if(!Z(this))return f(Ne("read"));if(this._ownerReadableStream===void 0)return f(fe("read from"));let u,h,E=l((L,$)=>{u=L,h=$});return te(this,{_chunkSteps:L=>u({value:L,done:!1}),_closeSteps:()=>u({value:void 0,done:!0}),_errorSteps:L=>h(L)}),E}releaseLock(){if(!Z(this))throw Ne("releaseLock");this._ownerReadableStream!==void 0&&Ae(this)}}Object.defineProperties(z.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),o(z.prototype.cancel,"cancel"),o(z.prototype.read,"read"),o(z.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(z.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});function Z(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_readRequests")?!1:i instanceof z}function te(i,u){let h=i._ownerReadableStream;h._disturbed=!0,h._state==="closed"?u._closeSteps():h._state==="errored"?u._errorSteps(h._storedError):h._readableStreamController[B](u)}function Ae(i){ue(i);let u=new TypeError("Reader was released");Pe(i,u)}function Pe(i,u){let h=i._readRequests;i._readRequests=new D,h.forEach(E=>{E._errorSteps(u)})}function Ne(i){return new TypeError(`ReadableStreamDefaultReader.prototype.${i} can only be used on a ReadableStreamDefaultReader`)}let we=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);class ke{constructor(u,h){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=u,this._preventCancel=h}next(){let u=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?_(this._ongoingPromise,u,u):u(),this._ongoingPromise}return(u){let h=()=>this._returnSteps(u);return this._ongoingPromise?_(this._ongoingPromise,h,h):h()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let u=this._reader,h,E,R=l(($,Q)=>{h=$,E=Q});return te(u,{_chunkSteps:$=>{this._ongoingPromise=void 0,m(()=>h({value:$,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,ue(u),h({value:void 0,done:!0})},_errorSteps:$=>{this._ongoingPromise=void 0,this._isFinished=!0,ue(u),E($)}}),R}_returnSteps(u){if(this._isFinished)return Promise.resolve({value:u,done:!0});this._isFinished=!0;let h=this._reader;if(!this._preventCancel){let E=ee(h,u);return ue(h),_(E,()=>({value:u,done:!0}))}return ue(h),d({value:u,done:!0})}}let Ue={next(){return Cn(this)?this._asyncIteratorImpl.next():f(wn("next"))},return(i){return Cn(this)?this._asyncIteratorImpl.return(i):f(wn("return"))}};Object.setPrototypeOf(Ue,we);function bn(i,u){let h=U(i),E=new ke(h,u),R=Object.create(Ue);return R._asyncIteratorImpl=E,R}function Cn(i){if(!r(i)||!Object.prototype.hasOwnProperty.call(i,"_asyncIteratorImpl"))return!1;try{return i._asyncIteratorImpl instanceof ke}catch{return!1}}function wn(i){return new TypeError(`ReadableStreamAsyncIterator.${i} can only be used on a ReadableSteamAsyncIterator`)}let dt=Number.isNaN||function(i){return i!==i};var lr,Ye,$e;function ve(i){return i.slice()}function nf(i,u,h,E,R){new Uint8Array(i).set(new Uint8Array(h,E,R),u)}let dr=i=>(typeof i.transfer=="function"?dr=u=>u.transfer():typeof structuredClone=="function"?dr=u=>structuredClone(u,{transfer:[u]}):dr=u=>u,dr(i)),xr=i=>(typeof i.detached=="boolean"?xr=u=>u.detached:xr=u=>u.byteLength===0,xr(i));function of(i,u,h){if(i.slice)return i.slice(u,h);let E=h-u,R=new ArrayBuffer(E);return nf(R,0,i,u,E),R}function gs(i,u){let h=i[u];if(h!=null){if(typeof h!="function")throw new TypeError(`${String(u)} is not a function`);return h}}function U0(i){let u={[Symbol.iterator]:()=>i.iterator},h=(async function*(){return yield*u})(),E=h.next;return{iterator:h,nextMethod:E,done:!1}}let eu=($e=(lr=Symbol.asyncIterator)!==null&&lr!==void 0?lr:(Ye=Symbol.for)===null||Ye===void 0?void 0:Ye.call(Symbol,"Symbol.asyncIterator"))!==null&&$e!==void 0?$e:"@@asyncIterator";function sf(i,u="sync",h){if(h===void 0)if(u==="async"){if(h=gs(i,eu),h===void 0){let L=gs(i,Symbol.iterator),$=sf(i,"sync",L);return U0($)}}else h=gs(i,Symbol.iterator);if(h===void 0)throw new TypeError("The object is not iterable");let E=v(h,i,[]);if(!r(E))throw new TypeError("The iterator method must return an object");let R=E.next;return{iterator:E,nextMethod:R,done:!1}}function $0(i){let u=v(i.nextMethod,i.iterator,[]);if(!r(u))throw new TypeError("The iterator.next() method must return an object");return u}function q0(i){return!!i.done}function z0(i){return i.value}function H0(i){return!(typeof i!="number"||dt(i)||i<0)}function af(i){let u=of(i.buffer,i.byteOffset,i.byteOffset+i.byteLength);return new Uint8Array(u)}function tu(i){let u=i._queue.shift();return i._queueTotalSize-=u.size,i._queueTotalSize<0&&(i._queueTotalSize=0),u.value}function ru(i,u,h){if(!H0(h)||h===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");i._queue.push({value:u,size:h}),i._queueTotalSize+=h}function W0(i){return i._queue.peek().value}function Or(i){i._queue=new D,i._queueTotalSize=0}function uf(i){return i===DataView}function G0(i){return uf(i.constructor)}function J0(i){return uf(i)?1:i.BYTES_PER_ELEMENT}class Xr{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!nu(this))throw uu("view");return this._view}respond(u){if(!nu(this))throw uu("respond");if(je(u,1,"respond"),u=F(u,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(xr(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");Cs(this._associatedReadableByteStreamController,u)}respondWithNewView(u){if(!nu(this))throw uu("respondWithNewView");if(je(u,1,"respondWithNewView"),!ArrayBuffer.isView(u))throw new TypeError("You can only respond with array buffer views");if(this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(xr(u.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");ws(this._associatedReadableByteStreamController,u)}}Object.defineProperties(Xr.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),o(Xr.prototype.respond,"respond"),o(Xr.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Xr.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class fr{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!Zr(this))throw bo("byobRequest");return au(this)}get desiredSize(){if(!Zr(this))throw bo("desiredSize");return _f(this)}close(){if(!Zr(this))throw bo("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let u=this._controlledReadableByteStream._state;if(u!=="readable")throw new TypeError(`The stream (in ${u} state) is not in the readable state and cannot be closed`);_o(this)}enqueue(u){if(!Zr(this))throw bo("enqueue");if(je(u,1,"enqueue"),!ArrayBuffer.isView(u))throw new TypeError("chunk must be an array buffer view");if(u.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(u.buffer.byteLength===0)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");let h=this._controlledReadableByteStream._state;if(h!=="readable")throw new TypeError(`The stream (in ${h} state) is not in the readable state and cannot be enqueued to`);bs(this,u)}error(u=void 0){if(!Zr(this))throw bo("error");Et(this,u)}[J](u){cf(this),Or(this);let h=this._cancelAlgorithm(u);return _s(this),h}[B](u){let h=this._controlledReadableByteStream;if(this._queueTotalSize>0){yf(this,u);return}let E=this._autoAllocateChunkSize;if(E!==void 0){let R;try{R=new ArrayBuffer(E)}catch($){u._errorSteps($);return}let L={buffer:R,bufferByteLength:E,byteOffset:0,byteLength:E,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(L)}x(h,u),en(this)}[Y](){if(this._pendingPullIntos.length>0){let u=this._pendingPullIntos.peek();u.readerType="none",this._pendingPullIntos=new D,this._pendingPullIntos.push(u)}}}Object.defineProperties(fr.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),o(fr.prototype.close,"close"),o(fr.prototype.enqueue,"enqueue"),o(fr.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(fr.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});function Zr(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableByteStream")?!1:i instanceof fr}function nu(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_associatedReadableByteStreamController")?!1:i instanceof Xr}function en(i){if(!X0(i))return;if(i._pulling){i._pullAgain=!0;return}i._pulling=!0;let h=i._pullAlgorithm();y(h,()=>(i._pulling=!1,i._pullAgain&&(i._pullAgain=!1,en(i)),null),E=>(Et(i,E),null))}function cf(i){su(i),i._pendingPullIntos=new D}function ou(i,u){let h=!1;i._state==="closed"&&(h=!0);let E=lf(u);u.readerType==="default"?P(i,E,h):o_(i,E,h)}function lf(i){let u=i.bytesFilled,h=i.elementSize;return new i.viewConstructor(i.buffer,i.byteOffset,u/h)}function ys(i,u,h,E){i._queue.push({buffer:u,byteOffset:h,byteLength:E}),i._queueTotalSize+=E}function df(i,u,h,E){let R;try{R=of(u,h,h+E)}catch(L){throw Et(i,L),L}ys(i,R,0,E)}function ff(i,u){u.bytesFilled>0&&df(i,u.buffer,u.byteOffset,u.bytesFilled),En(i)}function hf(i,u){let h=Math.min(i._queueTotalSize,u.byteLength-u.bytesFilled),E=u.bytesFilled+h,R=h,L=!1,$=E%u.elementSize,Q=E-$;Q>=u.minimumFill&&(R=Q-u.bytesFilled,L=!0);let le=i._queue;for(;R>0;){let oe=le.peek(),he=Math.min(R,oe.byteLength),ye=u.byteOffset+u.bytesFilled;nf(u.buffer,ye,oe.buffer,oe.byteOffset,he),oe.byteLength===he?le.shift():(oe.byteOffset+=he,oe.byteLength-=he),i._queueTotalSize-=he,pf(i,he,u),R-=he}return L}function pf(i,u,h){h.bytesFilled+=u}function mf(i){i._queueTotalSize===0&&i._closeRequested?(_s(i),ko(i._controlledReadableByteStream)):en(i)}function su(i){i._byobRequest!==null&&(i._byobRequest._associatedReadableByteStreamController=void 0,i._byobRequest._view=null,i._byobRequest=null)}function iu(i){for(;i._pendingPullIntos.length>0;){if(i._queueTotalSize===0)return;let u=i._pendingPullIntos.peek();hf(i,u)&&(En(i),ou(i._controlledReadableByteStream,u))}}function V0(i){let u=i._controlledReadableByteStream._reader;for(;u._readRequests.length>0;){if(i._queueTotalSize===0)return;let h=u._readRequests.shift();yf(i,h)}}function K0(i,u,h,E){let R=i._controlledReadableByteStream,L=u.constructor,$=J0(L),{byteOffset:Q,byteLength:le}=u,oe=h*$,he;try{he=dr(u.buffer)}catch(Re){E._errorSteps(Re);return}let ye={buffer:he,bufferByteLength:he.byteLength,byteOffset:Q,byteLength:le,bytesFilled:0,minimumFill:oe,elementSize:$,viewConstructor:L,readerType:"byob"};if(i._pendingPullIntos.length>0){i._pendingPullIntos.push(ye),wf(R,E);return}if(R._state==="closed"){let Re=new L(ye.buffer,ye.byteOffset,0);E._closeSteps(Re);return}if(i._queueTotalSize>0){if(hf(i,ye)){let Re=lf(ye);mf(i),E._chunkSteps(Re);return}if(i._closeRequested){let Re=new TypeError("Insufficient bytes to fill elements in the given buffer");Et(i,Re),E._errorSteps(Re);return}}i._pendingPullIntos.push(ye),wf(R,E),en(i)}function Y0(i,u){u.readerType==="none"&&En(i);let h=i._controlledReadableByteStream;if(cu(h))for(;Ef(h)>0;){let E=En(i);ou(h,E)}}function Q0(i,u,h){if(pf(i,u,h),h.readerType==="none"){ff(i,h),iu(i);return}if(h.bytesFilled<h.minimumFill)return;En(i);let E=h.bytesFilled%h.elementSize;if(E>0){let R=h.byteOffset+h.bytesFilled;df(i,h.buffer,R-E,E)}h.bytesFilled-=E,ou(i._controlledReadableByteStream,h),iu(i)}function gf(i,u){let h=i._pendingPullIntos.peek();su(i),i._controlledReadableByteStream._state==="closed"?Y0(i,h):Q0(i,u,h),en(i)}function En(i){return i._pendingPullIntos.shift()}function X0(i){let u=i._controlledReadableByteStream;return u._state!=="readable"||i._closeRequested||!i._started?!1:!!(N(u)&&j(u)>0||cu(u)&&Ef(u)>0||_f(i)>0)}function _s(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0}function _o(i){let u=i._controlledReadableByteStream;if(!(i._closeRequested||u._state!=="readable")){if(i._queueTotalSize>0){i._closeRequested=!0;return}if(i._pendingPullIntos.length>0){let h=i._pendingPullIntos.peek();if(h.bytesFilled%h.elementSize!==0){let E=new TypeError("Insufficient bytes to fill elements in the given buffer");throw Et(i,E),E}}_s(i),ko(u)}}function bs(i,u){let h=i._controlledReadableByteStream;if(i._closeRequested||h._state!=="readable")return;let{buffer:E,byteOffset:R,byteLength:L}=u;if(xr(E))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let $=dr(E);if(i._pendingPullIntos.length>0){let Q=i._pendingPullIntos.peek();if(xr(Q.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");su(i),Q.buffer=dr(Q.buffer),Q.readerType==="none"&&ff(i,Q)}if(N(h))if(V0(i),j(h)===0)ys(i,$,R,L);else{i._pendingPullIntos.length>0&&En(i);let Q=new Uint8Array($,R,L);P(h,Q,!1)}else cu(h)?(ys(i,$,R,L),iu(i)):ys(i,$,R,L);en(i)}function Et(i,u){let h=i._controlledReadableByteStream;h._state==="readable"&&(cf(i),Or(i),_s(i),Gf(h,u))}function yf(i,u){let h=i._queue.shift();i._queueTotalSize-=h.byteLength,mf(i);let E=new Uint8Array(h.buffer,h.byteOffset,h.byteLength);u._chunkSteps(E)}function au(i){if(i._byobRequest===null&&i._pendingPullIntos.length>0){let u=i._pendingPullIntos.peek(),h=new Uint8Array(u.buffer,u.byteOffset+u.bytesFilled,u.byteLength-u.bytesFilled),E=Object.create(Xr.prototype);e_(E,i,h),i._byobRequest=E}return i._byobRequest}function _f(i){let u=i._controlledReadableByteStream._state;return u==="errored"?null:u==="closed"?0:i._strategyHWM-i._queueTotalSize}function Cs(i,u){let h=i._pendingPullIntos.peek();if(i._controlledReadableByteStream._state==="closed"){if(u!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(u===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(h.bytesFilled+u>h.byteLength)throw new RangeError("bytesWritten out of range")}h.buffer=dr(h.buffer),gf(i,u)}function ws(i,u){let h=i._pendingPullIntos.peek();if(i._controlledReadableByteStream._state==="closed"){if(u.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(u.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(h.byteOffset+h.bytesFilled!==u.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(h.bufferByteLength!==u.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(h.bytesFilled+u.byteLength>h.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let R=u.byteLength;h.buffer=dr(u.buffer),gf(i,R)}function bf(i,u,h,E,R,L,$){u._controlledReadableByteStream=i,u._pullAgain=!1,u._pulling=!1,u._byobRequest=null,u._queue=u._queueTotalSize=void 0,Or(u),u._closeRequested=!1,u._started=!1,u._strategyHWM=L,u._pullAlgorithm=E,u._cancelAlgorithm=R,u._autoAllocateChunkSize=$,u._pendingPullIntos=new D,i._readableStreamController=u;let Q=h();y(d(Q),()=>(u._started=!0,en(u),null),le=>(Et(u,le),null))}function Z0(i,u,h){let E=Object.create(fr.prototype),R,L,$;u.start!==void 0?R=()=>u.start(E):R=()=>{},u.pull!==void 0?L=()=>u.pull(E):L=()=>d(void 0),u.cancel!==void 0?$=le=>u.cancel(le):$=()=>d(void 0);let Q=u.autoAllocateChunkSize;if(Q===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");bf(i,E,R,L,$,h,Q)}function e_(i,u,h){i._associatedReadableByteStreamController=u,i._view=h}function uu(i){return new TypeError(`ReadableStreamBYOBRequest.prototype.${i} can only be used on a ReadableStreamBYOBRequest`)}function bo(i){return new TypeError(`ReadableByteStreamController.prototype.${i} can only be used on a ReadableByteStreamController`)}function t_(i,u){de(i,u);let h=i?.mode;return{mode:h===void 0?void 0:r_(h,`${u} has member 'mode' that`)}}function r_(i,u){if(i=`${i}`,i!=="byob")throw new TypeError(`${u} '${i}' is not a valid enumeration value for ReadableStreamReaderMode`);return i}function n_(i,u){var h;de(i,u);let E=(h=i?.min)!==null&&h!==void 0?h:1;return{min:F(E,`${u} has member 'min' that`)}}function Cf(i){return new Fr(i)}function wf(i,u){i._reader._readIntoRequests.push(u)}function o_(i,u,h){let R=i._reader._readIntoRequests.shift();h?R._closeSteps(u):R._chunkSteps(u)}function Ef(i){return i._reader._readIntoRequests.length}function cu(i){let u=i._reader;return!(u===void 0||!tn(u))}class Fr{constructor(u){if(je(u,1,"ReadableStreamBYOBReader"),I(u,"First parameter"),Br(u))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!Zr(u._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");re(this,u),this._readIntoRequests=new D}get closed(){return tn(this)?this._closedPromise:f(Es("closed"))}cancel(u=void 0){return tn(this)?this._ownerReadableStream===void 0?f(fe("cancel")):ee(this,u):f(Es("cancel"))}read(u,h={}){if(!tn(this))return f(Es("read"));if(!ArrayBuffer.isView(u))return f(new TypeError("view must be an array buffer view"));if(u.byteLength===0)return f(new TypeError("view must have non-zero byteLength"));if(u.buffer.byteLength===0)return f(new TypeError("view's buffer must have non-zero byteLength"));if(xr(u.buffer))return f(new TypeError("view's buffer has been detached"));let E;try{E=n_(h,"options")}catch(oe){return f(oe)}let R=E.min;if(R===0)return f(new TypeError("options.min must be greater than 0"));if(G0(u)){if(R>u.byteLength)return f(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(R>u.length)return f(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return f(fe("read from"));let L,$,Q=l((oe,he)=>{L=oe,$=he});return Af(this,u,R,{_chunkSteps:oe=>L({value:oe,done:!1}),_closeSteps:oe=>L({value:oe,done:!0}),_errorSteps:oe=>$(oe)}),Q}releaseLock(){if(!tn(this))throw Es("releaseLock");this._ownerReadableStream!==void 0&&s_(this)}}Object.defineProperties(Fr.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),o(Fr.prototype.cancel,"cancel"),o(Fr.prototype.read,"read"),o(Fr.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Fr.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});function tn(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_readIntoRequests")?!1:i instanceof Fr}function Af(i,u,h,E){let R=i._ownerReadableStream;R._disturbed=!0,R._state==="errored"?E._errorSteps(R._storedError):K0(R._readableStreamController,u,h,E)}function s_(i){ue(i);let u=new TypeError("Reader was released");Sf(i,u)}function Sf(i,u){let h=i._readIntoRequests;i._readIntoRequests=new D,h.forEach(E=>{E._errorSteps(u)})}function Es(i){return new TypeError(`ReadableStreamBYOBReader.prototype.${i} can only be used on a ReadableStreamBYOBReader`)}function Co(i,u){let{highWaterMark:h}=i;if(h===void 0)return u;if(dt(h)||h<0)throw new RangeError("Invalid highWaterMark");return h}function As(i){let{size:u}=i;return u||(()=>1)}function Ss(i,u){de(i,u);let h=i?.highWaterMark,E=i?.size;return{highWaterMark:h===void 0?void 0:k(h),size:E===void 0?void 0:i_(E,`${u} has member 'size' that`)}}function i_(i,u){return _e(i,u),h=>k(i(h))}function a_(i,u){de(i,u);let h=i?.abort,E=i?.close,R=i?.start,L=i?.type,$=i?.write;return{abort:h===void 0?void 0:u_(h,i,`${u} has member 'abort' that`),close:E===void 0?void 0:c_(E,i,`${u} has member 'close' that`),start:R===void 0?void 0:l_(R,i,`${u} has member 'start' that`),write:$===void 0?void 0:d_($,i,`${u} has member 'write' that`),type:L}}function u_(i,u,h){return _e(i,h),E=>b(i,u,[E])}function c_(i,u,h){return _e(i,h),()=>b(i,u,[])}function l_(i,u,h){return _e(i,h),E=>v(i,u,[E])}function d_(i,u,h){return _e(i,h),(E,R)=>b(i,u,[E,R])}function kf(i,u){if(!An(i))throw new TypeError(`${u} is not a WritableStream.`)}function f_(i){if(typeof i!="object"||i===null)return!1;try{return typeof i.aborted=="boolean"}catch{return!1}}let h_=typeof AbortController=="function";function p_(){if(h_)return new AbortController}class Pr{constructor(u={},h={}){u===void 0?u=null:xe(u,"First parameter");let E=Ss(h,"Second parameter"),R=a_(u,"First parameter");if(Tf(this),R.type!==void 0)throw new RangeError("Invalid type is specified");let $=As(E),Q=Co(E,1);D_(this,R,Q,$)}get locked(){if(!An(this))throw Rs("locked");return Sn(this)}abort(u=void 0){return An(this)?Sn(this)?f(new TypeError("Cannot abort a stream that already has a writer")):ks(this,u):f(Rs("abort"))}close(){return An(this)?Sn(this)?f(new TypeError("Cannot close a stream that already has a writer")):Kt(this)?f(new TypeError("Cannot close an already-closing stream")):Df(this):f(Rs("close"))}getWriter(){if(!An(this))throw Rs("getWriter");return vf(this)}}Object.defineProperties(Pr.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),o(Pr.prototype.abort,"abort"),o(Pr.prototype.close,"close"),o(Pr.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Pr.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});function vf(i){return new hr(i)}function m_(i,u,h,E,R=1,L=()=>1){let $=Object.create(Pr.prototype);Tf($);let Q=Object.create(kn.prototype);return If($,Q,i,u,h,E,R,L),$}function Tf(i){i._state="writable",i._storedError=void 0,i._writer=void 0,i._writableStreamController=void 0,i._writeRequests=new D,i._inFlightWriteRequest=void 0,i._closeRequest=void 0,i._inFlightCloseRequest=void 0,i._pendingAbortRequest=void 0,i._backpressure=!1}function An(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_writableStreamController")?!1:i instanceof Pr}function Sn(i){return i._writer!==void 0}function ks(i,u){var h;if(i._state==="closed"||i._state==="errored")return d(void 0);i._writableStreamController._abortReason=u,(h=i._writableStreamController._abortController)===null||h===void 0||h.abort(u);let E=i._state;if(E==="closed"||E==="errored")return d(void 0);if(i._pendingAbortRequest!==void 0)return i._pendingAbortRequest._promise;let R=!1;E==="erroring"&&(R=!0,u=void 0);let L=l(($,Q)=>{i._pendingAbortRequest={_promise:void 0,_resolve:$,_reject:Q,_reason:u,_wasAlreadyErroring:R}});return i._pendingAbortRequest._promise=L,R||du(i,u),L}function Df(i){let u=i._state;if(u==="closed"||u==="errored")return f(new TypeError(`The stream (in ${u} state) is not in the writable state and cannot be closed`));let h=l((R,L)=>{let $={_resolve:R,_reject:L};i._closeRequest=$}),E=i._writer;return E!==void 0&&i._backpressure&&u==="writable"&&bu(E),R_(i._writableStreamController),h}function g_(i){return l((h,E)=>{let R={_resolve:h,_reject:E};i._writeRequests.push(R)})}function lu(i,u){if(i._state==="writable"){du(i,u);return}fu(i)}function du(i,u){let h=i._writableStreamController;i._state="erroring",i._storedError=u;let E=i._writer;E!==void 0&&xf(E,u),!w_(i)&&h._started&&fu(i)}function fu(i){i._state="errored",i._writableStreamController[q]();let u=i._storedError;if(i._writeRequests.forEach(R=>{R._reject(u)}),i._writeRequests=new D,i._pendingAbortRequest===void 0){vs(i);return}let h=i._pendingAbortRequest;if(i._pendingAbortRequest=void 0,h._wasAlreadyErroring){h._reject(u),vs(i);return}let E=i._writableStreamController[O](h._reason);y(E,()=>(h._resolve(),vs(i),null),R=>(h._reject(R),vs(i),null))}function y_(i){i._inFlightWriteRequest._resolve(void 0),i._inFlightWriteRequest=void 0}function __(i,u){i._inFlightWriteRequest._reject(u),i._inFlightWriteRequest=void 0,lu(i,u)}function b_(i){i._inFlightCloseRequest._resolve(void 0),i._inFlightCloseRequest=void 0,i._state==="erroring"&&(i._storedError=void 0,i._pendingAbortRequest!==void 0&&(i._pendingAbortRequest._resolve(),i._pendingAbortRequest=void 0)),i._state="closed";let h=i._writer;h!==void 0&&jf(h)}function C_(i,u){i._inFlightCloseRequest._reject(u),i._inFlightCloseRequest=void 0,i._pendingAbortRequest!==void 0&&(i._pendingAbortRequest._reject(u),i._pendingAbortRequest=void 0),lu(i,u)}function Kt(i){return!(i._closeRequest===void 0&&i._inFlightCloseRequest===void 0)}function w_(i){return!(i._inFlightWriteRequest===void 0&&i._inFlightCloseRequest===void 0)}function E_(i){i._inFlightCloseRequest=i._closeRequest,i._closeRequest=void 0}function A_(i){i._inFlightWriteRequest=i._writeRequests.shift()}function vs(i){i._closeRequest!==void 0&&(i._closeRequest._reject(i._storedError),i._closeRequest=void 0);let u=i._writer;u!==void 0&&yu(u,i._storedError)}function hu(i,u){let h=i._writer;h!==void 0&&u!==i._backpressure&&(u?N_(h):bu(h)),i._backpressure=u}class hr{constructor(u){if(je(u,1,"WritableStreamDefaultWriter"),kf(u,"First parameter"),Sn(u))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=u,u._writer=this;let h=u._state;if(h==="writable")!Kt(u)&&u._backpressure?Os(this):Lf(this),xs(this);else if(h==="erroring")_u(this,u._storedError),xs(this);else if(h==="closed")Lf(this),I_(this);else{let E=u._storedError;_u(this,E),Mf(this,E)}}get closed(){return rn(this)?this._closedPromise:f(nn("closed"))}get desiredSize(){if(!rn(this))throw nn("desiredSize");if(this._ownerWritableStream===void 0)throw Eo("desiredSize");return T_(this)}get ready(){return rn(this)?this._readyPromise:f(nn("ready"))}abort(u=void 0){return rn(this)?this._ownerWritableStream===void 0?f(Eo("abort")):S_(this,u):f(nn("abort"))}close(){if(!rn(this))return f(nn("close"));let u=this._ownerWritableStream;return u===void 0?f(Eo("close")):Kt(u)?f(new TypeError("Cannot close an already-closing stream")):Rf(this)}releaseLock(){if(!rn(this))throw nn("releaseLock");this._ownerWritableStream!==void 0&&Of(this)}write(u=void 0){return rn(this)?this._ownerWritableStream===void 0?f(Eo("write to")):Ff(this,u):f(nn("write"))}}Object.defineProperties(hr.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),o(hr.prototype.abort,"abort"),o(hr.prototype.close,"close"),o(hr.prototype.releaseLock,"releaseLock"),o(hr.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(hr.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});function rn(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_ownerWritableStream")?!1:i instanceof hr}function S_(i,u){let h=i._ownerWritableStream;return ks(h,u)}function Rf(i){let u=i._ownerWritableStream;return Df(u)}function k_(i){let u=i._ownerWritableStream,h=u._state;return Kt(u)||h==="closed"?d(void 0):h==="errored"?f(u._storedError):Rf(i)}function v_(i,u){i._closedPromiseState==="pending"?yu(i,u):B_(i,u)}function xf(i,u){i._readyPromiseState==="pending"?Uf(i,u):M_(i,u)}function T_(i){let u=i._ownerWritableStream,h=u._state;return h==="errored"||h==="erroring"?null:h==="closed"?0:Bf(u._writableStreamController)}function Of(i){let u=i._ownerWritableStream,h=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");xf(i,h),v_(i,h),u._writer=void 0,i._ownerWritableStream=void 0}function Ff(i,u){let h=i._ownerWritableStream,E=h._writableStreamController,R=x_(E,u);if(h!==i._ownerWritableStream)return f(Eo("write to"));let L=h._state;if(L==="errored")return f(h._storedError);if(Kt(h)||L==="closed")return f(new TypeError("The stream is closing or closed and cannot be written to"));if(L==="erroring")return f(h._storedError);let $=g_(h);return O_(E,u,R),$}let Pf={};class kn{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!pu(this))throw gu("abortReason");return this._abortReason}get signal(){if(!pu(this))throw gu("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(u=void 0){if(!pu(this))throw gu("error");this._controlledWritableStream._state==="writable"&&Nf(this,u)}[O](u){let h=this._abortAlgorithm(u);return Ts(this),h}[q](){Or(this)}}Object.defineProperties(kn.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(kn.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});function pu(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledWritableStream")?!1:i instanceof kn}function If(i,u,h,E,R,L,$,Q){u._controlledWritableStream=i,i._writableStreamController=u,u._queue=void 0,u._queueTotalSize=void 0,Or(u),u._abortReason=void 0,u._abortController=p_(),u._started=!1,u._strategySizeAlgorithm=Q,u._strategyHWM=$,u._writeAlgorithm=E,u._closeAlgorithm=R,u._abortAlgorithm=L;let le=mu(u);hu(i,le);let oe=h(),he=d(oe);y(he,()=>(u._started=!0,Ds(u),null),ye=>(u._started=!0,lu(i,ye),null))}function D_(i,u,h,E){let R=Object.create(kn.prototype),L,$,Q,le;u.start!==void 0?L=()=>u.start(R):L=()=>{},u.write!==void 0?$=oe=>u.write(oe,R):$=()=>d(void 0),u.close!==void 0?Q=()=>u.close():Q=()=>d(void 0),u.abort!==void 0?le=oe=>u.abort(oe):le=()=>d(void 0),If(i,R,L,$,Q,le,h,E)}function Ts(i){i._writeAlgorithm=void 0,i._closeAlgorithm=void 0,i._abortAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function R_(i){ru(i,Pf,0),Ds(i)}function x_(i,u){try{return i._strategySizeAlgorithm(u)}catch(h){return wo(i,h),1}}function Bf(i){return i._strategyHWM-i._queueTotalSize}function O_(i,u,h){try{ru(i,u,h)}catch(R){wo(i,R);return}let E=i._controlledWritableStream;if(!Kt(E)&&E._state==="writable"){let R=mu(i);hu(E,R)}Ds(i)}function Ds(i){let u=i._controlledWritableStream;if(!i._started||u._inFlightWriteRequest!==void 0)return;if(u._state==="erroring"){fu(u);return}if(i._queue.length===0)return;let E=W0(i);E===Pf?F_(i):P_(i,E)}function wo(i,u){i._controlledWritableStream._state==="writable"&&Nf(i,u)}function F_(i){let u=i._controlledWritableStream;E_(u),tu(i);let h=i._closeAlgorithm();Ts(i),y(h,()=>(b_(u),null),E=>(C_(u,E),null))}function P_(i,u){let h=i._controlledWritableStream;A_(h);let E=i._writeAlgorithm(u);y(E,()=>{y_(h);let R=h._state;if(tu(i),!Kt(h)&&R==="writable"){let L=mu(i);hu(h,L)}return Ds(i),null},R=>(h._state==="writable"&&Ts(i),__(h,R),null))}function mu(i){return Bf(i)<=0}function Nf(i,u){let h=i._controlledWritableStream;Ts(i),du(h,u)}function Rs(i){return new TypeError(`WritableStream.prototype.${i} can only be used on a WritableStream`)}function gu(i){return new TypeError(`WritableStreamDefaultController.prototype.${i} can only be used on a WritableStreamDefaultController`)}function nn(i){return new TypeError(`WritableStreamDefaultWriter.prototype.${i} can only be used on a WritableStreamDefaultWriter`)}function Eo(i){return new TypeError("Cannot "+i+" a stream using a released writer")}function xs(i){i._closedPromise=l((u,h)=>{i._closedPromise_resolve=u,i._closedPromise_reject=h,i._closedPromiseState="pending"})}function Mf(i,u){xs(i),yu(i,u)}function I_(i){xs(i),jf(i)}function yu(i,u){i._closedPromise_reject!==void 0&&(g(i._closedPromise),i._closedPromise_reject(u),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0,i._closedPromiseState="rejected")}function B_(i,u){Mf(i,u)}function jf(i){i._closedPromise_resolve!==void 0&&(i._closedPromise_resolve(void 0),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0,i._closedPromiseState="resolved")}function Os(i){i._readyPromise=l((u,h)=>{i._readyPromise_resolve=u,i._readyPromise_reject=h}),i._readyPromiseState="pending"}function _u(i,u){Os(i),Uf(i,u)}function Lf(i){Os(i),bu(i)}function Uf(i,u){i._readyPromise_reject!==void 0&&(g(i._readyPromise),i._readyPromise_reject(u),i._readyPromise_resolve=void 0,i._readyPromise_reject=void 0,i._readyPromiseState="rejected")}function N_(i){Os(i)}function M_(i,u){_u(i,u)}function bu(i){i._readyPromise_resolve!==void 0&&(i._readyPromise_resolve(void 0),i._readyPromise_resolve=void 0,i._readyPromise_reject=void 0,i._readyPromiseState="fulfilled")}function j_(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof global<"u")return global}let Cu=j_();function L_(i){if(!(typeof i=="function"||typeof i=="object")||i.name!=="DOMException")return!1;try{return new i,!0}catch{return!1}}function U_(){let i=Cu?.DOMException;return L_(i)?i:void 0}function $_(){let i=function(h,E){this.message=h||"",this.name=E||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return o(i,"DOMException"),i.prototype=Object.create(Error.prototype),Object.defineProperty(i.prototype,"constructor",{value:i,writable:!0,configurable:!0}),i}let q_=U_()||$_();function $f(i,u,h,E,R,L){let $=U(i),Q=vf(u);i._disturbed=!0;let le=!1,oe=d(void 0);return l((he,ye)=>{let Re;if(L!==void 0){if(Re=()=>{let ie=L.reason!==void 0?L.reason:new q_("Aborted","AbortError"),be=[];E||be.push(()=>u._state==="writable"?ks(u,ie):d(void 0)),R||be.push(()=>i._state==="readable"?Nt(i,ie):d(void 0)),ot(()=>Promise.all(be.map(Oe=>Oe())),!0,ie)},L.aborted){Re();return}L.addEventListener("abort",Re)}function Mt(){return l((ie,be)=>{function Oe(ft){ft?ie():p(Rn(),Oe,be)}Oe(!1)})}function Rn(){return le?d(!0):p(Q._readyPromise,()=>l((ie,be)=>{te($,{_chunkSteps:Oe=>{oe=p(Ff(Q,Oe),void 0,e),ie(!1)},_closeSteps:()=>ie(!0),_errorSteps:be})}))}if(mr(i,$._closedPromise,ie=>(E?At(!0,ie):ot(()=>ks(u,ie),!0,ie),null)),mr(u,Q._closedPromise,ie=>(R?At(!0,ie):ot(()=>Nt(i,ie),!0,ie),null)),Ze(i,$._closedPromise,()=>(h?At():ot(()=>k_(Q)),null)),Kt(u)||u._state==="closed"){let ie=new TypeError("the destination writable stream closed before all data could be piped to it");R?At(!0,ie):ot(()=>Nt(i,ie),!0,ie)}g(Mt());function Mr(){let ie=oe;return p(oe,()=>ie!==oe?Mr():void 0)}function mr(ie,be,Oe){ie._state==="errored"?Oe(ie._storedError):w(be,Oe)}function Ze(ie,be,Oe){ie._state==="closed"?Oe():A(be,Oe)}function ot(ie,be,Oe){if(le)return;le=!0,u._state==="writable"&&!Kt(u)?A(Mr(),ft):ft();function ft(){return y(ie(),()=>gr(be,Oe),xn=>gr(!0,xn)),null}}function At(ie,be){le||(le=!0,u._state==="writable"&&!Kt(u)?A(Mr(),()=>gr(ie,be)):gr(ie,be))}function gr(ie,be){return Of(Q),ue($),L!==void 0&&L.removeEventListener("abort",Re),ie?ye(be):he(void 0),null}})}class pr{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Fs(this))throw Is("desiredSize");return wu(this)}close(){if(!Fs(this))throw Is("close");if(!Tn(this))throw new TypeError("The stream is not in a state that permits close");on(this)}enqueue(u=void 0){if(!Fs(this))throw Is("enqueue");if(!Tn(this))throw new TypeError("The stream is not in a state that permits enqueue");return vn(this,u)}error(u=void 0){if(!Fs(this))throw Is("error");Bt(this,u)}[J](u){Or(this);let h=this._cancelAlgorithm(u);return Ps(this),h}[B](u){let h=this._controlledReadableStream;if(this._queue.length>0){let E=tu(this);this._closeRequested&&this._queue.length===0?(Ps(this),ko(h)):Ao(this),u._chunkSteps(E)}else x(h,u),Ao(this)}[Y](){}}Object.defineProperties(pr.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),o(pr.prototype.close,"close"),o(pr.prototype.enqueue,"enqueue"),o(pr.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(pr.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});function Fs(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableStream")?!1:i instanceof pr}function Ao(i){if(!qf(i))return;if(i._pulling){i._pullAgain=!0;return}i._pulling=!0;let h=i._pullAlgorithm();y(h,()=>(i._pulling=!1,i._pullAgain&&(i._pullAgain=!1,Ao(i)),null),E=>(Bt(i,E),null))}function qf(i){let u=i._controlledReadableStream;return!Tn(i)||!i._started?!1:!!(Br(u)&&j(u)>0||wu(i)>0)}function Ps(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function on(i){if(!Tn(i))return;let u=i._controlledReadableStream;i._closeRequested=!0,i._queue.length===0&&(Ps(i),ko(u))}function vn(i,u){if(!Tn(i))return;let h=i._controlledReadableStream;if(Br(h)&&j(h)>0)P(h,u,!1);else{let E;try{E=i._strategySizeAlgorithm(u)}catch(R){throw Bt(i,R),R}try{ru(i,u,E)}catch(R){throw Bt(i,R),R}}Ao(i)}function Bt(i,u){let h=i._controlledReadableStream;h._state==="readable"&&(Or(i),Ps(i),Gf(h,u))}function wu(i){let u=i._controlledReadableStream._state;return u==="errored"?null:u==="closed"?0:i._strategyHWM-i._queueTotalSize}function z_(i){return!qf(i)}function Tn(i){let u=i._controlledReadableStream._state;return!i._closeRequested&&u==="readable"}function zf(i,u,h,E,R,L,$){u._controlledReadableStream=i,u._queue=void 0,u._queueTotalSize=void 0,Or(u),u._started=!1,u._closeRequested=!1,u._pullAgain=!1,u._pulling=!1,u._strategySizeAlgorithm=$,u._strategyHWM=L,u._pullAlgorithm=E,u._cancelAlgorithm=R,i._readableStreamController=u;let Q=h();y(d(Q),()=>(u._started=!0,Ao(u),null),le=>(Bt(u,le),null))}function H_(i,u,h,E){let R=Object.create(pr.prototype),L,$,Q;u.start!==void 0?L=()=>u.start(R):L=()=>{},u.pull!==void 0?$=()=>u.pull(R):$=()=>d(void 0),u.cancel!==void 0?Q=le=>u.cancel(le):Q=()=>d(void 0),zf(i,R,L,$,Q,h,E)}function Is(i){return new TypeError(`ReadableStreamDefaultController.prototype.${i} can only be used on a ReadableStreamDefaultController`)}function W_(i,u){return Zr(i._readableStreamController)?J_(i):G_(i)}function G_(i,u){let h=U(i),E=!1,R=!1,L=!1,$=!1,Q,le,oe,he,ye,Re=l(Ze=>{ye=Ze});function Mt(){return E?(R=!0,d(void 0)):(E=!0,te(h,{_chunkSteps:ot=>{m(()=>{R=!1;let At=ot,gr=ot;L||vn(oe._readableStreamController,At),$||vn(he._readableStreamController,gr),E=!1,R&&Mt()})},_closeSteps:()=>{E=!1,L||on(oe._readableStreamController),$||on(he._readableStreamController),(!L||!$)&&ye(void 0)},_errorSteps:()=>{E=!1}}),d(void 0))}function Rn(Ze){if(L=!0,Q=Ze,$){let ot=ve([Q,le]),At=Nt(i,ot);ye(At)}return Re}function Mr(Ze){if($=!0,le=Ze,L){let ot=ve([Q,le]),At=Nt(i,ot);ye(At)}return Re}function mr(){}return oe=So(mr,Mt,Rn),he=So(mr,Mt,Mr),w(h._closedPromise,Ze=>(Bt(oe._readableStreamController,Ze),Bt(he._readableStreamController,Ze),(!L||!$)&&ye(void 0),null)),[oe,he]}function J_(i){let u=U(i),h=!1,E=!1,R=!1,L=!1,$=!1,Q,le,oe,he,ye,Re=l(ie=>{ye=ie});function Mt(ie){w(ie._closedPromise,be=>(ie!==u||(Et(oe._readableStreamController,be),Et(he._readableStreamController,be),(!L||!$)&&ye(void 0)),null))}function Rn(){tn(u)&&(ue(u),u=U(i),Mt(u)),te(u,{_chunkSteps:be=>{m(()=>{E=!1,R=!1;let Oe=be,ft=be;if(!L&&!$)try{ft=af(be)}catch(xn){Et(oe._readableStreamController,xn),Et(he._readableStreamController,xn),ye(Nt(i,xn));return}L||bs(oe._readableStreamController,Oe),$||bs(he._readableStreamController,ft),h=!1,E?mr():R&&Ze()})},_closeSteps:()=>{h=!1,L||_o(oe._readableStreamController),$||_o(he._readableStreamController),oe._readableStreamController._pendingPullIntos.length>0&&Cs(oe._readableStreamController,0),he._readableStreamController._pendingPullIntos.length>0&&Cs(he._readableStreamController,0),(!L||!$)&&ye(void 0)},_errorSteps:()=>{h=!1}})}function Mr(ie,be){Z(u)&&(ue(u),u=Cf(i),Mt(u));let Oe=be?he:oe,ft=be?oe:he;Af(u,ie,1,{_chunkSteps:On=>{m(()=>{E=!1,R=!1;let Fn=be?$:L;if(be?L:$)Fn||ws(Oe._readableStreamController,On);else{let sh;try{sh=af(On)}catch(vu){Et(Oe._readableStreamController,vu),Et(ft._readableStreamController,vu),ye(Nt(i,vu));return}Fn||ws(Oe._readableStreamController,On),bs(ft._readableStreamController,sh)}h=!1,E?mr():R&&Ze()})},_closeSteps:On=>{h=!1;let Fn=be?$:L,qs=be?L:$;Fn||_o(Oe._readableStreamController),qs||_o(ft._readableStreamController),On!==void 0&&(Fn||ws(Oe._readableStreamController,On),!qs&&ft._readableStreamController._pendingPullIntos.length>0&&Cs(ft._readableStreamController,0)),(!Fn||!qs)&&ye(void 0)},_errorSteps:()=>{h=!1}})}function mr(){if(h)return E=!0,d(void 0);h=!0;let ie=au(oe._readableStreamController);return ie===null?Rn():Mr(ie._view,!1),d(void 0)}function Ze(){if(h)return R=!0,d(void 0);h=!0;let ie=au(he._readableStreamController);return ie===null?Rn():Mr(ie._view,!0),d(void 0)}function ot(ie){if(L=!0,Q=ie,$){let be=ve([Q,le]),Oe=Nt(i,be);ye(Oe)}return Re}function At(ie){if($=!0,le=ie,L){let be=ve([Q,le]),Oe=Nt(i,be);ye(Oe)}return Re}function gr(){}return oe=Wf(gr,mr,ot),he=Wf(gr,Ze,At),Mt(u),[oe,he]}function V_(i){return r(i)&&typeof i.getReader<"u"}function K_(i){return V_(i)?Q_(i.getReader()):Y_(i)}function Y_(i){let u,h=sf(i,"async"),E=e;function R(){let $;try{$=$0(h)}catch(le){return f(le)}let Q=d($);return _(Q,le=>{if(!r(le))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(q0(le))on(u._readableStreamController);else{let he=z0(le);vn(u._readableStreamController,he)}})}function L($){let Q=h.iterator,le;try{le=gs(Q,"return")}catch(ye){return f(ye)}if(le===void 0)return d(void 0);let oe;try{oe=v(le,Q,[$])}catch(ye){return f(ye)}let he=d(oe);return _(he,ye=>{if(!r(ye))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return u=So(E,R,L,0),u}function Q_(i){let u,h=e;function E(){let L;try{L=i.read()}catch($){return f($)}return _(L,$=>{if(!r($))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if($.done)on(u._readableStreamController);else{let Q=$.value;vn(u._readableStreamController,Q)}})}function R(L){try{return d(i.cancel(L))}catch($){return f($)}}return u=So(h,E,R,0),u}function X_(i,u){de(i,u);let h=i,E=h?.autoAllocateChunkSize,R=h?.cancel,L=h?.pull,$=h?.start,Q=h?.type;return{autoAllocateChunkSize:E===void 0?void 0:F(E,`${u} has member 'autoAllocateChunkSize' that`),cancel:R===void 0?void 0:Z_(R,h,`${u} has member 'cancel' that`),pull:L===void 0?void 0:eb(L,h,`${u} has member 'pull' that`),start:$===void 0?void 0:tb($,h,`${u} has member 'start' that`),type:Q===void 0?void 0:rb(Q,`${u} has member 'type' that`)}}function Z_(i,u,h){return _e(i,h),E=>b(i,u,[E])}function eb(i,u,h){return _e(i,h),E=>b(i,u,[E])}function tb(i,u,h){return _e(i,h),E=>v(i,u,[E])}function rb(i,u){if(i=`${i}`,i!=="bytes")throw new TypeError(`${u} '${i}' is not a valid enumeration value for ReadableStreamType`);return i}function nb(i,u){return de(i,u),{preventCancel:!!i?.preventCancel}}function Hf(i,u){de(i,u);let h=i?.preventAbort,E=i?.preventCancel,R=i?.preventClose,L=i?.signal;return L!==void 0&&ob(L,`${u} has member 'signal' that`),{preventAbort:!!h,preventCancel:!!E,preventClose:!!R,signal:L}}function ob(i,u){if(!f_(i))throw new TypeError(`${u} is not an AbortSignal.`)}function sb(i,u){de(i,u);let h=i?.readable;C(h,"readable","ReadableWritablePair"),I(h,`${u} has member 'readable' that`);let E=i?.writable;return C(E,"writable","ReadableWritablePair"),kf(E,`${u} has member 'writable' that`),{readable:h,writable:E}}class Qe{constructor(u={},h={}){u===void 0?u=null:xe(u,"First parameter");let E=Ss(h,"Second parameter"),R=X_(u,"First parameter");if(Eu(this),R.type==="bytes"){if(E.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");let L=Co(E,0);Z0(this,R,L)}else{let L=As(E),$=Co(E,1);H_(this,R,$,L)}}get locked(){if(!Ir(this))throw sn("locked");return Br(this)}cancel(u=void 0){return Ir(this)?Br(this)?f(new TypeError("Cannot cancel a stream that already has a reader")):Nt(this,u):f(sn("cancel"))}getReader(u=void 0){if(!Ir(this))throw sn("getReader");return t_(u,"First parameter").mode===void 0?U(this):Cf(this)}pipeThrough(u,h={}){if(!Ir(this))throw sn("pipeThrough");je(u,1,"pipeThrough");let E=sb(u,"First parameter"),R=Hf(h,"Second parameter");if(Br(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(Sn(E.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");let L=$f(this,E.writable,R.preventClose,R.preventAbort,R.preventCancel,R.signal);return g(L),E.readable}pipeTo(u,h={}){if(!Ir(this))return f(sn("pipeTo"));if(u===void 0)return f("Parameter 1 is required in 'pipeTo'.");if(!An(u))return f(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let E;try{E=Hf(h,"Second parameter")}catch(R){return f(R)}return Br(this)?f(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):Sn(u)?f(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):$f(this,u,E.preventClose,E.preventAbort,E.preventCancel,E.signal)}tee(){if(!Ir(this))throw sn("tee");let u=W_(this);return ve(u)}values(u=void 0){if(!Ir(this))throw sn("values");let h=nb(u,"First parameter");return bn(this,h.preventCancel)}[eu](u){return this.values(u)}static from(u){return K_(u)}}Object.defineProperties(Qe,{from:{enumerable:!0}}),Object.defineProperties(Qe.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),o(Qe.from,"from"),o(Qe.prototype.cancel,"cancel"),o(Qe.prototype.getReader,"getReader"),o(Qe.prototype.pipeThrough,"pipeThrough"),o(Qe.prototype.pipeTo,"pipeTo"),o(Qe.prototype.tee,"tee"),o(Qe.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Qe.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(Qe.prototype,eu,{value:Qe.prototype.values,writable:!0,configurable:!0});function So(i,u,h,E=1,R=()=>1){let L=Object.create(Qe.prototype);Eu(L);let $=Object.create(pr.prototype);return zf(L,$,i,u,h,E,R),L}function Wf(i,u,h){let E=Object.create(Qe.prototype);Eu(E);let R=Object.create(fr.prototype);return bf(E,R,i,u,h,0,void 0),E}function Eu(i){i._state="readable",i._reader=void 0,i._storedError=void 0,i._disturbed=!1}function Ir(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_readableStreamController")?!1:i instanceof Qe}function Br(i){return i._reader!==void 0}function Nt(i,u){if(i._disturbed=!0,i._state==="closed")return d(void 0);if(i._state==="errored")return f(i._storedError);ko(i);let h=i._reader;if(h!==void 0&&tn(h)){let R=h._readIntoRequests;h._readIntoRequests=new D,R.forEach(L=>{L._closeSteps(void 0)})}let E=i._readableStreamController[J](u);return _(E,e)}function ko(i){i._state="closed";let u=i._reader;if(u!==void 0&&(ce(u),Z(u))){let h=u._readRequests;u._readRequests=new D,h.forEach(E=>{E._closeSteps()})}}function Gf(i,u){i._state="errored",i._storedError=u;let h=i._reader;h!==void 0&&(G(h,u),Z(h)?Pe(h,u):Sf(h,u))}function sn(i){return new TypeError(`ReadableStream.prototype.${i} can only be used on a ReadableStream`)}function Jf(i,u){de(i,u);let h=i?.highWaterMark;return C(h,"highWaterMark","QueuingStrategyInit"),{highWaterMark:k(h)}}let Vf=i=>i.byteLength;o(Vf,"size");class Bs{constructor(u){je(u,1,"ByteLengthQueuingStrategy"),u=Jf(u,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=u.highWaterMark}get highWaterMark(){if(!Yf(this))throw Kf("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!Yf(this))throw Kf("size");return Vf}}Object.defineProperties(Bs.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Bs.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function Kf(i){return new TypeError(`ByteLengthQueuingStrategy.prototype.${i} can only be used on a ByteLengthQueuingStrategy`)}function Yf(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_byteLengthQueuingStrategyHighWaterMark")?!1:i instanceof Bs}let Qf=()=>1;o(Qf,"size");class Ns{constructor(u){je(u,1,"CountQueuingStrategy"),u=Jf(u,"First parameter"),this._countQueuingStrategyHighWaterMark=u.highWaterMark}get highWaterMark(){if(!Zf(this))throw Xf("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!Zf(this))throw Xf("size");return Qf}}Object.defineProperties(Ns.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Ns.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});function Xf(i){return new TypeError(`CountQueuingStrategy.prototype.${i} can only be used on a CountQueuingStrategy`)}function Zf(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_countQueuingStrategyHighWaterMark")?!1:i instanceof Ns}function ib(i,u){de(i,u);let h=i?.cancel,E=i?.flush,R=i?.readableType,L=i?.start,$=i?.transform,Q=i?.writableType;return{cancel:h===void 0?void 0:lb(h,i,`${u} has member 'cancel' that`),flush:E===void 0?void 0:ab(E,i,`${u} has member 'flush' that`),readableType:R,start:L===void 0?void 0:ub(L,i,`${u} has member 'start' that`),transform:$===void 0?void 0:cb($,i,`${u} has member 'transform' that`),writableType:Q}}function ab(i,u,h){return _e(i,h),E=>b(i,u,[E])}function ub(i,u,h){return _e(i,h),E=>v(i,u,[E])}function cb(i,u,h){return _e(i,h),(E,R)=>b(i,u,[E,R])}function lb(i,u,h){return _e(i,h),E=>b(i,u,[E])}class Ms{constructor(u={},h={},E={}){u===void 0&&(u=null);let R=Ss(h,"Second parameter"),L=Ss(E,"Third parameter"),$=ib(u,"First parameter");if($.readableType!==void 0)throw new RangeError("Invalid readableType specified");if($.writableType!==void 0)throw new RangeError("Invalid writableType specified");let Q=Co(L,0),le=As(L),oe=Co(R,1),he=As(R),ye,Re=l(Mt=>{ye=Mt});db(this,Re,oe,he,Q,le),hb(this,$),$.start!==void 0?ye($.start(this._transformStreamController)):ye(void 0)}get readable(){if(!eh(this))throw oh("readable");return this._readable}get writable(){if(!eh(this))throw oh("writable");return this._writable}}Object.defineProperties(Ms.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Ms.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});function db(i,u,h,E,R,L){function $(){return u}function Q(Re){return gb(i,Re)}function le(Re){return yb(i,Re)}function oe(){return _b(i)}i._writable=m_($,Q,oe,le,h,E);function he(){return bb(i)}function ye(Re){return Cb(i,Re)}i._readable=So($,he,ye,R,L),i._backpressure=void 0,i._backpressureChangePromise=void 0,i._backpressureChangePromise_resolve=void 0,js(i,!0),i._transformStreamController=void 0}function eh(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_transformStreamController")?!1:i instanceof Ms}function th(i,u){Bt(i._readable._readableStreamController,u),Au(i,u)}function Au(i,u){Us(i._transformStreamController),wo(i._writable._writableStreamController,u),Su(i)}function Su(i){i._backpressure&&js(i,!1)}function js(i,u){i._backpressureChangePromise!==void 0&&i._backpressureChangePromise_resolve(),i._backpressureChangePromise=l(h=>{i._backpressureChangePromise_resolve=h}),i._backpressure=u}class Nr{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Ls(this))throw $s("desiredSize");let u=this._controlledTransformStream._readable._readableStreamController;return wu(u)}enqueue(u=void 0){if(!Ls(this))throw $s("enqueue");rh(this,u)}error(u=void 0){if(!Ls(this))throw $s("error");pb(this,u)}terminate(){if(!Ls(this))throw $s("terminate");mb(this)}}Object.defineProperties(Nr.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),o(Nr.prototype.enqueue,"enqueue"),o(Nr.prototype.error,"error"),o(Nr.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Nr.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function Ls(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledTransformStream")?!1:i instanceof Nr}function fb(i,u,h,E,R){u._controlledTransformStream=i,i._transformStreamController=u,u._transformAlgorithm=h,u._flushAlgorithm=E,u._cancelAlgorithm=R,u._finishPromise=void 0,u._finishPromise_resolve=void 0,u._finishPromise_reject=void 0}function hb(i,u){let h=Object.create(Nr.prototype),E,R,L;u.transform!==void 0?E=$=>u.transform($,h):E=$=>{try{return rh(h,$),d(void 0)}catch(Q){return f(Q)}},u.flush!==void 0?R=()=>u.flush(h):R=()=>d(void 0),u.cancel!==void 0?L=$=>u.cancel($):L=()=>d(void 0),fb(i,h,E,R,L)}function Us(i){i._transformAlgorithm=void 0,i._flushAlgorithm=void 0,i._cancelAlgorithm=void 0}function rh(i,u){let h=i._controlledTransformStream,E=h._readable._readableStreamController;if(!Tn(E))throw new TypeError("Readable side is not in a state that permits enqueue");try{vn(E,u)}catch(L){throw Au(h,L),h._readable._storedError}z_(E)!==h._backpressure&&js(h,!0)}function pb(i,u){th(i._controlledTransformStream,u)}function nh(i,u){let h=i._transformAlgorithm(u);return _(h,void 0,E=>{throw th(i._controlledTransformStream,E),E})}function mb(i){let u=i._controlledTransformStream,h=u._readable._readableStreamController;on(h);let E=new TypeError("TransformStream terminated");Au(u,E)}function gb(i,u){let h=i._transformStreamController;if(i._backpressure){let E=i._backpressureChangePromise;return _(E,()=>{let R=i._writable;if(R._state==="erroring")throw R._storedError;return nh(h,u)})}return nh(h,u)}function yb(i,u){let h=i._transformStreamController;if(h._finishPromise!==void 0)return h._finishPromise;let E=i._readable;h._finishPromise=l((L,$)=>{h._finishPromise_resolve=L,h._finishPromise_reject=$});let R=h._cancelAlgorithm(u);return Us(h),y(R,()=>(E._state==="errored"?Dn(h,E._storedError):(Bt(E._readableStreamController,u),ku(h)),null),L=>(Bt(E._readableStreamController,L),Dn(h,L),null)),h._finishPromise}function _b(i){let u=i._transformStreamController;if(u._finishPromise!==void 0)return u._finishPromise;let h=i._readable;u._finishPromise=l((R,L)=>{u._finishPromise_resolve=R,u._finishPromise_reject=L});let E=u._flushAlgorithm();return Us(u),y(E,()=>(h._state==="errored"?Dn(u,h._storedError):(on(h._readableStreamController),ku(u)),null),R=>(Bt(h._readableStreamController,R),Dn(u,R),null)),u._finishPromise}function bb(i){return js(i,!1),i._backpressureChangePromise}function Cb(i,u){let h=i._transformStreamController;if(h._finishPromise!==void 0)return h._finishPromise;let E=i._writable;h._finishPromise=l((L,$)=>{h._finishPromise_resolve=L,h._finishPromise_reject=$});let R=h._cancelAlgorithm(u);return Us(h),y(R,()=>(E._state==="errored"?Dn(h,E._storedError):(wo(E._writableStreamController,u),Su(i),ku(h)),null),L=>(wo(E._writableStreamController,L),Su(i),Dn(h,L),null)),h._finishPromise}function $s(i){return new TypeError(`TransformStreamDefaultController.prototype.${i} can only be used on a TransformStreamDefaultController`)}function ku(i){i._finishPromise_resolve!==void 0&&(i._finishPromise_resolve(),i._finishPromise_resolve=void 0,i._finishPromise_reject=void 0)}function Dn(i,u){i._finishPromise_reject!==void 0&&(g(i._finishPromise),i._finishPromise_reject(u),i._finishPromise_resolve=void 0,i._finishPromise_reject=void 0)}function oh(i){return new TypeError(`TransformStream.prototype.${i} can only be used on a TransformStream`)}t.ByteLengthQueuingStrategy=Bs,t.CountQueuingStrategy=Ns,t.ReadableByteStreamController=fr,t.ReadableStream=Qe,t.ReadableStreamBYOBReader=Fr,t.ReadableStreamBYOBRequest=Xr,t.ReadableStreamDefaultController=pr,t.ReadableStreamDefaultReader=z,t.TransformStream=Ms,t.TransformStreamDefaultController=Nr,t.WritableStream=Pr,t.WritableStreamDefaultController=kn,t.WritableStreamDefaultWriter=hr}))});var xp=V(()=>{if(!globalThis.ReadableStream)try{let t=X("node:process"),{emitWarning:e}=t;try{t.emitWarning=()=>{},Object.assign(globalThis,X("node:stream/web")),t.emitWarning=e}catch(r){throw t.emitWarning=e,r}}catch{Object.assign(globalThis,Rp())}try{let{Blob:t}=X("buffer");t&&!t.prototype.stream&&(t.prototype.stream=function(r){let n=0,o=this;return new ReadableStream({type:"bytes",async pull(s){let c=await o.slice(n,Math.min(o.size,n+65536)).arrayBuffer();n+=c.byteLength,s.enqueue(new Uint8Array(c)),n===o.size&&s.close()}})})}catch{}});async function*sc(t,e=!0){for(let r of t)if("stream"in r)yield*r.stream();else if(ArrayBuffer.isView(r))if(e){let n=r.byteOffset,o=r.byteOffset+r.byteLength;for(;n!==o;){let s=Math.min(o-n,Op),a=r.buffer.slice(n,n+s);n+=a.byteLength,yield new Uint8Array(a)}}else yield r;else{let n=0,o=r;for(;n!==o.size;){let a=await o.slice(n,Math.min(o.size,n+Op)).arrayBuffer();n+=a.byteLength,yield new Uint8Array(a)}}}var KR,Op,Fp,ow,Lt,Fo=Me(()=>{KR=jr(xp(),1);Op=65536;Fp=class ic{#e=[];#t="";#r=0;#n="transparent";constructor(e=[],r={}){if(typeof e!="object"||e===null)throw new TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence.");if(typeof e[Symbol.iterator]!="function")throw new TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property.");if(typeof r!="object"&&typeof r!="function")throw new TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary.");r===null&&(r={});let n=new TextEncoder;for(let s of e){let a;ArrayBuffer.isView(s)?a=new Uint8Array(s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength)):s instanceof ArrayBuffer?a=new Uint8Array(s.slice(0)):s instanceof ic?a=s:a=n.encode(`${s}`),this.#r+=ArrayBuffer.isView(a)?a.byteLength:a.size,this.#e.push(a)}this.#n=`${r.endings===void 0?"transparent":r.endings}`;let o=r.type===void 0?"":String(r.type);this.#t=/^[\x20-\x7E]*$/.test(o)?o:""}get size(){return this.#r}get type(){return this.#t}async text(){let e=new TextDecoder,r="";for await(let n of sc(this.#e,!1))r+=e.decode(n,{stream:!0});return r+=e.decode(),r}async arrayBuffer(){let e=new Uint8Array(this.size),r=0;for await(let n of sc(this.#e,!1))e.set(n,r),r+=n.length;return e.buffer}stream(){let e=sc(this.#e,!0);return new globalThis.ReadableStream({type:"bytes",async pull(r){let n=await e.next();n.done?r.close():r.enqueue(n.value)},async cancel(){await e.return()}})}slice(e=0,r=this.size,n=""){let{size:o}=this,s=e<0?Math.max(o+e,0):Math.min(e,o),a=r<0?Math.max(o+r,0):Math.min(r,o),c=Math.max(a-s,0),l=this.#e,d=[],f=0;for(let y of l){if(f>=c)break;let A=ArrayBuffer.isView(y)?y.byteLength:y.size;if(s&&A<=s)s-=A,a-=A;else{let w;ArrayBuffer.isView(y)?(w=y.subarray(s,Math.min(A,a)),f+=w.byteLength):(w=y.slice(s,Math.min(A,a)),f+=w.size),a-=A,d.push(w),s=0}}let p=new ic([],{type:String(n).toLowerCase()});return p.#r=c,p.#e=d,p}get[Symbol.toStringTag](){return"Blob"}static[Symbol.hasInstance](e){return e&&typeof e=="object"&&typeof e.constructor=="function"&&(typeof e.stream=="function"||typeof e.arrayBuffer=="function")&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}};Object.defineProperties(Fp.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});ow=Fp,Lt=ow});var sw,iw,$r,ac=Me(()=>{Fo();sw=class extends Lt{#e=0;#t="";constructor(e,r,n={}){if(arguments.length<2)throw new TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`);super(e,n),n===null&&(n={});let o=n.lastModified===void 0?Date.now():Number(n.lastModified);Number.isNaN(o)||(this.#e=o),this.#t=String(r)}get name(){return this.#t}get lastModified(){return this.#e}get[Symbol.toStringTag](){return"File"}static[Symbol.hasInstance](e){return!!e&&e instanceof Lt&&/^(File)$/.test(e[Symbol.toStringTag])}},iw=sw,$r=iw});function Bp(t,e=Lt){var r=`${Pp()}${Pp()}`.replace(/\./g,"").slice(-28).padStart(32,"-"),n=[],o=`--${r}\r
|
|
26
|
+
`);let{connect:d,buffered:f}=await l;if(e.emit("proxyConnect",d),this.emit("proxyConnect",d,e),d.statusCode===200)return e.once("socket",rw),r.secureEndpoint?(Oo("Upgrading socket connection to TLS"),Cp.connect({...Ep(wp(r),"host","path","port"),socket:o})):o;o.destroy();let p=new di.Socket({writable:!1});return p.readable=!0,e.once("socket",g=>{Oo("Replaying proxy buffer for failed request"),(0,QC.default)(g.listenerCount("data")>0),g.push(f),g.push(null)}),p}};fi.protocols=["http","https"];vt.HttpsProxyAgent=fi;function rw(t){t.resume()}function Ep(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}});function nw(t){if(!/^data:/i.test(t))throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');t=t.replace(/\r?\n/g,"");let e=t.indexOf(",");if(e===-1||e<=4)throw new TypeError("malformed data: URI");let r=t.substring(5,e).split(";"),n="",o=!1,s=r[0]||"text/plain",a=s;for(let f=1;f<r.length;f++)r[f]==="base64"?o=!0:r[f]&&(a+=`;${r[f]}`,r[f].indexOf("charset=")===0&&(n=r[f].substring(8)));!r[0]&&!n.length&&(a+=";charset=US-ASCII",n="US-ASCII");let c=o?"base64":"ascii",l=unescape(t.substring(e+1)),d=Buffer.from(l,c);return d.type=s,d.typeFull=a,d.charset=n,d}var vp,Tp=Me(()=>{vp=nw});var Rp=V((hi,Dp)=>{(function(t,e){typeof hi=="object"&&typeof Dp<"u"?e(hi):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis<"u"?globalThis:t||self,e(t.WebStreamsPolyfill={}))})(hi,(function(t){"use strict";function e(){}function r(i){return typeof i=="object"&&i!==null||typeof i=="function"}let n=e;function o(i,u){try{Object.defineProperty(i,"name",{value:u,configurable:!0})}catch{}}let s=Promise,a=Promise.prototype.then,c=Promise.reject.bind(s);function l(i){return new s(i)}function d(i){return l(u=>u(i))}function f(i){return c(i)}function p(i,u,h){return a.call(i,u,h)}function g(i,u,h){p(p(i,u,h),void 0,n)}function A(i,u){g(i,u)}function w(i,u){g(i,void 0,u)}function _(i,u,h){return p(i,u,h)}function y(i){p(i,void 0,n)}let m=i=>{if(typeof queueMicrotask=="function")m=queueMicrotask;else{let u=d(void 0);m=h=>p(u,h)}return m(i)};function v(i,u,h){if(typeof i!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(i,u,h)}function b(i,u,h){try{return d(v(i,u,h))}catch(E){return f(E)}}let S=16384;class D{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(u){let h=this._back,E=h;h._elements.length===S-1&&(E={_elements:[],_next:void 0}),h._elements.push(u),E!==h&&(this._back=E,h._next=E),++this._size}shift(){let u=this._front,h=u,E=this._cursor,R=E+1,L=u._elements,$=L[E];return R===S&&(h=u._next,R=0),--this._size,this._cursor=R,u!==h&&(this._front=h),L[E]=void 0,$}forEach(u){let h=this._cursor,E=this._front,R=E._elements;for(;(h!==R.length||E._next!==void 0)&&!(h===R.length&&(E=E._next,R=E._elements,h=0,R.length===0));)u(R[h]),++h}peek(){let u=this._front,h=this._cursor;return u._elements[h]}}let O=Symbol("[[AbortSteps]]"),q=Symbol("[[ErrorSteps]]"),J=Symbol("[[CancelSteps]]"),B=Symbol("[[PullSteps]]"),Y=Symbol("[[ReleaseSteps]]");function re(i,u){i._ownerReadableStream=u,u._reader=i,u._state==="readable"?Se(i):u._state==="closed"?me(i):se(i,u._storedError)}function ee(i,u){let h=i._ownerReadableStream;return Nt(h,u)}function ue(i){let u=i._ownerReadableStream;u._state==="readable"?G(i,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):K(i,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),u._readableStreamController[Y](),u._reader=void 0,i._ownerReadableStream=void 0}function fe(i){return new TypeError("Cannot "+i+" a stream using a released reader")}function Se(i){i._closedPromise=l((u,h)=>{i._closedPromise_resolve=u,i._closedPromise_reject=h})}function se(i,u){Se(i),G(i,u)}function me(i){Se(i),ce(i)}function G(i,u){i._closedPromise_reject!==void 0&&(y(i._closedPromise),i._closedPromise_reject(u),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0)}function K(i,u){se(i,u)}function ce(i){i._closedPromise_resolve!==void 0&&(i._closedPromise_resolve(void 0),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0)}let qe=Number.isFinite||function(i){return typeof i=="number"&&isFinite(i)},De=Math.trunc||function(i){return i<0?Math.ceil(i):Math.floor(i)};function W(i){return typeof i=="object"||typeof i=="function"}function de(i,u){if(i!==void 0&&!W(i))throw new TypeError(`${u} is not an object.`)}function _e(i,u){if(typeof i!="function")throw new TypeError(`${u} is not a function.`)}function It(i){return typeof i=="object"&&i!==null||typeof i=="function"}function xe(i,u){if(!It(i))throw new TypeError(`${u} is not an object.`)}function je(i,u,h){if(i===void 0)throw new TypeError(`Parameter ${u} is required in '${h}'.`)}function C(i,u,h){if(i===void 0)throw new TypeError(`${u} is required in '${h}'.`)}function k(i){return Number(i)}function T(i){return i===0?0:i}function M(i){return T(De(i))}function F(i,u){let E=Number.MAX_SAFE_INTEGER,R=Number(i);if(R=T(R),!qe(R))throw new TypeError(`${u} is not a finite number`);if(R=M(R),R<0||R>E)throw new TypeError(`${u} is outside the accepted range of 0 to ${E}, inclusive`);return!qe(R)||R===0?0:R}function I(i,u){if(!Ir(i))throw new TypeError(`${u} is not a ReadableStream.`)}function U(i){return new z(i)}function x(i,u){i._reader._readRequests.push(u)}function P(i,u,h){let R=i._reader._readRequests.shift();h?R._closeSteps():R._chunkSteps(u)}function j(i){return i._reader._readRequests.length}function N(i){let u=i._reader;return!(u===void 0||!Z(u))}class z{constructor(u){if(je(u,1,"ReadableStreamDefaultReader"),I(u,"First parameter"),Br(u))throw new TypeError("This stream has already been locked for exclusive reading by another reader");re(this,u),this._readRequests=new D}get closed(){return Z(this)?this._closedPromise:f(Ne("closed"))}cancel(u=void 0){return Z(this)?this._ownerReadableStream===void 0?f(fe("cancel")):ee(this,u):f(Ne("cancel"))}read(){if(!Z(this))return f(Ne("read"));if(this._ownerReadableStream===void 0)return f(fe("read from"));let u,h,E=l((L,$)=>{u=L,h=$});return te(this,{_chunkSteps:L=>u({value:L,done:!1}),_closeSteps:()=>u({value:void 0,done:!0}),_errorSteps:L=>h(L)}),E}releaseLock(){if(!Z(this))throw Ne("releaseLock");this._ownerReadableStream!==void 0&&Ae(this)}}Object.defineProperties(z.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),o(z.prototype.cancel,"cancel"),o(z.prototype.read,"read"),o(z.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(z.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});function Z(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_readRequests")?!1:i instanceof z}function te(i,u){let h=i._ownerReadableStream;h._disturbed=!0,h._state==="closed"?u._closeSteps():h._state==="errored"?u._errorSteps(h._storedError):h._readableStreamController[B](u)}function Ae(i){ue(i);let u=new TypeError("Reader was released");Pe(i,u)}function Pe(i,u){let h=i._readRequests;i._readRequests=new D,h.forEach(E=>{E._errorSteps(u)})}function Ne(i){return new TypeError(`ReadableStreamDefaultReader.prototype.${i} can only be used on a ReadableStreamDefaultReader`)}let we=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);class ke{constructor(u,h){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=u,this._preventCancel=h}next(){let u=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?_(this._ongoingPromise,u,u):u(),this._ongoingPromise}return(u){let h=()=>this._returnSteps(u);return this._ongoingPromise?_(this._ongoingPromise,h,h):h()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let u=this._reader,h,E,R=l(($,Q)=>{h=$,E=Q});return te(u,{_chunkSteps:$=>{this._ongoingPromise=void 0,m(()=>h({value:$,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,ue(u),h({value:void 0,done:!0})},_errorSteps:$=>{this._ongoingPromise=void 0,this._isFinished=!0,ue(u),E($)}}),R}_returnSteps(u){if(this._isFinished)return Promise.resolve({value:u,done:!0});this._isFinished=!0;let h=this._reader;if(!this._preventCancel){let E=ee(h,u);return ue(h),_(E,()=>({value:u,done:!0}))}return ue(h),d({value:u,done:!0})}}let Ue={next(){return Cn(this)?this._asyncIteratorImpl.next():f(wn("next"))},return(i){return Cn(this)?this._asyncIteratorImpl.return(i):f(wn("return"))}};Object.setPrototypeOf(Ue,we);function bn(i,u){let h=U(i),E=new ke(h,u),R=Object.create(Ue);return R._asyncIteratorImpl=E,R}function Cn(i){if(!r(i)||!Object.prototype.hasOwnProperty.call(i,"_asyncIteratorImpl"))return!1;try{return i._asyncIteratorImpl instanceof ke}catch{return!1}}function wn(i){return new TypeError(`ReadableStreamAsyncIterator.${i} can only be used on a ReadableSteamAsyncIterator`)}let dt=Number.isNaN||function(i){return i!==i};var lr,Ye,$e;function ve(i){return i.slice()}function nf(i,u,h,E,R){new Uint8Array(i).set(new Uint8Array(h,E,R),u)}let dr=i=>(typeof i.transfer=="function"?dr=u=>u.transfer():typeof structuredClone=="function"?dr=u=>structuredClone(u,{transfer:[u]}):dr=u=>u,dr(i)),xr=i=>(typeof i.detached=="boolean"?xr=u=>u.detached:xr=u=>u.byteLength===0,xr(i));function of(i,u,h){if(i.slice)return i.slice(u,h);let E=h-u,R=new ArrayBuffer(E);return nf(R,0,i,u,E),R}function gs(i,u){let h=i[u];if(h!=null){if(typeof h!="function")throw new TypeError(`${String(u)} is not a function`);return h}}function U0(i){let u={[Symbol.iterator]:()=>i.iterator},h=(async function*(){return yield*u})(),E=h.next;return{iterator:h,nextMethod:E,done:!1}}let eu=($e=(lr=Symbol.asyncIterator)!==null&&lr!==void 0?lr:(Ye=Symbol.for)===null||Ye===void 0?void 0:Ye.call(Symbol,"Symbol.asyncIterator"))!==null&&$e!==void 0?$e:"@@asyncIterator";function sf(i,u="sync",h){if(h===void 0)if(u==="async"){if(h=gs(i,eu),h===void 0){let L=gs(i,Symbol.iterator),$=sf(i,"sync",L);return U0($)}}else h=gs(i,Symbol.iterator);if(h===void 0)throw new TypeError("The object is not iterable");let E=v(h,i,[]);if(!r(E))throw new TypeError("The iterator method must return an object");let R=E.next;return{iterator:E,nextMethod:R,done:!1}}function $0(i){let u=v(i.nextMethod,i.iterator,[]);if(!r(u))throw new TypeError("The iterator.next() method must return an object");return u}function q0(i){return!!i.done}function z0(i){return i.value}function H0(i){return!(typeof i!="number"||dt(i)||i<0)}function af(i){let u=of(i.buffer,i.byteOffset,i.byteOffset+i.byteLength);return new Uint8Array(u)}function tu(i){let u=i._queue.shift();return i._queueTotalSize-=u.size,i._queueTotalSize<0&&(i._queueTotalSize=0),u.value}function ru(i,u,h){if(!H0(h)||h===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");i._queue.push({value:u,size:h}),i._queueTotalSize+=h}function W0(i){return i._queue.peek().value}function Or(i){i._queue=new D,i._queueTotalSize=0}function uf(i){return i===DataView}function G0(i){return uf(i.constructor)}function J0(i){return uf(i)?1:i.BYTES_PER_ELEMENT}class Xr{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!nu(this))throw uu("view");return this._view}respond(u){if(!nu(this))throw uu("respond");if(je(u,1,"respond"),u=F(u,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(xr(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");Cs(this._associatedReadableByteStreamController,u)}respondWithNewView(u){if(!nu(this))throw uu("respondWithNewView");if(je(u,1,"respondWithNewView"),!ArrayBuffer.isView(u))throw new TypeError("You can only respond with array buffer views");if(this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(xr(u.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");ws(this._associatedReadableByteStreamController,u)}}Object.defineProperties(Xr.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),o(Xr.prototype.respond,"respond"),o(Xr.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Xr.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class fr{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!Zr(this))throw bo("byobRequest");return au(this)}get desiredSize(){if(!Zr(this))throw bo("desiredSize");return _f(this)}close(){if(!Zr(this))throw bo("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let u=this._controlledReadableByteStream._state;if(u!=="readable")throw new TypeError(`The stream (in ${u} state) is not in the readable state and cannot be closed`);_o(this)}enqueue(u){if(!Zr(this))throw bo("enqueue");if(je(u,1,"enqueue"),!ArrayBuffer.isView(u))throw new TypeError("chunk must be an array buffer view");if(u.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(u.buffer.byteLength===0)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");let h=this._controlledReadableByteStream._state;if(h!=="readable")throw new TypeError(`The stream (in ${h} state) is not in the readable state and cannot be enqueued to`);bs(this,u)}error(u=void 0){if(!Zr(this))throw bo("error");Et(this,u)}[J](u){cf(this),Or(this);let h=this._cancelAlgorithm(u);return _s(this),h}[B](u){let h=this._controlledReadableByteStream;if(this._queueTotalSize>0){yf(this,u);return}let E=this._autoAllocateChunkSize;if(E!==void 0){let R;try{R=new ArrayBuffer(E)}catch($){u._errorSteps($);return}let L={buffer:R,bufferByteLength:E,byteOffset:0,byteLength:E,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(L)}x(h,u),en(this)}[Y](){if(this._pendingPullIntos.length>0){let u=this._pendingPullIntos.peek();u.readerType="none",this._pendingPullIntos=new D,this._pendingPullIntos.push(u)}}}Object.defineProperties(fr.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),o(fr.prototype.close,"close"),o(fr.prototype.enqueue,"enqueue"),o(fr.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(fr.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});function Zr(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableByteStream")?!1:i instanceof fr}function nu(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_associatedReadableByteStreamController")?!1:i instanceof Xr}function en(i){if(!X0(i))return;if(i._pulling){i._pullAgain=!0;return}i._pulling=!0;let h=i._pullAlgorithm();g(h,()=>(i._pulling=!1,i._pullAgain&&(i._pullAgain=!1,en(i)),null),E=>(Et(i,E),null))}function cf(i){su(i),i._pendingPullIntos=new D}function ou(i,u){let h=!1;i._state==="closed"&&(h=!0);let E=lf(u);u.readerType==="default"?P(i,E,h):o_(i,E,h)}function lf(i){let u=i.bytesFilled,h=i.elementSize;return new i.viewConstructor(i.buffer,i.byteOffset,u/h)}function ys(i,u,h,E){i._queue.push({buffer:u,byteOffset:h,byteLength:E}),i._queueTotalSize+=E}function df(i,u,h,E){let R;try{R=of(u,h,h+E)}catch(L){throw Et(i,L),L}ys(i,R,0,E)}function ff(i,u){u.bytesFilled>0&&df(i,u.buffer,u.byteOffset,u.bytesFilled),En(i)}function hf(i,u){let h=Math.min(i._queueTotalSize,u.byteLength-u.bytesFilled),E=u.bytesFilled+h,R=h,L=!1,$=E%u.elementSize,Q=E-$;Q>=u.minimumFill&&(R=Q-u.bytesFilled,L=!0);let le=i._queue;for(;R>0;){let oe=le.peek(),he=Math.min(R,oe.byteLength),ye=u.byteOffset+u.bytesFilled;nf(u.buffer,ye,oe.buffer,oe.byteOffset,he),oe.byteLength===he?le.shift():(oe.byteOffset+=he,oe.byteLength-=he),i._queueTotalSize-=he,pf(i,he,u),R-=he}return L}function pf(i,u,h){h.bytesFilled+=u}function mf(i){i._queueTotalSize===0&&i._closeRequested?(_s(i),ko(i._controlledReadableByteStream)):en(i)}function su(i){i._byobRequest!==null&&(i._byobRequest._associatedReadableByteStreamController=void 0,i._byobRequest._view=null,i._byobRequest=null)}function iu(i){for(;i._pendingPullIntos.length>0;){if(i._queueTotalSize===0)return;let u=i._pendingPullIntos.peek();hf(i,u)&&(En(i),ou(i._controlledReadableByteStream,u))}}function V0(i){let u=i._controlledReadableByteStream._reader;for(;u._readRequests.length>0;){if(i._queueTotalSize===0)return;let h=u._readRequests.shift();yf(i,h)}}function K0(i,u,h,E){let R=i._controlledReadableByteStream,L=u.constructor,$=J0(L),{byteOffset:Q,byteLength:le}=u,oe=h*$,he;try{he=dr(u.buffer)}catch(Re){E._errorSteps(Re);return}let ye={buffer:he,bufferByteLength:he.byteLength,byteOffset:Q,byteLength:le,bytesFilled:0,minimumFill:oe,elementSize:$,viewConstructor:L,readerType:"byob"};if(i._pendingPullIntos.length>0){i._pendingPullIntos.push(ye),wf(R,E);return}if(R._state==="closed"){let Re=new L(ye.buffer,ye.byteOffset,0);E._closeSteps(Re);return}if(i._queueTotalSize>0){if(hf(i,ye)){let Re=lf(ye);mf(i),E._chunkSteps(Re);return}if(i._closeRequested){let Re=new TypeError("Insufficient bytes to fill elements in the given buffer");Et(i,Re),E._errorSteps(Re);return}}i._pendingPullIntos.push(ye),wf(R,E),en(i)}function Y0(i,u){u.readerType==="none"&&En(i);let h=i._controlledReadableByteStream;if(cu(h))for(;Ef(h)>0;){let E=En(i);ou(h,E)}}function Q0(i,u,h){if(pf(i,u,h),h.readerType==="none"){ff(i,h),iu(i);return}if(h.bytesFilled<h.minimumFill)return;En(i);let E=h.bytesFilled%h.elementSize;if(E>0){let R=h.byteOffset+h.bytesFilled;df(i,h.buffer,R-E,E)}h.bytesFilled-=E,ou(i._controlledReadableByteStream,h),iu(i)}function gf(i,u){let h=i._pendingPullIntos.peek();su(i),i._controlledReadableByteStream._state==="closed"?Y0(i,h):Q0(i,u,h),en(i)}function En(i){return i._pendingPullIntos.shift()}function X0(i){let u=i._controlledReadableByteStream;return u._state!=="readable"||i._closeRequested||!i._started?!1:!!(N(u)&&j(u)>0||cu(u)&&Ef(u)>0||_f(i)>0)}function _s(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0}function _o(i){let u=i._controlledReadableByteStream;if(!(i._closeRequested||u._state!=="readable")){if(i._queueTotalSize>0){i._closeRequested=!0;return}if(i._pendingPullIntos.length>0){let h=i._pendingPullIntos.peek();if(h.bytesFilled%h.elementSize!==0){let E=new TypeError("Insufficient bytes to fill elements in the given buffer");throw Et(i,E),E}}_s(i),ko(u)}}function bs(i,u){let h=i._controlledReadableByteStream;if(i._closeRequested||h._state!=="readable")return;let{buffer:E,byteOffset:R,byteLength:L}=u;if(xr(E))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let $=dr(E);if(i._pendingPullIntos.length>0){let Q=i._pendingPullIntos.peek();if(xr(Q.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");su(i),Q.buffer=dr(Q.buffer),Q.readerType==="none"&&ff(i,Q)}if(N(h))if(V0(i),j(h)===0)ys(i,$,R,L);else{i._pendingPullIntos.length>0&&En(i);let Q=new Uint8Array($,R,L);P(h,Q,!1)}else cu(h)?(ys(i,$,R,L),iu(i)):ys(i,$,R,L);en(i)}function Et(i,u){let h=i._controlledReadableByteStream;h._state==="readable"&&(cf(i),Or(i),_s(i),Gf(h,u))}function yf(i,u){let h=i._queue.shift();i._queueTotalSize-=h.byteLength,mf(i);let E=new Uint8Array(h.buffer,h.byteOffset,h.byteLength);u._chunkSteps(E)}function au(i){if(i._byobRequest===null&&i._pendingPullIntos.length>0){let u=i._pendingPullIntos.peek(),h=new Uint8Array(u.buffer,u.byteOffset+u.bytesFilled,u.byteLength-u.bytesFilled),E=Object.create(Xr.prototype);e_(E,i,h),i._byobRequest=E}return i._byobRequest}function _f(i){let u=i._controlledReadableByteStream._state;return u==="errored"?null:u==="closed"?0:i._strategyHWM-i._queueTotalSize}function Cs(i,u){let h=i._pendingPullIntos.peek();if(i._controlledReadableByteStream._state==="closed"){if(u!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(u===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(h.bytesFilled+u>h.byteLength)throw new RangeError("bytesWritten out of range")}h.buffer=dr(h.buffer),gf(i,u)}function ws(i,u){let h=i._pendingPullIntos.peek();if(i._controlledReadableByteStream._state==="closed"){if(u.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(u.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(h.byteOffset+h.bytesFilled!==u.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(h.bufferByteLength!==u.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(h.bytesFilled+u.byteLength>h.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let R=u.byteLength;h.buffer=dr(u.buffer),gf(i,R)}function bf(i,u,h,E,R,L,$){u._controlledReadableByteStream=i,u._pullAgain=!1,u._pulling=!1,u._byobRequest=null,u._queue=u._queueTotalSize=void 0,Or(u),u._closeRequested=!1,u._started=!1,u._strategyHWM=L,u._pullAlgorithm=E,u._cancelAlgorithm=R,u._autoAllocateChunkSize=$,u._pendingPullIntos=new D,i._readableStreamController=u;let Q=h();g(d(Q),()=>(u._started=!0,en(u),null),le=>(Et(u,le),null))}function Z0(i,u,h){let E=Object.create(fr.prototype),R,L,$;u.start!==void 0?R=()=>u.start(E):R=()=>{},u.pull!==void 0?L=()=>u.pull(E):L=()=>d(void 0),u.cancel!==void 0?$=le=>u.cancel(le):$=()=>d(void 0);let Q=u.autoAllocateChunkSize;if(Q===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");bf(i,E,R,L,$,h,Q)}function e_(i,u,h){i._associatedReadableByteStreamController=u,i._view=h}function uu(i){return new TypeError(`ReadableStreamBYOBRequest.prototype.${i} can only be used on a ReadableStreamBYOBRequest`)}function bo(i){return new TypeError(`ReadableByteStreamController.prototype.${i} can only be used on a ReadableByteStreamController`)}function t_(i,u){de(i,u);let h=i?.mode;return{mode:h===void 0?void 0:r_(h,`${u} has member 'mode' that`)}}function r_(i,u){if(i=`${i}`,i!=="byob")throw new TypeError(`${u} '${i}' is not a valid enumeration value for ReadableStreamReaderMode`);return i}function n_(i,u){var h;de(i,u);let E=(h=i?.min)!==null&&h!==void 0?h:1;return{min:F(E,`${u} has member 'min' that`)}}function Cf(i){return new Fr(i)}function wf(i,u){i._reader._readIntoRequests.push(u)}function o_(i,u,h){let R=i._reader._readIntoRequests.shift();h?R._closeSteps(u):R._chunkSteps(u)}function Ef(i){return i._reader._readIntoRequests.length}function cu(i){let u=i._reader;return!(u===void 0||!tn(u))}class Fr{constructor(u){if(je(u,1,"ReadableStreamBYOBReader"),I(u,"First parameter"),Br(u))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!Zr(u._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");re(this,u),this._readIntoRequests=new D}get closed(){return tn(this)?this._closedPromise:f(Es("closed"))}cancel(u=void 0){return tn(this)?this._ownerReadableStream===void 0?f(fe("cancel")):ee(this,u):f(Es("cancel"))}read(u,h={}){if(!tn(this))return f(Es("read"));if(!ArrayBuffer.isView(u))return f(new TypeError("view must be an array buffer view"));if(u.byteLength===0)return f(new TypeError("view must have non-zero byteLength"));if(u.buffer.byteLength===0)return f(new TypeError("view's buffer must have non-zero byteLength"));if(xr(u.buffer))return f(new TypeError("view's buffer has been detached"));let E;try{E=n_(h,"options")}catch(oe){return f(oe)}let R=E.min;if(R===0)return f(new TypeError("options.min must be greater than 0"));if(G0(u)){if(R>u.byteLength)return f(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(R>u.length)return f(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return f(fe("read from"));let L,$,Q=l((oe,he)=>{L=oe,$=he});return Af(this,u,R,{_chunkSteps:oe=>L({value:oe,done:!1}),_closeSteps:oe=>L({value:oe,done:!0}),_errorSteps:oe=>$(oe)}),Q}releaseLock(){if(!tn(this))throw Es("releaseLock");this._ownerReadableStream!==void 0&&s_(this)}}Object.defineProperties(Fr.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),o(Fr.prototype.cancel,"cancel"),o(Fr.prototype.read,"read"),o(Fr.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Fr.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});function tn(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_readIntoRequests")?!1:i instanceof Fr}function Af(i,u,h,E){let R=i._ownerReadableStream;R._disturbed=!0,R._state==="errored"?E._errorSteps(R._storedError):K0(R._readableStreamController,u,h,E)}function s_(i){ue(i);let u=new TypeError("Reader was released");Sf(i,u)}function Sf(i,u){let h=i._readIntoRequests;i._readIntoRequests=new D,h.forEach(E=>{E._errorSteps(u)})}function Es(i){return new TypeError(`ReadableStreamBYOBReader.prototype.${i} can only be used on a ReadableStreamBYOBReader`)}function Co(i,u){let{highWaterMark:h}=i;if(h===void 0)return u;if(dt(h)||h<0)throw new RangeError("Invalid highWaterMark");return h}function As(i){let{size:u}=i;return u||(()=>1)}function Ss(i,u){de(i,u);let h=i?.highWaterMark,E=i?.size;return{highWaterMark:h===void 0?void 0:k(h),size:E===void 0?void 0:i_(E,`${u} has member 'size' that`)}}function i_(i,u){return _e(i,u),h=>k(i(h))}function a_(i,u){de(i,u);let h=i?.abort,E=i?.close,R=i?.start,L=i?.type,$=i?.write;return{abort:h===void 0?void 0:u_(h,i,`${u} has member 'abort' that`),close:E===void 0?void 0:c_(E,i,`${u} has member 'close' that`),start:R===void 0?void 0:l_(R,i,`${u} has member 'start' that`),write:$===void 0?void 0:d_($,i,`${u} has member 'write' that`),type:L}}function u_(i,u,h){return _e(i,h),E=>b(i,u,[E])}function c_(i,u,h){return _e(i,h),()=>b(i,u,[])}function l_(i,u,h){return _e(i,h),E=>v(i,u,[E])}function d_(i,u,h){return _e(i,h),(E,R)=>b(i,u,[E,R])}function kf(i,u){if(!An(i))throw new TypeError(`${u} is not a WritableStream.`)}function f_(i){if(typeof i!="object"||i===null)return!1;try{return typeof i.aborted=="boolean"}catch{return!1}}let h_=typeof AbortController=="function";function p_(){if(h_)return new AbortController}class Pr{constructor(u={},h={}){u===void 0?u=null:xe(u,"First parameter");let E=Ss(h,"Second parameter"),R=a_(u,"First parameter");if(Tf(this),R.type!==void 0)throw new RangeError("Invalid type is specified");let $=As(E),Q=Co(E,1);D_(this,R,Q,$)}get locked(){if(!An(this))throw Rs("locked");return Sn(this)}abort(u=void 0){return An(this)?Sn(this)?f(new TypeError("Cannot abort a stream that already has a writer")):ks(this,u):f(Rs("abort"))}close(){return An(this)?Sn(this)?f(new TypeError("Cannot close a stream that already has a writer")):Kt(this)?f(new TypeError("Cannot close an already-closing stream")):Df(this):f(Rs("close"))}getWriter(){if(!An(this))throw Rs("getWriter");return vf(this)}}Object.defineProperties(Pr.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),o(Pr.prototype.abort,"abort"),o(Pr.prototype.close,"close"),o(Pr.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Pr.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});function vf(i){return new hr(i)}function m_(i,u,h,E,R=1,L=()=>1){let $=Object.create(Pr.prototype);Tf($);let Q=Object.create(kn.prototype);return If($,Q,i,u,h,E,R,L),$}function Tf(i){i._state="writable",i._storedError=void 0,i._writer=void 0,i._writableStreamController=void 0,i._writeRequests=new D,i._inFlightWriteRequest=void 0,i._closeRequest=void 0,i._inFlightCloseRequest=void 0,i._pendingAbortRequest=void 0,i._backpressure=!1}function An(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_writableStreamController")?!1:i instanceof Pr}function Sn(i){return i._writer!==void 0}function ks(i,u){var h;if(i._state==="closed"||i._state==="errored")return d(void 0);i._writableStreamController._abortReason=u,(h=i._writableStreamController._abortController)===null||h===void 0||h.abort(u);let E=i._state;if(E==="closed"||E==="errored")return d(void 0);if(i._pendingAbortRequest!==void 0)return i._pendingAbortRequest._promise;let R=!1;E==="erroring"&&(R=!0,u=void 0);let L=l(($,Q)=>{i._pendingAbortRequest={_promise:void 0,_resolve:$,_reject:Q,_reason:u,_wasAlreadyErroring:R}});return i._pendingAbortRequest._promise=L,R||du(i,u),L}function Df(i){let u=i._state;if(u==="closed"||u==="errored")return f(new TypeError(`The stream (in ${u} state) is not in the writable state and cannot be closed`));let h=l((R,L)=>{let $={_resolve:R,_reject:L};i._closeRequest=$}),E=i._writer;return E!==void 0&&i._backpressure&&u==="writable"&&bu(E),R_(i._writableStreamController),h}function g_(i){return l((h,E)=>{let R={_resolve:h,_reject:E};i._writeRequests.push(R)})}function lu(i,u){if(i._state==="writable"){du(i,u);return}fu(i)}function du(i,u){let h=i._writableStreamController;i._state="erroring",i._storedError=u;let E=i._writer;E!==void 0&&xf(E,u),!w_(i)&&h._started&&fu(i)}function fu(i){i._state="errored",i._writableStreamController[q]();let u=i._storedError;if(i._writeRequests.forEach(R=>{R._reject(u)}),i._writeRequests=new D,i._pendingAbortRequest===void 0){vs(i);return}let h=i._pendingAbortRequest;if(i._pendingAbortRequest=void 0,h._wasAlreadyErroring){h._reject(u),vs(i);return}let E=i._writableStreamController[O](h._reason);g(E,()=>(h._resolve(),vs(i),null),R=>(h._reject(R),vs(i),null))}function y_(i){i._inFlightWriteRequest._resolve(void 0),i._inFlightWriteRequest=void 0}function __(i,u){i._inFlightWriteRequest._reject(u),i._inFlightWriteRequest=void 0,lu(i,u)}function b_(i){i._inFlightCloseRequest._resolve(void 0),i._inFlightCloseRequest=void 0,i._state==="erroring"&&(i._storedError=void 0,i._pendingAbortRequest!==void 0&&(i._pendingAbortRequest._resolve(),i._pendingAbortRequest=void 0)),i._state="closed";let h=i._writer;h!==void 0&&jf(h)}function C_(i,u){i._inFlightCloseRequest._reject(u),i._inFlightCloseRequest=void 0,i._pendingAbortRequest!==void 0&&(i._pendingAbortRequest._reject(u),i._pendingAbortRequest=void 0),lu(i,u)}function Kt(i){return!(i._closeRequest===void 0&&i._inFlightCloseRequest===void 0)}function w_(i){return!(i._inFlightWriteRequest===void 0&&i._inFlightCloseRequest===void 0)}function E_(i){i._inFlightCloseRequest=i._closeRequest,i._closeRequest=void 0}function A_(i){i._inFlightWriteRequest=i._writeRequests.shift()}function vs(i){i._closeRequest!==void 0&&(i._closeRequest._reject(i._storedError),i._closeRequest=void 0);let u=i._writer;u!==void 0&&yu(u,i._storedError)}function hu(i,u){let h=i._writer;h!==void 0&&u!==i._backpressure&&(u?N_(h):bu(h)),i._backpressure=u}class hr{constructor(u){if(je(u,1,"WritableStreamDefaultWriter"),kf(u,"First parameter"),Sn(u))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=u,u._writer=this;let h=u._state;if(h==="writable")!Kt(u)&&u._backpressure?Os(this):Lf(this),xs(this);else if(h==="erroring")_u(this,u._storedError),xs(this);else if(h==="closed")Lf(this),I_(this);else{let E=u._storedError;_u(this,E),Mf(this,E)}}get closed(){return rn(this)?this._closedPromise:f(nn("closed"))}get desiredSize(){if(!rn(this))throw nn("desiredSize");if(this._ownerWritableStream===void 0)throw Eo("desiredSize");return T_(this)}get ready(){return rn(this)?this._readyPromise:f(nn("ready"))}abort(u=void 0){return rn(this)?this._ownerWritableStream===void 0?f(Eo("abort")):S_(this,u):f(nn("abort"))}close(){if(!rn(this))return f(nn("close"));let u=this._ownerWritableStream;return u===void 0?f(Eo("close")):Kt(u)?f(new TypeError("Cannot close an already-closing stream")):Rf(this)}releaseLock(){if(!rn(this))throw nn("releaseLock");this._ownerWritableStream!==void 0&&Of(this)}write(u=void 0){return rn(this)?this._ownerWritableStream===void 0?f(Eo("write to")):Ff(this,u):f(nn("write"))}}Object.defineProperties(hr.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),o(hr.prototype.abort,"abort"),o(hr.prototype.close,"close"),o(hr.prototype.releaseLock,"releaseLock"),o(hr.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(hr.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});function rn(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_ownerWritableStream")?!1:i instanceof hr}function S_(i,u){let h=i._ownerWritableStream;return ks(h,u)}function Rf(i){let u=i._ownerWritableStream;return Df(u)}function k_(i){let u=i._ownerWritableStream,h=u._state;return Kt(u)||h==="closed"?d(void 0):h==="errored"?f(u._storedError):Rf(i)}function v_(i,u){i._closedPromiseState==="pending"?yu(i,u):B_(i,u)}function xf(i,u){i._readyPromiseState==="pending"?Uf(i,u):M_(i,u)}function T_(i){let u=i._ownerWritableStream,h=u._state;return h==="errored"||h==="erroring"?null:h==="closed"?0:Bf(u._writableStreamController)}function Of(i){let u=i._ownerWritableStream,h=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");xf(i,h),v_(i,h),u._writer=void 0,i._ownerWritableStream=void 0}function Ff(i,u){let h=i._ownerWritableStream,E=h._writableStreamController,R=x_(E,u);if(h!==i._ownerWritableStream)return f(Eo("write to"));let L=h._state;if(L==="errored")return f(h._storedError);if(Kt(h)||L==="closed")return f(new TypeError("The stream is closing or closed and cannot be written to"));if(L==="erroring")return f(h._storedError);let $=g_(h);return O_(E,u,R),$}let Pf={};class kn{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!pu(this))throw gu("abortReason");return this._abortReason}get signal(){if(!pu(this))throw gu("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(u=void 0){if(!pu(this))throw gu("error");this._controlledWritableStream._state==="writable"&&Nf(this,u)}[O](u){let h=this._abortAlgorithm(u);return Ts(this),h}[q](){Or(this)}}Object.defineProperties(kn.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(kn.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});function pu(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledWritableStream")?!1:i instanceof kn}function If(i,u,h,E,R,L,$,Q){u._controlledWritableStream=i,i._writableStreamController=u,u._queue=void 0,u._queueTotalSize=void 0,Or(u),u._abortReason=void 0,u._abortController=p_(),u._started=!1,u._strategySizeAlgorithm=Q,u._strategyHWM=$,u._writeAlgorithm=E,u._closeAlgorithm=R,u._abortAlgorithm=L;let le=mu(u);hu(i,le);let oe=h(),he=d(oe);g(he,()=>(u._started=!0,Ds(u),null),ye=>(u._started=!0,lu(i,ye),null))}function D_(i,u,h,E){let R=Object.create(kn.prototype),L,$,Q,le;u.start!==void 0?L=()=>u.start(R):L=()=>{},u.write!==void 0?$=oe=>u.write(oe,R):$=()=>d(void 0),u.close!==void 0?Q=()=>u.close():Q=()=>d(void 0),u.abort!==void 0?le=oe=>u.abort(oe):le=()=>d(void 0),If(i,R,L,$,Q,le,h,E)}function Ts(i){i._writeAlgorithm=void 0,i._closeAlgorithm=void 0,i._abortAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function R_(i){ru(i,Pf,0),Ds(i)}function x_(i,u){try{return i._strategySizeAlgorithm(u)}catch(h){return wo(i,h),1}}function Bf(i){return i._strategyHWM-i._queueTotalSize}function O_(i,u,h){try{ru(i,u,h)}catch(R){wo(i,R);return}let E=i._controlledWritableStream;if(!Kt(E)&&E._state==="writable"){let R=mu(i);hu(E,R)}Ds(i)}function Ds(i){let u=i._controlledWritableStream;if(!i._started||u._inFlightWriteRequest!==void 0)return;if(u._state==="erroring"){fu(u);return}if(i._queue.length===0)return;let E=W0(i);E===Pf?F_(i):P_(i,E)}function wo(i,u){i._controlledWritableStream._state==="writable"&&Nf(i,u)}function F_(i){let u=i._controlledWritableStream;E_(u),tu(i);let h=i._closeAlgorithm();Ts(i),g(h,()=>(b_(u),null),E=>(C_(u,E),null))}function P_(i,u){let h=i._controlledWritableStream;A_(h);let E=i._writeAlgorithm(u);g(E,()=>{y_(h);let R=h._state;if(tu(i),!Kt(h)&&R==="writable"){let L=mu(i);hu(h,L)}return Ds(i),null},R=>(h._state==="writable"&&Ts(i),__(h,R),null))}function mu(i){return Bf(i)<=0}function Nf(i,u){let h=i._controlledWritableStream;Ts(i),du(h,u)}function Rs(i){return new TypeError(`WritableStream.prototype.${i} can only be used on a WritableStream`)}function gu(i){return new TypeError(`WritableStreamDefaultController.prototype.${i} can only be used on a WritableStreamDefaultController`)}function nn(i){return new TypeError(`WritableStreamDefaultWriter.prototype.${i} can only be used on a WritableStreamDefaultWriter`)}function Eo(i){return new TypeError("Cannot "+i+" a stream using a released writer")}function xs(i){i._closedPromise=l((u,h)=>{i._closedPromise_resolve=u,i._closedPromise_reject=h,i._closedPromiseState="pending"})}function Mf(i,u){xs(i),yu(i,u)}function I_(i){xs(i),jf(i)}function yu(i,u){i._closedPromise_reject!==void 0&&(y(i._closedPromise),i._closedPromise_reject(u),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0,i._closedPromiseState="rejected")}function B_(i,u){Mf(i,u)}function jf(i){i._closedPromise_resolve!==void 0&&(i._closedPromise_resolve(void 0),i._closedPromise_resolve=void 0,i._closedPromise_reject=void 0,i._closedPromiseState="resolved")}function Os(i){i._readyPromise=l((u,h)=>{i._readyPromise_resolve=u,i._readyPromise_reject=h}),i._readyPromiseState="pending"}function _u(i,u){Os(i),Uf(i,u)}function Lf(i){Os(i),bu(i)}function Uf(i,u){i._readyPromise_reject!==void 0&&(y(i._readyPromise),i._readyPromise_reject(u),i._readyPromise_resolve=void 0,i._readyPromise_reject=void 0,i._readyPromiseState="rejected")}function N_(i){Os(i)}function M_(i,u){_u(i,u)}function bu(i){i._readyPromise_resolve!==void 0&&(i._readyPromise_resolve(void 0),i._readyPromise_resolve=void 0,i._readyPromise_reject=void 0,i._readyPromiseState="fulfilled")}function j_(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof global<"u")return global}let Cu=j_();function L_(i){if(!(typeof i=="function"||typeof i=="object")||i.name!=="DOMException")return!1;try{return new i,!0}catch{return!1}}function U_(){let i=Cu?.DOMException;return L_(i)?i:void 0}function $_(){let i=function(h,E){this.message=h||"",this.name=E||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return o(i,"DOMException"),i.prototype=Object.create(Error.prototype),Object.defineProperty(i.prototype,"constructor",{value:i,writable:!0,configurable:!0}),i}let q_=U_()||$_();function $f(i,u,h,E,R,L){let $=U(i),Q=vf(u);i._disturbed=!0;let le=!1,oe=d(void 0);return l((he,ye)=>{let Re;if(L!==void 0){if(Re=()=>{let ie=L.reason!==void 0?L.reason:new q_("Aborted","AbortError"),be=[];E||be.push(()=>u._state==="writable"?ks(u,ie):d(void 0)),R||be.push(()=>i._state==="readable"?Nt(i,ie):d(void 0)),st(()=>Promise.all(be.map(Oe=>Oe())),!0,ie)},L.aborted){Re();return}L.addEventListener("abort",Re)}function Mt(){return l((ie,be)=>{function Oe(ft){ft?ie():p(Rn(),Oe,be)}Oe(!1)})}function Rn(){return le?d(!0):p(Q._readyPromise,()=>l((ie,be)=>{te($,{_chunkSteps:Oe=>{oe=p(Ff(Q,Oe),void 0,e),ie(!1)},_closeSteps:()=>ie(!0),_errorSteps:be})}))}if(mr(i,$._closedPromise,ie=>(E?At(!0,ie):st(()=>ks(u,ie),!0,ie),null)),mr(u,Q._closedPromise,ie=>(R?At(!0,ie):st(()=>Nt(i,ie),!0,ie),null)),Ze(i,$._closedPromise,()=>(h?At():st(()=>k_(Q)),null)),Kt(u)||u._state==="closed"){let ie=new TypeError("the destination writable stream closed before all data could be piped to it");R?At(!0,ie):st(()=>Nt(i,ie),!0,ie)}y(Mt());function Mr(){let ie=oe;return p(oe,()=>ie!==oe?Mr():void 0)}function mr(ie,be,Oe){ie._state==="errored"?Oe(ie._storedError):w(be,Oe)}function Ze(ie,be,Oe){ie._state==="closed"?Oe():A(be,Oe)}function st(ie,be,Oe){if(le)return;le=!0,u._state==="writable"&&!Kt(u)?A(Mr(),ft):ft();function ft(){return g(ie(),()=>gr(be,Oe),xn=>gr(!0,xn)),null}}function At(ie,be){le||(le=!0,u._state==="writable"&&!Kt(u)?A(Mr(),()=>gr(ie,be)):gr(ie,be))}function gr(ie,be){return Of(Q),ue($),L!==void 0&&L.removeEventListener("abort",Re),ie?ye(be):he(void 0),null}})}class pr{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Fs(this))throw Is("desiredSize");return wu(this)}close(){if(!Fs(this))throw Is("close");if(!Tn(this))throw new TypeError("The stream is not in a state that permits close");on(this)}enqueue(u=void 0){if(!Fs(this))throw Is("enqueue");if(!Tn(this))throw new TypeError("The stream is not in a state that permits enqueue");return vn(this,u)}error(u=void 0){if(!Fs(this))throw Is("error");Bt(this,u)}[J](u){Or(this);let h=this._cancelAlgorithm(u);return Ps(this),h}[B](u){let h=this._controlledReadableStream;if(this._queue.length>0){let E=tu(this);this._closeRequested&&this._queue.length===0?(Ps(this),ko(h)):Ao(this),u._chunkSteps(E)}else x(h,u),Ao(this)}[Y](){}}Object.defineProperties(pr.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),o(pr.prototype.close,"close"),o(pr.prototype.enqueue,"enqueue"),o(pr.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(pr.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});function Fs(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledReadableStream")?!1:i instanceof pr}function Ao(i){if(!qf(i))return;if(i._pulling){i._pullAgain=!0;return}i._pulling=!0;let h=i._pullAlgorithm();g(h,()=>(i._pulling=!1,i._pullAgain&&(i._pullAgain=!1,Ao(i)),null),E=>(Bt(i,E),null))}function qf(i){let u=i._controlledReadableStream;return!Tn(i)||!i._started?!1:!!(Br(u)&&j(u)>0||wu(i)>0)}function Ps(i){i._pullAlgorithm=void 0,i._cancelAlgorithm=void 0,i._strategySizeAlgorithm=void 0}function on(i){if(!Tn(i))return;let u=i._controlledReadableStream;i._closeRequested=!0,i._queue.length===0&&(Ps(i),ko(u))}function vn(i,u){if(!Tn(i))return;let h=i._controlledReadableStream;if(Br(h)&&j(h)>0)P(h,u,!1);else{let E;try{E=i._strategySizeAlgorithm(u)}catch(R){throw Bt(i,R),R}try{ru(i,u,E)}catch(R){throw Bt(i,R),R}}Ao(i)}function Bt(i,u){let h=i._controlledReadableStream;h._state==="readable"&&(Or(i),Ps(i),Gf(h,u))}function wu(i){let u=i._controlledReadableStream._state;return u==="errored"?null:u==="closed"?0:i._strategyHWM-i._queueTotalSize}function z_(i){return!qf(i)}function Tn(i){let u=i._controlledReadableStream._state;return!i._closeRequested&&u==="readable"}function zf(i,u,h,E,R,L,$){u._controlledReadableStream=i,u._queue=void 0,u._queueTotalSize=void 0,Or(u),u._started=!1,u._closeRequested=!1,u._pullAgain=!1,u._pulling=!1,u._strategySizeAlgorithm=$,u._strategyHWM=L,u._pullAlgorithm=E,u._cancelAlgorithm=R,i._readableStreamController=u;let Q=h();g(d(Q),()=>(u._started=!0,Ao(u),null),le=>(Bt(u,le),null))}function H_(i,u,h,E){let R=Object.create(pr.prototype),L,$,Q;u.start!==void 0?L=()=>u.start(R):L=()=>{},u.pull!==void 0?$=()=>u.pull(R):$=()=>d(void 0),u.cancel!==void 0?Q=le=>u.cancel(le):Q=()=>d(void 0),zf(i,R,L,$,Q,h,E)}function Is(i){return new TypeError(`ReadableStreamDefaultController.prototype.${i} can only be used on a ReadableStreamDefaultController`)}function W_(i,u){return Zr(i._readableStreamController)?J_(i):G_(i)}function G_(i,u){let h=U(i),E=!1,R=!1,L=!1,$=!1,Q,le,oe,he,ye,Re=l(Ze=>{ye=Ze});function Mt(){return E?(R=!0,d(void 0)):(E=!0,te(h,{_chunkSteps:st=>{m(()=>{R=!1;let At=st,gr=st;L||vn(oe._readableStreamController,At),$||vn(he._readableStreamController,gr),E=!1,R&&Mt()})},_closeSteps:()=>{E=!1,L||on(oe._readableStreamController),$||on(he._readableStreamController),(!L||!$)&&ye(void 0)},_errorSteps:()=>{E=!1}}),d(void 0))}function Rn(Ze){if(L=!0,Q=Ze,$){let st=ve([Q,le]),At=Nt(i,st);ye(At)}return Re}function Mr(Ze){if($=!0,le=Ze,L){let st=ve([Q,le]),At=Nt(i,st);ye(At)}return Re}function mr(){}return oe=So(mr,Mt,Rn),he=So(mr,Mt,Mr),w(h._closedPromise,Ze=>(Bt(oe._readableStreamController,Ze),Bt(he._readableStreamController,Ze),(!L||!$)&&ye(void 0),null)),[oe,he]}function J_(i){let u=U(i),h=!1,E=!1,R=!1,L=!1,$=!1,Q,le,oe,he,ye,Re=l(ie=>{ye=ie});function Mt(ie){w(ie._closedPromise,be=>(ie!==u||(Et(oe._readableStreamController,be),Et(he._readableStreamController,be),(!L||!$)&&ye(void 0)),null))}function Rn(){tn(u)&&(ue(u),u=U(i),Mt(u)),te(u,{_chunkSteps:be=>{m(()=>{E=!1,R=!1;let Oe=be,ft=be;if(!L&&!$)try{ft=af(be)}catch(xn){Et(oe._readableStreamController,xn),Et(he._readableStreamController,xn),ye(Nt(i,xn));return}L||bs(oe._readableStreamController,Oe),$||bs(he._readableStreamController,ft),h=!1,E?mr():R&&Ze()})},_closeSteps:()=>{h=!1,L||_o(oe._readableStreamController),$||_o(he._readableStreamController),oe._readableStreamController._pendingPullIntos.length>0&&Cs(oe._readableStreamController,0),he._readableStreamController._pendingPullIntos.length>0&&Cs(he._readableStreamController,0),(!L||!$)&&ye(void 0)},_errorSteps:()=>{h=!1}})}function Mr(ie,be){Z(u)&&(ue(u),u=Cf(i),Mt(u));let Oe=be?he:oe,ft=be?oe:he;Af(u,ie,1,{_chunkSteps:On=>{m(()=>{E=!1,R=!1;let Fn=be?$:L;if(be?L:$)Fn||ws(Oe._readableStreamController,On);else{let sh;try{sh=af(On)}catch(vu){Et(Oe._readableStreamController,vu),Et(ft._readableStreamController,vu),ye(Nt(i,vu));return}Fn||ws(Oe._readableStreamController,On),bs(ft._readableStreamController,sh)}h=!1,E?mr():R&&Ze()})},_closeSteps:On=>{h=!1;let Fn=be?$:L,qs=be?L:$;Fn||_o(Oe._readableStreamController),qs||_o(ft._readableStreamController),On!==void 0&&(Fn||ws(Oe._readableStreamController,On),!qs&&ft._readableStreamController._pendingPullIntos.length>0&&Cs(ft._readableStreamController,0)),(!Fn||!qs)&&ye(void 0)},_errorSteps:()=>{h=!1}})}function mr(){if(h)return E=!0,d(void 0);h=!0;let ie=au(oe._readableStreamController);return ie===null?Rn():Mr(ie._view,!1),d(void 0)}function Ze(){if(h)return R=!0,d(void 0);h=!0;let ie=au(he._readableStreamController);return ie===null?Rn():Mr(ie._view,!0),d(void 0)}function st(ie){if(L=!0,Q=ie,$){let be=ve([Q,le]),Oe=Nt(i,be);ye(Oe)}return Re}function At(ie){if($=!0,le=ie,L){let be=ve([Q,le]),Oe=Nt(i,be);ye(Oe)}return Re}function gr(){}return oe=Wf(gr,mr,st),he=Wf(gr,Ze,At),Mt(u),[oe,he]}function V_(i){return r(i)&&typeof i.getReader<"u"}function K_(i){return V_(i)?Q_(i.getReader()):Y_(i)}function Y_(i){let u,h=sf(i,"async"),E=e;function R(){let $;try{$=$0(h)}catch(le){return f(le)}let Q=d($);return _(Q,le=>{if(!r(le))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(q0(le))on(u._readableStreamController);else{let he=z0(le);vn(u._readableStreamController,he)}})}function L($){let Q=h.iterator,le;try{le=gs(Q,"return")}catch(ye){return f(ye)}if(le===void 0)return d(void 0);let oe;try{oe=v(le,Q,[$])}catch(ye){return f(ye)}let he=d(oe);return _(he,ye=>{if(!r(ye))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return u=So(E,R,L,0),u}function Q_(i){let u,h=e;function E(){let L;try{L=i.read()}catch($){return f($)}return _(L,$=>{if(!r($))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if($.done)on(u._readableStreamController);else{let Q=$.value;vn(u._readableStreamController,Q)}})}function R(L){try{return d(i.cancel(L))}catch($){return f($)}}return u=So(h,E,R,0),u}function X_(i,u){de(i,u);let h=i,E=h?.autoAllocateChunkSize,R=h?.cancel,L=h?.pull,$=h?.start,Q=h?.type;return{autoAllocateChunkSize:E===void 0?void 0:F(E,`${u} has member 'autoAllocateChunkSize' that`),cancel:R===void 0?void 0:Z_(R,h,`${u} has member 'cancel' that`),pull:L===void 0?void 0:eb(L,h,`${u} has member 'pull' that`),start:$===void 0?void 0:tb($,h,`${u} has member 'start' that`),type:Q===void 0?void 0:rb(Q,`${u} has member 'type' that`)}}function Z_(i,u,h){return _e(i,h),E=>b(i,u,[E])}function eb(i,u,h){return _e(i,h),E=>b(i,u,[E])}function tb(i,u,h){return _e(i,h),E=>v(i,u,[E])}function rb(i,u){if(i=`${i}`,i!=="bytes")throw new TypeError(`${u} '${i}' is not a valid enumeration value for ReadableStreamType`);return i}function nb(i,u){return de(i,u),{preventCancel:!!i?.preventCancel}}function Hf(i,u){de(i,u);let h=i?.preventAbort,E=i?.preventCancel,R=i?.preventClose,L=i?.signal;return L!==void 0&&ob(L,`${u} has member 'signal' that`),{preventAbort:!!h,preventCancel:!!E,preventClose:!!R,signal:L}}function ob(i,u){if(!f_(i))throw new TypeError(`${u} is not an AbortSignal.`)}function sb(i,u){de(i,u);let h=i?.readable;C(h,"readable","ReadableWritablePair"),I(h,`${u} has member 'readable' that`);let E=i?.writable;return C(E,"writable","ReadableWritablePair"),kf(E,`${u} has member 'writable' that`),{readable:h,writable:E}}class Qe{constructor(u={},h={}){u===void 0?u=null:xe(u,"First parameter");let E=Ss(h,"Second parameter"),R=X_(u,"First parameter");if(Eu(this),R.type==="bytes"){if(E.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");let L=Co(E,0);Z0(this,R,L)}else{let L=As(E),$=Co(E,1);H_(this,R,$,L)}}get locked(){if(!Ir(this))throw sn("locked");return Br(this)}cancel(u=void 0){return Ir(this)?Br(this)?f(new TypeError("Cannot cancel a stream that already has a reader")):Nt(this,u):f(sn("cancel"))}getReader(u=void 0){if(!Ir(this))throw sn("getReader");return t_(u,"First parameter").mode===void 0?U(this):Cf(this)}pipeThrough(u,h={}){if(!Ir(this))throw sn("pipeThrough");je(u,1,"pipeThrough");let E=sb(u,"First parameter"),R=Hf(h,"Second parameter");if(Br(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(Sn(E.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");let L=$f(this,E.writable,R.preventClose,R.preventAbort,R.preventCancel,R.signal);return y(L),E.readable}pipeTo(u,h={}){if(!Ir(this))return f(sn("pipeTo"));if(u===void 0)return f("Parameter 1 is required in 'pipeTo'.");if(!An(u))return f(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let E;try{E=Hf(h,"Second parameter")}catch(R){return f(R)}return Br(this)?f(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):Sn(u)?f(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):$f(this,u,E.preventClose,E.preventAbort,E.preventCancel,E.signal)}tee(){if(!Ir(this))throw sn("tee");let u=W_(this);return ve(u)}values(u=void 0){if(!Ir(this))throw sn("values");let h=nb(u,"First parameter");return bn(this,h.preventCancel)}[eu](u){return this.values(u)}static from(u){return K_(u)}}Object.defineProperties(Qe,{from:{enumerable:!0}}),Object.defineProperties(Qe.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),o(Qe.from,"from"),o(Qe.prototype.cancel,"cancel"),o(Qe.prototype.getReader,"getReader"),o(Qe.prototype.pipeThrough,"pipeThrough"),o(Qe.prototype.pipeTo,"pipeTo"),o(Qe.prototype.tee,"tee"),o(Qe.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Qe.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(Qe.prototype,eu,{value:Qe.prototype.values,writable:!0,configurable:!0});function So(i,u,h,E=1,R=()=>1){let L=Object.create(Qe.prototype);Eu(L);let $=Object.create(pr.prototype);return zf(L,$,i,u,h,E,R),L}function Wf(i,u,h){let E=Object.create(Qe.prototype);Eu(E);let R=Object.create(fr.prototype);return bf(E,R,i,u,h,0,void 0),E}function Eu(i){i._state="readable",i._reader=void 0,i._storedError=void 0,i._disturbed=!1}function Ir(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_readableStreamController")?!1:i instanceof Qe}function Br(i){return i._reader!==void 0}function Nt(i,u){if(i._disturbed=!0,i._state==="closed")return d(void 0);if(i._state==="errored")return f(i._storedError);ko(i);let h=i._reader;if(h!==void 0&&tn(h)){let R=h._readIntoRequests;h._readIntoRequests=new D,R.forEach(L=>{L._closeSteps(void 0)})}let E=i._readableStreamController[J](u);return _(E,e)}function ko(i){i._state="closed";let u=i._reader;if(u!==void 0&&(ce(u),Z(u))){let h=u._readRequests;u._readRequests=new D,h.forEach(E=>{E._closeSteps()})}}function Gf(i,u){i._state="errored",i._storedError=u;let h=i._reader;h!==void 0&&(G(h,u),Z(h)?Pe(h,u):Sf(h,u))}function sn(i){return new TypeError(`ReadableStream.prototype.${i} can only be used on a ReadableStream`)}function Jf(i,u){de(i,u);let h=i?.highWaterMark;return C(h,"highWaterMark","QueuingStrategyInit"),{highWaterMark:k(h)}}let Vf=i=>i.byteLength;o(Vf,"size");class Bs{constructor(u){je(u,1,"ByteLengthQueuingStrategy"),u=Jf(u,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=u.highWaterMark}get highWaterMark(){if(!Yf(this))throw Kf("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!Yf(this))throw Kf("size");return Vf}}Object.defineProperties(Bs.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Bs.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function Kf(i){return new TypeError(`ByteLengthQueuingStrategy.prototype.${i} can only be used on a ByteLengthQueuingStrategy`)}function Yf(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_byteLengthQueuingStrategyHighWaterMark")?!1:i instanceof Bs}let Qf=()=>1;o(Qf,"size");class Ns{constructor(u){je(u,1,"CountQueuingStrategy"),u=Jf(u,"First parameter"),this._countQueuingStrategyHighWaterMark=u.highWaterMark}get highWaterMark(){if(!Zf(this))throw Xf("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!Zf(this))throw Xf("size");return Qf}}Object.defineProperties(Ns.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Ns.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});function Xf(i){return new TypeError(`CountQueuingStrategy.prototype.${i} can only be used on a CountQueuingStrategy`)}function Zf(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_countQueuingStrategyHighWaterMark")?!1:i instanceof Ns}function ib(i,u){de(i,u);let h=i?.cancel,E=i?.flush,R=i?.readableType,L=i?.start,$=i?.transform,Q=i?.writableType;return{cancel:h===void 0?void 0:lb(h,i,`${u} has member 'cancel' that`),flush:E===void 0?void 0:ab(E,i,`${u} has member 'flush' that`),readableType:R,start:L===void 0?void 0:ub(L,i,`${u} has member 'start' that`),transform:$===void 0?void 0:cb($,i,`${u} has member 'transform' that`),writableType:Q}}function ab(i,u,h){return _e(i,h),E=>b(i,u,[E])}function ub(i,u,h){return _e(i,h),E=>v(i,u,[E])}function cb(i,u,h){return _e(i,h),(E,R)=>b(i,u,[E,R])}function lb(i,u,h){return _e(i,h),E=>b(i,u,[E])}class Ms{constructor(u={},h={},E={}){u===void 0&&(u=null);let R=Ss(h,"Second parameter"),L=Ss(E,"Third parameter"),$=ib(u,"First parameter");if($.readableType!==void 0)throw new RangeError("Invalid readableType specified");if($.writableType!==void 0)throw new RangeError("Invalid writableType specified");let Q=Co(L,0),le=As(L),oe=Co(R,1),he=As(R),ye,Re=l(Mt=>{ye=Mt});db(this,Re,oe,he,Q,le),hb(this,$),$.start!==void 0?ye($.start(this._transformStreamController)):ye(void 0)}get readable(){if(!eh(this))throw oh("readable");return this._readable}get writable(){if(!eh(this))throw oh("writable");return this._writable}}Object.defineProperties(Ms.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Ms.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});function db(i,u,h,E,R,L){function $(){return u}function Q(Re){return gb(i,Re)}function le(Re){return yb(i,Re)}function oe(){return _b(i)}i._writable=m_($,Q,oe,le,h,E);function he(){return bb(i)}function ye(Re){return Cb(i,Re)}i._readable=So($,he,ye,R,L),i._backpressure=void 0,i._backpressureChangePromise=void 0,i._backpressureChangePromise_resolve=void 0,js(i,!0),i._transformStreamController=void 0}function eh(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_transformStreamController")?!1:i instanceof Ms}function th(i,u){Bt(i._readable._readableStreamController,u),Au(i,u)}function Au(i,u){Us(i._transformStreamController),wo(i._writable._writableStreamController,u),Su(i)}function Su(i){i._backpressure&&js(i,!1)}function js(i,u){i._backpressureChangePromise!==void 0&&i._backpressureChangePromise_resolve(),i._backpressureChangePromise=l(h=>{i._backpressureChangePromise_resolve=h}),i._backpressure=u}class Nr{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Ls(this))throw $s("desiredSize");let u=this._controlledTransformStream._readable._readableStreamController;return wu(u)}enqueue(u=void 0){if(!Ls(this))throw $s("enqueue");rh(this,u)}error(u=void 0){if(!Ls(this))throw $s("error");pb(this,u)}terminate(){if(!Ls(this))throw $s("terminate");mb(this)}}Object.defineProperties(Nr.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),o(Nr.prototype.enqueue,"enqueue"),o(Nr.prototype.error,"error"),o(Nr.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Nr.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function Ls(i){return!r(i)||!Object.prototype.hasOwnProperty.call(i,"_controlledTransformStream")?!1:i instanceof Nr}function fb(i,u,h,E,R){u._controlledTransformStream=i,i._transformStreamController=u,u._transformAlgorithm=h,u._flushAlgorithm=E,u._cancelAlgorithm=R,u._finishPromise=void 0,u._finishPromise_resolve=void 0,u._finishPromise_reject=void 0}function hb(i,u){let h=Object.create(Nr.prototype),E,R,L;u.transform!==void 0?E=$=>u.transform($,h):E=$=>{try{return rh(h,$),d(void 0)}catch(Q){return f(Q)}},u.flush!==void 0?R=()=>u.flush(h):R=()=>d(void 0),u.cancel!==void 0?L=$=>u.cancel($):L=()=>d(void 0),fb(i,h,E,R,L)}function Us(i){i._transformAlgorithm=void 0,i._flushAlgorithm=void 0,i._cancelAlgorithm=void 0}function rh(i,u){let h=i._controlledTransformStream,E=h._readable._readableStreamController;if(!Tn(E))throw new TypeError("Readable side is not in a state that permits enqueue");try{vn(E,u)}catch(L){throw Au(h,L),h._readable._storedError}z_(E)!==h._backpressure&&js(h,!0)}function pb(i,u){th(i._controlledTransformStream,u)}function nh(i,u){let h=i._transformAlgorithm(u);return _(h,void 0,E=>{throw th(i._controlledTransformStream,E),E})}function mb(i){let u=i._controlledTransformStream,h=u._readable._readableStreamController;on(h);let E=new TypeError("TransformStream terminated");Au(u,E)}function gb(i,u){let h=i._transformStreamController;if(i._backpressure){let E=i._backpressureChangePromise;return _(E,()=>{let R=i._writable;if(R._state==="erroring")throw R._storedError;return nh(h,u)})}return nh(h,u)}function yb(i,u){let h=i._transformStreamController;if(h._finishPromise!==void 0)return h._finishPromise;let E=i._readable;h._finishPromise=l((L,$)=>{h._finishPromise_resolve=L,h._finishPromise_reject=$});let R=h._cancelAlgorithm(u);return Us(h),g(R,()=>(E._state==="errored"?Dn(h,E._storedError):(Bt(E._readableStreamController,u),ku(h)),null),L=>(Bt(E._readableStreamController,L),Dn(h,L),null)),h._finishPromise}function _b(i){let u=i._transformStreamController;if(u._finishPromise!==void 0)return u._finishPromise;let h=i._readable;u._finishPromise=l((R,L)=>{u._finishPromise_resolve=R,u._finishPromise_reject=L});let E=u._flushAlgorithm();return Us(u),g(E,()=>(h._state==="errored"?Dn(u,h._storedError):(on(h._readableStreamController),ku(u)),null),R=>(Bt(h._readableStreamController,R),Dn(u,R),null)),u._finishPromise}function bb(i){return js(i,!1),i._backpressureChangePromise}function Cb(i,u){let h=i._transformStreamController;if(h._finishPromise!==void 0)return h._finishPromise;let E=i._writable;h._finishPromise=l((L,$)=>{h._finishPromise_resolve=L,h._finishPromise_reject=$});let R=h._cancelAlgorithm(u);return Us(h),g(R,()=>(E._state==="errored"?Dn(h,E._storedError):(wo(E._writableStreamController,u),Su(i),ku(h)),null),L=>(wo(E._writableStreamController,L),Su(i),Dn(h,L),null)),h._finishPromise}function $s(i){return new TypeError(`TransformStreamDefaultController.prototype.${i} can only be used on a TransformStreamDefaultController`)}function ku(i){i._finishPromise_resolve!==void 0&&(i._finishPromise_resolve(),i._finishPromise_resolve=void 0,i._finishPromise_reject=void 0)}function Dn(i,u){i._finishPromise_reject!==void 0&&(y(i._finishPromise),i._finishPromise_reject(u),i._finishPromise_resolve=void 0,i._finishPromise_reject=void 0)}function oh(i){return new TypeError(`TransformStream.prototype.${i} can only be used on a TransformStream`)}t.ByteLengthQueuingStrategy=Bs,t.CountQueuingStrategy=Ns,t.ReadableByteStreamController=fr,t.ReadableStream=Qe,t.ReadableStreamBYOBReader=Fr,t.ReadableStreamBYOBRequest=Xr,t.ReadableStreamDefaultController=pr,t.ReadableStreamDefaultReader=z,t.TransformStream=Ms,t.TransformStreamDefaultController=Nr,t.WritableStream=Pr,t.WritableStreamDefaultController=kn,t.WritableStreamDefaultWriter=hr}))});var xp=V(()=>{if(!globalThis.ReadableStream)try{let t=X("node:process"),{emitWarning:e}=t;try{t.emitWarning=()=>{},Object.assign(globalThis,X("node:stream/web")),t.emitWarning=e}catch(r){throw t.emitWarning=e,r}}catch{Object.assign(globalThis,Rp())}try{let{Blob:t}=X("buffer");t&&!t.prototype.stream&&(t.prototype.stream=function(r){let n=0,o=this;return new ReadableStream({type:"bytes",async pull(s){let c=await o.slice(n,Math.min(o.size,n+65536)).arrayBuffer();n+=c.byteLength,s.enqueue(new Uint8Array(c)),n===o.size&&s.close()}})})}catch{}});async function*sc(t,e=!0){for(let r of t)if("stream"in r)yield*r.stream();else if(ArrayBuffer.isView(r))if(e){let n=r.byteOffset,o=r.byteOffset+r.byteLength;for(;n!==o;){let s=Math.min(o-n,Op),a=r.buffer.slice(n,n+s);n+=a.byteLength,yield new Uint8Array(a)}}else yield r;else{let n=0,o=r;for(;n!==o.size;){let a=await o.slice(n,Math.min(o.size,n+Op)).arrayBuffer();n+=a.byteLength,yield new Uint8Array(a)}}}var KR,Op,Fp,ow,Lt,Fo=Me(()=>{KR=jr(xp(),1);Op=65536;Fp=class ic{#e=[];#t="";#r=0;#n="transparent";constructor(e=[],r={}){if(typeof e!="object"||e===null)throw new TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence.");if(typeof e[Symbol.iterator]!="function")throw new TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property.");if(typeof r!="object"&&typeof r!="function")throw new TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary.");r===null&&(r={});let n=new TextEncoder;for(let s of e){let a;ArrayBuffer.isView(s)?a=new Uint8Array(s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength)):s instanceof ArrayBuffer?a=new Uint8Array(s.slice(0)):s instanceof ic?a=s:a=n.encode(`${s}`),this.#r+=ArrayBuffer.isView(a)?a.byteLength:a.size,this.#e.push(a)}this.#n=`${r.endings===void 0?"transparent":r.endings}`;let o=r.type===void 0?"":String(r.type);this.#t=/^[\x20-\x7E]*$/.test(o)?o:""}get size(){return this.#r}get type(){return this.#t}async text(){let e=new TextDecoder,r="";for await(let n of sc(this.#e,!1))r+=e.decode(n,{stream:!0});return r+=e.decode(),r}async arrayBuffer(){let e=new Uint8Array(this.size),r=0;for await(let n of sc(this.#e,!1))e.set(n,r),r+=n.length;return e.buffer}stream(){let e=sc(this.#e,!0);return new globalThis.ReadableStream({type:"bytes",async pull(r){let n=await e.next();n.done?r.close():r.enqueue(n.value)},async cancel(){await e.return()}})}slice(e=0,r=this.size,n=""){let{size:o}=this,s=e<0?Math.max(o+e,0):Math.min(e,o),a=r<0?Math.max(o+r,0):Math.min(r,o),c=Math.max(a-s,0),l=this.#e,d=[],f=0;for(let g of l){if(f>=c)break;let A=ArrayBuffer.isView(g)?g.byteLength:g.size;if(s&&A<=s)s-=A,a-=A;else{let w;ArrayBuffer.isView(g)?(w=g.subarray(s,Math.min(A,a)),f+=w.byteLength):(w=g.slice(s,Math.min(A,a)),f+=w.size),a-=A,d.push(w),s=0}}let p=new ic([],{type:String(n).toLowerCase()});return p.#r=c,p.#e=d,p}get[Symbol.toStringTag](){return"Blob"}static[Symbol.hasInstance](e){return e&&typeof e=="object"&&typeof e.constructor=="function"&&(typeof e.stream=="function"||typeof e.arrayBuffer=="function")&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}};Object.defineProperties(Fp.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});ow=Fp,Lt=ow});var sw,iw,$r,ac=Me(()=>{Fo();sw=class extends Lt{#e=0;#t="";constructor(e,r,n={}){if(arguments.length<2)throw new TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`);super(e,n),n===null&&(n={});let o=n.lastModified===void 0?Date.now():Number(n.lastModified);Number.isNaN(o)||(this.#e=o),this.#t=String(r)}get name(){return this.#t}get lastModified(){return this.#e}get[Symbol.toStringTag](){return"File"}static[Symbol.hasInstance](e){return!!e&&e instanceof Lt&&/^(File)$/.test(e[Symbol.toStringTag])}},iw=sw,$r=iw});function Bp(t,e=Lt){var r=`${Pp()}${Pp()}`.replace(/\./g,"").slice(-28).padStart(32,"-"),n=[],o=`--${r}\r
|
|
27
27
|
Content-Disposition: form-data; name="`;return t.forEach((s,a)=>typeof s=="string"?n.push(o+uc(a)+`"\r
|
|
28
28
|
\r
|
|
29
29
|
${s.replace(/\r(?!\n)|(?<!\r)\n/g,`\r
|
|
@@ -33,24 +33,24 @@ Content-Type: ${s.type||"application/octet-stream"}\r
|
|
|
33
33
|
\r
|
|
34
34
|
`,s,`\r
|
|
35
35
|
`)),n.push(`--${r}--`),new e(n,{type:"multipart/form-data; boundary="+r})}var Po,aw,uw,Pp,cw,Ip,uc,dn,qr,pi=Me(()=>{Fo();ac();({toStringTag:Po,iterator:aw,hasInstance:uw}=Symbol),Pp=Math.random,cw="append,set,get,getAll,delete,keys,values,entries,forEach,constructor".split(","),Ip=(t,e,r)=>(t+="",/^(Blob|File)$/.test(e&&e[Po])?[(r=r!==void 0?r+"":e[Po]=="File"?e.name:"blob",t),e.name!==r||e[Po]=="blob"?new $r([e],r,e):e]:[t,e+""]),uc=(t,e)=>(e?t:t.replace(/\r?\n|\r/g,`\r
|
|
36
|
-
`)).replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),dn=(t,e,r)=>{if(e.length<r)throw new TypeError(`Failed to execute '${t}' on 'FormData': ${r} arguments required, but only ${e.length} present.`)},qr=class{#e=[];constructor(...e){if(e.length)throw new TypeError("Failed to construct 'FormData': parameter 1 is not of type 'HTMLFormElement'.")}get[Po](){return"FormData"}[aw](){return this.entries()}static[uw](e){return e&&typeof e=="object"&&e[Po]==="FormData"&&!cw.some(r=>typeof e[r]!="function")}append(...e){dn("append",arguments,2),this.#e.push(Ip(...e))}delete(e){dn("delete",arguments,1),e+="",this.#e=this.#e.filter(([r])=>r!==e)}get(e){dn("get",arguments,1),e+="";for(var r=this.#e,n=r.length,o=0;o<n;o++)if(r[o][0]===e)return r[o][1];return null}getAll(e,r){return dn("getAll",arguments,1),r=[],e+="",this.#e.forEach(n=>n[0]===e&&r.push(n[1])),r}has(e){return dn("has",arguments,1),e+="",this.#e.some(r=>r[0]===e)}forEach(e,r){dn("forEach",arguments,1);for(var[n,o]of this)e.call(r,o,n,this)}set(...e){dn("set",arguments,2);var r=[],n=!0;e=Ip(...e),this.#e.forEach(o=>{o[0]===e[0]?n&&(n=!r.push(e)):r.push(o)}),n&&r.push(e),this.#e=r}*entries(){yield*this.#e}*keys(){for(var[e]of this)yield e}*values(){for(var[,e]of this)yield e}}});var Cr,mi=Me(()=>{Cr=class extends Error{constructor(e,r){super(e),Error.captureStackTrace(this,this.constructor),this.type=r}get name(){return this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}}});var
|
|
37
|
-
--`+e;let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n),this.boundaryChars[r[n]]=!0;this.boundary=r,this.lookbehind=new Uint8Array(this.boundary.length+8),this.state=Fe.START_BOUNDARY}write(e){let r=0,n=e.length,o=this.index,{lookbehind:s,boundary:a,boundaryChars:c,index:l,state:d,flags:f}=this,p=this.boundary.length,y=p-1,A=e.length,w,_,g=S=>{this[S+"Mark"]=r},m=S=>{delete this[S+"Mark"]},v=(S,D,O,q)=>{(D===void 0||D!==O)&&this[S](q&&q.subarray(D,O))},b=(S,D)=>{let O=S+"Mark";O in this&&(D?(v(S,this[O],r,e),delete this[O]):(v(S,this[O],e.length,e),this[O]=0))};for(r=0;r<n;r++)switch(w=e[r],d){case Fe.START_BOUNDARY:if(l===a.length-2){if(w===Bo)f|=zr.LAST_BOUNDARY;else if(w!==Ci)return;l++;break}else if(l-1===a.length-2){if(f&zr.LAST_BOUNDARY&&w===Bo)d=Fe.END,f=0;else if(!(f&zr.LAST_BOUNDARY)&&w===bi)l=0,v("onPartBegin"),d=Fe.HEADER_FIELD_START;else return;break}w!==a[l+2]&&(l=-2),w===a[l+2]&&l++;break;case Fe.HEADER_FIELD_START:d=Fe.HEADER_FIELD,g("onHeaderField"),l=0;case Fe.HEADER_FIELD:if(w===Ci){m("onHeaderField"),d=Fe.HEADERS_ALMOST_DONE;break}if(l++,w===Bo)break;if(w===pw){if(l===1)return;b("onHeaderField",!0),d=Fe.HEADER_VALUE_START;break}if(_=yw(w),_<mw||_>gw)return;break;case Fe.HEADER_VALUE_START:if(w===hw)break;g("onHeaderValue"),d=Fe.HEADER_VALUE;case Fe.HEADER_VALUE:w===Ci&&(b("onHeaderValue",!0),v("onHeaderEnd"),d=Fe.HEADER_VALUE_ALMOST_DONE);break;case Fe.HEADER_VALUE_ALMOST_DONE:if(w!==bi)return;d=Fe.HEADER_FIELD_START;break;case Fe.HEADERS_ALMOST_DONE:if(w!==bi)return;v("onHeadersEnd"),d=Fe.PART_DATA_START;break;case Fe.PART_DATA_START:d=Fe.PART_DATA,g("onPartData");case Fe.PART_DATA:if(o=l,l===0){for(r+=y;r<A&&!(e[r]in c);)r+=p;r-=y,w=e[r]}if(l<a.length)a[l]===w?(l===0&&b("onPartData",!0),l++):l=0;else if(l===a.length)l++,w===Ci?f|=zr.PART_BOUNDARY:w===Bo?f|=zr.LAST_BOUNDARY:l=0;else if(l-1===a.length)if(f&zr.PART_BOUNDARY){if(l=0,w===bi){f&=~zr.PART_BOUNDARY,v("onPartEnd"),v("onPartBegin"),d=Fe.HEADER_FIELD_START;break}}else f&zr.LAST_BOUNDARY&&w===Bo?(v("onPartEnd"),d=Fe.END,f=0):l=0;if(l>0)s[l-1]=w;else if(o>0){let S=new Uint8Array(s.buffer,s.byteOffset,s.byteLength);v("onPartData",0,o,S),o=0,g("onPartData"),r--}break;case Fe.END:break;default:throw new Error(`Unexpected state entered: ${d}`)}b("onHeaderField"),b("onHeaderValue"),b("onPartData"),this.index=l,this.state=d,this.flags=f}end(){if(this.state===Fe.HEADER_FIELD_START&&this.index===0||this.state===Fe.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==Fe.END)throw new Error("MultipartParser.end(): stream ended unexpectedly")}}});import Hr,{PassThrough as Xp}from"node:stream";import{types as Zp,deprecate as mc,promisify as Cw}from"node:util";import{Buffer as Tt}from"node:buffer";async function pc(t){if(t[ct].disturbed)throw new TypeError(`body used already for: ${t.url}`);if(t[ct].disturbed=!0,t[ct].error)throw t[ct].error;let{body:e}=t;if(e===null)return Tt.alloc(0);if(!(e instanceof Hr))return Tt.alloc(0);let r=[],n=0;try{for await(let o of e){if(t.size>0&&n+o.length>t.size){let s=new tt(`content size at ${t.url} over limit: ${t.size}`,"max-size");throw e.destroy(s),s}n+=o.length,r.push(o)}}catch(o){throw o instanceof Cr?o:new tt(`Invalid response body while trying to fetch ${t.url}: ${o.message}`,"system",o)}if(e.readableEnded===!0||e._readableState.ended===!0)try{return r.every(o=>typeof o=="string")?Tt.from(r.join("")):Tt.concat(r,n)}catch(o){throw new tt(`Could not create Buffer from response body for ${t.url}: ${o.message}`,"system",o)}else throw new tt(`Premature close of server response while trying to fetch ${t.url}`)}var ww,ct,Zt,qn,Ew,wi,em,tm,Ei=Me(()=>{Fo();pi();cc();mi();yi();ww=Cw(Hr.pipeline),ct=Symbol("Body internals"),Zt=class{constructor(e,{size:r=0}={}){let n=null;e===null?e=null:lc(e)?e=Tt.from(e.toString()):Io(e)||Tt.isBuffer(e)||(Zp.isAnyArrayBuffer(e)?e=Tt.from(e):ArrayBuffer.isView(e)?e=Tt.from(e.buffer,e.byteOffset,e.byteLength):e instanceof Hr||(e instanceof qr?(e=Bp(e),n=e.type.split("=")[1]):e=Tt.from(String(e))));let o=e;Tt.isBuffer(e)?o=Hr.Readable.from(e):Io(e)&&(o=Hr.Readable.from(e.stream())),this[ct]={body:e,stream:o,boundary:n,disturbed:!1,error:null},this.size=r,e instanceof Hr&&e.on("error",s=>{let a=s instanceof Cr?s:new tt(`Invalid response body while trying to fetch ${this.url}: ${s.message}`,"system",s);this[ct].error=a})}get body(){return this[ct].stream}get bodyUsed(){return this[ct].disturbed}async arrayBuffer(){let{buffer:e,byteOffset:r,byteLength:n}=await pc(this);return e.slice(r,r+n)}async formData(){let e=this.headers.get("content-type");if(e.startsWith("application/x-www-form-urlencoded")){let n=new qr,o=new URLSearchParams(await this.text());for(let[s,a]of o)n.append(s,a);return n}let{toFormData:r}=await Promise.resolve().then(()=>(Qp(),Yp));return r(this.body,e)}async blob(){let e=this.headers&&this.headers.get("content-type")||this[ct].body&&this[ct].body.type||"",r=await this.arrayBuffer();return new Lt([r],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await pc(this);return new TextDecoder().decode(e)}buffer(){return pc(this)}};Zt.prototype.buffer=mc(Zt.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer");Object.defineProperties(Zt.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:mc(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});qn=(t,e)=>{let r,n,{body:o}=t[ct];if(t.bodyUsed)throw new Error("cannot clone body after it is used");return o instanceof Hr&&typeof o.getBoundary!="function"&&(r=new Xp({highWaterMark:e}),n=new Xp({highWaterMark:e}),o.pipe(r),o.pipe(n),t[ct].stream=r,o=n),o},Ew=mc(t=>t.getBoundary(),"form-data doesn't follow the spec and requires special treatment. Use alternative package","https://github.com/node-fetch/node-fetch/issues/1167"),wi=(t,e)=>t===null?null:typeof t=="string"?"text/plain;charset=UTF-8":lc(t)?"application/x-www-form-urlencoded;charset=UTF-8":Io(t)?t.type||null:Tt.isBuffer(t)||Zp.isAnyArrayBuffer(t)||ArrayBuffer.isView(t)?null:t instanceof qr?`multipart/form-data; boundary=${e[ct].boundary}`:t&&typeof t.getBoundary=="function"?`multipart/form-data;boundary=${Ew(t)}`:t instanceof Hr?null:"text/plain;charset=UTF-8",em=t=>{let{body:e}=t[ct];return e===null?0:Io(e)?e.size:Tt.isBuffer(e)?e.length:e&&typeof e.getLengthSync=="function"&&e.hasKnownLength&&e.hasKnownLength()?e.getLengthSync():null},tm=async(t,{body:e})=>{e===null?t.end():await ww(e,t)}});import{types as rm}from"node:util";import Si from"node:http";function nm(t=[]){return new lt(t.reduce((e,r,n,o)=>(n%2===0&&e.push(o.slice(n,n+2)),e),[]).filter(([e,r])=>{try{return Ai(e),gc(e,String(r)),!0}catch{return!1}}))}var Ai,gc,lt,ki=Me(()=>{Ai=typeof Si.validateHeaderName=="function"?Si.validateHeaderName:t=>{if(!/^[\^`\-\w!#$%&'*+.|~]+$/.test(t)){let e=new TypeError(`Header name must be a valid HTTP token [${t}]`);throw Object.defineProperty(e,"code",{value:"ERR_INVALID_HTTP_TOKEN"}),e}},gc=typeof Si.validateHeaderValue=="function"?Si.validateHeaderValue:(t,e)=>{if(/[^\t\u0020-\u007E\u0080-\u00FF]/.test(e)){let r=new TypeError(`Invalid character in header content ["${t}"]`);throw Object.defineProperty(r,"code",{value:"ERR_INVALID_CHAR"}),r}},lt=class t extends URLSearchParams{constructor(e){let r=[];if(e instanceof t){let n=e.raw();for(let[o,s]of Object.entries(n))r.push(...s.map(a=>[o,a]))}else if(e!=null)if(typeof e=="object"&&!rm.isBoxedPrimitive(e)){let n=e[Symbol.iterator];if(n==null)r.push(...Object.entries(e));else{if(typeof n!="function")throw new TypeError("Header pairs must be iterable");r=[...e].map(o=>{if(typeof o!="object"||rm.isBoxedPrimitive(o))throw new TypeError("Each header pair must be an iterable object");return[...o]}).map(o=>{if(o.length!==2)throw new TypeError("Each header pair must be a name/value tuple");return[...o]})}}else throw new TypeError("Failed to construct 'Headers': The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)");return r=r.length>0?r.map(([n,o])=>(Ai(n),gc(n,String(o)),[String(n).toLowerCase(),String(o)])):void 0,super(r),new Proxy(this,{get(n,o,s){switch(o){case"append":case"set":return(a,c)=>(Ai(a),gc(a,String(c)),URLSearchParams.prototype[o].call(n,String(a).toLowerCase(),String(c)));case"delete":case"has":case"getAll":return a=>(Ai(a),URLSearchParams.prototype[o].call(n,String(a).toLowerCase()));case"keys":return()=>(n.sort(),new Set(URLSearchParams.prototype.keys.call(n)).keys());default:return Reflect.get(n,o,s)}}})}get[Symbol.toStringTag](){return this.constructor.name}toString(){return Object.prototype.toString.call(this)}get(e){let r=this.getAll(e);if(r.length===0)return null;let n=r.join(", ");return/^content-encoding$/i.test(e)&&(n=n.toLowerCase()),n}forEach(e,r=void 0){for(let n of this.keys())Reflect.apply(e,r,[this.get(n),n,this])}*values(){for(let e of this.keys())yield this.get(e)}*entries(){for(let e of this.keys())yield[e,this.get(e)]}[Symbol.iterator](){return this.entries()}raw(){return[...this.keys()].reduce((e,r)=>(e[r]=this.getAll(r),e),{})}[Symbol.for("nodejs.util.inspect.custom")](){return[...this.keys()].reduce((e,r)=>{let n=this.getAll(r);return r==="host"?e[r]=n[0]:e[r]=n.length>1?n:n[0],e},{})}};Object.defineProperties(lt.prototype,["get","entries","forEach","values"].reduce((t,e)=>(t[e]={enumerable:!0},t),{}))});var Aw,No,yc=Me(()=>{Aw=new Set([301,302,303,307,308]),No=t=>Aw.has(t)});var Ut,pt,om=Me(()=>{ki();Ei();yc();Ut=Symbol("Response internals"),pt=class t extends Zt{constructor(e=null,r={}){super(e,r);let n=r.status!=null?r.status:200,o=new lt(r.headers);if(e!==null&&!o.has("Content-Type")){let s=wi(e,this);s&&o.append("Content-Type",s)}this[Ut]={type:"default",url:r.url,status:n,statusText:r.statusText||"",headers:o,counter:r.counter,highWaterMark:r.highWaterMark}}get type(){return this[Ut].type}get url(){return this[Ut].url||""}get status(){return this[Ut].status}get ok(){return this[Ut].status>=200&&this[Ut].status<300}get redirected(){return this[Ut].counter>0}get statusText(){return this[Ut].statusText}get headers(){return this[Ut].headers}get highWaterMark(){return this[Ut].highWaterMark}clone(){return new t(qn(this,this.highWaterMark),{type:this.type,url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected,size:this.size,highWaterMark:this.highWaterMark})}static redirect(e,r=302){if(!No(r))throw new RangeError('Failed to execute "redirect" on "response": Invalid status code');return new t(null,{headers:{location:new URL(e).toString()},status:r})}static error(){let e=new t(null,{status:0,statusText:""});return e[Ut].type="error",e}static json(e=void 0,r={}){let n=JSON.stringify(e);if(n===void 0)throw new TypeError("data is not JSON serializable");let o=new lt(r&&r.headers);return o.has("content-type")||o.set("content-type","application/json"),new t(n,{...r,headers:o})}get[Symbol.toStringTag](){return"Response"}};Object.defineProperties(pt.prototype,{type:{enumerable:!0},url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}})});var sm,im=Me(()=>{sm=t=>{if(t.search)return t.search;let e=t.href.length-1,r=t.hash||(t.href[e]==="#"?"#":"");return t.href[e-r.length]==="?"?"?":""}});import{isIP as Sw}from"node:net";function am(t,e=!1){return t==null||(t=new URL(t),/^(about|blob|data):$/.test(t.protocol))?"no-referrer":(t.username="",t.password="",t.hash="",e&&(t.pathname="",t.search=""),t)}function lm(t){if(!um.has(t))throw new TypeError(`Invalid referrerPolicy: ${t}`);return t}function kw(t){if(/^(http|ws)s:$/.test(t.protocol))return!0;let e=t.host.replace(/(^\[)|(]$)/g,""),r=Sw(e);return r===4&&/^127\./.test(e)||r===6&&/^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(e)?!0:t.host==="localhost"||t.host.endsWith(".localhost")?!1:t.protocol==="file:"}function zn(t){return/^about:(blank|srcdoc)$/.test(t)||t.protocol==="data:"||/^(blob|filesystem):$/.test(t.protocol)?!0:kw(t)}function dm(t,{referrerURLCallback:e,referrerOriginCallback:r}={}){if(t.referrer==="no-referrer"||t.referrerPolicy==="")return null;let n=t.referrerPolicy;if(t.referrer==="about:client")return"no-referrer";let o=t.referrer,s=am(o),a=am(o,!0);s.toString().length>4096&&(s=a),e&&(s=e(s)),r&&(a=r(a));let c=new URL(t.url);switch(n){case"no-referrer":return"no-referrer";case"origin":return a;case"unsafe-url":return s;case"strict-origin":return zn(s)&&!zn(c)?"no-referrer":a.toString();case"strict-origin-when-cross-origin":return s.origin===c.origin?s:zn(s)&&!zn(c)?"no-referrer":a;case"same-origin":return s.origin===c.origin?s:"no-referrer";case"origin-when-cross-origin":return s.origin===c.origin?s:a;case"no-referrer-when-downgrade":return zn(s)&&!zn(c)?"no-referrer":s;default:throw new TypeError(`Invalid referrerPolicy: ${n}`)}}function fm(t){let e=(t.get("referrer-policy")||"").split(/[,\s]+/),r="";for(let n of e)n&&um.has(n)&&(r=n);return r}var um,cm,_c=Me(()=>{um=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),cm="strict-origin-when-cross-origin"});import{format as vw}from"node:url";import{deprecate as Tw}from"node:util";var Je,Mo,Dw,Wr,hm,pm=Me(()=>{ki();Ei();yi();im();_c();Je=Symbol("Request internals"),Mo=t=>typeof t=="object"&&typeof t[Je]=="object",Dw=Tw(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),Wr=class t extends Zt{constructor(e,r={}){let n;if(Mo(e)?n=new URL(e.url):(n=new URL(e),e={}),n.username!==""||n.password!=="")throw new TypeError(`${n} is an url with embedded credentials.`);let o=r.method||e.method||"GET";if(/^(delete|get|head|options|post|put)$/i.test(o)&&(o=o.toUpperCase()),!Mo(r)&&"data"in r&&Dw(),(r.body!=null||Mo(e)&&e.body!==null)&&(o==="GET"||o==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let s=r.body?r.body:Mo(e)&&e.body!==null?qn(e):null;super(s,{size:r.size||e.size||0});let a=new lt(r.headers||e.headers||{});if(s!==null&&!a.has("Content-Type")){let d=wi(s,this);d&&a.set("Content-Type",d)}let c=Mo(e)?e.signal:null;if("signal"in r&&(c=r.signal),c!=null&&!Np(c))throw new TypeError("Expected signal to be an instanceof AbortSignal or EventTarget");let l=r.referrer==null?e.referrer:r.referrer;if(l==="")l="no-referrer";else if(l){let d=new URL(l);l=/^about:(\/\/)?client$/.test(d)?"client":d}else l=void 0;this[Je]={method:o,redirect:r.redirect||e.redirect||"follow",headers:a,parsedURL:n,signal:c,referrer:l},this.follow=r.follow===void 0?e.follow===void 0?20:e.follow:r.follow,this.compress=r.compress===void 0?e.compress===void 0?!0:e.compress:r.compress,this.counter=r.counter||e.counter||0,this.agent=r.agent||e.agent,this.highWaterMark=r.highWaterMark||e.highWaterMark||16384,this.insecureHTTPParser=r.insecureHTTPParser||e.insecureHTTPParser||!1,this.referrerPolicy=r.referrerPolicy||e.referrerPolicy||""}get method(){return this[Je].method}get url(){return vw(this[Je].parsedURL)}get headers(){return this[Je].headers}get redirect(){return this[Je].redirect}get signal(){return this[Je].signal}get referrer(){if(this[Je].referrer==="no-referrer")return"";if(this[Je].referrer==="client")return"about:client";if(this[Je].referrer)return this[Je].referrer.toString()}get referrerPolicy(){return this[Je].referrerPolicy}set referrerPolicy(e){this[Je].referrerPolicy=lm(e)}clone(){return new t(this)}get[Symbol.toStringTag](){return"Request"}};Object.defineProperties(Wr.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0},referrer:{enumerable:!0},referrerPolicy:{enumerable:!0}});hm=t=>{let{parsedURL:e}=t[Je],r=new lt(t[Je].headers);r.has("Accept")||r.set("Accept","*/*");let n=null;if(t.body===null&&/^(post|put)$/i.test(t.method)&&(n="0"),t.body!==null){let c=em(t);typeof c=="number"&&!Number.isNaN(c)&&(n=String(c))}n&&r.set("Content-Length",n),t.referrerPolicy===""&&(t.referrerPolicy=cm),t.referrer&&t.referrer!=="no-referrer"?t[Je].referrer=dm(t):t[Je].referrer="no-referrer",t[Je].referrer instanceof URL&&r.set("Referer",t.referrer),r.has("User-Agent")||r.set("User-Agent","node-fetch"),t.compress&&!r.has("Accept-Encoding")&&r.set("Accept-Encoding","gzip, deflate, br");let{agent:o}=t;typeof o=="function"&&(o=o(e));let s=sm(e),a={path:e.pathname+s,method:t.method,headers:r[Symbol.for("nodejs.util.inspect.custom")](),insecureHTTPParser:t.insecureHTTPParser,agent:o};return{parsedURL:e,options:a}}});var jo,mm=Me(()=>{mi();jo=class extends Cr{constructor(e,r="aborted"){super(e,r)}}});var _m={};Tu(_m,{AbortError:()=>jo,Blob:()=>Lt,FetchError:()=>tt,File:()=>$r,FormData:()=>qr,Headers:()=>lt,Request:()=>Wr,Response:()=>pt,blobFrom:()=>Hp,blobFromSync:()=>zp,default:()=>bc,fileFrom:()=>Wp,fileFromSync:()=>Gp,isRedirect:()=>No});import Rw from"node:http";import xw from"node:https";import Hn from"node:zlib";import gm,{PassThrough as ym,pipeline as Wn}from"node:stream";import{Buffer as vi}from"node:buffer";async function bc(t,e){return new Promise((r,n)=>{let o=new Wr(t,e),{parsedURL:s,options:a}=hm(o);if(!Ow.has(s.protocol))throw new TypeError(`node-fetch cannot load ${t}. URL scheme "${s.protocol.replace(/:$/,"")}" is not supported.`);if(s.protocol==="data:"){let w=vp(o.url),_=new pt(w,{headers:{"Content-Type":w.typeFull}});r(_);return}let c=(s.protocol==="https:"?xw:Rw).request,{signal:l}=o,d=null,f=()=>{let w=new jo("The operation was aborted.");n(w),o.body&&o.body instanceof gm.Readable&&o.body.destroy(w),!(!d||!d.body)&&d.body.emit("error",w)};if(l&&l.aborted){f();return}let p=()=>{f(),A()},y=c(s.toString(),a);l&&l.addEventListener("abort",p);let A=()=>{y.abort(),l&&l.removeEventListener("abort",p)};y.on("error",w=>{n(new tt(`request to ${o.url} failed, reason: ${w.message}`,"system",w)),A()}),Fw(y,w=>{d&&d.body&&d.body.destroy(w)}),process.version<"v14"&&y.on("socket",w=>{let _;w.prependListener("end",()=>{_=w._eventsCount}),w.prependListener("close",g=>{if(d&&_<w._eventsCount&&!g){let m=new Error("Premature close");m.code="ERR_STREAM_PREMATURE_CLOSE",d.body.emit("error",m)}})}),y.on("response",w=>{y.setTimeout(0);let _=nm(w.rawHeaders);if(No(w.statusCode)){let S=_.get("Location"),D=null;try{D=S===null?null:new URL(S,o.url)}catch{if(o.redirect!=="manual"){n(new tt(`uri requested responds with an invalid redirect URL: ${S}`,"invalid-redirect")),A();return}}switch(o.redirect){case"error":n(new tt(`uri requested responds with a redirect, redirect mode is set to error: ${o.url}`,"no-redirect")),A();return;case"manual":break;case"follow":{if(D===null)break;if(o.counter>=o.follow){n(new tt(`maximum redirect reached at: ${o.url}`,"max-redirect")),A();return}let O={headers:new lt(o.headers),follow:o.follow,counter:o.counter+1,agent:o.agent,compress:o.compress,method:o.method,body:qn(o),signal:o.signal,size:o.size,referrer:o.referrer,referrerPolicy:o.referrerPolicy};if(!Mp(o.url,D)||!jp(o.url,D))for(let J of["authorization","www-authenticate","cookie","cookie2"])O.headers.delete(J);if(w.statusCode!==303&&o.body&&e.body instanceof gm.Readable){n(new tt("Cannot follow redirect with body being a readable stream","unsupported-redirect")),A();return}(w.statusCode===303||(w.statusCode===301||w.statusCode===302)&&o.method==="POST")&&(O.method="GET",O.body=void 0,O.headers.delete("content-length"));let q=fm(_);q&&(O.referrerPolicy=q),r(bc(new Wr(D,O))),A();return}default:return n(new TypeError(`Redirect option '${o.redirect}' is not a valid value of RequestRedirect`))}}l&&w.once("end",()=>{l.removeEventListener("abort",p)});let g=Wn(w,new ym,S=>{S&&n(S)});process.version<"v12.10"&&w.on("aborted",p);let m={url:o.url,status:w.statusCode,statusText:w.statusMessage,headers:_,size:o.size,counter:o.counter,highWaterMark:o.highWaterMark},v=_.get("Content-Encoding");if(!o.compress||o.method==="HEAD"||v===null||w.statusCode===204||w.statusCode===304){d=new pt(g,m),r(d);return}let b={flush:Hn.Z_SYNC_FLUSH,finishFlush:Hn.Z_SYNC_FLUSH};if(v==="gzip"||v==="x-gzip"){g=Wn(g,Hn.createGunzip(b),S=>{S&&n(S)}),d=new pt(g,m),r(d);return}if(v==="deflate"||v==="x-deflate"){let S=Wn(w,new ym,D=>{D&&n(D)});S.once("data",D=>{(D[0]&15)===8?g=Wn(g,Hn.createInflate(),O=>{O&&n(O)}):g=Wn(g,Hn.createInflateRaw(),O=>{O&&n(O)}),d=new pt(g,m),r(d)}),S.once("end",()=>{d||(d=new pt(g,m),r(d))});return}if(v==="br"){g=Wn(g,Hn.createBrotliDecompress(),S=>{S&&n(S)}),d=new pt(g,m),r(d);return}d=new pt(g,m),r(d)}),tm(y,o).catch(n)})}function Fw(t,e){let r=vi.from(`0\r
|
|
36
|
+
`)).replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),dn=(t,e,r)=>{if(e.length<r)throw new TypeError(`Failed to execute '${t}' on 'FormData': ${r} arguments required, but only ${e.length} present.`)},qr=class{#e=[];constructor(...e){if(e.length)throw new TypeError("Failed to construct 'FormData': parameter 1 is not of type 'HTMLFormElement'.")}get[Po](){return"FormData"}[aw](){return this.entries()}static[uw](e){return e&&typeof e=="object"&&e[Po]==="FormData"&&!cw.some(r=>typeof e[r]!="function")}append(...e){dn("append",arguments,2),this.#e.push(Ip(...e))}delete(e){dn("delete",arguments,1),e+="",this.#e=this.#e.filter(([r])=>r!==e)}get(e){dn("get",arguments,1),e+="";for(var r=this.#e,n=r.length,o=0;o<n;o++)if(r[o][0]===e)return r[o][1];return null}getAll(e,r){return dn("getAll",arguments,1),r=[],e+="",this.#e.forEach(n=>n[0]===e&&r.push(n[1])),r}has(e){return dn("has",arguments,1),e+="",this.#e.some(r=>r[0]===e)}forEach(e,r){dn("forEach",arguments,1);for(var[n,o]of this)e.call(r,o,n,this)}set(...e){dn("set",arguments,2);var r=[],n=!0;e=Ip(...e),this.#e.forEach(o=>{o[0]===e[0]?n&&(n=!r.push(e)):r.push(o)}),n&&r.push(e),this.#e=r}*entries(){yield*this.#e}*keys(){for(var[e]of this)yield e}*values(){for(var[,e]of this)yield e}}});var Cr,mi=Me(()=>{Cr=class extends Error{constructor(e,r){super(e),Error.captureStackTrace(this,this.constructor),this.type=r}get name(){return this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}}});var rt,cc=Me(()=>{mi();rt=class extends Cr{constructor(e,r,n){super(e,r),n&&(this.code=this.errno=n.code,this.erroredSysCall=n.syscall)}}});var gi,lc,Io,Np,Mp,jp,yi=Me(()=>{gi=Symbol.toStringTag,lc=t=>typeof t=="object"&&typeof t.append=="function"&&typeof t.delete=="function"&&typeof t.get=="function"&&typeof t.getAll=="function"&&typeof t.has=="function"&&typeof t.set=="function"&&typeof t.sort=="function"&&t[gi]==="URLSearchParams",Io=t=>t&&typeof t=="object"&&typeof t.arrayBuffer=="function"&&typeof t.type=="string"&&typeof t.stream=="function"&&typeof t.constructor=="function"&&/^(Blob|File)$/.test(t[gi]),Np=t=>typeof t=="object"&&(t[gi]==="AbortSignal"||t[gi]==="EventTarget"),Mp=(t,e)=>{let r=new URL(e).hostname,n=new URL(t).hostname;return r===n||r.endsWith(`.${n}`)},jp=(t,e)=>{let r=new URL(e).protocol,n=new URL(t).protocol;return r===n}});var Up=V((u1,Lp)=>{if(!globalThis.DOMException)try{let{MessageChannel:t}=X("worker_threads"),e=new t().port1,r=new ArrayBuffer;e.postMessage(r,[r,r])}catch(t){t.constructor.name==="DOMException"&&(globalThis.DOMException=t.constructor)}Lp.exports=globalThis.DOMException});import{statSync as $p,createReadStream as lw,promises as dw}from"node:fs";import{basename as fw}from"node:path";var qp,dc,zp,Hp,Wp,Gp,Jp,Vp,_i,fc=Me(()=>{qp=jr(Up(),1);ac();Fo();({stat:dc}=dw),zp=(t,e)=>Jp($p(t),t,e),Hp=(t,e)=>dc(t).then(r=>Jp(r,t,e)),Wp=(t,e)=>dc(t).then(r=>Vp(r,t,e)),Gp=(t,e)=>Vp($p(t),t,e),Jp=(t,e,r="")=>new Lt([new _i({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],{type:r}),Vp=(t,e,r="")=>new $r([new _i({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],fw(e),{type:r,lastModified:t.mtimeMs}),_i=class t{#e;#t;constructor(e){this.#e=e.path,this.#t=e.start,this.size=e.size,this.lastModified=e.lastModified}slice(e,r){return new t({path:this.#e,lastModified:this.lastModified,size:r-e,start:this.#t+e})}async*stream(){let{mtimeMs:e}=await dc(this.#e);if(e>this.lastModified)throw new qp.default("The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired.","NotReadableError");yield*lw(this.#e,{start:this.#t,end:this.#t+this.size-1})}get[Symbol.toStringTag](){return"Blob"}}});var Yp={};Tu(Yp,{toFormData:()=>bw});function _w(t){let e=t.match(/\bfilename=("(.*?)"|([^()<>@,;:\\"/[\]?={}\s\t]+))($|;\s)/i);if(!e)return;let r=e[2]||e[3]||"",n=r.slice(r.lastIndexOf("\\")+1);return n=n.replace(/%22/g,'"'),n=n.replace(/&#(\d{4});/g,(o,s)=>String.fromCharCode(s)),n}async function bw(t,e){if(!/multipart/i.test(e))throw new TypeError("Failed to fetch");let r=e.match(/boundary=(?:"([^"]+)"|([^;]+))/i);if(!r)throw new TypeError("no or bad content-type header, no multipart boundary");let n=new hc(r[1]||r[2]),o,s,a,c,l,d,f=[],p=new qr,g=m=>{a+=y.decode(m,{stream:!0})},A=m=>{f.push(m)},w=()=>{let m=new $r(f,d,{type:l});p.append(c,m)},_=()=>{p.append(c,a)},y=new TextDecoder("utf-8");y.decode(),n.onPartBegin=function(){n.onPartData=g,n.onPartEnd=_,o="",s="",a="",c="",l="",d=null,f.length=0},n.onHeaderField=function(m){o+=y.decode(m,{stream:!0})},n.onHeaderValue=function(m){s+=y.decode(m,{stream:!0})},n.onHeaderEnd=function(){if(s+=y.decode(),o=o.toLowerCase(),o==="content-disposition"){let m=s.match(/\bname=("([^"]*)"|([^()<>@,;:\\"/[\]?={}\s\t]+))/i);m&&(c=m[2]||m[3]||""),d=_w(s),d&&(n.onPartData=A,n.onPartEnd=w)}else o==="content-type"&&(l=s);s="",o=""};for await(let m of t)n.write(m);return n.end(),p}var Xt,Fe,Kp,zr,bi,Ci,hw,Bo,pw,mw,gw,yw,fn,hc,Qp=Me(()=>{fc();pi();Xt=0,Fe={START_BOUNDARY:Xt++,HEADER_FIELD_START:Xt++,HEADER_FIELD:Xt++,HEADER_VALUE_START:Xt++,HEADER_VALUE:Xt++,HEADER_VALUE_ALMOST_DONE:Xt++,HEADERS_ALMOST_DONE:Xt++,PART_DATA_START:Xt++,PART_DATA:Xt++,END:Xt++},Kp=1,zr={PART_BOUNDARY:Kp,LAST_BOUNDARY:Kp*=2},bi=10,Ci=13,hw=32,Bo=45,pw=58,mw=97,gw=122,yw=t=>t|32,fn=()=>{},hc=class{constructor(e){this.index=0,this.flags=0,this.onHeaderEnd=fn,this.onHeaderField=fn,this.onHeadersEnd=fn,this.onHeaderValue=fn,this.onPartBegin=fn,this.onPartData=fn,this.onPartEnd=fn,this.boundaryChars={},e=`\r
|
|
37
|
+
--`+e;let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n),this.boundaryChars[r[n]]=!0;this.boundary=r,this.lookbehind=new Uint8Array(this.boundary.length+8),this.state=Fe.START_BOUNDARY}write(e){let r=0,n=e.length,o=this.index,{lookbehind:s,boundary:a,boundaryChars:c,index:l,state:d,flags:f}=this,p=this.boundary.length,g=p-1,A=e.length,w,_,y=S=>{this[S+"Mark"]=r},m=S=>{delete this[S+"Mark"]},v=(S,D,O,q)=>{(D===void 0||D!==O)&&this[S](q&&q.subarray(D,O))},b=(S,D)=>{let O=S+"Mark";O in this&&(D?(v(S,this[O],r,e),delete this[O]):(v(S,this[O],e.length,e),this[O]=0))};for(r=0;r<n;r++)switch(w=e[r],d){case Fe.START_BOUNDARY:if(l===a.length-2){if(w===Bo)f|=zr.LAST_BOUNDARY;else if(w!==Ci)return;l++;break}else if(l-1===a.length-2){if(f&zr.LAST_BOUNDARY&&w===Bo)d=Fe.END,f=0;else if(!(f&zr.LAST_BOUNDARY)&&w===bi)l=0,v("onPartBegin"),d=Fe.HEADER_FIELD_START;else return;break}w!==a[l+2]&&(l=-2),w===a[l+2]&&l++;break;case Fe.HEADER_FIELD_START:d=Fe.HEADER_FIELD,y("onHeaderField"),l=0;case Fe.HEADER_FIELD:if(w===Ci){m("onHeaderField"),d=Fe.HEADERS_ALMOST_DONE;break}if(l++,w===Bo)break;if(w===pw){if(l===1)return;b("onHeaderField",!0),d=Fe.HEADER_VALUE_START;break}if(_=yw(w),_<mw||_>gw)return;break;case Fe.HEADER_VALUE_START:if(w===hw)break;y("onHeaderValue"),d=Fe.HEADER_VALUE;case Fe.HEADER_VALUE:w===Ci&&(b("onHeaderValue",!0),v("onHeaderEnd"),d=Fe.HEADER_VALUE_ALMOST_DONE);break;case Fe.HEADER_VALUE_ALMOST_DONE:if(w!==bi)return;d=Fe.HEADER_FIELD_START;break;case Fe.HEADERS_ALMOST_DONE:if(w!==bi)return;v("onHeadersEnd"),d=Fe.PART_DATA_START;break;case Fe.PART_DATA_START:d=Fe.PART_DATA,y("onPartData");case Fe.PART_DATA:if(o=l,l===0){for(r+=g;r<A&&!(e[r]in c);)r+=p;r-=g,w=e[r]}if(l<a.length)a[l]===w?(l===0&&b("onPartData",!0),l++):l=0;else if(l===a.length)l++,w===Ci?f|=zr.PART_BOUNDARY:w===Bo?f|=zr.LAST_BOUNDARY:l=0;else if(l-1===a.length)if(f&zr.PART_BOUNDARY){if(l=0,w===bi){f&=~zr.PART_BOUNDARY,v("onPartEnd"),v("onPartBegin"),d=Fe.HEADER_FIELD_START;break}}else f&zr.LAST_BOUNDARY&&w===Bo?(v("onPartEnd"),d=Fe.END,f=0):l=0;if(l>0)s[l-1]=w;else if(o>0){let S=new Uint8Array(s.buffer,s.byteOffset,s.byteLength);v("onPartData",0,o,S),o=0,y("onPartData"),r--}break;case Fe.END:break;default:throw new Error(`Unexpected state entered: ${d}`)}b("onHeaderField"),b("onHeaderValue"),b("onPartData"),this.index=l,this.state=d,this.flags=f}end(){if(this.state===Fe.HEADER_FIELD_START&&this.index===0||this.state===Fe.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==Fe.END)throw new Error("MultipartParser.end(): stream ended unexpectedly")}}});import Hr,{PassThrough as Xp}from"node:stream";import{types as Zp,deprecate as mc,promisify as Cw}from"node:util";import{Buffer as Tt}from"node:buffer";async function pc(t){if(t[ct].disturbed)throw new TypeError(`body used already for: ${t.url}`);if(t[ct].disturbed=!0,t[ct].error)throw t[ct].error;let{body:e}=t;if(e===null)return Tt.alloc(0);if(!(e instanceof Hr))return Tt.alloc(0);let r=[],n=0;try{for await(let o of e){if(t.size>0&&n+o.length>t.size){let s=new rt(`content size at ${t.url} over limit: ${t.size}`,"max-size");throw e.destroy(s),s}n+=o.length,r.push(o)}}catch(o){throw o instanceof Cr?o:new rt(`Invalid response body while trying to fetch ${t.url}: ${o.message}`,"system",o)}if(e.readableEnded===!0||e._readableState.ended===!0)try{return r.every(o=>typeof o=="string")?Tt.from(r.join("")):Tt.concat(r,n)}catch(o){throw new rt(`Could not create Buffer from response body for ${t.url}: ${o.message}`,"system",o)}else throw new rt(`Premature close of server response while trying to fetch ${t.url}`)}var ww,ct,Zt,qn,Ew,wi,em,tm,Ei=Me(()=>{Fo();pi();cc();mi();yi();ww=Cw(Hr.pipeline),ct=Symbol("Body internals"),Zt=class{constructor(e,{size:r=0}={}){let n=null;e===null?e=null:lc(e)?e=Tt.from(e.toString()):Io(e)||Tt.isBuffer(e)||(Zp.isAnyArrayBuffer(e)?e=Tt.from(e):ArrayBuffer.isView(e)?e=Tt.from(e.buffer,e.byteOffset,e.byteLength):e instanceof Hr||(e instanceof qr?(e=Bp(e),n=e.type.split("=")[1]):e=Tt.from(String(e))));let o=e;Tt.isBuffer(e)?o=Hr.Readable.from(e):Io(e)&&(o=Hr.Readable.from(e.stream())),this[ct]={body:e,stream:o,boundary:n,disturbed:!1,error:null},this.size=r,e instanceof Hr&&e.on("error",s=>{let a=s instanceof Cr?s:new rt(`Invalid response body while trying to fetch ${this.url}: ${s.message}`,"system",s);this[ct].error=a})}get body(){return this[ct].stream}get bodyUsed(){return this[ct].disturbed}async arrayBuffer(){let{buffer:e,byteOffset:r,byteLength:n}=await pc(this);return e.slice(r,r+n)}async formData(){let e=this.headers.get("content-type");if(e.startsWith("application/x-www-form-urlencoded")){let n=new qr,o=new URLSearchParams(await this.text());for(let[s,a]of o)n.append(s,a);return n}let{toFormData:r}=await Promise.resolve().then(()=>(Qp(),Yp));return r(this.body,e)}async blob(){let e=this.headers&&this.headers.get("content-type")||this[ct].body&&this[ct].body.type||"",r=await this.arrayBuffer();return new Lt([r],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await pc(this);return new TextDecoder().decode(e)}buffer(){return pc(this)}};Zt.prototype.buffer=mc(Zt.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer");Object.defineProperties(Zt.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:mc(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});qn=(t,e)=>{let r,n,{body:o}=t[ct];if(t.bodyUsed)throw new Error("cannot clone body after it is used");return o instanceof Hr&&typeof o.getBoundary!="function"&&(r=new Xp({highWaterMark:e}),n=new Xp({highWaterMark:e}),o.pipe(r),o.pipe(n),t[ct].stream=r,o=n),o},Ew=mc(t=>t.getBoundary(),"form-data doesn't follow the spec and requires special treatment. Use alternative package","https://github.com/node-fetch/node-fetch/issues/1167"),wi=(t,e)=>t===null?null:typeof t=="string"?"text/plain;charset=UTF-8":lc(t)?"application/x-www-form-urlencoded;charset=UTF-8":Io(t)?t.type||null:Tt.isBuffer(t)||Zp.isAnyArrayBuffer(t)||ArrayBuffer.isView(t)?null:t instanceof qr?`multipart/form-data; boundary=${e[ct].boundary}`:t&&typeof t.getBoundary=="function"?`multipart/form-data;boundary=${Ew(t)}`:t instanceof Hr?null:"text/plain;charset=UTF-8",em=t=>{let{body:e}=t[ct];return e===null?0:Io(e)?e.size:Tt.isBuffer(e)?e.length:e&&typeof e.getLengthSync=="function"&&e.hasKnownLength&&e.hasKnownLength()?e.getLengthSync():null},tm=async(t,{body:e})=>{e===null?t.end():await ww(e,t)}});import{types as rm}from"node:util";import Si from"node:http";function nm(t=[]){return new lt(t.reduce((e,r,n,o)=>(n%2===0&&e.push(o.slice(n,n+2)),e),[]).filter(([e,r])=>{try{return Ai(e),gc(e,String(r)),!0}catch{return!1}}))}var Ai,gc,lt,ki=Me(()=>{Ai=typeof Si.validateHeaderName=="function"?Si.validateHeaderName:t=>{if(!/^[\^`\-\w!#$%&'*+.|~]+$/.test(t)){let e=new TypeError(`Header name must be a valid HTTP token [${t}]`);throw Object.defineProperty(e,"code",{value:"ERR_INVALID_HTTP_TOKEN"}),e}},gc=typeof Si.validateHeaderValue=="function"?Si.validateHeaderValue:(t,e)=>{if(/[^\t\u0020-\u007E\u0080-\u00FF]/.test(e)){let r=new TypeError(`Invalid character in header content ["${t}"]`);throw Object.defineProperty(r,"code",{value:"ERR_INVALID_CHAR"}),r}},lt=class t extends URLSearchParams{constructor(e){let r=[];if(e instanceof t){let n=e.raw();for(let[o,s]of Object.entries(n))r.push(...s.map(a=>[o,a]))}else if(e!=null)if(typeof e=="object"&&!rm.isBoxedPrimitive(e)){let n=e[Symbol.iterator];if(n==null)r.push(...Object.entries(e));else{if(typeof n!="function")throw new TypeError("Header pairs must be iterable");r=[...e].map(o=>{if(typeof o!="object"||rm.isBoxedPrimitive(o))throw new TypeError("Each header pair must be an iterable object");return[...o]}).map(o=>{if(o.length!==2)throw new TypeError("Each header pair must be a name/value tuple");return[...o]})}}else throw new TypeError("Failed to construct 'Headers': The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)");return r=r.length>0?r.map(([n,o])=>(Ai(n),gc(n,String(o)),[String(n).toLowerCase(),String(o)])):void 0,super(r),new Proxy(this,{get(n,o,s){switch(o){case"append":case"set":return(a,c)=>(Ai(a),gc(a,String(c)),URLSearchParams.prototype[o].call(n,String(a).toLowerCase(),String(c)));case"delete":case"has":case"getAll":return a=>(Ai(a),URLSearchParams.prototype[o].call(n,String(a).toLowerCase()));case"keys":return()=>(n.sort(),new Set(URLSearchParams.prototype.keys.call(n)).keys());default:return Reflect.get(n,o,s)}}})}get[Symbol.toStringTag](){return this.constructor.name}toString(){return Object.prototype.toString.call(this)}get(e){let r=this.getAll(e);if(r.length===0)return null;let n=r.join(", ");return/^content-encoding$/i.test(e)&&(n=n.toLowerCase()),n}forEach(e,r=void 0){for(let n of this.keys())Reflect.apply(e,r,[this.get(n),n,this])}*values(){for(let e of this.keys())yield this.get(e)}*entries(){for(let e of this.keys())yield[e,this.get(e)]}[Symbol.iterator](){return this.entries()}raw(){return[...this.keys()].reduce((e,r)=>(e[r]=this.getAll(r),e),{})}[Symbol.for("nodejs.util.inspect.custom")](){return[...this.keys()].reduce((e,r)=>{let n=this.getAll(r);return r==="host"?e[r]=n[0]:e[r]=n.length>1?n:n[0],e},{})}};Object.defineProperties(lt.prototype,["get","entries","forEach","values"].reduce((t,e)=>(t[e]={enumerable:!0},t),{}))});var Aw,No,yc=Me(()=>{Aw=new Set([301,302,303,307,308]),No=t=>Aw.has(t)});var Ut,pt,om=Me(()=>{ki();Ei();yc();Ut=Symbol("Response internals"),pt=class t extends Zt{constructor(e=null,r={}){super(e,r);let n=r.status!=null?r.status:200,o=new lt(r.headers);if(e!==null&&!o.has("Content-Type")){let s=wi(e,this);s&&o.append("Content-Type",s)}this[Ut]={type:"default",url:r.url,status:n,statusText:r.statusText||"",headers:o,counter:r.counter,highWaterMark:r.highWaterMark}}get type(){return this[Ut].type}get url(){return this[Ut].url||""}get status(){return this[Ut].status}get ok(){return this[Ut].status>=200&&this[Ut].status<300}get redirected(){return this[Ut].counter>0}get statusText(){return this[Ut].statusText}get headers(){return this[Ut].headers}get highWaterMark(){return this[Ut].highWaterMark}clone(){return new t(qn(this,this.highWaterMark),{type:this.type,url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected,size:this.size,highWaterMark:this.highWaterMark})}static redirect(e,r=302){if(!No(r))throw new RangeError('Failed to execute "redirect" on "response": Invalid status code');return new t(null,{headers:{location:new URL(e).toString()},status:r})}static error(){let e=new t(null,{status:0,statusText:""});return e[Ut].type="error",e}static json(e=void 0,r={}){let n=JSON.stringify(e);if(n===void 0)throw new TypeError("data is not JSON serializable");let o=new lt(r&&r.headers);return o.has("content-type")||o.set("content-type","application/json"),new t(n,{...r,headers:o})}get[Symbol.toStringTag](){return"Response"}};Object.defineProperties(pt.prototype,{type:{enumerable:!0},url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}})});var sm,im=Me(()=>{sm=t=>{if(t.search)return t.search;let e=t.href.length-1,r=t.hash||(t.href[e]==="#"?"#":"");return t.href[e-r.length]==="?"?"?":""}});import{isIP as Sw}from"node:net";function am(t,e=!1){return t==null||(t=new URL(t),/^(about|blob|data):$/.test(t.protocol))?"no-referrer":(t.username="",t.password="",t.hash="",e&&(t.pathname="",t.search=""),t)}function lm(t){if(!um.has(t))throw new TypeError(`Invalid referrerPolicy: ${t}`);return t}function kw(t){if(/^(http|ws)s:$/.test(t.protocol))return!0;let e=t.host.replace(/(^\[)|(]$)/g,""),r=Sw(e);return r===4&&/^127\./.test(e)||r===6&&/^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(e)?!0:t.host==="localhost"||t.host.endsWith(".localhost")?!1:t.protocol==="file:"}function zn(t){return/^about:(blank|srcdoc)$/.test(t)||t.protocol==="data:"||/^(blob|filesystem):$/.test(t.protocol)?!0:kw(t)}function dm(t,{referrerURLCallback:e,referrerOriginCallback:r}={}){if(t.referrer==="no-referrer"||t.referrerPolicy==="")return null;let n=t.referrerPolicy;if(t.referrer==="about:client")return"no-referrer";let o=t.referrer,s=am(o),a=am(o,!0);s.toString().length>4096&&(s=a),e&&(s=e(s)),r&&(a=r(a));let c=new URL(t.url);switch(n){case"no-referrer":return"no-referrer";case"origin":return a;case"unsafe-url":return s;case"strict-origin":return zn(s)&&!zn(c)?"no-referrer":a.toString();case"strict-origin-when-cross-origin":return s.origin===c.origin?s:zn(s)&&!zn(c)?"no-referrer":a;case"same-origin":return s.origin===c.origin?s:"no-referrer";case"origin-when-cross-origin":return s.origin===c.origin?s:a;case"no-referrer-when-downgrade":return zn(s)&&!zn(c)?"no-referrer":s;default:throw new TypeError(`Invalid referrerPolicy: ${n}`)}}function fm(t){let e=(t.get("referrer-policy")||"").split(/[,\s]+/),r="";for(let n of e)n&&um.has(n)&&(r=n);return r}var um,cm,_c=Me(()=>{um=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),cm="strict-origin-when-cross-origin"});import{format as vw}from"node:url";import{deprecate as Tw}from"node:util";var Je,Mo,Dw,Wr,hm,pm=Me(()=>{ki();Ei();yi();im();_c();Je=Symbol("Request internals"),Mo=t=>typeof t=="object"&&typeof t[Je]=="object",Dw=Tw(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),Wr=class t extends Zt{constructor(e,r={}){let n;if(Mo(e)?n=new URL(e.url):(n=new URL(e),e={}),n.username!==""||n.password!=="")throw new TypeError(`${n} is an url with embedded credentials.`);let o=r.method||e.method||"GET";if(/^(delete|get|head|options|post|put)$/i.test(o)&&(o=o.toUpperCase()),!Mo(r)&&"data"in r&&Dw(),(r.body!=null||Mo(e)&&e.body!==null)&&(o==="GET"||o==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let s=r.body?r.body:Mo(e)&&e.body!==null?qn(e):null;super(s,{size:r.size||e.size||0});let a=new lt(r.headers||e.headers||{});if(s!==null&&!a.has("Content-Type")){let d=wi(s,this);d&&a.set("Content-Type",d)}let c=Mo(e)?e.signal:null;if("signal"in r&&(c=r.signal),c!=null&&!Np(c))throw new TypeError("Expected signal to be an instanceof AbortSignal or EventTarget");let l=r.referrer==null?e.referrer:r.referrer;if(l==="")l="no-referrer";else if(l){let d=new URL(l);l=/^about:(\/\/)?client$/.test(d)?"client":d}else l=void 0;this[Je]={method:o,redirect:r.redirect||e.redirect||"follow",headers:a,parsedURL:n,signal:c,referrer:l},this.follow=r.follow===void 0?e.follow===void 0?20:e.follow:r.follow,this.compress=r.compress===void 0?e.compress===void 0?!0:e.compress:r.compress,this.counter=r.counter||e.counter||0,this.agent=r.agent||e.agent,this.highWaterMark=r.highWaterMark||e.highWaterMark||16384,this.insecureHTTPParser=r.insecureHTTPParser||e.insecureHTTPParser||!1,this.referrerPolicy=r.referrerPolicy||e.referrerPolicy||""}get method(){return this[Je].method}get url(){return vw(this[Je].parsedURL)}get headers(){return this[Je].headers}get redirect(){return this[Je].redirect}get signal(){return this[Je].signal}get referrer(){if(this[Je].referrer==="no-referrer")return"";if(this[Je].referrer==="client")return"about:client";if(this[Je].referrer)return this[Je].referrer.toString()}get referrerPolicy(){return this[Je].referrerPolicy}set referrerPolicy(e){this[Je].referrerPolicy=lm(e)}clone(){return new t(this)}get[Symbol.toStringTag](){return"Request"}};Object.defineProperties(Wr.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0},referrer:{enumerable:!0},referrerPolicy:{enumerable:!0}});hm=t=>{let{parsedURL:e}=t[Je],r=new lt(t[Je].headers);r.has("Accept")||r.set("Accept","*/*");let n=null;if(t.body===null&&/^(post|put)$/i.test(t.method)&&(n="0"),t.body!==null){let c=em(t);typeof c=="number"&&!Number.isNaN(c)&&(n=String(c))}n&&r.set("Content-Length",n),t.referrerPolicy===""&&(t.referrerPolicy=cm),t.referrer&&t.referrer!=="no-referrer"?t[Je].referrer=dm(t):t[Je].referrer="no-referrer",t[Je].referrer instanceof URL&&r.set("Referer",t.referrer),r.has("User-Agent")||r.set("User-Agent","node-fetch"),t.compress&&!r.has("Accept-Encoding")&&r.set("Accept-Encoding","gzip, deflate, br");let{agent:o}=t;typeof o=="function"&&(o=o(e));let s=sm(e),a={path:e.pathname+s,method:t.method,headers:r[Symbol.for("nodejs.util.inspect.custom")](),insecureHTTPParser:t.insecureHTTPParser,agent:o};return{parsedURL:e,options:a}}});var jo,mm=Me(()=>{mi();jo=class extends Cr{constructor(e,r="aborted"){super(e,r)}}});var _m={};Tu(_m,{AbortError:()=>jo,Blob:()=>Lt,FetchError:()=>rt,File:()=>$r,FormData:()=>qr,Headers:()=>lt,Request:()=>Wr,Response:()=>pt,blobFrom:()=>Hp,blobFromSync:()=>zp,default:()=>bc,fileFrom:()=>Wp,fileFromSync:()=>Gp,isRedirect:()=>No});import Rw from"node:http";import xw from"node:https";import Hn from"node:zlib";import gm,{PassThrough as ym,pipeline as Wn}from"node:stream";import{Buffer as vi}from"node:buffer";async function bc(t,e){return new Promise((r,n)=>{let o=new Wr(t,e),{parsedURL:s,options:a}=hm(o);if(!Ow.has(s.protocol))throw new TypeError(`node-fetch cannot load ${t}. URL scheme "${s.protocol.replace(/:$/,"")}" is not supported.`);if(s.protocol==="data:"){let w=vp(o.url),_=new pt(w,{headers:{"Content-Type":w.typeFull}});r(_);return}let c=(s.protocol==="https:"?xw:Rw).request,{signal:l}=o,d=null,f=()=>{let w=new jo("The operation was aborted.");n(w),o.body&&o.body instanceof gm.Readable&&o.body.destroy(w),!(!d||!d.body)&&d.body.emit("error",w)};if(l&&l.aborted){f();return}let p=()=>{f(),A()},g=c(s.toString(),a);l&&l.addEventListener("abort",p);let A=()=>{g.abort(),l&&l.removeEventListener("abort",p)};g.on("error",w=>{n(new rt(`request to ${o.url} failed, reason: ${w.message}`,"system",w)),A()}),Fw(g,w=>{d&&d.body&&d.body.destroy(w)}),process.version<"v14"&&g.on("socket",w=>{let _;w.prependListener("end",()=>{_=w._eventsCount}),w.prependListener("close",y=>{if(d&&_<w._eventsCount&&!y){let m=new Error("Premature close");m.code="ERR_STREAM_PREMATURE_CLOSE",d.body.emit("error",m)}})}),g.on("response",w=>{g.setTimeout(0);let _=nm(w.rawHeaders);if(No(w.statusCode)){let S=_.get("Location"),D=null;try{D=S===null?null:new URL(S,o.url)}catch{if(o.redirect!=="manual"){n(new rt(`uri requested responds with an invalid redirect URL: ${S}`,"invalid-redirect")),A();return}}switch(o.redirect){case"error":n(new rt(`uri requested responds with a redirect, redirect mode is set to error: ${o.url}`,"no-redirect")),A();return;case"manual":break;case"follow":{if(D===null)break;if(o.counter>=o.follow){n(new rt(`maximum redirect reached at: ${o.url}`,"max-redirect")),A();return}let O={headers:new lt(o.headers),follow:o.follow,counter:o.counter+1,agent:o.agent,compress:o.compress,method:o.method,body:qn(o),signal:o.signal,size:o.size,referrer:o.referrer,referrerPolicy:o.referrerPolicy};if(!Mp(o.url,D)||!jp(o.url,D))for(let J of["authorization","www-authenticate","cookie","cookie2"])O.headers.delete(J);if(w.statusCode!==303&&o.body&&e.body instanceof gm.Readable){n(new rt("Cannot follow redirect with body being a readable stream","unsupported-redirect")),A();return}(w.statusCode===303||(w.statusCode===301||w.statusCode===302)&&o.method==="POST")&&(O.method="GET",O.body=void 0,O.headers.delete("content-length"));let q=fm(_);q&&(O.referrerPolicy=q),r(bc(new Wr(D,O))),A();return}default:return n(new TypeError(`Redirect option '${o.redirect}' is not a valid value of RequestRedirect`))}}l&&w.once("end",()=>{l.removeEventListener("abort",p)});let y=Wn(w,new ym,S=>{S&&n(S)});process.version<"v12.10"&&w.on("aborted",p);let m={url:o.url,status:w.statusCode,statusText:w.statusMessage,headers:_,size:o.size,counter:o.counter,highWaterMark:o.highWaterMark},v=_.get("Content-Encoding");if(!o.compress||o.method==="HEAD"||v===null||w.statusCode===204||w.statusCode===304){d=new pt(y,m),r(d);return}let b={flush:Hn.Z_SYNC_FLUSH,finishFlush:Hn.Z_SYNC_FLUSH};if(v==="gzip"||v==="x-gzip"){y=Wn(y,Hn.createGunzip(b),S=>{S&&n(S)}),d=new pt(y,m),r(d);return}if(v==="deflate"||v==="x-deflate"){let S=Wn(w,new ym,D=>{D&&n(D)});S.once("data",D=>{(D[0]&15)===8?y=Wn(y,Hn.createInflate(),O=>{O&&n(O)}):y=Wn(y,Hn.createInflateRaw(),O=>{O&&n(O)}),d=new pt(y,m),r(d)}),S.once("end",()=>{d||(d=new pt(y,m),r(d))});return}if(v==="br"){y=Wn(y,Hn.createBrotliDecompress(),S=>{S&&n(S)}),d=new pt(y,m),r(d);return}d=new pt(y,m),r(d)}),tm(g,o).catch(n)})}function Fw(t,e){let r=vi.from(`0\r
|
|
38
38
|
\r
|
|
39
39
|
`),n=!1,o=!1,s;t.on("response",a=>{let{headers:c}=a;n=c["transfer-encoding"]==="chunked"&&!c["content-length"]}),t.on("socket",a=>{let c=()=>{if(n&&!o){let d=new Error("Premature close");d.code="ERR_STREAM_PREMATURE_CLOSE",e(d)}},l=d=>{o=vi.compare(d.slice(-5),r)===0,!o&&s&&(o=vi.compare(s.slice(-3),r.slice(0,3))===0&&vi.compare(d.slice(-2),r.slice(3))===0),s=d};a.prependListener("close",c),a.on("data",l),t.on("close",()=>{a.removeListener("close",c),a.removeListener("data",l)})})}var Ow,bm=Me(()=>{Tp();Ei();om();ki();pm();cc();mm();yc();pi();yi();_c();fc();Ow=new Set(["data:","http:","https:"])});var Em=V(Jn=>{"use strict";var Pw=Jn&&Jn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},Gn;Object.defineProperty(Jn,"__esModule",{value:!0});Jn.Gaxios=void 0;var Iw=Pw(Gu()),Bw=X("https"),hn=Ku(),Nw=ep(),Cm=X("stream"),wm=Xu(),Mw=async()=>globalThis.crypto?.randomUUID()||(await import("crypto")).randomUUID(),Ti=class{agentCache=new Map;defaults;interceptors;constructor(e){this.defaults=e||{},this.interceptors={request:new wm.GaxiosInterceptorManager,response:new wm.GaxiosInterceptorManager}}fetch(...e){let r=e[0],n=e[1],o,s=new Headers;return typeof r=="string"?o=new URL(r):r instanceof URL?o=r:r&&r.url&&(o=new URL(r.url)),r&&typeof r=="object"&&"headers"in r&&Gn.mergeHeaders(s,r.headers),n&&Gn.mergeHeaders(s,new Headers(n.headers)),typeof r=="object"&&!(r instanceof URL)?this.request({...n,...r,headers:s,url:o}):this.request({...n,headers:s,url:o})}async request(e={}){let r=await this.#n(e);return r=await this.#t(r),this.#r(this._request(r))}async _defaultAdapter(e){let r=e.fetchImplementation||this.defaults.fetchImplementation||await Gn.#u(),n={...e};delete n.data;let o=await r(e.url,n),s=await this.getResponseData(e,o);return Object.getOwnPropertyDescriptor(o,"data")?.configurable||Object.defineProperties(o,{data:{configurable:!0,writable:!0,enumerable:!0,value:s}}),Object.assign(o,{config:e,data:s})}async _request(e){try{let r;if(e.adapter?r=await e.adapter(e,this._defaultAdapter.bind(this)):r=await this._defaultAdapter(e),!e.validateStatus(r.status)){if(e.responseType==="stream"){let o=[];for await(let s of r.data)o.push(s);r.data=o.toString()}let n=hn.GaxiosError.extractAPIErrorFromResponse(r,`Request failed with status code ${r.status}`);throw new hn.GaxiosError(n?.message,e,r,n)}return r}catch(r){let n;r instanceof hn.GaxiosError?n=r:r instanceof Error?n=new hn.GaxiosError(r.message,e,void 0,r):n=new hn.GaxiosError("Unexpected Gaxios Error",e,void 0,r);let{shouldRetry:o,config:s}=await(0,Nw.getRetryConfig)(n);if(o&&s)return n.config.retryConfig.currentRetryAttempt=s.retryConfig.currentRetryAttempt,e.retryConfig=n.config?.retryConfig,this.#o(e),this._request(e);throw e.errorRedactor&&e.errorRedactor(n),n}}async getResponseData(e,r){if(e.maxContentLength&&r.headers.has("content-length")&&e.maxContentLength<Number.parseInt(r.headers?.get("content-length")||""))throw new hn.GaxiosError("Response's `Content-Length` is over the limit.",e,Object.assign(r,{config:e}));switch(e.responseType){case"stream":return r.body;case"json":return r.json();case"arraybuffer":return r.arrayBuffer();case"blob":return r.blob();case"text":return r.text();default:return this.getResponseDataFromContentType(r)}}#e(e,r=[]){let n=new URL(e),o=[...r],s=(process.env.NO_PROXY??process.env.no_proxy)?.split(",")||[];for(let a of s)o.push(a.trim());for(let a of o)if(a instanceof RegExp){if(a.test(n.toString()))return!1}else if(a instanceof URL){if(a.origin===n.origin)return!1}else if(a.startsWith("*.")||a.startsWith(".")){let c=a.replace(/^\*\./,".");if(n.hostname.endsWith(c))return!1}else if(a===n.origin||a===n.hostname||a===n.href)return!1;return!0}async#t(e){let r=Promise.resolve(e);for(let n of this.interceptors.request.values())n&&(r=r.then(n.resolved,n.rejected));return r}async#r(e){let r=Promise.resolve(e);for(let n of this.interceptors.response.values())n&&(r=r.then(n.resolved,n.rejected));return r}async#n(e){let r=new Headers(this.defaults.headers);Gn.mergeHeaders(r,e.headers);let n=(0,Iw.default)(!0,{},this.defaults,e);if(!n.url)throw new Error("URL is required.");if(n.baseURL&&(n.url=new URL(n.url,n.baseURL)),n.url=new URL(n.url),n.params)if(n.paramsSerializer){let a=n.paramsSerializer(n.params);a.startsWith("?")&&(a=a.slice(1));let c=n.url.toString().includes("?")?"&":"?";n.url=n.url+c+a}else{let a=n.url instanceof URL?n.url:new URL(n.url);for(let[c,l]of new URLSearchParams(n.params))a.searchParams.append(c,l);n.url=a}typeof e.maxContentLength=="number"&&(n.size=e.maxContentLength),typeof e.maxRedirects=="number"&&(n.follow=e.maxRedirects);let o=typeof n.data=="string"||n.data instanceof ArrayBuffer||n.data instanceof Blob||globalThis.File&&n.data instanceof File||n.data instanceof FormData||n.data instanceof Cm.Readable||n.data instanceof ReadableStream||n.data instanceof String||n.data instanceof URLSearchParams||ArrayBuffer.isView(n.data)||["Blob","File","FormData"].includes(n.data?.constructor?.name||"");if(n.multipart?.length){let a=await Mw();r.set("content-type",`multipart/related; boundary=${a}`),n.body=Cm.Readable.from(this.getMultipartRequest(n.multipart,a))}else o?n.body=n.data:typeof n.data=="object"?r.get("Content-Type")==="application/x-www-form-urlencoded"?n.body=n.paramsSerializer?n.paramsSerializer(n.data):new URLSearchParams(n.data):(r.has("content-type")||r.set("content-type","application/json"),n.body=JSON.stringify(n.data)):n.data&&(n.body=n.data);n.validateStatus=n.validateStatus||this.validateStatus,n.responseType=n.responseType||"unknown",!r.has("accept")&&n.responseType==="json"&&r.set("accept","application/json");let s=n.proxy||process?.env?.HTTPS_PROXY||process?.env?.https_proxy||process?.env?.HTTP_PROXY||process?.env?.http_proxy;if(!n.agent)if(s&&this.#e(n.url,n.noProxy)){let a=await Gn.#a();this.agentCache.has(s)?n.agent=this.agentCache.get(s):(n.agent=new a(s,{cert:n.cert,key:n.key}),this.agentCache.set(s,n.agent))}else n.cert&&n.key&&(this.agentCache.has(n.key)?n.agent=this.agentCache.get(n.key):(n.agent=new Bw.Agent({cert:n.cert,key:n.key}),this.agentCache.set(n.key,n.agent)));return typeof n.errorRedactor!="function"&&n.errorRedactor!==!1&&(n.errorRedactor=hn.defaultErrorRedactor),n.body&&!("duplex"in n)&&(n.duplex="half"),this.#o(n),Object.assign(n,{headers:r,url:n.url instanceof URL?n.url:new URL(n.url)})}#o(e){if(e.timeout){let r=AbortSignal.timeout(e.timeout);e.signal&&!e.signal.aborted?e.signal=AbortSignal.any([e.signal,r]):e.signal=r}}validateStatus(e){return e>=200&&e<300}async getResponseDataFromContentType(e){let r=e.headers.get("Content-Type");if(r===null)return e.text();if(r=r.toLowerCase(),r.includes("application/json")){let n=await e.text();try{n=JSON.parse(n)}catch{}return n}else return r.match(/^text\//)?e.text():e.blob()}async*getMultipartRequest(e,r){let n=`--${r}--`;for(let o of e){let s=o.headers.get("Content-Type")||"application/octet-stream";yield`--${r}\r
|
|
40
40
|
Content-Type: ${s}\r
|
|
41
41
|
\r
|
|
42
42
|
`,typeof o.content=="string"?yield o.content:yield*o.content,yield`\r
|
|
43
|
-
`}yield n}static#s;static#i;static async#a(){return this.#s||=(await Promise.resolve().then(()=>jr(kp()))).HttpsProxyAgent,this.#s}static async#u(){let e=typeof window<"u"&&!!window;return this.#i||=e?window.fetch:(await Promise.resolve().then(()=>(bm(),_m))).default,this.#i}static mergeHeaders(e,...r){e=e instanceof Headers?e:new Headers(e);for(let n of r)(n instanceof Headers?n:new Headers(n)).forEach((s,a)=>{a==="set-cookie"?e.append(a,s):e.set(a,s)});return e}};Jn.Gaxios=Ti;Gn=Ti});var Ke=V(rt=>{"use strict";var jw=rt&&rt.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Lw=rt&&rt.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&jw(e,t,r)};Object.defineProperty(rt,"__esModule",{value:!0});rt.instance=rt.Gaxios=rt.GaxiosError=void 0;rt.request=$w;var Am=Em();Object.defineProperty(rt,"Gaxios",{enumerable:!0,get:function(){return Am.Gaxios}});var Uw=Ku();Object.defineProperty(rt,"GaxiosError",{enumerable:!0,get:function(){return Uw.GaxiosError}});Lw(Xu(),rt);rt.instance=new Am.Gaxios;async function $w(t){return rt.instance.request(t)}});var Cc=V((Sm,Di)=>{(function(t){"use strict";var e,r=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,n=Math.ceil,o=Math.floor,s="[BigNumber Error] ",a=s+"Number primitive has more than 15 significant digits: ",c=1e14,l=14,d=9007199254740991,f=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],p=1e7,y=1e9;function A(D){var O,q,J,B=W.prototype={constructor:W,toString:null,valueOf:null},Y=new W(1),re=20,ee=4,ue=-7,fe=21,Se=-1e7,se=1e7,me=!1,G=1,K=0,ce={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},qe="0123456789abcdefghijklmnopqrstuvwxyz",De=!0;function W(C,k){var T,M,F,I,U,x,P,j,N=this;if(!(N instanceof W))return new W(C,k);if(k==null){if(C&&C._isBigNumber===!0){N.s=C.s,!C.c||C.e>se?N.c=N.e=null:C.e<Se?N.c=[N.e=0]:(N.e=C.e,N.c=C.c.slice());return}if((x=typeof C=="number")&&C*0==0){if(N.s=1/C<0?(C=-C,-1):1,C===~~C){for(I=0,U=C;U>=10;U/=10,I++);I>se?N.c=N.e=null:(N.e=I,N.c=[C]);return}j=String(C)}else{if(!r.test(j=String(C)))return J(N,j,x);N.s=j.charCodeAt(0)==45?(j=j.slice(1),-1):1}(I=j.indexOf("."))>-1&&(j=j.replace(".","")),(U=j.search(/e/i))>0?(I<0&&(I=U),I+=+j.slice(U+1),j=j.substring(0,U)):I<0&&(I=j.length)}else{if(m(k,2,qe.length,"Base"),k==10&&De)return N=new W(C),xe(N,re+N.e+1,ee);if(j=String(C),x=typeof C=="number"){if(C*0!=0)return J(N,j,x,k);if(N.s=1/C<0?(j=j.slice(1),-1):1,W.DEBUG&&j.replace(/^0\.0*|\./,"").length>15)throw Error(a+C)}else N.s=j.charCodeAt(0)===45?(j=j.slice(1),-1):1;for(T=qe.slice(0,k),I=U=0,P=j.length;U<P;U++)if(T.indexOf(M=j.charAt(U))<0){if(M=="."){if(U>I){I=P;continue}}else if(!F&&(j==j.toUpperCase()&&(j=j.toLowerCase())||j==j.toLowerCase()&&(j=j.toUpperCase()))){F=!0,U=-1,I=0;continue}return J(N,String(C),x,k)}x=!1,j=q(j,k,10,N.s),(I=j.indexOf("."))>-1?j=j.replace(".",""):I=j.length}for(U=0;j.charCodeAt(U)===48;U++);for(P=j.length;j.charCodeAt(--P)===48;);if(j=j.slice(U,++P)){if(P-=U,x&&W.DEBUG&&P>15&&(C>d||C!==o(C)))throw Error(a+N.s*C);if((I=I-U-1)>se)N.c=N.e=null;else if(I<Se)N.c=[N.e=0];else{if(N.e=I,N.c=[],U=(I+1)%l,I<0&&(U+=l),U<P){for(U&&N.c.push(+j.slice(0,U)),P-=l;U<P;)N.c.push(+j.slice(U,U+=l));U=l-(j=j.slice(U)).length}else U-=P;for(;U--;j+="0");N.c.push(+j)}}else N.c=[N.e=0]}W.clone=A,W.ROUND_UP=0,W.ROUND_DOWN=1,W.ROUND_CEIL=2,W.ROUND_FLOOR=3,W.ROUND_HALF_UP=4,W.ROUND_HALF_DOWN=5,W.ROUND_HALF_EVEN=6,W.ROUND_HALF_CEIL=7,W.ROUND_HALF_FLOOR=8,W.EUCLID=9,W.config=W.set=function(C){var k,T;if(C!=null)if(typeof C=="object"){if(C.hasOwnProperty(k="DECIMAL_PLACES")&&(T=C[k],m(T,0,y,k),re=T),C.hasOwnProperty(k="ROUNDING_MODE")&&(T=C[k],m(T,0,8,k),ee=T),C.hasOwnProperty(k="EXPONENTIAL_AT")&&(T=C[k],T&&T.pop?(m(T[0],-y,0,k),m(T[1],0,y,k),ue=T[0],fe=T[1]):(m(T,-y,y,k),ue=-(fe=T<0?-T:T))),C.hasOwnProperty(k="RANGE"))if(T=C[k],T&&T.pop)m(T[0],-y,-1,k),m(T[1],1,y,k),Se=T[0],se=T[1];else if(m(T,-y,y,k),T)Se=-(se=T<0?-T:T);else throw Error(s+k+" cannot be zero: "+T);if(C.hasOwnProperty(k="CRYPTO"))if(T=C[k],T===!!T)if(T)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))me=T;else throw me=!T,Error(s+"crypto unavailable");else me=T;else throw Error(s+k+" not true or false: "+T);if(C.hasOwnProperty(k="MODULO_MODE")&&(T=C[k],m(T,0,9,k),G=T),C.hasOwnProperty(k="POW_PRECISION")&&(T=C[k],m(T,0,y,k),K=T),C.hasOwnProperty(k="FORMAT"))if(T=C[k],typeof T=="object")ce=T;else throw Error(s+k+" not an object: "+T);if(C.hasOwnProperty(k="ALPHABET"))if(T=C[k],typeof T=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(T))De=T.slice(0,10)=="0123456789",qe=T;else throw Error(s+k+" invalid: "+T)}else throw Error(s+"Object expected: "+C);return{DECIMAL_PLACES:re,ROUNDING_MODE:ee,EXPONENTIAL_AT:[ue,fe],RANGE:[Se,se],CRYPTO:me,MODULO_MODE:G,POW_PRECISION:K,FORMAT:ce,ALPHABET:qe}},W.isBigNumber=function(C){if(!C||C._isBigNumber!==!0)return!1;if(!W.DEBUG)return!0;var k,T,M=C.c,F=C.e,I=C.s;e:if({}.toString.call(M)=="[object Array]"){if((I===1||I===-1)&&F>=-y&&F<=y&&F===o(F)){if(M[0]===0){if(F===0&&M.length===1)return!0;break e}if(k=(F+1)%l,k<1&&(k+=l),String(M[0]).length==k){for(k=0;k<M.length;k++)if(T=M[k],T<0||T>=c||T!==o(T))break e;if(T!==0)return!0}}}else if(M===null&&F===null&&(I===null||I===1||I===-1))return!0;throw Error(s+"Invalid BigNumber: "+C)},W.maximum=W.max=function(){return _e(arguments,-1)},W.minimum=W.min=function(){return _e(arguments,1)},W.random=(function(){var C=9007199254740992,k=Math.random()*C&2097151?function(){return o(Math.random()*C)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(T){var M,F,I,U,x,P=0,j=[],N=new W(Y);if(T==null?T=re:m(T,0,y),U=n(T/l),me)if(crypto.getRandomValues){for(M=crypto.getRandomValues(new Uint32Array(U*=2));P<U;)x=M[P]*131072+(M[P+1]>>>11),x>=9e15?(F=crypto.getRandomValues(new Uint32Array(2)),M[P]=F[0],M[P+1]=F[1]):(j.push(x%1e14),P+=2);P=U/2}else if(crypto.randomBytes){for(M=crypto.randomBytes(U*=7);P<U;)x=(M[P]&31)*281474976710656+M[P+1]*1099511627776+M[P+2]*4294967296+M[P+3]*16777216+(M[P+4]<<16)+(M[P+5]<<8)+M[P+6],x>=9e15?crypto.randomBytes(7).copy(M,P):(j.push(x%1e14),P+=7);P=U/7}else throw me=!1,Error(s+"crypto unavailable");if(!me)for(;P<U;)x=k(),x<9e15&&(j[P++]=x%1e14);for(U=j[--P],T%=l,U&&T&&(x=f[l-T],j[P]=o(U/x)*x);j[P]===0;j.pop(),P--);if(P<0)j=[I=0];else{for(I=-1;j[0]===0;j.splice(0,1),I-=l);for(P=1,x=j[0];x>=10;x/=10,P++);P<l&&(I-=l-P)}return N.e=I,N.c=j,N}})(),W.sum=function(){for(var C=1,k=arguments,T=new W(k[0]);C<k.length;)T=T.plus(k[C++]);return T},q=(function(){var C="0123456789";function k(T,M,F,I){for(var U,x=[0],P,j=0,N=T.length;j<N;){for(P=x.length;P--;x[P]*=M);for(x[0]+=I.indexOf(T.charAt(j++)),U=0;U<x.length;U++)x[U]>F-1&&(x[U+1]==null&&(x[U+1]=0),x[U+1]+=x[U]/F|0,x[U]%=F)}return x.reverse()}return function(T,M,F,I,U){var x,P,j,N,z,Z,te,Ae,Pe=T.indexOf("."),Ne=re,we=ee;for(Pe>=0&&(N=K,K=0,T=T.replace(".",""),Ae=new W(M),Z=Ae.pow(T.length-Pe),K=N,Ae.c=k(S(_(Z.c),Z.e,"0"),10,F,C),Ae.e=Ae.c.length),te=k(T,M,F,U?(x=qe,C):(x=C,qe)),j=N=te.length;te[--N]==0;te.pop());if(!te[0])return x.charAt(0);if(Pe<0?--j:(Z.c=te,Z.e=j,Z.s=I,Z=O(Z,Ae,Ne,we,F),te=Z.c,z=Z.r,j=Z.e),P=j+Ne+1,Pe=te[P],N=F/2,z=z||P<0||te[P+1]!=null,z=we<4?(Pe!=null||z)&&(we==0||we==(Z.s<0?3:2)):Pe>N||Pe==N&&(we==4||z||we==6&&te[P-1]&1||we==(Z.s<0?8:7)),P<1||!te[0])T=z?S(x.charAt(1),-Ne,x.charAt(0)):x.charAt(0);else{if(te.length=P,z)for(--F;++te[--P]>F;)te[P]=0,P||(++j,te=[1].concat(te));for(N=te.length;!te[--N];);for(Pe=0,T="";Pe<=N;T+=x.charAt(te[Pe++]));T=S(T,j,x.charAt(0))}return T}})(),O=(function(){function C(M,F,I){var U,x,P,j,N=0,z=M.length,Z=F%p,te=F/p|0;for(M=M.slice();z--;)P=M[z]%p,j=M[z]/p|0,U=te*P+j*Z,x=Z*P+U%p*p+N,N=(x/I|0)+(U/p|0)+te*j,M[z]=x%I;return N&&(M=[N].concat(M)),M}function k(M,F,I,U){var x,P;if(I!=U)P=I>U?1:-1;else for(x=P=0;x<I;x++)if(M[x]!=F[x]){P=M[x]>F[x]?1:-1;break}return P}function T(M,F,I,U){for(var x=0;I--;)M[I]-=x,x=M[I]<F[I]?1:0,M[I]=x*U+M[I]-F[I];for(;!M[0]&&M.length>1;M.splice(0,1));}return function(M,F,I,U,x){var P,j,N,z,Z,te,Ae,Pe,Ne,we,ke,Ue,bn,Cn,wn,dt,lr,Ye=M.s==F.s?1:-1,$e=M.c,ve=F.c;if(!$e||!$e[0]||!ve||!ve[0])return new W(!M.s||!F.s||($e?ve&&$e[0]==ve[0]:!ve)?NaN:$e&&$e[0]==0||!ve?Ye*0:Ye/0);for(Pe=new W(Ye),Ne=Pe.c=[],j=M.e-F.e,Ye=I+j+1,x||(x=c,j=w(M.e/l)-w(F.e/l),Ye=Ye/l|0),N=0;ve[N]==($e[N]||0);N++);if(ve[N]>($e[N]||0)&&j--,Ye<0)Ne.push(1),z=!0;else{for(Cn=$e.length,dt=ve.length,N=0,Ye+=2,Z=o(x/(ve[0]+1)),Z>1&&(ve=C(ve,Z,x),$e=C($e,Z,x),dt=ve.length,Cn=$e.length),bn=dt,we=$e.slice(0,dt),ke=we.length;ke<dt;we[ke++]=0);lr=ve.slice(),lr=[0].concat(lr),wn=ve[0],ve[1]>=x/2&&wn++;do{if(Z=0,P=k(ve,we,dt,ke),P<0){if(Ue=we[0],dt!=ke&&(Ue=Ue*x+(we[1]||0)),Z=o(Ue/wn),Z>1)for(Z>=x&&(Z=x-1),te=C(ve,Z,x),Ae=te.length,ke=we.length;k(te,we,Ae,ke)==1;)Z--,T(te,dt<Ae?lr:ve,Ae,x),Ae=te.length,P=1;else Z==0&&(P=Z=1),te=ve.slice(),Ae=te.length;if(Ae<ke&&(te=[0].concat(te)),T(we,te,ke,x),ke=we.length,P==-1)for(;k(ve,we,dt,ke)<1;)Z++,T(we,dt<ke?lr:ve,ke,x),ke=we.length}else P===0&&(Z++,we=[0]);Ne[N++]=Z,we[0]?we[ke++]=$e[bn]||0:(we=[$e[bn]],ke=1)}while((bn++<Cn||we[0]!=null)&&Ye--);z=we[0]!=null,Ne[0]||Ne.splice(0,1)}if(x==c){for(N=1,Ye=Ne[0];Ye>=10;Ye/=10,N++);xe(Pe,I+(Pe.e=N+j*l-1)+1,U,z)}else Pe.e=j,Pe.r=+z;return Pe}})();function de(C,k,T,M){var F,I,U,x,P;if(T==null?T=ee:m(T,0,8),!C.c)return C.toString();if(F=C.c[0],U=C.e,k==null)P=_(C.c),P=M==1||M==2&&(U<=ue||U>=fe)?b(P,U):S(P,U,"0");else if(C=xe(new W(C),k,T),I=C.e,P=_(C.c),x=P.length,M==1||M==2&&(k<=I||I<=ue)){for(;x<k;P+="0",x++);P=b(P,I)}else if(k-=U+(M===2&&I>U),P=S(P,I,"0"),I+1>x){if(--k>0)for(P+=".";k--;P+="0");}else if(k+=I-x,k>0)for(I+1==x&&(P+=".");k--;P+="0");return C.s<0&&F?"-"+P:P}function _e(C,k){for(var T,M,F=1,I=new W(C[0]);F<C.length;F++)M=new W(C[F]),(!M.s||(T=g(I,M))===k||T===0&&I.s===k)&&(I=M);return I}function It(C,k,T){for(var M=1,F=k.length;!k[--F];k.pop());for(F=k[0];F>=10;F/=10,M++);return(T=M+T*l-1)>se?C.c=C.e=null:T<Se?C.c=[C.e=0]:(C.e=T,C.c=k),C}J=(function(){var C=/^(-?)0([xbo])(?=\w[\w.]*$)/i,k=/^([^.]+)\.$/,T=/^\.([^.]+)$/,M=/^-?(Infinity|NaN)$/,F=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(I,U,x,P){var j,N=x?U:U.replace(F,"");if(M.test(N))I.s=isNaN(N)?null:N<0?-1:1;else{if(!x&&(N=N.replace(C,function(z,Z,te){return j=(te=te.toLowerCase())=="x"?16:te=="b"?2:8,!P||P==j?Z:z}),P&&(j=P,N=N.replace(k,"$1").replace(T,"0.$1")),U!=N))return new W(N,j);if(W.DEBUG)throw Error(s+"Not a"+(P?" base "+P:"")+" number: "+U);I.s=null}I.c=I.e=null}})();function xe(C,k,T,M){var F,I,U,x,P,j,N,z=C.c,Z=f;if(z){e:{for(F=1,x=z[0];x>=10;x/=10,F++);if(I=k-F,I<0)I+=l,U=k,P=z[j=0],N=o(P/Z[F-U-1]%10);else if(j=n((I+1)/l),j>=z.length)if(M){for(;z.length<=j;z.push(0));P=N=0,F=1,I%=l,U=I-l+1}else break e;else{for(P=x=z[j],F=1;x>=10;x/=10,F++);I%=l,U=I-l+F,N=U<0?0:o(P/Z[F-U-1]%10)}if(M=M||k<0||z[j+1]!=null||(U<0?P:P%Z[F-U-1]),M=T<4?(N||M)&&(T==0||T==(C.s<0?3:2)):N>5||N==5&&(T==4||M||T==6&&(I>0?U>0?P/Z[F-U]:0:z[j-1])%10&1||T==(C.s<0?8:7)),k<1||!z[0])return z.length=0,M?(k-=C.e+1,z[0]=Z[(l-k%l)%l],C.e=-k||0):z[0]=C.e=0,C;if(I==0?(z.length=j,x=1,j--):(z.length=j+1,x=Z[l-I],z[j]=U>0?o(P/Z[F-U]%Z[U])*x:0),M)for(;;)if(j==0){for(I=1,U=z[0];U>=10;U/=10,I++);for(U=z[0]+=x,x=1;U>=10;U/=10,x++);I!=x&&(C.e++,z[0]==c&&(z[0]=1));break}else{if(z[j]+=x,z[j]!=c)break;z[j--]=0,x=1}for(I=z.length;z[--I]===0;z.pop());}C.e>se?C.c=C.e=null:C.e<Se&&(C.c=[C.e=0])}return C}function je(C){var k,T=C.e;return T===null?C.toString():(k=_(C.c),k=T<=ue||T>=fe?b(k,T):S(k,T,"0"),C.s<0?"-"+k:k)}return B.absoluteValue=B.abs=function(){var C=new W(this);return C.s<0&&(C.s=1),C},B.comparedTo=function(C,k){return g(this,new W(C,k))},B.decimalPlaces=B.dp=function(C,k){var T,M,F,I=this;if(C!=null)return m(C,0,y),k==null?k=ee:m(k,0,8),xe(new W(I),C+I.e+1,k);if(!(T=I.c))return null;if(M=((F=T.length-1)-w(this.e/l))*l,F=T[F])for(;F%10==0;F/=10,M--);return M<0&&(M=0),M},B.dividedBy=B.div=function(C,k){return O(this,new W(C,k),re,ee)},B.dividedToIntegerBy=B.idiv=function(C,k){return O(this,new W(C,k),0,1)},B.exponentiatedBy=B.pow=function(C,k){var T,M,F,I,U,x,P,j,N,z=this;if(C=new W(C),C.c&&!C.isInteger())throw Error(s+"Exponent not an integer: "+je(C));if(k!=null&&(k=new W(k)),x=C.e>14,!z.c||!z.c[0]||z.c[0]==1&&!z.e&&z.c.length==1||!C.c||!C.c[0])return N=new W(Math.pow(+je(z),x?C.s*(2-v(C)):+je(C))),k?N.mod(k):N;if(P=C.s<0,k){if(k.c?!k.c[0]:!k.s)return new W(NaN);M=!P&&z.isInteger()&&k.isInteger(),M&&(z=z.mod(k))}else{if(C.e>9&&(z.e>0||z.e<-1||(z.e==0?z.c[0]>1||x&&z.c[1]>=24e7:z.c[0]<8e13||x&&z.c[0]<=9999975e7)))return I=z.s<0&&v(C)?-0:0,z.e>-1&&(I=1/I),new W(P?1/I:I);K&&(I=n(K/l+2))}for(x?(T=new W(.5),P&&(C.s=1),j=v(C)):(F=Math.abs(+je(C)),j=F%2),N=new W(Y);;){if(j){if(N=N.times(z),!N.c)break;I?N.c.length>I&&(N.c.length=I):M&&(N=N.mod(k))}if(F){if(F=o(F/2),F===0)break;j=F%2}else if(C=C.times(T),xe(C,C.e+1,1),C.e>14)j=v(C);else{if(F=+je(C),F===0)break;j=F%2}z=z.times(z),I?z.c&&z.c.length>I&&(z.c.length=I):M&&(z=z.mod(k))}return M?N:(P&&(N=Y.div(N)),k?N.mod(k):I?xe(N,K,ee,U):N)},B.integerValue=function(C){var k=new W(this);return C==null?C=ee:m(C,0,8),xe(k,k.e+1,C)},B.isEqualTo=B.eq=function(C,k){return g(this,new W(C,k))===0},B.isFinite=function(){return!!this.c},B.isGreaterThan=B.gt=function(C,k){return g(this,new W(C,k))>0},B.isGreaterThanOrEqualTo=B.gte=function(C,k){return(k=g(this,new W(C,k)))===1||k===0},B.isInteger=function(){return!!this.c&&w(this.e/l)>this.c.length-2},B.isLessThan=B.lt=function(C,k){return g(this,new W(C,k))<0},B.isLessThanOrEqualTo=B.lte=function(C,k){return(k=g(this,new W(C,k)))===-1||k===0},B.isNaN=function(){return!this.s},B.isNegative=function(){return this.s<0},B.isPositive=function(){return this.s>0},B.isZero=function(){return!!this.c&&this.c[0]==0},B.minus=function(C,k){var T,M,F,I,U=this,x=U.s;if(C=new W(C,k),k=C.s,!x||!k)return new W(NaN);if(x!=k)return C.s=-k,U.plus(C);var P=U.e/l,j=C.e/l,N=U.c,z=C.c;if(!P||!j){if(!N||!z)return N?(C.s=-k,C):new W(z?U:NaN);if(!N[0]||!z[0])return z[0]?(C.s=-k,C):new W(N[0]?U:ee==3?-0:0)}if(P=w(P),j=w(j),N=N.slice(),x=P-j){for((I=x<0)?(x=-x,F=N):(j=P,F=z),F.reverse(),k=x;k--;F.push(0));F.reverse()}else for(M=(I=(x=N.length)<(k=z.length))?x:k,x=k=0;k<M;k++)if(N[k]!=z[k]){I=N[k]<z[k];break}if(I&&(F=N,N=z,z=F,C.s=-C.s),k=(M=z.length)-(T=N.length),k>0)for(;k--;N[T++]=0);for(k=c-1;M>x;){if(N[--M]<z[M]){for(T=M;T&&!N[--T];N[T]=k);--N[T],N[M]+=c}N[M]-=z[M]}for(;N[0]==0;N.splice(0,1),--j);return N[0]?It(C,N,j):(C.s=ee==3?-1:1,C.c=[C.e=0],C)},B.modulo=B.mod=function(C,k){var T,M,F=this;return C=new W(C,k),!F.c||!C.s||C.c&&!C.c[0]?new W(NaN):!C.c||F.c&&!F.c[0]?new W(F):(G==9?(M=C.s,C.s=1,T=O(F,C,0,3),C.s=M,T.s*=M):T=O(F,C,0,G),C=F.minus(T.times(C)),!C.c[0]&&G==1&&(C.s=F.s),C)},B.multipliedBy=B.times=function(C,k){var T,M,F,I,U,x,P,j,N,z,Z,te,Ae,Pe,Ne,we=this,ke=we.c,Ue=(C=new W(C,k)).c;if(!ke||!Ue||!ke[0]||!Ue[0])return!we.s||!C.s||ke&&!ke[0]&&!Ue||Ue&&!Ue[0]&&!ke?C.c=C.e=C.s=null:(C.s*=we.s,!ke||!Ue?C.c=C.e=null:(C.c=[0],C.e=0)),C;for(M=w(we.e/l)+w(C.e/l),C.s*=we.s,P=ke.length,z=Ue.length,P<z&&(Ae=ke,ke=Ue,Ue=Ae,F=P,P=z,z=F),F=P+z,Ae=[];F--;Ae.push(0));for(Pe=c,Ne=p,F=z;--F>=0;){for(T=0,Z=Ue[F]%Ne,te=Ue[F]/Ne|0,U=P,I=F+U;I>F;)j=ke[--U]%Ne,N=ke[U]/Ne|0,x=te*j+N*Z,j=Z*j+x%Ne*Ne+Ae[I]+T,T=(j/Pe|0)+(x/Ne|0)+te*N,Ae[I--]=j%Pe;Ae[I]=T}return T?++M:Ae.splice(0,1),It(C,Ae,M)},B.negated=function(){var C=new W(this);return C.s=-C.s||null,C},B.plus=function(C,k){var T,M=this,F=M.s;if(C=new W(C,k),k=C.s,!F||!k)return new W(NaN);if(F!=k)return C.s=-k,M.minus(C);var I=M.e/l,U=C.e/l,x=M.c,P=C.c;if(!I||!U){if(!x||!P)return new W(F/0);if(!x[0]||!P[0])return P[0]?C:new W(x[0]?M:F*0)}if(I=w(I),U=w(U),x=x.slice(),F=I-U){for(F>0?(U=I,T=P):(F=-F,T=x),T.reverse();F--;T.push(0));T.reverse()}for(F=x.length,k=P.length,F-k<0&&(T=P,P=x,x=T,k=F),F=0;k;)F=(x[--k]=x[k]+P[k]+F)/c|0,x[k]=c===x[k]?0:x[k]%c;return F&&(x=[F].concat(x),++U),It(C,x,U)},B.precision=B.sd=function(C,k){var T,M,F,I=this;if(C!=null&&C!==!!C)return m(C,1,y),k==null?k=ee:m(k,0,8),xe(new W(I),C,k);if(!(T=I.c))return null;if(F=T.length-1,M=F*l+1,F=T[F]){for(;F%10==0;F/=10,M--);for(F=T[0];F>=10;F/=10,M++);}return C&&I.e+1>M&&(M=I.e+1),M},B.shiftedBy=function(C){return m(C,-d,d),this.times("1e"+C)},B.squareRoot=B.sqrt=function(){var C,k,T,M,F,I=this,U=I.c,x=I.s,P=I.e,j=re+4,N=new W("0.5");if(x!==1||!U||!U[0])return new W(!x||x<0&&(!U||U[0])?NaN:U?I:1/0);if(x=Math.sqrt(+je(I)),x==0||x==1/0?(k=_(U),(k.length+P)%2==0&&(k+="0"),x=Math.sqrt(+k),P=w((P+1)/2)-(P<0||P%2),x==1/0?k="5e"+P:(k=x.toExponential(),k=k.slice(0,k.indexOf("e")+1)+P),T=new W(k)):T=new W(x+""),T.c[0]){for(P=T.e,x=P+j,x<3&&(x=0);;)if(F=T,T=N.times(F.plus(O(I,F,j,1))),_(F.c).slice(0,x)===(k=_(T.c)).slice(0,x))if(T.e<P&&--x,k=k.slice(x-3,x+1),k=="9999"||!M&&k=="4999"){if(!M&&(xe(F,F.e+re+2,0),F.times(F).eq(I))){T=F;break}j+=4,x+=4,M=1}else{(!+k||!+k.slice(1)&&k.charAt(0)=="5")&&(xe(T,T.e+re+2,1),C=!T.times(T).eq(I));break}}return xe(T,T.e+re+1,ee,C)},B.toExponential=function(C,k){return C!=null&&(m(C,0,y),C++),de(this,C,k,1)},B.toFixed=function(C,k){return C!=null&&(m(C,0,y),C=C+this.e+1),de(this,C,k)},B.toFormat=function(C,k,T){var M,F=this;if(T==null)C!=null&&k&&typeof k=="object"?(T=k,k=null):C&&typeof C=="object"?(T=C,C=k=null):T=ce;else if(typeof T!="object")throw Error(s+"Argument not an object: "+T);if(M=F.toFixed(C,k),F.c){var I,U=M.split("."),x=+T.groupSize,P=+T.secondaryGroupSize,j=T.groupSeparator||"",N=U[0],z=U[1],Z=F.s<0,te=Z?N.slice(1):N,Ae=te.length;if(P&&(I=x,x=P,P=I,Ae-=I),x>0&&Ae>0){for(I=Ae%x||x,N=te.substr(0,I);I<Ae;I+=x)N+=j+te.substr(I,x);P>0&&(N+=j+te.slice(I)),Z&&(N="-"+N)}M=z?N+(T.decimalSeparator||"")+((P=+T.fractionGroupSize)?z.replace(new RegExp("\\d{"+P+"}\\B","g"),"$&"+(T.fractionGroupSeparator||"")):z):N}return(T.prefix||"")+M+(T.suffix||"")},B.toFraction=function(C){var k,T,M,F,I,U,x,P,j,N,z,Z,te=this,Ae=te.c;if(C!=null&&(x=new W(C),!x.isInteger()&&(x.c||x.s!==1)||x.lt(Y)))throw Error(s+"Argument "+(x.isInteger()?"out of range: ":"not an integer: ")+je(x));if(!Ae)return new W(te);for(k=new W(Y),j=T=new W(Y),M=P=new W(Y),Z=_(Ae),I=k.e=Z.length-te.e-1,k.c[0]=f[(U=I%l)<0?l+U:U],C=!C||x.comparedTo(k)>0?I>0?k:j:x,U=se,se=1/0,x=new W(Z),P.c[0]=0;N=O(x,k,0,1),F=T.plus(N.times(M)),F.comparedTo(C)!=1;)T=M,M=F,j=P.plus(N.times(F=j)),P=F,k=x.minus(N.times(F=k)),x=F;return F=O(C.minus(T),M,0,1),P=P.plus(F.times(j)),T=T.plus(F.times(M)),P.s=j.s=te.s,I=I*2,z=O(j,M,I,ee).minus(te).abs().comparedTo(O(P,T,I,ee).minus(te).abs())<1?[j,M]:[P,T],se=U,z},B.toNumber=function(){return+je(this)},B.toPrecision=function(C,k){return C!=null&&m(C,1,y),de(this,C,k,2)},B.toString=function(C){var k,T=this,M=T.s,F=T.e;return F===null?M?(k="Infinity",M<0&&(k="-"+k)):k="NaN":(C==null?k=F<=ue||F>=fe?b(_(T.c),F):S(_(T.c),F,"0"):C===10&&De?(T=xe(new W(T),re+F+1,ee),k=S(_(T.c),T.e,"0")):(m(C,2,qe.length,"Base"),k=q(S(_(T.c),F,"0"),10,C,M,!0)),M<0&&T.c[0]&&(k="-"+k)),k},B.valueOf=B.toJSON=function(){return je(this)},B._isBigNumber=!0,D!=null&&W.set(D),W}function w(D){var O=D|0;return D>0||D===O?O:O-1}function _(D){for(var O,q,J=1,B=D.length,Y=D[0]+"";J<B;){for(O=D[J++]+"",q=l-O.length;q--;O="0"+O);Y+=O}for(B=Y.length;Y.charCodeAt(--B)===48;);return Y.slice(0,B+1||1)}function g(D,O){var q,J,B=D.c,Y=O.c,re=D.s,ee=O.s,ue=D.e,fe=O.e;if(!re||!ee)return null;if(q=B&&!B[0],J=Y&&!Y[0],q||J)return q?J?0:-ee:re;if(re!=ee)return re;if(q=re<0,J=ue==fe,!B||!Y)return J?0:!B^q?1:-1;if(!J)return ue>fe^q?1:-1;for(ee=(ue=B.length)<(fe=Y.length)?ue:fe,re=0;re<ee;re++)if(B[re]!=Y[re])return B[re]>Y[re]^q?1:-1;return ue==fe?0:ue>fe^q?1:-1}function m(D,O,q,J){if(D<O||D>q||D!==o(D))throw Error(s+(J||"Argument")+(typeof D=="number"?D<O||D>q?" out of range: ":" not an integer: ":" not a primitive number: ")+String(D))}function v(D){var O=D.c.length-1;return w(D.e/l)==O&&D.c[O]%2!=0}function b(D,O){return(D.length>1?D.charAt(0)+"."+D.slice(1):D)+(O<0?"e":"e+")+O}function S(D,O,q){var J,B;if(O<0){for(B=q+".";++O;B+=q);D=B+D}else if(J=D.length,++O>J){for(B=q,O-=J;--O;B+=q);D+=B}else O<J&&(D=D.slice(0,O)+"."+D.slice(O));return D}e=A(),e.default=e.BigNumber=e,typeof define=="function"&&define.amd?define(function(){return e}):typeof Di<"u"&&Di.exports?Di.exports=e:(t||(t=typeof self<"u"&&self?self:window),t.BigNumber=e)})(Sm)});var Dm=V((dx,Tm)=>{var km=Cc(),vm=Tm.exports;(function(){"use strict";function t(d){return d<10?"0"+d:d}var e=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,r=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n,o,s={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},a;function c(d){return r.lastIndex=0,r.test(d)?'"'+d.replace(r,function(f){var p=s[f];return typeof p=="string"?p:"\\u"+("0000"+f.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+d+'"'}function l(d,f){var p,y,A,w,_=n,g,m=f[d],v=m!=null&&(m instanceof km||km.isBigNumber(m));switch(m&&typeof m=="object"&&typeof m.toJSON=="function"&&(m=m.toJSON(d)),typeof a=="function"&&(m=a.call(f,d,m)),typeof m){case"string":return v?m:c(m);case"number":return isFinite(m)?String(m):"null";case"boolean":case"null":case"bigint":return String(m);case"object":if(!m)return"null";if(n+=o,g=[],Object.prototype.toString.apply(m)==="[object Array]"){for(w=m.length,p=0;p<w;p+=1)g[p]=l(p,m)||"null";return A=g.length===0?"[]":n?`[
|
|
44
|
-
`+n+
|
|
43
|
+
`}yield n}static#s;static#i;static async#a(){return this.#s||=(await Promise.resolve().then(()=>jr(kp()))).HttpsProxyAgent,this.#s}static async#u(){let e=typeof window<"u"&&!!window;return this.#i||=e?window.fetch:(await Promise.resolve().then(()=>(bm(),_m))).default,this.#i}static mergeHeaders(e,...r){e=e instanceof Headers?e:new Headers(e);for(let n of r)(n instanceof Headers?n:new Headers(n)).forEach((s,a)=>{a==="set-cookie"?e.append(a,s):e.set(a,s)});return e}};Jn.Gaxios=Ti;Gn=Ti});var Ke=V(nt=>{"use strict";var jw=nt&&nt.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Lw=nt&&nt.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&jw(e,t,r)};Object.defineProperty(nt,"__esModule",{value:!0});nt.instance=nt.Gaxios=nt.GaxiosError=void 0;nt.request=$w;var Am=Em();Object.defineProperty(nt,"Gaxios",{enumerable:!0,get:function(){return Am.Gaxios}});var Uw=Ku();Object.defineProperty(nt,"GaxiosError",{enumerable:!0,get:function(){return Uw.GaxiosError}});Lw(Xu(),nt);nt.instance=new Am.Gaxios;async function $w(t){return nt.instance.request(t)}});var Cc=V((Sm,Di)=>{(function(t){"use strict";var e,r=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,n=Math.ceil,o=Math.floor,s="[BigNumber Error] ",a=s+"Number primitive has more than 15 significant digits: ",c=1e14,l=14,d=9007199254740991,f=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],p=1e7,g=1e9;function A(D){var O,q,J,B=W.prototype={constructor:W,toString:null,valueOf:null},Y=new W(1),re=20,ee=4,ue=-7,fe=21,Se=-1e7,se=1e7,me=!1,G=1,K=0,ce={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},qe="0123456789abcdefghijklmnopqrstuvwxyz",De=!0;function W(C,k){var T,M,F,I,U,x,P,j,N=this;if(!(N instanceof W))return new W(C,k);if(k==null){if(C&&C._isBigNumber===!0){N.s=C.s,!C.c||C.e>se?N.c=N.e=null:C.e<Se?N.c=[N.e=0]:(N.e=C.e,N.c=C.c.slice());return}if((x=typeof C=="number")&&C*0==0){if(N.s=1/C<0?(C=-C,-1):1,C===~~C){for(I=0,U=C;U>=10;U/=10,I++);I>se?N.c=N.e=null:(N.e=I,N.c=[C]);return}j=String(C)}else{if(!r.test(j=String(C)))return J(N,j,x);N.s=j.charCodeAt(0)==45?(j=j.slice(1),-1):1}(I=j.indexOf("."))>-1&&(j=j.replace(".","")),(U=j.search(/e/i))>0?(I<0&&(I=U),I+=+j.slice(U+1),j=j.substring(0,U)):I<0&&(I=j.length)}else{if(m(k,2,qe.length,"Base"),k==10&&De)return N=new W(C),xe(N,re+N.e+1,ee);if(j=String(C),x=typeof C=="number"){if(C*0!=0)return J(N,j,x,k);if(N.s=1/C<0?(j=j.slice(1),-1):1,W.DEBUG&&j.replace(/^0\.0*|\./,"").length>15)throw Error(a+C)}else N.s=j.charCodeAt(0)===45?(j=j.slice(1),-1):1;for(T=qe.slice(0,k),I=U=0,P=j.length;U<P;U++)if(T.indexOf(M=j.charAt(U))<0){if(M=="."){if(U>I){I=P;continue}}else if(!F&&(j==j.toUpperCase()&&(j=j.toLowerCase())||j==j.toLowerCase()&&(j=j.toUpperCase()))){F=!0,U=-1,I=0;continue}return J(N,String(C),x,k)}x=!1,j=q(j,k,10,N.s),(I=j.indexOf("."))>-1?j=j.replace(".",""):I=j.length}for(U=0;j.charCodeAt(U)===48;U++);for(P=j.length;j.charCodeAt(--P)===48;);if(j=j.slice(U,++P)){if(P-=U,x&&W.DEBUG&&P>15&&(C>d||C!==o(C)))throw Error(a+N.s*C);if((I=I-U-1)>se)N.c=N.e=null;else if(I<Se)N.c=[N.e=0];else{if(N.e=I,N.c=[],U=(I+1)%l,I<0&&(U+=l),U<P){for(U&&N.c.push(+j.slice(0,U)),P-=l;U<P;)N.c.push(+j.slice(U,U+=l));U=l-(j=j.slice(U)).length}else U-=P;for(;U--;j+="0");N.c.push(+j)}}else N.c=[N.e=0]}W.clone=A,W.ROUND_UP=0,W.ROUND_DOWN=1,W.ROUND_CEIL=2,W.ROUND_FLOOR=3,W.ROUND_HALF_UP=4,W.ROUND_HALF_DOWN=5,W.ROUND_HALF_EVEN=6,W.ROUND_HALF_CEIL=7,W.ROUND_HALF_FLOOR=8,W.EUCLID=9,W.config=W.set=function(C){var k,T;if(C!=null)if(typeof C=="object"){if(C.hasOwnProperty(k="DECIMAL_PLACES")&&(T=C[k],m(T,0,g,k),re=T),C.hasOwnProperty(k="ROUNDING_MODE")&&(T=C[k],m(T,0,8,k),ee=T),C.hasOwnProperty(k="EXPONENTIAL_AT")&&(T=C[k],T&&T.pop?(m(T[0],-g,0,k),m(T[1],0,g,k),ue=T[0],fe=T[1]):(m(T,-g,g,k),ue=-(fe=T<0?-T:T))),C.hasOwnProperty(k="RANGE"))if(T=C[k],T&&T.pop)m(T[0],-g,-1,k),m(T[1],1,g,k),Se=T[0],se=T[1];else if(m(T,-g,g,k),T)Se=-(se=T<0?-T:T);else throw Error(s+k+" cannot be zero: "+T);if(C.hasOwnProperty(k="CRYPTO"))if(T=C[k],T===!!T)if(T)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))me=T;else throw me=!T,Error(s+"crypto unavailable");else me=T;else throw Error(s+k+" not true or false: "+T);if(C.hasOwnProperty(k="MODULO_MODE")&&(T=C[k],m(T,0,9,k),G=T),C.hasOwnProperty(k="POW_PRECISION")&&(T=C[k],m(T,0,g,k),K=T),C.hasOwnProperty(k="FORMAT"))if(T=C[k],typeof T=="object")ce=T;else throw Error(s+k+" not an object: "+T);if(C.hasOwnProperty(k="ALPHABET"))if(T=C[k],typeof T=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(T))De=T.slice(0,10)=="0123456789",qe=T;else throw Error(s+k+" invalid: "+T)}else throw Error(s+"Object expected: "+C);return{DECIMAL_PLACES:re,ROUNDING_MODE:ee,EXPONENTIAL_AT:[ue,fe],RANGE:[Se,se],CRYPTO:me,MODULO_MODE:G,POW_PRECISION:K,FORMAT:ce,ALPHABET:qe}},W.isBigNumber=function(C){if(!C||C._isBigNumber!==!0)return!1;if(!W.DEBUG)return!0;var k,T,M=C.c,F=C.e,I=C.s;e:if({}.toString.call(M)=="[object Array]"){if((I===1||I===-1)&&F>=-g&&F<=g&&F===o(F)){if(M[0]===0){if(F===0&&M.length===1)return!0;break e}if(k=(F+1)%l,k<1&&(k+=l),String(M[0]).length==k){for(k=0;k<M.length;k++)if(T=M[k],T<0||T>=c||T!==o(T))break e;if(T!==0)return!0}}}else if(M===null&&F===null&&(I===null||I===1||I===-1))return!0;throw Error(s+"Invalid BigNumber: "+C)},W.maximum=W.max=function(){return _e(arguments,-1)},W.minimum=W.min=function(){return _e(arguments,1)},W.random=(function(){var C=9007199254740992,k=Math.random()*C&2097151?function(){return o(Math.random()*C)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(T){var M,F,I,U,x,P=0,j=[],N=new W(Y);if(T==null?T=re:m(T,0,g),U=n(T/l),me)if(crypto.getRandomValues){for(M=crypto.getRandomValues(new Uint32Array(U*=2));P<U;)x=M[P]*131072+(M[P+1]>>>11),x>=9e15?(F=crypto.getRandomValues(new Uint32Array(2)),M[P]=F[0],M[P+1]=F[1]):(j.push(x%1e14),P+=2);P=U/2}else if(crypto.randomBytes){for(M=crypto.randomBytes(U*=7);P<U;)x=(M[P]&31)*281474976710656+M[P+1]*1099511627776+M[P+2]*4294967296+M[P+3]*16777216+(M[P+4]<<16)+(M[P+5]<<8)+M[P+6],x>=9e15?crypto.randomBytes(7).copy(M,P):(j.push(x%1e14),P+=7);P=U/7}else throw me=!1,Error(s+"crypto unavailable");if(!me)for(;P<U;)x=k(),x<9e15&&(j[P++]=x%1e14);for(U=j[--P],T%=l,U&&T&&(x=f[l-T],j[P]=o(U/x)*x);j[P]===0;j.pop(),P--);if(P<0)j=[I=0];else{for(I=-1;j[0]===0;j.splice(0,1),I-=l);for(P=1,x=j[0];x>=10;x/=10,P++);P<l&&(I-=l-P)}return N.e=I,N.c=j,N}})(),W.sum=function(){for(var C=1,k=arguments,T=new W(k[0]);C<k.length;)T=T.plus(k[C++]);return T},q=(function(){var C="0123456789";function k(T,M,F,I){for(var U,x=[0],P,j=0,N=T.length;j<N;){for(P=x.length;P--;x[P]*=M);for(x[0]+=I.indexOf(T.charAt(j++)),U=0;U<x.length;U++)x[U]>F-1&&(x[U+1]==null&&(x[U+1]=0),x[U+1]+=x[U]/F|0,x[U]%=F)}return x.reverse()}return function(T,M,F,I,U){var x,P,j,N,z,Z,te,Ae,Pe=T.indexOf("."),Ne=re,we=ee;for(Pe>=0&&(N=K,K=0,T=T.replace(".",""),Ae=new W(M),Z=Ae.pow(T.length-Pe),K=N,Ae.c=k(S(_(Z.c),Z.e,"0"),10,F,C),Ae.e=Ae.c.length),te=k(T,M,F,U?(x=qe,C):(x=C,qe)),j=N=te.length;te[--N]==0;te.pop());if(!te[0])return x.charAt(0);if(Pe<0?--j:(Z.c=te,Z.e=j,Z.s=I,Z=O(Z,Ae,Ne,we,F),te=Z.c,z=Z.r,j=Z.e),P=j+Ne+1,Pe=te[P],N=F/2,z=z||P<0||te[P+1]!=null,z=we<4?(Pe!=null||z)&&(we==0||we==(Z.s<0?3:2)):Pe>N||Pe==N&&(we==4||z||we==6&&te[P-1]&1||we==(Z.s<0?8:7)),P<1||!te[0])T=z?S(x.charAt(1),-Ne,x.charAt(0)):x.charAt(0);else{if(te.length=P,z)for(--F;++te[--P]>F;)te[P]=0,P||(++j,te=[1].concat(te));for(N=te.length;!te[--N];);for(Pe=0,T="";Pe<=N;T+=x.charAt(te[Pe++]));T=S(T,j,x.charAt(0))}return T}})(),O=(function(){function C(M,F,I){var U,x,P,j,N=0,z=M.length,Z=F%p,te=F/p|0;for(M=M.slice();z--;)P=M[z]%p,j=M[z]/p|0,U=te*P+j*Z,x=Z*P+U%p*p+N,N=(x/I|0)+(U/p|0)+te*j,M[z]=x%I;return N&&(M=[N].concat(M)),M}function k(M,F,I,U){var x,P;if(I!=U)P=I>U?1:-1;else for(x=P=0;x<I;x++)if(M[x]!=F[x]){P=M[x]>F[x]?1:-1;break}return P}function T(M,F,I,U){for(var x=0;I--;)M[I]-=x,x=M[I]<F[I]?1:0,M[I]=x*U+M[I]-F[I];for(;!M[0]&&M.length>1;M.splice(0,1));}return function(M,F,I,U,x){var P,j,N,z,Z,te,Ae,Pe,Ne,we,ke,Ue,bn,Cn,wn,dt,lr,Ye=M.s==F.s?1:-1,$e=M.c,ve=F.c;if(!$e||!$e[0]||!ve||!ve[0])return new W(!M.s||!F.s||($e?ve&&$e[0]==ve[0]:!ve)?NaN:$e&&$e[0]==0||!ve?Ye*0:Ye/0);for(Pe=new W(Ye),Ne=Pe.c=[],j=M.e-F.e,Ye=I+j+1,x||(x=c,j=w(M.e/l)-w(F.e/l),Ye=Ye/l|0),N=0;ve[N]==($e[N]||0);N++);if(ve[N]>($e[N]||0)&&j--,Ye<0)Ne.push(1),z=!0;else{for(Cn=$e.length,dt=ve.length,N=0,Ye+=2,Z=o(x/(ve[0]+1)),Z>1&&(ve=C(ve,Z,x),$e=C($e,Z,x),dt=ve.length,Cn=$e.length),bn=dt,we=$e.slice(0,dt),ke=we.length;ke<dt;we[ke++]=0);lr=ve.slice(),lr=[0].concat(lr),wn=ve[0],ve[1]>=x/2&&wn++;do{if(Z=0,P=k(ve,we,dt,ke),P<0){if(Ue=we[0],dt!=ke&&(Ue=Ue*x+(we[1]||0)),Z=o(Ue/wn),Z>1)for(Z>=x&&(Z=x-1),te=C(ve,Z,x),Ae=te.length,ke=we.length;k(te,we,Ae,ke)==1;)Z--,T(te,dt<Ae?lr:ve,Ae,x),Ae=te.length,P=1;else Z==0&&(P=Z=1),te=ve.slice(),Ae=te.length;if(Ae<ke&&(te=[0].concat(te)),T(we,te,ke,x),ke=we.length,P==-1)for(;k(ve,we,dt,ke)<1;)Z++,T(we,dt<ke?lr:ve,ke,x),ke=we.length}else P===0&&(Z++,we=[0]);Ne[N++]=Z,we[0]?we[ke++]=$e[bn]||0:(we=[$e[bn]],ke=1)}while((bn++<Cn||we[0]!=null)&&Ye--);z=we[0]!=null,Ne[0]||Ne.splice(0,1)}if(x==c){for(N=1,Ye=Ne[0];Ye>=10;Ye/=10,N++);xe(Pe,I+(Pe.e=N+j*l-1)+1,U,z)}else Pe.e=j,Pe.r=+z;return Pe}})();function de(C,k,T,M){var F,I,U,x,P;if(T==null?T=ee:m(T,0,8),!C.c)return C.toString();if(F=C.c[0],U=C.e,k==null)P=_(C.c),P=M==1||M==2&&(U<=ue||U>=fe)?b(P,U):S(P,U,"0");else if(C=xe(new W(C),k,T),I=C.e,P=_(C.c),x=P.length,M==1||M==2&&(k<=I||I<=ue)){for(;x<k;P+="0",x++);P=b(P,I)}else if(k-=U+(M===2&&I>U),P=S(P,I,"0"),I+1>x){if(--k>0)for(P+=".";k--;P+="0");}else if(k+=I-x,k>0)for(I+1==x&&(P+=".");k--;P+="0");return C.s<0&&F?"-"+P:P}function _e(C,k){for(var T,M,F=1,I=new W(C[0]);F<C.length;F++)M=new W(C[F]),(!M.s||(T=y(I,M))===k||T===0&&I.s===k)&&(I=M);return I}function It(C,k,T){for(var M=1,F=k.length;!k[--F];k.pop());for(F=k[0];F>=10;F/=10,M++);return(T=M+T*l-1)>se?C.c=C.e=null:T<Se?C.c=[C.e=0]:(C.e=T,C.c=k),C}J=(function(){var C=/^(-?)0([xbo])(?=\w[\w.]*$)/i,k=/^([^.]+)\.$/,T=/^\.([^.]+)$/,M=/^-?(Infinity|NaN)$/,F=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(I,U,x,P){var j,N=x?U:U.replace(F,"");if(M.test(N))I.s=isNaN(N)?null:N<0?-1:1;else{if(!x&&(N=N.replace(C,function(z,Z,te){return j=(te=te.toLowerCase())=="x"?16:te=="b"?2:8,!P||P==j?Z:z}),P&&(j=P,N=N.replace(k,"$1").replace(T,"0.$1")),U!=N))return new W(N,j);if(W.DEBUG)throw Error(s+"Not a"+(P?" base "+P:"")+" number: "+U);I.s=null}I.c=I.e=null}})();function xe(C,k,T,M){var F,I,U,x,P,j,N,z=C.c,Z=f;if(z){e:{for(F=1,x=z[0];x>=10;x/=10,F++);if(I=k-F,I<0)I+=l,U=k,P=z[j=0],N=o(P/Z[F-U-1]%10);else if(j=n((I+1)/l),j>=z.length)if(M){for(;z.length<=j;z.push(0));P=N=0,F=1,I%=l,U=I-l+1}else break e;else{for(P=x=z[j],F=1;x>=10;x/=10,F++);I%=l,U=I-l+F,N=U<0?0:o(P/Z[F-U-1]%10)}if(M=M||k<0||z[j+1]!=null||(U<0?P:P%Z[F-U-1]),M=T<4?(N||M)&&(T==0||T==(C.s<0?3:2)):N>5||N==5&&(T==4||M||T==6&&(I>0?U>0?P/Z[F-U]:0:z[j-1])%10&1||T==(C.s<0?8:7)),k<1||!z[0])return z.length=0,M?(k-=C.e+1,z[0]=Z[(l-k%l)%l],C.e=-k||0):z[0]=C.e=0,C;if(I==0?(z.length=j,x=1,j--):(z.length=j+1,x=Z[l-I],z[j]=U>0?o(P/Z[F-U]%Z[U])*x:0),M)for(;;)if(j==0){for(I=1,U=z[0];U>=10;U/=10,I++);for(U=z[0]+=x,x=1;U>=10;U/=10,x++);I!=x&&(C.e++,z[0]==c&&(z[0]=1));break}else{if(z[j]+=x,z[j]!=c)break;z[j--]=0,x=1}for(I=z.length;z[--I]===0;z.pop());}C.e>se?C.c=C.e=null:C.e<Se&&(C.c=[C.e=0])}return C}function je(C){var k,T=C.e;return T===null?C.toString():(k=_(C.c),k=T<=ue||T>=fe?b(k,T):S(k,T,"0"),C.s<0?"-"+k:k)}return B.absoluteValue=B.abs=function(){var C=new W(this);return C.s<0&&(C.s=1),C},B.comparedTo=function(C,k){return y(this,new W(C,k))},B.decimalPlaces=B.dp=function(C,k){var T,M,F,I=this;if(C!=null)return m(C,0,g),k==null?k=ee:m(k,0,8),xe(new W(I),C+I.e+1,k);if(!(T=I.c))return null;if(M=((F=T.length-1)-w(this.e/l))*l,F=T[F])for(;F%10==0;F/=10,M--);return M<0&&(M=0),M},B.dividedBy=B.div=function(C,k){return O(this,new W(C,k),re,ee)},B.dividedToIntegerBy=B.idiv=function(C,k){return O(this,new W(C,k),0,1)},B.exponentiatedBy=B.pow=function(C,k){var T,M,F,I,U,x,P,j,N,z=this;if(C=new W(C),C.c&&!C.isInteger())throw Error(s+"Exponent not an integer: "+je(C));if(k!=null&&(k=new W(k)),x=C.e>14,!z.c||!z.c[0]||z.c[0]==1&&!z.e&&z.c.length==1||!C.c||!C.c[0])return N=new W(Math.pow(+je(z),x?C.s*(2-v(C)):+je(C))),k?N.mod(k):N;if(P=C.s<0,k){if(k.c?!k.c[0]:!k.s)return new W(NaN);M=!P&&z.isInteger()&&k.isInteger(),M&&(z=z.mod(k))}else{if(C.e>9&&(z.e>0||z.e<-1||(z.e==0?z.c[0]>1||x&&z.c[1]>=24e7:z.c[0]<8e13||x&&z.c[0]<=9999975e7)))return I=z.s<0&&v(C)?-0:0,z.e>-1&&(I=1/I),new W(P?1/I:I);K&&(I=n(K/l+2))}for(x?(T=new W(.5),P&&(C.s=1),j=v(C)):(F=Math.abs(+je(C)),j=F%2),N=new W(Y);;){if(j){if(N=N.times(z),!N.c)break;I?N.c.length>I&&(N.c.length=I):M&&(N=N.mod(k))}if(F){if(F=o(F/2),F===0)break;j=F%2}else if(C=C.times(T),xe(C,C.e+1,1),C.e>14)j=v(C);else{if(F=+je(C),F===0)break;j=F%2}z=z.times(z),I?z.c&&z.c.length>I&&(z.c.length=I):M&&(z=z.mod(k))}return M?N:(P&&(N=Y.div(N)),k?N.mod(k):I?xe(N,K,ee,U):N)},B.integerValue=function(C){var k=new W(this);return C==null?C=ee:m(C,0,8),xe(k,k.e+1,C)},B.isEqualTo=B.eq=function(C,k){return y(this,new W(C,k))===0},B.isFinite=function(){return!!this.c},B.isGreaterThan=B.gt=function(C,k){return y(this,new W(C,k))>0},B.isGreaterThanOrEqualTo=B.gte=function(C,k){return(k=y(this,new W(C,k)))===1||k===0},B.isInteger=function(){return!!this.c&&w(this.e/l)>this.c.length-2},B.isLessThan=B.lt=function(C,k){return y(this,new W(C,k))<0},B.isLessThanOrEqualTo=B.lte=function(C,k){return(k=y(this,new W(C,k)))===-1||k===0},B.isNaN=function(){return!this.s},B.isNegative=function(){return this.s<0},B.isPositive=function(){return this.s>0},B.isZero=function(){return!!this.c&&this.c[0]==0},B.minus=function(C,k){var T,M,F,I,U=this,x=U.s;if(C=new W(C,k),k=C.s,!x||!k)return new W(NaN);if(x!=k)return C.s=-k,U.plus(C);var P=U.e/l,j=C.e/l,N=U.c,z=C.c;if(!P||!j){if(!N||!z)return N?(C.s=-k,C):new W(z?U:NaN);if(!N[0]||!z[0])return z[0]?(C.s=-k,C):new W(N[0]?U:ee==3?-0:0)}if(P=w(P),j=w(j),N=N.slice(),x=P-j){for((I=x<0)?(x=-x,F=N):(j=P,F=z),F.reverse(),k=x;k--;F.push(0));F.reverse()}else for(M=(I=(x=N.length)<(k=z.length))?x:k,x=k=0;k<M;k++)if(N[k]!=z[k]){I=N[k]<z[k];break}if(I&&(F=N,N=z,z=F,C.s=-C.s),k=(M=z.length)-(T=N.length),k>0)for(;k--;N[T++]=0);for(k=c-1;M>x;){if(N[--M]<z[M]){for(T=M;T&&!N[--T];N[T]=k);--N[T],N[M]+=c}N[M]-=z[M]}for(;N[0]==0;N.splice(0,1),--j);return N[0]?It(C,N,j):(C.s=ee==3?-1:1,C.c=[C.e=0],C)},B.modulo=B.mod=function(C,k){var T,M,F=this;return C=new W(C,k),!F.c||!C.s||C.c&&!C.c[0]?new W(NaN):!C.c||F.c&&!F.c[0]?new W(F):(G==9?(M=C.s,C.s=1,T=O(F,C,0,3),C.s=M,T.s*=M):T=O(F,C,0,G),C=F.minus(T.times(C)),!C.c[0]&&G==1&&(C.s=F.s),C)},B.multipliedBy=B.times=function(C,k){var T,M,F,I,U,x,P,j,N,z,Z,te,Ae,Pe,Ne,we=this,ke=we.c,Ue=(C=new W(C,k)).c;if(!ke||!Ue||!ke[0]||!Ue[0])return!we.s||!C.s||ke&&!ke[0]&&!Ue||Ue&&!Ue[0]&&!ke?C.c=C.e=C.s=null:(C.s*=we.s,!ke||!Ue?C.c=C.e=null:(C.c=[0],C.e=0)),C;for(M=w(we.e/l)+w(C.e/l),C.s*=we.s,P=ke.length,z=Ue.length,P<z&&(Ae=ke,ke=Ue,Ue=Ae,F=P,P=z,z=F),F=P+z,Ae=[];F--;Ae.push(0));for(Pe=c,Ne=p,F=z;--F>=0;){for(T=0,Z=Ue[F]%Ne,te=Ue[F]/Ne|0,U=P,I=F+U;I>F;)j=ke[--U]%Ne,N=ke[U]/Ne|0,x=te*j+N*Z,j=Z*j+x%Ne*Ne+Ae[I]+T,T=(j/Pe|0)+(x/Ne|0)+te*N,Ae[I--]=j%Pe;Ae[I]=T}return T?++M:Ae.splice(0,1),It(C,Ae,M)},B.negated=function(){var C=new W(this);return C.s=-C.s||null,C},B.plus=function(C,k){var T,M=this,F=M.s;if(C=new W(C,k),k=C.s,!F||!k)return new W(NaN);if(F!=k)return C.s=-k,M.minus(C);var I=M.e/l,U=C.e/l,x=M.c,P=C.c;if(!I||!U){if(!x||!P)return new W(F/0);if(!x[0]||!P[0])return P[0]?C:new W(x[0]?M:F*0)}if(I=w(I),U=w(U),x=x.slice(),F=I-U){for(F>0?(U=I,T=P):(F=-F,T=x),T.reverse();F--;T.push(0));T.reverse()}for(F=x.length,k=P.length,F-k<0&&(T=P,P=x,x=T,k=F),F=0;k;)F=(x[--k]=x[k]+P[k]+F)/c|0,x[k]=c===x[k]?0:x[k]%c;return F&&(x=[F].concat(x),++U),It(C,x,U)},B.precision=B.sd=function(C,k){var T,M,F,I=this;if(C!=null&&C!==!!C)return m(C,1,g),k==null?k=ee:m(k,0,8),xe(new W(I),C,k);if(!(T=I.c))return null;if(F=T.length-1,M=F*l+1,F=T[F]){for(;F%10==0;F/=10,M--);for(F=T[0];F>=10;F/=10,M++);}return C&&I.e+1>M&&(M=I.e+1),M},B.shiftedBy=function(C){return m(C,-d,d),this.times("1e"+C)},B.squareRoot=B.sqrt=function(){var C,k,T,M,F,I=this,U=I.c,x=I.s,P=I.e,j=re+4,N=new W("0.5");if(x!==1||!U||!U[0])return new W(!x||x<0&&(!U||U[0])?NaN:U?I:1/0);if(x=Math.sqrt(+je(I)),x==0||x==1/0?(k=_(U),(k.length+P)%2==0&&(k+="0"),x=Math.sqrt(+k),P=w((P+1)/2)-(P<0||P%2),x==1/0?k="5e"+P:(k=x.toExponential(),k=k.slice(0,k.indexOf("e")+1)+P),T=new W(k)):T=new W(x+""),T.c[0]){for(P=T.e,x=P+j,x<3&&(x=0);;)if(F=T,T=N.times(F.plus(O(I,F,j,1))),_(F.c).slice(0,x)===(k=_(T.c)).slice(0,x))if(T.e<P&&--x,k=k.slice(x-3,x+1),k=="9999"||!M&&k=="4999"){if(!M&&(xe(F,F.e+re+2,0),F.times(F).eq(I))){T=F;break}j+=4,x+=4,M=1}else{(!+k||!+k.slice(1)&&k.charAt(0)=="5")&&(xe(T,T.e+re+2,1),C=!T.times(T).eq(I));break}}return xe(T,T.e+re+1,ee,C)},B.toExponential=function(C,k){return C!=null&&(m(C,0,g),C++),de(this,C,k,1)},B.toFixed=function(C,k){return C!=null&&(m(C,0,g),C=C+this.e+1),de(this,C,k)},B.toFormat=function(C,k,T){var M,F=this;if(T==null)C!=null&&k&&typeof k=="object"?(T=k,k=null):C&&typeof C=="object"?(T=C,C=k=null):T=ce;else if(typeof T!="object")throw Error(s+"Argument not an object: "+T);if(M=F.toFixed(C,k),F.c){var I,U=M.split("."),x=+T.groupSize,P=+T.secondaryGroupSize,j=T.groupSeparator||"",N=U[0],z=U[1],Z=F.s<0,te=Z?N.slice(1):N,Ae=te.length;if(P&&(I=x,x=P,P=I,Ae-=I),x>0&&Ae>0){for(I=Ae%x||x,N=te.substr(0,I);I<Ae;I+=x)N+=j+te.substr(I,x);P>0&&(N+=j+te.slice(I)),Z&&(N="-"+N)}M=z?N+(T.decimalSeparator||"")+((P=+T.fractionGroupSize)?z.replace(new RegExp("\\d{"+P+"}\\B","g"),"$&"+(T.fractionGroupSeparator||"")):z):N}return(T.prefix||"")+M+(T.suffix||"")},B.toFraction=function(C){var k,T,M,F,I,U,x,P,j,N,z,Z,te=this,Ae=te.c;if(C!=null&&(x=new W(C),!x.isInteger()&&(x.c||x.s!==1)||x.lt(Y)))throw Error(s+"Argument "+(x.isInteger()?"out of range: ":"not an integer: ")+je(x));if(!Ae)return new W(te);for(k=new W(Y),j=T=new W(Y),M=P=new W(Y),Z=_(Ae),I=k.e=Z.length-te.e-1,k.c[0]=f[(U=I%l)<0?l+U:U],C=!C||x.comparedTo(k)>0?I>0?k:j:x,U=se,se=1/0,x=new W(Z),P.c[0]=0;N=O(x,k,0,1),F=T.plus(N.times(M)),F.comparedTo(C)!=1;)T=M,M=F,j=P.plus(N.times(F=j)),P=F,k=x.minus(N.times(F=k)),x=F;return F=O(C.minus(T),M,0,1),P=P.plus(F.times(j)),T=T.plus(F.times(M)),P.s=j.s=te.s,I=I*2,z=O(j,M,I,ee).minus(te).abs().comparedTo(O(P,T,I,ee).minus(te).abs())<1?[j,M]:[P,T],se=U,z},B.toNumber=function(){return+je(this)},B.toPrecision=function(C,k){return C!=null&&m(C,1,g),de(this,C,k,2)},B.toString=function(C){var k,T=this,M=T.s,F=T.e;return F===null?M?(k="Infinity",M<0&&(k="-"+k)):k="NaN":(C==null?k=F<=ue||F>=fe?b(_(T.c),F):S(_(T.c),F,"0"):C===10&&De?(T=xe(new W(T),re+F+1,ee),k=S(_(T.c),T.e,"0")):(m(C,2,qe.length,"Base"),k=q(S(_(T.c),F,"0"),10,C,M,!0)),M<0&&T.c[0]&&(k="-"+k)),k},B.valueOf=B.toJSON=function(){return je(this)},B._isBigNumber=!0,D!=null&&W.set(D),W}function w(D){var O=D|0;return D>0||D===O?O:O-1}function _(D){for(var O,q,J=1,B=D.length,Y=D[0]+"";J<B;){for(O=D[J++]+"",q=l-O.length;q--;O="0"+O);Y+=O}for(B=Y.length;Y.charCodeAt(--B)===48;);return Y.slice(0,B+1||1)}function y(D,O){var q,J,B=D.c,Y=O.c,re=D.s,ee=O.s,ue=D.e,fe=O.e;if(!re||!ee)return null;if(q=B&&!B[0],J=Y&&!Y[0],q||J)return q?J?0:-ee:re;if(re!=ee)return re;if(q=re<0,J=ue==fe,!B||!Y)return J?0:!B^q?1:-1;if(!J)return ue>fe^q?1:-1;for(ee=(ue=B.length)<(fe=Y.length)?ue:fe,re=0;re<ee;re++)if(B[re]!=Y[re])return B[re]>Y[re]^q?1:-1;return ue==fe?0:ue>fe^q?1:-1}function m(D,O,q,J){if(D<O||D>q||D!==o(D))throw Error(s+(J||"Argument")+(typeof D=="number"?D<O||D>q?" out of range: ":" not an integer: ":" not a primitive number: ")+String(D))}function v(D){var O=D.c.length-1;return w(D.e/l)==O&&D.c[O]%2!=0}function b(D,O){return(D.length>1?D.charAt(0)+"."+D.slice(1):D)+(O<0?"e":"e+")+O}function S(D,O,q){var J,B;if(O<0){for(B=q+".";++O;B+=q);D=B+D}else if(J=D.length,++O>J){for(B=q,O-=J;--O;B+=q);D+=B}else O<J&&(D=D.slice(0,O)+"."+D.slice(O));return D}e=A(),e.default=e.BigNumber=e,typeof define=="function"&&define.amd?define(function(){return e}):typeof Di<"u"&&Di.exports?Di.exports=e:(t||(t=typeof self<"u"&&self?self:window),t.BigNumber=e)})(Sm)});var Dm=V((dx,Tm)=>{var km=Cc(),vm=Tm.exports;(function(){"use strict";function t(d){return d<10?"0"+d:d}var e=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,r=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n,o,s={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},a;function c(d){return r.lastIndex=0,r.test(d)?'"'+d.replace(r,function(f){var p=s[f];return typeof p=="string"?p:"\\u"+("0000"+f.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+d+'"'}function l(d,f){var p,g,A,w,_=n,y,m=f[d],v=m!=null&&(m instanceof km||km.isBigNumber(m));switch(m&&typeof m=="object"&&typeof m.toJSON=="function"&&(m=m.toJSON(d)),typeof a=="function"&&(m=a.call(f,d,m)),typeof m){case"string":return v?m:c(m);case"number":return isFinite(m)?String(m):"null";case"boolean":case"null":case"bigint":return String(m);case"object":if(!m)return"null";if(n+=o,y=[],Object.prototype.toString.apply(m)==="[object Array]"){for(w=m.length,p=0;p<w;p+=1)y[p]=l(p,m)||"null";return A=y.length===0?"[]":n?`[
|
|
44
|
+
`+n+y.join(`,
|
|
45
45
|
`+n)+`
|
|
46
|
-
`+_+"]":"["+
|
|
47
|
-
`+n+
|
|
46
|
+
`+_+"]":"["+y.join(",")+"]",n=_,A}if(a&&typeof a=="object")for(w=a.length,p=0;p<w;p+=1)typeof a[p]=="string"&&(g=a[p],A=l(g,m),A&&y.push(c(g)+(n?": ":":")+A));else Object.keys(m).forEach(function(b){var S=l(b,m);S&&y.push(c(b)+(n?": ":":")+S)});return A=y.length===0?"{}":n?`{
|
|
47
|
+
`+n+y.join(`,
|
|
48
48
|
`+n)+`
|
|
49
|
-
`+_+"}":"{"+
|
|
50
|
-
`,r:"\r",t:" "},s,a=function(_){throw{name:"SyntaxError",message:_,at:r,text:s}},c=function(_){return _&&_!==n&&a("Expected '"+_+"' instead of '"+n+"'"),n=s.charAt(r),r+=1,n},l=function(){var _,g="";for(n==="-"&&(g="-",c("-"));n>="0"&&n<="9";)g+=n,c();if(n===".")for(g+=".";c()&&n>="0"&&n<="9";)g+=n;if(n==="e"||n==="E")for(g+=n,c(),(n==="-"||n==="+")&&(g+=n,c());n>="0"&&n<="9";)g+=n,c();if(_=+g,!isFinite(_))a("Bad number");else return Ri==null&&(Ri=Cc()),g.length>15?e.storeAsString?g:e.useNativeBigInt?BigInt(g):new Ri(g):e.alwaysParseAsBig?e.useNativeBigInt?BigInt(_):new Ri(_):_},d=function(){var _,g,m="",v;if(n==='"')for(var b=r;c();){if(n==='"')return r-1>b&&(m+=s.substring(b,r-1)),c(),m;if(n==="\\"){if(r-1>b&&(m+=s.substring(b,r-1)),c(),n==="u"){for(v=0,g=0;g<4&&(_=parseInt(c(),16),!!isFinite(_));g+=1)v=v*16+_;m+=String.fromCharCode(v)}else if(typeof o[n]=="string")m+=o[n];else break;b=r}}a("Bad string")},f=function(){for(;n&&n<=" ";)c()},p=function(){switch(n){case"t":return c("t"),c("r"),c("u"),c("e"),!0;case"f":return c("f"),c("a"),c("l"),c("s"),c("e"),!1;case"n":return c("n"),c("u"),c("l"),c("l"),null}a("Unexpected '"+n+"'")},y,A=function(){var _=[];if(n==="["){if(c("["),f(),n==="]")return c("]"),_;for(;n;){if(_.push(y()),f(),n==="]")return c("]"),_;c(","),f()}}a("Bad array")},w=function(){var _,g=Object.create(null);if(n==="{"){if(c("{"),f(),n==="}")return c("}"),g;for(;n;){if(_=d(),f(),c(":"),e.strict===!0&&Object.hasOwnProperty.call(g,_)&&a('Duplicate key "'+_+'"'),qw.test(_)===!0?e.protoAction==="error"?a("Object contains forbidden prototype property"):e.protoAction==="ignore"?y():g[_]=y():zw.test(_)===!0?e.constructorAction==="error"?a("Object contains forbidden constructor property"):e.constructorAction==="ignore"?y():g[_]=y():g[_]=y(),f(),n==="}")return c("}"),g;c(","),f()}}a("Bad object")};return y=function(){switch(f(),n){case"{":return w();case"[":return A();case'"':return d();case"-":return l();default:return n>="0"&&n<="9"?l():p()}},function(_,g){var m;return s=_+"",r=0,n=" ",m=y(),f(),n&&a("Syntax error"),typeof g=="function"?(function v(b,S){var D,O,q=b[S];return q&&typeof q=="object"&&Object.keys(q).forEach(function(J){O=v(q,J),O!==void 0?q[J]=O:delete q[J]}),g.call(b,S,q)})({"":m},""):m}};Rm.exports=Hw});var Pm=V((hx,xi)=>{var Om=Dm().stringify,Fm=xm();xi.exports=function(t){return{parse:Fm(t),stringify:Om}};xi.exports.parse=Fm();xi.exports.stringify=Om});var wc=V($t=>{"use strict";Object.defineProperty($t,"__esModule",{value:!0});$t.GCE_LINUX_BIOS_PATHS=void 0;$t.isGoogleCloudServerless=Nm;$t.isGoogleComputeEngineLinux=Mm;$t.isGoogleComputeEngineMACAddress=jm;$t.isGoogleComputeEngine=Lm;$t.detectGCPResidency=Gw;var Im=X("fs"),Bm=X("os");$t.GCE_LINUX_BIOS_PATHS={BIOS_DATE:"/sys/class/dmi/id/bios_date",BIOS_VENDOR:"/sys/class/dmi/id/bios_vendor"};var Ww=/^42:01/;function Nm(){return!!(process.env.CLOUD_RUN_JOB||process.env.FUNCTION_NAME||process.env.K_SERVICE)}function Mm(){if((0,Bm.platform)()!=="linux")return!1;try{(0,Im.statSync)($t.GCE_LINUX_BIOS_PATHS.BIOS_DATE);let t=(0,Im.readFileSync)($t.GCE_LINUX_BIOS_PATHS.BIOS_VENDOR,"utf8");return/Google/.test(t)}catch{return!1}}function jm(){let t=(0,Bm.networkInterfaces)();for(let e of Object.values(t))if(e){for(let{mac:r}of e)if(Ww.test(r))return!0}return!1}function Lm(){return Mm()||jm()}function Gw(){return Nm()||Lm()}});var Um=V(Oi=>{"use strict";Object.defineProperty(Oi,"__esModule",{value:!0});Oi.Colours=void 0;var Xe=class t{static isEnabled(e){return e&&e.isTTY&&(typeof e.getColorDepth=="function"?e.getColorDepth()>2:!0)}static refresh(){t.enabled=t.isEnabled(process==null?void 0:process.stderr),this.enabled?(t.reset="\x1B[0m",t.bright="\x1B[1m",t.dim="\x1B[2m",t.red="\x1B[31m",t.green="\x1B[32m",t.yellow="\x1B[33m",t.blue="\x1B[34m",t.magenta="\x1B[35m",t.cyan="\x1B[36m",t.white="\x1B[37m",t.grey="\x1B[90m"):(t.reset="",t.bright="",t.dim="",t.red="",t.green="",t.yellow="",t.blue="",t.magenta="",t.cyan="",t.white="",t.grey="")}};Oi.Colours=Xe;Xe.enabled=!1;Xe.reset="";Xe.bright="";Xe.dim="";Xe.red="";Xe.green="";Xe.yellow="";Xe.blue="";Xe.magenta="";Xe.cyan="";Xe.white="";Xe.grey="";Xe.refresh()});var Hm=V(Te=>{"use strict";var Jw=Te&&Te.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Vw=Te&&Te.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),$m=Te&&Te.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&Jw(r,e,n[o]);return Vw(r,e),r}})();Object.defineProperty(Te,"__esModule",{value:!0});Te.env=Te.DebugLogBackendBase=Te.placeholder=Te.AdhocDebugLogger=Te.LogSeverity=void 0;Te.getNodeBackend=Ac;Te.getDebugBackend=Yw;Te.getStructuredBackend=Qw;Te.setBackend=Xw;Te.log=zm;var Kw=X("events"),Lo=$m(X("process")),qm=$m(X("util")),mt=Um(),qt;(function(t){t.DEFAULT="DEFAULT",t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR"})(qt||(Te.LogSeverity=qt={}));var Uo=class extends Kw.EventEmitter{constructor(e,r){super(),this.namespace=e,this.upstream=r,this.func=Object.assign(this.invoke.bind(this),{instance:this,on:(n,o)=>this.on(n,o)}),this.func.debug=(...n)=>this.invokeSeverity(qt.DEBUG,...n),this.func.info=(...n)=>this.invokeSeverity(qt.INFO,...n),this.func.warn=(...n)=>this.invokeSeverity(qt.WARNING,...n),this.func.error=(...n)=>this.invokeSeverity(qt.ERROR,...n),this.func.sublog=n=>zm(n,this.func)}invoke(e,...r){if(this.upstream)try{this.upstream(e,...r)}catch{}try{this.emit("log",e,r)}catch{}}invokeSeverity(e,...r){this.invoke({severity:e},...r)}};Te.AdhocDebugLogger=Uo;Te.placeholder=new Uo("",()=>{}).func;var Vn=class{constructor(){var e;this.cached=new Map,this.filters=[],this.filtersSet=!1;let r=(e=Lo.env[Te.env.nodeEnables])!==null&&e!==void 0?e:"*";r==="all"&&(r="*"),this.filters=r.split(",")}log(e,r,...n){try{this.filtersSet||(this.setFilters(),this.filtersSet=!0);let o=this.cached.get(e);o||(o=this.makeLogger(e),this.cached.set(e,o)),o(r,...n)}catch(o){console.error(o)}}};Te.DebugLogBackendBase=Vn;var Ec=class extends Vn{constructor(){super(...arguments),this.enabledRegexp=/.*/g}isEnabled(e){return this.enabledRegexp.test(e)}makeLogger(e){return this.enabledRegexp.test(e)?(r,...n)=>{var o;let s=`${mt.Colours.green}${e}${mt.Colours.reset}`,a=`${mt.Colours.yellow}${Lo.pid}${mt.Colours.reset}`,c;switch(r.severity){case qt.ERROR:c=`${mt.Colours.red}${r.severity}${mt.Colours.reset}`;break;case qt.INFO:c=`${mt.Colours.magenta}${r.severity}${mt.Colours.reset}`;break;case qt.WARNING:c=`${mt.Colours.yellow}${r.severity}${mt.Colours.reset}`;break;default:c=(o=r.severity)!==null&&o!==void 0?o:qt.DEFAULT;break}let l=qm.formatWithOptions({colors:mt.Colours.enabled},...n),d=Object.assign({},r);delete d.severity;let f=Object.getOwnPropertyNames(d).length?JSON.stringify(d):"",p=f?`${mt.Colours.grey}${f}${mt.Colours.reset}`:"";console.error("%s [%s|%s] %s%s",a,s,c,l,f?` ${p}`:"")}:()=>{}}setFilters(){let r=this.filters.join(",").replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^");this.enabledRegexp=new RegExp(`^${r}$`,"i")}};function Ac(){return new Ec}var Sc=class extends Vn{constructor(e){super(),this.debugPkg=e}makeLogger(e){let r=this.debugPkg(e);return(n,...o)=>{r(o[0],...o.slice(1))}}setFilters(){var e;let r=(e=Lo.env.NODE_DEBUG)!==null&&e!==void 0?e:"";Lo.env.NODE_DEBUG=`${r}${r?",":""}${this.filters.join(",")}`}};function Yw(t){return new Sc(t)}var kc=class extends Vn{constructor(e){var r;super(),this.upstream=(r=e)!==null&&r!==void 0?r:void 0}makeLogger(e){var r;let n=(r=this.upstream)===null||r===void 0?void 0:r.makeLogger(e);return(o,...s)=>{var a;let c=(a=o.severity)!==null&&a!==void 0?a:qt.INFO,l=Object.assign({severity:c,message:qm.format(...s)},o),d=JSON.stringify(l);n?n(o,d):console.log("%s",d)}}setFilters(){var e;(e=this.upstream)===null||e===void 0||e.setFilters()}};function Qw(t){return new kc(t)}Te.env={nodeEnables:"GOOGLE_SDK_NODE_LOGGING"};var vc=new Map,gt;function Xw(t){gt=t,vc.clear()}function zm(t,e){if(!gt&&!Lo.env[Te.env.nodeEnables]||!t)return Te.placeholder;e&&(t=`${e.instance.namespace}:${t}`);let r=vc.get(t);if(r)return r.func;if(gt===null)return Te.placeholder;gt===void 0&&(gt=Ac());let n=(()=>{let o;return new Uo(t,(a,...c)=>{if(o!==gt){if(gt===null)return;gt===void 0&&(gt=Ac()),o=gt}gt?.log(t,a,...c)})})();return vc.set(t,n),n.func}});var Tc=V(pn=>{"use strict";var Zw=pn&&pn.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),eE=pn&&pn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Zw(e,t,r)};Object.defineProperty(pn,"__esModule",{value:!0});eE(Hm(),pn)});var qo=V(ae=>{"use strict";var Gm=ae&&ae.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),tE=ae&&ae.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),rE=ae&&ae.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&Gm(r,e,n[o]);return tE(r,e),r}})(),nE=ae&&ae.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Gm(e,t,r)};Object.defineProperty(ae,"__esModule",{value:!0});ae.gcpResidencyCache=ae.METADATA_SERVER_DETECTION=ae.HEADERS=ae.HEADER_VALUE=ae.HEADER_NAME=ae.SECONDARY_HOST_ADDRESS=ae.HOST_ADDRESS=ae.BASE_PATH=void 0;ae.instance=cE;ae.project=lE;ae.universe=dE;ae.bulk=fE;ae.isAvailable=pE;ae.resetIsAvailableCache=mE;ae.getGCPResidency=xc;ae.setGCPResidency=Jm;ae.requestTimeout=Vm;var Dc=Ke(),oE=Pm(),sE=wc(),iE=rE(Tc());ae.BASE_PATH="/computeMetadata/v1";ae.HOST_ADDRESS="http://169.254.169.254";ae.SECONDARY_HOST_ADDRESS="http://metadata.google.internal.";ae.HEADER_NAME="Metadata-Flavor";ae.HEADER_VALUE="Google";ae.HEADERS=Object.freeze({[ae.HEADER_NAME]:ae.HEADER_VALUE});var Wm=iE.log("gcp-metadata");ae.METADATA_SERVER_DETECTION=Object.freeze({"assume-present":"don't try to ping the metadata server, but assume it's present",none:"don't try to ping the metadata server, but don't try to use it either","bios-only":"treat the result of a BIOS probe as canonical (don't fall back to pinging)","ping-only":"skip the BIOS probe, and go straight to pinging"});function Rc(t){return t||(t=process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST||ae.HOST_ADDRESS),/^https?:\/\//.test(t)||(t=`http://${t}`),new URL(ae.BASE_PATH,t).href}function aE(t){Object.keys(t).forEach(e=>{switch(e){case"params":case"property":case"headers":break;case"qs":throw new Error("'qs' is not a valid configuration option. Please use 'params' instead.");default:throw new Error(`'${e}' is not a valid configuration option.`)}})}async function $o(t,e={},r=3,n=!1){let o=new Headers(ae.HEADERS),s="",a={};if(typeof t=="object"){let p=t;new Headers(p.headers).forEach((y,A)=>o.set(A,y)),s=p.metadataKey,a=p.params||a,r=p.noResponseRetries||r,n=p.fastFail||n}else s=t;typeof e=="string"?s+=`/${e}`:(aE(e),e.property&&(s+=`/${e.property}`),new Headers(e.headers).forEach((p,y)=>o.set(y,p)),a=e.params||a);let c=n?uE:Dc.request,l={url:`${Rc()}/${s}`,headers:o,retryConfig:{noResponseRetries:r},params:a,responseType:"text",timeout:Vm()};Wm.info("instance request %j",l);let d=await c(l);Wm.info("instance metadata is %s",d.data);let f=d.headers.get(ae.HEADER_NAME);if(f!==ae.HEADER_VALUE)throw new RangeError(`Invalid response from metadata service: incorrect ${ae.HEADER_NAME} header. Expected '${ae.HEADER_VALUE}', got ${f?`'${f}'`:"no header"}`);if(typeof d.data=="string")try{return oE.parse(d.data)}catch{}return d.data}async function uE(t){let e={...t,url:t.url?.toString().replace(Rc(),Rc(ae.SECONDARY_HOST_ADDRESS))},r=(0,Dc.request)(t),n=(0,Dc.request)(e);return Promise.any([r,n])}function cE(t){return $o("instance",t)}function lE(t){return $o("project",t)}function dE(t){return $o("universe",t)}async function fE(t){let e={};return await Promise.all(t.map(r=>(async()=>{let n=await $o(r),o=r.metadataKey;e[o]=n})())),e}function hE(){return process.env.DETECT_GCP_RETRIES?Number(process.env.DETECT_GCP_RETRIES):0}var Fi;async function pE(){if(process.env.METADATA_SERVER_DETECTION){let t=process.env.METADATA_SERVER_DETECTION.trim().toLocaleLowerCase();if(!(t in ae.METADATA_SERVER_DETECTION))throw new RangeError(`Unknown \`METADATA_SERVER_DETECTION\` env variable. Got \`${t}\`, but it should be \`${Object.keys(ae.METADATA_SERVER_DETECTION).join("`, `")}\`, or unset`);switch(t){case"assume-present":return!0;case"none":return!1;case"bios-only":return xc();case"ping-only":}}try{return Fi===void 0&&(Fi=$o("instance",void 0,hE(),!(process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST))),await Fi,!0}catch(t){let e=t;if(process.env.DEBUG_AUTH&&console.info(e),e.type==="request-timeout"||e.response&&e.response.status===404)return!1;if(!(e.response&&e.response.status===404)&&(!e.code||!["EHOSTDOWN","EHOSTUNREACH","ENETUNREACH","ENOENT","ENOTFOUND","ECONNREFUSED"].includes(e.code.toString()))){let r="UNKNOWN";e.code&&(r=e.code.toString()),process.emitWarning(`received unexpected error = ${e.message} code = ${r}`,"MetadataLookupWarning")}return!1}}function mE(){Fi=void 0}ae.gcpResidencyCache=null;function xc(){return ae.gcpResidencyCache===null&&Jm(),ae.gcpResidencyCache}function Jm(t=null){ae.gcpResidencyCache=t!==null?t:(0,sE.detectGCPResidency)()}function Vm(){return xc()?0:3e3}nE(wc(),ae)});var Qm=V(Pi=>{"use strict";Pi.byteLength=yE;Pi.toByteArray=bE;Pi.fromByteArray=EE;var er=[],Dt=[],gE=typeof Uint8Array<"u"?Uint8Array:Array,Oc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(mn=0,Km=Oc.length;mn<Km;++mn)er[mn]=Oc[mn],Dt[Oc.charCodeAt(mn)]=mn;var mn,Km;Dt[45]=62;Dt[95]=63;function Ym(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");r===-1&&(r=e);var n=r===e?0:4-r%4;return[r,n]}function yE(t){var e=Ym(t),r=e[0],n=e[1];return(r+n)*3/4-n}function _E(t,e,r){return(e+r)*3/4-r}function bE(t){var e,r=Ym(t),n=r[0],o=r[1],s=new gE(_E(t,n,o)),a=0,c=o>0?n-4:n,l;for(l=0;l<c;l+=4)e=Dt[t.charCodeAt(l)]<<18|Dt[t.charCodeAt(l+1)]<<12|Dt[t.charCodeAt(l+2)]<<6|Dt[t.charCodeAt(l+3)],s[a++]=e>>16&255,s[a++]=e>>8&255,s[a++]=e&255;return o===2&&(e=Dt[t.charCodeAt(l)]<<2|Dt[t.charCodeAt(l+1)]>>4,s[a++]=e&255),o===1&&(e=Dt[t.charCodeAt(l)]<<10|Dt[t.charCodeAt(l+1)]<<4|Dt[t.charCodeAt(l+2)]>>2,s[a++]=e>>8&255,s[a++]=e&255),s}function CE(t){return er[t>>18&63]+er[t>>12&63]+er[t>>6&63]+er[t&63]}function wE(t,e,r){for(var n,o=[],s=e;s<r;s+=3)n=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(t[s+2]&255),o.push(CE(n));return o.join("")}function EE(t){for(var e,r=t.length,n=r%3,o=[],s=16383,a=0,c=r-n;a<c;a+=s)o.push(wE(t,a,a+s>c?c:a+s));return n===1?(e=t[r-1],o.push(er[e>>2]+er[e<<4&63]+"==")):n===2&&(e=(t[r-2]<<8)+t[r-1],o.push(er[e>>10]+er[e>>4&63]+er[e<<2&63]+"=")),o.join("")}});var Pc=V(Fc=>{"use strict";Object.defineProperty(Fc,"__esModule",{value:!0});Fc.fromArrayBufferToHex=AE;function AE(t){return Array.from(new Uint8Array(t)).map(r=>r.toString(16).padStart(2,"0")).join("")}});var Xm=V(Ii=>{"use strict";Object.defineProperty(Ii,"__esModule",{value:!0});Ii.BrowserCrypto=void 0;var Kn=Qm(),SE=Pc(),Ic=class t{constructor(){if(typeof window>"u"||window.crypto===void 0||window.crypto.subtle===void 0)throw new Error("SubtleCrypto not found. Make sure it's an https:// website.")}async sha256DigestBase64(e){let r=new TextEncoder().encode(e),n=await window.crypto.subtle.digest("SHA-256",r);return Kn.fromByteArray(new Uint8Array(n))}randomBytesBase64(e){let r=new Uint8Array(e);return window.crypto.getRandomValues(r),Kn.fromByteArray(r)}static padBase64(e){for(;e.length%4!==0;)e+="=";return e}async verify(e,r,n){let o={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},s=new TextEncoder().encode(r),a=Kn.toByteArray(t.padBase64(n)),c=await window.crypto.subtle.importKey("jwk",e,o,!0,["verify"]);return await window.crypto.subtle.verify(o,c,a,s)}async sign(e,r){let n={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},o=new TextEncoder().encode(r),s=await window.crypto.subtle.importKey("jwk",e,n,!0,["sign"]),a=await window.crypto.subtle.sign(n,s,o);return Kn.fromByteArray(new Uint8Array(a))}decodeBase64StringUtf8(e){let r=Kn.toByteArray(t.padBase64(e));return new TextDecoder().decode(r)}encodeBase64StringUtf8(e){let r=new TextEncoder().encode(e);return Kn.fromByteArray(r)}async sha256DigestHex(e){let r=new TextEncoder().encode(e),n=await window.crypto.subtle.digest("SHA-256",r);return(0,SE.fromArrayBufferToHex)(n)}async signWithHmacSha256(e,r){let n=typeof e=="string"?e:String.fromCharCode(...new Uint16Array(e)),o=new TextEncoder,s=await window.crypto.subtle.importKey("raw",o.encode(n),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return window.crypto.subtle.sign("HMAC",s,o.encode(r))}};Ii.BrowserCrypto=Ic});var Zm=V(Bi=>{"use strict";Object.defineProperty(Bi,"__esModule",{value:!0});Bi.NodeCrypto=void 0;var Yn=X("crypto"),Bc=class{async sha256DigestBase64(e){return Yn.createHash("sha256").update(e).digest("base64")}randomBytesBase64(e){return Yn.randomBytes(e).toString("base64")}async verify(e,r,n){let o=Yn.createVerify("RSA-SHA256");return o.update(r),o.end(),o.verify(e,n,"base64")}async sign(e,r){let n=Yn.createSign("RSA-SHA256");return n.update(r),n.end(),n.sign(e,"base64")}decodeBase64StringUtf8(e){return Buffer.from(e,"base64").toString("utf-8")}encodeBase64StringUtf8(e){return Buffer.from(e,"utf-8").toString("base64")}async sha256DigestHex(e){return Yn.createHash("sha256").update(e).digest("hex")}async signWithHmacSha256(e,r){let n=typeof e=="string"?e:vE(e);return kE(Yn.createHmac("sha256",n).update(r).digest())}};Bi.NodeCrypto=Bc;function kE(t){return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}function vE(t){return Buffer.from(t)}});var zo=V(wr=>{"use strict";var TE=wr&&wr.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),DE=wr&&wr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&TE(e,t,r)};Object.defineProperty(wr,"__esModule",{value:!0});wr.createCrypto=OE;wr.hasBrowserCrypto=eg;var RE=Xm(),xE=Zm();DE(Pc(),wr);function OE(){return eg()?new RE.BrowserCrypto:new xE.NodeCrypto}function eg(){return typeof window<"u"&&typeof window.crypto<"u"&&typeof window.crypto.subtle<"u"}});var Qn=V((Nc,rg)=>{var Ni=X("buffer"),tr=Ni.Buffer;function tg(t,e){for(var r in t)e[r]=t[r]}tr.from&&tr.alloc&&tr.allocUnsafe&&tr.allocUnsafeSlow?rg.exports=Ni:(tg(Ni,Nc),Nc.Buffer=gn);function gn(t,e,r){return tr(t,e,r)}gn.prototype=Object.create(tr.prototype);tg(tr,gn);gn.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return tr(t,e,r)};gn.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var n=tr(t);return e!==void 0?typeof r=="string"?n.fill(e,r):n.fill(e):n.fill(0),n};gn.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return tr(t)};gn.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return Ni.SlowBuffer(t)}});var og=V((Sx,ng)=>{"use strict";function Mc(t){var e=(t/8|0)+(t%8===0?0:1);return e}var FE={ES256:Mc(256),ES384:Mc(384),ES512:Mc(521)};function PE(t){var e=FE[t];if(e)return e;throw new Error('Unknown algorithm "'+t+'"')}ng.exports=PE});var jc=V((kx,lg)=>{"use strict";var Mi=Qn().Buffer,ig=og(),ji=128,ag=0,IE=32,BE=16,NE=2,ug=BE|IE|ag<<6,Li=NE|ag<<6;function ME(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function cg(t){if(Mi.isBuffer(t))return t;if(typeof t=="string")return Mi.from(t,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function jE(t,e){t=cg(t);var r=ig(e),n=r+1,o=t.length,s=0;if(t[s++]!==ug)throw new Error('Could not find expected "seq"');var a=t[s++];if(a===(ji|1)&&(a=t[s++]),o-s<a)throw new Error('"seq" specified length of "'+a+'", only "'+(o-s)+'" remaining');if(t[s++]!==Li)throw new Error('Could not find expected "int" for "r"');var c=t[s++];if(o-s-2<c)throw new Error('"r" specified length of "'+c+'", only "'+(o-s-2)+'" available');if(n<c)throw new Error('"r" specified length of "'+c+'", max of "'+n+'" is acceptable');var l=s;if(s+=c,t[s++]!==Li)throw new Error('Could not find expected "int" for "s"');var d=t[s++];if(o-s!==d)throw new Error('"s" specified length of "'+d+'", expected "'+(o-s)+'"');if(n<d)throw new Error('"s" specified length of "'+d+'", max of "'+n+'" is acceptable');var f=s;if(s+=d,s!==o)throw new Error('Expected to consume entire buffer, but "'+(o-s)+'" bytes remain');var p=r-c,y=r-d,A=Mi.allocUnsafe(p+c+y+d);for(s=0;s<p;++s)A[s]=0;t.copy(A,s,l+Math.max(-p,0),l+c),s=r;for(var w=s;s<w+y;++s)A[s]=0;return t.copy(A,s,f+Math.max(-y,0),f+d),A=A.toString("base64"),A=ME(A),A}function sg(t,e,r){for(var n=0;e+n<r&&t[e+n]===0;)++n;var o=t[e+n]>=ji;return o&&--n,n}function LE(t,e){t=cg(t);var r=ig(e),n=t.length;if(n!==r*2)throw new TypeError('"'+e+'" signatures must be "'+r*2+'" bytes, saw "'+n+'"');var o=sg(t,0,r),s=sg(t,r,t.length),a=r-o,c=r-s,l=2+a+1+1+c,d=l<ji,f=Mi.allocUnsafe((d?2:3)+l),p=0;return f[p++]=ug,d?f[p++]=l:(f[p++]=ji|1,f[p++]=l&255),f[p++]=Li,f[p++]=a,o<0?(f[p++]=0,p+=t.copy(f,p,0,r)):p+=t.copy(f,p,o,r),f[p++]=Li,f[p++]=c,s<0?(f[p++]=0,t.copy(f,p,r)):t.copy(f,p,r+s),f}lg.exports={derToJose:jE,joseToDer:LE}});var zt=V(Er=>{"use strict";Object.defineProperty(Er,"__esModule",{value:!0});Er.LRUCache=void 0;Er.snakeToCamel=fg;Er.originalOrCamelOptions=zE;Er.removeUndefinedValuesInObject=HE;Er.isValidFile=WE;Er.getWellKnownCertificateConfigFileLocation=GE;var UE=X("fs"),$E=X("os"),Lc=X("path"),qE="certificate_config.json",dg="gcloud";function fg(t){return t.replace(/([_][^_])/g,e=>e.slice(1).toUpperCase())}function zE(t){function e(r){let n=t||{};return n[r]??n[fg(r)]}return{get:e}}var Uc=class{capacity;#e=new Map;maxAge;constructor(e){this.capacity=e.capacity,this.maxAge=e.maxAge}#t(e,r){this.#e.delete(e),this.#e.set(e,{value:r,lastAccessed:Date.now()})}set(e,r){this.#t(e,r),this.#r()}get(e){let r=this.#e.get(e);if(r)return this.#t(e,r.value),this.#r(),r.value}#r(){let e=this.maxAge?Date.now()-this.maxAge:0,r=this.#e.entries().next();for(;!r.done&&(this.#e.size>this.capacity||r.value[1].lastAccessed<e);)this.#e.delete(r.value[0]),r=this.#e.entries().next()}};Er.LRUCache=Uc;function HE(t){return Object.entries(t).forEach(([e,r])=>{(r===void 0||r==="undefined")&&delete t[e]}),t}async function WE(t){try{return(await UE.promises.lstat(t)).isFile()}catch{return!1}}function GE(){let t=process.env.CLOUDSDK_CONFIG||(JE()?Lc.join(process.env.APPDATA||"",dg):Lc.join(process.env.HOME||"",".config",dg));return Lc.join(t,qE)}function JE(){return $E.platform().startsWith("win")}});var hg=V((Tx,VE)=>{VE.exports={name:"google-auth-library",version:"10.4.0",author:"Google Inc.",description:"Google APIs Authentication Client Library for Node.js",engines:{node:">=18"},main:"./build/src/index.js",types:"./build/src/index.d.ts",repository:"googleapis/google-auth-library-nodejs.git",keywords:["google","api","google apis","client","client library"],dependencies:{"base64-js":"^1.3.0","ecdsa-sig-formatter":"^1.0.11",gaxios:"^7.0.0","gcp-metadata":"^7.0.0","google-logging-utils":"^1.0.0",gtoken:"^8.0.0",jws:"^4.0.0"},devDependencies:{"@types/base64-js":"^1.2.5","@types/jws":"^3.1.0","@types/mocha":"^10.0.10","@types/mv":"^2.1.0","@types/ncp":"^2.0.1","@types/node":"^22.0.0","@types/sinon":"^17.0.0","assert-rejects":"^1.0.0",c8:"^10.0.0",codecov:"^3.0.2",gts:"^6.0.0","is-docker":"^3.0.0",jsdoc:"^4.0.0","jsdoc-fresh":"^4.0.0","jsdoc-region-tag":"^3.0.0",karma:"^6.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.0","karma-firefox-launcher":"^2.0.0","karma-mocha":"^2.0.0","karma-sourcemap-loader":"^0.4.0","karma-webpack":"^5.0.1",keypair:"^1.0.4",linkinator:"^6.1.2",mocha:"^11.1.0",mv:"^2.1.1",ncp:"^2.0.0",nock:"^14.0.5","null-loader":"^4.0.0",puppeteer:"^24.0.0",sinon:"^21.0.0","ts-loader":"^8.0.0",typescript:"5.8.2",webpack:"^5.21.2","webpack-cli":"^4.0.0"},files:["build/src","!build/src/**/*.map"],scripts:{test:"c8 mocha build/test",clean:"gts clean",prepare:"npm run compile",lint:"gts check --no-inline-config",compile:"tsc -p .",fix:"gts fix",pretest:"npm run compile -- --sourceMap",docs:"jsdoc -c .jsdoc.js","samples-setup":"cd samples/ && npm link ../ && npm run setup && cd ../","samples-test":"cd samples/ && npm link ../ && npm test && cd ../","system-test":"mocha build/system-test --timeout 60000","presystem-test":"npm run compile -- --sourceMap",webpack:"webpack","browser-test":"karma start","docs-test":"linkinator docs","predocs-test":"npm run docs",prelint:"cd samples; npm link ../; npm install"},license:"Apache-2.0"}});var $c=V(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.USER_AGENT=Gr.PRODUCT_NAME=Gr.pkg=void 0;var pg=hg();Gr.pkg=pg;var mg="google-api-nodejs-client";Gr.PRODUCT_NAME=mg;var KE=`${mg}/${pg.version}`;Gr.USER_AGENT=KE});var yt=V(Ht=>{"use strict";Object.defineProperty(Ht,"__esModule",{value:!0});Ht.AuthClient=Ht.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=Ht.DEFAULT_UNIVERSE=void 0;var YE=X("events"),qc=Ke(),QE=zt(),XE=Tc(),zc=$c();Ht.DEFAULT_UNIVERSE="googleapis.com";Ht.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=300*1e3;var Hc=class t extends YE.EventEmitter{apiKey;projectId;quotaProjectId;transporter;credentials={};eagerRefreshThresholdMillis=Ht.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS;forceRefreshOnFailure=!1;universeDomain=Ht.DEFAULT_UNIVERSE;static RequestMethodNameSymbol=Symbol("request method name");static RequestLogIdSymbol=Symbol("request log id");constructor(e={}){super();let r=(0,QE.originalOrCamelOptions)(e);this.apiKey=e.apiKey,this.projectId=r.get("project_id")??null,this.quotaProjectId=r.get("quota_project_id"),this.credentials=r.get("credentials")??{},this.universeDomain=r.get("universe_domain")??Ht.DEFAULT_UNIVERSE,this.transporter=e.transporter??new qc.Gaxios(e.transporterOptions),r.get("useAuthRequestParameters")!==!1&&(this.transporter.interceptors.request.add(t.DEFAULT_REQUEST_INTERCEPTOR),this.transporter.interceptors.response.add(t.DEFAULT_RESPONSE_INTERCEPTOR)),e.eagerRefreshThresholdMillis&&(this.eagerRefreshThresholdMillis=e.eagerRefreshThresholdMillis),this.forceRefreshOnFailure=e.forceRefreshOnFailure??!1}fetch(...e){let r=e[0],n=e[1],o,s=new Headers;return typeof r=="string"?o=new URL(r):r instanceof URL?o=r:r&&r.url&&(o=new URL(r.url)),r&&typeof r=="object"&&"headers"in r&&qc.Gaxios.mergeHeaders(s,r.headers),n&&qc.Gaxios.mergeHeaders(s,new Headers(n.headers)),typeof r=="object"&&!(r instanceof URL)?this.request({...n,...r,headers:s,url:o}):this.request({...n,headers:s,url:o})}setCredentials(e){this.credentials=e}addSharedMetadataHeaders(e){return!e.has("x-goog-user-project")&&this.quotaProjectId&&e.set("x-goog-user-project",this.quotaProjectId),e}addUserProjectAndAuthHeaders(e,r){let n=r.get("x-goog-user-project"),o=r.get("authorization");return n&&e.set("x-goog-user-project",n),o&&e.set("authorization",o),e}static log=(0,XE.log)("auth");static DEFAULT_REQUEST_INTERCEPTOR={resolved:async e=>{if(!e.headers.has("x-goog-api-client")){let n=process.version.replace(/^v/,"");e.headers.set("x-goog-api-client",`gl-node/${n}`)}let r=e.headers.get("User-Agent");r?r.includes(`${zc.PRODUCT_NAME}/`)||e.headers.set("User-Agent",`${r} ${zc.USER_AGENT}`):e.headers.set("User-Agent",zc.USER_AGENT);try{let n=e,o=n[t.RequestMethodNameSymbol],s=`${Math.floor(Math.random()*1e3)}`;n[t.RequestLogIdSymbol]=s;let a={url:e.url,headers:e.headers};o?t.log.info("%s [%s] request %j",o,s,a):t.log.info("[%s] request %j",s,a)}catch{}return e}};static DEFAULT_RESPONSE_INTERCEPTOR={resolved:async e=>{try{let r=e.config,n=r[t.RequestMethodNameSymbol],o=r[t.RequestLogIdSymbol];n?t.log.info("%s [%s] response %j",n,o,e.data):t.log.info("[%s] response %j",o,e.data)}catch{}return e},rejected:async e=>{try{let r=e.config,n=r[t.RequestMethodNameSymbol],o=r[t.RequestLogIdSymbol];n?t.log.info("%s [%s] error %j",n,o,e.response?.data):t.log.error("[%s] error %j",o,e.response?.data)}catch{}throw e}};static setMethodName(e,r){try{let n=e;n[t.RequestMethodNameSymbol]=r}catch{}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}};Ht.AuthClient=Hc});var Gc=V(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});Ui.LoginTicket=void 0;var Wc=class{envelope;payload;constructor(e,r){this.envelope=e,this.payload=r}getEnvelope(){return this.envelope}getPayload(){return this.payload}getUserId(){let e=this.getPayload();return e&&e.sub?e.sub:null}getAttributes(){return{envelope:this.getEnvelope(),payload:this.getPayload()}}};Ui.LoginTicket=Wc});var yn=V(rr=>{"use strict";Object.defineProperty(rr,"__esModule",{value:!0});rr.OAuth2Client=rr.ClientAuthentication=rr.CertificateFormat=rr.CodeChallengeMethod=void 0;var gg=Ke(),ZE=X("querystring"),eA=X("stream"),tA=jc(),yg=zt(),Jc=zo(),Xn=yt(),rA=Gc(),_g;(function(t){t.Plain="plain",t.S256="S256"})(_g||(rr.CodeChallengeMethod=_g={}));var Ar;(function(t){t.PEM="PEM",t.JWK="JWK"})(Ar||(rr.CertificateFormat=Ar={}));var Ho;(function(t){t.ClientSecretPost="ClientSecretPost",t.ClientSecretBasic="ClientSecretBasic",t.None="None"})(Ho||(rr.ClientAuthentication=Ho={}));var Vc=class t extends Xn.AuthClient{redirectUri;certificateCache={};certificateExpiry=null;certificateCacheFormat=Ar.PEM;refreshTokenPromises=new Map;endpoints;issuers;clientAuthentication;_clientId;_clientSecret;refreshHandler;constructor(e={},r,n){super(typeof e=="object"?e:{}),typeof e!="object"&&(e={clientId:e,clientSecret:r,redirectUri:n}),this._clientId=e.clientId||e.client_id,this._clientSecret=e.clientSecret||e.client_secret,this.redirectUri=e.redirectUri||e.redirect_uris?.[0],this.endpoints={tokenInfoUrl:"https://oauth2.googleapis.com/tokeninfo",oauth2AuthBaseUrl:"https://accounts.google.com/o/oauth2/v2/auth",oauth2TokenUrl:"https://oauth2.googleapis.com/token",oauth2RevokeUrl:"https://oauth2.googleapis.com/revoke",oauth2FederatedSignonPemCertsUrl:"https://www.googleapis.com/oauth2/v1/certs",oauth2FederatedSignonJwkCertsUrl:"https://www.googleapis.com/oauth2/v3/certs",oauth2IapPublicKeyUrl:"https://www.gstatic.com/iap/verify/public_key",...e.endpoints},this.clientAuthentication=e.clientAuthentication||Ho.ClientSecretPost,this.issuers=e.issuers||["accounts.google.com","https://accounts.google.com",this.universeDomain]}static GOOGLE_TOKEN_INFO_URL="https://oauth2.googleapis.com/tokeninfo";static CLOCK_SKEW_SECS_=300;static DEFAULT_MAX_TOKEN_LIFETIME_SECS_=86400;generateAuthUrl(e={}){if(e.code_challenge_method&&!e.code_challenge)throw new Error("If a code_challenge_method is provided, code_challenge must be included.");return e.response_type=e.response_type||"code",e.client_id=e.client_id||this._clientId,e.redirect_uri=e.redirect_uri||this.redirectUri,Array.isArray(e.scope)&&(e.scope=e.scope.join(" ")),this.endpoints.oauth2AuthBaseUrl.toString()+"?"+ZE.stringify(e)}generateCodeVerifier(){throw new Error("generateCodeVerifier is removed, please use generateCodeVerifierAsync instead.")}async generateCodeVerifierAsync(){let e=(0,Jc.createCrypto)(),n=e.randomBytesBase64(96).replace(/\+/g,"~").replace(/=/g,"_").replace(/\//g,"-"),s=(await e.sha256DigestBase64(n)).split("=")[0].replace(/\+/g,"-").replace(/\//g,"_");return{codeVerifier:n,codeChallenge:s}}getToken(e,r){let n=typeof e=="string"?{code:e}:e;if(r)this.getTokenAsync(n).then(o=>r(null,o.tokens,o.res),o=>r(o,null,o.response));else return this.getTokenAsync(n)}async getTokenAsync(e){let r=this.endpoints.oauth2TokenUrl.toString(),n=new Headers,o={client_id:e.client_id||this._clientId,code_verifier:e.codeVerifier,code:e.code,grant_type:"authorization_code",redirect_uri:e.redirect_uri||this.redirectUri};if(this.clientAuthentication===Ho.ClientSecretBasic){let l=Buffer.from(`${this._clientId}:${this._clientSecret}`);n.set("authorization",`Basic ${l.toString("base64")}`)}this.clientAuthentication===Ho.ClientSecretPost&&(o.client_secret=this._clientSecret);let s={...t.RETRY_CONFIG,method:"POST",url:r,data:new URLSearchParams((0,yg.removeUndefinedValuesInObject)(o)),headers:n};Xn.AuthClient.setMethodName(s,"getTokenAsync");let a=await this.transporter.request(s),c=a.data;return a.data&&a.data.expires_in&&(c.expiry_date=new Date().getTime()+a.data.expires_in*1e3,delete c.expires_in),this.emit("tokens",c),{tokens:c,res:a}}async refreshToken(e){if(!e)return this.refreshTokenNoCache(e);if(this.refreshTokenPromises.has(e))return this.refreshTokenPromises.get(e);let r=this.refreshTokenNoCache(e).then(n=>(this.refreshTokenPromises.delete(e),n),n=>{throw this.refreshTokenPromises.delete(e),n});return this.refreshTokenPromises.set(e,r),r}async refreshTokenNoCache(e){if(!e)throw new Error("No refresh token is set.");let r=this.endpoints.oauth2TokenUrl.toString(),n={refresh_token:e,client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token"},o;try{let a={...t.RETRY_CONFIG,method:"POST",url:r,data:new URLSearchParams((0,yg.removeUndefinedValuesInObject)(n))};Xn.AuthClient.setMethodName(a,"refreshTokenNoCache"),o=await this.transporter.request(a)}catch(a){throw a instanceof gg.GaxiosError&&a.message==="invalid_grant"&&a.response?.data&&/ReAuth/i.test(a.response.data.error_description)&&(a.message=JSON.stringify(a.response.data)),a}let s=o.data;return o.data&&o.data.expires_in&&(s.expiry_date=new Date().getTime()+o.data.expires_in*1e3,delete s.expires_in),this.emit("tokens",s),{tokens:s,res:o}}refreshAccessToken(e){if(e)this.refreshAccessTokenAsync().then(r=>e(null,r.credentials,r.res),e);else return this.refreshAccessTokenAsync()}async refreshAccessTokenAsync(){let e=await this.refreshToken(this.credentials.refresh_token),r=e.tokens;return r.refresh_token=this.credentials.refresh_token,this.credentials=r,{credentials:this.credentials,res:e.res}}getAccessToken(e){if(e)this.getAccessTokenAsync().then(r=>e(null,r.token,r.res),e);else return this.getAccessTokenAsync()}async getAccessTokenAsync(){if(!this.credentials.access_token||this.isTokenExpiring()){if(!this.credentials.refresh_token)if(this.refreshHandler){let n=await this.processAndValidateRefreshHandler();if(n?.access_token)return this.setCredentials(n),{token:this.credentials.access_token}}else throw new Error("No refresh token or refresh handler callback is set.");let r=await this.refreshAccessTokenAsync();if(!r.credentials||r.credentials&&!r.credentials.access_token)throw new Error("Could not refresh access token.");return{token:r.credentials.access_token,res:r.res}}else return{token:this.credentials.access_token}}async getRequestHeaders(e){return(await this.getRequestMetadataAsync(e)).headers}async getRequestMetadataAsync(e){let r=this.credentials;if(!r.access_token&&!r.refresh_token&&!this.apiKey&&!this.refreshHandler)throw new Error("No access, refresh token, API key or refresh handler callback is set.");if(r.access_token&&!this.isTokenExpiring()){r.token_type=r.token_type||"Bearer";let c=new Headers({authorization:r.token_type+" "+r.access_token});return{headers:this.addSharedMetadataHeaders(c)}}if(this.refreshHandler){let c=await this.processAndValidateRefreshHandler();if(c?.access_token){this.setCredentials(c);let l=new Headers({authorization:"Bearer "+this.credentials.access_token});return{headers:this.addSharedMetadataHeaders(l)}}}if(this.apiKey)return{headers:new Headers({"X-Goog-Api-Key":this.apiKey})};let n=null,o=null;try{n=await this.refreshToken(r.refresh_token),o=n.tokens}catch(c){let l=c;throw l.response&&(l.response.status===403||l.response.status===404)&&(l.message=`Could not refresh access token: ${l.message}`),l}let s=this.credentials;s.token_type=s.token_type||"Bearer",o.refresh_token=s.refresh_token,this.credentials=o;let a=new Headers({authorization:s.token_type+" "+o.access_token});return{headers:this.addSharedMetadataHeaders(a),res:n.res}}static getRevokeTokenUrl(e){return new t().getRevokeTokenURL(e).toString()}getRevokeTokenURL(e){let r=new URL(this.endpoints.oauth2RevokeUrl);return r.searchParams.append("token",e),r}revokeToken(e,r){let n={...t.RETRY_CONFIG,url:this.getRevokeTokenURL(e).toString(),method:"POST"};if(Xn.AuthClient.setMethodName(n,"revokeToken"),r)this.transporter.request(n).then(o=>r(null,o),r);else return this.transporter.request(n)}revokeCredentials(e){if(e)this.revokeCredentialsAsync().then(r=>e(null,r),e);else return this.revokeCredentialsAsync()}async revokeCredentialsAsync(){let e=this.credentials.access_token;if(this.credentials={},e)return this.revokeToken(e);throw new Error("No access token to revoke.")}request(e,r){if(r)this.requestAsync(e).then(n=>r(null,n),n=>r(n,n.response));else return this.requestAsync(e)}async requestAsync(e,r=!1){try{let n=await this.getRequestMetadataAsync();return e.headers=gg.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,n.headers),this.apiKey&&e.headers.set("X-Goog-Api-Key",this.apiKey),await this.transporter.request(e)}catch(n){let o=n.response;if(o){let s=o.status,a=this.credentials&&this.credentials.access_token&&this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure),c=this.credentials&&this.credentials.access_token&&!this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure)&&this.refreshHandler,l=o.config.data instanceof eA.Readable,d=s===401||s===403;if(!r&&d&&!l&&a)return await this.refreshAccessTokenAsync(),this.requestAsync(e,!0);if(!r&&d&&!l&&c){let f=await this.processAndValidateRefreshHandler();return f?.access_token&&this.setCredentials(f),this.requestAsync(e,!0)}}throw n}}verifyIdToken(e,r){if(r&&typeof r!="function")throw new Error("This method accepts an options object as the first parameter, which includes the idToken, audience, and maxExpiry.");if(r)this.verifyIdTokenAsync(e).then(n=>r(null,n),r);else return this.verifyIdTokenAsync(e)}async verifyIdTokenAsync(e){if(!e.idToken)throw new Error("The verifyIdToken method requires an ID Token");let r=await this.getFederatedSignonCertsAsync();return await this.verifySignedJwtWithCertsAsync(e.idToken,r.certs,e.audience,this.issuers,e.maxExpiry)}async getTokenInfo(e){let{data:r}=await this.transporter.request({...t.RETRY_CONFIG,method:"POST",headers:{"content-type":"application/x-www-form-urlencoded;charset=UTF-8",authorization:`Bearer ${e}`},url:this.endpoints.tokenInfoUrl.toString()}),n=Object.assign({expiry_date:new Date().getTime()+r.expires_in*1e3,scopes:r.scope.split(" ")},r);return delete n.expires_in,delete n.scope,n}getFederatedSignonCerts(e){if(e)this.getFederatedSignonCertsAsync().then(r=>e(null,r.certs,r.res),e);else return this.getFederatedSignonCertsAsync()}async getFederatedSignonCertsAsync(){let e=new Date().getTime(),r=(0,Jc.hasBrowserCrypto)()?Ar.JWK:Ar.PEM;if(this.certificateExpiry&&e<this.certificateExpiry.getTime()&&this.certificateCacheFormat===r)return{certs:this.certificateCache,format:r};let n,o;switch(r){case Ar.PEM:o=this.endpoints.oauth2FederatedSignonPemCertsUrl.toString();break;case Ar.JWK:o=this.endpoints.oauth2FederatedSignonJwkCertsUrl.toString();break;default:throw new Error(`Unsupported certificate format ${r}`)}try{let d={...t.RETRY_CONFIG,url:o};Xn.AuthClient.setMethodName(d,"getFederatedSignonCertsAsync"),n=await this.transporter.request(d)}catch(d){throw d instanceof Error&&(d.message=`Failed to retrieve verification certificates: ${d.message}`),d}let s=n?.headers.get("cache-control"),a=-1;if(s){let d=/max-age=(?<maxAge>[0-9]+)/.exec(s)?.groups?.maxAge;d&&(a=Number(d)*1e3)}let c={};switch(r){case Ar.PEM:c=n.data;break;case Ar.JWK:for(let d of n.data.keys)c[d.kid]=d;break;default:throw new Error(`Unsupported certificate format ${r}`)}let l=new Date;return this.certificateExpiry=a===-1?null:new Date(l.getTime()+a),this.certificateCache=c,this.certificateCacheFormat=r,{certs:c,format:r,res:n}}getIapPublicKeys(e){if(e)this.getIapPublicKeysAsync().then(r=>e(null,r.pubkeys,r.res),e);else return this.getIapPublicKeysAsync()}async getIapPublicKeysAsync(){let e,r=this.endpoints.oauth2IapPublicKeyUrl.toString();try{let n={...t.RETRY_CONFIG,url:r};Xn.AuthClient.setMethodName(n,"getIapPublicKeysAsync"),e=await this.transporter.request(n)}catch(n){throw n instanceof Error&&(n.message=`Failed to retrieve verification certificates: ${n.message}`),n}return{pubkeys:e.data,res:e}}verifySignedJwtWithCerts(){throw new Error("verifySignedJwtWithCerts is removed, please use verifySignedJwtWithCertsAsync instead.")}async verifySignedJwtWithCertsAsync(e,r,n,o,s){let a=(0,Jc.createCrypto)();s||(s=t.DEFAULT_MAX_TOKEN_LIFETIME_SECS_);let c=e.split(".");if(c.length!==3)throw new Error("Wrong number of segments in token: "+e);let l=c[0]+"."+c[1],d=c[2],f,p;try{f=JSON.parse(a.decodeBase64StringUtf8(c[0]))}catch(b){throw b instanceof Error&&(b.message=`Can't parse token envelope: ${c[0]}': ${b.message}`),b}if(!f)throw new Error("Can't parse token envelope: "+c[0]);try{p=JSON.parse(a.decodeBase64StringUtf8(c[1]))}catch(b){throw b instanceof Error&&(b.message=`Can't parse token payload '${c[0]}`),b}if(!p)throw new Error("Can't parse token payload: "+c[1]);if(!Object.prototype.hasOwnProperty.call(r,f.kid))throw new Error("No pem found for envelope: "+JSON.stringify(f));let y=r[f.kid];if(f.alg==="ES256"&&(d=tA.joseToDer(d,"ES256").toString("base64")),!await a.verify(y,l,d))throw new Error("Invalid token signature: "+e);if(!p.iat)throw new Error("No issue time in token: "+JSON.stringify(p));if(!p.exp)throw new Error("No expiration time in token: "+JSON.stringify(p));let w=Number(p.iat);if(isNaN(w))throw new Error("iat field using invalid format");let _=Number(p.exp);if(isNaN(_))throw new Error("exp field using invalid format");let g=new Date().getTime()/1e3;if(_>=g+s)throw new Error("Expiration time too far in future: "+JSON.stringify(p));let m=w-t.CLOCK_SKEW_SECS_,v=_+t.CLOCK_SKEW_SECS_;if(g<m)throw new Error("Token used too early, "+g+" < "+m+": "+JSON.stringify(p));if(g>v)throw new Error("Token used too late, "+g+" > "+v+": "+JSON.stringify(p));if(o&&o.indexOf(p.iss)<0)throw new Error("Invalid issuer, expected one of ["+o+"], but got "+p.iss);if(typeof n<"u"&&n!==null){let b=p.aud,S=!1;if(n.constructor===Array?S=n.indexOf(b)>-1:S=b===n,!S)throw new Error("Wrong recipient, payload audience != requiredAudience")}return new rA.LoginTicket(f,p)}async processAndValidateRefreshHandler(){if(this.refreshHandler){let e=await this.refreshHandler();if(!e.access_token)throw new Error("No access token is returned by the refreshHandler callback.");return e}}isTokenExpiring(){let e=this.credentials.expiry_date;return e?e<=new Date().getTime()+this.eagerRefreshThresholdMillis:!1}};rr.OAuth2Client=Vc});var Yc=V($i=>{"use strict";Object.defineProperty($i,"__esModule",{value:!0});$i.Compute=void 0;var nA=Ke(),bg=qo(),oA=yn(),Kc=class extends oA.OAuth2Client{serviceAccountEmail;scopes;constructor(e={}){super(e),this.credentials={expiry_date:1,refresh_token:"compute-placeholder"},this.serviceAccountEmail=e.serviceAccountEmail||"default",this.scopes=Array.isArray(e.scopes)?e.scopes:e.scopes?[e.scopes]:[]}async refreshTokenNoCache(){let e=`service-accounts/${this.serviceAccountEmail}/token`,r;try{let o={property:e};this.scopes.length>0&&(o.params={scopes:this.scopes.join(",")}),r=await bg.instance(o)}catch(o){throw o instanceof nA.GaxiosError&&(o.message=`Could not refresh access token: ${o.message}`,this.wrapError(o)),o}let n=r;return r&&r.expires_in&&(n.expiry_date=new Date().getTime()+r.expires_in*1e3,delete n.expires_in),this.emit("tokens",n),{tokens:n,res:null}}async fetchIdToken(e){let r=`service-accounts/${this.serviceAccountEmail}/identity?format=full&audience=${e}`,n;try{let o={property:r};n=await bg.instance(o)}catch(o){throw o instanceof Error&&(o.message=`Could not fetch ID token: ${o.message}`),o}return n}wrapError(e){let r=e.response;r&&r.status&&(e.status=r.status,r.status===403?e.message="A Forbidden error was returned while attempting to retrieve an access token for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have the correct permission scopes specified: "+e.message:r.status===404&&(e.message="A Not Found error was returned while attempting to retrieve an accesstoken for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have any permission scopes specified: "+e.message))}};$i.Compute=Kc});var Xc=V(qi=>{"use strict";Object.defineProperty(qi,"__esModule",{value:!0});qi.IdTokenClient=void 0;var sA=yn(),Qc=class extends sA.OAuth2Client{targetAudience;idTokenProvider;constructor(e){super(e),this.targetAudience=e.targetAudience,this.idTokenProvider=e.idTokenProvider}async getRequestMetadataAsync(){if(!this.credentials.id_token||!this.credentials.expiry_date||this.isTokenExpiring()){let r=await this.idTokenProvider.fetchIdToken(this.targetAudience);this.credentials={id_token:r,expiry_date:this.getIdTokenExpiryDate(r)}}return{headers:new Headers({authorization:"Bearer "+this.credentials.id_token})}}getIdTokenExpiryDate(e){let r=e.split(".")[1];if(r)return JSON.parse(Buffer.from(r,"base64").toString("ascii")).exp*1e3}};qi.IdTokenClient=Qc});var Zc=V(Zn=>{"use strict";Object.defineProperty(Zn,"__esModule",{value:!0});Zn.GCPEnv=void 0;Zn.clear=iA;Zn.getEnv=aA;var Cg=qo(),nr;(function(t){t.APP_ENGINE="APP_ENGINE",t.KUBERNETES_ENGINE="KUBERNETES_ENGINE",t.CLOUD_FUNCTIONS="CLOUD_FUNCTIONS",t.COMPUTE_ENGINE="COMPUTE_ENGINE",t.CLOUD_RUN="CLOUD_RUN",t.CLOUD_RUN_JOBS="CLOUD_RUN_JOBS",t.NONE="NONE"})(nr||(Zn.GCPEnv=nr={}));var Wo;function iA(){Wo=void 0}async function aA(){return Wo||(Wo=uA(),Wo)}async function uA(){let t=nr.NONE;return cA()?t=nr.APP_ENGINE:lA()?t=nr.CLOUD_FUNCTIONS:await pA()?await hA()?t=nr.KUBERNETES_ENGINE:dA()?t=nr.CLOUD_RUN:fA()?t=nr.CLOUD_RUN_JOBS:t=nr.COMPUTE_ENGINE:t=nr.NONE,t}function cA(){return!!(process.env.GAE_SERVICE||process.env.GAE_MODULE_NAME)}function lA(){return!!(process.env.FUNCTION_NAME||process.env.FUNCTION_TARGET)}function dA(){return!!process.env.K_CONFIGURATION}function fA(){return!!process.env.CLOUD_RUN_JOB}async function hA(){try{return await Cg.instance("attributes/cluster-name"),!0}catch{return!1}}async function pA(){return Cg.isAvailable()}});var el=V((Bx,wg)=>{var zi=Qn().Buffer,mA=X("stream"),gA=X("util");function Hi(t){if(this.buffer=null,this.writable=!0,this.readable=!0,!t)return this.buffer=zi.alloc(0),this;if(typeof t.pipe=="function")return this.buffer=zi.alloc(0),t.pipe(this),this;if(t.length||typeof t=="object")return this.buffer=t,this.writable=!1,process.nextTick(function(){this.emit("end",t),this.readable=!1,this.emit("close")}.bind(this)),this;throw new TypeError("Unexpected data type ("+typeof t+")")}gA.inherits(Hi,mA);Hi.prototype.write=function(e){this.buffer=zi.concat([this.buffer,zi.from(e)]),this.emit("data",e)};Hi.prototype.end=function(e){e&&this.write(e),this.emit("end",e),this.emit("close"),this.writable=!1,this.readable=!1};wg.exports=Hi});var Ag=V((Nx,Eg)=>{"use strict";var Go=X("buffer").Buffer,tl=X("buffer").SlowBuffer;Eg.exports=Wi;function Wi(t,e){if(!Go.isBuffer(t)||!Go.isBuffer(e)||t.length!==e.length)return!1;for(var r=0,n=0;n<t.length;n++)r|=t[n]^e[n];return r===0}Wi.install=function(){Go.prototype.equal=tl.prototype.equal=function(e){return Wi(this,e)}};var yA=Go.prototype.equal,_A=tl.prototype.equal;Wi.restore=function(){Go.prototype.equal=yA,tl.prototype.equal=_A}});var sl=V((Mx,Fg)=>{var to=Qn().Buffer,Rt=X("crypto"),kg=jc(),Sg=X("util"),bA=`"%s" is not a valid algorithm.
|
|
49
|
+
`+_+"}":"{"+y.join(",")+"}",n=_,A}}typeof vm.stringify!="function"&&(vm.stringify=function(d,f,p){var g;if(n="",o="",typeof p=="number")for(g=0;g<p;g+=1)o+=" ";else typeof p=="string"&&(o=p);if(a=f,f&&typeof f!="function"&&(typeof f!="object"||typeof f.length!="number"))throw new Error("JSON.stringify");return l("",{"":d})})})()});var xm=V((fx,Rm)=>{var Ri=null,qw=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,zw=/(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)/,Hw=function(t){"use strict";var e={strict:!1,storeAsString:!1,alwaysParseAsBig:!1,useNativeBigInt:!1,protoAction:"error",constructorAction:"error"};if(t!=null){if(t.strict===!0&&(e.strict=!0),t.storeAsString===!0&&(e.storeAsString=!0),e.alwaysParseAsBig=t.alwaysParseAsBig===!0?t.alwaysParseAsBig:!1,e.useNativeBigInt=t.useNativeBigInt===!0?t.useNativeBigInt:!1,typeof t.constructorAction<"u")if(t.constructorAction==="error"||t.constructorAction==="ignore"||t.constructorAction==="preserve")e.constructorAction=t.constructorAction;else throw new Error(`Incorrect value for constructorAction option, must be "error", "ignore" or undefined but passed ${t.constructorAction}`);if(typeof t.protoAction<"u")if(t.protoAction==="error"||t.protoAction==="ignore"||t.protoAction==="preserve")e.protoAction=t.protoAction;else throw new Error(`Incorrect value for protoAction option, must be "error", "ignore" or undefined but passed ${t.protoAction}`)}var r,n,o={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
|
|
50
|
+
`,r:"\r",t:" "},s,a=function(_){throw{name:"SyntaxError",message:_,at:r,text:s}},c=function(_){return _&&_!==n&&a("Expected '"+_+"' instead of '"+n+"'"),n=s.charAt(r),r+=1,n},l=function(){var _,y="";for(n==="-"&&(y="-",c("-"));n>="0"&&n<="9";)y+=n,c();if(n===".")for(y+=".";c()&&n>="0"&&n<="9";)y+=n;if(n==="e"||n==="E")for(y+=n,c(),(n==="-"||n==="+")&&(y+=n,c());n>="0"&&n<="9";)y+=n,c();if(_=+y,!isFinite(_))a("Bad number");else return Ri==null&&(Ri=Cc()),y.length>15?e.storeAsString?y:e.useNativeBigInt?BigInt(y):new Ri(y):e.alwaysParseAsBig?e.useNativeBigInt?BigInt(_):new Ri(_):_},d=function(){var _,y,m="",v;if(n==='"')for(var b=r;c();){if(n==='"')return r-1>b&&(m+=s.substring(b,r-1)),c(),m;if(n==="\\"){if(r-1>b&&(m+=s.substring(b,r-1)),c(),n==="u"){for(v=0,y=0;y<4&&(_=parseInt(c(),16),!!isFinite(_));y+=1)v=v*16+_;m+=String.fromCharCode(v)}else if(typeof o[n]=="string")m+=o[n];else break;b=r}}a("Bad string")},f=function(){for(;n&&n<=" ";)c()},p=function(){switch(n){case"t":return c("t"),c("r"),c("u"),c("e"),!0;case"f":return c("f"),c("a"),c("l"),c("s"),c("e"),!1;case"n":return c("n"),c("u"),c("l"),c("l"),null}a("Unexpected '"+n+"'")},g,A=function(){var _=[];if(n==="["){if(c("["),f(),n==="]")return c("]"),_;for(;n;){if(_.push(g()),f(),n==="]")return c("]"),_;c(","),f()}}a("Bad array")},w=function(){var _,y=Object.create(null);if(n==="{"){if(c("{"),f(),n==="}")return c("}"),y;for(;n;){if(_=d(),f(),c(":"),e.strict===!0&&Object.hasOwnProperty.call(y,_)&&a('Duplicate key "'+_+'"'),qw.test(_)===!0?e.protoAction==="error"?a("Object contains forbidden prototype property"):e.protoAction==="ignore"?g():y[_]=g():zw.test(_)===!0?e.constructorAction==="error"?a("Object contains forbidden constructor property"):e.constructorAction==="ignore"?g():y[_]=g():y[_]=g(),f(),n==="}")return c("}"),y;c(","),f()}}a("Bad object")};return g=function(){switch(f(),n){case"{":return w();case"[":return A();case'"':return d();case"-":return l();default:return n>="0"&&n<="9"?l():p()}},function(_,y){var m;return s=_+"",r=0,n=" ",m=g(),f(),n&&a("Syntax error"),typeof y=="function"?(function v(b,S){var D,O,q=b[S];return q&&typeof q=="object"&&Object.keys(q).forEach(function(J){O=v(q,J),O!==void 0?q[J]=O:delete q[J]}),y.call(b,S,q)})({"":m},""):m}};Rm.exports=Hw});var Pm=V((hx,xi)=>{var Om=Dm().stringify,Fm=xm();xi.exports=function(t){return{parse:Fm(t),stringify:Om}};xi.exports.parse=Fm();xi.exports.stringify=Om});var wc=V($t=>{"use strict";Object.defineProperty($t,"__esModule",{value:!0});$t.GCE_LINUX_BIOS_PATHS=void 0;$t.isGoogleCloudServerless=Nm;$t.isGoogleComputeEngineLinux=Mm;$t.isGoogleComputeEngineMACAddress=jm;$t.isGoogleComputeEngine=Lm;$t.detectGCPResidency=Gw;var Im=X("fs"),Bm=X("os");$t.GCE_LINUX_BIOS_PATHS={BIOS_DATE:"/sys/class/dmi/id/bios_date",BIOS_VENDOR:"/sys/class/dmi/id/bios_vendor"};var Ww=/^42:01/;function Nm(){return!!(process.env.CLOUD_RUN_JOB||process.env.FUNCTION_NAME||process.env.K_SERVICE)}function Mm(){if((0,Bm.platform)()!=="linux")return!1;try{(0,Im.statSync)($t.GCE_LINUX_BIOS_PATHS.BIOS_DATE);let t=(0,Im.readFileSync)($t.GCE_LINUX_BIOS_PATHS.BIOS_VENDOR,"utf8");return/Google/.test(t)}catch{return!1}}function jm(){let t=(0,Bm.networkInterfaces)();for(let e of Object.values(t))if(e){for(let{mac:r}of e)if(Ww.test(r))return!0}return!1}function Lm(){return Mm()||jm()}function Gw(){return Nm()||Lm()}});var Um=V(Oi=>{"use strict";Object.defineProperty(Oi,"__esModule",{value:!0});Oi.Colours=void 0;var Xe=class t{static isEnabled(e){return e&&e.isTTY&&(typeof e.getColorDepth=="function"?e.getColorDepth()>2:!0)}static refresh(){t.enabled=t.isEnabled(process==null?void 0:process.stderr),this.enabled?(t.reset="\x1B[0m",t.bright="\x1B[1m",t.dim="\x1B[2m",t.red="\x1B[31m",t.green="\x1B[32m",t.yellow="\x1B[33m",t.blue="\x1B[34m",t.magenta="\x1B[35m",t.cyan="\x1B[36m",t.white="\x1B[37m",t.grey="\x1B[90m"):(t.reset="",t.bright="",t.dim="",t.red="",t.green="",t.yellow="",t.blue="",t.magenta="",t.cyan="",t.white="",t.grey="")}};Oi.Colours=Xe;Xe.enabled=!1;Xe.reset="";Xe.bright="";Xe.dim="";Xe.red="";Xe.green="";Xe.yellow="";Xe.blue="";Xe.magenta="";Xe.cyan="";Xe.white="";Xe.grey="";Xe.refresh()});var Hm=V(Te=>{"use strict";var Jw=Te&&Te.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Vw=Te&&Te.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),$m=Te&&Te.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&Jw(r,e,n[o]);return Vw(r,e),r}})();Object.defineProperty(Te,"__esModule",{value:!0});Te.env=Te.DebugLogBackendBase=Te.placeholder=Te.AdhocDebugLogger=Te.LogSeverity=void 0;Te.getNodeBackend=Ac;Te.getDebugBackend=Yw;Te.getStructuredBackend=Qw;Te.setBackend=Xw;Te.log=zm;var Kw=X("events"),Lo=$m(X("process")),qm=$m(X("util")),mt=Um(),qt;(function(t){t.DEFAULT="DEFAULT",t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR"})(qt||(Te.LogSeverity=qt={}));var Uo=class extends Kw.EventEmitter{constructor(e,r){super(),this.namespace=e,this.upstream=r,this.func=Object.assign(this.invoke.bind(this),{instance:this,on:(n,o)=>this.on(n,o)}),this.func.debug=(...n)=>this.invokeSeverity(qt.DEBUG,...n),this.func.info=(...n)=>this.invokeSeverity(qt.INFO,...n),this.func.warn=(...n)=>this.invokeSeverity(qt.WARNING,...n),this.func.error=(...n)=>this.invokeSeverity(qt.ERROR,...n),this.func.sublog=n=>zm(n,this.func)}invoke(e,...r){if(this.upstream)try{this.upstream(e,...r)}catch{}try{this.emit("log",e,r)}catch{}}invokeSeverity(e,...r){this.invoke({severity:e},...r)}};Te.AdhocDebugLogger=Uo;Te.placeholder=new Uo("",()=>{}).func;var Vn=class{constructor(){var e;this.cached=new Map,this.filters=[],this.filtersSet=!1;let r=(e=Lo.env[Te.env.nodeEnables])!==null&&e!==void 0?e:"*";r==="all"&&(r="*"),this.filters=r.split(",")}log(e,r,...n){try{this.filtersSet||(this.setFilters(),this.filtersSet=!0);let o=this.cached.get(e);o||(o=this.makeLogger(e),this.cached.set(e,o)),o(r,...n)}catch(o){console.error(o)}}};Te.DebugLogBackendBase=Vn;var Ec=class extends Vn{constructor(){super(...arguments),this.enabledRegexp=/.*/g}isEnabled(e){return this.enabledRegexp.test(e)}makeLogger(e){return this.enabledRegexp.test(e)?(r,...n)=>{var o;let s=`${mt.Colours.green}${e}${mt.Colours.reset}`,a=`${mt.Colours.yellow}${Lo.pid}${mt.Colours.reset}`,c;switch(r.severity){case qt.ERROR:c=`${mt.Colours.red}${r.severity}${mt.Colours.reset}`;break;case qt.INFO:c=`${mt.Colours.magenta}${r.severity}${mt.Colours.reset}`;break;case qt.WARNING:c=`${mt.Colours.yellow}${r.severity}${mt.Colours.reset}`;break;default:c=(o=r.severity)!==null&&o!==void 0?o:qt.DEFAULT;break}let l=qm.formatWithOptions({colors:mt.Colours.enabled},...n),d=Object.assign({},r);delete d.severity;let f=Object.getOwnPropertyNames(d).length?JSON.stringify(d):"",p=f?`${mt.Colours.grey}${f}${mt.Colours.reset}`:"";console.error("%s [%s|%s] %s%s",a,s,c,l,f?` ${p}`:"")}:()=>{}}setFilters(){let r=this.filters.join(",").replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^");this.enabledRegexp=new RegExp(`^${r}$`,"i")}};function Ac(){return new Ec}var Sc=class extends Vn{constructor(e){super(),this.debugPkg=e}makeLogger(e){let r=this.debugPkg(e);return(n,...o)=>{r(o[0],...o.slice(1))}}setFilters(){var e;let r=(e=Lo.env.NODE_DEBUG)!==null&&e!==void 0?e:"";Lo.env.NODE_DEBUG=`${r}${r?",":""}${this.filters.join(",")}`}};function Yw(t){return new Sc(t)}var kc=class extends Vn{constructor(e){var r;super(),this.upstream=(r=e)!==null&&r!==void 0?r:void 0}makeLogger(e){var r;let n=(r=this.upstream)===null||r===void 0?void 0:r.makeLogger(e);return(o,...s)=>{var a;let c=(a=o.severity)!==null&&a!==void 0?a:qt.INFO,l=Object.assign({severity:c,message:qm.format(...s)},o),d=JSON.stringify(l);n?n(o,d):console.log("%s",d)}}setFilters(){var e;(e=this.upstream)===null||e===void 0||e.setFilters()}};function Qw(t){return new kc(t)}Te.env={nodeEnables:"GOOGLE_SDK_NODE_LOGGING"};var vc=new Map,gt;function Xw(t){gt=t,vc.clear()}function zm(t,e){if(!gt&&!Lo.env[Te.env.nodeEnables]||!t)return Te.placeholder;e&&(t=`${e.instance.namespace}:${t}`);let r=vc.get(t);if(r)return r.func;if(gt===null)return Te.placeholder;gt===void 0&&(gt=Ac());let n=(()=>{let o;return new Uo(t,(a,...c)=>{if(o!==gt){if(gt===null)return;gt===void 0&&(gt=Ac()),o=gt}gt?.log(t,a,...c)})})();return vc.set(t,n),n.func}});var Tc=V(pn=>{"use strict";var Zw=pn&&pn.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),eE=pn&&pn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Zw(e,t,r)};Object.defineProperty(pn,"__esModule",{value:!0});eE(Hm(),pn)});var qo=V(ae=>{"use strict";var Gm=ae&&ae.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),tE=ae&&ae.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),rE=ae&&ae.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&Gm(r,e,n[o]);return tE(r,e),r}})(),nE=ae&&ae.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Gm(e,t,r)};Object.defineProperty(ae,"__esModule",{value:!0});ae.gcpResidencyCache=ae.METADATA_SERVER_DETECTION=ae.HEADERS=ae.HEADER_VALUE=ae.HEADER_NAME=ae.SECONDARY_HOST_ADDRESS=ae.HOST_ADDRESS=ae.BASE_PATH=void 0;ae.instance=cE;ae.project=lE;ae.universe=dE;ae.bulk=fE;ae.isAvailable=pE;ae.resetIsAvailableCache=mE;ae.getGCPResidency=xc;ae.setGCPResidency=Jm;ae.requestTimeout=Vm;var Dc=Ke(),oE=Pm(),sE=wc(),iE=rE(Tc());ae.BASE_PATH="/computeMetadata/v1";ae.HOST_ADDRESS="http://169.254.169.254";ae.SECONDARY_HOST_ADDRESS="http://metadata.google.internal.";ae.HEADER_NAME="Metadata-Flavor";ae.HEADER_VALUE="Google";ae.HEADERS=Object.freeze({[ae.HEADER_NAME]:ae.HEADER_VALUE});var Wm=iE.log("gcp-metadata");ae.METADATA_SERVER_DETECTION=Object.freeze({"assume-present":"don't try to ping the metadata server, but assume it's present",none:"don't try to ping the metadata server, but don't try to use it either","bios-only":"treat the result of a BIOS probe as canonical (don't fall back to pinging)","ping-only":"skip the BIOS probe, and go straight to pinging"});function Rc(t){return t||(t=process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST||ae.HOST_ADDRESS),/^https?:\/\//.test(t)||(t=`http://${t}`),new URL(ae.BASE_PATH,t).href}function aE(t){Object.keys(t).forEach(e=>{switch(e){case"params":case"property":case"headers":break;case"qs":throw new Error("'qs' is not a valid configuration option. Please use 'params' instead.");default:throw new Error(`'${e}' is not a valid configuration option.`)}})}async function $o(t,e={},r=3,n=!1){let o=new Headers(ae.HEADERS),s="",a={};if(typeof t=="object"){let p=t;new Headers(p.headers).forEach((g,A)=>o.set(A,g)),s=p.metadataKey,a=p.params||a,r=p.noResponseRetries||r,n=p.fastFail||n}else s=t;typeof e=="string"?s+=`/${e}`:(aE(e),e.property&&(s+=`/${e.property}`),new Headers(e.headers).forEach((p,g)=>o.set(g,p)),a=e.params||a);let c=n?uE:Dc.request,l={url:`${Rc()}/${s}`,headers:o,retryConfig:{noResponseRetries:r},params:a,responseType:"text",timeout:Vm()};Wm.info("instance request %j",l);let d=await c(l);Wm.info("instance metadata is %s",d.data);let f=d.headers.get(ae.HEADER_NAME);if(f!==ae.HEADER_VALUE)throw new RangeError(`Invalid response from metadata service: incorrect ${ae.HEADER_NAME} header. Expected '${ae.HEADER_VALUE}', got ${f?`'${f}'`:"no header"}`);if(typeof d.data=="string")try{return oE.parse(d.data)}catch{}return d.data}async function uE(t){let e={...t,url:t.url?.toString().replace(Rc(),Rc(ae.SECONDARY_HOST_ADDRESS))},r=(0,Dc.request)(t),n=(0,Dc.request)(e);return Promise.any([r,n])}function cE(t){return $o("instance",t)}function lE(t){return $o("project",t)}function dE(t){return $o("universe",t)}async function fE(t){let e={};return await Promise.all(t.map(r=>(async()=>{let n=await $o(r),o=r.metadataKey;e[o]=n})())),e}function hE(){return process.env.DETECT_GCP_RETRIES?Number(process.env.DETECT_GCP_RETRIES):0}var Fi;async function pE(){if(process.env.METADATA_SERVER_DETECTION){let t=process.env.METADATA_SERVER_DETECTION.trim().toLocaleLowerCase();if(!(t in ae.METADATA_SERVER_DETECTION))throw new RangeError(`Unknown \`METADATA_SERVER_DETECTION\` env variable. Got \`${t}\`, but it should be \`${Object.keys(ae.METADATA_SERVER_DETECTION).join("`, `")}\`, or unset`);switch(t){case"assume-present":return!0;case"none":return!1;case"bios-only":return xc();case"ping-only":}}try{return Fi===void 0&&(Fi=$o("instance",void 0,hE(),!(process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST))),await Fi,!0}catch(t){let e=t;if(process.env.DEBUG_AUTH&&console.info(e),e.type==="request-timeout"||e.response&&e.response.status===404)return!1;if(!(e.response&&e.response.status===404)&&(!e.code||!["EHOSTDOWN","EHOSTUNREACH","ENETUNREACH","ENOENT","ENOTFOUND","ECONNREFUSED"].includes(e.code.toString()))){let r="UNKNOWN";e.code&&(r=e.code.toString()),process.emitWarning(`received unexpected error = ${e.message} code = ${r}`,"MetadataLookupWarning")}return!1}}function mE(){Fi=void 0}ae.gcpResidencyCache=null;function xc(){return ae.gcpResidencyCache===null&&Jm(),ae.gcpResidencyCache}function Jm(t=null){ae.gcpResidencyCache=t!==null?t:(0,sE.detectGCPResidency)()}function Vm(){return xc()?0:3e3}nE(wc(),ae)});var Qm=V(Pi=>{"use strict";Pi.byteLength=yE;Pi.toByteArray=bE;Pi.fromByteArray=EE;var er=[],Dt=[],gE=typeof Uint8Array<"u"?Uint8Array:Array,Oc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(mn=0,Km=Oc.length;mn<Km;++mn)er[mn]=Oc[mn],Dt[Oc.charCodeAt(mn)]=mn;var mn,Km;Dt[45]=62;Dt[95]=63;function Ym(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");r===-1&&(r=e);var n=r===e?0:4-r%4;return[r,n]}function yE(t){var e=Ym(t),r=e[0],n=e[1];return(r+n)*3/4-n}function _E(t,e,r){return(e+r)*3/4-r}function bE(t){var e,r=Ym(t),n=r[0],o=r[1],s=new gE(_E(t,n,o)),a=0,c=o>0?n-4:n,l;for(l=0;l<c;l+=4)e=Dt[t.charCodeAt(l)]<<18|Dt[t.charCodeAt(l+1)]<<12|Dt[t.charCodeAt(l+2)]<<6|Dt[t.charCodeAt(l+3)],s[a++]=e>>16&255,s[a++]=e>>8&255,s[a++]=e&255;return o===2&&(e=Dt[t.charCodeAt(l)]<<2|Dt[t.charCodeAt(l+1)]>>4,s[a++]=e&255),o===1&&(e=Dt[t.charCodeAt(l)]<<10|Dt[t.charCodeAt(l+1)]<<4|Dt[t.charCodeAt(l+2)]>>2,s[a++]=e>>8&255,s[a++]=e&255),s}function CE(t){return er[t>>18&63]+er[t>>12&63]+er[t>>6&63]+er[t&63]}function wE(t,e,r){for(var n,o=[],s=e;s<r;s+=3)n=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(t[s+2]&255),o.push(CE(n));return o.join("")}function EE(t){for(var e,r=t.length,n=r%3,o=[],s=16383,a=0,c=r-n;a<c;a+=s)o.push(wE(t,a,a+s>c?c:a+s));return n===1?(e=t[r-1],o.push(er[e>>2]+er[e<<4&63]+"==")):n===2&&(e=(t[r-2]<<8)+t[r-1],o.push(er[e>>10]+er[e>>4&63]+er[e<<2&63]+"=")),o.join("")}});var Pc=V(Fc=>{"use strict";Object.defineProperty(Fc,"__esModule",{value:!0});Fc.fromArrayBufferToHex=AE;function AE(t){return Array.from(new Uint8Array(t)).map(r=>r.toString(16).padStart(2,"0")).join("")}});var Xm=V(Ii=>{"use strict";Object.defineProperty(Ii,"__esModule",{value:!0});Ii.BrowserCrypto=void 0;var Kn=Qm(),SE=Pc(),Ic=class t{constructor(){if(typeof window>"u"||window.crypto===void 0||window.crypto.subtle===void 0)throw new Error("SubtleCrypto not found. Make sure it's an https:// website.")}async sha256DigestBase64(e){let r=new TextEncoder().encode(e),n=await window.crypto.subtle.digest("SHA-256",r);return Kn.fromByteArray(new Uint8Array(n))}randomBytesBase64(e){let r=new Uint8Array(e);return window.crypto.getRandomValues(r),Kn.fromByteArray(r)}static padBase64(e){for(;e.length%4!==0;)e+="=";return e}async verify(e,r,n){let o={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},s=new TextEncoder().encode(r),a=Kn.toByteArray(t.padBase64(n)),c=await window.crypto.subtle.importKey("jwk",e,o,!0,["verify"]);return await window.crypto.subtle.verify(o,c,a,s)}async sign(e,r){let n={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},o=new TextEncoder().encode(r),s=await window.crypto.subtle.importKey("jwk",e,n,!0,["sign"]),a=await window.crypto.subtle.sign(n,s,o);return Kn.fromByteArray(new Uint8Array(a))}decodeBase64StringUtf8(e){let r=Kn.toByteArray(t.padBase64(e));return new TextDecoder().decode(r)}encodeBase64StringUtf8(e){let r=new TextEncoder().encode(e);return Kn.fromByteArray(r)}async sha256DigestHex(e){let r=new TextEncoder().encode(e),n=await window.crypto.subtle.digest("SHA-256",r);return(0,SE.fromArrayBufferToHex)(n)}async signWithHmacSha256(e,r){let n=typeof e=="string"?e:String.fromCharCode(...new Uint16Array(e)),o=new TextEncoder,s=await window.crypto.subtle.importKey("raw",o.encode(n),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return window.crypto.subtle.sign("HMAC",s,o.encode(r))}};Ii.BrowserCrypto=Ic});var Zm=V(Bi=>{"use strict";Object.defineProperty(Bi,"__esModule",{value:!0});Bi.NodeCrypto=void 0;var Yn=X("crypto"),Bc=class{async sha256DigestBase64(e){return Yn.createHash("sha256").update(e).digest("base64")}randomBytesBase64(e){return Yn.randomBytes(e).toString("base64")}async verify(e,r,n){let o=Yn.createVerify("RSA-SHA256");return o.update(r),o.end(),o.verify(e,n,"base64")}async sign(e,r){let n=Yn.createSign("RSA-SHA256");return n.update(r),n.end(),n.sign(e,"base64")}decodeBase64StringUtf8(e){return Buffer.from(e,"base64").toString("utf-8")}encodeBase64StringUtf8(e){return Buffer.from(e,"utf-8").toString("base64")}async sha256DigestHex(e){return Yn.createHash("sha256").update(e).digest("hex")}async signWithHmacSha256(e,r){let n=typeof e=="string"?e:vE(e);return kE(Yn.createHmac("sha256",n).update(r).digest())}};Bi.NodeCrypto=Bc;function kE(t){return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}function vE(t){return Buffer.from(t)}});var zo=V(wr=>{"use strict";var TE=wr&&wr.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),DE=wr&&wr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&TE(e,t,r)};Object.defineProperty(wr,"__esModule",{value:!0});wr.createCrypto=OE;wr.hasBrowserCrypto=eg;var RE=Xm(),xE=Zm();DE(Pc(),wr);function OE(){return eg()?new RE.BrowserCrypto:new xE.NodeCrypto}function eg(){return typeof window<"u"&&typeof window.crypto<"u"&&typeof window.crypto.subtle<"u"}});var Qn=V((Nc,rg)=>{var Ni=X("buffer"),tr=Ni.Buffer;function tg(t,e){for(var r in t)e[r]=t[r]}tr.from&&tr.alloc&&tr.allocUnsafe&&tr.allocUnsafeSlow?rg.exports=Ni:(tg(Ni,Nc),Nc.Buffer=gn);function gn(t,e,r){return tr(t,e,r)}gn.prototype=Object.create(tr.prototype);tg(tr,gn);gn.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return tr(t,e,r)};gn.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var n=tr(t);return e!==void 0?typeof r=="string"?n.fill(e,r):n.fill(e):n.fill(0),n};gn.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return tr(t)};gn.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return Ni.SlowBuffer(t)}});var og=V((Sx,ng)=>{"use strict";function Mc(t){var e=(t/8|0)+(t%8===0?0:1);return e}var FE={ES256:Mc(256),ES384:Mc(384),ES512:Mc(521)};function PE(t){var e=FE[t];if(e)return e;throw new Error('Unknown algorithm "'+t+'"')}ng.exports=PE});var jc=V((kx,lg)=>{"use strict";var Mi=Qn().Buffer,ig=og(),ji=128,ag=0,IE=32,BE=16,NE=2,ug=BE|IE|ag<<6,Li=NE|ag<<6;function ME(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function cg(t){if(Mi.isBuffer(t))return t;if(typeof t=="string")return Mi.from(t,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function jE(t,e){t=cg(t);var r=ig(e),n=r+1,o=t.length,s=0;if(t[s++]!==ug)throw new Error('Could not find expected "seq"');var a=t[s++];if(a===(ji|1)&&(a=t[s++]),o-s<a)throw new Error('"seq" specified length of "'+a+'", only "'+(o-s)+'" remaining');if(t[s++]!==Li)throw new Error('Could not find expected "int" for "r"');var c=t[s++];if(o-s-2<c)throw new Error('"r" specified length of "'+c+'", only "'+(o-s-2)+'" available');if(n<c)throw new Error('"r" specified length of "'+c+'", max of "'+n+'" is acceptable');var l=s;if(s+=c,t[s++]!==Li)throw new Error('Could not find expected "int" for "s"');var d=t[s++];if(o-s!==d)throw new Error('"s" specified length of "'+d+'", expected "'+(o-s)+'"');if(n<d)throw new Error('"s" specified length of "'+d+'", max of "'+n+'" is acceptable');var f=s;if(s+=d,s!==o)throw new Error('Expected to consume entire buffer, but "'+(o-s)+'" bytes remain');var p=r-c,g=r-d,A=Mi.allocUnsafe(p+c+g+d);for(s=0;s<p;++s)A[s]=0;t.copy(A,s,l+Math.max(-p,0),l+c),s=r;for(var w=s;s<w+g;++s)A[s]=0;return t.copy(A,s,f+Math.max(-g,0),f+d),A=A.toString("base64"),A=ME(A),A}function sg(t,e,r){for(var n=0;e+n<r&&t[e+n]===0;)++n;var o=t[e+n]>=ji;return o&&--n,n}function LE(t,e){t=cg(t);var r=ig(e),n=t.length;if(n!==r*2)throw new TypeError('"'+e+'" signatures must be "'+r*2+'" bytes, saw "'+n+'"');var o=sg(t,0,r),s=sg(t,r,t.length),a=r-o,c=r-s,l=2+a+1+1+c,d=l<ji,f=Mi.allocUnsafe((d?2:3)+l),p=0;return f[p++]=ug,d?f[p++]=l:(f[p++]=ji|1,f[p++]=l&255),f[p++]=Li,f[p++]=a,o<0?(f[p++]=0,p+=t.copy(f,p,0,r)):p+=t.copy(f,p,o,r),f[p++]=Li,f[p++]=c,s<0?(f[p++]=0,t.copy(f,p,r)):t.copy(f,p,r+s),f}lg.exports={derToJose:jE,joseToDer:LE}});var zt=V(Er=>{"use strict";Object.defineProperty(Er,"__esModule",{value:!0});Er.LRUCache=void 0;Er.snakeToCamel=fg;Er.originalOrCamelOptions=zE;Er.removeUndefinedValuesInObject=HE;Er.isValidFile=WE;Er.getWellKnownCertificateConfigFileLocation=GE;var UE=X("fs"),$E=X("os"),Lc=X("path"),qE="certificate_config.json",dg="gcloud";function fg(t){return t.replace(/([_][^_])/g,e=>e.slice(1).toUpperCase())}function zE(t){function e(r){let n=t||{};return n[r]??n[fg(r)]}return{get:e}}var Uc=class{capacity;#e=new Map;maxAge;constructor(e){this.capacity=e.capacity,this.maxAge=e.maxAge}#t(e,r){this.#e.delete(e),this.#e.set(e,{value:r,lastAccessed:Date.now()})}set(e,r){this.#t(e,r),this.#r()}get(e){let r=this.#e.get(e);if(r)return this.#t(e,r.value),this.#r(),r.value}#r(){let e=this.maxAge?Date.now()-this.maxAge:0,r=this.#e.entries().next();for(;!r.done&&(this.#e.size>this.capacity||r.value[1].lastAccessed<e);)this.#e.delete(r.value[0]),r=this.#e.entries().next()}};Er.LRUCache=Uc;function HE(t){return Object.entries(t).forEach(([e,r])=>{(r===void 0||r==="undefined")&&delete t[e]}),t}async function WE(t){try{return(await UE.promises.lstat(t)).isFile()}catch{return!1}}function GE(){let t=process.env.CLOUDSDK_CONFIG||(JE()?Lc.join(process.env.APPDATA||"",dg):Lc.join(process.env.HOME||"",".config",dg));return Lc.join(t,qE)}function JE(){return $E.platform().startsWith("win")}});var hg=V((Tx,VE)=>{VE.exports={name:"google-auth-library",version:"10.4.0",author:"Google Inc.",description:"Google APIs Authentication Client Library for Node.js",engines:{node:">=18"},main:"./build/src/index.js",types:"./build/src/index.d.ts",repository:"googleapis/google-auth-library-nodejs.git",keywords:["google","api","google apis","client","client library"],dependencies:{"base64-js":"^1.3.0","ecdsa-sig-formatter":"^1.0.11",gaxios:"^7.0.0","gcp-metadata":"^7.0.0","google-logging-utils":"^1.0.0",gtoken:"^8.0.0",jws:"^4.0.0"},devDependencies:{"@types/base64-js":"^1.2.5","@types/jws":"^3.1.0","@types/mocha":"^10.0.10","@types/mv":"^2.1.0","@types/ncp":"^2.0.1","@types/node":"^22.0.0","@types/sinon":"^17.0.0","assert-rejects":"^1.0.0",c8:"^10.0.0",codecov:"^3.0.2",gts:"^6.0.0","is-docker":"^3.0.0",jsdoc:"^4.0.0","jsdoc-fresh":"^4.0.0","jsdoc-region-tag":"^3.0.0",karma:"^6.0.0","karma-chrome-launcher":"^3.0.0","karma-coverage":"^2.0.0","karma-firefox-launcher":"^2.0.0","karma-mocha":"^2.0.0","karma-sourcemap-loader":"^0.4.0","karma-webpack":"^5.0.1",keypair:"^1.0.4",linkinator:"^6.1.2",mocha:"^11.1.0",mv:"^2.1.1",ncp:"^2.0.0",nock:"^14.0.5","null-loader":"^4.0.0",puppeteer:"^24.0.0",sinon:"^21.0.0","ts-loader":"^8.0.0",typescript:"5.8.2",webpack:"^5.21.2","webpack-cli":"^4.0.0"},files:["build/src","!build/src/**/*.map"],scripts:{test:"c8 mocha build/test",clean:"gts clean",prepare:"npm run compile",lint:"gts check --no-inline-config",compile:"tsc -p .",fix:"gts fix",pretest:"npm run compile -- --sourceMap",docs:"jsdoc -c .jsdoc.js","samples-setup":"cd samples/ && npm link ../ && npm run setup && cd ../","samples-test":"cd samples/ && npm link ../ && npm test && cd ../","system-test":"mocha build/system-test --timeout 60000","presystem-test":"npm run compile -- --sourceMap",webpack:"webpack","browser-test":"karma start","docs-test":"linkinator docs","predocs-test":"npm run docs",prelint:"cd samples; npm link ../; npm install"},license:"Apache-2.0"}});var $c=V(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.USER_AGENT=Gr.PRODUCT_NAME=Gr.pkg=void 0;var pg=hg();Gr.pkg=pg;var mg="google-api-nodejs-client";Gr.PRODUCT_NAME=mg;var KE=`${mg}/${pg.version}`;Gr.USER_AGENT=KE});var yt=V(Ht=>{"use strict";Object.defineProperty(Ht,"__esModule",{value:!0});Ht.AuthClient=Ht.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=Ht.DEFAULT_UNIVERSE=void 0;var YE=X("events"),qc=Ke(),QE=zt(),XE=Tc(),zc=$c();Ht.DEFAULT_UNIVERSE="googleapis.com";Ht.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=300*1e3;var Hc=class t extends YE.EventEmitter{apiKey;projectId;quotaProjectId;transporter;credentials={};eagerRefreshThresholdMillis=Ht.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS;forceRefreshOnFailure=!1;universeDomain=Ht.DEFAULT_UNIVERSE;static RequestMethodNameSymbol=Symbol("request method name");static RequestLogIdSymbol=Symbol("request log id");constructor(e={}){super();let r=(0,QE.originalOrCamelOptions)(e);this.apiKey=e.apiKey,this.projectId=r.get("project_id")??null,this.quotaProjectId=r.get("quota_project_id"),this.credentials=r.get("credentials")??{},this.universeDomain=r.get("universe_domain")??Ht.DEFAULT_UNIVERSE,this.transporter=e.transporter??new qc.Gaxios(e.transporterOptions),r.get("useAuthRequestParameters")!==!1&&(this.transporter.interceptors.request.add(t.DEFAULT_REQUEST_INTERCEPTOR),this.transporter.interceptors.response.add(t.DEFAULT_RESPONSE_INTERCEPTOR)),e.eagerRefreshThresholdMillis&&(this.eagerRefreshThresholdMillis=e.eagerRefreshThresholdMillis),this.forceRefreshOnFailure=e.forceRefreshOnFailure??!1}fetch(...e){let r=e[0],n=e[1],o,s=new Headers;return typeof r=="string"?o=new URL(r):r instanceof URL?o=r:r&&r.url&&(o=new URL(r.url)),r&&typeof r=="object"&&"headers"in r&&qc.Gaxios.mergeHeaders(s,r.headers),n&&qc.Gaxios.mergeHeaders(s,new Headers(n.headers)),typeof r=="object"&&!(r instanceof URL)?this.request({...n,...r,headers:s,url:o}):this.request({...n,headers:s,url:o})}setCredentials(e){this.credentials=e}addSharedMetadataHeaders(e){return!e.has("x-goog-user-project")&&this.quotaProjectId&&e.set("x-goog-user-project",this.quotaProjectId),e}addUserProjectAndAuthHeaders(e,r){let n=r.get("x-goog-user-project"),o=r.get("authorization");return n&&e.set("x-goog-user-project",n),o&&e.set("authorization",o),e}static log=(0,XE.log)("auth");static DEFAULT_REQUEST_INTERCEPTOR={resolved:async e=>{if(!e.headers.has("x-goog-api-client")){let n=process.version.replace(/^v/,"");e.headers.set("x-goog-api-client",`gl-node/${n}`)}let r=e.headers.get("User-Agent");r?r.includes(`${zc.PRODUCT_NAME}/`)||e.headers.set("User-Agent",`${r} ${zc.USER_AGENT}`):e.headers.set("User-Agent",zc.USER_AGENT);try{let n=e,o=n[t.RequestMethodNameSymbol],s=`${Math.floor(Math.random()*1e3)}`;n[t.RequestLogIdSymbol]=s;let a={url:e.url,headers:e.headers};o?t.log.info("%s [%s] request %j",o,s,a):t.log.info("[%s] request %j",s,a)}catch{}return e}};static DEFAULT_RESPONSE_INTERCEPTOR={resolved:async e=>{try{let r=e.config,n=r[t.RequestMethodNameSymbol],o=r[t.RequestLogIdSymbol];n?t.log.info("%s [%s] response %j",n,o,e.data):t.log.info("[%s] response %j",o,e.data)}catch{}return e},rejected:async e=>{try{let r=e.config,n=r[t.RequestMethodNameSymbol],o=r[t.RequestLogIdSymbol];n?t.log.info("%s [%s] error %j",n,o,e.response?.data):t.log.error("[%s] error %j",o,e.response?.data)}catch{}throw e}};static setMethodName(e,r){try{let n=e;n[t.RequestMethodNameSymbol]=r}catch{}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}};Ht.AuthClient=Hc});var Gc=V(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});Ui.LoginTicket=void 0;var Wc=class{envelope;payload;constructor(e,r){this.envelope=e,this.payload=r}getEnvelope(){return this.envelope}getPayload(){return this.payload}getUserId(){let e=this.getPayload();return e&&e.sub?e.sub:null}getAttributes(){return{envelope:this.getEnvelope(),payload:this.getPayload()}}};Ui.LoginTicket=Wc});var yn=V(rr=>{"use strict";Object.defineProperty(rr,"__esModule",{value:!0});rr.OAuth2Client=rr.ClientAuthentication=rr.CertificateFormat=rr.CodeChallengeMethod=void 0;var gg=Ke(),ZE=X("querystring"),eA=X("stream"),tA=jc(),yg=zt(),Jc=zo(),Xn=yt(),rA=Gc(),_g;(function(t){t.Plain="plain",t.S256="S256"})(_g||(rr.CodeChallengeMethod=_g={}));var Ar;(function(t){t.PEM="PEM",t.JWK="JWK"})(Ar||(rr.CertificateFormat=Ar={}));var Ho;(function(t){t.ClientSecretPost="ClientSecretPost",t.ClientSecretBasic="ClientSecretBasic",t.None="None"})(Ho||(rr.ClientAuthentication=Ho={}));var Vc=class t extends Xn.AuthClient{redirectUri;certificateCache={};certificateExpiry=null;certificateCacheFormat=Ar.PEM;refreshTokenPromises=new Map;endpoints;issuers;clientAuthentication;_clientId;_clientSecret;refreshHandler;constructor(e={},r,n){super(typeof e=="object"?e:{}),typeof e!="object"&&(e={clientId:e,clientSecret:r,redirectUri:n}),this._clientId=e.clientId||e.client_id,this._clientSecret=e.clientSecret||e.client_secret,this.redirectUri=e.redirectUri||e.redirect_uris?.[0],this.endpoints={tokenInfoUrl:"https://oauth2.googleapis.com/tokeninfo",oauth2AuthBaseUrl:"https://accounts.google.com/o/oauth2/v2/auth",oauth2TokenUrl:"https://oauth2.googleapis.com/token",oauth2RevokeUrl:"https://oauth2.googleapis.com/revoke",oauth2FederatedSignonPemCertsUrl:"https://www.googleapis.com/oauth2/v1/certs",oauth2FederatedSignonJwkCertsUrl:"https://www.googleapis.com/oauth2/v3/certs",oauth2IapPublicKeyUrl:"https://www.gstatic.com/iap/verify/public_key",...e.endpoints},this.clientAuthentication=e.clientAuthentication||Ho.ClientSecretPost,this.issuers=e.issuers||["accounts.google.com","https://accounts.google.com",this.universeDomain]}static GOOGLE_TOKEN_INFO_URL="https://oauth2.googleapis.com/tokeninfo";static CLOCK_SKEW_SECS_=300;static DEFAULT_MAX_TOKEN_LIFETIME_SECS_=86400;generateAuthUrl(e={}){if(e.code_challenge_method&&!e.code_challenge)throw new Error("If a code_challenge_method is provided, code_challenge must be included.");return e.response_type=e.response_type||"code",e.client_id=e.client_id||this._clientId,e.redirect_uri=e.redirect_uri||this.redirectUri,Array.isArray(e.scope)&&(e.scope=e.scope.join(" ")),this.endpoints.oauth2AuthBaseUrl.toString()+"?"+ZE.stringify(e)}generateCodeVerifier(){throw new Error("generateCodeVerifier is removed, please use generateCodeVerifierAsync instead.")}async generateCodeVerifierAsync(){let e=(0,Jc.createCrypto)(),n=e.randomBytesBase64(96).replace(/\+/g,"~").replace(/=/g,"_").replace(/\//g,"-"),s=(await e.sha256DigestBase64(n)).split("=")[0].replace(/\+/g,"-").replace(/\//g,"_");return{codeVerifier:n,codeChallenge:s}}getToken(e,r){let n=typeof e=="string"?{code:e}:e;if(r)this.getTokenAsync(n).then(o=>r(null,o.tokens,o.res),o=>r(o,null,o.response));else return this.getTokenAsync(n)}async getTokenAsync(e){let r=this.endpoints.oauth2TokenUrl.toString(),n=new Headers,o={client_id:e.client_id||this._clientId,code_verifier:e.codeVerifier,code:e.code,grant_type:"authorization_code",redirect_uri:e.redirect_uri||this.redirectUri};if(this.clientAuthentication===Ho.ClientSecretBasic){let l=Buffer.from(`${this._clientId}:${this._clientSecret}`);n.set("authorization",`Basic ${l.toString("base64")}`)}this.clientAuthentication===Ho.ClientSecretPost&&(o.client_secret=this._clientSecret);let s={...t.RETRY_CONFIG,method:"POST",url:r,data:new URLSearchParams((0,yg.removeUndefinedValuesInObject)(o)),headers:n};Xn.AuthClient.setMethodName(s,"getTokenAsync");let a=await this.transporter.request(s),c=a.data;return a.data&&a.data.expires_in&&(c.expiry_date=new Date().getTime()+a.data.expires_in*1e3,delete c.expires_in),this.emit("tokens",c),{tokens:c,res:a}}async refreshToken(e){if(!e)return this.refreshTokenNoCache(e);if(this.refreshTokenPromises.has(e))return this.refreshTokenPromises.get(e);let r=this.refreshTokenNoCache(e).then(n=>(this.refreshTokenPromises.delete(e),n),n=>{throw this.refreshTokenPromises.delete(e),n});return this.refreshTokenPromises.set(e,r),r}async refreshTokenNoCache(e){if(!e)throw new Error("No refresh token is set.");let r=this.endpoints.oauth2TokenUrl.toString(),n={refresh_token:e,client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token"},o;try{let a={...t.RETRY_CONFIG,method:"POST",url:r,data:new URLSearchParams((0,yg.removeUndefinedValuesInObject)(n))};Xn.AuthClient.setMethodName(a,"refreshTokenNoCache"),o=await this.transporter.request(a)}catch(a){throw a instanceof gg.GaxiosError&&a.message==="invalid_grant"&&a.response?.data&&/ReAuth/i.test(a.response.data.error_description)&&(a.message=JSON.stringify(a.response.data)),a}let s=o.data;return o.data&&o.data.expires_in&&(s.expiry_date=new Date().getTime()+o.data.expires_in*1e3,delete s.expires_in),this.emit("tokens",s),{tokens:s,res:o}}refreshAccessToken(e){if(e)this.refreshAccessTokenAsync().then(r=>e(null,r.credentials,r.res),e);else return this.refreshAccessTokenAsync()}async refreshAccessTokenAsync(){let e=await this.refreshToken(this.credentials.refresh_token),r=e.tokens;return r.refresh_token=this.credentials.refresh_token,this.credentials=r,{credentials:this.credentials,res:e.res}}getAccessToken(e){if(e)this.getAccessTokenAsync().then(r=>e(null,r.token,r.res),e);else return this.getAccessTokenAsync()}async getAccessTokenAsync(){if(!this.credentials.access_token||this.isTokenExpiring()){if(!this.credentials.refresh_token)if(this.refreshHandler){let n=await this.processAndValidateRefreshHandler();if(n?.access_token)return this.setCredentials(n),{token:this.credentials.access_token}}else throw new Error("No refresh token or refresh handler callback is set.");let r=await this.refreshAccessTokenAsync();if(!r.credentials||r.credentials&&!r.credentials.access_token)throw new Error("Could not refresh access token.");return{token:r.credentials.access_token,res:r.res}}else return{token:this.credentials.access_token}}async getRequestHeaders(e){return(await this.getRequestMetadataAsync(e)).headers}async getRequestMetadataAsync(e){let r=this.credentials;if(!r.access_token&&!r.refresh_token&&!this.apiKey&&!this.refreshHandler)throw new Error("No access, refresh token, API key or refresh handler callback is set.");if(r.access_token&&!this.isTokenExpiring()){r.token_type=r.token_type||"Bearer";let c=new Headers({authorization:r.token_type+" "+r.access_token});return{headers:this.addSharedMetadataHeaders(c)}}if(this.refreshHandler){let c=await this.processAndValidateRefreshHandler();if(c?.access_token){this.setCredentials(c);let l=new Headers({authorization:"Bearer "+this.credentials.access_token});return{headers:this.addSharedMetadataHeaders(l)}}}if(this.apiKey)return{headers:new Headers({"X-Goog-Api-Key":this.apiKey})};let n=null,o=null;try{n=await this.refreshToken(r.refresh_token),o=n.tokens}catch(c){let l=c;throw l.response&&(l.response.status===403||l.response.status===404)&&(l.message=`Could not refresh access token: ${l.message}`),l}let s=this.credentials;s.token_type=s.token_type||"Bearer",o.refresh_token=s.refresh_token,this.credentials=o;let a=new Headers({authorization:s.token_type+" "+o.access_token});return{headers:this.addSharedMetadataHeaders(a),res:n.res}}static getRevokeTokenUrl(e){return new t().getRevokeTokenURL(e).toString()}getRevokeTokenURL(e){let r=new URL(this.endpoints.oauth2RevokeUrl);return r.searchParams.append("token",e),r}revokeToken(e,r){let n={...t.RETRY_CONFIG,url:this.getRevokeTokenURL(e).toString(),method:"POST"};if(Xn.AuthClient.setMethodName(n,"revokeToken"),r)this.transporter.request(n).then(o=>r(null,o),r);else return this.transporter.request(n)}revokeCredentials(e){if(e)this.revokeCredentialsAsync().then(r=>e(null,r),e);else return this.revokeCredentialsAsync()}async revokeCredentialsAsync(){let e=this.credentials.access_token;if(this.credentials={},e)return this.revokeToken(e);throw new Error("No access token to revoke.")}request(e,r){if(r)this.requestAsync(e).then(n=>r(null,n),n=>r(n,n.response));else return this.requestAsync(e)}async requestAsync(e,r=!1){try{let n=await this.getRequestMetadataAsync();return e.headers=gg.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,n.headers),this.apiKey&&e.headers.set("X-Goog-Api-Key",this.apiKey),await this.transporter.request(e)}catch(n){let o=n.response;if(o){let s=o.status,a=this.credentials&&this.credentials.access_token&&this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure),c=this.credentials&&this.credentials.access_token&&!this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure)&&this.refreshHandler,l=o.config.data instanceof eA.Readable,d=s===401||s===403;if(!r&&d&&!l&&a)return await this.refreshAccessTokenAsync(),this.requestAsync(e,!0);if(!r&&d&&!l&&c){let f=await this.processAndValidateRefreshHandler();return f?.access_token&&this.setCredentials(f),this.requestAsync(e,!0)}}throw n}}verifyIdToken(e,r){if(r&&typeof r!="function")throw new Error("This method accepts an options object as the first parameter, which includes the idToken, audience, and maxExpiry.");if(r)this.verifyIdTokenAsync(e).then(n=>r(null,n),r);else return this.verifyIdTokenAsync(e)}async verifyIdTokenAsync(e){if(!e.idToken)throw new Error("The verifyIdToken method requires an ID Token");let r=await this.getFederatedSignonCertsAsync();return await this.verifySignedJwtWithCertsAsync(e.idToken,r.certs,e.audience,this.issuers,e.maxExpiry)}async getTokenInfo(e){let{data:r}=await this.transporter.request({...t.RETRY_CONFIG,method:"POST",headers:{"content-type":"application/x-www-form-urlencoded;charset=UTF-8",authorization:`Bearer ${e}`},url:this.endpoints.tokenInfoUrl.toString()}),n=Object.assign({expiry_date:new Date().getTime()+r.expires_in*1e3,scopes:r.scope.split(" ")},r);return delete n.expires_in,delete n.scope,n}getFederatedSignonCerts(e){if(e)this.getFederatedSignonCertsAsync().then(r=>e(null,r.certs,r.res),e);else return this.getFederatedSignonCertsAsync()}async getFederatedSignonCertsAsync(){let e=new Date().getTime(),r=(0,Jc.hasBrowserCrypto)()?Ar.JWK:Ar.PEM;if(this.certificateExpiry&&e<this.certificateExpiry.getTime()&&this.certificateCacheFormat===r)return{certs:this.certificateCache,format:r};let n,o;switch(r){case Ar.PEM:o=this.endpoints.oauth2FederatedSignonPemCertsUrl.toString();break;case Ar.JWK:o=this.endpoints.oauth2FederatedSignonJwkCertsUrl.toString();break;default:throw new Error(`Unsupported certificate format ${r}`)}try{let d={...t.RETRY_CONFIG,url:o};Xn.AuthClient.setMethodName(d,"getFederatedSignonCertsAsync"),n=await this.transporter.request(d)}catch(d){throw d instanceof Error&&(d.message=`Failed to retrieve verification certificates: ${d.message}`),d}let s=n?.headers.get("cache-control"),a=-1;if(s){let d=/max-age=(?<maxAge>[0-9]+)/.exec(s)?.groups?.maxAge;d&&(a=Number(d)*1e3)}let c={};switch(r){case Ar.PEM:c=n.data;break;case Ar.JWK:for(let d of n.data.keys)c[d.kid]=d;break;default:throw new Error(`Unsupported certificate format ${r}`)}let l=new Date;return this.certificateExpiry=a===-1?null:new Date(l.getTime()+a),this.certificateCache=c,this.certificateCacheFormat=r,{certs:c,format:r,res:n}}getIapPublicKeys(e){if(e)this.getIapPublicKeysAsync().then(r=>e(null,r.pubkeys,r.res),e);else return this.getIapPublicKeysAsync()}async getIapPublicKeysAsync(){let e,r=this.endpoints.oauth2IapPublicKeyUrl.toString();try{let n={...t.RETRY_CONFIG,url:r};Xn.AuthClient.setMethodName(n,"getIapPublicKeysAsync"),e=await this.transporter.request(n)}catch(n){throw n instanceof Error&&(n.message=`Failed to retrieve verification certificates: ${n.message}`),n}return{pubkeys:e.data,res:e}}verifySignedJwtWithCerts(){throw new Error("verifySignedJwtWithCerts is removed, please use verifySignedJwtWithCertsAsync instead.")}async verifySignedJwtWithCertsAsync(e,r,n,o,s){let a=(0,Jc.createCrypto)();s||(s=t.DEFAULT_MAX_TOKEN_LIFETIME_SECS_);let c=e.split(".");if(c.length!==3)throw new Error("Wrong number of segments in token: "+e);let l=c[0]+"."+c[1],d=c[2],f,p;try{f=JSON.parse(a.decodeBase64StringUtf8(c[0]))}catch(b){throw b instanceof Error&&(b.message=`Can't parse token envelope: ${c[0]}': ${b.message}`),b}if(!f)throw new Error("Can't parse token envelope: "+c[0]);try{p=JSON.parse(a.decodeBase64StringUtf8(c[1]))}catch(b){throw b instanceof Error&&(b.message=`Can't parse token payload '${c[0]}`),b}if(!p)throw new Error("Can't parse token payload: "+c[1]);if(!Object.prototype.hasOwnProperty.call(r,f.kid))throw new Error("No pem found for envelope: "+JSON.stringify(f));let g=r[f.kid];if(f.alg==="ES256"&&(d=tA.joseToDer(d,"ES256").toString("base64")),!await a.verify(g,l,d))throw new Error("Invalid token signature: "+e);if(!p.iat)throw new Error("No issue time in token: "+JSON.stringify(p));if(!p.exp)throw new Error("No expiration time in token: "+JSON.stringify(p));let w=Number(p.iat);if(isNaN(w))throw new Error("iat field using invalid format");let _=Number(p.exp);if(isNaN(_))throw new Error("exp field using invalid format");let y=new Date().getTime()/1e3;if(_>=y+s)throw new Error("Expiration time too far in future: "+JSON.stringify(p));let m=w-t.CLOCK_SKEW_SECS_,v=_+t.CLOCK_SKEW_SECS_;if(y<m)throw new Error("Token used too early, "+y+" < "+m+": "+JSON.stringify(p));if(y>v)throw new Error("Token used too late, "+y+" > "+v+": "+JSON.stringify(p));if(o&&o.indexOf(p.iss)<0)throw new Error("Invalid issuer, expected one of ["+o+"], but got "+p.iss);if(typeof n<"u"&&n!==null){let b=p.aud,S=!1;if(n.constructor===Array?S=n.indexOf(b)>-1:S=b===n,!S)throw new Error("Wrong recipient, payload audience != requiredAudience")}return new rA.LoginTicket(f,p)}async processAndValidateRefreshHandler(){if(this.refreshHandler){let e=await this.refreshHandler();if(!e.access_token)throw new Error("No access token is returned by the refreshHandler callback.");return e}}isTokenExpiring(){let e=this.credentials.expiry_date;return e?e<=new Date().getTime()+this.eagerRefreshThresholdMillis:!1}};rr.OAuth2Client=Vc});var Yc=V($i=>{"use strict";Object.defineProperty($i,"__esModule",{value:!0});$i.Compute=void 0;var nA=Ke(),bg=qo(),oA=yn(),Kc=class extends oA.OAuth2Client{serviceAccountEmail;scopes;constructor(e={}){super(e),this.credentials={expiry_date:1,refresh_token:"compute-placeholder"},this.serviceAccountEmail=e.serviceAccountEmail||"default",this.scopes=Array.isArray(e.scopes)?e.scopes:e.scopes?[e.scopes]:[]}async refreshTokenNoCache(){let e=`service-accounts/${this.serviceAccountEmail}/token`,r;try{let o={property:e};this.scopes.length>0&&(o.params={scopes:this.scopes.join(",")}),r=await bg.instance(o)}catch(o){throw o instanceof nA.GaxiosError&&(o.message=`Could not refresh access token: ${o.message}`,this.wrapError(o)),o}let n=r;return r&&r.expires_in&&(n.expiry_date=new Date().getTime()+r.expires_in*1e3,delete n.expires_in),this.emit("tokens",n),{tokens:n,res:null}}async fetchIdToken(e){let r=`service-accounts/${this.serviceAccountEmail}/identity?format=full&audience=${e}`,n;try{let o={property:r};n=await bg.instance(o)}catch(o){throw o instanceof Error&&(o.message=`Could not fetch ID token: ${o.message}`),o}return n}wrapError(e){let r=e.response;r&&r.status&&(e.status=r.status,r.status===403?e.message="A Forbidden error was returned while attempting to retrieve an access token for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have the correct permission scopes specified: "+e.message:r.status===404&&(e.message="A Not Found error was returned while attempting to retrieve an accesstoken for the Compute Engine built-in service account. This may be because the Compute Engine instance does not have any permission scopes specified: "+e.message))}};$i.Compute=Kc});var Xc=V(qi=>{"use strict";Object.defineProperty(qi,"__esModule",{value:!0});qi.IdTokenClient=void 0;var sA=yn(),Qc=class extends sA.OAuth2Client{targetAudience;idTokenProvider;constructor(e){super(e),this.targetAudience=e.targetAudience,this.idTokenProvider=e.idTokenProvider}async getRequestMetadataAsync(){if(!this.credentials.id_token||!this.credentials.expiry_date||this.isTokenExpiring()){let r=await this.idTokenProvider.fetchIdToken(this.targetAudience);this.credentials={id_token:r,expiry_date:this.getIdTokenExpiryDate(r)}}return{headers:new Headers({authorization:"Bearer "+this.credentials.id_token})}}getIdTokenExpiryDate(e){let r=e.split(".")[1];if(r)return JSON.parse(Buffer.from(r,"base64").toString("ascii")).exp*1e3}};qi.IdTokenClient=Qc});var Zc=V(Zn=>{"use strict";Object.defineProperty(Zn,"__esModule",{value:!0});Zn.GCPEnv=void 0;Zn.clear=iA;Zn.getEnv=aA;var Cg=qo(),nr;(function(t){t.APP_ENGINE="APP_ENGINE",t.KUBERNETES_ENGINE="KUBERNETES_ENGINE",t.CLOUD_FUNCTIONS="CLOUD_FUNCTIONS",t.COMPUTE_ENGINE="COMPUTE_ENGINE",t.CLOUD_RUN="CLOUD_RUN",t.CLOUD_RUN_JOBS="CLOUD_RUN_JOBS",t.NONE="NONE"})(nr||(Zn.GCPEnv=nr={}));var Wo;function iA(){Wo=void 0}async function aA(){return Wo||(Wo=uA(),Wo)}async function uA(){let t=nr.NONE;return cA()?t=nr.APP_ENGINE:lA()?t=nr.CLOUD_FUNCTIONS:await pA()?await hA()?t=nr.KUBERNETES_ENGINE:dA()?t=nr.CLOUD_RUN:fA()?t=nr.CLOUD_RUN_JOBS:t=nr.COMPUTE_ENGINE:t=nr.NONE,t}function cA(){return!!(process.env.GAE_SERVICE||process.env.GAE_MODULE_NAME)}function lA(){return!!(process.env.FUNCTION_NAME||process.env.FUNCTION_TARGET)}function dA(){return!!process.env.K_CONFIGURATION}function fA(){return!!process.env.CLOUD_RUN_JOB}async function hA(){try{return await Cg.instance("attributes/cluster-name"),!0}catch{return!1}}async function pA(){return Cg.isAvailable()}});var el=V((Bx,wg)=>{var zi=Qn().Buffer,mA=X("stream"),gA=X("util");function Hi(t){if(this.buffer=null,this.writable=!0,this.readable=!0,!t)return this.buffer=zi.alloc(0),this;if(typeof t.pipe=="function")return this.buffer=zi.alloc(0),t.pipe(this),this;if(t.length||typeof t=="object")return this.buffer=t,this.writable=!1,process.nextTick(function(){this.emit("end",t),this.readable=!1,this.emit("close")}.bind(this)),this;throw new TypeError("Unexpected data type ("+typeof t+")")}gA.inherits(Hi,mA);Hi.prototype.write=function(e){this.buffer=zi.concat([this.buffer,zi.from(e)]),this.emit("data",e)};Hi.prototype.end=function(e){e&&this.write(e),this.emit("end",e),this.emit("close"),this.writable=!1,this.readable=!1};wg.exports=Hi});var Ag=V((Nx,Eg)=>{"use strict";var Go=X("buffer").Buffer,tl=X("buffer").SlowBuffer;Eg.exports=Wi;function Wi(t,e){if(!Go.isBuffer(t)||!Go.isBuffer(e)||t.length!==e.length)return!1;for(var r=0,n=0;n<t.length;n++)r|=t[n]^e[n];return r===0}Wi.install=function(){Go.prototype.equal=tl.prototype.equal=function(e){return Wi(this,e)}};var yA=Go.prototype.equal,_A=tl.prototype.equal;Wi.restore=function(){Go.prototype.equal=yA,tl.prototype.equal=_A}});var sl=V((Mx,Fg)=>{var to=Qn().Buffer,Rt=X("crypto"),kg=jc(),Sg=X("util"),bA=`"%s" is not a valid algorithm.
|
|
51
51
|
Supported algorithms are:
|
|
52
|
-
"HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,Jo="secret must be a string or buffer",eo="key must be a string or a buffer",CA="key must be a string, a buffer or an object",nl=typeof Rt.createPublicKey=="function";nl&&(eo+=" or a KeyObject",Jo+="or a KeyObject");function vg(t){if(!to.isBuffer(t)&&typeof t!="string"&&(!nl||typeof t!="object"||typeof t.type!="string"||typeof t.asymmetricKeyType!="string"||typeof t.export!="function"))throw Wt(eo)}function Tg(t){if(!to.isBuffer(t)&&typeof t!="string"&&typeof t!="object")throw Wt(CA)}function wA(t){if(!to.isBuffer(t)){if(typeof t=="string")return t;if(!nl||typeof t!="object"||t.type!=="secret"||typeof t.export!="function")throw Wt(Jo)}}function ol(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Dg(t){t=t.toString();var e=4-t.length%4;if(e!==4)for(var r=0;r<e;++r)t+="=";return t.replace(/\-/g,"+").replace(/_/g,"/")}function Wt(t){var e=[].slice.call(arguments,1),r=Sg.format.bind(Sg,t).apply(null,e);return new TypeError(r)}function EA(t){return to.isBuffer(t)||typeof t=="string"}function Vo(t){return EA(t)||(t=JSON.stringify(t)),t}function Rg(t){return function(r,n){wA(n),r=Vo(r);var o=Rt.createHmac("sha"+t,n),s=(o.update(r),o.digest("base64"));return ol(s)}}var rl,AA="timingSafeEqual"in Rt?function(e,r){return e.byteLength!==r.byteLength?!1:Rt.timingSafeEqual(e,r)}:function(e,r){return rl||(rl=Ag()),rl(e,r)};function SA(t){return function(r,n,o){var s=Rg(t)(r,o);return AA(to.from(n),to.from(s))}}function xg(t){return function(r,n){Tg(n),r=Vo(r);var o=Rt.createSign("RSA-SHA"+t),s=(o.update(r),o.sign(n,"base64"));return ol(s)}}function Og(t){return function(r,n,o){vg(o),r=Vo(r),n=Dg(n);var s=Rt.createVerify("RSA-SHA"+t);return s.update(r),s.verify(o,n,"base64")}}function kA(t){return function(r,n){Tg(n),r=Vo(r);var o=Rt.createSign("RSA-SHA"+t),s=(o.update(r),o.sign({key:n,padding:Rt.constants.RSA_PKCS1_PSS_PADDING,saltLength:Rt.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return ol(s)}}function vA(t){return function(r,n,o){vg(o),r=Vo(r),n=Dg(n);var s=Rt.createVerify("RSA-SHA"+t);return s.update(r),s.verify({key:o,padding:Rt.constants.RSA_PKCS1_PSS_PADDING,saltLength:Rt.constants.RSA_PSS_SALTLEN_DIGEST},n,"base64")}}function TA(t){var e=xg(t);return function(){var n=e.apply(null,arguments);return n=kg.derToJose(n,"ES"+t),n}}function DA(t){var e=Og(t);return function(n,o,s){o=kg.joseToDer(o,"ES"+t).toString("base64");var a=e(n,o,s);return a}}function RA(){return function(){return""}}function xA(){return function(e,r){return r===""}}Fg.exports=function(e){var r={hs:Rg,rs:xg,ps:kA,es:TA,none:RA},n={hs:SA,rs:Og,ps:vA,es:DA,none:xA},o=e.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!o)throw Wt(bA,e);var s=(o[1]||o[3]).toLowerCase(),a=o[2];return{sign:r[s](a),verify:n[s](a)}}});var il=V((jx,Pg)=>{var OA=X("buffer").Buffer;Pg.exports=function(e){return typeof e=="string"?e:typeof e=="number"||OA.isBuffer(e)?e.toString():JSON.stringify(e)}});var Lg=V((Lx,jg)=>{var FA=Qn().Buffer,Ig=el(),PA=sl(),IA=X("stream"),Bg=il(),al=X("util");function Ng(t,e){return FA.from(t,e).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function BA(t,e,r){r=r||"utf8";var n=Ng(Bg(t),"binary"),o=Ng(Bg(e),r);return al.format("%s.%s",n,o)}function Mg(t){var e=t.header,r=t.payload,n=t.secret||t.privateKey,o=t.encoding,s=PA(e.alg),a=BA(e,r,o),c=s.sign(a,n);return al.format("%s.%s",a,c)}function Gi(t){var e=t.secret||t.privateKey||t.key,r=new Ig(e);this.readable=!0,this.header=t.header,this.encoding=t.encoding,this.secret=this.privateKey=this.key=r,this.payload=new Ig(t.payload),this.secret.once("close",function(){!this.payload.writable&&this.readable&&this.sign()}.bind(this)),this.payload.once("close",function(){!this.secret.writable&&this.readable&&this.sign()}.bind(this))}al.inherits(Gi,IA);Gi.prototype.sign=function(){try{var e=Mg({header:this.header,payload:this.payload.buffer,secret:this.secret.buffer,encoding:this.encoding});return this.emit("done",e),this.emit("data",e),this.emit("end"),this.readable=!1,e}catch(r){this.readable=!1,this.emit("error",r),this.emit("close")}};Gi.sign=Mg;jg.exports=Gi});var Kg=V((Ux,Vg)=>{var $g=Qn().Buffer,Ug=el(),NA=sl(),MA=X("stream"),qg=il(),jA=X("util"),LA=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function UA(t){return Object.prototype.toString.call(t)==="[object Object]"}function $A(t){if(UA(t))return t;try{return JSON.parse(t)}catch{return}}function zg(t){var e=t.split(".",1)[0];return $A($g.from(e,"base64").toString("binary"))}function qA(t){return t.split(".",2).join(".")}function Hg(t){return t.split(".")[2]}function zA(t,e){e=e||"utf8";var r=t.split(".")[1];return $g.from(r,"base64").toString(e)}function Wg(t){return LA.test(t)&&!!zg(t)}function Gg(t,e,r){if(!e){var n=new Error("Missing algorithm parameter for jws.verify");throw n.code="MISSING_ALGORITHM",n}t=qg(t);var o=Hg(t),s=qA(t),a=NA(e);return a.verify(s,o,r)}function Jg(t,e){if(e=e||{},t=qg(t),!Wg(t))return null;var r=zg(t);if(!r)return null;var n=zA(t);return(r.typ==="JWT"||e.json)&&(n=JSON.parse(n,e.encoding)),{header:r,payload:n,signature:Hg(t)}}function ro(t){t=t||{};var e=t.secret||t.publicKey||t.key,r=new Ug(e);this.readable=!0,this.algorithm=t.algorithm,this.encoding=t.encoding,this.secret=this.publicKey=this.key=r,this.signature=new Ug(t.signature),this.secret.once("close",function(){!this.signature.writable&&this.readable&&this.verify()}.bind(this)),this.signature.once("close",function(){!this.secret.writable&&this.readable&&this.verify()}.bind(this))}jA.inherits(ro,MA);ro.prototype.verify=function(){try{var e=Gg(this.signature.buffer,this.algorithm,this.key.buffer),r=Jg(this.signature.buffer,this.encoding);return this.emit("done",e,r),this.emit("data",e),this.emit("end"),this.readable=!1,e}catch(n){this.readable=!1,this.emit("error",n),this.emit("close")}};ro.decode=Jg;ro.isValid=Wg;ro.verify=Gg;Vg.exports=ro});var ul=V(Jr=>{var Yg=Lg(),Ji=Kg(),HA=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];Jr.ALGORITHMS=HA;Jr.sign=Yg.sign;Jr.verify=Ji.verify;Jr.decode=Ji.decode;Jr.isValid=Ji.isValid;Jr.createSign=function(e){return new Yg(e)};Jr.createVerify=function(e){return new Ji(e)}});var dy=V(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});Ki.GoogleToken=void 0;var Qg=Vi(X("fs")),WA=Ke(),GA=Vi(ul()),JA=Vi(X("path")),VA=X("util");function Vi(t,e){if(typeof WeakMap=="function")var r=new WeakMap,n=new WeakMap;return(Vi=function(s,a){if(!a&&s&&s.__esModule)return s;var c,l,d={__proto__:null,default:s};if(s===null||Sr(s)!="object"&&typeof s!="function")return d;if(c=a?n:r){if(c.has(s))return c.get(s);c.set(s,d)}for(var f in s)f!=="default"&&{}.hasOwnProperty.call(s,f)&&((l=(c=Object.defineProperty)&&Object.getOwnPropertyDescriptor(s,f))&&(l.get||l.set)?c(d,f,l):d[f]=s[f]);return d})(t,e)}function Sr(t){"@babel/helpers - typeof";return Sr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Sr(t)}function KA(t,e){iy(t,e),e.add(t)}function YA(t,e,r){iy(t,e),e.set(t,r)}function iy(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Xg(t,e,r){return t.set(Gt(t,e),r),r}function Zg(t,e){return t.get(Gt(t,e))}function Gt(t,e,r){if(typeof t=="function"?t===e:t.has(e))return arguments.length<3?e:r;throw new TypeError("Private element is not present on this object")}function ey(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,cy(n.key),n)}}function ay(t,e,r){return e&&ey(t.prototype,e),r&&ey(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function uy(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function QA(t,e,r){return e=Xo(e),XA(t,pl()?Reflect.construct(e,r||[],Xo(t).constructor):e.apply(t,r))}function XA(t,e){if(e&&(Sr(e)=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ZA(t)}function ZA(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function eS(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Qo(t,e)}function cl(t){var e=typeof Map=="function"?new Map:void 0;return cl=function(n){if(n===null||!rS(n))return n;if(typeof n!="function")throw new TypeError("Super expression must either be null or a function");if(e!==void 0){if(e.has(n))return e.get(n);e.set(n,o)}function o(){return tS(n,arguments,Xo(this).constructor)}return o.prototype=Object.create(n.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),Qo(o,n)},cl(t)}function tS(t,e,r){if(pl())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,e);var o=new(t.bind.apply(t,n));return r&&Qo(o,r.prototype),o}function pl(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(pl=function(){return!!t})()}function rS(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch{return typeof t=="function"}}function Qo(t,e){return Qo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},Qo(t,e)}function Xo(t){return Xo=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Xo(t)}function _t(t,e,r){return(e=cy(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function cy(t){var e=nS(t,"string");return Sr(e)=="symbol"?e:e+""}function nS(t,e){if(Sr(t)!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e||"default");if(Sr(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function Ct(){var t,e,r=typeof Symbol=="function"?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function s(A,w,_,g){var m=w&&w.prototype instanceof c?w:c,v=Object.create(m.prototype);return bt(v,"_invoke",(function(b,S,D){var O,q,J,B=0,Y=D||[],re=!1,ee={p:0,n:0,v:t,a:ue,f:ue.bind(t,4),d:function(Se,se){return O=Se,q=0,J=t,ee.n=se,a}};function ue(fe,Se){for(q=fe,J=Se,e=0;!re&&B&&!se&&e<Y.length;e++){var se,me=Y[e],G=ee.p,K=me[2];fe>3?(se=K===Se)&&(J=me[(q=me[4])?5:(q=3,3)],me[4]=me[5]=t):me[0]<=G&&((se=fe<2&&G<me[1])?(q=0,ee.v=Se,ee.n=me[1]):G<K&&(se=fe<3||me[0]>Se||Se>K)&&(me[4]=fe,me[5]=Se,ee.n=K,q=0))}if(se||fe>1)return a;throw re=!0,Se}return function(fe,Se,se){if(B>1)throw TypeError("Generator is already running");for(re&&Se===1&&ue(Se,se),q=Se,J=se;(e=q<2?t:J)||!re;){O||(q?q<3?(q>1&&(ee.n=-1),ue(q,J)):ee.n=J:ee.v=J);try{if(B=2,O){if(q||(fe="next"),e=O[fe]){if(!(e=e.call(O,J)))throw TypeError("iterator result is not an object");if(!e.done)return e;J=e.value,q<2&&(q=0)}else q===1&&(e=O.return)&&e.call(O),q<2&&(J=TypeError("The iterator does not provide a '"+fe+"' method"),q=1);O=t}else if((e=(re=ee.n<0)?J:b.call(S,ee))!==a)break}catch(me){O=t,q=1,J=me}finally{B=1}}return{value:e,done:re}}})(A,_,g),!0),v}var a={};function c(){}function l(){}function d(){}e=Object.getPrototypeOf;var f=[][n]?e(e([][n]())):(bt(e={},n,function(){return this}),e),p=d.prototype=c.prototype=Object.create(f);function y(A){return Object.setPrototypeOf?Object.setPrototypeOf(A,d):(A.__proto__=d,bt(A,o,"GeneratorFunction")),A.prototype=Object.create(p),A}return l.prototype=d,bt(p,"constructor",d),bt(d,"constructor",l),l.displayName="GeneratorFunction",bt(d,o,"GeneratorFunction"),bt(p),bt(p,o,"Generator"),bt(p,n,function(){return this}),bt(p,"toString",function(){return"[object Generator]"}),(Ct=function(){return{w:s,m:y}})()}function bt(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch{o=0}bt=function(a,c,l,d){if(c)o?o(a,c,{value:l,enumerable:!d,configurable:!d,writable:!d}):a[c]=l;else{var f=function(y,A){bt(a,y,function(w){return this._invoke(y,A,w)})};f("next",0),f("throw",1),f("return",2)}},bt(t,e,r,n)}function ty(t,e,r,n,o,s,a){try{var c=t[s](a),l=c.value}catch(d){return void r(d)}c.done?e(l):Promise.resolve(l).then(n,o)}function no(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var s=t.apply(e,r);function a(l){ty(s,n,o,a,c,"next",l)}function c(l){ty(s,n,o,a,c,"throw",l)}a(void 0)})}}var ry=Qg.readFile?(0,VA.promisify)(Qg.readFile):no(Ct().m(function t(){return Ct().w(function(e){for(;;)switch(e.n){case 0:throw new Yo("use key rather than keyFile.","MISSING_CREDENTIALS");case 1:return e.a(2)}},t)})),ny="https://oauth2.googleapis.com/token",oS="https://oauth2.googleapis.com/revoke?token=",Yo=(function(t){function e(r,n){var o;return uy(this,e),o=QA(this,e,[r]),_t(o,"code",void 0),o.code=n,o}return eS(e,t),ay(e)})(cl(Error)),Ko=new WeakMap,or=new WeakSet,qx=Ki.GoogleToken=(function(){function t(e){uy(this,t),KA(this,or),_t(this,"expiresAt",void 0),_t(this,"key",void 0),_t(this,"keyFile",void 0),_t(this,"iss",void 0),_t(this,"sub",void 0),_t(this,"scope",void 0),_t(this,"rawToken",void 0),_t(this,"tokenExpires",void 0),_t(this,"email",void 0),_t(this,"additionalClaims",void 0),_t(this,"eagerRefreshThresholdMillis",void 0),_t(this,"transporter",{request:function(n){return(0,WA.request)(n)}}),YA(this,Ko,void 0),Gt(or,this,ly).call(this,e)}return ay(t,[{key:"accessToken",get:function(){return this.rawToken?this.rawToken.access_token:void 0}},{key:"idToken",get:function(){return this.rawToken?this.rawToken.id_token:void 0}},{key:"tokenType",get:function(){return this.rawToken?this.rawToken.token_type:void 0}},{key:"refreshToken",get:function(){return this.rawToken?this.rawToken.refresh_token:void 0}},{key:"hasExpired",value:function(){var r=new Date().getTime();return this.rawToken&&this.expiresAt?r>=this.expiresAt:!0}},{key:"isTokenExpiring",value:function(){var r,n=new Date().getTime(),o=(r=this.eagerRefreshThresholdMillis)!==null&&r!==void 0?r:0;return this.rawToken&&this.expiresAt?this.expiresAt<=n+o:!0}},{key:"getToken",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(Sr(r)==="object"&&(n=r,r=void 0),n=Object.assign({forceRefresh:!1},n),r){var o=r;Gt(or,this,oy).call(this,n).then(function(s){return o(null,s)},r);return}return Gt(or,this,oy).call(this,n)}},{key:"getCredentials",value:(function(){var e=no(Ct().m(function n(o){var s,a,c,l,d,f,p;return Ct().w(function(y){for(;;)switch(y.n){case 0:s=JA.extname(o),p=s,y.n=p===".json"?1:p===".der"||p===".crt"||p===".pem"?4:p===".p12"||p===".pfx"?6:7;break;case 1:return y.n=2,ry(o,"utf8");case 2:if(a=y.v,c=JSON.parse(a),l=c.private_key,d=c.client_email,!(!l||!d)){y.n=3;break}throw new Yo("private_key and client_email are required.","MISSING_CREDENTIALS");case 3:return y.a(2,{privateKey:l,clientEmail:d});case 4:return y.n=5,ry(o,"utf8");case 5:return f=y.v,y.a(2,{privateKey:f});case 6:throw new Yo("*.p12 certificates are not supported after v6.1.2. Consider utilizing *.json format or converting *.p12 to *.pem using the OpenSSL CLI.","UNKNOWN_CERTIFICATE_TYPE");case 7:throw new Yo("Unknown certificate type. Type is determined based on file extension. Current supported extensions are *.json, and *.pem.","UNKNOWN_CERTIFICATE_TYPE");case 8:return y.a(2)}},n)}));function r(n){return e.apply(this,arguments)}return r})()},{key:"revokeToken",value:function(r){if(r){Gt(or,this,sy).call(this).then(function(){return r()},r);return}return Gt(or,this,sy).call(this)}}])})();function oy(t){return ll.apply(this,arguments)}function ll(){return ll=no(Ct().m(function t(e){return Ct().w(function(r){for(;;)switch(r.n){case 0:if(!(Zg(Ko,this)&&!e.forceRefresh)){r.n=1;break}return r.a(2,Zg(Ko,this));case 1:return r.p=1,r.n=2,Xg(Ko,this,Gt(or,this,sS).call(this,e));case 2:return r.a(2,r.v);case 3:return r.p=3,Xg(Ko,this,void 0),r.f(3);case 4:return r.a(2)}},t,this,[[1,,3,4]])})),ll.apply(this,arguments)}function sS(t){return dl.apply(this,arguments)}function dl(){return dl=no(Ct().m(function t(e){var r;return Ct().w(function(n){for(;;)switch(n.n){case 0:if(!(this.isTokenExpiring()===!1&&e.forceRefresh===!1)){n.n=1;break}return n.a(2,Promise.resolve(this.rawToken));case 1:if(!(!this.key&&!this.keyFile)){n.n=2;break}throw new Error("No key or keyFile set.");case 2:if(!(!this.key&&this.keyFile)){n.n=4;break}return n.n=3,this.getCredentials(this.keyFile);case 3:r=n.v,this.key=r.privateKey,this.iss=r.clientEmail||this.iss,r.clientEmail||Gt(or,this,iS).call(this);case 4:return n.a(2,Gt(or,this,aS).call(this))}},t,this)})),dl.apply(this,arguments)}function iS(){if(!this.iss)throw new Yo("email is required.","MISSING_CREDENTIALS")}function sy(){return fl.apply(this,arguments)}function fl(){return fl=no(Ct().m(function t(){var e;return Ct().w(function(r){for(;;)switch(r.n){case 0:if(this.accessToken){r.n=1;break}throw new Error("No token to revoke.");case 1:return e=oS+this.accessToken,r.n=2,this.transporter.request({url:e,retry:!0});case 2:Gt(or,this,ly).call(this,{email:this.iss,sub:this.sub,key:this.key,keyFile:this.keyFile,scope:this.scope,additionalClaims:this.additionalClaims});case 3:return r.a(2)}},t,this)})),fl.apply(this,arguments)}function ly(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.keyFile=t.keyFile,this.key=t.key,this.rawToken=void 0,this.iss=t.email||t.iss,this.sub=t.sub,this.additionalClaims=t.additionalClaims,Sr(t.scope)==="object"?this.scope=t.scope.join(" "):this.scope=t.scope,this.eagerRefreshThresholdMillis=t.eagerRefreshThresholdMillis,t.transporter&&(this.transporter=t.transporter)}function aS(){return hl.apply(this,arguments)}function hl(){return hl=no(Ct().m(function t(){var e,r,n,o,s,a,c,l,d,f;return Ct().w(function(p){for(;;)switch(p.n){case 0:return e=Math.floor(new Date().getTime()/1e3),r=this.additionalClaims||{},n=Object.assign({iss:this.iss,scope:this.scope,aud:ny,exp:e+3600,iat:e,sub:this.sub},r),o=GA.sign({header:{alg:"RS256"},payload:n,secret:this.key}),p.p=1,p.n=2,this.transporter.request({method:"POST",url:ny,data:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:o}),responseType:"json",retryConfig:{httpMethodsToRetry:["POST"]}});case 2:return s=p.v,this.rawToken=s.data,this.expiresAt=s.data.expires_in===null||s.data.expires_in===void 0?void 0:(e+s.data.expires_in)*1e3,p.a(2,this.rawToken);case 3:throw p.p=3,f=p.v,this.rawToken=void 0,this.tokenExpires=void 0,l=f.response&&(a=f.response)!==null&&a!==void 0&&a.data?(c=f.response)===null||c===void 0?void 0:c.data:{},l.error&&(d=l.error_description?": ".concat(l.error_description):"",f.message="".concat(l.error).concat(d)),f;case 4:return p.a(2)}},t,this,[[1,3]])})),hl.apply(this,arguments)}});var gl=V(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Yi.JWTAccess=void 0;var uS=ul(),cS=zt(),fy={alg:"RS256",typ:"JWT"},ml=class t{email;key;keyId;projectId;eagerRefreshThresholdMillis;cache=new cS.LRUCache({capacity:500,maxAge:3600*1e3});constructor(e,r,n,o){this.email=e,this.key=r,this.keyId=n,this.eagerRefreshThresholdMillis=o??300*1e3}getCachedKey(e,r){let n=e;if(r&&Array.isArray(r)&&r.length?n=e?`${e}_${r.join("_")}`:`${r.join("_")}`:typeof r=="string"&&(n=e?`${e}_${r}`:r),!n)throw Error("Scopes or url must be provided");return n}getRequestHeaders(e,r,n){let o=this.getCachedKey(e,n),s=this.cache.get(o),a=Date.now();if(s&&s.expiration-a>this.eagerRefreshThresholdMillis)return new Headers(s.headers);let c=Math.floor(Date.now()/1e3),l=t.getExpirationTime(c),d;if(Array.isArray(n)&&(n=n.join(" ")),n?d={iss:this.email,sub:this.email,scope:n,exp:l,iat:c}:d={iss:this.email,sub:this.email,aud:e,exp:l,iat:c},r){for(let w in d)if(r[w])throw new Error(`The '${w}' property is not allowed when passing additionalClaims. This claim is included in the JWT by default.`)}let f=this.keyId?{...fy,kid:this.keyId}:fy,p=Object.assign(d,r),y=uS.sign({header:f,payload:p,secret:this.key}),A=new Headers({authorization:`Bearer ${y}`});return this.cache.set(o,{expiration:l*1e3,headers:A}),A}static getExpirationTime(e){return e+3600}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the service account auth settings.");if(!e.client_email)throw new Error("The incoming JSON object does not contain a client_email field");if(!e.private_key)throw new Error("The incoming JSON object does not contain a private_key field");this.email=e.client_email,this.key=e.private_key,this.keyId=e.private_key_id,this.projectId=e.project_id}fromStream(e,r){if(r)this.fromStreamAsync(e).then(()=>r(),r);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((r,n)=>{e||n(new Error("Must pass in a stream containing the service account auth settings."));let o="";e.setEncoding("utf8").on("data",s=>o+=s).on("error",n).on("end",()=>{try{let s=JSON.parse(o);this.fromJSON(s),r()}catch(s){n(s)}})})}};Yi.JWTAccess=ml});var _l=V(Xi=>{"use strict";Object.defineProperty(Xi,"__esModule",{value:!0});Xi.JWT=void 0;var hy=dy(),lS=gl(),dS=yn(),Qi=yt(),yl=class t extends dS.OAuth2Client{email;keyFile;key;keyId;defaultScopes;scopes;scope;subject;gtoken;additionalClaims;useJWTAccessWithScope;defaultServicePath;access;constructor(e={}){super(e),this.email=e.email,this.keyFile=e.keyFile,this.key=e.key,this.keyId=e.keyId,this.scopes=e.scopes,this.subject=e.subject,this.additionalClaims=e.additionalClaims,this.credentials={refresh_token:"jwt-placeholder",expiry_date:1}}createScoped(e){let r=new t(this);return r.scopes=e,r}async getRequestMetadataAsync(e){e=this.defaultServicePath?`https://${this.defaultServicePath}/`:e;let r=!this.hasUserScopes()&&e||this.useJWTAccessWithScope&&this.hasAnyScopes()||this.universeDomain!==Qi.DEFAULT_UNIVERSE;if(this.subject&&this.universeDomain!==Qi.DEFAULT_UNIVERSE)throw new RangeError(`Service Account user is configured for the credential. Domain-wide delegation is not supported in universes other than ${Qi.DEFAULT_UNIVERSE}`);if(!this.apiKey&&r)if(this.additionalClaims&&this.additionalClaims.target_audience){let{tokens:n}=await this.refreshToken();return{headers:this.addSharedMetadataHeaders(new Headers({authorization:`Bearer ${n.id_token}`}))}}else{this.access||(this.access=new lS.JWTAccess(this.email,this.key,this.keyId,this.eagerRefreshThresholdMillis));let n;this.hasUserScopes()?n=this.scopes:e||(n=this.defaultScopes);let o=this.useJWTAccessWithScope||this.universeDomain!==Qi.DEFAULT_UNIVERSE,s=await this.access.getRequestHeaders(e??void 0,this.additionalClaims,o?n:void 0);return{headers:this.addSharedMetadataHeaders(s)}}else return this.hasAnyScopes()||this.apiKey?super.getRequestMetadataAsync(e):{headers:new Headers}}async fetchIdToken(e){let r=new hy.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:{target_audience:e},transporter:this.transporter});if(await r.getToken({forceRefresh:!0}),!r.idToken)throw new Error("Unknown error: Failed to fetch ID token");return r.idToken}hasUserScopes(){return this.scopes?this.scopes.length>0:!1}hasAnyScopes(){return!!(this.scopes&&this.scopes.length>0||this.defaultScopes&&this.defaultScopes.length>0)}authorize(e){if(e)this.authorizeAsync().then(r=>e(null,r),e);else return this.authorizeAsync()}async authorizeAsync(){let e=await this.refreshToken();if(!e)throw new Error("No result returned");return this.credentials=e.tokens,this.credentials.refresh_token="jwt-placeholder",this.key=this.gtoken.key,this.email=this.gtoken.iss,e.tokens}async refreshTokenNoCache(){let e=this.createGToken(),n={access_token:(await e.getToken({forceRefresh:this.isTokenExpiring()})).access_token,token_type:"Bearer",expiry_date:e.expiresAt,id_token:e.idToken};return this.emit("tokens",n),{res:null,tokens:n}}createGToken(){return this.gtoken||(this.gtoken=new hy.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:this.additionalClaims,transporter:this.transporter})),this.gtoken}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the service account auth settings.");if(!e.client_email)throw new Error("The incoming JSON object does not contain a client_email field");if(!e.private_key)throw new Error("The incoming JSON object does not contain a private_key field");this.email=e.client_email,this.key=e.private_key,this.keyId=e.private_key_id,this.projectId=e.project_id,this.quotaProjectId=e.quota_project_id,this.universeDomain=e.universe_domain||this.universeDomain}fromStream(e,r){if(r)this.fromStreamAsync(e).then(()=>r(),r);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((r,n)=>{if(!e)throw new Error("Must pass in a stream containing the service account auth settings.");let o="";e.setEncoding("utf8").on("error",n).on("data",s=>o+=s).on("end",()=>{try{let s=JSON.parse(o);this.fromJSON(s),r()}catch(s){n(s)}})})}fromAPIKey(e){if(typeof e!="string")throw new Error("Must provide an API Key string.");this.apiKey=e}async getCredentials(){if(this.key)return{private_key:this.key,client_email:this.email};if(this.keyFile){let r=await this.createGToken().getCredentials(this.keyFile);return{private_key:r.privateKey,client_email:r.clientEmail}}throw new Error("A key or a keyFile must be provided to getCredentials.")}};Xi.JWT=yl});var Cl=V(oo=>{"use strict";Object.defineProperty(oo,"__esModule",{value:!0});oo.UserRefreshClient=oo.USER_REFRESH_ACCOUNT_TYPE=void 0;var fS=yn(),hS=yt();oo.USER_REFRESH_ACCOUNT_TYPE="authorized_user";var bl=class t extends fS.OAuth2Client{_refreshToken;constructor(e,r,n,o,s){let a=e&&typeof e=="object"?e:{clientId:e,clientSecret:r,refreshToken:n,eagerRefreshThresholdMillis:o,forceRefreshOnFailure:s};super(a),this._refreshToken=a.refreshToken,this.credentials.refresh_token=a.refreshToken}async refreshTokenNoCache(){return super.refreshTokenNoCache(this._refreshToken)}async fetchIdToken(e){let r={...t.RETRY_CONFIG,url:this.endpoints.oauth2TokenUrl,method:"POST",data:new URLSearchParams({client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token",refresh_token:this._refreshToken,target_audience:e})};return hS.AuthClient.setMethodName(r,"fetchIdToken"),(await this.transporter.request(r)).data.id_token}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the user refresh token");if(e.type!=="authorized_user")throw new Error('The incoming JSON object does not have the "authorized_user" type');if(!e.client_id)throw new Error("The incoming JSON object does not contain a client_id field");if(!e.client_secret)throw new Error("The incoming JSON object does not contain a client_secret field");if(!e.refresh_token)throw new Error("The incoming JSON object does not contain a refresh_token field");this._clientId=e.client_id,this._clientSecret=e.client_secret,this._refreshToken=e.refresh_token,this.credentials.refresh_token=e.refresh_token,this.quotaProjectId=e.quota_project_id,this.universeDomain=e.universe_domain||this.universeDomain}fromStream(e,r){if(r)this.fromStreamAsync(e).then(()=>r(),r);else return this.fromStreamAsync(e)}async fromStreamAsync(e){return new Promise((r,n)=>{if(!e)return n(new Error("Must pass in a stream containing the user refresh token."));let o="";e.setEncoding("utf8").on("error",n).on("data",s=>o+=s).on("end",()=>{try{let s=JSON.parse(o);return this.fromJSON(s),r()}catch(s){return n(s)}})})}static fromJSON(e){let r=new t;return r.fromJSON(e),r}};oo.UserRefreshClient=bl});var El=V(so=>{"use strict";Object.defineProperty(so,"__esModule",{value:!0});so.Impersonated=so.IMPERSONATED_ACCOUNT_TYPE=void 0;var py=yn(),pS=Ke(),mS=zt();so.IMPERSONATED_ACCOUNT_TYPE="impersonated_service_account";var wl=class t extends py.OAuth2Client{sourceClient;targetPrincipal;targetScopes;delegates;lifetime;endpoint;constructor(e={}){if(super(e),console.warn("The `Impersonated` constructor does not validate the credential configuration. A security risk occurs when a credential configuration configured with malicious URLs is used. When the credential configuration is accepted from an untrusted source, you should validate it before using it with this method. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.credentials={expiry_date:1,refresh_token:"impersonated-placeholder"},this.sourceClient=e.sourceClient??new py.OAuth2Client,this.targetPrincipal=e.targetPrincipal??"",this.delegates=e.delegates??[],this.targetScopes=e.targetScopes??[],this.lifetime=e.lifetime??3600,!!!(0,mS.originalOrCamelOptions)(e).get("universe_domain"))this.universeDomain=this.sourceClient.universeDomain;else if(this.sourceClient.universeDomain!==this.universeDomain)throw new RangeError(`Universe domain ${this.sourceClient.universeDomain} in source credentials does not match ${this.universeDomain} universe domain set for impersonated credentials.`);this.endpoint=e.endpoint??`https://iamcredentials.${this.universeDomain}`}async sign(e){await this.sourceClient.getAccessToken();let r=`projects/-/serviceAccounts/${this.targetPrincipal}`,n=`${this.endpoint}/v1/${r}:signBlob`,o={delegates:this.delegates,payload:Buffer.from(e).toString("base64")};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:n,data:o,method:"POST"})).data}getTargetPrincipal(){return this.targetPrincipal}async refreshToken(){try{await this.sourceClient.getAccessToken();let e="projects/-/serviceAccounts/"+this.targetPrincipal,r=`${this.endpoint}/v1/${e}:generateAccessToken`,n={delegates:this.delegates,scope:this.targetScopes,lifetime:this.lifetime+"s"},o=await this.sourceClient.request({...t.RETRY_CONFIG,url:r,data:n,method:"POST"}),s=o.data;return this.credentials.access_token=s.accessToken,this.credentials.expiry_date=Date.parse(s.expireTime),{tokens:this.credentials,res:o}}catch(e){if(!(e instanceof Error))throw e;let r=0,n="";throw e instanceof pS.GaxiosError&&(r=e?.response?.data?.error?.status,n=e?.response?.data?.error?.message),r&&n?(e.message=`${r}: unable to impersonate: ${n}`,e):(e.message=`unable to impersonate: ${e}`,e)}}async fetchIdToken(e,r){await this.sourceClient.getAccessToken();let n=`projects/-/serviceAccounts/${this.targetPrincipal}`,o=`${this.endpoint}/v1/${n}:generateIdToken`,s={delegates:this.delegates,audience:e,includeEmail:r?.includeEmail??!0,useEmailAzp:r?.includeEmail??!0};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:o,data:s,method:"POST"})).data.token}};so.Impersonated=wl});var Sl=V(Zo=>{"use strict";Object.defineProperty(Zo,"__esModule",{value:!0});Zo.OAuthClientAuthHandler=void 0;Zo.getErrorFromOAuthErrorResponse=_S;var io=Ke(),gS=zo(),yS=["PUT","POST","PATCH"],Al=class{#e=(0,gS.createCrypto)();#t;transporter;constructor(e){e&&"clientId"in e?(this.#t=e,this.transporter=new io.Gaxios):(this.#t=e?.clientAuthentication,this.transporter=e?.transporter||new io.Gaxios)}applyClientAuthenticationOptions(e,r){e.headers=io.Gaxios.mergeHeaders(e.headers),this.injectAuthenticatedHeaders(e,r),r||this.injectAuthenticatedRequestBody(e)}injectAuthenticatedHeaders(e,r){if(r)e.headers=io.Gaxios.mergeHeaders(e.headers,{authorization:`Bearer ${r}`});else if(this.#t?.confidentialClientType==="basic"){e.headers=io.Gaxios.mergeHeaders(e.headers);let n=this.#t.clientId,o=this.#t.clientSecret||"",s=this.#e.encodeBase64StringUtf8(`${n}:${o}`);io.Gaxios.mergeHeaders(e.headers,{authorization:`Basic ${s}`})}}injectAuthenticatedRequestBody(e){if(this.#t?.confidentialClientType==="request-body"){let r=(e.method||"GET").toUpperCase();if(!yS.includes(r))throw new Error(`${r} HTTP method does not support ${this.#t.confidentialClientType} client authentication`);let o=new Headers(e.headers).get("content-type");if(o?.startsWith("application/x-www-form-urlencoded")||e.data instanceof URLSearchParams){let s=new URLSearchParams(e.data??"");s.append("client_id",this.#t.clientId),s.append("client_secret",this.#t.clientSecret||""),e.data=s}else if(o?.startsWith("application/json"))e.data=e.data||{},Object.assign(e.data,{client_id:this.#t.clientId,client_secret:this.#t.clientSecret||""});else throw new Error(`${o} content-types are not supported with ${this.#t.confidentialClientType} client authentication`)}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}};Zo.OAuthClientAuthHandler=Al;function _S(t,e){let r=t.error,n=t.error_description,o=t.error_uri,s=`Error code ${r}`;typeof n<"u"&&(s+=`: ${n}`),typeof o<"u"&&(s+=` - ${o}`);let a=new Error(s);if(e){let c=Object.keys(e);e.stack&&c.push("stack"),c.forEach(l=>{l!=="message"&&Object.defineProperty(a,l,{value:e[l],writable:!1,enumerable:!0})})}return a}});var ea=V(Zi=>{"use strict";Object.defineProperty(Zi,"__esModule",{value:!0});Zi.StsCredentials=void 0;var bS=Ke(),CS=yt(),my=Sl(),wS=zt(),kl=class t extends my.OAuthClientAuthHandler{#e;constructor(e={tokenExchangeEndpoint:""},r){(typeof e!="object"||e instanceof URL)&&(e={tokenExchangeEndpoint:e,clientAuthentication:r}),super(e),this.#e=e.tokenExchangeEndpoint}async exchangeToken(e,r,n){let o={grant_type:e.grantType,resource:e.resource,audience:e.audience,scope:e.scope?.join(" "),requested_token_type:e.requestedTokenType,subject_token:e.subjectToken,subject_token_type:e.subjectTokenType,actor_token:e.actingParty?.actorToken,actor_token_type:e.actingParty?.actorTokenType,options:n&&JSON.stringify(n)},s={...t.RETRY_CONFIG,url:this.#e.toString(),method:"POST",headers:r,data:new URLSearchParams((0,wS.removeUndefinedValuesInObject)(o))};CS.AuthClient.setMethodName(s,"exchangeToken"),this.applyClientAuthenticationOptions(s);try{let a=await this.transporter.request(s),c=a.data;return c.res=a,c}catch(a){throw a instanceof bS.GaxiosError&&a.response?(0,my.getErrorFromOAuthErrorResponse)(a.response.data,a):a}}};Zi.StsCredentials=kl});var Vr=V(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.BaseExternalAccountClient=xt.CLOUD_RESOURCE_MANAGER=xt.EXTERNAL_ACCOUNT_TYPE=xt.EXPIRATION_TIME_OFFSET=void 0;var ES=Ke(),AS=X("stream"),vl=yt(),SS=ea(),gy=zt(),kS=$c(),vS="urn:ietf:params:oauth:grant-type:token-exchange",TS="urn:ietf:params:oauth:token-type:access_token",Tl="https://www.googleapis.com/auth/cloud-platform",DS=3600;xt.EXPIRATION_TIME_OFFSET=300*1e3;xt.EXTERNAL_ACCOUNT_TYPE="external_account";xt.CLOUD_RESOURCE_MANAGER="https://cloudresourcemanager.googleapis.com/v1/projects/";var RS="//iam\\.googleapis\\.com/locations/[^/]+/workforcePools/[^/]+/providers/.+",xS="https://sts.{universeDomain}/v1/token",Dl=class t extends vl.AuthClient{scopes;projectNumber;audience;subjectTokenType;stsCredential;clientAuth;credentialSourceType;cachedAccessToken;serviceAccountImpersonationUrl;serviceAccountImpersonationLifetime;workforcePoolUserProject;configLifetimeRequested;tokenUrl;cloudResourceManagerURL;supplierContext;#e=null;constructor(e){super(e);let r=(0,gy.originalOrCamelOptions)(e),n=r.get("type");if(n&&n!==xt.EXTERNAL_ACCOUNT_TYPE)throw new Error(`Expected "${xt.EXTERNAL_ACCOUNT_TYPE}" type but received "${e.type}"`);let o=r.get("client_id"),s=r.get("client_secret");this.tokenUrl=r.get("token_url")??xS.replace("{universeDomain}",this.universeDomain);let a=r.get("subject_token_type"),c=r.get("workforce_pool_user_project"),l=r.get("service_account_impersonation_url"),d=r.get("service_account_impersonation"),f=(0,gy.originalOrCamelOptions)(d).get("token_lifetime_seconds");this.cloudResourceManagerURL=new URL(r.get("cloud_resource_manager_url")||`https://cloudresourcemanager.${this.universeDomain}/v1/projects/`),o&&(this.clientAuth={confidentialClientType:"basic",clientId:o,clientSecret:s}),this.stsCredential=new SS.StsCredentials({tokenExchangeEndpoint:this.tokenUrl,clientAuthentication:this.clientAuth}),this.scopes=r.get("scopes")||[Tl],this.cachedAccessToken=null,this.audience=r.get("audience"),this.subjectTokenType=a,this.workforcePoolUserProject=c;let p=new RegExp(RS);if(this.workforcePoolUserProject&&!this.audience.match(p))throw new Error("workforcePoolUserProject should not be set for non-workforce pool credentials.");this.serviceAccountImpersonationUrl=l,this.serviceAccountImpersonationLifetime=f,this.serviceAccountImpersonationLifetime?this.configLifetimeRequested=!0:(this.configLifetimeRequested=!1,this.serviceAccountImpersonationLifetime=DS),this.projectNumber=this.getProjectNumber(this.audience),this.supplierContext={audience:this.audience,subjectTokenType:this.subjectTokenType,transporter:this.transporter}}getServiceAccountEmail(){if(this.serviceAccountImpersonationUrl){if(this.serviceAccountImpersonationUrl.length>256)throw new RangeError(`URL is too long: ${this.serviceAccountImpersonationUrl}`);return/serviceAccounts\/(?<email>[^:]+):generateAccessToken$/.exec(this.serviceAccountImpersonationUrl)?.groups?.email||null}return null}setCredentials(e){super.setCredentials(e),this.cachedAccessToken=e}async getAccessToken(){return(!this.cachedAccessToken||this.isExpired(this.cachedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),r=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(r)}request(e,r){if(r)this.requestAsync(e).then(n=>r(null,n),n=>r(n,n.response));else return this.requestAsync(e)}async getProjectId(){let e=this.projectNumber||this.workforcePoolUserProject;if(this.projectId)return this.projectId;if(e){let r=await this.getRequestHeaders(),n={...t.RETRY_CONFIG,headers:r,url:`${this.cloudResourceManagerURL.toString()}${e}`};vl.AuthClient.setMethodName(n,"getProjectId");let o=await this.transporter.request(n);return this.projectId=o.data.projectId,this.projectId}return null}async requestAsync(e,r=!1){let n;try{let o=await this.getRequestHeaders();e.headers=ES.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),n=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let a=s.status,c=s.config.data instanceof AS.Readable;if(!r&&(a===401||a===403)&&!c&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return n}async refreshAccessTokenAsync(){this.#e=this.#e||this.#t();try{return await this.#e}finally{this.#e=null}}async#t(){let e=await this.retrieveSubjectToken(),r={grantType:vS,audience:this.audience,requestedTokenType:TS,subjectToken:e,subjectTokenType:this.subjectTokenType,scope:this.serviceAccountImpersonationUrl?[Tl]:this.getScopesArray()},n=!this.clientAuth&&this.workforcePoolUserProject?{userProject:this.workforcePoolUserProject}:void 0,o=new Headers({"x-goog-api-client":this.getMetricsHeaderValue()}),s=await this.stsCredential.exchangeToken(r,o,n);return this.serviceAccountImpersonationUrl?this.cachedAccessToken=await this.getImpersonatedAccessToken(s.access_token):s.expires_in?this.cachedAccessToken={access_token:s.access_token,expiry_date:new Date().getTime()+s.expires_in*1e3,res:s.res}:this.cachedAccessToken={access_token:s.access_token,res:s.res},this.credentials={},Object.assign(this.credentials,this.cachedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedAccessToken.expiry_date,access_token:this.cachedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedAccessToken}getProjectNumber(e){let r=e.match(/\/projects\/([^/]+)/);return r?r[1]:null}async getImpersonatedAccessToken(e){let r={...t.RETRY_CONFIG,url:this.serviceAccountImpersonationUrl,method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${e}`},data:{scope:this.getScopesArray(),lifetime:this.serviceAccountImpersonationLifetime+"s"}};vl.AuthClient.setMethodName(r,"getImpersonatedAccessToken");let n=await this.transporter.request(r),o=n.data;return{access_token:o.accessToken,expiry_date:new Date(o.expireTime).getTime(),res:n}}isExpired(e){let r=new Date().getTime();return e.expiry_date?r>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}getScopesArray(){return typeof this.scopes=="string"?[this.scopes]:this.scopes||[Tl]}getMetricsHeaderValue(){let e=process.version.replace(/^v/,""),r=this.serviceAccountImpersonationUrl!==void 0,n=this.credentialSourceType?this.credentialSourceType:"unknown";return`gl-node/${e} auth/${kS.pkg.version} google-byoid-sdk source/${n} sa-impersonation/${r} config-lifetime/${this.configLifetimeRequested}`}getTokenUrl(){return this.tokenUrl}};xt.BaseExternalAccountClient=Dl});var yy=V(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.FileSubjectTokenSupplier=void 0;var xl=X("util"),Ol=X("fs"),OS=(0,xl.promisify)(Ol.readFile??(()=>{})),FS=(0,xl.promisify)(Ol.realpath??(()=>{})),PS=(0,xl.promisify)(Ol.lstat??(()=>{})),Rl=class{filePath;formatType;subjectTokenFieldName;constructor(e){this.filePath=e.filePath,this.formatType=e.formatType,this.subjectTokenFieldName=e.subjectTokenFieldName}async getSubjectToken(){let e=this.filePath;try{if(e=await FS(e),!(await PS(e)).isFile())throw new Error}catch(o){throw o instanceof Error&&(o.message=`The file at ${e} does not exist, or it is not a file. ${o.message}`),o}let r,n=await OS(e,{encoding:"utf8"});if(this.formatType==="text"?r=n:this.formatType==="json"&&this.subjectTokenFieldName&&(r=JSON.parse(n)[this.subjectTokenFieldName]),!r)throw new Error("Unable to parse the subject_token from the credential_source file");return r}};ta.FileSubjectTokenSupplier=Rl});var _y=V(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.UrlSubjectTokenSupplier=void 0;var IS=yt(),Fl=class{url;headers;formatType;subjectTokenFieldName;additionalGaxiosOptions;constructor(e){this.url=e.url,this.formatType=e.formatType,this.subjectTokenFieldName=e.subjectTokenFieldName,this.headers=e.headers,this.additionalGaxiosOptions=e.additionalGaxiosOptions}async getSubjectToken(e){let r={...this.additionalGaxiosOptions,url:this.url,method:"GET",headers:this.headers};IS.AuthClient.setMethodName(r,"getSubjectToken");let n;if(this.formatType==="text"?n=(await e.transporter.request(r)).data:this.formatType==="json"&&this.subjectTokenFieldName&&(n=(await e.transporter.request(r)).data[this.subjectTokenFieldName]),!n)throw new Error("Unable to parse the subject_token from the credential_source URL");return n}};ra.UrlSubjectTokenSupplier=Fl});var by=V(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.CertificateSubjectTokenSupplier=wt.InvalidConfigurationError=wt.CertificateSourceUnavailableError=wt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE=void 0;var na=zt(),oa=X("fs"),sa=X("crypto"),BS=X("https");wt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE="GOOGLE_API_CERTIFICATE_CONFIG";var sr=class extends Error{constructor(e){super(e),this.name="CertificateSourceUnavailableError"}};wt.CertificateSourceUnavailableError=sr;var Ot=class extends Error{constructor(e){super(e),this.name="InvalidConfigurationError"}};wt.InvalidConfigurationError=Ot;var Pl=class{certificateConfigPath;trustChainPath;cert;key;constructor(e){if(!e.useDefaultCertificateConfig&&!e.certificateConfigLocation)throw new Ot("Either `useDefaultCertificateConfig` must be true or a `certificateConfigLocation` must be provided.");if(e.useDefaultCertificateConfig&&e.certificateConfigLocation)throw new Ot("Both `useDefaultCertificateConfig` and `certificateConfigLocation` cannot be provided.");this.trustChainPath=e.trustChainPath,this.certificateConfigPath=e.certificateConfigLocation??""}async createMtlsHttpsAgent(){if(!this.key||!this.cert)throw new Ot("Cannot create mTLS Agent with missing certificate or key");return new BS.Agent({key:this.key,cert:this.cert})}async getSubjectToken(){this.certificateConfigPath=await this.#e();let{certPath:e,keyPath:r}=await this.#t();return{cert:this.cert,key:this.key}=await this.#r(e,r),await this.#n(this.cert)}async#e(){let e=this.certificateConfigPath;if(e){if(await(0,na.isValidFile)(e))return e;throw new sr(`Provided certificate config path is invalid: ${e}`)}let r=process.env[wt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE];if(r){if(await(0,na.isValidFile)(r))return r;throw new sr(`Path from environment variable "${wt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" is invalid: ${r}`)}let n=(0,na.getWellKnownCertificateConfigFileLocation)();if(await(0,na.isValidFile)(n))return n;throw new sr(`Could not find certificate configuration file. Searched override path, the "${wt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" env var, and the gcloud path (${n}).`)}async#t(){let e=this.certificateConfigPath,r;try{r=await oa.promises.readFile(e,"utf8")}catch{throw new sr(`Failed to read certificate config file at: ${e}`)}try{let n=JSON.parse(r),o=n?.cert_configs?.workload?.cert_path,s=n?.cert_configs?.workload?.key_path;if(!o||!s)throw new Ot(`Certificate config file (${e}) is missing required "cert_path" or "key_path" in the workload config.`);return{certPath:o,keyPath:s}}catch(n){throw n instanceof Ot?n:new Ot(`Failed to parse certificate config from ${e}: ${n.message}`)}}async#r(e,r){let n,o;try{n=await oa.promises.readFile(e),new sa.X509Certificate(n)}catch(s){let a=s instanceof Error?s.message:String(s);throw new sr(`Failed to read certificate file at ${e}: ${a}`)}try{o=await oa.promises.readFile(r),(0,sa.createPrivateKey)(o)}catch(s){let a=s instanceof Error?s.message:String(s);throw new sr(`Failed to read private key file at ${r}: ${a}`)}return{cert:n,key:o}}async#n(e){let r=new sa.X509Certificate(e);if(!this.trustChainPath)return JSON.stringify([r.raw.toString("base64")]);try{let s=((await oa.promises.readFile(this.trustChainPath,"utf8")).match(/-----BEGIN CERTIFICATE-----[^-]+-----END CERTIFICATE-----/g)??[]).map((l,d)=>{try{return new sa.X509Certificate(l)}catch(f){let p=f instanceof Error?f.message:String(f);throw new Ot(`Failed to parse certificate at index ${d} in trust chain file ${this.trustChainPath}: ${p}`)}}),a=s.findIndex(l=>r.raw.equals(l.raw)),c;if(a===-1)c=[r,...s];else if(a===0)c=s;else throw new Ot(`Leaf certificate exists in the trust chain but is not the first entry (found at index ${a}).`);return JSON.stringify(c.map(l=>l.raw.toString("base64")))}catch(n){if(n instanceof Ot)throw n;let o=n instanceof Error?n.message:String(n);throw new sr(`Failed to process certificate chain from ${this.trustChainPath}: ${o}`)}}};wt.CertificateSubjectTokenSupplier=Pl});var Nl=V(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.IdentityPoolClient=void 0;var NS=Vr(),Il=zt(),MS=yy(),jS=_y(),Cy=by(),LS=ea(),wy=Ke(),Bl=class t extends NS.BaseExternalAccountClient{subjectTokenSupplier;constructor(e){super(e);let r=(0,Il.originalOrCamelOptions)(e),n=r.get("credential_source"),o=r.get("subject_token_supplier");if(!n&&!o)throw new Error("A credential source or subject token supplier must be specified.");if(n&&o)throw new Error("Only one of credential source or subject token supplier can be specified.");if(o)this.subjectTokenSupplier=o,this.credentialSourceType="programmatic";else{let s=(0,Il.originalOrCamelOptions)(n),a=(0,Il.originalOrCamelOptions)(s.get("format")),c=a.get("type")||"text",l=a.get("subject_token_field_name");if(c!=="json"&&c!=="text")throw new Error(`Invalid credential_source format "${c}"`);if(c==="json"&&!l)throw new Error("Missing subject_token_field_name for JSON credential_source format");let d=s.get("file"),f=s.get("url"),p=s.get("certificate"),y=s.get("headers");if(d&&f||f&&p||d&&p)throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.');if(d)this.credentialSourceType="file",this.subjectTokenSupplier=new MS.FileSubjectTokenSupplier({filePath:d,formatType:c,subjectTokenFieldName:l});else if(f)this.credentialSourceType="url",this.subjectTokenSupplier=new jS.UrlSubjectTokenSupplier({url:f,formatType:c,subjectTokenFieldName:l,headers:y,additionalGaxiosOptions:t.RETRY_CONFIG});else if(p){this.credentialSourceType="certificate";let A=new Cy.CertificateSubjectTokenSupplier({useDefaultCertificateConfig:p.use_default_certificate_config,certificateConfigLocation:p.certificate_config_location,trustChainPath:p.trust_chain_path});this.subjectTokenSupplier=A}else throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.')}}async retrieveSubjectToken(){let e=await this.subjectTokenSupplier.getSubjectToken(this.supplierContext);if(this.subjectTokenSupplier instanceof Cy.CertificateSubjectTokenSupplier){let r=await this.subjectTokenSupplier.createMtlsHttpsAgent();this.stsCredential=new LS.StsCredentials({tokenExchangeEndpoint:this.getTokenUrl(),clientAuthentication:this.clientAuth,transporter:new wy.Gaxios({agent:r})}),this.transporter=new wy.Gaxios({...this.transporter.defaults||{},agent:r})}return e}};ia.IdentityPoolClient=Bl});var jl=V(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.AwsRequestSigner=void 0;var aa=Ke(),Ay=zo(),Ey="AWS4-HMAC-SHA256",US="aws4_request",Ml=class{getCredentials;region;crypto;constructor(e,r){this.getCredentials=e,this.region=r,this.crypto=(0,Ay.createCrypto)()}async getRequestOptions(e){if(!e.url)throw new RangeError('"url" is required in "amzOptions"');let r=typeof e.data=="object"?JSON.stringify(e.data):e.data,n=e.url,o=e.method||"GET",s=e.body||r,a=e.headers,c=await this.getCredentials(),l=new URL(n);if(typeof s!="string"&&s!==void 0)throw new TypeError(`'requestPayload' is expected to be a string if provided. Got: ${s}`);let d=await qS({crypto:this.crypto,host:l.host,canonicalUri:l.pathname,canonicalQuerystring:l.search.slice(1),method:o,region:this.region,securityCredentials:c,requestPayload:s,additionalAmzHeaders:a}),f=aa.Gaxios.mergeHeaders(d.amzDate?{"x-amz-date":d.amzDate}:{},{authorization:d.authorizationHeader,host:l.host},a||{});c.token&&aa.Gaxios.mergeHeaders(f,{"x-amz-security-token":c.token});let p={url:n,method:o,headers:f};return s!==void 0&&(p.body=s),p}};ua.AwsRequestSigner=Ml;async function es(t,e,r){return await t.signWithHmacSha256(e,r)}async function $S(t,e,r,n,o){let s=await es(t,`AWS4${e}`,r),a=await es(t,s,n),c=await es(t,a,o);return await es(t,c,"aws4_request")}async function qS(t){let e=aa.Gaxios.mergeHeaders(t.additionalAmzHeaders),r=t.requestPayload||"",n=t.host.split(".")[0],o=new Date,s=o.toISOString().replace(/[-:]/g,"").replace(/\.[0-9]+/,""),a=o.toISOString().replace(/[-]/g,"").replace(/T.*/,"");t.securityCredentials.token&&e.set("x-amz-security-token",t.securityCredentials.token);let c=aa.Gaxios.mergeHeaders({host:t.host},e.has("date")?{}:{"x-amz-date":s},e),l="",d=[...c.keys()].sort();d.forEach(v=>{l+=`${v}:${c.get(v)}
|
|
53
|
-
`});let f=d.join(";"),p=await t.crypto.sha256DigestHex(r),
|
|
52
|
+
"HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,Jo="secret must be a string or buffer",eo="key must be a string or a buffer",CA="key must be a string, a buffer or an object",nl=typeof Rt.createPublicKey=="function";nl&&(eo+=" or a KeyObject",Jo+="or a KeyObject");function vg(t){if(!to.isBuffer(t)&&typeof t!="string"&&(!nl||typeof t!="object"||typeof t.type!="string"||typeof t.asymmetricKeyType!="string"||typeof t.export!="function"))throw Wt(eo)}function Tg(t){if(!to.isBuffer(t)&&typeof t!="string"&&typeof t!="object")throw Wt(CA)}function wA(t){if(!to.isBuffer(t)){if(typeof t=="string")return t;if(!nl||typeof t!="object"||t.type!=="secret"||typeof t.export!="function")throw Wt(Jo)}}function ol(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Dg(t){t=t.toString();var e=4-t.length%4;if(e!==4)for(var r=0;r<e;++r)t+="=";return t.replace(/\-/g,"+").replace(/_/g,"/")}function Wt(t){var e=[].slice.call(arguments,1),r=Sg.format.bind(Sg,t).apply(null,e);return new TypeError(r)}function EA(t){return to.isBuffer(t)||typeof t=="string"}function Vo(t){return EA(t)||(t=JSON.stringify(t)),t}function Rg(t){return function(r,n){wA(n),r=Vo(r);var o=Rt.createHmac("sha"+t,n),s=(o.update(r),o.digest("base64"));return ol(s)}}var rl,AA="timingSafeEqual"in Rt?function(e,r){return e.byteLength!==r.byteLength?!1:Rt.timingSafeEqual(e,r)}:function(e,r){return rl||(rl=Ag()),rl(e,r)};function SA(t){return function(r,n,o){var s=Rg(t)(r,o);return AA(to.from(n),to.from(s))}}function xg(t){return function(r,n){Tg(n),r=Vo(r);var o=Rt.createSign("RSA-SHA"+t),s=(o.update(r),o.sign(n,"base64"));return ol(s)}}function Og(t){return function(r,n,o){vg(o),r=Vo(r),n=Dg(n);var s=Rt.createVerify("RSA-SHA"+t);return s.update(r),s.verify(o,n,"base64")}}function kA(t){return function(r,n){Tg(n),r=Vo(r);var o=Rt.createSign("RSA-SHA"+t),s=(o.update(r),o.sign({key:n,padding:Rt.constants.RSA_PKCS1_PSS_PADDING,saltLength:Rt.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return ol(s)}}function vA(t){return function(r,n,o){vg(o),r=Vo(r),n=Dg(n);var s=Rt.createVerify("RSA-SHA"+t);return s.update(r),s.verify({key:o,padding:Rt.constants.RSA_PKCS1_PSS_PADDING,saltLength:Rt.constants.RSA_PSS_SALTLEN_DIGEST},n,"base64")}}function TA(t){var e=xg(t);return function(){var n=e.apply(null,arguments);return n=kg.derToJose(n,"ES"+t),n}}function DA(t){var e=Og(t);return function(n,o,s){o=kg.joseToDer(o,"ES"+t).toString("base64");var a=e(n,o,s);return a}}function RA(){return function(){return""}}function xA(){return function(e,r){return r===""}}Fg.exports=function(e){var r={hs:Rg,rs:xg,ps:kA,es:TA,none:RA},n={hs:SA,rs:Og,ps:vA,es:DA,none:xA},o=e.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!o)throw Wt(bA,e);var s=(o[1]||o[3]).toLowerCase(),a=o[2];return{sign:r[s](a),verify:n[s](a)}}});var il=V((jx,Pg)=>{var OA=X("buffer").Buffer;Pg.exports=function(e){return typeof e=="string"?e:typeof e=="number"||OA.isBuffer(e)?e.toString():JSON.stringify(e)}});var Lg=V((Lx,jg)=>{var FA=Qn().Buffer,Ig=el(),PA=sl(),IA=X("stream"),Bg=il(),al=X("util");function Ng(t,e){return FA.from(t,e).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function BA(t,e,r){r=r||"utf8";var n=Ng(Bg(t),"binary"),o=Ng(Bg(e),r);return al.format("%s.%s",n,o)}function Mg(t){var e=t.header,r=t.payload,n=t.secret||t.privateKey,o=t.encoding,s=PA(e.alg),a=BA(e,r,o),c=s.sign(a,n);return al.format("%s.%s",a,c)}function Gi(t){var e=t.secret||t.privateKey||t.key,r=new Ig(e);this.readable=!0,this.header=t.header,this.encoding=t.encoding,this.secret=this.privateKey=this.key=r,this.payload=new Ig(t.payload),this.secret.once("close",function(){!this.payload.writable&&this.readable&&this.sign()}.bind(this)),this.payload.once("close",function(){!this.secret.writable&&this.readable&&this.sign()}.bind(this))}al.inherits(Gi,IA);Gi.prototype.sign=function(){try{var e=Mg({header:this.header,payload:this.payload.buffer,secret:this.secret.buffer,encoding:this.encoding});return this.emit("done",e),this.emit("data",e),this.emit("end"),this.readable=!1,e}catch(r){this.readable=!1,this.emit("error",r),this.emit("close")}};Gi.sign=Mg;jg.exports=Gi});var Kg=V((Ux,Vg)=>{var $g=Qn().Buffer,Ug=el(),NA=sl(),MA=X("stream"),qg=il(),jA=X("util"),LA=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function UA(t){return Object.prototype.toString.call(t)==="[object Object]"}function $A(t){if(UA(t))return t;try{return JSON.parse(t)}catch{return}}function zg(t){var e=t.split(".",1)[0];return $A($g.from(e,"base64").toString("binary"))}function qA(t){return t.split(".",2).join(".")}function Hg(t){return t.split(".")[2]}function zA(t,e){e=e||"utf8";var r=t.split(".")[1];return $g.from(r,"base64").toString(e)}function Wg(t){return LA.test(t)&&!!zg(t)}function Gg(t,e,r){if(!e){var n=new Error("Missing algorithm parameter for jws.verify");throw n.code="MISSING_ALGORITHM",n}t=qg(t);var o=Hg(t),s=qA(t),a=NA(e);return a.verify(s,o,r)}function Jg(t,e){if(e=e||{},t=qg(t),!Wg(t))return null;var r=zg(t);if(!r)return null;var n=zA(t);return(r.typ==="JWT"||e.json)&&(n=JSON.parse(n,e.encoding)),{header:r,payload:n,signature:Hg(t)}}function ro(t){t=t||{};var e=t.secret||t.publicKey||t.key,r=new Ug(e);this.readable=!0,this.algorithm=t.algorithm,this.encoding=t.encoding,this.secret=this.publicKey=this.key=r,this.signature=new Ug(t.signature),this.secret.once("close",function(){!this.signature.writable&&this.readable&&this.verify()}.bind(this)),this.signature.once("close",function(){!this.secret.writable&&this.readable&&this.verify()}.bind(this))}jA.inherits(ro,MA);ro.prototype.verify=function(){try{var e=Gg(this.signature.buffer,this.algorithm,this.key.buffer),r=Jg(this.signature.buffer,this.encoding);return this.emit("done",e,r),this.emit("data",e),this.emit("end"),this.readable=!1,e}catch(n){this.readable=!1,this.emit("error",n),this.emit("close")}};ro.decode=Jg;ro.isValid=Wg;ro.verify=Gg;Vg.exports=ro});var ul=V(Jr=>{var Yg=Lg(),Ji=Kg(),HA=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];Jr.ALGORITHMS=HA;Jr.sign=Yg.sign;Jr.verify=Ji.verify;Jr.decode=Ji.decode;Jr.isValid=Ji.isValid;Jr.createSign=function(e){return new Yg(e)};Jr.createVerify=function(e){return new Ji(e)}});var dy=V(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});Ki.GoogleToken=void 0;var Qg=Vi(X("fs")),WA=Ke(),GA=Vi(ul()),JA=Vi(X("path")),VA=X("util");function Vi(t,e){if(typeof WeakMap=="function")var r=new WeakMap,n=new WeakMap;return(Vi=function(s,a){if(!a&&s&&s.__esModule)return s;var c,l,d={__proto__:null,default:s};if(s===null||Sr(s)!="object"&&typeof s!="function")return d;if(c=a?n:r){if(c.has(s))return c.get(s);c.set(s,d)}for(var f in s)f!=="default"&&{}.hasOwnProperty.call(s,f)&&((l=(c=Object.defineProperty)&&Object.getOwnPropertyDescriptor(s,f))&&(l.get||l.set)?c(d,f,l):d[f]=s[f]);return d})(t,e)}function Sr(t){"@babel/helpers - typeof";return Sr=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Sr(t)}function KA(t,e){iy(t,e),e.add(t)}function YA(t,e,r){iy(t,e),e.set(t,r)}function iy(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Xg(t,e,r){return t.set(Gt(t,e),r),r}function Zg(t,e){return t.get(Gt(t,e))}function Gt(t,e,r){if(typeof t=="function"?t===e:t.has(e))return arguments.length<3?e:r;throw new TypeError("Private element is not present on this object")}function ey(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,cy(n.key),n)}}function ay(t,e,r){return e&&ey(t.prototype,e),r&&ey(t,r),Object.defineProperty(t,"prototype",{writable:!1}),t}function uy(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function QA(t,e,r){return e=Xo(e),XA(t,pl()?Reflect.construct(e,r||[],Xo(t).constructor):e.apply(t,r))}function XA(t,e){if(e&&(Sr(e)=="object"||typeof e=="function"))return e;if(e!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ZA(t)}function ZA(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function eS(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&Qo(t,e)}function cl(t){var e=typeof Map=="function"?new Map:void 0;return cl=function(n){if(n===null||!rS(n))return n;if(typeof n!="function")throw new TypeError("Super expression must either be null or a function");if(e!==void 0){if(e.has(n))return e.get(n);e.set(n,o)}function o(){return tS(n,arguments,Xo(this).constructor)}return o.prototype=Object.create(n.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),Qo(o,n)},cl(t)}function tS(t,e,r){if(pl())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,e);var o=new(t.bind.apply(t,n));return r&&Qo(o,r.prototype),o}function pl(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(pl=function(){return!!t})()}function rS(t){try{return Function.toString.call(t).indexOf("[native code]")!==-1}catch{return typeof t=="function"}}function Qo(t,e){return Qo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},Qo(t,e)}function Xo(t){return Xo=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Xo(t)}function _t(t,e,r){return(e=cy(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function cy(t){var e=nS(t,"string");return Sr(e)=="symbol"?e:e+""}function nS(t,e){if(Sr(t)!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e||"default");if(Sr(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function Ct(){var t,e,r=typeof Symbol=="function"?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function s(A,w,_,y){var m=w&&w.prototype instanceof c?w:c,v=Object.create(m.prototype);return bt(v,"_invoke",(function(b,S,D){var O,q,J,B=0,Y=D||[],re=!1,ee={p:0,n:0,v:t,a:ue,f:ue.bind(t,4),d:function(Se,se){return O=Se,q=0,J=t,ee.n=se,a}};function ue(fe,Se){for(q=fe,J=Se,e=0;!re&&B&&!se&&e<Y.length;e++){var se,me=Y[e],G=ee.p,K=me[2];fe>3?(se=K===Se)&&(J=me[(q=me[4])?5:(q=3,3)],me[4]=me[5]=t):me[0]<=G&&((se=fe<2&&G<me[1])?(q=0,ee.v=Se,ee.n=me[1]):G<K&&(se=fe<3||me[0]>Se||Se>K)&&(me[4]=fe,me[5]=Se,ee.n=K,q=0))}if(se||fe>1)return a;throw re=!0,Se}return function(fe,Se,se){if(B>1)throw TypeError("Generator is already running");for(re&&Se===1&&ue(Se,se),q=Se,J=se;(e=q<2?t:J)||!re;){O||(q?q<3?(q>1&&(ee.n=-1),ue(q,J)):ee.n=J:ee.v=J);try{if(B=2,O){if(q||(fe="next"),e=O[fe]){if(!(e=e.call(O,J)))throw TypeError("iterator result is not an object");if(!e.done)return e;J=e.value,q<2&&(q=0)}else q===1&&(e=O.return)&&e.call(O),q<2&&(J=TypeError("The iterator does not provide a '"+fe+"' method"),q=1);O=t}else if((e=(re=ee.n<0)?J:b.call(S,ee))!==a)break}catch(me){O=t,q=1,J=me}finally{B=1}}return{value:e,done:re}}})(A,_,y),!0),v}var a={};function c(){}function l(){}function d(){}e=Object.getPrototypeOf;var f=[][n]?e(e([][n]())):(bt(e={},n,function(){return this}),e),p=d.prototype=c.prototype=Object.create(f);function g(A){return Object.setPrototypeOf?Object.setPrototypeOf(A,d):(A.__proto__=d,bt(A,o,"GeneratorFunction")),A.prototype=Object.create(p),A}return l.prototype=d,bt(p,"constructor",d),bt(d,"constructor",l),l.displayName="GeneratorFunction",bt(d,o,"GeneratorFunction"),bt(p),bt(p,o,"Generator"),bt(p,n,function(){return this}),bt(p,"toString",function(){return"[object Generator]"}),(Ct=function(){return{w:s,m:g}})()}function bt(t,e,r,n){var o=Object.defineProperty;try{o({},"",{})}catch{o=0}bt=function(a,c,l,d){if(c)o?o(a,c,{value:l,enumerable:!d,configurable:!d,writable:!d}):a[c]=l;else{var f=function(g,A){bt(a,g,function(w){return this._invoke(g,A,w)})};f("next",0),f("throw",1),f("return",2)}},bt(t,e,r,n)}function ty(t,e,r,n,o,s,a){try{var c=t[s](a),l=c.value}catch(d){return void r(d)}c.done?e(l):Promise.resolve(l).then(n,o)}function no(t){return function(){var e=this,r=arguments;return new Promise(function(n,o){var s=t.apply(e,r);function a(l){ty(s,n,o,a,c,"next",l)}function c(l){ty(s,n,o,a,c,"throw",l)}a(void 0)})}}var ry=Qg.readFile?(0,VA.promisify)(Qg.readFile):no(Ct().m(function t(){return Ct().w(function(e){for(;;)switch(e.n){case 0:throw new Yo("use key rather than keyFile.","MISSING_CREDENTIALS");case 1:return e.a(2)}},t)})),ny="https://oauth2.googleapis.com/token",oS="https://oauth2.googleapis.com/revoke?token=",Yo=(function(t){function e(r,n){var o;return uy(this,e),o=QA(this,e,[r]),_t(o,"code",void 0),o.code=n,o}return eS(e,t),ay(e)})(cl(Error)),Ko=new WeakMap,or=new WeakSet,qx=Ki.GoogleToken=(function(){function t(e){uy(this,t),KA(this,or),_t(this,"expiresAt",void 0),_t(this,"key",void 0),_t(this,"keyFile",void 0),_t(this,"iss",void 0),_t(this,"sub",void 0),_t(this,"scope",void 0),_t(this,"rawToken",void 0),_t(this,"tokenExpires",void 0),_t(this,"email",void 0),_t(this,"additionalClaims",void 0),_t(this,"eagerRefreshThresholdMillis",void 0),_t(this,"transporter",{request:function(n){return(0,WA.request)(n)}}),YA(this,Ko,void 0),Gt(or,this,ly).call(this,e)}return ay(t,[{key:"accessToken",get:function(){return this.rawToken?this.rawToken.access_token:void 0}},{key:"idToken",get:function(){return this.rawToken?this.rawToken.id_token:void 0}},{key:"tokenType",get:function(){return this.rawToken?this.rawToken.token_type:void 0}},{key:"refreshToken",get:function(){return this.rawToken?this.rawToken.refresh_token:void 0}},{key:"hasExpired",value:function(){var r=new Date().getTime();return this.rawToken&&this.expiresAt?r>=this.expiresAt:!0}},{key:"isTokenExpiring",value:function(){var r,n=new Date().getTime(),o=(r=this.eagerRefreshThresholdMillis)!==null&&r!==void 0?r:0;return this.rawToken&&this.expiresAt?this.expiresAt<=n+o:!0}},{key:"getToken",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(Sr(r)==="object"&&(n=r,r=void 0),n=Object.assign({forceRefresh:!1},n),r){var o=r;Gt(or,this,oy).call(this,n).then(function(s){return o(null,s)},r);return}return Gt(or,this,oy).call(this,n)}},{key:"getCredentials",value:(function(){var e=no(Ct().m(function n(o){var s,a,c,l,d,f,p;return Ct().w(function(g){for(;;)switch(g.n){case 0:s=JA.extname(o),p=s,g.n=p===".json"?1:p===".der"||p===".crt"||p===".pem"?4:p===".p12"||p===".pfx"?6:7;break;case 1:return g.n=2,ry(o,"utf8");case 2:if(a=g.v,c=JSON.parse(a),l=c.private_key,d=c.client_email,!(!l||!d)){g.n=3;break}throw new Yo("private_key and client_email are required.","MISSING_CREDENTIALS");case 3:return g.a(2,{privateKey:l,clientEmail:d});case 4:return g.n=5,ry(o,"utf8");case 5:return f=g.v,g.a(2,{privateKey:f});case 6:throw new Yo("*.p12 certificates are not supported after v6.1.2. Consider utilizing *.json format or converting *.p12 to *.pem using the OpenSSL CLI.","UNKNOWN_CERTIFICATE_TYPE");case 7:throw new Yo("Unknown certificate type. Type is determined based on file extension. Current supported extensions are *.json, and *.pem.","UNKNOWN_CERTIFICATE_TYPE");case 8:return g.a(2)}},n)}));function r(n){return e.apply(this,arguments)}return r})()},{key:"revokeToken",value:function(r){if(r){Gt(or,this,sy).call(this).then(function(){return r()},r);return}return Gt(or,this,sy).call(this)}}])})();function oy(t){return ll.apply(this,arguments)}function ll(){return ll=no(Ct().m(function t(e){return Ct().w(function(r){for(;;)switch(r.n){case 0:if(!(Zg(Ko,this)&&!e.forceRefresh)){r.n=1;break}return r.a(2,Zg(Ko,this));case 1:return r.p=1,r.n=2,Xg(Ko,this,Gt(or,this,sS).call(this,e));case 2:return r.a(2,r.v);case 3:return r.p=3,Xg(Ko,this,void 0),r.f(3);case 4:return r.a(2)}},t,this,[[1,,3,4]])})),ll.apply(this,arguments)}function sS(t){return dl.apply(this,arguments)}function dl(){return dl=no(Ct().m(function t(e){var r;return Ct().w(function(n){for(;;)switch(n.n){case 0:if(!(this.isTokenExpiring()===!1&&e.forceRefresh===!1)){n.n=1;break}return n.a(2,Promise.resolve(this.rawToken));case 1:if(!(!this.key&&!this.keyFile)){n.n=2;break}throw new Error("No key or keyFile set.");case 2:if(!(!this.key&&this.keyFile)){n.n=4;break}return n.n=3,this.getCredentials(this.keyFile);case 3:r=n.v,this.key=r.privateKey,this.iss=r.clientEmail||this.iss,r.clientEmail||Gt(or,this,iS).call(this);case 4:return n.a(2,Gt(or,this,aS).call(this))}},t,this)})),dl.apply(this,arguments)}function iS(){if(!this.iss)throw new Yo("email is required.","MISSING_CREDENTIALS")}function sy(){return fl.apply(this,arguments)}function fl(){return fl=no(Ct().m(function t(){var e;return Ct().w(function(r){for(;;)switch(r.n){case 0:if(this.accessToken){r.n=1;break}throw new Error("No token to revoke.");case 1:return e=oS+this.accessToken,r.n=2,this.transporter.request({url:e,retry:!0});case 2:Gt(or,this,ly).call(this,{email:this.iss,sub:this.sub,key:this.key,keyFile:this.keyFile,scope:this.scope,additionalClaims:this.additionalClaims});case 3:return r.a(2)}},t,this)})),fl.apply(this,arguments)}function ly(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.keyFile=t.keyFile,this.key=t.key,this.rawToken=void 0,this.iss=t.email||t.iss,this.sub=t.sub,this.additionalClaims=t.additionalClaims,Sr(t.scope)==="object"?this.scope=t.scope.join(" "):this.scope=t.scope,this.eagerRefreshThresholdMillis=t.eagerRefreshThresholdMillis,t.transporter&&(this.transporter=t.transporter)}function aS(){return hl.apply(this,arguments)}function hl(){return hl=no(Ct().m(function t(){var e,r,n,o,s,a,c,l,d,f;return Ct().w(function(p){for(;;)switch(p.n){case 0:return e=Math.floor(new Date().getTime()/1e3),r=this.additionalClaims||{},n=Object.assign({iss:this.iss,scope:this.scope,aud:ny,exp:e+3600,iat:e,sub:this.sub},r),o=GA.sign({header:{alg:"RS256"},payload:n,secret:this.key}),p.p=1,p.n=2,this.transporter.request({method:"POST",url:ny,data:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:o}),responseType:"json",retryConfig:{httpMethodsToRetry:["POST"]}});case 2:return s=p.v,this.rawToken=s.data,this.expiresAt=s.data.expires_in===null||s.data.expires_in===void 0?void 0:(e+s.data.expires_in)*1e3,p.a(2,this.rawToken);case 3:throw p.p=3,f=p.v,this.rawToken=void 0,this.tokenExpires=void 0,l=f.response&&(a=f.response)!==null&&a!==void 0&&a.data?(c=f.response)===null||c===void 0?void 0:c.data:{},l.error&&(d=l.error_description?": ".concat(l.error_description):"",f.message="".concat(l.error).concat(d)),f;case 4:return p.a(2)}},t,this,[[1,3]])})),hl.apply(this,arguments)}});var gl=V(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Yi.JWTAccess=void 0;var uS=ul(),cS=zt(),fy={alg:"RS256",typ:"JWT"},ml=class t{email;key;keyId;projectId;eagerRefreshThresholdMillis;cache=new cS.LRUCache({capacity:500,maxAge:3600*1e3});constructor(e,r,n,o){this.email=e,this.key=r,this.keyId=n,this.eagerRefreshThresholdMillis=o??300*1e3}getCachedKey(e,r){let n=e;if(r&&Array.isArray(r)&&r.length?n=e?`${e}_${r.join("_")}`:`${r.join("_")}`:typeof r=="string"&&(n=e?`${e}_${r}`:r),!n)throw Error("Scopes or url must be provided");return n}getRequestHeaders(e,r,n){let o=this.getCachedKey(e,n),s=this.cache.get(o),a=Date.now();if(s&&s.expiration-a>this.eagerRefreshThresholdMillis)return new Headers(s.headers);let c=Math.floor(Date.now()/1e3),l=t.getExpirationTime(c),d;if(Array.isArray(n)&&(n=n.join(" ")),n?d={iss:this.email,sub:this.email,scope:n,exp:l,iat:c}:d={iss:this.email,sub:this.email,aud:e,exp:l,iat:c},r){for(let w in d)if(r[w])throw new Error(`The '${w}' property is not allowed when passing additionalClaims. This claim is included in the JWT by default.`)}let f=this.keyId?{...fy,kid:this.keyId}:fy,p=Object.assign(d,r),g=uS.sign({header:f,payload:p,secret:this.key}),A=new Headers({authorization:`Bearer ${g}`});return this.cache.set(o,{expiration:l*1e3,headers:A}),A}static getExpirationTime(e){return e+3600}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the service account auth settings.");if(!e.client_email)throw new Error("The incoming JSON object does not contain a client_email field");if(!e.private_key)throw new Error("The incoming JSON object does not contain a private_key field");this.email=e.client_email,this.key=e.private_key,this.keyId=e.private_key_id,this.projectId=e.project_id}fromStream(e,r){if(r)this.fromStreamAsync(e).then(()=>r(),r);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((r,n)=>{e||n(new Error("Must pass in a stream containing the service account auth settings."));let o="";e.setEncoding("utf8").on("data",s=>o+=s).on("error",n).on("end",()=>{try{let s=JSON.parse(o);this.fromJSON(s),r()}catch(s){n(s)}})})}};Yi.JWTAccess=ml});var _l=V(Xi=>{"use strict";Object.defineProperty(Xi,"__esModule",{value:!0});Xi.JWT=void 0;var hy=dy(),lS=gl(),dS=yn(),Qi=yt(),yl=class t extends dS.OAuth2Client{email;keyFile;key;keyId;defaultScopes;scopes;scope;subject;gtoken;additionalClaims;useJWTAccessWithScope;defaultServicePath;access;constructor(e={}){super(e),this.email=e.email,this.keyFile=e.keyFile,this.key=e.key,this.keyId=e.keyId,this.scopes=e.scopes,this.subject=e.subject,this.additionalClaims=e.additionalClaims,this.credentials={refresh_token:"jwt-placeholder",expiry_date:1}}createScoped(e){let r=new t(this);return r.scopes=e,r}async getRequestMetadataAsync(e){e=this.defaultServicePath?`https://${this.defaultServicePath}/`:e;let r=!this.hasUserScopes()&&e||this.useJWTAccessWithScope&&this.hasAnyScopes()||this.universeDomain!==Qi.DEFAULT_UNIVERSE;if(this.subject&&this.universeDomain!==Qi.DEFAULT_UNIVERSE)throw new RangeError(`Service Account user is configured for the credential. Domain-wide delegation is not supported in universes other than ${Qi.DEFAULT_UNIVERSE}`);if(!this.apiKey&&r)if(this.additionalClaims&&this.additionalClaims.target_audience){let{tokens:n}=await this.refreshToken();return{headers:this.addSharedMetadataHeaders(new Headers({authorization:`Bearer ${n.id_token}`}))}}else{this.access||(this.access=new lS.JWTAccess(this.email,this.key,this.keyId,this.eagerRefreshThresholdMillis));let n;this.hasUserScopes()?n=this.scopes:e||(n=this.defaultScopes);let o=this.useJWTAccessWithScope||this.universeDomain!==Qi.DEFAULT_UNIVERSE,s=await this.access.getRequestHeaders(e??void 0,this.additionalClaims,o?n:void 0);return{headers:this.addSharedMetadataHeaders(s)}}else return this.hasAnyScopes()||this.apiKey?super.getRequestMetadataAsync(e):{headers:new Headers}}async fetchIdToken(e){let r=new hy.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:{target_audience:e},transporter:this.transporter});if(await r.getToken({forceRefresh:!0}),!r.idToken)throw new Error("Unknown error: Failed to fetch ID token");return r.idToken}hasUserScopes(){return this.scopes?this.scopes.length>0:!1}hasAnyScopes(){return!!(this.scopes&&this.scopes.length>0||this.defaultScopes&&this.defaultScopes.length>0)}authorize(e){if(e)this.authorizeAsync().then(r=>e(null,r),e);else return this.authorizeAsync()}async authorizeAsync(){let e=await this.refreshToken();if(!e)throw new Error("No result returned");return this.credentials=e.tokens,this.credentials.refresh_token="jwt-placeholder",this.key=this.gtoken.key,this.email=this.gtoken.iss,e.tokens}async refreshTokenNoCache(){let e=this.createGToken(),n={access_token:(await e.getToken({forceRefresh:this.isTokenExpiring()})).access_token,token_type:"Bearer",expiry_date:e.expiresAt,id_token:e.idToken};return this.emit("tokens",n),{res:null,tokens:n}}createGToken(){return this.gtoken||(this.gtoken=new hy.GoogleToken({iss:this.email,sub:this.subject,scope:this.scopes||this.defaultScopes,keyFile:this.keyFile,key:this.key,additionalClaims:this.additionalClaims,transporter:this.transporter})),this.gtoken}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the service account auth settings.");if(!e.client_email)throw new Error("The incoming JSON object does not contain a client_email field");if(!e.private_key)throw new Error("The incoming JSON object does not contain a private_key field");this.email=e.client_email,this.key=e.private_key,this.keyId=e.private_key_id,this.projectId=e.project_id,this.quotaProjectId=e.quota_project_id,this.universeDomain=e.universe_domain||this.universeDomain}fromStream(e,r){if(r)this.fromStreamAsync(e).then(()=>r(),r);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((r,n)=>{if(!e)throw new Error("Must pass in a stream containing the service account auth settings.");let o="";e.setEncoding("utf8").on("error",n).on("data",s=>o+=s).on("end",()=>{try{let s=JSON.parse(o);this.fromJSON(s),r()}catch(s){n(s)}})})}fromAPIKey(e){if(typeof e!="string")throw new Error("Must provide an API Key string.");this.apiKey=e}async getCredentials(){if(this.key)return{private_key:this.key,client_email:this.email};if(this.keyFile){let r=await this.createGToken().getCredentials(this.keyFile);return{private_key:r.privateKey,client_email:r.clientEmail}}throw new Error("A key or a keyFile must be provided to getCredentials.")}};Xi.JWT=yl});var Cl=V(oo=>{"use strict";Object.defineProperty(oo,"__esModule",{value:!0});oo.UserRefreshClient=oo.USER_REFRESH_ACCOUNT_TYPE=void 0;var fS=yn(),hS=yt();oo.USER_REFRESH_ACCOUNT_TYPE="authorized_user";var bl=class t extends fS.OAuth2Client{_refreshToken;constructor(e,r,n,o,s){let a=e&&typeof e=="object"?e:{clientId:e,clientSecret:r,refreshToken:n,eagerRefreshThresholdMillis:o,forceRefreshOnFailure:s};super(a),this._refreshToken=a.refreshToken,this.credentials.refresh_token=a.refreshToken}async refreshTokenNoCache(){return super.refreshTokenNoCache(this._refreshToken)}async fetchIdToken(e){let r={...t.RETRY_CONFIG,url:this.endpoints.oauth2TokenUrl,method:"POST",data:new URLSearchParams({client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token",refresh_token:this._refreshToken,target_audience:e})};return hS.AuthClient.setMethodName(r,"fetchIdToken"),(await this.transporter.request(r)).data.id_token}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the user refresh token");if(e.type!=="authorized_user")throw new Error('The incoming JSON object does not have the "authorized_user" type');if(!e.client_id)throw new Error("The incoming JSON object does not contain a client_id field");if(!e.client_secret)throw new Error("The incoming JSON object does not contain a client_secret field");if(!e.refresh_token)throw new Error("The incoming JSON object does not contain a refresh_token field");this._clientId=e.client_id,this._clientSecret=e.client_secret,this._refreshToken=e.refresh_token,this.credentials.refresh_token=e.refresh_token,this.quotaProjectId=e.quota_project_id,this.universeDomain=e.universe_domain||this.universeDomain}fromStream(e,r){if(r)this.fromStreamAsync(e).then(()=>r(),r);else return this.fromStreamAsync(e)}async fromStreamAsync(e){return new Promise((r,n)=>{if(!e)return n(new Error("Must pass in a stream containing the user refresh token."));let o="";e.setEncoding("utf8").on("error",n).on("data",s=>o+=s).on("end",()=>{try{let s=JSON.parse(o);return this.fromJSON(s),r()}catch(s){return n(s)}})})}static fromJSON(e){let r=new t;return r.fromJSON(e),r}};oo.UserRefreshClient=bl});var El=V(so=>{"use strict";Object.defineProperty(so,"__esModule",{value:!0});so.Impersonated=so.IMPERSONATED_ACCOUNT_TYPE=void 0;var py=yn(),pS=Ke(),mS=zt();so.IMPERSONATED_ACCOUNT_TYPE="impersonated_service_account";var wl=class t extends py.OAuth2Client{sourceClient;targetPrincipal;targetScopes;delegates;lifetime;endpoint;constructor(e={}){if(super(e),console.warn("The `Impersonated` constructor does not validate the credential configuration. A security risk occurs when a credential configuration configured with malicious URLs is used. When the credential configuration is accepted from an untrusted source, you should validate it before using it with this method. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),this.credentials={expiry_date:1,refresh_token:"impersonated-placeholder"},this.sourceClient=e.sourceClient??new py.OAuth2Client,this.targetPrincipal=e.targetPrincipal??"",this.delegates=e.delegates??[],this.targetScopes=e.targetScopes??[],this.lifetime=e.lifetime??3600,!!!(0,mS.originalOrCamelOptions)(e).get("universe_domain"))this.universeDomain=this.sourceClient.universeDomain;else if(this.sourceClient.universeDomain!==this.universeDomain)throw new RangeError(`Universe domain ${this.sourceClient.universeDomain} in source credentials does not match ${this.universeDomain} universe domain set for impersonated credentials.`);this.endpoint=e.endpoint??`https://iamcredentials.${this.universeDomain}`}async sign(e){await this.sourceClient.getAccessToken();let r=`projects/-/serviceAccounts/${this.targetPrincipal}`,n=`${this.endpoint}/v1/${r}:signBlob`,o={delegates:this.delegates,payload:Buffer.from(e).toString("base64")};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:n,data:o,method:"POST"})).data}getTargetPrincipal(){return this.targetPrincipal}async refreshToken(){try{await this.sourceClient.getAccessToken();let e="projects/-/serviceAccounts/"+this.targetPrincipal,r=`${this.endpoint}/v1/${e}:generateAccessToken`,n={delegates:this.delegates,scope:this.targetScopes,lifetime:this.lifetime+"s"},o=await this.sourceClient.request({...t.RETRY_CONFIG,url:r,data:n,method:"POST"}),s=o.data;return this.credentials.access_token=s.accessToken,this.credentials.expiry_date=Date.parse(s.expireTime),{tokens:this.credentials,res:o}}catch(e){if(!(e instanceof Error))throw e;let r=0,n="";throw e instanceof pS.GaxiosError&&(r=e?.response?.data?.error?.status,n=e?.response?.data?.error?.message),r&&n?(e.message=`${r}: unable to impersonate: ${n}`,e):(e.message=`unable to impersonate: ${e}`,e)}}async fetchIdToken(e,r){await this.sourceClient.getAccessToken();let n=`projects/-/serviceAccounts/${this.targetPrincipal}`,o=`${this.endpoint}/v1/${n}:generateIdToken`,s={delegates:this.delegates,audience:e,includeEmail:r?.includeEmail??!0,useEmailAzp:r?.includeEmail??!0};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:o,data:s,method:"POST"})).data.token}};so.Impersonated=wl});var Sl=V(Zo=>{"use strict";Object.defineProperty(Zo,"__esModule",{value:!0});Zo.OAuthClientAuthHandler=void 0;Zo.getErrorFromOAuthErrorResponse=_S;var io=Ke(),gS=zo(),yS=["PUT","POST","PATCH"],Al=class{#e=(0,gS.createCrypto)();#t;transporter;constructor(e){e&&"clientId"in e?(this.#t=e,this.transporter=new io.Gaxios):(this.#t=e?.clientAuthentication,this.transporter=e?.transporter||new io.Gaxios)}applyClientAuthenticationOptions(e,r){e.headers=io.Gaxios.mergeHeaders(e.headers),this.injectAuthenticatedHeaders(e,r),r||this.injectAuthenticatedRequestBody(e)}injectAuthenticatedHeaders(e,r){if(r)e.headers=io.Gaxios.mergeHeaders(e.headers,{authorization:`Bearer ${r}`});else if(this.#t?.confidentialClientType==="basic"){e.headers=io.Gaxios.mergeHeaders(e.headers);let n=this.#t.clientId,o=this.#t.clientSecret||"",s=this.#e.encodeBase64StringUtf8(`${n}:${o}`);io.Gaxios.mergeHeaders(e.headers,{authorization:`Basic ${s}`})}}injectAuthenticatedRequestBody(e){if(this.#t?.confidentialClientType==="request-body"){let r=(e.method||"GET").toUpperCase();if(!yS.includes(r))throw new Error(`${r} HTTP method does not support ${this.#t.confidentialClientType} client authentication`);let o=new Headers(e.headers).get("content-type");if(o?.startsWith("application/x-www-form-urlencoded")||e.data instanceof URLSearchParams){let s=new URLSearchParams(e.data??"");s.append("client_id",this.#t.clientId),s.append("client_secret",this.#t.clientSecret||""),e.data=s}else if(o?.startsWith("application/json"))e.data=e.data||{},Object.assign(e.data,{client_id:this.#t.clientId,client_secret:this.#t.clientSecret||""});else throw new Error(`${o} content-types are not supported with ${this.#t.confidentialClientType} client authentication`)}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}};Zo.OAuthClientAuthHandler=Al;function _S(t,e){let r=t.error,n=t.error_description,o=t.error_uri,s=`Error code ${r}`;typeof n<"u"&&(s+=`: ${n}`),typeof o<"u"&&(s+=` - ${o}`);let a=new Error(s);if(e){let c=Object.keys(e);e.stack&&c.push("stack"),c.forEach(l=>{l!=="message"&&Object.defineProperty(a,l,{value:e[l],writable:!1,enumerable:!0})})}return a}});var ea=V(Zi=>{"use strict";Object.defineProperty(Zi,"__esModule",{value:!0});Zi.StsCredentials=void 0;var bS=Ke(),CS=yt(),my=Sl(),wS=zt(),kl=class t extends my.OAuthClientAuthHandler{#e;constructor(e={tokenExchangeEndpoint:""},r){(typeof e!="object"||e instanceof URL)&&(e={tokenExchangeEndpoint:e,clientAuthentication:r}),super(e),this.#e=e.tokenExchangeEndpoint}async exchangeToken(e,r,n){let o={grant_type:e.grantType,resource:e.resource,audience:e.audience,scope:e.scope?.join(" "),requested_token_type:e.requestedTokenType,subject_token:e.subjectToken,subject_token_type:e.subjectTokenType,actor_token:e.actingParty?.actorToken,actor_token_type:e.actingParty?.actorTokenType,options:n&&JSON.stringify(n)},s={...t.RETRY_CONFIG,url:this.#e.toString(),method:"POST",headers:r,data:new URLSearchParams((0,wS.removeUndefinedValuesInObject)(o))};CS.AuthClient.setMethodName(s,"exchangeToken"),this.applyClientAuthenticationOptions(s);try{let a=await this.transporter.request(s),c=a.data;return c.res=a,c}catch(a){throw a instanceof bS.GaxiosError&&a.response?(0,my.getErrorFromOAuthErrorResponse)(a.response.data,a):a}}};Zi.StsCredentials=kl});var Vr=V(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.BaseExternalAccountClient=xt.CLOUD_RESOURCE_MANAGER=xt.EXTERNAL_ACCOUNT_TYPE=xt.EXPIRATION_TIME_OFFSET=void 0;var ES=Ke(),AS=X("stream"),vl=yt(),SS=ea(),gy=zt(),kS=$c(),vS="urn:ietf:params:oauth:grant-type:token-exchange",TS="urn:ietf:params:oauth:token-type:access_token",Tl="https://www.googleapis.com/auth/cloud-platform",DS=3600;xt.EXPIRATION_TIME_OFFSET=300*1e3;xt.EXTERNAL_ACCOUNT_TYPE="external_account";xt.CLOUD_RESOURCE_MANAGER="https://cloudresourcemanager.googleapis.com/v1/projects/";var RS="//iam\\.googleapis\\.com/locations/[^/]+/workforcePools/[^/]+/providers/.+",xS="https://sts.{universeDomain}/v1/token",Dl=class t extends vl.AuthClient{scopes;projectNumber;audience;subjectTokenType;stsCredential;clientAuth;credentialSourceType;cachedAccessToken;serviceAccountImpersonationUrl;serviceAccountImpersonationLifetime;workforcePoolUserProject;configLifetimeRequested;tokenUrl;cloudResourceManagerURL;supplierContext;#e=null;constructor(e){super(e);let r=(0,gy.originalOrCamelOptions)(e),n=r.get("type");if(n&&n!==xt.EXTERNAL_ACCOUNT_TYPE)throw new Error(`Expected "${xt.EXTERNAL_ACCOUNT_TYPE}" type but received "${e.type}"`);let o=r.get("client_id"),s=r.get("client_secret");this.tokenUrl=r.get("token_url")??xS.replace("{universeDomain}",this.universeDomain);let a=r.get("subject_token_type"),c=r.get("workforce_pool_user_project"),l=r.get("service_account_impersonation_url"),d=r.get("service_account_impersonation"),f=(0,gy.originalOrCamelOptions)(d).get("token_lifetime_seconds");this.cloudResourceManagerURL=new URL(r.get("cloud_resource_manager_url")||`https://cloudresourcemanager.${this.universeDomain}/v1/projects/`),o&&(this.clientAuth={confidentialClientType:"basic",clientId:o,clientSecret:s}),this.stsCredential=new SS.StsCredentials({tokenExchangeEndpoint:this.tokenUrl,clientAuthentication:this.clientAuth}),this.scopes=r.get("scopes")||[Tl],this.cachedAccessToken=null,this.audience=r.get("audience"),this.subjectTokenType=a,this.workforcePoolUserProject=c;let p=new RegExp(RS);if(this.workforcePoolUserProject&&!this.audience.match(p))throw new Error("workforcePoolUserProject should not be set for non-workforce pool credentials.");this.serviceAccountImpersonationUrl=l,this.serviceAccountImpersonationLifetime=f,this.serviceAccountImpersonationLifetime?this.configLifetimeRequested=!0:(this.configLifetimeRequested=!1,this.serviceAccountImpersonationLifetime=DS),this.projectNumber=this.getProjectNumber(this.audience),this.supplierContext={audience:this.audience,subjectTokenType:this.subjectTokenType,transporter:this.transporter}}getServiceAccountEmail(){if(this.serviceAccountImpersonationUrl){if(this.serviceAccountImpersonationUrl.length>256)throw new RangeError(`URL is too long: ${this.serviceAccountImpersonationUrl}`);return/serviceAccounts\/(?<email>[^:]+):generateAccessToken$/.exec(this.serviceAccountImpersonationUrl)?.groups?.email||null}return null}setCredentials(e){super.setCredentials(e),this.cachedAccessToken=e}async getAccessToken(){return(!this.cachedAccessToken||this.isExpired(this.cachedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),r=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(r)}request(e,r){if(r)this.requestAsync(e).then(n=>r(null,n),n=>r(n,n.response));else return this.requestAsync(e)}async getProjectId(){let e=this.projectNumber||this.workforcePoolUserProject;if(this.projectId)return this.projectId;if(e){let r=await this.getRequestHeaders(),n={...t.RETRY_CONFIG,headers:r,url:`${this.cloudResourceManagerURL.toString()}${e}`};vl.AuthClient.setMethodName(n,"getProjectId");let o=await this.transporter.request(n);return this.projectId=o.data.projectId,this.projectId}return null}async requestAsync(e,r=!1){let n;try{let o=await this.getRequestHeaders();e.headers=ES.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),n=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let a=s.status,c=s.config.data instanceof AS.Readable;if(!r&&(a===401||a===403)&&!c&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return n}async refreshAccessTokenAsync(){this.#e=this.#e||this.#t();try{return await this.#e}finally{this.#e=null}}async#t(){let e=await this.retrieveSubjectToken(),r={grantType:vS,audience:this.audience,requestedTokenType:TS,subjectToken:e,subjectTokenType:this.subjectTokenType,scope:this.serviceAccountImpersonationUrl?[Tl]:this.getScopesArray()},n=!this.clientAuth&&this.workforcePoolUserProject?{userProject:this.workforcePoolUserProject}:void 0,o=new Headers({"x-goog-api-client":this.getMetricsHeaderValue()}),s=await this.stsCredential.exchangeToken(r,o,n);return this.serviceAccountImpersonationUrl?this.cachedAccessToken=await this.getImpersonatedAccessToken(s.access_token):s.expires_in?this.cachedAccessToken={access_token:s.access_token,expiry_date:new Date().getTime()+s.expires_in*1e3,res:s.res}:this.cachedAccessToken={access_token:s.access_token,res:s.res},this.credentials={},Object.assign(this.credentials,this.cachedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedAccessToken.expiry_date,access_token:this.cachedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedAccessToken}getProjectNumber(e){let r=e.match(/\/projects\/([^/]+)/);return r?r[1]:null}async getImpersonatedAccessToken(e){let r={...t.RETRY_CONFIG,url:this.serviceAccountImpersonationUrl,method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${e}`},data:{scope:this.getScopesArray(),lifetime:this.serviceAccountImpersonationLifetime+"s"}};vl.AuthClient.setMethodName(r,"getImpersonatedAccessToken");let n=await this.transporter.request(r),o=n.data;return{access_token:o.accessToken,expiry_date:new Date(o.expireTime).getTime(),res:n}}isExpired(e){let r=new Date().getTime();return e.expiry_date?r>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}getScopesArray(){return typeof this.scopes=="string"?[this.scopes]:this.scopes||[Tl]}getMetricsHeaderValue(){let e=process.version.replace(/^v/,""),r=this.serviceAccountImpersonationUrl!==void 0,n=this.credentialSourceType?this.credentialSourceType:"unknown";return`gl-node/${e} auth/${kS.pkg.version} google-byoid-sdk source/${n} sa-impersonation/${r} config-lifetime/${this.configLifetimeRequested}`}getTokenUrl(){return this.tokenUrl}};xt.BaseExternalAccountClient=Dl});var yy=V(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.FileSubjectTokenSupplier=void 0;var xl=X("util"),Ol=X("fs"),OS=(0,xl.promisify)(Ol.readFile??(()=>{})),FS=(0,xl.promisify)(Ol.realpath??(()=>{})),PS=(0,xl.promisify)(Ol.lstat??(()=>{})),Rl=class{filePath;formatType;subjectTokenFieldName;constructor(e){this.filePath=e.filePath,this.formatType=e.formatType,this.subjectTokenFieldName=e.subjectTokenFieldName}async getSubjectToken(){let e=this.filePath;try{if(e=await FS(e),!(await PS(e)).isFile())throw new Error}catch(o){throw o instanceof Error&&(o.message=`The file at ${e} does not exist, or it is not a file. ${o.message}`),o}let r,n=await OS(e,{encoding:"utf8"});if(this.formatType==="text"?r=n:this.formatType==="json"&&this.subjectTokenFieldName&&(r=JSON.parse(n)[this.subjectTokenFieldName]),!r)throw new Error("Unable to parse the subject_token from the credential_source file");return r}};ta.FileSubjectTokenSupplier=Rl});var _y=V(ra=>{"use strict";Object.defineProperty(ra,"__esModule",{value:!0});ra.UrlSubjectTokenSupplier=void 0;var IS=yt(),Fl=class{url;headers;formatType;subjectTokenFieldName;additionalGaxiosOptions;constructor(e){this.url=e.url,this.formatType=e.formatType,this.subjectTokenFieldName=e.subjectTokenFieldName,this.headers=e.headers,this.additionalGaxiosOptions=e.additionalGaxiosOptions}async getSubjectToken(e){let r={...this.additionalGaxiosOptions,url:this.url,method:"GET",headers:this.headers};IS.AuthClient.setMethodName(r,"getSubjectToken");let n;if(this.formatType==="text"?n=(await e.transporter.request(r)).data:this.formatType==="json"&&this.subjectTokenFieldName&&(n=(await e.transporter.request(r)).data[this.subjectTokenFieldName]),!n)throw new Error("Unable to parse the subject_token from the credential_source URL");return n}};ra.UrlSubjectTokenSupplier=Fl});var by=V(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.CertificateSubjectTokenSupplier=wt.InvalidConfigurationError=wt.CertificateSourceUnavailableError=wt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE=void 0;var na=zt(),oa=X("fs"),sa=X("crypto"),BS=X("https");wt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE="GOOGLE_API_CERTIFICATE_CONFIG";var sr=class extends Error{constructor(e){super(e),this.name="CertificateSourceUnavailableError"}};wt.CertificateSourceUnavailableError=sr;var Ot=class extends Error{constructor(e){super(e),this.name="InvalidConfigurationError"}};wt.InvalidConfigurationError=Ot;var Pl=class{certificateConfigPath;trustChainPath;cert;key;constructor(e){if(!e.useDefaultCertificateConfig&&!e.certificateConfigLocation)throw new Ot("Either `useDefaultCertificateConfig` must be true or a `certificateConfigLocation` must be provided.");if(e.useDefaultCertificateConfig&&e.certificateConfigLocation)throw new Ot("Both `useDefaultCertificateConfig` and `certificateConfigLocation` cannot be provided.");this.trustChainPath=e.trustChainPath,this.certificateConfigPath=e.certificateConfigLocation??""}async createMtlsHttpsAgent(){if(!this.key||!this.cert)throw new Ot("Cannot create mTLS Agent with missing certificate or key");return new BS.Agent({key:this.key,cert:this.cert})}async getSubjectToken(){this.certificateConfigPath=await this.#e();let{certPath:e,keyPath:r}=await this.#t();return{cert:this.cert,key:this.key}=await this.#r(e,r),await this.#n(this.cert)}async#e(){let e=this.certificateConfigPath;if(e){if(await(0,na.isValidFile)(e))return e;throw new sr(`Provided certificate config path is invalid: ${e}`)}let r=process.env[wt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE];if(r){if(await(0,na.isValidFile)(r))return r;throw new sr(`Path from environment variable "${wt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" is invalid: ${r}`)}let n=(0,na.getWellKnownCertificateConfigFileLocation)();if(await(0,na.isValidFile)(n))return n;throw new sr(`Could not find certificate configuration file. Searched override path, the "${wt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" env var, and the gcloud path (${n}).`)}async#t(){let e=this.certificateConfigPath,r;try{r=await oa.promises.readFile(e,"utf8")}catch{throw new sr(`Failed to read certificate config file at: ${e}`)}try{let n=JSON.parse(r),o=n?.cert_configs?.workload?.cert_path,s=n?.cert_configs?.workload?.key_path;if(!o||!s)throw new Ot(`Certificate config file (${e}) is missing required "cert_path" or "key_path" in the workload config.`);return{certPath:o,keyPath:s}}catch(n){throw n instanceof Ot?n:new Ot(`Failed to parse certificate config from ${e}: ${n.message}`)}}async#r(e,r){let n,o;try{n=await oa.promises.readFile(e),new sa.X509Certificate(n)}catch(s){let a=s instanceof Error?s.message:String(s);throw new sr(`Failed to read certificate file at ${e}: ${a}`)}try{o=await oa.promises.readFile(r),(0,sa.createPrivateKey)(o)}catch(s){let a=s instanceof Error?s.message:String(s);throw new sr(`Failed to read private key file at ${r}: ${a}`)}return{cert:n,key:o}}async#n(e){let r=new sa.X509Certificate(e);if(!this.trustChainPath)return JSON.stringify([r.raw.toString("base64")]);try{let s=((await oa.promises.readFile(this.trustChainPath,"utf8")).match(/-----BEGIN CERTIFICATE-----[^-]+-----END CERTIFICATE-----/g)??[]).map((l,d)=>{try{return new sa.X509Certificate(l)}catch(f){let p=f instanceof Error?f.message:String(f);throw new Ot(`Failed to parse certificate at index ${d} in trust chain file ${this.trustChainPath}: ${p}`)}}),a=s.findIndex(l=>r.raw.equals(l.raw)),c;if(a===-1)c=[r,...s];else if(a===0)c=s;else throw new Ot(`Leaf certificate exists in the trust chain but is not the first entry (found at index ${a}).`);return JSON.stringify(c.map(l=>l.raw.toString("base64")))}catch(n){if(n instanceof Ot)throw n;let o=n instanceof Error?n.message:String(n);throw new sr(`Failed to process certificate chain from ${this.trustChainPath}: ${o}`)}}};wt.CertificateSubjectTokenSupplier=Pl});var Nl=V(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.IdentityPoolClient=void 0;var NS=Vr(),Il=zt(),MS=yy(),jS=_y(),Cy=by(),LS=ea(),wy=Ke(),Bl=class t extends NS.BaseExternalAccountClient{subjectTokenSupplier;constructor(e){super(e);let r=(0,Il.originalOrCamelOptions)(e),n=r.get("credential_source"),o=r.get("subject_token_supplier");if(!n&&!o)throw new Error("A credential source or subject token supplier must be specified.");if(n&&o)throw new Error("Only one of credential source or subject token supplier can be specified.");if(o)this.subjectTokenSupplier=o,this.credentialSourceType="programmatic";else{let s=(0,Il.originalOrCamelOptions)(n),a=(0,Il.originalOrCamelOptions)(s.get("format")),c=a.get("type")||"text",l=a.get("subject_token_field_name");if(c!=="json"&&c!=="text")throw new Error(`Invalid credential_source format "${c}"`);if(c==="json"&&!l)throw new Error("Missing subject_token_field_name for JSON credential_source format");let d=s.get("file"),f=s.get("url"),p=s.get("certificate"),g=s.get("headers");if(d&&f||f&&p||d&&p)throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.');if(d)this.credentialSourceType="file",this.subjectTokenSupplier=new MS.FileSubjectTokenSupplier({filePath:d,formatType:c,subjectTokenFieldName:l});else if(f)this.credentialSourceType="url",this.subjectTokenSupplier=new jS.UrlSubjectTokenSupplier({url:f,formatType:c,subjectTokenFieldName:l,headers:g,additionalGaxiosOptions:t.RETRY_CONFIG});else if(p){this.credentialSourceType="certificate";let A=new Cy.CertificateSubjectTokenSupplier({useDefaultCertificateConfig:p.use_default_certificate_config,certificateConfigLocation:p.certificate_config_location,trustChainPath:p.trust_chain_path});this.subjectTokenSupplier=A}else throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.')}}async retrieveSubjectToken(){let e=await this.subjectTokenSupplier.getSubjectToken(this.supplierContext);if(this.subjectTokenSupplier instanceof Cy.CertificateSubjectTokenSupplier){let r=await this.subjectTokenSupplier.createMtlsHttpsAgent();this.stsCredential=new LS.StsCredentials({tokenExchangeEndpoint:this.getTokenUrl(),clientAuthentication:this.clientAuth,transporter:new wy.Gaxios({agent:r})}),this.transporter=new wy.Gaxios({...this.transporter.defaults||{},agent:r})}return e}};ia.IdentityPoolClient=Bl});var jl=V(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.AwsRequestSigner=void 0;var aa=Ke(),Ay=zo(),Ey="AWS4-HMAC-SHA256",US="aws4_request",Ml=class{getCredentials;region;crypto;constructor(e,r){this.getCredentials=e,this.region=r,this.crypto=(0,Ay.createCrypto)()}async getRequestOptions(e){if(!e.url)throw new RangeError('"url" is required in "amzOptions"');let r=typeof e.data=="object"?JSON.stringify(e.data):e.data,n=e.url,o=e.method||"GET",s=e.body||r,a=e.headers,c=await this.getCredentials(),l=new URL(n);if(typeof s!="string"&&s!==void 0)throw new TypeError(`'requestPayload' is expected to be a string if provided. Got: ${s}`);let d=await qS({crypto:this.crypto,host:l.host,canonicalUri:l.pathname,canonicalQuerystring:l.search.slice(1),method:o,region:this.region,securityCredentials:c,requestPayload:s,additionalAmzHeaders:a}),f=aa.Gaxios.mergeHeaders(d.amzDate?{"x-amz-date":d.amzDate}:{},{authorization:d.authorizationHeader,host:l.host},a||{});c.token&&aa.Gaxios.mergeHeaders(f,{"x-amz-security-token":c.token});let p={url:n,method:o,headers:f};return s!==void 0&&(p.body=s),p}};ua.AwsRequestSigner=Ml;async function es(t,e,r){return await t.signWithHmacSha256(e,r)}async function $S(t,e,r,n,o){let s=await es(t,`AWS4${e}`,r),a=await es(t,s,n),c=await es(t,a,o);return await es(t,c,"aws4_request")}async function qS(t){let e=aa.Gaxios.mergeHeaders(t.additionalAmzHeaders),r=t.requestPayload||"",n=t.host.split(".")[0],o=new Date,s=o.toISOString().replace(/[-:]/g,"").replace(/\.[0-9]+/,""),a=o.toISOString().replace(/[-]/g,"").replace(/T.*/,"");t.securityCredentials.token&&e.set("x-amz-security-token",t.securityCredentials.token);let c=aa.Gaxios.mergeHeaders({host:t.host},e.has("date")?{}:{"x-amz-date":s},e),l="",d=[...c.keys()].sort();d.forEach(v=>{l+=`${v}:${c.get(v)}
|
|
53
|
+
`});let f=d.join(";"),p=await t.crypto.sha256DigestHex(r),g=`${t.method.toUpperCase()}
|
|
54
54
|
${t.canonicalUri}
|
|
55
55
|
${t.canonicalQuerystring}
|
|
56
56
|
${l}
|
|
@@ -58,7 +58,7 @@ ${f}
|
|
|
58
58
|
${p}`,A=`${a}/${t.region}/${n}/${US}`,w=`${Ey}
|
|
59
59
|
${s}
|
|
60
60
|
${A}
|
|
61
|
-
`+await t.crypto.sha256DigestHex(y),_=await $S(t.crypto,t.securityCredentials.secretAccessKey,a,t.region,n),g=await es(t.crypto,_,w),m=`${Ey} Credential=${t.securityCredentials.accessKeyId}/${A}, SignedHeaders=${f}, Signature=${(0,Ay.fromArrayBufferToHex)(g)}`;return{amzDate:e.has("date")?void 0:s,authorizationHeader:m,canonicalQuerystring:t.canonicalQuerystring}}});var Sy=V(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.DefaultAwsSecurityCredentialsSupplier=void 0;var ca=yt(),Ll=class{regionUrl;securityCredentialsUrl;imdsV2SessionTokenUrl;additionalGaxiosOptions;constructor(e){this.regionUrl=e.regionUrl,this.securityCredentialsUrl=e.securityCredentialsUrl,this.imdsV2SessionTokenUrl=e.imdsV2SessionTokenUrl,this.additionalGaxiosOptions=e.additionalGaxiosOptions}async getAwsRegion(e){if(this.#n)return this.#n;let r=new Headers;if(!this.#n&&this.imdsV2SessionTokenUrl&&r.set("x-aws-ec2-metadata-token",await this.#e(e.transporter)),!this.regionUrl)throw new RangeError('Unable to determine AWS region due to missing "options.credential_source.region_url"');let n={...this.additionalGaxiosOptions,url:this.regionUrl,method:"GET",headers:r};ca.AuthClient.setMethodName(n,"getAwsRegion");let o=await e.transporter.request(n);return o.data.substr(0,o.data.length-1)}async getAwsSecurityCredentials(e){if(this.#o)return this.#o;let r=new Headers;this.imdsV2SessionTokenUrl&&r.set("x-aws-ec2-metadata-token",await this.#e(e.transporter));let n=await this.#t(r,e.transporter),o=await this.#r(n,r,e.transporter);return{accessKeyId:o.AccessKeyId,secretAccessKey:o.SecretAccessKey,token:o.Token}}async#e(e){let r={...this.additionalGaxiosOptions,url:this.imdsV2SessionTokenUrl,method:"PUT",headers:{"x-aws-ec2-metadata-token-ttl-seconds":"300"}};return ca.AuthClient.setMethodName(r,"#getImdsV2SessionToken"),(await e.request(r)).data}async#t(e,r){if(!this.securityCredentialsUrl)throw new Error('Unable to determine AWS role name due to missing "options.credential_source.url"');let n={...this.additionalGaxiosOptions,url:this.securityCredentialsUrl,method:"GET",headers:e};return ca.AuthClient.setMethodName(n,"#getAwsRoleName"),(await r.request(n)).data}async#r(e,r,n){let o={...this.additionalGaxiosOptions,url:`${this.securityCredentialsUrl}/${e}`,headers:r};return ca.AuthClient.setMethodName(o,"#retrieveAwsSecurityCredentials"),(await n.request(o)).data}get#n(){return process.env.AWS_REGION||process.env.AWS_DEFAULT_REGION||null}get#o(){return process.env.AWS_ACCESS_KEY_ID&&process.env.AWS_SECRET_ACCESS_KEY?{accessKeyId:process.env.AWS_ACCESS_KEY_ID,secretAccessKey:process.env.AWS_SECRET_ACCESS_KEY,token:process.env.AWS_SESSION_TOKEN}:null}};la.DefaultAwsSecurityCredentialsSupplier=Ll});var $l=V(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.AwsClient=void 0;var zS=jl(),HS=Vr(),WS=Sy(),ky=zt(),GS=Ke(),Ul=class t extends HS.BaseExternalAccountClient{environmentId;awsSecurityCredentialsSupplier;regionalCredVerificationUrl;awsRequestSigner;region;static#e="https://sts.{region}.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15";static AWS_EC2_METADATA_IPV4_ADDRESS="169.254.169.254";static AWS_EC2_METADATA_IPV6_ADDRESS="fd00:ec2::254";constructor(e){super(e);let r=(0,ky.originalOrCamelOptions)(e),n=r.get("credential_source"),o=r.get("aws_security_credentials_supplier");if(!n&&!o)throw new Error("A credential source or AWS security credentials supplier must be specified.");if(n&&o)throw new Error("Only one of credential source or AWS security credentials supplier can be specified.");if(o)this.awsSecurityCredentialsSupplier=o,this.regionalCredVerificationUrl=t.#e,this.credentialSourceType="programmatic";else{let s=(0,ky.originalOrCamelOptions)(n);this.environmentId=s.get("environment_id");let a=s.get("region_url"),c=s.get("url"),l=s.get("imdsv2_session_token_url");this.awsSecurityCredentialsSupplier=new WS.DefaultAwsSecurityCredentialsSupplier({regionUrl:a,securityCredentialsUrl:c,imdsV2SessionTokenUrl:l}),this.regionalCredVerificationUrl=s.get("regional_cred_verification_url"),this.credentialSourceType="aws",this.validateEnvironmentId()}this.awsRequestSigner=null,this.region=""}validateEnvironmentId(){let e=this.environmentId?.match(/^(aws)(\d+)$/);if(!e||!this.regionalCredVerificationUrl)throw new Error('No valid AWS "credential_source" provided');if(parseInt(e[2],10)!==1)throw new Error(`aws version "${e[2]}" is not supported in the current build.`)}async retrieveSubjectToken(){this.awsRequestSigner||(this.region=await this.awsSecurityCredentialsSupplier.getAwsRegion(this.supplierContext),this.awsRequestSigner=new zS.AwsRequestSigner(async()=>this.awsSecurityCredentialsSupplier.getAwsSecurityCredentials(this.supplierContext),this.region));let e=await this.awsRequestSigner.getRequestOptions({...t.RETRY_CONFIG,url:this.regionalCredVerificationUrl.replace("{region}",this.region),method:"POST"}),r=[];return GS.Gaxios.mergeHeaders({"x-goog-cloud-target-resource":this.audience},e.headers).forEach((o,s)=>r.push({key:s,value:o})),encodeURIComponent(JSON.stringify({url:e.url,method:e.method,headers:r}))}};da.AwsClient=Ul});var Gl=V(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.InvalidSubjectTokenError=Le.InvalidMessageFieldError=Le.InvalidCodeFieldError=Le.InvalidTokenTypeFieldError=Le.InvalidExpirationTimeFieldError=Le.InvalidSuccessFieldError=Le.InvalidVersionFieldError=Le.ExecutableResponseError=Le.ExecutableResponse=void 0;var fa="urn:ietf:params:oauth:token-type:saml2",ql="urn:ietf:params:oauth:token-type:id_token",zl="urn:ietf:params:oauth:token-type:jwt",Hl=class{version;success;expirationTime;tokenType;errorCode;errorMessage;subjectToken;constructor(e){if(!e.version)throw new ha("Executable response must contain a 'version' field.");if(e.success===void 0)throw new pa("Executable response must contain a 'success' field.");if(this.version=e.version,this.success=e.success,this.success){if(this.expirationTime=e.expiration_time,this.tokenType=e.token_type,this.tokenType!==fa&&this.tokenType!==ql&&this.tokenType!==zl)throw new ma(`Executable response must contain a 'token_type' field when successful and it must be one of ${ql}, ${zl}, or ${fa}.`);if(this.tokenType===fa){if(!e.saml_response)throw new ts(`Executable response must contain a 'saml_response' field when token_type=${fa}.`);this.subjectToken=e.saml_response}else{if(!e.id_token)throw new ts(`Executable response must contain a 'id_token' field when token_type=${ql} or ${zl}.`);this.subjectToken=e.id_token}}else{if(!e.code)throw new ga("Executable response must contain a 'code' field when unsuccessful.");if(!e.message)throw new ya("Executable response must contain a 'message' field when unsuccessful.");this.errorCode=e.code,this.errorMessage=e.message}}isValid(){return!this.isExpired()&&this.success}isExpired(){return this.expirationTime!==void 0&&this.expirationTime<Math.round(Date.now()/1e3)}};Le.ExecutableResponse=Hl;var ir=class extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}};Le.ExecutableResponseError=ir;var ha=class extends ir{};Le.InvalidVersionFieldError=ha;var pa=class extends ir{};Le.InvalidSuccessFieldError=pa;var Wl=class extends ir{};Le.InvalidExpirationTimeFieldError=Wl;var ma=class extends ir{};Le.InvalidTokenTypeFieldError=ma;var ga=class extends ir{};Le.InvalidCodeFieldError=ga;var ya=class extends ir{};Le.InvalidMessageFieldError=ya;var ts=class extends ir{};Le.InvalidSubjectTokenError=ts});var Kl=V(ao=>{"use strict";Object.defineProperty(ao,"__esModule",{value:!0});ao.PluggableAuthHandler=ao.ExecutableError=void 0;var _n=Gl(),JS=X("child_process"),Jl=X("fs"),_a=class extends Error{code;constructor(e,r){super(`The executable failed with exit code: ${r} and error message: ${e}.`),this.code=r,Object.setPrototypeOf(this,new.target.prototype)}};ao.ExecutableError=_a;var Vl=class t{commandComponents;timeoutMillis;outputFile;constructor(e){if(!e.command)throw new Error("No command provided.");if(this.commandComponents=t.parseCommand(e.command),this.timeoutMillis=e.timeoutMillis,!this.timeoutMillis)throw new Error("No timeoutMillis provided.");this.outputFile=e.outputFile}retrieveResponseFromExecutable(e){return new Promise((r,n)=>{let o=JS.spawn(this.commandComponents[0],this.commandComponents.slice(1),{env:{...process.env,...Object.fromEntries(e)}}),s="";o.stdout.on("data",c=>{s+=c}),o.stderr.on("data",c=>{s+=c});let a=setTimeout(()=>(o.removeAllListeners(),o.kill(),n(new Error("The executable failed to finish within the timeout specified."))),this.timeoutMillis);o.on("close",c=>{if(clearTimeout(a),c===0)try{let l=JSON.parse(s),d=new _n.ExecutableResponse(l);return r(d)}catch(l){return l instanceof _n.ExecutableResponseError?n(l):n(new _n.ExecutableResponseError(`The executable returned an invalid response: ${s}`))}else return n(new _a(s,c.toString()))})})}async retrieveCachedResponse(){if(!this.outputFile||this.outputFile.length===0)return;let e;try{e=await Jl.promises.realpath(this.outputFile)}catch{return}if(!(await Jl.promises.lstat(e)).isFile())return;let r=await Jl.promises.readFile(e,{encoding:"utf8"});if(r!=="")try{let n=JSON.parse(r);return new _n.ExecutableResponse(n).isValid()?new _n.ExecutableResponse(n):void 0}catch(n){throw n instanceof _n.ExecutableResponseError?n:new _n.ExecutableResponseError(`The output file contained an invalid response: ${r}`)}}static parseCommand(e){let r=e.match(/(?:[^\s"]+|"[^"]*")+/g);if(!r)throw new Error(`Provided command: "${e}" could not be parsed.`);for(let n=0;n<r.length;n++)r[n][0]==='"'&&r[n].slice(-1)==='"'&&(r[n]=r[n].slice(1,-1));return r}};ao.PluggableAuthHandler=Vl});var Ql=V(uo=>{"use strict";Object.defineProperty(uo,"__esModule",{value:!0});uo.PluggableAuthClient=uo.ExecutableError=void 0;var VS=Vr(),KS=Gl(),vy=Kl(),YS=Kl();Object.defineProperty(uo,"ExecutableError",{enumerable:!0,get:function(){return YS.ExecutableError}});var QS=30*1e3,Ty=5*1e3,Dy=120*1e3,XS="GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES",Ry=1,Yl=class extends VS.BaseExternalAccountClient{command;timeoutMillis;outputFile;handler;constructor(e){if(super(e),!e.credential_source.executable)throw new Error('No valid Pluggable Auth "credential_source" provided.');if(this.command=e.credential_source.executable.command,!this.command)throw new Error('No valid Pluggable Auth "credential_source" provided.');if(e.credential_source.executable.timeout_millis===void 0)this.timeoutMillis=QS;else if(this.timeoutMillis=e.credential_source.executable.timeout_millis,this.timeoutMillis<Ty||this.timeoutMillis>Dy)throw new Error(`Timeout must be between ${Ty} and ${Dy} milliseconds.`);this.outputFile=e.credential_source.executable.output_file,this.handler=new vy.PluggableAuthHandler({command:this.command,timeoutMillis:this.timeoutMillis,outputFile:this.outputFile}),this.credentialSourceType="executable"}async retrieveSubjectToken(){if(process.env[XS]!=="1")throw new Error("Pluggable Auth executables need to be explicitly allowed to run by setting the GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES environment Variable to 1.");let e;if(this.outputFile&&(e=await this.handler.retrieveCachedResponse()),!e){let r=new Map;r.set("GOOGLE_EXTERNAL_ACCOUNT_AUDIENCE",this.audience),r.set("GOOGLE_EXTERNAL_ACCOUNT_TOKEN_TYPE",this.subjectTokenType),r.set("GOOGLE_EXTERNAL_ACCOUNT_INTERACTIVE","0"),this.outputFile&&r.set("GOOGLE_EXTERNAL_ACCOUNT_OUTPUT_FILE",this.outputFile);let n=this.getServiceAccountEmail();n&&r.set("GOOGLE_EXTERNAL_ACCOUNT_IMPERSONATED_EMAIL",n),e=await this.handler.retrieveResponseFromExecutable(r)}if(e.version>Ry)throw new Error(`Version of executable is not currently supported, maximum supported version is ${Ry}.`);if(!e.success)throw new vy.ExecutableError(e.errorMessage,e.errorCode);if(this.outputFile&&!e.expirationTime)throw new KS.InvalidExpirationTimeFieldError("The executable response must contain the `expiration_time` field for successful responses when an output_file has been specified in the configuration.");if(e.isExpired())throw new Error("Executable response is expired.");return e.subjectToken}};uo.PluggableAuthClient=Yl});var Zl=V(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.ExternalAccountClient=void 0;var ZS=Vr(),ek=Nl(),tk=$l(),rk=Ql(),Xl=class{constructor(){throw new Error("ExternalAccountClients should be initialized via: ExternalAccountClient.fromJSON(), directly via explicit constructors, eg. new AwsClient(options), new IdentityPoolClient(options), newPluggableAuthClientOptions, or via new GoogleAuth(options).getClient()")}static fromJSON(e){return console.warn("The `fromJSON` method does not validate the credential configuration. A security risk occurs when a credential configuration configured with malicious URLs is used. When the credential configuration is accepted from an untrusted source, you should validate it before using it with this method. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),e&&e.type===ZS.EXTERNAL_ACCOUNT_TYPE?e.credential_source?.environment_id?new tk.AwsClient(e):e.credential_source?.executable?new rk.PluggableAuthClient(e):new ek.IdentityPoolClient(e):null}};ba.ExternalAccountClient=Xl});var Py=V(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.ExternalAccountAuthorizedUserClient=co.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=void 0;var Oy=yt(),xy=Sl(),Fy=Ke(),nk=X("stream"),ok=Vr();co.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE="external_account_authorized_user";var sk="https://sts.{universeDomain}/v1/oauthtoken",ed=class t extends xy.OAuthClientAuthHandler{#e;constructor(e){super(e),this.#e=e.tokenRefreshEndpoint}async refreshToken(e,r){let n={...t.RETRY_CONFIG,url:this.#e,method:"POST",headers:r,data:new URLSearchParams({grant_type:"refresh_token",refresh_token:e})};Oy.AuthClient.setMethodName(n,"refreshToken"),this.applyClientAuthenticationOptions(n);try{let o=await this.transporter.request(n),s=o.data;return s.res=o,s}catch(o){throw o instanceof Fy.GaxiosError&&o.response?(0,xy.getErrorFromOAuthErrorResponse)(o.response.data,o):o}}},td=class extends Oy.AuthClient{cachedAccessToken;externalAccountAuthorizedUserHandler;refreshToken;constructor(e){super(e),e.universe_domain&&(this.universeDomain=e.universe_domain),this.refreshToken=e.refresh_token;let r={confidentialClientType:"basic",clientId:e.client_id,clientSecret:e.client_secret};this.externalAccountAuthorizedUserHandler=new ed({tokenRefreshEndpoint:e.token_url??sk.replace("{universeDomain}",this.universeDomain),transporter:this.transporter,clientAuthentication:r}),this.cachedAccessToken=null,this.quotaProjectId=e.quota_project_id,typeof e?.eagerRefreshThresholdMillis!="number"?this.eagerRefreshThresholdMillis=ok.EXPIRATION_TIME_OFFSET:this.eagerRefreshThresholdMillis=e.eagerRefreshThresholdMillis,this.forceRefreshOnFailure=!!e?.forceRefreshOnFailure}async getAccessToken(){return(!this.cachedAccessToken||this.isExpired(this.cachedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),r=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(r)}request(e,r){if(r)this.requestAsync(e).then(n=>r(null,n),n=>r(n,n.response));else return this.requestAsync(e)}async requestAsync(e,r=!1){let n;try{let o=await this.getRequestHeaders();e.headers=Fy.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),n=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let a=s.status,c=s.config.data instanceof nk.Readable;if(!r&&(a===401||a===403)&&!c&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return n}async refreshAccessTokenAsync(){let e=await this.externalAccountAuthorizedUserHandler.refreshToken(this.refreshToken);return this.cachedAccessToken={access_token:e.access_token,expiry_date:new Date().getTime()+e.expires_in*1e3,res:e.res},e.refresh_token!==void 0&&(this.refreshToken=e.refresh_token),this.cachedAccessToken}isExpired(e){let r=new Date().getTime();return e.expiry_date?r>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}};co.ExternalAccountAuthorizedUserClient=td});var My=V(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.GoogleAuth=Jt.GoogleAuthExceptionMessages=void 0;var ik=X("child_process"),rs=X("fs"),ak=Ke(),ns=qo(),uk=X("os"),rd=X("path"),ck=zo(),lk=Yc(),dk=Xc(),fk=Zc(),lo=_l(),Iy=Cl(),fo=El(),hk=Zl(),os=Vr(),nd=yt(),By=Py(),Ny=zt();Jt.GoogleAuthExceptionMessages={API_KEY_WITH_CREDENTIALS:"API Keys and Credentials are mutually exclusive authentication methods and cannot be used together.",NO_PROJECT_ID_FOUND:`Unable to detect a Project Id in the current environment.
|
|
61
|
+
`+await t.crypto.sha256DigestHex(g),_=await $S(t.crypto,t.securityCredentials.secretAccessKey,a,t.region,n),y=await es(t.crypto,_,w),m=`${Ey} Credential=${t.securityCredentials.accessKeyId}/${A}, SignedHeaders=${f}, Signature=${(0,Ay.fromArrayBufferToHex)(y)}`;return{amzDate:e.has("date")?void 0:s,authorizationHeader:m,canonicalQuerystring:t.canonicalQuerystring}}});var Sy=V(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.DefaultAwsSecurityCredentialsSupplier=void 0;var ca=yt(),Ll=class{regionUrl;securityCredentialsUrl;imdsV2SessionTokenUrl;additionalGaxiosOptions;constructor(e){this.regionUrl=e.regionUrl,this.securityCredentialsUrl=e.securityCredentialsUrl,this.imdsV2SessionTokenUrl=e.imdsV2SessionTokenUrl,this.additionalGaxiosOptions=e.additionalGaxiosOptions}async getAwsRegion(e){if(this.#n)return this.#n;let r=new Headers;if(!this.#n&&this.imdsV2SessionTokenUrl&&r.set("x-aws-ec2-metadata-token",await this.#e(e.transporter)),!this.regionUrl)throw new RangeError('Unable to determine AWS region due to missing "options.credential_source.region_url"');let n={...this.additionalGaxiosOptions,url:this.regionUrl,method:"GET",headers:r};ca.AuthClient.setMethodName(n,"getAwsRegion");let o=await e.transporter.request(n);return o.data.substr(0,o.data.length-1)}async getAwsSecurityCredentials(e){if(this.#o)return this.#o;let r=new Headers;this.imdsV2SessionTokenUrl&&r.set("x-aws-ec2-metadata-token",await this.#e(e.transporter));let n=await this.#t(r,e.transporter),o=await this.#r(n,r,e.transporter);return{accessKeyId:o.AccessKeyId,secretAccessKey:o.SecretAccessKey,token:o.Token}}async#e(e){let r={...this.additionalGaxiosOptions,url:this.imdsV2SessionTokenUrl,method:"PUT",headers:{"x-aws-ec2-metadata-token-ttl-seconds":"300"}};return ca.AuthClient.setMethodName(r,"#getImdsV2SessionToken"),(await e.request(r)).data}async#t(e,r){if(!this.securityCredentialsUrl)throw new Error('Unable to determine AWS role name due to missing "options.credential_source.url"');let n={...this.additionalGaxiosOptions,url:this.securityCredentialsUrl,method:"GET",headers:e};return ca.AuthClient.setMethodName(n,"#getAwsRoleName"),(await r.request(n)).data}async#r(e,r,n){let o={...this.additionalGaxiosOptions,url:`${this.securityCredentialsUrl}/${e}`,headers:r};return ca.AuthClient.setMethodName(o,"#retrieveAwsSecurityCredentials"),(await n.request(o)).data}get#n(){return process.env.AWS_REGION||process.env.AWS_DEFAULT_REGION||null}get#o(){return process.env.AWS_ACCESS_KEY_ID&&process.env.AWS_SECRET_ACCESS_KEY?{accessKeyId:process.env.AWS_ACCESS_KEY_ID,secretAccessKey:process.env.AWS_SECRET_ACCESS_KEY,token:process.env.AWS_SESSION_TOKEN}:null}};la.DefaultAwsSecurityCredentialsSupplier=Ll});var $l=V(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.AwsClient=void 0;var zS=jl(),HS=Vr(),WS=Sy(),ky=zt(),GS=Ke(),Ul=class t extends HS.BaseExternalAccountClient{environmentId;awsSecurityCredentialsSupplier;regionalCredVerificationUrl;awsRequestSigner;region;static#e="https://sts.{region}.amazonaws.com?Action=GetCallerIdentity&Version=2011-06-15";static AWS_EC2_METADATA_IPV4_ADDRESS="169.254.169.254";static AWS_EC2_METADATA_IPV6_ADDRESS="fd00:ec2::254";constructor(e){super(e);let r=(0,ky.originalOrCamelOptions)(e),n=r.get("credential_source"),o=r.get("aws_security_credentials_supplier");if(!n&&!o)throw new Error("A credential source or AWS security credentials supplier must be specified.");if(n&&o)throw new Error("Only one of credential source or AWS security credentials supplier can be specified.");if(o)this.awsSecurityCredentialsSupplier=o,this.regionalCredVerificationUrl=t.#e,this.credentialSourceType="programmatic";else{let s=(0,ky.originalOrCamelOptions)(n);this.environmentId=s.get("environment_id");let a=s.get("region_url"),c=s.get("url"),l=s.get("imdsv2_session_token_url");this.awsSecurityCredentialsSupplier=new WS.DefaultAwsSecurityCredentialsSupplier({regionUrl:a,securityCredentialsUrl:c,imdsV2SessionTokenUrl:l}),this.regionalCredVerificationUrl=s.get("regional_cred_verification_url"),this.credentialSourceType="aws",this.validateEnvironmentId()}this.awsRequestSigner=null,this.region=""}validateEnvironmentId(){let e=this.environmentId?.match(/^(aws)(\d+)$/);if(!e||!this.regionalCredVerificationUrl)throw new Error('No valid AWS "credential_source" provided');if(parseInt(e[2],10)!==1)throw new Error(`aws version "${e[2]}" is not supported in the current build.`)}async retrieveSubjectToken(){this.awsRequestSigner||(this.region=await this.awsSecurityCredentialsSupplier.getAwsRegion(this.supplierContext),this.awsRequestSigner=new zS.AwsRequestSigner(async()=>this.awsSecurityCredentialsSupplier.getAwsSecurityCredentials(this.supplierContext),this.region));let e=await this.awsRequestSigner.getRequestOptions({...t.RETRY_CONFIG,url:this.regionalCredVerificationUrl.replace("{region}",this.region),method:"POST"}),r=[];return GS.Gaxios.mergeHeaders({"x-goog-cloud-target-resource":this.audience},e.headers).forEach((o,s)=>r.push({key:s,value:o})),encodeURIComponent(JSON.stringify({url:e.url,method:e.method,headers:r}))}};da.AwsClient=Ul});var Gl=V(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.InvalidSubjectTokenError=Le.InvalidMessageFieldError=Le.InvalidCodeFieldError=Le.InvalidTokenTypeFieldError=Le.InvalidExpirationTimeFieldError=Le.InvalidSuccessFieldError=Le.InvalidVersionFieldError=Le.ExecutableResponseError=Le.ExecutableResponse=void 0;var fa="urn:ietf:params:oauth:token-type:saml2",ql="urn:ietf:params:oauth:token-type:id_token",zl="urn:ietf:params:oauth:token-type:jwt",Hl=class{version;success;expirationTime;tokenType;errorCode;errorMessage;subjectToken;constructor(e){if(!e.version)throw new ha("Executable response must contain a 'version' field.");if(e.success===void 0)throw new pa("Executable response must contain a 'success' field.");if(this.version=e.version,this.success=e.success,this.success){if(this.expirationTime=e.expiration_time,this.tokenType=e.token_type,this.tokenType!==fa&&this.tokenType!==ql&&this.tokenType!==zl)throw new ma(`Executable response must contain a 'token_type' field when successful and it must be one of ${ql}, ${zl}, or ${fa}.`);if(this.tokenType===fa){if(!e.saml_response)throw new ts(`Executable response must contain a 'saml_response' field when token_type=${fa}.`);this.subjectToken=e.saml_response}else{if(!e.id_token)throw new ts(`Executable response must contain a 'id_token' field when token_type=${ql} or ${zl}.`);this.subjectToken=e.id_token}}else{if(!e.code)throw new ga("Executable response must contain a 'code' field when unsuccessful.");if(!e.message)throw new ya("Executable response must contain a 'message' field when unsuccessful.");this.errorCode=e.code,this.errorMessage=e.message}}isValid(){return!this.isExpired()&&this.success}isExpired(){return this.expirationTime!==void 0&&this.expirationTime<Math.round(Date.now()/1e3)}};Le.ExecutableResponse=Hl;var ir=class extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}};Le.ExecutableResponseError=ir;var ha=class extends ir{};Le.InvalidVersionFieldError=ha;var pa=class extends ir{};Le.InvalidSuccessFieldError=pa;var Wl=class extends ir{};Le.InvalidExpirationTimeFieldError=Wl;var ma=class extends ir{};Le.InvalidTokenTypeFieldError=ma;var ga=class extends ir{};Le.InvalidCodeFieldError=ga;var ya=class extends ir{};Le.InvalidMessageFieldError=ya;var ts=class extends ir{};Le.InvalidSubjectTokenError=ts});var Kl=V(ao=>{"use strict";Object.defineProperty(ao,"__esModule",{value:!0});ao.PluggableAuthHandler=ao.ExecutableError=void 0;var _n=Gl(),JS=X("child_process"),Jl=X("fs"),_a=class extends Error{code;constructor(e,r){super(`The executable failed with exit code: ${r} and error message: ${e}.`),this.code=r,Object.setPrototypeOf(this,new.target.prototype)}};ao.ExecutableError=_a;var Vl=class t{commandComponents;timeoutMillis;outputFile;constructor(e){if(!e.command)throw new Error("No command provided.");if(this.commandComponents=t.parseCommand(e.command),this.timeoutMillis=e.timeoutMillis,!this.timeoutMillis)throw new Error("No timeoutMillis provided.");this.outputFile=e.outputFile}retrieveResponseFromExecutable(e){return new Promise((r,n)=>{let o=JS.spawn(this.commandComponents[0],this.commandComponents.slice(1),{env:{...process.env,...Object.fromEntries(e)}}),s="";o.stdout.on("data",c=>{s+=c}),o.stderr.on("data",c=>{s+=c});let a=setTimeout(()=>(o.removeAllListeners(),o.kill(),n(new Error("The executable failed to finish within the timeout specified."))),this.timeoutMillis);o.on("close",c=>{if(clearTimeout(a),c===0)try{let l=JSON.parse(s),d=new _n.ExecutableResponse(l);return r(d)}catch(l){return l instanceof _n.ExecutableResponseError?n(l):n(new _n.ExecutableResponseError(`The executable returned an invalid response: ${s}`))}else return n(new _a(s,c.toString()))})})}async retrieveCachedResponse(){if(!this.outputFile||this.outputFile.length===0)return;let e;try{e=await Jl.promises.realpath(this.outputFile)}catch{return}if(!(await Jl.promises.lstat(e)).isFile())return;let r=await Jl.promises.readFile(e,{encoding:"utf8"});if(r!=="")try{let n=JSON.parse(r);return new _n.ExecutableResponse(n).isValid()?new _n.ExecutableResponse(n):void 0}catch(n){throw n instanceof _n.ExecutableResponseError?n:new _n.ExecutableResponseError(`The output file contained an invalid response: ${r}`)}}static parseCommand(e){let r=e.match(/(?:[^\s"]+|"[^"]*")+/g);if(!r)throw new Error(`Provided command: "${e}" could not be parsed.`);for(let n=0;n<r.length;n++)r[n][0]==='"'&&r[n].slice(-1)==='"'&&(r[n]=r[n].slice(1,-1));return r}};ao.PluggableAuthHandler=Vl});var Ql=V(uo=>{"use strict";Object.defineProperty(uo,"__esModule",{value:!0});uo.PluggableAuthClient=uo.ExecutableError=void 0;var VS=Vr(),KS=Gl(),vy=Kl(),YS=Kl();Object.defineProperty(uo,"ExecutableError",{enumerable:!0,get:function(){return YS.ExecutableError}});var QS=30*1e3,Ty=5*1e3,Dy=120*1e3,XS="GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES",Ry=1,Yl=class extends VS.BaseExternalAccountClient{command;timeoutMillis;outputFile;handler;constructor(e){if(super(e),!e.credential_source.executable)throw new Error('No valid Pluggable Auth "credential_source" provided.');if(this.command=e.credential_source.executable.command,!this.command)throw new Error('No valid Pluggable Auth "credential_source" provided.');if(e.credential_source.executable.timeout_millis===void 0)this.timeoutMillis=QS;else if(this.timeoutMillis=e.credential_source.executable.timeout_millis,this.timeoutMillis<Ty||this.timeoutMillis>Dy)throw new Error(`Timeout must be between ${Ty} and ${Dy} milliseconds.`);this.outputFile=e.credential_source.executable.output_file,this.handler=new vy.PluggableAuthHandler({command:this.command,timeoutMillis:this.timeoutMillis,outputFile:this.outputFile}),this.credentialSourceType="executable"}async retrieveSubjectToken(){if(process.env[XS]!=="1")throw new Error("Pluggable Auth executables need to be explicitly allowed to run by setting the GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES environment Variable to 1.");let e;if(this.outputFile&&(e=await this.handler.retrieveCachedResponse()),!e){let r=new Map;r.set("GOOGLE_EXTERNAL_ACCOUNT_AUDIENCE",this.audience),r.set("GOOGLE_EXTERNAL_ACCOUNT_TOKEN_TYPE",this.subjectTokenType),r.set("GOOGLE_EXTERNAL_ACCOUNT_INTERACTIVE","0"),this.outputFile&&r.set("GOOGLE_EXTERNAL_ACCOUNT_OUTPUT_FILE",this.outputFile);let n=this.getServiceAccountEmail();n&&r.set("GOOGLE_EXTERNAL_ACCOUNT_IMPERSONATED_EMAIL",n),e=await this.handler.retrieveResponseFromExecutable(r)}if(e.version>Ry)throw new Error(`Version of executable is not currently supported, maximum supported version is ${Ry}.`);if(!e.success)throw new vy.ExecutableError(e.errorMessage,e.errorCode);if(this.outputFile&&!e.expirationTime)throw new KS.InvalidExpirationTimeFieldError("The executable response must contain the `expiration_time` field for successful responses when an output_file has been specified in the configuration.");if(e.isExpired())throw new Error("Executable response is expired.");return e.subjectToken}};uo.PluggableAuthClient=Yl});var Zl=V(ba=>{"use strict";Object.defineProperty(ba,"__esModule",{value:!0});ba.ExternalAccountClient=void 0;var ZS=Vr(),ek=Nl(),tk=$l(),rk=Ql(),Xl=class{constructor(){throw new Error("ExternalAccountClients should be initialized via: ExternalAccountClient.fromJSON(), directly via explicit constructors, eg. new AwsClient(options), new IdentityPoolClient(options), newPluggableAuthClientOptions, or via new GoogleAuth(options).getClient()")}static fromJSON(e){return console.warn("The `fromJSON` method does not validate the credential configuration. A security risk occurs when a credential configuration configured with malicious URLs is used. When the credential configuration is accepted from an untrusted source, you should validate it before using it with this method. For more details, see https://cloud.google.com/docs/authentication/external/externally-sourced-credentials."),e&&e.type===ZS.EXTERNAL_ACCOUNT_TYPE?e.credential_source?.environment_id?new tk.AwsClient(e):e.credential_source?.executable?new rk.PluggableAuthClient(e):new ek.IdentityPoolClient(e):null}};ba.ExternalAccountClient=Xl});var Py=V(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.ExternalAccountAuthorizedUserClient=co.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=void 0;var Oy=yt(),xy=Sl(),Fy=Ke(),nk=X("stream"),ok=Vr();co.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE="external_account_authorized_user";var sk="https://sts.{universeDomain}/v1/oauthtoken",ed=class t extends xy.OAuthClientAuthHandler{#e;constructor(e){super(e),this.#e=e.tokenRefreshEndpoint}async refreshToken(e,r){let n={...t.RETRY_CONFIG,url:this.#e,method:"POST",headers:r,data:new URLSearchParams({grant_type:"refresh_token",refresh_token:e})};Oy.AuthClient.setMethodName(n,"refreshToken"),this.applyClientAuthenticationOptions(n);try{let o=await this.transporter.request(n),s=o.data;return s.res=o,s}catch(o){throw o instanceof Fy.GaxiosError&&o.response?(0,xy.getErrorFromOAuthErrorResponse)(o.response.data,o):o}}},td=class extends Oy.AuthClient{cachedAccessToken;externalAccountAuthorizedUserHandler;refreshToken;constructor(e){super(e),e.universe_domain&&(this.universeDomain=e.universe_domain),this.refreshToken=e.refresh_token;let r={confidentialClientType:"basic",clientId:e.client_id,clientSecret:e.client_secret};this.externalAccountAuthorizedUserHandler=new ed({tokenRefreshEndpoint:e.token_url??sk.replace("{universeDomain}",this.universeDomain),transporter:this.transporter,clientAuthentication:r}),this.cachedAccessToken=null,this.quotaProjectId=e.quota_project_id,typeof e?.eagerRefreshThresholdMillis!="number"?this.eagerRefreshThresholdMillis=ok.EXPIRATION_TIME_OFFSET:this.eagerRefreshThresholdMillis=e.eagerRefreshThresholdMillis,this.forceRefreshOnFailure=!!e?.forceRefreshOnFailure}async getAccessToken(){return(!this.cachedAccessToken||this.isExpired(this.cachedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),r=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(r)}request(e,r){if(r)this.requestAsync(e).then(n=>r(null,n),n=>r(n,n.response));else return this.requestAsync(e)}async requestAsync(e,r=!1){let n;try{let o=await this.getRequestHeaders();e.headers=Fy.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),n=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let a=s.status,c=s.config.data instanceof nk.Readable;if(!r&&(a===401||a===403)&&!c&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return n}async refreshAccessTokenAsync(){let e=await this.externalAccountAuthorizedUserHandler.refreshToken(this.refreshToken);return this.cachedAccessToken={access_token:e.access_token,expiry_date:new Date().getTime()+e.expires_in*1e3,res:e.res},e.refresh_token!==void 0&&(this.refreshToken=e.refresh_token),this.cachedAccessToken}isExpired(e){let r=new Date().getTime();return e.expiry_date?r>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}};co.ExternalAccountAuthorizedUserClient=td});var My=V(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.GoogleAuth=Jt.GoogleAuthExceptionMessages=void 0;var ik=X("child_process"),rs=X("fs"),ak=Ke(),ns=qo(),uk=X("os"),rd=X("path"),ck=zo(),lk=Yc(),dk=Xc(),fk=Zc(),lo=_l(),Iy=Cl(),fo=El(),hk=Zl(),os=Vr(),nd=yt(),By=Py(),Ny=zt();Jt.GoogleAuthExceptionMessages={API_KEY_WITH_CREDENTIALS:"API Keys and Credentials are mutually exclusive authentication methods and cannot be used together.",NO_PROJECT_ID_FOUND:`Unable to detect a Project Id in the current environment.
|
|
62
62
|
To learn more about authentication and Google APIs, visit:
|
|
63
63
|
https://cloud.google.com/docs/authentication/getting-started`,NO_CREDENTIALS_FOUND:`Unable to find credentials in current environment.
|
|
64
64
|
To learn more about authentication and Google APIs, visit:
|
|
@@ -69,10 +69,10 @@ https://cloud.google.com/compute/docs/metadata/predefined-metadata-keys`};var od
|
|
|
69
69
|
${this.toMarkdown(o,r+1)}`:`${n}- ${o}`).join(`
|
|
70
70
|
`):typeof e=="object"&&e!==null?Object.entries(e).map(([o,s])=>typeof s=="object"&&s!==null?`${n}${o}:
|
|
71
71
|
${this.toMarkdown(s,r+1)}`:`${n}${o}: ${s}`).join(`
|
|
72
|
-
`):`${n}${e}`}async output(e,r={}){try{let n=this.formatData(e,r);switch(this.config.level||"log"){case"info":console.info(n);break;case"warn":console.warn(n);break;case"error":console.error(n);break;case"debug":console.debug(n);break;case"log":default:console.log(n);break}return!0}catch(n){return console.error("[ConsoleOutputHandler] Output failed:",n),!1}}}});var fs,Xd=Me(()=>{"use strict";fs=class{type="webhook";config;defaultTimeout=3e4;constructor(e){if(!e.url)throw new Error("Webhook URL is required");this.config={method:"POST",retry:{maxAttempts:3,backoffMs:1e3},silent:!1,...e}}buildHeaders(){let e={"Content-Type":"application/json",...this.config.headers||{}};if(this.config.auth)switch(this.config.auth.type){case"bearer":this.config.auth.token&&(e.Authorization=`Bearer ${this.config.auth.token}`);break;case"basic":if(this.config.auth.username&&this.config.auth.password){let r=Buffer.from(`${this.config.auth.username}:${this.config.auth.password}`).toString("base64");e.Authorization=`Basic ${r}`}break;case"custom":this.config.auth.custom&&(e[this.config.auth.custom.header]=this.config.auth.custom.value);break}return e}buildBody(e,r){let{format:n="json",timestamp:o=!0,prefix:s,metadata:a}=r||{},c={data:e};return o&&(c.timestamp=new Date().toISOString()),s&&(c.prefix=s),a&&Object.keys(a).length>0&&(c.metadata=a),c}async sendRequest(e,r,n,o,s){let a=new AbortController,c=setTimeout(()=>a.abort(),s);try{let l=await fetch(e,{method:r,headers:n,body:JSON.stringify(o),signal:a.signal});if(clearTimeout(c),!l.ok)throw new Error(`HTTP ${l.status}: ${l.statusText}`);return l}catch(l){throw clearTimeout(c),l}}delay(e){return new Promise(r=>setTimeout(r,e))}async sendWithRetry(e,r,n,o,s,a){let c=null;for(let l=1;l<=a.maxAttempts;l++)try{return await this.sendRequest(e,r,n,o,s)}catch(d){if(c=d,l===a.maxAttempts)break;let f=a.backoffMs*Math.pow(2,l-1);console.warn(`[WebhookOutputHandler] Request failed (attempt ${l}/${a.maxAttempts}), retrying in ${f}ms...`,d.message),await this.delay(f)}throw c}async output(e,r={}){let n=r.timeout||this.defaultTimeout;try{let o=this.buildHeaders(),s=this.buildBody(e,r),a=await this.sendWithRetry(this.config.url,this.config.method,o,s,n,this.config.retry);return!0}catch(o){let s=o instanceof Error?o.message:String(o);if(this.config.silent)return console.error(`[WebhookOutputHandler] Failed to send data: ${s}`),!1;throw new Error(`Webhook output failed: ${s}`)}}}});import{writeFileSync as RD,existsSync as xD,mkdirSync as OD}from"fs";import{join as I0}from"path";import{tmpdir as FD}from"os";var hs,Zd=Me(()=>{"use strict";hs=class{type="temp-file";config;baseDir;constructor(e={}){this.config={subdirectory:"claude-code-router",extension:"json",includeTimestamp:!1,prefix:"session",...e};let r=FD();this.baseDir=I0(r,this.config.subdirectory),this.ensureDir()}ensureDir(){try{xD(this.baseDir)||OD(this.baseDir,{recursive:!0})}catch{}}extractSessionId(e){try{let r=e.match(/_session_([a-f0-9-]+)/i);return r?r[1]:null}catch{return null}}getFilePath(e){let r=this.config.prefix||"session",n=this.config.extension?`.${this.config.extension}`:"",o;if(this.config.includeTimestamp){let s=Date.now();o=`${r}-${e}-${s}${n}`}else o=`${r}-${e}${n}`;return I0(this.baseDir,o)}async output(e,r={}){try{let n=r.metadata?.sessionId;if(!n)return!1;let o={...e,timestamp:Date.now(),sessionId:n},s=this.getFilePath(n);return RD(s,JSON.stringify(o,null,2),"utf-8"),!0}catch{return!1}}getBaseDir(){return this.baseDir}}});var ef,yo,B0=Me(()=>{"use strict";Qd();Xd();Zd();ef=class{handlers=new Map;defaultOptions={};registerHandler(e,r){this.handlers.set(e,r)}registerHandlers(e){for(let r of e)if(r.enabled!==!1)try{let n=this.createHandler(r),o=r.type+"_"+Date.now();this.registerHandler(o,n)}catch(n){console.error(`[OutputManager] Failed to register ${r.type} handler:`,n)}}createHandler(e){switch(e.type){case"console":return new ds(e.config);case"webhook":return new fs(e.config);case"temp-file":return new hs(e.config);default:throw new Error(`Unknown output handler type: ${e.type}`)}}unregisterHandler(e){return this.handlers.delete(e)}getHandler(e){return this.handlers.get(e)}getAllHandlers(){return new Map(this.handlers)}clearHandlers(){this.handlers.clear()}setDefaultOptions(e){this.defaultOptions={...this.defaultOptions,...e}}getDefaultOptions(){return{...this.defaultOptions}}async output(e,r){let n={...this.defaultOptions,...r},o={success:[],failed:[]},s=Array.from(this.handlers.entries()).map(async([a,c])=>{try{await c.output(e,n)?o.success.push(a):o.failed.push(a)}catch(l){console.error(`[OutputManager] Handler ${a} failed:`,l),o.failed.push(a)}});return await Promise.all(s),o}async outputTo(e,r,n){let o={...this.defaultOptions,...n},s={success:[],failed:[]},a=e.map(async c=>{let l=this.handlers.get(c);if(!l){console.warn(`[OutputManager] Handler ${c} not found`),s.failed.push(c);return}try{await l.output(r,o)?s.success.push(c):s.failed.push(c)}catch(d){console.error(`[OutputManager] Handler ${c} failed:`,d),s.failed.push(c)}});return await Promise.all(a),s}async outputToType(e,r,n){let o=Array.from(this.handlers.entries()).filter(([s,a])=>a.type===e).map(([s])=>s);return this.outputTo(o,r,n)}},yo=new ef});import ID from"fastify";import BD from"@fastify/cors";var bh=jr(Nu(),1);import{readFileSync as Bb,existsSync as yh}from"fs";import{join as _h}from"path";import{config as Nb}from"dotenv";var Pn=class{config={};options;constructor(e={jsonPath:"./config.json"}){this.options={envPath:e.envPath||".env",jsonPath:e.jsonPath,useEnvFile:!1,useJsonFile:e.useJsonFile!==!1,useEnvironmentVariables:e.useEnvironmentVariables!==!1,...e},this.loadConfig()}loadConfig(){this.options.useJsonFile&&this.options.jsonPath&&this.loadJsonConfig(),this.options.initialConfig&&(this.config={...this.config,...this.options.initialConfig}),this.options.useEnvFile&&this.loadEnvConfig(),this.config.LOG_FILE&&(process.env.LOG_FILE=this.config.LOG_FILE),this.config.LOG&&(process.env.LOG=this.config.LOG)}loadJsonConfig(){if(!this.options.jsonPath)return;let e=this.isAbsolutePath(this.options.jsonPath)?this.options.jsonPath:_h(process.cwd(),this.options.jsonPath);if(yh(e))try{let r=Bb(e,"utf-8"),n=bh.default.parse(r);this.config={...this.config,...n},console.log(`Loaded JSON config from: ${e}`)}catch(r){console.warn(`Failed to load JSON config from ${e}:`,r)}else console.warn(`JSON config file not found: ${e}`)}loadEnvConfig(){let e=this.isAbsolutePath(this.options.envPath)?this.options.envPath:_h(process.cwd(),this.options.envPath);if(yh(e))try{let r=Nb({path:e});r.parsed&&(this.config={...this.config,...this.parseEnvConfig(r.parsed)})}catch(r){console.warn(`Failed to load .env config from ${e}:`,r)}}loadEnvironmentVariables(){let e=this.parseEnvConfig(process.env);this.config={...this.config,...e}}parseEnvConfig(e){let r={};return Object.assign(r,e),r}isAbsolutePath(e){return e.startsWith("/")||e.includes(":")}get(e,r){let n=this.config[e];return n!==void 0?n:r}getAll(){return{...this.config}}getHttpsProxy(){return this.get("HTTPS_PROXY")||this.get("https_proxy")||this.get("httpsProxy")||this.get("PROXY_URL")}has(e){return this.config[e]!==void 0}set(e,r){this.config[e]=r}reload(){this.config={},this.loadConfig()}getConfigSummary(){let e=[];return this.options.initialConfig&&e.push("Initial Config"),this.options.useJsonFile&&this.options.jsonPath&&e.push(`JSON: ${this.options.jsonPath}`),this.options.useEnvFile&&e.push(`ENV: ${this.options.envPath}`),this.options.useEnvironmentVariables&&e.push("Environment Variables"),`Config sources: ${e.join(", ")}`}};function st(t,e=500,r="internal_error",n="api_error"){let o=new Error(t);return o.statusCode=e,o.code=r,o.type=n,o}async function Ch(t,e,r){e.log.error(t);let n=t.statusCode||500;if(t.rawBody)try{let s=JSON.parse(t.rawBody);return r.code(n).send(s)}catch{return r.code(n).send(t.rawBody)}let o={error:{message:t.message+(t.stack||"Internal Server Error"),type:t.type||"api_error",code:t.code||"internal_error"}};return r.code(n).send(o)}import{ProxyAgent as Mb}from"undici";function wh(t,e,r,n,o){let s=new Headers({"Content-Type":"application/json"});r.headers&&Object.entries(r.headers).forEach(([d,f])=>{f&&s.set(d,f)});let a,c=AbortSignal.timeout(r.TIMEOUT??60*1e3*60);if(r.signal){let d=new AbortController,f=()=>d.abort();r.signal.addEventListener("abort",f),c.addEventListener("abort",f),a=d.signal}else a=c;let l={method:"POST",headers:s,body:JSON.stringify(e),signal:a};return r.httpsProxy&&(l.dispatcher=new Mb(new URL(r.httpsProxy).toString())),o?.debug({reqId:n.req.id,request:l,headers:Object.fromEntries(s.entries()),requestUrl:typeof t=="string"?t:t.toString(),useProxy:r.httpsProxy},"final request"),fetch(typeof t=="string"?t:t.toString(),l)}var jb=new Set(["authorization","x-api-key","x-goog-api-key","cookie","set-cookie"]),In={maxBodyLength:4096,maxStreamChunks:100},Mu=!1;function Lb(t){Mu=t}function Ub(){return Mu}function Vs(t){return Mu||t.get("DEBUG_LOG")===!0}function Sh(t){let e=t.get("DEBUG_LOG_OPTIONS");return!e||typeof e!="object"?In:{maxBodyLength:e.maxBodyLength??In.maxBodyLength,maxStreamChunks:e.maxStreamChunks??In.maxStreamChunks}}function kh(t){let e={};for(let[r,n]of Object.entries(t))jb.has(r.toLowerCase())?e[r]="***MASKED***":e[r]=n;return e}function ju(t,e){return t.length<=e?t:t.slice(0,e)+`...[truncated, total ${t.length} bytes]`}function vh(t,e,r){let n=typeof r.body=="string"?r.body:JSON.stringify(r.body);t.info({debug_log:!0,reqId:e,phase:"provider_request",url:r.url,headers:kh(r.headers),body:ju(n,In.maxBodyLength)})}function Th(t,e,r){t.info({debug_log:!0,reqId:e,phase:"provider_response",status:r.status,headers:kh(r.headers),...r.body!==void 0?{body:ju(r.body,In.maxBodyLength)}:{}})}function Eh(t,e,r,n){t.info({debug_log:!0,reqId:e,phase:"provider_stream_chunk",chunkIndex:r,data:ju(n,In.maxBodyLength)})}function Ah(t,e,r){t.info({debug_log:!0,reqId:e,phase:"provider_stream_end",totalChunks:r})}function Dh(t,e,r,n){(async()=>{let o=t.pipeThrough(new TextDecoderStream).getReader(),s=0;try{let a="";for(;;){let{done:c,value:l}=await o.read();if(c)break;a+=l;let d=a.split(`
|
|
72
|
+
`):`${n}${e}`}async output(e,r={}){try{let n=this.formatData(e,r);switch(this.config.level||"log"){case"info":console.info(n);break;case"warn":console.warn(n);break;case"error":console.error(n);break;case"debug":console.debug(n);break;case"log":default:console.log(n);break}return!0}catch(n){return console.error("[ConsoleOutputHandler] Output failed:",n),!1}}}});var fs,Xd=Me(()=>{"use strict";fs=class{type="webhook";config;defaultTimeout=3e4;constructor(e){if(!e.url)throw new Error("Webhook URL is required");this.config={method:"POST",retry:{maxAttempts:3,backoffMs:1e3},silent:!1,...e}}buildHeaders(){let e={"Content-Type":"application/json",...this.config.headers||{}};if(this.config.auth)switch(this.config.auth.type){case"bearer":this.config.auth.token&&(e.Authorization=`Bearer ${this.config.auth.token}`);break;case"basic":if(this.config.auth.username&&this.config.auth.password){let r=Buffer.from(`${this.config.auth.username}:${this.config.auth.password}`).toString("base64");e.Authorization=`Basic ${r}`}break;case"custom":this.config.auth.custom&&(e[this.config.auth.custom.header]=this.config.auth.custom.value);break}return e}buildBody(e,r){let{format:n="json",timestamp:o=!0,prefix:s,metadata:a}=r||{},c={data:e};return o&&(c.timestamp=new Date().toISOString()),s&&(c.prefix=s),a&&Object.keys(a).length>0&&(c.metadata=a),c}async sendRequest(e,r,n,o,s){let a=new AbortController,c=setTimeout(()=>a.abort(),s);try{let l=await fetch(e,{method:r,headers:n,body:JSON.stringify(o),signal:a.signal});if(clearTimeout(c),!l.ok)throw new Error(`HTTP ${l.status}: ${l.statusText}`);return l}catch(l){throw clearTimeout(c),l}}delay(e){return new Promise(r=>setTimeout(r,e))}async sendWithRetry(e,r,n,o,s,a){let c=null;for(let l=1;l<=a.maxAttempts;l++)try{return await this.sendRequest(e,r,n,o,s)}catch(d){if(c=d,l===a.maxAttempts)break;let f=a.backoffMs*Math.pow(2,l-1);console.warn(`[WebhookOutputHandler] Request failed (attempt ${l}/${a.maxAttempts}), retrying in ${f}ms...`,d.message),await this.delay(f)}throw c}async output(e,r={}){let n=r.timeout||this.defaultTimeout;try{let o=this.buildHeaders(),s=this.buildBody(e,r),a=await this.sendWithRetry(this.config.url,this.config.method,o,s,n,this.config.retry);return!0}catch(o){let s=o instanceof Error?o.message:String(o);if(this.config.silent)return console.error(`[WebhookOutputHandler] Failed to send data: ${s}`),!1;throw new Error(`Webhook output failed: ${s}`)}}}});import{writeFileSync as RD,existsSync as xD,mkdirSync as OD}from"fs";import{join as I0}from"path";import{tmpdir as FD}from"os";var hs,Zd=Me(()=>{"use strict";hs=class{type="temp-file";config;baseDir;constructor(e={}){this.config={subdirectory:"claude-code-router",extension:"json",includeTimestamp:!1,prefix:"session",...e};let r=FD();this.baseDir=I0(r,this.config.subdirectory),this.ensureDir()}ensureDir(){try{xD(this.baseDir)||OD(this.baseDir,{recursive:!0})}catch{}}extractSessionId(e){try{let r=e.match(/_session_([a-f0-9-]+)/i);return r?r[1]:null}catch{return null}}getFilePath(e){let r=this.config.prefix||"session",n=this.config.extension?`.${this.config.extension}`:"",o;if(this.config.includeTimestamp){let s=Date.now();o=`${r}-${e}-${s}${n}`}else o=`${r}-${e}${n}`;return I0(this.baseDir,o)}async output(e,r={}){try{let n=r.metadata?.sessionId;if(!n)return!1;let o={...e,timestamp:Date.now(),sessionId:n},s=this.getFilePath(n);return RD(s,JSON.stringify(o,null,2),"utf-8"),!0}catch{return!1}}getBaseDir(){return this.baseDir}}});var ef,yo,B0=Me(()=>{"use strict";Qd();Xd();Zd();ef=class{handlers=new Map;defaultOptions={};registerHandler(e,r){this.handlers.set(e,r)}registerHandlers(e){for(let r of e)if(r.enabled!==!1)try{let n=this.createHandler(r),o=r.type+"_"+Date.now();this.registerHandler(o,n)}catch(n){console.error(`[OutputManager] Failed to register ${r.type} handler:`,n)}}createHandler(e){switch(e.type){case"console":return new ds(e.config);case"webhook":return new fs(e.config);case"temp-file":return new hs(e.config);default:throw new Error(`Unknown output handler type: ${e.type}`)}}unregisterHandler(e){return this.handlers.delete(e)}getHandler(e){return this.handlers.get(e)}getAllHandlers(){return new Map(this.handlers)}clearHandlers(){this.handlers.clear()}setDefaultOptions(e){this.defaultOptions={...this.defaultOptions,...e}}getDefaultOptions(){return{...this.defaultOptions}}async output(e,r){let n={...this.defaultOptions,...r},o={success:[],failed:[]},s=Array.from(this.handlers.entries()).map(async([a,c])=>{try{await c.output(e,n)?o.success.push(a):o.failed.push(a)}catch(l){console.error(`[OutputManager] Handler ${a} failed:`,l),o.failed.push(a)}});return await Promise.all(s),o}async outputTo(e,r,n){let o={...this.defaultOptions,...n},s={success:[],failed:[]},a=e.map(async c=>{let l=this.handlers.get(c);if(!l){console.warn(`[OutputManager] Handler ${c} not found`),s.failed.push(c);return}try{await l.output(r,o)?s.success.push(c):s.failed.push(c)}catch(d){console.error(`[OutputManager] Handler ${c} failed:`,d),s.failed.push(c)}});return await Promise.all(a),s}async outputToType(e,r,n){let o=Array.from(this.handlers.entries()).filter(([s,a])=>a.type===e).map(([s])=>s);return this.outputTo(o,r,n)}},yo=new ef});import ID from"fastify";import BD from"@fastify/cors";var bh=jr(Nu(),1);import{readFileSync as Bb,existsSync as yh}from"fs";import{join as _h}from"path";import{config as Nb}from"dotenv";var Pn=class{config={};options;constructor(e={jsonPath:"./config.json"}){this.options={envPath:e.envPath||".env",jsonPath:e.jsonPath,useEnvFile:!1,useJsonFile:e.useJsonFile!==!1,useEnvironmentVariables:e.useEnvironmentVariables!==!1,...e},this.loadConfig()}loadConfig(){this.options.useJsonFile&&this.options.jsonPath&&this.loadJsonConfig(),this.options.initialConfig&&(this.config={...this.config,...this.options.initialConfig}),this.options.useEnvFile&&this.loadEnvConfig(),this.config.LOG_FILE&&(process.env.LOG_FILE=this.config.LOG_FILE),this.config.LOG&&(process.env.LOG=this.config.LOG)}loadJsonConfig(){if(!this.options.jsonPath)return;let e=this.isAbsolutePath(this.options.jsonPath)?this.options.jsonPath:_h(process.cwd(),this.options.jsonPath);if(yh(e))try{let r=Bb(e,"utf-8"),n=bh.default.parse(r);this.config={...this.config,...n},console.log(`Loaded JSON config from: ${e}`)}catch(r){console.warn(`Failed to load JSON config from ${e}:`,r)}else console.warn(`JSON config file not found: ${e}`)}loadEnvConfig(){let e=this.isAbsolutePath(this.options.envPath)?this.options.envPath:_h(process.cwd(),this.options.envPath);if(yh(e))try{let r=Nb({path:e});r.parsed&&(this.config={...this.config,...this.parseEnvConfig(r.parsed)})}catch(r){console.warn(`Failed to load .env config from ${e}:`,r)}}loadEnvironmentVariables(){let e=this.parseEnvConfig(process.env);this.config={...this.config,...e}}parseEnvConfig(e){let r={};return Object.assign(r,e),r}isAbsolutePath(e){return e.startsWith("/")||e.includes(":")}get(e,r){let n=this.config[e];return n!==void 0?n:r}getAll(){return{...this.config}}getHttpsProxy(){return this.get("HTTPS_PROXY")||this.get("https_proxy")||this.get("httpsProxy")||this.get("PROXY_URL")}has(e){return this.config[e]!==void 0}set(e,r){this.config[e]=r}reload(){this.config={},this.loadConfig()}getConfigSummary(){let e=[];return this.options.initialConfig&&e.push("Initial Config"),this.options.useJsonFile&&this.options.jsonPath&&e.push(`JSON: ${this.options.jsonPath}`),this.options.useEnvFile&&e.push(`ENV: ${this.options.envPath}`),this.options.useEnvironmentVariables&&e.push("Environment Variables"),`Config sources: ${e.join(", ")}`}};function it(t,e=500,r="internal_error",n="api_error"){let o=new Error(t);return o.statusCode=e,o.code=r,o.type=n,o}async function Ch(t,e,r){e.log.error(t);let n=t.statusCode||500;if(t.rawBody)try{let s=JSON.parse(t.rawBody);return r.code(n).send(s)}catch{return r.code(n).send(t.rawBody)}let o={error:{message:t.message+(t.stack||"Internal Server Error"),type:t.type||"api_error",code:t.code||"internal_error"}};return r.code(n).send(o)}import{ProxyAgent as Mb}from"undici";function wh(t,e,r,n,o){let s=new Headers({"Content-Type":"application/json"});r.headers&&Object.entries(r.headers).forEach(([d,f])=>{f&&s.set(d,f)});let a,c=AbortSignal.timeout(r.TIMEOUT??60*1e3*60);if(r.signal){let d=new AbortController,f=()=>d.abort();r.signal.addEventListener("abort",f),c.addEventListener("abort",f),a=d.signal}else a=c;let l={method:"POST",headers:s,body:JSON.stringify(e),signal:a};return r.httpsProxy&&(l.dispatcher=new Mb(new URL(r.httpsProxy).toString())),o?.debug({reqId:n.req.id,request:l,headers:Object.fromEntries(s.entries()),requestUrl:typeof t=="string"?t:t.toString(),useProxy:r.httpsProxy},"final request"),fetch(typeof t=="string"?t:t.toString(),l)}var jb=new Set(["authorization","x-api-key","x-goog-api-key","cookie","set-cookie"]),In={maxBodyLength:4096,maxStreamChunks:100},Mu=!1;function Lb(t){Mu=t}function Ub(){return Mu}function Vs(t){return Mu||t.get("DEBUG_LOG")===!0}function Sh(t){let e=t.get("DEBUG_LOG_OPTIONS");return!e||typeof e!="object"?In:{maxBodyLength:e.maxBodyLength??In.maxBodyLength,maxStreamChunks:e.maxStreamChunks??In.maxStreamChunks}}function kh(t){let e={};for(let[r,n]of Object.entries(t))jb.has(r.toLowerCase())?e[r]="***MASKED***":e[r]=n;return e}function ju(t,e){return t.length<=e?t:t.slice(0,e)+`...[truncated, total ${t.length} bytes]`}function vh(t,e,r){let n=typeof r.body=="string"?r.body:JSON.stringify(r.body);t.info({debug_log:!0,reqId:e,phase:"provider_request",url:r.url,headers:kh(r.headers),body:ju(n,In.maxBodyLength)})}function Th(t,e,r){t.info({debug_log:!0,reqId:e,phase:"provider_response",status:r.status,headers:kh(r.headers),...r.body!==void 0?{body:ju(r.body,In.maxBodyLength)}:{}})}function Eh(t,e,r,n){t.info({debug_log:!0,reqId:e,phase:"provider_stream_chunk",chunkIndex:r,data:ju(n,In.maxBodyLength)})}function Ah(t,e,r){t.info({debug_log:!0,reqId:e,phase:"provider_stream_end",totalChunks:r})}function Dh(t,e,r,n){(async()=>{let o=t.pipeThrough(new TextDecoderStream).getReader(),s=0;try{let a="";for(;;){let{done:c,value:l}=await o.read();if(c)break;a+=l;let d=a.split(`
|
|
73
73
|
|
|
74
|
-
`);a=d.pop()||"";for(let f of d)f.trim()&&(s<n.maxStreamChunks?Eh(e,r,s,f):s===n.maxStreamChunks&&e.info({debug_log:!0,reqId:r,phase:"provider_stream_chunk_omitted",message:`[chunks after #${s} omitted, maxStreamChunks=${n.maxStreamChunks}]`}),s++)}a.trim()&&(s<n.maxStreamChunks&&Eh(e,r,s,a.trim()),s++),Ah(e,r,s)}catch(a){console.error(`[debug_log] Error reading debug stream for reqId=${r}:`,a),Ah(e,r,s)}finally{o.releaseLock()}})()}var Rh="2.1.1";Bn();var qu=new Map,Wb=["x-ratelimit-remaining-tokens","x-ratelimit-remaining-requests","x-ratelimit-remaining"],Gb=["x-ratelimit-limit-tokens","x-ratelimit-limit-requests","x-ratelimit-limit"],Jb=["x-ratelimit-reset-tokens","x-ratelimit-reset-requests","x-ratelimit-reset"];function Ro(t,e,r){let n=c=>{if(r instanceof Headers)return r.get(c);let l=Object.keys(r).find(d=>d.toLowerCase()===c);return l?r[l]:null},o=$u(n,Wb),s=$u(n,Gb),a=$u(n,Jb);(o||s||a)&&qu.set(t,{provider:t,remaining:Oh(o),limit:Oh(s),reset:Yb(a),capturedAt:Date.now()})}function Vb(t){return qu.get(t)}function Kb(){return Array.from(qu.values())}function $u(t,e){for(let r of e){let n=t(r);if(n)return n}return null}function Oh(t){if(!t)return null;let e=Number(t.trim().replace(/,/g,""));return Number.isFinite(e)?e:null}function Yb(t){if(!t)return null;let e=t.trim();if(!e)return null;let r=Number(e);if(Number.isFinite(r))return r>1e12?Math.floor(r/1e3):r>1e9?Math.floor(r):Math.floor(Date.now()/1e3+r);let n=Date.parse(e);if(Number.isFinite(n))return Math.floor(n/1e3);let o=Qb(e);return o===null?null:Math.floor((Date.now()+o)/1e3)}function Qb(t){let e=/(\d+(?:\.\d+)?)(ms|s|m|h|d)/gi,r=0,n=!1;for(let o of t.matchAll(e)){n=!0;let s=Number(o[1]),a=o[2].toLowerCase();if(Number.isFinite(s))switch(a){case"ms":r+=s;break;case"s":r+=s*1e3;break;case"m":r+=s*60*1e3;break;case"h":r+=s*60*60*1e3;break;case"d":r+=s*24*60*60*1e3;break}}return n?r:null}Ks();async function Xb(t,e,r,n){let o=t.body,s=t.provider,a=r.providerService.getProvider(s);if(!a)throw st(`Provider '${s}' not found`,404,"provider_not_found");try{let{requestBody:c,config:l,bypass:d}=await Fh(o,a,n,t.headers,{req:t}),f=await Ph(c,l,a,r,d,n,{req:t});try{a?.baseUrl&&f?.headers&&Ro(s,a.baseUrl,f.headers)}catch{}let p=await Ih(c,f,a,n,d,{req:t});return Bh(p,e,o,r)}catch(c){let l=await Zb(t,e,r,n,c);if(l)return l;throw c}}async function Zb(t,e,r,n,o){let s=t.scenarioType||"default",a=t.familyFallback,c=t.modelFamily,l=r.configService.get("fallback"),d=it();if(!r.configService.get("Router")?.enableFallback)return t.log.info("Fallback disabled by configuration, skipping fallback attempts"),null;let p=m=>{let[v,...b]=m.split(","),S=v?.trim(),D=b.join(",").trim();return!S||!D?null:{provider:S,model:D,key:`${S},${D}`}},y=[];if(c){let m=a?.[s];Array.isArray(m)&&m.length>0?y.push({name:`${c}/${s}`,models:m}):t.log.warn(`No ${c} fallback configured for ${s}; will try global ${s} fallback`)}if(Array.isArray(l?.[s])&&l[s].length>0&&y.push({name:`global/${s}`,models:l[s]}),y.length===0)return null;let A=t.provider||"",w=t.body.model||"",_=new Set;A&&w&&(d.recordFailure(A,w,o?.message),_.add(`${A},${w}`),r.recordUsage?.({provider:A,model:w,originalModel:t.originalModel||w,scenarioType:s,modelFamily:t.modelFamily,errorMessage:o?.message||String(o),sessionId:t.usageSessionId||t.id,stream:t.body.stream,inputTokens:t.tokenCount||0}));let g=y.reduce((m,v)=>m+v.models.length,0);t.log.warn(`Request failed for ${s}, trying ${g} fallback models across ${y.length} fallback stage(s)`);for(let m of y){t.log.info(`Trying ${m.name} fallback stage with ${m.models.length} models`);for(let v of m.models){let b=p(v);if(!b){t.log.warn(`Fallback model '${v}' is invalid, skipping`);continue}if(_.has(b.key))continue;_.add(b.key);let S=b.provider,D=b.model;try{if(!d.isAvailable(S,D)){t.log.warn(`Fallback model ${v} unavailable (fail pool), skipping`);continue}t.log.info(`Trying fallback model: ${v}`);let O={...t.body};O.model=D;let q={...t,provider:S,body:O},J=r.providerService.getProvider(S);if(!J){t.log.warn(`Fallback provider '${S}' not found, skipping`);continue}let{requestBody:B,config:Y,bypass:re}=await Fh(O,J,n,t.headers,{req:q}),ee=await Ph(B,Y,J,r,re,n,{req:q});try{J?.baseUrl&&ee?.headers&&Ro(S,J.baseUrl,ee.headers)}catch{}let ue=await Ih(B,ee,J,n,re,{req:q});return t.log.info(`Fallback model ${v} succeeded`),d.recordSuccess(S,D),A&&w&&(Do().promote(A,w,s,S,D),t.log.info(`Promoted fallback model ${S},${D} for ${A},${w}:${s}`),d.forceOpen(A,w,o?.message),t.log.info(`Marked original model ${A},${w} as unavailable`)),t.provider=S,t.body=O,Bh(ue,e,O,r)}catch(O){d.recordFailure(S,D,O.message),t.log.warn(`Fallback model ${b.key} failed: ${O.message}`),r.recordUsage?.({provider:S,model:D,originalModel:t.body.model,scenarioType:s,modelFamily:t.modelFamily,errorMessage:O.message,sessionId:t.usageSessionId||t.id,stream:t.body.stream});continue}}}return t.log.error(`All fallback models failed for ${s}`),null}async function Fh(t,e,r,n,o){let s=JSON.parse(JSON.stringify(t)),a={},c=!1;if(c=eC(e,r,t),c&&(n instanceof Headers?n.delete("content-length"):delete n["content-length"],a.headers=n),!c&&typeof r.transformRequestOut=="function"){let l=await r.transformRequestOut(s);l.body?(s=l.body,a=l.config||{}):s=l}if(!c&&e.transformer?.use?.length)for(let l of e.transformer.use){if(!l||typeof l.transformRequestIn!="function")continue;let d=await l.transformRequestIn(s,e,o);d.body?(s=d.body,a={...a,...d.config}):s=d}if(!c&&e.transformer?.[t.model]?.use?.length)for(let l of e.transformer[t.model].use)!l||typeof l.transformRequestIn!="function"||(s=await l.transformRequestIn(s,e,o));return{requestBody:s,config:a,bypass:c}}function eC(t,e,r){return t.transformer?.use?.length===1&&t.transformer.use[0].name===e.name&&(!t.transformer?.[r.model]?.use.length||t.transformer?.[r.model]?.use.length===1&&t.transformer?.[r.model]?.use[0].name===e.name)}async function Ph(t,e,r,n,o,s,a){let c=e.url||new URL(r.baseUrl);if(!e.TIMEOUT){let f=n.configService.get("API_TIMEOUT_MS");f&&(e.TIMEOUT=typeof f=="string"?parseInt(f,10):f)}if(o&&typeof s.auth=="function"){let f=await s.auth(t,r);if(f.body){t=f.body;let p=e.headers||{};f.config?.headers&&(p={...p,...f.config.headers},delete p.host,delete f.config.headers),e={...e,...f.config,headers:p}}else t=f}let l={Authorization:`Bearer ${r.apiKey}`,...e?.headers||{}};for(let f in l)(l[f]==="undefined"||["authorization","Authorization"].includes(f)&&l[f]?.includes("undefined"))&&delete l[f];Vs(n.configService)&&vh(n.log,a.req.id,{url:String(c),headers:l,body:t});let d=await wh(c,t,{httpsProxy:n.configService.getHttpsProxy(),...e,headers:JSON.parse(JSON.stringify(l))},a,n.log);if(!d.ok){let f=await d.text();n.log.error(`[provider_response_error] Error from provider(${r.name},${t.model}: ${d.status}): ${f}`);let p=st(`Error from provider(${r.name},${t.model}: ${d.status}): ${f}`,d.status,"provider_response_error");throw p.rawBody=f,p}if(!t.stream&&Vs(n.configService)){let p=await d.clone().text();Th(n.log,a.req.id,{status:d.status,headers:Object.fromEntries(d.headers.entries()),body:p})}return d}async function Ih(t,e,r,n,o,s){let a=e;if(!o&&r.transformer?.use?.length)for(let c of Array.from(r.transformer.use).reverse())!c||typeof c.transformResponseOut!="function"||(a=await c.transformResponseOut(a,s));if(!o&&r.transformer?.[t.model]?.use?.length)for(let c of Array.from(r.transformer[t.model].use).reverse())!c||typeof c.transformResponseOut!="function"||(a=await c.transformResponseOut(a,s));return!o&&n.transformResponseIn&&(a=await n.transformResponseIn(a,s)),a}function Bh(t,e,r,n){if(t.ok||e.code(t.status),r.stream===!0){if(e.header("Content-Type","text/event-stream"),e.header("Cache-Control","no-cache"),e.header("Connection","keep-alive"),n&&Vs(n.configService)){let[s,a]=t.body.tee(),c=Sh(n.configService);return Dh(s,n.log,e.request.id,c),e.send(a)}return e.send(t.body)}else return t.json()}var zu=async t=>{t.get("/",async()=>({message:"LLMs API",version:Rh})),t.get("/health",async()=>({status:"ok",timestamp:new Date().toISOString()})),t.get("/providers/health",async()=>({states:it().getAllStates().map(o=>({provider:o.provider,model:o.model,status:o.status,failureCount:o.failureCount,successCount:o.successCount,lastFailureTime:o.lastFailureTime,lastError:o.lastError})),timestamp:new Date().toISOString()}));let e=t.transformerService.getTransformersWithEndpoint();for(let{transformer:r}of e)r.endPoint&&t.post(r.endPoint,async(n,o)=>Xb(n,o,t,r));t.post("/providers",{schema:{body:{type:"object",properties:{id:{type:"string"},name:{type:"string"},type:{type:"string",enum:["openai","anthropic"]},baseUrl:{type:"string"},apiKey:{type:"string"},models:{type:"array",items:{type:"string"}}},required:["id","name","type","baseUrl","apiKey","models"]}}},async(r,n)=>{let{name:o,baseUrl:s,apiKey:a,models:c}=r.body;if(!o?.trim())throw st("Provider name is required",400,"invalid_request");if(!s||!tC(s))throw st("Valid base URL is required",400,"invalid_request");if(!a?.trim())throw st("API key is required",400,"invalid_request");if(!c||!Array.isArray(c)||c.length===0)throw st("At least one model is required",400,"invalid_request");if(t.providerService.getProvider(r.body.name))throw st(`Provider with name '${r.body.name}' already exists`,400,"provider_exists");return t.providerService.registerProvider(r.body)}),t.get("/providers",async()=>t.providerService.getProviders()),t.get("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]}}},async r=>{let n=t.providerService.getProvider(r.params.id);if(!n)throw st("Provider not found",404,"provider_not_found");return n}),t.put("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]},body:{type:"object",properties:{name:{type:"string"},type:{type:"string",enum:["openai","anthropic"]},baseUrl:{type:"string"},apiKey:{type:"string"},models:{type:"array",items:{type:"string"}},enabled:{type:"boolean"}}}}},async(r,n)=>{let o=t.providerService.updateProvider(r.params.id,r.body);if(!o)throw st("Provider not found",404,"provider_not_found");return o}),t.delete("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]}}},async r=>{if(!t.providerService.deleteProvider(r.params.id))throw st("Provider not found",404,"provider_not_found");return{message:"Provider deleted successfully"}}),t.patch("/providers/:id/toggle",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]},body:{type:"object",properties:{enabled:{type:"boolean"}},required:["enabled"]}}},async(r,n)=>{if(!t.providerService.toggleProvider(r.params.id,r.body.enabled))throw st("Provider not found",404,"provider_not_found");return{message:`Provider ${r.body.enabled?"enabled":"disabled"} successfully`}})};function tC(t){try{return new URL(t),!0}catch{return!1}}var Nn=class{constructor(e,r,n){this.configService=e;this.transformerService=r;this.logger=n;this.initializeCustomProviders()}providers=new Map;modelRoutes=new Map;initializeCustomProviders(){let e=this.configService.get("providers");if(e&&Array.isArray(e)){this.initializeFromProvidersArray(e);return}}initializeFromProvidersArray(e){e.forEach(r=>{try{if(!r.name||!r.api_base_url||!r.api_key)return;let n={};r.transformer&&Object.keys(r.transformer).forEach(o=>{o==="use"?Array.isArray(r.transformer.use)&&(n.use=r.transformer.use.map(s=>{if(Array.isArray(s)&&typeof s[0]=="string"){let a=this.transformerService.getTransformer(s[0]);if(a)return new a(s[1])}if(typeof s=="string"){let a=this.transformerService.getTransformer(s);return typeof a=="function"?new a:a}}).filter(s=>typeof s<"u")):Array.isArray(r.transformer[o]?.use)&&(n[o]={use:r.transformer[o].use.map(s=>{if(Array.isArray(s)&&typeof s[0]=="string"){let a=this.transformerService.getTransformer(s[0]);if(a)return new a(s[1])}if(typeof s=="string"){let a=this.transformerService.getTransformer(s);return typeof a=="function"?new a:a}}).filter(s=>typeof s<"u")})}),this.registerProvider({name:r.name,baseUrl:r.api_base_url,apiKey:r.api_key,models:r.models||[],quotaToken:r.quota_token,transformer:r.transformer?n:void 0}),this.logger.info(`${r.name} provider registered`)}catch(n){this.logger.error(`${r.name} provider registered error: ${n}`)}})}registerProvider(e){let r={...e};return this.providers.set(r.name,r),e.models.forEach(n=>{let o=`${r.name},${n}`,s={provider:r.name,model:n,fullModel:o};this.modelRoutes.set(o,s),this.modelRoutes.has(n)||this.modelRoutes.set(n,s)}),r}getProviders(){return Array.from(this.providers.values())}getProvider(e){return this.providers.get(e)}updateProvider(e,r){let n=this.providers.get(e);if(!n)return null;let o={...n,...r,updatedAt:new Date};return this.providers.set(e,o),r.models&&(n.models.forEach(s=>{let a=`${n.name},${s}`;this.modelRoutes.delete(a),this.modelRoutes.delete(s)}),r.models.forEach(s=>{let a=`${n.name},${s}`,c={provider:n.name,model:s,fullModel:a};this.modelRoutes.set(a,c),this.modelRoutes.has(s)||this.modelRoutes.set(s,c)})),o}deleteProvider(e){let r=this.providers.get(e);return r?(r.models.forEach(n=>{let o=`${r.name},${n}`;this.modelRoutes.delete(o),this.modelRoutes.delete(n)}),this.providers.delete(e),!0):!1}toggleProvider(e,r){return!!this.providers.get(e)}resolveModelRoute(e){let r=this.modelRoutes.get(e);if(!r)return null;let n=this.providers.get(r.provider);return n?{provider:n,originalModel:e,targetModel:r.model}:null}getAvailableModelNames(){let e=[];return this.providers.forEach(r=>{r.models.forEach(n=>{e.push(n),e.push(`${r.name},${n}`)})}),e}getModelRoutes(){return Array.from(this.modelRoutes.values())}parseTransformerConfig(e){return e?Array.isArray(e)?e.reduce((r,n)=>{if(Array.isArray(n)){let[o,s={}]=n;r[o]=s}else r[n]={};return r},{}):e:{}}async getAvailableModels(){let e=[];return this.providers.forEach(r=>{r.models.forEach(n=>{e.push({id:n,object:"model",owned_by:r.name,provider:r.name}),e.push({id:`${r.name},${n}`,object:"model",owned_by:r.name,provider:r.name})})}),{object:"list",data:e}}};var Ve=[];for(let t=0;t<256;++t)Ve.push((t+256).toString(16).slice(1));function Nh(t,e=0){return(Ve[t[e+0]]+Ve[t[e+1]]+Ve[t[e+2]]+Ve[t[e+3]]+"-"+Ve[t[e+4]]+Ve[t[e+5]]+"-"+Ve[t[e+6]]+Ve[t[e+7]]+"-"+Ve[t[e+8]]+Ve[t[e+9]]+"-"+Ve[t[e+10]]+Ve[t[e+11]]+Ve[t[e+12]]+Ve[t[e+13]]+Ve[t[e+14]]+Ve[t[e+15]]).toLowerCase()}import{randomFillSync as rC}from"crypto";var Xs=new Uint8Array(256),Qs=Xs.length;function Hu(){return Qs>Xs.length-16&&(rC(Xs),Qs=0),Xs.slice(Qs,Qs+=16)}import{randomUUID as nC}from"crypto";var Wu={randomUUID:nC};function oC(t,e,r){if(Wu.randomUUID&&!e&&!t)return Wu.randomUUID();t=t||{};let n=t.random??t.rng?.()??Hu();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){if(r=r||0,r<0||r+16>e.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let o=0;o<16;++o)e[r+o]=n[o];return e}return Nh(n)}var Yt=oC;var Mh=t=>t<=0?"none":t<=1024?"low":t<=8192?"medium":"high";var jh=(t,e)=>(t.includes("base64")&&(t=t.split("base64").pop(),t.startsWith(",")&&(t=t.slice(1))),`data:${e};base64,${t}`);var Zs=class{constructor(e){this.options=e;this.useBearer=this.options?.UseBearer??!1}name="Anthropic";endPoint="/v1/messages";useBearer;logger;async auth(e,r){let n={};return this.useBearer?(n.authorization=`Bearer ${r.apiKey}`,n["x-api-key"]=void 0):(n["x-api-key"]=r.apiKey,n.authorization=void 0),{body:e,config:{headers:n}}}async transformRequestOut(e){let r=[];if(e.system){if(typeof e.system=="string")r.push({role:"system",content:e.system});else if(Array.isArray(e.system)&&e.system.length){let s=e.system.filter(a=>a.type==="text"&&a.text).map(a=>({type:"text",text:a.text,cache_control:a.cache_control}));r.push({role:"system",content:s})}}JSON.parse(JSON.stringify(e.messages||[]))?.forEach(s=>{if(s.role==="user"||s.role==="assistant"){if(typeof s.content=="string"){r.push({role:s.role,content:s.content});return}if(Array.isArray(s.content)){if(s.role==="user"){let a=s.content.filter(l=>l.type==="tool_result"&&l.tool_use_id);a.length&&a.forEach(l=>{let d={role:"tool",content:typeof l.content=="string"?l.content:JSON.stringify(l.content),tool_call_id:l.tool_use_id,cache_control:l.cache_control};r.push(d)});let c=s.content.filter(l=>l.type==="text"&&l.text||l.type==="image"&&l.source);c.length&&r.push({role:"user",content:c.map(l=>l?.type==="image"?{type:"image_url",image_url:{url:l.source?.type==="base64"?jh(l.source.data,l.source.media_type):l.source.url},media_type:l.source.media_type}:l)})}else if(s.role==="assistant"){let a={role:"assistant",content:""},c=s.content.filter(f=>f.type==="text"&&f.text);c.length&&(a.content=c.map(f=>f.text).join(`
|
|
75
|
-
`));let l=s.content.filter(f=>f.type==="tool_use"&&f.id);l.length&&(a.tool_calls=l.map(f=>({id:f.id,type:"function",function:{name:f.name,arguments:JSON.stringify(f.input||{})}})));let d=s.content.find(f=>f.type==="thinking");d&&(a.thinking={content:d.thinking,signature:d.signature}),r.push(a)}return}}});let o={messages:r,model:e.model,max_tokens:e.max_tokens,temperature:e.temperature,stream:e.stream,tools:e.tools?.length?this.convertAnthropicToolsToUnified(e.tools):void 0,tool_choice:e.tool_choice};return e.thinking&&(o.reasoning={effort:Mh(e.thinking.budget_tokens),enabled:e.thinking.type==="enabled"}),e.tool_choice&&(e.tool_choice.type==="tool"?o.tool_choice={type:"function",function:{name:e.tool_choice.name}}:o.tool_choice=e.tool_choice.type),o}async transformResponseIn(e,r){if(e.headers.get("Content-Type")?.includes("text/event-stream")){if(!e.body)throw new Error("Stream response body is null");let o=await this.convertOpenAIStreamToAnthropic(e.body,r);return new Response(o,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}else{let o=await e.json(),s=this.convertOpenAIResponseToAnthropic(o,r);return new Response(JSON.stringify(s),{headers:{"Content-Type":"application/json"}})}}convertAnthropicToolsToUnified(e){return e.map(r=>({type:"function",function:{name:r.name,description:r.description||"",parameters:r.input_schema}}))}async convertOpenAIStreamToAnthropic(e,r){return new ReadableStream({start:async o=>{let s=new TextEncoder,a=`msg_${Date.now()}`,c=null,l="unknown",d=!1,f=!1,p=!1,
|
|
74
|
+
`);a=d.pop()||"";for(let f of d)f.trim()&&(s<n.maxStreamChunks?Eh(e,r,s,f):s===n.maxStreamChunks&&e.info({debug_log:!0,reqId:r,phase:"provider_stream_chunk_omitted",message:`[chunks after #${s} omitted, maxStreamChunks=${n.maxStreamChunks}]`}),s++)}a.trim()&&(s<n.maxStreamChunks&&Eh(e,r,s,a.trim()),s++),Ah(e,r,s)}catch(a){console.error(`[debug_log] Error reading debug stream for reqId=${r}:`,a),Ah(e,r,s)}finally{o.releaseLock()}})()}var Rh="2.1.3";Bn();var qu=new Map,Wb=["x-ratelimit-remaining-tokens","x-ratelimit-remaining-requests","x-ratelimit-remaining"],Gb=["x-ratelimit-limit-tokens","x-ratelimit-limit-requests","x-ratelimit-limit"],Jb=["x-ratelimit-reset-tokens","x-ratelimit-reset-requests","x-ratelimit-reset"];function Ro(t,e,r){let n=c=>{if(r instanceof Headers)return r.get(c);let l=Object.keys(r).find(d=>d.toLowerCase()===c);return l?r[l]:null},o=$u(n,Wb),s=$u(n,Gb),a=$u(n,Jb);(o||s||a)&&qu.set(t,{provider:t,remaining:Oh(o),limit:Oh(s),reset:Yb(a),capturedAt:Date.now()})}function Vb(t){return qu.get(t)}function Kb(){return Array.from(qu.values())}function $u(t,e){for(let r of e){let n=t(r);if(n)return n}return null}function Oh(t){if(!t)return null;let e=Number(t.trim().replace(/,/g,""));return Number.isFinite(e)?e:null}function Yb(t){if(!t)return null;let e=t.trim();if(!e)return null;let r=Number(e);if(Number.isFinite(r))return r>1e12?Math.floor(r/1e3):r>1e9?Math.floor(r):Math.floor(Date.now()/1e3+r);let n=Date.parse(e);if(Number.isFinite(n))return Math.floor(n/1e3);let o=Qb(e);return o===null?null:Math.floor((Date.now()+o)/1e3)}function Qb(t){let e=/(\d+(?:\.\d+)?)(ms|s|m|h|d)/gi,r=0,n=!1;for(let o of t.matchAll(e)){n=!0;let s=Number(o[1]),a=o[2].toLowerCase();if(Number.isFinite(s))switch(a){case"ms":r+=s;break;case"s":r+=s*1e3;break;case"m":r+=s*60*1e3;break;case"h":r+=s*60*60*1e3;break;case"d":r+=s*24*60*60*1e3;break}}return n?r:null}Ks();async function Xb(t,e,r,n){let o=t.body,s=t.provider,a=r.providerService.getProvider(s);if(!a)throw it(`Provider '${s}' not found`,404,"provider_not_found");try{let{requestBody:c,config:l,bypass:d}=await Fh(o,a,n,t.headers,{req:t}),f=await Ph(c,l,a,r,d,n,{req:t});try{a?.baseUrl&&f?.headers&&Ro(s,a.baseUrl,f.headers)}catch{}let p=await Ih(c,f,a,n,d,{req:t}),g=Bh(p,e,o,r);try{let A=o.model||t.originalModel;s&&A&&tt().recordSuccess(s,A)}catch{}return g}catch(c){let l=await Zb(t,e,r,n,c);if(l)return l;throw c}}async function Zb(t,e,r,n,o){let s=t.scenarioType||"default",a=t.familyFallback,c=t.modelFamily,l=r.configService.get("fallback"),d=tt();if(!r.configService.get("Router")?.enableFallback)return t.log.info("Fallback disabled by configuration, skipping fallback attempts"),null;let p=m=>{let[v,...b]=m.split(","),S=v?.trim(),D=b.join(",").trim();return!S||!D?null:{provider:S,model:D,key:`${S},${D}`}},g=[];if(c){let m=a?.[s];Array.isArray(m)&&m.length>0?g.push({name:`${c}/${s}`,models:m}):t.log.warn(`No ${c} fallback configured for ${s}; will try global ${s} fallback`)}Array.isArray(l?.[s])&&l[s].length>0&&g.push({name:`global/${s}`,models:l[s]});let A=t.provider||"",w=t.body.model||"",_=new Set;if(A&&w&&(d.recordFailure(A,w,o?.message),_.add(`${A},${w}`),r.recordUsage?.({provider:A,model:w,originalModel:t.originalModel||w,scenarioType:s,modelFamily:t.modelFamily,errorMessage:o?.message||String(o),sessionId:t.usageSessionId||t.id,stream:t.body.stream,inputTokens:t.tokenCount||0})),g.length===0)return null;let y=g.reduce((m,v)=>m+v.models.length,0);t.log.warn(`Request failed for ${s}, trying ${y} fallback models across ${g.length} fallback stage(s)`);for(let m of g){t.log.info(`Trying ${m.name} fallback stage with ${m.models.length} models`);for(let v of m.models){let b=p(v);if(!b){t.log.warn(`Fallback model '${v}' is invalid, skipping`);continue}if(_.has(b.key))continue;_.add(b.key);let S=b.provider,D=b.model;try{if(!d.isAvailable(S,D)){t.log.warn(`Fallback model ${v} unavailable (fail pool), skipping`);continue}t.log.info(`Trying fallback model: ${v}`);let O={...t.body};O.model=D;let q={...t,provider:S,body:O},J=r.providerService.getProvider(S);if(!J){t.log.warn(`Fallback provider '${S}' not found, skipping`);continue}let{requestBody:B,config:Y,bypass:re}=await Fh(O,J,n,t.headers,{req:q}),ee=await Ph(B,Y,J,r,re,n,{req:q});try{J?.baseUrl&&ee?.headers&&Ro(S,J.baseUrl,ee.headers)}catch{}let ue=await Ih(B,ee,J,n,re,{req:q});return t.log.info(`Fallback model ${v} succeeded`),d.recordSuccess(S,D),A&&w&&(Do().promote(A,w,s,S,D),t.log.info(`Promoted fallback model ${S},${D} for ${A},${w}:${s}`),d.forceOpen(A,w,o?.message),t.log.info(`Marked original model ${A},${w} as unavailable`)),t.provider=S,t.body=O,Bh(ue,e,O,r)}catch(O){d.recordFailure(S,D,O.message),t.log.warn(`Fallback model ${b.key} failed: ${O.message}`),r.recordUsage?.({provider:S,model:D,originalModel:t.body.model,scenarioType:s,modelFamily:t.modelFamily,errorMessage:O.message,sessionId:t.usageSessionId||t.id,stream:t.body.stream});continue}}}return t.log.error(`All fallback models failed for ${s}`),null}async function Fh(t,e,r,n,o){let s=JSON.parse(JSON.stringify(t)),a={},c=!1;if(c=eC(e,r,t),c&&(n instanceof Headers?n.delete("content-length"):delete n["content-length"],a.headers=n),!c&&typeof r.transformRequestOut=="function"){let l=await r.transformRequestOut(s);l.body?(s=l.body,a=l.config||{}):s=l}if(!c&&e.transformer?.use?.length)for(let l of e.transformer.use){if(!l||typeof l.transformRequestIn!="function")continue;let d=await l.transformRequestIn(s,e,o);d.body?(s=d.body,a={...a,...d.config}):s=d}if(!c&&e.transformer?.[t.model]?.use?.length)for(let l of e.transformer[t.model].use)!l||typeof l.transformRequestIn!="function"||(s=await l.transformRequestIn(s,e,o));return{requestBody:s,config:a,bypass:c}}function eC(t,e,r){return t.transformer?.use?.length===1&&t.transformer.use[0].name===e.name&&(!t.transformer?.[r.model]?.use.length||t.transformer?.[r.model]?.use.length===1&&t.transformer?.[r.model]?.use[0].name===e.name)}async function Ph(t,e,r,n,o,s,a){let c=e.url||new URL(r.baseUrl);if(!e.TIMEOUT){let f=n.configService.get("API_TIMEOUT_MS");f&&(e.TIMEOUT=typeof f=="string"?parseInt(f,10):f)}if(o&&typeof s.auth=="function"){let f=await s.auth(t,r);if(f.body){t=f.body;let p=e.headers||{};f.config?.headers&&(p={...p,...f.config.headers},delete p.host,delete f.config.headers),e={...e,...f.config,headers:p}}else t=f}let l={Authorization:`Bearer ${r.apiKey}`,...e?.headers||{}};for(let f in l)(l[f]==="undefined"||["authorization","Authorization"].includes(f)&&l[f]?.includes("undefined"))&&delete l[f];Vs(n.configService)&&vh(n.log,a.req.id,{url:String(c),headers:l,body:t});let d=await wh(c,t,{httpsProxy:n.configService.getHttpsProxy(),...e,headers:JSON.parse(JSON.stringify(l))},a,n.log);if(!d.ok){let f=await d.text();n.log.error(`[provider_response_error] Error from provider(${r.name},${t.model}: ${d.status}): ${f}`);let p=it(`Error from provider(${r.name},${t.model}: ${d.status}): ${f}`,d.status,"provider_response_error");throw p.rawBody=f,p}if(!t.stream&&Vs(n.configService)){let p=await d.clone().text();Th(n.log,a.req.id,{status:d.status,headers:Object.fromEntries(d.headers.entries()),body:p})}return d}async function Ih(t,e,r,n,o,s){let a=e;if(!o&&r.transformer?.use?.length)for(let c of Array.from(r.transformer.use).reverse())!c||typeof c.transformResponseOut!="function"||(a=await c.transformResponseOut(a,s));if(!o&&r.transformer?.[t.model]?.use?.length)for(let c of Array.from(r.transformer[t.model].use).reverse())!c||typeof c.transformResponseOut!="function"||(a=await c.transformResponseOut(a,s));return!o&&n.transformResponseIn&&(a=await n.transformResponseIn(a,s)),a}function Bh(t,e,r,n){if(t.ok||e.code(t.status),r.stream===!0){if(e.header("Content-Type","text/event-stream"),e.header("Cache-Control","no-cache"),e.header("Connection","keep-alive"),n&&Vs(n.configService)){let[s,a]=t.body.tee(),c=Sh(n.configService);return Dh(s,n.log,e.request.id,c),e.send(a)}return e.send(t.body)}else return t.json()}var zu=async t=>{t.get("/",async()=>({message:"LLMs API",version:Rh})),t.get("/health",async()=>({status:"ok",timestamp:new Date().toISOString()})),t.get("/providers/health",async()=>({states:tt().getAllStates().map(o=>({provider:o.provider,model:o.model,status:o.status,failureCount:o.failureCount,successCount:o.successCount,lastFailureTime:o.lastFailureTime,lastError:o.lastError})),timestamp:new Date().toISOString()}));let e=t.transformerService.getTransformersWithEndpoint();for(let{transformer:r}of e)r.endPoint&&t.post(r.endPoint,async(n,o)=>Xb(n,o,t,r));t.post("/providers",{schema:{body:{type:"object",properties:{id:{type:"string"},name:{type:"string"},type:{type:"string",enum:["openai","anthropic"]},baseUrl:{type:"string"},apiKey:{type:"string"},models:{type:"array",items:{type:"string"}}},required:["id","name","type","baseUrl","apiKey","models"]}}},async(r,n)=>{let{name:o,baseUrl:s,apiKey:a,models:c}=r.body;if(!o?.trim())throw it("Provider name is required",400,"invalid_request");if(!s||!tC(s))throw it("Valid base URL is required",400,"invalid_request");if(!a?.trim())throw it("API key is required",400,"invalid_request");if(!c||!Array.isArray(c)||c.length===0)throw it("At least one model is required",400,"invalid_request");if(t.providerService.getProvider(r.body.name))throw it(`Provider with name '${r.body.name}' already exists`,400,"provider_exists");return t.providerService.registerProvider(r.body)}),t.get("/providers",async()=>t.providerService.getProviders()),t.get("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]}}},async r=>{let n=t.providerService.getProvider(r.params.id);if(!n)throw it("Provider not found",404,"provider_not_found");return n}),t.put("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]},body:{type:"object",properties:{name:{type:"string"},type:{type:"string",enum:["openai","anthropic"]},baseUrl:{type:"string"},apiKey:{type:"string"},models:{type:"array",items:{type:"string"}},enabled:{type:"boolean"}}}}},async(r,n)=>{let o=t.providerService.updateProvider(r.params.id,r.body);if(!o)throw it("Provider not found",404,"provider_not_found");return o}),t.delete("/providers/:id",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]}}},async r=>{if(!t.providerService.deleteProvider(r.params.id))throw it("Provider not found",404,"provider_not_found");return{message:"Provider deleted successfully"}}),t.patch("/providers/:id/toggle",{schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]},body:{type:"object",properties:{enabled:{type:"boolean"}},required:["enabled"]}}},async(r,n)=>{if(!t.providerService.toggleProvider(r.params.id,r.body.enabled))throw it("Provider not found",404,"provider_not_found");return{message:`Provider ${r.body.enabled?"enabled":"disabled"} successfully`}})};function tC(t){try{return new URL(t),!0}catch{return!1}}var Nn=class{constructor(e,r,n){this.configService=e;this.transformerService=r;this.logger=n;this.initializeCustomProviders()}providers=new Map;modelRoutes=new Map;initializeCustomProviders(){let e=this.configService.get("providers");if(e&&Array.isArray(e)){this.initializeFromProvidersArray(e);return}}initializeFromProvidersArray(e){e.forEach(r=>{try{if(!r.name||!r.api_base_url||!r.api_key)return;let n={};r.transformer&&Object.keys(r.transformer).forEach(o=>{o==="use"?Array.isArray(r.transformer.use)&&(n.use=r.transformer.use.map(s=>{if(Array.isArray(s)&&typeof s[0]=="string"){let a=this.transformerService.getTransformer(s[0]);if(a)return new a(s[1])}if(typeof s=="string"){let a=this.transformerService.getTransformer(s);return typeof a=="function"?new a:a}}).filter(s=>typeof s<"u")):Array.isArray(r.transformer[o]?.use)&&(n[o]={use:r.transformer[o].use.map(s=>{if(Array.isArray(s)&&typeof s[0]=="string"){let a=this.transformerService.getTransformer(s[0]);if(a)return new a(s[1])}if(typeof s=="string"){let a=this.transformerService.getTransformer(s);return typeof a=="function"?new a:a}}).filter(s=>typeof s<"u")})}),this.registerProvider({name:r.name,baseUrl:r.api_base_url,apiKey:r.api_key,models:r.models||[],quotaToken:r.quota_token,transformer:r.transformer?n:void 0}),this.logger.info(`${r.name} provider registered`)}catch(n){this.logger.error(`${r.name} provider registered error: ${n}`)}})}registerProvider(e){let r={...e};return this.providers.set(r.name,r),e.models.forEach(n=>{let o=`${r.name},${n}`,s={provider:r.name,model:n,fullModel:o};this.modelRoutes.set(o,s),this.modelRoutes.has(n)||this.modelRoutes.set(n,s)}),r}getProviders(){return Array.from(this.providers.values())}getProvider(e){return this.providers.get(e)}updateProvider(e,r){let n=this.providers.get(e);if(!n)return null;let o={...n,...r,updatedAt:new Date};return this.providers.set(e,o),r.models&&(n.models.forEach(s=>{let a=`${n.name},${s}`;this.modelRoutes.delete(a),this.modelRoutes.delete(s)}),r.models.forEach(s=>{let a=`${n.name},${s}`,c={provider:n.name,model:s,fullModel:a};this.modelRoutes.set(a,c),this.modelRoutes.has(s)||this.modelRoutes.set(s,c)})),o}deleteProvider(e){let r=this.providers.get(e);return r?(r.models.forEach(n=>{let o=`${r.name},${n}`;this.modelRoutes.delete(o),this.modelRoutes.delete(n)}),this.providers.delete(e),!0):!1}toggleProvider(e,r){return!!this.providers.get(e)}resolveModelRoute(e){let r=this.modelRoutes.get(e);if(!r)return null;let n=this.providers.get(r.provider);return n?{provider:n,originalModel:e,targetModel:r.model}:null}getAvailableModelNames(){let e=[];return this.providers.forEach(r=>{r.models.forEach(n=>{e.push(n),e.push(`${r.name},${n}`)})}),e}getModelRoutes(){return Array.from(this.modelRoutes.values())}parseTransformerConfig(e){return e?Array.isArray(e)?e.reduce((r,n)=>{if(Array.isArray(n)){let[o,s={}]=n;r[o]=s}else r[n]={};return r},{}):e:{}}async getAvailableModels(){let e=[];return this.providers.forEach(r=>{r.models.forEach(n=>{e.push({id:n,object:"model",owned_by:r.name,provider:r.name}),e.push({id:`${r.name},${n}`,object:"model",owned_by:r.name,provider:r.name})})}),{object:"list",data:e}}};var Ve=[];for(let t=0;t<256;++t)Ve.push((t+256).toString(16).slice(1));function Nh(t,e=0){return(Ve[t[e+0]]+Ve[t[e+1]]+Ve[t[e+2]]+Ve[t[e+3]]+"-"+Ve[t[e+4]]+Ve[t[e+5]]+"-"+Ve[t[e+6]]+Ve[t[e+7]]+"-"+Ve[t[e+8]]+Ve[t[e+9]]+"-"+Ve[t[e+10]]+Ve[t[e+11]]+Ve[t[e+12]]+Ve[t[e+13]]+Ve[t[e+14]]+Ve[t[e+15]]).toLowerCase()}import{randomFillSync as rC}from"crypto";var Xs=new Uint8Array(256),Qs=Xs.length;function Hu(){return Qs>Xs.length-16&&(rC(Xs),Qs=0),Xs.slice(Qs,Qs+=16)}import{randomUUID as nC}from"crypto";var Wu={randomUUID:nC};function oC(t,e,r){if(Wu.randomUUID&&!e&&!t)return Wu.randomUUID();t=t||{};let n=t.random??t.rng?.()??Hu();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){if(r=r||0,r<0||r+16>e.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let o=0;o<16;++o)e[r+o]=n[o];return e}return Nh(n)}var Yt=oC;var Mh=t=>t<=0?"none":t<=1024?"low":t<=8192?"medium":"high";var jh=(t,e)=>(t.includes("base64")&&(t=t.split("base64").pop(),t.startsWith(",")&&(t=t.slice(1))),`data:${e};base64,${t}`);var Zs=class{constructor(e){this.options=e;this.useBearer=this.options?.UseBearer??!1}name="Anthropic";endPoint="/v1/messages";useBearer;logger;async auth(e,r){let n={};return this.useBearer?(n.authorization=`Bearer ${r.apiKey}`,n["x-api-key"]=void 0):(n["x-api-key"]=r.apiKey,n.authorization=void 0),{body:e,config:{headers:n}}}async transformRequestOut(e){let r=[];if(e.system){if(typeof e.system=="string")r.push({role:"system",content:e.system});else if(Array.isArray(e.system)&&e.system.length){let s=e.system.filter(a=>a.type==="text"&&a.text).map(a=>({type:"text",text:a.text,cache_control:a.cache_control}));r.push({role:"system",content:s})}}JSON.parse(JSON.stringify(e.messages||[]))?.forEach(s=>{if(s.role==="user"||s.role==="assistant"){if(typeof s.content=="string"){r.push({role:s.role,content:s.content});return}if(Array.isArray(s.content)){if(s.role==="user"){let a=s.content.filter(l=>l.type==="tool_result"&&l.tool_use_id);a.length&&a.forEach(l=>{let d={role:"tool",content:typeof l.content=="string"?l.content:JSON.stringify(l.content),tool_call_id:l.tool_use_id,cache_control:l.cache_control};r.push(d)});let c=s.content.filter(l=>l.type==="text"&&l.text||l.type==="image"&&l.source);c.length&&r.push({role:"user",content:c.map(l=>l?.type==="image"?{type:"image_url",image_url:{url:l.source?.type==="base64"?jh(l.source.data,l.source.media_type):l.source.url},media_type:l.source.media_type}:l)})}else if(s.role==="assistant"){let a={role:"assistant",content:""},c=s.content.filter(f=>f.type==="text"&&f.text);c.length&&(a.content=c.map(f=>f.text).join(`
|
|
75
|
+
`));let l=s.content.filter(f=>f.type==="tool_use"&&f.id);l.length&&(a.tool_calls=l.map(f=>({id:f.id,type:"function",function:{name:f.name,arguments:JSON.stringify(f.input||{})}})));let d=s.content.find(f=>f.type==="thinking");d&&(a.thinking={content:d.thinking,signature:d.signature}),r.push(a)}return}}});let o={messages:r,model:e.model,max_tokens:e.max_tokens,temperature:e.temperature,stream:e.stream,tools:e.tools?.length?this.convertAnthropicToolsToUnified(e.tools):void 0,tool_choice:e.tool_choice};return e.thinking&&(o.reasoning={effort:Mh(e.thinking.budget_tokens),enabled:e.thinking.type==="enabled"}),e.tool_choice&&(e.tool_choice.type==="tool"?o.tool_choice={type:"function",function:{name:e.tool_choice.name}}:o.tool_choice=e.tool_choice.type),o}async transformResponseIn(e,r){if(e.headers.get("Content-Type")?.includes("text/event-stream")){if(!e.body)throw new Error("Stream response body is null");let o=await this.convertOpenAIStreamToAnthropic(e.body,r);return new Response(o,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}else{let o=await e.json(),s=this.convertOpenAIResponseToAnthropic(o,r);return new Response(JSON.stringify(s),{headers:{"Content-Type":"application/json"}})}}convertAnthropicToolsToUnified(e){return e.map(r=>({type:"function",function:{name:r.name,description:r.description||"",parameters:r.input_schema}}))}async convertOpenAIStreamToAnthropic(e,r){return new ReadableStream({start:async o=>{let s=new TextEncoder,a=`msg_${Date.now()}`,c=null,l="unknown",d=!1,f=!1,p=!1,g=new Map,A=new Map,w=0,_=0,y=0,m=!1,v=!1,b=0,S=-1,D=()=>{let B=b;return b++,B},O=B=>{if(!m)try{o.enqueue(B);let Y=new TextDecoder().decode(B);this.logger.debug({reqId:r.req.id,data:Y,type:"send data"})}catch(Y){if(Y instanceof TypeError&&Y.message.includes("Controller is already closed"))m=!0;else throw this.logger.debug({reqId:r.req.id,error:Y instanceof Error?Y.message:String(Y),type:"send data error"}),Y}},q=()=>{if(!m)try{if(S>=0){let Y={type:"content_block_stop",index:S};O(s.encode(`event: content_block_stop
|
|
76
76
|
data: ${JSON.stringify(Y)}
|
|
77
77
|
|
|
78
78
|
`)),S=-1}c?(O(s.encode(`event: message_delta
|
|
@@ -121,23 +121,23 @@ data: ${JSON.stringify(ce)}
|
|
|
121
121
|
`));let qe={type:"content_block_stop",index:K};O(s.encode(`event: content_block_stop
|
|
122
122
|
data: ${JSON.stringify(qe)}
|
|
123
123
|
|
|
124
|
-
`)),S=-1})}if(me?.delta?.tool_calls&&!m&&!p){
|
|
124
|
+
`)),S=-1})}if(me?.delta?.tool_calls&&!m&&!p){y++;let G=new Set;for(let K of me.delta.tool_calls){if(m)break;let ce=K.index??0;if(G.has(ce))continue;if(G.add(ce),!A.has(ce)){if(S>=0){let xe={type:"content_block_stop",index:S};O(s.encode(`event: content_block_stop
|
|
125
125
|
data: ${JSON.stringify(xe)}
|
|
126
126
|
|
|
127
127
|
`)),S=-1}let De=D();A.set(ce,De);let W=K.id||`call_${Date.now()}_${ce}`,de=K.function?.name||`tool_${ce}`,_e={type:"content_block_start",index:De,content_block:{type:"tool_use",id:W,name:de,input:{}}};O(s.encode(`event: content_block_start
|
|
128
128
|
data: ${JSON.stringify(_e)}
|
|
129
129
|
|
|
130
|
-
`)),S=De;let It={id:W,name:de,arguments:"",contentBlockIndex:De};
|
|
130
|
+
`)),S=De;let It={id:W,name:de,arguments:"",contentBlockIndex:De};g.set(ce,It)}else if(K.id&&K.function?.name){let De=g.get(ce);De.id.startsWith("call_")&&De.name.startsWith("tool_")&&(De.id=K.id,De.name=K.function.name)}if(K.function?.arguments&&!m&&!p){let De=A.get(ce);if(De===void 0)continue;let W=g.get(ce);W&&(W.arguments+=K.function.arguments);try{let de={type:"content_block_delta",index:De,delta:{type:"input_json_delta",partial_json:K.function.arguments}};O(s.encode(`event: content_block_delta
|
|
131
131
|
data: ${JSON.stringify(de)}
|
|
132
132
|
|
|
133
133
|
`))}catch{try{let de=K.function.arguments.replace(/[\x00-\x1F\x7F-\x9F]/g,"").replace(/\\/g,"\\\\").replace(/"/g,'\\"'),_e={type:"content_block_delta",index:De,delta:{type:"input_json_delta",partial_json:de}};O(s.encode(`event: content_block_delta
|
|
134
134
|
data: ${JSON.stringify(_e)}
|
|
135
135
|
|
|
136
|
-
`))}catch(de){console.error(de)}}}}}if(me?.finish_reason&&!m&&!p){if(_===0&&
|
|
136
|
+
`))}catch(de){console.error(de)}}}}}if(me?.finish_reason&&!m&&!p){if(_===0&&y===0&&console.error("Warning: No content in the stream response!"),S>=0){let G={type:"content_block_stop",index:S};O(s.encode(`event: content_block_stop
|
|
137
137
|
data: ${JSON.stringify(G)}
|
|
138
138
|
|
|
139
|
-
`)),S=-1}m||(c={type:"message_delta",delta:{stop_reason:{stop:"end_turn",length:"max_tokens",tool_calls:"tool_use",content_filter:"stop_sequence"}[me.finish_reason]||"end_turn",stop_sequence:null},usage:{input_tokens:(se.usage?.prompt_tokens||0)-(se.usage?.prompt_tokens_details?.cached_tokens||0),output_tokens:se.usage?.completion_tokens||0,cache_read_input_tokens:se.usage?.prompt_tokens_details?.cached_tokens||0}});break}}catch(se){this.logger?.error(`parseError: ${se.name} message: ${se.message} stack: ${se.stack} data: ${Se}`)}}}q()}catch(B){if(!m)try{o.error(B)}catch(Y){console.error(Y)}}finally{if(J)try{J.releaseLock()}catch(B){console.error(B)}}},cancel:o=>{this.logger.debug({reqId:r.req.id},`cancle stream: ${o}`)}})}convertOpenAIResponseToAnthropic(e,r){this.logger.debug({reqId:r.req.id,response:e},"Original OpenAI response");try{let n=e.choices[0];if(!n)throw new Error("No choices found in OpenAI response");let o=[];if(n.message.annotations){let a=`srvtoolu_${Yt()}`;o.push({type:"server_tool_use",id:a,name:"web_search",input:{query:""}}),o.push({type:"web_search_tool_result",tool_use_id:a,content:n.message.annotations.map(c=>({type:"web_search_result",url:c.url_citation.url,title:c.url_citation.title}))})}n.message.content&&o.push({type:"text",text:n.message.content}),n.message.tool_calls&&n.message.tool_calls.length>0&&n.message.tool_calls.forEach(a=>{let c={};try{let l=a.function.arguments||"{}";typeof l=="object"?c=l:typeof l=="string"&&(c=JSON.parse(l))}catch{c={text:a.function.arguments||""}}o.push({type:"tool_use",id:a.id,name:a.function.name,input:c})}),n.message?.thinking?.content&&o.push({type:"thinking",thinking:n.message.thinking.content,signature:n.message.thinking.signature});let s={id:e.id,type:"message",role:"assistant",model:e.model,content:o,stop_reason:n.finish_reason==="stop"?"end_turn":n.finish_reason==="length"?"max_tokens":n.finish_reason==="tool_calls"?"tool_use":n.finish_reason==="content_filter"?"stop_sequence":"end_turn",stop_sequence:null,usage:{input_tokens:(e.usage?.prompt_tokens||0)-(e.usage?.prompt_tokens_details?.cached_tokens||0),output_tokens:e.usage?.completion_tokens||0,cache_read_input_tokens:e.usage?.prompt_tokens_details?.cached_tokens||0}};return this.logger.debug({reqId:r.req.id,result:s},"Conversion complete, final Anthropic response"),s}catch{throw
|
|
140
|
-
`)||"",f={id:n.responseId,choices:[{finish_reason:n.candidates[0].finishReason?.toLowerCase()||null,index:0,message:{content:d,role:"assistant",tool_calls:l.length>0?l:void 0,...s&&{thinking:{content:o||"(no content)",signature:s}}}}],created:parseInt(new Date().getTime()/1e3+"",10),model:n.modelVersion,object:"chat.completion",usage:{completion_tokens:n.usageMetadata?.candidatesTokenCount||0,prompt_tokens:n.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:n.usageMetadata?.cachedContentTokenCount||0},total_tokens:n.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:n.usageMetadata?.thoughtsTokenCount||0}}};return new Response(JSON.stringify(f),{status:t.status,statusText:t.statusText,headers:t.headers})}else if(t.headers.get("Content-Type")?.includes("stream")){if(!t.body)return t;let n=new TextDecoder,o=new TextEncoder,s=!1,a=!1,c=!1,l="",d=0,f=-1,p=new ReadableStream({async start(
|
|
139
|
+
`)),S=-1}m||(c={type:"message_delta",delta:{stop_reason:{stop:"end_turn",length:"max_tokens",tool_calls:"tool_use",content_filter:"stop_sequence"}[me.finish_reason]||"end_turn",stop_sequence:null},usage:{input_tokens:(se.usage?.prompt_tokens||0)-(se.usage?.prompt_tokens_details?.cached_tokens||0),output_tokens:se.usage?.completion_tokens||0,cache_read_input_tokens:se.usage?.prompt_tokens_details?.cached_tokens||0}});break}}catch(se){this.logger?.error(`parseError: ${se.name} message: ${se.message} stack: ${se.stack} data: ${Se}`)}}}q()}catch(B){if(!m)try{o.error(B)}catch(Y){console.error(Y)}}finally{if(J)try{J.releaseLock()}catch(B){console.error(B)}}},cancel:o=>{this.logger.debug({reqId:r.req.id},`cancle stream: ${o}`)}})}convertOpenAIResponseToAnthropic(e,r){this.logger.debug({reqId:r.req.id,response:e},"Original OpenAI response");try{let n=e.choices[0];if(!n)throw new Error("No choices found in OpenAI response");let o=[];if(n.message.annotations){let a=`srvtoolu_${Yt()}`;o.push({type:"server_tool_use",id:a,name:"web_search",input:{query:""}}),o.push({type:"web_search_tool_result",tool_use_id:a,content:n.message.annotations.map(c=>({type:"web_search_result",url:c.url_citation.url,title:c.url_citation.title}))})}n.message.content&&o.push({type:"text",text:n.message.content}),n.message.tool_calls&&n.message.tool_calls.length>0&&n.message.tool_calls.forEach(a=>{let c={};try{let l=a.function.arguments||"{}";typeof l=="object"?c=l:typeof l=="string"&&(c=JSON.parse(l))}catch{c={text:a.function.arguments||""}}o.push({type:"tool_use",id:a.id,name:a.function.name,input:c})}),n.message?.thinking?.content&&o.push({type:"thinking",thinking:n.message.thinking.content,signature:n.message.thinking.signature});let s={id:e.id,type:"message",role:"assistant",model:e.model,content:o,stop_reason:n.finish_reason==="stop"?"end_turn":n.finish_reason==="length"?"max_tokens":n.finish_reason==="tool_calls"?"tool_use":n.finish_reason==="content_filter"?"stop_sequence":"end_turn",stop_sequence:null,usage:{input_tokens:(e.usage?.prompt_tokens||0)-(e.usage?.prompt_tokens_details?.cached_tokens||0),output_tokens:e.usage?.completion_tokens||0,cache_read_input_tokens:e.usage?.prompt_tokens_details?.cached_tokens||0}};return this.logger.debug({reqId:r.req.id,result:s},"Conversion complete, final Anthropic response"),s}catch{throw it(`Provider error: ${JSON.stringify(e)}`,500,"provider_error")}}};var Mn={TYPE_UNSPECIFIED:"TYPE_UNSPECIFIED",STRING:"STRING",NUMBER:"NUMBER",INTEGER:"INTEGER",BOOLEAN:"BOOLEAN",ARRAY:"ARRAY",OBJECT:"OBJECT",NULL:"NULL"};function sC(t,e){t.includes("null")&&(e.nullable=!0);let r=t.filter(n=>n!=="null");if(r.length===1){let n=r[0].toUpperCase();e.type=Object.values(Mn).includes(n)?n:Mn.TYPE_UNSPECIFIED}else{e.anyOf=[];for(let n of r){let o=n.toUpperCase();e.anyOf.push({type:Object.values(Mn).includes(o)?o:Mn.TYPE_UNSPECIFIED})}}}function xo(t){let e={},r=["items"],n=["anyOf"],o=["properties"];if(t.type&&t.anyOf)throw new Error("type and anyOf cannot be both populated.");let s=t.anyOf;s!=null&&Array.isArray(s)&&s.length==2&&(s[0]&&s[0].type==="null"?(e.nullable=!0,t=s[1]):s[1]&&s[1].type==="null"&&(e.nullable=!0,t=s[0])),t.type&&Array.isArray(t.type)&&sC(t.type,e);for(let[a,c]of Object.entries(t))if(c!=null)if(a=="type"){if(c==="null")throw new Error("type: null can not be the only possible type for the field.");if(Array.isArray(c))continue;let l=c.toUpperCase();e.type=Object.values(Mn).includes(l)?l:Mn.TYPE_UNSPECIFIED}else if(r.includes(a))e[a]=xo(c);else if(n.includes(a)){let l=[];for(let d of c){if(d.type=="null"){e.nullable=!0;continue}l.push(xo(d))}e[a]=l}else if(o.includes(a)){let l={};for(let[d,f]of Object.entries(c))l[d]=xo(f);e[a]=l}else{if(a==="additionalProperties")continue;e[a]=c}return e}function iC(t){if(t.functionDeclarations)for(let e of t.functionDeclarations)e.parameters&&(Object.keys(e.parameters).includes("$schema")?e.parametersJsonSchema||(e.parametersJsonSchema=e.parameters,delete e.parameters):e.parameters=xo(e.parameters)),e.response&&(Object.keys(e.response).includes("$schema")?e.responseJsonSchema||(e.responseJsonSchema=e.response,delete e.response):e.response=xo(e.response));return t}function ei(t){let e=[],r=t.tools?.filter(l=>l.function.name!=="web_search")?.map(l=>({name:l.function.name,description:l.function.description,parametersJsonSchema:l.function.parameters}));r?.length&&e.push(iC({functionDeclarations:r})),t.tools?.find(l=>l.function.name==="web_search")&&e.push({googleSearch:{}});let o=[],s=t.messages.filter(l=>l.role==="tool");t.messages.filter(l=>l.role!=="tool").forEach(l=>{let d;l.role==="assistant"?d="model":(["user","system"].includes(l.role),d="user");let f=[];if(typeof l.content=="string"){let p={text:l.content};l.thinking?.signature&&(p.thoughtSignature=l.thinking.signature),f.push(p)}else Array.isArray(l.content)?f.push(...l.content.map(p=>{if(p.type==="text")return{text:p.text||""};if(p.type==="image_url")return p.image_url.url.startsWith("http")?{file_data:{mime_type:p.media_type,file_uri:p.image_url.url}}:{inlineData:{mime_type:p.media_type,data:p.image_url.url?.split(",")?.pop()||p.image_url.url}}})):l.content&&typeof l.content=="object"&&(l.content.text?f.push({text:l.content.text}):f.push({text:JSON.stringify(l.content)}));if(Array.isArray(l.tool_calls)&&f.push(...l.tool_calls.map(p=>{let g={functionCall:{id:p.id||`tool_${Math.random().toString(36).substring(2,15)}`,name:p.function.name,args:JSON.parse(p.function.arguments||"{}")}};return l.thinking?.signature&&(g.thoughtSignature=l.thinking.signature),g})),f.length===0&&f.push({text:""}),o.push({role:d,parts:f}),d==="model"&&l.tool_calls){let p=l.tool_calls.map(g=>{let A=s.find(w=>w.tool_call_id===g.id);return{functionResponse:{name:g?.function?.name,response:{result:A?.content}}}});o.push({role:"user",parts:p})}});let a={};if(t.reasoning&&t.reasoning.effort&&t.reasoning.effort!=="none")if(a.thinkingConfig={includeThoughts:!0},t.model.includes("gemini-3"))a.thinkingConfig.thinkingLevel=t.reasoning.effort;else{let l=t.model.includes("pro")?[128,32768]:[0,24576],d,f=t.reasoning.max_tokens;typeof f<"u"&&(f>=l[0]&&f<=l[1]?d=f:f<l[0]?d=l[0]:f>l[1]&&(d=l[1]),a.thinkingConfig.thinkingBudget=d)}let c={contents:o,tools:e.length?e:void 0,generationConfig:a};if(t.tool_choice){let l={functionCallingConfig:{}};t.tool_choice==="auto"?l.functionCallingConfig.mode="auto":t.tool_choice==="none"?l.functionCallingConfig.mode="none":t.tool_choice==="required"?l.functionCallingConfig.mode="any":t.tool_choice?.function?.name&&(l.functionCallingConfig.mode="any",l.functionCallingConfig.allowedFunctionNames=[t.tool_choice?.function?.name]),c.toolConfig=l}return c}function ti(t){let e=t.contents,r=t.tools,n=t.model,o=t.max_tokens,s=t.temperature,a=t.stream,c=t.tool_choice,l={messages:[],model:n,max_tokens:o,temperature:s,stream:a,tool_choice:c};return Array.isArray(e)&&e.forEach(d=>{typeof d=="string"?l.messages.push({role:"user",content:d}):typeof d.text=="string"?l.messages.push({role:"user",content:d.text||null}):d.role==="user"?l.messages.push({role:"user",content:d?.parts?.map(f=>({type:"text",text:f.text||""}))||[]}):d.role==="model"&&l.messages.push({role:"assistant",content:d?.parts?.map(f=>({type:"text",text:f.text||""}))||[]})}),Array.isArray(r)&&(l.tools=[],r.forEach(d=>{Array.isArray(d.functionDeclarations)&&d.functionDeclarations.forEach(f=>{l.tools.push({type:"function",function:{name:f.name,description:f.description,parameters:f.parameters}})})})),l}async function ri(t,e,r){if(t.headers.get("Content-Type")?.includes("application/json")){let n=await t.json();r?.debug({response:n},`${e} response:`);let o="",s="",a=n.candidates[0]?.content?.parts||[],c=[];for(let p of a)p.text&&p.thought===!0?o+=p.text:c.push(p);s=a.find(p=>p.thoughtSignature)?.thoughtSignature;let l=c?.filter(p=>p.functionCall)?.map(p=>({id:p.functionCall?.id||`tool_${Math.random().toString(36).substring(2,15)}`,type:"function",function:{name:p.functionCall?.name,arguments:JSON.stringify(p.functionCall?.args||{})}}))||[],d=c?.filter(p=>p.text)?.map(p=>p.text)?.join(`
|
|
140
|
+
`)||"",f={id:n.responseId,choices:[{finish_reason:n.candidates[0].finishReason?.toLowerCase()||null,index:0,message:{content:d,role:"assistant",tool_calls:l.length>0?l:void 0,...s&&{thinking:{content:o||"(no content)",signature:s}}}}],created:parseInt(new Date().getTime()/1e3+"",10),model:n.modelVersion,object:"chat.completion",usage:{completion_tokens:n.usageMetadata?.candidatesTokenCount||0,prompt_tokens:n.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:n.usageMetadata?.cachedContentTokenCount||0},total_tokens:n.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:n.usageMetadata?.thoughtsTokenCount||0}}};return new Response(JSON.stringify(f),{status:t.status,statusText:t.statusText,headers:t.headers})}else if(t.headers.get("Content-Type")?.includes("stream")){if(!t.body)return t;let n=new TextDecoder,o=new TextEncoder,s=!1,a=!1,c=!1,l="",d=0,f=-1,p=new ReadableStream({async start(g){let A=async(y,m)=>{if(y.startsWith("data: ")){let v=y.slice(6).trim();if(v){r?.debug({chunkStr:v},`${e} chunk:`);try{let b=JSON.parse(v);if(!b.candidates||!b.candidates[0]){r?.debug({chunkStr:v},"Invalid chunk structure");return}let S=b.candidates[0],D=S.content?.parts||[];D.filter(B=>B.text&&B.thought===!0).forEach(B=>{c||(c=!0);let Y={choices:[{delta:{role:"assistant",content:null,thinking:{content:B.text}},finish_reason:null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};m.enqueue(o.encode(`data: ${JSON.stringify(Y)}
|
|
141
141
|
|
|
142
142
|
`))});let O=D.find(B=>B.thoughtSignature)?.thoughtSignature;if(O&&!s){if(!c){let Y={choices:[{delta:{role:"assistant",content:null,thinking:{content:"(no content)"}},finish_reason:null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};m.enqueue(o.encode(`data: ${JSON.stringify(Y)}
|
|
143
143
|
|
|
@@ -154,100 +154,100 @@ data: ${JSON.stringify(G)}
|
|
|
154
154
|
|
|
155
155
|
`)),!a&&J&&(a=!0)}q.length>0&&(q.forEach(B=>{d++,f++;let Y={choices:[{delta:{role:"assistant",tool_calls:[{...B,index:f}]},finish_reason:S.finishReason?.toLowerCase()||null,index:d,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.responseId||"",model:b.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:b.usageMetadata?.candidatesTokenCount||0,prompt_tokens:b.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:b.usageMetadata?.cachedContentTokenCount||0},total_tokens:b.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:b.usageMetadata?.thoughtsTokenCount||0}}};S?.groundingMetadata?.groundingChunks?.length&&(Y.choices[0].delta.annotations=S.groundingMetadata.groundingChunks.map((re,ee)=>{let ue=S?.groundingMetadata?.groundingSupports?.filter(fe=>fe.groundingChunkIndices?.includes(ee));return{type:"url_citation",url_citation:{url:re?.web?.uri||"",title:re?.web?.title||"",content:ue?.[0]?.segment?.text||"",start_index:ue?.[0]?.segment?.startIndex||0,end_index:ue?.[0]?.segment?.endIndex||0}}})),m.enqueue(o.encode(`data: ${JSON.stringify(Y)}
|
|
156
156
|
|
|
157
|
-
`))}),!a&&J&&(a=!0))}catch(b){r?.error(`Error parsing ${e} stream chunk`,v,b.message)}}}},w=t.body.getReader(),_="";try{for(;;){let{done:
|
|
158
|
-
`);_=v.pop()||"";for(let b of v)await A(b,
|
|
157
|
+
`))}),!a&&J&&(a=!0))}catch(b){r?.error(`Error parsing ${e} stream chunk`,v,b.message)}}}},w=t.body.getReader(),_="";try{for(;;){let{done:y,value:m}=await w.read();if(y){_&&await A(_,g);break}_+=n.decode(m,{stream:!0});let v=_.split(`
|
|
158
|
+
`);_=v.pop()||"";for(let b of v)await A(b,g)}}catch(y){g.error(y)}finally{g.close()}}});return new Response(p,{status:t.status,statusText:t.statusText,headers:t.headers})}}var ni=class{name="gemini";endPoint="/v1beta/models/:modelAndAction";async transformRequestIn(e,r){return{body:ei(e),config:{url:new URL(`./${e.model}:${e.stream?"streamGenerateContent?alt=sse":"generateContent"}`,r.baseUrl),headers:{"x-goog-api-key":r.apiKey,Authorization:void 0}}}}transformRequestOut=ti;async transformResponseOut(e){return ri(e,this.name,this.logger)}};async function jk(){try{let{GoogleAuth:t}=await Promise.resolve().then(()=>jr(ld(),1));return(await(await new t({scopes:["https://www.googleapis.com/auth/cloud-platform"]}).getClient()).getAccessToken()).token||""}catch(t){throw console.error("Error getting access token:",t),new Error(`Failed to get access token for Vertex AI. Please ensure you have set up authentication using one of these methods:
|
|
159
159
|
1. Set GOOGLE_APPLICATION_CREDENTIALS to point to service account key file
|
|
160
160
|
2. Run "gcloud auth application-default login"
|
|
161
|
-
3. Use Google Cloud environment with default service account`)}}var Ea=class{name="vertex-gemini";async transformRequestIn(e,r){let n=process.env.GOOGLE_CLOUD_PROJECT,o=process.env.GOOGLE_CLOUD_LOCATION||"us-central1";if(!n&&process.env.GOOGLE_APPLICATION_CREDENTIALS)try{let c=(await import("fs")).readFileSync(process.env.GOOGLE_APPLICATION_CREDENTIALS,"utf8"),l=JSON.parse(c);l&&l.project_id&&(n=l.project_id)}catch(a){console.error("Error extracting project_id from GOOGLE_APPLICATION_CREDENTIALS:",a)}if(!n)throw new Error("Project ID is required for Vertex AI. Set GOOGLE_CLOUD_PROJECT environment variable or ensure project_id is in GOOGLE_APPLICATION_CREDENTIALS file.");let s=await jk();return{body:ei(e),config:{url:new URL(`./v1beta1/projects/${n}/locations/${o}/publishers/google/models/${e.model}:${e.stream?"streamGenerateContent":"generateContent"}`,r.baseUrl.endsWith("/")?r.baseUrl:r.baseUrl+"/"||`https://${o}-aiplatform.googleapis.com`),headers:{Authorization:`Bearer ${s}`,"x-goog-api-key":void 0}}}}async transformRequestOut(e){return ti(e)}async transformResponseOut(e){return ri(e,this.name)}};var Aa=class{name="deepseek";async transformRequestIn(e){e.max_tokens&&e.max_tokens>8192&&(e.max_tokens=8192);let r=e.model?.includes("reasoner")||e.model?.includes("v4")||e.model?.includes("pro")||e.model?.includes("think"),n=e.thinking||e.reasoning?.enabled||e.messages.some(o=>o.thinking?.content)||r;return e.messages.forEach(o=>{if(o.role==="assistant"){let s=o.thinking?.content,a=o.thinking?.signature,c="";if(typeof o.content=="string"){let d=/<thinking>([\s\S]*?)<\/thinking>/g.exec(o.content);d&&(c=d[1].trim(),o.content=o.content.replace(d[0],"").trim())}s&&typeof s=="string"&&s.trim()?(o.reasoning_content=s,a&&(o.reasoning_content_signature=a)):c&&(o.reasoning_content=c),n&&!o.reasoning_content&&(o.reasoning_content=" "),o.thinking&&delete o.thinking}}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o="",s=!1,a="",c=new ReadableStream({async start(l){let d=e.body.getReader(),f=(
|
|
162
|
-
`);for(let
|
|
163
|
-
`))},p=(
|
|
161
|
+
3. Use Google Cloud environment with default service account`)}}var Ea=class{name="vertex-gemini";async transformRequestIn(e,r){let n=process.env.GOOGLE_CLOUD_PROJECT,o=process.env.GOOGLE_CLOUD_LOCATION||"us-central1";if(!n&&process.env.GOOGLE_APPLICATION_CREDENTIALS)try{let c=(await import("fs")).readFileSync(process.env.GOOGLE_APPLICATION_CREDENTIALS,"utf8"),l=JSON.parse(c);l&&l.project_id&&(n=l.project_id)}catch(a){console.error("Error extracting project_id from GOOGLE_APPLICATION_CREDENTIALS:",a)}if(!n)throw new Error("Project ID is required for Vertex AI. Set GOOGLE_CLOUD_PROJECT environment variable or ensure project_id is in GOOGLE_APPLICATION_CREDENTIALS file.");let s=await jk();return{body:ei(e),config:{url:new URL(`./v1beta1/projects/${n}/locations/${o}/publishers/google/models/${e.model}:${e.stream?"streamGenerateContent":"generateContent"}`,r.baseUrl.endsWith("/")?r.baseUrl:r.baseUrl+"/"||`https://${o}-aiplatform.googleapis.com`),headers:{Authorization:`Bearer ${s}`,"x-goog-api-key":void 0}}}}async transformRequestOut(e){return ti(e)}async transformResponseOut(e){return ri(e,this.name)}};var Aa=class{name="deepseek";async transformRequestIn(e){e.max_tokens&&e.max_tokens>8192&&(e.max_tokens=8192);let r=e.model?.includes("reasoner")||e.model?.includes("v4")||e.model?.includes("pro")||e.model?.includes("think"),n=e.thinking||e.reasoning?.enabled||e.messages.some(o=>o.thinking?.content)||r;return e.messages.forEach(o=>{if(o.role==="assistant"){let s=o.thinking?.content,a=o.thinking?.signature,c="";if(typeof o.content=="string"){let d=/<thinking>([\s\S]*?)<\/thinking>/g.exec(o.content);d&&(c=d[1].trim(),o.content=o.content.replace(d[0],"").trim())}s&&typeof s=="string"&&s.trim()?(o.reasoning_content=s,a&&(o.reasoning_content_signature=a)):c&&(o.reasoning_content=c),n&&!o.reasoning_content&&(o.reasoning_content=" "),o.thinking&&delete o.thinking}}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o="",s=!1,a="",c=new ReadableStream({async start(l){let d=e.body.getReader(),f=(g,A,w)=>{let _=g.split(`
|
|
162
|
+
`);for(let y of _)y.trim()&&A.enqueue(w.encode(y+`
|
|
163
|
+
`))},p=(g,A)=>{let{controller:w,encoder:_}=A;if(g.startsWith("data: ")&&g.trim()!=="data: [DONE]")try{let y=JSON.parse(g.slice(6));if(y.choices?.[0]?.delta?.reasoning_content){A.appendReasoningContent(y.choices[0].delta.reasoning_content);let m={...y,choices:[{...y.choices[0],delta:{...y.choices[0].delta,thinking:{content:y.choices[0].delta.reasoning_content}}}]};delete m.choices[0].delta.reasoning_content;let v=`data: ${JSON.stringify(m)}
|
|
164
164
|
|
|
165
|
-
`;w.enqueue(_.encode(v));return}if(
|
|
165
|
+
`;w.enqueue(_.encode(v));return}if(y.choices?.[0]?.delta?.content&&A.reasoningContent()&&!A.isReasoningComplete()){A.setReasoningComplete(!0);let m=Date.now().toString(),v=y.choices[0].delta.content,b={...y,choices:[{...y.choices[0],delta:{...y.choices[0].delta,content:null,thinking:{content:A.reasoningContent(),signature:m}}}]};delete b.choices[0].delta.reasoning_content;let S=`data: ${JSON.stringify(b)}
|
|
166
166
|
|
|
167
|
-
`;w.enqueue(_.encode(S));let D={...
|
|
167
|
+
`;w.enqueue(_.encode(S));let D={...y,choices:[{...y.choices[0],delta:{...y.choices[0].delta,content:v}}]};delete D.choices[0].delta.reasoning_content;let O=`data: ${JSON.stringify(D)}
|
|
168
168
|
|
|
169
|
-
`;w.enqueue(_.encode(O));return}if(
|
|
169
|
+
`;w.enqueue(_.encode(O));return}if(y.choices[0]?.delta?.reasoning_content&&delete y.choices[0].delta.reasoning_content,y.choices?.[0]?.delta&&Object.keys(y.choices[0].delta).length>0){let m=`data: ${JSON.stringify(y)}
|
|
170
170
|
|
|
171
|
-
`;w.enqueue(_.encode(m))}}catch{w.enqueue(_.encode(
|
|
172
|
-
`))}else w.enqueue(_.encode(
|
|
173
|
-
`))};try{for(;;){let{done:
|
|
174
|
-
`);a=_.pop()||"";for(let
|
|
175
|
-
`))}}}catch(
|
|
171
|
+
`;w.enqueue(_.encode(m))}}catch{w.enqueue(_.encode(g+`
|
|
172
|
+
`))}else w.enqueue(_.encode(g+`
|
|
173
|
+
`))};try{for(;;){let{done:g,value:A}=await d.read();if(g){a.trim()&&f(a,l,n);break}let w=r.decode(A,{stream:!0});a+=w;let _=a.split(`
|
|
174
|
+
`);a=_.pop()||"";for(let y of _)if(y.trim())try{p(y,{controller:l,encoder:n,reasoningContent:()=>o,appendReasoningContent:m=>o+=m,isReasoningComplete:()=>s,setReasoningComplete:m=>s=m})}catch(m){console.error("Error processing line:",y,m),l.enqueue(n.encode(y+`
|
|
175
|
+
`))}}}catch(g){console.error("Stream error:",g),l.error(g)}finally{try{d.releaseLock()}catch(g){console.error("Error releasing reader lock:",g)}l.close()}}});return new Response(c,{status:e.status,statusText:e.statusText,headers:{"Content-Type":e.headers.get("Content-Type")||"text/plain","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Sa=class{name="tooluse";transformRequestIn(e){return e.messages.push({role:"system",content:"<system-reminder>Tool mode is active. The user expects you to proactively execute the most suitable tool to help complete the task. \nBefore invoking a tool, you must carefully evaluate whether it matches the current task. If no available tool is appropriate for the task, you MUST call the `ExitTool` to exit tool mode \u2014 this is the only valid way to terminate tool mode.\nAlways prioritize completing the user's task effectively and efficiently by using tools whenever appropriate.</system-reminder>"}),e.tools?.length&&(e.tool_choice="required",e.tools.push({type:"function",function:{name:"ExitTool",description:`Use this tool when you are in tool mode and have completed the task. This is the only valid way to exit tool mode.
|
|
176
176
|
IMPORTANT: Before using this tool, ensure that none of the available tools are applicable to the current task. You must evaluate all available options \u2014 only if no suitable tool can help you complete the task should you use ExitTool to terminate tool mode.
|
|
177
177
|
Examples:
|
|
178
178
|
1. Task: "Use a tool to summarize this document" \u2014 Do not use ExitTool if a summarization tool is available.
|
|
179
|
-
2. Task: "What\u2019s the weather today?" \u2014 If no tool is available to answer, use ExitTool after reasoning that none can fulfill the task.`,parameters:{type:"object",properties:{response:{type:"string",description:"Your response will be forwarded to the user exactly as returned \u2014 the tool will not modify or post-process it in any way."}},required:["response"]}}})),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();if(r?.choices?.[0]?.message.tool_calls?.length&&r?.choices?.[0]?.message.tool_calls[0]?.function?.name==="ExitTool"){let n=r?.choices[0]?.message.tool_calls[0],o=JSON.parse(n.function.arguments||"{}");r.choices[0].message.content=o.response||"",delete r.choices[0].message.tool_calls}return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o=-1,s="",a="",c=new ReadableStream({async start(l){let d=e.body.getReader(),f=(
|
|
180
|
-
`);for(let
|
|
181
|
-
`))},p=(
|
|
179
|
+
2. Task: "What\u2019s the weather today?" \u2014 If no tool is available to answer, use ExitTool after reasoning that none can fulfill the task.`,parameters:{type:"object",properties:{response:{type:"string",description:"Your response will be forwarded to the user exactly as returned \u2014 the tool will not modify or post-process it in any way."}},required:["response"]}}})),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();if(r?.choices?.[0]?.message.tool_calls?.length&&r?.choices?.[0]?.message.tool_calls[0]?.function?.name==="ExitTool"){let n=r?.choices[0]?.message.tool_calls[0],o=JSON.parse(n.function.arguments||"{}");r.choices[0].message.content=o.response||"",delete r.choices[0].message.tool_calls}return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o=-1,s="",a="",c=new ReadableStream({async start(l){let d=e.body.getReader(),f=(g,A,w)=>{let _=g.split(`
|
|
180
|
+
`);for(let y of _)y.trim()&&A.enqueue(w.encode(y+`
|
|
181
|
+
`))},p=(g,A)=>{let{controller:w,encoder:_,exitToolIndex:y,setExitToolIndex:m,appendExitToolResponse:v}=A;if(g.startsWith("data: ")&&g.trim()!=="data: [DONE]")try{let b=JSON.parse(g.slice(6));if(b.choices[0]?.delta?.tool_calls?.length){let S=b.choices[0].delta.tool_calls[0];if(S.function?.name==="ExitTool"){m(S.index);return}else if(y()>-1&&S.index===y()&&S.function.arguments){v(S.function.arguments);try{let D=JSON.parse(A.exitToolResponse());b.choices=[{delta:{role:"assistant",content:D.response||""}}];let O=`data: ${JSON.stringify(b)}
|
|
182
182
|
|
|
183
183
|
`;w.enqueue(_.encode(O))}catch{}return}}if(b.choices?.[0]?.delta&&Object.keys(b.choices[0].delta).length>0){let S=`data: ${JSON.stringify(b)}
|
|
184
184
|
|
|
185
|
-
`;w.enqueue(_.encode(S))}}catch{w.enqueue(_.encode(
|
|
186
|
-
`))}else w.enqueue(_.encode(
|
|
187
|
-
`))};try{for(;;){let{done:
|
|
188
|
-
`);a=_.pop()||"";for(let
|
|
189
|
-
`))}}}catch(
|
|
190
|
-
`);for(let v of m)v.trim()&&_.enqueue(
|
|
191
|
-
`))},A=(w,_)=>{let{controller:
|
|
185
|
+
`;w.enqueue(_.encode(S))}}catch{w.enqueue(_.encode(g+`
|
|
186
|
+
`))}else w.enqueue(_.encode(g+`
|
|
187
|
+
`))};try{for(;;){let{done:g,value:A}=await d.read();if(g){a.trim()&&f(a,l,n);break}let w=r.decode(A,{stream:!0});a+=w;let _=a.split(`
|
|
188
|
+
`);a=_.pop()||"";for(let y of _)if(y.trim())try{p(y,{controller:l,encoder:n,exitToolIndex:()=>o,setExitToolIndex:m=>o=m,exitToolResponse:()=>s,appendExitToolResponse:m=>s+=m})}catch(m){console.error("Error processing line:",y,m),l.enqueue(n.encode(y+`
|
|
189
|
+
`))}}}catch(g){console.error("Stream error:",g),l.error(g)}finally{try{d.releaseLock()}catch(g){console.error("Error releasing reader lock:",g)}l.close()}}});return new Response(c,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var ka=class{constructor(e){this.options=e}static TransformerName="openrouter";async transformRequestIn(e){return e.model.includes("claude")?e.messages.forEach(r=>{Array.isArray(r.content)&&r.content.forEach(n=>{n.type==="image_url"&&(n.image_url.url.startsWith("http")||(n.image_url.url=`data:${n.media_type};base64,${n.image_url.url}`),delete n.media_type)})}):e.messages.forEach(r=>{Array.isArray(r.content)?r.content.forEach(n=>{n.cache_control&&delete n.cache_control,n.type==="image_url"&&(n.image_url.url.startsWith("http")||(n.image_url.url=`${n.image_url.url}`),delete n.media_type)}):r.cache_control&&delete r.cache_control}),Object.assign(e,this.options||{}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o=!1,s="",a=!1,c=!1,l="",d=new ReadableStream({async start(f){let p=e.body.getReader(),g=(w,_,y)=>{let m=w.split(`
|
|
190
|
+
`);for(let v of m)v.trim()&&_.enqueue(y.encode(v+`
|
|
191
|
+
`))},A=(w,_)=>{let{controller:y,encoder:m}=_;if(w.startsWith("data: ")&&w.trim()!=="data: [DONE]"){let v=w.slice(6);try{let b=JSON.parse(v);if(b.usage&&(this.logger?.debug({usage:b.usage,hasToolCall:c},"usage"),b.choices[0].finish_reason=c?"tool_calls":"stop"),b.choices?.[0]?.finish_reason==="error"){y.enqueue(m.encode(`data: ${JSON.stringify({error:b.choices?.[0].error})}
|
|
192
192
|
|
|
193
193
|
`));return}b.choices?.[0]?.delta?.content&&!_.hasTextContent()&&_.setHasTextContent(!0);let S=b.choices?.[0]?.delta?.reasoning||b.choices?.[0]?.delta?.reasoning_content;if(S){_.appendReasoningContent(S);let B={...b,choices:[{...b.choices?.[0],delta:{...b.choices[0].delta,thinking:{content:S}}}]};B.choices?.[0]?.delta&&(delete B.choices[0].delta.reasoning,delete B.choices[0].delta.reasoning_content);let Y=`data: ${JSON.stringify(B)}
|
|
194
194
|
|
|
195
|
-
`;
|
|
195
|
+
`;y.enqueue(m.encode(Y));return}if(b.choices?.[0]?.delta?.content&&_.reasoningContent()&&!_.isReasoningComplete()){_.setReasoningComplete(!0);let B=Date.now().toString(),Y=b.choices[0].delta.content,re={...b,choices:[{...b.choices?.[0],delta:{...b.choices[0].delta,content:null,thinking:{content:_.reasoningContent(),signature:B}}}]};re.choices?.[0]?.delta&&delete re.choices[0].delta.reasoning;let ee=`data: ${JSON.stringify(re)}
|
|
196
196
|
|
|
197
|
-
`;
|
|
197
|
+
`;y.enqueue(m.encode(ee));let ue={...b,choices:[{...b.choices?.[0],delta:{...b.choices[0].delta,content:Y}}]};ue.choices?.[0]?.delta&&(delete ue.choices[0].delta.reasoning,delete ue.choices[0].delta.reasoning_content);let fe=`data: ${JSON.stringify(ue)}
|
|
198
198
|
|
|
199
|
-
`;
|
|
199
|
+
`;y.enqueue(m.encode(fe));return}b.choices?.[0]?.delta?.reasoning&&delete b.choices[0].delta.reasoning,b.choices?.[0]?.delta?.reasoning_content&&delete b.choices[0].delta.reasoning_content,b.choices?.[0]?.delta?.tool_calls?.length&&!Number.isNaN(parseInt(b.choices?.[0]?.delta?.tool_calls[0].id,10))&&b.choices?.[0]?.delta?.tool_calls.forEach(B=>{B.id=`call_${Yt()}`}),b.choices?.[0]?.delta?.tool_calls?.length&&!c&&(c=!0);let D=b.choices?.[0]?.delta,O=D&&Object.keys(D).length>0,q=b.choices?.[0]?.finish_reason,J=b.usage;if(O||q||J){let B=`data: ${JSON.stringify(b)}
|
|
200
200
|
|
|
201
|
-
`;
|
|
202
|
-
`))}}else
|
|
203
|
-
`))};try{for(;;){let{done:w,value:_}=await p.read();if(w){l.trim()&&
|
|
201
|
+
`;y.enqueue(m.encode(B))}}catch{y.enqueue(m.encode(w+`
|
|
202
|
+
`))}}else y.enqueue(m.encode(w+`
|
|
203
|
+
`))};try{for(;;){let{done:w,value:_}=await p.read();if(w){l.trim()&&g(l,f,n);break}if(!_||_.length===0)continue;let y;try{y=r.decode(_,{stream:!0})}catch(v){console.warn("Failed to decode chunk",v);continue}if(y.length===0)continue;if(l+=y,l.length>1e6){console.warn("Buffer size exceeds limit, processing partial data");let v=l.split(`
|
|
204
204
|
`);l=v.pop()||"";for(let b of v)if(b.trim())try{A(b,{controller:f,encoder:n,hasTextContent:()=>o,setHasTextContent:S=>o=S,reasoningContent:()=>s,appendReasoningContent:S=>s+=S,isReasoningComplete:()=>a,setReasoningComplete:S=>a=S})}catch(S){console.error("Error processing line:",b,S),f.enqueue(n.encode(b+`
|
|
205
205
|
`))}continue}let m=l.split(`
|
|
206
206
|
`);l=m.pop()||"";for(let v of m)if(v.trim())try{A(v,{controller:f,encoder:n,hasTextContent:()=>o,setHasTextContent:b=>o=b,reasoningContent:()=>s,appendReasoningContent:b=>s+=b,isReasoningComplete:()=>a,setReasoningComplete:b=>a=b})}catch(b){console.error("Error processing line:",v,b),f.enqueue(n.encode(v+`
|
|
207
|
-
`))}}}catch(w){console.error("Stream error:",w),f.error(w)}finally{try{p.releaseLock()}catch(w){console.error("Error releasing reader lock:",w)}f.close()}}});return new Response(d,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var va=class{constructor(e){this.options=e;this.max_tokens=this.options?.max_tokens}static TransformerName="maxtoken";max_tokens;async transformRequestIn(e){return e.max_tokens&&e.max_tokens>this.max_tokens&&(e.max_tokens=this.max_tokens),e}};var Ta=class{name="groq";async transformRequestIn(e){return e.messages.forEach(r=>{Array.isArray(r.content)?r.content.forEach(n=>{n.cache_control&&delete n.cache_control}):r.cache_control&&delete r.cache_control}),Array.isArray(e.tools)&&e.tools.forEach(r=>{delete r.function.parameters.$schema}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o=!1,s="",a=!1,c="",l=new ReadableStream({async start(d){let f=e.body.getReader(),p=(A,w,_)=>{let
|
|
208
|
-
`);for(let m of
|
|
209
|
-
`))},
|
|
207
|
+
`))}}}catch(w){console.error("Stream error:",w),f.error(w)}finally{try{p.releaseLock()}catch(w){console.error("Error releasing reader lock:",w)}f.close()}}});return new Response(d,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var va=class{constructor(e){this.options=e;this.max_tokens=this.options?.max_tokens}static TransformerName="maxtoken";max_tokens;async transformRequestIn(e){return e.max_tokens&&e.max_tokens>this.max_tokens&&(e.max_tokens=this.max_tokens),e}};var Ta=class{name="groq";async transformRequestIn(e){return e.messages.forEach(r=>{Array.isArray(r.content)?r.content.forEach(n=>{n.cache_control&&delete n.cache_control}):r.cache_control&&delete r.cache_control}),Array.isArray(e.tools)&&e.tools.forEach(r=>{delete r.function.parameters.$schema}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o=!1,s="",a=!1,c="",l=new ReadableStream({async start(d){let f=e.body.getReader(),p=(A,w,_)=>{let y=A.split(`
|
|
208
|
+
`);for(let m of y)m.trim()&&w.enqueue(_.encode(m+`
|
|
209
|
+
`))},g=(A,w)=>{let{controller:_,encoder:y}=w;if(A.startsWith("data: ")&&A.trim()!=="data: [DONE]"){let m=A.slice(6);try{let v=JSON.parse(m);if(v.error)throw new Error(JSON.stringify(v));v.choices?.[0]?.delta?.content&&!w.hasTextContent()&&w.setHasTextContent(!0),v.choices?.[0]?.delta?.tool_calls?.length&&v.choices?.[0]?.delta?.tool_calls.forEach(S=>{S.id=`call_${Yt()}`}),v.choices?.[0]?.delta?.tool_calls?.length&&w.hasTextContent()&&(typeof v.choices[0].index=="number"?v.choices[0].index+=1:v.choices[0].index=1);let b=`data: ${JSON.stringify(v)}
|
|
210
210
|
|
|
211
|
-
`;_.enqueue(
|
|
212
|
-
`))}}else _.enqueue(
|
|
211
|
+
`;_.enqueue(y.encode(b))}catch{_.enqueue(y.encode(A+`
|
|
212
|
+
`))}}else _.enqueue(y.encode(A+`
|
|
213
213
|
`))};try{for(;;){let{done:A,value:w}=await f.read();if(A){c.trim()&&p(c,d,n);break}if(!w||w.length===0)continue;let _;try{_=r.decode(w,{stream:!0})}catch(m){console.warn("Failed to decode chunk",m);continue}if(_.length===0)continue;if(c+=_,c.length>1e6){console.warn("Buffer size exceeds limit, processing partial data");let m=c.split(`
|
|
214
|
-
`);c=m.pop()||"";for(let v of m)if(v.trim())try{
|
|
215
|
-
`))}continue}let
|
|
216
|
-
`);c=
|
|
214
|
+
`);c=m.pop()||"";for(let v of m)if(v.trim())try{g(v,{controller:d,encoder:n,hasTextContent:()=>o,setHasTextContent:b=>o=b,reasoningContent:()=>s,appendReasoningContent:b=>s+=b,isReasoningComplete:()=>a,setReasoningComplete:b=>a=b})}catch(b){console.error("Error processing line:",v,b),d.enqueue(n.encode(v+`
|
|
215
|
+
`))}continue}let y=c.split(`
|
|
216
|
+
`);c=y.pop()||"";for(let m of y)if(m.trim())try{g(m,{controller:d,encoder:n,hasTextContent:()=>o,setHasTextContent:v=>o=v,reasoningContent:()=>s,appendReasoningContent:v=>s+=v,isReasoningComplete:()=>a,setReasoningComplete:v=>a=v})}catch(v){console.error("Error processing line:",m,v),d.enqueue(n.encode(m+`
|
|
217
217
|
`))}}}catch(A){console.error("Stream error:",A),d.error(A)}finally{try{f.releaseLock()}catch(A){console.error("Error releasing reader lock:",A)}d.close()}}});return new Response(l,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Da=class{name="cleancache";async transformRequestIn(e){return Array.isArray(e.messages)&&e.messages.forEach(r=>{Array.isArray(r.content)?r.content.forEach(n=>{n.cache_control&&delete n.cache_control}):r.cache_control&&delete r.cache_control}),e}};var Qy=jr(Nu());var kr=class extends Error{constructor(e,r){super(`${e} at position ${r}`),this.position=r}};function Hy(t){return/^[0-9A-Fa-f]$/.test(t)}function Yr(t){return t>="0"&&t<="9"}function Wy(t){return t>=" "}function ss(t){return`,:[]/{}()
|
|
218
218
|
+`.includes(t)}function dd(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"}function fd(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"||t>="0"&&t<="9"}var hd=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,pd=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;function md(t){return`,[]/{}
|
|
219
219
|
+`.includes(t)}function gd(t){return is(t)||Lk.test(t)}var Lk=/^[[{\w-]$/;function Gy(t){return t===`
|
|
220
220
|
`||t==="\r"||t===" "||t==="\b"||t==="\f"}function Kr(t,e){let r=t.charCodeAt(e);return r===32||r===10||r===9||r===13}function Jy(t,e){let r=t.charCodeAt(e);return r===32||r===9||r===13}function Vy(t,e){let r=t.charCodeAt(e);return r===160||r>=8192&&r<=8202||r===8239||r===8287||r===12288}function is(t){return yd(t)||Ra(t)}function yd(t){return t==='"'||t==="\u201C"||t==="\u201D"}function _d(t){return t==='"'}function Ra(t){return t==="'"||t==="\u2018"||t==="\u2019"||t==="`"||t==="\xB4"}function bd(t){return t==="'"}function ho(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,n=t.lastIndexOf(e);return n!==-1?t.substring(0,n)+(r?"":t.substring(n+1)):t}function Ft(t,e){let r=t.length;if(!Kr(t,r-1))return t+e;for(;Kr(t,r-1);)r--;return t.substring(0,r)+e+t.substring(r)}function Ky(t,e,r){return t.substring(0,e)+t.substring(e+r)}function Yy(t){return/[,\n][ \t\r]*$/.test(t)}var Uk={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},$k={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
|
|
221
|
-
`,r:"\r",t:" "};function Cd(t){let e=0,r="";d(["```","[```","{```"]),s()||fe(),d(["```","```]","```}"]);let o=p(",");for(o&&a(),gd(t[e])&&Yy(r)?(o||(r=Ft(r,",")),m()):o&&(r=ho(r,","));t[e]==="}"||t[e]==="]";)e++,a();if(e>=t.length)return r;ue();function s(){a();let G=_()||
|
|
222
|
-
`;)e++;return!0}return!1}function d(G){if(f(G)){if(dd(t[e]))for(;e<t.length&&fd(t[e]);)e++;return a(),!0}return!1}function f(G){c(!0);for(let K of G){let ce=e+K.length;if(t.slice(e,ce)===K)return e=ce,!0}return!1}function p(G){return t[e]===G?(r+=t[e],e++,!0):!1}function
|
|
221
|
+
`,r:"\r",t:" "};function Cd(t){let e=0,r="";d(["```","[```","{```"]),s()||fe(),d(["```","```]","```}"]);let o=p(",");for(o&&a(),gd(t[e])&&Yy(r)?(o||(r=Ft(r,",")),m()):o&&(r=ho(r,","));t[e]==="}"||t[e]==="]";)e++,a();if(e>=t.length)return r;ue();function s(){a();let G=_()||y()||v()||S()||D()||q(!1)||J();return a(),G}function a(){let G=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,K=e,ce=c(G);do ce=l(),ce&&(ce=c(G));while(ce);return e>K}function c(G){let K=G?Kr:Jy,ce="";for(;;)if(K(t,e))ce+=t[e],e++;else if(Vy(t,e))ce+=" ",e++;else break;return ce.length>0?(r+=ce,!0):!1}function l(){if(t[e]==="/"&&t[e+1]==="*"){for(;e<t.length&&!qk(t,e);)e++;return e+=2,!0}if(t[e]==="/"&&t[e+1]==="/"){for(;e<t.length&&t[e]!==`
|
|
222
|
+
`;)e++;return!0}return!1}function d(G){if(f(G)){if(dd(t[e]))for(;e<t.length&&fd(t[e]);)e++;return a(),!0}return!1}function f(G){c(!0);for(let K of G){let ce=e+K.length;if(t.slice(e,ce)===K)return e=ce,!0}return!1}function p(G){return t[e]===G?(r+=t[e],e++,!0):!1}function g(G){return t[e]===G?(e++,!0):!1}function A(){return g("\\")}function w(){return a(),t[e]==="."&&t[e+1]==="."&&t[e+2]==="."?(e+=3,a(),g(","),!0):!1}function _(){if(t[e]==="{"){r+="{",e++,a(),g(",")&&a();let G=!0;for(;e<t.length&&t[e]!=="}";){let K;if(G?(K=!0,G=!1):(K=p(","),K||(r=Ft(r,",")),a()),w(),!(v()||q(!0))){t[e]==="}"||t[e]==="{"||t[e]==="]"||t[e]==="["||t[e]===void 0?r=ho(r,","):Se();break}a();let qe=p(":"),De=e>=t.length;qe||(gd(t[e])||De?r=Ft(r,":"):se()),s()||(qe||De?r+="null":se())}return t[e]==="}"?(r+="}",e++):r=Ft(r,"}"),!0}return!1}function y(){if(t[e]==="["){r+="[",e++,a(),g(",")&&a();let G=!0;for(;e<t.length&&t[e]!=="]";)if(G?G=!1:p(",")||(r=Ft(r,",")),w(),!s()){r=ho(r,",");break}return t[e]==="]"?(r+="]",e++):r=Ft(r,"]"),!0}return!1}function m(){let G=!0,K=!0;for(;K;)G?G=!1:p(",")||(r=Ft(r,",")),K=s();K||(r=ho(r,",")),r=`[
|
|
223
223
|
${r}
|
|
224
|
-
]`}function v(){let G=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,K=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,ce=t[e]==="\\";if(ce&&(e++,ce=!0),is(t[e])){let qe=_d(t[e])?_d:bd(t[e])?bd:Ra(t[e])?Ra:yd,De=e,W=r.length,de='"';for(e++;;){if(e>=t.length){let _e=B(e-1);return!G&&ss(t.charAt(_e))?(e=De,r=r.substring(0,W),v(!0)):(de=Ft(de,'"'),r+=de,!0)}if(e===K)return de=Ft(de,'"'),r+=de,!0;if(qe(t[e])){let _e=e,It=de.length;if(de+='"',e++,r+=de,a(!1),G||e>=t.length||ss(t[e])||is(t[e])||Yr(t[e]))return b(),!0;let xe=B(_e-1),je=t.charAt(xe);if(je===",")return e=De,r=r.substring(0,W),v(!1,xe);if(ss(je))return e=De,r=r.substring(0,W),v(!0);r=r.substring(0,W),e=_e+1,de=`${de.substring(0,It)}\\${de.substring(It)}`}else if(G&&md(t[e])){if(t[e-1]===":"&&hd.test(t.substring(De+1,e+2)))for(;e<t.length&&pd.test(t[e]);)de+=t[e],e++;return de=Ft(de,'"'),r+=de,b(),!0}else if(t[e]==="\\"){let _e=t.charAt(e+1);if($k[_e]!==void 0)de+=t.slice(e,e+2),e+=2;else if(_e==="u"){let xe=2;for(;xe<6&&Hy(t[e+xe]);)xe++;xe===6?(de+=t.slice(e,e+6),e+=6):e+xe>=t.length?e=t.length:me()}else de+=_e,e+=2}else{let _e=t.charAt(e);_e==='"'&&t[e-1]!=="\\"?(de+=`\\${_e}`,e++):Gy(_e)?(de+=Uk[_e],e++):(Wy(_e)||ee(_e),de+=_e,e++)}ce&&A()}}return!1}function b(){let G=!1;for(a();t[e]==="+";){G=!0,e++,a(),r=ho(r,'"',!0);let K=r.length;v()?r=Ky(r,K,1):r=Ft(r,'"')}return G}function S(){let G=e;if(t[e]==="-"){if(e++,Y())return re(G),!0;if(!Yr(t[e]))return e=G,!1}for(;Yr(t[e]);)e++;if(t[e]==="."){if(e++,Y())return re(G),!0;if(!Yr(t[e]))return e=G,!1;for(;Yr(t[e]);)e++}if(t[e]==="e"||t[e]==="E"){if(e++,(t[e]==="-"||t[e]==="+")&&e++,Y())return re(G),!0;if(!Yr(t[e]))return e=G,!1;for(;Yr(t[e]);)e++}if(!Y())return e=G,!1;if(e>G){let K=t.slice(G,e),ce=/^0\d/.test(K);return r+=ce?`"${K}"`:K,!0}return!1}function D(){return O("true","true")||O("false","false")||O("null","null")||O("True","true")||O("False","false")||O("None","null")}function O(G,K){return t.slice(e,e+G.length)===G?(r+=K,e+=G.length,!0):!1}function q(G){let K=e;if(dd(t[e])){for(;e<t.length&&fd(t[e]);)e++;let ce=e;for(;Kr(t,ce);)ce++;if(t[ce]==="(")return e=ce+1,s(),t[e]===")"&&(e++,t[e]===";"&&e++),!0}for(;e<t.length&&!md(t[e])&&!is(t[e])&&(!G||t[e]!==":");)e++;if(t[e-1]===":"&&hd.test(t.substring(K,e+2)))for(;e<t.length&&pd.test(t[e]);)e++;if(e>K){for(;Kr(t,e-1)&&e>0;)e--;let ce=t.slice(K,e);return r+=ce==="undefined"?"null":JSON.stringify(ce),t[e]==='"'&&e++,!0}}function J(){if(t[e]==="/"){let G=e;for(e++;e<t.length&&(t[e]!=="/"||t[e-1]==="\\");)e++;return e++,r+=`"${t.substring(G,e)}"`,!0}}function B(G){let K=G;for(;K>0&&Kr(t,K);)K--;return K}function Y(){return e>=t.length||ss(t[e])||Kr(t,e)}function re(G){r+=`${t.slice(G,e)}0`}function ee(G){throw new kr(`Invalid character ${JSON.stringify(G)}`,e)}function ue(){throw new kr(`Unexpected character ${JSON.stringify(t[e])}`,e)}function fe(){throw new kr("Unexpected end of json string",t.length)}function Se(){throw new kr("Object key expected",e)}function se(){throw new kr("Colon expected",e)}function me(){let G=t.slice(e,e+6);throw new kr(`Invalid unicode character "${G}"`,e)}}function qk(t,e){return t[e]==="*"&&t[e+1]==="/"}function wd(t,e){if(!t||t.trim()===""||t==="{}")return"{}";try{return JSON.parse(t),e?.debug("\u5DE5\u5177\u8C03\u7528\u53C2\u6570\u6807\u51C6JSON\u89E3\u6790\u6210\u529F / Tool arguments standard JSON parsing successful"),t}catch(r){try{let n=Qy.default.parse(t);return e?.debug("Tool arguments JSON5 parsing successful"),JSON.stringify(n)}catch(n){try{let o=Cd(t);return e?.debug("Tool arguments safely repaired"),o}catch(o){return e?.error(`JSON parsing failed: ${r.message}. JSON5 parsing failed: ${n.message}. JSON repair failed: ${o.message}. Input data: ${JSON.stringify(t)}`),e?.debug("Returning safe empty object as fallback"),"{}"}}}}var xa=class{name="enhancetool";async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();if(r?.choices?.[0]?.message?.tool_calls?.length)for(let n of r.choices[0].message.tool_calls)n.function?.arguments&&(n.function.arguments=wd(n.function.arguments,this.logger));return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o={},s=!1,a="",c=!1,l=!1,d="",f=new ReadableStream({async start(p){let
|
|
224
|
+
]`}function v(){let G=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,K=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,ce=t[e]==="\\";if(ce&&(e++,ce=!0),is(t[e])){let qe=_d(t[e])?_d:bd(t[e])?bd:Ra(t[e])?Ra:yd,De=e,W=r.length,de='"';for(e++;;){if(e>=t.length){let _e=B(e-1);return!G&&ss(t.charAt(_e))?(e=De,r=r.substring(0,W),v(!0)):(de=Ft(de,'"'),r+=de,!0)}if(e===K)return de=Ft(de,'"'),r+=de,!0;if(qe(t[e])){let _e=e,It=de.length;if(de+='"',e++,r+=de,a(!1),G||e>=t.length||ss(t[e])||is(t[e])||Yr(t[e]))return b(),!0;let xe=B(_e-1),je=t.charAt(xe);if(je===",")return e=De,r=r.substring(0,W),v(!1,xe);if(ss(je))return e=De,r=r.substring(0,W),v(!0);r=r.substring(0,W),e=_e+1,de=`${de.substring(0,It)}\\${de.substring(It)}`}else if(G&&md(t[e])){if(t[e-1]===":"&&hd.test(t.substring(De+1,e+2)))for(;e<t.length&&pd.test(t[e]);)de+=t[e],e++;return de=Ft(de,'"'),r+=de,b(),!0}else if(t[e]==="\\"){let _e=t.charAt(e+1);if($k[_e]!==void 0)de+=t.slice(e,e+2),e+=2;else if(_e==="u"){let xe=2;for(;xe<6&&Hy(t[e+xe]);)xe++;xe===6?(de+=t.slice(e,e+6),e+=6):e+xe>=t.length?e=t.length:me()}else de+=_e,e+=2}else{let _e=t.charAt(e);_e==='"'&&t[e-1]!=="\\"?(de+=`\\${_e}`,e++):Gy(_e)?(de+=Uk[_e],e++):(Wy(_e)||ee(_e),de+=_e,e++)}ce&&A()}}return!1}function b(){let G=!1;for(a();t[e]==="+";){G=!0,e++,a(),r=ho(r,'"',!0);let K=r.length;v()?r=Ky(r,K,1):r=Ft(r,'"')}return G}function S(){let G=e;if(t[e]==="-"){if(e++,Y())return re(G),!0;if(!Yr(t[e]))return e=G,!1}for(;Yr(t[e]);)e++;if(t[e]==="."){if(e++,Y())return re(G),!0;if(!Yr(t[e]))return e=G,!1;for(;Yr(t[e]);)e++}if(t[e]==="e"||t[e]==="E"){if(e++,(t[e]==="-"||t[e]==="+")&&e++,Y())return re(G),!0;if(!Yr(t[e]))return e=G,!1;for(;Yr(t[e]);)e++}if(!Y())return e=G,!1;if(e>G){let K=t.slice(G,e),ce=/^0\d/.test(K);return r+=ce?`"${K}"`:K,!0}return!1}function D(){return O("true","true")||O("false","false")||O("null","null")||O("True","true")||O("False","false")||O("None","null")}function O(G,K){return t.slice(e,e+G.length)===G?(r+=K,e+=G.length,!0):!1}function q(G){let K=e;if(dd(t[e])){for(;e<t.length&&fd(t[e]);)e++;let ce=e;for(;Kr(t,ce);)ce++;if(t[ce]==="(")return e=ce+1,s(),t[e]===")"&&(e++,t[e]===";"&&e++),!0}for(;e<t.length&&!md(t[e])&&!is(t[e])&&(!G||t[e]!==":");)e++;if(t[e-1]===":"&&hd.test(t.substring(K,e+2)))for(;e<t.length&&pd.test(t[e]);)e++;if(e>K){for(;Kr(t,e-1)&&e>0;)e--;let ce=t.slice(K,e);return r+=ce==="undefined"?"null":JSON.stringify(ce),t[e]==='"'&&e++,!0}}function J(){if(t[e]==="/"){let G=e;for(e++;e<t.length&&(t[e]!=="/"||t[e-1]==="\\");)e++;return e++,r+=`"${t.substring(G,e)}"`,!0}}function B(G){let K=G;for(;K>0&&Kr(t,K);)K--;return K}function Y(){return e>=t.length||ss(t[e])||Kr(t,e)}function re(G){r+=`${t.slice(G,e)}0`}function ee(G){throw new kr(`Invalid character ${JSON.stringify(G)}`,e)}function ue(){throw new kr(`Unexpected character ${JSON.stringify(t[e])}`,e)}function fe(){throw new kr("Unexpected end of json string",t.length)}function Se(){throw new kr("Object key expected",e)}function se(){throw new kr("Colon expected",e)}function me(){let G=t.slice(e,e+6);throw new kr(`Invalid unicode character "${G}"`,e)}}function qk(t,e){return t[e]==="*"&&t[e+1]==="/"}function wd(t,e){if(!t||t.trim()===""||t==="{}")return"{}";try{return JSON.parse(t),e?.debug("\u5DE5\u5177\u8C03\u7528\u53C2\u6570\u6807\u51C6JSON\u89E3\u6790\u6210\u529F / Tool arguments standard JSON parsing successful"),t}catch(r){try{let n=Qy.default.parse(t);return e?.debug("Tool arguments JSON5 parsing successful"),JSON.stringify(n)}catch(n){try{let o=Cd(t);return e?.debug("Tool arguments safely repaired"),o}catch(o){return e?.error(`JSON parsing failed: ${r.message}. JSON5 parsing failed: ${n.message}. JSON repair failed: ${o.message}. Input data: ${JSON.stringify(t)}`),e?.debug("Returning safe empty object as fallback"),"{}"}}}}var xa=class{name="enhancetool";async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();if(r?.choices?.[0]?.message?.tool_calls?.length)for(let n of r.choices[0].message.tool_calls)n.function?.arguments&&(n.function.arguments=wd(n.function.arguments,this.logger));return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o={},s=!1,a="",c=!1,l=!1,d="",f=new ReadableStream({async start(p){let g=e.body.getReader(),A=(y,m,v)=>{let b=y.split(`
|
|
225
225
|
`);for(let S of b)S.trim()&&m.enqueue(v.encode(S+`
|
|
226
|
-
`))},w=(
|
|
226
|
+
`))},w=(y,m,v)=>{let b="";try{b=wd(o.arguments||"",this.logger)}catch(q){console.error(`${q.message} ${q.stack} \u5DE5\u5177\u8C03\u7528\u53C2\u6570\u89E3\u6790\u5931\u8D25: ${JSON.stringify(o)}`),b=o.arguments||""}let S={role:"assistant",tool_calls:[{function:{name:o.name,arguments:b},id:o.id,index:o.index,type:"function"}]},D={...y,choices:[{...y.choices[0],delta:S}]};D.choices[0].delta.content!==void 0&&delete D.choices[0].delta.content;let O=`data: ${JSON.stringify(D)}
|
|
227
227
|
|
|
228
|
-
`;m.enqueue(v.encode(O))},_=(
|
|
228
|
+
`;m.enqueue(v.encode(O))},_=(y,m)=>{let{controller:v,encoder:b}=m;if(y.startsWith("data: ")&&y.trim()!=="data: [DONE]"){let S=y.slice(6);try{let D=JSON.parse(S);if(D.choices?.[0]?.delta?.tool_calls?.length){let q=D.choices[0].delta.tool_calls[0];if(typeof o.index>"u"){o={index:q.index,name:q.function?.name||"",id:q.id||"",arguments:q.function?.arguments||""},q.function?.arguments&&(q.function.arguments="");let J=`data: ${JSON.stringify(D)}
|
|
229
229
|
|
|
230
230
|
`;v.enqueue(b.encode(J));return}else if(o.index===q.index){q.function?.arguments&&(o.arguments+=q.function.arguments);return}else{w(D,v,b),o={index:q.index,name:q.function?.name||"",id:q.id||"",arguments:q.function?.arguments||""};return}}if(D.choices?.[0]?.finish_reason==="tool_calls"&&o.index!==void 0){w(D,v,b),o={};return}D.choices?.[0]?.delta?.tool_calls?.length&&m.hasTextContent()&&(typeof D.choices[0].index=="number"?D.choices[0].index+=1:D.choices[0].index=1);let O=`data: ${JSON.stringify(D)}
|
|
231
231
|
|
|
232
|
-
`;v.enqueue(b.encode(O))}catch{v.enqueue(b.encode(
|
|
233
|
-
`))}}else v.enqueue(b.encode(
|
|
234
|
-
`))};try{for(;;){let{done:
|
|
232
|
+
`;v.enqueue(b.encode(O))}catch{v.enqueue(b.encode(y+`
|
|
233
|
+
`))}}else v.enqueue(b.encode(y+`
|
|
234
|
+
`))};try{for(;;){let{done:y,value:m}=await g.read();if(y){d.trim()&&A(d,p,n);break}if(!m||m.length===0)continue;let v;try{v=r.decode(m,{stream:!0})}catch(S){console.warn("Failed to decode chunk",S);continue}if(v.length===0)continue;if(d+=v,d.length>1e6){console.warn("Buffer size exceeds limit, processing partial data");let S=d.split(`
|
|
235
235
|
`);d=S.pop()||"";for(let D of S)if(D.trim())try{_(D,{controller:p,encoder:n,hasTextContent:()=>s,setHasTextContent:O=>s=O,reasoningContent:()=>a,appendReasoningContent:O=>a+=O,isReasoningComplete:()=>c,setReasoningComplete:O=>c=O})}catch(O){console.error("Error processing line:",D,O),p.enqueue(n.encode(D+`
|
|
236
236
|
`))}continue}let b=d.split(`
|
|
237
237
|
`);d=b.pop()||"";for(let S of b)if(S.trim())try{_(S,{controller:p,encoder:n,hasTextContent:()=>s,setHasTextContent:D=>s=D,reasoningContent:()=>a,appendReasoningContent:D=>a+=D,isReasoningComplete:()=>c,setReasoningComplete:D=>c=D})}catch(D){console.error("Error processing line:",S,D),p.enqueue(n.encode(S+`
|
|
238
|
-
`))}}}catch(
|
|
239
|
-
`);for(let
|
|
240
|
-
`))},p=(
|
|
238
|
+
`))}}}catch(y){console.error("Stream error:",y),p.error(y)}finally{try{g.releaseLock()}catch(y){console.error("Error releasing reader lock:",y)}p.close()}}});return new Response(f,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Oa=class{constructor(e){this.options=e;this.enable=this.options?.enable??!0}static TransformerName="reasoning";enable;async transformRequestIn(e){return this.enable?(e.reasoning&&(e.thinking={type:"enabled",budget_tokens:e.reasoning.max_tokens},e.enable_thinking=!0),e):(e.thinking={type:"disabled",budget_tokens:-1},e.enable_thinking=!1,e)}async transformResponseOut(e){if(!this.enable)return e;if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();return r.choices[0]?.message.reasoning_content&&(r.thinking={content:r.choices[0]?.message.reasoning_content}),new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o="",s=!1,a="",c=new ReadableStream({async start(l){let d=e.body.getReader(),f=(g,A,w)=>{let _=g.split(`
|
|
239
|
+
`);for(let y of _)y.trim()&&A.enqueue(w.encode(y+`
|
|
240
|
+
`))},p=(g,A)=>{let{controller:w,encoder:_}=A;if(this.logger?.debug({line:g},"Processing reason line"),g.startsWith("data: ")&&g.trim()!=="data: [DONE]")try{let y=JSON.parse(g.slice(6));if(console.log(JSON.stringify(y)),y.choices?.[0]?.delta?.reasoning_content){A.appendReasoningContent(y.choices[0].delta.reasoning_content);let m={...y,choices:[{...y.choices[0],delta:{...y.choices[0].delta,thinking:{content:y.choices[0].delta.reasoning_content}}}]};delete m.choices[0].delta.reasoning_content;let v=`data: ${JSON.stringify(m)}
|
|
241
241
|
|
|
242
|
-
`;w.enqueue(_.encode(v));return}if((
|
|
242
|
+
`;w.enqueue(_.encode(v));return}if((y.choices?.[0]?.delta?.content||y.choices?.[0]?.delta?.tool_calls)&&A.reasoningContent()&&!A.isReasoningComplete()){A.setReasoningComplete(!0);let m=Date.now().toString(),v={...y,choices:[{...y.choices[0],delta:{...y.choices[0].delta,content:null,thinking:{content:A.reasoningContent(),signature:m}}}]};delete v.choices[0].delta.reasoning_content;let b=`data: ${JSON.stringify(v)}
|
|
243
243
|
|
|
244
|
-
`;w.enqueue(_.encode(b))}if(
|
|
244
|
+
`;w.enqueue(_.encode(b))}if(y.choices?.[0]?.delta?.reasoning_content&&delete y.choices[0].delta.reasoning_content,y.choices?.[0]?.delta&&Object.keys(y.choices[0].delta).length>0){A.isReasoningComplete()&&y.choices[0].index++;let m=`data: ${JSON.stringify(y)}
|
|
245
245
|
|
|
246
|
-
`;w.enqueue(_.encode(m))}}catch{w.enqueue(_.encode(
|
|
247
|
-
`))}else w.enqueue(_.encode(
|
|
248
|
-
`))};try{for(;;){let{done:
|
|
249
|
-
`);a=_.pop()||"";for(let
|
|
250
|
-
`))}}}catch(
|
|
246
|
+
`;w.enqueue(_.encode(m))}}catch{w.enqueue(_.encode(g+`
|
|
247
|
+
`))}else w.enqueue(_.encode(g+`
|
|
248
|
+
`))};try{for(;;){let{done:g,value:A}=await d.read();if(g){a.trim()&&f(a,l,n);break}let w=r.decode(A,{stream:!0});a+=w;let _=a.split(`
|
|
249
|
+
`);a=_.pop()||"";for(let y of _)if(y.trim())try{p(y,{controller:l,encoder:n,reasoningContent:()=>o,appendReasoningContent:m=>o+=m,isReasoningComplete:()=>s,setReasoningComplete:m=>s=m})}catch(m){console.error("Error processing line:",y,m),l.enqueue(n.encode(y+`
|
|
250
|
+
`))}}}catch(g){console.error("Stream error:",g),l.error(g)}finally{try{d.releaseLock()}catch(g){console.error("Error releasing reader lock:",g)}l.close()}}});return new Response(c,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Fa=class{constructor(e){this.options=e;this.max_tokens=this.options?.max_tokens,this.temperature=this.options?.temperature,this.top_p=this.options?.top_p,this.top_k=this.options?.top_k,this.repetition_penalty=this.options?.repetition_penalty}static TransformerName="sampling";max_tokens;temperature;top_p;top_k;repetition_penalty;async transformRequestIn(e){return e.max_tokens&&e.max_tokens>this.max_tokens&&(e.max_tokens=this.max_tokens),typeof this.temperature<"u"&&(e.temperature=this.temperature),typeof this.top_p<"u"&&(e.top_p=this.top_p),typeof this.top_k<"u"&&(e.top_k=this.top_k),typeof this.repetition_penalty<"u"&&(e.repetition_penalty=this.repetition_penalty),e}};var Pa=class{static TransformerName="maxcompletiontokens";async transformRequestIn(e){return e.max_tokens&&(e.max_completion_tokens=e.max_tokens,delete e.max_tokens),e}};function Xy(t){let e=[];for(let n=0;n<t.messages.length;n++){let o=t.messages[n],s=n===t.messages.length-1,a=o.role==="assistant",c=[];typeof o.content=="string"?c.push({type:"text",text:o.content}):Array.isArray(o.content)&&o.content.forEach(l=>{l.type==="text"?c.push({type:"text",text:l.text||""}):l.type==="image_url"&&c.push({type:"image",source:{type:"base64",media_type:l.media_type||"image/jpeg",data:l.image_url.url}})}),!(!s&&c.length===0&&!o.tool_calls&&!o.content)&&(s&&a&&c.length===0&&o.tool_calls&&c.push({type:"text",text:""}),e.push({role:o.role==="assistant"?"assistant":"user",content:c}))}let r={anthropic_version:"vertex-2023-10-16",messages:e,max_tokens:t.max_tokens||1e3,stream:t.stream||!1,...t.temperature&&{temperature:t.temperature}};return t.tools&&t.tools.length>0&&(r.tools=t.tools.map(n=>({name:n.function.name,description:n.function.description,input_schema:n.function.parameters}))),t.tool_choice&&(t.tool_choice==="auto"||t.tool_choice==="none"?r.tool_choice=t.tool_choice:typeof t.tool_choice=="string"&&(r.tool_choice={type:"tool",name:t.tool_choice})),r}function Zy(t){let e=t,n={messages:e.messages.map(o=>{let s=o.content.map(a=>a.type==="text"?{type:"text",text:a.text||""}:a.type==="image"&&a.source?{type:"image_url",image_url:{url:a.source.data},media_type:a.source.media_type}:{type:"text",text:""});return{role:o.role,content:s}}),model:t.model||"claude-sonnet-4@20250514",max_tokens:e.max_tokens,temperature:e.temperature,stream:e.stream};return e.tools&&e.tools.length>0&&(n.tools=e.tools.map(o=>({type:"function",function:{name:o.name,description:o.description,parameters:{type:"object",properties:o.input_schema.properties,required:o.input_schema.required,additionalProperties:o.input_schema.additionalProperties,$schema:o.input_schema.$schema}}}))),e.tool_choice&&(typeof e.tool_choice=="string"?n.tool_choice=e.tool_choice:e.tool_choice.type==="tool"&&(n.tool_choice=e.tool_choice.name)),n}async function e0(t,e,r){if(t.headers.get("Content-Type")?.includes("application/json")){let n=await t.json(),o;n.tool_use&&n.tool_use.length>0&&(o=n.tool_use.map(a=>({id:a.id,type:"function",function:{name:a.name,arguments:JSON.stringify(a.input)}})));let s={id:n.id,choices:[{finish_reason:n.stop_reason||null,index:0,message:{content:n.content[0]?.text||"",role:"assistant",...o&&{tool_calls:o}}}],created:parseInt(new Date().getTime()/1e3+"",10),model:n.model,object:"chat.completion",usage:{completion_tokens:n.usage.output_tokens,prompt_tokens:n.usage.input_tokens,total_tokens:n.usage.input_tokens+n.usage.output_tokens}};return new Response(JSON.stringify(s),{status:t.status,statusText:t.statusText,headers:t.headers})}else if(t.headers.get("Content-Type")?.includes("stream")){if(!t.body)return t;let n=new TextDecoder,o=new TextEncoder,s=(c,l)=>{if(c.startsWith("data: ")){let d=c.slice(6).trim();if(d){r?.debug({chunkStr:d},`${e} chunk:`);try{let f=JSON.parse(d);if(f.type==="content_block_delta"&&f.delta?.type==="text_delta"){let p={choices:[{delta:{role:"assistant",content:f.delta.text||""},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:f.id||"",model:f.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:f.usage?.output_tokens||0,prompt_tokens:f.usage?.input_tokens||0,total_tokens:(f.usage?.input_tokens||0)+(f.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(p)}
|
|
251
251
|
|
|
252
252
|
`))}else if(f.type==="content_block_delta"&&f.delta?.type==="input_json_delta"){let p={choices:[{delta:{tool_calls:[{index:f.index||0,function:{arguments:f.delta.partial_json||""}}]},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:f.id||"",model:f.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:f.usage?.output_tokens||0,prompt_tokens:f.usage?.input_tokens||0,total_tokens:(f.usage?.input_tokens||0)+(f.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(p)}
|
|
253
253
|
|
|
@@ -259,29 +259,29 @@ ${r}
|
|
|
259
259
|
|
|
260
260
|
`));else{let p={choices:[{delta:{role:"assistant",content:f.content?.[0]?.text||""},finish_reason:f.stop_reason?.toLowerCase()||null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:f.id||"",model:f.model||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:{completion_tokens:f.usage?.output_tokens||0,prompt_tokens:f.usage?.input_tokens||0,total_tokens:(f.usage?.input_tokens||0)+(f.usage?.output_tokens||0)}};l.enqueue(o.encode(`data: ${JSON.stringify(p)}
|
|
261
261
|
|
|
262
|
-
`))}}catch(f){r?.error(`Error parsing ${e} stream chunk`,d,f.message)}}}},a=new ReadableStream({async start(c){let l=t.body.getReader(),d="";try{for(;;){let{done:f,value:p}=await l.read();if(f){d&&s(d,c);break}d+=n.decode(p,{stream:!0});let
|
|
263
|
-
`);d=
|
|
262
|
+
`))}}catch(f){r?.error(`Error parsing ${e} stream chunk`,d,f.message)}}}},a=new ReadableStream({async start(c){let l=t.body.getReader(),d="";try{for(;;){let{done:f,value:p}=await l.read();if(f){d&&s(d,c);break}d+=n.decode(p,{stream:!0});let g=d.split(`
|
|
263
|
+
`);d=g.pop()||"";for(let A of g)s(A,c)}}catch(f){c.error(f)}finally{c.close()}}});return new Response(a,{status:t.status,statusText:t.statusText,headers:t.headers})}return t}async function zk(){try{let{GoogleAuth:t}=await Promise.resolve().then(()=>jr(ld(),1));return(await(await new t({scopes:["https://www.googleapis.com/auth/cloud-platform"]}).getClient()).getAccessToken()).token||""}catch(t){throw console.error("Error getting access token:",t),new Error(`Failed to get access token for Vertex AI. Please ensure you have set up authentication using one of these methods:
|
|
264
264
|
1. Set GOOGLE_APPLICATION_CREDENTIALS to point to service account key file
|
|
265
265
|
2. Run "gcloud auth application-default login"
|
|
266
|
-
3. Use Google Cloud environment with default service account`)}}var Ia=class{name="vertex-claude";async transformRequestIn(e,r){let n=process.env.GOOGLE_CLOUD_PROJECT,o=process.env.GOOGLE_CLOUD_LOCATION||"us-east5";if(!n&&process.env.GOOGLE_APPLICATION_CREDENTIALS)try{let c=(await import("fs")).readFileSync(process.env.GOOGLE_APPLICATION_CREDENTIALS,"utf8"),l=JSON.parse(c);l&&l.project_id&&(n=l.project_id)}catch(a){console.error("Error extracting project_id from GOOGLE_APPLICATION_CREDENTIALS:",a)}if(!n)throw new Error("Project ID is required for Vertex AI. Set GOOGLE_CLOUD_PROJECT environment variable or ensure project_id is in GOOGLE_APPLICATION_CREDENTIALS file.");let s=await zk();return{body:Xy(e),config:{url:new URL(`/v1/projects/${n}/locations/${o}/publishers/anthropic/models/${e.model}:${e.stream?"streamRawPredict":"rawPredict"}`,`https://${o}-aiplatform.googleapis.com`).toString(),headers:{Authorization:`Bearer ${s}`,"Content-Type":"application/json"}}}}async transformRequestOut(e){return Zy(e)}async transformResponseOut(e){return e0(e,this.name,this.logger)}};var Ba=class{name="cerebras";async transformRequestIn(e,r){let n=JSON.parse(JSON.stringify(e));return n.reasoning?delete n.reasoning:n.disable_reasoning=!1,{body:n,config:{headers:{Authorization:`Bearer ${r.apiKey}`,"Content-Type":"application/json"}}}}async transformResponseOut(e){return e}};var Na=class{name="streamoptions";async transformRequestIn(e){return e.stream&&(e.stream_options={include_usage:!0}),e}};var Ma=class{name="OpenAI";endPoint="/v1/chat/completions"};var ja=class{static TransformerName="customparams";options;constructor(e={}){this.options=e}async transformRequestIn(e){let r={...e},n=Object.entries(this.options);for(let[o,s]of n)if(o in r)if(typeof r[o]=="object"&&typeof s=="object"&&!Array.isArray(r[o])&&!Array.isArray(s)&&r[o]!==null&&s!==null)r[o]=this.deepMergeObjects(r[o],s);else continue;else r[o]=this.cloneValue(s);return r}async transformResponseOut(e){return e}deepMergeObjects(e,r){let n={...e};for(let[o,s]of Object.entries(r))o in n&&typeof n[o]=="object"&&typeof s=="object"&&!Array.isArray(n[o])&&!Array.isArray(s)&&n[o]!==null&&s!==null?n[o]=this.deepMergeObjects(n[o],s):n[o]=this.cloneValue(s);return n}cloneValue(e){if(e===null||typeof e!="object")return e;if(Array.isArray(e))return e.map(n=>this.cloneValue(n));let r={};for(let[n,o]of Object.entries(e))r[n]=this.cloneValue(o);return r}};var La=class{constructor(e){this.options=e}static TransformerName="vercel";endPoint="/v1/chat/completions";async transformRequestIn(e){return e.model.includes("claude")?e.messages.forEach(r=>{Array.isArray(r.content)&&r.content.forEach(n=>{n.type==="image_url"&&(n.image_url.url.startsWith("http")||(n.image_url.url=`data:${n.media_type};base64,${n.image_url.url}`),delete n.media_type)})}):e.messages.forEach(r=>{Array.isArray(r.content)?r.content.forEach(n=>{n.cache_control&&delete n.cache_control,n.type==="image_url"&&(n.image_url.url.startsWith("http")||(n.image_url.url=`data:${n.media_type};base64,${n.image_url.url}`),delete n.media_type)}):r.cache_control&&delete r.cache_control}),Object.assign(e,this.options||{}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o=!1,s="",a=!1,c=!1,l="",d=new ReadableStream({async start(f){let p=e.body.getReader(),
|
|
267
|
-
`);for(let v of m)v.trim()&&_.enqueue(
|
|
268
|
-
`))},A=(w,_)=>{let{controller:
|
|
266
|
+
3. Use Google Cloud environment with default service account`)}}var Ia=class{name="vertex-claude";async transformRequestIn(e,r){let n=process.env.GOOGLE_CLOUD_PROJECT,o=process.env.GOOGLE_CLOUD_LOCATION||"us-east5";if(!n&&process.env.GOOGLE_APPLICATION_CREDENTIALS)try{let c=(await import("fs")).readFileSync(process.env.GOOGLE_APPLICATION_CREDENTIALS,"utf8"),l=JSON.parse(c);l&&l.project_id&&(n=l.project_id)}catch(a){console.error("Error extracting project_id from GOOGLE_APPLICATION_CREDENTIALS:",a)}if(!n)throw new Error("Project ID is required for Vertex AI. Set GOOGLE_CLOUD_PROJECT environment variable or ensure project_id is in GOOGLE_APPLICATION_CREDENTIALS file.");let s=await zk();return{body:Xy(e),config:{url:new URL(`/v1/projects/${n}/locations/${o}/publishers/anthropic/models/${e.model}:${e.stream?"streamRawPredict":"rawPredict"}`,`https://${o}-aiplatform.googleapis.com`).toString(),headers:{Authorization:`Bearer ${s}`,"Content-Type":"application/json"}}}}async transformRequestOut(e){return Zy(e)}async transformResponseOut(e){return e0(e,this.name,this.logger)}};var Ba=class{name="cerebras";async transformRequestIn(e,r){let n=JSON.parse(JSON.stringify(e));return n.reasoning?delete n.reasoning:n.disable_reasoning=!1,{body:n,config:{headers:{Authorization:`Bearer ${r.apiKey}`,"Content-Type":"application/json"}}}}async transformResponseOut(e){return e}};var Na=class{name="streamoptions";async transformRequestIn(e){return e.stream&&(e.stream_options={include_usage:!0}),e}};var Ma=class{name="OpenAI";endPoint="/v1/chat/completions"};var ja=class{static TransformerName="customparams";options;constructor(e={}){this.options=e}async transformRequestIn(e){let r={...e},n=Object.entries(this.options);for(let[o,s]of n)if(o in r)if(typeof r[o]=="object"&&typeof s=="object"&&!Array.isArray(r[o])&&!Array.isArray(s)&&r[o]!==null&&s!==null)r[o]=this.deepMergeObjects(r[o],s);else continue;else r[o]=this.cloneValue(s);return r}async transformResponseOut(e){return e}deepMergeObjects(e,r){let n={...e};for(let[o,s]of Object.entries(r))o in n&&typeof n[o]=="object"&&typeof s=="object"&&!Array.isArray(n[o])&&!Array.isArray(s)&&n[o]!==null&&s!==null?n[o]=this.deepMergeObjects(n[o],s):n[o]=this.cloneValue(s);return n}cloneValue(e){if(e===null||typeof e!="object")return e;if(Array.isArray(e))return e.map(n=>this.cloneValue(n));let r={};for(let[n,o]of Object.entries(e))r[n]=this.cloneValue(o);return r}};var La=class{constructor(e){this.options=e}static TransformerName="vercel";endPoint="/v1/chat/completions";async transformRequestIn(e){return e.model.includes("claude")?e.messages.forEach(r=>{Array.isArray(r.content)&&r.content.forEach(n=>{n.type==="image_url"&&(n.image_url.url.startsWith("http")||(n.image_url.url=`data:${n.media_type};base64,${n.image_url.url}`),delete n.media_type)})}):e.messages.forEach(r=>{Array.isArray(r.content)?r.content.forEach(n=>{n.cache_control&&delete n.cache_control,n.type==="image_url"&&(n.image_url.url.startsWith("http")||(n.image_url.url=`data:${n.media_type};base64,${n.image_url.url}`),delete n.media_type)}):r.cache_control&&delete r.cache_control}),Object.assign(e,this.options||{}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let r=await e.json();return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let r=new TextDecoder,n=new TextEncoder,o=!1,s="",a=!1,c=!1,l="",d=new ReadableStream({async start(f){let p=e.body.getReader(),g=(w,_,y)=>{let m=w.split(`
|
|
267
|
+
`);for(let v of m)v.trim()&&_.enqueue(y.encode(v+`
|
|
268
|
+
`))},A=(w,_)=>{let{controller:y,encoder:m}=_;if(w.startsWith("data: ")&&w.trim()!=="data: [DONE]"){let v=w.slice(6);try{let b=JSON.parse(v);if(b.usage&&(this.logger?.debug({usage:b.usage,hasToolCall:c},"usage"),b.choices[0].finish_reason=c?"tool_calls":"stop"),b.choices?.[0]?.finish_reason==="error"&&y.enqueue(m.encode(`data: ${JSON.stringify({error:b.choices?.[0].error})}
|
|
269
269
|
|
|
270
270
|
`)),b.choices?.[0]?.delta?.content&&!_.hasTextContent()&&_.setHasTextContent(!0),b.choices?.[0]?.delta?.reasoning){_.appendReasoningContent(b.choices[0].delta.reasoning);let D={...b,choices:[{...b.choices?.[0],delta:{...b.choices[0].delta,thinking:{content:b.choices[0].delta.reasoning}}}]};D.choices?.[0]?.delta&&delete D.choices[0].delta.reasoning;let O=`data: ${JSON.stringify(D)}
|
|
271
271
|
|
|
272
|
-
`;
|
|
272
|
+
`;y.enqueue(m.encode(O));return}if(b.choices?.[0]?.delta?.content&&_.reasoningContent()&&!_.isReasoningComplete()){_.setReasoningComplete(!0);let D=Date.now().toString(),O={...b,choices:[{...b.choices?.[0],delta:{...b.choices[0].delta,content:null,thinking:{content:_.reasoningContent(),signature:D}}}]};O.choices?.[0]?.delta&&delete O.choices[0].delta.reasoning;let q=`data: ${JSON.stringify(O)}
|
|
273
273
|
|
|
274
|
-
`;
|
|
274
|
+
`;y.enqueue(m.encode(q))}b.choices?.[0]?.delta?.reasoning&&delete b.choices[0].delta.reasoning,b.choices?.[0]?.delta?.tool_calls?.length&&!Number.isNaN(parseInt(b.choices?.[0]?.delta?.tool_calls[0].id,10))&&b.choices?.[0]?.delta?.tool_calls.forEach(D=>{D.id=`call_${Yt()}`}),b.choices?.[0]?.delta?.tool_calls?.length&&!c&&(c=!0),b.choices?.[0]?.delta?.tool_calls?.length&&_.hasTextContent()&&(typeof b.choices[0].index=="number"?b.choices[0].index+=1:b.choices[0].index=1);let S=`data: ${JSON.stringify(b)}
|
|
275
275
|
|
|
276
|
-
`;
|
|
277
|
-
`))}}else
|
|
278
|
-
`))};try{for(;;){let{done:w,value:_}=await p.read();if(w){l.trim()&&
|
|
276
|
+
`;y.enqueue(m.encode(S))}catch{y.enqueue(m.encode(w+`
|
|
277
|
+
`))}}else y.enqueue(m.encode(w+`
|
|
278
|
+
`))};try{for(;;){let{done:w,value:_}=await p.read();if(w){l.trim()&&g(l,f,n);break}if(!_||_.length===0)continue;let y;try{y=r.decode(_,{stream:!0})}catch(v){console.warn("Failed to decode chunk",v);continue}if(y.length===0)continue;if(l+=y,l.length>1e6){console.warn("Buffer size exceeds limit, processing partial data");let v=l.split(`
|
|
279
279
|
`);l=v.pop()||"";for(let b of v)if(b.trim())try{A(b,{controller:f,encoder:n,hasTextContent:()=>o,setHasTextContent:S=>o=S,reasoningContent:()=>s,appendReasoningContent:S=>s+=S,isReasoningComplete:()=>a,setReasoningComplete:S=>a=S})}catch(S){console.error("Error processing line:",b,S),f.enqueue(n.encode(b+`
|
|
280
280
|
`))}continue}let m=l.split(`
|
|
281
281
|
`);l=m.pop()||"";for(let v of m)if(v.trim())try{A(v,{controller:f,encoder:n,hasTextContent:()=>o,setHasTextContent:b=>o=b,reasoningContent:()=>s,appendReasoningContent:b=>s+=b,isReasoningComplete:()=>a,setReasoningComplete:b=>a=b})}catch(b){console.error("Error processing line:",v,b),f.enqueue(n.encode(v+`
|
|
282
|
-
`))}}}catch(w){console.error("Stream error:",w),f.error(w)}finally{try{p.releaseLock()}catch(w){console.error("Error releasing reader lock:",w)}f.close()}}});return new Response(d,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Ua=class{name="openai-responses";endPoint="/v1/responses";async transformRequestIn(e){delete e.temperature,delete e.max_tokens,e.reasoning&&(e.reasoning={effort:e.reasoning.effort,summary:"detailed"});let r=[],n=e.messages.filter(o=>o.role==="system");if(n.length>0){let o=n[0];Array.isArray(o.content)?o.content.forEach(s=>{let a="";typeof s=="string"?a=s:s&&typeof s=="object"&&"text"in s&&(a=s.text),r.push({role:"system",content:a})}):e.instructions=o.content}if(e.messages.forEach(o=>{if(o.role!=="system"){if(Array.isArray(o.content)){let s=o.content.map(a=>this.normalizeRequestContent(a,o.role)).filter(a=>a!==null);s.length>0?o.content=s:delete o.content}if(o.role==="tool"){let s={...o};s.type="function_call_output",s.call_id=o.tool_call_id,s.output=o.content,delete s.cache_control,delete s.role,delete s.tool_call_id,delete s.content,r.push(s);return}if(o.role==="assistant"&&Array.isArray(o.tool_calls)){o.tool_calls.forEach(s=>{r.push({type:"function_call",arguments:s.function.arguments,name:s.function.name,call_id:s.id})});return}r.push(o)}}),e.input=r,delete e.messages,Array.isArray(e.tools)){let o=e.tools.find(s=>s.function.name==="web_search");e.tools=e.tools.filter(s=>s.function.name!=="web_search").map(s=>(s.function.name==="WebSearch"&&delete s.function.parameters.properties.allowed_domains,s.function.name==="Edit"?{type:s.type,name:s.function.name,description:s.function.description,parameters:{...s.function.parameters,required:["file_path","old_string","new_string","replace_all"]},strict:!0}:{type:s.type,name:s.function.name,description:s.function.description,parameters:s.function.parameters})),o&&e.tools.push({type:"web_search"})}return e.parallel_tool_calls=!1,e}async transformResponseOut(e){let r=e.headers.get("Content-Type")||"";if(r.includes("application/json")){let n=await e.json();if(n.object==="response"&&n.output){let o=this.convertResponseToChat(n);return new Response(JSON.stringify(o),{status:e.status,statusText:e.statusText,headers:e.headers})}return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(r.includes("text/event-stream")){if(!e.body)return e;let n=new TextDecoder,o=new TextEncoder,s="",a=!1,c=this,l=new ReadableStream({async start(d){let f=e.body.getReader(),p=-1,
|
|
282
|
+
`))}}}catch(w){console.error("Stream error:",w),f.error(w)}finally{try{p.releaseLock()}catch(w){console.error("Error releasing reader lock:",w)}f.close()}}});return new Response(d,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var Ua=class{name="openai-responses";endPoint="/v1/responses";async transformRequestIn(e){delete e.temperature,delete e.max_tokens,e.reasoning&&(e.reasoning={effort:e.reasoning.effort,summary:"detailed"});let r=[],n=e.messages.filter(o=>o.role==="system");if(n.length>0){let o=n[0];Array.isArray(o.content)?o.content.forEach(s=>{let a="";typeof s=="string"?a=s:s&&typeof s=="object"&&"text"in s&&(a=s.text),r.push({role:"system",content:a})}):e.instructions=o.content}if(e.messages.forEach(o=>{if(o.role!=="system"){if(Array.isArray(o.content)){let s=o.content.map(a=>this.normalizeRequestContent(a,o.role)).filter(a=>a!==null);s.length>0?o.content=s:delete o.content}if(o.role==="tool"){let s={...o};s.type="function_call_output",s.call_id=o.tool_call_id,s.output=o.content,delete s.cache_control,delete s.role,delete s.tool_call_id,delete s.content,r.push(s);return}if(o.role==="assistant"&&Array.isArray(o.tool_calls)){o.tool_calls.forEach(s=>{r.push({type:"function_call",arguments:s.function.arguments,name:s.function.name,call_id:s.id})});return}r.push(o)}}),e.input=r,delete e.messages,Array.isArray(e.tools)){let o=e.tools.find(s=>s.function.name==="web_search");e.tools=e.tools.filter(s=>s.function.name!=="web_search").map(s=>(s.function.name==="WebSearch"&&delete s.function.parameters.properties.allowed_domains,s.function.name==="Edit"?{type:s.type,name:s.function.name,description:s.function.description,parameters:{...s.function.parameters,required:["file_path","old_string","new_string","replace_all"]},strict:!0}:{type:s.type,name:s.function.name,description:s.function.description,parameters:s.function.parameters})),o&&e.tools.push({type:"web_search"})}return e.parallel_tool_calls=!1,e}async transformResponseOut(e){let r=e.headers.get("Content-Type")||"";if(r.includes("application/json")){let n=await e.json();if(n.object==="response"&&n.output){let o=this.convertResponseToChat(n);return new Response(JSON.stringify(o),{status:e.status,statusText:e.statusText,headers:e.headers})}return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(r.includes("text/event-stream")){if(!e.body)return e;let n=new TextDecoder,o=new TextEncoder,s="",a=!1,c=this,l=new ReadableStream({async start(d){let f=e.body.getReader(),p=-1,g="",A=w=>(w!==g&&(p++,g=w),p);try{for(;;){let{done:w,value:_}=await f.read();if(w){a||d.enqueue(o.encode(`data: [DONE]
|
|
283
283
|
|
|
284
|
-
`));break}let
|
|
284
|
+
`));break}let y=n.decode(_,{stream:!0});s+=y;let m=s.split(/\r?\n/);s=m.pop()||"";for(let v of m)if(v.trim())try{if(v.startsWith("event: "))continue;if(v.startsWith("data: ")){let b=v.slice(5).trim();if(b==="[DONE]"){a=!0,d.enqueue(o.encode(`data: [DONE]
|
|
285
285
|
|
|
286
286
|
`));continue}try{let S=JSON.parse(b);if(S.type==="response.output_text.delta"){let D={id:S.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:S.response?.model,choices:[{index:A(S.type),delta:{content:S.delta||""},finish_reason:null}]};d.enqueue(o.encode(`data: ${JSON.stringify(D)}
|
|
287
287
|
|
|
@@ -305,35 +305,35 @@ ${r}
|
|
|
305
305
|
`))}}s.trim()&&d.enqueue(o.encode(s+`
|
|
306
306
|
`)),a||d.enqueue(o.encode(`data: [DONE]
|
|
307
307
|
|
|
308
|
-
`))}catch(w){console.error("Stream error:",w),d.error(w)}finally{try{f.releaseLock()}catch(w){console.error("Error releasing reader lock:",w)}d.close()}}});return new Response(l,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","Access-Control-Allow-Origin":"*"}})}return e}normalizeRequestContent(e,r){let n={...e};if(delete n.cache_control,e.type==="text")return{type:r==="assistant"?"output_text":"input_text",text:e.text};if(e.type==="image_url"){console.log(e);let o={type:r==="assistant"?"output_image":"input_image"};return typeof e.image_url?.url=="string"&&(o.image_url=e.image_url.url),o}return null}convertResponseToChat(e){let r=e.output?.find(d=>d.type==="message"),n=e.output?.find(d=>d.type==="function_call"),o;r?.content?.length&&r?.content[0].annotations&&(o=r.content[0].annotations.map(d=>({type:"url_citation",url_citation:{url:d.url||"",title:d.title||"",content:"",start_index:d.start_index||0,end_index:d.end_index||0}}))),this.logger.debug({data:o,type:"url_citation"});let s=null,a=null,c=null;if(r&&r.reasoning&&(c={content:r.reasoning}),r&&r.content){let d=[],f=[];if(r.content.forEach(p=>{if(p.type==="output_text")d.push(p.text||"");else if(p.type==="output_image"){let
|
|
308
|
+
`))}catch(w){console.error("Stream error:",w),d.error(w)}finally{try{f.releaseLock()}catch(w){console.error("Error releasing reader lock:",w)}d.close()}}});return new Response(l,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","Access-Control-Allow-Origin":"*"}})}return e}normalizeRequestContent(e,r){let n={...e};if(delete n.cache_control,e.type==="text")return{type:r==="assistant"?"output_text":"input_text",text:e.text};if(e.type==="image_url"){console.log(e);let o={type:r==="assistant"?"output_image":"input_image"};return typeof e.image_url?.url=="string"&&(o.image_url=e.image_url.url),o}return null}convertResponseToChat(e){let r=e.output?.find(d=>d.type==="message"),n=e.output?.find(d=>d.type==="function_call"),o;r?.content?.length&&r?.content[0].annotations&&(o=r.content[0].annotations.map(d=>({type:"url_citation",url_citation:{url:d.url||"",title:d.title||"",content:"",start_index:d.start_index||0,end_index:d.end_index||0}}))),this.logger.debug({data:o,type:"url_citation"});let s=null,a=null,c=null;if(r&&r.reasoning&&(c={content:r.reasoning}),r&&r.content){let d=[],f=[];if(r.content.forEach(p=>{if(p.type==="output_text")d.push(p.text||"");else if(p.type==="output_image"){let g=this.buildImageContent({url:p.image_url,mime_type:p.mime_type});g&&f.push(g)}else if(p.type==="output_image_base64"){let g=this.buildImageContent({b64_json:p.image_base64,mime_type:p.mime_type});g&&f.push(g)}}),f.length>0){let p=[];d.length>0&&p.push({type:"text",text:d.join("")}),p.push(...f),s=p}else s=d.join("")}return n&&(a=[{id:n.call_id||n.id,function:{name:n.name,arguments:n.arguments},type:"function"}]),{id:e.id||"chatcmpl-"+Date.now(),object:"chat.completion",created:e.created_at,model:e.model,choices:[{index:0,message:{role:"assistant",content:s||null,tool_calls:a,thinking:c,annotations:o},logprobs:null,finish_reason:a?"tool_calls":"stop"}],usage:e.usage?{prompt_tokens:e.usage.input_tokens||0,completion_tokens:e.usage.output_tokens||0,total_tokens:e.usage.total_tokens||0}:null}}buildImageContent(e){return e&&(e.url||e.b64_json)?{type:"image_url",image_url:{url:e.url||"",b64_json:e.b64_json},media_type:e.mime_type}:null}};var Ed=`Always think before answering. Even if the problem seems simple, always write down your reasoning process explicitly.
|
|
309
309
|
|
|
310
310
|
Output format:
|
|
311
311
|
<reasoning_content>
|
|
312
312
|
Your detailed thinking process goes here
|
|
313
313
|
</reasoning_content>
|
|
314
314
|
Your final answer must follow after the closing tag above.`,Hk=10,$a=class{name="forcereasoning";async transformRequestIn(e){let r=0;e.messages.filter(o=>o.role==="assistant").reverse().forEach(o=>{o.thinking&&(o.thinking.content&&(!o.content||r<Hk)&&(r++,o.content=`<reasoning_content>${o.thinking.content}</reasoning_content>
|
|
315
|
-
${o.content}`),delete o.thinking)});let n=e.messages[e.messages.length-1];return n.role==="user"&&(Array.isArray(n.content)?n.content.push({type:"text",text:Ed}):n.content=[{type:"text",text:Ed},{type:"text",text:n.content||""}]),n.role==="tool"&&e.messages.push({role:"user",content:[{type:"text",text:Ed}]}),e}async transformResponseOut(e){let r="<reasoning_content>",n="</reasoning_content>";if(e.headers.get("Content-Type")?.includes("application/json")){let o=await e.json();if(o.choices[0]?.message.content){let s=/<reasoning_content>(.*?)<\/reasoning_content>/s,a=o.choices[0]?.message.content.match(s);a&&a[1]&&(o.thinking={content:a[1]})}return new Response(JSON.stringify(o),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let o=0,s=new TextDecoder,a=new TextEncoder,c=new ReadableStream({async start(l){let d=e.body.getReader(),f="",p="SEARCHING",
|
|
315
|
+
${o.content}`),delete o.thinking)});let n=e.messages[e.messages.length-1];return n.role==="user"&&(Array.isArray(n.content)?n.content.push({type:"text",text:Ed}):n.content=[{type:"text",text:Ed},{type:"text",text:n.content||""}]),n.role==="tool"&&e.messages.push({role:"user",content:[{type:"text",text:Ed}]}),e}async transformResponseOut(e){let r="<reasoning_content>",n="</reasoning_content>";if(e.headers.get("Content-Type")?.includes("application/json")){let o=await e.json();if(o.choices[0]?.message.content){let s=/<reasoning_content>(.*?)<\/reasoning_content>/s,a=o.choices[0]?.message.content.match(s);a&&a[1]&&(o.thinking={content:a[1]})}return new Response(JSON.stringify(o),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let o=0,s=new TextDecoder,a=new TextEncoder,c=new ReadableStream({async start(l){let d=e.body.getReader(),f="",p="SEARCHING",g="",A="",w=(_,y)=>{if(typeof y!="string"){_.choices?.[0]?.delta&&Object.keys(_.choices[0].delta).length>0&&!_.choices[0].delta.content&&(_.choices[0].index=o,l.enqueue(a.encode(`data: ${JSON.stringify(_)}
|
|
316
316
|
|
|
317
|
-
`)));return}let m=y
|
|
317
|
+
`)));return}let m=g+y;for(g="";m.length>0;)if(p==="SEARCHING"){let v=m.indexOf(r);if(v!==-1)m=m.substring(v+r.length),p="REASONING";else{for(let b=r.length-1;b>0;b--)if(m.endsWith(r.substring(0,b))){g=m.substring(m.length-b);break}m=""}}else if(p==="REASONING"){let v=m.indexOf(n);if(v!==-1){let b=m.substring(0,v);if(b.length>0){let O={..._.choices[0].delta,thinking:{content:b}};delete O.content;let q={..._,choices:[{..._.choices[0],delta:O,index:o}]};l.enqueue(a.encode(`data: ${JSON.stringify(q)}
|
|
318
318
|
|
|
319
319
|
`))}let S={..._.choices[0].delta,thinking:{signature:new Date().getTime().toString()}};delete S.content;let D={..._,choices:[{..._.choices[0],delta:S,index:o}]};l.enqueue(a.encode(`data: ${JSON.stringify(D)}
|
|
320
320
|
|
|
321
|
-
`)),o++,m=m.substring(v+n.length),p="FINAL"}else{let b=m;for(let S=n.length-1;S>0;S--)if(m.endsWith(n.substring(0,S))){
|
|
321
|
+
`)),o++,m=m.substring(v+n.length),p="FINAL"}else{let b=m;for(let S=n.length-1;S>0;S--)if(m.endsWith(n.substring(0,S))){g=m.substring(m.length-S),b=m.substring(0,m.length-S);break}if(b.length>0){let S={..._.choices[0].delta,thinking:{content:b}};delete S.content;let D={..._,choices:[{..._.choices[0],delta:S,index:o}]};l.enqueue(a.encode(`data: ${JSON.stringify(D)}
|
|
322
322
|
|
|
323
323
|
`))}m=""}}else if(p==="FINAL"){if(m.length>0)if(/^\s*$/.test(m))A+=m;else{let b=A+m,S={..._.choices[0].delta,content:b};S.thinking&&delete S.thinking;let D={..._,choices:[{..._.choices[0],delta:S}]};l.enqueue(a.encode(`data: ${JSON.stringify(D)}
|
|
324
324
|
|
|
325
|
-
`)),A=""}o++,m=""}};try{for(;;){let{done:_,value:
|
|
325
|
+
`)),A=""}o++,m=""}};try{for(;;){let{done:_,value:y}=await d.read();if(_)break;let m=s.decode(y,{stream:!0});f+=m;let v=f.split(`
|
|
326
326
|
`);f=v.pop()||"";for(let b of v)if(b.trim()){if(b.trim()==="data: [DONE]"){l.enqueue(a.encode(b+`
|
|
327
327
|
|
|
328
328
|
`));break}if(b.startsWith("data:"))try{let S=JSON.parse(b.slice(5));w(S,S.choices?.[0]?.delta?.content)}catch{l.enqueue(a.encode(b+`
|
|
329
329
|
`))}else l.enqueue(a.encode(b+`
|
|
330
|
-
`))}}}catch(_){console.error("Stream error:",_),l.error(_)}finally{try{d.releaseLock()}catch(_){console.error("Error releasing reader lock:",_)}if(p==="REASONING"){let
|
|
330
|
+
`))}}}catch(_){console.error("Stream error:",_),l.error(_)}finally{try{d.releaseLock()}catch(_){console.error("Error releasing reader lock:",_)}if(p==="REASONING"){let y={choices:[{delta:{thinking:{signature:new Date().getTime().toString()}}}]};l.enqueue(a.encode(`data: ${JSON.stringify(y)}
|
|
331
331
|
|
|
332
332
|
`))}l.close()}}});return new Response(c,{status:e.status,statusText:e.statusText,headers:{"Content-Type":e.headers.get("Content-Type")||"text/plain","Cache-Control":"no-cache",Connection:"keep-alive"}})}return e}};var qa=class{name="kimi";async transformRequestIn(e){return(e.thinking||e.reasoning?.enabled||e.messages.some(n=>n.thinking?.content))&&e.messages.forEach(n=>{if(n.role==="assistant"){let o=n.thinking?.content,s=n.thinking?.signature;o&&typeof o=="string"&&o.trim()&&(n.reasoning_content=o,s&&(n.reasoning_content_signature=s)),n.tool_calls&&n.tool_calls.length>0&&(n.reasoning_content||(n.reasoning_content="")),n.thinking&&delete n.thinking}}),e}async transformResponseOut(e){let r=e.headers.get("Content-Type");if(r?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,o=new TextEncoder,s="",a="",c=new ReadableStream({async start(l){let d=e.body.getReader();try{for(;;){let{done:f,value:p}=await d.read();if(f){a.trim()&&l.enqueue(o.encode(a+`
|
|
333
|
-
`));break}let
|
|
334
|
-
`);a=A.pop()||"";for(let w of A)if(w.trim())if(w.startsWith("data: ")&&w.trim()!=="data: [DONE]")try{let _=JSON.parse(w.slice(6));if(_.choices?.[0]?.delta?.reasoning_content){s+=_.choices[0].delta.reasoning_content;let
|
|
333
|
+
`));break}let g=n.decode(p,{stream:!0});a+=g;let A=a.split(`
|
|
334
|
+
`);a=A.pop()||"";for(let w of A)if(w.trim())if(w.startsWith("data: ")&&w.trim()!=="data: [DONE]")try{let _=JSON.parse(w.slice(6));if(_.choices?.[0]?.delta?.reasoning_content){s+=_.choices[0].delta.reasoning_content;let y={..._,choices:[{..._.choices[0],delta:{thinking:{content:_.choices[0].delta.reasoning_content}}}]};delete y.choices[0].delta.reasoning_content,l.enqueue(o.encode(`data: ${JSON.stringify(y)}
|
|
335
335
|
|
|
336
|
-
`));continue}if(_.choices?.[0]?.delta?.content&&s&&!_.choices[0]?.delta?.reasoning_content){let
|
|
336
|
+
`));continue}if(_.choices?.[0]?.delta?.content&&s&&!_.choices[0]?.delta?.reasoning_content){let y=Date.now().toString(),m={..._,choices:[{..._.choices[0],delta:{content:null,thinking:{content:s,signature:y}}}]};l.enqueue(o.encode(`data: ${JSON.stringify(m)}
|
|
337
337
|
|
|
338
338
|
`)),s=""}_.choices?.[0]?.delta?.reasoning_content&&delete _.choices[0].delta.reasoning_content,_.choices?.[0]?.delta&&Object.keys(_.choices[0].delta).length>0&&l.enqueue(o.encode(`data: ${JSON.stringify(_)}
|
|
339
339
|
|
|
@@ -343,14 +343,14 @@ ${o.content}`),delete o.thinking)});let n=e.messages[e.messages.length-1];return
|
|
|
343
343
|
error: ${r.message}
|
|
344
344
|
stack: ${r.stack}`),!1}}async initialize(){try{await this.registerDefaultTransformersInternal(),await this.loadFromConfig()}catch(e){this.logger.error(`TransformerService init error: ${e.message}
|
|
345
345
|
Stack: ${e.stack}`)}}async registerDefaultTransformersInternal(){try{Object.values(t0).forEach(e=>{if("TransformerName"in e&&typeof e.TransformerName=="string")this.registerTransformer(e.TransformerName,e);else{let r=new e;r&&typeof r=="object"&&(r.logger=this.logger),this.registerTransformer(r.name,r)}})}catch(e){this.logger.error({error:e},"transformer regist error:")}}async loadFromConfig(){let e=this.configService.get("transformers",[]);for(let r of e)await this.registerTransformerFromConfig(r)}};import{get_encoding as Wk}from"tiktoken";var as=class{type="tiktoken";name;encoding;constructor(e="cl100k_base"){this.name=`tiktoken-${e}`;try{this.encoding=Wk(e)}catch{throw new Error(`Failed to initialize tiktoken encoding: ${e}`)}}async initialize(){if(!this.encoding)throw new Error("Tiktoken encoding not initialized")}async countTokens(e){let r=this.encoding;if(!r)throw new Error("Encoding not initialized");let n=0,{messages:o,system:s,tools:a}=e;return Array.isArray(o)&&o.forEach(c=>{typeof c.content=="string"?n+=r.encode(c.content).length:Array.isArray(c.content)&&c.content.forEach(l=>{if(l.type==="text")n+=r.encode(l.text).length;else if(l.type==="tool_use")n+=r.encode(JSON.stringify(l.input)).length;else if(l.type==="tool_result"){let d=typeof l.content=="string"?l.content:JSON.stringify(l.content);n+=r.encode(d).length}})}),typeof s=="string"?n+=r.encode(s).length:Array.isArray(s)&&s.forEach(c=>{c.type==="text"&&(typeof c.text=="string"?n+=r.encode(c.text).length:Array.isArray(c.text)&&c.text.forEach(l=>{n+=r.encode(l||"").length}))}),a&&a.forEach(c=>{c.description&&(n+=r.encode(c.name+c.description).length),c.input_schema&&(n+=r.encode(JSON.stringify(c.input_schema)).length)}),n}isInitialized(){return this.encoding!==void 0}encodeText(e){let r=this.encoding;if(!r)throw new Error("Encoding not initialized");return Array.from(r.encode(e))}dispose(){this.encoding&&(this.encoding.free(),this.encoding=void 0)}};import{join as Ga}from"path";import{homedir as tD}from"os";import{existsSync as vd,mkdirSync as rD}from"fs";import{promises as Ja}from"fs";var Gk=class{constructor(t){this.trie=this._build_trie(t)}_build_trie(t){let e=Object.create(null);for(let r of t){let n=e;for(let o=0;o<r.length;++o){let s=r[o];n=n[s]??=Object.create(null)}n.end=r}return e}split(t){let e=[],r=t.length,n=0,o=0;for(;o<r;){let s=this.trie,a=null,c=o;for(;c<r&&(s=s[t[c]]);)s.end&&(a=s.end),++c;a?(o>n&&e.push(t.slice(n,o)),e.push(a),o+=a.length,n=o):++o}return n<r&&e.push(t.slice(n)),e}},Jk=Gk,Vk=class{constructor(t){this.content=t.content,this.id=t.id,this.single_word=t.single_word??!1,this.lstrip=t.lstrip??!1,this.rstrip=t.rstrip??!1,this.special=t.special??!1,this.normalized=t.normalized??null}},Kk=Vk,u0=(()=>{let t=[...Array.from({length:94},(o,s)=>s+33),...Array.from({length:12},(o,s)=>s+161),...Array.from({length:82},(o,s)=>s+174)],e=t.slice(),r=0;for(let o=0;o<256;++o)t.includes(o)||(t.push(o),e.push(256+r),r+=1);let n=e.map(o=>String.fromCharCode(o));return Object.fromEntries(t.map((o,s)=>[o,n[s]]))})(),Yk=t=>Object.fromEntries(Object.entries(t).map(([e,r])=>[r,e])),Qk=Yk(u0),r0=".,!?\u2026\u3002\uFF0C\u3001\u0964\u06D4\u060C",Xk=new Map([["(?i:'s|'t|'re|'ve|'m|'ll|'d)","(?:'([sS]|[tT]|[rR][eE]|[vV][eE]|[mM]|[lL][lL]|[dD]))"],["(?i:[sdmt]|ll|ve|re)","(?:[sS]|[dD]|[mM]|[tT]|[lL][lL]|[vV][eE]|[rR][eE])"],["[^\\r\\n\\p{L}\\p{N}]?+","[^\\r\\n\\p{L}\\p{N}]?"],["[^\\s\\p{L}\\p{N}]++","[^\\s\\p{L}\\p{N}]+"],[` ?[^(\\s|[${r0}])]+`,` ?[^\\s${r0}]+`]]),us="\\p{P}\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E",vF=new RegExp(`^[${us}]+$`,"gu"),Sd=t=>t.replace(/ \./g,".").replace(/ \?/g,"?").replace(/ \!/g,"!").replace(/ ,/g,",").replace(/ \' /g,"'").replace(/ n't/g,"n't").replace(/ 'm/g,"'m").replace(/ 's/g,"'s").replace(/ 've/g,"'ve").replace(/ 're/g,"'re"),za=(t,e=!0)=>{if(t.Regex!==void 0){let r=t.Regex.replace(/\\([#&~])/g,"$1");for(let[n,o]of Xk)r=r.replaceAll(n,o);return new RegExp(r,"gu")}else if(t.String!==void 0){let r=Zk(t.String);return new RegExp(e?r:`(${r})`,"gu")}else return console.warn("Unknown pattern type:",t),null},Zk=t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),ev=(t,e,r)=>{let n=[],o=0;for(;o<t.length;){if(n.push(t[o]),(e.get(t[o])??r)!==r){++o;continue}for(;++o<t.length&&(e.get(t[o])??r)===r;)e.get(n.at(-1))!==r&&(n[n.length-1]+=t[o])}return n},tv=t=>t>=19968&&t<=40959||t>=13312&&t<=19903||t>=131072&&t<=173791||t>=173824&&t<=177983||t>=177984&&t<=178207||t>=178208&&t<=183983||t>=63744&&t<=64255||t>=194560&&t<=195103,rv=t=>Number.isInteger(t)||typeof t=="bigint",nv=t=>{let e=0;for(let r of t)++e;return e},ov=t=>c0(t.toLowerCase()),Pt=(...t)=>Array.prototype.concat.apply([],t),kd=t=>new Map(Object.entries(t)),sv=(t,e)=>{let r=[],n=0;for(let o of t.matchAll(e)){let s=o[0];n<o.index&&r.push(t.slice(n,o.index)),s.length>0&&r.push(s),n=o.index+s.length}return n<t.length&&r.push(t.slice(n)),r},c0=t=>t.replace(new RegExp("\\p{M}","gu"),""),n0=(t,e,r=[])=>{if(!t||Array.isArray(t)||typeof t!="object")return`${e} must be a valid object`;for(let n of r)if(!(n in t))return`${e} must contain a "${n}" property`;return null},iv=t=>t.match(/\S+/g)||[],av=class{constructor(){let t=function(...e){return t._call(...e)};return Object.setPrototypeOf(t,new.target.prototype)}},cs=av,uv=class extends cs{constructor(t){super(),this.config=t}_call(t){return this.normalize(t)}},vr=uv,cv=class extends vr{tokenize_chinese_chars(t){let e=[];for(let r=0;r<t.length;++r){let n=t[r],o=n.charCodeAt(0);tv(o)?(e.push(" "),e.push(n),e.push(" ")):e.push(n)}return e.join("")}strip_accents(t){return t.normalize("NFD").replace(new RegExp("\\p{Mn}","gu"),"")}is_control(t){switch(t){case" ":case`
|
|
346
|
-
`:case"\r":return!1;default:return new RegExp("^\\p{Cc}|\\p{Cf}|\\p{Co}|\\p{Cs}$","u").test(t)}}clean_text(t){let e=[];for(let r of t){let n=r.charCodeAt(0);n===0||n===65533||this.is_control(r)||(/^\s$/.test(r)?e.push(" "):e.push(r))}return e.join("")}normalize(t){return this.config.clean_text&&(t=this.clean_text(t)),this.config.handle_chinese_chars&&(t=this.tokenize_chinese_chars(t)),this.config.lowercase?(t=t.toLowerCase(),this.config.strip_accents!==!1&&(t=this.strip_accents(t))):this.config.strip_accents&&(t=this.strip_accents(t)),t}},lv=cv,dv=class extends vr{constructor(t){super(t),this.charsmap=t.precompiled_charsmap??null}normalize(t){return t=t.replace(/[\u0001-\u0008\u000B\u000E-\u001F\u007F\u008F\u009F]/gm,""),t=t.replace(/[\u0009\u000A\u000C\u000D\u00A0\u1680\u2000-\u200F\u2028\u2029\u202F\u205F\u2581\u3000\uFEFF\uFFFD]/gm," "),t.includes("\uFF5E")?t=t.split("\uFF5E").map(e=>e.normalize("NFKC")).join("\uFF5E"):t=t.normalize("NFKC"),t}},fv=dv,hv=class extends vr{constructor(t){super(t),this.normalizers=(t.normalizers??[]).map(e=>l0(e))}normalize(t){return this.normalizers.reduce((e,r)=>r?r.normalize(e):e,t)}},pv=hv,mv=class extends vr{normalize(t){let e=za(this.config.pattern??{});return e===null?t:t.replaceAll(e,this.config.content??"")}},gv=mv,yv=class extends vr{constructor(){super(...arguments),this.form="NFC"}normalize(t){return t=t.normalize(this.form),t}},Ha=yv,_v=class extends Ha{constructor(){super(...arguments),this.form="NFC"}},bv=_v,Cv=class extends Ha{constructor(){super(...arguments),this.form="NFD"}},wv=Cv,Ev=class extends Ha{constructor(){super(...arguments),this.form="NFKC"}},Av=Ev,Sv=class extends Ha{constructor(){super(...arguments),this.form="NFKD"}},kv=Sv,vv=class extends vr{normalize(t){return this.config.strip_left&&this.config.strip_right?t=t.trim():(this.config.strip_left&&(t=t.trimStart()),this.config.strip_right&&(t=t.trimEnd())),t}},Tv=vv,Dv=class extends vr{normalize(t){return c0(t)}},Rv=Dv,xv=class extends vr{normalize(t){return t.toLowerCase()}},Ov=xv,Fv=class extends vr{normalize(t){return t=this.config.prepend+t,t}},Pv=Fv;function Iv(t){if(t===null)return null;switch(t.type){case"BertNormalizer":return new lv(t);case"Precompiled":return new fv(t);case"Sequence":return new pv(t);case"Replace":return new gv(t);case"NFC":return new bv(t);case"NFD":return new wv(t);case"NFKC":return new Av(t);case"NFKD":return new kv(t);case"Strip":return new Tv(t);case"StripAccents":return new Rv(t);case"Lowercase":return new Ov(t);case"Prepend":return new Pv(t);default:throw new Error(`Unknown Normalizer type: ${t.type}`)}}var l0=Iv,Bv=class extends cs{pre_tokenize(t,e){return(Array.isArray(t)?t.map(r=>this.pre_tokenize_text(r,e)):this.pre_tokenize_text(t,e)).flat()}_call(t,e){return this.pre_tokenize(t,e)}},ur=Bv,Nv=class extends ur{constructor(t){super(),this.config=t,this.add_prefix_space=this.config.add_prefix_space??!1,this.trim_offsets=this.config.trim_offsets??!1,this.use_regex=this.config.use_regex??!0,this.pattern=new RegExp("'s|'t|'re|'ve|'m|'ll|'d| ?\\p{L}+| ?\\p{N}+| ?[^\\s\\p{L}\\p{N}]+|\\s+(?!\\S)|\\s+","gu"),this.byte_encoder=u0,this.text_encoder=new TextEncoder}pre_tokenize_text(t,e){return this.add_prefix_space&&!t.startsWith(" ")&&(t=" "+t),(this.use_regex?t.match(this.pattern)||[]:[t]).map(r=>Array.from(this.text_encoder.encode(r),n=>this.byte_encoder[n]).join(""))}},Mv=Nv,jv=class extends ur{pre_tokenize_text(t,e){return t.match(/\w+|[^\w\s]+/g)||[]}},Lv=jv,Uv=class extends ur{constructor(t){super(),this.replacement=t.replacement??"\u2581",this.str_rep=t.str_rep||this.replacement,this.prepend_scheme=t.prepend_scheme??"always"}pre_tokenize_text(t,e){let{section_index:r=void 0}=e??{},n=t.replaceAll(" ",this.str_rep);return!n.startsWith(this.replacement)&&(this.prepend_scheme==="always"||this.prepend_scheme==="first"&&r===0)&&(n=this.str_rep+n),[n]}},$v=Uv,qv=class extends ur{constructor(t){super(),this.config=t,this.pattern=za(this.config.pattern??{},this.config.invert??!0)}pre_tokenize_text(t){return this.pattern===null?[]:this.config.invert?t.match(this.pattern)||[]:this.config.behavior?.toLowerCase()==="removed"?t.split(this.pattern).filter(e=>e):sv(t,this.pattern)}},zv=qv,Hv=class extends ur{constructor(t){super(),this.config=t,this.pattern=new RegExp(`[^${us}]+|[${us}]+`,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},Wv=Hv,Gv=class extends ur{constructor(t){super(),this.config=t;let e=`[^\\d]+|\\d${this.config.individual_digits?"":"+"}`;this.pattern=new RegExp(e,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},Jv=Gv,Vv=class extends ur{constructor(){super(),this.pattern=new RegExp(`[^\\s${us}]+|[${us}]`,"gu")}pre_tokenize_text(t,e){return t.trim().match(this.pattern)||[]}},Kv=Vv,Yv=class extends ur{constructor(t){super(),this.config=t,this.pattern=za(this.config.pattern??{}),this.content=this.config.content??""}pre_tokenize_text(t){return this.pattern===null?[t]:[t.replaceAll(this.pattern,this.config.content??"")]}},Qv=Yv,Xv=class extends ur{constructor(t){super(),this.tokenizers=(t.pretokenizers??[]).map(e=>d0(e))}pre_tokenize_text(t,e){return this.tokenizers.reduce((r,n)=>n?n.pre_tokenize(r,e):r,[t])}},Zv=Xv,eT=class extends ur{pre_tokenize_text(t){return iv(t)}},tT=eT;function rT(t){if(t===null)return null;switch(t.type){case"BertPreTokenizer":return new Kv;case"Sequence":return new Zv(t);case"Whitespace":return new Lv;case"WhitespaceSplit":return new tT;case"Metaspace":return new $v(t);case"ByteLevel":return new Mv(t);case"Split":return new zv(t);case"Punctuation":return new Wv(t);case"Digits":return new Jv(t);case"Replace":return new Qv(t);default:throw new Error(`Unknown PreTokenizer type: ${t.type}`)}}var d0=rT,nT=class extends cs{constructor(t){super(),this.config=t,this.vocab=[],this.tokens_to_ids=new Map,this.unk_token_id=void 0,this.unk_token=void 0,this.end_of_word_suffix=void 0,this.fuse_unk=this.config.fuse_unk??!1}_call(t){let e=this.encode(t);return this.fuse_unk&&(e=ev(e,this.tokens_to_ids,this.unk_token_id)),e}convert_tokens_to_ids(t){return t.map(e=>this.tokens_to_ids.get(e)??this.unk_token_id)}convert_ids_to_tokens(t){return t.map(e=>this.vocab[Number(e)]??this.unk_token)}},Wa=nT,oT=class extends Wa{constructor(t){super(t),this.max_input_chars_per_word=100,this.tokens_to_ids=kd(t.vocab),this.unk_token_id=this.tokens_to_ids.get(t.unk_token),this.unk_token=t.unk_token,this.max_input_chars_per_word=t.max_input_chars_per_word??100,this.vocab=new Array(this.tokens_to_ids.size);for(let[e,r]of this.tokens_to_ids)this.vocab[r]=e}encode(t){let e=[];for(let r of t){let n=[...r];if(n.length>this.max_input_chars_per_word){e.push(this.unk_token);continue}let o=!1,s=0,a=[];for(;s<n.length;){let c=n.length,l=null;for(;s<c;){let d=n.slice(s,c).join("");if(s>0&&(d=this.config.continuing_subword_prefix+d),this.tokens_to_ids.has(d)){l=d;break}--c}if(l===null){o=!0;break}a.push(l),s=c}o?e.push(this.unk_token):e.push(...a)}return e}},o0=oT,s0=class f0{constructor(e,r){this.is_leaf=e,this.children=r}static default(){return new f0(!1,new Map)}},sT=class{constructor(){this.root=s0.default()}extend(t){for(let e of t)this.push(e)}push(t){let e=this.root;for(let r of t){let n=e.children.get(r);n===void 0&&(n=s0.default(),e.children.set(r,n)),e=n}e.is_leaf=!0}*common_prefix_search(t){let e=this.root;if(e===void 0)return;let r="";for(let n of t){if(r+=n,e=e.children.get(n),e===void 0)return;e.is_leaf&&(yield r)}}},iT=sT,Ad=class h0{constructor(e,r,n,o,s){this.token_id=e,this.node_id=r,this.pos=n,this.length=o,this.score=s,this.prev=null,this.backtrace_score=0}clone(){let e=new h0(this.token_id,this.node_id,this.pos,this.length,this.score);return e.prev=this.prev,e.backtrace_score=this.backtrace_score,e}},aT=class{constructor(t,e,r){this.chars=Array.from(t),this.len=this.chars.length,this.bos_token_id=e,this.eos_token_id=r,this.nodes=[],this.begin_nodes=Array.from({length:this.len+1},()=>[]),this.end_nodes=Array.from({length:this.len+1},()=>[]);let n=new Ad(this.bos_token_id??0,0,0,0,0),o=new Ad(this.eos_token_id??0,1,this.len,0,0);this.nodes.push(n.clone()),this.nodes.push(o.clone()),this.begin_nodes[this.len].push(o),this.end_nodes[0].push(n)}insert(t,e,r,n){let o=this.nodes.length,s=new Ad(n,o,t,e,r);this.begin_nodes[t].push(s),this.end_nodes[t+e].push(s),this.nodes.push(s)}viterbi(){let t=this.len,e=0;for(;e<=t;){if(this.begin_nodes[e].length==0)return[];for(let s of this.begin_nodes[e]){s.prev=null;let a=0,c=null;for(let l of this.end_nodes[e]){let d=l.backtrace_score+s.score;(c===null||d>a)&&(c=l.clone(),a=d)}if(c!==null)s.prev=c,s.backtrace_score=a;else return[]}++e}let r=[],n=this.begin_nodes[t][0].prev;if(n===null)return[];let o=n.clone();for(;o.prev!==null;)r.push(o.clone()),o=o.clone().prev.clone();return r.reverse(),r}piece(t){return this.chars.slice(t.pos,t.pos+t.length).join("")}tokens(){return this.viterbi().map(t=>this.piece(t))}token_ids(){return this.viterbi().map(t=>t.token_id)}},uT=aT;function cT(t){if(t.length===0)throw new Error("Array must not be empty");let e=t[0],r=0;for(let n=1;n<t.length;++n)t[n]<e&&(e=t[n],r=n);return[e,r]}var lT=class extends Wa{constructor(t,e){super(t);let r=t.vocab.length;this.vocab=new Array(r),this.scores=new Array(r);for(let n=0;n<r;++n)[this.vocab[n],this.scores[n]]=t.vocab[n];this.unk_token_id=t.unk_id,this.unk_token=this.vocab[t.unk_id],this.tokens_to_ids=new Map(this.vocab.map((n,o)=>[n,o])),this.bos_token=" ",this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=e,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.unk_token=this.vocab[this.unk_token_id],this.min_score=cT(this.scores)[0],this.unk_score=this.min_score-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new iT,this.trie.extend(this.vocab),this.fuse_unk=!0}populate_nodes(t){let e=t.chars,r=1,n=0;for(;n<e.length;){let o=!1,s=[],a=e.slice(n).join(""),c=this.trie.common_prefix_search(a);for(let l of c){s.push(l);let d=this.tokens_to_ids.get(l),f=this.scores[d],p=nv(l);t.insert(n,p,f,d),!o&&p===r&&(o=!0)}o||t.insert(n,r,this.unk_score,this.unk_token_id),n+=r}}tokenize(t){let e=new uT(t,this.bos_token_id,this.eos_token_id);return this.populate_nodes(e),e.tokens()}encode(t){let e=[];for(let r of t){let n=this.tokenize(r);e.push(...n)}return e}},i0=lT,dT=class{constructor(t=(r,n)=>r>n,e=1/0){this._heap=[],this._comparator=t,this._max_size=e}get size(){return this._heap.length}is_empty(){return this.size===0}peek(){return this._heap[0]}push(...t){return this.extend(t)}extend(t){for(let e of t)if(this.size<this._max_size)this._heap.push(e),this._sift_up();else{let r=this._smallest();this._comparator(e,this._heap[r])&&(this._heap[r]=e,this._sift_up_from(r))}return this.size}pop(){let t=this.peek(),e=this.size-1;return e>0&&this._swap(0,e),this._heap.pop(),this._sift_down(),t}replace(t){let e=this.peek();return this._heap[0]=t,this._sift_down(),e}_parent(t){return(t+1>>>1)-1}_left(t){return(t<<1)+1}_right(t){return t+1<<1}_greater(t,e){return this._comparator(this._heap[t],this._heap[e])}_swap(t,e){let r=this._heap[t];this._heap[t]=this._heap[e],this._heap[e]=r}_sift_up(){this._sift_up_from(this.size-1)}_sift_up_from(t){for(;t>0&&this._greater(t,this._parent(t));)this._swap(t,this._parent(t)),t=this._parent(t)}_sift_down(){let t=0;for(;this._left(t)<this.size&&this._greater(this._left(t),t)||this._right(t)<this.size&&this._greater(this._right(t),t);){let e=this._right(t)<this.size&&this._greater(this._right(t),this._left(t))?this._right(t):this._left(t);this._swap(t,e),t=e}}_smallest(){return 2**Math.floor(Math.log2(this.size))-1}},fT=dT,hT=class{constructor(t){this.capacity=t,this.cache=new Map}get(t){if(!this.cache.has(t))return;let e=this.cache.get(t);return this.cache.delete(t),this.cache.set(t,e),e}put(t,e){this.cache.has(t)&&this.cache.delete(t),this.cache.set(t,e),this.cache.size>this.capacity&&this.cache.delete(this.cache.keys().next().value)}clear(){this.cache.clear()}},pT=hT,mT=class extends Wa{constructor(t){super(t),this.tokens_to_ids=kd(t.vocab),this.unk_token_id=this.tokens_to_ids.get(t.unk_token),this.unk_token=t.unk_token,this.vocab=new Array(this.tokens_to_ids.size);for(let[r,n]of this.tokens_to_ids)this.vocab[n]=r;let e=Array.isArray(t.merges[0]);this.merges=e?t.merges:t.merges.map(r=>r.split(" ",2)),this.bpe_ranks=new Map(this.merges.map((r,n)=>[JSON.stringify(r),n])),this.end_of_word_suffix=t.end_of_word_suffix,this.continuing_subword_suffix=t.continuing_subword_suffix??null,this.byte_fallback=this.config.byte_fallback??!1,this.byte_fallback&&(this.text_encoder=new TextEncoder),this.ignore_merges=this.config.ignore_merges??!1,this.max_length_to_cache=256,this.cache_capacity=1e4,this.cache=new pT(this.cache_capacity)}clear_cache(){this.cache.clear()}bpe(t){if(t.length===0)return[];let e=this.cache.get(t);if(e!==void 0)return e;let r=Array.from(t);this.end_of_word_suffix&&(r[r.length-1]+=this.end_of_word_suffix);let n=[];if(r.length>1){let o=new fT((c,l)=>c.score<l.score),s={token:r[0],bias:0,prev:null,next:null},a=s;for(let c=1;c<r.length;++c){let l={bias:c/r.length,token:r[c],prev:a,next:null};a.next=l,this.add_node(o,a),a=l}for(;!o.is_empty();){let c=o.pop();if(c.deleted||!c.next||c.next.deleted)continue;if(c.deleted=!0,c.next.deleted=!0,c.prev){let d={...c.prev};c.prev.deleted=!0,c.prev=d,d.prev?d.prev.next=d:s=d}let l={token:c.token+c.next.token,bias:c.bias,prev:c.prev,next:c.next.next};l.prev?(l.prev.next=l,this.add_node(o,l.prev)):s=l,l.next&&(l.next.prev=l,this.add_node(o,l))}for(let c=s;c!==null;c=c.next)n.push(c.token)}else n=r;if(this.continuing_subword_suffix)for(let o=0;o<n.length-1;++o)n[o]+=this.continuing_subword_suffix;return t.length<this.max_length_to_cache&&this.cache.put(t,n),n}add_node(t,e){let r=this.bpe_ranks.get(JSON.stringify([e.token,e.next.token]));r!==void 0&&(e.score=r+e.bias,t.push(e))}encode(t){let e=[];for(let r of t){if(this.ignore_merges&&this.tokens_to_ids.has(r)){e.push(r);continue}let n=this.bpe(r);for(let o of n)if(this.tokens_to_ids.has(o))e.push(o);else if(this.byte_fallback){let s=Array.from(this.text_encoder.encode(o)).map(a=>`<0x${a.toString(16).toUpperCase().padStart(2,"0")}>`);s.every(a=>this.tokens_to_ids.has(a))?e.push(...s):e.push(this.unk_token)}else e.push(this.unk_token)}return e}},a0=mT,gT=class extends Wa{constructor(t,e){super(t);let r=t.vocab;this.tokens_to_ids=kd(e.target_lang?r[e.target_lang]:r),this.bos_token=e.bos_token,this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=e.eos_token,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.pad_token=e.pad_token,this.pad_token_id=this.tokens_to_ids.get(this.pad_token),this.unk_token=e.unk_token,this.unk_token_id=this.tokens_to_ids.get(this.unk_token),this.vocab=new Array(this.tokens_to_ids.size);for(let[n,o]of this.tokens_to_ids)this.vocab[o]=n}encode(t){return t}},yT=gT;function _T(t,e){switch(t.type){case"WordPiece":return new o0(t);case"Unigram":return new i0(t,e.eos_token);case"BPE":return new a0(t);default:if(t.vocab)return Array.isArray(t.vocab)?new i0(t,e.eos_token):Object.hasOwn(t,"continuing_subword_prefix")&&Object.hasOwn(t,"unk_token")?Object.hasOwn(t,"merges")?new a0(t):new o0(t):new yT(t,{target_lang:e.target_lang,bos_token:e.bos_token,eos_token:e.eos_token,pad_token:e.pad_token,unk_token:e.unk_token});throw new Error(`Unknown TokenizerModel type: ${t?.type}`)}}var bT=_T,CT=class extends cs{constructor(t){super(),this.config=t}_call(t,...e){return this.post_process(t,...e)}},ls=CT,wT=class extends ls{post_process(t,e=null,r=!0){let n=e===null?this.config.single:this.config.pair,o=[],s=[];for(let a of n)"SpecialToken"in a?r&&(o.push(a.SpecialToken.id),s.push(a.SpecialToken.type_id)):"Sequence"in a&&(a.Sequence.id==="A"?(o=Pt(o,t),s=Pt(s,new Array(t.length).fill(a.Sequence.type_id))):a.Sequence.id==="B"&&(o=Pt(o,e),s=Pt(s,new Array(e.length).fill(a.Sequence.type_id))));return{tokens:o,token_type_ids:s}}},ET=wT,AT=class extends ls{post_process(t,e=null){return{tokens:e?Pt(t,e):t}}},ST=AT,kT=class extends ls{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e=null,r=!0){r&&(t=Pt([this.cls[0]],t,[this.sep[0]]));let n=new Array(t.length).fill(0);if(e){let o=[],s=r?[this.sep[0]]:[];t=Pt(t,o,e,s),n=Pt(n,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:n}}},vT=kT,TT=class extends ls{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e,r=!0){r&&(t=Pt([this.cls[0]],t,[this.sep[0]]));let n=new Array(t.length).fill(0);if(e){let o=r?[this.sep[0]]:[],s=r?[this.sep[0]]:[];t=Pt(t,o,e,s),n=Pt(n,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:n}}},DT=TT,RT=class extends ls{constructor(t){super(t),this.processors=(t.processors??[]).map(e=>p0(e))}post_process(t,e=null,r=!0){let n={tokens:t};for(let o of this.processors)n=o.post_process(n.tokens,e,r);return n}},xT=RT;function OT(t){if(t===null)return null;switch(t.type){case"TemplateProcessing":return new ET(t);case"ByteLevel":return new ST(t);case"BertProcessing":return new vT(t);case"RobertaProcessing":return new DT(t);case"Sequence":return new xT(t);default:throw new Error(`Unknown PostProcessor type: ${t.type}`)}}var p0=OT,FT=class extends cs{constructor(t){super(),this.config=t,this.added_tokens=[],this.end_of_word_suffix=null,this.trim_offsets="trim_offsets"in t?t.trim_offsets:!1}_call(t){return this.decode(t)}decode(t){return this.decode_chain(t).join("")}},cr=FT,PT=class extends cr{constructor(t){super(t),this.byte_decoder=Qk,this.text_decoder=new TextDecoder("utf-8",{fatal:!1,ignoreBOM:!0}),this.end_of_word_suffix=null}convert_tokens_to_string(t){let e=t.join(""),r=new Uint8Array([...e].map(n=>this.byte_decoder[n]));return this.text_decoder.decode(r)}decode_chain(t){let e=[],r=[];for(let n of t)this.added_tokens.find(o=>o.content===n)!==void 0?(r.length>0&&(e.push(this.convert_tokens_to_string(r)),r=[]),e.push(n)):r.push(n);return r.length>0&&e.push(this.convert_tokens_to_string(r)),e}},IT=PT,BT=class extends cr{constructor(t){super(t),this.cleanup=t.cleanup}decode_chain(t){return t.map((e,r)=>{if(r!==0){let n=this.config.prefix;n&&e.startsWith(n)?e=e.replace(n,""):e=" "+e}return this.cleanup&&(e=Sd(e)),e})}},NT=BT,MT=class extends cr{constructor(t){super(t),this.replacement=t.replacement??"\u2581"}decode_chain(t){let e=[];for(let r=0;r<t.length;++r){let n=t[r].replaceAll(this.replacement," ");r==0&&n.startsWith(" ")&&(n=n.substring(1)),e.push(n)}return e}},jT=MT,LT=class extends cr{constructor(t){super(t),this.suffix=t.suffix??""}decode_chain(t){return t.map((e,r)=>e.replaceAll(this.suffix,r===t.length-1?"":" "))}},UT=LT,$T=class extends cr{constructor(t){super(t),this.pad_token=t.pad_token??"",this.word_delimiter_token=t.word_delimiter_token??"",this.cleanup=t.cleanup}convert_tokens_to_string(t){if(t.length===0)return"";let e=[t[0]];for(let n=1;n<t.length;++n)t[n]!==e.at(-1)&&e.push(t[n]);let r=e.filter(n=>n!==this.pad_token).join("");return this.cleanup&&(r=Sd(r).replaceAll(this.word_delimiter_token," ").trim()),r}decode_chain(t){return[this.convert_tokens_to_string(t)]}},qT=$T,zT=class extends cr{constructor(t){super(t),this.decoders=(t.decoders??[]).map(e=>m0(e))}decode_chain(t){return this.decoders.reduce((e,r)=>r.decode_chain(e),t)}},HT=zT,WT=class extends cr{decode_chain(t){let e=za(this.config.pattern),r=this.config.content??"";return e===null?t:t.map(n=>n.replaceAll(e,r))}},GT=WT,JT=class extends cr{decode_chain(t){return[t.join("")]}},VT=JT,KT=class extends cr{constructor(t){super(t),this.content=t.content??"",this.start=t.start??0,this.stop=t.stop??0}decode_chain(t){return t.map(e=>{let r=0;for(let o=0;o<this.start&&e[o]===this.content;++o)r=o+1;let n=e.length;for(let o=0;o<this.stop;++o){let s=e.length-o-1;if(e[s]===this.content){n=s;continue}else break}return e.slice(r,n)})}},YT=KT,QT=class extends cr{constructor(t){super(t),this.text_decoder=new TextDecoder}decode_chain(t){let e=[],r=[];for(let n of t){let o=null;if(n.length===6&&n.startsWith("<0x")&&n.endsWith(">")){let s=parseInt(n.slice(3,5),16);isNaN(s)||(o=s)}if(o!==null)r.push(o);else{if(r.length>0){let s=this.text_decoder.decode(Uint8Array.from(r));e.push(s),r=[]}e.push(n)}}if(r.length>0){let n=this.text_decoder.decode(Uint8Array.from(r));e.push(n),r=[]}return e}},XT=QT;function ZT(t){if(t===null)return null;switch(t.type){case"ByteLevel":return new IT(t);case"WordPiece":return new NT(t);case"Metaspace":return new jT(t);case"BPEDecoder":return new UT(t);case"CTC":return new qT(t);case"Sequence":return new HT(t);case"Replace":return new GT(t);case"Fuse":return new VT(t);case"Strip":return new YT(t);case"ByteFallback":return new XT(t);default:throw new Error(`Unknown Decoder type: ${t.type}`)}}var m0=ZT,eD=class{constructor(t,e){let r=n0(t,"Tokenizer",["model","decoder","post_processor","pre_tokenizer","normalizer"]);if(r)throw new Error(r);let n=n0(e,"Config");if(n)throw new Error(n);this.tokenizer=t,this.config=e,this.normalizer=l0(this.tokenizer.normalizer),this.pre_tokenizer=d0(this.tokenizer.pre_tokenizer),this.model=bT(this.tokenizer.model,this.config),this.post_processor=p0(this.tokenizer.post_processor),this.decoder=m0(this.tokenizer.decoder),this.special_tokens=[],this.all_special_ids=[],this.added_tokens=[],this.tokenizer.added_tokens.forEach(o=>{let s=new Kk(o);this.added_tokens.push(s),this.model.tokens_to_ids.set(s.content,s.id),this.model.vocab[s.id]=s.content,s.special&&(this.special_tokens.push(s.content),this.all_special_ids.push(s.id))}),(this.config.additional_special_tokens??[]).forEach(o=>{this.special_tokens.includes(o)||this.special_tokens.push(o)}),this.decoder&&(this.decoder.added_tokens=this.added_tokens,this.decoder.end_of_word_suffix=this.model.end_of_word_suffix),this.added_tokens_splitter=new Jk(this.added_tokens.map(o=>o.content)),this.added_tokens_map=new Map(this.added_tokens.map(o=>[o.content,o])),this.remove_space=this.config.remove_space,this.clean_up_tokenization_spaces=this.config.clean_up_tokenization_spaces??!0,this.do_lowercase_and_remove_accent=this.config.do_lowercase_and_remove_accent??!1}encode(t,{text_pair:e=null,add_special_tokens:r=!0,return_token_type_ids:n=null}={}){let{tokens:o,token_type_ids:s}=this.tokenize_helper(t,{text_pair:e,add_special_tokens:r}),a=this.model.convert_tokens_to_ids(o),c={ids:a,tokens:o,attention_mask:new Array(a.length).fill(1)};return n&&s&&(c.token_type_ids=s),c}decode(t,e={}){if(!Array.isArray(t)||t.length===0||!rv(t[0]))throw Error("token_ids must be a non-empty array of integers.");let r=this.model.convert_ids_to_tokens(t);e.skip_special_tokens&&(r=r.filter(o=>!this.special_tokens.includes(o)));let n=this.decoder?this.decoder(r):r.join(" ");return this.decoder&&this.decoder.end_of_word_suffix&&(n=n.replaceAll(this.decoder.end_of_word_suffix," "),e.skip_special_tokens&&(n=n.trim())),(e.clean_up_tokenization_spaces??this.clean_up_tokenization_spaces)&&(n=Sd(n)),n}tokenize(t,{text_pair:e=null,add_special_tokens:r=!1}={}){return this.tokenize_helper(t,{text_pair:e,add_special_tokens:r}).tokens}encode_text(t){if(t===null)return null;let e=this.added_tokens_splitter.split(t);return e.forEach((r,n)=>{let o=this.added_tokens_map.get(r);o&&(o.lstrip&&n>0&&(e[n-1]=e[n-1].trimEnd()),o.rstrip&&n<e.length-1&&(e[n+1]=e[n+1].trimStart()))}),e.flatMap((r,n)=>{if(r.length===0)return[];if(this.added_tokens_map.has(r))return[r];if(this.remove_space===!0&&(r=r.trim().split(/\s+/).join(" ")),this.do_lowercase_and_remove_accent&&(r=ov(r)),this.normalizer!==null&&(r=this.normalizer(r)),r.length===0)return[];let o=this.pre_tokenizer!==null?this.pre_tokenizer(r,{section_index:n}):[r];return this.model(o)})}tokenize_helper(t,{text_pair:e=null,add_special_tokens:r=!0}){let n=this.encode_text(t),o=this.encode_text(e||null);return this.post_processor?this.post_processor(n,o,r):{tokens:Pt(n??[],o??[])}}token_to_id(t){return this.model.tokens_to_ids.get(t)}id_to_token(t){return this.model.vocab[t]}get_added_tokens_decoder(){let t=new Map;for(let e of this.added_tokens)t.set(e.id,e);return t}},g0=eD;var Va=class{type="huggingface";name;modelId;logger;options;tokenizer=null;cacheDir;safeModelName;constructor(e,r,n={}){this.modelId=e,this.logger=r,this.options=n,this.cacheDir=n.cacheDir||Ga(tD(),".claude-code-router",".huggingface"),this.safeModelName=e.replace(/\//g,"_").replace(/[^a-zA-Z0-9_-]/g,"_"),this.name=`huggingface-${e.split("/").pop()}`}getCachePaths(){let e=Ga(this.cacheDir,this.safeModelName);return{modelDir:e,tokenizerJson:Ga(e,"tokenizer.json"),tokenizerConfig:Ga(e,"tokenizer_config.json")}}ensureDir(e){vd(e)||rD(e,{recursive:!0})}async loadFromCache(){try{let e=this.getCachePaths();if(!vd(e.tokenizerJson)||!vd(e.tokenizerConfig))return null;let[r,n]=await Promise.all([Ja.readFile(e.tokenizerJson,"utf-8"),Ja.readFile(e.tokenizerConfig,"utf-8")]);return{tokenizerJson:JSON.parse(r),tokenizerConfig:JSON.parse(n)}}catch(e){return this.logger?.warn(`Failed to load from cache: ${e.message}`),null}}async downloadAndCache(){let e=this.getCachePaths(),r={json:`https://huggingface.co/${this.modelId}/resolve/main/tokenizer.json`,config:`https://huggingface.co/${this.modelId}/resolve/main/tokenizer_config.json`};this.logger?.info(`Downloading tokenizer files for ${this.modelId}`);let n=new AbortController,o=setTimeout(()=>n.abort(),this.options.timeout||3e4);try{let[s,a]=await Promise.all([fetch(r.json,{signal:n.signal}),fetch(r.config,{signal:n.signal})]);if(!s.ok)throw new Error(`Failed to fetch tokenizer.json: ${s.statusText}`);let[c,l]=await Promise.all([s.json(),a.ok?a.json():Promise.resolve({})]);return this.ensureDir(e.modelDir),await Promise.all([Ja.writeFile(e.tokenizerJson,JSON.stringify(c,null,2)),Ja.writeFile(e.tokenizerConfig,JSON.stringify(l,null,2))]),{tokenizerJson:c,tokenizerConfig:l}}finally{clearTimeout(o)}}async initialize(){try{this.logger?.info(`Initializing HuggingFace tokenizer: ${this.modelId}`);let e=this.getCachePaths();this.ensureDir(this.cacheDir);let r=await this.loadFromCache()||await this.downloadAndCache();this.tokenizer=new g0(r.tokenizerJson,r.tokenizerConfig),this.logger?.info(`Tokenizer initialized: ${this.name}`)}catch(e){throw this.logger?.error(`Failed to initialize tokenizer: ${e.message}`),new Error(`Failed to initialize HuggingFace tokenizer for ${this.modelId}: ${e.message}`)}}async countTokens(e){if(!this.tokenizer)throw new Error("Tokenizer not initialized");try{let r=this.extractTextFromRequest(e);return this.tokenizer.encode(r).ids.length}catch(r){throw this.logger?.error(`Error counting tokens: ${r.message}`),r}}isInitialized(){return this.tokenizer!==null}encodeText(e){if(!this.tokenizer)throw new Error("Tokenizer not initialized");return this.tokenizer.encode(e).ids}dispose(){this.tokenizer=null}extractTextFromRequest(e){let r=[],{messages:n,system:o,tools:s}=e;if(Array.isArray(n)){for(let a of n)if(typeof a.content=="string")r.push(a.content);else if(Array.isArray(a.content))for(let c of a.content)c.type==="text"&&c.text?r.push(c.text):c.type==="tool_use"&&c.input?r.push(JSON.stringify(c.input)):c.type==="tool_result"&&r.push(typeof c.content=="string"?c.content:JSON.stringify(c.content))}if(typeof o=="string")r.push(o);else if(Array.isArray(o)){for(let a of o)if(a.type==="text"){if(typeof a.text=="string")r.push(a.text);else if(Array.isArray(a.text))for(let c of a.text)c&&r.push(c)}}if(s)for(let a of s)a.name&&r.push(a.name),a.description&&r.push(a.description),a.input_schema&&r.push(JSON.stringify(a.input_schema));return r.join(" ")}};var Ka=class{type="api";name;config;logger;options;constructor(e,r,n={}){if(!e.url||!e.apiKey)throw new Error("API tokenizer requires url and apiKey");this.config={url:e.url,apiKey:e.apiKey,requestFormat:e.requestFormat||"standard",responseField:e.responseField||"token_count",headers:e.headers||{}},this.logger=r,this.options=n;try{let o=new URL(e.url);this.name=`api-${o.hostname}`}catch{this.name=`api-${e.url}`}}async initialize(){try{new URL(this.config.url)}catch{throw new Error(`Invalid API URL: ${this.config.url}`)}}async countTokens(e){try{let r=this.formatRequestBody(e),n={"Content-Type":"application/json",Authorization:`Bearer ${this.config.apiKey}`,...this.config.headers},o=new AbortController,s=setTimeout(()=>o.abort(),this.options.timeout||3e4),a=await fetch(this.config.url,{method:"POST",headers:n,body:JSON.stringify(r),signal:o.signal});if(clearTimeout(s),!a.ok)throw new Error(`API tokenizer request failed: ${a.status} ${a.statusText}`);let c=await a.json();return this.extractTokenCount(c)}catch(r){throw r.name==="AbortError"?new Error("API tokenizer request timed out"):r}}isInitialized(){return!0}dispose(){}formatRequestBody(e){switch(this.config.requestFormat){case"standard":return e;case"openai":return{model:"gpt-3.5-turbo",messages:this.extractMessagesAsOpenAIFormat(e)};case"anthropic":return{messages:e.messages||[],system:e.system,tools:e.tools};case"custom":return{text:this.extractConcatenatedText(e)};default:return e}}extractMessagesAsOpenAIFormat(e){return e.messages?e.messages.map(r=>({role:r.role,content:this.extractTextFromMessage(r)})):[]}extractTextFromMessage(e){return typeof e.content=="string"?e.content:Array.isArray(e.content)?e.content.map(r=>r.type==="text"&&r.text?r.text:r.type==="tool_use"&&r.input?JSON.stringify(r.input):r.type==="tool_result"?typeof r.content=="string"?r.content:JSON.stringify(r.content):"").join(" "):""}extractConcatenatedText(e){let r=[];return e.messages&&e.messages.forEach(n=>{r.push(this.extractTextFromMessage(n))}),typeof e.system=="string"?r.push(e.system):Array.isArray(e.system)&&e.system.forEach(n=>{n.type==="text"&&(typeof n.text=="string"?r.push(n.text):Array.isArray(n.text)&&n.text.forEach(o=>{o&&r.push(o)}))}),e.tools&&e.tools.forEach(n=>{n.name&&r.push(n.name),n.description&&r.push(n.description),n.input_schema&&r.push(JSON.stringify(n.input_schema))}),r.join(" ")}extractTokenCount(e){try{let r=this.config.responseField,n=r.split("."),o=e;for(let s of n){if(o==null)throw new Error(`Field path '${r}' not found in response`);o=o[s]}if(typeof o!="number")throw new Error(`Expected number at field path '${r}', got ${typeof o}`);return o}catch(r){throw this.logger?.error(`Failed to extract token count from API response: ${r.message}. Response: ${JSON.stringify(e)}`),new Error(`Invalid response from API tokenizer: ${r.message}`)}}};var mo=class{tokenizers=new Map;configService;logger;options;fallbackTokenizer;constructor(e,r,n={}){this.configService=e,this.logger=r,this.options={timeout:n.timeout??3e4,...n}}async initialize(){try{this.fallbackTokenizer=new as("cl100k_base"),await this.fallbackTokenizer.initialize(),this.tokenizers.set("fallback",this.fallbackTokenizer),this.logger?.info("TokenizerService initialized successfully")}catch(e){throw this.logger?.error(`TokenizerService initialization error: ${e.message}`),e}}async getTokenizer(e){let r=this.getCacheKey(e);if(this.tokenizers.has(r))return this.tokenizers.get(r);let n;try{switch(e.type){case"tiktoken":n=new as(e.encoding||"cl100k_base");break;case"huggingface":this.logger?.info(`Initializing HuggingFace tokenizer for model: ${e.model}`),n=new Va(e.model,this.logger,{timeout:this.options.timeout});break;case"api":n=new Ka(e,this.logger,{timeout:this.options.timeout});break;default:throw new Error(`Unknown tokenizer type: ${e.type}`)}return this.logger?.info(`Calling initialize() on ${e.type} tokenizer...`),await n.initialize(),this.tokenizers.set(r,n),this.logger?.info(`Tokenizer initialized successfully: ${e.type} (${r})`),n}catch(o){return this.logger?.error(`Failed to initialize ${e.type} tokenizer: ${o.message}`),this.logger?.error(`Error stack: ${o.stack}`),this.fallbackTokenizer||await this.initialize(),this.fallbackTokenizer}}async countTokens(e,r){let n=r?await this.getTokenizer(r):this.fallbackTokenizer;return{tokenCount:await n.countTokens(e),tokenizerUsed:n.name,cached:!1}}getTokenizerConfigForModel(e,r){let o=(this.configService.get("providers")||[]).find(s=>s.name===e);if(o?.tokenizer)return o.tokenizer.models?.[r]?o.tokenizer.models[r]:o.tokenizer.default}dispose(){this.tokenizers.forEach(e=>{try{e.dispose()}catch(r){this.logger?.error(`Error disposing tokenizer: ${r}`)}}),this.tokenizers.clear()}getCacheKey(e){switch(e.type){case"tiktoken":return`tiktoken:${e.encoding||"cl100k_base"}`;case"huggingface":return`hf:${e.model}`;case"api":return`api:${e.url}`;default:return`unknown:${JSON.stringify(e)}`}}};import{get_encoding as oD}from"tiktoken";var Td=class{capacity;cache;constructor(e){this.capacity=e,this.cache=new Map}get(e){if(!this.cache.has(e))return;let r=this.cache.get(e);return this.cache.delete(e),this.cache.set(e,r),r}put(e,r){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.capacity){let n=this.cache.keys().next().value;n!==void 0&&this.cache.delete(n)}this.cache.set(e,r)}values(){return Array.from(this.cache.values())}},Dd=new Td(100);Bn();import{readFile as Pd}from"fs/promises";import{opendir as sD,stat as iD}from"fs/promises";import{join as Id}from"path";import{CLAUDE_PROJECTS_DIR as y0,HOME_DIR as _0}from"@wengine-ai/claude-code-router-shared";var Rd=new Map;function xd(t,e){t&&Rd.set(t,{...e,provider:t,capturedAt:Date.now()})}function Od(t){let e=Rd.get(t);return e?{...e}:void 0}function nD(){return Array.from(Rd.values()).map(t=>({...t}))}Ks();var Tr=oD("cl100k_base"),w0=(t,e,r)=>{let n=0;return Array.isArray(t)&&t.forEach(o=>{typeof o.content=="string"?n+=Tr.encode(o.content).length:Array.isArray(o.content)&&o.content.forEach(s=>{s.type==="text"?n+=Tr.encode(s.text).length:s.type==="tool_use"?n+=Tr.encode(JSON.stringify(s.input)).length:s.type==="tool_result"&&(n+=Tr.encode(typeof s.content=="string"?s.content:JSON.stringify(s.content)).length)})}),typeof e=="string"?n+=Tr.encode(e).length:Array.isArray(e)&&e.forEach(o=>{o.type==="text"&&(typeof o.text=="string"?n+=Tr.encode(o.text).length:Array.isArray(o.text)&&o.text.forEach(s=>{n+=Tr.encode(s||"").length}))}),r&&r.forEach(o=>{o.description&&(n+=Tr.encode(o.name+o.description).length),o.input_schema&&(n+=Tr.encode(JSON.stringify(o.input_schema)).length)}),n},E0=async(t,e)=>{if(t.sessionId){let r=await k0(t.sessionId);if(r){let n=Id(_0,r,"config.json"),o=Id(_0,r,`${t.sessionId}.json`);try{let s=JSON.parse(await Pd(o,"utf8"));if(s&&s.Router)return s.Router}catch{}try{let s=JSON.parse(await Pd(n,"utf8"));if(s&&s.Router)return s.Router}catch{}}}};function Ya(t){let e=t||"";return e.includes(",")&&(e=e.split(",").pop()||e),e.includes("/")&&(e=e.split("/").pop()||e),e.includes(":")&&(e=e.split(":")[0]),e.trim().toLowerCase()}function A0(t){let e=Ya(t),r=e.includes("[1m]")||e.endsWith("[1m"),n=e.replace(/\[1m\]|\[1m$/g,""),o=n.match(/^ccr-(opus|sonnet|haiku)$/i);if(o)return{family:o[1].toLowerCase(),extended:r};let s=n.match(/claude-(?:\d+-\d+-|\d+-)?(sonnet|opus|haiku)(?:-|$)/i)||n.match(/claude-(sonnet|opus|haiku)(?:-|$)/i);return s?{family:s[1].toLowerCase(),extended:r}:{family:null,extended:r}}function aD(t,e){if(!e||!t)return null;let r=Ya(t);if(e[t])return e[t];if(e[r])return e[r];let{family:n}=A0(t);if(n&&e[n])return e[n];for(let[o,s]of Object.entries(e)){let a=Ya(o);if(a&&r.includes(a))return s}return null}function S0(t){return t?(t.input_tokens||0)+(t.cache_read_input_tokens||0)+(t.cache_creation_input_tokens||0):0}function b0(t){if(!t?.includes(","))return null;let[e,...r]=t.split(","),n=e.trim(),o=r.join(",").trim();return!n||!o?null:{providerName:n,routeModel:o}}function nt(t,e,r,n){let o=b0(t);if(!o)return t;let{providerName:s,routeModel:a}=o;if(n&&!r){let f=Do(),p=f.getPromotion(s,a,n,e);if(p){let y=b0(p);if(y){let A=e.find(_=>_.name.toLowerCase()===y.providerName.toLowerCase()),w=A?.models?.find(_=>String(_).toLowerCase()===y.routeModel.toLowerCase());if(A&&w)return`${A.name},${w}`}f.clear(s,a,n)}}if(!r&&!it().isAvailable(s,a))return null;let c=Od(s);if(c){let f=c.limitDaily!==void 0&&c.usedDailyBalance!==void 0&&c.usedDailyBalance>=c.limitDaily,p=c.totalBalance!==void 0&&c.usedBalance!==void 0&&c.usedBalance>=c.totalBalance;if(f||p)return null}let l=e.find(f=>f.name.toLowerCase()===s.toLowerCase()),d=l?.models?.find(f=>String(f).toLowerCase()===a.toLowerCase());return l&&d?`${l.name},${d}`:t}function Vt(t,e,r,n,o){let s=it(),a=[r?.[t],n?.[t]];for(let c of a)if(!(!Array.isArray(c)||c.length===0))for(let l of c){let d=nt(l,e);if(d)return d}return null}function uD(t){return t.body.messages?.some(e=>e.role==="user"&&Array.isArray(e.content)&&e.content.some(r=>r.type==="image"||r.type==="image_url"||Array.isArray(r?.content)&&r.content.some(n=>n.type==="image"||n.type==="image_url")))}function cD(t){let e=Ya(t);return[/claude/i,/gemini/i,/gpt-4o/i,/gpt-4\.1/i,/gpt-4-vision/i,/qwen.*vl/i,/glm-4v/i,/grok.*vision/i,/pixtral/i,/llava/i].some(n=>n.test(e))}function lD(t,e,r,n,o,s,a){let c=r.longContextThreshold||6e4,l=Math.max(e,S0(o)),d=t.modelFamily;if((s||l>2e5)&&r.extendedContext){let A=nt(r.extendedContext,n,!1,"extendedContext");if(A)return t.log.info(`Family: using extended context model (1M+), tokens: ${l}, estimated: ${e}, explicit: ${s}`),{model:A,scenarioType:"extendedContext",isFallback:!1};let w=Vt("extendedContext",n,r.fallback,a,d);if(w)return t.log.info(`Family: using extended context fallback model (1M+), tokens: ${l}, estimated: ${e}, explicit: ${s}`),{model:w,scenarioType:"extendedContext",isFallback:!0};t.log.warn("Family: extendedContext model unavailable (fail pool), skipping")}if(l>c&&(r.longContext||r.fallback?.longContext?.length||a?.longContext?.length)){let A=r.longContext?nt(r.longContext,n,!1,"longContext"):null;if(A)return t.log.info(`Family: using long context model, tokens: ${l}, estimated: ${e}`),{model:A,scenarioType:"longContext",isFallback:!1};let w=Vt("longContext",n,r.fallback,a,d);if(w)return t.log.info(`Family: using long context fallback model, tokens: ${l}, estimated: ${e}`),{model:w,scenarioType:"longContext",isFallback:!0};t.log.warn("Family: no healthy longContext model available, falling through to other scenarios")}if(Array.isArray(t.body.tools)&&t.body.tools.some(A=>A.type?.startsWith("web_search"))&&r.webSearch){let A=nt(r.webSearch,n,!1,"webSearch");if(A)return{model:A,scenarioType:"webSearch",isFallback:!1};let w=Vt("webSearch",n,r.fallback,a,d);if(w)return t.log.info("Family: using webSearch fallback model"),{model:w,scenarioType:"webSearch",isFallback:!0};t.log.warn("Family: webSearch model unavailable (fail pool), skipping")}if(t.body.thinking&&r.think){let A=nt(r.think,n,!1,"think");if(A)return{model:A,scenarioType:"think",isFallback:!1};let w=Vt("think",n,r.fallback,a,d);if(w)return t.log.info("Family: using think fallback model"),{model:w,scenarioType:"think",isFallback:!0};t.log.warn("Family: think model unavailable (fail pool), skipping")}if(r.default){let A=nt(r.default,n,!1,"default");if(A)return{model:A,scenarioType:"default",isFallback:!1};let w=Vt("default",n,r.fallback,a,d);if(w)return t.log.info("Family: using default fallback model"),{model:w,scenarioType:"default",isFallback:!0};t.log.warn("Family: default model unavailable (fail pool), skipping")}return null}var dD=async(t,e,r,n)=>{let o=await E0(t,r),s=r.get("providers")||[],a=o||r.get("Router"),c=r.get("fallback");if(t.body.model.includes(",")){let m=nt(t.body.model,s,!1,"default");if(m)return{model:m,scenarioType:"default"};t.log.warn(`Explicit model ${t.body.model} unavailable (fail pool), trying fallback`);let v=Vt("default",s,void 0,c);if(v)return t.log.info(`Using fallback for explicit model: ${v}`),{model:v,scenarioType:"default"};t.log.warn(`No fallback available for explicit model ${t.body.model}, continuing through routing logic`)}let{family:l,extended:d}=A0(t.body.model),f=a?.families?.[l||""];if(f&&a?.enableFamilyRouting){t.log.info(`Using model family routing for: ${l}${d?" (1M)":""}`),t.modelFamily=l,t.familyFallback=f.fallback;let m=lD(t,e,f,s,n,d,c);if(m)return{model:m.model,scenarioType:m.scenarioType}}let p=aD(t.body.model,a?.models);if(p){let m=nt(p,s,!1,"modelMapping");if(m)return t.log.info(`Using mapped model for ${t.body.model}: ${p}`),{model:m,scenarioType:"modelMapping"};t.log.warn(`Mapped model ${p} unavailable (fail pool), skipping`)}let y=Math.max(e,S0(n)),A=a?.extendedContextThreshold||2e5;if(y>A&&a?.extendedContext){t.log.info(`Using extended context (1M) model due to token count: ${y}, estimated: ${e}, threshold: ${A}`);let m=nt(a.extendedContext,s,!1,"extendedContext");if(m)return{model:m,scenarioType:"extendedContext"};t.log.warn(`Extended context model ${a.extendedContext} unavailable (fail pool), trying fallback`);let v=Vt("extendedContext",s,void 0,c);if(v)return{model:v,scenarioType:"extendedContext"}}let w=a?.longContextThreshold||6e4;if(y>w&&a?.longContext){t.log.info(`Using long context model due to token count: ${y}, estimated: ${e}, threshold: ${w}`);let m=nt(a.longContext,s,!1,"longContext");if(m)return{model:m,scenarioType:"longContext"};t.log.warn(`Long context model ${a.longContext} unavailable (fail pool), trying fallback`);let v=Vt("longContext",s,void 0,c);if(v)return{model:v,scenarioType:"longContext"}}if(t.body?.system?.length>1&&t.body?.system[1]?.text?.startsWith("<CCR-SUBAGENT-MODEL>")){let m=t.body?.system[1].text.match(/<CCR-SUBAGENT-MODEL>(.*?)<\/CCR-SUBAGENT-MODEL>/s);if(m)return t.body.system[1].text=t.body.system[1].text.replace(`<CCR-SUBAGENT-MODEL>${m[1]}</CCR-SUBAGENT-MODEL>`,""),{model:m[1],scenarioType:"default"}}let g=r.get("Router");if(t.body.model?.includes("claude")&&t.body.model?.includes("haiku")&&g?.background){t.log.info(`Using background model for ${t.body.model}`);let m=nt(g.background,s,!1,"background");if(m)return{model:m,scenarioType:"background"};t.log.warn(`Background model ${g.background} unavailable (fail pool), falling through`)}if(Array.isArray(t.body.tools)&&t.body.tools.some(m=>m.type?.startsWith("web_search"))&&a?.webSearch){let m=nt(a.webSearch,s,!1,"webSearch");if(m)return{model:m,scenarioType:"webSearch"};t.log.warn(`WebSearch model ${a.webSearch} unavailable (fail pool), trying fallback`);let v=Vt("webSearch",s,void 0,c);if(v)return{model:v,scenarioType:"webSearch"}}if(t.body.thinking&&a?.think){t.log.info(`Using think model for ${t.body.thinking}`);let m=nt(a.think,s,!1,"think");if(m)return{model:m,scenarioType:"think"};t.log.warn(`Think model ${a.think} unavailable (fail pool), trying fallback`);let v=Vt("think",s,void 0,c);if(v)return{model:v,scenarioType:"think"}}if(a?.default){let m=nt(a.default,s,!1,"default");if(m)return{model:m,scenarioType:"default"};t.log.warn(`Default model ${a.default} unavailable (fail pool), trying fallback`);let v=Vt("default",s,void 0,c);if(v)return{model:v,scenarioType:"default"}}return{model:void 0,scenarioType:"default"}},Bd=async(t,e,r)=>{let{configService:n,event:o}=r;if(t.originalModel=t.body.model,t.body.metadata?.user_id){let A=t.body.metadata.user_id.split("_session_");A.length>1&&(t.sessionId=A[1])}let a=await E0(t,n)||n.get("Router"),c=n.get("providers")||[],l=Dd.get(t.sessionId),{messages:d,system:f=[],tools:p}=t.body,y=n.get("REWRITE_SYSTEM_PROMPT");if(y&&f.length>1&&f[1]?.text?.includes("<env>")){let A=await Pd(y,"utf-8");f[1].text=`${A}<env>${f[1].text.split("<env>").pop()}`}try{let[A,w]=t.body.model.split(","),_=r.tokenizerService?.getTokenizerConfigForModel(A,w),g;r.tokenizerService?g=(await r.tokenizerService.countTokens({messages:d,system:f,tools:p},_)).tokenCount:g=w0(d,f,p),t.tokenCount=g;let m,v=n.get("CUSTOM_ROUTER_PATH");if(v)try{m=await X(v)(t,n.getAll(),{event:o})}catch(b){t.log.error(`failed to load custom router: ${b.message}`)}if(m)t.scenarioType="default";else{let b=await dD(t,g,n,l);m=b.model,t.scenarioType=b.scenarioType}if(a?.image&&m!==a.image&&uD(t)&&!cD(m)){let b=nt(a.image,c,!1,"image");b?(t.log.info(`Using image model fallback for ${m}`),m=b,t.scenarioType="image"):t.log.warn(`Image model ${a.image} unavailable (fail pool), keeping ${m}`)}t.body.model=m}catch(A){t.log.error(`Error in router middleware: ${A.message}`),t.body.model=a?.default,t.scenarioType="default"}},Dr=new Map,C0=1e3;function Fd(){if(Dr.size<=C0)return;let t=[...Dr.keys()].slice(0,Dr.size-C0);for(let e of t)Dr.delete(e)}var k0=async t=>{if(Dr.has(t)){let e=Dr.get(t);return!e||e===""?null:e}try{let e=await sD(y0),r=[];for await(let s of e)s.isDirectory()&&r.push(s.name);let n=r.map(async s=>{let a=Id(y0,s,`${t}.jsonl`);try{return(await iD(a)).isFile()?s:null}catch{return null}}),o=await Promise.all(n);for(let s of o)if(s)return Dr.set(t,s),Fd(),s;return Dr.set(t,""),Fd(),null}catch(e){return console.error("Error searching for project by session:",e),Dr.set(t,""),Fd(),null}};Bn();var Rr=class{async fetchJson(e,r,n,o){if(!r.apiKey)return null;let s={method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${r.apiKey}`},signal:AbortSignal.timeout(n)};if(o)try{let{ProxyAgent:a}=await import("undici");s.dispatcher=new a(new URL(o).toString())}catch{}try{let a=await fetch(e,s);return a.ok?await a.json():null}catch{return null}}hasQuotaData(e){return e.totalBalance!==void 0||e.usedBalance!==void 0||e.remainingBalance!==void 0||e.usedDailyBalance!==void 0||e.limitDaily!==void 0||e.resetTime!==void 0}},Nd=class extends Rr{async queryQuota(e,r,n){let o=await this.fetchJson("https://api.deepseek.com/user/balance",e,r,n),a=(Array.isArray(o?.balance_infos)?o.balance_infos:[]).find(l=>Ee(l?.total_balance)!==void 0);if(!a)return null;let c=Ee(a.total_balance);return c===void 0?null:{totalBalance:c,currency:typeof a.currency=="string"?a.currency:void 0}}},Md=class extends Rr{async queryQuota(e,r,n){let s=(await this.fetchJson("https://openrouter.ai/api/v1/key",e,r,n))?.data;if(!s||typeof s!="object")return null;let a={},c=Ee(s.limit),l=Ee(s.limit_remaining),d=Ee(s.usage),f=Ee(s.usage_daily);return c!==void 0&&(a.totalBalance=c),l!==void 0&&(a.remainingBalance=l),d!==void 0&&(a.usedBalance=d),f!==void 0&&(a.usedDailyBalance=f),this.hasQuotaData(a)?a:null}},jd=class extends Rr{async queryQuota(e,r,n){let o=bD(e.baseUrl),a=(await this.fetchJson(o,e,r,n))?.data;if(!a||typeof a!="object")return null;let c={},l=Ee(a.totalBalance),d=Ee(a.balance);return l!==void 0&&(c.totalBalance=l),d!==void 0&&(c.remainingBalance=d),l!==void 0&&d!==void 0&&(c.usedBalance=Math.max(0,l-d)),this.hasQuotaData(c)?c:null}},Ld=class extends Rr{async queryQuota(e,r,n){if(!e.apiKey)return null;let s={method:"GET",headers:{Accept:"application/json",Authorization:e.apiKey.trim()},signal:AbortSignal.timeout(r)};if(n)try{let{ProxyAgent:a}=await import("undici");s.dispatcher=new a(new URL(n).toString())}catch{}try{let a=await fetch("https://api.z.ai/api/monitor/usage/quota/limit",s);if(!a.ok)return null;let c=await a.json(),l=Array.isArray(c?.data?.limits)?c.data.limits:[],d=null,f=null,p=null;for(let A of l)A.type==="TOKENS_LIMIT"?A.unit===3?d=A:A.unit===6?f=A:d||(d=A):A.type==="TIME_LIMIT"&&(p=A);let y={};if(d){let A=Ee(d.currentValue),w=Ee(d.usage),_=Ee(d.remaining),g=Ee(d.percentage);A!==void 0?y.usedDailyBalance=A:g!==void 0&&(y.usedDailyBalance=g,y.limitDaily=100),w!==void 0?y.limitDaily=w:A!==void 0&&_!==void 0&&(y.limitDaily=A+_),d.nextResetTime&&(y.resetTime=new Date(d.nextResetTime).toISOString())}if(f){let A=Ee(f.currentValue),w=Ee(f.usage),_=Ee(f.remaining),g=Ee(f.percentage);A!==void 0?y.usedBalance=A:g!==void 0&&(y.usedBalance=g,y.totalBalance=100),w!==void 0?y.totalBalance=w:A!==void 0&&_!==void 0&&(y.totalBalance=A+_),f.nextResetTime&&!y.resetTime&&(y.resetTime=new Date(f.nextResetTime).toISOString())}if(p){if(y.usedDailyBalance===void 0){let A=Ee(p.currentValue);A!==void 0&&(y.usedDailyBalance=A)}if(y.limitDaily===void 0){let A=Ee(p.usage),w=Ee(p.currentValue),_=Ee(p.remaining);A!==void 0?y.limitDaily=A:w!==void 0&&_!==void 0&&(y.limitDaily=w+_)}p.nextResetTime&&!y.resetTime&&(y.resetTime=new Date(p.nextResetTime).toISOString())}return this.hasQuotaData(y)?y:null}catch{return null}}},Ud=class extends Rr{async queryQuota(e,r,n){if(!e.quotaToken)return null;let o={method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)",Origin:"https://bailian.console.aliyun.com",Referer:"https://bailian.console.aliyun.com/cn-beijing",Cookie:e.quotaToken},signal:AbortSignal.timeout(r)};if(n)try{let{ProxyAgent:c}=await import("undici");o.dispatcher=new c(new URL(n).toString())}catch{}let s=JSON.stringify({Api:"zeldaEasy.broadscope-bailian.codingPlan.queryCodingPlanInstanceInfoV2",V:"1.0",Data:{queryCodingPlanInstanceInfoRequest:{commodityCode:"sfm_codingplan_public_cn",onlyLatestOne:!0},cornerstoneParam:{feTraceId:`ccr-${Date.now()}`,feURL:"https://bailian.console.aliyun.com/cn-beijing",protocol:"V2",console:"ONE_CONSOLE",productCode:"p_efm",switchAgent:10736808,switchUserType:3,domain:"bailian.console.aliyun.com",consoleSite:"BAILIAN_ALIYUN",userNickName:"",userPrincipalName:"",xsp_lang:"zh-CN"}}}),a=new URLSearchParams({params:s,region:"cn-beijing"}).toString();try{let c=await fetch("https://bailian-cs.console.aliyun.com/data/api.json?action=BroadScopeAspnGateway&product=sfm_bailian&api=zeldaEasy.broadscope-bailian.codingPlan.queryCodingPlanInstanceInfoV2",{...o,body:a});if(!c.ok)return null;let d=(await c.json())?.data?.DataV2?.data?.data?.codingPlanInstanceInfos;if(!Array.isArray(d)||d.length===0)return null;let f=d[0]?.codingPlanQuotaInfo;if(!f)return null;let p={},y=Ee(f.per5HourUsedQuota),A=Ee(f.per5HourTotalQuota);y!==void 0&&(p.usedDailyBalance=y),A!==void 0&&(p.limitDaily=A);let w=Ee(f.perWeekUsedQuota),_=Ee(f.perWeekTotalQuota);return w!==void 0&&(p.usedBalance=w),_!==void 0&&(p.totalBalance=_),this.hasQuotaData(p)?p:null}catch{return null}}},$d=class extends Rr{async queryQuota(e,r,n){let o=e.quotaToken||e.apiKey;if(!o)return null;let s={method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${o.trim()}`},signal:AbortSignal.timeout(r)};if(n)try{let{ProxyAgent:a}=await import("undici");s.dispatcher=new a(new URL(n).toString())}catch{}try{let a=await fetch("https://api.kimi.com/coding/v1/usages",s);if(!a.ok)return null;let c=await a.json(),l={},d=Array.isArray(c?.limits)?c.limits:[];if(d.length>0&&d[0]?.detail){let p=d[0].detail,y=Ee(p.limit),A=Ee(p.remaining),w=p.resetTime;y!==void 0&&A!==void 0&&(l.usedDailyBalance=Math.max(0,y-A),l.limitDaily=y),w&&(l.resetTime=new Date(w).toISOString())}let f=c?.usage;if(f){let p=Ee(f.limit),y=Ee(f.remaining),A=Ee(f.used),w=f.resetTime;p!==void 0&&(l.totalBalance=p,A!==void 0?l.usedBalance=A:y!==void 0&&(l.usedBalance=Math.max(0,p-y),l.remainingBalance=y)),w&&(l.resetTime7d=new Date(w).toISOString(),l.resetTime||(l.resetTime=l.resetTime7d))}return this.hasQuotaData(l)?l:null}catch{return null}}},qd=class extends Rr{async queryQuota(e,r,n){let o=e.quotaToken||e.apiKey;if(!o)return null;let s=Hd(e.baseUrl)||"api.minimaxi.com",a=s.endsWith(".minimax.io")||s==="minimax.io"?"api.minimax.io":"api.minimaxi.com",c={method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${o.trim()}`},signal:AbortSignal.timeout(r)};if(n)try{let{ProxyAgent:l}=await import("undici");c.dispatcher=new l(new URL(n).toString())}catch{}try{let l=await fetch(`https://${a}/v1/api/openplatform/coding_plan/remains`,c);if(!l.ok)return null;let d=await l.json();if(d?.base_resp){let b=d.base_resp.status_code;if(b!==void 0&&b!==0)return null}let f=Array.isArray(d?.model_remains)?d.model_remains:[];if(f.length===0)return null;let p=f[0],y={},A=Ee(p.current_interval_total_count),w=Ee(p.current_interval_usage_count),_=Ee(p.end_time);A!==void 0&&w!==void 0&&(y.usedDailyBalance=Math.max(0,A-w),y.limitDaily=A),_&&(y.resetTime=new Date(_).toISOString());let g=Ee(p.current_weekly_total_count),m=Ee(p.current_weekly_usage_count),v=Ee(p.weekly_end_time);return g!==void 0&&m!==void 0&&(y.usedBalance=Math.max(0,g-m),y.remainingBalance=m,y.totalBalance=g),v&&!y.resetTime&&(y.resetTime=new Date(v).toISOString()),this.hasQuotaData(y)?y:null}catch{return null}}},fD=new Nd,hD=new Md,pD=new jd,mD=new Ld,gD=new Ud,yD=new $d,_D=new qd;function zd(t){let e=Hd(t);return e?e==="kimi.com"||e.endsWith(".kimi.com")||e==="moonshot.cn"||e.endsWith(".moonshot.cn")?yD:e==="minimaxi.com"||e.endsWith(".minimaxi.com")||e==="minimax.io"||e.endsWith(".minimax.io")?_D:e==="deepseek.com"||e.endsWith(".deepseek.com")?fD:e==="openrouter.ai"||e.endsWith(".openrouter.ai")?hD:e==="siliconflow.com"||e.endsWith(".siliconflow.com")||e==="siliconflow.cn"||e.endsWith(".siliconflow.cn")?pD:e==="bigmodel.cn"||e.endsWith(".bigmodel.cn")?mD:e==="dashscope.aliyuncs.com"||e.endsWith(".dashscope.aliyuncs.com")?gD:null:null}function bD(t){let e=Hd(t);return e?.endsWith(".siliconflow.cn")||e==="siliconflow.cn"?"https://api.siliconflow.cn/v1/user/info":"https://api.siliconflow.com/v1/user/info"}function Hd(t){try{return new URL(t).hostname.toLowerCase()}catch{return null}}function Ee(t){if(typeof t=="number")return Number.isFinite(t)?t:void 0;if(typeof t!="string")return;let e=t.trim().replace(/,/g,"");if(!e)return;let r=Number(e);return Number.isFinite(r)?r:void 0}var CD={enabled:!0,quotaProbeIntervalMinutes:10,probeTimeoutMs:15e3,initialDelayMs:5e3,excludeProviders:[]};function wD(t){try{let e=new URL(t),r=e.pathname;return r.endsWith("/v1/messages")?r=r.slice(0,-12):r.endsWith("/messages")?r=r.slice(0,-9):r.endsWith("/v1/chat/completions")?r=r.slice(0,-20):r.endsWith("/chat/completions")&&(r=r.slice(0,-17)),r.endsWith("/v1")||(r=r.endsWith("/")?`${r}v1`:`${r}/v1`),e.pathname=`${r}/models`,e.toString()}catch{return null}}function ED(t){try{let e=new URL(t).hostname.toLowerCase();return e.includes("moonshot")||e.includes("kimi")}catch{return!1}}async function Wd(t,e,r){let n=wD(t.baseUrl);if(!n)return{success:!1,error:"Cannot derive models endpoint from baseUrl"};try{let o={method:"GET",headers:{Authorization:`Bearer ${t.apiKey}`},signal:AbortSignal.timeout(e)};if(r)try{let{ProxyAgent:c}=await import("undici");o.dispatcher=new c(new URL(r).toString())}catch{}let s=await fetch(n,o);if(s.headers&&Ro(t.name,t.baseUrl,s.headers),s.ok)return{success:!0,headers:s.headers};if(s.status===429)return{success:!1,error:`HTTP 429: ${(await s.text().catch(()=>"")).slice(0,100)||"Rate limited"}`,headers:s.headers};if(s.status>=400&&s.status<500)return{success:!0,headers:s.headers};let a=await s.text().catch(()=>"");return{success:!1,error:`HTTP ${s.status}: ${a.slice(0,100)}`,headers:s.headers}}catch(o){return{success:!1,error:o?.message||o?.toString()||"Unknown probe error"}}}var Qa=class{config;quotaProbeTimer;healthProbeTimer;getProviders;getHttpsProxy;logger;running=!1;constructor(e,r,n,o){this.config={...CD,...r},this.getProviders=e,this.getHttpsProxy=n,this.logger=o}start(){!this.config.enabled||this.running||(this.running=!0,setTimeout(()=>{this.running&&(this.runQuotaProbe(),this.runHealthProbe())},this.config.initialDelayMs),this.quotaProbeTimer=setInterval(()=>this.runQuotaProbe(),this.config.quotaProbeIntervalMinutes*60*1e3),this.healthProbeTimer=setInterval(()=>this.runHealthProbe(),300*1e3),this.logger?.info("Active probe service started"))}stop(){this.running=!1,this.quotaProbeTimer&&(clearInterval(this.quotaProbeTimer),this.quotaProbeTimer=void 0),this.healthProbeTimer&&(clearInterval(this.healthProbeTimer),this.healthProbeTimer=void 0),this.logger?.info("Active probe service stopped")}async runQuotaProbe(){let e=this.getProviders().filter(a=>a?.name&&!this.config.excludeProviders.includes(a.name)),r=this.getHttpsProxy?.(),n=it();if(e.length===0)return;let o=[];for(let a of e){let c=zd(a.baseUrl),l=Array.isArray(a.models)?a.models:[];c&&o.push({provider:a.name,models:l,type:"quota-adapter",promise:c.queryQuota(a,this.config.probeTimeoutMs,r).then(d=>{if(d){xd(a.name,d),this.logger?.debug?.(`Stored quota probe result for ${a.name}`);let f=d.limitDaily!==void 0&&d.usedDailyBalance!==void 0&&d.usedDailyBalance>=d.limitDaily,p=d.totalBalance!==void 0&&d.usedBalance!==void 0&&d.usedBalance>=d.totalBalance;if(f||p){let y=f?`Quota exhausted: 5h limit reached (${d.usedDailyBalance}/${d.limitDaily})`:`Quota exhausted: 7d balance depleted (${d.usedBalance}/${d.totalBalance})`;for(let A of l)n.forceOpen(a.name,A,y);this.logger?.warn?.(`${y} for ${a.name}, marked as unhealthy`)}else for(let y of l){let A=n.getState(a.name,y);A&&A.status==="open"&&A.lastError?.includes("Quota exhausted")&&(n.recover(a.name,y),this.logger?.info?.(`Quota recovered for ${a.name} (${y}), marked as healthy`))}}})}),ED(a.baseUrl)&&o.push({provider:a.name,models:l,type:"rate-limit-headers",promise:Wd(a,this.config.probeTimeoutMs,r).then(()=>{})})}if(o.length===0)return;this.logger?.debug?.(`Running quota probe with ${o.length} tasks for ${e.length} providers`);let s=await Promise.allSettled(o.map(a=>a.promise));for(let a=0;a<o.length;a++){let c=s[a];if(c.status==="rejected"){let l=o[a];this.logger?.warn?.(`Quota probe failed for ${l.provider} (${l.type}): ${c.reason}`)}}}async runHealthProbe(){let e=it(),r=this.getProviders().filter(s=>s?.name&&!this.config.excludeProviders.includes(s.name)),n=this.getHttpsProxy?.();if(r.length===0)return;this.logger?.debug?.(`Running health probe for ${r.length} providers`);let o=await Promise.allSettled(r.map(s=>Wd(s,this.config.probeTimeoutMs,n)));for(let s=0;s<r.length;s++){let a=r[s],c=o[s],l=Array.isArray(a.models)?a.models:[];if(c.status==="fulfilled"){let d=c.value;if(d.success){let f=0;for(let p of l){let y=e.getState(a.name,p);if(y&&y.status==="open"&&y.lastError?.includes("Quota exhausted")){this.logger?.debug?.(`Skipping health probe recovery for ${a.name} (${p}) because quota is exhausted`);continue}e.recordSuccess(a.name,p),f++}f>0&&this.logger?.info?.(`Health probe succeeded for ${a.name}`)}else{for(let f of l)e.recordFailure(a.name,f,d.error);this.logger?.warn?.(`Health probe failed for ${a.name}: ${d.error}`)}}else{for(let d of l)e.recordFailure(a.name,d,c.reason?.message||"Probe error");this.logger?.warn?.(`Health probe error for ${a.name}: ${c.reason}`)}}}async probeProviderManually(e){let n=this.getProviders().find(c=>c.name===e);if(!n)return this.logger?.warn?.(`Provider ${e} not found for manual probe`),!1;let o=this.getHttpsProxy?.(),s=await Wd(n,this.config.probeTimeoutMs,o),a=Array.isArray(n.models)?n.models:[];if(s.success)for(let c of a)it().recordSuccess(n.name,c);else for(let c of a)it().recordFailure(n.name,c,s.error);return s.success}},Qr=null;function v0(t,e,r,n){return Qr||(Qr=new Qa(t,e,r,n)),Qr}function Gd(t,e,r,n){let o=v0(t,e,r,n);return o.start(),o}function Jd(){Qr&&Qr.stop()}function AD(){Qr&&(Qr.stop(),Qr=null)}var Vd=class{plugins=new Map;pluginInstances=new Map;registerPlugin(e,r={}){this.pluginInstances.set(e.name,e),this.plugins.set(e.name,{name:e.name,enabled:r.enabled!==!1,options:r})}async enablePlugin(e,r){let n=this.plugins.get(e),o=this.pluginInstances.get(e);if(!n||!o)throw new Error(`Plugin ${e} not found`);n.enabled&&await r.register(o.register,n.options)}async enablePlugins(e){for(let[r,n]of this.plugins)if(n.enabled)try{await this.enablePlugin(r,e)}catch(o){let s=o instanceof Error?o.message:String(o);e.log?.error(`Failed to enable plugin ${r}: ${s}`)}}getPlugins(){return Array.from(this.plugins.values())}getPlugin(e){return this.pluginInstances.get(e)}hasPlugin(e){return this.pluginInstances.has(e)}isPluginEnabled(e){return this.plugins.get(e)?.enabled||!1}setPluginEnabled(e,r){let n=this.plugins.get(e);n&&(n.enabled=r)}removePlugin(e){this.plugins.delete(e),this.pluginInstances.delete(e)}clear(){this.plugins.clear(),this.pluginInstances.clear()}},T0=new Vd;var j0=jr(F0(),1);var go=class extends TransformStream{buffer="";currentEvent={};constructor(){super({transform:(e,r)=>{this.buffer+=e;let n=this.buffer.split(`
|
|
346
|
+
`:case"\r":return!1;default:return new RegExp("^\\p{Cc}|\\p{Cf}|\\p{Co}|\\p{Cs}$","u").test(t)}}clean_text(t){let e=[];for(let r of t){let n=r.charCodeAt(0);n===0||n===65533||this.is_control(r)||(/^\s$/.test(r)?e.push(" "):e.push(r))}return e.join("")}normalize(t){return this.config.clean_text&&(t=this.clean_text(t)),this.config.handle_chinese_chars&&(t=this.tokenize_chinese_chars(t)),this.config.lowercase?(t=t.toLowerCase(),this.config.strip_accents!==!1&&(t=this.strip_accents(t))):this.config.strip_accents&&(t=this.strip_accents(t)),t}},lv=cv,dv=class extends vr{constructor(t){super(t),this.charsmap=t.precompiled_charsmap??null}normalize(t){return t=t.replace(/[\u0001-\u0008\u000B\u000E-\u001F\u007F\u008F\u009F]/gm,""),t=t.replace(/[\u0009\u000A\u000C\u000D\u00A0\u1680\u2000-\u200F\u2028\u2029\u202F\u205F\u2581\u3000\uFEFF\uFFFD]/gm," "),t.includes("\uFF5E")?t=t.split("\uFF5E").map(e=>e.normalize("NFKC")).join("\uFF5E"):t=t.normalize("NFKC"),t}},fv=dv,hv=class extends vr{constructor(t){super(t),this.normalizers=(t.normalizers??[]).map(e=>l0(e))}normalize(t){return this.normalizers.reduce((e,r)=>r?r.normalize(e):e,t)}},pv=hv,mv=class extends vr{normalize(t){let e=za(this.config.pattern??{});return e===null?t:t.replaceAll(e,this.config.content??"")}},gv=mv,yv=class extends vr{constructor(){super(...arguments),this.form="NFC"}normalize(t){return t=t.normalize(this.form),t}},Ha=yv,_v=class extends Ha{constructor(){super(...arguments),this.form="NFC"}},bv=_v,Cv=class extends Ha{constructor(){super(...arguments),this.form="NFD"}},wv=Cv,Ev=class extends Ha{constructor(){super(...arguments),this.form="NFKC"}},Av=Ev,Sv=class extends Ha{constructor(){super(...arguments),this.form="NFKD"}},kv=Sv,vv=class extends vr{normalize(t){return this.config.strip_left&&this.config.strip_right?t=t.trim():(this.config.strip_left&&(t=t.trimStart()),this.config.strip_right&&(t=t.trimEnd())),t}},Tv=vv,Dv=class extends vr{normalize(t){return c0(t)}},Rv=Dv,xv=class extends vr{normalize(t){return t.toLowerCase()}},Ov=xv,Fv=class extends vr{normalize(t){return t=this.config.prepend+t,t}},Pv=Fv;function Iv(t){if(t===null)return null;switch(t.type){case"BertNormalizer":return new lv(t);case"Precompiled":return new fv(t);case"Sequence":return new pv(t);case"Replace":return new gv(t);case"NFC":return new bv(t);case"NFD":return new wv(t);case"NFKC":return new Av(t);case"NFKD":return new kv(t);case"Strip":return new Tv(t);case"StripAccents":return new Rv(t);case"Lowercase":return new Ov(t);case"Prepend":return new Pv(t);default:throw new Error(`Unknown Normalizer type: ${t.type}`)}}var l0=Iv,Bv=class extends cs{pre_tokenize(t,e){return(Array.isArray(t)?t.map(r=>this.pre_tokenize_text(r,e)):this.pre_tokenize_text(t,e)).flat()}_call(t,e){return this.pre_tokenize(t,e)}},ur=Bv,Nv=class extends ur{constructor(t){super(),this.config=t,this.add_prefix_space=this.config.add_prefix_space??!1,this.trim_offsets=this.config.trim_offsets??!1,this.use_regex=this.config.use_regex??!0,this.pattern=new RegExp("'s|'t|'re|'ve|'m|'ll|'d| ?\\p{L}+| ?\\p{N}+| ?[^\\s\\p{L}\\p{N}]+|\\s+(?!\\S)|\\s+","gu"),this.byte_encoder=u0,this.text_encoder=new TextEncoder}pre_tokenize_text(t,e){return this.add_prefix_space&&!t.startsWith(" ")&&(t=" "+t),(this.use_regex?t.match(this.pattern)||[]:[t]).map(r=>Array.from(this.text_encoder.encode(r),n=>this.byte_encoder[n]).join(""))}},Mv=Nv,jv=class extends ur{pre_tokenize_text(t,e){return t.match(/\w+|[^\w\s]+/g)||[]}},Lv=jv,Uv=class extends ur{constructor(t){super(),this.replacement=t.replacement??"\u2581",this.str_rep=t.str_rep||this.replacement,this.prepend_scheme=t.prepend_scheme??"always"}pre_tokenize_text(t,e){let{section_index:r=void 0}=e??{},n=t.replaceAll(" ",this.str_rep);return!n.startsWith(this.replacement)&&(this.prepend_scheme==="always"||this.prepend_scheme==="first"&&r===0)&&(n=this.str_rep+n),[n]}},$v=Uv,qv=class extends ur{constructor(t){super(),this.config=t,this.pattern=za(this.config.pattern??{},this.config.invert??!0)}pre_tokenize_text(t){return this.pattern===null?[]:this.config.invert?t.match(this.pattern)||[]:this.config.behavior?.toLowerCase()==="removed"?t.split(this.pattern).filter(e=>e):sv(t,this.pattern)}},zv=qv,Hv=class extends ur{constructor(t){super(),this.config=t,this.pattern=new RegExp(`[^${us}]+|[${us}]+`,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},Wv=Hv,Gv=class extends ur{constructor(t){super(),this.config=t;let e=`[^\\d]+|\\d${this.config.individual_digits?"":"+"}`;this.pattern=new RegExp(e,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},Jv=Gv,Vv=class extends ur{constructor(){super(),this.pattern=new RegExp(`[^\\s${us}]+|[${us}]`,"gu")}pre_tokenize_text(t,e){return t.trim().match(this.pattern)||[]}},Kv=Vv,Yv=class extends ur{constructor(t){super(),this.config=t,this.pattern=za(this.config.pattern??{}),this.content=this.config.content??""}pre_tokenize_text(t){return this.pattern===null?[t]:[t.replaceAll(this.pattern,this.config.content??"")]}},Qv=Yv,Xv=class extends ur{constructor(t){super(),this.tokenizers=(t.pretokenizers??[]).map(e=>d0(e))}pre_tokenize_text(t,e){return this.tokenizers.reduce((r,n)=>n?n.pre_tokenize(r,e):r,[t])}},Zv=Xv,eT=class extends ur{pre_tokenize_text(t){return iv(t)}},tT=eT;function rT(t){if(t===null)return null;switch(t.type){case"BertPreTokenizer":return new Kv;case"Sequence":return new Zv(t);case"Whitespace":return new Lv;case"WhitespaceSplit":return new tT;case"Metaspace":return new $v(t);case"ByteLevel":return new Mv(t);case"Split":return new zv(t);case"Punctuation":return new Wv(t);case"Digits":return new Jv(t);case"Replace":return new Qv(t);default:throw new Error(`Unknown PreTokenizer type: ${t.type}`)}}var d0=rT,nT=class extends cs{constructor(t){super(),this.config=t,this.vocab=[],this.tokens_to_ids=new Map,this.unk_token_id=void 0,this.unk_token=void 0,this.end_of_word_suffix=void 0,this.fuse_unk=this.config.fuse_unk??!1}_call(t){let e=this.encode(t);return this.fuse_unk&&(e=ev(e,this.tokens_to_ids,this.unk_token_id)),e}convert_tokens_to_ids(t){return t.map(e=>this.tokens_to_ids.get(e)??this.unk_token_id)}convert_ids_to_tokens(t){return t.map(e=>this.vocab[Number(e)]??this.unk_token)}},Wa=nT,oT=class extends Wa{constructor(t){super(t),this.max_input_chars_per_word=100,this.tokens_to_ids=kd(t.vocab),this.unk_token_id=this.tokens_to_ids.get(t.unk_token),this.unk_token=t.unk_token,this.max_input_chars_per_word=t.max_input_chars_per_word??100,this.vocab=new Array(this.tokens_to_ids.size);for(let[e,r]of this.tokens_to_ids)this.vocab[r]=e}encode(t){let e=[];for(let r of t){let n=[...r];if(n.length>this.max_input_chars_per_word){e.push(this.unk_token);continue}let o=!1,s=0,a=[];for(;s<n.length;){let c=n.length,l=null;for(;s<c;){let d=n.slice(s,c).join("");if(s>0&&(d=this.config.continuing_subword_prefix+d),this.tokens_to_ids.has(d)){l=d;break}--c}if(l===null){o=!0;break}a.push(l),s=c}o?e.push(this.unk_token):e.push(...a)}return e}},o0=oT,s0=class f0{constructor(e,r){this.is_leaf=e,this.children=r}static default(){return new f0(!1,new Map)}},sT=class{constructor(){this.root=s0.default()}extend(t){for(let e of t)this.push(e)}push(t){let e=this.root;for(let r of t){let n=e.children.get(r);n===void 0&&(n=s0.default(),e.children.set(r,n)),e=n}e.is_leaf=!0}*common_prefix_search(t){let e=this.root;if(e===void 0)return;let r="";for(let n of t){if(r+=n,e=e.children.get(n),e===void 0)return;e.is_leaf&&(yield r)}}},iT=sT,Ad=class h0{constructor(e,r,n,o,s){this.token_id=e,this.node_id=r,this.pos=n,this.length=o,this.score=s,this.prev=null,this.backtrace_score=0}clone(){let e=new h0(this.token_id,this.node_id,this.pos,this.length,this.score);return e.prev=this.prev,e.backtrace_score=this.backtrace_score,e}},aT=class{constructor(t,e,r){this.chars=Array.from(t),this.len=this.chars.length,this.bos_token_id=e,this.eos_token_id=r,this.nodes=[],this.begin_nodes=Array.from({length:this.len+1},()=>[]),this.end_nodes=Array.from({length:this.len+1},()=>[]);let n=new Ad(this.bos_token_id??0,0,0,0,0),o=new Ad(this.eos_token_id??0,1,this.len,0,0);this.nodes.push(n.clone()),this.nodes.push(o.clone()),this.begin_nodes[this.len].push(o),this.end_nodes[0].push(n)}insert(t,e,r,n){let o=this.nodes.length,s=new Ad(n,o,t,e,r);this.begin_nodes[t].push(s),this.end_nodes[t+e].push(s),this.nodes.push(s)}viterbi(){let t=this.len,e=0;for(;e<=t;){if(this.begin_nodes[e].length==0)return[];for(let s of this.begin_nodes[e]){s.prev=null;let a=0,c=null;for(let l of this.end_nodes[e]){let d=l.backtrace_score+s.score;(c===null||d>a)&&(c=l.clone(),a=d)}if(c!==null)s.prev=c,s.backtrace_score=a;else return[]}++e}let r=[],n=this.begin_nodes[t][0].prev;if(n===null)return[];let o=n.clone();for(;o.prev!==null;)r.push(o.clone()),o=o.clone().prev.clone();return r.reverse(),r}piece(t){return this.chars.slice(t.pos,t.pos+t.length).join("")}tokens(){return this.viterbi().map(t=>this.piece(t))}token_ids(){return this.viterbi().map(t=>t.token_id)}},uT=aT;function cT(t){if(t.length===0)throw new Error("Array must not be empty");let e=t[0],r=0;for(let n=1;n<t.length;++n)t[n]<e&&(e=t[n],r=n);return[e,r]}var lT=class extends Wa{constructor(t,e){super(t);let r=t.vocab.length;this.vocab=new Array(r),this.scores=new Array(r);for(let n=0;n<r;++n)[this.vocab[n],this.scores[n]]=t.vocab[n];this.unk_token_id=t.unk_id,this.unk_token=this.vocab[t.unk_id],this.tokens_to_ids=new Map(this.vocab.map((n,o)=>[n,o])),this.bos_token=" ",this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=e,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.unk_token=this.vocab[this.unk_token_id],this.min_score=cT(this.scores)[0],this.unk_score=this.min_score-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new iT,this.trie.extend(this.vocab),this.fuse_unk=!0}populate_nodes(t){let e=t.chars,r=1,n=0;for(;n<e.length;){let o=!1,s=[],a=e.slice(n).join(""),c=this.trie.common_prefix_search(a);for(let l of c){s.push(l);let d=this.tokens_to_ids.get(l),f=this.scores[d],p=nv(l);t.insert(n,p,f,d),!o&&p===r&&(o=!0)}o||t.insert(n,r,this.unk_score,this.unk_token_id),n+=r}}tokenize(t){let e=new uT(t,this.bos_token_id,this.eos_token_id);return this.populate_nodes(e),e.tokens()}encode(t){let e=[];for(let r of t){let n=this.tokenize(r);e.push(...n)}return e}},i0=lT,dT=class{constructor(t=(r,n)=>r>n,e=1/0){this._heap=[],this._comparator=t,this._max_size=e}get size(){return this._heap.length}is_empty(){return this.size===0}peek(){return this._heap[0]}push(...t){return this.extend(t)}extend(t){for(let e of t)if(this.size<this._max_size)this._heap.push(e),this._sift_up();else{let r=this._smallest();this._comparator(e,this._heap[r])&&(this._heap[r]=e,this._sift_up_from(r))}return this.size}pop(){let t=this.peek(),e=this.size-1;return e>0&&this._swap(0,e),this._heap.pop(),this._sift_down(),t}replace(t){let e=this.peek();return this._heap[0]=t,this._sift_down(),e}_parent(t){return(t+1>>>1)-1}_left(t){return(t<<1)+1}_right(t){return t+1<<1}_greater(t,e){return this._comparator(this._heap[t],this._heap[e])}_swap(t,e){let r=this._heap[t];this._heap[t]=this._heap[e],this._heap[e]=r}_sift_up(){this._sift_up_from(this.size-1)}_sift_up_from(t){for(;t>0&&this._greater(t,this._parent(t));)this._swap(t,this._parent(t)),t=this._parent(t)}_sift_down(){let t=0;for(;this._left(t)<this.size&&this._greater(this._left(t),t)||this._right(t)<this.size&&this._greater(this._right(t),t);){let e=this._right(t)<this.size&&this._greater(this._right(t),this._left(t))?this._right(t):this._left(t);this._swap(t,e),t=e}}_smallest(){return 2**Math.floor(Math.log2(this.size))-1}},fT=dT,hT=class{constructor(t){this.capacity=t,this.cache=new Map}get(t){if(!this.cache.has(t))return;let e=this.cache.get(t);return this.cache.delete(t),this.cache.set(t,e),e}put(t,e){this.cache.has(t)&&this.cache.delete(t),this.cache.set(t,e),this.cache.size>this.capacity&&this.cache.delete(this.cache.keys().next().value)}clear(){this.cache.clear()}},pT=hT,mT=class extends Wa{constructor(t){super(t),this.tokens_to_ids=kd(t.vocab),this.unk_token_id=this.tokens_to_ids.get(t.unk_token),this.unk_token=t.unk_token,this.vocab=new Array(this.tokens_to_ids.size);for(let[r,n]of this.tokens_to_ids)this.vocab[n]=r;let e=Array.isArray(t.merges[0]);this.merges=e?t.merges:t.merges.map(r=>r.split(" ",2)),this.bpe_ranks=new Map(this.merges.map((r,n)=>[JSON.stringify(r),n])),this.end_of_word_suffix=t.end_of_word_suffix,this.continuing_subword_suffix=t.continuing_subword_suffix??null,this.byte_fallback=this.config.byte_fallback??!1,this.byte_fallback&&(this.text_encoder=new TextEncoder),this.ignore_merges=this.config.ignore_merges??!1,this.max_length_to_cache=256,this.cache_capacity=1e4,this.cache=new pT(this.cache_capacity)}clear_cache(){this.cache.clear()}bpe(t){if(t.length===0)return[];let e=this.cache.get(t);if(e!==void 0)return e;let r=Array.from(t);this.end_of_word_suffix&&(r[r.length-1]+=this.end_of_word_suffix);let n=[];if(r.length>1){let o=new fT((c,l)=>c.score<l.score),s={token:r[0],bias:0,prev:null,next:null},a=s;for(let c=1;c<r.length;++c){let l={bias:c/r.length,token:r[c],prev:a,next:null};a.next=l,this.add_node(o,a),a=l}for(;!o.is_empty();){let c=o.pop();if(c.deleted||!c.next||c.next.deleted)continue;if(c.deleted=!0,c.next.deleted=!0,c.prev){let d={...c.prev};c.prev.deleted=!0,c.prev=d,d.prev?d.prev.next=d:s=d}let l={token:c.token+c.next.token,bias:c.bias,prev:c.prev,next:c.next.next};l.prev?(l.prev.next=l,this.add_node(o,l.prev)):s=l,l.next&&(l.next.prev=l,this.add_node(o,l))}for(let c=s;c!==null;c=c.next)n.push(c.token)}else n=r;if(this.continuing_subword_suffix)for(let o=0;o<n.length-1;++o)n[o]+=this.continuing_subword_suffix;return t.length<this.max_length_to_cache&&this.cache.put(t,n),n}add_node(t,e){let r=this.bpe_ranks.get(JSON.stringify([e.token,e.next.token]));r!==void 0&&(e.score=r+e.bias,t.push(e))}encode(t){let e=[];for(let r of t){if(this.ignore_merges&&this.tokens_to_ids.has(r)){e.push(r);continue}let n=this.bpe(r);for(let o of n)if(this.tokens_to_ids.has(o))e.push(o);else if(this.byte_fallback){let s=Array.from(this.text_encoder.encode(o)).map(a=>`<0x${a.toString(16).toUpperCase().padStart(2,"0")}>`);s.every(a=>this.tokens_to_ids.has(a))?e.push(...s):e.push(this.unk_token)}else e.push(this.unk_token)}return e}},a0=mT,gT=class extends Wa{constructor(t,e){super(t);let r=t.vocab;this.tokens_to_ids=kd(e.target_lang?r[e.target_lang]:r),this.bos_token=e.bos_token,this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=e.eos_token,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.pad_token=e.pad_token,this.pad_token_id=this.tokens_to_ids.get(this.pad_token),this.unk_token=e.unk_token,this.unk_token_id=this.tokens_to_ids.get(this.unk_token),this.vocab=new Array(this.tokens_to_ids.size);for(let[n,o]of this.tokens_to_ids)this.vocab[o]=n}encode(t){return t}},yT=gT;function _T(t,e){switch(t.type){case"WordPiece":return new o0(t);case"Unigram":return new i0(t,e.eos_token);case"BPE":return new a0(t);default:if(t.vocab)return Array.isArray(t.vocab)?new i0(t,e.eos_token):Object.hasOwn(t,"continuing_subword_prefix")&&Object.hasOwn(t,"unk_token")?Object.hasOwn(t,"merges")?new a0(t):new o0(t):new yT(t,{target_lang:e.target_lang,bos_token:e.bos_token,eos_token:e.eos_token,pad_token:e.pad_token,unk_token:e.unk_token});throw new Error(`Unknown TokenizerModel type: ${t?.type}`)}}var bT=_T,CT=class extends cs{constructor(t){super(),this.config=t}_call(t,...e){return this.post_process(t,...e)}},ls=CT,wT=class extends ls{post_process(t,e=null,r=!0){let n=e===null?this.config.single:this.config.pair,o=[],s=[];for(let a of n)"SpecialToken"in a?r&&(o.push(a.SpecialToken.id),s.push(a.SpecialToken.type_id)):"Sequence"in a&&(a.Sequence.id==="A"?(o=Pt(o,t),s=Pt(s,new Array(t.length).fill(a.Sequence.type_id))):a.Sequence.id==="B"&&(o=Pt(o,e),s=Pt(s,new Array(e.length).fill(a.Sequence.type_id))));return{tokens:o,token_type_ids:s}}},ET=wT,AT=class extends ls{post_process(t,e=null){return{tokens:e?Pt(t,e):t}}},ST=AT,kT=class extends ls{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e=null,r=!0){r&&(t=Pt([this.cls[0]],t,[this.sep[0]]));let n=new Array(t.length).fill(0);if(e){let o=[],s=r?[this.sep[0]]:[];t=Pt(t,o,e,s),n=Pt(n,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:n}}},vT=kT,TT=class extends ls{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e,r=!0){r&&(t=Pt([this.cls[0]],t,[this.sep[0]]));let n=new Array(t.length).fill(0);if(e){let o=r?[this.sep[0]]:[],s=r?[this.sep[0]]:[];t=Pt(t,o,e,s),n=Pt(n,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:n}}},DT=TT,RT=class extends ls{constructor(t){super(t),this.processors=(t.processors??[]).map(e=>p0(e))}post_process(t,e=null,r=!0){let n={tokens:t};for(let o of this.processors)n=o.post_process(n.tokens,e,r);return n}},xT=RT;function OT(t){if(t===null)return null;switch(t.type){case"TemplateProcessing":return new ET(t);case"ByteLevel":return new ST(t);case"BertProcessing":return new vT(t);case"RobertaProcessing":return new DT(t);case"Sequence":return new xT(t);default:throw new Error(`Unknown PostProcessor type: ${t.type}`)}}var p0=OT,FT=class extends cs{constructor(t){super(),this.config=t,this.added_tokens=[],this.end_of_word_suffix=null,this.trim_offsets="trim_offsets"in t?t.trim_offsets:!1}_call(t){return this.decode(t)}decode(t){return this.decode_chain(t).join("")}},cr=FT,PT=class extends cr{constructor(t){super(t),this.byte_decoder=Qk,this.text_decoder=new TextDecoder("utf-8",{fatal:!1,ignoreBOM:!0}),this.end_of_word_suffix=null}convert_tokens_to_string(t){let e=t.join(""),r=new Uint8Array([...e].map(n=>this.byte_decoder[n]));return this.text_decoder.decode(r)}decode_chain(t){let e=[],r=[];for(let n of t)this.added_tokens.find(o=>o.content===n)!==void 0?(r.length>0&&(e.push(this.convert_tokens_to_string(r)),r=[]),e.push(n)):r.push(n);return r.length>0&&e.push(this.convert_tokens_to_string(r)),e}},IT=PT,BT=class extends cr{constructor(t){super(t),this.cleanup=t.cleanup}decode_chain(t){return t.map((e,r)=>{if(r!==0){let n=this.config.prefix;n&&e.startsWith(n)?e=e.replace(n,""):e=" "+e}return this.cleanup&&(e=Sd(e)),e})}},NT=BT,MT=class extends cr{constructor(t){super(t),this.replacement=t.replacement??"\u2581"}decode_chain(t){let e=[];for(let r=0;r<t.length;++r){let n=t[r].replaceAll(this.replacement," ");r==0&&n.startsWith(" ")&&(n=n.substring(1)),e.push(n)}return e}},jT=MT,LT=class extends cr{constructor(t){super(t),this.suffix=t.suffix??""}decode_chain(t){return t.map((e,r)=>e.replaceAll(this.suffix,r===t.length-1?"":" "))}},UT=LT,$T=class extends cr{constructor(t){super(t),this.pad_token=t.pad_token??"",this.word_delimiter_token=t.word_delimiter_token??"",this.cleanup=t.cleanup}convert_tokens_to_string(t){if(t.length===0)return"";let e=[t[0]];for(let n=1;n<t.length;++n)t[n]!==e.at(-1)&&e.push(t[n]);let r=e.filter(n=>n!==this.pad_token).join("");return this.cleanup&&(r=Sd(r).replaceAll(this.word_delimiter_token," ").trim()),r}decode_chain(t){return[this.convert_tokens_to_string(t)]}},qT=$T,zT=class extends cr{constructor(t){super(t),this.decoders=(t.decoders??[]).map(e=>m0(e))}decode_chain(t){return this.decoders.reduce((e,r)=>r.decode_chain(e),t)}},HT=zT,WT=class extends cr{decode_chain(t){let e=za(this.config.pattern),r=this.config.content??"";return e===null?t:t.map(n=>n.replaceAll(e,r))}},GT=WT,JT=class extends cr{decode_chain(t){return[t.join("")]}},VT=JT,KT=class extends cr{constructor(t){super(t),this.content=t.content??"",this.start=t.start??0,this.stop=t.stop??0}decode_chain(t){return t.map(e=>{let r=0;for(let o=0;o<this.start&&e[o]===this.content;++o)r=o+1;let n=e.length;for(let o=0;o<this.stop;++o){let s=e.length-o-1;if(e[s]===this.content){n=s;continue}else break}return e.slice(r,n)})}},YT=KT,QT=class extends cr{constructor(t){super(t),this.text_decoder=new TextDecoder}decode_chain(t){let e=[],r=[];for(let n of t){let o=null;if(n.length===6&&n.startsWith("<0x")&&n.endsWith(">")){let s=parseInt(n.slice(3,5),16);isNaN(s)||(o=s)}if(o!==null)r.push(o);else{if(r.length>0){let s=this.text_decoder.decode(Uint8Array.from(r));e.push(s),r=[]}e.push(n)}}if(r.length>0){let n=this.text_decoder.decode(Uint8Array.from(r));e.push(n),r=[]}return e}},XT=QT;function ZT(t){if(t===null)return null;switch(t.type){case"ByteLevel":return new IT(t);case"WordPiece":return new NT(t);case"Metaspace":return new jT(t);case"BPEDecoder":return new UT(t);case"CTC":return new qT(t);case"Sequence":return new HT(t);case"Replace":return new GT(t);case"Fuse":return new VT(t);case"Strip":return new YT(t);case"ByteFallback":return new XT(t);default:throw new Error(`Unknown Decoder type: ${t.type}`)}}var m0=ZT,eD=class{constructor(t,e){let r=n0(t,"Tokenizer",["model","decoder","post_processor","pre_tokenizer","normalizer"]);if(r)throw new Error(r);let n=n0(e,"Config");if(n)throw new Error(n);this.tokenizer=t,this.config=e,this.normalizer=l0(this.tokenizer.normalizer),this.pre_tokenizer=d0(this.tokenizer.pre_tokenizer),this.model=bT(this.tokenizer.model,this.config),this.post_processor=p0(this.tokenizer.post_processor),this.decoder=m0(this.tokenizer.decoder),this.special_tokens=[],this.all_special_ids=[],this.added_tokens=[],this.tokenizer.added_tokens.forEach(o=>{let s=new Kk(o);this.added_tokens.push(s),this.model.tokens_to_ids.set(s.content,s.id),this.model.vocab[s.id]=s.content,s.special&&(this.special_tokens.push(s.content),this.all_special_ids.push(s.id))}),(this.config.additional_special_tokens??[]).forEach(o=>{this.special_tokens.includes(o)||this.special_tokens.push(o)}),this.decoder&&(this.decoder.added_tokens=this.added_tokens,this.decoder.end_of_word_suffix=this.model.end_of_word_suffix),this.added_tokens_splitter=new Jk(this.added_tokens.map(o=>o.content)),this.added_tokens_map=new Map(this.added_tokens.map(o=>[o.content,o])),this.remove_space=this.config.remove_space,this.clean_up_tokenization_spaces=this.config.clean_up_tokenization_spaces??!0,this.do_lowercase_and_remove_accent=this.config.do_lowercase_and_remove_accent??!1}encode(t,{text_pair:e=null,add_special_tokens:r=!0,return_token_type_ids:n=null}={}){let{tokens:o,token_type_ids:s}=this.tokenize_helper(t,{text_pair:e,add_special_tokens:r}),a=this.model.convert_tokens_to_ids(o),c={ids:a,tokens:o,attention_mask:new Array(a.length).fill(1)};return n&&s&&(c.token_type_ids=s),c}decode(t,e={}){if(!Array.isArray(t)||t.length===0||!rv(t[0]))throw Error("token_ids must be a non-empty array of integers.");let r=this.model.convert_ids_to_tokens(t);e.skip_special_tokens&&(r=r.filter(o=>!this.special_tokens.includes(o)));let n=this.decoder?this.decoder(r):r.join(" ");return this.decoder&&this.decoder.end_of_word_suffix&&(n=n.replaceAll(this.decoder.end_of_word_suffix," "),e.skip_special_tokens&&(n=n.trim())),(e.clean_up_tokenization_spaces??this.clean_up_tokenization_spaces)&&(n=Sd(n)),n}tokenize(t,{text_pair:e=null,add_special_tokens:r=!1}={}){return this.tokenize_helper(t,{text_pair:e,add_special_tokens:r}).tokens}encode_text(t){if(t===null)return null;let e=this.added_tokens_splitter.split(t);return e.forEach((r,n)=>{let o=this.added_tokens_map.get(r);o&&(o.lstrip&&n>0&&(e[n-1]=e[n-1].trimEnd()),o.rstrip&&n<e.length-1&&(e[n+1]=e[n+1].trimStart()))}),e.flatMap((r,n)=>{if(r.length===0)return[];if(this.added_tokens_map.has(r))return[r];if(this.remove_space===!0&&(r=r.trim().split(/\s+/).join(" ")),this.do_lowercase_and_remove_accent&&(r=ov(r)),this.normalizer!==null&&(r=this.normalizer(r)),r.length===0)return[];let o=this.pre_tokenizer!==null?this.pre_tokenizer(r,{section_index:n}):[r];return this.model(o)})}tokenize_helper(t,{text_pair:e=null,add_special_tokens:r=!0}){let n=this.encode_text(t),o=this.encode_text(e||null);return this.post_processor?this.post_processor(n,o,r):{tokens:Pt(n??[],o??[])}}token_to_id(t){return this.model.tokens_to_ids.get(t)}id_to_token(t){return this.model.vocab[t]}get_added_tokens_decoder(){let t=new Map;for(let e of this.added_tokens)t.set(e.id,e);return t}},g0=eD;var Va=class{type="huggingface";name;modelId;logger;options;tokenizer=null;cacheDir;safeModelName;constructor(e,r,n={}){this.modelId=e,this.logger=r,this.options=n,this.cacheDir=n.cacheDir||Ga(tD(),".claude-code-router",".huggingface"),this.safeModelName=e.replace(/\//g,"_").replace(/[^a-zA-Z0-9_-]/g,"_"),this.name=`huggingface-${e.split("/").pop()}`}getCachePaths(){let e=Ga(this.cacheDir,this.safeModelName);return{modelDir:e,tokenizerJson:Ga(e,"tokenizer.json"),tokenizerConfig:Ga(e,"tokenizer_config.json")}}ensureDir(e){vd(e)||rD(e,{recursive:!0})}async loadFromCache(){try{let e=this.getCachePaths();if(!vd(e.tokenizerJson)||!vd(e.tokenizerConfig))return null;let[r,n]=await Promise.all([Ja.readFile(e.tokenizerJson,"utf-8"),Ja.readFile(e.tokenizerConfig,"utf-8")]);return{tokenizerJson:JSON.parse(r),tokenizerConfig:JSON.parse(n)}}catch(e){return this.logger?.warn(`Failed to load from cache: ${e.message}`),null}}async downloadAndCache(){let e=this.getCachePaths(),r={json:`https://huggingface.co/${this.modelId}/resolve/main/tokenizer.json`,config:`https://huggingface.co/${this.modelId}/resolve/main/tokenizer_config.json`};this.logger?.info(`Downloading tokenizer files for ${this.modelId}`);let n=new AbortController,o=setTimeout(()=>n.abort(),this.options.timeout||3e4);try{let[s,a]=await Promise.all([fetch(r.json,{signal:n.signal}),fetch(r.config,{signal:n.signal})]);if(!s.ok)throw new Error(`Failed to fetch tokenizer.json: ${s.statusText}`);let[c,l]=await Promise.all([s.json(),a.ok?a.json():Promise.resolve({})]);return this.ensureDir(e.modelDir),await Promise.all([Ja.writeFile(e.tokenizerJson,JSON.stringify(c,null,2)),Ja.writeFile(e.tokenizerConfig,JSON.stringify(l,null,2))]),{tokenizerJson:c,tokenizerConfig:l}}finally{clearTimeout(o)}}async initialize(){try{this.logger?.info(`Initializing HuggingFace tokenizer: ${this.modelId}`);let e=this.getCachePaths();this.ensureDir(this.cacheDir);let r=await this.loadFromCache()||await this.downloadAndCache();this.tokenizer=new g0(r.tokenizerJson,r.tokenizerConfig),this.logger?.info(`Tokenizer initialized: ${this.name}`)}catch(e){throw this.logger?.error(`Failed to initialize tokenizer: ${e.message}`),new Error(`Failed to initialize HuggingFace tokenizer for ${this.modelId}: ${e.message}`)}}async countTokens(e){if(!this.tokenizer)throw new Error("Tokenizer not initialized");try{let r=this.extractTextFromRequest(e);return this.tokenizer.encode(r).ids.length}catch(r){throw this.logger?.error(`Error counting tokens: ${r.message}`),r}}isInitialized(){return this.tokenizer!==null}encodeText(e){if(!this.tokenizer)throw new Error("Tokenizer not initialized");return this.tokenizer.encode(e).ids}dispose(){this.tokenizer=null}extractTextFromRequest(e){let r=[],{messages:n,system:o,tools:s}=e;if(Array.isArray(n)){for(let a of n)if(typeof a.content=="string")r.push(a.content);else if(Array.isArray(a.content))for(let c of a.content)c.type==="text"&&c.text?r.push(c.text):c.type==="tool_use"&&c.input?r.push(JSON.stringify(c.input)):c.type==="tool_result"&&r.push(typeof c.content=="string"?c.content:JSON.stringify(c.content))}if(typeof o=="string")r.push(o);else if(Array.isArray(o)){for(let a of o)if(a.type==="text"){if(typeof a.text=="string")r.push(a.text);else if(Array.isArray(a.text))for(let c of a.text)c&&r.push(c)}}if(s)for(let a of s)a.name&&r.push(a.name),a.description&&r.push(a.description),a.input_schema&&r.push(JSON.stringify(a.input_schema));return r.join(" ")}};var Ka=class{type="api";name;config;logger;options;constructor(e,r,n={}){if(!e.url||!e.apiKey)throw new Error("API tokenizer requires url and apiKey");this.config={url:e.url,apiKey:e.apiKey,requestFormat:e.requestFormat||"standard",responseField:e.responseField||"token_count",headers:e.headers||{}},this.logger=r,this.options=n;try{let o=new URL(e.url);this.name=`api-${o.hostname}`}catch{this.name=`api-${e.url}`}}async initialize(){try{new URL(this.config.url)}catch{throw new Error(`Invalid API URL: ${this.config.url}`)}}async countTokens(e){try{let r=this.formatRequestBody(e),n={"Content-Type":"application/json",Authorization:`Bearer ${this.config.apiKey}`,...this.config.headers},o=new AbortController,s=setTimeout(()=>o.abort(),this.options.timeout||3e4),a=await fetch(this.config.url,{method:"POST",headers:n,body:JSON.stringify(r),signal:o.signal});if(clearTimeout(s),!a.ok)throw new Error(`API tokenizer request failed: ${a.status} ${a.statusText}`);let c=await a.json();return this.extractTokenCount(c)}catch(r){throw r.name==="AbortError"?new Error("API tokenizer request timed out"):r}}isInitialized(){return!0}dispose(){}formatRequestBody(e){switch(this.config.requestFormat){case"standard":return e;case"openai":return{model:"gpt-3.5-turbo",messages:this.extractMessagesAsOpenAIFormat(e)};case"anthropic":return{messages:e.messages||[],system:e.system,tools:e.tools};case"custom":return{text:this.extractConcatenatedText(e)};default:return e}}extractMessagesAsOpenAIFormat(e){return e.messages?e.messages.map(r=>({role:r.role,content:this.extractTextFromMessage(r)})):[]}extractTextFromMessage(e){return typeof e.content=="string"?e.content:Array.isArray(e.content)?e.content.map(r=>r.type==="text"&&r.text?r.text:r.type==="tool_use"&&r.input?JSON.stringify(r.input):r.type==="tool_result"?typeof r.content=="string"?r.content:JSON.stringify(r.content):"").join(" "):""}extractConcatenatedText(e){let r=[];return e.messages&&e.messages.forEach(n=>{r.push(this.extractTextFromMessage(n))}),typeof e.system=="string"?r.push(e.system):Array.isArray(e.system)&&e.system.forEach(n=>{n.type==="text"&&(typeof n.text=="string"?r.push(n.text):Array.isArray(n.text)&&n.text.forEach(o=>{o&&r.push(o)}))}),e.tools&&e.tools.forEach(n=>{n.name&&r.push(n.name),n.description&&r.push(n.description),n.input_schema&&r.push(JSON.stringify(n.input_schema))}),r.join(" ")}extractTokenCount(e){try{let r=this.config.responseField,n=r.split("."),o=e;for(let s of n){if(o==null)throw new Error(`Field path '${r}' not found in response`);o=o[s]}if(typeof o!="number")throw new Error(`Expected number at field path '${r}', got ${typeof o}`);return o}catch(r){throw this.logger?.error(`Failed to extract token count from API response: ${r.message}. Response: ${JSON.stringify(e)}`),new Error(`Invalid response from API tokenizer: ${r.message}`)}}};var mo=class{tokenizers=new Map;configService;logger;options;fallbackTokenizer;constructor(e,r,n={}){this.configService=e,this.logger=r,this.options={timeout:n.timeout??3e4,...n}}async initialize(){try{this.fallbackTokenizer=new as("cl100k_base"),await this.fallbackTokenizer.initialize(),this.tokenizers.set("fallback",this.fallbackTokenizer),this.logger?.info("TokenizerService initialized successfully")}catch(e){throw this.logger?.error(`TokenizerService initialization error: ${e.message}`),e}}async getTokenizer(e){let r=this.getCacheKey(e);if(this.tokenizers.has(r))return this.tokenizers.get(r);let n;try{switch(e.type){case"tiktoken":n=new as(e.encoding||"cl100k_base");break;case"huggingface":this.logger?.info(`Initializing HuggingFace tokenizer for model: ${e.model}`),n=new Va(e.model,this.logger,{timeout:this.options.timeout});break;case"api":n=new Ka(e,this.logger,{timeout:this.options.timeout});break;default:throw new Error(`Unknown tokenizer type: ${e.type}`)}return this.logger?.info(`Calling initialize() on ${e.type} tokenizer...`),await n.initialize(),this.tokenizers.set(r,n),this.logger?.info(`Tokenizer initialized successfully: ${e.type} (${r})`),n}catch(o){return this.logger?.error(`Failed to initialize ${e.type} tokenizer: ${o.message}`),this.logger?.error(`Error stack: ${o.stack}`),this.fallbackTokenizer||await this.initialize(),this.fallbackTokenizer}}async countTokens(e,r){let n=r?await this.getTokenizer(r):this.fallbackTokenizer;return{tokenCount:await n.countTokens(e),tokenizerUsed:n.name,cached:!1}}getTokenizerConfigForModel(e,r){let o=(this.configService.get("providers")||[]).find(s=>s.name===e);if(o?.tokenizer)return o.tokenizer.models?.[r]?o.tokenizer.models[r]:o.tokenizer.default}dispose(){this.tokenizers.forEach(e=>{try{e.dispose()}catch(r){this.logger?.error(`Error disposing tokenizer: ${r}`)}}),this.tokenizers.clear()}getCacheKey(e){switch(e.type){case"tiktoken":return`tiktoken:${e.encoding||"cl100k_base"}`;case"huggingface":return`hf:${e.model}`;case"api":return`api:${e.url}`;default:return`unknown:${JSON.stringify(e)}`}}};import{get_encoding as oD}from"tiktoken";var Td=class{capacity;cache;constructor(e){this.capacity=e,this.cache=new Map}get(e){if(!this.cache.has(e))return;let r=this.cache.get(e);return this.cache.delete(e),this.cache.set(e,r),r}put(e,r){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.capacity){let n=this.cache.keys().next().value;n!==void 0&&this.cache.delete(n)}this.cache.set(e,r)}values(){return Array.from(this.cache.values())}},Dd=new Td(100);Bn();import{readFile as Pd}from"fs/promises";import{opendir as sD,stat as iD}from"fs/promises";import{join as Id}from"path";import{CLAUDE_PROJECTS_DIR as y0,HOME_DIR as _0}from"@wengine-ai/claude-code-router-shared";var Rd=new Map;function xd(t,e){t&&Rd.set(t,{...e,provider:t,capturedAt:Date.now()})}function Od(t){let e=Rd.get(t);return e?{...e}:void 0}function nD(){return Array.from(Rd.values()).map(t=>({...t}))}Ks();var Tr=oD("cl100k_base"),w0=(t,e,r)=>{let n=0;return Array.isArray(t)&&t.forEach(o=>{typeof o.content=="string"?n+=Tr.encode(o.content).length:Array.isArray(o.content)&&o.content.forEach(s=>{s.type==="text"?n+=Tr.encode(s.text).length:s.type==="tool_use"?n+=Tr.encode(JSON.stringify(s.input)).length:s.type==="tool_result"&&(n+=Tr.encode(typeof s.content=="string"?s.content:JSON.stringify(s.content)).length)})}),typeof e=="string"?n+=Tr.encode(e).length:Array.isArray(e)&&e.forEach(o=>{o.type==="text"&&(typeof o.text=="string"?n+=Tr.encode(o.text).length:Array.isArray(o.text)&&o.text.forEach(s=>{n+=Tr.encode(s||"").length}))}),r&&r.forEach(o=>{o.description&&(n+=Tr.encode(o.name+o.description).length),o.input_schema&&(n+=Tr.encode(JSON.stringify(o.input_schema)).length)}),n},E0=async(t,e)=>{if(t.sessionId){let r=await k0(t.sessionId);if(r){let n=Id(_0,r,"config.json"),o=Id(_0,r,`${t.sessionId}.json`);try{let s=JSON.parse(await Pd(o,"utf8"));if(s&&s.Router)return s.Router}catch{}try{let s=JSON.parse(await Pd(n,"utf8"));if(s&&s.Router)return s.Router}catch{}}}};function Ya(t){let e=t||"";return e.includes(",")&&(e=e.split(",").pop()||e),e.includes("/")&&(e=e.split("/").pop()||e),e.includes(":")&&(e=e.split(":")[0]),e.trim().toLowerCase()}function A0(t){let e=Ya(t),r=e.includes("[1m]")||e.endsWith("[1m"),n=e.replace(/\[1m\]|\[1m$/g,""),o=n.match(/^ccr-(opus|sonnet|haiku)$/i);if(o)return{family:o[1].toLowerCase(),extended:r};let s=n.match(/claude-(?:\d+-\d+-|\d+-)?(sonnet|opus|haiku)(?:-|$)/i)||n.match(/claude-(sonnet|opus|haiku)(?:-|$)/i);return s?{family:s[1].toLowerCase(),extended:r}:{family:null,extended:r}}function aD(t,e){if(!e||!t)return null;let r=Ya(t);if(e[t])return e[t];if(e[r])return e[r];let{family:n}=A0(t);if(n&&e[n])return e[n];for(let[o,s]of Object.entries(e)){let a=Ya(o);if(a&&r.includes(a))return s}return null}function S0(t){return t?(t.input_tokens||0)+(t.cache_read_input_tokens||0)+(t.cache_creation_input_tokens||0):0}function b0(t){if(!t?.includes(","))return null;let[e,...r]=t.split(","),n=e.trim(),o=r.join(",").trim();return!n||!o?null:{providerName:n,routeModel:o}}function ot(t,e,r,n){let o=b0(t);if(!o)return t;let{providerName:s,routeModel:a}=o;if(n&&!r){let f=Do(),p=f.getPromotion(s,a,n,e);if(p){let g=b0(p);if(g){let A=e.find(_=>_.name.toLowerCase()===g.providerName.toLowerCase()),w=A?.models?.find(_=>String(_).toLowerCase()===g.routeModel.toLowerCase());if(A&&w)return`${A.name},${w}`}f.clear(s,a,n)}}if(!r&&!tt().isAvailable(s,a))return null;let c=Od(s);if(c){let f=c.limitDaily!==void 0&&c.usedDailyBalance!==void 0&&c.usedDailyBalance>=c.limitDaily,p=c.totalBalance!==void 0&&c.usedBalance!==void 0&&c.usedBalance>=c.totalBalance;if(f||p)return null}let l=e.find(f=>f.name.toLowerCase()===s.toLowerCase()),d=l?.models?.find(f=>String(f).toLowerCase()===a.toLowerCase());return l&&d?`${l.name},${d}`:t}function Vt(t,e,r,n,o){let s=tt(),a=[r?.[t],n?.[t]];for(let c of a)if(!(!Array.isArray(c)||c.length===0))for(let l of c){let d=ot(l,e);if(d)return d}return null}function uD(t){return t.body.messages?.some(e=>e.role==="user"&&Array.isArray(e.content)&&e.content.some(r=>r.type==="image"||r.type==="image_url"||Array.isArray(r?.content)&&r.content.some(n=>n.type==="image"||n.type==="image_url")))}function cD(t){let e=Ya(t);return[/claude/i,/gemini/i,/gpt-4o/i,/gpt-4\.1/i,/gpt-4-vision/i,/qwen.*vl/i,/glm-4v/i,/grok.*vision/i,/pixtral/i,/llava/i].some(n=>n.test(e))}function lD(t,e,r,n,o,s,a){let c=r.longContextThreshold||6e4,l=Math.max(e,S0(o)),d=t.modelFamily;if((s||l>2e5)&&r.extendedContext){let A=ot(r.extendedContext,n,!1,"extendedContext");if(A)return t.log.info(`Family: using extended context model (1M+), tokens: ${l}, estimated: ${e}, explicit: ${s}`),{model:A,scenarioType:"extendedContext",isFallback:!1};let w=Vt("extendedContext",n,r.fallback,a,d);if(w)return t.log.info(`Family: using extended context fallback model (1M+), tokens: ${l}, estimated: ${e}, explicit: ${s}`),{model:w,scenarioType:"extendedContext",isFallback:!0};t.log.warn("Family: extendedContext model unavailable (fail pool), skipping")}if(l>c&&(r.longContext||r.fallback?.longContext?.length||a?.longContext?.length)){let A=r.longContext?ot(r.longContext,n,!1,"longContext"):null;if(A)return t.log.info(`Family: using long context model, tokens: ${l}, estimated: ${e}`),{model:A,scenarioType:"longContext",isFallback:!1};let w=Vt("longContext",n,r.fallback,a,d);if(w)return t.log.info(`Family: using long context fallback model, tokens: ${l}, estimated: ${e}`),{model:w,scenarioType:"longContext",isFallback:!0};t.log.warn("Family: no healthy longContext model available, falling through to other scenarios")}if(Array.isArray(t.body.tools)&&t.body.tools.some(A=>A.type?.startsWith("web_search"))&&r.webSearch){let A=ot(r.webSearch,n,!1,"webSearch");if(A)return{model:A,scenarioType:"webSearch",isFallback:!1};let w=Vt("webSearch",n,r.fallback,a,d);if(w)return t.log.info("Family: using webSearch fallback model"),{model:w,scenarioType:"webSearch",isFallback:!0};t.log.warn("Family: webSearch model unavailable (fail pool), skipping")}if(t.body.thinking&&r.think){let A=ot(r.think,n,!1,"think");if(A)return{model:A,scenarioType:"think",isFallback:!1};let w=Vt("think",n,r.fallback,a,d);if(w)return t.log.info("Family: using think fallback model"),{model:w,scenarioType:"think",isFallback:!0};t.log.warn("Family: think model unavailable (fail pool), skipping")}if(r.default){let A=ot(r.default,n,!1,"default");if(A)return{model:A,scenarioType:"default",isFallback:!1};let w=Vt("default",n,r.fallback,a,d);if(w)return t.log.info("Family: using default fallback model"),{model:w,scenarioType:"default",isFallback:!0};t.log.warn("Family: default model unavailable (fail pool), skipping")}return null}var dD=async(t,e,r,n)=>{let o=await E0(t,r),s=r.get("providers")||[],a=o||r.get("Router"),c=r.get("fallback");if(t.body.model.includes(",")){let m=ot(t.body.model,s,!1,"default");if(m)return{model:m,scenarioType:"default"};t.log.warn(`Explicit model ${t.body.model} unavailable (fail pool), trying fallback`);let v=Vt("default",s,void 0,c);if(v)return t.log.info(`Using fallback for explicit model: ${v}`),{model:v,scenarioType:"default"};t.log.warn(`No fallback available for explicit model ${t.body.model}, continuing through routing logic`)}let{family:l,extended:d}=A0(t.body.model),f=a?.families?.[l||""];if(f&&a?.enableFamilyRouting){t.log.info(`Using model family routing for: ${l}${d?" (1M)":""}`),t.modelFamily=l,t.familyFallback=f.fallback;let m=lD(t,e,f,s,n,d,c);if(m)return{model:m.model,scenarioType:m.scenarioType}}let p=aD(t.body.model,a?.models);if(p){let m=ot(p,s,!1,"modelMapping");if(m)return t.log.info(`Using mapped model for ${t.body.model}: ${p}`),{model:m,scenarioType:"modelMapping"};t.log.warn(`Mapped model ${p} unavailable (fail pool), skipping`)}let g=Math.max(e,S0(n)),A=a?.extendedContextThreshold||2e5;if(g>A&&a?.extendedContext){t.log.info(`Using extended context (1M) model due to token count: ${g}, estimated: ${e}, threshold: ${A}`);let m=ot(a.extendedContext,s,!1,"extendedContext");if(m)return{model:m,scenarioType:"extendedContext"};t.log.warn(`Extended context model ${a.extendedContext} unavailable (fail pool), trying fallback`);let v=Vt("extendedContext",s,void 0,c);if(v)return{model:v,scenarioType:"extendedContext"}}let w=a?.longContextThreshold||6e4;if(g>w&&a?.longContext){t.log.info(`Using long context model due to token count: ${g}, estimated: ${e}, threshold: ${w}`);let m=ot(a.longContext,s,!1,"longContext");if(m)return{model:m,scenarioType:"longContext"};t.log.warn(`Long context model ${a.longContext} unavailable (fail pool), trying fallback`);let v=Vt("longContext",s,void 0,c);if(v)return{model:v,scenarioType:"longContext"}}if(t.body?.system?.length>1&&t.body?.system[1]?.text?.startsWith("<CCR-SUBAGENT-MODEL>")){let m=t.body?.system[1].text.match(/<CCR-SUBAGENT-MODEL>(.*?)<\/CCR-SUBAGENT-MODEL>/s);if(m)return t.body.system[1].text=t.body.system[1].text.replace(`<CCR-SUBAGENT-MODEL>${m[1]}</CCR-SUBAGENT-MODEL>`,""),{model:m[1],scenarioType:"default"}}let y=r.get("Router");if(t.body.model?.includes("claude")&&t.body.model?.includes("haiku")&&y?.background){t.log.info(`Using background model for ${t.body.model}`);let m=ot(y.background,s,!1,"background");if(m)return{model:m,scenarioType:"background"};t.log.warn(`Background model ${y.background} unavailable (fail pool), falling through`)}if(Array.isArray(t.body.tools)&&t.body.tools.some(m=>m.type?.startsWith("web_search"))&&a?.webSearch){let m=ot(a.webSearch,s,!1,"webSearch");if(m)return{model:m,scenarioType:"webSearch"};t.log.warn(`WebSearch model ${a.webSearch} unavailable (fail pool), trying fallback`);let v=Vt("webSearch",s,void 0,c);if(v)return{model:v,scenarioType:"webSearch"}}if(t.body.thinking&&a?.think){t.log.info(`Using think model for ${t.body.thinking}`);let m=ot(a.think,s,!1,"think");if(m)return{model:m,scenarioType:"think"};t.log.warn(`Think model ${a.think} unavailable (fail pool), trying fallback`);let v=Vt("think",s,void 0,c);if(v)return{model:v,scenarioType:"think"}}if(a?.default){let m=ot(a.default,s,!1,"default");if(m)return{model:m,scenarioType:"default"};t.log.warn(`Default model ${a.default} unavailable (fail pool), trying fallback`);let v=Vt("default",s,void 0,c);if(v)return{model:v,scenarioType:"default"}}return{model:void 0,scenarioType:"default"}},Bd=async(t,e,r)=>{let{configService:n,event:o}=r;if(t.originalModel=t.body.model,t.body.metadata?.user_id){let A=t.body.metadata.user_id.split("_session_");A.length>1&&(t.sessionId=A[1])}let a=await E0(t,n)||n.get("Router"),c=n.get("providers")||[],l=Dd.get(t.sessionId),{messages:d,system:f=[],tools:p}=t.body,g=n.get("REWRITE_SYSTEM_PROMPT");if(g&&f.length>1&&f[1]?.text?.includes("<env>")){let A=await Pd(g,"utf-8");f[1].text=`${A}<env>${f[1].text.split("<env>").pop()}`}try{let[A,w]=t.body.model.split(","),_=r.tokenizerService?.getTokenizerConfigForModel(A,w),y;r.tokenizerService?y=(await r.tokenizerService.countTokens({messages:d,system:f,tools:p},_)).tokenCount:y=w0(d,f,p),t.tokenCount=y;let m,v=n.get("CUSTOM_ROUTER_PATH");if(v)try{m=await X(v)(t,n.getAll(),{event:o})}catch(b){t.log.error(`failed to load custom router: ${b.message}`)}if(m)t.scenarioType="default";else{let b=await dD(t,y,n,l);m=b.model,t.scenarioType=b.scenarioType}if(a?.image&&m!==a.image&&uD(t)&&!cD(m)){let b=ot(a.image,c,!1,"image");b?(t.log.info(`Using image model fallback for ${m}`),m=b,t.scenarioType="image"):t.log.warn(`Image model ${a.image} unavailable (fail pool), keeping ${m}`)}t.body.model=m}catch(A){t.log.error(`Error in router middleware: ${A.message}`),t.body.model=a?.default,t.scenarioType="default"}},Dr=new Map,C0=1e3;function Fd(){if(Dr.size<=C0)return;let t=[...Dr.keys()].slice(0,Dr.size-C0);for(let e of t)Dr.delete(e)}var k0=async t=>{if(Dr.has(t)){let e=Dr.get(t);return!e||e===""?null:e}try{let e=await sD(y0),r=[];for await(let s of e)s.isDirectory()&&r.push(s.name);let n=r.map(async s=>{let a=Id(y0,s,`${t}.jsonl`);try{return(await iD(a)).isFile()?s:null}catch{return null}}),o=await Promise.all(n);for(let s of o)if(s)return Dr.set(t,s),Fd(),s;return Dr.set(t,""),Fd(),null}catch(e){return console.error("Error searching for project by session:",e),Dr.set(t,""),Fd(),null}};Bn();var Rr=class{async fetchJson(e,r,n,o){if(!r.apiKey)return null;let s={method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${r.apiKey}`},signal:AbortSignal.timeout(n)};if(o)try{let{ProxyAgent:a}=await import("undici");s.dispatcher=new a(new URL(o).toString())}catch{}try{let a=await fetch(e,s);return a.ok?await a.json():null}catch{return null}}hasQuotaData(e){return e.totalBalance!==void 0||e.usedBalance!==void 0||e.remainingBalance!==void 0||e.usedDailyBalance!==void 0||e.limitDaily!==void 0||e.resetTime!==void 0}},Nd=class extends Rr{async queryQuota(e,r,n){let o=await this.fetchJson("https://api.deepseek.com/user/balance",e,r,n),a=(Array.isArray(o?.balance_infos)?o.balance_infos:[]).find(l=>Ee(l?.total_balance)!==void 0);if(!a)return null;let c=Ee(a.total_balance);return c===void 0?null:{totalBalance:c,currency:typeof a.currency=="string"?a.currency:void 0}}},Md=class extends Rr{async queryQuota(e,r,n){let s=(await this.fetchJson("https://openrouter.ai/api/v1/key",e,r,n))?.data;if(!s||typeof s!="object")return null;let a={},c=Ee(s.limit),l=Ee(s.limit_remaining),d=Ee(s.usage),f=Ee(s.usage_daily);return c!==void 0&&(a.totalBalance=c),l!==void 0&&(a.remainingBalance=l),d!==void 0&&(a.usedBalance=d),f!==void 0&&(a.usedDailyBalance=f),this.hasQuotaData(a)?a:null}},jd=class extends Rr{async queryQuota(e,r,n){let o=bD(e.baseUrl),a=(await this.fetchJson(o,e,r,n))?.data;if(!a||typeof a!="object")return null;let c={},l=Ee(a.totalBalance),d=Ee(a.balance);return l!==void 0&&(c.totalBalance=l),d!==void 0&&(c.remainingBalance=d),l!==void 0&&d!==void 0&&(c.usedBalance=Math.max(0,l-d)),this.hasQuotaData(c)?c:null}},Ld=class extends Rr{async queryQuota(e,r,n){if(!e.apiKey)return null;let s={method:"GET",headers:{Accept:"application/json",Authorization:e.apiKey.trim()},signal:AbortSignal.timeout(r)};if(n)try{let{ProxyAgent:a}=await import("undici");s.dispatcher=new a(new URL(n).toString())}catch{}try{let a=await fetch("https://api.z.ai/api/monitor/usage/quota/limit",s);if(!a.ok)return null;let c=await a.json(),l=Array.isArray(c?.data?.limits)?c.data.limits:[],d=null,f=null,p=null;for(let A of l)A.type==="TOKENS_LIMIT"?A.unit===3?d=A:A.unit===6?f=A:d||(d=A):A.type==="TIME_LIMIT"&&(p=A);let g={};if(d){let A=Ee(d.currentValue),w=Ee(d.usage),_=Ee(d.remaining),y=Ee(d.percentage);A!==void 0?g.usedDailyBalance=A:y!==void 0&&(g.usedDailyBalance=y,g.limitDaily=100),w!==void 0?g.limitDaily=w:A!==void 0&&_!==void 0&&(g.limitDaily=A+_),d.nextResetTime&&(g.resetTime=new Date(d.nextResetTime).toISOString())}if(f){let A=Ee(f.currentValue),w=Ee(f.usage),_=Ee(f.remaining),y=Ee(f.percentage);A!==void 0?g.usedBalance=A:y!==void 0&&(g.usedBalance=y,g.totalBalance=100),w!==void 0?g.totalBalance=w:A!==void 0&&_!==void 0&&(g.totalBalance=A+_),f.nextResetTime&&!g.resetTime&&(g.resetTime=new Date(f.nextResetTime).toISOString())}if(p){if(g.usedDailyBalance===void 0){let A=Ee(p.currentValue);A!==void 0&&(g.usedDailyBalance=A)}if(g.limitDaily===void 0){let A=Ee(p.usage),w=Ee(p.currentValue),_=Ee(p.remaining);A!==void 0?g.limitDaily=A:w!==void 0&&_!==void 0&&(g.limitDaily=w+_)}p.nextResetTime&&!g.resetTime&&(g.resetTime=new Date(p.nextResetTime).toISOString())}return this.hasQuotaData(g)?g:null}catch{return null}}},Ud=class extends Rr{async queryQuota(e,r,n){if(!e.quotaToken)return null;let o={method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)",Origin:"https://bailian.console.aliyun.com",Referer:"https://bailian.console.aliyun.com/cn-beijing",Cookie:e.quotaToken},signal:AbortSignal.timeout(r)};if(n)try{let{ProxyAgent:c}=await import("undici");o.dispatcher=new c(new URL(n).toString())}catch{}let s=JSON.stringify({Api:"zeldaEasy.broadscope-bailian.codingPlan.queryCodingPlanInstanceInfoV2",V:"1.0",Data:{queryCodingPlanInstanceInfoRequest:{commodityCode:"sfm_codingplan_public_cn",onlyLatestOne:!0},cornerstoneParam:{feTraceId:`ccr-${Date.now()}`,feURL:"https://bailian.console.aliyun.com/cn-beijing",protocol:"V2",console:"ONE_CONSOLE",productCode:"p_efm",switchAgent:10736808,switchUserType:3,domain:"bailian.console.aliyun.com",consoleSite:"BAILIAN_ALIYUN",userNickName:"",userPrincipalName:"",xsp_lang:"zh-CN"}}}),a=new URLSearchParams({params:s,region:"cn-beijing"}).toString();try{let c=await fetch("https://bailian-cs.console.aliyun.com/data/api.json?action=BroadScopeAspnGateway&product=sfm_bailian&api=zeldaEasy.broadscope-bailian.codingPlan.queryCodingPlanInstanceInfoV2",{...o,body:a});if(!c.ok)return null;let d=(await c.json())?.data?.DataV2?.data?.data?.codingPlanInstanceInfos;if(!Array.isArray(d)||d.length===0)return null;let f=d[0]?.codingPlanQuotaInfo;if(!f)return null;let p={},g=Ee(f.per5HourUsedQuota),A=Ee(f.per5HourTotalQuota);g!==void 0&&(p.usedDailyBalance=g),A!==void 0&&(p.limitDaily=A);let w=Ee(f.perWeekUsedQuota),_=Ee(f.perWeekTotalQuota);return w!==void 0&&(p.usedBalance=w),_!==void 0&&(p.totalBalance=_),this.hasQuotaData(p)?p:null}catch{return null}}},$d=class extends Rr{async queryQuota(e,r,n){let o=e.quotaToken||e.apiKey;if(!o)return null;let s={method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${o.trim()}`},signal:AbortSignal.timeout(r)};if(n)try{let{ProxyAgent:a}=await import("undici");s.dispatcher=new a(new URL(n).toString())}catch{}try{let a=await fetch("https://api.kimi.com/coding/v1/usages",s);if(!a.ok)return null;let c=await a.json(),l={},d=Array.isArray(c?.limits)?c.limits:[];if(d.length>0&&d[0]?.detail){let p=d[0].detail,g=Ee(p.limit),A=Ee(p.remaining),w=p.resetTime;g!==void 0&&A!==void 0&&(l.usedDailyBalance=Math.max(0,g-A),l.limitDaily=g),w&&(l.resetTime=new Date(w).toISOString())}let f=c?.usage;if(f){let p=Ee(f.limit),g=Ee(f.remaining),A=Ee(f.used),w=f.resetTime;p!==void 0&&(l.totalBalance=p,A!==void 0?l.usedBalance=A:g!==void 0&&(l.usedBalance=Math.max(0,p-g),l.remainingBalance=g)),w&&(l.resetTime7d=new Date(w).toISOString(),l.resetTime||(l.resetTime=l.resetTime7d))}return this.hasQuotaData(l)?l:null}catch{return null}}},qd=class extends Rr{async queryQuota(e,r,n){let o=e.quotaToken||e.apiKey;if(!o)return null;let s=Hd(e.baseUrl)||"api.minimaxi.com",a=s.endsWith(".minimax.io")||s==="minimax.io"?"api.minimax.io":"api.minimaxi.com",c={method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${o.trim()}`},signal:AbortSignal.timeout(r)};if(n)try{let{ProxyAgent:l}=await import("undici");c.dispatcher=new l(new URL(n).toString())}catch{}try{let l=await fetch(`https://${a}/v1/api/openplatform/coding_plan/remains`,c);if(!l.ok)return null;let d=await l.json();if(d?.base_resp){let b=d.base_resp.status_code;if(b!==void 0&&b!==0)return null}let f=Array.isArray(d?.model_remains)?d.model_remains:[];if(f.length===0)return null;let p=f[0],g={},A=Ee(p.current_interval_total_count),w=Ee(p.current_interval_usage_count),_=Ee(p.end_time);A!==void 0&&w!==void 0&&(g.usedDailyBalance=Math.max(0,A-w),g.limitDaily=A),_&&(g.resetTime=new Date(_).toISOString());let y=Ee(p.current_weekly_total_count),m=Ee(p.current_weekly_usage_count),v=Ee(p.weekly_end_time);return y!==void 0&&m!==void 0&&(g.usedBalance=Math.max(0,y-m),g.remainingBalance=m,g.totalBalance=y),v&&!g.resetTime&&(g.resetTime=new Date(v).toISOString()),this.hasQuotaData(g)?g:null}catch{return null}}},fD=new Nd,hD=new Md,pD=new jd,mD=new Ld,gD=new Ud,yD=new $d,_D=new qd;function zd(t){let e=Hd(t);return e?e==="kimi.com"||e.endsWith(".kimi.com")||e==="moonshot.cn"||e.endsWith(".moonshot.cn")?yD:e==="minimaxi.com"||e.endsWith(".minimaxi.com")||e==="minimax.io"||e.endsWith(".minimax.io")?_D:e==="deepseek.com"||e.endsWith(".deepseek.com")?fD:e==="openrouter.ai"||e.endsWith(".openrouter.ai")?hD:e==="siliconflow.com"||e.endsWith(".siliconflow.com")||e==="siliconflow.cn"||e.endsWith(".siliconflow.cn")?pD:e==="bigmodel.cn"||e.endsWith(".bigmodel.cn")?mD:e==="dashscope.aliyuncs.com"||e.endsWith(".dashscope.aliyuncs.com")?gD:null:null}function bD(t){let e=Hd(t);return e?.endsWith(".siliconflow.cn")||e==="siliconflow.cn"?"https://api.siliconflow.cn/v1/user/info":"https://api.siliconflow.com/v1/user/info"}function Hd(t){try{return new URL(t).hostname.toLowerCase()}catch{return null}}function Ee(t){if(typeof t=="number")return Number.isFinite(t)?t:void 0;if(typeof t!="string")return;let e=t.trim().replace(/,/g,"");if(!e)return;let r=Number(e);return Number.isFinite(r)?r:void 0}var CD={enabled:!0,quotaProbeIntervalMinutes:10,probeTimeoutMs:15e3,initialDelayMs:5e3,excludeProviders:[]};function wD(t){try{let e=new URL(t),r=e.pathname;return r.endsWith("/v1/messages")?r=r.slice(0,-12):r.endsWith("/messages")?r=r.slice(0,-9):r.endsWith("/v1/chat/completions")?r=r.slice(0,-20):r.endsWith("/chat/completions")&&(r=r.slice(0,-17)),r.endsWith("/v1")||(r=r.endsWith("/")?`${r}v1`:`${r}/v1`),e.pathname=`${r}/models`,e.toString()}catch{return null}}function ED(t){try{let e=new URL(t).hostname.toLowerCase();return e.includes("moonshot")||e.includes("kimi")}catch{return!1}}async function Wd(t,e,r){let n=wD(t.baseUrl);if(!n)return{success:!1,error:"Cannot derive models endpoint from baseUrl"};try{let o={method:"GET",headers:{Authorization:`Bearer ${t.apiKey}`},signal:AbortSignal.timeout(e)};if(r)try{let{ProxyAgent:c}=await import("undici");o.dispatcher=new c(new URL(r).toString())}catch{}let s=await fetch(n,o);if(s.headers&&Ro(t.name,t.baseUrl,s.headers),s.ok)return{success:!0,headers:s.headers};if(s.status===429)return{success:!1,error:`HTTP 429: ${(await s.text().catch(()=>"")).slice(0,100)||"Rate limited"}`,headers:s.headers};if(s.status>=400&&s.status<500)return{success:!0,headers:s.headers};let a=await s.text().catch(()=>"");return{success:!1,error:`HTTP ${s.status}: ${a.slice(0,100)}`,headers:s.headers}}catch(o){return{success:!1,error:o?.message||o?.toString()||"Unknown probe error"}}}var Qa=class{config;quotaProbeTimer;healthProbeTimer;getProviders;getHttpsProxy;logger;running=!1;constructor(e,r,n,o){this.config={...CD,...r},this.getProviders=e,this.getHttpsProxy=n,this.logger=o}start(){!this.config.enabled||this.running||(this.running=!0,setTimeout(()=>{this.running&&(this.runQuotaProbe(),this.runHealthProbe())},this.config.initialDelayMs),this.quotaProbeTimer=setInterval(()=>this.runQuotaProbe(),this.config.quotaProbeIntervalMinutes*60*1e3),this.healthProbeTimer=setInterval(()=>this.runHealthProbe(),300*1e3),this.logger?.info("Active probe service started"))}stop(){this.running=!1,this.quotaProbeTimer&&(clearInterval(this.quotaProbeTimer),this.quotaProbeTimer=void 0),this.healthProbeTimer&&(clearInterval(this.healthProbeTimer),this.healthProbeTimer=void 0),this.logger?.info("Active probe service stopped")}async runQuotaProbe(){let e=this.getProviders().filter(a=>a?.name&&!this.config.excludeProviders.includes(a.name)),r=this.getHttpsProxy?.(),n=tt();if(e.length===0)return;let o=[];for(let a of e){let c=zd(a.baseUrl),l=Array.isArray(a.models)?a.models:[];c&&o.push({provider:a.name,models:l,type:"quota-adapter",promise:c.queryQuota(a,this.config.probeTimeoutMs,r).then(d=>{if(d){xd(a.name,d),this.logger?.debug?.(`Stored quota probe result for ${a.name}`);let f=d.limitDaily!==void 0&&d.usedDailyBalance!==void 0&&d.usedDailyBalance>=d.limitDaily,p=d.totalBalance!==void 0&&d.usedBalance!==void 0&&d.usedBalance>=d.totalBalance;if(f||p){let g=f?`Quota exhausted: 5h limit reached (${d.usedDailyBalance}/${d.limitDaily})`:`Quota exhausted: 7d balance depleted (${d.usedBalance}/${d.totalBalance})`;for(let A of l)n.forceOpen(a.name,A,g);this.logger?.warn?.(`${g} for ${a.name}, marked as unhealthy`)}else for(let g of l){let A=n.getState(a.name,g);A&&A.status==="open"&&A.lastError?.includes("Quota exhausted")&&(n.recover(a.name,g),this.logger?.info?.(`Quota recovered for ${a.name} (${g}), marked as healthy`))}}})}),ED(a.baseUrl)&&o.push({provider:a.name,models:l,type:"rate-limit-headers",promise:Wd(a,this.config.probeTimeoutMs,r).then(()=>{})})}if(o.length===0)return;this.logger?.debug?.(`Running quota probe with ${o.length} tasks for ${e.length} providers`);let s=await Promise.allSettled(o.map(a=>a.promise));for(let a=0;a<o.length;a++){let c=s[a];if(c.status==="rejected"){let l=o[a];this.logger?.warn?.(`Quota probe failed for ${l.provider} (${l.type}): ${c.reason}`)}}}async runHealthProbe(){let e=tt(),r=this.getProviders().filter(s=>s?.name&&!this.config.excludeProviders.includes(s.name)),n=this.getHttpsProxy?.();if(r.length===0)return;this.logger?.debug?.(`Running health probe for ${r.length} providers`);let o=await Promise.allSettled(r.map(s=>Wd(s,this.config.probeTimeoutMs,n)));for(let s=0;s<r.length;s++){let a=r[s],c=o[s],l=Array.isArray(a.models)?a.models:[];if(c.status==="fulfilled"){let d=c.value;if(d.success){let f=0;for(let p of l){let g=e.getState(a.name,p);if(g&&g.status==="open"&&g.lastError?.includes("Quota exhausted")){this.logger?.debug?.(`Skipping health probe recovery for ${a.name} (${p}) because quota is exhausted`);continue}e.recordSuccess(a.name,p),f++}f>0&&this.logger?.info?.(`Health probe succeeded for ${a.name}`)}else{for(let f of l)e.recordFailure(a.name,f,d.error);this.logger?.warn?.(`Health probe failed for ${a.name}: ${d.error}`)}}else{for(let d of l)e.recordFailure(a.name,d,c.reason?.message||"Probe error");this.logger?.warn?.(`Health probe error for ${a.name}: ${c.reason}`)}}}async probeProviderManually(e){let n=this.getProviders().find(c=>c.name===e);if(!n)return this.logger?.warn?.(`Provider ${e} not found for manual probe`),!1;let o=this.getHttpsProxy?.(),s=await Wd(n,this.config.probeTimeoutMs,o),a=Array.isArray(n.models)?n.models:[];if(s.success)for(let c of a)tt().recordSuccess(n.name,c);else for(let c of a)tt().recordFailure(n.name,c,s.error);return s.success}},Qr=null;function v0(t,e,r,n){return Qr||(Qr=new Qa(t,e,r,n)),Qr}function Gd(t,e,r,n){let o=v0(t,e,r,n);return o.start(),o}function Jd(){Qr&&Qr.stop()}function AD(){Qr&&(Qr.stop(),Qr=null)}var Vd=class{plugins=new Map;pluginInstances=new Map;registerPlugin(e,r={}){this.pluginInstances.set(e.name,e),this.plugins.set(e.name,{name:e.name,enabled:r.enabled!==!1,options:r})}async enablePlugin(e,r){let n=this.plugins.get(e),o=this.pluginInstances.get(e);if(!n||!o)throw new Error(`Plugin ${e} not found`);n.enabled&&await r.register(o.register,n.options)}async enablePlugins(e){for(let[r,n]of this.plugins)if(n.enabled)try{await this.enablePlugin(r,e)}catch(o){let s=o instanceof Error?o.message:String(o);e.log?.error(`Failed to enable plugin ${r}: ${s}`)}}getPlugins(){return Array.from(this.plugins.values())}getPlugin(e){return this.pluginInstances.get(e)}hasPlugin(e){return this.pluginInstances.has(e)}isPluginEnabled(e){return this.plugins.get(e)?.enabled||!1}setPluginEnabled(e,r){let n=this.plugins.get(e);n&&(n.enabled=r)}removePlugin(e){this.plugins.delete(e),this.pluginInstances.delete(e)}clear(){this.plugins.clear(),this.pluginInstances.clear()}},T0=new Vd;var j0=jr(F0(),1);var go=class extends TransformStream{buffer="";currentEvent={};constructor(){super({transform:(e,r)=>{this.buffer+=e;let n=this.buffer.split(`
|
|
347
347
|
`);this.buffer=n.pop()||"";for(let o of n){let s=this.processLine(o);s&&r.enqueue(s)}},flush:e=>{if(this.buffer.trim()){let r=[];this.processLine(this.buffer.trim(),r),r.forEach(n=>e.enqueue(n))}Object.keys(this.currentEvent).length>0&&e.enqueue(this.currentEvent)}})}processLine(e,r){if(!e.trim()){if(Object.keys(this.currentEvent).length>0){let n={...this.currentEvent};return this.currentEvent={},r?(r.push(n),null):n}return null}if(e.startsWith("event:"))this.currentEvent.event=e.slice(6).trim();else if(e.startsWith("data:")){let n=e.slice(5).trim();if(n==="[DONE]")this.currentEvent.data={type:"done"};else try{this.currentEvent.data=JSON.parse(n)}catch{this.currentEvent.data={raw:n,error:"JSON parse failed"}}}else e.startsWith("id:")?this.currentEvent.id=e.slice(3).trim():e.startsWith("retry:")&&(this.currentEvent.retry=parseInt(e.slice(6).trim()));return null}};var Za=class extends TransformStream{constructor(){super({transform:(e,r)=>{let n="";e.event&&(n+=`event: ${e.event}
|
|
348
348
|
`),e.id&&(n+=`id: ${e.id}
|
|
349
349
|
`),e.retry&&(n+=`retry: ${e.retry}
|
|
350
350
|
`),e.data&&(e.data.type==="done"?n+=`data: [DONE]
|
|
351
351
|
`:n+=`data: ${JSON.stringify(e.data)}
|
|
352
352
|
`),n+=`
|
|
353
|
-
`,r.enqueue(n)}})}};var P0=(t,e)=>{let r=t.getReader();return new ReadableStream({async start(n){try{for(;;){let{done:o,value:s}=await r.read();if(o){n.close();break}let a=await e(s,n);a!==void 0&&n.enqueue(a)}}catch(o){n.error(o)}finally{r.releaseLock()}}})};Qd();Xd();Zd();B0();var ps=new Map,tf=new Map,PD=1,L0={name:"token-speed",version:"1.0.0",description:"Statistics for streaming response token generation speed",register:(0,j0.default)(async(t,e)=>{let r={reporter:["console","temp-file"],...e},n=Array.isArray(r.reporter)?r.reporter:[r.reporter];if(r.outputHandlers&&r.outputHandlers.length>0)yo.registerHandlers(r.outputHandlers);else{let s=[];for(let a of n)a==="console"?s.push({type:"console",enabled:!0,config:{colors:!0,level:"log"}}):a==="temp-file"?s.push({type:"temp-file",enabled:!0,config:{subdirectory:"claude-code-router",extension:"json",includeTimestamp:!0,prefix:"session"}}):a==="webhook"&&console.warn("[TokenSpeedPlugin] Webhook reporter requires explicit configuration in outputHandlers");s.length>0&&yo.registerHandlers(s)}r.outputOptions&&yo.setDefaultOptions(r.outputOptions);let o=async s=>{let a=t.tokenizerService;if(!a)return t.log?.warn("TokenizerService not available"),null;if(!s.provider||!s.model)return null;let c=s.provider,l=s.model,d=`${c}:${l}`;if(tf.has(d))return tf.get(d);let f=a.getTokenizerConfigForModel(c,l);if(!f)return t.log?.debug(`No tokenizer config for ${c}:${l}, using fallback`),null;try{let p=await a.getTokenizer(f);return tf.set(d,p),t.log?.info(`Created tokenizer for ${c}:${l} - ${p.name}`),p}catch(p){return t.log?.warn(`Failed to create tokenizer for ${c}:${l}: ${p.message}`),null}};t.addHook("onRequest",async s=>{new URL(`http://127.0.0.1${s.url}`).pathname.endsWith("/v1/messages")&&(s.requestStartTime=performance.now())}),t.addHook("onSend",async(s,a,c)=>{let l=s.requestStartTime;if(!l)return;let d=s.id||Date.now().toString(),f;try{let _=s.body?.metadata?.user_id;if(_&&typeof _=="string")try{let
|
|
353
|
+
`,r.enqueue(n)}})}};var P0=(t,e)=>{let r=t.getReader();return new ReadableStream({async start(n){try{for(;;){let{done:o,value:s}=await r.read();if(o){n.close();break}let a=await e(s,n);a!==void 0&&n.enqueue(a)}}catch(o){n.error(o)}finally{r.releaseLock()}}})};Qd();Xd();Zd();B0();var ps=new Map,tf=new Map,PD=1,L0={name:"token-speed",version:"1.0.0",description:"Statistics for streaming response token generation speed",register:(0,j0.default)(async(t,e)=>{let r={reporter:["console","temp-file"],...e},n=Array.isArray(r.reporter)?r.reporter:[r.reporter];if(r.outputHandlers&&r.outputHandlers.length>0)yo.registerHandlers(r.outputHandlers);else{let s=[];for(let a of n)a==="console"?s.push({type:"console",enabled:!0,config:{colors:!0,level:"log"}}):a==="temp-file"?s.push({type:"temp-file",enabled:!0,config:{subdirectory:"claude-code-router",extension:"json",includeTimestamp:!0,prefix:"session"}}):a==="webhook"&&console.warn("[TokenSpeedPlugin] Webhook reporter requires explicit configuration in outputHandlers");s.length>0&&yo.registerHandlers(s)}r.outputOptions&&yo.setDefaultOptions(r.outputOptions);let o=async s=>{let a=t.tokenizerService;if(!a)return t.log?.warn("TokenizerService not available"),null;if(!s.provider||!s.model)return null;let c=s.provider,l=s.model,d=`${c}:${l}`;if(tf.has(d))return tf.get(d);let f=a.getTokenizerConfigForModel(c,l);if(!f)return t.log?.debug(`No tokenizer config for ${c}:${l}, using fallback`),null;try{let p=await a.getTokenizer(f);return tf.set(d,p),t.log?.info(`Created tokenizer for ${c}:${l} - ${p.name}`),p}catch(p){return t.log?.warn(`Failed to create tokenizer for ${c}:${l}: ${p.message}`),null}};t.addHook("onRequest",async s=>{new URL(`http://127.0.0.1${s.url}`).pathname.endsWith("/v1/messages")&&(s.requestStartTime=performance.now())}),t.addHook("onSend",async(s,a,c)=>{let l=s.requestStartTime;if(!l)return;let d=s.id||Date.now().toString(),f;try{let _=s.body?.metadata?.user_id;if(_&&typeof _=="string")try{let y=JSON.parse(_);y.session_id&&(f=y.session_id)}catch{let y=_.match(/_session_([a-f0-9-]+)/i);f=y?y[1]:void 0}}catch{}if(!f)return;let p=await o(s);if(c instanceof ReadableStream){ps.set(d,{requestId:d,sessionId:f,startTime:l,lastTokenTime:l,tokenCount:0,tokensPerSecond:0,tokenTimestamps:[],stream:!0});let[_,y]=c.tee();return(async()=>{let v=null,b=async S=>{let D=ps.get(d);if(!D)return;let O=performance.now();if(S){let q=D.firstTokenTime?D.firstTokenTime-D.startTime:0,J=D.lastTokenTime-D.startTime;D.tokensPerSecond=N0(D.tokenCount,J,q)}else{let q=O-1e3;D.tokenTimestamps=D.tokenTimestamps.filter(J=>J>q),D.tokensPerSecond=D.tokenTimestamps.length}await M0(D,n,r.outputOptions,S).catch(q=>{t.log?.warn(`Failed to output streaming stats: ${q.message}`)})};try{let D=y.pipeThrough(new TextDecoderStream).pipeThrough(new go).getReader();for(v=setInterval(async()=>{ps.get(d)&&await b(!1)},1e3);;){let{done:O,value:q}=await D.read();if(O)break;let J=q,B=ps.get(d);if(!B)continue;let Y=performance.now();if(!B.firstTokenTime&&(J.event==="content_block_start"||J.event==="content_block_delta"||J.event==="text_block"||J.event==="content_block")&&(B.firstTokenTime=Y,B.timeToFirstToken=Math.round(Y-B.startTime)),J.event==="content_block_delta"&&J.data?.delta){let re=J.data.delta.type,ee="";if(re==="text_delta"?ee=J.data.delta.text||"":re==="input_json_delta"?ee=J.data.delta.partial_json||"":re==="thinking_delta"&&(ee=J.data.delta.thinking||""),ee){let ue=p&&p.encodeText?p.encodeText(ee).length:ms(ee);B.tokenCount+=ue,B.lastTokenTime=Y;for(let fe=0;fe<ue;fe++)B.tokenTimestamps.push(Y)}}J.event==="message_stop"&&(v&&(clearInterval(v),v=null),await b(!0),ps.delete(d))}}catch(S){v&&clearInterval(v),S.name!=="AbortError"&&S.code!=="ERR_STREAM_PREMATURE_CLOSE"&&t.log?.warn(`Error processing token stats: ${S.message}`)}})().catch(v=>{console.log(v),t.log?.warn(`Background stats processing failed: ${v.message}`)}),_}let g=performance.now(),A=0,w=!1;if(c&&typeof c=="string")try{let _=JSON.parse(c);if(typeof _.usage?.output_tokens=="number")A=_.usage.output_tokens,w=!0;else{let y=_.content??_.message?.content;if(y!==void 0)if(w=!0,p)Array.isArray(y)?A=y.reduce((m,v)=>{if(v.type==="text"){let b=v.text||"";return m+(p.encodeText?p.encodeText(b).length:ms(b))}return m},0):typeof y=="string"&&(A=p.encodeText?p.encodeText(y).length:ms(y));else{let m=Array.isArray(y)?y.map(v=>v.text).join(""):typeof y=="string"?y:"";A=ms(m)}}}catch{}if(w){let _=Math.round(g-l),y=g-l,m={requestId:d,sessionId:f,startTime:l,lastTokenTime:g,tokenCount:A,tokensPerSecond:N0(A,y),timeToFirstToken:_,stream:!1,tokenTimestamps:[]};await M0(m,n,r.outputOptions,!0)}return c})})};function N0(t,e,r=0){if(t<=0)return 0;let n=Math.max((e-r)/1e3,PD);return Math.round(t/n)}function ms(t){let e=(t.match(/[\u4e00-\u9fa5]/g)||[]).length,r=t.length-e;return Math.ceil(e/1.5+r/4)}async function M0(t,e,r,n=!1){let o=n?"[Token Speed Final]":"[Token Speed]",s={requestId:t.requestId.substring(0,8),sessionId:t.sessionId,stream:t.stream,tokenCount:t.tokenCount,tokensPerSecond:t.tokensPerSecond,timeToFirstToken:t.timeToFirstToken?`${t.timeToFirstToken}ms`:"N/A",duration:`${((t.lastTokenTime-t.startTime)/1e3).toFixed(2)}s`,timestamp:Date.now()},a={prefix:o,metadata:{sessionId:t.sessionId},...r};for(let c of e)try{await yo.outputToType(c,s,a)}catch(l){console.error(`[TokenSpeedPlugin] Failed to output to ${c}:`,l)}}Bn();function ND(t={}){let e=ID({bodyLimit:52428800,...t});return e.setErrorHandler(Ch),e.register(BD),e}var rf=class{app;configService;providerService;transformerService;tokenizerService;activeProbeService;recordUsage;constructor(e={}){let{initialConfig:r,...n}=e;this.app=ND({...n,logger:n.logger??!0}),this.configService=new Pn(e),this.transformerService=new po(this.configService,this.app.log),this.tokenizerService=new mo(this.configService,this.app.log),this.transformerService.initialize().finally(()=>{this.providerService=new Nn(this.configService,this.transformerService,this.app.log)}),this.tokenizerService.initialize().catch(o=>{this.app.log.error(`Failed to initialize TokenizerService: ${o}`)})}async register(e,r){await this.app.register(e,r)}addHook(e,r){this.app.addHook(e,r)}async registerNamespace(e,r){if(!e)throw new Error("name is required");if(e==="/"){await this.app.register(async c=>{c.decorate("configService",this.configService),c.decorate("transformerService",this.transformerService),c.decorate("providerService",this.providerService),c.decorate("tokenizerService",this.tokenizerService),c.decorate("recordUsage",this.recordUsage||(()=>{})),c.addHook("preHandler",async(l,d)=>{new URL(`http://127.0.0.1${l.url}`).pathname.endsWith("/v1/messages")&&await Bd(l,d,{configService:this.configService,tokenizerService:this.tokenizerService})}),await zu(c)});return}if(!r)throw new Error("options is required");let n=new Pn({initialConfig:{providers:r.Providers,Router:r.Router}}),o=new po(n,this.app.log);await o.initialize();let s=new Nn(n,o,this.app.log),a=new mo(n,this.app.log);await a.initialize(),await this.app.register(async c=>{c.decorate("configService",n),c.decorate("transformerService",o),c.decorate("providerService",s),c.decorate("tokenizerService",a),c.decorate("recordUsage",this.recordUsage||(()=>{})),c.addHook("preHandler",async(l,d)=>{new URL(`http://127.0.0.1${l.url}`).pathname.endsWith("/v1/messages")&&await Bd(l,d,{configService:n,tokenizerService:a})}),await zu(c)},{prefix:e})}async start(){try{this.app._server=this,this.app.addHook("preHandler",(n,o,s)=>{if(new URL(`http://127.0.0.1${n.url}`).pathname.endsWith("/v1/messages")&&n.body){let c=n.body;n.log.info({data:c,type:"request body"}),c.stream||(c.stream=!1)}s()}),await this.registerNamespace("/"),this.app.addHook("preHandler",async(n,o)=>{if(new URL(`http://127.0.0.1${n.url}`).pathname.endsWith("/v1/messages")&&n.body)try{let a=n.body;if(!a||!a.model)return o.code(400).send({error:"Missing model in request body"});let[c,...l]=a.model.split(",");a.model=l.join(","),n.provider=c,n.model=l;return}catch(a){return n.log.error({error:a},"Error in modelProviderMiddleware:"),o.code(500).send({error:"Internal server error"})}});let e=await this.app.listen({port:parseInt(this.configService.get("PORT")||"3000",10),host:this.configService.get("HOST")||"127.0.0.1"});this.app.log.info(`\u{1F680} LLMs API server listening on ${e}`);try{let n={enabled:this.configService.get("ACTIVE_PROBE_ENABLED")??!0,quotaProbeIntervalMinutes:this.configService.get("QUOTA_PROBE_INTERVAL_MINUTES")??10,probeTimeoutMs:this.configService.get("PROBE_TIMEOUT_MS")??15e3,initialDelayMs:this.configService.get("PROBE_INITIAL_DELAY_MS")??5e3,excludeProviders:this.configService.get("EXCLUDE_PROBE_PROVIDERS")??[]};this.activeProbeService=Gd(()=>this.providerService.getProviders(),n,()=>this.configService.getHttpsProxy(),this.app.log)}catch(n){this.app.log.warn?.(`Failed to start active probe service: ${n.message}`)}let r=async n=>{this.app.log.info(`Received ${n}, shutting down gracefully...`);try{Jd()}catch{}await this.app.close(),process.exit(0)};process.on("SIGINT",()=>r("SIGINT")),process.on("SIGTERM",()=>r("SIGTERM"))}catch(e){this.app.log.error(`Error starting server: ${e}`),process.exit(1)}}},IB=rf;export{Qa as ActiveProbeService,Pn as ConfigService,Ys as ProviderHealthStore,Nn as ProviderService,go as SSEParserTransform,Za as SSESerializerTransform,mo as TokenizerService,po as TransformerService,w0 as calculateTokenCount,IB as default,v0 as getActiveProbeService,nD as getAllQuotaResults,Kb as getAllRateLimitInfo,tt as getHealthStore,zd as getQuotaAdapter,Od as getQuotaResult,Vb as getRateLimitInfo,Ub as getRuntimeDebugLog,T0 as pluginManager,AD as resetActiveProbeService,P0 as rewriteStream,Bd as router,k0 as searchProjectBySession,Dd as sessionUsageCache,Lb as setRuntimeDebugLog,Gd as startActiveProbe,Jd as stopActiveProbe,xd as storeQuotaResult,L0 as tokenSpeedPlugin};
|
|
354
354
|
/*! Bundled license information:
|
|
355
355
|
|
|
356
356
|
web-streams-polyfill/dist/ponyfill.es2018.js:
|