@caeliq/llms 1.0.59 → 1.0.60
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/README.md +7 -1
- package/dist/cjs/server.cjs +207 -203
- package/dist/cjs/server.cjs.map +4 -4
- package/dist/esm/server.mjs +207 -203
- package/dist/esm/server.mjs.map +4 -4
- package/dist/routing/inbound-pipeline.d.ts +8 -5
- package/dist/routing/protocol-adapter.d.ts +3 -4
- package/dist/routing/protocol-endpoints.d.ts +14 -2
- package/dist/tests/anthropic.client-policy.d.ts +1 -0
- package/dist/tests/reasoning.effort-levels.d.ts +1 -0
- package/dist/transformer/claude-auth.transformer.d.ts +26 -3
- package/dist/types/llm.d.ts +2 -1
- package/dist/utils/anthropic-client-policy.d.ts +45 -0
- package/dist/utils/anthropic-url.d.ts +1 -0
- package/dist/utils/claude-billing.d.ts +12 -6
- package/dist/utils/claude-model-catalog.d.ts +2 -1
- package/dist/utils/gemini-thinking.d.ts +2 -1
- package/dist/utils/openai.responses.util.d.ts +8 -1
- package/dist/utils/reasoning-effort.d.ts +13 -0
- package/dist/utils/redact.d.ts +1 -0
- package/package.json +2 -2
package/dist/esm/server.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var TT=Object.create;var of=Object.defineProperty;var RT=Object.getOwnPropertyDescriptor;var xT=Object.getOwnPropertyNames;var DT=Object.getPrototypeOf,OT=Object.prototype.hasOwnProperty;var oe=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,n)=>(typeof require<"u"?require:e)[n]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var lr=(t,e,n)=>()=>{if(n)throw n[0];try{return t&&(e=t(t=0)),e}catch(r){throw n=[r],r}};var J=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(n){throw e=0,n}},e0=(t,e)=>{for(var n in e)of(t,n,{get:e[n],enumerable:!0})},PT=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of xT(e))!OT.call(t,o)&&o!==n&&of(t,o,{get:()=>e[o],enumerable:!(r=RT(e,o))||r.enumerable});return t};var In=(t,e,n)=>(n=t!=null?TT(DT(t)):{},PT(e||!t||!t.__esModule?of(n,"default",{value:t,enumerable:!0}):n,t));var n0=J((Dq,sf)=>{"use strict";var IT=/at\s(?:.*\.)?plugin\s.*\n\s*(.*)/,FT=/(\w*(\.\w*)*)\..*/;sf.exports=function(e){if(e.name.length>0)return e.name;let n=Error.stackTraceLimit;Error.stackTraceLimit=10;try{throw new Error("anonymous function")}catch(r){return Error.stackTraceLimit=n,t0(r.stack)}};function t0(t){let e=t.match(IT);return e?e[1].split(/[/\\]/).slice(-1)[0].match(FT)[1]:"anonymous"}sf.exports.extractPluginName=t0});var o0=J((Oq,r0)=>{"use strict";r0.exports=function(e){return e[0]==="@"&&(e=e.slice(1).replace("/","-")),e.replace(/-(.)/g,function(n,r){return r.toUpperCase()})}});var s0=J((Pq,Sa)=>{"use strict";var NT=n0(),MT=o0(),BT=0;function af(t,e={}){let n=!1;if(t.default!==void 0&&(t=t.default),typeof t!="function")throw new TypeError(`fastify-plugin expects a function, instead got a '${typeof t}'`);if(typeof e=="string"&&(e={fastify:e}),typeof e!="object"||Array.isArray(e)||e===null)throw new TypeError("The options object should be an object");if(e.fastify!==void 0&&typeof e.fastify!="string")throw new TypeError(`fastify-plugin expects a version string, instead got '${typeof e.fastify}'`);e.name||(n=!0,e.name=NT(t)+"-auto-"+BT++),t[Symbol.for("skip-override")]=e.encapsulate!==!0,t[Symbol.for("fastify.display-name")]=e.name,t[Symbol.for("plugin-meta")]=e,t.default||(t.default=t);let r=MT(e.name);return!n&&!t[r]&&(t[r]=t),t}Sa.exports=af;Sa.exports.default=af;Sa.exports.fastifyPlugin=af});var i0=J(uf=>{var UT=/^(-?(?:\d+)?\.?\d+) *(m(?:illiseconds?|s(?:ecs?)?))?(s(?:ec(?:onds?|s)?)?)?(m(?:in(?:utes?|s)?)?)?(h(?:ours?|rs?)?)?(d(?:ays?)?)?(w(?:eeks?|ks?)?)?(y(?:ears?|rs?)?)?$/,Ea=1e3,va=Ea*60,Aa=va*60,Js=Aa*24,cf=Js*365.25;function jT(t){var e,n=t.toLowerCase().match(UT);if(n!=null&&(e=parseFloat(n[1])))return n[3]!=null?e*Ea:n[4]!=null?e*va:n[5]!=null?e*Aa:n[6]!=null?e*Js:n[7]!=null?e*Js*7:n[8]!=null?e*cf:e}function Gs(t,e,n,r){var o=(t|0)===t?t:~~(t+.5);return e+o+(r?" "+n+(o!=1?"s":""):n[0])}function LT(t,e){var n=t<0?"-":"",r=t<0?-t:t;return r<Ea?t+(e?" ms":"ms"):r<va?Gs(r/Ea,n,"second",e):r<Aa?Gs(r/va,n,"minute",e):r<Js?Gs(r/Aa,n,"hour",e):r<cf?Gs(r/Js,n,"day",e):Gs(r/cf,n,"year",e)}uf.format=LT;uf.parse=jT});var c0=J(sn=>{"use strict";function Da(t,e){if(typeof t!="number"||!Number.isInteger(t)||t<0)throw new Error("Invalid max value");if(typeof e!="number"||!Number.isInteger(e)||e<0)throw new Error("Invalid ttl value")}var lf=class{constructor(e=1e3,n=0){Da(e,n),this.first=null,this.items=new Map,this.last=null,this.max=e,this.ttl=n}get size(){return this.items.size}clear(){this.items.clear(),this.first=null,this.last=null}delete(e){let n=this.items.get(e);n!==void 0&&(this.items.delete(e),n.prev!==null&&(n.prev.next=n.next),n.next!==null&&(n.next.prev=n.prev),this.first===n&&(this.first=n.next),this.last===n&&(this.last=n.prev))}deleteMany(e){for(var n=0;n<e.length;n++)this.delete(e[n])}evict(){if(this.size>0){let e=this.first;this.items.delete(e.key),this.size===0?(this.first=null,this.last=null):(this.first=e.next,this.first.prev=null)}}expiresAt(e){let n=this.items.get(e);if(n!==void 0)return n.expiry}get(e){let n=this.items.get(e);if(n!==void 0){if(this.ttl>0&&n.expiry<=Date.now()){this.delete(e);return}return n.value}}getMany(e){let n=new Array(e.length);for(var r=0;r<e.length;r++)n[r]=this.get(e[r]);return n}keys(){return this.items.keys()}set(e,n){let r=this.items.get(e);if(r!==void 0){r.value=n,r.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl;return}this.max>0&&this.size>=this.max&&this.evict();let o={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:e,prev:this.last,next:null,value:n};this.items.set(e,o),this.size===1?this.first=o:this.last.next=o,this.last=o}},Ta=class{constructor(e=1e3,n=0){Da(e,n),this.first=null,this.items=Object.create(null),this.last=null,this.size=0,this.max=e,this.ttl=n}clear(){this.items=Object.create(null),this.first=null,this.last=null,this.size=0}delete(e){let n=this.items[e];n!==void 0&&(delete this.items[e],this.size--,n.prev!==null&&(n.prev.next=n.next),n.next!==null&&(n.next.prev=n.prev),this.first===n&&(this.first=n.next),this.last===n&&(this.last=n.prev))}deleteMany(e){for(var n=0;n<e.length;n++)this.delete(e[n])}evict(){if(this.size>0){let e=this.first;delete this.items[e.key],--this.size===0?(this.first=null,this.last=null):(this.first=e.next,this.first.prev=null)}}expiresAt(e){let n=this.items[e];if(n!==void 0)return n.expiry}get(e){let n=this.items[e];if(n!==void 0){if(this.ttl>0&&n.expiry<=Date.now()){this.delete(e);return}return n.value}}getMany(e){let n=new Array(e.length);for(var r=0;r<e.length;r++)n[r]=this.get(e[r]);return n}keys(){return Object.keys(this.items)}set(e,n){let r=this.items[e];if(r!==void 0){r.value=n,r.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl;return}this.max>0&&this.size>=this.max&&this.evict();let o={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:e,prev:this.last,next:null,value:n};this.items[e]=o,++this.size===1?this.first=o:this.last.next=o,this.last=o}};function df(){return{cacheSize:0,hits:0,falsyHits:0,emptyHits:0,misses:0,expirations:0,evictions:0,invalidateOne:0,invalidateAll:0,sets:0}}var Ra=class{constructor(){this.records={}}initForCache(e,n){this.records[e]={[n]:df()}}resetForCache(e){if(this.records[e])for(let n of Object.keys(this.records[e]))this.records[e][n]=df()}getStatistics(){return this.records}},ff=class{constructor(e=1e3,n=0){Da(e,n),this.first=null,this.items=new Map,this.last=null,this.max=e,this.ttl=n}get size(){return this.items.size}bumpLru(e){if(this.last===e)return;let n=this.last,r=e.next,o=e.prev;this.first===e&&(this.first=r),e.next=null,e.prev=n,n.next=e,o!==null&&(o.next=r),r!==null&&(r.prev=o),this.last=e}clear(){this.items.clear(),this.first=null,this.last=null}delete(e){let n=this.items.get(e);n!==void 0&&(this.items.delete(e),n.prev!==null&&(n.prev.next=n.next),n.next!==null&&(n.next.prev=n.prev),this.first===n&&(this.first=n.next),this.last===n&&(this.last=n.prev))}deleteMany(e){for(var n=0;n<e.length;n++)this.delete(e[n])}evict(){if(this.size>0){let e=this.first;this.items.delete(e.key),this.size===0?(this.first=null,this.last=null):(this.first=e.next,this.first.prev=null)}}expiresAt(e){let n=this.items.get(e);if(n!==void 0)return n.expiry}get(e){let n=this.items.get(e);if(n!==void 0){if(this.ttl>0&&n.expiry<=Date.now()){this.delete(e);return}return this.bumpLru(n),n.value}}getMany(e){let n=new Array(e.length);for(var r=0;r<e.length;r++)n[r]=this.get(e[r]);return n}keys(){return this.items.keys()}set(e,n){let r=this.items.get(e);if(r!==void 0){r.value=n,r.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl,this.bumpLru(r);return}this.max>0&&this.size>=this.max&&this.evict();let o={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:e,prev:this.last,next:null,value:n};this.items.set(e,o),this.size===1?this.first=o:this.last.next=o,this.last=o}},Vs=class{constructor(e=1e3,n=0){Da(e,n),this.first=null,this.items=Object.create(null),this.last=null,this.size=0,this.max=e,this.ttl=n}bumpLru(e){if(this.last===e)return;let n=this.last,r=e.next,o=e.prev;this.first===e&&(this.first=r),e.next=null,e.prev=n,n.next=e,o!==null&&(o.next=r),r!==null&&(r.prev=o),this.last=e}clear(){this.items=Object.create(null),this.first=null,this.last=null,this.size=0}delete(e){let n=this.items[e];n!==void 0&&(delete this.items[e],this.size--,n.prev!==null&&(n.prev.next=n.next),n.next!==null&&(n.next.prev=n.prev),this.first===n&&(this.first=n.next),this.last===n&&(this.last=n.prev))}deleteMany(e){for(var n=0;n<e.length;n++)this.delete(e[n])}evict(){if(this.size>0){let e=this.first;delete this.items[e.key],--this.size===0?(this.first=null,this.last=null):(this.first=e.next,this.first.prev=null)}}expiresAt(e){let n=this.items[e];if(n!==void 0)return n.expiry}get(e){let n=this.items[e];if(n!==void 0){if(this.ttl>0&&n.expiry<=Date.now()){this.delete(e);return}return this.bumpLru(n),n.value}}getMany(e){let n=new Array(e.length);for(var r=0;r<e.length;r++)n[r]=this.get(e[r]);return n}keys(){return Object.keys(this.items)}set(e,n){let r=this.items[e];if(r!==void 0){r.value=n,r.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl,this.bumpLru(r);return}this.max>0&&this.size>=this.max&&this.evict();let o={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:e,prev:this.last,next:null,value:n};this.items[e]=o,++this.size===1?this.first=o:this.last.next=o,this.last=o}};function a0(t){return`${t.getFullYear()}-${(t.getMonth()+1).toString().padStart(2,"0")}-${t.getDate().toString().padStart(2,"0")}`}var pf=class{constructor(e,n,r){this.cacheId=e,this.statisticTtlInHours=n,this.collectionStart=new Date,this.currentTimeStamp=a0(this.collectionStart),this.archiveAfter=this.collectionStart.getTime()+this.statisticTtlInHours*36e5,this.records=r||new Ra,this.records.initForCache(this.cacheId,this.currentTimeStamp)}get currentRecord(){let e=this.records.records[this.cacheId];return e[this.currentTimeStamp]||(e[this.currentTimeStamp]=df()),e[this.currentTimeStamp]}hoursPassed(){return(Date.now()-this.collectionStart)/1e3/60/60}addHit(){this.archiveIfNeeded(),this.currentRecord.hits++}addFalsyHit(){this.archiveIfNeeded(),this.currentRecord.falsyHits++}addEmptyHit(){this.archiveIfNeeded(),this.currentRecord.emptyHits++}addMiss(){this.archiveIfNeeded(),this.currentRecord.misses++}addEviction(){this.archiveIfNeeded(),this.currentRecord.evictions++}setCacheSize(e){this.archiveIfNeeded(),this.currentRecord.cacheSize=e}addExpiration(){this.archiveIfNeeded(),this.currentRecord.expirations++}addSet(){this.archiveIfNeeded(),this.currentRecord.sets++}addInvalidateOne(){this.archiveIfNeeded(),this.currentRecord.invalidateOne++}addInvalidateAll(){this.archiveIfNeeded(),this.currentRecord.invalidateAll++}getStatistics(){return this.records.getStatistics()}archiveIfNeeded(){Date.now()>=this.archiveAfter&&(this.collectionStart=new Date,this.currentTimeStamp=a0(this.collectionStart),this.archiveAfter=this.collectionStart.getTime()+this.statisticTtlInHours*36e5,this.records.initForCache(this.cacheId,this.currentTimeStamp))}},xa=class extends Vs{constructor(e,n,r,o,s){if(super(e,n),!r)throw new Error("Cache id is mandatory");this.hitStatistics=new pf(r,s!==void 0?s:24,o)}getStatistics(){return this.hitStatistics.getStatistics()}set(e,n){super.set(e,n),this.hitStatistics.addSet(),this.hitStatistics.setCacheSize(this.size)}evict(){let e=this.size>0;super.evict(),e&&this.hitStatistics.addEviction(),this.hitStatistics.setCacheSize(this.size)}delete(e,n=!1){let r=this.items[e]!==void 0;super.delete(e),r&&!n&&this.hitStatistics.addInvalidateOne(),this.hitStatistics.setCacheSize(this.size)}clear(){super.clear(),this.hitStatistics.addInvalidateAll(),this.hitStatistics.setCacheSize(this.size)}get(e){let n=this.items[e];if(n!==void 0){if(this.ttl>0&&n.expiry<=Date.now()){this.delete(e,!0),this.hitStatistics.addExpiration();return}return this.bumpLru(n),n.value||(this.hitStatistics.addFalsyHit(),(n.value===void 0||n.value===null||n.value==="")&&this.hitStatistics.addEmptyHit()),this.hitStatistics.addHit(),n.value}this.hitStatistics.addMiss()}};sn.Fifo=Ta;sn.FifoMap=lf;sn.FifoObject=Ta;sn.HitStatisticsRecord=Ra;sn.Lru=Vs;sn.LruHitStatistics=xa;sn.LruMap=ff;sn.LruObject=Vs;sn.LruObjectHitStatistics=xa});var l0=J((Nq,u0)=>{"use strict";var{LruMap:qT}=c0();function Oa(t,e,n=5e3){this.continueExceeding=t,this.exponentialBackoff=e,this.lru=new qT(n)}Oa.prototype.incr=function(t,e,n,r){let o=Date.now(),s=this.lru.get(t);if(!s)s={current:1,ttl:n,iterationStartMs:o};else if(s.iterationStartMs+n<=o)s.current=1,s.ttl=n,s.iterationStartMs=o;else if(++s.current,this.continueExceeding&&s.current>r)s.ttl=n,s.iterationStartMs=o;else if(this.exponentialBackoff&&s.current>r){let i=s.current-r-1,c=n*2**i;s.ttl=Number.isSafeInteger(c)?c:Number.MAX_SAFE_INTEGER,s.iterationStartMs=o}else s.ttl=n-(o-s.iterationStartMs);this.lru.set(t,s),e(null,s)};Oa.prototype.child=function(t){return new Oa(t.continueExceeding,t.exponentialBackoff,t.cache)};u0.exports=Oa});var f0=J((Mq,d0)=>{"use strict";var $T=`
|
|
1
|
+
var VT=Object.create;var Ef=Object.defineProperty;var YT=Object.getOwnPropertyDescriptor;var XT=Object.getOwnPropertyNames;var QT=Object.getPrototypeOf,ZT=Object.prototype.hasOwnProperty;var oe=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,n)=>(typeof require<"u"?require:e)[n]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var mr=(t,e,n)=>()=>{if(n)throw n[0];try{return t&&(e=t(t=0)),e}catch(r){throw n=[r],r}};var J=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(n){throw e=0,n}},S0=(t,e)=>{for(var n in e)Ef(t,n,{get:e[n],enumerable:!0})},eR=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of XT(e))!ZT.call(t,o)&&o!==n&&Ef(t,o,{get:()=>e[o],enumerable:!(r=YT(e,o))||r.enumerable});return t};var Bn=(t,e,n)=>(n=t!=null?VT(QT(t)):{},eR(e||!t||!t.__esModule?Ef(n,"default",{value:t,enumerable:!0}):n,t));var A0=J((t2,Af)=>{"use strict";var tR=/at\s(?:.*\.)?plugin\s.*\n\s*(.*)/,nR=/(\w*(\.\w*)*)\..*/;Af.exports=function(e){if(e.name.length>0)return e.name;let n=Error.stackTraceLimit;Error.stackTraceLimit=10;try{throw new Error("anonymous function")}catch(r){return Error.stackTraceLimit=n,E0(r.stack)}};function E0(t){let e=t.match(tR);return e?e[1].split(/[/\\]/).slice(-1)[0].match(nR)[1]:"anonymous"}Af.exports.extractPluginName=E0});var T0=J((n2,v0)=>{"use strict";v0.exports=function(e){return e[0]==="@"&&(e=e.slice(1).replace("/","-")),e.replace(/-(.)/g,function(n,r){return r.toUpperCase()})}});var R0=J((r2,Oa)=>{"use strict";var rR=A0(),oR=T0(),sR=0;function vf(t,e={}){let n=!1;if(t.default!==void 0&&(t=t.default),typeof t!="function")throw new TypeError(`fastify-plugin expects a function, instead got a '${typeof t}'`);if(typeof e=="string"&&(e={fastify:e}),typeof e!="object"||Array.isArray(e)||e===null)throw new TypeError("The options object should be an object");if(e.fastify!==void 0&&typeof e.fastify!="string")throw new TypeError(`fastify-plugin expects a version string, instead got '${typeof e.fastify}'`);e.name||(n=!0,e.name=rR(t)+"-auto-"+sR++),t[Symbol.for("skip-override")]=e.encapsulate!==!0,t[Symbol.for("fastify.display-name")]=e.name,t[Symbol.for("plugin-meta")]=e,t.default||(t.default=t);let r=oR(e.name);return!n&&!t[r]&&(t[r]=t),t}Oa.exports=vf;Oa.exports.default=vf;Oa.exports.fastifyPlugin=vf});var x0=J(Rf=>{var iR=/^(-?(?:\d+)?\.?\d+) *(m(?:illiseconds?|s(?:ecs?)?))?(s(?:ec(?:onds?|s)?)?)?(m(?:in(?:utes?|s)?)?)?(h(?:ours?|rs?)?)?(d(?:ays?)?)?(w(?:eeks?|ks?)?)?(y(?:ears?|rs?)?)?$/,Pa=1e3,Ia=Pa*60,Fa=Ia*60,ni=Fa*24,Tf=ni*365.25;function aR(t){var e,n=t.toLowerCase().match(iR);if(n!=null&&(e=parseFloat(n[1])))return n[3]!=null?e*Pa:n[4]!=null?e*Ia:n[5]!=null?e*Fa:n[6]!=null?e*ni:n[7]!=null?e*ni*7:n[8]!=null?e*Tf:e}function ti(t,e,n,r){var o=(t|0)===t?t:~~(t+.5);return e+o+(r?" "+n+(o!=1?"s":""):n[0])}function cR(t,e){var n=t<0?"-":"",r=t<0?-t:t;return r<Pa?t+(e?" ms":"ms"):r<Ia?ti(r/Pa,n,"second",e):r<Fa?ti(r/Ia,n,"minute",e):r<ni?ti(r/Fa,n,"hour",e):r<Tf?ti(r/ni,n,"day",e):ti(r/Tf,n,"year",e)}Rf.format=cR;Rf.parse=aR});var O0=J(cn=>{"use strict";function Ua(t,e){if(typeof t!="number"||!Number.isInteger(t)||t<0)throw new Error("Invalid max value");if(typeof e!="number"||!Number.isInteger(e)||e<0)throw new Error("Invalid ttl value")}var xf=class{constructor(e=1e3,n=0){Ua(e,n),this.first=null,this.items=new Map,this.last=null,this.max=e,this.ttl=n}get size(){return this.items.size}clear(){this.items.clear(),this.first=null,this.last=null}delete(e){let n=this.items.get(e);n!==void 0&&(this.items.delete(e),n.prev!==null&&(n.prev.next=n.next),n.next!==null&&(n.next.prev=n.prev),this.first===n&&(this.first=n.next),this.last===n&&(this.last=n.prev))}deleteMany(e){for(var n=0;n<e.length;n++)this.delete(e[n])}evict(){if(this.size>0){let e=this.first;this.items.delete(e.key),this.size===0?(this.first=null,this.last=null):(this.first=e.next,this.first.prev=null)}}expiresAt(e){let n=this.items.get(e);if(n!==void 0)return n.expiry}get(e){let n=this.items.get(e);if(n!==void 0){if(this.ttl>0&&n.expiry<=Date.now()){this.delete(e);return}return n.value}}getMany(e){let n=new Array(e.length);for(var r=0;r<e.length;r++)n[r]=this.get(e[r]);return n}keys(){return this.items.keys()}set(e,n){let r=this.items.get(e);if(r!==void 0){r.value=n,r.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl;return}this.max>0&&this.size>=this.max&&this.evict();let o={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:e,prev:this.last,next:null,value:n};this.items.set(e,o),this.size===1?this.first=o:this.last.next=o,this.last=o}},Na=class{constructor(e=1e3,n=0){Ua(e,n),this.first=null,this.items=Object.create(null),this.last=null,this.size=0,this.max=e,this.ttl=n}clear(){this.items=Object.create(null),this.first=null,this.last=null,this.size=0}delete(e){let n=this.items[e];n!==void 0&&(delete this.items[e],this.size--,n.prev!==null&&(n.prev.next=n.next),n.next!==null&&(n.next.prev=n.prev),this.first===n&&(this.first=n.next),this.last===n&&(this.last=n.prev))}deleteMany(e){for(var n=0;n<e.length;n++)this.delete(e[n])}evict(){if(this.size>0){let e=this.first;delete this.items[e.key],--this.size===0?(this.first=null,this.last=null):(this.first=e.next,this.first.prev=null)}}expiresAt(e){let n=this.items[e];if(n!==void 0)return n.expiry}get(e){let n=this.items[e];if(n!==void 0){if(this.ttl>0&&n.expiry<=Date.now()){this.delete(e);return}return n.value}}getMany(e){let n=new Array(e.length);for(var r=0;r<e.length;r++)n[r]=this.get(e[r]);return n}keys(){return Object.keys(this.items)}set(e,n){let r=this.items[e];if(r!==void 0){r.value=n,r.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl;return}this.max>0&&this.size>=this.max&&this.evict();let o={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:e,prev:this.last,next:null,value:n};this.items[e]=o,++this.size===1?this.first=o:this.last.next=o,this.last=o}};function Df(){return{cacheSize:0,hits:0,falsyHits:0,emptyHits:0,misses:0,expirations:0,evictions:0,invalidateOne:0,invalidateAll:0,sets:0}}var Ma=class{constructor(){this.records={}}initForCache(e,n){this.records[e]={[n]:Df()}}resetForCache(e){if(this.records[e])for(let n of Object.keys(this.records[e]))this.records[e][n]=Df()}getStatistics(){return this.records}},Of=class{constructor(e=1e3,n=0){Ua(e,n),this.first=null,this.items=new Map,this.last=null,this.max=e,this.ttl=n}get size(){return this.items.size}bumpLru(e){if(this.last===e)return;let n=this.last,r=e.next,o=e.prev;this.first===e&&(this.first=r),e.next=null,e.prev=n,n.next=e,o!==null&&(o.next=r),r!==null&&(r.prev=o),this.last=e}clear(){this.items.clear(),this.first=null,this.last=null}delete(e){let n=this.items.get(e);n!==void 0&&(this.items.delete(e),n.prev!==null&&(n.prev.next=n.next),n.next!==null&&(n.next.prev=n.prev),this.first===n&&(this.first=n.next),this.last===n&&(this.last=n.prev))}deleteMany(e){for(var n=0;n<e.length;n++)this.delete(e[n])}evict(){if(this.size>0){let e=this.first;this.items.delete(e.key),this.size===0?(this.first=null,this.last=null):(this.first=e.next,this.first.prev=null)}}expiresAt(e){let n=this.items.get(e);if(n!==void 0)return n.expiry}get(e){let n=this.items.get(e);if(n!==void 0){if(this.ttl>0&&n.expiry<=Date.now()){this.delete(e);return}return this.bumpLru(n),n.value}}getMany(e){let n=new Array(e.length);for(var r=0;r<e.length;r++)n[r]=this.get(e[r]);return n}keys(){return this.items.keys()}set(e,n){let r=this.items.get(e);if(r!==void 0){r.value=n,r.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl,this.bumpLru(r);return}this.max>0&&this.size>=this.max&&this.evict();let o={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:e,prev:this.last,next:null,value:n};this.items.set(e,o),this.size===1?this.first=o:this.last.next=o,this.last=o}},ri=class{constructor(e=1e3,n=0){Ua(e,n),this.first=null,this.items=Object.create(null),this.last=null,this.size=0,this.max=e,this.ttl=n}bumpLru(e){if(this.last===e)return;let n=this.last,r=e.next,o=e.prev;this.first===e&&(this.first=r),e.next=null,e.prev=n,n.next=e,o!==null&&(o.next=r),r!==null&&(r.prev=o),this.last=e}clear(){this.items=Object.create(null),this.first=null,this.last=null,this.size=0}delete(e){let n=this.items[e];n!==void 0&&(delete this.items[e],this.size--,n.prev!==null&&(n.prev.next=n.next),n.next!==null&&(n.next.prev=n.prev),this.first===n&&(this.first=n.next),this.last===n&&(this.last=n.prev))}deleteMany(e){for(var n=0;n<e.length;n++)this.delete(e[n])}evict(){if(this.size>0){let e=this.first;delete this.items[e.key],--this.size===0?(this.first=null,this.last=null):(this.first=e.next,this.first.prev=null)}}expiresAt(e){let n=this.items[e];if(n!==void 0)return n.expiry}get(e){let n=this.items[e];if(n!==void 0){if(this.ttl>0&&n.expiry<=Date.now()){this.delete(e);return}return this.bumpLru(n),n.value}}getMany(e){let n=new Array(e.length);for(var r=0;r<e.length;r++)n[r]=this.get(e[r]);return n}keys(){return Object.keys(this.items)}set(e,n){let r=this.items[e];if(r!==void 0){r.value=n,r.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl,this.bumpLru(r);return}this.max>0&&this.size>=this.max&&this.evict();let o={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:e,prev:this.last,next:null,value:n};this.items[e]=o,++this.size===1?this.first=o:this.last.next=o,this.last=o}};function D0(t){return`${t.getFullYear()}-${(t.getMonth()+1).toString().padStart(2,"0")}-${t.getDate().toString().padStart(2,"0")}`}var Pf=class{constructor(e,n,r){this.cacheId=e,this.statisticTtlInHours=n,this.collectionStart=new Date,this.currentTimeStamp=D0(this.collectionStart),this.archiveAfter=this.collectionStart.getTime()+this.statisticTtlInHours*36e5,this.records=r||new Ma,this.records.initForCache(this.cacheId,this.currentTimeStamp)}get currentRecord(){let e=this.records.records[this.cacheId];return e[this.currentTimeStamp]||(e[this.currentTimeStamp]=Df()),e[this.currentTimeStamp]}hoursPassed(){return(Date.now()-this.collectionStart)/1e3/60/60}addHit(){this.archiveIfNeeded(),this.currentRecord.hits++}addFalsyHit(){this.archiveIfNeeded(),this.currentRecord.falsyHits++}addEmptyHit(){this.archiveIfNeeded(),this.currentRecord.emptyHits++}addMiss(){this.archiveIfNeeded(),this.currentRecord.misses++}addEviction(){this.archiveIfNeeded(),this.currentRecord.evictions++}setCacheSize(e){this.archiveIfNeeded(),this.currentRecord.cacheSize=e}addExpiration(){this.archiveIfNeeded(),this.currentRecord.expirations++}addSet(){this.archiveIfNeeded(),this.currentRecord.sets++}addInvalidateOne(){this.archiveIfNeeded(),this.currentRecord.invalidateOne++}addInvalidateAll(){this.archiveIfNeeded(),this.currentRecord.invalidateAll++}getStatistics(){return this.records.getStatistics()}archiveIfNeeded(){Date.now()>=this.archiveAfter&&(this.collectionStart=new Date,this.currentTimeStamp=D0(this.collectionStart),this.archiveAfter=this.collectionStart.getTime()+this.statisticTtlInHours*36e5,this.records.initForCache(this.cacheId,this.currentTimeStamp))}},Ba=class extends ri{constructor(e,n,r,o,s){if(super(e,n),!r)throw new Error("Cache id is mandatory");this.hitStatistics=new Pf(r,s!==void 0?s:24,o)}getStatistics(){return this.hitStatistics.getStatistics()}set(e,n){super.set(e,n),this.hitStatistics.addSet(),this.hitStatistics.setCacheSize(this.size)}evict(){let e=this.size>0;super.evict(),e&&this.hitStatistics.addEviction(),this.hitStatistics.setCacheSize(this.size)}delete(e,n=!1){let r=this.items[e]!==void 0;super.delete(e),r&&!n&&this.hitStatistics.addInvalidateOne(),this.hitStatistics.setCacheSize(this.size)}clear(){super.clear(),this.hitStatistics.addInvalidateAll(),this.hitStatistics.setCacheSize(this.size)}get(e){let n=this.items[e];if(n!==void 0){if(this.ttl>0&&n.expiry<=Date.now()){this.delete(e,!0),this.hitStatistics.addExpiration();return}return this.bumpLru(n),n.value||(this.hitStatistics.addFalsyHit(),(n.value===void 0||n.value===null||n.value==="")&&this.hitStatistics.addEmptyHit()),this.hitStatistics.addHit(),n.value}this.hitStatistics.addMiss()}};cn.Fifo=Na;cn.FifoMap=xf;cn.FifoObject=Na;cn.HitStatisticsRecord=Ma;cn.Lru=ri;cn.LruHitStatistics=Ba;cn.LruMap=Of;cn.LruObject=ri;cn.LruObjectHitStatistics=Ba});var I0=J((i2,P0)=>{"use strict";var{LruMap:uR}=O0();function ja(t,e,n=5e3){this.continueExceeding=t,this.exponentialBackoff=e,this.lru=new uR(n)}ja.prototype.incr=function(t,e,n,r){let o=Date.now(),s=this.lru.get(t);if(!s)s={current:1,ttl:n,iterationStartMs:o};else if(s.iterationStartMs+n<=o)s.current=1,s.ttl=n,s.iterationStartMs=o;else if(++s.current,this.continueExceeding&&s.current>r)s.ttl=n,s.iterationStartMs=o;else if(this.exponentialBackoff&&s.current>r){let i=s.current-r-1,a=n*2**i;s.ttl=Number.isSafeInteger(a)?a:Number.MAX_SAFE_INTEGER,s.iterationStartMs=o}else s.ttl=n-(o-s.iterationStartMs);this.lru.set(t,s),e(null,s)};ja.prototype.child=function(t){return new ja(t.continueExceeding,t.exponentialBackoff,t.cache)};P0.exports=ja});var N0=J((a2,F0)=>{"use strict";var lR=`
|
|
2
2
|
-- Key to operate on
|
|
3
3
|
local key = KEYS[1]
|
|
4
4
|
-- Time window for the TTL
|
|
@@ -27,330 +27,334 @@ var TT=Object.create;var of=Object.defineProperty;var RT=Object.getOwnPropertyDe
|
|
|
27
27
|
end
|
|
28
28
|
|
|
29
29
|
return {current, timeWindow}
|
|
30
|
-
`;function Pa(t,e,n,r="fastify-rate-limit-"){this.continueExceeding=t,this.exponentialBackoff=e,this.redis=n,this.key=r,this.redis.rateLimit||this.redis.defineCommand("rateLimit",{numberOfKeys:1,lua:$T})}Pa.prototype.incr=function(t,e,n,r){this.redis.rateLimit(this.key+t,n,r,this.continueExceeding,this.exponentialBackoff,(o,s)=>{o?e(o,null):e(null,{current:s[0],ttl:s[1]})})};Pa.prototype.child=function(t){return new Pa(t.continueExceeding,t.exponentialBackoff,this.redis,`${this.key}${t.routeInfo.method}${t.routeInfo.url}-`)};d0.exports=Pa});var w0=J((Bq,Ia)=>{"use strict";var zT=s0(),{parse:m0,format:HT}=i0(),WT=l0(),GT=f0(),g0=1e3,y0=6e4,JT="onRequest",VT={rateLimit:"x-ratelimit-limit",rateRemaining:"x-ratelimit-remaining",rateReset:"x-ratelimit-reset",retryAfter:"retry-after"},KT={rateLimit:"ratelimit-limit",rateRemaining:"ratelimit-remaining",rateReset:"ratelimit-reset",retryAfter:"retry-after"},hf=()=>{},YT=t=>t.ip,XT=(t,e)=>{let n=new Error(`Rate limit exceeded, retry in ${e.after}`);return n.statusCode=e.statusCode,n};async function mf(t,e){let n={global:typeof e.global=="boolean"?e.global:!0};typeof e.enableDraftSpec=="boolean"&&e.enableDraftSpec?(n.enableDraftSpec=!0,n.labels=KT):(n.enableDraftSpec=!1,n.labels=VT),n.addHeaders=Object.assign({[n.labels.rateLimit]:!0,[n.labels.rateRemaining]:!0,[n.labels.rateReset]:!0,[n.labels.retryAfter]:!0},e.addHeaders),n.addHeadersOnExceeding=Object.assign({[n.labels.rateLimit]:!0,[n.labels.rateRemaining]:!0,[n.labels.rateReset]:!0},e.addHeadersOnExceeding),Number.isFinite(e.max)&&e.max>=0?n.max=Math.trunc(e.max):typeof e.max=="function"?n.max=e.max:n.max=g0,Number.isFinite(e.timeWindow)&&e.timeWindow>=0?n.timeWindow=Math.trunc(e.timeWindow):typeof e.timeWindow=="string"?n.timeWindow=m0(e.timeWindow):typeof e.timeWindow=="function"?n.timeWindow=e.timeWindow:n.timeWindow=y0,n.hook=e.hook||JT,n.allowList=e.allowList||e.whitelist||null,n.ban=Number.isFinite(e.ban)&&e.ban>=0?Math.trunc(e.ban):-1,n.onBanReach=typeof e.onBanReach=="function"?e.onBanReach:hf,n.onExceeding=typeof e.onExceeding=="function"?e.onExceeding:hf,n.onExceeded=typeof e.onExceeded=="function"?e.onExceeded:hf,n.continueExceeding=typeof e.continueExceeding=="boolean"?e.continueExceeding:!1,n.exponentialBackoff=typeof e.exponentialBackoff=="boolean"?e.exponentialBackoff:!1,n.keyGenerator=typeof e.keyGenerator=="function"?e.keyGenerator:YT,typeof e.errorResponseBuilder=="function"?(n.errorResponseBuilder=e.errorResponseBuilder,n.isCustomErrorMessage=!0):(n.errorResponseBuilder=XT,n.isCustomErrorMessage=!1),n.skipOnError=typeof e.skipOnError=="boolean"?e.skipOnError:!1;let r={rateLimitRan:Symbol("fastify.request.rateLimitRan"),store:null};if(e.store){let o=e.store;r.store=new o(n)}else e.redis?r.store=new GT(n.continueExceeding,n.exponentialBackoff,e.redis,e.nameSpace):r.store=new WT(n.continueExceeding,n.exponentialBackoff,e.cache);t.decorateRequest(r.rateLimitRan,!1),t.hasDecorator("createRateLimit")||t.decorate("createRateLimit",o=>{let s=p0(r,n,o);return i=>b0.apply(this,s.concat(i))}),t.hasDecorator("rateLimit")||t.decorate("rateLimit",o=>{let s=p0(r,n,o);return C0(...s)}),t.addHook("onRoute",o=>{if(o.config?.rateLimit!=null){if(typeof o.config.rateLimit=="object"){let s=Object.create(r),i=_0(n,o.config.rateLimit,{routeInfo:o});s.store=r.store.child(i),h0(s,i,o)}else if(o.config.rateLimit!==!1)throw new Error("Unknown value for route rate-limit configuration")}else n.global&&h0(r,n,o)})}function _0(...t){let e=Object.assign({},...t);if(Number.isFinite(e.timeWindow)&&e.timeWindow>=0?e.timeWindow=Math.trunc(e.timeWindow):typeof e.timeWindow=="string"?e.timeWindow=m0(e.timeWindow):typeof e.timeWindow!="function"&&(e.timeWindow=y0),Number.isFinite(e.max)&&e.max>=0?e.max=Math.trunc(e.max):typeof e.max!="function"&&(e.max=g0),Number.isFinite(e.ban)&&e.ban>=0?e.ban=Math.trunc(e.ban):e.ban=-1,e.groupId!==void 0&&typeof e.groupId!="string")throw new Error("groupId must be a string");return e}function p0(t,e,n){if(typeof n=="object"){let r=Object.create(t),o=_0(e,n,{routeInfo:{}});return r.store=r.store.child(o),[r,o]}return[t,e]}function h0(t,e,n){let r=e.hook,o=C0(t,e);Array.isArray(n[r])?n[r].push(o):typeof n[r]=="function"?n[r]=[n[r],o]:n[r]=[o]}async function b0(t,e,n){let{store:r}=t,o=await e.keyGenerator(n),s=n.routeOptions.config?.rateLimit?.groupId;if(s&&(o+=s),e.allowList){if(typeof e.allowList=="function"){if(await e.allowList(n,o))return{isAllowed:!0,key:o}}else if(e.allowList.indexOf(o)!==-1)return{isAllowed:!0,key:o}}let i=typeof e.max=="number"?e.max:await e.max(n,o),c=typeof e.timeWindow=="number"?e.timeWindow:await e.timeWindow(n,o),u=0,f=0,d=0;try{let p=await new Promise((h,_)=>{r.incr(o,(b,y)=>{b?_(b):h(y)},c,i)});u=p.current,f=p.ttl,d=Math.ceil(p.ttl/1e3)}catch(p){if(!e.skipOnError)throw p}return{isAllowed:!1,key:o,max:i,timeWindow:c,remaining:Math.max(0,i-u),ttl:f,ttlInSeconds:d,isExceeded:u>i,isBanned:e.ban!==-1&&u-i>e.ban}}function C0(t,e){let{rateLimitRan:n}=t;return async(r,o)=>{if(r[n])return;r[n]=!0;let s=await b0(t,e,r);if(s.isAllowed)return;let{key:i,max:c,remaining:u,ttl:f,ttlInSeconds:d,isExceeded:p,isBanned:h}=s;if(!p){e.addHeadersOnExceeding[e.labels.rateLimit]&&o.header(e.labels.rateLimit,c),e.addHeadersOnExceeding[e.labels.rateRemaining]&&o.header(e.labels.rateRemaining,u),e.addHeadersOnExceeding[e.labels.rateReset]&&o.header(e.labels.rateReset,d),e.onExceeding(r,i);return}e.onExceeded(r,i),e.addHeaders[e.labels.rateLimit]&&o.header(e.labels.rateLimit,c),e.addHeaders[e.labels.rateRemaining]&&o.header(e.labels.rateRemaining,0),e.addHeaders[e.labels.rateReset]&&o.header(e.labels.rateReset,d),e.addHeaders[e.labels.retryAfter]&&o.header(e.labels.retryAfter,d);let _={statusCode:429,ban:!1,max:c,ttl:f,after:HT(d*1e3,!0)};throw h&&(_.statusCode=403,_.ban=!0,e.onBanReach(r,i)),e.errorResponseBuilder(r,_)}}Ia.exports=zT(mf,{fastify:"5.x",name:"@fastify/rate-limit"});Ia.exports.default=mf;Ia.exports.fastifyRateLimit=mf});var k0=J((Uq,Fa)=>{Fa.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/;Fa.exports.ID_Start=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;Fa.exports.ID_Continue=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/});var yf=J((jq,S0)=>{var gf=k0();S0.exports={isSpaceSeparator(t){return typeof t=="string"&&gf.Space_Separator.test(t)},isIdStartChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="$"||t==="_"||gf.ID_Start.test(t))},isIdContinueChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t>="0"&&t<="9"||t==="$"||t==="_"||t==="\u200C"||t==="\u200D"||gf.ID_Continue.test(t))},isDigit(t){return typeof t=="string"&&/[0-9]/.test(t)},isHexDigit(t){return typeof t=="string"&&/[0-9A-Fa-f]/.test(t)}}});var R0=J((Lq,T0)=>{var et=yf(),bf,ft,Nn,Ma,dr,$t,tt,kf,Ys;T0.exports=function(e,n){bf=String(e),ft="start",Nn=[],Ma=0,dr=1,$t=0,tt=void 0,kf=void 0,Ys=void 0;do tt=QT(),tR[ft]();while(tt.type!=="eof");return typeof n=="function"?Cf({"":Ys},"",n):Ys};function Cf(t,e,n){let r=t[e];if(r!=null&&typeof r=="object")if(Array.isArray(r))for(let o=0;o<r.length;o++){let s=String(o),i=Cf(r,s,n);i===void 0?delete r[s]:Object.defineProperty(r,s,{value:i,writable:!0,enumerable:!0,configurable:!0})}else for(let o in r){let s=Cf(r,o,n);s===void 0?delete r[o]:Object.defineProperty(r,o,{value:s,writable:!0,enumerable:!0,configurable:!0})}return n.call(t,e,r)}var Ee,we,Ks,Fn,Ae;function QT(){for(Ee="default",we="",Ks=!1,Fn=1;;){Ae=Mn();let t=v0[Ee]();if(t)return t}}function Mn(){if(bf[Ma])return String.fromCodePoint(bf.codePointAt(Ma))}function V(){let t=Mn();return t===`
|
|
31
|
-
`?(
|
|
32
|
-
`:case"\r":case"\u2028":case"\u2029":
|
|
33
|
-
`:case"\r":case"\u2028":case"\u2029":
|
|
34
|
-
`:case"\r":throw qe(
|
|
35
|
-
`;case"r":return
|
|
36
|
-
`:case"\u2028":case"\u2029":return
|
|
37
|
-
`&&
|
|
38
|
-
`+s;T=
|
|
30
|
+
`;function La(t,e,n,r="fastify-rate-limit-"){this.continueExceeding=t,this.exponentialBackoff=e,this.redis=n,this.key=r,this.redis.rateLimit||this.redis.defineCommand("rateLimit",{numberOfKeys:1,lua:lR})}La.prototype.incr=function(t,e,n,r){this.redis.rateLimit(this.key+t,n,r,this.continueExceeding,this.exponentialBackoff,(o,s)=>{o?e(o,null):e(null,{current:s[0],ttl:s[1]})})};La.prototype.child=function(t){return new La(t.continueExceeding,t.exponentialBackoff,this.redis,`${this.key}${t.routeInfo.method}${t.routeInfo.url}-`)};F0.exports=La});var H0=J((c2,qa)=>{"use strict";var dR=R0(),{parse:U0,format:fR}=x0(),pR=I0(),hR=N0(),j0=1e3,L0=6e4,mR="onRequest",gR={rateLimit:"x-ratelimit-limit",rateRemaining:"x-ratelimit-remaining",rateReset:"x-ratelimit-reset",retryAfter:"retry-after"},yR={rateLimit:"ratelimit-limit",rateRemaining:"ratelimit-remaining",rateReset:"ratelimit-reset",retryAfter:"retry-after"},If=()=>{},_R=t=>t.ip,bR=(t,e)=>{let n=new Error(`Rate limit exceeded, retry in ${e.after}`);return n.statusCode=e.statusCode,n};async function Ff(t,e){let n={global:typeof e.global=="boolean"?e.global:!0};typeof e.enableDraftSpec=="boolean"&&e.enableDraftSpec?(n.enableDraftSpec=!0,n.labels=yR):(n.enableDraftSpec=!1,n.labels=gR),n.addHeaders=Object.assign({[n.labels.rateLimit]:!0,[n.labels.rateRemaining]:!0,[n.labels.rateReset]:!0,[n.labels.retryAfter]:!0},e.addHeaders),n.addHeadersOnExceeding=Object.assign({[n.labels.rateLimit]:!0,[n.labels.rateRemaining]:!0,[n.labels.rateReset]:!0},e.addHeadersOnExceeding),Number.isFinite(e.max)&&e.max>=0?n.max=Math.trunc(e.max):typeof e.max=="function"?n.max=e.max:n.max=j0,Number.isFinite(e.timeWindow)&&e.timeWindow>=0?n.timeWindow=Math.trunc(e.timeWindow):typeof e.timeWindow=="string"?n.timeWindow=U0(e.timeWindow):typeof e.timeWindow=="function"?n.timeWindow=e.timeWindow:n.timeWindow=L0,n.hook=e.hook||mR,n.allowList=e.allowList||e.whitelist||null,n.ban=Number.isFinite(e.ban)&&e.ban>=0?Math.trunc(e.ban):-1,n.onBanReach=typeof e.onBanReach=="function"?e.onBanReach:If,n.onExceeding=typeof e.onExceeding=="function"?e.onExceeding:If,n.onExceeded=typeof e.onExceeded=="function"?e.onExceeded:If,n.continueExceeding=typeof e.continueExceeding=="boolean"?e.continueExceeding:!1,n.exponentialBackoff=typeof e.exponentialBackoff=="boolean"?e.exponentialBackoff:!1,n.keyGenerator=typeof e.keyGenerator=="function"?e.keyGenerator:_R,typeof e.errorResponseBuilder=="function"?(n.errorResponseBuilder=e.errorResponseBuilder,n.isCustomErrorMessage=!0):(n.errorResponseBuilder=bR,n.isCustomErrorMessage=!1),n.skipOnError=typeof e.skipOnError=="boolean"?e.skipOnError:!1;let r={rateLimitRan:Symbol("fastify.request.rateLimitRan"),store:null};if(e.store){let o=e.store;r.store=new o(n)}else e.redis?r.store=new hR(n.continueExceeding,n.exponentialBackoff,e.redis,e.nameSpace):r.store=new pR(n.continueExceeding,n.exponentialBackoff,e.cache);t.decorateRequest(r.rateLimitRan,!1),t.hasDecorator("createRateLimit")||t.decorate("createRateLimit",o=>{let s=M0(r,n,o);return i=>$0.apply(this,s.concat(i))}),t.hasDecorator("rateLimit")||t.decorate("rateLimit",o=>{let s=M0(r,n,o);return z0(...s)}),t.addHook("onRoute",o=>{if(o.config?.rateLimit!=null){if(typeof o.config.rateLimit=="object"){let s=Object.create(r),i=q0(n,o.config.rateLimit,{routeInfo:o});s.store=r.store.child(i),B0(s,i,o)}else if(o.config.rateLimit!==!1)throw new Error("Unknown value for route rate-limit configuration")}else n.global&&B0(r,n,o)})}function q0(...t){let e=Object.assign({},...t);if(Number.isFinite(e.timeWindow)&&e.timeWindow>=0?e.timeWindow=Math.trunc(e.timeWindow):typeof e.timeWindow=="string"?e.timeWindow=U0(e.timeWindow):typeof e.timeWindow!="function"&&(e.timeWindow=L0),Number.isFinite(e.max)&&e.max>=0?e.max=Math.trunc(e.max):typeof e.max!="function"&&(e.max=j0),Number.isFinite(e.ban)&&e.ban>=0?e.ban=Math.trunc(e.ban):e.ban=-1,e.groupId!==void 0&&typeof e.groupId!="string")throw new Error("groupId must be a string");return e}function M0(t,e,n){if(typeof n=="object"){let r=Object.create(t),o=q0(e,n,{routeInfo:{}});return r.store=r.store.child(o),[r,o]}return[t,e]}function B0(t,e,n){let r=e.hook,o=z0(t,e);Array.isArray(n[r])?n[r].push(o):typeof n[r]=="function"?n[r]=[n[r],o]:n[r]=[o]}async function $0(t,e,n){let{store:r}=t,o=await e.keyGenerator(n),s=n.routeOptions.config?.rateLimit?.groupId;if(s&&(o+=s),e.allowList){if(typeof e.allowList=="function"){if(await e.allowList(n,o))return{isAllowed:!0,key:o}}else if(e.allowList.indexOf(o)!==-1)return{isAllowed:!0,key:o}}let i=typeof e.max=="number"?e.max:await e.max(n,o),a=typeof e.timeWindow=="number"?e.timeWindow:await e.timeWindow(n,o),u=0,d=0,f=0;try{let h=await new Promise((p,b)=>{r.incr(o,(C,m)=>{C?b(C):p(m)},a,i)});u=h.current,d=h.ttl,f=Math.ceil(h.ttl/1e3)}catch(h){if(!e.skipOnError)throw h}return{isAllowed:!1,key:o,max:i,timeWindow:a,remaining:Math.max(0,i-u),ttl:d,ttlInSeconds:f,isExceeded:u>i,isBanned:e.ban!==-1&&u-i>e.ban}}function z0(t,e){let{rateLimitRan:n}=t;return async(r,o)=>{if(r[n])return;r[n]=!0;let s=await $0(t,e,r);if(s.isAllowed)return;let{key:i,max:a,remaining:u,ttl:d,ttlInSeconds:f,isExceeded:h,isBanned:p}=s;if(!h){e.addHeadersOnExceeding[e.labels.rateLimit]&&o.header(e.labels.rateLimit,a),e.addHeadersOnExceeding[e.labels.rateRemaining]&&o.header(e.labels.rateRemaining,u),e.addHeadersOnExceeding[e.labels.rateReset]&&o.header(e.labels.rateReset,f),e.onExceeding(r,i);return}e.onExceeded(r,i),e.addHeaders[e.labels.rateLimit]&&o.header(e.labels.rateLimit,a),e.addHeaders[e.labels.rateRemaining]&&o.header(e.labels.rateRemaining,0),e.addHeaders[e.labels.rateReset]&&o.header(e.labels.rateReset,f),e.addHeaders[e.labels.retryAfter]&&o.header(e.labels.retryAfter,f);let b={statusCode:429,ban:!1,max:a,ttl:d,after:fR(f*1e3,!0)};throw p&&(b.statusCode=403,b.ban=!0,e.onBanReach(r,i)),e.errorResponseBuilder(r,b)}}qa.exports=dR(Ff,{fastify:"5.x",name:"@fastify/rate-limit"});qa.exports.default=Ff;qa.exports.fastifyRateLimit=Ff});var W0=J((u2,$a)=>{$a.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/;$a.exports.ID_Start=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;$a.exports.ID_Continue=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/});var Mf=J((l2,G0)=>{var Nf=W0();G0.exports={isSpaceSeparator(t){return typeof t=="string"&&Nf.Space_Separator.test(t)},isIdStartChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="$"||t==="_"||Nf.ID_Start.test(t))},isIdContinueChar(t){return typeof t=="string"&&(t>="a"&&t<="z"||t>="A"&&t<="Z"||t>="0"&&t<="9"||t==="$"||t==="_"||t==="\u200C"||t==="\u200D"||Nf.ID_Continue.test(t))},isDigit(t){return typeof t=="string"&&/[0-9]/.test(t)},isHexDigit(t){return typeof t=="string"&&/[0-9A-Fa-f]/.test(t)}}});var X0=J((d2,Y0)=>{var et=Mf(),Uf,ft,jn,Ha,gr,Ht,tt,qf,si;Y0.exports=function(e,n){Uf=String(e),ft="start",jn=[],Ha=0,gr=1,Ht=0,tt=void 0,qf=void 0,si=void 0;do tt=CR(),SR[ft]();while(tt.type!=="eof");return typeof n=="function"?jf({"":si},"",n):si};function jf(t,e,n){let r=t[e];if(r!=null&&typeof r=="object")if(Array.isArray(r))for(let o=0;o<r.length;o++){let s=String(o),i=jf(r,s,n);i===void 0?delete r[s]:Object.defineProperty(r,s,{value:i,writable:!0,enumerable:!0,configurable:!0})}else for(let o in r){let s=jf(r,o,n);s===void 0?delete r[o]:Object.defineProperty(r,o,{value:s,writable:!0,enumerable:!0,configurable:!0})}return n.call(t,e,r)}var Ee,we,oi,Un,ve;function CR(){for(Ee="default",we="",oi=!1,Un=1;;){ve=Ln();let t=K0[Ee]();if(t)return t}}function Ln(){if(Uf[Ha])return String.fromCodePoint(Uf.codePointAt(Ha))}function K(){let t=Ln();return t===`
|
|
31
|
+
`?(gr++,Ht=0):t?Ht+=t.length:Ht++,t&&(Ha+=t.length),t}var K0={default(){switch(ve){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
|
|
32
|
+
`:case"\r":case"\u2028":case"\u2029":K();return;case"/":K(),Ee="comment";return;case void 0:return K(),Le("eof")}if(et.isSpaceSeparator(ve)){K();return}return K0[ft]()},comment(){switch(ve){case"*":K(),Ee="multiLineComment";return;case"/":K(),Ee="singleLineComment";return}throw qe(K())},multiLineComment(){switch(ve){case"*":K(),Ee="multiLineCommentAsterisk";return;case void 0:throw qe(K())}K()},multiLineCommentAsterisk(){switch(ve){case"*":K();return;case"/":K(),Ee="default";return;case void 0:throw qe(K())}K(),Ee="multiLineComment"},singleLineComment(){switch(ve){case`
|
|
33
|
+
`:case"\r":case"\u2028":case"\u2029":K(),Ee="default";return;case void 0:return K(),Le("eof")}K()},value(){switch(ve){case"{":case"[":return Le("punctuator",K());case"n":return K(),zr("ull"),Le("null",null);case"t":return K(),zr("rue"),Le("boolean",!0);case"f":return K(),zr("alse"),Le("boolean",!1);case"-":case"+":K()==="-"&&(Un=-1),Ee="sign";return;case".":we=K(),Ee="decimalPointLeading";return;case"0":we=K(),Ee="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":we=K(),Ee="decimalInteger";return;case"I":return K(),zr("nfinity"),Le("numeric",1/0);case"N":return K(),zr("aN"),Le("numeric",NaN);case'"':case"'":oi=K()==='"',we="",Ee="string";return}throw qe(K())},identifierNameStartEscape(){if(ve!=="u")throw qe(K());K();let t=Lf();switch(t){case"$":case"_":break;default:if(!et.isIdStartChar(t))throw J0();break}we+=t,Ee="identifierName"},identifierName(){switch(ve){case"$":case"_":case"\u200C":case"\u200D":we+=K();return;case"\\":K(),Ee="identifierNameEscape";return}if(et.isIdContinueChar(ve)){we+=K();return}return Le("identifier",we)},identifierNameEscape(){if(ve!=="u")throw qe(K());K();let t=Lf();switch(t){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!et.isIdContinueChar(t))throw J0();break}we+=t,Ee="identifierName"},sign(){switch(ve){case".":we=K(),Ee="decimalPointLeading";return;case"0":we=K(),Ee="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":we=K(),Ee="decimalInteger";return;case"I":return K(),zr("nfinity"),Le("numeric",Un*(1/0));case"N":return K(),zr("aN"),Le("numeric",NaN)}throw qe(K())},zero(){switch(ve){case".":we+=K(),Ee="decimalPoint";return;case"e":case"E":we+=K(),Ee="decimalExponent";return;case"x":case"X":we+=K(),Ee="hexadecimal";return}return Le("numeric",Un*0)},decimalInteger(){switch(ve){case".":we+=K(),Ee="decimalPoint";return;case"e":case"E":we+=K(),Ee="decimalExponent";return}if(et.isDigit(ve)){we+=K();return}return Le("numeric",Un*Number(we))},decimalPointLeading(){if(et.isDigit(ve)){we+=K(),Ee="decimalFraction";return}throw qe(K())},decimalPoint(){switch(ve){case"e":case"E":we+=K(),Ee="decimalExponent";return}if(et.isDigit(ve)){we+=K(),Ee="decimalFraction";return}return Le("numeric",Un*Number(we))},decimalFraction(){switch(ve){case"e":case"E":we+=K(),Ee="decimalExponent";return}if(et.isDigit(ve)){we+=K();return}return Le("numeric",Un*Number(we))},decimalExponent(){switch(ve){case"+":case"-":we+=K(),Ee="decimalExponentSign";return}if(et.isDigit(ve)){we+=K(),Ee="decimalExponentInteger";return}throw qe(K())},decimalExponentSign(){if(et.isDigit(ve)){we+=K(),Ee="decimalExponentInteger";return}throw qe(K())},decimalExponentInteger(){if(et.isDigit(ve)){we+=K();return}return Le("numeric",Un*Number(we))},hexadecimal(){if(et.isHexDigit(ve)){we+=K(),Ee="hexadecimalInteger";return}throw qe(K())},hexadecimalInteger(){if(et.isHexDigit(ve)){we+=K();return}return Le("numeric",Un*Number(we))},string(){switch(ve){case"\\":K(),we+=wR();return;case'"':if(oi)return K(),Le("string",we);we+=K();return;case"'":if(!oi)return K(),Le("string",we);we+=K();return;case`
|
|
34
|
+
`:case"\r":throw qe(K());case"\u2028":case"\u2029":ER(ve);break;case void 0:throw qe(K())}we+=K()},start(){switch(ve){case"{":case"[":return Le("punctuator",K())}Ee="value"},beforePropertyName(){switch(ve){case"$":case"_":we=K(),Ee="identifierName";return;case"\\":K(),Ee="identifierNameStartEscape";return;case"}":return Le("punctuator",K());case'"':case"'":oi=K()==='"',Ee="string";return}if(et.isIdStartChar(ve)){we+=K(),Ee="identifierName";return}throw qe(K())},afterPropertyName(){if(ve===":")return Le("punctuator",K());throw qe(K())},beforePropertyValue(){Ee="value"},afterPropertyValue(){switch(ve){case",":case"}":return Le("punctuator",K())}throw qe(K())},beforeArrayValue(){if(ve==="]")return Le("punctuator",K());Ee="value"},afterArrayValue(){switch(ve){case",":case"]":return Le("punctuator",K())}throw qe(K())},end(){throw qe(K())}};function Le(t,e){return{type:t,value:e,line:gr,column:Ht}}function zr(t){for(let e of t){if(Ln()!==e)throw qe(K());K()}}function wR(){switch(Ln()){case"b":return K(),"\b";case"f":return K(),"\f";case"n":return K(),`
|
|
35
|
+
`;case"r":return K(),"\r";case"t":return K()," ";case"v":return K(),"\v";case"0":if(K(),et.isDigit(Ln()))throw qe(K());return"\0";case"x":return K(),kR();case"u":return K(),Lf();case`
|
|
36
|
+
`:case"\u2028":case"\u2029":return K(),"";case"\r":return K(),Ln()===`
|
|
37
|
+
`&&K(),"";case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":throw qe(K());case void 0:throw qe(K())}return K()}function kR(){let t="",e=Ln();if(!et.isHexDigit(e)||(t+=K(),e=Ln(),!et.isHexDigit(e)))throw qe(K());return t+=K(),String.fromCodePoint(parseInt(t,16))}function Lf(){let t="",e=4;for(;e-- >0;){let n=Ln();if(!et.isHexDigit(n))throw qe(K());t+=K()}return String.fromCodePoint(parseInt(t,16))}var SR={start(){if(tt.type==="eof")throw Hr();Bf()},beforePropertyName(){switch(tt.type){case"identifier":case"string":qf=tt.value,ft="afterPropertyName";return;case"punctuator":za();return;case"eof":throw Hr()}},afterPropertyName(){if(tt.type==="eof")throw Hr();ft="beforePropertyValue"},beforePropertyValue(){if(tt.type==="eof")throw Hr();Bf()},beforeArrayValue(){if(tt.type==="eof")throw Hr();if(tt.type==="punctuator"&&tt.value==="]"){za();return}Bf()},afterPropertyValue(){if(tt.type==="eof")throw Hr();switch(tt.value){case",":ft="beforePropertyName";return;case"}":za()}},afterArrayValue(){if(tt.type==="eof")throw Hr();switch(tt.value){case",":ft="beforeArrayValue";return;case"]":za()}},end(){}};function Bf(){let t;switch(tt.type){case"punctuator":switch(tt.value){case"{":t={};break;case"[":t=[];break}break;case"null":case"boolean":case"numeric":case"string":t=tt.value;break}if(si===void 0)si=t;else{let e=jn[jn.length-1];Array.isArray(e)?e.push(t):Object.defineProperty(e,qf,{value:t,writable:!0,enumerable:!0,configurable:!0})}if(t!==null&&typeof t=="object")jn.push(t),Array.isArray(t)?ft="beforeArrayValue":ft="beforePropertyName";else{let e=jn[jn.length-1];e==null?ft="end":Array.isArray(e)?ft="afterArrayValue":ft="afterPropertyValue"}}function za(){jn.pop();let t=jn[jn.length-1];t==null?ft="end":Array.isArray(t)?ft="afterArrayValue":ft="afterPropertyValue"}function qe(t){return Wa(t===void 0?`JSON5: invalid end of input at ${gr}:${Ht}`:`JSON5: invalid character '${V0(t)}' at ${gr}:${Ht}`)}function Hr(){return Wa(`JSON5: invalid end of input at ${gr}:${Ht}`)}function J0(){return Ht-=5,Wa(`JSON5: invalid identifier character at ${gr}:${Ht}`)}function ER(t){console.warn(`JSON5: '${V0(t)}' in strings is not valid ECMAScript; consider escaping`)}function V0(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 n=t.charCodeAt(0).toString(16);return"\\x"+("00"+n).substring(n.length)}return t}function Wa(t){let e=new SyntaxError(t);return e.lineNumber=gr,e.columnNumber=Ht,e}});var Z0=J((f2,Q0)=>{var $f=Mf();Q0.exports=function(e,n,r){let o=[],s="",i,a,u="",d;if(n!=null&&typeof n=="object"&&!Array.isArray(n)&&(r=n.space,d=n.quote,n=n.replacer),typeof n=="function")a=n;else if(Array.isArray(n)){i=[];for(let m of n){let w;typeof m=="string"?w=m:(typeof m=="number"||m instanceof String||m instanceof Number)&&(w=String(m)),w!==void 0&&i.indexOf(w)<0&&i.push(w)}}return r instanceof Number?r=Number(r):r instanceof String&&(r=String(r)),typeof r=="number"?r>0&&(r=Math.min(10,Math.floor(r)),u=" ".substr(0,r)):typeof r=="string"&&(u=r.substr(0,10)),f("",{"":e});function f(m,w){let _=w[m];switch(_!=null&&(typeof _.toJSON5=="function"?_=_.toJSON5(m):typeof _.toJSON=="function"&&(_=_.toJSON(m))),a&&(_=a.call(w,m,_)),_ instanceof Number?_=Number(_):_ instanceof String?_=String(_):_ instanceof Boolean&&(_=_.valueOf()),_){case null:return"null";case!0:return"true";case!1:return"false"}if(typeof _=="string")return h(_,!1);if(typeof _=="number")return String(_);if(typeof _=="object")return Array.isArray(_)?C(_):p(_)}function h(m){let w={"'":.1,'"':.2},_={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"},A="";for(let T=0;T<m.length;T++){let x=m[T];switch(x){case"'":case'"':w[x]++,A+=x;continue;case"\0":if($f.isDigit(m[T+1])){A+="\\x00";continue}}if(_[x]){A+=_[x];continue}if(x<" "){let O=x.charCodeAt(0).toString(16);A+="\\x"+("00"+O).substring(O.length);continue}A+=x}let S=d||Object.keys(w).reduce((T,x)=>w[T]<w[x]?T:x);return A=A.replace(new RegExp(S,"g"),_[S]),S+A+S}function p(m){if(o.indexOf(m)>=0)throw TypeError("Converting circular structure to JSON5");o.push(m);let w=s;s=s+u;let _=i||Object.keys(m),A=[];for(let T of _){let x=f(T,m);if(x!==void 0){let O=b(T)+":";u!==""&&(O+=" "),O+=x,A.push(O)}}let S;if(A.length===0)S="{}";else{let T;if(u==="")T=A.join(","),S="{"+T+"}";else{let x=`,
|
|
38
|
+
`+s;T=A.join(x),S=`{
|
|
39
39
|
`+s+T+`,
|
|
40
|
-
`+w+"}"}}return o.pop(),s=w,
|
|
41
|
-
`+s,T=
|
|
40
|
+
`+w+"}"}}return o.pop(),s=w,S}function b(m){if(m.length===0)return h(m,!0);let w=String.fromCodePoint(m.codePointAt(0));if(!$f.isIdStartChar(w))return h(m,!0);for(let _=w.length;_<m.length;_++)if(!$f.isIdContinueChar(String.fromCodePoint(m.codePointAt(_))))return h(m,!0);return m}function C(m){if(o.indexOf(m)>=0)throw TypeError("Converting circular structure to JSON5");o.push(m);let w=s;s=s+u;let _=[];for(let S=0;S<m.length;S++){let T=f(String(S),m);_.push(T!==void 0?T:"null")}let A;if(_.length===0)A="[]";else if(u==="")A="["+_.join(",")+"]";else{let S=`,
|
|
41
|
+
`+s,T=_.join(S);A=`[
|
|
42
42
|
`+s+T+`,
|
|
43
|
-
`+w+"]"}return o.pop(),s=w,v}}});var Ef=J(($q,O0)=>{var rR=R0(),oR=D0(),sR={parse:rR,stringify:oR};O0.exports=sR});var Bb=J((v$,Px)=>{Px.exports={"0":"\u2080","1":"\u2081","2":"\u2082","3":"\u2083","4":"\u2084","5":"\u2085","6":"\u2086","7":"\u2087","8":"\u2088","9":"\u2089","+":"\u208A","-":"\u208B","=":"\u208C","(":"\u208D",")":"\u208E",a:"\u2090",e:"\u2091",i:"\u1D62",o:"\u2092",r:"\u1D63",u:"\u1D64",v:"\u1D65",x:"\u2093",\u03B2:"\u1D66",\u03B3:"\u1D67",\u03C1:"\u1D68",\u03C6:"\u1D69",\u03C7:"\u1D6A"}});var Ub=J((A$,Ix)=>{Ix.exports={"0":"\u2070","1":"\xB9","2":"\xB2","3":"\xB3","4":"\u2074","5":"\u2075","6":"\u2076","7":"\u2077","8":"\u2078","9":"\u2079","+":"\u207A","-":"\u207B","=":"\u207C","(":"\u207D",")":"\u207E",a:"\u1D43",b:"\u1D47",c:"\u1D9C",d:"\u1D48",e:"\u1D49",f:"\u1DA0",g:"\u1D4D",h:"\u02B0",i:"\u2071",j:"\u02B2",k:"\u1D4F",l:"\u02E1",m:"\u1D50",n:"\u207F",o:"\u1D52",p:"\u1D56",r:"\u02B3",s:"\u02E2",t:"\u1D57",u:"\u1D58",v:"\u1D5B",w:"\u02B7",x:"\u02E3",y:"\u02B8",z:"\u1DBB",A:"\u1D2C",B:"\u1D2E",D:"\u1D30",E:"\u1D31",G:"\u1D33",H:"\u1D34",I:"\u1D35",J:"\u1D36",K:"\u1D37",L:"\u1D38",M:"\u1D39",N:"\u1D3A",O:"\u1D3C",P:"\u1D3E",R:"\u1D3F",T:"\u1D40",U:"\u1D41",V:"\u2C7D",W:"\u1D42",\u03B1:"\u1D45",\u03B2:"\u1D5D",\u03B3:"\u1D5E",\u03B4:"\u1D5F","\u220A":"\u1D4B",\u03B8:"\u1DBF",\u03B9:"\u1DA5",\u03A6:"\u1DB2",\u03C6:"\u1D60",\u03C7:"\u1D61"}});var jb=J((T$,Fx)=>{Fx.exports={"\\texttrademark":"\u2122","\\trademark":"\u2122","\\textregistered":"\xAE","\\registered":"\xAE","\\copyright":"\xA9","\\pilcrow":"\xB6","\\pound":"\xA3","\\euro":"\u20AC","\\cents":"\xA2","\\section":"\xA7","\\space":"\u2423","\\degree":"\xB0","\\zeta":"\u03B6","\\Xi":"\u039E","\\xi":"\u03BE","\\wr":"\u2240","\\wp":"\u2118","\\wedge":"\u2227","\\Vvdash":"\u22AA","\\veebar":"\u22BB","\\vee":"\u2228","\\vdots":"\u22EE","\\Vdash":"\u22A9","\\vDash":"\u22A8","\\vdash":"\u22A2","\\vartriangleright":"\u22B3","\\vartriangleleft":"\u22B2","\\vartriangle":"\u25B3","\\vartheta":"\u03D1","\\varsigma":"\u03C2","\\varrho":"\u03F1","\\varpropto":"\u221D","\\varpi":"\u03D6","\\varphi":"\u03C6","\\varnothing":"\u2205","\\varkappa":"\u03F0","\\varepsilon":"\u03B5","\\upuparrows":"\u21C8","\\Upsilon":"\u03A5","\\upsilon":"\u03C5","\\uplus":"\u228E","\\upharpoonright":"\u21BE","\\upharpoonleft":"\u21BF","\\Updownarrow":"\u21D5","\\updownarrow":"\u2195","\\Uparrow":"\u21D1","\\uparrow":"\u2191","\\unrhd":"\u22B5","\\unlhd":"\u22B4","\\twoheadrightarrow":"\u21A0","\\twoheadleftarrow":"\u219E","\\trianglerighteq":"\u22B5","\\triangleright":"\u25B7","\\triangleq":"\u225C","\\trianglelefteq":"\u22B4","\\triangleleft":"\u25C1","\\triangledown":"\u25BD","\\triangle":"\u25B3","\\top":"\u22A4","\\times":"\xD7","\\thicksim":"\u223C","\\thickapprox":"\u2248","\\Theta":"\u0398","\\theta":"\u03B8","\\therefore":"\u2234","\\tau":"\u03C4","\\swarrow":"\u2199","\\surd":"\u221A","\\supseteq":"\u2287","\\Supset":"\u22D1","\\supset":"\u2283","\\sum":"\u2211","\\succsim":"\u227F","\\succeq":"\u227D","\\succcurlyeq":"\u227D","\\succ":"\u227B","\\subseteq":"\u2286","\\Subset":"\u22D0","\\subset":"\u2282","\\star":"\u22C6","\\square":"\u25A1","\\sqsupseteq":"\u2292","\\sqsupset":"\u2290","\\sqsubseteq":"\u2291","\\sqsubset":"\u228F","\\sqcup":"\u2294","\\sqcap":"\u2293","\\sphericalangle":"\u2222","\\spadesuit":"\u2660","\\smile":"\u2323","\\smallsmile":"\u2323","\\smallsetminus":"\u2216","\\smallfrown":"\u2322","\\simeq":"\u2243","\\sim":"\u223C","\\sigma":"\u03C3","\\shortparallel":"\u2225","\\sharp":"\u266F","\\setminus":"\u2216","\\searrow":"\u2198","\\rtimes":"\u22C8","\\Rsh":"\u21B1","\\Rrightarrow":"\u21DB","\\risingdotseq":"\u2253","\\rightthreetimes":"\u22CC","\\rightsquigarrow":"\u21DD","\\rightrightarrows":"\u21C9","\\rightleftharpoons":"\u21CC","\\rightleftarrows":"\u21C4","\\rightharpoonup":"\u21C0","\\rightharpoondown":"\u21C1","\\rightarrowtail":"\u21A3","\\Rightarrow":"\u21D2","\\rightarrow":"\u2192","\\rho":"\u03C1","\\rhd":"\u22B3","\\rfloor":"\u230B","\\Re":"\u211C","\\rceil":"\u2309","\\Psi":"\u03A8","\\psi":"\u03C8","\\propto":"\u221D","\\prod":"\u220F","\\prime":"\u2032","\\precsim":"\u227E","\\preceq":"\u227C","\\preccurlyeq":"\u227C","\\prec":"\u227A","\\pm":"\xB1","\\Pi":"\u03A0","\\pi":"\u03C0","\\pitchfork":"\u22D4","\\Phi":"\u03A6","\\phi":"\u03D5","\\perp":"\u22A5","\\partial":"\u2202","\\parallel":"\u2225","\\otimes":"\u2297","\\oslash":"\u2298","\\oplus":"\u2295","\\ominus":"\u2296","\\Omega":"\u03A9","\\omega":"\u03C9","\\oint":"\u222E","\\odot":"\u2299","\\nwarrow":"\u2196","\\nu":"\u03BD","\\notin":"\u2209","\\ni":"\u220B","\\nexists":"\u2204","\\neq":"\u2260","\\neg":"\xAC","\\nearrow":"\u2197","\\natural":"\u266E","\\nabla":"\u2207","\\mu":"\u03BC","\\multimap":"\u22B8","\\mp":"\u2213","\\models":"\u22A8","\\mid":"\u2223","\\mho":"\u2127","\\measuredangle":"\u2221","\\mapsto":"\u21A6","\\ltimes":"\u22C9","\\Lsh":"\u21B0","\\lozenge":"\u25CA","\\looparrowright":"\u21AC","\\looparrowleft":"\u21AB","\\Longrightarrow":"\u21D2","\\longrightarrow":"\u2192","\\longmapsto":"\u21D6","\\Longleftrightarrow":"\u21D4","\\longleftrightarrow":"\u2194","\\Longleftarrow":"\u21D0","\\longleftarrow":"\u2190","\\lll":"\u22D8","\\Lleftarrow":"\u21DA","\\ll":"\u226A","\\lhd":"\u22B2","\\lfloor":"\u230A","\\lesssim":"\u2272","\\lessgtr":"\u2276","\\lesseqgtr":"\u22DA","\\lessdot":"\u22D6","\\leqslant":"\u2264","\\leqq":"\u2266","\\leq":"\u2264","\\leftthreetimes":"\u22CB","\\leftrightsquigarrow":"\u21AD","\\leftrightharpoons":"\u21CB","\\leftrightarrows":"\u21C6","\\Leftrightarrow":"\u21D4","\\leftrightarrow":"\u2194","\\leftleftarrows":"\u21C7","\\leftharpoonup":"\u21BC","\\leftharpoondown":"\u21BD","\\leftarrowtail":"\u21A2","\\Leftarrow":"\u21D0","\\leftarrow":"\u2190","\\leadsto":"\u219D","\\le":"\u2264","\\lceil":"\u2308","\\Lambda":"\u039B","\\lambda":"\u03BB","\\kappa":"\u03BA","\\Join":"\u22C8","\\iota":"\u03B9","\\intercal":"\u22BA","\\int":"\u222B","\\infty":"\u221E","\\in":"\u2208","\\implies":"\u21D2","\\Im":"\u2111","\\hslash":"\u210F","\\hookrightarrow":"\u21AA","\\hookleftarrow":"\u21A9","\\heartsuit":"\u2661","\\hbar":"\u210F","\\gtrsim":"\u2273","\\gtrless":"\u2277","\\gtreqless":"\u22DB","\\gtrdot":"\u22D7","\\gimel":"\u05D2","\\ggg":"\u22D9","\\gg":"\u226B","\\geqq":"\u2267","\\geq":"\u2265","\\ge":"\u2265","\\Gamma":"\u0393","\\gamma":"\u03B3","\\frown":"\u2322","\\forall":"\u2200","\\flat":"\u266D","\\Finv":"\u2132","\\fallingdotseq":"\u2252","\\exists":"\u2203","\\eth":"\xF0","\\eta":"\u03B7","\\equiv":"\u2261","\\eqcirc":"\u2256","\\epsilon":"\u220A","\\emptyset":"\u2205","\\ell":"\u2113","\\downharpoonright":"\u21C2","\\downharpoonleft":"\u21C3","\\downdownarrows":"\u21CA","\\Downarrow":"\u21D3","\\downarrow":"\u2193","\\dots":"\u2026","\\dotplus":"\u2214","\\doteqdot":"\u2251","\\doteq":"\u2250","\\divideontimes":"\u22C7","\\div":"\xF7","\\digamma":"\u03DC","\\diamondsuit":"\u2662","\\Diamond":"\u25C7","\\diamond":"\u22C4","\\Delta":"\u0394","\\delta":"\u03B4","\\ddots":"\u22F1","\\ddagger":"\u2021","\\dashv":"\u22A3","\\dashrightarrow":"\u21E2","\\dashleftarrow":"\u21E0","\\daleth":"\u05D3","\\dagger":"\u2020","\\curvearrowright":"\u21B7","\\curvearrowleft":"\u21B6","\\curlywedge":"\u22CF","\\curlyvee":"\u22CE","\\curlyeqsucc":"\u22DF","\\curlyeqprec":"\u22DE","\\Cup":"\u22D3","\\cup":"\u222A","\\coprod":"\u2210","\\cong":"\u2245","\\complement":"\u2201","\\clubsuit":"\u2663","\\circledS":"\u24C8","\\circleddash":"\u229D","\\circledcirc":"\u229A","\\circledast":"\u229B","\\circlearrowright":"\u21BB","\\circlearrowleft":"\u21BA","\\circeq":"\u2257","\\circ":"\u2218","\\chi":"\u03C7","\\centerdot":"\u22C5","\\cdots":"\u22EF","\\cdot":"\u22C5","\\Cap":"\u22D2","\\cap":"\u2229","\\Bumpeq":"\u224E","\\bumpeq":"\u224F","\\bullet":"\u2219","\\boxtimes":"\u22A0","\\boxplus":"\u229E","\\boxminus":"\u229F","\\boxdot":"\u22A1","\\Box":"\u25A1","\\bowtie":"\u22C8","\\bot":"\u22A5","\\blacktriangleright":"\u25B7","\\blacktriangleleft":"\u25C0","\\blacktriangledown":"\u25BC","\\blacktriangle":"\u25B2","\\blacksquare":"\u25A0","\\blacklozenge":"\u25C6","\\bigwedge":"\u22C0","\\bigvee":"\u22C1","\\biguplus":"\u228E","\\bigtriangleup":"\u25B3","\\bigtriangledown":"\u25BD","\\bigstar":"\u2605","\\bigsqcup":"\u2294","\\bigotimes":"\u2297","\\bigoplus":"\u2295","\\bigodot":"\u2299","\\bigcup":"\u22C3","\\bigcirc":"\u25CB","\\bigcap":"\u22C2","\\between":"\u226C","\\beth":"\u05D1","\\beta":"\u03B2","\\because":"\u2235","\\barwedge":"\u22BC","\\backsim":"\u223D","\\backprime":"\u2035","\\backepsilon":"\u220D","\\asymp":"\u224D","\\ast":"\u2217","\\approxeq":"\u224A","\\approx":"\u2248","\\angle":"\u2220","\\alpha":"\u03B1","\\aleph":"\u05D0"}});var Lb=J((R$,Nx)=>{Nx.exports={A:"\u{1D538}",B:"\u{1D539}",C:"\u2102",D:"\u{1D53B}",E:"\u{1D53C}",F:"\u{1D53D}",G:"\u{1D53E}",H:"\u210D",I:"\u{1D540}",J:"\u{1D541}",K:"\u{1D542}",L:"\u{1D543}",M:"\u{1D544}",N:"\u2115",O:"\u{1D546}",P:"\u2119",Q:"\u211A",R:"\u211D",S:"\u{1D54A}",T:"\u{1D54B}",U:"\u{1D54C}",V:"\u{1D54D}",W:"\u{1D54E}",X:"\u{1D54F}",Y:"\u{1D550}",Z:"\u2124",a:"\u{1D552}",b:"\u{1D553}",c:"\u{1D554}",d:"\u{1D555}",e:"\u{1D556}",f:"\u{1D557}",g:"\u{1D558}",h:"\u{1D559}",i:"\u{1D55A}",j:"\u{1D55B}",k:"\u{1D55C}",l:"\u{1D55D}",m:"\u{1D55E}",n:"\u{1D55F}",o:"\u{1D560}",p:"\u{1D561}",q:"\u{1D562}",r:"\u{1D563}",s:"\u{1D564}",t:"\u{1D565}",u:"\u{1D566}",v:"\u{1D567}",w:"\u{1D568}",x:"\u{1D569}",y:"\u{1D56A}",z:"\u{1D56B}","0":"\u{1D7D8}","1":"\u{1D7D9}","2":"\u{1D7DA}","3":"\u{1D7DB}","4":"\u{1D7DC}","5":"\u{1D7DD}","6":"\u{1D7DE}","7":"\u{1D7DF}","8":"\u{1D7E0}","9":"\u{1D7E1}"}});var qb=J((x$,Mx)=>{Mx.exports={A:"\u{1D400}",B:"\u{1D401}",C:"\u{1D402}",D:"\u{1D403}",E:"\u{1D404}",F:"\u{1D405}",G:"\u{1D406}",H:"\u{1D407}",I:"\u{1D408}",J:"\u{1D409}",K:"\u{1D40A}",L:"\u{1D40B}",M:"\u{1D40C}",N:"\u{1D40D}",O:"\u{1D40E}",P:"\u{1D40F}",Q:"\u{1D410}",R:"\u{1D411}",S:"\u{1D412}",T:"\u{1D413}",U:"\u{1D414}",V:"\u{1D415}",W:"\u{1D416}",X:"\u{1D417}",Y:"\u{1D418}",Z:"\u{1D419}",a:"\u{1D41A}",b:"\u{1D41B}",c:"\u{1D41C}",d:"\u{1D41D}",e:"\u{1D41E}",f:"\u{1D41F}",g:"\u{1D420}",h:"\u{1D421}",i:"\u{1D422}",j:"\u{1D423}",k:"\u{1D424}",l:"\u{1D425}",m:"\u{1D426}",n:"\u{1D427}",o:"\u{1D428}",p:"\u{1D429}",q:"\u{1D42A}",r:"\u{1D42B}",s:"\u{1D42C}",t:"\u{1D42D}",u:"\u{1D42E}",v:"\u{1D42F}",w:"\u{1D430}",x:"\u{1D431}",y:"\u{1D432}",z:"\u{1D433}",\u0391:"\u{1D6A8}",\u0392:"\u{1D6A9}",\u0393:"\u{1D6AA}",\u0394:"\u{1D6AB}",\u0395:"\u{1D6AC}",\u0396:"\u{1D6AD}",\u0397:"\u{1D6AE}",\u0398:"\u{1D6AF}",\u0399:"\u{1D6B0}",\u039A:"\u{1D6B1}",\u039B:"\u{1D6B2}",\u039C:"\u{1D6B3}",\u039D:"\u{1D6B4}",\u039E:"\u{1D6B5}",\u039F:"\u{1D6B6}",\u03A0:"\u{1D6B7}",\u03A1:"\u{1D6B8}","\u03F4":"\u{1D6B9}",\u03A3:"\u{1D6BA}",\u03A4:"\u{1D6BB}",\u03A5:"\u{1D6BC}",\u03A6:"\u{1D6BD}",\u03A7:"\u{1D6BE}",\u03A8:"\u{1D6BF}",\u03A9:"\u{1D6C0}","\u2207":"\u{1D6C1}",\u03B1:"\u{1D6C2}",\u03B2:"\u{1D6C3}",\u03B3:"\u{1D6C4}",\u03B4:"\u{1D6C5}",\u03B5:"\u{1D6C6}",\u03B6:"\u{1D6C7}",\u03B7:"\u{1D6C8}",\u03B8:"\u{1D6C9}",\u03B9:"\u{1D6CA}",\u03BA:"\u{1D6CB}",\u03BB:"\u{1D6CC}",\u03BC:"\u{1D6CD}",\u03BD:"\u{1D6CE}",\u03BE:"\u{1D6CF}",\u03BF:"\u{1D6D0}",\u03C0:"\u{1D6D1}",\u03C1:"\u{1D6D2}",\u03C2:"\u{1D6D3}",\u03C3:"\u{1D6D4}",\u03C4:"\u{1D6D5}",\u03C5:"\u{1D6D6}",\u03C6:"\u{1D6D7}",\u03C7:"\u{1D6D8}",\u03C8:"\u{1D6D9}",\u03C9:"\u{1D6DA}","\u2202":"\u{1D6DB}","\u03F5":"\u{1D6DC}",\u03D1:"\u{1D6DD}",\u03F0:"\u{1D6DE}",\u03D5:"\u{1D6DF}",\u03F1:"\u{1D6E0}",\u03D6:"\u{1D6E1}","0":"\u{1D7CE}","1":"\u{1D7CF}","2":"\u{1D7D0}","3":"\u{1D7D1}","4":"\u{1D7D2}","5":"\u{1D7D3}","6":"\u{1D7D4}","7":"\u{1D7D5}","8":"\u{1D7D6}","9":"\u{1D7D7}"}});var $b=J((D$,Bx)=>{Bx.exports={A:"\u{1D4D0}",B:"\u{1D4D1}",C:"\u{1D4D2}",D:"\u{1D4D3}",E:"\u{1D4D4}",F:"\u{1D4D5}",G:"\u{1D4D6}",H:"\u{1D4D7}",I:"\u{1D4D8}",J:"\u{1D4D9}",K:"\u{1D4DA}",L:"\u{1D4DB}",M:"\u{1D4DC}",N:"\u{1D4DD}",O:"\u{1D4DE}",P:"\u{1D4DF}",Q:"\u{1D4E0}",R:"\u{1D4E1}",S:"\u{1D4E2}",T:"\u{1D4E3}",U:"\u{1D4E4}",V:"\u{1D4E5}",W:"\u{1D4E6}",X:"\u{1D4E7}",Y:"\u{1D4E8}",Z:"\u{1D4E9}",a:"\u{1D4EA}",b:"\u{1D4EB}",c:"\u{1D4EC}",d:"\u{1D4ED}",e:"\u{1D4EE}",f:"\u{1D4EF}",g:"\u{1D4F0}",h:"\u{1D4F1}",i:"\u{1D4F2}",j:"\u{1D4F3}",k:"\u{1D4F4}",l:"\u{1D4F5}",m:"\u{1D4F6}",n:"\u{1D4F7}",o:"\u{1D4F8}",p:"\u{1D4F9}",q:"\u{1D4FA}",r:"\u{1D4FB}",s:"\u{1D4FC}",t:"\u{1D4FD}",u:"\u{1D4FE}",v:"\u{1D4FF}",w:"\u{1D500}",x:"\u{1D501}",y:"\u{1D502}",z:"\u{1D503}"}});var zb=J((O$,Ux)=>{Ux.exports={A:"\u{1D504}",B:"\u{1D505}",C:"\u212D",D:"\u{1D507}",E:"\u{1D508}",F:"\u{1D509}",G:"\u{1D50A}",H:"\u210C",I:"\u2111",J:"\u{1D50D}",K:"\u{1D50E}",L:"\u{1D50F}",M:"\u{1D510}",N:"\u{1D511}",O:"\u{1D512}",P:"\u{1D513}",Q:"\u{1D514}",R:"\u211C",S:"\u{1D516}",T:"\u{1D517}",U:"\u{1D518}",V:"\u{1D519}",W:"\u{1D51A}",X:"\u{1D51B}",Y:"\u{1D51C}",Z:"\u2128",a:"\u{1D51E}",b:"\u{1D51F}",c:"\u{1D520}",d:"\u{1D521}",e:"\u{1D522}",f:"\u{1D523}",g:"\u{1D524}",h:"\u{1D525}",i:"\u{1D526}",j:"\u{1D527}",k:"\u{1D528}",l:"\u{1D529}",m:"\u{1D52A}",n:"\u{1D52B}",o:"\u{1D52C}",p:"\u{1D52D}",q:"\u{1D52E}",r:"\u{1D52F}",s:"\u{1D530}",t:"\u{1D531}",u:"\u{1D532}",v:"\u{1D533}",w:"\u{1D534}",x:"\u{1D535}",y:"\u{1D536}",z:"\u{1D537}"}});var Hb=J((P$,jx)=>{jx.exports={A:"\u{1D434}",B:"\u{1D435}",C:"\u{1D436}",D:"\u{1D437}",E:"\u{1D438}",F:"\u{1D439}",G:"\u{1D43A}",H:"\u{1D43B}",I:"\u{1D43C}",J:"\u{1D43D}",K:"\u{1D43E}",L:"\u{1D43F}",M:"\u{1D440}",N:"\u{1D441}",O:"\u{1D442}",P:"\u{1D443}",Q:"\u{1D444}",R:"\u{1D445}",S:"\u{1D446}",T:"\u{1D447}",U:"\u{1D448}",V:"\u{1D449}",W:"\u{1D44A}",X:"\u{1D44B}",Y:"\u{1D44C}",Z:"\u{1D44D}",a:"\u{1D44E}",b:"\u{1D44F}",c:"\u{1D450}",d:"\u{1D451}",e:"\u{1D452}",f:"\u{1D453}",g:"\u{1D454}",h:"\u210E",i:"\u{1D456}",j:"\u{1D457}",k:"\u{1D458}",l:"\u{1D459}",m:"\u{1D45A}",n:"\u{1D45B}",o:"\u{1D45C}",p:"\u{1D45D}",q:"\u{1D45E}",r:"\u{1D45F}",s:"\u{1D460}",t:"\u{1D461}",u:"\u{1D462}",v:"\u{1D463}",w:"\u{1D464}",x:"\u{1D465}",y:"\u{1D466}",z:"\u{1D467}",\u0391:"\u{1D6E2}",\u0392:"\u{1D6E3}",\u0393:"\u{1D6E4}",\u0394:"\u{1D6E5}",\u0395:"\u{1D6E6}",\u0396:"\u{1D6E7}",\u0397:"\u{1D6E8}",\u0398:"\u{1D6E9}",\u0399:"\u{1D6EA}",\u039A:"\u{1D6EB}",\u039B:"\u{1D6EC}",\u039C:"\u{1D6ED}",\u039D:"\u{1D6EE}",\u039E:"\u{1D6EF}",\u039F:"\u{1D6F0}",\u03A0:"\u{1D6F1}",\u03A1:"\u{1D6F2}","\u03F4":"\u{1D6F3}",\u03A3:"\u{1D6F4}",\u03A4:"\u{1D6F5}",\u03A5:"\u{1D6F6}",\u03A6:"\u{1D6F7}",\u03A7:"\u{1D6F8}",\u03A8:"\u{1D6F9}",\u03A9:"\u{1D6FA}","\u2207":"\u{1D6FB}",\u03B1:"\u{1D6FC}",\u03B2:"\u{1D6FD}",\u03B3:"\u{1D6FE}",\u03B4:"\u{1D6FF}",\u03B5:"\u{1D700}",\u03B6:"\u{1D701}",\u03B7:"\u{1D702}",\u03B8:"\u{1D703}",\u03B9:"\u{1D704}",\u03BA:"\u{1D705}",\u03BB:"\u{1D706}",\u03BC:"\u{1D707}",\u03BD:"\u{1D708}",\u03BE:"\u{1D709}",\u03BF:"\u{1D70A}",\u03C0:"\u{1D70B}",\u03C1:"\u{1D70C}",\u03C2:"\u{1D70D}",\u03C3:"\u{1D70E}",\u03C4:"\u{1D70F}",\u03C5:"\u{1D710}",\u03C6:"\u{1D711}",\u03C7:"\u{1D712}",\u03C8:"\u{1D713}",\u03C9:"\u{1D714}","\u2202":"\u{1D715}","\u03F5":"\u{1D716}",\u03D1:"\u{1D717}",\u03F0:"\u{1D718}",\u03D5:"\u{1D719}",\u03F1:"\u{1D71A}",\u03D6:"\u{1D71B}"}});var Wb=J((I$,Lx)=>{Lx.exports={A:"\u{1D670}",B:"\u{1D671}",C:"\u{1D672}",D:"\u{1D673}",E:"\u{1D674}",F:"\u{1D675}",G:"\u{1D676}",H:"\u{1D677}",I:"\u{1D678}",J:"\u{1D679}",K:"\u{1D67A}",L:"\u{1D67B}",M:"\u{1D67C}",N:"\u{1D67D}",O:"\u{1D67E}",P:"\u{1D67F}",Q:"\u{1D680}",R:"\u{1D681}",S:"\u{1D682}",T:"\u{1D683}",U:"\u{1D684}",V:"\u{1D685}",W:"\u{1D686}",X:"\u{1D687}",Y:"\u{1D688}",Z:"\u{1D689}",a:"\u{1D68A}",b:"\u{1D68B}",c:"\u{1D68C}",d:"\u{1D68D}",e:"\u{1D68E}",f:"\u{1D68F}",g:"\u{1D690}",h:"\u{1D691}",i:"\u{1D692}",j:"\u{1D693}",k:"\u{1D694}",l:"\u{1D695}",m:"\u{1D696}",n:"\u{1D697}",o:"\u{1D698}",p:"\u{1D699}",q:"\u{1D69A}",r:"\u{1D69B}",s:"\u{1D69C}",t:"\u{1D69D}",u:"\u{1D69E}",v:"\u{1D69F}",w:"\u{1D6A0}",x:"\u{1D6A1}",y:"\u{1D6A2}",z:"\u{1D6A3}","0":"\u{1D7F6}","1":"\u{1D7F7}","2":"\u{1D7F8}","3":"\u{1D7F9}","4":"\u{1D7FA}","5":"\u{1D7FB}","6":"\u{1D7FC}","7":"\u{1D7FD}","8":"\u{1D7FE}","9":"\u{1D7FF}"}});var Kb=J((F$,Vb)=>{var qx=Bb(),$x=Ub(),Gb=jb(),zx=Lb(),Hx=qb(),Wx=$b(),Gx=zb(),Jx=Hb(),Vx=Wb(),Jb=function(t,e){return t[e]!==void 0?t[e]:e};function mr(t,e,n){t=t.replace(e,"^");var r="",o="normal",s,i;for(s=0;s<t.length;s++){if(i=t[s],o==="normal"&&i==="^"){o="modified";continue}else if(o==="modified"&&i==="{"){o="long";continue}else if(o==="modified"){r+=Jb(n,i),o="normal";continue}else if(o==="long"&&i==="}"){o="normal";continue}o==="normal"?r+=i:r+=Jb(n,i)}return r}Vb.exports=function(t){return Object.keys(Gb).forEach(function(e){var n=Gb[e];t=t.replace(e,n)}),t=mr(t,"^",$x),t=mr(t,"_",qx),t=mr(t,"\\bb",zx),t=mr(t,"\\bf",Hx),t=mr(t,"\\it",Jx),t=mr(t,"\\cal",Wx),t=mr(t,"\\frak",Gx),t=mr(t,"\\mono",Vx),t}});var Qf=J((dz,gC)=>{"use strict";var dc=Object.prototype.hasOwnProperty,mC=Object.prototype.toString,uC=Object.defineProperty,lC=Object.getOwnPropertyDescriptor,dC=function(e){return typeof Array.isArray=="function"?Array.isArray(e):mC.call(e)==="[object Array]"},fC=function(e){if(!e||mC.call(e)!=="[object Object]")return!1;var n=dc.call(e,"constructor"),r=e.constructor&&e.constructor.prototype&&dc.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!n&&!r)return!1;var o;for(o in e);return typeof o>"u"||dc.call(e,o)},pC=function(e,n){uC&&n.name==="__proto__"?uC(e,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):e[n.name]=n.newValue},hC=function(e,n){if(n==="__proto__")if(dc.call(e,n)){if(lC)return lC(e,n).value}else return;return e[n]};gC.exports=function t(){var e,n,r,o,s,i,c=arguments[0],u=1,f=arguments.length,d=!1;for(typeof c=="boolean"&&(d=c,c=arguments[1]||{},u=2),(c==null||typeof c!="object"&&typeof c!="function")&&(c={});u<f;++u)if(e=arguments[u],e!=null)for(n in e)r=hC(c,n),o=hC(e,n),c!==o&&(d&&o&&(fC(o)||(s=dC(o)))?(s?(s=!1,i=r&&dC(r)?r:[]):i=r&&fC(r)?r:{},pC(c,{name:n,newValue:t(d,i,o)})):typeof o<"u"&&pC(c,{name:n,newValue:o}));return c}});var yC=J((fz,pD)=>{pD.exports={name:"gaxios",version:"7.3.0",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","samples-test":"cd samples/ && npm link ../ && npm test && cd ../",prelint:"cd samples; npm link ../; npm install",clean:"gts clean"},repository:{type:"git",directory:"core/packages/gaxios",url:"https://github.com/googleapis/google-cloud-node.git"},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.8","@types/node":"^24.0.0","@types/sinon":"^21.0.0","@types/tmp":"^0.2.6",assert:"^2.0.0",browserify:"^17.0.0",c8:"^10.1.3",cors:"^2.8.5",express:"^5.0.0",gts:"^6.0.2","is-docker":"^3.0.0",jsdoc:"^4.0.4","jsdoc-fresh":"^5.0.0","jsdoc-region-tag":"^4.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",mocha:"^11.1.0",multiparty:"^4.2.1",mv:"^2.1.1",ncp:"^2.0.0",nock:"14.0.5","null-loader":"^4.0.1","pack-n-play":"^4.0.0",puppeteer:"^24.0.0",sinon:"21.0.3","stream-browserify":"^3.0.0",tmp:"0.2.6","ts-loader":"^9.5.2",typescript:"5.8.3","undici-types":"^7.24.1",webpack:"^5.97.1","webpack-cli":"^6.0.1"},dependencies:{extend:"^3.0.2","https-proxy-agent":"^7.0.1","node-fetch":"^3.3.2"},homepage:"https://github.com/googleapis/google-cloud-node/tree/main/core/packages/gaxios"}});var bC=J((pz,_C)=>{"use strict";var hD=yC();_C.exports={pkg:hD}});var tp=J(Ot=>{"use strict";var wC=Ot&&Ot.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ot,"__esModule",{value:!0});Ot.GaxiosError=Ot.GAXIOS_ERROR_SYMBOL=void 0;Ot.defaultErrorRedactor=kC;var CC=wC(Qf()),mD=wC(bC()),Zf=mD.default.pkg;Ot.GAXIOS_ERROR_SYMBOL=Symbol.for(`${Zf.name}-gaxios-error`);var ep=class t extends Error{config;response;code;status;error;[Ot.GAXIOS_ERROR_SYMBOL]=Zf.version;static[Symbol.hasInstance](e){return e&&typeof e=="object"&&Ot.GAXIOS_ERROR_SYMBOL in e&&e[Ot.GAXIOS_ERROR_SYMBOL]===Zf.version?!0:Function.prototype[Symbol.hasInstance].call(t,e)}constructor(e,n,r,o){if(super(e,{cause:o}),this.config=n,this.response=r,this.error=o instanceof Error?o:void 0,this.config=(0,CC.default)(!0,{},n),this.response&&(this.response.config=(0,CC.default)(!0,{},this.response.config)),this.response){try{this.response.data=gD(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,n="The request failed"){let r=n;if(typeof e.data=="string"&&(r=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"){r="message"in e.data.error&&typeof e.data.error.message=="string"?e.data.error.message:r;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 i=[];for(let c of e.data.error.errors)typeof c=="object"&&"message"in c&&typeof c.message=="string"&&i.push(c.message);return Object.assign({message:i.join(`
|
|
44
|
-
`)||r,code:s,status:o},e.data.error)}return Object.assign({message:r,code:s,status:o},e.data.error)}}return{message:r,code:e.status,status:e.statusText}}};Ot.GaxiosError=ep;function gD(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 kC(t){let e="<<REDACTED> - See `errorRedactor` option in `gaxios` for configuration>.";function n(s){s&&s.forEach((i,c)=>{(/^authentication$/i.test(c)||/^authorization$/i.test(c)||/secret/i.test(c))&&s.set(c,e)})}function r(s,i){if(typeof s=="object"&&s!==null&&typeof s[i]=="string"){let c=s[i];(/grant_type=/i.test(c)||/assertion=/i.test(c)||/secret/i.test(c))&&(s[i]=e)}}function o(s){!s||typeof s!="object"||(s instanceof FormData||s instanceof URLSearchParams||"forEach"in s&&"set"in s?s.forEach((i,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&&(n(t.config.headers),r(t.config,"data"),o(t.config.data),r(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&&(kC({config:t.response.config}),n(t.response.headers),t.response.bodyUsed&&(r(t.response,"data"),o(t.response.data))),t}});var EC=J(np=>{"use strict";Object.defineProperty(np,"__esModule",{value:!0});np.getRetryConfig=yD;async function yD(t){let e=SC(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 n=[[100,199],[408,408],[429,429],[500,599]];if(e.statusCodesToRetry=e.statusCodesToRetry||n,t.config.retryConfig=e,!await(e.shouldRetry||_D)(t))return{shouldRetry:!1,config:t.config};let o=bD(e);t.config.retryConfig.currentRetryAttempt+=1;let s=e.retryBackoff?e.retryBackoff(t,o):new Promise(i=>{setTimeout(i,o)});return e.onRetryAttempt&&await e.onRetryAttempt(t),await s,{shouldRetry:!0,config:t.config}}function _D(t){let e=SC(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 n=!1;for(let[r,o]of e.statusCodesToRetry){let s=t.response.status;if(s>=r&&s<=o){n=!0;break}}if(!n)return!1}return e.currentRetryAttempt=e.currentRetryAttempt||0,!(e.currentRetryAttempt>=e.retry)}function SC(t){if(t&&t.config&&t.config.retryConfig)return t.config.retryConfig}function bD(t){let n=(t.currentRetryAttempt?0:t.retryDelay??100)+(Math.pow(t.retryDelayMultiplier,t.currentRetryAttempt)-1)/2*1e3,r=t.totalTimeout-(Date.now()-t.timeOfFirstRequest);return Math.min(n,r,t.maxRetryDelay)}});var op=J(fc=>{"use strict";Object.defineProperty(fc,"__esModule",{value:!0});fc.GaxiosInterceptorManager=void 0;var rp=class extends Set{};fc.GaxiosInterceptorManager=rp});var AC=J((yz,vC)=>{var Oo=1e3,Po=Oo*60,Io=Po*60,Wr=Io*24,CD=Wr*7,wD=Wr*365.25;vC.exports=function(t,e){e=e||{};var n=typeof t;if(n==="string"&&t.length>0)return kD(t);if(n==="number"&&isFinite(t))return e.long?ED(t):SD(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function kD(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 n=parseFloat(e[1]),r=(e[2]||"ms").toLowerCase();switch(r){case"years":case"year":case"yrs":case"yr":case"y":return n*wD;case"weeks":case"week":case"w":return n*CD;case"days":case"day":case"d":return n*Wr;case"hours":case"hour":case"hrs":case"hr":case"h":return n*Io;case"minutes":case"minute":case"mins":case"min":case"m":return n*Po;case"seconds":case"second":case"secs":case"sec":case"s":return n*Oo;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}function SD(t){var e=Math.abs(t);return e>=Wr?Math.round(t/Wr)+"d":e>=Io?Math.round(t/Io)+"h":e>=Po?Math.round(t/Po)+"m":e>=Oo?Math.round(t/Oo)+"s":t+"ms"}function ED(t){var e=Math.abs(t);return e>=Wr?pc(t,e,Wr,"day"):e>=Io?pc(t,e,Io,"hour"):e>=Po?pc(t,e,Po,"minute"):e>=Oo?pc(t,e,Oo,"second"):t+" ms"}function pc(t,e,n,r){var o=e>=n*1.5;return Math.round(t/n)+" "+r+(o?"s":"")}});var sp=J((_z,TC)=>{function vD(t){n.debug=n,n.default=n,n.coerce=u,n.disable=i,n.enable=o,n.enabled=c,n.humanize=AC(),n.destroy=f,Object.keys(t).forEach(d=>{n[d]=t[d]}),n.names=[],n.skips=[],n.formatters={};function e(d){let p=0;for(let h=0;h<d.length;h++)p=(p<<5)-p+d.charCodeAt(h),p|=0;return n.colors[Math.abs(p)%n.colors.length]}n.selectColor=e;function n(d){let p,h=null,_,b;function y(...w){if(!y.enabled)return;let C=y,v=Number(new Date),A=v-(p||v);C.diff=A,C.prev=p,C.curr=v,p=v,w[0]=n.coerce(w[0]),typeof w[0]!="string"&&w.unshift("%O");let T=0;w[0]=w[0].replace(/%([a-zA-Z%])/g,(O,q)=>{if(O==="%%")return"%";T++;let $=n.formatters[q];if(typeof $=="function"){let H=w[T];O=$.call(C,H),w.splice(T,1),T--}return O}),n.formatArgs.call(C,w),(C.log||n.log).apply(C,w)}return y.namespace=d,y.useColors=n.useColors(),y.color=n.selectColor(d),y.extend=r,y.destroy=n.destroy,Object.defineProperty(y,"enabled",{enumerable:!0,configurable:!1,get:()=>h!==null?h:(_!==n.namespaces&&(_=n.namespaces,b=n.enabled(d)),b),set:w=>{h=w}}),typeof n.init=="function"&&n.init(y),y}function r(d,p){let h=n(this.namespace+(typeof p>"u"?":":p)+d);return h.log=this.log,h}function o(d){n.save(d),n.namespaces=d,n.names=[],n.skips=[];let p=(typeof d=="string"?d:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let h of p)h[0]==="-"?n.skips.push(h.slice(1)):n.names.push(h)}function s(d,p){let h=0,_=0,b=-1,y=0;for(;h<d.length;)if(_<p.length&&(p[_]===d[h]||p[_]==="*"))p[_]==="*"?(b=_,y=h,_++):(h++,_++);else if(b!==-1)_=b+1,y++,h=y;else return!1;for(;_<p.length&&p[_]==="*";)_++;return _===p.length}function i(){let d=[...n.names,...n.skips.map(p=>"-"+p)].join(",");return n.enable(""),d}function c(d){for(let p of n.skips)if(s(d,p))return!1;for(let p of n.names)if(s(d,p))return!0;return!1}function u(d){return d instanceof Error?d.stack||d.message:d}function f(){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 n.enable(n.load()),n}TC.exports=vD});var RC=J((_t,hc)=>{_t.formatArgs=TD;_t.save=RD;_t.load=xD;_t.useColors=AD;_t.storage=DD();_t.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`."))}})();_t.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 AD(){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 TD(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+hc.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let n=0,r=0;t[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(n++,o==="%c"&&(r=n))}),t.splice(r,0,e)}_t.log=console.debug||console.log||(()=>{});function RD(t){try{t?_t.storage.setItem("debug",t):_t.storage.removeItem("debug")}catch{}}function xD(){let t;try{t=_t.storage.getItem("debug")||_t.storage.getItem("DEBUG")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function DD(){try{return localStorage}catch{}}hc.exports=sp()(_t);var{formatters:OD}=hc.exports;OD.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var DC=J((bz,xC)=>{"use strict";xC.exports=(t,e=process.argv)=>{let n=t.startsWith("-")?"":t.length===1?"-":"--",r=e.indexOf(n+t),o=e.indexOf("--");return r!==-1&&(o===-1||r<o)}});var IC=J((Cz,PC)=>{"use strict";var PD=oe("os"),OC=oe("tty"),Pt=DC(),{env:nt}=process,mc;Pt("no-color")||Pt("no-colors")||Pt("color=false")||Pt("color=never")?mc=0:(Pt("color")||Pt("colors")||Pt("color=true")||Pt("color=always"))&&(mc=1);function ID(){if("FORCE_COLOR"in nt)return nt.FORCE_COLOR==="true"?1:nt.FORCE_COLOR==="false"?0:nt.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(nt.FORCE_COLOR,10),3)}function FD(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function ND(t,{streamIsTTY:e,sniffFlags:n=!0}={}){let r=ID();r!==void 0&&(mc=r);let o=n?mc:r;if(o===0)return 0;if(n){if(Pt("color=16m")||Pt("color=full")||Pt("color=truecolor"))return 3;if(Pt("color=256"))return 2}if(t&&!e&&o===void 0)return 0;let s=o||0;if(nt.TERM==="dumb")return s;if(process.platform==="win32"){let i=PD.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in nt)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE","DRONE"].some(i=>i in nt)||nt.CI_NAME==="codeship"?1:s;if("TEAMCITY_VERSION"in nt)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(nt.TEAMCITY_VERSION)?1:0;if(nt.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in nt){let i=Number.parseInt((nt.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(nt.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(nt.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(nt.TERM)||"COLORTERM"in nt?1:s}function ip(t,e={}){let n=ND(t,{streamIsTTY:t&&t.isTTY,...e});return FD(n)}PC.exports={supportsColor:ip,stdout:ip({isTTY:OC.isatty(1)}),stderr:ip({isTTY:OC.isatty(2)})}});var NC=J((rt,yc)=>{var MD=oe("tty"),gc=oe("util");rt.init=zD;rt.log=LD;rt.formatArgs=UD;rt.save=qD;rt.load=$D;rt.useColors=BD;rt.destroy=gc.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");rt.colors=[6,2,3,4,5,1];try{let t=IC();t&&(t.stderr||t).level>=2&&(rt.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{}rt.inspectOpts=Object.keys(process.env).filter(t=>/^debug_/i.test(t)).reduce((t,e)=>{let n=e.substring(6).toLowerCase().replace(/_([a-z])/g,(o,s)=>s.toUpperCase()),r=process.env[e];return/^(yes|on|true|enabled)$/i.test(r)?r=!0:/^(no|off|false|disabled)$/i.test(r)?r=!1:r==="null"?r=null:r=Number(r),t[n]=r,t},{});function BD(){return"colors"in rt.inspectOpts?!!rt.inspectOpts.colors:MD.isatty(process.stderr.fd)}function UD(t){let{namespace:e,useColors:n}=this;if(n){let r=this.color,o="\x1B[3"+(r<8?r:"8;5;"+r),s=` ${o};1m${e} \x1B[0m`;t[0]=s+t[0].split(`
|
|
43
|
+
`+w+"]"}return o.pop(),s=w,A}}});var zf=J((p2,eb)=>{var AR=X0(),vR=Z0(),TR={parse:AR,stringify:vR};eb.exports=TR});var pC=J((dz,gD)=>{gD.exports={"0":"\u2080","1":"\u2081","2":"\u2082","3":"\u2083","4":"\u2084","5":"\u2085","6":"\u2086","7":"\u2087","8":"\u2088","9":"\u2089","+":"\u208A","-":"\u208B","=":"\u208C","(":"\u208D",")":"\u208E",a:"\u2090",e:"\u2091",i:"\u1D62",o:"\u2092",r:"\u1D63",u:"\u1D64",v:"\u1D65",x:"\u2093",\u03B2:"\u1D66",\u03B3:"\u1D67",\u03C1:"\u1D68",\u03C6:"\u1D69",\u03C7:"\u1D6A"}});var hC=J((fz,yD)=>{yD.exports={"0":"\u2070","1":"\xB9","2":"\xB2","3":"\xB3","4":"\u2074","5":"\u2075","6":"\u2076","7":"\u2077","8":"\u2078","9":"\u2079","+":"\u207A","-":"\u207B","=":"\u207C","(":"\u207D",")":"\u207E",a:"\u1D43",b:"\u1D47",c:"\u1D9C",d:"\u1D48",e:"\u1D49",f:"\u1DA0",g:"\u1D4D",h:"\u02B0",i:"\u2071",j:"\u02B2",k:"\u1D4F",l:"\u02E1",m:"\u1D50",n:"\u207F",o:"\u1D52",p:"\u1D56",r:"\u02B3",s:"\u02E2",t:"\u1D57",u:"\u1D58",v:"\u1D5B",w:"\u02B7",x:"\u02E3",y:"\u02B8",z:"\u1DBB",A:"\u1D2C",B:"\u1D2E",D:"\u1D30",E:"\u1D31",G:"\u1D33",H:"\u1D34",I:"\u1D35",J:"\u1D36",K:"\u1D37",L:"\u1D38",M:"\u1D39",N:"\u1D3A",O:"\u1D3C",P:"\u1D3E",R:"\u1D3F",T:"\u1D40",U:"\u1D41",V:"\u2C7D",W:"\u1D42",\u03B1:"\u1D45",\u03B2:"\u1D5D",\u03B3:"\u1D5E",\u03B4:"\u1D5F","\u220A":"\u1D4B",\u03B8:"\u1DBF",\u03B9:"\u1DA5",\u03A6:"\u1DB2",\u03C6:"\u1D60",\u03C7:"\u1D61"}});var mC=J((pz,_D)=>{_D.exports={"\\texttrademark":"\u2122","\\trademark":"\u2122","\\textregistered":"\xAE","\\registered":"\xAE","\\copyright":"\xA9","\\pilcrow":"\xB6","\\pound":"\xA3","\\euro":"\u20AC","\\cents":"\xA2","\\section":"\xA7","\\space":"\u2423","\\degree":"\xB0","\\zeta":"\u03B6","\\Xi":"\u039E","\\xi":"\u03BE","\\wr":"\u2240","\\wp":"\u2118","\\wedge":"\u2227","\\Vvdash":"\u22AA","\\veebar":"\u22BB","\\vee":"\u2228","\\vdots":"\u22EE","\\Vdash":"\u22A9","\\vDash":"\u22A8","\\vdash":"\u22A2","\\vartriangleright":"\u22B3","\\vartriangleleft":"\u22B2","\\vartriangle":"\u25B3","\\vartheta":"\u03D1","\\varsigma":"\u03C2","\\varrho":"\u03F1","\\varpropto":"\u221D","\\varpi":"\u03D6","\\varphi":"\u03C6","\\varnothing":"\u2205","\\varkappa":"\u03F0","\\varepsilon":"\u03B5","\\upuparrows":"\u21C8","\\Upsilon":"\u03A5","\\upsilon":"\u03C5","\\uplus":"\u228E","\\upharpoonright":"\u21BE","\\upharpoonleft":"\u21BF","\\Updownarrow":"\u21D5","\\updownarrow":"\u2195","\\Uparrow":"\u21D1","\\uparrow":"\u2191","\\unrhd":"\u22B5","\\unlhd":"\u22B4","\\twoheadrightarrow":"\u21A0","\\twoheadleftarrow":"\u219E","\\trianglerighteq":"\u22B5","\\triangleright":"\u25B7","\\triangleq":"\u225C","\\trianglelefteq":"\u22B4","\\triangleleft":"\u25C1","\\triangledown":"\u25BD","\\triangle":"\u25B3","\\top":"\u22A4","\\times":"\xD7","\\thicksim":"\u223C","\\thickapprox":"\u2248","\\Theta":"\u0398","\\theta":"\u03B8","\\therefore":"\u2234","\\tau":"\u03C4","\\swarrow":"\u2199","\\surd":"\u221A","\\supseteq":"\u2287","\\Supset":"\u22D1","\\supset":"\u2283","\\sum":"\u2211","\\succsim":"\u227F","\\succeq":"\u227D","\\succcurlyeq":"\u227D","\\succ":"\u227B","\\subseteq":"\u2286","\\Subset":"\u22D0","\\subset":"\u2282","\\star":"\u22C6","\\square":"\u25A1","\\sqsupseteq":"\u2292","\\sqsupset":"\u2290","\\sqsubseteq":"\u2291","\\sqsubset":"\u228F","\\sqcup":"\u2294","\\sqcap":"\u2293","\\sphericalangle":"\u2222","\\spadesuit":"\u2660","\\smile":"\u2323","\\smallsmile":"\u2323","\\smallsetminus":"\u2216","\\smallfrown":"\u2322","\\simeq":"\u2243","\\sim":"\u223C","\\sigma":"\u03C3","\\shortparallel":"\u2225","\\sharp":"\u266F","\\setminus":"\u2216","\\searrow":"\u2198","\\rtimes":"\u22C8","\\Rsh":"\u21B1","\\Rrightarrow":"\u21DB","\\risingdotseq":"\u2253","\\rightthreetimes":"\u22CC","\\rightsquigarrow":"\u21DD","\\rightrightarrows":"\u21C9","\\rightleftharpoons":"\u21CC","\\rightleftarrows":"\u21C4","\\rightharpoonup":"\u21C0","\\rightharpoondown":"\u21C1","\\rightarrowtail":"\u21A3","\\Rightarrow":"\u21D2","\\rightarrow":"\u2192","\\rho":"\u03C1","\\rhd":"\u22B3","\\rfloor":"\u230B","\\Re":"\u211C","\\rceil":"\u2309","\\Psi":"\u03A8","\\psi":"\u03C8","\\propto":"\u221D","\\prod":"\u220F","\\prime":"\u2032","\\precsim":"\u227E","\\preceq":"\u227C","\\preccurlyeq":"\u227C","\\prec":"\u227A","\\pm":"\xB1","\\Pi":"\u03A0","\\pi":"\u03C0","\\pitchfork":"\u22D4","\\Phi":"\u03A6","\\phi":"\u03D5","\\perp":"\u22A5","\\partial":"\u2202","\\parallel":"\u2225","\\otimes":"\u2297","\\oslash":"\u2298","\\oplus":"\u2295","\\ominus":"\u2296","\\Omega":"\u03A9","\\omega":"\u03C9","\\oint":"\u222E","\\odot":"\u2299","\\nwarrow":"\u2196","\\nu":"\u03BD","\\notin":"\u2209","\\ni":"\u220B","\\nexists":"\u2204","\\neq":"\u2260","\\neg":"\xAC","\\nearrow":"\u2197","\\natural":"\u266E","\\nabla":"\u2207","\\mu":"\u03BC","\\multimap":"\u22B8","\\mp":"\u2213","\\models":"\u22A8","\\mid":"\u2223","\\mho":"\u2127","\\measuredangle":"\u2221","\\mapsto":"\u21A6","\\ltimes":"\u22C9","\\Lsh":"\u21B0","\\lozenge":"\u25CA","\\looparrowright":"\u21AC","\\looparrowleft":"\u21AB","\\Longrightarrow":"\u21D2","\\longrightarrow":"\u2192","\\longmapsto":"\u21D6","\\Longleftrightarrow":"\u21D4","\\longleftrightarrow":"\u2194","\\Longleftarrow":"\u21D0","\\longleftarrow":"\u2190","\\lll":"\u22D8","\\Lleftarrow":"\u21DA","\\ll":"\u226A","\\lhd":"\u22B2","\\lfloor":"\u230A","\\lesssim":"\u2272","\\lessgtr":"\u2276","\\lesseqgtr":"\u22DA","\\lessdot":"\u22D6","\\leqslant":"\u2264","\\leqq":"\u2266","\\leq":"\u2264","\\leftthreetimes":"\u22CB","\\leftrightsquigarrow":"\u21AD","\\leftrightharpoons":"\u21CB","\\leftrightarrows":"\u21C6","\\Leftrightarrow":"\u21D4","\\leftrightarrow":"\u2194","\\leftleftarrows":"\u21C7","\\leftharpoonup":"\u21BC","\\leftharpoondown":"\u21BD","\\leftarrowtail":"\u21A2","\\Leftarrow":"\u21D0","\\leftarrow":"\u2190","\\leadsto":"\u219D","\\le":"\u2264","\\lceil":"\u2308","\\Lambda":"\u039B","\\lambda":"\u03BB","\\kappa":"\u03BA","\\Join":"\u22C8","\\iota":"\u03B9","\\intercal":"\u22BA","\\int":"\u222B","\\infty":"\u221E","\\in":"\u2208","\\implies":"\u21D2","\\Im":"\u2111","\\hslash":"\u210F","\\hookrightarrow":"\u21AA","\\hookleftarrow":"\u21A9","\\heartsuit":"\u2661","\\hbar":"\u210F","\\gtrsim":"\u2273","\\gtrless":"\u2277","\\gtreqless":"\u22DB","\\gtrdot":"\u22D7","\\gimel":"\u05D2","\\ggg":"\u22D9","\\gg":"\u226B","\\geqq":"\u2267","\\geq":"\u2265","\\ge":"\u2265","\\Gamma":"\u0393","\\gamma":"\u03B3","\\frown":"\u2322","\\forall":"\u2200","\\flat":"\u266D","\\Finv":"\u2132","\\fallingdotseq":"\u2252","\\exists":"\u2203","\\eth":"\xF0","\\eta":"\u03B7","\\equiv":"\u2261","\\eqcirc":"\u2256","\\epsilon":"\u220A","\\emptyset":"\u2205","\\ell":"\u2113","\\downharpoonright":"\u21C2","\\downharpoonleft":"\u21C3","\\downdownarrows":"\u21CA","\\Downarrow":"\u21D3","\\downarrow":"\u2193","\\dots":"\u2026","\\dotplus":"\u2214","\\doteqdot":"\u2251","\\doteq":"\u2250","\\divideontimes":"\u22C7","\\div":"\xF7","\\digamma":"\u03DC","\\diamondsuit":"\u2662","\\Diamond":"\u25C7","\\diamond":"\u22C4","\\Delta":"\u0394","\\delta":"\u03B4","\\ddots":"\u22F1","\\ddagger":"\u2021","\\dashv":"\u22A3","\\dashrightarrow":"\u21E2","\\dashleftarrow":"\u21E0","\\daleth":"\u05D3","\\dagger":"\u2020","\\curvearrowright":"\u21B7","\\curvearrowleft":"\u21B6","\\curlywedge":"\u22CF","\\curlyvee":"\u22CE","\\curlyeqsucc":"\u22DF","\\curlyeqprec":"\u22DE","\\Cup":"\u22D3","\\cup":"\u222A","\\coprod":"\u2210","\\cong":"\u2245","\\complement":"\u2201","\\clubsuit":"\u2663","\\circledS":"\u24C8","\\circleddash":"\u229D","\\circledcirc":"\u229A","\\circledast":"\u229B","\\circlearrowright":"\u21BB","\\circlearrowleft":"\u21BA","\\circeq":"\u2257","\\circ":"\u2218","\\chi":"\u03C7","\\centerdot":"\u22C5","\\cdots":"\u22EF","\\cdot":"\u22C5","\\Cap":"\u22D2","\\cap":"\u2229","\\Bumpeq":"\u224E","\\bumpeq":"\u224F","\\bullet":"\u2219","\\boxtimes":"\u22A0","\\boxplus":"\u229E","\\boxminus":"\u229F","\\boxdot":"\u22A1","\\Box":"\u25A1","\\bowtie":"\u22C8","\\bot":"\u22A5","\\blacktriangleright":"\u25B7","\\blacktriangleleft":"\u25C0","\\blacktriangledown":"\u25BC","\\blacktriangle":"\u25B2","\\blacksquare":"\u25A0","\\blacklozenge":"\u25C6","\\bigwedge":"\u22C0","\\bigvee":"\u22C1","\\biguplus":"\u228E","\\bigtriangleup":"\u25B3","\\bigtriangledown":"\u25BD","\\bigstar":"\u2605","\\bigsqcup":"\u2294","\\bigotimes":"\u2297","\\bigoplus":"\u2295","\\bigodot":"\u2299","\\bigcup":"\u22C3","\\bigcirc":"\u25CB","\\bigcap":"\u22C2","\\between":"\u226C","\\beth":"\u05D1","\\beta":"\u03B2","\\because":"\u2235","\\barwedge":"\u22BC","\\backsim":"\u223D","\\backprime":"\u2035","\\backepsilon":"\u220D","\\asymp":"\u224D","\\ast":"\u2217","\\approxeq":"\u224A","\\approx":"\u2248","\\angle":"\u2220","\\alpha":"\u03B1","\\aleph":"\u05D0"}});var gC=J((hz,bD)=>{bD.exports={A:"\u{1D538}",B:"\u{1D539}",C:"\u2102",D:"\u{1D53B}",E:"\u{1D53C}",F:"\u{1D53D}",G:"\u{1D53E}",H:"\u210D",I:"\u{1D540}",J:"\u{1D541}",K:"\u{1D542}",L:"\u{1D543}",M:"\u{1D544}",N:"\u2115",O:"\u{1D546}",P:"\u2119",Q:"\u211A",R:"\u211D",S:"\u{1D54A}",T:"\u{1D54B}",U:"\u{1D54C}",V:"\u{1D54D}",W:"\u{1D54E}",X:"\u{1D54F}",Y:"\u{1D550}",Z:"\u2124",a:"\u{1D552}",b:"\u{1D553}",c:"\u{1D554}",d:"\u{1D555}",e:"\u{1D556}",f:"\u{1D557}",g:"\u{1D558}",h:"\u{1D559}",i:"\u{1D55A}",j:"\u{1D55B}",k:"\u{1D55C}",l:"\u{1D55D}",m:"\u{1D55E}",n:"\u{1D55F}",o:"\u{1D560}",p:"\u{1D561}",q:"\u{1D562}",r:"\u{1D563}",s:"\u{1D564}",t:"\u{1D565}",u:"\u{1D566}",v:"\u{1D567}",w:"\u{1D568}",x:"\u{1D569}",y:"\u{1D56A}",z:"\u{1D56B}","0":"\u{1D7D8}","1":"\u{1D7D9}","2":"\u{1D7DA}","3":"\u{1D7DB}","4":"\u{1D7DC}","5":"\u{1D7DD}","6":"\u{1D7DE}","7":"\u{1D7DF}","8":"\u{1D7E0}","9":"\u{1D7E1}"}});var yC=J((mz,CD)=>{CD.exports={A:"\u{1D400}",B:"\u{1D401}",C:"\u{1D402}",D:"\u{1D403}",E:"\u{1D404}",F:"\u{1D405}",G:"\u{1D406}",H:"\u{1D407}",I:"\u{1D408}",J:"\u{1D409}",K:"\u{1D40A}",L:"\u{1D40B}",M:"\u{1D40C}",N:"\u{1D40D}",O:"\u{1D40E}",P:"\u{1D40F}",Q:"\u{1D410}",R:"\u{1D411}",S:"\u{1D412}",T:"\u{1D413}",U:"\u{1D414}",V:"\u{1D415}",W:"\u{1D416}",X:"\u{1D417}",Y:"\u{1D418}",Z:"\u{1D419}",a:"\u{1D41A}",b:"\u{1D41B}",c:"\u{1D41C}",d:"\u{1D41D}",e:"\u{1D41E}",f:"\u{1D41F}",g:"\u{1D420}",h:"\u{1D421}",i:"\u{1D422}",j:"\u{1D423}",k:"\u{1D424}",l:"\u{1D425}",m:"\u{1D426}",n:"\u{1D427}",o:"\u{1D428}",p:"\u{1D429}",q:"\u{1D42A}",r:"\u{1D42B}",s:"\u{1D42C}",t:"\u{1D42D}",u:"\u{1D42E}",v:"\u{1D42F}",w:"\u{1D430}",x:"\u{1D431}",y:"\u{1D432}",z:"\u{1D433}",\u0391:"\u{1D6A8}",\u0392:"\u{1D6A9}",\u0393:"\u{1D6AA}",\u0394:"\u{1D6AB}",\u0395:"\u{1D6AC}",\u0396:"\u{1D6AD}",\u0397:"\u{1D6AE}",\u0398:"\u{1D6AF}",\u0399:"\u{1D6B0}",\u039A:"\u{1D6B1}",\u039B:"\u{1D6B2}",\u039C:"\u{1D6B3}",\u039D:"\u{1D6B4}",\u039E:"\u{1D6B5}",\u039F:"\u{1D6B6}",\u03A0:"\u{1D6B7}",\u03A1:"\u{1D6B8}","\u03F4":"\u{1D6B9}",\u03A3:"\u{1D6BA}",\u03A4:"\u{1D6BB}",\u03A5:"\u{1D6BC}",\u03A6:"\u{1D6BD}",\u03A7:"\u{1D6BE}",\u03A8:"\u{1D6BF}",\u03A9:"\u{1D6C0}","\u2207":"\u{1D6C1}",\u03B1:"\u{1D6C2}",\u03B2:"\u{1D6C3}",\u03B3:"\u{1D6C4}",\u03B4:"\u{1D6C5}",\u03B5:"\u{1D6C6}",\u03B6:"\u{1D6C7}",\u03B7:"\u{1D6C8}",\u03B8:"\u{1D6C9}",\u03B9:"\u{1D6CA}",\u03BA:"\u{1D6CB}",\u03BB:"\u{1D6CC}",\u03BC:"\u{1D6CD}",\u03BD:"\u{1D6CE}",\u03BE:"\u{1D6CF}",\u03BF:"\u{1D6D0}",\u03C0:"\u{1D6D1}",\u03C1:"\u{1D6D2}",\u03C2:"\u{1D6D3}",\u03C3:"\u{1D6D4}",\u03C4:"\u{1D6D5}",\u03C5:"\u{1D6D6}",\u03C6:"\u{1D6D7}",\u03C7:"\u{1D6D8}",\u03C8:"\u{1D6D9}",\u03C9:"\u{1D6DA}","\u2202":"\u{1D6DB}","\u03F5":"\u{1D6DC}",\u03D1:"\u{1D6DD}",\u03F0:"\u{1D6DE}",\u03D5:"\u{1D6DF}",\u03F1:"\u{1D6E0}",\u03D6:"\u{1D6E1}","0":"\u{1D7CE}","1":"\u{1D7CF}","2":"\u{1D7D0}","3":"\u{1D7D1}","4":"\u{1D7D2}","5":"\u{1D7D3}","6":"\u{1D7D4}","7":"\u{1D7D5}","8":"\u{1D7D6}","9":"\u{1D7D7}"}});var _C=J((gz,wD)=>{wD.exports={A:"\u{1D4D0}",B:"\u{1D4D1}",C:"\u{1D4D2}",D:"\u{1D4D3}",E:"\u{1D4D4}",F:"\u{1D4D5}",G:"\u{1D4D6}",H:"\u{1D4D7}",I:"\u{1D4D8}",J:"\u{1D4D9}",K:"\u{1D4DA}",L:"\u{1D4DB}",M:"\u{1D4DC}",N:"\u{1D4DD}",O:"\u{1D4DE}",P:"\u{1D4DF}",Q:"\u{1D4E0}",R:"\u{1D4E1}",S:"\u{1D4E2}",T:"\u{1D4E3}",U:"\u{1D4E4}",V:"\u{1D4E5}",W:"\u{1D4E6}",X:"\u{1D4E7}",Y:"\u{1D4E8}",Z:"\u{1D4E9}",a:"\u{1D4EA}",b:"\u{1D4EB}",c:"\u{1D4EC}",d:"\u{1D4ED}",e:"\u{1D4EE}",f:"\u{1D4EF}",g:"\u{1D4F0}",h:"\u{1D4F1}",i:"\u{1D4F2}",j:"\u{1D4F3}",k:"\u{1D4F4}",l:"\u{1D4F5}",m:"\u{1D4F6}",n:"\u{1D4F7}",o:"\u{1D4F8}",p:"\u{1D4F9}",q:"\u{1D4FA}",r:"\u{1D4FB}",s:"\u{1D4FC}",t:"\u{1D4FD}",u:"\u{1D4FE}",v:"\u{1D4FF}",w:"\u{1D500}",x:"\u{1D501}",y:"\u{1D502}",z:"\u{1D503}"}});var bC=J((yz,kD)=>{kD.exports={A:"\u{1D504}",B:"\u{1D505}",C:"\u212D",D:"\u{1D507}",E:"\u{1D508}",F:"\u{1D509}",G:"\u{1D50A}",H:"\u210C",I:"\u2111",J:"\u{1D50D}",K:"\u{1D50E}",L:"\u{1D50F}",M:"\u{1D510}",N:"\u{1D511}",O:"\u{1D512}",P:"\u{1D513}",Q:"\u{1D514}",R:"\u211C",S:"\u{1D516}",T:"\u{1D517}",U:"\u{1D518}",V:"\u{1D519}",W:"\u{1D51A}",X:"\u{1D51B}",Y:"\u{1D51C}",Z:"\u2128",a:"\u{1D51E}",b:"\u{1D51F}",c:"\u{1D520}",d:"\u{1D521}",e:"\u{1D522}",f:"\u{1D523}",g:"\u{1D524}",h:"\u{1D525}",i:"\u{1D526}",j:"\u{1D527}",k:"\u{1D528}",l:"\u{1D529}",m:"\u{1D52A}",n:"\u{1D52B}",o:"\u{1D52C}",p:"\u{1D52D}",q:"\u{1D52E}",r:"\u{1D52F}",s:"\u{1D530}",t:"\u{1D531}",u:"\u{1D532}",v:"\u{1D533}",w:"\u{1D534}",x:"\u{1D535}",y:"\u{1D536}",z:"\u{1D537}"}});var CC=J((_z,SD)=>{SD.exports={A:"\u{1D434}",B:"\u{1D435}",C:"\u{1D436}",D:"\u{1D437}",E:"\u{1D438}",F:"\u{1D439}",G:"\u{1D43A}",H:"\u{1D43B}",I:"\u{1D43C}",J:"\u{1D43D}",K:"\u{1D43E}",L:"\u{1D43F}",M:"\u{1D440}",N:"\u{1D441}",O:"\u{1D442}",P:"\u{1D443}",Q:"\u{1D444}",R:"\u{1D445}",S:"\u{1D446}",T:"\u{1D447}",U:"\u{1D448}",V:"\u{1D449}",W:"\u{1D44A}",X:"\u{1D44B}",Y:"\u{1D44C}",Z:"\u{1D44D}",a:"\u{1D44E}",b:"\u{1D44F}",c:"\u{1D450}",d:"\u{1D451}",e:"\u{1D452}",f:"\u{1D453}",g:"\u{1D454}",h:"\u210E",i:"\u{1D456}",j:"\u{1D457}",k:"\u{1D458}",l:"\u{1D459}",m:"\u{1D45A}",n:"\u{1D45B}",o:"\u{1D45C}",p:"\u{1D45D}",q:"\u{1D45E}",r:"\u{1D45F}",s:"\u{1D460}",t:"\u{1D461}",u:"\u{1D462}",v:"\u{1D463}",w:"\u{1D464}",x:"\u{1D465}",y:"\u{1D466}",z:"\u{1D467}",\u0391:"\u{1D6E2}",\u0392:"\u{1D6E3}",\u0393:"\u{1D6E4}",\u0394:"\u{1D6E5}",\u0395:"\u{1D6E6}",\u0396:"\u{1D6E7}",\u0397:"\u{1D6E8}",\u0398:"\u{1D6E9}",\u0399:"\u{1D6EA}",\u039A:"\u{1D6EB}",\u039B:"\u{1D6EC}",\u039C:"\u{1D6ED}",\u039D:"\u{1D6EE}",\u039E:"\u{1D6EF}",\u039F:"\u{1D6F0}",\u03A0:"\u{1D6F1}",\u03A1:"\u{1D6F2}","\u03F4":"\u{1D6F3}",\u03A3:"\u{1D6F4}",\u03A4:"\u{1D6F5}",\u03A5:"\u{1D6F6}",\u03A6:"\u{1D6F7}",\u03A7:"\u{1D6F8}",\u03A8:"\u{1D6F9}",\u03A9:"\u{1D6FA}","\u2207":"\u{1D6FB}",\u03B1:"\u{1D6FC}",\u03B2:"\u{1D6FD}",\u03B3:"\u{1D6FE}",\u03B4:"\u{1D6FF}",\u03B5:"\u{1D700}",\u03B6:"\u{1D701}",\u03B7:"\u{1D702}",\u03B8:"\u{1D703}",\u03B9:"\u{1D704}",\u03BA:"\u{1D705}",\u03BB:"\u{1D706}",\u03BC:"\u{1D707}",\u03BD:"\u{1D708}",\u03BE:"\u{1D709}",\u03BF:"\u{1D70A}",\u03C0:"\u{1D70B}",\u03C1:"\u{1D70C}",\u03C2:"\u{1D70D}",\u03C3:"\u{1D70E}",\u03C4:"\u{1D70F}",\u03C5:"\u{1D710}",\u03C6:"\u{1D711}",\u03C7:"\u{1D712}",\u03C8:"\u{1D713}",\u03C9:"\u{1D714}","\u2202":"\u{1D715}","\u03F5":"\u{1D716}",\u03D1:"\u{1D717}",\u03F0:"\u{1D718}",\u03D5:"\u{1D719}",\u03F1:"\u{1D71A}",\u03D6:"\u{1D71B}"}});var wC=J((bz,ED)=>{ED.exports={A:"\u{1D670}",B:"\u{1D671}",C:"\u{1D672}",D:"\u{1D673}",E:"\u{1D674}",F:"\u{1D675}",G:"\u{1D676}",H:"\u{1D677}",I:"\u{1D678}",J:"\u{1D679}",K:"\u{1D67A}",L:"\u{1D67B}",M:"\u{1D67C}",N:"\u{1D67D}",O:"\u{1D67E}",P:"\u{1D67F}",Q:"\u{1D680}",R:"\u{1D681}",S:"\u{1D682}",T:"\u{1D683}",U:"\u{1D684}",V:"\u{1D685}",W:"\u{1D686}",X:"\u{1D687}",Y:"\u{1D688}",Z:"\u{1D689}",a:"\u{1D68A}",b:"\u{1D68B}",c:"\u{1D68C}",d:"\u{1D68D}",e:"\u{1D68E}",f:"\u{1D68F}",g:"\u{1D690}",h:"\u{1D691}",i:"\u{1D692}",j:"\u{1D693}",k:"\u{1D694}",l:"\u{1D695}",m:"\u{1D696}",n:"\u{1D697}",o:"\u{1D698}",p:"\u{1D699}",q:"\u{1D69A}",r:"\u{1D69B}",s:"\u{1D69C}",t:"\u{1D69D}",u:"\u{1D69E}",v:"\u{1D69F}",w:"\u{1D6A0}",x:"\u{1D6A1}",y:"\u{1D6A2}",z:"\u{1D6A3}","0":"\u{1D7F6}","1":"\u{1D7F7}","2":"\u{1D7F8}","3":"\u{1D7F9}","4":"\u{1D7FA}","5":"\u{1D7FB}","6":"\u{1D7FC}","7":"\u{1D7FD}","8":"\u{1D7FE}","9":"\u{1D7FF}"}});var AC=J((Cz,EC)=>{var AD=pC(),vD=hC(),kC=mC(),TD=gC(),RD=yC(),xD=_C(),DD=bC(),OD=CC(),PD=wC(),SC=function(t,e){return t[e]!==void 0?t[e]:e};function Cr(t,e,n){t=t.replace(e,"^");var r="",o="normal",s,i;for(s=0;s<t.length;s++){if(i=t[s],o==="normal"&&i==="^"){o="modified";continue}else if(o==="modified"&&i==="{"){o="long";continue}else if(o==="modified"){r+=SC(n,i),o="normal";continue}else if(o==="long"&&i==="}"){o="normal";continue}o==="normal"?r+=i:r+=SC(n,i)}return r}EC.exports=function(t){return Object.keys(kC).forEach(function(e){var n=kC[e];t=t.replace(e,n)}),t=Cr(t,"^",vD),t=Cr(t,"_",AD),t=Cr(t,"\\bb",TD),t=Cr(t,"\\bf",RD),t=Cr(t,"\\it",OD),t=Cr(t,"\\cal",xD),t=Cr(t,"\\frak",DD),t=Cr(t,"\\mono",PD),t}});var Dp=J((yH,nw)=>{"use strict";var Pc=Object.prototype.hasOwnProperty,tw=Object.prototype.toString,VC=Object.defineProperty,YC=Object.getOwnPropertyDescriptor,XC=function(e){return typeof Array.isArray=="function"?Array.isArray(e):tw.call(e)==="[object Array]"},QC=function(e){if(!e||tw.call(e)!=="[object Object]")return!1;var n=Pc.call(e,"constructor"),r=e.constructor&&e.constructor.prototype&&Pc.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!n&&!r)return!1;var o;for(o in e);return typeof o>"u"||Pc.call(e,o)},ZC=function(e,n){VC&&n.name==="__proto__"?VC(e,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):e[n.name]=n.newValue},ew=function(e,n){if(n==="__proto__")if(Pc.call(e,n)){if(YC)return YC(e,n).value}else return;return e[n]};nw.exports=function t(){var e,n,r,o,s,i,a=arguments[0],u=1,d=arguments.length,f=!1;for(typeof a=="boolean"&&(f=a,a=arguments[1]||{},u=2),(a==null||typeof a!="object"&&typeof a!="function")&&(a={});u<d;++u)if(e=arguments[u],e!=null)for(n in e)r=ew(a,n),o=ew(e,n),a!==o&&(f&&o&&(QC(o)||(s=XC(o)))?(s?(s=!1,i=r&&XC(r)?r:[]):i=r&&QC(r)?r:{},ZC(a,{name:n,newValue:t(f,i,o)})):typeof o<"u"&&ZC(a,{name:n,newValue:o}));return a}});var rw=J((_H,uO)=>{uO.exports={name:"gaxios",version:"7.3.0",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","samples-test":"cd samples/ && npm link ../ && npm test && cd ../",prelint:"cd samples; npm link ../; npm install",clean:"gts clean"},repository:{type:"git",directory:"core/packages/gaxios",url:"https://github.com/googleapis/google-cloud-node.git"},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.8","@types/node":"^24.0.0","@types/sinon":"^21.0.0","@types/tmp":"^0.2.6",assert:"^2.0.0",browserify:"^17.0.0",c8:"^10.1.3",cors:"^2.8.5",express:"^5.0.0",gts:"^6.0.2","is-docker":"^3.0.0",jsdoc:"^4.0.4","jsdoc-fresh":"^5.0.0","jsdoc-region-tag":"^4.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",mocha:"^11.1.0",multiparty:"^4.2.1",mv:"^2.1.1",ncp:"^2.0.0",nock:"14.0.5","null-loader":"^4.0.1","pack-n-play":"^4.0.0",puppeteer:"^24.0.0",sinon:"21.0.3","stream-browserify":"^3.0.0",tmp:"0.2.6","ts-loader":"^9.5.2",typescript:"5.8.3","undici-types":"^7.24.1",webpack:"^5.97.1","webpack-cli":"^6.0.1"},dependencies:{extend:"^3.0.2","https-proxy-agent":"^7.0.1","node-fetch":"^3.3.2"},homepage:"https://github.com/googleapis/google-cloud-node/tree/main/core/packages/gaxios"}});var sw=J((bH,ow)=>{"use strict";var lO=rw();ow.exports={pkg:lO}});var Ip=J(It=>{"use strict";var aw=It&&It.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(It,"__esModule",{value:!0});It.GaxiosError=It.GAXIOS_ERROR_SYMBOL=void 0;It.defaultErrorRedactor=cw;var iw=aw(Dp()),dO=aw(sw()),Op=dO.default.pkg;It.GAXIOS_ERROR_SYMBOL=Symbol.for(`${Op.name}-gaxios-error`);var Pp=class t extends Error{config;response;code;status;error;[It.GAXIOS_ERROR_SYMBOL]=Op.version;static[Symbol.hasInstance](e){return e&&typeof e=="object"&&It.GAXIOS_ERROR_SYMBOL in e&&e[It.GAXIOS_ERROR_SYMBOL]===Op.version?!0:Function.prototype[Symbol.hasInstance].call(t,e)}constructor(e,n,r,o){if(super(e,{cause:o}),this.config=n,this.response=r,this.error=o instanceof Error?o:void 0,this.config=(0,iw.default)(!0,{},n),this.response&&(this.response.config=(0,iw.default)(!0,{},this.response.config)),this.response){try{this.response.data=fO(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,n="The request failed"){let r=n;if(typeof e.data=="string"&&(r=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"){r="message"in e.data.error&&typeof e.data.error.message=="string"?e.data.error.message:r;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 i=[];for(let a of e.data.error.errors)typeof a=="object"&&"message"in a&&typeof a.message=="string"&&i.push(a.message);return Object.assign({message:i.join(`
|
|
44
|
+
`)||r,code:s,status:o},e.data.error)}return Object.assign({message:r,code:s,status:o},e.data.error)}}return{message:r,code:e.status,status:e.statusText}}};It.GaxiosError=Pp;function fO(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 cw(t){let e="<<REDACTED> - See `errorRedactor` option in `gaxios` for configuration>.";function n(s){s&&s.forEach((i,a)=>{(/^authentication$/i.test(a)||/^authorization$/i.test(a)||/secret/i.test(a))&&s.set(a,e)})}function r(s,i){if(typeof s=="object"&&s!==null&&typeof s[i]=="string"){let a=s[i];(/grant_type=/i.test(a)||/assertion=/i.test(a)||/secret/i.test(a))&&(s[i]=e)}}function o(s){!s||typeof s!="object"||(s instanceof FormData||s instanceof URLSearchParams||"forEach"in s&&"set"in s?s.forEach((i,a)=>{(["grant_type","assertion"].includes(a)||/secret/.test(a))&&s.set(a,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&&(n(t.config.headers),r(t.config,"data"),o(t.config.data),r(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&&(cw({config:t.response.config}),n(t.response.headers),t.response.bodyUsed&&(r(t.response,"data"),o(t.response.data))),t}});var lw=J(Fp=>{"use strict";Object.defineProperty(Fp,"__esModule",{value:!0});Fp.getRetryConfig=pO;async function pO(t){let e=uw(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 n=[[100,199],[408,408],[429,429],[500,599]];if(e.statusCodesToRetry=e.statusCodesToRetry||n,t.config.retryConfig=e,!await(e.shouldRetry||hO)(t))return{shouldRetry:!1,config:t.config};let o=mO(e);t.config.retryConfig.currentRetryAttempt+=1;let s=e.retryBackoff?e.retryBackoff(t,o):new Promise(i=>{setTimeout(i,o)});return e.onRetryAttempt&&await e.onRetryAttempt(t),await s,{shouldRetry:!0,config:t.config}}function hO(t){let e=uw(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 n=!1;for(let[r,o]of e.statusCodesToRetry){let s=t.response.status;if(s>=r&&s<=o){n=!0;break}}if(!n)return!1}return e.currentRetryAttempt=e.currentRetryAttempt||0,!(e.currentRetryAttempt>=e.retry)}function uw(t){if(t&&t.config&&t.config.retryConfig)return t.config.retryConfig}function mO(t){let n=(t.currentRetryAttempt?0:t.retryDelay??100)+(Math.pow(t.retryDelayMultiplier,t.currentRetryAttempt)-1)/2*1e3,r=t.totalTimeout-(Date.now()-t.timeOfFirstRequest);return Math.min(n,r,t.maxRetryDelay)}});var Mp=J(Ic=>{"use strict";Object.defineProperty(Ic,"__esModule",{value:!0});Ic.GaxiosInterceptorManager=void 0;var Np=class extends Set{};Ic.GaxiosInterceptorManager=Np});var fw=J((SH,dw)=>{var qo=1e3,$o=qo*60,zo=$o*60,Qr=zo*24,gO=Qr*7,yO=Qr*365.25;dw.exports=function(t,e){e=e||{};var n=typeof t;if(n==="string"&&t.length>0)return _O(t);if(n==="number"&&isFinite(t))return e.long?CO(t):bO(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function _O(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 n=parseFloat(e[1]),r=(e[2]||"ms").toLowerCase();switch(r){case"years":case"year":case"yrs":case"yr":case"y":return n*yO;case"weeks":case"week":case"w":return n*gO;case"days":case"day":case"d":return n*Qr;case"hours":case"hour":case"hrs":case"hr":case"h":return n*zo;case"minutes":case"minute":case"mins":case"min":case"m":return n*$o;case"seconds":case"second":case"secs":case"sec":case"s":return n*qo;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}function bO(t){var e=Math.abs(t);return e>=Qr?Math.round(t/Qr)+"d":e>=zo?Math.round(t/zo)+"h":e>=$o?Math.round(t/$o)+"m":e>=qo?Math.round(t/qo)+"s":t+"ms"}function CO(t){var e=Math.abs(t);return e>=Qr?Fc(t,e,Qr,"day"):e>=zo?Fc(t,e,zo,"hour"):e>=$o?Fc(t,e,$o,"minute"):e>=qo?Fc(t,e,qo,"second"):t+" ms"}function Fc(t,e,n,r){var o=e>=n*1.5;return Math.round(t/n)+" "+r+(o?"s":"")}});var Bp=J((EH,pw)=>{function wO(t){n.debug=n,n.default=n,n.coerce=u,n.disable=i,n.enable=o,n.enabled=a,n.humanize=fw(),n.destroy=d,Object.keys(t).forEach(f=>{n[f]=t[f]}),n.names=[],n.skips=[],n.formatters={};function e(f){let h=0;for(let p=0;p<f.length;p++)h=(h<<5)-h+f.charCodeAt(p),h|=0;return n.colors[Math.abs(h)%n.colors.length]}n.selectColor=e;function n(f){let h,p=null,b,C;function m(...w){if(!m.enabled)return;let _=m,A=Number(new Date),S=A-(h||A);_.diff=S,_.prev=h,_.curr=A,h=A,w[0]=n.coerce(w[0]),typeof w[0]!="string"&&w.unshift("%O");let T=0;w[0]=w[0].replace(/%([a-zA-Z%])/g,(O,q)=>{if(O==="%%")return"%";T++;let $=n.formatters[q];if(typeof $=="function"){let z=w[T];O=$.call(_,z),w.splice(T,1),T--}return O}),n.formatArgs.call(_,w),(_.log||n.log).apply(_,w)}return m.namespace=f,m.useColors=n.useColors(),m.color=n.selectColor(f),m.extend=r,m.destroy=n.destroy,Object.defineProperty(m,"enabled",{enumerable:!0,configurable:!1,get:()=>p!==null?p:(b!==n.namespaces&&(b=n.namespaces,C=n.enabled(f)),C),set:w=>{p=w}}),typeof n.init=="function"&&n.init(m),m}function r(f,h){let p=n(this.namespace+(typeof h>"u"?":":h)+f);return p.log=this.log,p}function o(f){n.save(f),n.namespaces=f,n.names=[],n.skips=[];let h=(typeof f=="string"?f:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let p of h)p[0]==="-"?n.skips.push(p.slice(1)):n.names.push(p)}function s(f,h){let p=0,b=0,C=-1,m=0;for(;p<f.length;)if(b<h.length&&(h[b]===f[p]||h[b]==="*"))h[b]==="*"?(C=b,m=p,b++):(p++,b++);else if(C!==-1)b=C+1,m++,p=m;else return!1;for(;b<h.length&&h[b]==="*";)b++;return b===h.length}function i(){let f=[...n.names,...n.skips.map(h=>"-"+h)].join(",");return n.enable(""),f}function a(f){for(let h of n.skips)if(s(f,h))return!1;for(let h of n.names)if(s(f,h))return!0;return!1}function u(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 n.enable(n.load()),n}pw.exports=wO});var hw=J((_t,Nc)=>{_t.formatArgs=SO;_t.save=EO;_t.load=AO;_t.useColors=kO;_t.storage=vO();_t.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`."))}})();_t.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 kO(){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 SO(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Nc.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let n=0,r=0;t[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(n++,o==="%c"&&(r=n))}),t.splice(r,0,e)}_t.log=console.debug||console.log||(()=>{});function EO(t){try{t?_t.storage.setItem("debug",t):_t.storage.removeItem("debug")}catch{}}function AO(){let t;try{t=_t.storage.getItem("debug")||_t.storage.getItem("DEBUG")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function vO(){try{return localStorage}catch{}}Nc.exports=Bp()(_t);var{formatters:TO}=Nc.exports;TO.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var gw=J((AH,mw)=>{"use strict";mw.exports=(t,e=process.argv)=>{let n=t.startsWith("-")?"":t.length===1?"-":"--",r=e.indexOf(n+t),o=e.indexOf("--");return r!==-1&&(o===-1||r<o)}});var bw=J((vH,_w)=>{"use strict";var RO=oe("os"),yw=oe("tty"),Ft=gw(),{env:nt}=process,Mc;Ft("no-color")||Ft("no-colors")||Ft("color=false")||Ft("color=never")?Mc=0:(Ft("color")||Ft("colors")||Ft("color=true")||Ft("color=always"))&&(Mc=1);function xO(){if("FORCE_COLOR"in nt)return nt.FORCE_COLOR==="true"?1:nt.FORCE_COLOR==="false"?0:nt.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(nt.FORCE_COLOR,10),3)}function DO(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function OO(t,{streamIsTTY:e,sniffFlags:n=!0}={}){let r=xO();r!==void 0&&(Mc=r);let o=n?Mc:r;if(o===0)return 0;if(n){if(Ft("color=16m")||Ft("color=full")||Ft("color=truecolor"))return 3;if(Ft("color=256"))return 2}if(t&&!e&&o===void 0)return 0;let s=o||0;if(nt.TERM==="dumb")return s;if(process.platform==="win32"){let i=RO.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in nt)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE","DRONE"].some(i=>i in nt)||nt.CI_NAME==="codeship"?1:s;if("TEAMCITY_VERSION"in nt)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(nt.TEAMCITY_VERSION)?1:0;if(nt.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in nt){let i=Number.parseInt((nt.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(nt.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(nt.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(nt.TERM)||"COLORTERM"in nt?1:s}function Up(t,e={}){let n=OO(t,{streamIsTTY:t&&t.isTTY,...e});return DO(n)}_w.exports={supportsColor:Up,stdout:Up({isTTY:yw.isatty(1)}),stderr:Up({isTTY:yw.isatty(2)})}});var ww=J((rt,Uc)=>{var PO=oe("tty"),Bc=oe("util");rt.init=jO;rt.log=MO;rt.formatArgs=FO;rt.save=BO;rt.load=UO;rt.useColors=IO;rt.destroy=Bc.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");rt.colors=[6,2,3,4,5,1];try{let t=bw();t&&(t.stderr||t).level>=2&&(rt.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{}rt.inspectOpts=Object.keys(process.env).filter(t=>/^debug_/i.test(t)).reduce((t,e)=>{let n=e.substring(6).toLowerCase().replace(/_([a-z])/g,(o,s)=>s.toUpperCase()),r=process.env[e];return/^(yes|on|true|enabled)$/i.test(r)?r=!0:/^(no|off|false|disabled)$/i.test(r)?r=!1:r==="null"?r=null:r=Number(r),t[n]=r,t},{});function IO(){return"colors"in rt.inspectOpts?!!rt.inspectOpts.colors:PO.isatty(process.stderr.fd)}function FO(t){let{namespace:e,useColors:n}=this;if(n){let r=this.color,o="\x1B[3"+(r<8?r:"8;5;"+r),s=` ${o};1m${e} \x1B[0m`;t[0]=s+t[0].split(`
|
|
45
45
|
`).join(`
|
|
46
|
-
`+s),t.push(o+"m+"+
|
|
47
|
-
`)}function
|
|
48
|
-
`).map(e=>e.trim()).join(" ")};
|
|
49
|
-
`).some(r=>r.indexOf("(https.js:")!==-1||r.indexOf("node:https:")!==-1)}incrementSockets(e){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[e]||(this.sockets[e]=[]);let n=new
|
|
46
|
+
`+s),t.push(o+"m+"+Uc.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=NO()+e+" "+t[0]}function NO(){return rt.inspectOpts.hideDate?"":new Date().toISOString()+" "}function MO(...t){return process.stderr.write(Bc.formatWithOptions(rt.inspectOpts,...t)+`
|
|
47
|
+
`)}function BO(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function UO(){return process.env.DEBUG}function jO(t){t.inspectOpts={};let e=Object.keys(rt.inspectOpts);for(let n=0;n<e.length;n++)t.inspectOpts[e[n]]=rt.inspectOpts[e[n]]}Uc.exports=Bp()(rt);var{formatters:Cw}=Uc.exports;Cw.o=function(t){return this.inspectOpts.colors=this.useColors,Bc.inspect(t,this.inspectOpts).split(`
|
|
48
|
+
`).map(e=>e.trim()).join(" ")};Cw.O=function(t){return this.inspectOpts.colors=this.useColors,Bc.inspect(t,this.inspectOpts)}});var Lp=J((TH,jp)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?jp.exports=hw():jp.exports=ww()});var Ew=J(bt=>{"use strict";var LO=bt&&bt.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),qO=bt&&bt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),kw=bt&&bt.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&LO(e,t,n);return qO(e,t),e};Object.defineProperty(bt,"__esModule",{value:!0});bt.req=bt.json=bt.toBuffer=void 0;var $O=kw(oe("http")),zO=kw(oe("https"));async function Sw(t){let e=0,n=[];for await(let r of t)e+=r.length,n.push(r);return Buffer.concat(n,e)}bt.toBuffer=Sw;async function HO(t){let n=(await Sw(t)).toString("utf8");try{return JSON.parse(n)}catch(r){let o=r;throw o.message+=` (input: ${n})`,o}}bt.json=HO;function WO(t,e={}){let r=((typeof t=="string"?t:t.href).startsWith("https:")?zO:$O).request(t,e),o=new Promise((s,i)=>{r.once("response",s).once("error",i).end()});return r.then=o.then.bind(o),r}bt.req=WO});var Rw=J(At=>{"use strict";var vw=At&&At.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),GO=At&&At.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Tw=At&&At.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&vw(e,t,n);return GO(e,t),e},JO=At&&At.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&vw(e,t,n)};Object.defineProperty(At,"__esModule",{value:!0});At.Agent=void 0;var KO=Tw(oe("net")),Aw=Tw(oe("http")),VO=oe("https");JO(Ew(),At);var pn=Symbol("AgentBaseInternalState"),qp=class extends Aw.Agent{constructor(e){super(e),this[pn]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint=="boolean")return e.secureEndpoint;if(typeof e.protocol=="string")return e.protocol==="https:"}let{stack:n}=new Error;return typeof n!="string"?!1:n.split(`
|
|
49
|
+
`).some(r=>r.indexOf("(https.js:")!==-1||r.indexOf("node:https:")!==-1)}incrementSockets(e){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[e]||(this.sockets[e]=[]);let n=new KO.Socket({writable:!1});return this.sockets[e].push(n),this.totalSocketCount++,n}decrementSockets(e,n){if(!this.sockets[e]||n===null)return;let r=this.sockets[e],o=r.indexOf(n);o!==-1&&(r.splice(o,1),this.totalSocketCount--,r.length===0&&delete this.sockets[e])}getName(e){return this.isSecureEndpoint(e)?VO.Agent.prototype.getName.call(this,e):super.getName(e)}createSocket(e,n,r){let o={...n,secureEndpoint:this.isSecureEndpoint(n)},s=this.getName(o),i=this.incrementSockets(s);Promise.resolve().then(()=>this.connect(e,o)).then(a=>{if(this.decrementSockets(s,i),a instanceof Aw.Agent)try{return a.addRequest(e,o)}catch(u){return r(u)}this[pn].currentSocket=a,super.createSocket(e,n,r)},a=>{this.decrementSockets(s,i),r(a)})}createConnection(){let e=this[pn].currentSocket;if(this[pn].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[pn].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[pn]&&(this[pn].defaultPort=e)}get protocol(){return this[pn].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[pn]&&(this[pn].protocol=e)}};At.Agent=qp});var xw=J(Ho=>{"use strict";var YO=Ho&&Ho.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ho,"__esModule",{value:!0});Ho.parseProxyResponse=void 0;var XO=YO(Lp()),jc=(0,XO.default)("https-proxy-agent:parse-proxy-response");function QO(t){return new Promise((e,n)=>{let r=0,o=[];function s(){let f=t.read();f?d(f):t.once("readable",s)}function i(){t.removeListener("end",a),t.removeListener("error",u),t.removeListener("readable",s)}function a(){i(),jc("onend"),n(new Error("Proxy connection ended before receiving CONNECT response"))}function u(f){i(),jc("onerror %o",f),n(f)}function d(f){o.push(f),r+=f.length;let h=Buffer.concat(o,r),p=h.indexOf(`\r
|
|
50
50
|
\r
|
|
51
|
-
`);if(
|
|
52
|
-
`),b
|
|
53
|
-
`;if(r.username||r.password){let
|
|
54
|
-
`;let u=(0,
|
|
55
|
-
`);let{connect:
|
|
56
|
-
--`+e;let n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e.charCodeAt(r),this.boundaryChars[n[r]]=!0;this.boundary=n,this.lookbehind=new Uint8Array(this.boundary.length+8),this.state=Be.START_BOUNDARY}write(e){let n=0,r=e.length,o=this.index,{lookbehind:s,boundary:i,boundaryChars:c,index:u,state:f,flags:d}=this,p=this.boundary.length,h=p-1,_=e.length,b,y,w=Et(T=>{this[T+"Mark"]=n},"mark"),C=Et(T=>{delete this[T+"Mark"]},"clear"),v=Et((T,x,O,q)=>{(x===void 0||x!==O)&&this[T](q&&q.subarray(x,O))},"callback"),A=Et((T,x)=>{let O=T+"Mark";O in this&&(x?(v(T,this[O],n,e),delete this[O]):(v(T,this[O],e.length,e),this[O]=0))},"dataCallback");for(n=0;n<r;n++)switch(b=e[n],f){case Be.START_BOUNDARY:if(u===i.length-2){if(b===ui)d|=_r.LAST_BOUNDARY;else if(b!==Sc)return;u++;break}else if(u-1===i.length-2){if(d&_r.LAST_BOUNDARY&&b===ui)f=Be.END,d=0;else if(!(d&_r.LAST_BOUNDARY)&&b===kc)u=0,v("onPartBegin"),f=Be.HEADER_FIELD_START;else return;break}b!==i[u+2]&&(u=-2),b===i[u+2]&&u++;break;case Be.HEADER_FIELD_START:f=Be.HEADER_FIELD,w("onHeaderField"),u=0;case Be.HEADER_FIELD:if(b===Sc){C("onHeaderField"),f=Be.HEADERS_ALMOST_DONE;break}if(u++,b===ui)break;if(b===mO){if(u===1)return;A("onHeaderField",!0),f=Be.HEADER_VALUE_START;break}if(y=_O(b),y<gO||y>yO)return;break;case Be.HEADER_VALUE_START:if(b===hO)break;w("onHeaderValue"),f=Be.HEADER_VALUE;case Be.HEADER_VALUE:b===Sc&&(A("onHeaderValue",!0),v("onHeaderEnd"),f=Be.HEADER_VALUE_ALMOST_DONE);break;case Be.HEADER_VALUE_ALMOST_DONE:if(b!==kc)return;f=Be.HEADER_FIELD_START;break;case Be.HEADERS_ALMOST_DONE:if(b!==kc)return;v("onHeadersEnd"),f=Be.PART_DATA_START;break;case Be.PART_DATA_START:f=Be.PART_DATA,w("onPartData");case Be.PART_DATA:if(o=u,u===0){for(n+=h;n<_&&!(e[n]in c);)n+=p;n-=h,b=e[n]}if(u<i.length)i[u]===b?(u===0&&A("onPartData",!0),u++):u=0;else if(u===i.length)u++,b===Sc?d|=_r.PART_BOUNDARY:b===ui?d|=_r.LAST_BOUNDARY:u=0;else if(u-1===i.length)if(d&_r.PART_BOUNDARY){if(u=0,b===kc){d&=~_r.PART_BOUNDARY,v("onPartEnd"),v("onPartBegin"),f=Be.HEADER_FIELD_START;break}}else d&_r.LAST_BOUNDARY&&b===ui?(v("onPartEnd"),f=Be.END,d=0):u=0;if(u>0)s[u-1]=b;else if(o>0){let T=new Uint8Array(s.buffer,s.byteOffset,s.byteLength);v("onPartData",0,o,T),o=0,w("onPartData"),n--}break;case Be.END:break;default:throw new Error(`Unexpected state entered: ${f}`)}A("onHeaderField"),A("onHeaderValue"),A("onPartData"),this.index=u,this.state=f,this.flags=d}end(){if(this.state===Be.HEADER_FIELD_START&&this.index===0||this.state===Be.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==Be.END)throw new Error("MultipartParser.end(): stream ended unexpectedly")}};Et(XC,"MultipartParser");bO=XC;Et(QC,"_fileName");Et(ZC,"toFormData")});import gi from"node:http";import wO from"node:https";import Bo from"node:zlib";import pn,{PassThrough as Ic,pipeline as Uo}from"node:stream";import{Buffer as ct}from"node:buffer";import{types as Fc,deprecate as Nc,promisify as kO}from"node:util";import{format as SO}from"node:url";import{isIP as EO}from"node:net";import{promises as vO,statSync as hw,createReadStream as AO}from"node:fs";import{basename as TO}from"node:path";function mw(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 n=t.substring(5,e).split(";"),r="",o=!1,s=n[0]||"text/plain",i=s;for(let d=1;d<n.length;d++)n[d]==="base64"?o=!0:n[d]&&(i+=`;${n[d]}`,n[d].indexOf("charset=")===0&&(r=n[d].substring(8)));!n[0]&&!r.length&&(i+=";charset=US-ASCII",r="US-ASCII");let c=o?"base64":"ascii",u=unescape(t.substring(e+1)),f=Buffer.from(u,c);return f.type=s,f.typeFull=i,f.charset=r,f}function gw(){return rw||(rw=1,(function(t,e){(function(n,r){r(e)})(RO,function(n){function r(){}m(r,"noop");function o(a){return typeof a=="object"&&a!==null||typeof a=="function"}m(o,"typeIsObject");let s=r;function i(a,l){try{Object.defineProperty(a,"name",{value:l,configurable:!0})}catch{}}m(i,"setFunctionName");let c=Promise,u=Promise.prototype.then,f=Promise.reject.bind(c);function d(a){return new c(a)}m(d,"newPromise");function p(a){return d(l=>l(a))}m(p,"promiseResolvedWith");function h(a){return f(a)}m(h,"promiseRejectedWith");function _(a,l,g){return u.call(a,l,g)}m(_,"PerformPromiseThen");function b(a,l,g){_(_(a,l,g),void 0,s)}m(b,"uponPromise");function y(a,l){b(a,l)}m(y,"uponFulfillment");function w(a,l){b(a,void 0,l)}m(w,"uponRejection");function C(a,l,g){return _(a,l,g)}m(C,"transformPromiseWith");function v(a){_(a,void 0,s)}m(v,"setPromiseIsHandledToTrue");let A=m(a=>{if(typeof queueMicrotask=="function")A=queueMicrotask;else{let l=p(void 0);A=m(g=>_(l,g),"_queueMicrotask")}return A(a)},"_queueMicrotask");function T(a,l,g){if(typeof a!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(a,l,g)}m(T,"reflectCall");function x(a,l,g){try{return p(T(a,l,g))}catch(S){return h(S)}}m(x,"promiseCall");let O=16384,q=class{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(l){let g=this._back,S=g;g._elements.length===O-1&&(S={_elements:[],_next:void 0}),g._elements.push(l),S!==g&&(this._back=S,g._next=S),++this._size}shift(){let l=this._front,g=l,S=this._cursor,I=S+1,L=l._elements,z=L[S];return I===O&&(g=l._next,I=0),--this._size,this._cursor=I,l!==g&&(this._front=g),L[S]=void 0,z}forEach(l){let g=this._cursor,S=this._front,I=S._elements;for(;(g!==I.length||S._next!==void 0)&&!(g===I.length&&(S=S._next,I=S._elements,g=0,I.length===0));)l(I[g]),++g}peek(){let l=this._front,g=this._cursor;return l._elements[g]}};m(q,"SimpleQueue");let $=q,H=Symbol("[[AbortSteps]]"),ce=Symbol("[[ErrorSteps]]"),X=Symbol("[[CancelSteps]]"),te=Symbol("[[PullSteps]]"),Z=Symbol("[[ReleaseSteps]]");function Oe(a,l){a._ownerReadableStream=l,l._reader=a,l._state==="readable"?ee(a):l._state==="closed"?ie(a):Q(a,l._storedError)}m(Oe,"ReadableStreamReaderGenericInitialize");function $e(a,l){let g=a._ownerReadableStream;return xt(g,l)}m($e,"ReadableStreamReaderGenericCancel");function Re(a){let l=a._ownerReadableStream;l._state==="readable"?de(a,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):Ce(a,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),l._readableStreamController[Z](),l._reader=void 0,a._ownerReadableStream=void 0}m(Re,"ReadableStreamReaderGenericRelease");function He(a){return new TypeError("Cannot "+a+" a stream using a released reader")}m(He,"readerLockException");function ee(a){a._closedPromise=d((l,g)=>{a._closedPromise_resolve=l,a._closedPromise_reject=g})}m(ee,"defaultReaderClosedPromiseInitialize");function Q(a,l){ee(a),de(a,l)}m(Q,"defaultReaderClosedPromiseInitializeAsRejected");function ie(a){ee(a),K(a)}m(ie,"defaultReaderClosedPromiseInitializeAsResolved");function de(a,l){a._closedPromise_reject!==void 0&&(v(a._closedPromise),a._closedPromise_reject(l),a._closedPromise_resolve=void 0,a._closedPromise_reject=void 0)}m(de,"defaultReaderClosedPromiseReject");function Ce(a,l){Q(a,l)}m(Ce,"defaultReaderClosedPromiseResetToRejected");function K(a){a._closedPromise_resolve!==void 0&&(a._closedPromise_resolve(void 0),a._closedPromise_resolve=void 0,a._closedPromise_reject=void 0)}m(K,"defaultReaderClosedPromiseResolve");let Je=Number.isFinite||function(a){return typeof a=="number"&&isFinite(a)},Ne=Math.trunc||function(a){return a<0?Math.ceil(a):Math.floor(a)};function Y(a){return typeof a=="object"||typeof a=="function"}m(Y,"isDictionary");function ue(a,l){if(a!==void 0&&!Y(a))throw new TypeError(`${l} is not an object.`)}m(ue,"assertDictionary");function fe(a,l){if(typeof a!="function")throw new TypeError(`${l} is not a function.`)}m(fe,"assertFunction");function k(a){return typeof a=="object"&&a!==null||typeof a=="function"}m(k,"isObject");function E(a,l){if(!k(a))throw new TypeError(`${l} is not an object.`)}m(E,"assertObject");function R(a,l,g){if(a===void 0)throw new TypeError(`Parameter ${l} is required in '${g}'.`)}m(R,"assertRequiredArgument");function M(a,l,g){if(a===void 0)throw new TypeError(`${l} is required in '${g}'.`)}m(M,"assertRequiredField");function D(a){return Number(a)}m(D,"convertUnrestrictedDouble");function F(a){return a===0?0:a}m(F,"censorNegativeZero");function j(a){return F(Ne(a))}m(j,"integerPart");function P(a,l){let g=Number.MAX_SAFE_INTEGER,S=Number(a);if(S=F(S),!Je(S))throw new TypeError(`${l} is not a finite number`);if(S=j(S),S<0||S>g)throw new TypeError(`${l} is outside the accepted range of 0 to ${g}, inclusive`);return!Je(S)||S===0?0:S}m(P,"convertUnsignedLongLongWithEnforceRange");function N(a,l){if(!xn(a))throw new TypeError(`${l} is not a ReadableStream.`)}m(N,"assertReadableStream");function U(a){return new ye(a)}m(U,"AcquireReadableStreamDefaultReader");function B(a,l){a._reader._readRequests.push(l)}m(B,"ReadableStreamAddReadRequest");function G(a,l,g){let S=a._reader._readRequests.shift();g?S._closeSteps():S._chunkSteps(l)}m(G,"ReadableStreamFulfillReadRequest");function se(a){return a._reader._readRequests.length}m(se,"ReadableStreamGetNumReadRequests");function ae(a){let l=a._reader;return!(l===void 0||!me(l))}m(ae,"ReadableStreamHasDefaultReader");let be=class{constructor(l){if(R(l,1,"ReadableStreamDefaultReader"),N(l,"First parameter"),Dn(l))throw new TypeError("This stream has already been locked for exclusive reading by another reader");Oe(this,l),this._readRequests=new $}get closed(){return me(this)?this._closedPromise:h(on("closed"))}cancel(l=void 0){return me(this)?this._ownerReadableStream===void 0?h(He("cancel")):$e(this,l):h(on("cancel"))}read(){if(!me(this))return h(on("read"));if(this._ownerReadableStream===void 0)return h(He("read from"));let l,g,S=d((I,L)=>{l=I,g=L});return _e(this,{_chunkSteps:m(I=>l({value:I,done:!1}),"_chunkSteps"),_closeSteps:m(()=>l({value:void 0,done:!0}),"_closeSteps"),_errorSteps:m(I=>g(I),"_errorSteps")}),S}releaseLock(){if(!me(this))throw on("releaseLock");this._ownerReadableStream!==void 0&&De(this)}};m(be,"ReadableStreamDefaultReader");let ye=be;Object.defineProperties(ye.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),i(ye.prototype.cancel,"cancel"),i(ye.prototype.read,"read"),i(ye.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ye.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});function me(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_readRequests")?!1:a instanceof ye}m(me,"IsReadableStreamDefaultReader");function _e(a,l){let g=a._ownerReadableStream;g._disturbed=!0,g._state==="closed"?l._closeSteps():g._state==="errored"?l._errorSteps(g._storedError):g._readableStreamController[te](l)}m(_e,"ReadableStreamDefaultReaderRead");function De(a){Re(a);let l=new TypeError("Reader was released");Ve(a,l)}m(De,"ReadableStreamDefaultReaderRelease");function Ve(a,l){let g=a._readRequests;a._readRequests=new $,g.forEach(S=>{S._errorSteps(l)})}m(Ve,"ReadableStreamDefaultReaderErrorReadRequests");function on(a){return new TypeError(`ReadableStreamDefaultReader.prototype.${a} can only be used on a ReadableStreamDefaultReader`)}m(on,"defaultReaderBrandCheckException");let ks=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype),io=class{constructor(l,g){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=l,this._preventCancel=g}next(){let l=m(()=>this._nextSteps(),"nextSteps");return this._ongoingPromise=this._ongoingPromise?C(this._ongoingPromise,l,l):l(),this._ongoingPromise}return(l){let g=m(()=>this._returnSteps(l),"returnSteps");return this._ongoingPromise?C(this._ongoingPromise,g,g):g()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let l=this._reader,g,S,I=d((L,z)=>{g=L,S=z});return _e(l,{_chunkSteps:m(L=>{this._ongoingPromise=void 0,A(()=>g({value:L,done:!1}))},"_chunkSteps"),_closeSteps:m(()=>{this._ongoingPromise=void 0,this._isFinished=!0,Re(l),g({value:void 0,done:!0})},"_closeSteps"),_errorSteps:m(L=>{this._ongoingPromise=void 0,this._isFinished=!0,Re(l),S(L)},"_errorSteps")}),I}_returnSteps(l){if(this._isFinished)return Promise.resolve({value:l,done:!0});this._isFinished=!0;let g=this._reader;if(!this._preventCancel){let S=$e(g,l);return Re(g),C(S,()=>({value:l,done:!0}))}return Re(g),p({value:l,done:!0})}};m(io,"ReadableStreamAsyncIteratorImpl");let wt=io,Xn={next(){return Xe(this)?this._asyncIteratorImpl.next():h(Me("next"))},return(a){return Xe(this)?this._asyncIteratorImpl.return(a):h(Me("return"))}};Object.setPrototypeOf(Xn,ks);function ut(a,l){let g=U(a),S=new wt(g,l),I=Object.create(Xn);return I._asyncIteratorImpl=S,I}m(ut,"AcquireReadableStreamAsyncIterator");function Xe(a){if(!o(a)||!Object.prototype.hasOwnProperty.call(a,"_asyncIteratorImpl"))return!1;try{return a._asyncIteratorImpl instanceof wt}catch{return!1}}m(Xe,"IsReadableStreamAsyncIterator");function Me(a){return new TypeError(`ReadableStreamAsyncIterator.${a} can only be used on a ReadableSteamAsyncIterator`)}m(Me,"streamAsyncIteratorBrandCheckException");let sy=Number.isNaN||function(a){return a!==a};var td,nd,rd;function ao(a){return a.slice()}m(ao,"CreateArrayFromList");function od(a,l,g,S,I){new Uint8Array(a).set(new Uint8Array(g,S,I),l)}m(od,"CopyDataBlockBytes");let En=m(a=>(typeof a.transfer=="function"?En=m(l=>l.transfer(),"TransferArrayBuffer"):typeof structuredClone=="function"?En=m(l=>structuredClone(l,{transfer:[l]}),"TransferArrayBuffer"):En=m(l=>l,"TransferArrayBuffer"),En(a)),"TransferArrayBuffer"),Qn=m(a=>(typeof a.detached=="boolean"?Qn=m(l=>l.detached,"IsDetachedBuffer"):Qn=m(l=>l.byteLength===0,"IsDetachedBuffer"),Qn(a)),"IsDetachedBuffer");function sd(a,l,g){if(a.slice)return a.slice(l,g);let S=g-l,I=new ArrayBuffer(S);return od(I,0,a,l,S),I}m(sd,"ArrayBufferSlice");function Ss(a,l){let g=a[l];if(g!=null){if(typeof g!="function")throw new TypeError(`${String(l)} is not a function`);return g}}m(Ss,"GetMethod");function iy(a){let l={[Symbol.iterator]:()=>a.iterator},g=(async function*(){return yield*l})(),S=g.next;return{iterator:g,nextMethod:S,done:!1}}m(iy,"CreateAsyncFromSyncIterator");let id=(rd=(td=Symbol.asyncIterator)!==null&&td!==void 0?td:(nd=Symbol.for)===null||nd===void 0?void 0:nd.call(Symbol,"Symbol.asyncIterator"))!==null&&rd!==void 0?rd:"@@asyncIterator";function ad(a,l="sync",g){if(g===void 0)if(l==="async"){if(g=Ss(a,id),g===void 0){let L=Ss(a,Symbol.iterator),z=ad(a,"sync",L);return iy(z)}}else g=Ss(a,Symbol.iterator);if(g===void 0)throw new TypeError("The object is not iterable");let S=T(g,a,[]);if(!o(S))throw new TypeError("The iterator method must return an object");let I=S.next;return{iterator:S,nextMethod:I,done:!1}}m(ad,"GetIterator");function ay(a){let l=T(a.nextMethod,a.iterator,[]);if(!o(l))throw new TypeError("The iterator.next() method must return an object");return l}m(ay,"IteratorNext");function cy(a){return!!a.done}m(cy,"IteratorComplete");function uy(a){return a.value}m(uy,"IteratorValue");function ly(a){return!(typeof a!="number"||sy(a)||a<0)}m(ly,"IsNonNegativeNumber");function cd(a){let l=sd(a.buffer,a.byteOffset,a.byteOffset+a.byteLength);return new Uint8Array(l)}m(cd,"CloneAsUint8Array");function Yi(a){let l=a._queue.shift();return a._queueTotalSize-=l.size,a._queueTotalSize<0&&(a._queueTotalSize=0),l.value}m(Yi,"DequeueValue");function Xi(a,l,g){if(!ly(g)||g===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");a._queue.push({value:l,size:g}),a._queueTotalSize+=g}m(Xi,"EnqueueValueWithSize");function dy(a){return a._queue.peek().value}m(dy,"PeekQueueValue");function vn(a){a._queue=new $,a._queueTotalSize=0}m(vn,"ResetQueue");function ud(a){return a===DataView}m(ud,"isDataViewConstructor");function fy(a){return ud(a.constructor)}m(fy,"isDataView");function py(a){return ud(a)?1:a.BYTES_PER_ELEMENT}m(py,"arrayBufferViewElementSize");let hy=class{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!Qi(this))throw ra("view");return this._view}respond(l){if(!Qi(this))throw ra("respond");if(R(l,1,"respond"),l=P(l,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Qn(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");Ts(this._associatedReadableByteStreamController,l)}respondWithNewView(l){if(!Qi(this))throw ra("respondWithNewView");if(R(l,1,"respondWithNewView"),!ArrayBuffer.isView(l))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(Qn(l.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");Rs(this._associatedReadableByteStreamController,l)}};m(hy,"ReadableStreamBYOBRequest");let Or=hy;Object.defineProperties(Or.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),i(Or.prototype.respond,"respond"),i(Or.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Or.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});let my=class{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!Zn(this))throw uo("byobRequest");return na(this)}get desiredSize(){if(!Zn(this))throw uo("desiredSize");return bd(this)}close(){if(!Zn(this))throw uo("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let l=this._controlledReadableByteStream._state;if(l!=="readable")throw new TypeError(`The stream (in ${l} state) is not in the readable state and cannot be closed`);co(this)}enqueue(l){if(!Zn(this))throw uo("enqueue");if(R(l,1,"enqueue"),!ArrayBuffer.isView(l))throw new TypeError("chunk must be an array buffer view");if(l.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(l.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 g=this._controlledReadableByteStream._state;if(g!=="readable")throw new TypeError(`The stream (in ${g} state) is not in the readable state and cannot be enqueued to`);As(this,l)}error(l=void 0){if(!Zn(this))throw uo("error");kt(this,l)}[X](l){ld(this),vn(this);let g=this._cancelAlgorithm(l);return vs(this),g}[te](l){let g=this._controlledReadableByteStream;if(this._queueTotalSize>0){_d(this,l);return}let S=this._autoAllocateChunkSize;if(S!==void 0){let I;try{I=new ArrayBuffer(S)}catch(z){l._errorSteps(z);return}let L={buffer:I,bufferByteLength:S,byteOffset:0,byteLength:S,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(L)}B(g,l),er(this)}[Z](){if(this._pendingPullIntos.length>0){let l=this._pendingPullIntos.peek();l.readerType="none",this._pendingPullIntos=new $,this._pendingPullIntos.push(l)}}};m(my,"ReadableByteStreamController");let An=my;Object.defineProperties(An.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),i(An.prototype.close,"close"),i(An.prototype.enqueue,"enqueue"),i(An.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(An.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});function Zn(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_controlledReadableByteStream")?!1:a instanceof An}m(Zn,"IsReadableByteStreamController");function Qi(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_associatedReadableByteStreamController")?!1:a instanceof Or}m(Qi,"IsReadableStreamBYOBRequest");function er(a){if(!Cy(a))return;if(a._pulling){a._pullAgain=!0;return}a._pulling=!0;let l=a._pullAlgorithm();b(l,()=>(a._pulling=!1,a._pullAgain&&(a._pullAgain=!1,er(a)),null),g=>(kt(a,g),null))}m(er,"ReadableByteStreamControllerCallPullIfNeeded");function ld(a){ea(a),a._pendingPullIntos=new $}m(ld,"ReadableByteStreamControllerClearPendingPullIntos");function Zi(a,l){let g=!1;a._state==="closed"&&(g=!0);let S=dd(l);l.readerType==="default"?G(a,S,g):Ay(a,S,g)}m(Zi,"ReadableByteStreamControllerCommitPullIntoDescriptor");function dd(a){let l=a.bytesFilled,g=a.elementSize;return new a.viewConstructor(a.buffer,a.byteOffset,l/g)}m(dd,"ReadableByteStreamControllerConvertPullIntoDescriptor");function Es(a,l,g,S){a._queue.push({buffer:l,byteOffset:g,byteLength:S}),a._queueTotalSize+=S}m(Es,"ReadableByteStreamControllerEnqueueChunkToQueue");function fd(a,l,g,S){let I;try{I=sd(l,g,g+S)}catch(L){throw kt(a,L),L}Es(a,I,0,S)}m(fd,"ReadableByteStreamControllerEnqueueClonedChunkToQueue");function pd(a,l){l.bytesFilled>0&&fd(a,l.buffer,l.byteOffset,l.bytesFilled),Pr(a)}m(pd,"ReadableByteStreamControllerEnqueueDetachedPullIntoToQueue");function hd(a,l){let g=Math.min(a._queueTotalSize,l.byteLength-l.bytesFilled),S=l.bytesFilled+g,I=g,L=!1,z=S%l.elementSize,re=S-z;re>=l.minimumFill&&(I=re-l.bytesFilled,L=!0);let le=a._queue;for(;I>0;){let ge=le.peek(),ke=Math.min(I,ge.byteLength),Se=l.byteOffset+l.bytesFilled;od(l.buffer,Se,ge.buffer,ge.byteOffset,ke),ge.byteLength===ke?le.shift():(ge.byteOffset+=ke,ge.byteLength-=ke),a._queueTotalSize-=ke,md(a,ke,l),I-=ke}return L}m(hd,"ReadableByteStreamControllerFillPullIntoDescriptorFromQueue");function md(a,l,g){g.bytesFilled+=l}m(md,"ReadableByteStreamControllerFillHeadPullIntoDescriptor");function gd(a){a._queueTotalSize===0&&a._closeRequested?(vs(a),yo(a._controlledReadableByteStream)):er(a)}m(gd,"ReadableByteStreamControllerHandleQueueDrain");function ea(a){a._byobRequest!==null&&(a._byobRequest._associatedReadableByteStreamController=void 0,a._byobRequest._view=null,a._byobRequest=null)}m(ea,"ReadableByteStreamControllerInvalidateBYOBRequest");function ta(a){for(;a._pendingPullIntos.length>0;){if(a._queueTotalSize===0)return;let l=a._pendingPullIntos.peek();hd(a,l)&&(Pr(a),Zi(a._controlledReadableByteStream,l))}}m(ta,"ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue");function gy(a){let l=a._controlledReadableByteStream._reader;for(;l._readRequests.length>0;){if(a._queueTotalSize===0)return;let g=l._readRequests.shift();_d(a,g)}}m(gy,"ReadableByteStreamControllerProcessReadRequestsUsingQueue");function yy(a,l,g,S){let I=a._controlledReadableByteStream,L=l.constructor,z=py(L),{byteOffset:re,byteLength:le}=l,ge=g*z,ke;try{ke=En(l.buffer)}catch(Ie){S._errorSteps(Ie);return}let Se={buffer:ke,bufferByteLength:ke.byteLength,byteOffset:re,byteLength:le,bytesFilled:0,minimumFill:ge,elementSize:z,viewConstructor:L,readerType:"byob"};if(a._pendingPullIntos.length>0){a._pendingPullIntos.push(Se),kd(I,S);return}if(I._state==="closed"){let Ie=new L(Se.buffer,Se.byteOffset,0);S._closeSteps(Ie);return}if(a._queueTotalSize>0){if(hd(a,Se)){let Ie=dd(Se);gd(a),S._chunkSteps(Ie);return}if(a._closeRequested){let Ie=new TypeError("Insufficient bytes to fill elements in the given buffer");kt(a,Ie),S._errorSteps(Ie);return}}a._pendingPullIntos.push(Se),kd(I,S),er(a)}m(yy,"ReadableByteStreamControllerPullInto");function _y(a,l){l.readerType==="none"&&Pr(a);let g=a._controlledReadableByteStream;if(oa(g))for(;Sd(g)>0;){let S=Pr(a);Zi(g,S)}}m(_y,"ReadableByteStreamControllerRespondInClosedState");function by(a,l,g){if(md(a,l,g),g.readerType==="none"){pd(a,g),ta(a);return}if(g.bytesFilled<g.minimumFill)return;Pr(a);let S=g.bytesFilled%g.elementSize;if(S>0){let I=g.byteOffset+g.bytesFilled;fd(a,g.buffer,I-S,S)}g.bytesFilled-=S,Zi(a._controlledReadableByteStream,g),ta(a)}m(by,"ReadableByteStreamControllerRespondInReadableState");function yd(a,l){let g=a._pendingPullIntos.peek();ea(a),a._controlledReadableByteStream._state==="closed"?_y(a,g):by(a,l,g),er(a)}m(yd,"ReadableByteStreamControllerRespondInternal");function Pr(a){return a._pendingPullIntos.shift()}m(Pr,"ReadableByteStreamControllerShiftPendingPullInto");function Cy(a){let l=a._controlledReadableByteStream;return l._state!=="readable"||a._closeRequested||!a._started?!1:!!(ae(l)&&se(l)>0||oa(l)&&Sd(l)>0||bd(a)>0)}m(Cy,"ReadableByteStreamControllerShouldCallPull");function vs(a){a._pullAlgorithm=void 0,a._cancelAlgorithm=void 0}m(vs,"ReadableByteStreamControllerClearAlgorithms");function co(a){let l=a._controlledReadableByteStream;if(!(a._closeRequested||l._state!=="readable")){if(a._queueTotalSize>0){a._closeRequested=!0;return}if(a._pendingPullIntos.length>0){let g=a._pendingPullIntos.peek();if(g.bytesFilled%g.elementSize!==0){let S=new TypeError("Insufficient bytes to fill elements in the given buffer");throw kt(a,S),S}}vs(a),yo(l)}}m(co,"ReadableByteStreamControllerClose");function As(a,l){let g=a._controlledReadableByteStream;if(a._closeRequested||g._state!=="readable")return;let{buffer:S,byteOffset:I,byteLength:L}=l;if(Qn(S))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let z=En(S);if(a._pendingPullIntos.length>0){let re=a._pendingPullIntos.peek();if(Qn(re.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");ea(a),re.buffer=En(re.buffer),re.readerType==="none"&&pd(a,re)}if(ae(g))if(gy(a),se(g)===0)Es(a,z,I,L);else{a._pendingPullIntos.length>0&&Pr(a);let re=new Uint8Array(z,I,L);G(g,re,!1)}else oa(g)?(Es(a,z,I,L),ta(a)):Es(a,z,I,L);er(a)}m(As,"ReadableByteStreamControllerEnqueue");function kt(a,l){let g=a._controlledReadableByteStream;g._state==="readable"&&(ld(a),vn(a),vs(a),Gd(g,l))}m(kt,"ReadableByteStreamControllerError");function _d(a,l){let g=a._queue.shift();a._queueTotalSize-=g.byteLength,gd(a);let S=new Uint8Array(g.buffer,g.byteOffset,g.byteLength);l._chunkSteps(S)}m(_d,"ReadableByteStreamControllerFillReadRequestFromQueue");function na(a){if(a._byobRequest===null&&a._pendingPullIntos.length>0){let l=a._pendingPullIntos.peek(),g=new Uint8Array(l.buffer,l.byteOffset+l.bytesFilled,l.byteLength-l.bytesFilled),S=Object.create(Or.prototype);ky(S,a,g),a._byobRequest=S}return a._byobRequest}m(na,"ReadableByteStreamControllerGetBYOBRequest");function bd(a){let l=a._controlledReadableByteStream._state;return l==="errored"?null:l==="closed"?0:a._strategyHWM-a._queueTotalSize}m(bd,"ReadableByteStreamControllerGetDesiredSize");function Ts(a,l){let g=a._pendingPullIntos.peek();if(a._controlledReadableByteStream._state==="closed"){if(l!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(l===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(g.bytesFilled+l>g.byteLength)throw new RangeError("bytesWritten out of range")}g.buffer=En(g.buffer),yd(a,l)}m(Ts,"ReadableByteStreamControllerRespond");function Rs(a,l){let g=a._pendingPullIntos.peek();if(a._controlledReadableByteStream._state==="closed"){if(l.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(l.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(g.byteOffset+g.bytesFilled!==l.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(g.bufferByteLength!==l.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(g.bytesFilled+l.byteLength>g.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let S=l.byteLength;g.buffer=En(l.buffer),yd(a,S)}m(Rs,"ReadableByteStreamControllerRespondWithNewView");function Cd(a,l,g,S,I,L,z){l._controlledReadableByteStream=a,l._pullAgain=!1,l._pulling=!1,l._byobRequest=null,l._queue=l._queueTotalSize=void 0,vn(l),l._closeRequested=!1,l._started=!1,l._strategyHWM=L,l._pullAlgorithm=S,l._cancelAlgorithm=I,l._autoAllocateChunkSize=z,l._pendingPullIntos=new $,a._readableStreamController=l;let re=g();b(p(re),()=>(l._started=!0,er(l),null),le=>(kt(l,le),null))}m(Cd,"SetUpReadableByteStreamController");function wy(a,l,g){let S=Object.create(An.prototype),I,L,z;l.start!==void 0?I=m(()=>l.start(S),"startAlgorithm"):I=m(()=>{},"startAlgorithm"),l.pull!==void 0?L=m(()=>l.pull(S),"pullAlgorithm"):L=m(()=>p(void 0),"pullAlgorithm"),l.cancel!==void 0?z=m(le=>l.cancel(le),"cancelAlgorithm"):z=m(()=>p(void 0),"cancelAlgorithm");let re=l.autoAllocateChunkSize;if(re===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");Cd(a,S,I,L,z,g,re)}m(wy,"SetUpReadableByteStreamControllerFromUnderlyingSource");function ky(a,l,g){a._associatedReadableByteStreamController=l,a._view=g}m(ky,"SetUpReadableStreamBYOBRequest");function ra(a){return new TypeError(`ReadableStreamBYOBRequest.prototype.${a} can only be used on a ReadableStreamBYOBRequest`)}m(ra,"byobRequestBrandCheckException");function uo(a){return new TypeError(`ReadableByteStreamController.prototype.${a} can only be used on a ReadableByteStreamController`)}m(uo,"byteStreamControllerBrandCheckException");function Sy(a,l){ue(a,l);let g=a?.mode;return{mode:g===void 0?void 0:Ey(g,`${l} has member 'mode' that`)}}m(Sy,"convertReaderOptions");function Ey(a,l){if(a=`${a}`,a!=="byob")throw new TypeError(`${l} '${a}' is not a valid enumeration value for ReadableStreamReaderMode`);return a}m(Ey,"convertReadableStreamReaderMode");function vy(a,l){var g;ue(a,l);let S=(g=a?.min)!==null&&g!==void 0?g:1;return{min:P(S,`${l} has member 'min' that`)}}m(vy,"convertByobReadOptions");function wd(a){return new tr(a)}m(wd,"AcquireReadableStreamBYOBReader");function kd(a,l){a._reader._readIntoRequests.push(l)}m(kd,"ReadableStreamAddReadIntoRequest");function Ay(a,l,g){let S=a._reader._readIntoRequests.shift();g?S._closeSteps(l):S._chunkSteps(l)}m(Ay,"ReadableStreamFulfillReadIntoRequest");function Sd(a){return a._reader._readIntoRequests.length}m(Sd,"ReadableStreamGetNumReadIntoRequests");function oa(a){let l=a._reader;return!(l===void 0||!nr(l))}m(oa,"ReadableStreamHasBYOBReader");let Ty=class{constructor(l){if(R(l,1,"ReadableStreamBYOBReader"),N(l,"First parameter"),Dn(l))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!Zn(l._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");Oe(this,l),this._readIntoRequests=new $}get closed(){return nr(this)?this._closedPromise:h(xs("closed"))}cancel(l=void 0){return nr(this)?this._ownerReadableStream===void 0?h(He("cancel")):$e(this,l):h(xs("cancel"))}read(l,g={}){if(!nr(this))return h(xs("read"));if(!ArrayBuffer.isView(l))return h(new TypeError("view must be an array buffer view"));if(l.byteLength===0)return h(new TypeError("view must have non-zero byteLength"));if(l.buffer.byteLength===0)return h(new TypeError("view's buffer must have non-zero byteLength"));if(Qn(l.buffer))return h(new TypeError("view's buffer has been detached"));let S;try{S=vy(g,"options")}catch(le){return h(le)}let I=S.min;if(I===0)return h(new TypeError("options.min must be greater than 0"));if(fy(l)){if(I>l.byteLength)return h(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(I>l.length)return h(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return h(He("read from"));let L,z,re=d((le,ge)=>{L=le,z=ge});return Ed(this,l,I,{_chunkSteps:m(le=>L({value:le,done:!1}),"_chunkSteps"),_closeSteps:m(le=>L({value:le,done:!0}),"_closeSteps"),_errorSteps:m(le=>z(le),"_errorSteps")}),re}releaseLock(){if(!nr(this))throw xs("releaseLock");this._ownerReadableStream!==void 0&&Ry(this)}};m(Ty,"ReadableStreamBYOBReader");let tr=Ty;Object.defineProperties(tr.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),i(tr.prototype.cancel,"cancel"),i(tr.prototype.read,"read"),i(tr.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(tr.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});function nr(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_readIntoRequests")?!1:a instanceof tr}m(nr,"IsReadableStreamBYOBReader");function Ed(a,l,g,S){let I=a._ownerReadableStream;I._disturbed=!0,I._state==="errored"?S._errorSteps(I._storedError):yy(I._readableStreamController,l,g,S)}m(Ed,"ReadableStreamBYOBReaderRead");function Ry(a){Re(a);let l=new TypeError("Reader was released");vd(a,l)}m(Ry,"ReadableStreamBYOBReaderRelease");function vd(a,l){let g=a._readIntoRequests;a._readIntoRequests=new $,g.forEach(S=>{S._errorSteps(l)})}m(vd,"ReadableStreamBYOBReaderErrorReadIntoRequests");function xs(a){return new TypeError(`ReadableStreamBYOBReader.prototype.${a} can only be used on a ReadableStreamBYOBReader`)}m(xs,"byobReaderBrandCheckException");function lo(a,l){let{highWaterMark:g}=a;if(g===void 0)return l;if(sy(g)||g<0)throw new RangeError("Invalid highWaterMark");return g}m(lo,"ExtractHighWaterMark");function Ds(a){let{size:l}=a;return l||(()=>1)}m(Ds,"ExtractSizeAlgorithm");function Os(a,l){ue(a,l);let g=a?.highWaterMark,S=a?.size;return{highWaterMark:g===void 0?void 0:D(g),size:S===void 0?void 0:xy(S,`${l} has member 'size' that`)}}m(Os,"convertQueuingStrategy");function xy(a,l){return fe(a,l),g=>D(a(g))}m(xy,"convertQueuingStrategySize");function Dy(a,l){ue(a,l);let g=a?.abort,S=a?.close,I=a?.start,L=a?.type,z=a?.write;return{abort:g===void 0?void 0:Oy(g,a,`${l} has member 'abort' that`),close:S===void 0?void 0:Py(S,a,`${l} has member 'close' that`),start:I===void 0?void 0:Iy(I,a,`${l} has member 'start' that`),write:z===void 0?void 0:Fy(z,a,`${l} has member 'write' that`),type:L}}m(Dy,"convertUnderlyingSink");function Oy(a,l,g){return fe(a,g),S=>x(a,l,[S])}m(Oy,"convertUnderlyingSinkAbortCallback");function Py(a,l,g){return fe(a,g),()=>x(a,l,[])}m(Py,"convertUnderlyingSinkCloseCallback");function Iy(a,l,g){return fe(a,g),S=>T(a,l,[S])}m(Iy,"convertUnderlyingSinkStartCallback");function Fy(a,l,g){return fe(a,g),(S,I)=>x(a,l,[S,I])}m(Fy,"convertUnderlyingSinkWriteCallback");function Ad(a,l){if(!Ir(a))throw new TypeError(`${l} is not a WritableStream.`)}m(Ad,"assertWritableStream");function Ny(a){if(typeof a!="object"||a===null)return!1;try{return typeof a.aborted=="boolean"}catch{return!1}}m(Ny,"isAbortSignal");let ET=typeof AbortController=="function";function My(){if(ET)return new AbortController}m(My,"createAbortController");let By=class{constructor(l={},g={}){l===void 0?l=null:E(l,"First parameter");let S=Os(g,"Second parameter"),I=Dy(l,"First parameter");if(Rd(this),I.type!==void 0)throw new RangeError("Invalid type is specified");let L=Ds(S),z=lo(S,1);e_(this,I,z,L)}get locked(){if(!Ir(this))throw Ms("locked");return Fr(this)}abort(l=void 0){return Ir(this)?Fr(this)?h(new TypeError("Cannot abort a stream that already has a writer")):Ps(this,l):h(Ms("abort"))}close(){return Ir(this)?Fr(this)?h(new TypeError("Cannot close a stream that already has a writer")):Lt(this)?h(new TypeError("Cannot close an already-closing stream")):xd(this):h(Ms("close"))}getWriter(){if(!Ir(this))throw Ms("getWriter");return Td(this)}};m(By,"WritableStream");let rr=By;Object.defineProperties(rr.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),i(rr.prototype.abort,"abort"),i(rr.prototype.close,"close"),i(rr.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(rr.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});function Td(a){return new Tn(a)}m(Td,"AcquireWritableStreamDefaultWriter");function Uy(a,l,g,S,I=1,L=()=>1){let z=Object.create(rr.prototype);Rd(z);let re=Object.create(fo.prototype);return Fd(z,re,a,l,g,S,I,L),z}m(Uy,"CreateWritableStream");function Rd(a){a._state="writable",a._storedError=void 0,a._writer=void 0,a._writableStreamController=void 0,a._writeRequests=new $,a._inFlightWriteRequest=void 0,a._closeRequest=void 0,a._inFlightCloseRequest=void 0,a._pendingAbortRequest=void 0,a._backpressure=!1}m(Rd,"InitializeWritableStream");function Ir(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_writableStreamController")?!1:a instanceof rr}m(Ir,"IsWritableStream");function Fr(a){return a._writer!==void 0}m(Fr,"IsWritableStreamLocked");function Ps(a,l){var g;if(a._state==="closed"||a._state==="errored")return p(void 0);a._writableStreamController._abortReason=l,(g=a._writableStreamController._abortController)===null||g===void 0||g.abort(l);let S=a._state;if(S==="closed"||S==="errored")return p(void 0);if(a._pendingAbortRequest!==void 0)return a._pendingAbortRequest._promise;let I=!1;S==="erroring"&&(I=!0,l=void 0);let L=d((z,re)=>{a._pendingAbortRequest={_promise:void 0,_resolve:z,_reject:re,_reason:l,_wasAlreadyErroring:I}});return a._pendingAbortRequest._promise=L,I||ia(a,l),L}m(Ps,"WritableStreamAbort");function xd(a){let l=a._state;if(l==="closed"||l==="errored")return h(new TypeError(`The stream (in ${l} state) is not in the writable state and cannot be closed`));let g=d((I,L)=>{let z={_resolve:I,_reject:L};a._closeRequest=z}),S=a._writer;return S!==void 0&&a._backpressure&&l==="writable"&&ha(S),t_(a._writableStreamController),g}m(xd,"WritableStreamClose");function jy(a){return d((l,g)=>{let S={_resolve:l,_reject:g};a._writeRequests.push(S)})}m(jy,"WritableStreamAddWriteRequest");function sa(a,l){if(a._state==="writable"){ia(a,l);return}aa(a)}m(sa,"WritableStreamDealWithRejection");function ia(a,l){let g=a._writableStreamController;a._state="erroring",a._storedError=l;let S=a._writer;S!==void 0&&Od(S,l),!Hy(a)&&g._started&&aa(a)}m(ia,"WritableStreamStartErroring");function aa(a){a._state="errored",a._writableStreamController[ce]();let l=a._storedError;if(a._writeRequests.forEach(I=>{I._reject(l)}),a._writeRequests=new $,a._pendingAbortRequest===void 0){Is(a);return}let g=a._pendingAbortRequest;if(a._pendingAbortRequest=void 0,g._wasAlreadyErroring){g._reject(l),Is(a);return}let S=a._writableStreamController[H](g._reason);b(S,()=>(g._resolve(),Is(a),null),I=>(g._reject(I),Is(a),null))}m(aa,"WritableStreamFinishErroring");function Ly(a){a._inFlightWriteRequest._resolve(void 0),a._inFlightWriteRequest=void 0}m(Ly,"WritableStreamFinishInFlightWrite");function qy(a,l){a._inFlightWriteRequest._reject(l),a._inFlightWriteRequest=void 0,sa(a,l)}m(qy,"WritableStreamFinishInFlightWriteWithError");function $y(a){a._inFlightCloseRequest._resolve(void 0),a._inFlightCloseRequest=void 0,a._state==="erroring"&&(a._storedError=void 0,a._pendingAbortRequest!==void 0&&(a._pendingAbortRequest._resolve(),a._pendingAbortRequest=void 0)),a._state="closed";let l=a._writer;l!==void 0&&Ud(l)}m($y,"WritableStreamFinishInFlightClose");function zy(a,l){a._inFlightCloseRequest._reject(l),a._inFlightCloseRequest=void 0,a._pendingAbortRequest!==void 0&&(a._pendingAbortRequest._reject(l),a._pendingAbortRequest=void 0),sa(a,l)}m(zy,"WritableStreamFinishInFlightCloseWithError");function Lt(a){return!(a._closeRequest===void 0&&a._inFlightCloseRequest===void 0)}m(Lt,"WritableStreamCloseQueuedOrInFlight");function Hy(a){return!(a._inFlightWriteRequest===void 0&&a._inFlightCloseRequest===void 0)}m(Hy,"WritableStreamHasOperationMarkedInFlight");function Wy(a){a._inFlightCloseRequest=a._closeRequest,a._closeRequest=void 0}m(Wy,"WritableStreamMarkCloseRequestInFlight");function Gy(a){a._inFlightWriteRequest=a._writeRequests.shift()}m(Gy,"WritableStreamMarkFirstWriteRequestInFlight");function Is(a){a._closeRequest!==void 0&&(a._closeRequest._reject(a._storedError),a._closeRequest=void 0);let l=a._writer;l!==void 0&&fa(l,a._storedError)}m(Is,"WritableStreamRejectCloseAndClosedPromiseIfNeeded");function ca(a,l){let g=a._writer;g!==void 0&&l!==a._backpressure&&(l?c_(g):ha(g)),a._backpressure=l}m(ca,"WritableStreamUpdateBackpressure");let Jy=class{constructor(l){if(R(l,1,"WritableStreamDefaultWriter"),Ad(l,"First parameter"),Fr(l))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=l,l._writer=this;let g=l._state;if(g==="writable")!Lt(l)&&l._backpressure?Us(this):jd(this),Bs(this);else if(g==="erroring")pa(this,l._storedError),Bs(this);else if(g==="closed")jd(this),i_(this);else{let S=l._storedError;pa(this,S),Bd(this,S)}}get closed(){return or(this)?this._closedPromise:h(sr("closed"))}get desiredSize(){if(!or(this))throw sr("desiredSize");if(this._ownerWritableStream===void 0)throw ho("desiredSize");return Xy(this)}get ready(){return or(this)?this._readyPromise:h(sr("ready"))}abort(l=void 0){return or(this)?this._ownerWritableStream===void 0?h(ho("abort")):Vy(this,l):h(sr("abort"))}close(){if(!or(this))return h(sr("close"));let l=this._ownerWritableStream;return l===void 0?h(ho("close")):Lt(l)?h(new TypeError("Cannot close an already-closing stream")):Dd(this)}releaseLock(){if(!or(this))throw sr("releaseLock");this._ownerWritableStream!==void 0&&Pd(this)}write(l=void 0){return or(this)?this._ownerWritableStream===void 0?h(ho("write to")):Id(this,l):h(sr("write"))}};m(Jy,"WritableStreamDefaultWriter");let Tn=Jy;Object.defineProperties(Tn.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),i(Tn.prototype.abort,"abort"),i(Tn.prototype.close,"close"),i(Tn.prototype.releaseLock,"releaseLock"),i(Tn.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Tn.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});function or(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_ownerWritableStream")?!1:a instanceof Tn}m(or,"IsWritableStreamDefaultWriter");function Vy(a,l){let g=a._ownerWritableStream;return Ps(g,l)}m(Vy,"WritableStreamDefaultWriterAbort");function Dd(a){let l=a._ownerWritableStream;return xd(l)}m(Dd,"WritableStreamDefaultWriterClose");function Ky(a){let l=a._ownerWritableStream,g=l._state;return Lt(l)||g==="closed"?p(void 0):g==="errored"?h(l._storedError):Dd(a)}m(Ky,"WritableStreamDefaultWriterCloseWithErrorPropagation");function Yy(a,l){a._closedPromiseState==="pending"?fa(a,l):a_(a,l)}m(Yy,"WritableStreamDefaultWriterEnsureClosedPromiseRejected");function Od(a,l){a._readyPromiseState==="pending"?Ld(a,l):u_(a,l)}m(Od,"WritableStreamDefaultWriterEnsureReadyPromiseRejected");function Xy(a){let l=a._ownerWritableStream,g=l._state;return g==="errored"||g==="erroring"?null:g==="closed"?0:Nd(l._writableStreamController)}m(Xy,"WritableStreamDefaultWriterGetDesiredSize");function Pd(a){let l=a._ownerWritableStream,g=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");Od(a,g),Yy(a,g),l._writer=void 0,a._ownerWritableStream=void 0}m(Pd,"WritableStreamDefaultWriterRelease");function Id(a,l){let g=a._ownerWritableStream,S=g._writableStreamController,I=n_(S,l);if(g!==a._ownerWritableStream)return h(ho("write to"));let L=g._state;if(L==="errored")return h(g._storedError);if(Lt(g)||L==="closed")return h(new TypeError("The stream is closing or closed and cannot be written to"));if(L==="erroring")return h(g._storedError);let z=jy(g);return r_(S,l,I),z}m(Id,"WritableStreamDefaultWriterWrite");let Qy={},Zy=class{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!ua(this))throw da("abortReason");return this._abortReason}get signal(){if(!ua(this))throw da("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(l=void 0){if(!ua(this))throw da("error");this._controlledWritableStream._state==="writable"&&Md(this,l)}[H](l){let g=this._abortAlgorithm(l);return Fs(this),g}[ce](){vn(this)}};m(Zy,"WritableStreamDefaultController");let fo=Zy;Object.defineProperties(fo.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(fo.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});function ua(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_controlledWritableStream")?!1:a instanceof fo}m(ua,"IsWritableStreamDefaultController");function Fd(a,l,g,S,I,L,z,re){l._controlledWritableStream=a,a._writableStreamController=l,l._queue=void 0,l._queueTotalSize=void 0,vn(l),l._abortReason=void 0,l._abortController=My(),l._started=!1,l._strategySizeAlgorithm=re,l._strategyHWM=z,l._writeAlgorithm=S,l._closeAlgorithm=I,l._abortAlgorithm=L;let le=la(l);ca(a,le);let ge=g(),ke=p(ge);b(ke,()=>(l._started=!0,Ns(l),null),Se=>(l._started=!0,sa(a,Se),null))}m(Fd,"SetUpWritableStreamDefaultController");function e_(a,l,g,S){let I=Object.create(fo.prototype),L,z,re,le;l.start!==void 0?L=m(()=>l.start(I),"startAlgorithm"):L=m(()=>{},"startAlgorithm"),l.write!==void 0?z=m(ge=>l.write(ge,I),"writeAlgorithm"):z=m(()=>p(void 0),"writeAlgorithm"),l.close!==void 0?re=m(()=>l.close(),"closeAlgorithm"):re=m(()=>p(void 0),"closeAlgorithm"),l.abort!==void 0?le=m(ge=>l.abort(ge),"abortAlgorithm"):le=m(()=>p(void 0),"abortAlgorithm"),Fd(a,I,L,z,re,le,g,S)}m(e_,"SetUpWritableStreamDefaultControllerFromUnderlyingSink");function Fs(a){a._writeAlgorithm=void 0,a._closeAlgorithm=void 0,a._abortAlgorithm=void 0,a._strategySizeAlgorithm=void 0}m(Fs,"WritableStreamDefaultControllerClearAlgorithms");function t_(a){Xi(a,Qy,0),Ns(a)}m(t_,"WritableStreamDefaultControllerClose");function n_(a,l){try{return a._strategySizeAlgorithm(l)}catch(g){return po(a,g),1}}m(n_,"WritableStreamDefaultControllerGetChunkSize");function Nd(a){return a._strategyHWM-a._queueTotalSize}m(Nd,"WritableStreamDefaultControllerGetDesiredSize");function r_(a,l,g){try{Xi(a,l,g)}catch(I){po(a,I);return}let S=a._controlledWritableStream;if(!Lt(S)&&S._state==="writable"){let I=la(a);ca(S,I)}Ns(a)}m(r_,"WritableStreamDefaultControllerWrite");function Ns(a){let l=a._controlledWritableStream;if(!a._started||l._inFlightWriteRequest!==void 0)return;if(l._state==="erroring"){aa(l);return}if(a._queue.length===0)return;let g=dy(a);g===Qy?o_(a):s_(a,g)}m(Ns,"WritableStreamDefaultControllerAdvanceQueueIfNeeded");function po(a,l){a._controlledWritableStream._state==="writable"&&Md(a,l)}m(po,"WritableStreamDefaultControllerErrorIfNeeded");function o_(a){let l=a._controlledWritableStream;Wy(l),Yi(a);let g=a._closeAlgorithm();Fs(a),b(g,()=>($y(l),null),S=>(zy(l,S),null))}m(o_,"WritableStreamDefaultControllerProcessClose");function s_(a,l){let g=a._controlledWritableStream;Gy(g);let S=a._writeAlgorithm(l);b(S,()=>{Ly(g);let I=g._state;if(Yi(a),!Lt(g)&&I==="writable"){let L=la(a);ca(g,L)}return Ns(a),null},I=>(g._state==="writable"&&Fs(a),qy(g,I),null))}m(s_,"WritableStreamDefaultControllerProcessWrite");function la(a){return Nd(a)<=0}m(la,"WritableStreamDefaultControllerGetBackpressure");function Md(a,l){let g=a._controlledWritableStream;Fs(a),ia(g,l)}m(Md,"WritableStreamDefaultControllerError");function Ms(a){return new TypeError(`WritableStream.prototype.${a} can only be used on a WritableStream`)}m(Ms,"streamBrandCheckException$2");function da(a){return new TypeError(`WritableStreamDefaultController.prototype.${a} can only be used on a WritableStreamDefaultController`)}m(da,"defaultControllerBrandCheckException$2");function sr(a){return new TypeError(`WritableStreamDefaultWriter.prototype.${a} can only be used on a WritableStreamDefaultWriter`)}m(sr,"defaultWriterBrandCheckException");function ho(a){return new TypeError("Cannot "+a+" a stream using a released writer")}m(ho,"defaultWriterLockException");function Bs(a){a._closedPromise=d((l,g)=>{a._closedPromise_resolve=l,a._closedPromise_reject=g,a._closedPromiseState="pending"})}m(Bs,"defaultWriterClosedPromiseInitialize");function Bd(a,l){Bs(a),fa(a,l)}m(Bd,"defaultWriterClosedPromiseInitializeAsRejected");function i_(a){Bs(a),Ud(a)}m(i_,"defaultWriterClosedPromiseInitializeAsResolved");function fa(a,l){a._closedPromise_reject!==void 0&&(v(a._closedPromise),a._closedPromise_reject(l),a._closedPromise_resolve=void 0,a._closedPromise_reject=void 0,a._closedPromiseState="rejected")}m(fa,"defaultWriterClosedPromiseReject");function a_(a,l){Bd(a,l)}m(a_,"defaultWriterClosedPromiseResetToRejected");function Ud(a){a._closedPromise_resolve!==void 0&&(a._closedPromise_resolve(void 0),a._closedPromise_resolve=void 0,a._closedPromise_reject=void 0,a._closedPromiseState="resolved")}m(Ud,"defaultWriterClosedPromiseResolve");function Us(a){a._readyPromise=d((l,g)=>{a._readyPromise_resolve=l,a._readyPromise_reject=g}),a._readyPromiseState="pending"}m(Us,"defaultWriterReadyPromiseInitialize");function pa(a,l){Us(a),Ld(a,l)}m(pa,"defaultWriterReadyPromiseInitializeAsRejected");function jd(a){Us(a),ha(a)}m(jd,"defaultWriterReadyPromiseInitializeAsResolved");function Ld(a,l){a._readyPromise_reject!==void 0&&(v(a._readyPromise),a._readyPromise_reject(l),a._readyPromise_resolve=void 0,a._readyPromise_reject=void 0,a._readyPromiseState="rejected")}m(Ld,"defaultWriterReadyPromiseReject");function c_(a){Us(a)}m(c_,"defaultWriterReadyPromiseReset");function u_(a,l){pa(a,l)}m(u_,"defaultWriterReadyPromiseResetToRejected");function ha(a){a._readyPromise_resolve!==void 0&&(a._readyPromise_resolve(void 0),a._readyPromise_resolve=void 0,a._readyPromise_reject=void 0,a._readyPromiseState="fulfilled")}m(ha,"defaultWriterReadyPromiseResolve");function l_(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof lp<"u")return lp}m(l_,"getGlobals");let vT=l_();function d_(a){if(!(typeof a=="function"||typeof a=="object")||a.name!=="DOMException")return!1;try{return new a,!0}catch{return!1}}m(d_,"isDOMExceptionConstructor");function f_(){let a=vT?.DOMException;return d_(a)?a:void 0}m(f_,"getFromGlobal");function p_(){let a=m(function(l,g){this.message=l||"",this.name=g||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)},"DOMException");return i(a,"DOMException"),a.prototype=Object.create(Error.prototype),Object.defineProperty(a.prototype,"constructor",{value:a,writable:!0,configurable:!0}),a}m(p_,"createPolyfill");let AT=f_()||p_();function qd(a,l,g,S,I,L){let z=U(a),re=Td(l);a._disturbed=!0;let le=!1,ge=p(void 0);return d((ke,Se)=>{let Ie;if(L!==void 0){if(Ie=m(()=>{let pe=L.reason!==void 0?L.reason:new AT("Aborted","AbortError"),Te=[];S||Te.push(()=>l._state==="writable"?Ps(l,pe):p(void 0)),I||Te.push(()=>a._state==="readable"?xt(a,pe):p(void 0)),lt(()=>Promise.all(Te.map(Pe=>Pe())),!0,pe)},"abortAlgorithm"),L.aborted){Ie();return}L.addEventListener("abort",Ie)}function ht(){return d((pe,Te)=>{function Pe(dt){dt?pe():_(On(),Pe,Te)}m(Pe,"next"),Pe(!1)})}m(ht,"pipeLoop");function On(){return le?p(!0):_(re._readyPromise,()=>d((pe,Te)=>{_e(z,{_chunkSteps:m(Pe=>{ge=_(Id(re,Pe),void 0,r),pe(!1)},"_chunkSteps"),_closeSteps:m(()=>pe(!0),"_closeSteps"),_errorSteps:Te})}))}if(m(On,"pipeStep"),Dt(a,z._closedPromise,pe=>(S?mt(!0,pe):lt(()=>Ps(l,pe),!0,pe),null)),Dt(l,re._closedPromise,pe=>(I?mt(!0,pe):lt(()=>xt(a,pe),!0,pe),null)),Qe(a,z._closedPromise,()=>(g?mt():lt(()=>Ky(re)),null)),Lt(l)||l._state==="closed"){let pe=new TypeError("the destination writable stream closed before all data could be piped to it");I?mt(!0,pe):lt(()=>xt(a,pe),!0,pe)}v(ht());function qt(){let pe=ge;return _(ge,()=>pe!==ge?qt():void 0)}m(qt,"waitForWritesToFinish");function Dt(pe,Te,Pe){pe._state==="errored"?Pe(pe._storedError):w(Te,Pe)}m(Dt,"isOrBecomesErrored");function Qe(pe,Te,Pe){pe._state==="closed"?Pe():y(Te,Pe)}m(Qe,"isOrBecomesClosed");function lt(pe,Te,Pe){if(le)return;le=!0,l._state==="writable"&&!Lt(l)?y(qt(),dt):dt();function dt(){return b(pe(),()=>Pn(Te,Pe),ur=>Pn(!0,ur)),null}m(dt,"doTheRest")}m(lt,"shutdownWithAction");function mt(pe,Te){le||(le=!0,l._state==="writable"&&!Lt(l)?y(qt(),()=>Pn(pe,Te)):Pn(pe,Te))}m(mt,"shutdown");function Pn(pe,Te){return Pd(re),Re(z),L!==void 0&&L.removeEventListener("abort",Ie),pe?Se(Te):ke(void 0),null}m(Pn,"finalize")})}m(qd,"ReadableStreamPipeTo");let h_=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!js(this))throw qs("desiredSize");return ma(this)}close(){if(!js(this))throw qs("close");if(!Mr(this))throw new TypeError("The stream is not in a state that permits close");ir(this)}enqueue(l=void 0){if(!js(this))throw qs("enqueue");if(!Mr(this))throw new TypeError("The stream is not in a state that permits enqueue");return Nr(this,l)}error(l=void 0){if(!js(this))throw qs("error");Rt(this,l)}[X](l){vn(this);let g=this._cancelAlgorithm(l);return Ls(this),g}[te](l){let g=this._controlledReadableStream;if(this._queue.length>0){let S=Yi(this);this._closeRequested&&this._queue.length===0?(Ls(this),yo(g)):mo(this),l._chunkSteps(S)}else B(g,l),mo(this)}[Z](){}};m(h_,"ReadableStreamDefaultController");let Rn=h_;Object.defineProperties(Rn.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),i(Rn.prototype.close,"close"),i(Rn.prototype.enqueue,"enqueue"),i(Rn.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Rn.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});function js(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_controlledReadableStream")?!1:a instanceof Rn}m(js,"IsReadableStreamDefaultController");function mo(a){if(!$d(a))return;if(a._pulling){a._pullAgain=!0;return}a._pulling=!0;let l=a._pullAlgorithm();b(l,()=>(a._pulling=!1,a._pullAgain&&(a._pullAgain=!1,mo(a)),null),g=>(Rt(a,g),null))}m(mo,"ReadableStreamDefaultControllerCallPullIfNeeded");function $d(a){let l=a._controlledReadableStream;return!Mr(a)||!a._started?!1:!!(Dn(l)&&se(l)>0||ma(a)>0)}m($d,"ReadableStreamDefaultControllerShouldCallPull");function Ls(a){a._pullAlgorithm=void 0,a._cancelAlgorithm=void 0,a._strategySizeAlgorithm=void 0}m(Ls,"ReadableStreamDefaultControllerClearAlgorithms");function ir(a){if(!Mr(a))return;let l=a._controlledReadableStream;a._closeRequested=!0,a._queue.length===0&&(Ls(a),yo(l))}m(ir,"ReadableStreamDefaultControllerClose");function Nr(a,l){if(!Mr(a))return;let g=a._controlledReadableStream;if(Dn(g)&&se(g)>0)G(g,l,!1);else{let S;try{S=a._strategySizeAlgorithm(l)}catch(I){throw Rt(a,I),I}try{Xi(a,l,S)}catch(I){throw Rt(a,I),I}}mo(a)}m(Nr,"ReadableStreamDefaultControllerEnqueue");function Rt(a,l){let g=a._controlledReadableStream;g._state==="readable"&&(vn(a),Ls(a),Gd(g,l))}m(Rt,"ReadableStreamDefaultControllerError");function ma(a){let l=a._controlledReadableStream._state;return l==="errored"?null:l==="closed"?0:a._strategyHWM-a._queueTotalSize}m(ma,"ReadableStreamDefaultControllerGetDesiredSize");function m_(a){return!$d(a)}m(m_,"ReadableStreamDefaultControllerHasBackpressure");function Mr(a){let l=a._controlledReadableStream._state;return!a._closeRequested&&l==="readable"}m(Mr,"ReadableStreamDefaultControllerCanCloseOrEnqueue");function zd(a,l,g,S,I,L,z){l._controlledReadableStream=a,l._queue=void 0,l._queueTotalSize=void 0,vn(l),l._started=!1,l._closeRequested=!1,l._pullAgain=!1,l._pulling=!1,l._strategySizeAlgorithm=z,l._strategyHWM=L,l._pullAlgorithm=S,l._cancelAlgorithm=I,a._readableStreamController=l;let re=g();b(p(re),()=>(l._started=!0,mo(l),null),le=>(Rt(l,le),null))}m(zd,"SetUpReadableStreamDefaultController");function g_(a,l,g,S){let I=Object.create(Rn.prototype),L,z,re;l.start!==void 0?L=m(()=>l.start(I),"startAlgorithm"):L=m(()=>{},"startAlgorithm"),l.pull!==void 0?z=m(()=>l.pull(I),"pullAlgorithm"):z=m(()=>p(void 0),"pullAlgorithm"),l.cancel!==void 0?re=m(le=>l.cancel(le),"cancelAlgorithm"):re=m(()=>p(void 0),"cancelAlgorithm"),zd(a,I,L,z,re,g,S)}m(g_,"SetUpReadableStreamDefaultControllerFromUnderlyingSource");function qs(a){return new TypeError(`ReadableStreamDefaultController.prototype.${a} can only be used on a ReadableStreamDefaultController`)}m(qs,"defaultControllerBrandCheckException$1");function y_(a,l){return Zn(a._readableStreamController)?b_(a):__(a)}m(y_,"ReadableStreamTee");function __(a,l){let g=U(a),S=!1,I=!1,L=!1,z=!1,re,le,ge,ke,Se,Ie=d(Qe=>{Se=Qe});function ht(){return S?(I=!0,p(void 0)):(S=!0,_e(g,{_chunkSteps:m(Qe=>{A(()=>{I=!1;let lt=Qe,mt=Qe;L||Nr(ge._readableStreamController,lt),z||Nr(ke._readableStreamController,mt),S=!1,I&&ht()})},"_chunkSteps"),_closeSteps:m(()=>{S=!1,L||ir(ge._readableStreamController),z||ir(ke._readableStreamController),(!L||!z)&&Se(void 0)},"_closeSteps"),_errorSteps:m(()=>{S=!1},"_errorSteps")}),p(void 0))}m(ht,"pullAlgorithm");function On(Qe){if(L=!0,re=Qe,z){let lt=ao([re,le]),mt=xt(a,lt);Se(mt)}return Ie}m(On,"cancel1Algorithm");function qt(Qe){if(z=!0,le=Qe,L){let lt=ao([re,le]),mt=xt(a,lt);Se(mt)}return Ie}m(qt,"cancel2Algorithm");function Dt(){}return m(Dt,"startAlgorithm"),ge=go(Dt,ht,On),ke=go(Dt,ht,qt),w(g._closedPromise,Qe=>(Rt(ge._readableStreamController,Qe),Rt(ke._readableStreamController,Qe),(!L||!z)&&Se(void 0),null)),[ge,ke]}m(__,"ReadableStreamDefaultTee");function b_(a){let l=U(a),g=!1,S=!1,I=!1,L=!1,z=!1,re,le,ge,ke,Se,Ie=d(pe=>{Se=pe});function ht(pe){w(pe._closedPromise,Te=>(pe!==l||(kt(ge._readableStreamController,Te),kt(ke._readableStreamController,Te),(!L||!z)&&Se(void 0)),null))}m(ht,"forwardReaderError");function On(){nr(l)&&(Re(l),l=U(a),ht(l)),_e(l,{_chunkSteps:m(pe=>{A(()=>{S=!1,I=!1;let Te=pe,Pe=pe;if(!L&&!z)try{Pe=cd(pe)}catch(dt){kt(ge._readableStreamController,dt),kt(ke._readableStreamController,dt),Se(xt(a,dt));return}L||As(ge._readableStreamController,Te),z||As(ke._readableStreamController,Pe),g=!1,S?Dt():I&&Qe()})},"_chunkSteps"),_closeSteps:m(()=>{g=!1,L||co(ge._readableStreamController),z||co(ke._readableStreamController),ge._readableStreamController._pendingPullIntos.length>0&&Ts(ge._readableStreamController,0),ke._readableStreamController._pendingPullIntos.length>0&&Ts(ke._readableStreamController,0),(!L||!z)&&Se(void 0)},"_closeSteps"),_errorSteps:m(()=>{g=!1},"_errorSteps")})}m(On,"pullWithDefaultReader");function qt(pe,Te){me(l)&&(Re(l),l=wd(a),ht(l));let Pe=Te?ke:ge,dt=Te?ge:ke;Ed(l,pe,1,{_chunkSteps:m(ur=>{A(()=>{S=!1,I=!1;let _o=Te?z:L;if(Te?L:z)_o||Rs(Pe._readableStreamController,ur);else{let bo;try{bo=cd(ur)}catch(rf){kt(Pe._readableStreamController,rf),kt(dt._readableStreamController,rf),Se(xt(a,rf));return}_o||Rs(Pe._readableStreamController,ur),As(dt._readableStreamController,bo)}g=!1,S?Dt():I&&Qe()})},"_chunkSteps"),_closeSteps:m(ur=>{g=!1;let _o=Te?z:L,bo=Te?L:z;_o||co(Pe._readableStreamController),bo||co(dt._readableStreamController),ur!==void 0&&(_o||Rs(Pe._readableStreamController,ur),!bo&&dt._readableStreamController._pendingPullIntos.length>0&&Ts(dt._readableStreamController,0)),(!_o||!bo)&&Se(void 0)},"_closeSteps"),_errorSteps:m(()=>{g=!1},"_errorSteps")})}m(qt,"pullWithBYOBReader");function Dt(){if(g)return S=!0,p(void 0);g=!0;let pe=na(ge._readableStreamController);return pe===null?On():qt(pe._view,!1),p(void 0)}m(Dt,"pull1Algorithm");function Qe(){if(g)return I=!0,p(void 0);g=!0;let pe=na(ke._readableStreamController);return pe===null?On():qt(pe._view,!0),p(void 0)}m(Qe,"pull2Algorithm");function lt(pe){if(L=!0,re=pe,z){let Te=ao([re,le]),Pe=xt(a,Te);Se(Pe)}return Ie}m(lt,"cancel1Algorithm");function mt(pe){if(z=!0,le=pe,L){let Te=ao([re,le]),Pe=xt(a,Te);Se(Pe)}return Ie}m(mt,"cancel2Algorithm");function Pn(){}return m(Pn,"startAlgorithm"),ge=Wd(Pn,Dt,lt),ke=Wd(Pn,Qe,mt),ht(l),[ge,ke]}m(b_,"ReadableByteStreamTee");function C_(a){return o(a)&&typeof a.getReader<"u"}m(C_,"isReadableStreamLike");function w_(a){return C_(a)?S_(a.getReader()):k_(a)}m(w_,"ReadableStreamFrom");function k_(a){let l,g=ad(a,"async"),S=r;function I(){let z;try{z=ay(g)}catch(le){return h(le)}let re=p(z);return C(re,le=>{if(!o(le))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(cy(le))ir(l._readableStreamController);else{let ge=uy(le);Nr(l._readableStreamController,ge)}})}m(I,"pullAlgorithm");function L(z){let re=g.iterator,le;try{le=Ss(re,"return")}catch(Se){return h(Se)}if(le===void 0)return p(void 0);let ge;try{ge=T(le,re,[z])}catch(Se){return h(Se)}let ke=p(ge);return C(ke,Se=>{if(!o(Se))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return m(L,"cancelAlgorithm"),l=go(S,I,L,0),l}m(k_,"ReadableStreamFromIterable");function S_(a){let l,g=r;function S(){let L;try{L=a.read()}catch(z){return h(z)}return C(L,z=>{if(!o(z))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(z.done)ir(l._readableStreamController);else{let re=z.value;Nr(l._readableStreamController,re)}})}m(S,"pullAlgorithm");function I(L){try{return p(a.cancel(L))}catch(z){return h(z)}}return m(I,"cancelAlgorithm"),l=go(g,S,I,0),l}m(S_,"ReadableStreamFromDefaultReader");function E_(a,l){ue(a,l);let g=a,S=g?.autoAllocateChunkSize,I=g?.cancel,L=g?.pull,z=g?.start,re=g?.type;return{autoAllocateChunkSize:S===void 0?void 0:P(S,`${l} has member 'autoAllocateChunkSize' that`),cancel:I===void 0?void 0:v_(I,g,`${l} has member 'cancel' that`),pull:L===void 0?void 0:A_(L,g,`${l} has member 'pull' that`),start:z===void 0?void 0:T_(z,g,`${l} has member 'start' that`),type:re===void 0?void 0:R_(re,`${l} has member 'type' that`)}}m(E_,"convertUnderlyingDefaultOrByteSource");function v_(a,l,g){return fe(a,g),S=>x(a,l,[S])}m(v_,"convertUnderlyingSourceCancelCallback");function A_(a,l,g){return fe(a,g),S=>x(a,l,[S])}m(A_,"convertUnderlyingSourcePullCallback");function T_(a,l,g){return fe(a,g),S=>T(a,l,[S])}m(T_,"convertUnderlyingSourceStartCallback");function R_(a,l){if(a=`${a}`,a!=="bytes")throw new TypeError(`${l} '${a}' is not a valid enumeration value for ReadableStreamType`);return a}m(R_,"convertReadableStreamType");function x_(a,l){return ue(a,l),{preventCancel:!!a?.preventCancel}}m(x_,"convertIteratorOptions");function Hd(a,l){ue(a,l);let g=a?.preventAbort,S=a?.preventCancel,I=a?.preventClose,L=a?.signal;return L!==void 0&&D_(L,`${l} has member 'signal' that`),{preventAbort:!!g,preventCancel:!!S,preventClose:!!I,signal:L}}m(Hd,"convertPipeOptions");function D_(a,l){if(!Ny(a))throw new TypeError(`${l} is not an AbortSignal.`)}m(D_,"assertAbortSignal");function O_(a,l){ue(a,l);let g=a?.readable;M(g,"readable","ReadableWritablePair"),N(g,`${l} has member 'readable' that`);let S=a?.writable;return M(S,"writable","ReadableWritablePair"),Ad(S,`${l} has member 'writable' that`),{readable:g,writable:S}}m(O_,"convertReadableWritablePair");let P_=class{constructor(l={},g={}){l===void 0?l=null:E(l,"First parameter");let S=Os(g,"Second parameter"),I=E_(l,"First parameter");if(ga(this),I.type==="bytes"){if(S.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");let L=lo(S,0);wy(this,I,L)}else{let L=Ds(S),z=lo(S,1);g_(this,I,z,L)}}get locked(){if(!xn(this))throw ar("locked");return Dn(this)}cancel(l=void 0){return xn(this)?Dn(this)?h(new TypeError("Cannot cancel a stream that already has a reader")):xt(this,l):h(ar("cancel"))}getReader(l=void 0){if(!xn(this))throw ar("getReader");return Sy(l,"First parameter").mode===void 0?U(this):wd(this)}pipeThrough(l,g={}){if(!xn(this))throw ar("pipeThrough");R(l,1,"pipeThrough");let S=O_(l,"First parameter"),I=Hd(g,"Second parameter");if(Dn(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(Fr(S.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");let L=qd(this,S.writable,I.preventClose,I.preventAbort,I.preventCancel,I.signal);return v(L),S.readable}pipeTo(l,g={}){if(!xn(this))return h(ar("pipeTo"));if(l===void 0)return h("Parameter 1 is required in 'pipeTo'.");if(!Ir(l))return h(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let S;try{S=Hd(g,"Second parameter")}catch(I){return h(I)}return Dn(this)?h(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):Fr(l)?h(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):qd(this,l,S.preventClose,S.preventAbort,S.preventCancel,S.signal)}tee(){if(!xn(this))throw ar("tee");let l=y_(this);return ao(l)}values(l=void 0){if(!xn(this))throw ar("values");let g=x_(l,"First parameter");return ut(this,g.preventCancel)}[id](l){return this.values(l)}static from(l){return w_(l)}};m(P_,"ReadableStream");let at=P_;Object.defineProperties(at,{from:{enumerable:!0}}),Object.defineProperties(at.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),i(at.from,"from"),i(at.prototype.cancel,"cancel"),i(at.prototype.getReader,"getReader"),i(at.prototype.pipeThrough,"pipeThrough"),i(at.prototype.pipeTo,"pipeTo"),i(at.prototype.tee,"tee"),i(at.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(at.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(at.prototype,id,{value:at.prototype.values,writable:!0,configurable:!0});function go(a,l,g,S=1,I=()=>1){let L=Object.create(at.prototype);ga(L);let z=Object.create(Rn.prototype);return zd(L,z,a,l,g,S,I),L}m(go,"CreateReadableStream");function Wd(a,l,g){let S=Object.create(at.prototype);ga(S);let I=Object.create(An.prototype);return Cd(S,I,a,l,g,0,void 0),S}m(Wd,"CreateReadableByteStream");function ga(a){a._state="readable",a._reader=void 0,a._storedError=void 0,a._disturbed=!1}m(ga,"InitializeReadableStream");function xn(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_readableStreamController")?!1:a instanceof at}m(xn,"IsReadableStream");function Dn(a){return a._reader!==void 0}m(Dn,"IsReadableStreamLocked");function xt(a,l){if(a._disturbed=!0,a._state==="closed")return p(void 0);if(a._state==="errored")return h(a._storedError);yo(a);let g=a._reader;if(g!==void 0&&nr(g)){let I=g._readIntoRequests;g._readIntoRequests=new $,I.forEach(L=>{L._closeSteps(void 0)})}let S=a._readableStreamController[X](l);return C(S,r)}m(xt,"ReadableStreamCancel");function yo(a){a._state="closed";let l=a._reader;if(l!==void 0&&(K(l),me(l))){let g=l._readRequests;l._readRequests=new $,g.forEach(S=>{S._closeSteps()})}}m(yo,"ReadableStreamClose");function Gd(a,l){a._state="errored",a._storedError=l;let g=a._reader;g!==void 0&&(de(g,l),me(g)?Ve(g,l):vd(g,l))}m(Gd,"ReadableStreamError");function ar(a){return new TypeError(`ReadableStream.prototype.${a} can only be used on a ReadableStream`)}m(ar,"streamBrandCheckException$1");function Jd(a,l){ue(a,l);let g=a?.highWaterMark;return M(g,"highWaterMark","QueuingStrategyInit"),{highWaterMark:D(g)}}m(Jd,"convertQueuingStrategyInit");let I_=m(a=>a.byteLength,"byteLengthSizeFunction");i(I_,"size");let F_=class{constructor(l){R(l,1,"ByteLengthQueuingStrategy"),l=Jd(l,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=l.highWaterMark}get highWaterMark(){if(!Kd(this))throw Vd("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!Kd(this))throw Vd("size");return I_}};m(F_,"ByteLengthQueuingStrategy");let ya=F_;Object.defineProperties(ya.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ya.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function Vd(a){return new TypeError(`ByteLengthQueuingStrategy.prototype.${a} can only be used on a ByteLengthQueuingStrategy`)}m(Vd,"byteLengthBrandCheckException");function Kd(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_byteLengthQueuingStrategyHighWaterMark")?!1:a instanceof ya}m(Kd,"IsByteLengthQueuingStrategy");let N_=m(()=>1,"countSizeFunction");i(N_,"size");let M_=class{constructor(l){R(l,1,"CountQueuingStrategy"),l=Jd(l,"First parameter"),this._countQueuingStrategyHighWaterMark=l.highWaterMark}get highWaterMark(){if(!Xd(this))throw Yd("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!Xd(this))throw Yd("size");return N_}};m(M_,"CountQueuingStrategy");let _a=M_;Object.defineProperties(_a.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(_a.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});function Yd(a){return new TypeError(`CountQueuingStrategy.prototype.${a} can only be used on a CountQueuingStrategy`)}m(Yd,"countBrandCheckException");function Xd(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_countQueuingStrategyHighWaterMark")?!1:a instanceof _a}m(Xd,"IsCountQueuingStrategy");function B_(a,l){ue(a,l);let g=a?.cancel,S=a?.flush,I=a?.readableType,L=a?.start,z=a?.transform,re=a?.writableType;return{cancel:g===void 0?void 0:q_(g,a,`${l} has member 'cancel' that`),flush:S===void 0?void 0:U_(S,a,`${l} has member 'flush' that`),readableType:I,start:L===void 0?void 0:j_(L,a,`${l} has member 'start' that`),transform:z===void 0?void 0:L_(z,a,`${l} has member 'transform' that`),writableType:re}}m(B_,"convertTransformer");function U_(a,l,g){return fe(a,g),S=>x(a,l,[S])}m(U_,"convertTransformerFlushCallback");function j_(a,l,g){return fe(a,g),S=>T(a,l,[S])}m(j_,"convertTransformerStartCallback");function L_(a,l,g){return fe(a,g),(S,I)=>x(a,l,[S,I])}m(L_,"convertTransformerTransformCallback");function q_(a,l,g){return fe(a,g),S=>x(a,l,[S])}m(q_,"convertTransformerCancelCallback");let $_=class{constructor(l={},g={},S={}){l===void 0&&(l=null);let I=Os(g,"Second parameter"),L=Os(S,"Third parameter"),z=B_(l,"First parameter");if(z.readableType!==void 0)throw new RangeError("Invalid readableType specified");if(z.writableType!==void 0)throw new RangeError("Invalid writableType specified");let re=lo(L,0),le=Ds(L),ge=lo(I,1),ke=Ds(I),Se,Ie=d(ht=>{Se=ht});z_(this,Ie,ge,ke,re,le),G_(this,z),z.start!==void 0?Se(z.start(this._transformStreamController)):Se(void 0)}get readable(){if(!Qd(this))throw nf("readable");return this._readable}get writable(){if(!Qd(this))throw nf("writable");return this._writable}};m($_,"TransformStream");let ba=$_;Object.defineProperties(ba.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ba.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});function z_(a,l,g,S,I,L){function z(){return l}m(z,"startAlgorithm");function re(Ie){return K_(a,Ie)}m(re,"writeAlgorithm");function le(Ie){return Y_(a,Ie)}m(le,"abortAlgorithm");function ge(){return X_(a)}m(ge,"closeAlgorithm"),a._writable=Uy(z,re,ge,le,g,S);function ke(){return Q_(a)}m(ke,"pullAlgorithm");function Se(Ie){return Z_(a,Ie)}m(Se,"cancelAlgorithm"),a._readable=go(z,ke,Se,I,L),a._backpressure=void 0,a._backpressureChangePromise=void 0,a._backpressureChangePromise_resolve=void 0,$s(a,!0),a._transformStreamController=void 0}m(z_,"InitializeTransformStream");function Qd(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_transformStreamController")?!1:a instanceof ba}m(Qd,"IsTransformStream");function Zd(a,l){Rt(a._readable._readableStreamController,l),Ca(a,l)}m(Zd,"TransformStreamError");function Ca(a,l){Hs(a._transformStreamController),po(a._writable._writableStreamController,l),wa(a)}m(Ca,"TransformStreamErrorWritableAndUnblockWrite");function wa(a){a._backpressure&&$s(a,!1)}m(wa,"TransformStreamUnblockWrite");function $s(a,l){a._backpressureChangePromise!==void 0&&a._backpressureChangePromise_resolve(),a._backpressureChangePromise=d(g=>{a._backpressureChangePromise_resolve=g}),a._backpressure=l}m($s,"TransformStreamSetBackpressure");let H_=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!zs(this))throw Ws("desiredSize");let l=this._controlledTransformStream._readable._readableStreamController;return ma(l)}enqueue(l=void 0){if(!zs(this))throw Ws("enqueue");ef(this,l)}error(l=void 0){if(!zs(this))throw Ws("error");J_(this,l)}terminate(){if(!zs(this))throw Ws("terminate");V_(this)}};m(H_,"TransformStreamDefaultController");let cr=H_;Object.defineProperties(cr.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),i(cr.prototype.enqueue,"enqueue"),i(cr.prototype.error,"error"),i(cr.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(cr.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function zs(a){return!o(a)||!Object.prototype.hasOwnProperty.call(a,"_controlledTransformStream")?!1:a instanceof cr}m(zs,"IsTransformStreamDefaultController");function W_(a,l,g,S,I){l._controlledTransformStream=a,a._transformStreamController=l,l._transformAlgorithm=g,l._flushAlgorithm=S,l._cancelAlgorithm=I,l._finishPromise=void 0,l._finishPromise_resolve=void 0,l._finishPromise_reject=void 0}m(W_,"SetUpTransformStreamDefaultController");function G_(a,l){let g=Object.create(cr.prototype),S,I,L;l.transform!==void 0?S=m(z=>l.transform(z,g),"transformAlgorithm"):S=m(z=>{try{return ef(g,z),p(void 0)}catch(re){return h(re)}},"transformAlgorithm"),l.flush!==void 0?I=m(()=>l.flush(g),"flushAlgorithm"):I=m(()=>p(void 0),"flushAlgorithm"),l.cancel!==void 0?L=m(z=>l.cancel(z),"cancelAlgorithm"):L=m(()=>p(void 0),"cancelAlgorithm"),W_(a,g,S,I,L)}m(G_,"SetUpTransformStreamDefaultControllerFromTransformer");function Hs(a){a._transformAlgorithm=void 0,a._flushAlgorithm=void 0,a._cancelAlgorithm=void 0}m(Hs,"TransformStreamDefaultControllerClearAlgorithms");function ef(a,l){let g=a._controlledTransformStream,S=g._readable._readableStreamController;if(!Mr(S))throw new TypeError("Readable side is not in a state that permits enqueue");try{Nr(S,l)}catch(I){throw Ca(g,I),g._readable._storedError}m_(S)!==g._backpressure&&$s(g,!0)}m(ef,"TransformStreamDefaultControllerEnqueue");function J_(a,l){Zd(a._controlledTransformStream,l)}m(J_,"TransformStreamDefaultControllerError");function tf(a,l){let g=a._transformAlgorithm(l);return C(g,void 0,S=>{throw Zd(a._controlledTransformStream,S),S})}m(tf,"TransformStreamDefaultControllerPerformTransform");function V_(a){let l=a._controlledTransformStream,g=l._readable._readableStreamController;ir(g);let S=new TypeError("TransformStream terminated");Ca(l,S)}m(V_,"TransformStreamDefaultControllerTerminate");function K_(a,l){let g=a._transformStreamController;if(a._backpressure){let S=a._backpressureChangePromise;return C(S,()=>{let I=a._writable;if(I._state==="erroring")throw I._storedError;return tf(g,l)})}return tf(g,l)}m(K_,"TransformStreamDefaultSinkWriteAlgorithm");function Y_(a,l){let g=a._transformStreamController;if(g._finishPromise!==void 0)return g._finishPromise;let S=a._readable;g._finishPromise=d((L,z)=>{g._finishPromise_resolve=L,g._finishPromise_reject=z});let I=g._cancelAlgorithm(l);return Hs(g),b(I,()=>(S._state==="errored"?Br(g,S._storedError):(Rt(S._readableStreamController,l),ka(g)),null),L=>(Rt(S._readableStreamController,L),Br(g,L),null)),g._finishPromise}m(Y_,"TransformStreamDefaultSinkAbortAlgorithm");function X_(a){let l=a._transformStreamController;if(l._finishPromise!==void 0)return l._finishPromise;let g=a._readable;l._finishPromise=d((I,L)=>{l._finishPromise_resolve=I,l._finishPromise_reject=L});let S=l._flushAlgorithm();return Hs(l),b(S,()=>(g._state==="errored"?Br(l,g._storedError):(ir(g._readableStreamController),ka(l)),null),I=>(Rt(g._readableStreamController,I),Br(l,I),null)),l._finishPromise}m(X_,"TransformStreamDefaultSinkCloseAlgorithm");function Q_(a){return $s(a,!1),a._backpressureChangePromise}m(Q_,"TransformStreamDefaultSourcePullAlgorithm");function Z_(a,l){let g=a._transformStreamController;if(g._finishPromise!==void 0)return g._finishPromise;let S=a._writable;g._finishPromise=d((L,z)=>{g._finishPromise_resolve=L,g._finishPromise_reject=z});let I=g._cancelAlgorithm(l);return Hs(g),b(I,()=>(S._state==="errored"?Br(g,S._storedError):(po(S._writableStreamController,l),wa(a),ka(g)),null),L=>(po(S._writableStreamController,L),wa(a),Br(g,L),null)),g._finishPromise}m(Z_,"TransformStreamDefaultSourceCancelAlgorithm");function Ws(a){return new TypeError(`TransformStreamDefaultController.prototype.${a} can only be used on a TransformStreamDefaultController`)}m(Ws,"defaultControllerBrandCheckException");function ka(a){a._finishPromise_resolve!==void 0&&(a._finishPromise_resolve(),a._finishPromise_resolve=void 0,a._finishPromise_reject=void 0)}m(ka,"defaultControllerFinishPromiseResolve");function Br(a,l){a._finishPromise_reject!==void 0&&(v(a._finishPromise),a._finishPromise_reject(l),a._finishPromise_resolve=void 0,a._finishPromise_reject=void 0)}m(Br,"defaultControllerFinishPromiseReject");function nf(a){return new TypeError(`TransformStream.prototype.${a} can only be used on a TransformStream`)}m(nf,"streamBrandCheckException"),n.ByteLengthQueuingStrategy=ya,n.CountQueuingStrategy=_a,n.ReadableByteStreamController=An,n.ReadableStream=at,n.ReadableStreamBYOBReader=tr,n.ReadableStreamBYOBRequest=Or,n.ReadableStreamDefaultController=Rn,n.ReadableStreamDefaultReader=ye,n.TransformStream=ba,n.TransformStreamDefaultController=cr,n.WritableStream=rr,n.WritableStreamDefaultController=fo,n.WritableStreamDefaultWriter=Tn})})(Rc,Rc.exports)),Rc.exports}function sw(){if(ow)return nw;ow=1;let t=65536;if(!globalThis.ReadableStream)try{let e=oe("node:process"),{emitWarning:n}=e;try{e.emitWarning=()=>{},Object.assign(globalThis,oe("node:stream/web")),e.emitWarning=n}catch(r){throw e.emitWarning=n,r}}catch{Object.assign(globalThis,gw())}try{let{Blob:e}=oe("buffer");e&&!e.prototype.stream&&(e.prototype.stream=m(function(n){let r=0,o=this;return new ReadableStream({type:"bytes",async pull(s){let i=await o.slice(r,Math.min(o.size,r+t)).arrayBuffer();r+=i.byteLength,s.enqueue(new Uint8Array(i)),r===o.size&&s.close()}})},"name"))}catch{}return nw}async function*xc(t,e=!0){for(let n of t)if("stream"in n)yield*n.stream();else if(ArrayBuffer.isView(n))if(e){let r=n.byteOffset,o=n.byteOffset+n.byteLength;for(;r!==o;){let s=Math.min(o-r,iw),i=n.buffer.slice(r,r+s);r+=i.byteLength,yield new Uint8Array(i)}}else yield n;else{let r=0,o=n;for(;r!==o.size;){let s=await o.slice(r,Math.min(o.size,r+iw)).arrayBuffer();r+=s.byteLength,yield new Uint8Array(s)}}}function _w(t,e=Xr){var n=`${aw()}${aw()}`.replace(/\./g,"").slice(-28).padStart(32,"-"),r=[],o=`--${n}\r
|
|
57
|
-
Content-Disposition: form-data; name="`;return t.forEach((s,i)=>typeof s=="string"?r.push(o+
|
|
51
|
+
`);if(p===-1){jc("have not received end of HTTP headers yet..."),s();return}let b=h.slice(0,p).toString("ascii").split(`\r
|
|
52
|
+
`),C=b.shift();if(!C)return t.destroy(),n(new Error("No header received from proxy CONNECT response"));let m=C.split(" "),w=+m[1],_=m.slice(2).join(" "),A={};for(let S of b){if(!S)continue;let T=S.indexOf(":");if(T===-1)return t.destroy(),n(new Error(`Invalid header from proxy CONNECT response: "${S}"`));let x=S.slice(0,T).toLowerCase(),O=S.slice(T+1).trimStart(),q=A[x];typeof q=="string"?A[x]=[q,O]:Array.isArray(q)?q.push(O):A[x]=O}jc("got proxy server response: %o %o",C,A),i(),e({connect:{statusCode:w,statusText:_,headers:A},buffered:h})}t.on("error",u),t.on("end",a),s()})}Ho.parseProxyResponse=QO});var Nw=J(Nt=>{"use strict";var ZO=Nt&&Nt.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),eP=Nt&&Nt.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Iw=Nt&&Nt.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&ZO(e,t,n);return eP(e,t),e},Fw=Nt&&Nt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Nt,"__esModule",{value:!0});Nt.HttpsProxyAgent=void 0;var Lc=Iw(oe("net")),Dw=Iw(oe("tls")),tP=Fw(oe("assert")),nP=Fw(Lp()),rP=Rw(),oP=oe("url"),sP=xw(),gi=(0,nP.default)("https-proxy-agent"),Ow=t=>t.servername===void 0&&t.host&&!Lc.isIP(t.host)?{...t,servername:t.host}:t,qc=class extends rP.Agent{constructor(e,n){super(n),this.options={path:void 0},this.proxy=typeof e=="string"?new oP.URL(e):e,this.proxyHeaders=n?.headers??{},gi("Creating new HttpsProxyAgent instance: %o",this.proxy.href);let r=(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"],...n?Pw(n,"headers"):null,host:r,port:o}}async connect(e,n){let{proxy:r}=this;if(!n.host)throw new TypeError('No "host" provided');let o;r.protocol==="https:"?(gi("Creating `tls.Socket`: %o",this.connectOpts),o=Dw.connect(Ow(this.connectOpts))):(gi("Creating `net.Socket`: %o",this.connectOpts),o=Lc.connect(this.connectOpts));let s=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},i=Lc.isIPv6(n.host)?`[${n.host}]`:n.host,a=`CONNECT ${i}:${n.port} HTTP/1.1\r
|
|
53
|
+
`;if(r.username||r.password){let p=`${decodeURIComponent(r.username)}:${decodeURIComponent(r.password)}`;s["Proxy-Authorization"]=`Basic ${Buffer.from(p).toString("base64")}`}s.Host=`${i}:${n.port}`,s["Proxy-Connection"]||(s["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let p of Object.keys(s))a+=`${p}: ${s[p]}\r
|
|
54
|
+
`;let u=(0,sP.parseProxyResponse)(o);o.write(`${a}\r
|
|
55
|
+
`);let{connect:d,buffered:f}=await u;if(e.emit("proxyConnect",d),this.emit("proxyConnect",d,e),d.statusCode===200)return e.once("socket",iP),n.secureEndpoint?(gi("Upgrading socket connection to TLS"),Dw.connect({...Pw(Ow(n),"host","path","port"),socket:o})):o;o.destroy();let h=new Lc.Socket({writable:!1});return h.readable=!0,e.once("socket",p=>{gi("Replaying proxy buffer for failed request"),(0,tP.default)(p.listenerCount("data")>0),p.push(f),p.push(null)}),h}};qc.protocols=["http","https"];Nt.HttpsProxyAgent=qc;function iP(t){t.resume()}function Pw(t,...e){let n={},r;for(r in t)e.includes(r)||(n[r]=t[r]);return n}});function zp(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var aP,cP,$p,$c=mr(()=>{aP=Object.defineProperty,cP=(t,e)=>aP(t,"name",{value:e,configurable:!0}),$p=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};cP(zp,"getDefaultExportFromCjs")});var Lw={};S0(Lw,{toFormData:()=>jw});function Uw(t){let e=t.match(/\bfilename=("(.*?)"|([^()<>@,;:\\"/[\]?={}\s\t]+))($|;\s)/i);if(!e)return;let n=e[2]||e[3]||"",r=n.slice(n.lastIndexOf("\\")+1);return r=r.replace(/%22/g,'"'),r=r.replace(/&#(\d{4});/g,(o,s)=>String.fromCharCode(s)),r}async function jw(t,e){if(!/multipart/i.test(e))throw new TypeError("Failed to fetch");let n=e.match(/boundary=(?:"([^"]+)"|([^;]+))/i);if(!n)throw new TypeError("no or bad content-type header, no multipart boundary");let r=new mP(n[1]||n[2]),o,s,i,a,u,d,f=[],h=new eo,p=vt(_=>{i+=w.decode(_,{stream:!0})},"onPartData"),b=vt(_=>{f.push(_)},"appendToFile"),C=vt(()=>{let _=new Wo(f,d,{type:u});h.append(a,_)},"appendFileToFormData"),m=vt(()=>{h.append(a,i)},"appendEntryToFormData"),w=new TextDecoder("utf-8");w.decode(),r.onPartBegin=function(){r.onPartData=p,r.onPartEnd=m,o="",s="",i="",a="",u="",d=null,f.length=0},r.onHeaderField=function(_){o+=w.decode(_,{stream:!0})},r.onHeaderValue=function(_){s+=w.decode(_,{stream:!0})},r.onHeaderEnd=function(){if(s+=w.decode(),o=o.toLowerCase(),o==="content-disposition"){let _=s.match(/\bname=("([^"]*)"|([^()<>@,;:\\"/[\]?={}\s\t]+))/i);_&&(a=_[2]||_[3]||""),d=Uw(s),d&&(r.onPartData=b,r.onPartEnd=C)}else o==="content-type"&&(u=s);s="",o=""};for await(let _ of t)r.write(_);return r.end(),h}var uP,vt,hn,Be,Mw,Sr,zc,Hc,lP,yi,dP,fP,pP,hP,Zr,Bw,mP,qw=mr(()=>{Wc();$c();uP=Object.defineProperty,vt=(t,e)=>uP(t,"name",{value:e,configurable:!0}),hn=0,Be={START_BOUNDARY:hn++,HEADER_FIELD_START:hn++,HEADER_FIELD:hn++,HEADER_VALUE_START:hn++,HEADER_VALUE:hn++,HEADER_VALUE_ALMOST_DONE:hn++,HEADERS_ALMOST_DONE:hn++,PART_DATA_START:hn++,PART_DATA:hn++,END:hn++},Mw=1,Sr={PART_BOUNDARY:Mw,LAST_BOUNDARY:Mw*=2},zc=10,Hc=13,lP=32,yi=45,dP=58,fP=97,pP=122,hP=vt(t=>t|32,"lower"),Zr=vt(()=>{},"noop"),Bw=class{constructor(e){this.index=0,this.flags=0,this.onHeaderEnd=Zr,this.onHeaderField=Zr,this.onHeadersEnd=Zr,this.onHeaderValue=Zr,this.onPartBegin=Zr,this.onPartData=Zr,this.onPartEnd=Zr,this.boundaryChars={},e=`\r
|
|
56
|
+
--`+e;let n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e.charCodeAt(r),this.boundaryChars[n[r]]=!0;this.boundary=n,this.lookbehind=new Uint8Array(this.boundary.length+8),this.state=Be.START_BOUNDARY}write(e){let n=0,r=e.length,o=this.index,{lookbehind:s,boundary:i,boundaryChars:a,index:u,state:d,flags:f}=this,h=this.boundary.length,p=h-1,b=e.length,C,m,w=vt(T=>{this[T+"Mark"]=n},"mark"),_=vt(T=>{delete this[T+"Mark"]},"clear"),A=vt((T,x,O,q)=>{(x===void 0||x!==O)&&this[T](q&&q.subarray(x,O))},"callback"),S=vt((T,x)=>{let O=T+"Mark";O in this&&(x?(A(T,this[O],n,e),delete this[O]):(A(T,this[O],e.length,e),this[O]=0))},"dataCallback");for(n=0;n<r;n++)switch(C=e[n],d){case Be.START_BOUNDARY:if(u===i.length-2){if(C===yi)f|=Sr.LAST_BOUNDARY;else if(C!==Hc)return;u++;break}else if(u-1===i.length-2){if(f&Sr.LAST_BOUNDARY&&C===yi)d=Be.END,f=0;else if(!(f&Sr.LAST_BOUNDARY)&&C===zc)u=0,A("onPartBegin"),d=Be.HEADER_FIELD_START;else return;break}C!==i[u+2]&&(u=-2),C===i[u+2]&&u++;break;case Be.HEADER_FIELD_START:d=Be.HEADER_FIELD,w("onHeaderField"),u=0;case Be.HEADER_FIELD:if(C===Hc){_("onHeaderField"),d=Be.HEADERS_ALMOST_DONE;break}if(u++,C===yi)break;if(C===dP){if(u===1)return;S("onHeaderField",!0),d=Be.HEADER_VALUE_START;break}if(m=hP(C),m<fP||m>pP)return;break;case Be.HEADER_VALUE_START:if(C===lP)break;w("onHeaderValue"),d=Be.HEADER_VALUE;case Be.HEADER_VALUE:C===Hc&&(S("onHeaderValue",!0),A("onHeaderEnd"),d=Be.HEADER_VALUE_ALMOST_DONE);break;case Be.HEADER_VALUE_ALMOST_DONE:if(C!==zc)return;d=Be.HEADER_FIELD_START;break;case Be.HEADERS_ALMOST_DONE:if(C!==zc)return;A("onHeadersEnd"),d=Be.PART_DATA_START;break;case Be.PART_DATA_START:d=Be.PART_DATA,w("onPartData");case Be.PART_DATA:if(o=u,u===0){for(n+=p;n<b&&!(e[n]in a);)n+=h;n-=p,C=e[n]}if(u<i.length)i[u]===C?(u===0&&S("onPartData",!0),u++):u=0;else if(u===i.length)u++,C===Hc?f|=Sr.PART_BOUNDARY:C===yi?f|=Sr.LAST_BOUNDARY:u=0;else if(u-1===i.length)if(f&Sr.PART_BOUNDARY){if(u=0,C===zc){f&=~Sr.PART_BOUNDARY,A("onPartEnd"),A("onPartBegin"),d=Be.HEADER_FIELD_START;break}}else f&Sr.LAST_BOUNDARY&&C===yi?(A("onPartEnd"),d=Be.END,f=0):u=0;if(u>0)s[u-1]=C;else if(o>0){let T=new Uint8Array(s.buffer,s.byteOffset,s.byteLength);A("onPartData",0,o,T),o=0,w("onPartData"),n--}break;case Be.END:break;default:throw new Error(`Unexpected state entered: ${d}`)}S("onHeaderField"),S("onHeaderValue"),S("onPartData"),this.index=u,this.state=d,this.flags=f}end(){if(this.state===Be.HEADER_FIELD_START&&this.index===0||this.state===Be.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==Be.END)throw new Error("MultipartParser.end(): stream ended unexpectedly")}};vt(Bw,"MultipartParser");mP=Bw;vt(Uw,"_fileName");vt(jw,"toFormData")});import Ei from"node:http";import yP from"node:https";import Jo from"node:zlib";import yn,{PassThrough as eu,pipeline as Ko}from"node:stream";import{Buffer as ct}from"node:buffer";import{types as tu,deprecate as nu,promisify as _P}from"node:util";import{format as bP}from"node:url";import{isIP as CP}from"node:net";import{promises as wP,statSync as ek,createReadStream as kP}from"node:fs";import{basename as SP}from"node:path";function tk(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 n=t.substring(5,e).split(";"),r="",o=!1,s=n[0]||"text/plain",i=s;for(let f=1;f<n.length;f++)n[f]==="base64"?o=!0:n[f]&&(i+=`;${n[f]}`,n[f].indexOf("charset=")===0&&(r=n[f].substring(8)));!n[0]&&!r.length&&(i+=";charset=US-ASCII",r="US-ASCII");let a=o?"base64":"ascii",u=unescape(t.substring(e+1)),d=Buffer.from(u,a);return d.type=s,d.typeFull=i,d.charset=r,d}function nk(){return zw||(zw=1,(function(t,e){(function(n,r){r(e)})(EP,function(n){function r(){}g(r,"noop");function o(c){return typeof c=="object"&&c!==null||typeof c=="function"}g(o,"typeIsObject");let s=r;function i(c,l){try{Object.defineProperty(c,"name",{value:l,configurable:!0})}catch{}}g(i,"setFunctionName");let a=Promise,u=Promise.prototype.then,d=Promise.reject.bind(a);function f(c){return new a(c)}g(f,"newPromise");function h(c){return f(l=>l(c))}g(h,"promiseResolvedWith");function p(c){return d(c)}g(p,"promiseRejectedWith");function b(c,l,y){return u.call(c,l,y)}g(b,"PerformPromiseThen");function C(c,l,y){b(b(c,l,y),void 0,s)}g(C,"uponPromise");function m(c,l){C(c,l)}g(m,"uponFulfillment");function w(c,l){C(c,void 0,l)}g(w,"uponRejection");function _(c,l,y){return b(c,l,y)}g(_,"transformPromiseWith");function A(c){b(c,void 0,s)}g(A,"setPromiseIsHandledToTrue");let S=g(c=>{if(typeof queueMicrotask=="function")S=queueMicrotask;else{let l=h(void 0);S=g(y=>b(l,y),"_queueMicrotask")}return S(c)},"_queueMicrotask");function T(c,l,y){if(typeof c!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(c,l,y)}g(T,"reflectCall");function x(c,l,y){try{return h(T(c,l,y))}catch(E){return p(E)}}g(x,"promiseCall");let O=16384,q=class{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(l){let y=this._back,E=y;y._elements.length===O-1&&(E={_elements:[],_next:void 0}),y._elements.push(l),E!==y&&(this._back=E,y._next=E),++this._size}shift(){let l=this._front,y=l,E=this._cursor,I=E+1,L=l._elements,H=L[E];return I===O&&(y=l._next,I=0),--this._size,this._cursor=I,l!==y&&(this._front=y),L[E]=void 0,H}forEach(l){let y=this._cursor,E=this._front,I=E._elements;for(;(y!==I.length||E._next!==void 0)&&!(y===I.length&&(E=E._next,I=E._elements,y=0,I.length===0));)l(I[y]),++y}peek(){let l=this._front,y=this._cursor;return l._elements[y]}};g(q,"SimpleQueue");let $=q,z=Symbol("[[AbortSteps]]"),ce=Symbol("[[ErrorSteps]]"),X=Symbol("[[CancelSteps]]"),ee=Symbol("[[PullSteps]]"),Z=Symbol("[[ReleaseSteps]]");function xe(c,l){c._ownerReadableStream=l,l._reader=c,l._state==="readable"?te(c):l._state==="closed"?ie(c):Q(c,l._storedError)}g(xe,"ReadableStreamReaderGenericInitialize");function $e(c,l){let y=c._ownerReadableStream;return Ot(y,l)}g($e,"ReadableStreamReaderGenericCancel");function Re(c){let l=c._ownerReadableStream;l._state==="readable"?de(c,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):Ce(c,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),l._readableStreamController[Z](),l._reader=void 0,c._ownerReadableStream=void 0}g(Re,"ReadableStreamReaderGenericRelease");function He(c){return new TypeError("Cannot "+c+" a stream using a released reader")}g(He,"readerLockException");function te(c){c._closedPromise=f((l,y)=>{c._closedPromise_resolve=l,c._closedPromise_reject=y})}g(te,"defaultReaderClosedPromiseInitialize");function Q(c,l){te(c),de(c,l)}g(Q,"defaultReaderClosedPromiseInitializeAsRejected");function ie(c){te(c),V(c)}g(ie,"defaultReaderClosedPromiseInitializeAsResolved");function de(c,l){c._closedPromise_reject!==void 0&&(A(c._closedPromise),c._closedPromise_reject(l),c._closedPromise_resolve=void 0,c._closedPromise_reject=void 0)}g(de,"defaultReaderClosedPromiseReject");function Ce(c,l){Q(c,l)}g(Ce,"defaultReaderClosedPromiseResetToRejected");function V(c){c._closedPromise_resolve!==void 0&&(c._closedPromise_resolve(void 0),c._closedPromise_resolve=void 0,c._closedPromise_reject=void 0)}g(V,"defaultReaderClosedPromiseResolve");let Ke=Number.isFinite||function(c){return typeof c=="number"&&isFinite(c)},Ne=Math.trunc||function(c){return c<0?Math.ceil(c):Math.floor(c)};function Y(c){return typeof c=="object"||typeof c=="function"}g(Y,"isDictionary");function ue(c,l){if(c!==void 0&&!Y(c))throw new TypeError(`${l} is not an object.`)}g(ue,"assertDictionary");function fe(c,l){if(typeof c!="function")throw new TypeError(`${l} is not a function.`)}g(fe,"assertFunction");function k(c){return typeof c=="object"&&c!==null||typeof c=="function"}g(k,"isObject");function v(c,l){if(!k(c))throw new TypeError(`${l} is not an object.`)}g(v,"assertObject");function R(c,l,y){if(c===void 0)throw new TypeError(`Parameter ${l} is required in '${y}'.`)}g(R,"assertRequiredArgument");function M(c,l,y){if(c===void 0)throw new TypeError(`${l} is required in '${y}'.`)}g(M,"assertRequiredField");function D(c){return Number(c)}g(D,"convertUnrestrictedDouble");function F(c){return c===0?0:c}g(F,"censorNegativeZero");function j(c){return F(Ne(c))}g(j,"integerPart");function P(c,l){let y=Number.MAX_SAFE_INTEGER,E=Number(c);if(E=F(E),!Ke(E))throw new TypeError(`${l} is not a finite number`);if(E=j(E),E<0||E>y)throw new TypeError(`${l} is outside the accepted range of 0 to ${y}, inclusive`);return!Ke(E)||E===0?0:E}g(P,"convertUnsignedLongLongWithEnforceRange");function N(c,l){if(!In(c))throw new TypeError(`${l} is not a ReadableStream.`)}g(N,"assertReadableStream");function U(c){return new ye(c)}g(U,"AcquireReadableStreamDefaultReader");function B(c,l){c._reader._readRequests.push(l)}g(B,"ReadableStreamAddReadRequest");function G(c,l,y){let E=c._reader._readRequests.shift();y?E._closeSteps():E._chunkSteps(l)}g(G,"ReadableStreamFulfillReadRequest");function se(c){return c._reader._readRequests.length}g(se,"ReadableStreamGetNumReadRequests");function ae(c){let l=c._reader;return!(l===void 0||!me(l))}g(ae,"ReadableStreamHasDefaultReader");let be=class{constructor(l){if(R(l,1,"ReadableStreamDefaultReader"),N(l,"First parameter"),Fn(l))throw new TypeError("This stream has already been locked for exclusive reading by another reader");xe(this,l),this._readRequests=new $}get closed(){return me(this)?this._closedPromise:p(an("closed"))}cancel(l=void 0){return me(this)?this._ownerReadableStream===void 0?p(He("cancel")):$e(this,l):p(an("cancel"))}read(){if(!me(this))return p(an("read"));if(this._ownerReadableStream===void 0)return p(He("read from"));let l,y,E=f((I,L)=>{l=I,y=L});return _e(this,{_chunkSteps:g(I=>l({value:I,done:!1}),"_chunkSteps"),_closeSteps:g(()=>l({value:void 0,done:!0}),"_closeSteps"),_errorSteps:g(I=>y(I),"_errorSteps")}),E}releaseLock(){if(!me(this))throw an("releaseLock");this._ownerReadableStream!==void 0&&Oe(this)}};g(be,"ReadableStreamDefaultReader");let ye=be;Object.defineProperties(ye.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),i(ye.prototype.cancel,"cancel"),i(ye.prototype.read,"read"),i(ye.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ye.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});function me(c){return!o(c)||!Object.prototype.hasOwnProperty.call(c,"_readRequests")?!1:c instanceof ye}g(me,"IsReadableStreamDefaultReader");function _e(c,l){let y=c._ownerReadableStream;y._disturbed=!0,y._state==="closed"?l._closeSteps():y._state==="errored"?l._errorSteps(y._storedError):y._readableStreamController[ee](l)}g(_e,"ReadableStreamDefaultReaderRead");function Oe(c){Re(c);let l=new TypeError("Reader was released");Ve(c,l)}g(Oe,"ReadableStreamDefaultReaderRelease");function Ve(c,l){let y=c._readRequests;c._readRequests=new $,y.forEach(E=>{E._errorSteps(l)})}g(Ve,"ReadableStreamDefaultReaderErrorReadRequests");function an(c){return new TypeError(`ReadableStreamDefaultReader.prototype.${c} can only be used on a ReadableStreamDefaultReader`)}g(an,"defaultReaderBrandCheckException");let Os=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype),ho=class{constructor(l,y){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=l,this._preventCancel=y}next(){let l=g(()=>this._nextSteps(),"nextSteps");return this._ongoingPromise=this._ongoingPromise?_(this._ongoingPromise,l,l):l(),this._ongoingPromise}return(l){let y=g(()=>this._returnSteps(l),"returnSteps");return this._ongoingPromise?_(this._ongoingPromise,y,y):y()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let l=this._reader,y,E,I=f((L,H)=>{y=L,E=H});return _e(l,{_chunkSteps:g(L=>{this._ongoingPromise=void 0,S(()=>y({value:L,done:!1}))},"_chunkSteps"),_closeSteps:g(()=>{this._ongoingPromise=void 0,this._isFinished=!0,Re(l),y({value:void 0,done:!0})},"_closeSteps"),_errorSteps:g(L=>{this._ongoingPromise=void 0,this._isFinished=!0,Re(l),E(L)},"_errorSteps")}),I}_returnSteps(l){if(this._isFinished)return Promise.resolve({value:l,done:!0});this._isFinished=!0;let y=this._reader;if(!this._preventCancel){let E=$e(y,l);return Re(y),_(E,()=>({value:l,done:!0}))}return Re(y),h({value:l,done:!0})}};g(ho,"ReadableStreamAsyncIteratorImpl");let wt=ho,nr={next(){return Qe(this)?this._asyncIteratorImpl.next():p(Me("next"))},return(c){return Qe(this)?this._asyncIteratorImpl.return(c):p(Me("return"))}};Object.setPrototypeOf(nr,Os);function ut(c,l){let y=U(c),E=new wt(y,l),I=Object.create(nr);return I._asyncIteratorImpl=E,I}g(ut,"AcquireReadableStreamAsyncIterator");function Qe(c){if(!o(c)||!Object.prototype.hasOwnProperty.call(c,"_asyncIteratorImpl"))return!1;try{return c._asyncIteratorImpl instanceof wt}catch{return!1}}g(Qe,"IsReadableStreamAsyncIterator");function Me(c){return new TypeError(`ReadableStreamAsyncIterator.${c} can only be used on a ReadableSteamAsyncIterator`)}g(Me,"streamAsyncIteratorBrandCheckException");let Ry=Number.isNaN||function(c){return c!==c};var Cd,wd,kd;function mo(c){return c.slice()}g(mo,"CreateArrayFromList");function Sd(c,l,y,E,I){new Uint8Array(c).set(new Uint8Array(y,E,I),l)}g(Sd,"CopyDataBlockBytes");let Rn=g(c=>(typeof c.transfer=="function"?Rn=g(l=>l.transfer(),"TransferArrayBuffer"):typeof structuredClone=="function"?Rn=g(l=>structuredClone(l,{transfer:[l]}),"TransferArrayBuffer"):Rn=g(l=>l,"TransferArrayBuffer"),Rn(c)),"TransferArrayBuffer"),rr=g(c=>(typeof c.detached=="boolean"?rr=g(l=>l.detached,"IsDetachedBuffer"):rr=g(l=>l.byteLength===0,"IsDetachedBuffer"),rr(c)),"IsDetachedBuffer");function Ed(c,l,y){if(c.slice)return c.slice(l,y);let E=y-l,I=new ArrayBuffer(E);return Sd(I,0,c,l,E),I}g(Ed,"ArrayBufferSlice");function Ps(c,l){let y=c[l];if(y!=null){if(typeof y!="function")throw new TypeError(`${String(l)} is not a function`);return y}}g(Ps,"GetMethod");function xy(c){let l={[Symbol.iterator]:()=>c.iterator},y=(async function*(){return yield*l})(),E=y.next;return{iterator:y,nextMethod:E,done:!1}}g(xy,"CreateAsyncFromSyncIterator");let Ad=(kd=(Cd=Symbol.asyncIterator)!==null&&Cd!==void 0?Cd:(wd=Symbol.for)===null||wd===void 0?void 0:wd.call(Symbol,"Symbol.asyncIterator"))!==null&&kd!==void 0?kd:"@@asyncIterator";function vd(c,l="sync",y){if(y===void 0)if(l==="async"){if(y=Ps(c,Ad),y===void 0){let L=Ps(c,Symbol.iterator),H=vd(c,"sync",L);return xy(H)}}else y=Ps(c,Symbol.iterator);if(y===void 0)throw new TypeError("The object is not iterable");let E=T(y,c,[]);if(!o(E))throw new TypeError("The iterator method must return an object");let I=E.next;return{iterator:E,nextMethod:I,done:!1}}g(vd,"GetIterator");function Dy(c){let l=T(c.nextMethod,c.iterator,[]);if(!o(l))throw new TypeError("The iterator.next() method must return an object");return l}g(Dy,"IteratorNext");function Oy(c){return!!c.done}g(Oy,"IteratorComplete");function Py(c){return c.value}g(Py,"IteratorValue");function Iy(c){return!(typeof c!="number"||Ry(c)||c<0)}g(Iy,"IsNonNegativeNumber");function Td(c){let l=Ed(c.buffer,c.byteOffset,c.byteOffset+c.byteLength);return new Uint8Array(l)}g(Td,"CloneAsUint8Array");function oa(c){let l=c._queue.shift();return c._queueTotalSize-=l.size,c._queueTotalSize<0&&(c._queueTotalSize=0),l.value}g(oa,"DequeueValue");function sa(c,l,y){if(!Iy(y)||y===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");c._queue.push({value:l,size:y}),c._queueTotalSize+=y}g(sa,"EnqueueValueWithSize");function Fy(c){return c._queue.peek().value}g(Fy,"PeekQueueValue");function xn(c){c._queue=new $,c._queueTotalSize=0}g(xn,"ResetQueue");function Rd(c){return c===DataView}g(Rd,"isDataViewConstructor");function Ny(c){return Rd(c.constructor)}g(Ny,"isDataView");function My(c){return Rd(c)?1:c.BYTES_PER_ELEMENT}g(My,"arrayBufferViewElementSize");let By=class{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!ia(this))throw da("view");return this._view}respond(l){if(!ia(this))throw da("respond");if(R(l,1,"respond"),l=P(l,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(rr(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");Ms(this._associatedReadableByteStreamController,l)}respondWithNewView(l){if(!ia(this))throw da("respondWithNewView");if(R(l,1,"respondWithNewView"),!ArrayBuffer.isView(l))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(rr(l.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");Bs(this._associatedReadableByteStreamController,l)}};g(By,"ReadableStreamBYOBRequest");let Mr=By;Object.defineProperties(Mr.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),i(Mr.prototype.respond,"respond"),i(Mr.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Mr.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});let Uy=class{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!or(this))throw yo("byobRequest");return la(this)}get desiredSize(){if(!or(this))throw yo("desiredSize");return Ud(this)}close(){if(!or(this))throw yo("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let l=this._controlledReadableByteStream._state;if(l!=="readable")throw new TypeError(`The stream (in ${l} state) is not in the readable state and cannot be closed`);go(this)}enqueue(l){if(!or(this))throw yo("enqueue");if(R(l,1,"enqueue"),!ArrayBuffer.isView(l))throw new TypeError("chunk must be an array buffer view");if(l.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(l.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 y=this._controlledReadableByteStream._state;if(y!=="readable")throw new TypeError(`The stream (in ${y} state) is not in the readable state and cannot be enqueued to`);Ns(this,l)}error(l=void 0){if(!or(this))throw yo("error");kt(this,l)}[X](l){xd(this),xn(this);let y=this._cancelAlgorithm(l);return Fs(this),y}[ee](l){let y=this._controlledReadableByteStream;if(this._queueTotalSize>0){Bd(this,l);return}let E=this._autoAllocateChunkSize;if(E!==void 0){let I;try{I=new ArrayBuffer(E)}catch(H){l._errorSteps(H);return}let L={buffer:I,bufferByteLength:E,byteOffset:0,byteLength:E,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(L)}B(y,l),sr(this)}[Z](){if(this._pendingPullIntos.length>0){let l=this._pendingPullIntos.peek();l.readerType="none",this._pendingPullIntos=new $,this._pendingPullIntos.push(l)}}};g(Uy,"ReadableByteStreamController");let Dn=Uy;Object.defineProperties(Dn.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),i(Dn.prototype.close,"close"),i(Dn.prototype.enqueue,"enqueue"),i(Dn.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Dn.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});function or(c){return!o(c)||!Object.prototype.hasOwnProperty.call(c,"_controlledReadableByteStream")?!1:c instanceof Dn}g(or,"IsReadableByteStreamController");function ia(c){return!o(c)||!Object.prototype.hasOwnProperty.call(c,"_associatedReadableByteStreamController")?!1:c instanceof Mr}g(ia,"IsReadableStreamBYOBRequest");function sr(c){if(!zy(c))return;if(c._pulling){c._pullAgain=!0;return}c._pulling=!0;let l=c._pullAlgorithm();C(l,()=>(c._pulling=!1,c._pullAgain&&(c._pullAgain=!1,sr(c)),null),y=>(kt(c,y),null))}g(sr,"ReadableByteStreamControllerCallPullIfNeeded");function xd(c){ca(c),c._pendingPullIntos=new $}g(xd,"ReadableByteStreamControllerClearPendingPullIntos");function aa(c,l){let y=!1;c._state==="closed"&&(y=!0);let E=Dd(l);l.readerType==="default"?G(c,E,y):Vy(c,E,y)}g(aa,"ReadableByteStreamControllerCommitPullIntoDescriptor");function Dd(c){let l=c.bytesFilled,y=c.elementSize;return new c.viewConstructor(c.buffer,c.byteOffset,l/y)}g(Dd,"ReadableByteStreamControllerConvertPullIntoDescriptor");function Is(c,l,y,E){c._queue.push({buffer:l,byteOffset:y,byteLength:E}),c._queueTotalSize+=E}g(Is,"ReadableByteStreamControllerEnqueueChunkToQueue");function Od(c,l,y,E){let I;try{I=Ed(l,y,y+E)}catch(L){throw kt(c,L),L}Is(c,I,0,E)}g(Od,"ReadableByteStreamControllerEnqueueClonedChunkToQueue");function Pd(c,l){l.bytesFilled>0&&Od(c,l.buffer,l.byteOffset,l.bytesFilled),Br(c)}g(Pd,"ReadableByteStreamControllerEnqueueDetachedPullIntoToQueue");function Id(c,l){let y=Math.min(c._queueTotalSize,l.byteLength-l.bytesFilled),E=l.bytesFilled+y,I=y,L=!1,H=E%l.elementSize,re=E-H;re>=l.minimumFill&&(I=re-l.bytesFilled,L=!0);let le=c._queue;for(;I>0;){let ge=le.peek(),ke=Math.min(I,ge.byteLength),Se=l.byteOffset+l.bytesFilled;Sd(l.buffer,Se,ge.buffer,ge.byteOffset,ke),ge.byteLength===ke?le.shift():(ge.byteOffset+=ke,ge.byteLength-=ke),c._queueTotalSize-=ke,Fd(c,ke,l),I-=ke}return L}g(Id,"ReadableByteStreamControllerFillPullIntoDescriptorFromQueue");function Fd(c,l,y){y.bytesFilled+=l}g(Fd,"ReadableByteStreamControllerFillHeadPullIntoDescriptor");function Nd(c){c._queueTotalSize===0&&c._closeRequested?(Fs(c),Eo(c._controlledReadableByteStream)):sr(c)}g(Nd,"ReadableByteStreamControllerHandleQueueDrain");function ca(c){c._byobRequest!==null&&(c._byobRequest._associatedReadableByteStreamController=void 0,c._byobRequest._view=null,c._byobRequest=null)}g(ca,"ReadableByteStreamControllerInvalidateBYOBRequest");function ua(c){for(;c._pendingPullIntos.length>0;){if(c._queueTotalSize===0)return;let l=c._pendingPullIntos.peek();Id(c,l)&&(Br(c),aa(c._controlledReadableByteStream,l))}}g(ua,"ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue");function jy(c){let l=c._controlledReadableByteStream._reader;for(;l._readRequests.length>0;){if(c._queueTotalSize===0)return;let y=l._readRequests.shift();Bd(c,y)}}g(jy,"ReadableByteStreamControllerProcessReadRequestsUsingQueue");function Ly(c,l,y,E){let I=c._controlledReadableByteStream,L=l.constructor,H=My(L),{byteOffset:re,byteLength:le}=l,ge=y*H,ke;try{ke=Rn(l.buffer)}catch(Fe){E._errorSteps(Fe);return}let Se={buffer:ke,bufferByteLength:ke.byteLength,byteOffset:re,byteLength:le,bytesFilled:0,minimumFill:ge,elementSize:H,viewConstructor:L,readerType:"byob"};if(c._pendingPullIntos.length>0){c._pendingPullIntos.push(Se),qd(I,E);return}if(I._state==="closed"){let Fe=new L(Se.buffer,Se.byteOffset,0);E._closeSteps(Fe);return}if(c._queueTotalSize>0){if(Id(c,Se)){let Fe=Dd(Se);Nd(c),E._chunkSteps(Fe);return}if(c._closeRequested){let Fe=new TypeError("Insufficient bytes to fill elements in the given buffer");kt(c,Fe),E._errorSteps(Fe);return}}c._pendingPullIntos.push(Se),qd(I,E),sr(c)}g(Ly,"ReadableByteStreamControllerPullInto");function qy(c,l){l.readerType==="none"&&Br(c);let y=c._controlledReadableByteStream;if(fa(y))for(;$d(y)>0;){let E=Br(c);aa(y,E)}}g(qy,"ReadableByteStreamControllerRespondInClosedState");function $y(c,l,y){if(Fd(c,l,y),y.readerType==="none"){Pd(c,y),ua(c);return}if(y.bytesFilled<y.minimumFill)return;Br(c);let E=y.bytesFilled%y.elementSize;if(E>0){let I=y.byteOffset+y.bytesFilled;Od(c,y.buffer,I-E,E)}y.bytesFilled-=E,aa(c._controlledReadableByteStream,y),ua(c)}g($y,"ReadableByteStreamControllerRespondInReadableState");function Md(c,l){let y=c._pendingPullIntos.peek();ca(c),c._controlledReadableByteStream._state==="closed"?qy(c,y):$y(c,l,y),sr(c)}g(Md,"ReadableByteStreamControllerRespondInternal");function Br(c){return c._pendingPullIntos.shift()}g(Br,"ReadableByteStreamControllerShiftPendingPullInto");function zy(c){let l=c._controlledReadableByteStream;return l._state!=="readable"||c._closeRequested||!c._started?!1:!!(ae(l)&&se(l)>0||fa(l)&&$d(l)>0||Ud(c)>0)}g(zy,"ReadableByteStreamControllerShouldCallPull");function Fs(c){c._pullAlgorithm=void 0,c._cancelAlgorithm=void 0}g(Fs,"ReadableByteStreamControllerClearAlgorithms");function go(c){let l=c._controlledReadableByteStream;if(!(c._closeRequested||l._state!=="readable")){if(c._queueTotalSize>0){c._closeRequested=!0;return}if(c._pendingPullIntos.length>0){let y=c._pendingPullIntos.peek();if(y.bytesFilled%y.elementSize!==0){let E=new TypeError("Insufficient bytes to fill elements in the given buffer");throw kt(c,E),E}}Fs(c),Eo(l)}}g(go,"ReadableByteStreamControllerClose");function Ns(c,l){let y=c._controlledReadableByteStream;if(c._closeRequested||y._state!=="readable")return;let{buffer:E,byteOffset:I,byteLength:L}=l;if(rr(E))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let H=Rn(E);if(c._pendingPullIntos.length>0){let re=c._pendingPullIntos.peek();if(rr(re.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");ca(c),re.buffer=Rn(re.buffer),re.readerType==="none"&&Pd(c,re)}if(ae(y))if(jy(c),se(y)===0)Is(c,H,I,L);else{c._pendingPullIntos.length>0&&Br(c);let re=new Uint8Array(H,I,L);G(y,re,!1)}else fa(y)?(Is(c,H,I,L),ua(c)):Is(c,H,I,L);sr(c)}g(Ns,"ReadableByteStreamControllerEnqueue");function kt(c,l){let y=c._controlledReadableByteStream;y._state==="readable"&&(xd(c),xn(c),Fs(c),ff(y,l))}g(kt,"ReadableByteStreamControllerError");function Bd(c,l){let y=c._queue.shift();c._queueTotalSize-=y.byteLength,Nd(c);let E=new Uint8Array(y.buffer,y.byteOffset,y.byteLength);l._chunkSteps(E)}g(Bd,"ReadableByteStreamControllerFillReadRequestFromQueue");function la(c){if(c._byobRequest===null&&c._pendingPullIntos.length>0){let l=c._pendingPullIntos.peek(),y=new Uint8Array(l.buffer,l.byteOffset+l.bytesFilled,l.byteLength-l.bytesFilled),E=Object.create(Mr.prototype);Wy(E,c,y),c._byobRequest=E}return c._byobRequest}g(la,"ReadableByteStreamControllerGetBYOBRequest");function Ud(c){let l=c._controlledReadableByteStream._state;return l==="errored"?null:l==="closed"?0:c._strategyHWM-c._queueTotalSize}g(Ud,"ReadableByteStreamControllerGetDesiredSize");function Ms(c,l){let y=c._pendingPullIntos.peek();if(c._controlledReadableByteStream._state==="closed"){if(l!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(l===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(y.bytesFilled+l>y.byteLength)throw new RangeError("bytesWritten out of range")}y.buffer=Rn(y.buffer),Md(c,l)}g(Ms,"ReadableByteStreamControllerRespond");function Bs(c,l){let y=c._pendingPullIntos.peek();if(c._controlledReadableByteStream._state==="closed"){if(l.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(l.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(y.byteOffset+y.bytesFilled!==l.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(y.bufferByteLength!==l.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(y.bytesFilled+l.byteLength>y.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let E=l.byteLength;y.buffer=Rn(l.buffer),Md(c,E)}g(Bs,"ReadableByteStreamControllerRespondWithNewView");function jd(c,l,y,E,I,L,H){l._controlledReadableByteStream=c,l._pullAgain=!1,l._pulling=!1,l._byobRequest=null,l._queue=l._queueTotalSize=void 0,xn(l),l._closeRequested=!1,l._started=!1,l._strategyHWM=L,l._pullAlgorithm=E,l._cancelAlgorithm=I,l._autoAllocateChunkSize=H,l._pendingPullIntos=new $,c._readableStreamController=l;let re=y();C(h(re),()=>(l._started=!0,sr(l),null),le=>(kt(l,le),null))}g(jd,"SetUpReadableByteStreamController");function Hy(c,l,y){let E=Object.create(Dn.prototype),I,L,H;l.start!==void 0?I=g(()=>l.start(E),"startAlgorithm"):I=g(()=>{},"startAlgorithm"),l.pull!==void 0?L=g(()=>l.pull(E),"pullAlgorithm"):L=g(()=>h(void 0),"pullAlgorithm"),l.cancel!==void 0?H=g(le=>l.cancel(le),"cancelAlgorithm"):H=g(()=>h(void 0),"cancelAlgorithm");let re=l.autoAllocateChunkSize;if(re===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");jd(c,E,I,L,H,y,re)}g(Hy,"SetUpReadableByteStreamControllerFromUnderlyingSource");function Wy(c,l,y){c._associatedReadableByteStreamController=l,c._view=y}g(Wy,"SetUpReadableStreamBYOBRequest");function da(c){return new TypeError(`ReadableStreamBYOBRequest.prototype.${c} can only be used on a ReadableStreamBYOBRequest`)}g(da,"byobRequestBrandCheckException");function yo(c){return new TypeError(`ReadableByteStreamController.prototype.${c} can only be used on a ReadableByteStreamController`)}g(yo,"byteStreamControllerBrandCheckException");function Gy(c,l){ue(c,l);let y=c?.mode;return{mode:y===void 0?void 0:Jy(y,`${l} has member 'mode' that`)}}g(Gy,"convertReaderOptions");function Jy(c,l){if(c=`${c}`,c!=="byob")throw new TypeError(`${l} '${c}' is not a valid enumeration value for ReadableStreamReaderMode`);return c}g(Jy,"convertReadableStreamReaderMode");function Ky(c,l){var y;ue(c,l);let E=(y=c?.min)!==null&&y!==void 0?y:1;return{min:P(E,`${l} has member 'min' that`)}}g(Ky,"convertByobReadOptions");function Ld(c){return new ir(c)}g(Ld,"AcquireReadableStreamBYOBReader");function qd(c,l){c._reader._readIntoRequests.push(l)}g(qd,"ReadableStreamAddReadIntoRequest");function Vy(c,l,y){let E=c._reader._readIntoRequests.shift();y?E._closeSteps(l):E._chunkSteps(l)}g(Vy,"ReadableStreamFulfillReadIntoRequest");function $d(c){return c._reader._readIntoRequests.length}g($d,"ReadableStreamGetNumReadIntoRequests");function fa(c){let l=c._reader;return!(l===void 0||!ar(l))}g(fa,"ReadableStreamHasBYOBReader");let Yy=class{constructor(l){if(R(l,1,"ReadableStreamBYOBReader"),N(l,"First parameter"),Fn(l))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!or(l._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");xe(this,l),this._readIntoRequests=new $}get closed(){return ar(this)?this._closedPromise:p(Us("closed"))}cancel(l=void 0){return ar(this)?this._ownerReadableStream===void 0?p(He("cancel")):$e(this,l):p(Us("cancel"))}read(l,y={}){if(!ar(this))return p(Us("read"));if(!ArrayBuffer.isView(l))return p(new TypeError("view must be an array buffer view"));if(l.byteLength===0)return p(new TypeError("view must have non-zero byteLength"));if(l.buffer.byteLength===0)return p(new TypeError("view's buffer must have non-zero byteLength"));if(rr(l.buffer))return p(new TypeError("view's buffer has been detached"));let E;try{E=Ky(y,"options")}catch(le){return p(le)}let I=E.min;if(I===0)return p(new TypeError("options.min must be greater than 0"));if(Ny(l)){if(I>l.byteLength)return p(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(I>l.length)return p(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return p(He("read from"));let L,H,re=f((le,ge)=>{L=le,H=ge});return zd(this,l,I,{_chunkSteps:g(le=>L({value:le,done:!1}),"_chunkSteps"),_closeSteps:g(le=>L({value:le,done:!0}),"_closeSteps"),_errorSteps:g(le=>H(le),"_errorSteps")}),re}releaseLock(){if(!ar(this))throw Us("releaseLock");this._ownerReadableStream!==void 0&&Xy(this)}};g(Yy,"ReadableStreamBYOBReader");let ir=Yy;Object.defineProperties(ir.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),i(ir.prototype.cancel,"cancel"),i(ir.prototype.read,"read"),i(ir.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(ir.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});function ar(c){return!o(c)||!Object.prototype.hasOwnProperty.call(c,"_readIntoRequests")?!1:c instanceof ir}g(ar,"IsReadableStreamBYOBReader");function zd(c,l,y,E){let I=c._ownerReadableStream;I._disturbed=!0,I._state==="errored"?E._errorSteps(I._storedError):Ly(I._readableStreamController,l,y,E)}g(zd,"ReadableStreamBYOBReaderRead");function Xy(c){Re(c);let l=new TypeError("Reader was released");Hd(c,l)}g(Xy,"ReadableStreamBYOBReaderRelease");function Hd(c,l){let y=c._readIntoRequests;c._readIntoRequests=new $,y.forEach(E=>{E._errorSteps(l)})}g(Hd,"ReadableStreamBYOBReaderErrorReadIntoRequests");function Us(c){return new TypeError(`ReadableStreamBYOBReader.prototype.${c} can only be used on a ReadableStreamBYOBReader`)}g(Us,"byobReaderBrandCheckException");function _o(c,l){let{highWaterMark:y}=c;if(y===void 0)return l;if(Ry(y)||y<0)throw new RangeError("Invalid highWaterMark");return y}g(_o,"ExtractHighWaterMark");function js(c){let{size:l}=c;return l||(()=>1)}g(js,"ExtractSizeAlgorithm");function Ls(c,l){ue(c,l);let y=c?.highWaterMark,E=c?.size;return{highWaterMark:y===void 0?void 0:D(y),size:E===void 0?void 0:Qy(E,`${l} has member 'size' that`)}}g(Ls,"convertQueuingStrategy");function Qy(c,l){return fe(c,l),y=>D(c(y))}g(Qy,"convertQueuingStrategySize");function Zy(c,l){ue(c,l);let y=c?.abort,E=c?.close,I=c?.start,L=c?.type,H=c?.write;return{abort:y===void 0?void 0:e_(y,c,`${l} has member 'abort' that`),close:E===void 0?void 0:t_(E,c,`${l} has member 'close' that`),start:I===void 0?void 0:n_(I,c,`${l} has member 'start' that`),write:H===void 0?void 0:r_(H,c,`${l} has member 'write' that`),type:L}}g(Zy,"convertUnderlyingSink");function e_(c,l,y){return fe(c,y),E=>x(c,l,[E])}g(e_,"convertUnderlyingSinkAbortCallback");function t_(c,l,y){return fe(c,y),()=>x(c,l,[])}g(t_,"convertUnderlyingSinkCloseCallback");function n_(c,l,y){return fe(c,y),E=>T(c,l,[E])}g(n_,"convertUnderlyingSinkStartCallback");function r_(c,l,y){return fe(c,y),(E,I)=>x(c,l,[E,I])}g(r_,"convertUnderlyingSinkWriteCallback");function Wd(c,l){if(!Ur(c))throw new TypeError(`${l} is not a WritableStream.`)}g(Wd,"assertWritableStream");function o_(c){if(typeof c!="object"||c===null)return!1;try{return typeof c.aborted=="boolean"}catch{return!1}}g(o_,"isAbortSignal");let GT=typeof AbortController=="function";function s_(){if(GT)return new AbortController}g(s_,"createAbortController");let i_=class{constructor(l={},y={}){l===void 0?l=null:v(l,"First parameter");let E=Ls(y,"Second parameter"),I=Zy(l,"First parameter");if(Jd(this),I.type!==void 0)throw new RangeError("Invalid type is specified");let L=js(E),H=_o(E,1);S_(this,I,H,L)}get locked(){if(!Ur(this))throw Ws("locked");return jr(this)}abort(l=void 0){return Ur(this)?jr(this)?p(new TypeError("Cannot abort a stream that already has a writer")):qs(this,l):p(Ws("abort"))}close(){return Ur(this)?jr(this)?p(new TypeError("Cannot close a stream that already has a writer")):$t(this)?p(new TypeError("Cannot close an already-closing stream")):Kd(this):p(Ws("close"))}getWriter(){if(!Ur(this))throw Ws("getWriter");return Gd(this)}};g(i_,"WritableStream");let cr=i_;Object.defineProperties(cr.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),i(cr.prototype.abort,"abort"),i(cr.prototype.close,"close"),i(cr.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(cr.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});function Gd(c){return new On(c)}g(Gd,"AcquireWritableStreamDefaultWriter");function a_(c,l,y,E,I=1,L=()=>1){let H=Object.create(cr.prototype);Jd(H);let re=Object.create(bo.prototype);return Zd(H,re,c,l,y,E,I,L),H}g(a_,"CreateWritableStream");function Jd(c){c._state="writable",c._storedError=void 0,c._writer=void 0,c._writableStreamController=void 0,c._writeRequests=new $,c._inFlightWriteRequest=void 0,c._closeRequest=void 0,c._inFlightCloseRequest=void 0,c._pendingAbortRequest=void 0,c._backpressure=!1}g(Jd,"InitializeWritableStream");function Ur(c){return!o(c)||!Object.prototype.hasOwnProperty.call(c,"_writableStreamController")?!1:c instanceof cr}g(Ur,"IsWritableStream");function jr(c){return c._writer!==void 0}g(jr,"IsWritableStreamLocked");function qs(c,l){var y;if(c._state==="closed"||c._state==="errored")return h(void 0);c._writableStreamController._abortReason=l,(y=c._writableStreamController._abortController)===null||y===void 0||y.abort(l);let E=c._state;if(E==="closed"||E==="errored")return h(void 0);if(c._pendingAbortRequest!==void 0)return c._pendingAbortRequest._promise;let I=!1;E==="erroring"&&(I=!0,l=void 0);let L=f((H,re)=>{c._pendingAbortRequest={_promise:void 0,_resolve:H,_reject:re,_reason:l,_wasAlreadyErroring:I}});return c._pendingAbortRequest._promise=L,I||ha(c,l),L}g(qs,"WritableStreamAbort");function Kd(c){let l=c._state;if(l==="closed"||l==="errored")return p(new TypeError(`The stream (in ${l} state) is not in the writable state and cannot be closed`));let y=f((I,L)=>{let H={_resolve:I,_reject:L};c._closeRequest=H}),E=c._writer;return E!==void 0&&c._backpressure&&l==="writable"&&ka(E),E_(c._writableStreamController),y}g(Kd,"WritableStreamClose");function c_(c){return f((l,y)=>{let E={_resolve:l,_reject:y};c._writeRequests.push(E)})}g(c_,"WritableStreamAddWriteRequest");function pa(c,l){if(c._state==="writable"){ha(c,l);return}ma(c)}g(pa,"WritableStreamDealWithRejection");function ha(c,l){let y=c._writableStreamController;c._state="erroring",c._storedError=l;let E=c._writer;E!==void 0&&Yd(E,l),!p_(c)&&y._started&&ma(c)}g(ha,"WritableStreamStartErroring");function ma(c){c._state="errored",c._writableStreamController[ce]();let l=c._storedError;if(c._writeRequests.forEach(I=>{I._reject(l)}),c._writeRequests=new $,c._pendingAbortRequest===void 0){$s(c);return}let y=c._pendingAbortRequest;if(c._pendingAbortRequest=void 0,y._wasAlreadyErroring){y._reject(l),$s(c);return}let E=c._writableStreamController[z](y._reason);C(E,()=>(y._resolve(),$s(c),null),I=>(y._reject(I),$s(c),null))}g(ma,"WritableStreamFinishErroring");function u_(c){c._inFlightWriteRequest._resolve(void 0),c._inFlightWriteRequest=void 0}g(u_,"WritableStreamFinishInFlightWrite");function l_(c,l){c._inFlightWriteRequest._reject(l),c._inFlightWriteRequest=void 0,pa(c,l)}g(l_,"WritableStreamFinishInFlightWriteWithError");function d_(c){c._inFlightCloseRequest._resolve(void 0),c._inFlightCloseRequest=void 0,c._state==="erroring"&&(c._storedError=void 0,c._pendingAbortRequest!==void 0&&(c._pendingAbortRequest._resolve(),c._pendingAbortRequest=void 0)),c._state="closed";let l=c._writer;l!==void 0&&rf(l)}g(d_,"WritableStreamFinishInFlightClose");function f_(c,l){c._inFlightCloseRequest._reject(l),c._inFlightCloseRequest=void 0,c._pendingAbortRequest!==void 0&&(c._pendingAbortRequest._reject(l),c._pendingAbortRequest=void 0),pa(c,l)}g(f_,"WritableStreamFinishInFlightCloseWithError");function $t(c){return!(c._closeRequest===void 0&&c._inFlightCloseRequest===void 0)}g($t,"WritableStreamCloseQueuedOrInFlight");function p_(c){return!(c._inFlightWriteRequest===void 0&&c._inFlightCloseRequest===void 0)}g(p_,"WritableStreamHasOperationMarkedInFlight");function h_(c){c._inFlightCloseRequest=c._closeRequest,c._closeRequest=void 0}g(h_,"WritableStreamMarkCloseRequestInFlight");function m_(c){c._inFlightWriteRequest=c._writeRequests.shift()}g(m_,"WritableStreamMarkFirstWriteRequestInFlight");function $s(c){c._closeRequest!==void 0&&(c._closeRequest._reject(c._storedError),c._closeRequest=void 0);let l=c._writer;l!==void 0&&Ca(l,c._storedError)}g($s,"WritableStreamRejectCloseAndClosedPromiseIfNeeded");function ga(c,l){let y=c._writer;y!==void 0&&l!==c._backpressure&&(l?O_(y):ka(y)),c._backpressure=l}g(ga,"WritableStreamUpdateBackpressure");let g_=class{constructor(l){if(R(l,1,"WritableStreamDefaultWriter"),Wd(l,"First parameter"),jr(l))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=l,l._writer=this;let y=l._state;if(y==="writable")!$t(l)&&l._backpressure?Js(this):of(this),Gs(this);else if(y==="erroring")wa(this,l._storedError),Gs(this);else if(y==="closed")of(this),x_(this);else{let E=l._storedError;wa(this,E),nf(this,E)}}get closed(){return ur(this)?this._closedPromise:p(lr("closed"))}get desiredSize(){if(!ur(this))throw lr("desiredSize");if(this._ownerWritableStream===void 0)throw wo("desiredSize");return C_(this)}get ready(){return ur(this)?this._readyPromise:p(lr("ready"))}abort(l=void 0){return ur(this)?this._ownerWritableStream===void 0?p(wo("abort")):y_(this,l):p(lr("abort"))}close(){if(!ur(this))return p(lr("close"));let l=this._ownerWritableStream;return l===void 0?p(wo("close")):$t(l)?p(new TypeError("Cannot close an already-closing stream")):Vd(this)}releaseLock(){if(!ur(this))throw lr("releaseLock");this._ownerWritableStream!==void 0&&Xd(this)}write(l=void 0){return ur(this)?this._ownerWritableStream===void 0?p(wo("write to")):Qd(this,l):p(lr("write"))}};g(g_,"WritableStreamDefaultWriter");let On=g_;Object.defineProperties(On.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),i(On.prototype.abort,"abort"),i(On.prototype.close,"close"),i(On.prototype.releaseLock,"releaseLock"),i(On.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(On.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});function ur(c){return!o(c)||!Object.prototype.hasOwnProperty.call(c,"_ownerWritableStream")?!1:c instanceof On}g(ur,"IsWritableStreamDefaultWriter");function y_(c,l){let y=c._ownerWritableStream;return qs(y,l)}g(y_,"WritableStreamDefaultWriterAbort");function Vd(c){let l=c._ownerWritableStream;return Kd(l)}g(Vd,"WritableStreamDefaultWriterClose");function __(c){let l=c._ownerWritableStream,y=l._state;return $t(l)||y==="closed"?h(void 0):y==="errored"?p(l._storedError):Vd(c)}g(__,"WritableStreamDefaultWriterCloseWithErrorPropagation");function b_(c,l){c._closedPromiseState==="pending"?Ca(c,l):D_(c,l)}g(b_,"WritableStreamDefaultWriterEnsureClosedPromiseRejected");function Yd(c,l){c._readyPromiseState==="pending"?sf(c,l):P_(c,l)}g(Yd,"WritableStreamDefaultWriterEnsureReadyPromiseRejected");function C_(c){let l=c._ownerWritableStream,y=l._state;return y==="errored"||y==="erroring"?null:y==="closed"?0:ef(l._writableStreamController)}g(C_,"WritableStreamDefaultWriterGetDesiredSize");function Xd(c){let l=c._ownerWritableStream,y=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");Yd(c,y),b_(c,y),l._writer=void 0,c._ownerWritableStream=void 0}g(Xd,"WritableStreamDefaultWriterRelease");function Qd(c,l){let y=c._ownerWritableStream,E=y._writableStreamController,I=A_(E,l);if(y!==c._ownerWritableStream)return p(wo("write to"));let L=y._state;if(L==="errored")return p(y._storedError);if($t(y)||L==="closed")return p(new TypeError("The stream is closing or closed and cannot be written to"));if(L==="erroring")return p(y._storedError);let H=c_(y);return v_(E,l,I),H}g(Qd,"WritableStreamDefaultWriterWrite");let w_={},k_=class{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!ya(this))throw ba("abortReason");return this._abortReason}get signal(){if(!ya(this))throw ba("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(l=void 0){if(!ya(this))throw ba("error");this._controlledWritableStream._state==="writable"&&tf(this,l)}[z](l){let y=this._abortAlgorithm(l);return zs(this),y}[ce](){xn(this)}};g(k_,"WritableStreamDefaultController");let bo=k_;Object.defineProperties(bo.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(bo.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});function ya(c){return!o(c)||!Object.prototype.hasOwnProperty.call(c,"_controlledWritableStream")?!1:c instanceof bo}g(ya,"IsWritableStreamDefaultController");function Zd(c,l,y,E,I,L,H,re){l._controlledWritableStream=c,c._writableStreamController=l,l._queue=void 0,l._queueTotalSize=void 0,xn(l),l._abortReason=void 0,l._abortController=s_(),l._started=!1,l._strategySizeAlgorithm=re,l._strategyHWM=H,l._writeAlgorithm=E,l._closeAlgorithm=I,l._abortAlgorithm=L;let le=_a(l);ga(c,le);let ge=y(),ke=h(ge);C(ke,()=>(l._started=!0,Hs(l),null),Se=>(l._started=!0,pa(c,Se),null))}g(Zd,"SetUpWritableStreamDefaultController");function S_(c,l,y,E){let I=Object.create(bo.prototype),L,H,re,le;l.start!==void 0?L=g(()=>l.start(I),"startAlgorithm"):L=g(()=>{},"startAlgorithm"),l.write!==void 0?H=g(ge=>l.write(ge,I),"writeAlgorithm"):H=g(()=>h(void 0),"writeAlgorithm"),l.close!==void 0?re=g(()=>l.close(),"closeAlgorithm"):re=g(()=>h(void 0),"closeAlgorithm"),l.abort!==void 0?le=g(ge=>l.abort(ge),"abortAlgorithm"):le=g(()=>h(void 0),"abortAlgorithm"),Zd(c,I,L,H,re,le,y,E)}g(S_,"SetUpWritableStreamDefaultControllerFromUnderlyingSink");function zs(c){c._writeAlgorithm=void 0,c._closeAlgorithm=void 0,c._abortAlgorithm=void 0,c._strategySizeAlgorithm=void 0}g(zs,"WritableStreamDefaultControllerClearAlgorithms");function E_(c){sa(c,w_,0),Hs(c)}g(E_,"WritableStreamDefaultControllerClose");function A_(c,l){try{return c._strategySizeAlgorithm(l)}catch(y){return Co(c,y),1}}g(A_,"WritableStreamDefaultControllerGetChunkSize");function ef(c){return c._strategyHWM-c._queueTotalSize}g(ef,"WritableStreamDefaultControllerGetDesiredSize");function v_(c,l,y){try{sa(c,l,y)}catch(I){Co(c,I);return}let E=c._controlledWritableStream;if(!$t(E)&&E._state==="writable"){let I=_a(c);ga(E,I)}Hs(c)}g(v_,"WritableStreamDefaultControllerWrite");function Hs(c){let l=c._controlledWritableStream;if(!c._started||l._inFlightWriteRequest!==void 0)return;if(l._state==="erroring"){ma(l);return}if(c._queue.length===0)return;let y=Fy(c);y===w_?T_(c):R_(c,y)}g(Hs,"WritableStreamDefaultControllerAdvanceQueueIfNeeded");function Co(c,l){c._controlledWritableStream._state==="writable"&&tf(c,l)}g(Co,"WritableStreamDefaultControllerErrorIfNeeded");function T_(c){let l=c._controlledWritableStream;h_(l),oa(c);let y=c._closeAlgorithm();zs(c),C(y,()=>(d_(l),null),E=>(f_(l,E),null))}g(T_,"WritableStreamDefaultControllerProcessClose");function R_(c,l){let y=c._controlledWritableStream;m_(y);let E=c._writeAlgorithm(l);C(E,()=>{u_(y);let I=y._state;if(oa(c),!$t(y)&&I==="writable"){let L=_a(c);ga(y,L)}return Hs(c),null},I=>(y._state==="writable"&&zs(c),l_(y,I),null))}g(R_,"WritableStreamDefaultControllerProcessWrite");function _a(c){return ef(c)<=0}g(_a,"WritableStreamDefaultControllerGetBackpressure");function tf(c,l){let y=c._controlledWritableStream;zs(c),ha(y,l)}g(tf,"WritableStreamDefaultControllerError");function Ws(c){return new TypeError(`WritableStream.prototype.${c} can only be used on a WritableStream`)}g(Ws,"streamBrandCheckException$2");function ba(c){return new TypeError(`WritableStreamDefaultController.prototype.${c} can only be used on a WritableStreamDefaultController`)}g(ba,"defaultControllerBrandCheckException$2");function lr(c){return new TypeError(`WritableStreamDefaultWriter.prototype.${c} can only be used on a WritableStreamDefaultWriter`)}g(lr,"defaultWriterBrandCheckException");function wo(c){return new TypeError("Cannot "+c+" a stream using a released writer")}g(wo,"defaultWriterLockException");function Gs(c){c._closedPromise=f((l,y)=>{c._closedPromise_resolve=l,c._closedPromise_reject=y,c._closedPromiseState="pending"})}g(Gs,"defaultWriterClosedPromiseInitialize");function nf(c,l){Gs(c),Ca(c,l)}g(nf,"defaultWriterClosedPromiseInitializeAsRejected");function x_(c){Gs(c),rf(c)}g(x_,"defaultWriterClosedPromiseInitializeAsResolved");function Ca(c,l){c._closedPromise_reject!==void 0&&(A(c._closedPromise),c._closedPromise_reject(l),c._closedPromise_resolve=void 0,c._closedPromise_reject=void 0,c._closedPromiseState="rejected")}g(Ca,"defaultWriterClosedPromiseReject");function D_(c,l){nf(c,l)}g(D_,"defaultWriterClosedPromiseResetToRejected");function rf(c){c._closedPromise_resolve!==void 0&&(c._closedPromise_resolve(void 0),c._closedPromise_resolve=void 0,c._closedPromise_reject=void 0,c._closedPromiseState="resolved")}g(rf,"defaultWriterClosedPromiseResolve");function Js(c){c._readyPromise=f((l,y)=>{c._readyPromise_resolve=l,c._readyPromise_reject=y}),c._readyPromiseState="pending"}g(Js,"defaultWriterReadyPromiseInitialize");function wa(c,l){Js(c),sf(c,l)}g(wa,"defaultWriterReadyPromiseInitializeAsRejected");function of(c){Js(c),ka(c)}g(of,"defaultWriterReadyPromiseInitializeAsResolved");function sf(c,l){c._readyPromise_reject!==void 0&&(A(c._readyPromise),c._readyPromise_reject(l),c._readyPromise_resolve=void 0,c._readyPromise_reject=void 0,c._readyPromiseState="rejected")}g(sf,"defaultWriterReadyPromiseReject");function O_(c){Js(c)}g(O_,"defaultWriterReadyPromiseReset");function P_(c,l){wa(c,l)}g(P_,"defaultWriterReadyPromiseResetToRejected");function ka(c){c._readyPromise_resolve!==void 0&&(c._readyPromise_resolve(void 0),c._readyPromise_resolve=void 0,c._readyPromise_reject=void 0,c._readyPromiseState="fulfilled")}g(ka,"defaultWriterReadyPromiseResolve");function I_(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof $p<"u")return $p}g(I_,"getGlobals");let JT=I_();function F_(c){if(!(typeof c=="function"||typeof c=="object")||c.name!=="DOMException")return!1;try{return new c,!0}catch{return!1}}g(F_,"isDOMExceptionConstructor");function N_(){let c=JT?.DOMException;return F_(c)?c:void 0}g(N_,"getFromGlobal");function M_(){let c=g(function(l,y){this.message=l||"",this.name=y||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)},"DOMException");return i(c,"DOMException"),c.prototype=Object.create(Error.prototype),Object.defineProperty(c.prototype,"constructor",{value:c,writable:!0,configurable:!0}),c}g(M_,"createPolyfill");let KT=N_()||M_();function af(c,l,y,E,I,L){let H=U(c),re=Gd(l);c._disturbed=!0;let le=!1,ge=h(void 0);return f((ke,Se)=>{let Fe;if(L!==void 0){if(Fe=g(()=>{let pe=L.reason!==void 0?L.reason:new KT("Aborted","AbortError"),Te=[];E||Te.push(()=>l._state==="writable"?qs(l,pe):h(void 0)),I||Te.push(()=>c._state==="readable"?Ot(c,pe):h(void 0)),lt(()=>Promise.all(Te.map(Ie=>Ie())),!0,pe)},"abortAlgorithm"),L.aborted){Fe();return}L.addEventListener("abort",Fe)}function ht(){return f((pe,Te)=>{function Ie(dt){dt?pe():b(Nn(),Ie,Te)}g(Ie,"next"),Ie(!1)})}g(ht,"pipeLoop");function Nn(){return le?h(!0):b(re._readyPromise,()=>f((pe,Te)=>{_e(H,{_chunkSteps:g(Ie=>{ge=b(Qd(re,Ie),void 0,r),pe(!1)},"_chunkSteps"),_closeSteps:g(()=>pe(!0),"_closeSteps"),_errorSteps:Te})}))}if(g(Nn,"pipeStep"),Pt(c,H._closedPromise,pe=>(E?mt(!0,pe):lt(()=>qs(l,pe),!0,pe),null)),Pt(l,re._closedPromise,pe=>(I?mt(!0,pe):lt(()=>Ot(c,pe),!0,pe),null)),Ze(c,H._closedPromise,()=>(y?mt():lt(()=>__(re)),null)),$t(l)||l._state==="closed"){let pe=new TypeError("the destination writable stream closed before all data could be piped to it");I?mt(!0,pe):lt(()=>Ot(c,pe),!0,pe)}A(ht());function zt(){let pe=ge;return b(ge,()=>pe!==ge?zt():void 0)}g(zt,"waitForWritesToFinish");function Pt(pe,Te,Ie){pe._state==="errored"?Ie(pe._storedError):w(Te,Ie)}g(Pt,"isOrBecomesErrored");function Ze(pe,Te,Ie){pe._state==="closed"?Ie():m(Te,Ie)}g(Ze,"isOrBecomesClosed");function lt(pe,Te,Ie){if(le)return;le=!0,l._state==="writable"&&!$t(l)?m(zt(),dt):dt();function dt(){return C(pe(),()=>Mn(Te,Ie),hr=>Mn(!0,hr)),null}g(dt,"doTheRest")}g(lt,"shutdownWithAction");function mt(pe,Te){le||(le=!0,l._state==="writable"&&!$t(l)?m(zt(),()=>Mn(pe,Te)):Mn(pe,Te))}g(mt,"shutdown");function Mn(pe,Te){return Xd(re),Re(H),L!==void 0&&L.removeEventListener("abort",Fe),pe?Se(Te):ke(void 0),null}g(Mn,"finalize")})}g(af,"ReadableStreamPipeTo");let B_=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Ks(this))throw Ys("desiredSize");return Sa(this)}close(){if(!Ks(this))throw Ys("close");if(!qr(this))throw new TypeError("The stream is not in a state that permits close");dr(this)}enqueue(l=void 0){if(!Ks(this))throw Ys("enqueue");if(!qr(this))throw new TypeError("The stream is not in a state that permits enqueue");return Lr(this,l)}error(l=void 0){if(!Ks(this))throw Ys("error");Dt(this,l)}[X](l){xn(this);let y=this._cancelAlgorithm(l);return Vs(this),y}[ee](l){let y=this._controlledReadableStream;if(this._queue.length>0){let E=oa(this);this._closeRequested&&this._queue.length===0?(Vs(this),Eo(y)):ko(this),l._chunkSteps(E)}else B(y,l),ko(this)}[Z](){}};g(B_,"ReadableStreamDefaultController");let Pn=B_;Object.defineProperties(Pn.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),i(Pn.prototype.close,"close"),i(Pn.prototype.enqueue,"enqueue"),i(Pn.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Pn.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});function Ks(c){return!o(c)||!Object.prototype.hasOwnProperty.call(c,"_controlledReadableStream")?!1:c instanceof Pn}g(Ks,"IsReadableStreamDefaultController");function ko(c){if(!cf(c))return;if(c._pulling){c._pullAgain=!0;return}c._pulling=!0;let l=c._pullAlgorithm();C(l,()=>(c._pulling=!1,c._pullAgain&&(c._pullAgain=!1,ko(c)),null),y=>(Dt(c,y),null))}g(ko,"ReadableStreamDefaultControllerCallPullIfNeeded");function cf(c){let l=c._controlledReadableStream;return!qr(c)||!c._started?!1:!!(Fn(l)&&se(l)>0||Sa(c)>0)}g(cf,"ReadableStreamDefaultControllerShouldCallPull");function Vs(c){c._pullAlgorithm=void 0,c._cancelAlgorithm=void 0,c._strategySizeAlgorithm=void 0}g(Vs,"ReadableStreamDefaultControllerClearAlgorithms");function dr(c){if(!qr(c))return;let l=c._controlledReadableStream;c._closeRequested=!0,c._queue.length===0&&(Vs(c),Eo(l))}g(dr,"ReadableStreamDefaultControllerClose");function Lr(c,l){if(!qr(c))return;let y=c._controlledReadableStream;if(Fn(y)&&se(y)>0)G(y,l,!1);else{let E;try{E=c._strategySizeAlgorithm(l)}catch(I){throw Dt(c,I),I}try{sa(c,l,E)}catch(I){throw Dt(c,I),I}}ko(c)}g(Lr,"ReadableStreamDefaultControllerEnqueue");function Dt(c,l){let y=c._controlledReadableStream;y._state==="readable"&&(xn(c),Vs(c),ff(y,l))}g(Dt,"ReadableStreamDefaultControllerError");function Sa(c){let l=c._controlledReadableStream._state;return l==="errored"?null:l==="closed"?0:c._strategyHWM-c._queueTotalSize}g(Sa,"ReadableStreamDefaultControllerGetDesiredSize");function U_(c){return!cf(c)}g(U_,"ReadableStreamDefaultControllerHasBackpressure");function qr(c){let l=c._controlledReadableStream._state;return!c._closeRequested&&l==="readable"}g(qr,"ReadableStreamDefaultControllerCanCloseOrEnqueue");function uf(c,l,y,E,I,L,H){l._controlledReadableStream=c,l._queue=void 0,l._queueTotalSize=void 0,xn(l),l._started=!1,l._closeRequested=!1,l._pullAgain=!1,l._pulling=!1,l._strategySizeAlgorithm=H,l._strategyHWM=L,l._pullAlgorithm=E,l._cancelAlgorithm=I,c._readableStreamController=l;let re=y();C(h(re),()=>(l._started=!0,ko(l),null),le=>(Dt(l,le),null))}g(uf,"SetUpReadableStreamDefaultController");function j_(c,l,y,E){let I=Object.create(Pn.prototype),L,H,re;l.start!==void 0?L=g(()=>l.start(I),"startAlgorithm"):L=g(()=>{},"startAlgorithm"),l.pull!==void 0?H=g(()=>l.pull(I),"pullAlgorithm"):H=g(()=>h(void 0),"pullAlgorithm"),l.cancel!==void 0?re=g(le=>l.cancel(le),"cancelAlgorithm"):re=g(()=>h(void 0),"cancelAlgorithm"),uf(c,I,L,H,re,y,E)}g(j_,"SetUpReadableStreamDefaultControllerFromUnderlyingSource");function Ys(c){return new TypeError(`ReadableStreamDefaultController.prototype.${c} can only be used on a ReadableStreamDefaultController`)}g(Ys,"defaultControllerBrandCheckException$1");function L_(c,l){return or(c._readableStreamController)?$_(c):q_(c)}g(L_,"ReadableStreamTee");function q_(c,l){let y=U(c),E=!1,I=!1,L=!1,H=!1,re,le,ge,ke,Se,Fe=f(Ze=>{Se=Ze});function ht(){return E?(I=!0,h(void 0)):(E=!0,_e(y,{_chunkSteps:g(Ze=>{S(()=>{I=!1;let lt=Ze,mt=Ze;L||Lr(ge._readableStreamController,lt),H||Lr(ke._readableStreamController,mt),E=!1,I&&ht()})},"_chunkSteps"),_closeSteps:g(()=>{E=!1,L||dr(ge._readableStreamController),H||dr(ke._readableStreamController),(!L||!H)&&Se(void 0)},"_closeSteps"),_errorSteps:g(()=>{E=!1},"_errorSteps")}),h(void 0))}g(ht,"pullAlgorithm");function Nn(Ze){if(L=!0,re=Ze,H){let lt=mo([re,le]),mt=Ot(c,lt);Se(mt)}return Fe}g(Nn,"cancel1Algorithm");function zt(Ze){if(H=!0,le=Ze,L){let lt=mo([re,le]),mt=Ot(c,lt);Se(mt)}return Fe}g(zt,"cancel2Algorithm");function Pt(){}return g(Pt,"startAlgorithm"),ge=So(Pt,ht,Nn),ke=So(Pt,ht,zt),w(y._closedPromise,Ze=>(Dt(ge._readableStreamController,Ze),Dt(ke._readableStreamController,Ze),(!L||!H)&&Se(void 0),null)),[ge,ke]}g(q_,"ReadableStreamDefaultTee");function $_(c){let l=U(c),y=!1,E=!1,I=!1,L=!1,H=!1,re,le,ge,ke,Se,Fe=f(pe=>{Se=pe});function ht(pe){w(pe._closedPromise,Te=>(pe!==l||(kt(ge._readableStreamController,Te),kt(ke._readableStreamController,Te),(!L||!H)&&Se(void 0)),null))}g(ht,"forwardReaderError");function Nn(){ar(l)&&(Re(l),l=U(c),ht(l)),_e(l,{_chunkSteps:g(pe=>{S(()=>{E=!1,I=!1;let Te=pe,Ie=pe;if(!L&&!H)try{Ie=Td(pe)}catch(dt){kt(ge._readableStreamController,dt),kt(ke._readableStreamController,dt),Se(Ot(c,dt));return}L||Ns(ge._readableStreamController,Te),H||Ns(ke._readableStreamController,Ie),y=!1,E?Pt():I&&Ze()})},"_chunkSteps"),_closeSteps:g(()=>{y=!1,L||go(ge._readableStreamController),H||go(ke._readableStreamController),ge._readableStreamController._pendingPullIntos.length>0&&Ms(ge._readableStreamController,0),ke._readableStreamController._pendingPullIntos.length>0&&Ms(ke._readableStreamController,0),(!L||!H)&&Se(void 0)},"_closeSteps"),_errorSteps:g(()=>{y=!1},"_errorSteps")})}g(Nn,"pullWithDefaultReader");function zt(pe,Te){me(l)&&(Re(l),l=Ld(c),ht(l));let Ie=Te?ke:ge,dt=Te?ge:ke;zd(l,pe,1,{_chunkSteps:g(hr=>{S(()=>{E=!1,I=!1;let Ao=Te?H:L;if(Te?L:H)Ao||Bs(Ie._readableStreamController,hr);else{let vo;try{vo=Td(hr)}catch(Sf){kt(Ie._readableStreamController,Sf),kt(dt._readableStreamController,Sf),Se(Ot(c,Sf));return}Ao||Bs(Ie._readableStreamController,hr),Ns(dt._readableStreamController,vo)}y=!1,E?Pt():I&&Ze()})},"_chunkSteps"),_closeSteps:g(hr=>{y=!1;let Ao=Te?H:L,vo=Te?L:H;Ao||go(Ie._readableStreamController),vo||go(dt._readableStreamController),hr!==void 0&&(Ao||Bs(Ie._readableStreamController,hr),!vo&&dt._readableStreamController._pendingPullIntos.length>0&&Ms(dt._readableStreamController,0)),(!Ao||!vo)&&Se(void 0)},"_closeSteps"),_errorSteps:g(()=>{y=!1},"_errorSteps")})}g(zt,"pullWithBYOBReader");function Pt(){if(y)return E=!0,h(void 0);y=!0;let pe=la(ge._readableStreamController);return pe===null?Nn():zt(pe._view,!1),h(void 0)}g(Pt,"pull1Algorithm");function Ze(){if(y)return I=!0,h(void 0);y=!0;let pe=la(ke._readableStreamController);return pe===null?Nn():zt(pe._view,!0),h(void 0)}g(Ze,"pull2Algorithm");function lt(pe){if(L=!0,re=pe,H){let Te=mo([re,le]),Ie=Ot(c,Te);Se(Ie)}return Fe}g(lt,"cancel1Algorithm");function mt(pe){if(H=!0,le=pe,L){let Te=mo([re,le]),Ie=Ot(c,Te);Se(Ie)}return Fe}g(mt,"cancel2Algorithm");function Mn(){}return g(Mn,"startAlgorithm"),ge=df(Mn,Pt,lt),ke=df(Mn,Ze,mt),ht(l),[ge,ke]}g($_,"ReadableByteStreamTee");function z_(c){return o(c)&&typeof c.getReader<"u"}g(z_,"isReadableStreamLike");function H_(c){return z_(c)?G_(c.getReader()):W_(c)}g(H_,"ReadableStreamFrom");function W_(c){let l,y=vd(c,"async"),E=r;function I(){let H;try{H=Dy(y)}catch(le){return p(le)}let re=h(H);return _(re,le=>{if(!o(le))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(Oy(le))dr(l._readableStreamController);else{let ge=Py(le);Lr(l._readableStreamController,ge)}})}g(I,"pullAlgorithm");function L(H){let re=y.iterator,le;try{le=Ps(re,"return")}catch(Se){return p(Se)}if(le===void 0)return h(void 0);let ge;try{ge=T(le,re,[H])}catch(Se){return p(Se)}let ke=h(ge);return _(ke,Se=>{if(!o(Se))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return g(L,"cancelAlgorithm"),l=So(E,I,L,0),l}g(W_,"ReadableStreamFromIterable");function G_(c){let l,y=r;function E(){let L;try{L=c.read()}catch(H){return p(H)}return _(L,H=>{if(!o(H))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(H.done)dr(l._readableStreamController);else{let re=H.value;Lr(l._readableStreamController,re)}})}g(E,"pullAlgorithm");function I(L){try{return h(c.cancel(L))}catch(H){return p(H)}}return g(I,"cancelAlgorithm"),l=So(y,E,I,0),l}g(G_,"ReadableStreamFromDefaultReader");function J_(c,l){ue(c,l);let y=c,E=y?.autoAllocateChunkSize,I=y?.cancel,L=y?.pull,H=y?.start,re=y?.type;return{autoAllocateChunkSize:E===void 0?void 0:P(E,`${l} has member 'autoAllocateChunkSize' that`),cancel:I===void 0?void 0:K_(I,y,`${l} has member 'cancel' that`),pull:L===void 0?void 0:V_(L,y,`${l} has member 'pull' that`),start:H===void 0?void 0:Y_(H,y,`${l} has member 'start' that`),type:re===void 0?void 0:X_(re,`${l} has member 'type' that`)}}g(J_,"convertUnderlyingDefaultOrByteSource");function K_(c,l,y){return fe(c,y),E=>x(c,l,[E])}g(K_,"convertUnderlyingSourceCancelCallback");function V_(c,l,y){return fe(c,y),E=>x(c,l,[E])}g(V_,"convertUnderlyingSourcePullCallback");function Y_(c,l,y){return fe(c,y),E=>T(c,l,[E])}g(Y_,"convertUnderlyingSourceStartCallback");function X_(c,l){if(c=`${c}`,c!=="bytes")throw new TypeError(`${l} '${c}' is not a valid enumeration value for ReadableStreamType`);return c}g(X_,"convertReadableStreamType");function Q_(c,l){return ue(c,l),{preventCancel:!!c?.preventCancel}}g(Q_,"convertIteratorOptions");function lf(c,l){ue(c,l);let y=c?.preventAbort,E=c?.preventCancel,I=c?.preventClose,L=c?.signal;return L!==void 0&&Z_(L,`${l} has member 'signal' that`),{preventAbort:!!y,preventCancel:!!E,preventClose:!!I,signal:L}}g(lf,"convertPipeOptions");function Z_(c,l){if(!o_(c))throw new TypeError(`${l} is not an AbortSignal.`)}g(Z_,"assertAbortSignal");function e0(c,l){ue(c,l);let y=c?.readable;M(y,"readable","ReadableWritablePair"),N(y,`${l} has member 'readable' that`);let E=c?.writable;return M(E,"writable","ReadableWritablePair"),Wd(E,`${l} has member 'writable' that`),{readable:y,writable:E}}g(e0,"convertReadableWritablePair");let t0=class{constructor(l={},y={}){l===void 0?l=null:v(l,"First parameter");let E=Ls(y,"Second parameter"),I=J_(l,"First parameter");if(Ea(this),I.type==="bytes"){if(E.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");let L=_o(E,0);Hy(this,I,L)}else{let L=js(E),H=_o(E,1);j_(this,I,H,L)}}get locked(){if(!In(this))throw fr("locked");return Fn(this)}cancel(l=void 0){return In(this)?Fn(this)?p(new TypeError("Cannot cancel a stream that already has a reader")):Ot(this,l):p(fr("cancel"))}getReader(l=void 0){if(!In(this))throw fr("getReader");return Gy(l,"First parameter").mode===void 0?U(this):Ld(this)}pipeThrough(l,y={}){if(!In(this))throw fr("pipeThrough");R(l,1,"pipeThrough");let E=e0(l,"First parameter"),I=lf(y,"Second parameter");if(Fn(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(jr(E.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");let L=af(this,E.writable,I.preventClose,I.preventAbort,I.preventCancel,I.signal);return A(L),E.readable}pipeTo(l,y={}){if(!In(this))return p(fr("pipeTo"));if(l===void 0)return p("Parameter 1 is required in 'pipeTo'.");if(!Ur(l))return p(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let E;try{E=lf(y,"Second parameter")}catch(I){return p(I)}return Fn(this)?p(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):jr(l)?p(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):af(this,l,E.preventClose,E.preventAbort,E.preventCancel,E.signal)}tee(){if(!In(this))throw fr("tee");let l=L_(this);return mo(l)}values(l=void 0){if(!In(this))throw fr("values");let y=Q_(l,"First parameter");return ut(this,y.preventCancel)}[Ad](l){return this.values(l)}static from(l){return H_(l)}};g(t0,"ReadableStream");let at=t0;Object.defineProperties(at,{from:{enumerable:!0}}),Object.defineProperties(at.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),i(at.from,"from"),i(at.prototype.cancel,"cancel"),i(at.prototype.getReader,"getReader"),i(at.prototype.pipeThrough,"pipeThrough"),i(at.prototype.pipeTo,"pipeTo"),i(at.prototype.tee,"tee"),i(at.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(at.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(at.prototype,Ad,{value:at.prototype.values,writable:!0,configurable:!0});function So(c,l,y,E=1,I=()=>1){let L=Object.create(at.prototype);Ea(L);let H=Object.create(Pn.prototype);return uf(L,H,c,l,y,E,I),L}g(So,"CreateReadableStream");function df(c,l,y){let E=Object.create(at.prototype);Ea(E);let I=Object.create(Dn.prototype);return jd(E,I,c,l,y,0,void 0),E}g(df,"CreateReadableByteStream");function Ea(c){c._state="readable",c._reader=void 0,c._storedError=void 0,c._disturbed=!1}g(Ea,"InitializeReadableStream");function In(c){return!o(c)||!Object.prototype.hasOwnProperty.call(c,"_readableStreamController")?!1:c instanceof at}g(In,"IsReadableStream");function Fn(c){return c._reader!==void 0}g(Fn,"IsReadableStreamLocked");function Ot(c,l){if(c._disturbed=!0,c._state==="closed")return h(void 0);if(c._state==="errored")return p(c._storedError);Eo(c);let y=c._reader;if(y!==void 0&&ar(y)){let I=y._readIntoRequests;y._readIntoRequests=new $,I.forEach(L=>{L._closeSteps(void 0)})}let E=c._readableStreamController[X](l);return _(E,r)}g(Ot,"ReadableStreamCancel");function Eo(c){c._state="closed";let l=c._reader;if(l!==void 0&&(V(l),me(l))){let y=l._readRequests;l._readRequests=new $,y.forEach(E=>{E._closeSteps()})}}g(Eo,"ReadableStreamClose");function ff(c,l){c._state="errored",c._storedError=l;let y=c._reader;y!==void 0&&(de(y,l),me(y)?Ve(y,l):Hd(y,l))}g(ff,"ReadableStreamError");function fr(c){return new TypeError(`ReadableStream.prototype.${c} can only be used on a ReadableStream`)}g(fr,"streamBrandCheckException$1");function pf(c,l){ue(c,l);let y=c?.highWaterMark;return M(y,"highWaterMark","QueuingStrategyInit"),{highWaterMark:D(y)}}g(pf,"convertQueuingStrategyInit");let n0=g(c=>c.byteLength,"byteLengthSizeFunction");i(n0,"size");let r0=class{constructor(l){R(l,1,"ByteLengthQueuingStrategy"),l=pf(l,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=l.highWaterMark}get highWaterMark(){if(!mf(this))throw hf("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!mf(this))throw hf("size");return n0}};g(r0,"ByteLengthQueuingStrategy");let Aa=r0;Object.defineProperties(Aa.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Aa.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function hf(c){return new TypeError(`ByteLengthQueuingStrategy.prototype.${c} can only be used on a ByteLengthQueuingStrategy`)}g(hf,"byteLengthBrandCheckException");function mf(c){return!o(c)||!Object.prototype.hasOwnProperty.call(c,"_byteLengthQueuingStrategyHighWaterMark")?!1:c instanceof Aa}g(mf,"IsByteLengthQueuingStrategy");let o0=g(()=>1,"countSizeFunction");i(o0,"size");let s0=class{constructor(l){R(l,1,"CountQueuingStrategy"),l=pf(l,"First parameter"),this._countQueuingStrategyHighWaterMark=l.highWaterMark}get highWaterMark(){if(!yf(this))throw gf("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!yf(this))throw gf("size");return o0}};g(s0,"CountQueuingStrategy");let va=s0;Object.defineProperties(va.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(va.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});function gf(c){return new TypeError(`CountQueuingStrategy.prototype.${c} can only be used on a CountQueuingStrategy`)}g(gf,"countBrandCheckException");function yf(c){return!o(c)||!Object.prototype.hasOwnProperty.call(c,"_countQueuingStrategyHighWaterMark")?!1:c instanceof va}g(yf,"IsCountQueuingStrategy");function i0(c,l){ue(c,l);let y=c?.cancel,E=c?.flush,I=c?.readableType,L=c?.start,H=c?.transform,re=c?.writableType;return{cancel:y===void 0?void 0:l0(y,c,`${l} has member 'cancel' that`),flush:E===void 0?void 0:a0(E,c,`${l} has member 'flush' that`),readableType:I,start:L===void 0?void 0:c0(L,c,`${l} has member 'start' that`),transform:H===void 0?void 0:u0(H,c,`${l} has member 'transform' that`),writableType:re}}g(i0,"convertTransformer");function a0(c,l,y){return fe(c,y),E=>x(c,l,[E])}g(a0,"convertTransformerFlushCallback");function c0(c,l,y){return fe(c,y),E=>T(c,l,[E])}g(c0,"convertTransformerStartCallback");function u0(c,l,y){return fe(c,y),(E,I)=>x(c,l,[E,I])}g(u0,"convertTransformerTransformCallback");function l0(c,l,y){return fe(c,y),E=>x(c,l,[E])}g(l0,"convertTransformerCancelCallback");let d0=class{constructor(l={},y={},E={}){l===void 0&&(l=null);let I=Ls(y,"Second parameter"),L=Ls(E,"Third parameter"),H=i0(l,"First parameter");if(H.readableType!==void 0)throw new RangeError("Invalid readableType specified");if(H.writableType!==void 0)throw new RangeError("Invalid writableType specified");let re=_o(L,0),le=js(L),ge=_o(I,1),ke=js(I),Se,Fe=f(ht=>{Se=ht});f0(this,Fe,ge,ke,re,le),m0(this,H),H.start!==void 0?Se(H.start(this._transformStreamController)):Se(void 0)}get readable(){if(!_f(this))throw kf("readable");return this._readable}get writable(){if(!_f(this))throw kf("writable");return this._writable}};g(d0,"TransformStream");let Ta=d0;Object.defineProperties(Ta.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Ta.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});function f0(c,l,y,E,I,L){function H(){return l}g(H,"startAlgorithm");function re(Fe){return _0(c,Fe)}g(re,"writeAlgorithm");function le(Fe){return b0(c,Fe)}g(le,"abortAlgorithm");function ge(){return C0(c)}g(ge,"closeAlgorithm"),c._writable=a_(H,re,ge,le,y,E);function ke(){return w0(c)}g(ke,"pullAlgorithm");function Se(Fe){return k0(c,Fe)}g(Se,"cancelAlgorithm"),c._readable=So(H,ke,Se,I,L),c._backpressure=void 0,c._backpressureChangePromise=void 0,c._backpressureChangePromise_resolve=void 0,Xs(c,!0),c._transformStreamController=void 0}g(f0,"InitializeTransformStream");function _f(c){return!o(c)||!Object.prototype.hasOwnProperty.call(c,"_transformStreamController")?!1:c instanceof Ta}g(_f,"IsTransformStream");function bf(c,l){Dt(c._readable._readableStreamController,l),Ra(c,l)}g(bf,"TransformStreamError");function Ra(c,l){Zs(c._transformStreamController),Co(c._writable._writableStreamController,l),xa(c)}g(Ra,"TransformStreamErrorWritableAndUnblockWrite");function xa(c){c._backpressure&&Xs(c,!1)}g(xa,"TransformStreamUnblockWrite");function Xs(c,l){c._backpressureChangePromise!==void 0&&c._backpressureChangePromise_resolve(),c._backpressureChangePromise=f(y=>{c._backpressureChangePromise_resolve=y}),c._backpressure=l}g(Xs,"TransformStreamSetBackpressure");let p0=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Qs(this))throw ei("desiredSize");let l=this._controlledTransformStream._readable._readableStreamController;return Sa(l)}enqueue(l=void 0){if(!Qs(this))throw ei("enqueue");Cf(this,l)}error(l=void 0){if(!Qs(this))throw ei("error");g0(this,l)}terminate(){if(!Qs(this))throw ei("terminate");y0(this)}};g(p0,"TransformStreamDefaultController");let pr=p0;Object.defineProperties(pr.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),i(pr.prototype.enqueue,"enqueue"),i(pr.prototype.error,"error"),i(pr.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(pr.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function Qs(c){return!o(c)||!Object.prototype.hasOwnProperty.call(c,"_controlledTransformStream")?!1:c instanceof pr}g(Qs,"IsTransformStreamDefaultController");function h0(c,l,y,E,I){l._controlledTransformStream=c,c._transformStreamController=l,l._transformAlgorithm=y,l._flushAlgorithm=E,l._cancelAlgorithm=I,l._finishPromise=void 0,l._finishPromise_resolve=void 0,l._finishPromise_reject=void 0}g(h0,"SetUpTransformStreamDefaultController");function m0(c,l){let y=Object.create(pr.prototype),E,I,L;l.transform!==void 0?E=g(H=>l.transform(H,y),"transformAlgorithm"):E=g(H=>{try{return Cf(y,H),h(void 0)}catch(re){return p(re)}},"transformAlgorithm"),l.flush!==void 0?I=g(()=>l.flush(y),"flushAlgorithm"):I=g(()=>h(void 0),"flushAlgorithm"),l.cancel!==void 0?L=g(H=>l.cancel(H),"cancelAlgorithm"):L=g(()=>h(void 0),"cancelAlgorithm"),h0(c,y,E,I,L)}g(m0,"SetUpTransformStreamDefaultControllerFromTransformer");function Zs(c){c._transformAlgorithm=void 0,c._flushAlgorithm=void 0,c._cancelAlgorithm=void 0}g(Zs,"TransformStreamDefaultControllerClearAlgorithms");function Cf(c,l){let y=c._controlledTransformStream,E=y._readable._readableStreamController;if(!qr(E))throw new TypeError("Readable side is not in a state that permits enqueue");try{Lr(E,l)}catch(I){throw Ra(y,I),y._readable._storedError}U_(E)!==y._backpressure&&Xs(y,!0)}g(Cf,"TransformStreamDefaultControllerEnqueue");function g0(c,l){bf(c._controlledTransformStream,l)}g(g0,"TransformStreamDefaultControllerError");function wf(c,l){let y=c._transformAlgorithm(l);return _(y,void 0,E=>{throw bf(c._controlledTransformStream,E),E})}g(wf,"TransformStreamDefaultControllerPerformTransform");function y0(c){let l=c._controlledTransformStream,y=l._readable._readableStreamController;dr(y);let E=new TypeError("TransformStream terminated");Ra(l,E)}g(y0,"TransformStreamDefaultControllerTerminate");function _0(c,l){let y=c._transformStreamController;if(c._backpressure){let E=c._backpressureChangePromise;return _(E,()=>{let I=c._writable;if(I._state==="erroring")throw I._storedError;return wf(y,l)})}return wf(y,l)}g(_0,"TransformStreamDefaultSinkWriteAlgorithm");function b0(c,l){let y=c._transformStreamController;if(y._finishPromise!==void 0)return y._finishPromise;let E=c._readable;y._finishPromise=f((L,H)=>{y._finishPromise_resolve=L,y._finishPromise_reject=H});let I=y._cancelAlgorithm(l);return Zs(y),C(I,()=>(E._state==="errored"?$r(y,E._storedError):(Dt(E._readableStreamController,l),Da(y)),null),L=>(Dt(E._readableStreamController,L),$r(y,L),null)),y._finishPromise}g(b0,"TransformStreamDefaultSinkAbortAlgorithm");function C0(c){let l=c._transformStreamController;if(l._finishPromise!==void 0)return l._finishPromise;let y=c._readable;l._finishPromise=f((I,L)=>{l._finishPromise_resolve=I,l._finishPromise_reject=L});let E=l._flushAlgorithm();return Zs(l),C(E,()=>(y._state==="errored"?$r(l,y._storedError):(dr(y._readableStreamController),Da(l)),null),I=>(Dt(y._readableStreamController,I),$r(l,I),null)),l._finishPromise}g(C0,"TransformStreamDefaultSinkCloseAlgorithm");function w0(c){return Xs(c,!1),c._backpressureChangePromise}g(w0,"TransformStreamDefaultSourcePullAlgorithm");function k0(c,l){let y=c._transformStreamController;if(y._finishPromise!==void 0)return y._finishPromise;let E=c._writable;y._finishPromise=f((L,H)=>{y._finishPromise_resolve=L,y._finishPromise_reject=H});let I=y._cancelAlgorithm(l);return Zs(y),C(I,()=>(E._state==="errored"?$r(y,E._storedError):(Co(E._writableStreamController,l),xa(c),Da(y)),null),L=>(Co(E._writableStreamController,L),xa(c),$r(y,L),null)),y._finishPromise}g(k0,"TransformStreamDefaultSourceCancelAlgorithm");function ei(c){return new TypeError(`TransformStreamDefaultController.prototype.${c} can only be used on a TransformStreamDefaultController`)}g(ei,"defaultControllerBrandCheckException");function Da(c){c._finishPromise_resolve!==void 0&&(c._finishPromise_resolve(),c._finishPromise_resolve=void 0,c._finishPromise_reject=void 0)}g(Da,"defaultControllerFinishPromiseResolve");function $r(c,l){c._finishPromise_reject!==void 0&&(A(c._finishPromise),c._finishPromise_reject(l),c._finishPromise_resolve=void 0,c._finishPromise_reject=void 0)}g($r,"defaultControllerFinishPromiseReject");function kf(c){return new TypeError(`TransformStream.prototype.${c} can only be used on a TransformStream`)}g(kf,"streamBrandCheckException"),n.ByteLengthQueuingStrategy=Aa,n.CountQueuingStrategy=va,n.ReadableByteStreamController=Dn,n.ReadableStream=at,n.ReadableStreamBYOBReader=ir,n.ReadableStreamBYOBRequest=Mr,n.ReadableStreamDefaultController=Pn,n.ReadableStreamDefaultReader=ye,n.TransformStream=Ta,n.TransformStreamDefaultController=pr,n.WritableStream=cr,n.WritableStreamDefaultController=bo,n.WritableStreamDefaultWriter=On})})(Vc,Vc.exports)),Vc.exports}function Ww(){if(Hw)return $w;Hw=1;let t=65536;if(!globalThis.ReadableStream)try{let e=oe("node:process"),{emitWarning:n}=e;try{e.emitWarning=()=>{},Object.assign(globalThis,oe("node:stream/web")),e.emitWarning=n}catch(r){throw e.emitWarning=n,r}}catch{Object.assign(globalThis,nk())}try{let{Blob:e}=oe("buffer");e&&!e.prototype.stream&&(e.prototype.stream=g(function(n){let r=0,o=this;return new ReadableStream({type:"bytes",async pull(s){let i=await o.slice(r,Math.min(o.size,r+t)).arrayBuffer();r+=i.byteLength,s.enqueue(new Uint8Array(i)),r===o.size&&s.close()}})},"name"))}catch{}return $w}async function*Yc(t,e=!0){for(let n of t)if("stream"in n)yield*n.stream();else if(ArrayBuffer.isView(n))if(e){let r=n.byteOffset,o=n.byteOffset+n.byteLength;for(;r!==o;){let s=Math.min(o-r,Gw),i=n.buffer.slice(r,r+s);r+=i.byteLength,yield new Uint8Array(i)}}else yield n;else{let r=0,o=n;for(;r!==o.size;){let s=await o.slice(r,Math.min(o.size,r+Gw)).arrayBuffer();r+=s.byteLength,yield new Uint8Array(s)}}}function ok(t,e=oo){var n=`${Jw()}${Jw()}`.replace(/\./g,"").slice(-28).padStart(32,"-"),r=[],o=`--${n}\r
|
|
57
|
+
Content-Disposition: form-data; name="`;return t.forEach((s,i)=>typeof s=="string"?r.push(o+Kp(i)+`"\r
|
|
58
58
|
\r
|
|
59
59
|
${s.replace(/\r(?!\n)|(?<!\r)\n/g,`\r
|
|
60
60
|
`)}\r
|
|
61
|
-
`):r.push(o+
|
|
61
|
+
`):r.push(o+Kp(i)+`"; filename="${Kp(s.name,1)}"\r
|
|
62
62
|
Content-Type: ${s.type||"application/octet-stream"}\r
|
|
63
63
|
\r
|
|
64
64
|
`,s,`\r
|
|
65
|
-
`)),r.push(`--${n}--`),new e(r,{type:"multipart/form-data; boundary="+n})}async function
|
|
65
|
+
`)),r.push(`--${n}--`),new e(r,{type:"multipart/form-data; boundary="+n})}async function Xc(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 ct.alloc(0);if(!(e instanceof yn))return ct.alloc(0);let n=[],r=0;try{for await(let o of e){if(t.size>0&&r+o.length>t.size){let s=new Mt(`content size at ${t.url} over limit: ${t.size}`,"max-size");throw e.destroy(s),s}r+=o.length,n.push(o)}}catch(o){throw o instanceof cu?o:new Mt(`Invalid response body while trying to fetch ${t.url}: ${o.message}`,"system",o)}if(e.readableEnded===!0||e._readableState.ended===!0)try{return n.every(o=>typeof o=="string")?ct.from(n.join("")):ct.concat(n,r)}catch(o){throw new Mt(`Could not create Buffer from response body for ${t.url}: ${o.message}`,"system",o)}else throw new Mt(`Premature close of server response while trying to fetch ${t.url}`)}function fk(t=[]){return new Gn(t.reduce((e,n,r,o)=>(r%2===0&&e.push(o.slice(r,r+2)),e),[]).filter(([e,n])=>{try{return Qc(e),Yp(e,String(n)),!0}catch{return!1}}))}function Xp(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 mk(t){if(!hk.has(t))throw new TypeError(`Invalid referrerPolicy: ${t}`);return t}function gk(t){if(/^(http|ws)s:$/.test(t.protocol))return!0;let e=t.host.replace(/(^\[)|(]$)/g,""),n=CP(e);return n===4&&/^127\./.test(e)||n===6&&/^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(e)?!0:t.host==="localhost"||t.host.endsWith(".localhost")?!1:t.protocol==="file:"}function no(t){return/^about:(blank|srcdoc)$/.test(t)||t.protocol==="data:"||/^(blob|filesystem):$/.test(t.protocol)?!0:gk(t)}function yk(t,{referrerURLCallback:e,referrerOriginCallback:n}={}){if(t.referrer==="no-referrer"||t.referrerPolicy==="")return null;let r=t.referrerPolicy;if(t.referrer==="about:client")return"no-referrer";let o=t.referrer,s=Xp(o),i=Xp(o,!0);s.toString().length>4096&&(s=i),e&&(s=e(s)),n&&(i=n(i));let a=new URL(t.url);switch(r){case"no-referrer":return"no-referrer";case"origin":return i;case"unsafe-url":return s;case"strict-origin":return no(s)&&!no(a)?"no-referrer":i.toString();case"strict-origin-when-cross-origin":return s.origin===a.origin?s:no(s)&&!no(a)?"no-referrer":i;case"same-origin":return s.origin===a.origin?s:"no-referrer";case"origin-when-cross-origin":return s.origin===a.origin?s:i;case"no-referrer-when-downgrade":return no(s)&&!no(a)?"no-referrer":s;default:throw new TypeError(`Invalid referrerPolicy: ${r}`)}}function _k(t){let e=(t.get("referrer-policy")||"").split(/[,\s]+/),n="";for(let r of e)r&&hk.has(r)&&(n=r);return n}function kk(){if(Vw)return Vp;if(Vw=1,!globalThis.DOMException)try{let{MessageChannel:t}=oe("worker_threads"),e=new t().port1,n=new ArrayBuffer;e.postMessage(n,[n,n])}catch(t){t.constructor.name==="DOMException"&&(globalThis.DOMException=t.constructor)}return Vp=globalThis.DOMException,Vp}async function ah(t,e){return new Promise((n,r)=>{let o=new Ai(t,e),{parsedURL:s,options:i}=LP(o);if(!zP.has(s.protocol))throw new TypeError(`node-fetch cannot load ${t}. URL scheme "${s.protocol.replace(/:$/,"")}" is not supported.`);if(s.protocol==="data:"){let C=tk(o.url),m=new mn(C,{headers:{"Content-Type":C.typeFull}});n(m);return}let a=(s.protocol==="https:"?yP:Ei).request,{signal:u}=o,d=null,f=g(()=>{let C=new sh("The operation was aborted.");r(C),o.body&&o.body instanceof yn.Readable&&o.body.destroy(C),!(!d||!d.body)&&d.body.emit("error",C)},"abort");if(u&&u.aborted){f();return}let h=g(()=>{f(),b()},"abortAndFinalize"),p=a(s.toString(),i);u&&u.addEventListener("abort",h);let b=g(()=>{p.abort(),u&&u.removeEventListener("abort",h)},"finalize");p.on("error",C=>{r(new Mt(`request to ${o.url} failed, reason: ${C.message}`,"system",C)),b()}),Pk(p,C=>{d&&d.body&&d.body.destroy(C)}),process.version<"v14"&&p.on("socket",C=>{let m;C.prependListener("end",()=>{m=C._eventsCount}),C.prependListener("close",w=>{if(d&&m<C._eventsCount&&!w){let _=new Error("Premature close");_.code="ERR_STREAM_PREMATURE_CLOSE",d.body.emit("error",_)}})}),p.on("response",C=>{p.setTimeout(0);let m=fk(C.rawHeaders);if(uu(C.statusCode)){let T=m.get("Location"),x=null;try{x=T===null?null:new URL(T,o.url)}catch{if(o.redirect!=="manual"){r(new Mt(`uri requested responds with an invalid redirect URL: ${T}`,"invalid-redirect")),b();return}}switch(o.redirect){case"error":r(new Mt(`uri requested responds with a redirect, redirect mode is set to error: ${o.url}`,"no-redirect")),b();return;case"manual":break;case"follow":{if(x===null)break;if(o.counter>=o.follow){r(new Mt(`maximum redirect reached at: ${o.url}`,"max-redirect")),b();return}let O={headers:new Gn(o.headers),follow:o.follow,counter:o.counter+1,agent:o.agent,compress:o.compress,method:o.method,body:oh(o),signal:o.signal,size:o.size,referrer:o.referrer,referrerPolicy:o.referrerPolicy};if(!DP(o.url,x)||!OP(o.url,x))for(let $ of["authorization","www-authenticate","cookie","cookie2"])O.headers.delete($);if(C.statusCode!==303&&o.body&&e.body instanceof yn.Readable){r(new Mt("Cannot follow redirect with body being a readable stream","unsupported-redirect")),b();return}(C.statusCode===303||(C.statusCode===301||C.statusCode===302)&&o.method==="POST")&&(O.method="GET",O.body=void 0,O.headers.delete("content-length"));let q=_k(m);q&&(O.referrerPolicy=q),n(ah(new Ai(x,O))),b();return}default:return r(new TypeError(`Redirect option '${o.redirect}' is not a valid value of RequestRedirect`))}}u&&C.once("end",()=>{u.removeEventListener("abort",h)});let w=Ko(C,new eu,T=>{T&&r(T)});process.version<"v12.10"&&C.on("aborted",h);let _={url:o.url,status:C.statusCode,statusText:C.statusMessage,headers:m,size:o.size,counter:o.counter,highWaterMark:o.highWaterMark},A=m.get("Content-Encoding");if(!o.compress||o.method==="HEAD"||A===null||C.statusCode===204||C.statusCode===304){d=new mn(w,_),n(d);return}let S={flush:Jo.Z_SYNC_FLUSH,finishFlush:Jo.Z_SYNC_FLUSH};if(A==="gzip"||A==="x-gzip"){w=Ko(w,Jo.createGunzip(S),T=>{T&&r(T)}),d=new mn(w,_),n(d);return}if(A==="deflate"||A==="x-deflate"){let T=Ko(C,new eu,x=>{x&&r(x)});T.once("data",x=>{(x[0]&15)===8?w=Ko(w,Jo.createInflate(),O=>{O&&r(O)}):w=Ko(w,Jo.createInflateRaw(),O=>{O&&r(O)}),d=new mn(w,_),n(d)}),T.once("end",()=>{d||(d=new mn(w,_),n(d))});return}if(A==="br"){w=Ko(w,Jo.createBrotliDecompress(),T=>{T&&r(T)}),d=new mn(w,_),n(d);return}d=new mn(w,_),n(d)}),NP(p,o).catch(r)})}function Pk(t,e){let n=ct.from(`0\r
|
|
66
66
|
\r
|
|
67
|
-
`),r=!1,o=!1,s;t.on("response",i=>{let{headers:
|
|
68
|
-
`)).replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),"e$1"),Vr=m((t,e,n)=>{if(e.length<n)throw new TypeError(`Failed to execute '${t}' on 'FormData': ${n} arguments required, but only ${e.length} present.`)},"x"),Jr=(hp=class{constructor(...t){if(Ln(this,Ht,[]),t.length)throw new TypeError("Failed to construct 'FormData': parameter 1 is not of type 'HTMLFormElement'.")}get[pi](){return"FormData"}[DO](){return this.entries()}static[OO](t){return t&&typeof t=="object"&&t[pi]==="FormData"&&!PO.some(e=>typeof t[e]!="function")}append(...t){Vr("append",arguments,2),ze(this,Ht).push(cw(...t))}delete(t){Vr("delete",arguments,1),t+="",Gt(this,Ht,ze(this,Ht).filter(([e])=>e!==t))}get(t){Vr("get",arguments,1),t+="";for(var e=ze(this,Ht),n=e.length,r=0;r<n;r++)if(e[r][0]===t)return e[r][1];return null}getAll(t,e){return Vr("getAll",arguments,1),e=[],t+="",ze(this,Ht).forEach(n=>n[0]===t&&e.push(n[1])),e}has(t){return Vr("has",arguments,1),t+="",ze(this,Ht).some(e=>e[0]===t)}forEach(t,e){Vr("forEach",arguments,1);for(var[n,r]of this)t.call(e,r,n,this)}set(...t){Vr("set",arguments,2);var e=[],n=!0;t=cw(...t),ze(this,Ht).forEach(r=>{r[0]===t[0]?n&&(n=!e.push(t)):e.push(r)}),n&&e.push(t),Gt(this,Ht,e)}*entries(){yield*ze(this,Ht)}*keys(){for(var[t]of this)yield t}*values(){for(var[,t]of this)yield t}},Ht=new WeakMap,m(hp,"FormData"),hp);m(_w,"formDataToBlob");bw=class extends Error{constructor(e,n){super(e),Error.captureStackTrace(this,this.constructor),this.type=n}get name(){return this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}};m(bw,"FetchBaseError");qc=bw,Cw=class extends qc{constructor(e,n,r){super(e,n),r&&(this.code=this.errno=r.code,this.erroredSysCall=r.syscall)}};m(Cw,"FetchError");Ft=Cw,Mc=Symbol.toStringTag,ww=m(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[Mc]==="URLSearchParams","isURLSearchParameters"),Bc=m(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[Mc]),"isBlob"),IO=m(t=>typeof t=="object"&&(t[Mc]==="AbortSignal"||t[Mc]==="EventTarget"),"isAbortSignal"),FO=m((t,e)=>{let n=new URL(e).hostname,r=new URL(t).hostname;return n===r||n.endsWith(`.${r}`)},"isDomainOrSubdomain"),NO=m((t,e)=>{let n=new URL(e).protocol,r=new URL(t).protocol;return n===r},"isSameProtocol"),MO=kO(pn.pipeline),Ct=Symbol("Body internals"),kw=class{constructor(e,{size:n=0}={}){let r=null;e===null?e=null:ww(e)?e=ct.from(e.toString()):Bc(e)||ct.isBuffer(e)||(Fc.isAnyArrayBuffer(e)?e=ct.from(e):ArrayBuffer.isView(e)?e=ct.from(e.buffer,e.byteOffset,e.byteLength):e instanceof pn||(e instanceof Jr?(e=_w(e),r=e.type.split("=")[1]):e=ct.from(String(e))));let o=e;ct.isBuffer(e)?o=pn.Readable.from(e):Bc(e)&&(o=pn.Readable.from(e.stream())),this[Ct]={body:e,stream:o,boundary:r,disturbed:!1,error:null},this.size=n,e instanceof pn&&e.on("error",s=>{let i=s instanceof qc?s:new Ft(`Invalid response body while trying to fetch ${this.url}: ${s.message}`,"system",s);this[Ct].error=i})}get body(){return this[Ct].stream}get bodyUsed(){return this[Ct].disturbed}async arrayBuffer(){let{buffer:e,byteOffset:n,byteLength:r}=await Dc(this);return e.slice(n,n+r)}async formData(){let e=this.headers.get("content-type");if(e.startsWith("application/x-www-form-urlencoded")){let r=new Jr,o=new URLSearchParams(await this.text());for(let[s,i]of o)r.append(s,i);return r}let{toFormData:n}=await Promise.resolve().then(()=>(tw(),ew));return n(this.body,e)}async blob(){let e=this.headers&&this.headers.get("content-type")||this[Ct].body&&this[Ct].body.type||"",n=await this.arrayBuffer();return new Xr([n],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await Dc(this);return new TextDecoder().decode(e)}buffer(){return Dc(this)}};m(kw,"Body");hi=kw;hi.prototype.buffer=Nc(hi.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer"),Object.defineProperties(hi.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:Nc(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});m(Dc,"consumeBody");Ap=m((t,e)=>{let n,r,{body:o}=t[Ct];if(t.bodyUsed)throw new Error("cannot clone body after it is used");return o instanceof pn&&typeof o.getBoundary!="function"&&(n=new Ic({highWaterMark:e}),r=new Ic({highWaterMark:e}),o.pipe(n),o.pipe(r),t[Ct].stream=n,o=r),o},"clone"),BO=Nc(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"),Sw=m((t,e)=>t===null?null:typeof t=="string"?"text/plain;charset=UTF-8":ww(t)?"application/x-www-form-urlencoded;charset=UTF-8":Bc(t)?t.type||null:ct.isBuffer(t)||Fc.isAnyArrayBuffer(t)||ArrayBuffer.isView(t)?null:t instanceof Jr?`multipart/form-data; boundary=${e[Ct].boundary}`:t&&typeof t.getBoundary=="function"?`multipart/form-data;boundary=${BO(t)}`:t instanceof pn?null:"text/plain;charset=UTF-8","extractContentType"),UO=m(t=>{let{body:e}=t[Ct];return e===null?0:Bc(e)?e.size:ct.isBuffer(e)?e.length:e&&typeof e.getLengthSync=="function"&&e.hasKnownLength&&e.hasKnownLength()?e.getLengthSync():null},"getTotalBytes"),jO=m(async(t,{body:e})=>{e===null?t.end():await MO(e,t)},"writeToStream"),Oc=typeof gi.validateHeaderName=="function"?gi.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}},_p=typeof gi.validateHeaderValue=="function"?gi.validateHeaderValue:(t,e)=>{if(/[^\t\u0020-\u007E\u0080-\u00FF]/.test(e)){let n=new TypeError(`Invalid character in header content ["${t}"]`);throw Object.defineProperty(n,"code",{value:"ERR_INVALID_CHAR"}),n}},Ew=class vw extends URLSearchParams{constructor(e){let n=[];if(e instanceof vw){let r=e.raw();for(let[o,s]of Object.entries(r))n.push(...s.map(i=>[o,i]))}else if(e!=null)if(typeof e=="object"&&!Fc.isBoxedPrimitive(e)){let r=e[Symbol.iterator];if(r==null)n.push(...Object.entries(e));else{if(typeof r!="function")throw new TypeError("Header pairs must be iterable");n=[...e].map(o=>{if(typeof o!="object"||Fc.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 n=n.length>0?n.map(([r,o])=>(Oc(r),_p(r,String(o)),[String(r).toLowerCase(),String(o)])):void 0,super(n),new Proxy(this,{get(r,o,s){switch(o){case"append":case"set":return(i,c)=>(Oc(i),_p(i,String(c)),URLSearchParams.prototype[o].call(r,String(i).toLowerCase(),String(c)));case"delete":case"has":case"getAll":return i=>(Oc(i),URLSearchParams.prototype[o].call(r,String(i).toLowerCase()));case"keys":return()=>(r.sort(),new Set(URLSearchParams.prototype.keys.call(r)).keys());default:return Reflect.get(r,o,s)}}})}get[Symbol.toStringTag](){return this.constructor.name}toString(){return Object.prototype.toString.call(this)}get(e){let n=this.getAll(e);if(n.length===0)return null;let r=n.join(", ");return/^content-encoding$/i.test(e)&&(r=r.toLowerCase()),r}forEach(e,n=void 0){for(let r of this.keys())Reflect.apply(e,n,[this.get(r),r,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,n)=>(e[n]=this.getAll(n),e),{})}[Symbol.for("nodejs.util.inspect.custom")](){return[...this.keys()].reduce((e,n)=>{let r=this.getAll(n);return n==="host"?e[n]=r[0]:e[n]=r.length>1?r:r[0],e},{})}};m(Ew,"Headers");qn=Ew;Object.defineProperties(qn.prototype,["get","entries","forEach","values"].reduce((t,e)=>(t[e]={enumerable:!0},t),{}));m(Aw,"fromRawHeaders");LO=new Set([301,302,303,307,308]),$c=m(t=>LO.has(t),"isRedirect"),Wt=Symbol("Response internals"),Tw=class fi extends hi{constructor(e=null,n={}){super(e,n);let r=n.status!=null?n.status:200,o=new qn(n.headers);if(e!==null&&!o.has("Content-Type")){let s=Sw(e,this);s&&o.append("Content-Type",s)}this[Wt]={type:"default",url:n.url,status:r,statusText:n.statusText||"",headers:o,counter:n.counter,highWaterMark:n.highWaterMark}}get type(){return this[Wt].type}get url(){return this[Wt].url||""}get status(){return this[Wt].status}get ok(){return this[Wt].status>=200&&this[Wt].status<300}get redirected(){return this[Wt].counter>0}get statusText(){return this[Wt].statusText}get headers(){return this[Wt].headers}get highWaterMark(){return this[Wt].highWaterMark}clone(){return new fi(Ap(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,n=302){if(!$c(n))throw new RangeError('Failed to execute "redirect" on "response": Invalid status code');return new fi(null,{headers:{location:new URL(e).toString()},status:n})}static error(){let e=new fi(null,{status:0,statusText:""});return e[Wt].type="error",e}static json(e=void 0,n={}){let r=JSON.stringify(e);if(r===void 0)throw new TypeError("data is not JSON serializable");let o=new qn(n&&n.headers);return o.has("content-type")||o.set("content-type","application/json"),new fi(r,{...n,headers:o})}get[Symbol.toStringTag](){return"Response"}};m(Tw,"Response");dn=Tw;Object.defineProperties(dn.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}});qO=m(t=>{if(t.search)return t.search;let e=t.href.length-1,n=t.hash||(t.href[e]==="#"?"#":"");return t.href[e-n.length]==="?"?"?":""},"getSearch");m(bp,"stripURLForUseAsAReferrer");Rw=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),$O="strict-origin-when-cross-origin";m(xw,"validateReferrerPolicy");m(Dw,"isOriginPotentiallyTrustworthy");m(Kr,"isUrlPotentiallyTrustworthy");m(Ow,"determineRequestsReferrer");m(Pw,"parseReferrerPolicyFromHeader");ot=Symbol("Request internals"),di=m(t=>typeof t=="object"&&typeof t[ot]=="object","isRequest"),zO=Nc(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),Iw=class Fw extends hi{constructor(e,n={}){let r;if(di(e)?r=new URL(e.url):(r=new URL(e),e={}),r.username!==""||r.password!=="")throw new TypeError(`${r} is an url with embedded credentials.`);let o=n.method||e.method||"GET";if(/^(delete|get|head|options|post|put)$/i.test(o)&&(o=o.toUpperCase()),!di(n)&&"data"in n&&zO(),(n.body!=null||di(e)&&e.body!==null)&&(o==="GET"||o==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let s=n.body?n.body:di(e)&&e.body!==null?Ap(e):null;super(s,{size:n.size||e.size||0});let i=new qn(n.headers||e.headers||{});if(s!==null&&!i.has("Content-Type")){let f=Sw(s,this);f&&i.set("Content-Type",f)}let c=di(e)?e.signal:null;if("signal"in n&&(c=n.signal),c!=null&&!IO(c))throw new TypeError("Expected signal to be an instanceof AbortSignal or EventTarget");let u=n.referrer==null?e.referrer:n.referrer;if(u==="")u="no-referrer";else if(u){let f=new URL(u);u=/^about:(\/\/)?client$/.test(f)?"client":f}else u=void 0;this[ot]={method:o,redirect:n.redirect||e.redirect||"follow",headers:i,parsedURL:r,signal:c,referrer:u},this.follow=n.follow===void 0?e.follow===void 0?20:e.follow:n.follow,this.compress=n.compress===void 0?e.compress===void 0?!0:e.compress:n.compress,this.counter=n.counter||e.counter||0,this.agent=n.agent||e.agent,this.highWaterMark=n.highWaterMark||e.highWaterMark||16384,this.insecureHTTPParser=n.insecureHTTPParser||e.insecureHTTPParser||!1,this.referrerPolicy=n.referrerPolicy||e.referrerPolicy||""}get method(){return this[ot].method}get url(){return SO(this[ot].parsedURL)}get headers(){return this[ot].headers}get redirect(){return this[ot].redirect}get signal(){return this[ot].signal}get referrer(){if(this[ot].referrer==="no-referrer")return"";if(this[ot].referrer==="client")return"about:client";if(this[ot].referrer)return this[ot].referrer.toString()}get referrerPolicy(){return this[ot].referrerPolicy}set referrerPolicy(e){this[ot].referrerPolicy=xw(e)}clone(){return new Fw(this)}get[Symbol.toStringTag](){return"Request"}};m(Iw,"Request");yi=Iw;Object.defineProperties(yi.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}});HO=m(t=>{let{parsedURL:e}=t[ot],n=new qn(t[ot].headers);n.has("Accept")||n.set("Accept","*/*");let r=null;if(t.body===null&&/^(post|put)$/i.test(t.method)&&(r="0"),t.body!==null){let c=UO(t);typeof c=="number"&&!Number.isNaN(c)&&(r=String(c))}r&&n.set("Content-Length",r),t.referrerPolicy===""&&(t.referrerPolicy=$O),t.referrer&&t.referrer!=="no-referrer"?t[ot].referrer=Ow(t):t[ot].referrer="no-referrer",t[ot].referrer instanceof URL&&n.set("Referer",t.referrer),n.has("User-Agent")||n.set("User-Agent","node-fetch"),t.compress&&!n.has("Accept-Encoding")&&n.set("Accept-Encoding","gzip, deflate, br");let{agent:o}=t;typeof o=="function"&&(o=o(e));let s=qO(e),i={path:e.pathname+s,method:t.method,headers:n[Symbol.for("nodejs.util.inspect.custom")](),insecureHTTPParser:t.insecureHTTPParser,agent:o};return{parsedURL:e,options:i}},"getNodeRequestOptions"),Nw=class extends qc{constructor(e,n="aborted"){super(e,n)}};m(Nw,"AbortError");Tp=Nw;m(Mw,"requireNodeDomexception");WO=Mw(),GO=dp(WO),{stat:Rp}=vO,Bw=m((t,e)=>qw(hw(t),t,e),"blobFromSync"),Uw=m((t,e)=>Rp(t).then(n=>qw(n,t,e)),"blobFrom"),jw=m((t,e)=>Rp(t).then(n=>$w(n,t,e)),"fileFrom"),Lw=m((t,e)=>$w(hw(t),t,e),"fileFromSync"),qw=m((t,e,n="")=>new Xr([new Ww({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],{type:n}),"fromBlob"),$w=m((t,e,n="")=>new No([new Ww({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],TO(e),{type:n,lastModified:t.mtimeMs}),"fromFile"),zw=class Hw{constructor(e){Ln(this,jo),Ln(this,Lo),Gt(this,jo,e.path),Gt(this,Lo,e.start),this.size=e.size,this.lastModified=e.lastModified}slice(e,n){return new Hw({path:ze(this,jo),lastModified:this.lastModified,size:n-e,start:ze(this,Lo)+e})}async*stream(){let{mtimeMs:e}=await Rp(ze(this,jo));if(e>this.lastModified)throw new GO("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*AO(ze(this,jo),{start:ze(this,Lo),end:ze(this,Lo)+this.size-1})}get[Symbol.toStringTag](){return"Blob"}};jo=new WeakMap,Lo=new WeakMap,m(zw,"BlobDataItem");Ww=zw,JO=new Set(["data:","http:","https:"]);m(xp,"fetch$1");m(Gw,"fixResponseChunkedTransferBadEnding");Jw=new WeakMap,Cp=new WeakMap;m(Ue,"pd");m(wp,"setCancelFlag");m(Yr,"Event"),Yr.prototype={get type(){return Ue(this).event.type},get target(){return Ue(this).eventTarget},get currentTarget(){return Ue(this).currentTarget},composedPath(){let t=Ue(this).currentTarget;return t==null?[]:[t]},get NONE(){return 0},get CAPTURING_PHASE(){return 1},get AT_TARGET(){return 2},get BUBBLING_PHASE(){return 3},get eventPhase(){return Ue(this).eventPhase},stopPropagation(){let t=Ue(this);t.stopped=!0,typeof t.event.stopPropagation=="function"&&t.event.stopPropagation()},stopImmediatePropagation(){let t=Ue(this);t.stopped=!0,t.immediateStopped=!0,typeof t.event.stopImmediatePropagation=="function"&&t.event.stopImmediatePropagation()},get bubbles(){return!!Ue(this).event.bubbles},get cancelable(){return!!Ue(this).event.cancelable},preventDefault(){wp(Ue(this))},get defaultPrevented(){return Ue(this).canceled},get composed(){return!!Ue(this).event.composed},get timeStamp(){return Ue(this).timeStamp},get srcElement(){return Ue(this).eventTarget},get cancelBubble(){return Ue(this).stopped},set cancelBubble(t){if(!t)return;let e=Ue(this);e.stopped=!0,typeof e.event.cancelBubble=="boolean"&&(e.event.cancelBubble=!0)},get returnValue(){return!Ue(this).canceled},set returnValue(t){t||wp(Ue(this))},initEvent(){}},Object.defineProperty(Yr.prototype,"constructor",{value:Yr,configurable:!0,writable:!0}),typeof window<"u"&&typeof window.Event<"u"&&(Object.setPrototypeOf(Yr.prototype,window.Event.prototype),Cp.set(window.Event.prototype,Yr));m(Dp,"defineRedirectDescriptor");m(Vw,"defineCallDescriptor");m(Kw,"defineWrapper");m(Op,"getWrapper");m(Yw,"wrapEvent");m(Xw,"isStopped");m(Qw,"setEventPhase");m(Zw,"setCurrentTarget");m(kp,"setPassiveListener");ek=new WeakMap,lw=1,dw=2,Pc=3;m(mi,"isObject");m(qo,"getListeners");m(tk,"defineEventAttributeDescriptor");m(Pp,"defineEventAttribute");m(Sp,"defineCustomEventTarget");m(fn,"EventTarget"),fn.prototype={addEventListener(t,e,n){if(e==null)return;if(typeof e!="function"&&!mi(e))throw new TypeError("'listener' should be a function or an object.");let r=qo(this),o=mi(n),s=(o?n.capture:n)?lw:dw,i={listener:e,listenerType:s,passive:o&&!!n.passive,once:o&&!!n.once,next:null},c=r.get(t);if(c===void 0){r.set(t,i);return}let u=null;for(;c!=null;){if(c.listener===e&&c.listenerType===s)return;u=c,c=c.next}u.next=i},removeEventListener(t,e,n){if(e==null)return;let r=qo(this),o=(mi(n)?n.capture:n)?lw:dw,s=null,i=r.get(t);for(;i!=null;){if(i.listener===e&&i.listenerType===o){s!==null?s.next=i.next:i.next!==null?r.set(t,i.next):r.delete(t);return}s=i,i=i.next}},dispatchEvent(t){if(t==null||typeof t.type!="string")throw new TypeError('"event.type" should be a string.');let e=qo(this),n=t.type,r=e.get(n);if(r==null)return!0;let o=Yw(this,t),s=null;for(;r!=null;){if(r.once?s!==null?s.next=r.next:r.next!==null?e.set(n,r.next):e.delete(n):s=r,kp(o,r.passive?r.listener:null),typeof r.listener=="function")try{r.listener.call(this,o)}catch(i){typeof console<"u"&&typeof console.error=="function"&&console.error(i)}else r.listenerType!==Pc&&typeof r.listener.handleEvent=="function"&&r.listener.handleEvent(o);if(Xw(o))break;r=r.next}return kp(o,null),Qw(o,0),Zw(o,null),!o.defaultPrevented}},Object.defineProperty(fn.prototype,"constructor",{value:fn,configurable:!0,writable:!0}),typeof window<"u"&&typeof window.EventTarget<"u"&&Object.setPrototypeOf(fn.prototype,window.EventTarget.prototype);nk=class extends fn{constructor(){throw super(),new TypeError("AbortSignal cannot be constructed directly")}get aborted(){let e=jc.get(this);if(typeof e!="boolean")throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this===null?"null":typeof this}`);return e}};m(nk,"AbortSignal");Uc=nk;Pp(Uc.prototype,"abort");m(rk,"createAbortSignal");m(ok,"abortSignal");jc=new WeakMap;Object.defineProperties(Uc.prototype,{aborted:{enumerable:!0}}),typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Uc.prototype,Symbol.toStringTag,{configurable:!0,value:"AbortSignal"});Lc=(mp=class{constructor(){sk.set(this,rk())}get signal(){return Ep(this)}abort(){ok(Ep(this))}},m(mp,"AbortController"),mp),sk=new WeakMap;m(Ep,"getSignal"),Object.defineProperties(Lc.prototype,{signal:{enumerable:!0},abort:{enumerable:!0}}),typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Lc.prototype,Symbol.toStringTag,{configurable:!0,value:"AbortController"});VO=Object.defineProperty,KO=m((t,e)=>VO(t,"name",{value:e,configurable:!0}),"e"),ik=xp;vp();m(vp,"s"),KO(vp,"checkNodeEnvironment")});var ak={};e0(ak,{AbortController:()=>r1,AbortError:()=>Tp,Blob:()=>XO,FetchError:()=>Ft,File:()=>QO,FormData:()=>ZO,Headers:()=>e1,Request:()=>t1,Response:()=>n1,blobFrom:()=>Uw,blobFromSync:()=>Bw,default:()=>YO,fetch:()=>YO,fileFrom:()=>jw,fileFromSync:()=>Lw,isRedirect:()=>$c});var Cr,YO,XO,QO,ZO,e1,t1,n1,r1,ck=lr(()=>{Ec();Ec();wc();Cr=!!globalThis.process?.env?.FORCE_NODE_FETCH,YO=!Cr&&globalThis.fetch||ik,XO=!Cr&&globalThis.Blob||Xr,QO=!Cr&&globalThis.File||No,ZO=!Cr&&globalThis.FormData||Jr,e1=!Cr&&globalThis.Headers||qn,t1=!Cr&&globalThis.Request||yi,n1=!Cr&&globalThis.Response||dn,r1=!Cr&&globalThis.AbortController||Lc});var dk=J(zo=>{"use strict";var o1=zo&&zo.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},$o;Object.defineProperty(zo,"__esModule",{value:!0});zo.Gaxios=void 0;var s1=o1(Qf()),i1=oe("https"),Qr=tp(),a1=EC(),uk=oe("stream"),lk=op(),c1=async()=>globalThis.crypto?.randomUUID()||(await import("crypto")).randomUUID(),u1=204,zc=class{agentCache=new Map;defaults;interceptors;constructor(e){this.defaults=e||{},this.interceptors={request:new lk.GaxiosInterceptorManager,response:new lk.GaxiosInterceptorManager}}fetch(...e){let n=e[0],r=e[1],o,s=new Headers;return typeof n=="string"?o=new URL(n):n instanceof URL?o=n:n&&n.url&&(o=new URL(n.url)),n&&typeof n=="object"&&"headers"in n&&$o.mergeHeaders(s,n.headers),r&&$o.mergeHeaders(s,new Headers(r.headers)),typeof n=="object"&&!(n instanceof URL)?this.request({...r,...n,headers:s,url:o}):this.request({...r,headers:s,url:o})}async request(e={}){let n=await this.#r(e);return n=await this.#t(n),this.#n(this._request(n))}async _defaultAdapter(e){let n=e.fetchImplementation||this.defaults.fetchImplementation||await $o.#c(),r={...e};delete r.data;let o=await n(e.url,r),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 n;if(e.adapter?n=await e.adapter(e,this._defaultAdapter.bind(this)):n=await this._defaultAdapter(e),!e.validateStatus(n.status)){if(e.responseType==="stream"){let o=[];for await(let s of n.data)o.push(s);n.data=Buffer.concat(o.map(s=>typeof s=="string"?Buffer.from(s):s)).toString("utf8")}let r=Qr.GaxiosError.extractAPIErrorFromResponse(n,`Request failed with status code ${n.status}`);throw new Qr.GaxiosError(r?.message,e,n,r)}return n}catch(n){let r;n instanceof Qr.GaxiosError?r=n:n instanceof Error?r=new Qr.GaxiosError(n.message,e,void 0,n):r=new Qr.GaxiosError("Unexpected Gaxios Error",e,void 0,n);let{shouldRetry:o,config:s}=await(0,a1.getRetryConfig)(r);if(o&&s)return r.config.retryConfig.currentRetryAttempt=s.retryConfig.currentRetryAttempt,e.retryConfig=r.config?.retryConfig,this.#o(e),this._request(e);throw e.errorRedactor&&e.errorRedactor(r),r}}async getResponseData(e,n){if(n.status===u1)return"";if(e.maxContentLength&&n.headers.has("content-length")&&e.maxContentLength<Number.parseInt(n.headers?.get("content-length")||""))throw new Qr.GaxiosError("Response's `Content-Length` is over the limit.",e,Object.assign(n,{config:e}));switch(e.responseType){case"stream":return n.body;case"json":{let r=await n.text();try{return JSON.parse(r)}catch{return r}}case"arraybuffer":return n.arrayBuffer();case"blob":return n.blob();case"text":return n.text();default:return this.getResponseDataFromContentType(n)}}#e(e,n=[]){let r=new URL(e),o=[...n],s=(process.env.NO_PROXY??process.env.no_proxy)?.split(",")||[];for(let i of s)o.push(i.trim());for(let i of o)if(i instanceof RegExp){if(i.test(r.toString()))return!1}else if(i instanceof URL){if(i.origin===r.origin)return!1}else if(i.startsWith("*.")||i.startsWith(".")){let c=i.replace(/^\*\./,".");if(r.hostname.endsWith(c))return!1}else if(i===r.origin||i===r.hostname||i===r.href)return!1;return!0}async#t(e){let n=Promise.resolve(e);for(let r of this.interceptors.request.values())r&&(n=n.then(r.resolved,r.rejected));return n}async#n(e){let n=Promise.resolve(e);for(let r of this.interceptors.response.values())r&&(n=n.then(r.resolved,r.rejected));return n}async#r(e){let n=new Headers(this.defaults.headers);$o.mergeHeaders(n,e.headers);let r=(0,s1.default)(!0,{},this.defaults,e);if(!r.url)throw new Error("URL is required.");if(r.baseURL&&(r.url=new URL(r.url,r.baseURL)),r.url=new URL(r.url),r.params)if(r.paramsSerializer){let i=r.paramsSerializer(r.params);i.startsWith("?")&&(i=i.slice(1));let c=r.url.toString().includes("?")?"&":"?";r.url=r.url+c+i}else{let i=r.url instanceof URL?r.url:new URL(r.url);for(let[c,u]of new URLSearchParams(r.params))i.searchParams.append(c,u);r.url=i}typeof e.maxContentLength=="number"&&(r.size=e.maxContentLength),typeof e.maxRedirects=="number"&&(r.follow=e.maxRedirects);let o=typeof r.data=="string"||r.data instanceof ArrayBuffer||r.data instanceof Blob||globalThis.File&&r.data instanceof File||r.data instanceof FormData||r.data instanceof uk.Readable||r.data instanceof ReadableStream||r.data instanceof String||r.data instanceof URLSearchParams||ArrayBuffer.isView(r.data)||["Blob","File","FormData"].includes(r.data?.constructor?.name||"");if(r.multipart?.length){let i=await c1();n.set("content-type",`multipart/related; boundary=${i}`),r.body=uk.Readable.from(this.getMultipartRequest(r.multipart,i))}else o?r.body=r.data:typeof r.data=="object"?n.get("Content-Type")==="application/x-www-form-urlencoded"?r.body=r.paramsSerializer?r.paramsSerializer(r.data):new URLSearchParams(r.data):(n.has("content-type")||n.set("content-type","application/json"),r.body=JSON.stringify(r.data)):r.data&&(r.body=r.data);r.validateStatus=r.validateStatus||this.validateStatus,r.responseType=r.responseType||"unknown",!n.has("accept")&&r.responseType==="json"&&n.set("accept","application/json");let s=r.proxy||process?.env?.HTTPS_PROXY||process?.env?.https_proxy||process?.env?.HTTP_PROXY||process?.env?.http_proxy;if(!r.agent)if(s&&this.#e(r.url,r.noProxy)){let i=await $o.#a();this.agentCache.has(s)?r.agent=this.agentCache.get(s):(r.agent=new i(s,{cert:r.cert,key:r.key}),this.agentCache.set(s,r.agent))}else r.cert&&r.key&&(this.agentCache.has(r.key)?r.agent=this.agentCache.get(r.key):(r.agent=new i1.Agent({cert:r.cert,key:r.key}),this.agentCache.set(r.key,r.agent)));return typeof r.errorRedactor!="function"&&r.errorRedactor!==!1&&(r.errorRedactor=Qr.defaultErrorRedactor),r.body&&!("duplex"in r)&&(r.duplex="half"),this.#o(r),Object.assign(r,{headers:n,url:r.url instanceof URL?r.url:new URL(r.url)})}#o(e){if(e.timeout){let n=AbortSignal.timeout(e.timeout);e.signal&&!e.signal.aborted?e.signal=AbortSignal.any([e.signal,n]):e.signal=n}}validateStatus(e){return e>=200&&e<300}async getResponseDataFromContentType(e){let n=e.headers.get("Content-Type");if(n===null)return e.text();if(n=n.toLowerCase(),n.includes("application/json")){let r=await e.text();try{r=JSON.parse(r)}catch{}return r}else return n.match(/^text\//)?e.text():e.blob()}async*getMultipartRequest(e,n){let r=`--${n}--`;for(let o of e){let s=o.headers.get("Content-Type")||"application/octet-stream";yield`--${n}\r
|
|
67
|
+
`),r=!1,o=!1,s;t.on("response",i=>{let{headers:a}=i;r=a["transfer-encoding"]==="chunked"&&!a["content-length"]}),t.on("socket",i=>{let a=g(()=>{if(r&&!o){let d=new Error("Premature close");d.code="ERR_STREAM_PREMATURE_CLOSE",e(d)}},"onSocketClose"),u=g(d=>{o=ct.compare(d.slice(-5),n)===0,!o&&s&&(o=ct.compare(s.slice(-3),n.slice(0,3))===0&&ct.compare(d.slice(-2),n.slice(3))===0),s=d},"onData");i.prependListener("close",a),i.on("data",u),t.on("close",()=>{i.removeListener("close",a),i.removeListener("data",u)})})}function Ue(t){let e=Ik.get(t);return console.assert(e!=null,"'this' is expected an Event object, but got",t),e}function Zp(t){if(t.passiveListener!=null){typeof console<"u"&&typeof console.error=="function"&&console.error("Unable to preventDefault inside passive event listener invocation.",t.passiveListener);return}t.event.cancelable&&(t.canceled=!0,typeof t.event.preventDefault=="function"&&t.event.preventDefault())}function ro(t,e){Ik.set(this,{eventTarget:t,event:e,eventPhase:2,currentTarget:t,canceled:!1,stopped:!1,immediateStopped:!1,passiveListener:null,timeStamp:e.timeStamp||Date.now()}),Object.defineProperty(this,"isTrusted",{value:!1,enumerable:!0});let n=Object.keys(e);for(let r=0;r<n.length;++r){let o=n[r];o in this||Object.defineProperty(this,o,ch(o))}}function ch(t){return{get(){return Ue(this).event[t]},set(e){Ue(this).event[t]=e},configurable:!0,enumerable:!0}}function Fk(t){return{value(){let e=Ue(this).event;return e[t].apply(e,arguments)},configurable:!0,enumerable:!0}}function Nk(t,e){let n=Object.keys(e);if(n.length===0)return t;function r(o,s){t.call(this,o,s)}g(r,"CustomEvent"),r.prototype=Object.create(t.prototype,{constructor:{value:r,configurable:!0,writable:!0}});for(let o=0;o<n.length;++o){let s=n[o];if(!(s in t.prototype)){let i=typeof Object.getOwnPropertyDescriptor(e,s).value=="function";Object.defineProperty(r.prototype,s,i?Fk(s):ch(s))}}return r}function uh(t){if(t==null||t===Object.prototype)return ro;let e=Qp.get(t);return e==null&&(e=Nk(uh(Object.getPrototypeOf(t)),t),Qp.set(t,e)),e}function Mk(t,e){let n=uh(Object.getPrototypeOf(e));return new n(t,e)}function Bk(t){return Ue(t).immediateStopped}function Uk(t,e){Ue(t).eventPhase=e}function jk(t,e){Ue(t).currentTarget=e}function eh(t,e){Ue(t).passiveListener=e}function Si(t){return t!==null&&typeof t=="object"}function Xo(t){let e=Lk.get(t);if(e==null)throw new TypeError("'this' is expected an EventTarget object, but got another value.");return e}function qk(t){return{get(){let e=Xo(this).get(t);for(;e!=null;){if(e.listenerType===Zc)return e.listener;e=e.next}return null},set(e){typeof e!="function"&&!Si(e)&&(e=null);let n=Xo(this),r=null,o=n.get(t);for(;o!=null;)o.listenerType===Zc?r!==null?r.next=o.next:o.next!==null?n.set(t,o.next):n.delete(t):r=o,o=o.next;if(e!==null){let s={listener:e,listenerType:Zc,passive:!1,once:!1,next:null};r===null?n.set(t,s):r.next=s}},configurable:!0,enumerable:!0}}function lh(t,e){Object.defineProperty(t,`on${e}`,qk(e))}function th(t){function e(){gn.call(this)}g(e,"CustomEventTarget"),e.prototype=Object.create(gn.prototype,{constructor:{value:e,configurable:!0,writable:!0}});for(let n=0;n<t.length;++n)lh(e.prototype,t[n]);return e}function gn(){if(this instanceof gn){Lk.set(this,new Map);return}if(arguments.length===1&&Array.isArray(arguments[0]))return th(arguments[0]);if(arguments.length>0){let t=new Array(arguments.length);for(let e=0;e<arguments.length;++e)t[e]=arguments[e];return th(t)}throw new TypeError("Cannot call a class as a function")}function zk(){let t=Object.create(su.prototype);return gn.call(t),iu.set(t,!1),t}function Hk(t){iu.get(t)===!1&&(iu.set(t,!0),t.dispatchEvent({type:"abort"}))}function nh(t){let e=Wk.get(t);if(e==null)throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${t===null?"null":typeof t}`);return e}function rh(){!globalThis.process?.versions?.node&&!globalThis.process?.env?.DISABLE_NODE_FETCH_NATIVE_WARN&&console.warn("[node-fetch-native] Node.js compatible build of `node-fetch-native` is being used in a non-Node.js environment. Please make sure you are using proper export conditions or report this issue to https://github.com/unjs/node-fetch-native. You can set `process.env.DISABLE_NODE_FETCH_NATIVE_WARN` to disable this warning.")}var gP,Qw,g,Zw,ze,Wn,Kt,Er,Gc,Go,Hp,_i,Jc,Kc,Wp,Gt,Gp,Vo,Yo,Jp,$w,Vc,EP,zw,Hw,Gw,rk,oo,AP,Wo,wi,vP,TP,Jw,RP,Kw,Kp,to,eo,sk,cu,ik,Mt,ru,ak,ou,xP,DP,OP,PP,Ct,ck,ki,oh,IP,uk,FP,NP,Qc,Yp,lk,Gn,MP,uu,Jt,pk,mn,BP,hk,UP,ot,bi,jP,bk,Ai,LP,wk,sh,Vp,Vw,qP,$P,ih,Sk,Ek,Ak,vk,Tk,Rk,xk,Ok,zP,Ik,Qp,Lk,Yw,Xw,Zc,$k,su,iu,au,Wk,HP,WP,Gk,Wc=mr(()=>{$c();gP=Object.defineProperty,Qw=t=>{throw TypeError(t)},g=(t,e)=>gP(t,"name",{value:e,configurable:!0}),Zw=(t,e,n)=>e.has(t)||Qw("Cannot "+n),ze=(t,e,n)=>(Zw(t,e,"read from private field"),n?n.call(t):e.get(t)),Wn=(t,e,n)=>e.has(t)?Qw("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),Kt=(t,e,n,r)=>(Zw(t,e,"write to private field"),r?r.call(t,n):e.set(t,n),n);g(tk,"dataUriToBuffer");$w={},Vc={exports:{}};EP=Vc.exports;g(nk,"requirePonyfill_es2018");g(Ww,"requireStreams"),Ww();Gw=65536;g(Yc,"toIterator");rk=(_i=class{constructor(t=[],e={}){if(Wn(this,Er,[]),Wn(this,Gc,""),Wn(this,Go,0),Wn(this,Hp,"transparent"),typeof t!="object"||t===null)throw new TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence.");if(typeof t[Symbol.iterator]!="function")throw new TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property.");if(typeof e!="object"&&typeof e!="function")throw new TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary.");e===null&&(e={});let n=new TextEncoder;for(let o of t){let s;ArrayBuffer.isView(o)?s=new Uint8Array(o.buffer.slice(o.byteOffset,o.byteOffset+o.byteLength)):o instanceof ArrayBuffer?s=new Uint8Array(o.slice(0)):o instanceof _i?s=o:s=n.encode(`${o}`),Kt(this,Go,ze(this,Go)+(ArrayBuffer.isView(s)?s.byteLength:s.size)),ze(this,Er).push(s)}Kt(this,Hp,`${e.endings===void 0?"transparent":e.endings}`);let r=e.type===void 0?"":String(e.type);Kt(this,Gc,/^[\x20-\x7E]*$/.test(r)?r:"")}get size(){return ze(this,Go)}get type(){return ze(this,Gc)}async text(){let t=new TextDecoder,e="";for await(let n of Yc(ze(this,Er),!1))e+=t.decode(n,{stream:!0});return e+=t.decode(),e}async arrayBuffer(){let t=new Uint8Array(this.size),e=0;for await(let n of Yc(ze(this,Er),!1))t.set(n,e),e+=n.length;return t.buffer}stream(){let t=Yc(ze(this,Er),!0);return new globalThis.ReadableStream({type:"bytes",async pull(e){let n=await t.next();n.done?e.close():e.enqueue(n.value)},async cancel(){await t.return()}})}slice(t=0,e=this.size,n=""){let{size:r}=this,o=t<0?Math.max(r+t,0):Math.min(t,r),s=e<0?Math.max(r+e,0):Math.min(e,r),i=Math.max(s-o,0),a=ze(this,Er),u=[],d=0;for(let h of a){if(d>=i)break;let p=ArrayBuffer.isView(h)?h.byteLength:h.size;if(o&&p<=o)o-=p,s-=p;else{let b;ArrayBuffer.isView(h)?(b=h.subarray(o,Math.min(p,s)),d+=b.byteLength):(b=h.slice(o,Math.min(p,s)),d+=b.size),s-=p,u.push(b),o=0}}let f=new _i([],{type:String(n).toLowerCase()});return Kt(f,Go,i),Kt(f,Er,u),f}get[Symbol.toStringTag](){return"Blob"}static[Symbol.hasInstance](t){return t&&typeof t=="object"&&typeof t.constructor=="function"&&(typeof t.stream=="function"||typeof t.arrayBuffer=="function")&&/^(Blob|File)$/.test(t[Symbol.toStringTag])}},Er=new WeakMap,Gc=new WeakMap,Go=new WeakMap,Hp=new WeakMap,g(_i,"Blob"),_i);Object.defineProperties(rk.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});oo=rk,AP=(Wp=class extends oo{constructor(t,e,n={}){if(arguments.length<2)throw new TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`);super(t,n),Wn(this,Jc,0),Wn(this,Kc,""),n===null&&(n={});let r=n.lastModified===void 0?Date.now():Number(n.lastModified);Number.isNaN(r)||Kt(this,Jc,r),Kt(this,Kc,String(e))}get name(){return ze(this,Kc)}get lastModified(){return ze(this,Jc)}get[Symbol.toStringTag](){return"File"}static[Symbol.hasInstance](t){return!!t&&t instanceof oo&&/^(File)$/.test(t[Symbol.toStringTag])}},Jc=new WeakMap,Kc=new WeakMap,g(Wp,"File"),Wp),Wo=AP;({toStringTag:wi,iterator:vP,hasInstance:TP}=Symbol),Jw=Math.random,RP="append,set,get,getAll,delete,keys,values,entries,forEach,constructor".split(","),Kw=g((t,e,n)=>(t+="",/^(Blob|File)$/.test(e&&e[wi])?[(n=n!==void 0?n+"":e[wi]=="File"?e.name:"blob",t),e.name!==n||e[wi]=="blob"?new Wo([e],n,e):e]:[t,e+""]),"f"),Kp=g((t,e)=>(e?t:t.replace(/\r?\n|\r/g,`\r
|
|
68
|
+
`)).replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),"e$1"),to=g((t,e,n)=>{if(e.length<n)throw new TypeError(`Failed to execute '${t}' on 'FormData': ${n} arguments required, but only ${e.length} present.`)},"x"),eo=(Gp=class{constructor(...t){if(Wn(this,Gt,[]),t.length)throw new TypeError("Failed to construct 'FormData': parameter 1 is not of type 'HTMLFormElement'.")}get[wi](){return"FormData"}[vP](){return this.entries()}static[TP](t){return t&&typeof t=="object"&&t[wi]==="FormData"&&!RP.some(e=>typeof t[e]!="function")}append(...t){to("append",arguments,2),ze(this,Gt).push(Kw(...t))}delete(t){to("delete",arguments,1),t+="",Kt(this,Gt,ze(this,Gt).filter(([e])=>e!==t))}get(t){to("get",arguments,1),t+="";for(var e=ze(this,Gt),n=e.length,r=0;r<n;r++)if(e[r][0]===t)return e[r][1];return null}getAll(t,e){return to("getAll",arguments,1),e=[],t+="",ze(this,Gt).forEach(n=>n[0]===t&&e.push(n[1])),e}has(t){return to("has",arguments,1),t+="",ze(this,Gt).some(e=>e[0]===t)}forEach(t,e){to("forEach",arguments,1);for(var[n,r]of this)t.call(e,r,n,this)}set(...t){to("set",arguments,2);var e=[],n=!0;t=Kw(...t),ze(this,Gt).forEach(r=>{r[0]===t[0]?n&&(n=!e.push(t)):e.push(r)}),n&&e.push(t),Kt(this,Gt,e)}*entries(){yield*ze(this,Gt)}*keys(){for(var[t]of this)yield t}*values(){for(var[,t]of this)yield t}},Gt=new WeakMap,g(Gp,"FormData"),Gp);g(ok,"formDataToBlob");sk=class extends Error{constructor(e,n){super(e),Error.captureStackTrace(this,this.constructor),this.type=n}get name(){return this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}};g(sk,"FetchBaseError");cu=sk,ik=class extends cu{constructor(e,n,r){super(e,n),r&&(this.code=this.errno=r.code,this.erroredSysCall=r.syscall)}};g(ik,"FetchError");Mt=ik,ru=Symbol.toStringTag,ak=g(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[ru]==="URLSearchParams","isURLSearchParameters"),ou=g(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[ru]),"isBlob"),xP=g(t=>typeof t=="object"&&(t[ru]==="AbortSignal"||t[ru]==="EventTarget"),"isAbortSignal"),DP=g((t,e)=>{let n=new URL(e).hostname,r=new URL(t).hostname;return n===r||n.endsWith(`.${r}`)},"isDomainOrSubdomain"),OP=g((t,e)=>{let n=new URL(e).protocol,r=new URL(t).protocol;return n===r},"isSameProtocol"),PP=_P(yn.pipeline),Ct=Symbol("Body internals"),ck=class{constructor(e,{size:n=0}={}){let r=null;e===null?e=null:ak(e)?e=ct.from(e.toString()):ou(e)||ct.isBuffer(e)||(tu.isAnyArrayBuffer(e)?e=ct.from(e):ArrayBuffer.isView(e)?e=ct.from(e.buffer,e.byteOffset,e.byteLength):e instanceof yn||(e instanceof eo?(e=ok(e),r=e.type.split("=")[1]):e=ct.from(String(e))));let o=e;ct.isBuffer(e)?o=yn.Readable.from(e):ou(e)&&(o=yn.Readable.from(e.stream())),this[Ct]={body:e,stream:o,boundary:r,disturbed:!1,error:null},this.size=n,e instanceof yn&&e.on("error",s=>{let i=s instanceof cu?s:new Mt(`Invalid response body while trying to fetch ${this.url}: ${s.message}`,"system",s);this[Ct].error=i})}get body(){return this[Ct].stream}get bodyUsed(){return this[Ct].disturbed}async arrayBuffer(){let{buffer:e,byteOffset:n,byteLength:r}=await Xc(this);return e.slice(n,n+r)}async formData(){let e=this.headers.get("content-type");if(e.startsWith("application/x-www-form-urlencoded")){let r=new eo,o=new URLSearchParams(await this.text());for(let[s,i]of o)r.append(s,i);return r}let{toFormData:n}=await Promise.resolve().then(()=>(qw(),Lw));return n(this.body,e)}async blob(){let e=this.headers&&this.headers.get("content-type")||this[Ct].body&&this[Ct].body.type||"",n=await this.arrayBuffer();return new oo([n],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await Xc(this);return new TextDecoder().decode(e)}buffer(){return Xc(this)}};g(ck,"Body");ki=ck;ki.prototype.buffer=nu(ki.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer"),Object.defineProperties(ki.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:nu(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});g(Xc,"consumeBody");oh=g((t,e)=>{let n,r,{body:o}=t[Ct];if(t.bodyUsed)throw new Error("cannot clone body after it is used");return o instanceof yn&&typeof o.getBoundary!="function"&&(n=new eu({highWaterMark:e}),r=new eu({highWaterMark:e}),o.pipe(n),o.pipe(r),t[Ct].stream=n,o=r),o},"clone"),IP=nu(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"),uk=g((t,e)=>t===null?null:typeof t=="string"?"text/plain;charset=UTF-8":ak(t)?"application/x-www-form-urlencoded;charset=UTF-8":ou(t)?t.type||null:ct.isBuffer(t)||tu.isAnyArrayBuffer(t)||ArrayBuffer.isView(t)?null:t instanceof eo?`multipart/form-data; boundary=${e[Ct].boundary}`:t&&typeof t.getBoundary=="function"?`multipart/form-data;boundary=${IP(t)}`:t instanceof yn?null:"text/plain;charset=UTF-8","extractContentType"),FP=g(t=>{let{body:e}=t[Ct];return e===null?0:ou(e)?e.size:ct.isBuffer(e)?e.length:e&&typeof e.getLengthSync=="function"&&e.hasKnownLength&&e.hasKnownLength()?e.getLengthSync():null},"getTotalBytes"),NP=g(async(t,{body:e})=>{e===null?t.end():await PP(e,t)},"writeToStream"),Qc=typeof Ei.validateHeaderName=="function"?Ei.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}},Yp=typeof Ei.validateHeaderValue=="function"?Ei.validateHeaderValue:(t,e)=>{if(/[^\t\u0020-\u007E\u0080-\u00FF]/.test(e)){let n=new TypeError(`Invalid character in header content ["${t}"]`);throw Object.defineProperty(n,"code",{value:"ERR_INVALID_CHAR"}),n}},lk=class dk extends URLSearchParams{constructor(e){let n=[];if(e instanceof dk){let r=e.raw();for(let[o,s]of Object.entries(r))n.push(...s.map(i=>[o,i]))}else if(e!=null)if(typeof e=="object"&&!tu.isBoxedPrimitive(e)){let r=e[Symbol.iterator];if(r==null)n.push(...Object.entries(e));else{if(typeof r!="function")throw new TypeError("Header pairs must be iterable");n=[...e].map(o=>{if(typeof o!="object"||tu.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 n=n.length>0?n.map(([r,o])=>(Qc(r),Yp(r,String(o)),[String(r).toLowerCase(),String(o)])):void 0,super(n),new Proxy(this,{get(r,o,s){switch(o){case"append":case"set":return(i,a)=>(Qc(i),Yp(i,String(a)),URLSearchParams.prototype[o].call(r,String(i).toLowerCase(),String(a)));case"delete":case"has":case"getAll":return i=>(Qc(i),URLSearchParams.prototype[o].call(r,String(i).toLowerCase()));case"keys":return()=>(r.sort(),new Set(URLSearchParams.prototype.keys.call(r)).keys());default:return Reflect.get(r,o,s)}}})}get[Symbol.toStringTag](){return this.constructor.name}toString(){return Object.prototype.toString.call(this)}get(e){let n=this.getAll(e);if(n.length===0)return null;let r=n.join(", ");return/^content-encoding$/i.test(e)&&(r=r.toLowerCase()),r}forEach(e,n=void 0){for(let r of this.keys())Reflect.apply(e,n,[this.get(r),r,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,n)=>(e[n]=this.getAll(n),e),{})}[Symbol.for("nodejs.util.inspect.custom")](){return[...this.keys()].reduce((e,n)=>{let r=this.getAll(n);return n==="host"?e[n]=r[0]:e[n]=r.length>1?r:r[0],e},{})}};g(lk,"Headers");Gn=lk;Object.defineProperties(Gn.prototype,["get","entries","forEach","values"].reduce((t,e)=>(t[e]={enumerable:!0},t),{}));g(fk,"fromRawHeaders");MP=new Set([301,302,303,307,308]),uu=g(t=>MP.has(t),"isRedirect"),Jt=Symbol("Response internals"),pk=class Ci extends ki{constructor(e=null,n={}){super(e,n);let r=n.status!=null?n.status:200,o=new Gn(n.headers);if(e!==null&&!o.has("Content-Type")){let s=uk(e,this);s&&o.append("Content-Type",s)}this[Jt]={type:"default",url:n.url,status:r,statusText:n.statusText||"",headers:o,counter:n.counter,highWaterMark:n.highWaterMark}}get type(){return this[Jt].type}get url(){return this[Jt].url||""}get status(){return this[Jt].status}get ok(){return this[Jt].status>=200&&this[Jt].status<300}get redirected(){return this[Jt].counter>0}get statusText(){return this[Jt].statusText}get headers(){return this[Jt].headers}get highWaterMark(){return this[Jt].highWaterMark}clone(){return new Ci(oh(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,n=302){if(!uu(n))throw new RangeError('Failed to execute "redirect" on "response": Invalid status code');return new Ci(null,{headers:{location:new URL(e).toString()},status:n})}static error(){let e=new Ci(null,{status:0,statusText:""});return e[Jt].type="error",e}static json(e=void 0,n={}){let r=JSON.stringify(e);if(r===void 0)throw new TypeError("data is not JSON serializable");let o=new Gn(n&&n.headers);return o.has("content-type")||o.set("content-type","application/json"),new Ci(r,{...n,headers:o})}get[Symbol.toStringTag](){return"Response"}};g(pk,"Response");mn=pk;Object.defineProperties(mn.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}});BP=g(t=>{if(t.search)return t.search;let e=t.href.length-1,n=t.hash||(t.href[e]==="#"?"#":"");return t.href[e-n.length]==="?"?"?":""},"getSearch");g(Xp,"stripURLForUseAsAReferrer");hk=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),UP="strict-origin-when-cross-origin";g(mk,"validateReferrerPolicy");g(gk,"isOriginPotentiallyTrustworthy");g(no,"isUrlPotentiallyTrustworthy");g(yk,"determineRequestsReferrer");g(_k,"parseReferrerPolicyFromHeader");ot=Symbol("Request internals"),bi=g(t=>typeof t=="object"&&typeof t[ot]=="object","isRequest"),jP=nu(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),bk=class Ck extends ki{constructor(e,n={}){let r;if(bi(e)?r=new URL(e.url):(r=new URL(e),e={}),r.username!==""||r.password!=="")throw new TypeError(`${r} is an url with embedded credentials.`);let o=n.method||e.method||"GET";if(/^(delete|get|head|options|post|put)$/i.test(o)&&(o=o.toUpperCase()),!bi(n)&&"data"in n&&jP(),(n.body!=null||bi(e)&&e.body!==null)&&(o==="GET"||o==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let s=n.body?n.body:bi(e)&&e.body!==null?oh(e):null;super(s,{size:n.size||e.size||0});let i=new Gn(n.headers||e.headers||{});if(s!==null&&!i.has("Content-Type")){let d=uk(s,this);d&&i.set("Content-Type",d)}let a=bi(e)?e.signal:null;if("signal"in n&&(a=n.signal),a!=null&&!xP(a))throw new TypeError("Expected signal to be an instanceof AbortSignal or EventTarget");let u=n.referrer==null?e.referrer:n.referrer;if(u==="")u="no-referrer";else if(u){let d=new URL(u);u=/^about:(\/\/)?client$/.test(d)?"client":d}else u=void 0;this[ot]={method:o,redirect:n.redirect||e.redirect||"follow",headers:i,parsedURL:r,signal:a,referrer:u},this.follow=n.follow===void 0?e.follow===void 0?20:e.follow:n.follow,this.compress=n.compress===void 0?e.compress===void 0?!0:e.compress:n.compress,this.counter=n.counter||e.counter||0,this.agent=n.agent||e.agent,this.highWaterMark=n.highWaterMark||e.highWaterMark||16384,this.insecureHTTPParser=n.insecureHTTPParser||e.insecureHTTPParser||!1,this.referrerPolicy=n.referrerPolicy||e.referrerPolicy||""}get method(){return this[ot].method}get url(){return bP(this[ot].parsedURL)}get headers(){return this[ot].headers}get redirect(){return this[ot].redirect}get signal(){return this[ot].signal}get referrer(){if(this[ot].referrer==="no-referrer")return"";if(this[ot].referrer==="client")return"about:client";if(this[ot].referrer)return this[ot].referrer.toString()}get referrerPolicy(){return this[ot].referrerPolicy}set referrerPolicy(e){this[ot].referrerPolicy=mk(e)}clone(){return new Ck(this)}get[Symbol.toStringTag](){return"Request"}};g(bk,"Request");Ai=bk;Object.defineProperties(Ai.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}});LP=g(t=>{let{parsedURL:e}=t[ot],n=new Gn(t[ot].headers);n.has("Accept")||n.set("Accept","*/*");let r=null;if(t.body===null&&/^(post|put)$/i.test(t.method)&&(r="0"),t.body!==null){let a=FP(t);typeof a=="number"&&!Number.isNaN(a)&&(r=String(a))}r&&n.set("Content-Length",r),t.referrerPolicy===""&&(t.referrerPolicy=UP),t.referrer&&t.referrer!=="no-referrer"?t[ot].referrer=yk(t):t[ot].referrer="no-referrer",t[ot].referrer instanceof URL&&n.set("Referer",t.referrer),n.has("User-Agent")||n.set("User-Agent","node-fetch"),t.compress&&!n.has("Accept-Encoding")&&n.set("Accept-Encoding","gzip, deflate, br");let{agent:o}=t;typeof o=="function"&&(o=o(e));let s=BP(e),i={path:e.pathname+s,method:t.method,headers:n[Symbol.for("nodejs.util.inspect.custom")](),insecureHTTPParser:t.insecureHTTPParser,agent:o};return{parsedURL:e,options:i}},"getNodeRequestOptions"),wk=class extends cu{constructor(e,n="aborted"){super(e,n)}};g(wk,"AbortError");sh=wk;g(kk,"requireNodeDomexception");qP=kk(),$P=zp(qP),{stat:ih}=wP,Sk=g((t,e)=>Tk(ek(t),t,e),"blobFromSync"),Ek=g((t,e)=>ih(t).then(n=>Tk(n,t,e)),"blobFrom"),Ak=g((t,e)=>ih(t).then(n=>Rk(n,t,e)),"fileFrom"),vk=g((t,e)=>Rk(ek(t),t,e),"fileFromSync"),Tk=g((t,e,n="")=>new oo([new Ok({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],{type:n}),"fromBlob"),Rk=g((t,e,n="")=>new Wo([new Ok({path:e,size:t.size,lastModified:t.mtimeMs,start:0})],SP(e),{type:n,lastModified:t.mtimeMs}),"fromFile"),xk=class Dk{constructor(e){Wn(this,Vo),Wn(this,Yo),Kt(this,Vo,e.path),Kt(this,Yo,e.start),this.size=e.size,this.lastModified=e.lastModified}slice(e,n){return new Dk({path:ze(this,Vo),lastModified:this.lastModified,size:n-e,start:ze(this,Yo)+e})}async*stream(){let{mtimeMs:e}=await ih(ze(this,Vo));if(e>this.lastModified)throw new $P("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*kP(ze(this,Vo),{start:ze(this,Yo),end:ze(this,Yo)+this.size-1})}get[Symbol.toStringTag](){return"Blob"}};Vo=new WeakMap,Yo=new WeakMap,g(xk,"BlobDataItem");Ok=xk,zP=new Set(["data:","http:","https:"]);g(ah,"fetch$1");g(Pk,"fixResponseChunkedTransferBadEnding");Ik=new WeakMap,Qp=new WeakMap;g(Ue,"pd");g(Zp,"setCancelFlag");g(ro,"Event"),ro.prototype={get type(){return Ue(this).event.type},get target(){return Ue(this).eventTarget},get currentTarget(){return Ue(this).currentTarget},composedPath(){let t=Ue(this).currentTarget;return t==null?[]:[t]},get NONE(){return 0},get CAPTURING_PHASE(){return 1},get AT_TARGET(){return 2},get BUBBLING_PHASE(){return 3},get eventPhase(){return Ue(this).eventPhase},stopPropagation(){let t=Ue(this);t.stopped=!0,typeof t.event.stopPropagation=="function"&&t.event.stopPropagation()},stopImmediatePropagation(){let t=Ue(this);t.stopped=!0,t.immediateStopped=!0,typeof t.event.stopImmediatePropagation=="function"&&t.event.stopImmediatePropagation()},get bubbles(){return!!Ue(this).event.bubbles},get cancelable(){return!!Ue(this).event.cancelable},preventDefault(){Zp(Ue(this))},get defaultPrevented(){return Ue(this).canceled},get composed(){return!!Ue(this).event.composed},get timeStamp(){return Ue(this).timeStamp},get srcElement(){return Ue(this).eventTarget},get cancelBubble(){return Ue(this).stopped},set cancelBubble(t){if(!t)return;let e=Ue(this);e.stopped=!0,typeof e.event.cancelBubble=="boolean"&&(e.event.cancelBubble=!0)},get returnValue(){return!Ue(this).canceled},set returnValue(t){t||Zp(Ue(this))},initEvent(){}},Object.defineProperty(ro.prototype,"constructor",{value:ro,configurable:!0,writable:!0}),typeof window<"u"&&typeof window.Event<"u"&&(Object.setPrototypeOf(ro.prototype,window.Event.prototype),Qp.set(window.Event.prototype,ro));g(ch,"defineRedirectDescriptor");g(Fk,"defineCallDescriptor");g(Nk,"defineWrapper");g(uh,"getWrapper");g(Mk,"wrapEvent");g(Bk,"isStopped");g(Uk,"setEventPhase");g(jk,"setCurrentTarget");g(eh,"setPassiveListener");Lk=new WeakMap,Yw=1,Xw=2,Zc=3;g(Si,"isObject");g(Xo,"getListeners");g(qk,"defineEventAttributeDescriptor");g(lh,"defineEventAttribute");g(th,"defineCustomEventTarget");g(gn,"EventTarget"),gn.prototype={addEventListener(t,e,n){if(e==null)return;if(typeof e!="function"&&!Si(e))throw new TypeError("'listener' should be a function or an object.");let r=Xo(this),o=Si(n),s=(o?n.capture:n)?Yw:Xw,i={listener:e,listenerType:s,passive:o&&!!n.passive,once:o&&!!n.once,next:null},a=r.get(t);if(a===void 0){r.set(t,i);return}let u=null;for(;a!=null;){if(a.listener===e&&a.listenerType===s)return;u=a,a=a.next}u.next=i},removeEventListener(t,e,n){if(e==null)return;let r=Xo(this),o=(Si(n)?n.capture:n)?Yw:Xw,s=null,i=r.get(t);for(;i!=null;){if(i.listener===e&&i.listenerType===o){s!==null?s.next=i.next:i.next!==null?r.set(t,i.next):r.delete(t);return}s=i,i=i.next}},dispatchEvent(t){if(t==null||typeof t.type!="string")throw new TypeError('"event.type" should be a string.');let e=Xo(this),n=t.type,r=e.get(n);if(r==null)return!0;let o=Mk(this,t),s=null;for(;r!=null;){if(r.once?s!==null?s.next=r.next:r.next!==null?e.set(n,r.next):e.delete(n):s=r,eh(o,r.passive?r.listener:null),typeof r.listener=="function")try{r.listener.call(this,o)}catch(i){typeof console<"u"&&typeof console.error=="function"&&console.error(i)}else r.listenerType!==Zc&&typeof r.listener.handleEvent=="function"&&r.listener.handleEvent(o);if(Bk(o))break;r=r.next}return eh(o,null),Uk(o,0),jk(o,null),!o.defaultPrevented}},Object.defineProperty(gn.prototype,"constructor",{value:gn,configurable:!0,writable:!0}),typeof window<"u"&&typeof window.EventTarget<"u"&&Object.setPrototypeOf(gn.prototype,window.EventTarget.prototype);$k=class extends gn{constructor(){throw super(),new TypeError("AbortSignal cannot be constructed directly")}get aborted(){let e=iu.get(this);if(typeof e!="boolean")throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this===null?"null":typeof this}`);return e}};g($k,"AbortSignal");su=$k;lh(su.prototype,"abort");g(zk,"createAbortSignal");g(Hk,"abortSignal");iu=new WeakMap;Object.defineProperties(su.prototype,{aborted:{enumerable:!0}}),typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(su.prototype,Symbol.toStringTag,{configurable:!0,value:"AbortSignal"});au=(Jp=class{constructor(){Wk.set(this,zk())}get signal(){return nh(this)}abort(){Hk(nh(this))}},g(Jp,"AbortController"),Jp),Wk=new WeakMap;g(nh,"getSignal"),Object.defineProperties(au.prototype,{signal:{enumerable:!0},abort:{enumerable:!0}}),typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(au.prototype,Symbol.toStringTag,{configurable:!0,value:"AbortController"});HP=Object.defineProperty,WP=g((t,e)=>HP(t,"name",{value:e,configurable:!0}),"e"),Gk=ah;rh();g(rh,"s"),WP(rh,"checkNodeEnvironment")});var Jk={};S0(Jk,{AbortController:()=>ZP,AbortError:()=>sh,Blob:()=>JP,FetchError:()=>Mt,File:()=>KP,FormData:()=>VP,Headers:()=>YP,Request:()=>XP,Response:()=>QP,blobFrom:()=>Ek,blobFromSync:()=>Sk,default:()=>GP,fetch:()=>GP,fileFrom:()=>Ak,fileFromSync:()=>vk,isRedirect:()=>uu});var Ar,GP,JP,KP,VP,YP,XP,QP,ZP,Kk=mr(()=>{Wc();Wc();$c();Ar=!!globalThis.process?.env?.FORCE_NODE_FETCH,GP=!Ar&&globalThis.fetch||Gk,JP=!Ar&&globalThis.Blob||oo,KP=!Ar&&globalThis.File||Wo,VP=!Ar&&globalThis.FormData||eo,YP=!Ar&&globalThis.Headers||Gn,XP=!Ar&&globalThis.Request||Ai,QP=!Ar&&globalThis.Response||mn,ZP=!Ar&&globalThis.AbortController||au});var Xk=J(Zo=>{"use strict";var e1=Zo&&Zo.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},Qo;Object.defineProperty(Zo,"__esModule",{value:!0});Zo.Gaxios=void 0;var t1=e1(Dp()),n1=oe("https"),so=Ip(),r1=lw(),Vk=oe("stream"),Yk=Mp(),o1=async()=>globalThis.crypto?.randomUUID()||(await import("crypto")).randomUUID(),s1=204,lu=class{agentCache=new Map;defaults;interceptors;constructor(e){this.defaults=e||{},this.interceptors={request:new Yk.GaxiosInterceptorManager,response:new Yk.GaxiosInterceptorManager}}fetch(...e){let n=e[0],r=e[1],o,s=new Headers;return typeof n=="string"?o=new URL(n):n instanceof URL?o=n:n&&n.url&&(o=new URL(n.url)),n&&typeof n=="object"&&"headers"in n&&Qo.mergeHeaders(s,n.headers),r&&Qo.mergeHeaders(s,new Headers(r.headers)),typeof n=="object"&&!(n instanceof URL)?this.request({...r,...n,headers:s,url:o}):this.request({...r,headers:s,url:o})}async request(e={}){let n=await this.#r(e);return n=await this.#t(n),this.#n(this._request(n))}async _defaultAdapter(e){let n=e.fetchImplementation||this.defaults.fetchImplementation||await Qo.#c(),r={...e};delete r.data;let o=await n(e.url,r),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 n;if(e.adapter?n=await e.adapter(e,this._defaultAdapter.bind(this)):n=await this._defaultAdapter(e),!e.validateStatus(n.status)){if(e.responseType==="stream"){let o=[];for await(let s of n.data)o.push(s);n.data=Buffer.concat(o.map(s=>typeof s=="string"?Buffer.from(s):s)).toString("utf8")}let r=so.GaxiosError.extractAPIErrorFromResponse(n,`Request failed with status code ${n.status}`);throw new so.GaxiosError(r?.message,e,n,r)}return n}catch(n){let r;n instanceof so.GaxiosError?r=n:n instanceof Error?r=new so.GaxiosError(n.message,e,void 0,n):r=new so.GaxiosError("Unexpected Gaxios Error",e,void 0,n);let{shouldRetry:o,config:s}=await(0,r1.getRetryConfig)(r);if(o&&s)return r.config.retryConfig.currentRetryAttempt=s.retryConfig.currentRetryAttempt,e.retryConfig=r.config?.retryConfig,this.#o(e),this._request(e);throw e.errorRedactor&&e.errorRedactor(r),r}}async getResponseData(e,n){if(n.status===s1)return"";if(e.maxContentLength&&n.headers.has("content-length")&&e.maxContentLength<Number.parseInt(n.headers?.get("content-length")||""))throw new so.GaxiosError("Response's `Content-Length` is over the limit.",e,Object.assign(n,{config:e}));switch(e.responseType){case"stream":return n.body;case"json":{let r=await n.text();try{return JSON.parse(r)}catch{return r}}case"arraybuffer":return n.arrayBuffer();case"blob":return n.blob();case"text":return n.text();default:return this.getResponseDataFromContentType(n)}}#e(e,n=[]){let r=new URL(e),o=[...n],s=(process.env.NO_PROXY??process.env.no_proxy)?.split(",")||[];for(let i of s)o.push(i.trim());for(let i of o)if(i instanceof RegExp){if(i.test(r.toString()))return!1}else if(i instanceof URL){if(i.origin===r.origin)return!1}else if(i.startsWith("*.")||i.startsWith(".")){let a=i.replace(/^\*\./,".");if(r.hostname.endsWith(a))return!1}else if(i===r.origin||i===r.hostname||i===r.href)return!1;return!0}async#t(e){let n=Promise.resolve(e);for(let r of this.interceptors.request.values())r&&(n=n.then(r.resolved,r.rejected));return n}async#n(e){let n=Promise.resolve(e);for(let r of this.interceptors.response.values())r&&(n=n.then(r.resolved,r.rejected));return n}async#r(e){let n=new Headers(this.defaults.headers);Qo.mergeHeaders(n,e.headers);let r=(0,t1.default)(!0,{},this.defaults,e);if(!r.url)throw new Error("URL is required.");if(r.baseURL&&(r.url=new URL(r.url,r.baseURL)),r.url=new URL(r.url),r.params)if(r.paramsSerializer){let i=r.paramsSerializer(r.params);i.startsWith("?")&&(i=i.slice(1));let a=r.url.toString().includes("?")?"&":"?";r.url=r.url+a+i}else{let i=r.url instanceof URL?r.url:new URL(r.url);for(let[a,u]of new URLSearchParams(r.params))i.searchParams.append(a,u);r.url=i}typeof e.maxContentLength=="number"&&(r.size=e.maxContentLength),typeof e.maxRedirects=="number"&&(r.follow=e.maxRedirects);let o=typeof r.data=="string"||r.data instanceof ArrayBuffer||r.data instanceof Blob||globalThis.File&&r.data instanceof File||r.data instanceof FormData||r.data instanceof Vk.Readable||r.data instanceof ReadableStream||r.data instanceof String||r.data instanceof URLSearchParams||ArrayBuffer.isView(r.data)||["Blob","File","FormData"].includes(r.data?.constructor?.name||"");if(r.multipart?.length){let i=await o1();n.set("content-type",`multipart/related; boundary=${i}`),r.body=Vk.Readable.from(this.getMultipartRequest(r.multipart,i))}else o?r.body=r.data:typeof r.data=="object"?n.get("Content-Type")==="application/x-www-form-urlencoded"?r.body=r.paramsSerializer?r.paramsSerializer(r.data):new URLSearchParams(r.data):(n.has("content-type")||n.set("content-type","application/json"),r.body=JSON.stringify(r.data)):r.data&&(r.body=r.data);r.validateStatus=r.validateStatus||this.validateStatus,r.responseType=r.responseType||"unknown",!n.has("accept")&&r.responseType==="json"&&n.set("accept","application/json");let s=r.proxy||process?.env?.HTTPS_PROXY||process?.env?.https_proxy||process?.env?.HTTP_PROXY||process?.env?.http_proxy;if(!r.agent)if(s&&this.#e(r.url,r.noProxy)){let i=await Qo.#a();this.agentCache.has(s)?r.agent=this.agentCache.get(s):(r.agent=new i(s,{cert:r.cert,key:r.key}),this.agentCache.set(s,r.agent))}else r.cert&&r.key&&(this.agentCache.has(r.key)?r.agent=this.agentCache.get(r.key):(r.agent=new n1.Agent({cert:r.cert,key:r.key}),this.agentCache.set(r.key,r.agent)));return typeof r.errorRedactor!="function"&&r.errorRedactor!==!1&&(r.errorRedactor=so.defaultErrorRedactor),r.body&&!("duplex"in r)&&(r.duplex="half"),this.#o(r),Object.assign(r,{headers:n,url:r.url instanceof URL?r.url:new URL(r.url)})}#o(e){if(e.timeout){let n=AbortSignal.timeout(e.timeout);e.signal&&!e.signal.aborted?e.signal=AbortSignal.any([e.signal,n]):e.signal=n}}validateStatus(e){return e>=200&&e<300}async getResponseDataFromContentType(e){let n=e.headers.get("Content-Type");if(n===null)return e.text();if(n=n.toLowerCase(),n.includes("application/json")){let r=await e.text();try{r=JSON.parse(r)}catch{}return r}else return n.match(/^text\//)?e.text():e.blob()}async*getMultipartRequest(e,n){let r=`--${n}--`;for(let o of e){let s=o.headers.get("Content-Type")||"application/octet-stream";yield`--${n}\r
|
|
69
69
|
Content-Type: ${s}\r
|
|
70
70
|
\r
|
|
71
71
|
`,typeof o.content=="string"?yield o.content:yield*o.content,yield`\r
|
|
72
|
-
`}yield r}static#s;static#i;static async#a(){return this.#s||=(await Promise.resolve().then(()=>In(KC()))).HttpsProxyAgent,this.#s}static async#c(){let e=typeof window<"u"&&!!window;return this.#i||=e?window.fetch:(await Promise.resolve().then(()=>(ck(),ak))).default,this.#i}static mergeHeaders(e,...n){e=e instanceof Headers?e:new Headers(e);for(let r of n)(r instanceof Headers?r:new Headers(r)).forEach((s,i)=>{i==="set-cookie"?e.append(i,s):e.set(i,s)});return e}};zo.Gaxios=zc;$o=zc});var it=J(pt=>{"use strict";var l1=pt&&pt.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),d1=pt&&pt.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&l1(e,t,n)};Object.defineProperty(pt,"__esModule",{value:!0});pt.instance=pt.Gaxios=pt.GaxiosError=void 0;pt.request=p1;var fk=dk();Object.defineProperty(pt,"Gaxios",{enumerable:!0,get:function(){return fk.Gaxios}});var f1=tp();Object.defineProperty(pt,"GaxiosError",{enumerable:!0,get:function(){return f1.GaxiosError}});d1(op(),pt);pt.instance=new fk.Gaxios;async function p1(t){return pt.instance.request(t)}});var Ip=J((pk,Hc)=>{(function(t){"use strict";var e,n=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,r=Math.ceil,o=Math.floor,s="[BigNumber Error] ",i=s+"Number primitive has more than 15 significant digits: ",c=1e14,u=14,f=9007199254740991,d=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],p=1e7,h=1e9;function _(x){var O,q,$,H=K.prototype={constructor:K,toString:null,valueOf:null},ce=new K(1),X=20,te=4,Z=-7,Oe=21,$e=-1e7,Re=1e7,He=!1,ee=1,Q=0,ie={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},de="0123456789abcdefghijklmnopqrstuvwxyz",Ce=!0;function K(k,E){var R,M,D,F,j,P,N,U,B=this;if(!(B instanceof K))return new K(k,E);if(E==null){if(k&&k._isBigNumber===!0){B.s=k.s,!k.c||k.e>Re?B.c=B.e=null:k.e<$e?B.c=[B.e=0]:(B.e=k.e,B.c=k.c.slice());return}if((P=typeof k=="number")&&k*0==0){if(B.s=1/k<0?(k=-k,-1):1,k===~~k){for(F=0,j=k;j>=10;j/=10,F++);F>Re?B.c=B.e=null:(B.e=F,B.c=[k]);return}U=String(k)}else{if(!n.test(U=String(k)))return $(B,U,P);B.s=U.charCodeAt(0)==45?(U=U.slice(1),-1):1}(F=U.indexOf("."))>-1&&(U=U.replace(".","")),(j=U.search(/e/i))>0?(F<0&&(F=j),F+=+U.slice(j+1),U=U.substring(0,j)):F<0&&(F=U.length)}else{if(C(E,2,de.length,"Base"),E==10&&Ce)return B=new K(k),ue(B,X+B.e+1,te);if(U=String(k),P=typeof k=="number"){if(k*0!=0)return $(B,U,P,E);if(B.s=1/k<0?(U=U.slice(1),-1):1,K.DEBUG&&U.replace(/^0\.0*|\./,"").length>15)throw Error(i+k)}else B.s=U.charCodeAt(0)===45?(U=U.slice(1),-1):1;for(R=de.slice(0,E),F=j=0,N=U.length;j<N;j++)if(R.indexOf(M=U.charAt(j))<0){if(M=="."){if(j>F){F=N;continue}}else if(!D&&(U==U.toUpperCase()&&(U=U.toLowerCase())||U==U.toLowerCase()&&(U=U.toUpperCase()))){D=!0,j=-1,F=0;continue}return $(B,String(k),P,E)}P=!1,U=q(U,E,10,B.s),(F=U.indexOf("."))>-1?U=U.replace(".",""):F=U.length}for(j=0;U.charCodeAt(j)===48;j++);for(N=U.length;U.charCodeAt(--N)===48;);if(U=U.slice(j,++N)){if(N-=j,P&&K.DEBUG&&N>15&&(k>f||k!==o(k)))throw Error(i+B.s*k);if((F=F-j-1)>Re)B.c=B.e=null;else if(F<$e)B.c=[B.e=0];else{if(B.e=F,B.c=[],j=(F+1)%u,F<0&&(j+=u),j<N){for(j&&B.c.push(+U.slice(0,j)),N-=u;j<N;)B.c.push(+U.slice(j,j+=u));j=u-(U=U.slice(j)).length}else j-=N;for(;j--;U+="0");B.c.push(+U)}}else B.c=[B.e=0]}K.clone=_,K.ROUND_UP=0,K.ROUND_DOWN=1,K.ROUND_CEIL=2,K.ROUND_FLOOR=3,K.ROUND_HALF_UP=4,K.ROUND_HALF_DOWN=5,K.ROUND_HALF_EVEN=6,K.ROUND_HALF_CEIL=7,K.ROUND_HALF_FLOOR=8,K.EUCLID=9,K.config=K.set=function(k){var E,R;if(k!=null)if(typeof k=="object"){if(k.hasOwnProperty(E="DECIMAL_PLACES")&&(R=k[E],C(R,0,h,E),X=R),k.hasOwnProperty(E="ROUNDING_MODE")&&(R=k[E],C(R,0,8,E),te=R),k.hasOwnProperty(E="EXPONENTIAL_AT")&&(R=k[E],R&&R.pop?(C(R[0],-h,0,E),C(R[1],0,h,E),Z=R[0],Oe=R[1]):(C(R,-h,h,E),Z=-(Oe=R<0?-R:R))),k.hasOwnProperty(E="RANGE"))if(R=k[E],R&&R.pop)C(R[0],-h,-1,E),C(R[1],1,h,E),$e=R[0],Re=R[1];else if(C(R,-h,h,E),R)$e=-(Re=R<0?-R:R);else throw Error(s+E+" cannot be zero: "+R);if(k.hasOwnProperty(E="CRYPTO"))if(R=k[E],R===!!R)if(R)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))He=R;else throw He=!R,Error(s+"crypto unavailable");else He=R;else throw Error(s+E+" not true or false: "+R);if(k.hasOwnProperty(E="MODULO_MODE")&&(R=k[E],C(R,0,9,E),ee=R),k.hasOwnProperty(E="POW_PRECISION")&&(R=k[E],C(R,0,h,E),Q=R),k.hasOwnProperty(E="FORMAT"))if(R=k[E],typeof R=="object")ie=R;else throw Error(s+E+" not an object: "+R);if(k.hasOwnProperty(E="ALPHABET"))if(R=k[E],typeof R=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(R))Ce=R.slice(0,10)=="0123456789",de=R;else throw Error(s+E+" invalid: "+R)}else throw Error(s+"Object expected: "+k);return{DECIMAL_PLACES:X,ROUNDING_MODE:te,EXPONENTIAL_AT:[Z,Oe],RANGE:[$e,Re],CRYPTO:He,MODULO_MODE:ee,POW_PRECISION:Q,FORMAT:ie,ALPHABET:de}},K.isBigNumber=function(k){if(!k||k._isBigNumber!==!0)return!1;if(!K.DEBUG)return!0;var E,R,M=k.c,D=k.e,F=k.s;e:if({}.toString.call(M)=="[object Array]"){if((F===1||F===-1)&&D>=-h&&D<=h&&D===o(D)){if(M[0]===0){if(D===0&&M.length===1)return!0;break e}if(E=(D+1)%u,E<1&&(E+=u),String(M[0]).length==E){for(E=0;E<M.length;E++)if(R=M[E],R<0||R>=c||R!==o(R))break e;if(R!==0)return!0}}}else if(M===null&&D===null&&(F===null||F===1||F===-1))return!0;throw Error(s+"Invalid BigNumber: "+k)},K.maximum=K.max=function(){return Ne(arguments,-1)},K.minimum=K.min=function(){return Ne(arguments,1)},K.random=(function(){var k=9007199254740992,E=Math.random()*k&2097151?function(){return o(Math.random()*k)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(R){var M,D,F,j,P,N=0,U=[],B=new K(ce);if(R==null?R=X:C(R,0,h),j=r(R/u),He)if(crypto.getRandomValues){for(M=crypto.getRandomValues(new Uint32Array(j*=2));N<j;)P=M[N]*131072+(M[N+1]>>>11),P>=9e15?(D=crypto.getRandomValues(new Uint32Array(2)),M[N]=D[0],M[N+1]=D[1]):(U.push(P%1e14),N+=2);N=j/2}else if(crypto.randomBytes){for(M=crypto.randomBytes(j*=7);N<j;)P=(M[N]&31)*281474976710656+M[N+1]*1099511627776+M[N+2]*4294967296+M[N+3]*16777216+(M[N+4]<<16)+(M[N+5]<<8)+M[N+6],P>=9e15?crypto.randomBytes(7).copy(M,N):(U.push(P%1e14),N+=7);N=j/7}else throw He=!1,Error(s+"crypto unavailable");if(!He)for(;N<j;)P=E(),P<9e15&&(U[N++]=P%1e14);for(j=U[--N],R%=u,j&&R&&(P=d[u-R],U[N]=o(j/P)*P);U[N]===0;U.pop(),N--);if(N<0)U=[F=0];else{for(F=-1;U[0]===0;U.splice(0,1),F-=u);for(N=1,P=U[0];P>=10;P/=10,N++);N<u&&(F-=u-N)}return B.e=F,B.c=U,B}})(),K.sum=function(){for(var k=1,E=arguments,R=new K(E[0]);k<E.length;)R=R.plus(E[k++]);return R},q=(function(){var k="0123456789";function E(R,M,D,F){for(var j,P=[0],N,U=0,B=R.length;U<B;){for(N=P.length;N--;P[N]*=M);for(P[0]+=F.indexOf(R.charAt(U++)),j=0;j<P.length;j++)P[j]>D-1&&(P[j+1]==null&&(P[j+1]=0),P[j+1]+=P[j]/D|0,P[j]%=D)}return P.reverse()}return function(R,M,D,F,j){var P,N,U,B,G,se,ae,be,ye=R.indexOf("."),me=X,_e=te;for(ye>=0&&(B=Q,Q=0,R=R.replace(".",""),be=new K(M),se=be.pow(R.length-ye),Q=B,be.c=E(T(y(se.c),se.e,"0"),10,D,k),be.e=be.c.length),ae=E(R,M,D,j?(P=de,k):(P=k,de)),U=B=ae.length;ae[--B]==0;ae.pop());if(!ae[0])return P.charAt(0);if(ye<0?--U:(se.c=ae,se.e=U,se.s=F,se=O(se,be,me,_e,D),ae=se.c,G=se.r,U=se.e),N=U+me+1,ye=ae[N],B=D/2,G=G||N<0||ae[N+1]!=null,G=_e<4?(ye!=null||G)&&(_e==0||_e==(se.s<0?3:2)):ye>B||ye==B&&(_e==4||G||_e==6&&ae[N-1]&1||_e==(se.s<0?8:7)),N<1||!ae[0])R=G?T(P.charAt(1),-me,P.charAt(0)):P.charAt(0);else{if(ae.length=N,G)for(--D;++ae[--N]>D;)ae[N]=0,N||(++U,ae=[1].concat(ae));for(B=ae.length;!ae[--B];);for(ye=0,R="";ye<=B;R+=P.charAt(ae[ye++]));R=T(R,U,P.charAt(0))}return R}})(),O=(function(){function k(M,D,F){var j,P,N,U,B=0,G=M.length,se=D%p,ae=D/p|0;for(M=M.slice();G--;)N=M[G]%p,U=M[G]/p|0,j=ae*N+U*se,P=se*N+j%p*p+B,B=(P/F|0)+(j/p|0)+ae*U,M[G]=P%F;return B&&(M=[B].concat(M)),M}function E(M,D,F,j){var P,N;if(F!=j)N=F>j?1:-1;else for(P=N=0;P<F;P++)if(M[P]!=D[P]){N=M[P]>D[P]?1:-1;break}return N}function R(M,D,F,j){for(var P=0;F--;)M[F]-=P,P=M[F]<D[F]?1:0,M[F]=P*j+M[F]-D[F];for(;!M[0]&&M.length>1;M.splice(0,1));}return function(M,D,F,j,P){var N,U,B,G,se,ae,be,ye,me,_e,De,Ve,on,ks,io,wt,Xn,ut=M.s==D.s?1:-1,Xe=M.c,Me=D.c;if(!Xe||!Xe[0]||!Me||!Me[0])return new K(!M.s||!D.s||(Xe?Me&&Xe[0]==Me[0]:!Me)?NaN:Xe&&Xe[0]==0||!Me?ut*0:ut/0);for(ye=new K(ut),me=ye.c=[],U=M.e-D.e,ut=F+U+1,P||(P=c,U=b(M.e/u)-b(D.e/u),ut=ut/u|0),B=0;Me[B]==(Xe[B]||0);B++);if(Me[B]>(Xe[B]||0)&&U--,ut<0)me.push(1),G=!0;else{for(ks=Xe.length,wt=Me.length,B=0,ut+=2,se=o(P/(Me[0]+1)),se>1&&(Me=k(Me,se,P),Xe=k(Xe,se,P),wt=Me.length,ks=Xe.length),on=wt,_e=Xe.slice(0,wt),De=_e.length;De<wt;_e[De++]=0);Xn=Me.slice(),Xn=[0].concat(Xn),io=Me[0],Me[1]>=P/2&&io++;do{if(se=0,N=E(Me,_e,wt,De),N<0){if(Ve=_e[0],wt!=De&&(Ve=Ve*P+(_e[1]||0)),se=o(Ve/io),se>1)for(se>=P&&(se=P-1),ae=k(Me,se,P),be=ae.length,De=_e.length;E(ae,_e,be,De)==1;)se--,R(ae,wt<be?Xn:Me,be,P),be=ae.length,N=1;else se==0&&(N=se=1),ae=Me.slice(),be=ae.length;if(be<De&&(ae=[0].concat(ae)),R(_e,ae,De,P),De=_e.length,N==-1)for(;E(Me,_e,wt,De)<1;)se++,R(_e,wt<De?Xn:Me,De,P),De=_e.length}else N===0&&(se++,_e=[0]);me[B++]=se,_e[0]?_e[De++]=Xe[on]||0:(_e=[Xe[on]],De=1)}while((on++<ks||_e[0]!=null)&&ut--);G=_e[0]!=null,me[0]||me.splice(0,1)}if(P==c){for(B=1,ut=me[0];ut>=10;ut/=10,B++);ue(ye,F+(ye.e=B+U*u-1)+1,j,G)}else ye.e=U,ye.r=+G;return ye}})();function Je(k,E,R,M){var D,F,j,P,N;if(R==null?R=te:C(R,0,8),!k.c)return k.toString();if(D=k.c[0],j=k.e,E==null)N=y(k.c),N=M==1||M==2&&(j<=Z||j>=Oe)?A(N,j):T(N,j,"0");else if(k=ue(new K(k),E,R),F=k.e,N=y(k.c),P=N.length,M==1||M==2&&(E<=F||F<=Z)){for(;P<E;N+="0",P++);N=A(N,F)}else if(E-=j+(M===2&&F>j),N=T(N,F,"0"),F+1>P){if(--E>0)for(N+=".";E--;N+="0");}else if(E+=F-P,E>0)for(F+1==P&&(N+=".");E--;N+="0");return k.s<0&&D?"-"+N:N}function Ne(k,E){for(var R,M,D=1,F=new K(k[0]);D<k.length;D++)M=new K(k[D]),(!M.s||(R=w(F,M))===E||R===0&&F.s===E)&&(F=M);return F}function Y(k,E,R){for(var M=1,D=E.length;!E[--D];E.pop());for(D=E[0];D>=10;D/=10,M++);return(R=M+R*u-1)>Re?k.c=k.e=null:R<$e?k.c=[k.e=0]:(k.e=R,k.c=E),k}$=(function(){var k=/^(-?)0([xbo])(?=\w[\w.]*$)/i,E=/^([^.]+)\.$/,R=/^\.([^.]+)$/,M=/^-?(Infinity|NaN)$/,D=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(F,j,P,N){var U,B=P?j:j.replace(D,"");if(M.test(B))F.s=isNaN(B)?null:B<0?-1:1;else{if(!P&&(B=B.replace(k,function(G,se,ae){return U=(ae=ae.toLowerCase())=="x"?16:ae=="b"?2:8,!N||N==U?se:G}),N&&(U=N,B=B.replace(E,"$1").replace(R,"0.$1")),j!=B))return new K(B,U);if(K.DEBUG)throw Error(s+"Not a"+(N?" base "+N:"")+" number: "+j);F.s=null}F.c=F.e=null}})();function ue(k,E,R,M){var D,F,j,P,N,U,B,G=k.c,se=d;if(G){e:{for(D=1,P=G[0];P>=10;P/=10,D++);if(F=E-D,F<0)F+=u,j=E,N=G[U=0],B=o(N/se[D-j-1]%10);else if(U=r((F+1)/u),U>=G.length)if(M){for(;G.length<=U;G.push(0));N=B=0,D=1,F%=u,j=F-u+1}else break e;else{for(N=P=G[U],D=1;P>=10;P/=10,D++);F%=u,j=F-u+D,B=j<0?0:o(N/se[D-j-1]%10)}if(M=M||E<0||G[U+1]!=null||(j<0?N:N%se[D-j-1]),M=R<4?(B||M)&&(R==0||R==(k.s<0?3:2)):B>5||B==5&&(R==4||M||R==6&&(F>0?j>0?N/se[D-j]:0:G[U-1])%10&1||R==(k.s<0?8:7)),E<1||!G[0])return G.length=0,M?(E-=k.e+1,G[0]=se[(u-E%u)%u],k.e=-E||0):G[0]=k.e=0,k;if(F==0?(G.length=U,P=1,U--):(G.length=U+1,P=se[u-F],G[U]=j>0?o(N/se[D-j]%se[j])*P:0),M)for(;;)if(U==0){for(F=1,j=G[0];j>=10;j/=10,F++);for(j=G[0]+=P,P=1;j>=10;j/=10,P++);F!=P&&(k.e++,G[0]==c&&(G[0]=1));break}else{if(G[U]+=P,G[U]!=c)break;G[U--]=0,P=1}for(F=G.length;G[--F]===0;G.pop());}k.e>Re?k.c=k.e=null:k.e<$e&&(k.c=[k.e=0])}return k}function fe(k){var E,R=k.e;return R===null?k.toString():(E=y(k.c),E=R<=Z||R>=Oe?A(E,R):T(E,R,"0"),k.s<0?"-"+E:E)}return H.absoluteValue=H.abs=function(){var k=new K(this);return k.s<0&&(k.s=1),k},H.comparedTo=function(k,E){return w(this,new K(k,E))},H.decimalPlaces=H.dp=function(k,E){var R,M,D,F=this;if(k!=null)return C(k,0,h),E==null?E=te:C(E,0,8),ue(new K(F),k+F.e+1,E);if(!(R=F.c))return null;if(M=((D=R.length-1)-b(this.e/u))*u,D=R[D])for(;D%10==0;D/=10,M--);return M<0&&(M=0),M},H.dividedBy=H.div=function(k,E){return O(this,new K(k,E),X,te)},H.dividedToIntegerBy=H.idiv=function(k,E){return O(this,new K(k,E),0,1)},H.exponentiatedBy=H.pow=function(k,E){var R,M,D,F,j,P,N,U,B,G=this;if(k=new K(k),k.c&&!k.isInteger())throw Error(s+"Exponent not an integer: "+fe(k));if(E!=null&&(E=new K(E)),P=k.e>14,!G.c||!G.c[0]||G.c[0]==1&&!G.e&&G.c.length==1||!k.c||!k.c[0])return B=new K(Math.pow(+fe(G),P?k.s*(2-v(k)):+fe(k))),E?B.mod(E):B;if(N=k.s<0,E){if(E.c?!E.c[0]:!E.s)return new K(NaN);M=!N&&G.isInteger()&&E.isInteger(),M&&(G=G.mod(E))}else{if(k.e>9&&(G.e>0||G.e<-1||(G.e==0?G.c[0]>1||P&&G.c[1]>=24e7:G.c[0]<8e13||P&&G.c[0]<=9999975e7)))return F=G.s<0&&v(k)?-0:0,G.e>-1&&(F=1/F),new K(N?1/F:F);Q&&(F=r(Q/u+2))}for(P?(R=new K(.5),N&&(k.s=1),U=v(k)):(D=Math.abs(+fe(k)),U=D%2),B=new K(ce);;){if(U){if(B=B.times(G),!B.c)break;F?B.c.length>F&&(B.c.length=F):M&&(B=B.mod(E))}if(D){if(D=o(D/2),D===0)break;U=D%2}else if(k=k.times(R),ue(k,k.e+1,1),k.e>14)U=v(k);else{if(D=+fe(k),D===0)break;U=D%2}G=G.times(G),F?G.c&&G.c.length>F&&(G.c.length=F):M&&(G=G.mod(E))}return M?B:(N&&(B=ce.div(B)),E?B.mod(E):F?ue(B,Q,te,j):B)},H.integerValue=function(k){var E=new K(this);return k==null?k=te:C(k,0,8),ue(E,E.e+1,k)},H.isEqualTo=H.eq=function(k,E){return w(this,new K(k,E))===0},H.isFinite=function(){return!!this.c},H.isGreaterThan=H.gt=function(k,E){return w(this,new K(k,E))>0},H.isGreaterThanOrEqualTo=H.gte=function(k,E){return(E=w(this,new K(k,E)))===1||E===0},H.isInteger=function(){return!!this.c&&b(this.e/u)>this.c.length-2},H.isLessThan=H.lt=function(k,E){return w(this,new K(k,E))<0},H.isLessThanOrEqualTo=H.lte=function(k,E){return(E=w(this,new K(k,E)))===-1||E===0},H.isNaN=function(){return!this.s},H.isNegative=function(){return this.s<0},H.isPositive=function(){return this.s>0},H.isZero=function(){return!!this.c&&this.c[0]==0},H.minus=function(k,E){var R,M,D,F,j=this,P=j.s;if(k=new K(k,E),E=k.s,!P||!E)return new K(NaN);if(P!=E)return k.s=-E,j.plus(k);var N=j.e/u,U=k.e/u,B=j.c,G=k.c;if(!N||!U){if(!B||!G)return B?(k.s=-E,k):new K(G?j:NaN);if(!B[0]||!G[0])return G[0]?(k.s=-E,k):new K(B[0]?j:te==3?-0:0)}if(N=b(N),U=b(U),B=B.slice(),P=N-U){for((F=P<0)?(P=-P,D=B):(U=N,D=G),D.reverse(),E=P;E--;D.push(0));D.reverse()}else for(M=(F=(P=B.length)<(E=G.length))?P:E,P=E=0;E<M;E++)if(B[E]!=G[E]){F=B[E]<G[E];break}if(F&&(D=B,B=G,G=D,k.s=-k.s),E=(M=G.length)-(R=B.length),E>0)for(;E--;B[R++]=0);for(E=c-1;M>P;){if(B[--M]<G[M]){for(R=M;R&&!B[--R];B[R]=E);--B[R],B[M]+=c}B[M]-=G[M]}for(;B[0]==0;B.splice(0,1),--U);return B[0]?Y(k,B,U):(k.s=te==3?-1:1,k.c=[k.e=0],k)},H.modulo=H.mod=function(k,E){var R,M,D=this;return k=new K(k,E),!D.c||!k.s||k.c&&!k.c[0]?new K(NaN):!k.c||D.c&&!D.c[0]?new K(D):(ee==9?(M=k.s,k.s=1,R=O(D,k,0,3),k.s=M,R.s*=M):R=O(D,k,0,ee),k=D.minus(R.times(k)),!k.c[0]&&ee==1&&(k.s=D.s),k)},H.multipliedBy=H.times=function(k,E){var R,M,D,F,j,P,N,U,B,G,se,ae,be,ye,me,_e=this,De=_e.c,Ve=(k=new K(k,E)).c;if(!De||!Ve||!De[0]||!Ve[0])return!_e.s||!k.s||De&&!De[0]&&!Ve||Ve&&!Ve[0]&&!De?k.c=k.e=k.s=null:(k.s*=_e.s,!De||!Ve?k.c=k.e=null:(k.c=[0],k.e=0)),k;for(M=b(_e.e/u)+b(k.e/u),k.s*=_e.s,N=De.length,G=Ve.length,N<G&&(be=De,De=Ve,Ve=be,D=N,N=G,G=D),D=N+G,be=[];D--;be.push(0));for(ye=c,me=p,D=G;--D>=0;){for(R=0,se=Ve[D]%me,ae=Ve[D]/me|0,j=N,F=D+j;F>D;)U=De[--j]%me,B=De[j]/me|0,P=ae*U+B*se,U=se*U+P%me*me+be[F]+R,R=(U/ye|0)+(P/me|0)+ae*B,be[F--]=U%ye;be[F]=R}return R?++M:be.splice(0,1),Y(k,be,M)},H.negated=function(){var k=new K(this);return k.s=-k.s||null,k},H.plus=function(k,E){var R,M=this,D=M.s;if(k=new K(k,E),E=k.s,!D||!E)return new K(NaN);if(D!=E)return k.s=-E,M.minus(k);var F=M.e/u,j=k.e/u,P=M.c,N=k.c;if(!F||!j){if(!P||!N)return new K(D/0);if(!P[0]||!N[0])return N[0]?k:new K(P[0]?M:D*0)}if(F=b(F),j=b(j),P=P.slice(),D=F-j){for(D>0?(j=F,R=N):(D=-D,R=P),R.reverse();D--;R.push(0));R.reverse()}for(D=P.length,E=N.length,D-E<0&&(R=N,N=P,P=R,E=D),D=0;E;)D=(P[--E]=P[E]+N[E]+D)/c|0,P[E]=c===P[E]?0:P[E]%c;return D&&(P=[D].concat(P),++j),Y(k,P,j)},H.precision=H.sd=function(k,E){var R,M,D,F=this;if(k!=null&&k!==!!k)return C(k,1,h),E==null?E=te:C(E,0,8),ue(new K(F),k,E);if(!(R=F.c))return null;if(D=R.length-1,M=D*u+1,D=R[D]){for(;D%10==0;D/=10,M--);for(D=R[0];D>=10;D/=10,M++);}return k&&F.e+1>M&&(M=F.e+1),M},H.shiftedBy=function(k){return C(k,-f,f),this.times("1e"+k)},H.squareRoot=H.sqrt=function(){var k,E,R,M,D,F=this,j=F.c,P=F.s,N=F.e,U=X+4,B=new K("0.5");if(P!==1||!j||!j[0])return new K(!P||P<0&&(!j||j[0])?NaN:j?F:1/0);if(P=Math.sqrt(+fe(F)),P==0||P==1/0?(E=y(j),(E.length+N)%2==0&&(E+="0"),P=Math.sqrt(+E),N=b((N+1)/2)-(N<0||N%2),P==1/0?E="5e"+N:(E=P.toExponential(),E=E.slice(0,E.indexOf("e")+1)+N),R=new K(E)):R=new K(P+""),R.c[0]){for(N=R.e,P=N+U,P<3&&(P=0);;)if(D=R,R=B.times(D.plus(O(F,D,U,1))),y(D.c).slice(0,P)===(E=y(R.c)).slice(0,P))if(R.e<N&&--P,E=E.slice(P-3,P+1),E=="9999"||!M&&E=="4999"){if(!M&&(ue(D,D.e+X+2,0),D.times(D).eq(F))){R=D;break}U+=4,P+=4,M=1}else{(!+E||!+E.slice(1)&&E.charAt(0)=="5")&&(ue(R,R.e+X+2,1),k=!R.times(R).eq(F));break}}return ue(R,R.e+X+1,te,k)},H.toExponential=function(k,E){return k!=null&&(C(k,0,h),k++),Je(this,k,E,1)},H.toFixed=function(k,E){return k!=null&&(C(k,0,h),k=k+this.e+1),Je(this,k,E)},H.toFormat=function(k,E,R){var M,D=this;if(R==null)k!=null&&E&&typeof E=="object"?(R=E,E=null):k&&typeof k=="object"?(R=k,k=E=null):R=ie;else if(typeof R!="object")throw Error(s+"Argument not an object: "+R);if(M=D.toFixed(k,E),D.c){var F,j=M.split("."),P=+R.groupSize,N=+R.secondaryGroupSize,U=R.groupSeparator||"",B=j[0],G=j[1],se=D.s<0,ae=se?B.slice(1):B,be=ae.length;if(N&&(F=P,P=N,N=F,be-=F),P>0&&be>0){for(F=be%P||P,B=ae.substr(0,F);F<be;F+=P)B+=U+ae.substr(F,P);N>0&&(B+=U+ae.slice(F)),se&&(B="-"+B)}M=G?B+(R.decimalSeparator||"")+((N=+R.fractionGroupSize)?G.replace(new RegExp("\\d{"+N+"}\\B","g"),"$&"+(R.fractionGroupSeparator||"")):G):B}return(R.prefix||"")+M+(R.suffix||"")},H.toFraction=function(k){var E,R,M,D,F,j,P,N,U,B,G,se,ae=this,be=ae.c;if(k!=null&&(P=new K(k),!P.isInteger()&&(P.c||P.s!==1)||P.lt(ce)))throw Error(s+"Argument "+(P.isInteger()?"out of range: ":"not an integer: ")+fe(P));if(!be)return new K(ae);for(E=new K(ce),U=R=new K(ce),M=N=new K(ce),se=y(be),F=E.e=se.length-ae.e-1,E.c[0]=d[(j=F%u)<0?u+j:j],k=!k||P.comparedTo(E)>0?F>0?E:U:P,j=Re,Re=1/0,P=new K(se),N.c[0]=0;B=O(P,E,0,1),D=R.plus(B.times(M)),D.comparedTo(k)!=1;)R=M,M=D,U=N.plus(B.times(D=U)),N=D,E=P.minus(B.times(D=E)),P=D;return D=O(k.minus(R),M,0,1),N=N.plus(D.times(U)),R=R.plus(D.times(M)),N.s=U.s=ae.s,F=F*2,G=O(U,M,F,te).minus(ae).abs().comparedTo(O(N,R,F,te).minus(ae).abs())<1?[U,M]:[N,R],Re=j,G},H.toNumber=function(){return+fe(this)},H.toPrecision=function(k,E){return k!=null&&C(k,1,h),Je(this,k,E,2)},H.toString=function(k){var E,R=this,M=R.s,D=R.e;return D===null?M?(E="Infinity",M<0&&(E="-"+E)):E="NaN":(k==null?E=D<=Z||D>=Oe?A(y(R.c),D):T(y(R.c),D,"0"):k===10&&Ce?(R=ue(new K(R),X+D+1,te),E=T(y(R.c),R.e,"0")):(C(k,2,de.length,"Base"),E=q(T(y(R.c),D,"0"),10,k,M,!0)),M<0&&R.c[0]&&(E="-"+E)),E},H.valueOf=H.toJSON=function(){return fe(this)},H._isBigNumber=!0,x!=null&&K.set(x),K}function b(x){var O=x|0;return x>0||x===O?O:O-1}function y(x){for(var O,q,$=1,H=x.length,ce=x[0]+"";$<H;){for(O=x[$++]+"",q=u-O.length;q--;O="0"+O);ce+=O}for(H=ce.length;ce.charCodeAt(--H)===48;);return ce.slice(0,H+1||1)}function w(x,O){var q,$,H=x.c,ce=O.c,X=x.s,te=O.s,Z=x.e,Oe=O.e;if(!X||!te)return null;if(q=H&&!H[0],$=ce&&!ce[0],q||$)return q?$?0:-te:X;if(X!=te)return X;if(q=X<0,$=Z==Oe,!H||!ce)return $?0:!H^q?1:-1;if(!$)return Z>Oe^q?1:-1;for(te=(Z=H.length)<(Oe=ce.length)?Z:Oe,X=0;X<te;X++)if(H[X]!=ce[X])return H[X]>ce[X]^q?1:-1;return Z==Oe?0:Z>Oe^q?1:-1}function C(x,O,q,$){if(x<O||x>q||x!==o(x))throw Error(s+($||"Argument")+(typeof x=="number"?x<O||x>q?" out of range: ":" not an integer: ":" not a primitive number: ")+String(x))}function v(x){var O=x.c.length-1;return b(x.e/u)==O&&x.c[O]%2!=0}function A(x,O){return(x.length>1?x.charAt(0)+"."+x.slice(1):x)+(O<0?"e":"e+")+O}function T(x,O,q){var $,H;if(O<0){for(H=q+".";++O;H+=q);x=H+x}else if($=x.length,++O>$){for(H=q,O-=$;--O;H+=q);x+=H}else O<$&&(x=x.slice(0,O)+"."+x.slice(O));return x}e=_(),e.default=e.BigNumber=e,typeof define=="function"&&define.amd?define(function(){return e}):typeof Hc<"u"&&Hc.exports?Hc.exports=e:(t||(t=typeof self<"u"&&self?self:window),t.BigNumber=e)})(pk)});var yk=J((yH,gk)=>{var hk=Ip(),mk=gk.exports;(function(){"use strict";function t(f){return f<10?"0"+f:f}var e=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,n=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,r,o,s={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},i;function c(f){return n.lastIndex=0,n.test(f)?'"'+f.replace(n,function(d){var p=s[d];return typeof p=="string"?p:"\\u"+("0000"+d.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+f+'"'}function u(f,d){var p,h,_,b,y=r,w,C=d[f],v=C!=null&&(C instanceof hk||hk.isBigNumber(C));switch(C&&typeof C=="object"&&typeof C.toJSON=="function"&&(C=C.toJSON(f)),typeof i=="function"&&(C=i.call(d,f,C)),typeof C){case"string":return v?C:c(C);case"number":return isFinite(C)?String(C):"null";case"boolean":case"null":case"bigint":return String(C);case"object":if(!C)return"null";if(r+=o,w=[],Object.prototype.toString.apply(C)==="[object Array]"){for(b=C.length,p=0;p<b;p+=1)w[p]=u(p,C)||"null";return _=w.length===0?"[]":r?`[
|
|
72
|
+
`}yield r}static#s;static#i;static async#a(){return this.#s||=(await Promise.resolve().then(()=>Bn(Nw()))).HttpsProxyAgent,this.#s}static async#c(){let e=typeof window<"u"&&!!window;return this.#i||=e?window.fetch:(await Promise.resolve().then(()=>(Kk(),Jk))).default,this.#i}static mergeHeaders(e,...n){e=e instanceof Headers?e:new Headers(e);for(let r of n)(r instanceof Headers?r:new Headers(r)).forEach((s,i)=>{i==="set-cookie"?e.append(i,s):e.set(i,s)});return e}};Zo.Gaxios=lu;Qo=lu});var it=J(pt=>{"use strict";var i1=pt&&pt.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),a1=pt&&pt.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&i1(e,t,n)};Object.defineProperty(pt,"__esModule",{value:!0});pt.instance=pt.Gaxios=pt.GaxiosError=void 0;pt.request=u1;var Qk=Xk();Object.defineProperty(pt,"Gaxios",{enumerable:!0,get:function(){return Qk.Gaxios}});var c1=Ip();Object.defineProperty(pt,"GaxiosError",{enumerable:!0,get:function(){return c1.GaxiosError}});a1(Mp(),pt);pt.instance=new Qk.Gaxios;async function u1(t){return pt.instance.request(t)}});var dh=J((Zk,du)=>{(function(t){"use strict";var e,n=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,r=Math.ceil,o=Math.floor,s="[BigNumber Error] ",i=s+"Number primitive has more than 15 significant digits: ",a=1e14,u=14,d=9007199254740991,f=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],h=1e7,p=1e9;function b(x){var O,q,$,z=V.prototype={constructor:V,toString:null,valueOf:null},ce=new V(1),X=20,ee=4,Z=-7,xe=21,$e=-1e7,Re=1e7,He=!1,te=1,Q=0,ie={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},de="0123456789abcdefghijklmnopqrstuvwxyz",Ce=!0;function V(k,v){var R,M,D,F,j,P,N,U,B=this;if(!(B instanceof V))return new V(k,v);if(v==null){if(k&&k._isBigNumber===!0){B.s=k.s,!k.c||k.e>Re?B.c=B.e=null:k.e<$e?B.c=[B.e=0]:(B.e=k.e,B.c=k.c.slice());return}if((P=typeof k=="number")&&k*0==0){if(B.s=1/k<0?(k=-k,-1):1,k===~~k){for(F=0,j=k;j>=10;j/=10,F++);F>Re?B.c=B.e=null:(B.e=F,B.c=[k]);return}U=String(k)}else{if(!n.test(U=String(k)))return $(B,U,P);B.s=U.charCodeAt(0)==45?(U=U.slice(1),-1):1}(F=U.indexOf("."))>-1&&(U=U.replace(".","")),(j=U.search(/e/i))>0?(F<0&&(F=j),F+=+U.slice(j+1),U=U.substring(0,j)):F<0&&(F=U.length)}else{if(_(v,2,de.length,"Base"),v==10&&Ce)return B=new V(k),ue(B,X+B.e+1,ee);if(U=String(k),P=typeof k=="number"){if(k*0!=0)return $(B,U,P,v);if(B.s=1/k<0?(U=U.slice(1),-1):1,V.DEBUG&&U.replace(/^0\.0*|\./,"").length>15)throw Error(i+k)}else B.s=U.charCodeAt(0)===45?(U=U.slice(1),-1):1;for(R=de.slice(0,v),F=j=0,N=U.length;j<N;j++)if(R.indexOf(M=U.charAt(j))<0){if(M=="."){if(j>F){F=N;continue}}else if(!D&&(U==U.toUpperCase()&&(U=U.toLowerCase())||U==U.toLowerCase()&&(U=U.toUpperCase()))){D=!0,j=-1,F=0;continue}return $(B,String(k),P,v)}P=!1,U=q(U,v,10,B.s),(F=U.indexOf("."))>-1?U=U.replace(".",""):F=U.length}for(j=0;U.charCodeAt(j)===48;j++);for(N=U.length;U.charCodeAt(--N)===48;);if(U=U.slice(j,++N)){if(N-=j,P&&V.DEBUG&&N>15&&(k>d||k!==o(k)))throw Error(i+B.s*k);if((F=F-j-1)>Re)B.c=B.e=null;else if(F<$e)B.c=[B.e=0];else{if(B.e=F,B.c=[],j=(F+1)%u,F<0&&(j+=u),j<N){for(j&&B.c.push(+U.slice(0,j)),N-=u;j<N;)B.c.push(+U.slice(j,j+=u));j=u-(U=U.slice(j)).length}else j-=N;for(;j--;U+="0");B.c.push(+U)}}else B.c=[B.e=0]}V.clone=b,V.ROUND_UP=0,V.ROUND_DOWN=1,V.ROUND_CEIL=2,V.ROUND_FLOOR=3,V.ROUND_HALF_UP=4,V.ROUND_HALF_DOWN=5,V.ROUND_HALF_EVEN=6,V.ROUND_HALF_CEIL=7,V.ROUND_HALF_FLOOR=8,V.EUCLID=9,V.config=V.set=function(k){var v,R;if(k!=null)if(typeof k=="object"){if(k.hasOwnProperty(v="DECIMAL_PLACES")&&(R=k[v],_(R,0,p,v),X=R),k.hasOwnProperty(v="ROUNDING_MODE")&&(R=k[v],_(R,0,8,v),ee=R),k.hasOwnProperty(v="EXPONENTIAL_AT")&&(R=k[v],R&&R.pop?(_(R[0],-p,0,v),_(R[1],0,p,v),Z=R[0],xe=R[1]):(_(R,-p,p,v),Z=-(xe=R<0?-R:R))),k.hasOwnProperty(v="RANGE"))if(R=k[v],R&&R.pop)_(R[0],-p,-1,v),_(R[1],1,p,v),$e=R[0],Re=R[1];else if(_(R,-p,p,v),R)$e=-(Re=R<0?-R:R);else throw Error(s+v+" cannot be zero: "+R);if(k.hasOwnProperty(v="CRYPTO"))if(R=k[v],R===!!R)if(R)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))He=R;else throw He=!R,Error(s+"crypto unavailable");else He=R;else throw Error(s+v+" not true or false: "+R);if(k.hasOwnProperty(v="MODULO_MODE")&&(R=k[v],_(R,0,9,v),te=R),k.hasOwnProperty(v="POW_PRECISION")&&(R=k[v],_(R,0,p,v),Q=R),k.hasOwnProperty(v="FORMAT"))if(R=k[v],typeof R=="object")ie=R;else throw Error(s+v+" not an object: "+R);if(k.hasOwnProperty(v="ALPHABET"))if(R=k[v],typeof R=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(R))Ce=R.slice(0,10)=="0123456789",de=R;else throw Error(s+v+" invalid: "+R)}else throw Error(s+"Object expected: "+k);return{DECIMAL_PLACES:X,ROUNDING_MODE:ee,EXPONENTIAL_AT:[Z,xe],RANGE:[$e,Re],CRYPTO:He,MODULO_MODE:te,POW_PRECISION:Q,FORMAT:ie,ALPHABET:de}},V.isBigNumber=function(k){if(!k||k._isBigNumber!==!0)return!1;if(!V.DEBUG)return!0;var v,R,M=k.c,D=k.e,F=k.s;e:if({}.toString.call(M)=="[object Array]"){if((F===1||F===-1)&&D>=-p&&D<=p&&D===o(D)){if(M[0]===0){if(D===0&&M.length===1)return!0;break e}if(v=(D+1)%u,v<1&&(v+=u),String(M[0]).length==v){for(v=0;v<M.length;v++)if(R=M[v],R<0||R>=a||R!==o(R))break e;if(R!==0)return!0}}}else if(M===null&&D===null&&(F===null||F===1||F===-1))return!0;throw Error(s+"Invalid BigNumber: "+k)},V.maximum=V.max=function(){return Ne(arguments,-1)},V.minimum=V.min=function(){return Ne(arguments,1)},V.random=(function(){var k=9007199254740992,v=Math.random()*k&2097151?function(){return o(Math.random()*k)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(R){var M,D,F,j,P,N=0,U=[],B=new V(ce);if(R==null?R=X:_(R,0,p),j=r(R/u),He)if(crypto.getRandomValues){for(M=crypto.getRandomValues(new Uint32Array(j*=2));N<j;)P=M[N]*131072+(M[N+1]>>>11),P>=9e15?(D=crypto.getRandomValues(new Uint32Array(2)),M[N]=D[0],M[N+1]=D[1]):(U.push(P%1e14),N+=2);N=j/2}else if(crypto.randomBytes){for(M=crypto.randomBytes(j*=7);N<j;)P=(M[N]&31)*281474976710656+M[N+1]*1099511627776+M[N+2]*4294967296+M[N+3]*16777216+(M[N+4]<<16)+(M[N+5]<<8)+M[N+6],P>=9e15?crypto.randomBytes(7).copy(M,N):(U.push(P%1e14),N+=7);N=j/7}else throw He=!1,Error(s+"crypto unavailable");if(!He)for(;N<j;)P=v(),P<9e15&&(U[N++]=P%1e14);for(j=U[--N],R%=u,j&&R&&(P=f[u-R],U[N]=o(j/P)*P);U[N]===0;U.pop(),N--);if(N<0)U=[F=0];else{for(F=-1;U[0]===0;U.splice(0,1),F-=u);for(N=1,P=U[0];P>=10;P/=10,N++);N<u&&(F-=u-N)}return B.e=F,B.c=U,B}})(),V.sum=function(){for(var k=1,v=arguments,R=new V(v[0]);k<v.length;)R=R.plus(v[k++]);return R},q=(function(){var k="0123456789";function v(R,M,D,F){for(var j,P=[0],N,U=0,B=R.length;U<B;){for(N=P.length;N--;P[N]*=M);for(P[0]+=F.indexOf(R.charAt(U++)),j=0;j<P.length;j++)P[j]>D-1&&(P[j+1]==null&&(P[j+1]=0),P[j+1]+=P[j]/D|0,P[j]%=D)}return P.reverse()}return function(R,M,D,F,j){var P,N,U,B,G,se,ae,be,ye=R.indexOf("."),me=X,_e=ee;for(ye>=0&&(B=Q,Q=0,R=R.replace(".",""),be=new V(M),se=be.pow(R.length-ye),Q=B,be.c=v(T(m(se.c),se.e,"0"),10,D,k),be.e=be.c.length),ae=v(R,M,D,j?(P=de,k):(P=k,de)),U=B=ae.length;ae[--B]==0;ae.pop());if(!ae[0])return P.charAt(0);if(ye<0?--U:(se.c=ae,se.e=U,se.s=F,se=O(se,be,me,_e,D),ae=se.c,G=se.r,U=se.e),N=U+me+1,ye=ae[N],B=D/2,G=G||N<0||ae[N+1]!=null,G=_e<4?(ye!=null||G)&&(_e==0||_e==(se.s<0?3:2)):ye>B||ye==B&&(_e==4||G||_e==6&&ae[N-1]&1||_e==(se.s<0?8:7)),N<1||!ae[0])R=G?T(P.charAt(1),-me,P.charAt(0)):P.charAt(0);else{if(ae.length=N,G)for(--D;++ae[--N]>D;)ae[N]=0,N||(++U,ae=[1].concat(ae));for(B=ae.length;!ae[--B];);for(ye=0,R="";ye<=B;R+=P.charAt(ae[ye++]));R=T(R,U,P.charAt(0))}return R}})(),O=(function(){function k(M,D,F){var j,P,N,U,B=0,G=M.length,se=D%h,ae=D/h|0;for(M=M.slice();G--;)N=M[G]%h,U=M[G]/h|0,j=ae*N+U*se,P=se*N+j%h*h+B,B=(P/F|0)+(j/h|0)+ae*U,M[G]=P%F;return B&&(M=[B].concat(M)),M}function v(M,D,F,j){var P,N;if(F!=j)N=F>j?1:-1;else for(P=N=0;P<F;P++)if(M[P]!=D[P]){N=M[P]>D[P]?1:-1;break}return N}function R(M,D,F,j){for(var P=0;F--;)M[F]-=P,P=M[F]<D[F]?1:0,M[F]=P*j+M[F]-D[F];for(;!M[0]&&M.length>1;M.splice(0,1));}return function(M,D,F,j,P){var N,U,B,G,se,ae,be,ye,me,_e,Oe,Ve,an,Os,ho,wt,nr,ut=M.s==D.s?1:-1,Qe=M.c,Me=D.c;if(!Qe||!Qe[0]||!Me||!Me[0])return new V(!M.s||!D.s||(Qe?Me&&Qe[0]==Me[0]:!Me)?NaN:Qe&&Qe[0]==0||!Me?ut*0:ut/0);for(ye=new V(ut),me=ye.c=[],U=M.e-D.e,ut=F+U+1,P||(P=a,U=C(M.e/u)-C(D.e/u),ut=ut/u|0),B=0;Me[B]==(Qe[B]||0);B++);if(Me[B]>(Qe[B]||0)&&U--,ut<0)me.push(1),G=!0;else{for(Os=Qe.length,wt=Me.length,B=0,ut+=2,se=o(P/(Me[0]+1)),se>1&&(Me=k(Me,se,P),Qe=k(Qe,se,P),wt=Me.length,Os=Qe.length),an=wt,_e=Qe.slice(0,wt),Oe=_e.length;Oe<wt;_e[Oe++]=0);nr=Me.slice(),nr=[0].concat(nr),ho=Me[0],Me[1]>=P/2&&ho++;do{if(se=0,N=v(Me,_e,wt,Oe),N<0){if(Ve=_e[0],wt!=Oe&&(Ve=Ve*P+(_e[1]||0)),se=o(Ve/ho),se>1)for(se>=P&&(se=P-1),ae=k(Me,se,P),be=ae.length,Oe=_e.length;v(ae,_e,be,Oe)==1;)se--,R(ae,wt<be?nr:Me,be,P),be=ae.length,N=1;else se==0&&(N=se=1),ae=Me.slice(),be=ae.length;if(be<Oe&&(ae=[0].concat(ae)),R(_e,ae,Oe,P),Oe=_e.length,N==-1)for(;v(Me,_e,wt,Oe)<1;)se++,R(_e,wt<Oe?nr:Me,Oe,P),Oe=_e.length}else N===0&&(se++,_e=[0]);me[B++]=se,_e[0]?_e[Oe++]=Qe[an]||0:(_e=[Qe[an]],Oe=1)}while((an++<Os||_e[0]!=null)&&ut--);G=_e[0]!=null,me[0]||me.splice(0,1)}if(P==a){for(B=1,ut=me[0];ut>=10;ut/=10,B++);ue(ye,F+(ye.e=B+U*u-1)+1,j,G)}else ye.e=U,ye.r=+G;return ye}})();function Ke(k,v,R,M){var D,F,j,P,N;if(R==null?R=ee:_(R,0,8),!k.c)return k.toString();if(D=k.c[0],j=k.e,v==null)N=m(k.c),N=M==1||M==2&&(j<=Z||j>=xe)?S(N,j):T(N,j,"0");else if(k=ue(new V(k),v,R),F=k.e,N=m(k.c),P=N.length,M==1||M==2&&(v<=F||F<=Z)){for(;P<v;N+="0",P++);N=S(N,F)}else if(v-=j+(M===2&&F>j),N=T(N,F,"0"),F+1>P){if(--v>0)for(N+=".";v--;N+="0");}else if(v+=F-P,v>0)for(F+1==P&&(N+=".");v--;N+="0");return k.s<0&&D?"-"+N:N}function Ne(k,v){for(var R,M,D=1,F=new V(k[0]);D<k.length;D++)M=new V(k[D]),(!M.s||(R=w(F,M))===v||R===0&&F.s===v)&&(F=M);return F}function Y(k,v,R){for(var M=1,D=v.length;!v[--D];v.pop());for(D=v[0];D>=10;D/=10,M++);return(R=M+R*u-1)>Re?k.c=k.e=null:R<$e?k.c=[k.e=0]:(k.e=R,k.c=v),k}$=(function(){var k=/^(-?)0([xbo])(?=\w[\w.]*$)/i,v=/^([^.]+)\.$/,R=/^\.([^.]+)$/,M=/^-?(Infinity|NaN)$/,D=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(F,j,P,N){var U,B=P?j:j.replace(D,"");if(M.test(B))F.s=isNaN(B)?null:B<0?-1:1;else{if(!P&&(B=B.replace(k,function(G,se,ae){return U=(ae=ae.toLowerCase())=="x"?16:ae=="b"?2:8,!N||N==U?se:G}),N&&(U=N,B=B.replace(v,"$1").replace(R,"0.$1")),j!=B))return new V(B,U);if(V.DEBUG)throw Error(s+"Not a"+(N?" base "+N:"")+" number: "+j);F.s=null}F.c=F.e=null}})();function ue(k,v,R,M){var D,F,j,P,N,U,B,G=k.c,se=f;if(G){e:{for(D=1,P=G[0];P>=10;P/=10,D++);if(F=v-D,F<0)F+=u,j=v,N=G[U=0],B=o(N/se[D-j-1]%10);else if(U=r((F+1)/u),U>=G.length)if(M){for(;G.length<=U;G.push(0));N=B=0,D=1,F%=u,j=F-u+1}else break e;else{for(N=P=G[U],D=1;P>=10;P/=10,D++);F%=u,j=F-u+D,B=j<0?0:o(N/se[D-j-1]%10)}if(M=M||v<0||G[U+1]!=null||(j<0?N:N%se[D-j-1]),M=R<4?(B||M)&&(R==0||R==(k.s<0?3:2)):B>5||B==5&&(R==4||M||R==6&&(F>0?j>0?N/se[D-j]:0:G[U-1])%10&1||R==(k.s<0?8:7)),v<1||!G[0])return G.length=0,M?(v-=k.e+1,G[0]=se[(u-v%u)%u],k.e=-v||0):G[0]=k.e=0,k;if(F==0?(G.length=U,P=1,U--):(G.length=U+1,P=se[u-F],G[U]=j>0?o(N/se[D-j]%se[j])*P:0),M)for(;;)if(U==0){for(F=1,j=G[0];j>=10;j/=10,F++);for(j=G[0]+=P,P=1;j>=10;j/=10,P++);F!=P&&(k.e++,G[0]==a&&(G[0]=1));break}else{if(G[U]+=P,G[U]!=a)break;G[U--]=0,P=1}for(F=G.length;G[--F]===0;G.pop());}k.e>Re?k.c=k.e=null:k.e<$e&&(k.c=[k.e=0])}return k}function fe(k){var v,R=k.e;return R===null?k.toString():(v=m(k.c),v=R<=Z||R>=xe?S(v,R):T(v,R,"0"),k.s<0?"-"+v:v)}return z.absoluteValue=z.abs=function(){var k=new V(this);return k.s<0&&(k.s=1),k},z.comparedTo=function(k,v){return w(this,new V(k,v))},z.decimalPlaces=z.dp=function(k,v){var R,M,D,F=this;if(k!=null)return _(k,0,p),v==null?v=ee:_(v,0,8),ue(new V(F),k+F.e+1,v);if(!(R=F.c))return null;if(M=((D=R.length-1)-C(this.e/u))*u,D=R[D])for(;D%10==0;D/=10,M--);return M<0&&(M=0),M},z.dividedBy=z.div=function(k,v){return O(this,new V(k,v),X,ee)},z.dividedToIntegerBy=z.idiv=function(k,v){return O(this,new V(k,v),0,1)},z.exponentiatedBy=z.pow=function(k,v){var R,M,D,F,j,P,N,U,B,G=this;if(k=new V(k),k.c&&!k.isInteger())throw Error(s+"Exponent not an integer: "+fe(k));if(v!=null&&(v=new V(v)),P=k.e>14,!G.c||!G.c[0]||G.c[0]==1&&!G.e&&G.c.length==1||!k.c||!k.c[0])return B=new V(Math.pow(+fe(G),P?k.s*(2-A(k)):+fe(k))),v?B.mod(v):B;if(N=k.s<0,v){if(v.c?!v.c[0]:!v.s)return new V(NaN);M=!N&&G.isInteger()&&v.isInteger(),M&&(G=G.mod(v))}else{if(k.e>9&&(G.e>0||G.e<-1||(G.e==0?G.c[0]>1||P&&G.c[1]>=24e7:G.c[0]<8e13||P&&G.c[0]<=9999975e7)))return F=G.s<0&&A(k)?-0:0,G.e>-1&&(F=1/F),new V(N?1/F:F);Q&&(F=r(Q/u+2))}for(P?(R=new V(.5),N&&(k.s=1),U=A(k)):(D=Math.abs(+fe(k)),U=D%2),B=new V(ce);;){if(U){if(B=B.times(G),!B.c)break;F?B.c.length>F&&(B.c.length=F):M&&(B=B.mod(v))}if(D){if(D=o(D/2),D===0)break;U=D%2}else if(k=k.times(R),ue(k,k.e+1,1),k.e>14)U=A(k);else{if(D=+fe(k),D===0)break;U=D%2}G=G.times(G),F?G.c&&G.c.length>F&&(G.c.length=F):M&&(G=G.mod(v))}return M?B:(N&&(B=ce.div(B)),v?B.mod(v):F?ue(B,Q,ee,j):B)},z.integerValue=function(k){var v=new V(this);return k==null?k=ee:_(k,0,8),ue(v,v.e+1,k)},z.isEqualTo=z.eq=function(k,v){return w(this,new V(k,v))===0},z.isFinite=function(){return!!this.c},z.isGreaterThan=z.gt=function(k,v){return w(this,new V(k,v))>0},z.isGreaterThanOrEqualTo=z.gte=function(k,v){return(v=w(this,new V(k,v)))===1||v===0},z.isInteger=function(){return!!this.c&&C(this.e/u)>this.c.length-2},z.isLessThan=z.lt=function(k,v){return w(this,new V(k,v))<0},z.isLessThanOrEqualTo=z.lte=function(k,v){return(v=w(this,new V(k,v)))===-1||v===0},z.isNaN=function(){return!this.s},z.isNegative=function(){return this.s<0},z.isPositive=function(){return this.s>0},z.isZero=function(){return!!this.c&&this.c[0]==0},z.minus=function(k,v){var R,M,D,F,j=this,P=j.s;if(k=new V(k,v),v=k.s,!P||!v)return new V(NaN);if(P!=v)return k.s=-v,j.plus(k);var N=j.e/u,U=k.e/u,B=j.c,G=k.c;if(!N||!U){if(!B||!G)return B?(k.s=-v,k):new V(G?j:NaN);if(!B[0]||!G[0])return G[0]?(k.s=-v,k):new V(B[0]?j:ee==3?-0:0)}if(N=C(N),U=C(U),B=B.slice(),P=N-U){for((F=P<0)?(P=-P,D=B):(U=N,D=G),D.reverse(),v=P;v--;D.push(0));D.reverse()}else for(M=(F=(P=B.length)<(v=G.length))?P:v,P=v=0;v<M;v++)if(B[v]!=G[v]){F=B[v]<G[v];break}if(F&&(D=B,B=G,G=D,k.s=-k.s),v=(M=G.length)-(R=B.length),v>0)for(;v--;B[R++]=0);for(v=a-1;M>P;){if(B[--M]<G[M]){for(R=M;R&&!B[--R];B[R]=v);--B[R],B[M]+=a}B[M]-=G[M]}for(;B[0]==0;B.splice(0,1),--U);return B[0]?Y(k,B,U):(k.s=ee==3?-1:1,k.c=[k.e=0],k)},z.modulo=z.mod=function(k,v){var R,M,D=this;return k=new V(k,v),!D.c||!k.s||k.c&&!k.c[0]?new V(NaN):!k.c||D.c&&!D.c[0]?new V(D):(te==9?(M=k.s,k.s=1,R=O(D,k,0,3),k.s=M,R.s*=M):R=O(D,k,0,te),k=D.minus(R.times(k)),!k.c[0]&&te==1&&(k.s=D.s),k)},z.multipliedBy=z.times=function(k,v){var R,M,D,F,j,P,N,U,B,G,se,ae,be,ye,me,_e=this,Oe=_e.c,Ve=(k=new V(k,v)).c;if(!Oe||!Ve||!Oe[0]||!Ve[0])return!_e.s||!k.s||Oe&&!Oe[0]&&!Ve||Ve&&!Ve[0]&&!Oe?k.c=k.e=k.s=null:(k.s*=_e.s,!Oe||!Ve?k.c=k.e=null:(k.c=[0],k.e=0)),k;for(M=C(_e.e/u)+C(k.e/u),k.s*=_e.s,N=Oe.length,G=Ve.length,N<G&&(be=Oe,Oe=Ve,Ve=be,D=N,N=G,G=D),D=N+G,be=[];D--;be.push(0));for(ye=a,me=h,D=G;--D>=0;){for(R=0,se=Ve[D]%me,ae=Ve[D]/me|0,j=N,F=D+j;F>D;)U=Oe[--j]%me,B=Oe[j]/me|0,P=ae*U+B*se,U=se*U+P%me*me+be[F]+R,R=(U/ye|0)+(P/me|0)+ae*B,be[F--]=U%ye;be[F]=R}return R?++M:be.splice(0,1),Y(k,be,M)},z.negated=function(){var k=new V(this);return k.s=-k.s||null,k},z.plus=function(k,v){var R,M=this,D=M.s;if(k=new V(k,v),v=k.s,!D||!v)return new V(NaN);if(D!=v)return k.s=-v,M.minus(k);var F=M.e/u,j=k.e/u,P=M.c,N=k.c;if(!F||!j){if(!P||!N)return new V(D/0);if(!P[0]||!N[0])return N[0]?k:new V(P[0]?M:D*0)}if(F=C(F),j=C(j),P=P.slice(),D=F-j){for(D>0?(j=F,R=N):(D=-D,R=P),R.reverse();D--;R.push(0));R.reverse()}for(D=P.length,v=N.length,D-v<0&&(R=N,N=P,P=R,v=D),D=0;v;)D=(P[--v]=P[v]+N[v]+D)/a|0,P[v]=a===P[v]?0:P[v]%a;return D&&(P=[D].concat(P),++j),Y(k,P,j)},z.precision=z.sd=function(k,v){var R,M,D,F=this;if(k!=null&&k!==!!k)return _(k,1,p),v==null?v=ee:_(v,0,8),ue(new V(F),k,v);if(!(R=F.c))return null;if(D=R.length-1,M=D*u+1,D=R[D]){for(;D%10==0;D/=10,M--);for(D=R[0];D>=10;D/=10,M++);}return k&&F.e+1>M&&(M=F.e+1),M},z.shiftedBy=function(k){return _(k,-d,d),this.times("1e"+k)},z.squareRoot=z.sqrt=function(){var k,v,R,M,D,F=this,j=F.c,P=F.s,N=F.e,U=X+4,B=new V("0.5");if(P!==1||!j||!j[0])return new V(!P||P<0&&(!j||j[0])?NaN:j?F:1/0);if(P=Math.sqrt(+fe(F)),P==0||P==1/0?(v=m(j),(v.length+N)%2==0&&(v+="0"),P=Math.sqrt(+v),N=C((N+1)/2)-(N<0||N%2),P==1/0?v="5e"+N:(v=P.toExponential(),v=v.slice(0,v.indexOf("e")+1)+N),R=new V(v)):R=new V(P+""),R.c[0]){for(N=R.e,P=N+U,P<3&&(P=0);;)if(D=R,R=B.times(D.plus(O(F,D,U,1))),m(D.c).slice(0,P)===(v=m(R.c)).slice(0,P))if(R.e<N&&--P,v=v.slice(P-3,P+1),v=="9999"||!M&&v=="4999"){if(!M&&(ue(D,D.e+X+2,0),D.times(D).eq(F))){R=D;break}U+=4,P+=4,M=1}else{(!+v||!+v.slice(1)&&v.charAt(0)=="5")&&(ue(R,R.e+X+2,1),k=!R.times(R).eq(F));break}}return ue(R,R.e+X+1,ee,k)},z.toExponential=function(k,v){return k!=null&&(_(k,0,p),k++),Ke(this,k,v,1)},z.toFixed=function(k,v){return k!=null&&(_(k,0,p),k=k+this.e+1),Ke(this,k,v)},z.toFormat=function(k,v,R){var M,D=this;if(R==null)k!=null&&v&&typeof v=="object"?(R=v,v=null):k&&typeof k=="object"?(R=k,k=v=null):R=ie;else if(typeof R!="object")throw Error(s+"Argument not an object: "+R);if(M=D.toFixed(k,v),D.c){var F,j=M.split("."),P=+R.groupSize,N=+R.secondaryGroupSize,U=R.groupSeparator||"",B=j[0],G=j[1],se=D.s<0,ae=se?B.slice(1):B,be=ae.length;if(N&&(F=P,P=N,N=F,be-=F),P>0&&be>0){for(F=be%P||P,B=ae.substr(0,F);F<be;F+=P)B+=U+ae.substr(F,P);N>0&&(B+=U+ae.slice(F)),se&&(B="-"+B)}M=G?B+(R.decimalSeparator||"")+((N=+R.fractionGroupSize)?G.replace(new RegExp("\\d{"+N+"}\\B","g"),"$&"+(R.fractionGroupSeparator||"")):G):B}return(R.prefix||"")+M+(R.suffix||"")},z.toFraction=function(k){var v,R,M,D,F,j,P,N,U,B,G,se,ae=this,be=ae.c;if(k!=null&&(P=new V(k),!P.isInteger()&&(P.c||P.s!==1)||P.lt(ce)))throw Error(s+"Argument "+(P.isInteger()?"out of range: ":"not an integer: ")+fe(P));if(!be)return new V(ae);for(v=new V(ce),U=R=new V(ce),M=N=new V(ce),se=m(be),F=v.e=se.length-ae.e-1,v.c[0]=f[(j=F%u)<0?u+j:j],k=!k||P.comparedTo(v)>0?F>0?v:U:P,j=Re,Re=1/0,P=new V(se),N.c[0]=0;B=O(P,v,0,1),D=R.plus(B.times(M)),D.comparedTo(k)!=1;)R=M,M=D,U=N.plus(B.times(D=U)),N=D,v=P.minus(B.times(D=v)),P=D;return D=O(k.minus(R),M,0,1),N=N.plus(D.times(U)),R=R.plus(D.times(M)),N.s=U.s=ae.s,F=F*2,G=O(U,M,F,ee).minus(ae).abs().comparedTo(O(N,R,F,ee).minus(ae).abs())<1?[U,M]:[N,R],Re=j,G},z.toNumber=function(){return+fe(this)},z.toPrecision=function(k,v){return k!=null&&_(k,1,p),Ke(this,k,v,2)},z.toString=function(k){var v,R=this,M=R.s,D=R.e;return D===null?M?(v="Infinity",M<0&&(v="-"+v)):v="NaN":(k==null?v=D<=Z||D>=xe?S(m(R.c),D):T(m(R.c),D,"0"):k===10&&Ce?(R=ue(new V(R),X+D+1,ee),v=T(m(R.c),R.e,"0")):(_(k,2,de.length,"Base"),v=q(T(m(R.c),D,"0"),10,k,M,!0)),M<0&&R.c[0]&&(v="-"+v)),v},z.valueOf=z.toJSON=function(){return fe(this)},z._isBigNumber=!0,x!=null&&V.set(x),V}function C(x){var O=x|0;return x>0||x===O?O:O-1}function m(x){for(var O,q,$=1,z=x.length,ce=x[0]+"";$<z;){for(O=x[$++]+"",q=u-O.length;q--;O="0"+O);ce+=O}for(z=ce.length;ce.charCodeAt(--z)===48;);return ce.slice(0,z+1||1)}function w(x,O){var q,$,z=x.c,ce=O.c,X=x.s,ee=O.s,Z=x.e,xe=O.e;if(!X||!ee)return null;if(q=z&&!z[0],$=ce&&!ce[0],q||$)return q?$?0:-ee:X;if(X!=ee)return X;if(q=X<0,$=Z==xe,!z||!ce)return $?0:!z^q?1:-1;if(!$)return Z>xe^q?1:-1;for(ee=(Z=z.length)<(xe=ce.length)?Z:xe,X=0;X<ee;X++)if(z[X]!=ce[X])return z[X]>ce[X]^q?1:-1;return Z==xe?0:Z>xe^q?1:-1}function _(x,O,q,$){if(x<O||x>q||x!==o(x))throw Error(s+($||"Argument")+(typeof x=="number"?x<O||x>q?" out of range: ":" not an integer: ":" not a primitive number: ")+String(x))}function A(x){var O=x.c.length-1;return C(x.e/u)==O&&x.c[O]%2!=0}function S(x,O){return(x.length>1?x.charAt(0)+"."+x.slice(1):x)+(O<0?"e":"e+")+O}function T(x,O,q){var $,z;if(O<0){for(z=q+".";++O;z+=q);x=z+x}else if($=x.length,++O>$){for(z=q,O-=$;--O;z+=q);x+=z}else O<$&&(x=x.slice(0,O)+"."+x.slice(O));return x}e=b(),e.default=e.BigNumber=e,typeof define=="function"&&define.amd?define(function(){return e}):typeof du<"u"&&du.exports?du.exports=e:(t||(t=typeof self<"u"&&self?self:window),t.BigNumber=e)})(Zk)});var rS=J((S3,nS)=>{var eS=dh(),tS=nS.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,n=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,r,o,s={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},i;function a(d){return n.lastIndex=0,n.test(d)?'"'+d.replace(n,function(f){var h=s[f];return typeof h=="string"?h:"\\u"+("0000"+f.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+d+'"'}function u(d,f){var h,p,b,C,m=r,w,_=f[d],A=_!=null&&(_ instanceof eS||eS.isBigNumber(_));switch(_&&typeof _=="object"&&typeof _.toJSON=="function"&&(_=_.toJSON(d)),typeof i=="function"&&(_=i.call(f,d,_)),typeof _){case"string":return A?_:a(_);case"number":return isFinite(_)?String(_):"null";case"boolean":case"null":case"bigint":return String(_);case"object":if(!_)return"null";if(r+=o,w=[],Object.prototype.toString.apply(_)==="[object Array]"){for(C=_.length,h=0;h<C;h+=1)w[h]=u(h,_)||"null";return b=w.length===0?"[]":r?`[
|
|
73
73
|
`+r+w.join(`,
|
|
74
74
|
`+r)+`
|
|
75
|
-
`+
|
|
75
|
+
`+m+"]":"["+w.join(",")+"]",r=m,b}if(i&&typeof i=="object")for(C=i.length,h=0;h<C;h+=1)typeof i[h]=="string"&&(p=i[h],b=u(p,_),b&&w.push(a(p)+(r?": ":":")+b));else Object.keys(_).forEach(function(S){var T=u(S,_);T&&w.push(a(S)+(r?": ":":")+T)});return b=w.length===0?"{}":r?`{
|
|
76
76
|
`+r+w.join(`,
|
|
77
77
|
`+r)+`
|
|
78
|
-
`+
|
|
79
|
-
`,r:"\r",t:" "},s,i=function(y){throw{name:"SyntaxError",message:y,at:n,text:s}},c=function(y){return y&&y!==r&&i("Expected '"+y+"' instead of '"+r+"'"),r=s.charAt(n),n+=1,r},u=function(){var y,w="";for(r==="-"&&(w="-",c("-"));r>="0"&&r<="9";)w+=r,c();if(r===".")for(w+=".";c()&&r>="0"&&r<="9";)w+=r;if(r==="e"||r==="E")for(w+=r,c(),(r==="-"||r==="+")&&(w+=r,c());r>="0"&&r<="9";)w+=r,c();if(y=+w,!isFinite(y))i("Bad number");else return Wc==null&&(Wc=Ip()),w.length>15?e.storeAsString?w:e.useNativeBigInt?BigInt(w):new Wc(w):e.alwaysParseAsBig?e.useNativeBigInt?BigInt(y):new Wc(y):y},f=function(){var y,w,C="",v;if(r==='"')for(var A=n;c();){if(r==='"')return n-1>A&&(C+=s.substring(A,n-1)),c(),C;if(r==="\\"){if(n-1>A&&(C+=s.substring(A,n-1)),c(),r==="u"){for(v=0,w=0;w<4&&(y=parseInt(c(),16),!!isFinite(y));w+=1)v=v*16+y;C+=String.fromCharCode(v)}else if(typeof o[r]=="string")C+=o[r];else break;A=n}}i("Bad string")},d=function(){for(;r&&r<=" ";)c()},p=function(){switch(r){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}i("Unexpected '"+r+"'")},h,_=function(){var y=[];if(r==="["){if(c("["),d(),r==="]")return c("]"),y;for(;r;){if(y.push(h()),d(),r==="]")return c("]"),y;c(","),d()}}i("Bad array")},b=function(){var y,w=Object.create(null);if(r==="{"){if(c("{"),d(),r==="}")return c("}"),w;for(;r;){if(y=f(),d(),c(":"),e.strict===!0&&Object.hasOwnProperty.call(w,y)&&i('Duplicate key "'+y+'"'),h1.test(y)===!0?e.protoAction==="error"?i("Object contains forbidden prototype property"):e.protoAction==="ignore"?h():w[y]=h():m1.test(y)===!0?e.constructorAction==="error"?i("Object contains forbidden constructor property"):e.constructorAction==="ignore"?h():w[y]=h():w[y]=h(),d(),r==="}")return c("}"),w;c(","),d()}}i("Bad object")};return h=function(){switch(d(),r){case"{":return b();case"[":return _();case'"':return f();case"-":return u();default:return r>="0"&&r<="9"?u():p()}},function(y,w){var C;return s=y+"",n=0,r=" ",C=h(),d(),r&&i("Syntax error"),typeof w=="function"?(function v(A,T){var x,O,q=A[T];return q&&typeof q=="object"&&Object.keys(q).forEach(function($){O=v(q,$),O!==void 0?q[$]=O:delete q[$]}),w.call(A,T,q)})({"":C},""):C}};_k.exports=g1});var kk=J((bH,Gc)=>{var Ck=yk().stringify,wk=bk();Gc.exports=function(t){return{parse:wk(t),stringify:Ck}};Gc.exports.parse=wk();Gc.exports.stringify=Ck});var Fp=J(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.GCE_LINUX_BIOS_PATHS=void 0;Jt.isGoogleCloudServerless=vk;Jt.isGoogleComputeEngineLinux=Ak;Jt.isGoogleComputeEngineMACAddress=Tk;Jt.isGoogleComputeEngine=Rk;Jt.detectGCPResidency=_1;var Sk=oe("fs"),Ek=oe("os");Jt.GCE_LINUX_BIOS_PATHS={BIOS_DATE:"/sys/class/dmi/id/bios_date",BIOS_VENDOR:"/sys/class/dmi/id/bios_vendor"};var y1=/^42:01/;function vk(){return!!(process.env.CLOUD_RUN_JOB||process.env.FUNCTION_NAME||process.env.K_SERVICE)}function Ak(){if((0,Ek.platform)()!=="linux")return!1;try{(0,Sk.statSync)(Jt.GCE_LINUX_BIOS_PATHS.BIOS_DATE);let t=(0,Sk.readFileSync)(Jt.GCE_LINUX_BIOS_PATHS.BIOS_VENDOR,"utf8");return/Google/.test(t)}catch{return!1}}function Tk(){let t=(0,Ek.networkInterfaces)();for(let e of Object.values(t))if(e){for(let{mac:n}of e)if(y1.test(n))return!0}return!1}function Rk(){return Ak()||Tk()}function _1(){return vk()||Rk()}});var xk=J(Vc=>{"use strict";Object.defineProperty(Vc,"__esModule",{value:!0});Vc.Colours=void 0;var Jc=class t{static enabled=!1;static reset="";static bright="";static dim="";static red="";static green="";static yellow="";static blue="";static magenta="";static cyan="";static white="";static grey="";static isEnabled(e){return e&&e.isTTY&&(typeof e.getColorDepth=="function"?e.getColorDepth()>2:!0)}static refresh(){t.enabled=t.isEnabled(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="")}};Vc.Colours=Jc;Jc.refresh()});var Ok=J(Kc=>{"use strict";Object.defineProperty(Kc,"__esModule",{value:!0});Kc.LogSeverity=void 0;var Dk;(function(t){t.DEFAULT="DEFAULT",t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR"})(Dk||(Kc.LogSeverity=Dk={}))});var Nk=J(je=>{"use strict";var b1=je&&je.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),C1=je&&je.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Pk=je&&je.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(n){var r=[];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(r[r.length]=o);return r},t(e)};return function(e){if(e&&e.__esModule)return e;var n={};if(e!=null)for(var r=t(e),o=0;o<r.length;o++)r[o]!=="default"&&b1(n,e,r[o]);return C1(n,e),n}})();Object.defineProperty(je,"__esModule",{value:!0});je.env=je.DebugLogBackendBase=je.placeholder=je.AdhocDebugLogger=void 0;je.getNodeBackend=Mp;je.getDebugBackend=k1;je.getStructuredBackend=S1;je.setBackend=E1;je.log=Fk;var w1=oe("events"),_i=Pk(oe("process")),Ik=Pk(oe("util")),vt=xk(),$n=Ok(),bi=class extends w1.EventEmitter{namespace;upstream;func;constructor(e,n){super(),this.namespace=e,this.upstream=n,this.func=Object.assign(this.invoke.bind(this),{instance:this,on:(r,o)=>this.on(r,o)}),this.func.debug=(...r)=>this.invokeSeverity($n.LogSeverity.DEBUG,...r),this.func.info=(...r)=>this.invokeSeverity($n.LogSeverity.INFO,...r),this.func.warn=(...r)=>this.invokeSeverity($n.LogSeverity.WARNING,...r),this.func.error=(...r)=>this.invokeSeverity($n.LogSeverity.ERROR,...r),this.func.sublog=r=>Fk(r,this.func)}invoke(e,...n){if(this.upstream)try{this.upstream(e,...n)}catch{}try{this.emit("log",e,n)}catch{}}invokeSeverity(e,...n){this.invoke({severity:e},...n)}};je.AdhocDebugLogger=bi;je.placeholder=new bi("",()=>{}).func;var Ho=class{cached=new Map;filters=[];filtersSet=!1;constructor(){let e=_i.env[je.env.nodeEnables]??"*";e==="all"&&(e="*"),this.filters=e.split(",")}log(e,n,...r){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(n,...r)}catch(o){console.error(o)}}};je.DebugLogBackendBase=Ho;var Np=class extends Ho{enabledRegexp=/.*/g;isEnabled(e){return this.enabledRegexp.test(e)}makeLogger(e){return this.enabledRegexp.test(e)?(n,...r)=>{let o=`${vt.Colours.green}${e}${vt.Colours.reset}`,s=`${vt.Colours.yellow}${_i.pid}${vt.Colours.reset}`,i;switch(n.severity){case $n.LogSeverity.ERROR:i=`${vt.Colours.red}${n.severity}${vt.Colours.reset}`;break;case $n.LogSeverity.INFO:i=`${vt.Colours.magenta}${n.severity}${vt.Colours.reset}`;break;case $n.LogSeverity.WARNING:i=`${vt.Colours.yellow}${n.severity}${vt.Colours.reset}`;break;default:i=n.severity??$n.LogSeverity.DEFAULT;break}let c=Ik.formatWithOptions({colors:vt.Colours.enabled},...r),u=Object.assign({},n);delete u.severity;let f=Object.getOwnPropertyNames(u).length?JSON.stringify(u):"",d=f?`${vt.Colours.grey}${f}${vt.Colours.reset}`:"";console.error("%s [%s|%s] %s%s",s,o,i,c,f?` ${d}`:"")}:()=>{}}setFilters(){let n=this.filters.join(",").replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^");this.enabledRegexp=new RegExp(`^${n}$`,"i")}};function Mp(){return new Np}var Bp=class extends Ho{debugPkg;constructor(e){super(),this.debugPkg=e}makeLogger(e){let n=this.debugPkg(e);return(r,...o)=>{n(o[0],...o.slice(1))}}setFilters(){let e=_i.env.NODE_DEBUG??"";_i.env.NODE_DEBUG=`${e}${e?",":""}${this.filters.join(",")}`}};function k1(t){return new Bp(t)}var Up=class extends Ho{upstream;constructor(e){super(),this.upstream=e??void 0}makeLogger(e){let n=this.upstream?.makeLogger(e);return(r,...o)=>{let s=r.severity??$n.LogSeverity.INFO,i=Object.assign({severity:s,message:Ik.format(...o)},r),c=JSON.stringify(i);n?n(r,c):console.log("%s",c)}}setFilters(){this.upstream?.setFilters()}};function S1(t){return new Up(t)}je.env={nodeEnables:"GOOGLE_SDK_NODE_LOGGING"};var jp=new Map,Vt;function E1(t){Vt=t,jp.clear()}function Fk(t,e){if(!Vt&&!_i.env[je.env.nodeEnables]||!t)return je.placeholder;e&&(t=`${e.instance.namespace}:${t}`);let n=jp.get(t);if(n)return n.func;if(Vt===null)return je.placeholder;Vt===void 0&&(Vt=Mp());let r=(()=>{let o;return new bi(t,(i,...c)=>{if(o!==Vt){if(Vt===null)return;Vt===void 0&&(Vt=Mp()),o=Vt}Vt?.log(t,i,...c)})})();return jp.set(t,r),r.func}});var Lp=J(Zr=>{"use strict";var v1=Zr&&Zr.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),A1=Zr&&Zr.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&v1(e,t,n)};Object.defineProperty(Zr,"__esModule",{value:!0});A1(Nk(),Zr)});var wi=J(he=>{"use strict";var Bk=he&&he.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),T1=he&&he.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),R1=he&&he.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(n){var r=[];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(r[r.length]=o);return r},t(e)};return function(e){if(e&&e.__esModule)return e;var n={};if(e!=null)for(var r=t(e),o=0;o<r.length;o++)r[o]!=="default"&&Bk(n,e,r[o]);return T1(n,e),n}})(),x1=he&&he.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&Bk(e,t,n)};Object.defineProperty(he,"__esModule",{value:!0});he.gcpResidencyCache=he.METADATA_SERVER_DETECTION=he.HEADERS=he.HEADER_VALUE=he.HEADER_NAME=he.SECONDARY_HOST_ADDRESS=he.HOST_ADDRESS=he.BASE_PATH=void 0;he.instance=N1;he.project=M1;he.universe=B1;he.bulk=U1;he.isAvailable=L1;he.resetIsAvailableCache=q1;he.getGCPResidency=zp;he.setGCPResidency=Uk;he.requestTimeout=jk;var qp=it(),D1=kk(),O1=Fp(),P1=R1(Lp());he.BASE_PATH="/computeMetadata/v1";he.HOST_ADDRESS="http://169.254.169.254";he.SECONDARY_HOST_ADDRESS="http://metadata.google.internal.";he.HEADER_NAME="Metadata-Flavor";he.HEADER_VALUE="Google";he.HEADERS=Object.freeze({[he.HEADER_NAME]:he.HEADER_VALUE});var Mk=P1.log("gcp-metadata");he.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 $p(t){return t||(t=process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST||he.HOST_ADDRESS),/^https?:\/\//.test(t)||(t=`http://${t}`),new URL(he.BASE_PATH,t).href}function I1(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 Ci(t,e={},n=3,r=!1){let o=new Headers(he.HEADERS),s="",i={};if(typeof t=="object"){let p=t;new Headers(p.headers).forEach((h,_)=>o.set(_,h)),s=p.metadataKey,i=p.params||i,n=p.noResponseRetries||n,r=p.fastFail||r}else s=t;typeof e=="string"?s+=`/${e}`:(I1(e),e.property&&(s+=`/${e.property}`),new Headers(e.headers).forEach((p,h)=>o.set(h,p)),i=e.params||i);let c=r?F1:qp.request,u={url:`${$p()}/${s}`,headers:o,retryConfig:{noResponseRetries:n},params:i,responseType:"text",timeout:jk()};Mk.info("instance request %j",u);let f=await c(u);Mk.info("instance metadata is %s",f.data);let d=f.headers.get(he.HEADER_NAME);if(d!==he.HEADER_VALUE)throw new RangeError(`Invalid response from metadata service: incorrect ${he.HEADER_NAME} header. Expected '${he.HEADER_VALUE}', got ${d?`'${d}'`:"no header"}`);if(typeof f.data=="string")try{return D1.parse(f.data)}catch{}return f.data}async function F1(t){let e={...t,url:t.url?.toString().replace($p(),$p(he.SECONDARY_HOST_ADDRESS))},n=(0,qp.request)(t),r=(0,qp.request)(e);return Promise.any([n,r])}function N1(t){return Ci("instance",t)}function M1(t){return Ci("project",t)}function B1(t){return Ci("universe",t)}async function U1(t){let e={};return await Promise.all(t.map(n=>(async()=>{let r=await Ci(n),o=n.metadataKey;e[o]=r})())),e}function j1(){return process.env.DETECT_GCP_RETRIES?Number(process.env.DETECT_GCP_RETRIES):0}var Yc;async function L1(){if(process.env.METADATA_SERVER_DETECTION){let t=process.env.METADATA_SERVER_DETECTION.trim().toLocaleLowerCase();if(!(t in he.METADATA_SERVER_DETECTION))throw new RangeError(`Unknown \`METADATA_SERVER_DETECTION\` env variable. Got \`${t}\`, but it should be \`${Object.keys(he.METADATA_SERVER_DETECTION).join("`, `")}\`, or unset`);switch(t){case"assume-present":return!0;case"none":return!1;case"bios-only":return zp();case"ping-only":}}try{return Yc===void 0&&(Yc=Ci("instance",void 0,j1(),!(process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST))),await Yc,!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 n="UNKNOWN";e.code&&(n=e.code.toString()),process.emitWarning(`received unexpected error = ${e.message} code = ${n}`,"MetadataLookupWarning")}return!1}}function q1(){Yc=void 0}he.gcpResidencyCache=null;function zp(){return he.gcpResidencyCache===null&&Uk(),he.gcpResidencyCache}function Uk(t=null){he.gcpResidencyCache=t!==null?t:(0,O1.detectGCPResidency)()}function jk(){return zp()?0:3e3}x1(Fp(),he)});var $k=J(Xc=>{"use strict";Xc.byteLength=z1;Xc.toByteArray=W1;Xc.fromByteArray=V1;var hn=[],Nt=[],$1=typeof Uint8Array<"u"?Uint8Array:Array,Hp="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(eo=0,Lk=Hp.length;eo<Lk;++eo)hn[eo]=Hp[eo],Nt[Hp.charCodeAt(eo)]=eo;var eo,Lk;Nt[45]=62;Nt[95]=63;function qk(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");n===-1&&(n=e);var r=n===e?0:4-n%4;return[n,r]}function z1(t){var e=qk(t),n=e[0],r=e[1];return(n+r)*3/4-r}function H1(t,e,n){return(e+n)*3/4-n}function W1(t){var e,n=qk(t),r=n[0],o=n[1],s=new $1(H1(t,r,o)),i=0,c=o>0?r-4:r,u;for(u=0;u<c;u+=4)e=Nt[t.charCodeAt(u)]<<18|Nt[t.charCodeAt(u+1)]<<12|Nt[t.charCodeAt(u+2)]<<6|Nt[t.charCodeAt(u+3)],s[i++]=e>>16&255,s[i++]=e>>8&255,s[i++]=e&255;return o===2&&(e=Nt[t.charCodeAt(u)]<<2|Nt[t.charCodeAt(u+1)]>>4,s[i++]=e&255),o===1&&(e=Nt[t.charCodeAt(u)]<<10|Nt[t.charCodeAt(u+1)]<<4|Nt[t.charCodeAt(u+2)]>>2,s[i++]=e>>8&255,s[i++]=e&255),s}function G1(t){return hn[t>>18&63]+hn[t>>12&63]+hn[t>>6&63]+hn[t&63]}function J1(t,e,n){for(var r,o=[],s=e;s<n;s+=3)r=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(t[s+2]&255),o.push(G1(r));return o.join("")}function V1(t){for(var e,n=t.length,r=n%3,o=[],s=16383,i=0,c=n-r;i<c;i+=s)o.push(J1(t,i,i+s>c?c:i+s));return r===1?(e=t[n-1],o.push(hn[e>>2]+hn[e<<4&63]+"==")):r===2&&(e=(t[n-2]<<8)+t[n-1],o.push(hn[e>>10]+hn[e>>4&63]+hn[e<<2&63]+"=")),o.join("")}});var Gp=J(Wp=>{"use strict";Object.defineProperty(Wp,"__esModule",{value:!0});Wp.fromArrayBufferToHex=K1;function K1(t){return Array.from(new Uint8Array(t)).map(n=>n.toString(16).padStart(2,"0")).join("")}});var zk=J(Qc=>{"use strict";Object.defineProperty(Qc,"__esModule",{value:!0});Qc.BrowserCrypto=void 0;var Wo=$k(),Y1=Gp(),Jp=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 n=new TextEncoder().encode(e),r=await window.crypto.subtle.digest("SHA-256",n);return Wo.fromByteArray(new Uint8Array(r))}randomBytesBase64(e){let n=new Uint8Array(e);return window.crypto.getRandomValues(n),Wo.fromByteArray(n)}static padBase64(e){for(;e.length%4!==0;)e+="=";return e}async verify(e,n,r){let o={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},s=new TextEncoder().encode(n),i=Wo.toByteArray(t.padBase64(r)),c=await window.crypto.subtle.importKey("jwk",e,o,!0,["verify"]);return await window.crypto.subtle.verify(o,c,Buffer.from(i),s)}async sign(e,n){let r={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},o=new TextEncoder().encode(n),s=await window.crypto.subtle.importKey("jwk",e,r,!0,["sign"]),i=await window.crypto.subtle.sign(r,s,o);return Wo.fromByteArray(new Uint8Array(i))}decodeBase64StringUtf8(e){let n=Wo.toByteArray(t.padBase64(e));return new TextDecoder().decode(n)}encodeBase64StringUtf8(e){let n=new TextEncoder().encode(e);return Wo.fromByteArray(n)}async sha256DigestHex(e){let n=new TextEncoder().encode(e),r=await window.crypto.subtle.digest("SHA-256",n);return(0,Y1.fromArrayBufferToHex)(r)}async signWithHmacSha256(e,n){let r=typeof e=="string"?e:String.fromCharCode(...new Uint16Array(e)),o=new TextEncoder,s=await window.crypto.subtle.importKey("raw",o.encode(r),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return window.crypto.subtle.sign("HMAC",s,o.encode(n))}};Qc.BrowserCrypto=Jp});var Hk=J(Zc=>{"use strict";Object.defineProperty(Zc,"__esModule",{value:!0});Zc.NodeCrypto=void 0;var Go=oe("crypto"),Vp=class{async sha256DigestBase64(e){return Go.createHash("sha256").update(e).digest("base64")}randomBytesBase64(e){return Go.randomBytes(e).toString("base64")}async verify(e,n,r){let o=Go.createVerify("RSA-SHA256");return o.update(n),o.end(),o.verify(e,r,"base64")}async sign(e,n){let r=Go.createSign("RSA-SHA256");return r.update(n),r.end(),r.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 Go.createHash("sha256").update(e).digest("hex")}async signWithHmacSha256(e,n){let r=typeof e=="string"?e:Q1(e);return X1(Go.createHmac("sha256",r).update(n).digest())}};Zc.NodeCrypto=Vp;function X1(t){let e=new ArrayBuffer(t.length),n=new Uint8Array(e);for(let r=0;r<t.length;++r)n[r]=t[r];return e}function Q1(t){return Buffer.from(t)}});var ki=J(zn=>{"use strict";var Z1=zn&&zn.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),eP=zn&&zn.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&Z1(e,t,n)};Object.defineProperty(zn,"__esModule",{value:!0});zn.createCrypto=rP;zn.hasBrowserCrypto=Wk;var tP=zk(),nP=Hk();eP(Gp(),zn);function rP(){return Wk()?new tP.BrowserCrypto:new nP.NodeCrypto}function Wk(){return typeof window<"u"&&typeof window.crypto<"u"&&typeof window.crypto.subtle<"u"}});var Jo=J((Kp,Jk)=>{var eu=oe("buffer"),mn=eu.Buffer;function Gk(t,e){for(var n in t)e[n]=t[n]}mn.from&&mn.alloc&&mn.allocUnsafe&&mn.allocUnsafeSlow?Jk.exports=eu:(Gk(eu,Kp),Kp.Buffer=to);function to(t,e,n){return mn(t,e,n)}to.prototype=Object.create(mn.prototype);Gk(mn,to);to.from=function(t,e,n){if(typeof t=="number")throw new TypeError("Argument must not be a number");return mn(t,e,n)};to.alloc=function(t,e,n){if(typeof t!="number")throw new TypeError("Argument must be a number");var r=mn(t);return e!==void 0?typeof n=="string"?r.fill(e,n):r.fill(e):r.fill(0),r};to.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return mn(t)};to.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return eu.SlowBuffer(t)}});var Kk=J((OH,Vk)=>{"use strict";function Yp(t){var e=(t/8|0)+(t%8===0?0:1);return e}var oP={ES256:Yp(256),ES384:Yp(384),ES512:Yp(521)};function sP(t){var e=oP[t];if(e)return e;throw new Error('Unknown algorithm "'+t+'"')}Vk.exports=sP});var Xp=J((PH,tS)=>{"use strict";var tu=Jo().Buffer,Xk=Kk(),nu=128,Qk=0,iP=32,aP=16,cP=2,Zk=aP|iP|Qk<<6,ru=cP|Qk<<6;function uP(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function eS(t){if(tu.isBuffer(t))return t;if(typeof t=="string")return tu.from(t,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function lP(t,e){t=eS(t);var n=Xk(e),r=n+1,o=t.length,s=0;if(t[s++]!==Zk)throw new Error('Could not find expected "seq"');var i=t[s++];if(i===(nu|1)&&(i=t[s++]),o-s<i)throw new Error('"seq" specified length of "'+i+'", only "'+(o-s)+'" remaining');if(t[s++]!==ru)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(r<c)throw new Error('"r" specified length of "'+c+'", max of "'+r+'" is acceptable');var u=s;if(s+=c,t[s++]!==ru)throw new Error('Could not find expected "int" for "s"');var f=t[s++];if(o-s!==f)throw new Error('"s" specified length of "'+f+'", expected "'+(o-s)+'"');if(r<f)throw new Error('"s" specified length of "'+f+'", max of "'+r+'" is acceptable');var d=s;if(s+=f,s!==o)throw new Error('Expected to consume entire buffer, but "'+(o-s)+'" bytes remain');var p=n-c,h=n-f,_=tu.allocUnsafe(p+c+h+f);for(s=0;s<p;++s)_[s]=0;t.copy(_,s,u+Math.max(-p,0),u+c),s=n;for(var b=s;s<b+h;++s)_[s]=0;return t.copy(_,s,d+Math.max(-h,0),d+f),_=_.toString("base64"),_=uP(_),_}function Yk(t,e,n){for(var r=0;e+r<n&&t[e+r]===0;)++r;var o=t[e+r]>=nu;return o&&--r,r}function dP(t,e){t=eS(t);var n=Xk(e),r=t.length;if(r!==n*2)throw new TypeError('"'+e+'" signatures must be "'+n*2+'" bytes, saw "'+r+'"');var o=Yk(t,0,n),s=Yk(t,n,t.length),i=n-o,c=n-s,u=2+i+1+1+c,f=u<nu,d=tu.allocUnsafe((f?2:3)+u),p=0;return d[p++]=Zk,f?d[p++]=u:(d[p++]=nu|1,d[p++]=u&255),d[p++]=ru,d[p++]=i,o<0?(d[p++]=0,p+=t.copy(d,p,0,n)):p+=t.copy(d,p,o,n),d[p++]=ru,d[p++]=c,s<0?(d[p++]=0,t.copy(d,p,n)):t.copy(d,p,n+s),d}tS.exports={derToJose:lP,joseToDer:dP}});var Kt=J(Hn=>{"use strict";Object.defineProperty(Hn,"__esModule",{value:!0});Hn.LRUCache=void 0;Hn.snakeToCamel=rS;Hn.originalOrCamelOptions=mP;Hn.removeUndefinedValuesInObject=gP;Hn.isValidFile=yP;Hn.getWellKnownCertificateConfigFileLocation=_P;var fP=oe("fs"),pP=oe("os"),Qp=oe("path"),hP="certificate_config.json",nS="gcloud";function rS(t){return t.replace(/([_][^_])/g,e=>e.slice(1).toUpperCase())}function mP(t){function e(n){let r=t||{};return r[n]??r[rS(n)]}return{get:e}}var Zp=class{capacity;#e=new Map;maxAge;constructor(e){this.capacity=e.capacity,this.maxAge=e.maxAge}#t(e,n){this.#e.delete(e),this.#e.set(e,{value:n,lastAccessed:Date.now()})}set(e,n){this.#t(e,n),this.#n()}get(e){let n=this.#e.get(e);if(n)return this.#t(e,n.value),this.#n(),n.value}#n(){let e=this.maxAge?Date.now()-this.maxAge:0,n=this.#e.entries().next();for(;!n.done&&(this.#e.size>this.capacity||n.value[1].lastAccessed<e);)this.#e.delete(n.value[0]),n=this.#e.entries().next()}};Hn.LRUCache=Zp;function gP(t){return Object.entries(t).forEach(([e,n])=>{(n===void 0||n==="undefined")&&delete t[e]}),t}async function yP(t){try{return(await fP.promises.lstat(t)).isFile()}catch{return!1}}function _P(){let t=process.env.CLOUDSDK_CONFIG||(bP()?Qp.join(process.env.APPDATA||"",nS):Qp.join(process.env.HOME||"",".config",nS));return Qp.join(t,hP)}function bP(){return pP.platform().startsWith("win")}});var oS=J((FH,CP)=>{CP.exports={name:"google-auth-library",version:"11.0.0",author:"Google Inc.",description:"Google APIs Authentication Client Library for Node.js",engines:{node:">=22"},main:"./build/src/index.js",types:"./build/src/index.d.ts",repository:{type:"git",directory:"core/packages/google-auth-library-nodejs",url:"https://github.com/googleapis/google-cloud-node.git"},keywords:["google","api","google apis","client","client library"],dependencies:{"base64-js":"^1.3.0","ecdsa-sig-formatter":"^1.0.11",gaxios:"^7.1.4","gcp-metadata":"8.1.2","google-logging-utils":"1.1.3",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.8","@types/node":"^24.0.0","@types/sinon":"^21.0.0","assert-rejects":"^1.0.0",c8:"^10.1.3",codecov:"^3.8.3",gts:"^6.0.2","is-docker":"^3.0.0",jsdoc:"^4.0.4","jsdoc-fresh":"^5.0.0","jsdoc-region-tag":"^4.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",mocha:"^11.1.0",mv:"^2.1.1",ncp:"^2.0.0",nock:"^14.0.5","null-loader":"^4.0.1",puppeteer:"^24.0.0",sinon:"21.0.3","ts-loader":"^9.5.2",typescript:"5.8.3",webpack:"^5.97.1","webpack-cli":"^6.0.1"},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",prelint:"cd samples; npm link ../; npm install"},license:"Apache-2.0",homepage:"https://github.com/googleapis/google-cloud-node/tree/main/core/packages/google-auth-library-nodejs"}});var eh=J(wr=>{"use strict";Object.defineProperty(wr,"__esModule",{value:!0});wr.USER_AGENT=wr.PRODUCT_NAME=wr.pkg=void 0;var sS=oS();wr.pkg=sS;var iS="google-api-nodejs-client";wr.PRODUCT_NAME=iS;var wP=`${iS}/${sS.version}`;wr.USER_AGENT=wP});var At=J(Yt=>{"use strict";Object.defineProperty(Yt,"__esModule",{value:!0});Yt.AuthClient=Yt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=Yt.DEFAULT_UNIVERSE=void 0;var kP=oe("events"),th=it(),SP=Kt(),EP=Lp(),nh=eh();Yt.DEFAULT_UNIVERSE="googleapis.com";Yt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=300*1e3;var rh=class t extends kP.EventEmitter{apiKey;projectId;quotaProjectId;transporter;credentials={};eagerRefreshThresholdMillis=Yt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS;forceRefreshOnFailure=!1;universeDomain=Yt.DEFAULT_UNIVERSE;static RequestMethodNameSymbol=Symbol("request method name");static RequestLogIdSymbol=Symbol("request log id");constructor(e={}){super();let n=(0,SP.originalOrCamelOptions)(e);this.apiKey=e.apiKey,this.projectId=n.get("project_id")??null,this.quotaProjectId=n.get("quota_project_id"),this.credentials=n.get("credentials")??{},this.universeDomain=n.get("universe_domain")??Yt.DEFAULT_UNIVERSE,this.transporter=e.transporter??new th.Gaxios(e.transporterOptions),n.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 n=e[0],r=e[1],o,s=new Headers;return typeof n=="string"?o=new URL(n):n instanceof URL?o=n:n&&n.url&&(o=new URL(n.url)),n&&typeof n=="object"&&"headers"in n&&th.Gaxios.mergeHeaders(s,n.headers),r&&th.Gaxios.mergeHeaders(s,new Headers(r.headers)),typeof n=="object"&&!(n instanceof URL)?this.request({...r,...n,headers:s,url:o}):this.request({...r,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,n){let r=n.get("x-goog-user-project"),o=n.get("authorization");return r&&e.set("x-goog-user-project",r),o&&e.set("authorization",o),e}static log=(0,EP.log)("auth");static DEFAULT_REQUEST_INTERCEPTOR={resolved:async e=>{if(!e.headers.has("x-goog-api-client")){let r=process.version.replace(/^v/,"");e.headers.set("x-goog-api-client",`gl-node/${r}`)}let n=e.headers.get("User-Agent");n?n.includes(`${nh.PRODUCT_NAME}/`)||e.headers.set("User-Agent",`${n} ${nh.USER_AGENT}`):e.headers.set("User-Agent",nh.USER_AGENT);try{let r=e,o=r[t.RequestMethodNameSymbol],s=`${Math.floor(Math.random()*1e3)}`;r[t.RequestLogIdSymbol]=s;let i={url:e.url,headers:e.headers};o?t.log.info("%s [%s] request %j",o,s,i):t.log.info("[%s] request %j",s,i)}catch{}return e}};static DEFAULT_RESPONSE_INTERCEPTOR={resolved:async e=>{try{let n=e.config,r=n[t.RequestMethodNameSymbol],o=n[t.RequestLogIdSymbol];r?t.log.info("%s [%s] response %j",r,o,e.data):t.log.info("[%s] response %j",o,e.data)}catch{}return e},rejected:async e=>{try{let n=e.config,r=n[t.RequestMethodNameSymbol],o=n[t.RequestLogIdSymbol];r?t.log.info("%s [%s] error %j",r,o,e.response?.data):t.log.error("[%s] error %j",o,e.response?.data)}catch{}throw e}};static setMethodName(e,n){try{let r=e;r[t.RequestMethodNameSymbol]=n}catch{}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}};Yt.AuthClient=rh});var sh=J(ou=>{"use strict";Object.defineProperty(ou,"__esModule",{value:!0});ou.LoginTicket=void 0;var oh=class{envelope;payload;constructor(e,n){this.envelope=e,this.payload=n}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()}}};ou.LoginTicket=oh});var kr=J(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});gn.OAuth2Client=gn.ClientAuthentication=gn.CertificateFormat=gn.CodeChallengeMethod=void 0;var aS=it(),vP=oe("querystring"),AP=oe("stream"),TP=Xp(),cS=Kt(),ih=ki(),Vo=At(),RP=sh(),uS;(function(t){t.Plain="plain",t.S256="S256"})(uS||(gn.CodeChallengeMethod=uS={}));var Wn;(function(t){t.PEM="PEM",t.JWK="JWK"})(Wn||(gn.CertificateFormat=Wn={}));var Si;(function(t){t.ClientSecretPost="ClientSecretPost",t.ClientSecretBasic="ClientSecretBasic",t.None="None"})(Si||(gn.ClientAuthentication=Si={}));var ah=class t extends Vo.AuthClient{redirectUri;certificateCache={};certificateExpiry=null;certificateCacheFormat=Wn.PEM;refreshTokenPromises=new Map;endpoints;issuers;clientAuthentication;_clientId;_clientSecret;refreshHandler;constructor(e={},n,r){super(typeof e=="object"?e:{}),typeof e!="object"&&(e={clientId:e,clientSecret:n,redirectUri:r}),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||Si.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()+"?"+vP.stringify(e)}generateCodeVerifier(){throw new Error("generateCodeVerifier is removed, please use generateCodeVerifierAsync instead.")}async generateCodeVerifierAsync(){let e=(0,ih.createCrypto)(),r=e.randomBytesBase64(96).replace(/\+/g,"~").replace(/=/g,"_").replace(/\//g,"-"),s=(await e.sha256DigestBase64(r)).split("=")[0].replace(/\+/g,"-").replace(/\//g,"_");return{codeVerifier:r,codeChallenge:s}}getToken(e,n){let r=typeof e=="string"?{code:e}:e;if(n)this.getTokenAsync(r).then(o=>n(null,o.tokens,o.res),o=>n(o,null,o.response));else return this.getTokenAsync(r)}async getTokenAsync(e){let n=this.endpoints.oauth2TokenUrl.toString(),r=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===Si.ClientSecretBasic){let u=Buffer.from(`${this._clientId}:${this._clientSecret}`);r.set("authorization",`Basic ${u.toString("base64")}`)}this.clientAuthentication===Si.ClientSecretPost&&(o.client_secret=this._clientSecret);let s={...t.RETRY_CONFIG,method:"POST",url:n,data:new URLSearchParams((0,cS.removeUndefinedValuesInObject)(o)),headers:r};Vo.AuthClient.setMethodName(s,"getTokenAsync");let i=await this.transporter.request(s),c=i.data;return i.data&&i.data.expires_in&&(c.expiry_date=new Date().getTime()+i.data.expires_in*1e3,delete c.expires_in),this.emit("tokens",c),{tokens:c,res:i}}async refreshToken(e){if(!e)return this.refreshTokenNoCache(e);if(this.refreshTokenPromises.has(e))return this.refreshTokenPromises.get(e);let n=this.refreshTokenNoCache(e).then(r=>(this.refreshTokenPromises.delete(e),r),r=>{throw this.refreshTokenPromises.delete(e),r});return this.refreshTokenPromises.set(e,n),n}async refreshTokenNoCache(e){if(!e)throw new Error("No refresh token is set.");let n=this.endpoints.oauth2TokenUrl.toString(),r={refresh_token:e,client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token"},o;try{let i={...t.RETRY_CONFIG,method:"POST",url:n,data:new URLSearchParams((0,cS.removeUndefinedValuesInObject)(r))};Vo.AuthClient.setMethodName(i,"refreshTokenNoCache"),o=await this.transporter.request(i)}catch(i){throw i instanceof aS.GaxiosError&&i.message==="invalid_grant"&&i.response?.data&&/ReAuth/i.test(i.response.data.error_description)&&(i.message=JSON.stringify(i.response.data)),i}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(n=>e(null,n.credentials,n.res),e);else return this.refreshAccessTokenAsync()}async refreshAccessTokenAsync(){let e=await this.refreshToken(this.credentials.refresh_token),n=e.tokens;return n.refresh_token=this.credentials.refresh_token,this.credentials=n,{credentials:this.credentials,res:e.res}}getAccessToken(e){if(e)this.getAccessTokenAsync().then(n=>e(null,n.token,n.res),e);else return this.getAccessTokenAsync()}async getAccessTokenAsync(){if(!this.credentials.access_token||this.isTokenExpiring()){if(!this.credentials.refresh_token)if(this.refreshHandler){let r=await this.processAndValidateRefreshHandler();if(r?.access_token)return this.setCredentials(r),{token:this.credentials.access_token}}else throw new Error("No refresh token or refresh handler callback is set.");let n=await this.refreshAccessTokenAsync();if(!n.credentials||n.credentials&&!n.credentials.access_token)throw new Error("Could not refresh access token.");return{token:n.credentials.access_token,res:n.res}}else return{token:this.credentials.access_token}}async getRequestHeaders(e){return(await this.getRequestMetadataAsync(e)).headers}async getRequestMetadataAsync(e){let n=this.credentials;if(!n.access_token&&!n.refresh_token&&!this.apiKey&&!this.refreshHandler)throw new Error("No access, refresh token, API key or refresh handler callback is set.");if(n.access_token&&!this.isTokenExpiring()){n.token_type=n.token_type||"Bearer";let c=new Headers({authorization:n.token_type+" "+n.access_token});return{headers:this.addSharedMetadataHeaders(c)}}if(this.refreshHandler){let c=await this.processAndValidateRefreshHandler();if(c?.access_token){this.setCredentials(c);let u=new Headers({authorization:"Bearer "+this.credentials.access_token});return{headers:this.addSharedMetadataHeaders(u)}}}if(this.apiKey)return{headers:new Headers({"X-Goog-Api-Key":this.apiKey})};let r=null,o=null;try{r=await this.refreshToken(n.refresh_token),o=r.tokens}catch(c){let u=c;throw u.response&&(u.response.status===403||u.response.status===404)&&(u.message=`Could not refresh access token: ${u.message}`),u}let s=this.credentials;s.token_type=s.token_type||"Bearer",o.refresh_token=s.refresh_token,this.credentials=o;let i=new Headers({authorization:s.token_type+" "+o.access_token});return{headers:this.addSharedMetadataHeaders(i),res:r.res}}static getRevokeTokenUrl(e){return new t().getRevokeTokenURL(e).toString()}getRevokeTokenURL(e){let n=new URL(this.endpoints.oauth2RevokeUrl);return n.searchParams.append("token",e),n}revokeToken(e,n){let r={...t.RETRY_CONFIG,url:this.getRevokeTokenURL(e).toString(),method:"POST"};if(Vo.AuthClient.setMethodName(r,"revokeToken"),n)this.transporter.request(r).then(o=>n(null,o),n);else return this.transporter.request(r)}revokeCredentials(e){if(e)this.revokeCredentialsAsync().then(n=>e(null,n),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,n){if(n)this.requestAsync(e).then(r=>n(null,r),r=>n(r,r.response));else return this.requestAsync(e)}async requestAsync(e,n=!1){try{let r=await this.getRequestMetadataAsync();return e.headers=aS.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,r.headers),this.apiKey&&e.headers.set("X-Goog-Api-Key",this.apiKey),await this.transporter.request(e)}catch(r){let o=r.response;if(o){let s=o.status,i=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,u=o.config.data instanceof AP.Readable,f=s===401||s===403;if(!n&&f&&!u&&i)return await this.refreshAccessTokenAsync(),this.requestAsync(e,!0);if(!n&&f&&!u&&c){let d=await this.processAndValidateRefreshHandler();return d?.access_token&&this.setCredentials(d),this.requestAsync(e,!0)}}throw r}}verifyIdToken(e,n){if(n&&typeof n!="function")throw new Error("This method accepts an options object as the first parameter, which includes the idToken, audience, and maxExpiry.");if(n)this.verifyIdTokenAsync(e).then(r=>n(null,r),n);else return this.verifyIdTokenAsync(e)}async verifyIdTokenAsync(e){if(!e.idToken)throw new Error("The verifyIdToken method requires an ID Token");let n=await this.getFederatedSignonCertsAsync();return await this.verifySignedJwtWithCertsAsync(e.idToken,n.certs,e.audience,this.issuers,e.maxExpiry)}async getTokenInfo(e){let{data:n}=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()}),r=Object.assign({expiry_date:new Date().getTime()+n.expires_in*1e3,scopes:n.scope.split(" ")},n);return delete r.expires_in,delete r.scope,r}getFederatedSignonCerts(e){if(e)this.getFederatedSignonCertsAsync().then(n=>e(null,n.certs,n.res),e);else return this.getFederatedSignonCertsAsync()}async getFederatedSignonCertsAsync(){let e=new Date().getTime(),n=(0,ih.hasBrowserCrypto)()?Wn.JWK:Wn.PEM;if(this.certificateExpiry&&e<this.certificateExpiry.getTime()&&this.certificateCacheFormat===n)return{certs:this.certificateCache,format:n};let r,o;switch(n){case Wn.PEM:o=this.endpoints.oauth2FederatedSignonPemCertsUrl.toString();break;case Wn.JWK:o=this.endpoints.oauth2FederatedSignonJwkCertsUrl.toString();break;default:throw new Error(`Unsupported certificate format ${n}`)}try{let f={...t.RETRY_CONFIG,url:o};Vo.AuthClient.setMethodName(f,"getFederatedSignonCertsAsync"),r=await this.transporter.request(f)}catch(f){throw f instanceof Error&&(f.message=`Failed to retrieve verification certificates: ${f.message}`),f}let s=r?.headers.get("cache-control"),i=-1;if(s){let f=/max-age=(?<maxAge>[0-9]+)/.exec(s)?.groups?.maxAge;f&&(i=Number(f)*1e3)}let c={};switch(n){case Wn.PEM:c=r.data;break;case Wn.JWK:for(let f of r.data.keys)c[f.kid]=f;break;default:throw new Error(`Unsupported certificate format ${n}`)}let u=new Date;return this.certificateExpiry=i===-1?null:new Date(u.getTime()+i),this.certificateCache=c,this.certificateCacheFormat=n,{certs:c,format:n,res:r}}getIapPublicKeys(e){if(e)this.getIapPublicKeysAsync().then(n=>e(null,n.pubkeys,n.res),e);else return this.getIapPublicKeysAsync()}async getIapPublicKeysAsync(){let e,n=this.endpoints.oauth2IapPublicKeyUrl.toString();try{let r={...t.RETRY_CONFIG,url:n};Vo.AuthClient.setMethodName(r,"getIapPublicKeysAsync"),e=await this.transporter.request(r)}catch(r){throw r instanceof Error&&(r.message=`Failed to retrieve verification certificates: ${r.message}`),r}return{pubkeys:e.data,res:e}}verifySignedJwtWithCerts(){throw new Error("verifySignedJwtWithCerts is removed, please use verifySignedJwtWithCertsAsync instead.")}async verifySignedJwtWithCertsAsync(e,n,r,o,s){let i=(0,ih.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 u=c[0]+"."+c[1],f=c[2],d,p;try{d=JSON.parse(i.decodeBase64StringUtf8(c[0]))}catch(A){throw A instanceof Error&&(A.message=`Can't parse token envelope: ${c[0]}': ${A.message}`),A}if(!d)throw new Error("Can't parse token envelope: "+c[0]);try{p=JSON.parse(i.decodeBase64StringUtf8(c[1]))}catch(A){throw A instanceof Error&&(A.message=`Can't parse token payload '${c[0]}`),A}if(!p)throw new Error("Can't parse token payload: "+c[1]);if(!Object.prototype.hasOwnProperty.call(n,d.kid))throw new Error("No pem found for envelope: "+JSON.stringify(d));let h=n[d.kid];if(d.alg==="ES256"&&(f=TP.joseToDer(f,"ES256").toString("base64")),!await i.verify(h,u,f))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 b=Number(p.iat);if(isNaN(b))throw new Error("iat field using invalid format");let y=Number(p.exp);if(isNaN(y))throw new Error("exp field using invalid format");let w=new Date().getTime()/1e3;if(y>=w+s)throw new Error("Expiration time too far in future: "+JSON.stringify(p));let C=b-t.CLOCK_SKEW_SECS_,v=y+t.CLOCK_SKEW_SECS_;if(w<C)throw new Error("Token used too early, "+w+" < "+C+": "+JSON.stringify(p));if(w>v)throw new Error("Token used too late, "+w+" > "+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 r<"u"&&r!==null){let A=p.aud,T=!1;if(r.constructor===Array?T=r.indexOf(A)>-1:T=A===r,!T)throw new Error("Wrong recipient, payload audience != requiredAudience")}return new RP.LoginTicket(d,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}};gn.OAuth2Client=ah});var uh=J(su=>{"use strict";Object.defineProperty(su,"__esModule",{value:!0});su.Compute=void 0;var xP=it(),lS=wi(),DP=kr(),ch=class extends DP.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`,n;try{let o={property:e};this.scopes.length>0&&(o.params={scopes:this.scopes.join(",")}),n=await lS.instance(o)}catch(o){throw o instanceof xP.GaxiosError&&(o.message=`Could not refresh access token: ${o.message}`,this.wrapError(o)),o}let r=n;return n&&n.expires_in&&(r.expiry_date=new Date().getTime()+n.expires_in*1e3,delete r.expires_in),this.emit("tokens",r),{tokens:r,res:null}}async fetchIdToken(e){let n=`service-accounts/${this.serviceAccountEmail}/identity?format=full&audience=${e}`,r;try{let o={property:n};r=await lS.instance(o)}catch(o){throw o instanceof Error&&(o.message=`Could not fetch ID token: ${o.message}`),o}return r}wrapError(e){let n=e.response;n&&n.status&&(e.status=n.status,n.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:n.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))}};su.Compute=ch});var dh=J(iu=>{"use strict";Object.defineProperty(iu,"__esModule",{value:!0});iu.IdTokenClient=void 0;var OP=kr(),lh=class extends OP.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 n=await this.idTokenProvider.fetchIdToken(this.targetAudience);this.credentials={id_token:n,expiry_date:this.getIdTokenExpiryDate(n)}}return{headers:new Headers({authorization:"Bearer "+this.credentials.id_token})}}getIdTokenExpiryDate(e){let n=e.split(".")[1];if(n)return JSON.parse(Buffer.from(n,"base64").toString("ascii")).exp*1e3}};iu.IdTokenClient=lh});var fh=J(Ko=>{"use strict";Object.defineProperty(Ko,"__esModule",{value:!0});Ko.GCPEnv=void 0;Ko.clear=PP;Ko.getEnv=IP;var dS=wi(),yn;(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"})(yn||(Ko.GCPEnv=yn={}));var Ei;function PP(){Ei=void 0}async function IP(){return Ei||(Ei=FP(),Ei)}async function FP(){let t=yn.NONE;return NP()?t=yn.APP_ENGINE:MP()?t=yn.CLOUD_FUNCTIONS:await LP()?await jP()?t=yn.KUBERNETES_ENGINE:BP()?t=yn.CLOUD_RUN:UP()?t=yn.CLOUD_RUN_JOBS:t=yn.COMPUTE_ENGINE:t=yn.NONE,t}function NP(){return!!(process.env.GAE_SERVICE||process.env.GAE_MODULE_NAME)}function MP(){return!!(process.env.FUNCTION_NAME||process.env.FUNCTION_TARGET)}function BP(){return!!process.env.K_CONFIGURATION}function UP(){return!!process.env.CLOUD_RUN_JOB}async function jP(){try{return await dS.instance("attributes/cluster-name"),!0}catch{return!1}}async function LP(){return dS.isAvailable()}});var ph=J(($H,fS)=>{var au=Jo().Buffer,qP=oe("stream"),$P=oe("util");function cu(t){if(this.buffer=null,this.writable=!0,this.readable=!0,!t)return this.buffer=au.alloc(0),this;if(typeof t.pipe=="function")return this.buffer=au.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+")")}$P.inherits(cu,qP);cu.prototype.write=function(e){this.buffer=au.concat([this.buffer,au.from(e)]),this.emit("data",e)};cu.prototype.end=function(e){e&&this.write(e),this.emit("end",e),this.emit("close"),this.writable=!1,this.readable=!1};fS.exports=cu});var hS=J((zH,pS)=>{"use strict";var vi=oe("buffer").Buffer,hh=oe("buffer").SlowBuffer;pS.exports=uu;function uu(t,e){if(!vi.isBuffer(t)||!vi.isBuffer(e)||t.length!==e.length)return!1;for(var n=0,r=0;r<t.length;r++)n|=t[r]^e[r];return n===0}uu.install=function(){vi.prototype.equal=hh.prototype.equal=function(e){return uu(this,e)}};var zP=vi.prototype.equal,HP=hh.prototype.equal;uu.restore=function(){vi.prototype.equal=zP,hh.prototype.equal=HP}});var _h=J((HH,SS)=>{var Xo=Jo().Buffer,Mt=oe("crypto"),gS=Xp(),mS=oe("util"),WP=`"%s" is not a valid algorithm.
|
|
78
|
+
`+m+"}":"{"+w.join(",")+"}",r=m,b}}typeof tS.stringify!="function"&&(tS.stringify=function(d,f,h){var p;if(r="",o="",typeof h=="number")for(p=0;p<h;p+=1)o+=" ";else typeof h=="string"&&(o=h);if(i=f,f&&typeof f!="function"&&(typeof f!="object"||typeof f.length!="number"))throw new Error("JSON.stringify");return u("",{"":d})})})()});var sS=J((E3,oS)=>{var fu=null,l1=/(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/,d1=/(?: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)/,f1=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 n,r,o={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
|
|
79
|
+
`,r:"\r",t:" "},s,i=function(m){throw{name:"SyntaxError",message:m,at:n,text:s}},a=function(m){return m&&m!==r&&i("Expected '"+m+"' instead of '"+r+"'"),r=s.charAt(n),n+=1,r},u=function(){var m,w="";for(r==="-"&&(w="-",a("-"));r>="0"&&r<="9";)w+=r,a();if(r===".")for(w+=".";a()&&r>="0"&&r<="9";)w+=r;if(r==="e"||r==="E")for(w+=r,a(),(r==="-"||r==="+")&&(w+=r,a());r>="0"&&r<="9";)w+=r,a();if(m=+w,!isFinite(m))i("Bad number");else return fu==null&&(fu=dh()),w.length>15?e.storeAsString?w:e.useNativeBigInt?BigInt(w):new fu(w):e.alwaysParseAsBig?e.useNativeBigInt?BigInt(m):new fu(m):m},d=function(){var m,w,_="",A;if(r==='"')for(var S=n;a();){if(r==='"')return n-1>S&&(_+=s.substring(S,n-1)),a(),_;if(r==="\\"){if(n-1>S&&(_+=s.substring(S,n-1)),a(),r==="u"){for(A=0,w=0;w<4&&(m=parseInt(a(),16),!!isFinite(m));w+=1)A=A*16+m;_+=String.fromCharCode(A)}else if(typeof o[r]=="string")_+=o[r];else break;S=n}}i("Bad string")},f=function(){for(;r&&r<=" ";)a()},h=function(){switch(r){case"t":return a("t"),a("r"),a("u"),a("e"),!0;case"f":return a("f"),a("a"),a("l"),a("s"),a("e"),!1;case"n":return a("n"),a("u"),a("l"),a("l"),null}i("Unexpected '"+r+"'")},p,b=function(){var m=[];if(r==="["){if(a("["),f(),r==="]")return a("]"),m;for(;r;){if(m.push(p()),f(),r==="]")return a("]"),m;a(","),f()}}i("Bad array")},C=function(){var m,w=Object.create(null);if(r==="{"){if(a("{"),f(),r==="}")return a("}"),w;for(;r;){if(m=d(),f(),a(":"),e.strict===!0&&Object.hasOwnProperty.call(w,m)&&i('Duplicate key "'+m+'"'),l1.test(m)===!0?e.protoAction==="error"?i("Object contains forbidden prototype property"):e.protoAction==="ignore"?p():w[m]=p():d1.test(m)===!0?e.constructorAction==="error"?i("Object contains forbidden constructor property"):e.constructorAction==="ignore"?p():w[m]=p():w[m]=p(),f(),r==="}")return a("}"),w;a(","),f()}}i("Bad object")};return p=function(){switch(f(),r){case"{":return C();case"[":return b();case'"':return d();case"-":return u();default:return r>="0"&&r<="9"?u():h()}},function(m,w){var _;return s=m+"",n=0,r=" ",_=p(),f(),r&&i("Syntax error"),typeof w=="function"?(function A(S,T){var x,O,q=S[T];return q&&typeof q=="object"&&Object.keys(q).forEach(function($){O=A(q,$),O!==void 0?q[$]=O:delete q[$]}),w.call(S,T,q)})({"":_},""):_}};oS.exports=f1});var cS=J((A3,pu)=>{var iS=rS().stringify,aS=sS();pu.exports=function(t){return{parse:aS(t),stringify:iS}};pu.exports.parse=aS();pu.exports.stringify=iS});var fh=J(Vt=>{"use strict";Object.defineProperty(Vt,"__esModule",{value:!0});Vt.GCE_LINUX_BIOS_PATHS=void 0;Vt.isGoogleCloudServerless=dS;Vt.isGoogleComputeEngineLinux=fS;Vt.isGoogleComputeEngineMACAddress=pS;Vt.isGoogleComputeEngine=hS;Vt.detectGCPResidency=h1;var uS=oe("fs"),lS=oe("os");Vt.GCE_LINUX_BIOS_PATHS={BIOS_DATE:"/sys/class/dmi/id/bios_date",BIOS_VENDOR:"/sys/class/dmi/id/bios_vendor"};var p1=/^42:01/;function dS(){return!!(process.env.CLOUD_RUN_JOB||process.env.FUNCTION_NAME||process.env.K_SERVICE)}function fS(){if((0,lS.platform)()!=="linux")return!1;try{(0,uS.statSync)(Vt.GCE_LINUX_BIOS_PATHS.BIOS_DATE);let t=(0,uS.readFileSync)(Vt.GCE_LINUX_BIOS_PATHS.BIOS_VENDOR,"utf8");return/Google/.test(t)}catch{return!1}}function pS(){let t=(0,lS.networkInterfaces)();for(let e of Object.values(t))if(e){for(let{mac:n}of e)if(p1.test(n))return!0}return!1}function hS(){return fS()||pS()}function h1(){return dS()||hS()}});var mS=J(mu=>{"use strict";Object.defineProperty(mu,"__esModule",{value:!0});mu.Colours=void 0;var hu=class t{static enabled=!1;static reset="";static bright="";static dim="";static red="";static green="";static yellow="";static blue="";static magenta="";static cyan="";static white="";static grey="";static isEnabled(e){return e&&e.isTTY&&(typeof e.getColorDepth=="function"?e.getColorDepth()>2:!0)}static refresh(){t.enabled=t.isEnabled(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="")}};mu.Colours=hu;hu.refresh()});var yS=J(gu=>{"use strict";Object.defineProperty(gu,"__esModule",{value:!0});gu.LogSeverity=void 0;var gS;(function(t){t.DEFAULT="DEFAULT",t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR"})(gS||(gu.LogSeverity=gS={}))});var wS=J(je=>{"use strict";var m1=je&&je.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),g1=je&&je.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),_S=je&&je.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(n){var r=[];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(r[r.length]=o);return r},t(e)};return function(e){if(e&&e.__esModule)return e;var n={};if(e!=null)for(var r=t(e),o=0;o<r.length;o++)r[o]!=="default"&&m1(n,e,r[o]);return g1(n,e),n}})();Object.defineProperty(je,"__esModule",{value:!0});je.env=je.DebugLogBackendBase=je.placeholder=je.AdhocDebugLogger=void 0;je.getNodeBackend=hh;je.getDebugBackend=_1;je.getStructuredBackend=b1;je.setBackend=C1;je.log=CS;var y1=oe("events"),vi=_S(oe("process")),bS=_S(oe("util")),Tt=mS(),Jn=yS(),Ti=class extends y1.EventEmitter{namespace;upstream;func;constructor(e,n){super(),this.namespace=e,this.upstream=n,this.func=Object.assign(this.invoke.bind(this),{instance:this,on:(r,o)=>this.on(r,o)}),this.func.debug=(...r)=>this.invokeSeverity(Jn.LogSeverity.DEBUG,...r),this.func.info=(...r)=>this.invokeSeverity(Jn.LogSeverity.INFO,...r),this.func.warn=(...r)=>this.invokeSeverity(Jn.LogSeverity.WARNING,...r),this.func.error=(...r)=>this.invokeSeverity(Jn.LogSeverity.ERROR,...r),this.func.sublog=r=>CS(r,this.func)}invoke(e,...n){if(this.upstream)try{this.upstream(e,...n)}catch{}try{this.emit("log",e,n)}catch{}}invokeSeverity(e,...n){this.invoke({severity:e},...n)}};je.AdhocDebugLogger=Ti;je.placeholder=new Ti("",()=>{}).func;var es=class{cached=new Map;filters=[];filtersSet=!1;constructor(){let e=vi.env[je.env.nodeEnables]??"*";e==="all"&&(e="*"),this.filters=e.split(",")}log(e,n,...r){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(n,...r)}catch(o){console.error(o)}}};je.DebugLogBackendBase=es;var ph=class extends es{enabledRegexp=/.*/g;isEnabled(e){return this.enabledRegexp.test(e)}makeLogger(e){return this.enabledRegexp.test(e)?(n,...r)=>{let o=`${Tt.Colours.green}${e}${Tt.Colours.reset}`,s=`${Tt.Colours.yellow}${vi.pid}${Tt.Colours.reset}`,i;switch(n.severity){case Jn.LogSeverity.ERROR:i=`${Tt.Colours.red}${n.severity}${Tt.Colours.reset}`;break;case Jn.LogSeverity.INFO:i=`${Tt.Colours.magenta}${n.severity}${Tt.Colours.reset}`;break;case Jn.LogSeverity.WARNING:i=`${Tt.Colours.yellow}${n.severity}${Tt.Colours.reset}`;break;default:i=n.severity??Jn.LogSeverity.DEFAULT;break}let a=bS.formatWithOptions({colors:Tt.Colours.enabled},...r),u=Object.assign({},n);delete u.severity;let d=Object.getOwnPropertyNames(u).length?JSON.stringify(u):"",f=d?`${Tt.Colours.grey}${d}${Tt.Colours.reset}`:"";console.error("%s [%s|%s] %s%s",s,o,i,a,d?` ${f}`:"")}:()=>{}}setFilters(){let n=this.filters.join(",").replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^");this.enabledRegexp=new RegExp(`^${n}$`,"i")}};function hh(){return new ph}var mh=class extends es{debugPkg;constructor(e){super(),this.debugPkg=e}makeLogger(e){let n=this.debugPkg(e);return(r,...o)=>{n(o[0],...o.slice(1))}}setFilters(){let e=vi.env.NODE_DEBUG??"";vi.env.NODE_DEBUG=`${e}${e?",":""}${this.filters.join(",")}`}};function _1(t){return new mh(t)}var gh=class extends es{upstream;constructor(e){super(),this.upstream=e??void 0}makeLogger(e){let n=this.upstream?.makeLogger(e);return(r,...o)=>{let s=r.severity??Jn.LogSeverity.INFO,i=Object.assign({severity:s,message:bS.format(...o)},r),a=JSON.stringify(i);n?n(r,a):console.log("%s",a)}}setFilters(){this.upstream?.setFilters()}};function b1(t){return new gh(t)}je.env={nodeEnables:"GOOGLE_SDK_NODE_LOGGING"};var yh=new Map,Yt;function C1(t){Yt=t,yh.clear()}function CS(t,e){if(!Yt&&!vi.env[je.env.nodeEnables]||!t)return je.placeholder;e&&(t=`${e.instance.namespace}:${t}`);let n=yh.get(t);if(n)return n.func;if(Yt===null)return je.placeholder;Yt===void 0&&(Yt=hh());let r=(()=>{let o;return new Ti(t,(i,...a)=>{if(o!==Yt){if(Yt===null)return;Yt===void 0&&(Yt=hh()),o=Yt}Yt?.log(t,i,...a)})})();return yh.set(t,r),r.func}});var _h=J(io=>{"use strict";var w1=io&&io.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),k1=io&&io.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&w1(e,t,n)};Object.defineProperty(io,"__esModule",{value:!0});k1(wS(),io)});var xi=J(he=>{"use strict";var SS=he&&he.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),S1=he&&he.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),E1=he&&he.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(n){var r=[];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(r[r.length]=o);return r},t(e)};return function(e){if(e&&e.__esModule)return e;var n={};if(e!=null)for(var r=t(e),o=0;o<r.length;o++)r[o]!=="default"&&SS(n,e,r[o]);return S1(n,e),n}})(),A1=he&&he.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&SS(e,t,n)};Object.defineProperty(he,"__esModule",{value:!0});he.gcpResidencyCache=he.METADATA_SERVER_DETECTION=he.HEADERS=he.HEADER_VALUE=he.HEADER_NAME=he.SECONDARY_HOST_ADDRESS=he.HOST_ADDRESS=he.BASE_PATH=void 0;he.instance=O1;he.project=P1;he.universe=I1;he.bulk=F1;he.isAvailable=M1;he.resetIsAvailableCache=B1;he.getGCPResidency=wh;he.setGCPResidency=ES;he.requestTimeout=AS;var bh=it(),v1=cS(),T1=fh(),R1=E1(_h());he.BASE_PATH="/computeMetadata/v1";he.HOST_ADDRESS="http://169.254.169.254";he.SECONDARY_HOST_ADDRESS="http://metadata.google.internal.";he.HEADER_NAME="Metadata-Flavor";he.HEADER_VALUE="Google";he.HEADERS=Object.freeze({[he.HEADER_NAME]:he.HEADER_VALUE});var kS=R1.log("gcp-metadata");he.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 Ch(t){return t||(t=process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST||he.HOST_ADDRESS),/^https?:\/\//.test(t)||(t=`http://${t}`),new URL(he.BASE_PATH,t).href}function x1(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 Ri(t,e={},n=3,r=!1){let o=new Headers(he.HEADERS),s="",i={};if(typeof t=="object"){let h=t;new Headers(h.headers).forEach((p,b)=>o.set(b,p)),s=h.metadataKey,i=h.params||i,n=h.noResponseRetries||n,r=h.fastFail||r}else s=t;typeof e=="string"?s+=`/${e}`:(x1(e),e.property&&(s+=`/${e.property}`),new Headers(e.headers).forEach((h,p)=>o.set(p,h)),i=e.params||i);let a=r?D1:bh.request,u={url:`${Ch()}/${s}`,headers:o,retryConfig:{noResponseRetries:n},params:i,responseType:"text",timeout:AS()};kS.info("instance request %j",u);let d=await a(u);kS.info("instance metadata is %s",d.data);let f=d.headers.get(he.HEADER_NAME);if(f!==he.HEADER_VALUE)throw new RangeError(`Invalid response from metadata service: incorrect ${he.HEADER_NAME} header. Expected '${he.HEADER_VALUE}', got ${f?`'${f}'`:"no header"}`);if(typeof d.data=="string")try{return v1.parse(d.data)}catch{}return d.data}async function D1(t){let e={...t,url:t.url?.toString().replace(Ch(),Ch(he.SECONDARY_HOST_ADDRESS))},n=(0,bh.request)(t),r=(0,bh.request)(e);return Promise.any([n,r])}function O1(t){return Ri("instance",t)}function P1(t){return Ri("project",t)}function I1(t){return Ri("universe",t)}async function F1(t){let e={};return await Promise.all(t.map(n=>(async()=>{let r=await Ri(n),o=n.metadataKey;e[o]=r})())),e}function N1(){return process.env.DETECT_GCP_RETRIES?Number(process.env.DETECT_GCP_RETRIES):0}var yu;async function M1(){if(process.env.METADATA_SERVER_DETECTION){let t=process.env.METADATA_SERVER_DETECTION.trim().toLocaleLowerCase();if(!(t in he.METADATA_SERVER_DETECTION))throw new RangeError(`Unknown \`METADATA_SERVER_DETECTION\` env variable. Got \`${t}\`, but it should be \`${Object.keys(he.METADATA_SERVER_DETECTION).join("`, `")}\`, or unset`);switch(t){case"assume-present":return!0;case"none":return!1;case"bios-only":return wh();case"ping-only":}}try{return yu===void 0&&(yu=Ri("instance",void 0,N1(),!(process.env.GCE_METADATA_IP||process.env.GCE_METADATA_HOST))),await yu,!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 n="UNKNOWN";e.code&&(n=e.code.toString()),process.emitWarning(`received unexpected error = ${e.message} code = ${n}`,"MetadataLookupWarning")}return!1}}function B1(){yu=void 0}he.gcpResidencyCache=null;function wh(){return he.gcpResidencyCache===null&&ES(),he.gcpResidencyCache}function ES(t=null){he.gcpResidencyCache=t!==null?t:(0,T1.detectGCPResidency)()}function AS(){return wh()?0:3e3}A1(fh(),he)});var RS=J(_u=>{"use strict";_u.byteLength=j1;_u.toByteArray=q1;_u.fromByteArray=H1;var _n=[],Bt=[],U1=typeof Uint8Array<"u"?Uint8Array:Array,kh="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(ao=0,vS=kh.length;ao<vS;++ao)_n[ao]=kh[ao],Bt[kh.charCodeAt(ao)]=ao;var ao,vS;Bt[45]=62;Bt[95]=63;function TS(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");n===-1&&(n=e);var r=n===e?0:4-n%4;return[n,r]}function j1(t){var e=TS(t),n=e[0],r=e[1];return(n+r)*3/4-r}function L1(t,e,n){return(e+n)*3/4-n}function q1(t){var e,n=TS(t),r=n[0],o=n[1],s=new U1(L1(t,r,o)),i=0,a=o>0?r-4:r,u;for(u=0;u<a;u+=4)e=Bt[t.charCodeAt(u)]<<18|Bt[t.charCodeAt(u+1)]<<12|Bt[t.charCodeAt(u+2)]<<6|Bt[t.charCodeAt(u+3)],s[i++]=e>>16&255,s[i++]=e>>8&255,s[i++]=e&255;return o===2&&(e=Bt[t.charCodeAt(u)]<<2|Bt[t.charCodeAt(u+1)]>>4,s[i++]=e&255),o===1&&(e=Bt[t.charCodeAt(u)]<<10|Bt[t.charCodeAt(u+1)]<<4|Bt[t.charCodeAt(u+2)]>>2,s[i++]=e>>8&255,s[i++]=e&255),s}function $1(t){return _n[t>>18&63]+_n[t>>12&63]+_n[t>>6&63]+_n[t&63]}function z1(t,e,n){for(var r,o=[],s=e;s<n;s+=3)r=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(t[s+2]&255),o.push($1(r));return o.join("")}function H1(t){for(var e,n=t.length,r=n%3,o=[],s=16383,i=0,a=n-r;i<a;i+=s)o.push(z1(t,i,i+s>a?a:i+s));return r===1?(e=t[n-1],o.push(_n[e>>2]+_n[e<<4&63]+"==")):r===2&&(e=(t[n-2]<<8)+t[n-1],o.push(_n[e>>10]+_n[e>>4&63]+_n[e<<2&63]+"=")),o.join("")}});var Eh=J(Sh=>{"use strict";Object.defineProperty(Sh,"__esModule",{value:!0});Sh.fromArrayBufferToHex=W1;function W1(t){return Array.from(new Uint8Array(t)).map(n=>n.toString(16).padStart(2,"0")).join("")}});var xS=J(bu=>{"use strict";Object.defineProperty(bu,"__esModule",{value:!0});bu.BrowserCrypto=void 0;var ts=RS(),G1=Eh(),Ah=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 n=new TextEncoder().encode(e),r=await window.crypto.subtle.digest("SHA-256",n);return ts.fromByteArray(new Uint8Array(r))}randomBytesBase64(e){let n=new Uint8Array(e);return window.crypto.getRandomValues(n),ts.fromByteArray(n)}static padBase64(e){for(;e.length%4!==0;)e+="=";return e}async verify(e,n,r){let o={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},s=new TextEncoder().encode(n),i=ts.toByteArray(t.padBase64(r)),a=await window.crypto.subtle.importKey("jwk",e,o,!0,["verify"]);return await window.crypto.subtle.verify(o,a,Buffer.from(i),s)}async sign(e,n){let r={name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},o=new TextEncoder().encode(n),s=await window.crypto.subtle.importKey("jwk",e,r,!0,["sign"]),i=await window.crypto.subtle.sign(r,s,o);return ts.fromByteArray(new Uint8Array(i))}decodeBase64StringUtf8(e){let n=ts.toByteArray(t.padBase64(e));return new TextDecoder().decode(n)}encodeBase64StringUtf8(e){let n=new TextEncoder().encode(e);return ts.fromByteArray(n)}async sha256DigestHex(e){let n=new TextEncoder().encode(e),r=await window.crypto.subtle.digest("SHA-256",n);return(0,G1.fromArrayBufferToHex)(r)}async signWithHmacSha256(e,n){let r=typeof e=="string"?e:String.fromCharCode(...new Uint16Array(e)),o=new TextEncoder,s=await window.crypto.subtle.importKey("raw",o.encode(r),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return window.crypto.subtle.sign("HMAC",s,o.encode(n))}};bu.BrowserCrypto=Ah});var DS=J(Cu=>{"use strict";Object.defineProperty(Cu,"__esModule",{value:!0});Cu.NodeCrypto=void 0;var ns=oe("crypto"),vh=class{async sha256DigestBase64(e){return ns.createHash("sha256").update(e).digest("base64")}randomBytesBase64(e){return ns.randomBytes(e).toString("base64")}async verify(e,n,r){let o=ns.createVerify("RSA-SHA256");return o.update(n),o.end(),o.verify(e,r,"base64")}async sign(e,n){let r=ns.createSign("RSA-SHA256");return r.update(n),r.end(),r.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 ns.createHash("sha256").update(e).digest("hex")}async signWithHmacSha256(e,n){let r=typeof e=="string"?e:K1(e);return J1(ns.createHmac("sha256",r).update(n).digest())}};Cu.NodeCrypto=vh;function J1(t){let e=new ArrayBuffer(t.length),n=new Uint8Array(e);for(let r=0;r<t.length;++r)n[r]=t[r];return e}function K1(t){return Buffer.from(t)}});var Di=J(Kn=>{"use strict";var V1=Kn&&Kn.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),Y1=Kn&&Kn.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&V1(e,t,n)};Object.defineProperty(Kn,"__esModule",{value:!0});Kn.createCrypto=Z1;Kn.hasBrowserCrypto=OS;var X1=xS(),Q1=DS();Y1(Eh(),Kn);function Z1(){return OS()?new X1.BrowserCrypto:new Q1.NodeCrypto}function OS(){return typeof window<"u"&&typeof window.crypto<"u"&&typeof window.crypto.subtle<"u"}});var rs=J((Th,IS)=>{var wu=oe("buffer"),bn=wu.Buffer;function PS(t,e){for(var n in t)e[n]=t[n]}bn.from&&bn.alloc&&bn.allocUnsafe&&bn.allocUnsafeSlow?IS.exports=wu:(PS(wu,Th),Th.Buffer=co);function co(t,e,n){return bn(t,e,n)}co.prototype=Object.create(bn.prototype);PS(bn,co);co.from=function(t,e,n){if(typeof t=="number")throw new TypeError("Argument must not be a number");return bn(t,e,n)};co.alloc=function(t,e,n){if(typeof t!="number")throw new TypeError("Argument must be a number");var r=bn(t);return e!==void 0?typeof n=="string"?r.fill(e,n):r.fill(e):r.fill(0),r};co.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return bn(t)};co.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return wu.SlowBuffer(t)}});var NS=J((B3,FS)=>{"use strict";function Rh(t){var e=(t/8|0)+(t%8===0?0:1);return e}var eI={ES256:Rh(256),ES384:Rh(384),ES512:Rh(521)};function tI(t){var e=eI[t];if(e)return e;throw new Error('Unknown algorithm "'+t+'"')}FS.exports=tI});var xh=J((U3,qS)=>{"use strict";var ku=rs().Buffer,BS=NS(),Su=128,US=0,nI=32,rI=16,oI=2,jS=rI|nI|US<<6,Eu=oI|US<<6;function sI(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function LS(t){if(ku.isBuffer(t))return t;if(typeof t=="string")return ku.from(t,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function iI(t,e){t=LS(t);var n=BS(e),r=n+1,o=t.length,s=0;if(t[s++]!==jS)throw new Error('Could not find expected "seq"');var i=t[s++];if(i===(Su|1)&&(i=t[s++]),o-s<i)throw new Error('"seq" specified length of "'+i+'", only "'+(o-s)+'" remaining');if(t[s++]!==Eu)throw new Error('Could not find expected "int" for "r"');var a=t[s++];if(o-s-2<a)throw new Error('"r" specified length of "'+a+'", only "'+(o-s-2)+'" available');if(r<a)throw new Error('"r" specified length of "'+a+'", max of "'+r+'" is acceptable');var u=s;if(s+=a,t[s++]!==Eu)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(r<d)throw new Error('"s" specified length of "'+d+'", max of "'+r+'" is acceptable');var f=s;if(s+=d,s!==o)throw new Error('Expected to consume entire buffer, but "'+(o-s)+'" bytes remain');var h=n-a,p=n-d,b=ku.allocUnsafe(h+a+p+d);for(s=0;s<h;++s)b[s]=0;t.copy(b,s,u+Math.max(-h,0),u+a),s=n;for(var C=s;s<C+p;++s)b[s]=0;return t.copy(b,s,f+Math.max(-p,0),f+d),b=b.toString("base64"),b=sI(b),b}function MS(t,e,n){for(var r=0;e+r<n&&t[e+r]===0;)++r;var o=t[e+r]>=Su;return o&&--r,r}function aI(t,e){t=LS(t);var n=BS(e),r=t.length;if(r!==n*2)throw new TypeError('"'+e+'" signatures must be "'+n*2+'" bytes, saw "'+r+'"');var o=MS(t,0,n),s=MS(t,n,t.length),i=n-o,a=n-s,u=2+i+1+1+a,d=u<Su,f=ku.allocUnsafe((d?2:3)+u),h=0;return f[h++]=jS,d?f[h++]=u:(f[h++]=Su|1,f[h++]=u&255),f[h++]=Eu,f[h++]=i,o<0?(f[h++]=0,h+=t.copy(f,h,0,n)):h+=t.copy(f,h,o,n),f[h++]=Eu,f[h++]=a,s<0?(f[h++]=0,t.copy(f,h,n)):t.copy(f,h,n+s),f}qS.exports={derToJose:iI,joseToDer:aI}});var Xt=J(Vn=>{"use strict";Object.defineProperty(Vn,"__esModule",{value:!0});Vn.LRUCache=void 0;Vn.snakeToCamel=zS;Vn.originalOrCamelOptions=dI;Vn.removeUndefinedValuesInObject=fI;Vn.isValidFile=pI;Vn.getWellKnownCertificateConfigFileLocation=hI;var cI=oe("fs"),uI=oe("os"),Dh=oe("path"),lI="certificate_config.json",$S="gcloud";function zS(t){return t.replace(/([_][^_])/g,e=>e.slice(1).toUpperCase())}function dI(t){function e(n){let r=t||{};return r[n]??r[zS(n)]}return{get:e}}var Oh=class{capacity;#e=new Map;maxAge;constructor(e){this.capacity=e.capacity,this.maxAge=e.maxAge}#t(e,n){this.#e.delete(e),this.#e.set(e,{value:n,lastAccessed:Date.now()})}set(e,n){this.#t(e,n),this.#n()}get(e){let n=this.#e.get(e);if(n)return this.#t(e,n.value),this.#n(),n.value}#n(){let e=this.maxAge?Date.now()-this.maxAge:0,n=this.#e.entries().next();for(;!n.done&&(this.#e.size>this.capacity||n.value[1].lastAccessed<e);)this.#e.delete(n.value[0]),n=this.#e.entries().next()}};Vn.LRUCache=Oh;function fI(t){return Object.entries(t).forEach(([e,n])=>{(n===void 0||n==="undefined")&&delete t[e]}),t}async function pI(t){try{return(await cI.promises.lstat(t)).isFile()}catch{return!1}}function hI(){let t=process.env.CLOUDSDK_CONFIG||(mI()?Dh.join(process.env.APPDATA||"",$S):Dh.join(process.env.HOME||"",".config",$S));return Dh.join(t,lI)}function mI(){return uI.platform().startsWith("win")}});var HS=J((L3,gI)=>{gI.exports={name:"google-auth-library",version:"11.0.0",author:"Google Inc.",description:"Google APIs Authentication Client Library for Node.js",engines:{node:">=22"},main:"./build/src/index.js",types:"./build/src/index.d.ts",repository:{type:"git",directory:"core/packages/google-auth-library-nodejs",url:"https://github.com/googleapis/google-cloud-node.git"},keywords:["google","api","google apis","client","client library"],dependencies:{"base64-js":"^1.3.0","ecdsa-sig-formatter":"^1.0.11",gaxios:"^7.1.4","gcp-metadata":"8.1.2","google-logging-utils":"1.1.3",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.8","@types/node":"^24.0.0","@types/sinon":"^21.0.0","assert-rejects":"^1.0.0",c8:"^10.1.3",codecov:"^3.8.3",gts:"^6.0.2","is-docker":"^3.0.0",jsdoc:"^4.0.4","jsdoc-fresh":"^5.0.0","jsdoc-region-tag":"^4.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",mocha:"^11.1.0",mv:"^2.1.1",ncp:"^2.0.0",nock:"^14.0.5","null-loader":"^4.0.1",puppeteer:"^24.0.0",sinon:"21.0.3","ts-loader":"^9.5.2",typescript:"5.8.3",webpack:"^5.97.1","webpack-cli":"^6.0.1"},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",prelint:"cd samples; npm link ../; npm install"},license:"Apache-2.0",homepage:"https://github.com/googleapis/google-cloud-node/tree/main/core/packages/google-auth-library-nodejs"}});var Ph=J(vr=>{"use strict";Object.defineProperty(vr,"__esModule",{value:!0});vr.USER_AGENT=vr.PRODUCT_NAME=vr.pkg=void 0;var WS=HS();vr.pkg=WS;var GS="google-api-nodejs-client";vr.PRODUCT_NAME=GS;var yI=`${GS}/${WS.version}`;vr.USER_AGENT=yI});var Rt=J(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.AuthClient=Qt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=Qt.DEFAULT_UNIVERSE=void 0;var _I=oe("events"),Ih=it(),bI=Xt(),CI=_h(),Fh=Ph();Qt.DEFAULT_UNIVERSE="googleapis.com";Qt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS=300*1e3;var Nh=class t extends _I.EventEmitter{apiKey;projectId;quotaProjectId;transporter;credentials={};eagerRefreshThresholdMillis=Qt.DEFAULT_EAGER_REFRESH_THRESHOLD_MILLIS;forceRefreshOnFailure=!1;universeDomain=Qt.DEFAULT_UNIVERSE;static RequestMethodNameSymbol=Symbol("request method name");static RequestLogIdSymbol=Symbol("request log id");constructor(e={}){super();let n=(0,bI.originalOrCamelOptions)(e);this.apiKey=e.apiKey,this.projectId=n.get("project_id")??null,this.quotaProjectId=n.get("quota_project_id"),this.credentials=n.get("credentials")??{},this.universeDomain=n.get("universe_domain")??Qt.DEFAULT_UNIVERSE,this.transporter=e.transporter??new Ih.Gaxios(e.transporterOptions),n.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 n=e[0],r=e[1],o,s=new Headers;return typeof n=="string"?o=new URL(n):n instanceof URL?o=n:n&&n.url&&(o=new URL(n.url)),n&&typeof n=="object"&&"headers"in n&&Ih.Gaxios.mergeHeaders(s,n.headers),r&&Ih.Gaxios.mergeHeaders(s,new Headers(r.headers)),typeof n=="object"&&!(n instanceof URL)?this.request({...r,...n,headers:s,url:o}):this.request({...r,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,n){let r=n.get("x-goog-user-project"),o=n.get("authorization");return r&&e.set("x-goog-user-project",r),o&&e.set("authorization",o),e}static log=(0,CI.log)("auth");static DEFAULT_REQUEST_INTERCEPTOR={resolved:async e=>{if(!e.headers.has("x-goog-api-client")){let r=process.version.replace(/^v/,"");e.headers.set("x-goog-api-client",`gl-node/${r}`)}let n=e.headers.get("User-Agent");n?n.includes(`${Fh.PRODUCT_NAME}/`)||e.headers.set("User-Agent",`${n} ${Fh.USER_AGENT}`):e.headers.set("User-Agent",Fh.USER_AGENT);try{let r=e,o=r[t.RequestMethodNameSymbol],s=`${Math.floor(Math.random()*1e3)}`;r[t.RequestLogIdSymbol]=s;let i={url:e.url,headers:e.headers};o?t.log.info("%s [%s] request %j",o,s,i):t.log.info("[%s] request %j",s,i)}catch{}return e}};static DEFAULT_RESPONSE_INTERCEPTOR={resolved:async e=>{try{let n=e.config,r=n[t.RequestMethodNameSymbol],o=n[t.RequestLogIdSymbol];r?t.log.info("%s [%s] response %j",r,o,e.data):t.log.info("[%s] response %j",o,e.data)}catch{}return e},rejected:async e=>{try{let n=e.config,r=n[t.RequestMethodNameSymbol],o=n[t.RequestLogIdSymbol];r?t.log.info("%s [%s] error %j",r,o,e.response?.data):t.log.error("[%s] error %j",o,e.response?.data)}catch{}throw e}};static setMethodName(e,n){try{let r=e;r[t.RequestMethodNameSymbol]=n}catch{}}static get RETRY_CONFIG(){return{retry:!0,retryConfig:{httpMethodsToRetry:["GET","PUT","POST","HEAD","OPTIONS","DELETE"]}}}};Qt.AuthClient=Nh});var Bh=J(Au=>{"use strict";Object.defineProperty(Au,"__esModule",{value:!0});Au.LoginTicket=void 0;var Mh=class{envelope;payload;constructor(e,n){this.envelope=e,this.payload=n}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()}}};Au.LoginTicket=Mh});var Tr=J(Cn=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});Cn.OAuth2Client=Cn.ClientAuthentication=Cn.CertificateFormat=Cn.CodeChallengeMethod=void 0;var JS=it(),wI=oe("querystring"),kI=oe("stream"),SI=xh(),KS=Xt(),Uh=Di(),os=Rt(),EI=Bh(),VS;(function(t){t.Plain="plain",t.S256="S256"})(VS||(Cn.CodeChallengeMethod=VS={}));var Yn;(function(t){t.PEM="PEM",t.JWK="JWK"})(Yn||(Cn.CertificateFormat=Yn={}));var Oi;(function(t){t.ClientSecretPost="ClientSecretPost",t.ClientSecretBasic="ClientSecretBasic",t.None="None"})(Oi||(Cn.ClientAuthentication=Oi={}));var jh=class t extends os.AuthClient{redirectUri;certificateCache={};certificateExpiry=null;certificateCacheFormat=Yn.PEM;refreshTokenPromises=new Map;endpoints;issuers;clientAuthentication;_clientId;_clientSecret;refreshHandler;constructor(e={},n,r){super(typeof e=="object"?e:{}),typeof e!="object"&&(e={clientId:e,clientSecret:n,redirectUri:r}),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||Oi.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()+"?"+wI.stringify(e)}generateCodeVerifier(){throw new Error("generateCodeVerifier is removed, please use generateCodeVerifierAsync instead.")}async generateCodeVerifierAsync(){let e=(0,Uh.createCrypto)(),r=e.randomBytesBase64(96).replace(/\+/g,"~").replace(/=/g,"_").replace(/\//g,"-"),s=(await e.sha256DigestBase64(r)).split("=")[0].replace(/\+/g,"-").replace(/\//g,"_");return{codeVerifier:r,codeChallenge:s}}getToken(e,n){let r=typeof e=="string"?{code:e}:e;if(n)this.getTokenAsync(r).then(o=>n(null,o.tokens,o.res),o=>n(o,null,o.response));else return this.getTokenAsync(r)}async getTokenAsync(e){let n=this.endpoints.oauth2TokenUrl.toString(),r=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===Oi.ClientSecretBasic){let u=Buffer.from(`${this._clientId}:${this._clientSecret}`);r.set("authorization",`Basic ${u.toString("base64")}`)}this.clientAuthentication===Oi.ClientSecretPost&&(o.client_secret=this._clientSecret);let s={...t.RETRY_CONFIG,method:"POST",url:n,data:new URLSearchParams((0,KS.removeUndefinedValuesInObject)(o)),headers:r};os.AuthClient.setMethodName(s,"getTokenAsync");let i=await this.transporter.request(s),a=i.data;return i.data&&i.data.expires_in&&(a.expiry_date=new Date().getTime()+i.data.expires_in*1e3,delete a.expires_in),this.emit("tokens",a),{tokens:a,res:i}}async refreshToken(e){if(!e)return this.refreshTokenNoCache(e);if(this.refreshTokenPromises.has(e))return this.refreshTokenPromises.get(e);let n=this.refreshTokenNoCache(e).then(r=>(this.refreshTokenPromises.delete(e),r),r=>{throw this.refreshTokenPromises.delete(e),r});return this.refreshTokenPromises.set(e,n),n}async refreshTokenNoCache(e){if(!e)throw new Error("No refresh token is set.");let n=this.endpoints.oauth2TokenUrl.toString(),r={refresh_token:e,client_id:this._clientId,client_secret:this._clientSecret,grant_type:"refresh_token"},o;try{let i={...t.RETRY_CONFIG,method:"POST",url:n,data:new URLSearchParams((0,KS.removeUndefinedValuesInObject)(r))};os.AuthClient.setMethodName(i,"refreshTokenNoCache"),o=await this.transporter.request(i)}catch(i){throw i instanceof JS.GaxiosError&&i.message==="invalid_grant"&&i.response?.data&&/ReAuth/i.test(i.response.data.error_description)&&(i.message=JSON.stringify(i.response.data)),i}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(n=>e(null,n.credentials,n.res),e);else return this.refreshAccessTokenAsync()}async refreshAccessTokenAsync(){let e=await this.refreshToken(this.credentials.refresh_token),n=e.tokens;return n.refresh_token=this.credentials.refresh_token,this.credentials=n,{credentials:this.credentials,res:e.res}}getAccessToken(e){if(e)this.getAccessTokenAsync().then(n=>e(null,n.token,n.res),e);else return this.getAccessTokenAsync()}async getAccessTokenAsync(){if(!this.credentials.access_token||this.isTokenExpiring()){if(!this.credentials.refresh_token)if(this.refreshHandler){let r=await this.processAndValidateRefreshHandler();if(r?.access_token)return this.setCredentials(r),{token:this.credentials.access_token}}else throw new Error("No refresh token or refresh handler callback is set.");let n=await this.refreshAccessTokenAsync();if(!n.credentials||n.credentials&&!n.credentials.access_token)throw new Error("Could not refresh access token.");return{token:n.credentials.access_token,res:n.res}}else return{token:this.credentials.access_token}}async getRequestHeaders(e){return(await this.getRequestMetadataAsync(e)).headers}async getRequestMetadataAsync(e){let n=this.credentials;if(!n.access_token&&!n.refresh_token&&!this.apiKey&&!this.refreshHandler)throw new Error("No access, refresh token, API key or refresh handler callback is set.");if(n.access_token&&!this.isTokenExpiring()){n.token_type=n.token_type||"Bearer";let a=new Headers({authorization:n.token_type+" "+n.access_token});return{headers:this.addSharedMetadataHeaders(a)}}if(this.refreshHandler){let a=await this.processAndValidateRefreshHandler();if(a?.access_token){this.setCredentials(a);let u=new Headers({authorization:"Bearer "+this.credentials.access_token});return{headers:this.addSharedMetadataHeaders(u)}}}if(this.apiKey)return{headers:new Headers({"X-Goog-Api-Key":this.apiKey})};let r=null,o=null;try{r=await this.refreshToken(n.refresh_token),o=r.tokens}catch(a){let u=a;throw u.response&&(u.response.status===403||u.response.status===404)&&(u.message=`Could not refresh access token: ${u.message}`),u}let s=this.credentials;s.token_type=s.token_type||"Bearer",o.refresh_token=s.refresh_token,this.credentials=o;let i=new Headers({authorization:s.token_type+" "+o.access_token});return{headers:this.addSharedMetadataHeaders(i),res:r.res}}static getRevokeTokenUrl(e){return new t().getRevokeTokenURL(e).toString()}getRevokeTokenURL(e){let n=new URL(this.endpoints.oauth2RevokeUrl);return n.searchParams.append("token",e),n}revokeToken(e,n){let r={...t.RETRY_CONFIG,url:this.getRevokeTokenURL(e).toString(),method:"POST"};if(os.AuthClient.setMethodName(r,"revokeToken"),n)this.transporter.request(r).then(o=>n(null,o),n);else return this.transporter.request(r)}revokeCredentials(e){if(e)this.revokeCredentialsAsync().then(n=>e(null,n),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,n){if(n)this.requestAsync(e).then(r=>n(null,r),r=>n(r,r.response));else return this.requestAsync(e)}async requestAsync(e,n=!1){try{let r=await this.getRequestMetadataAsync();return e.headers=JS.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,r.headers),this.apiKey&&e.headers.set("X-Goog-Api-Key",this.apiKey),await this.transporter.request(e)}catch(r){let o=r.response;if(o){let s=o.status,i=this.credentials&&this.credentials.access_token&&this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure),a=this.credentials&&this.credentials.access_token&&!this.credentials.refresh_token&&(!this.credentials.expiry_date||this.forceRefreshOnFailure)&&this.refreshHandler,u=o.config.data instanceof kI.Readable,d=s===401||s===403;if(!n&&d&&!u&&i)return await this.refreshAccessTokenAsync(),this.requestAsync(e,!0);if(!n&&d&&!u&&a){let f=await this.processAndValidateRefreshHandler();return f?.access_token&&this.setCredentials(f),this.requestAsync(e,!0)}}throw r}}verifyIdToken(e,n){if(n&&typeof n!="function")throw new Error("This method accepts an options object as the first parameter, which includes the idToken, audience, and maxExpiry.");if(n)this.verifyIdTokenAsync(e).then(r=>n(null,r),n);else return this.verifyIdTokenAsync(e)}async verifyIdTokenAsync(e){if(!e.idToken)throw new Error("The verifyIdToken method requires an ID Token");let n=await this.getFederatedSignonCertsAsync();return await this.verifySignedJwtWithCertsAsync(e.idToken,n.certs,e.audience,this.issuers,e.maxExpiry)}async getTokenInfo(e){let{data:n}=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()}),r=Object.assign({expiry_date:new Date().getTime()+n.expires_in*1e3,scopes:n.scope.split(" ")},n);return delete r.expires_in,delete r.scope,r}getFederatedSignonCerts(e){if(e)this.getFederatedSignonCertsAsync().then(n=>e(null,n.certs,n.res),e);else return this.getFederatedSignonCertsAsync()}async getFederatedSignonCertsAsync(){let e=new Date().getTime(),n=(0,Uh.hasBrowserCrypto)()?Yn.JWK:Yn.PEM;if(this.certificateExpiry&&e<this.certificateExpiry.getTime()&&this.certificateCacheFormat===n)return{certs:this.certificateCache,format:n};let r,o;switch(n){case Yn.PEM:o=this.endpoints.oauth2FederatedSignonPemCertsUrl.toString();break;case Yn.JWK:o=this.endpoints.oauth2FederatedSignonJwkCertsUrl.toString();break;default:throw new Error(`Unsupported certificate format ${n}`)}try{let d={...t.RETRY_CONFIG,url:o};os.AuthClient.setMethodName(d,"getFederatedSignonCertsAsync"),r=await this.transporter.request(d)}catch(d){throw d instanceof Error&&(d.message=`Failed to retrieve verification certificates: ${d.message}`),d}let s=r?.headers.get("cache-control"),i=-1;if(s){let d=/max-age=(?<maxAge>[0-9]+)/.exec(s)?.groups?.maxAge;d&&(i=Number(d)*1e3)}let a={};switch(n){case Yn.PEM:a=r.data;break;case Yn.JWK:for(let d of r.data.keys)a[d.kid]=d;break;default:throw new Error(`Unsupported certificate format ${n}`)}let u=new Date;return this.certificateExpiry=i===-1?null:new Date(u.getTime()+i),this.certificateCache=a,this.certificateCacheFormat=n,{certs:a,format:n,res:r}}getIapPublicKeys(e){if(e)this.getIapPublicKeysAsync().then(n=>e(null,n.pubkeys,n.res),e);else return this.getIapPublicKeysAsync()}async getIapPublicKeysAsync(){let e,n=this.endpoints.oauth2IapPublicKeyUrl.toString();try{let r={...t.RETRY_CONFIG,url:n};os.AuthClient.setMethodName(r,"getIapPublicKeysAsync"),e=await this.transporter.request(r)}catch(r){throw r instanceof Error&&(r.message=`Failed to retrieve verification certificates: ${r.message}`),r}return{pubkeys:e.data,res:e}}verifySignedJwtWithCerts(){throw new Error("verifySignedJwtWithCerts is removed, please use verifySignedJwtWithCertsAsync instead.")}async verifySignedJwtWithCertsAsync(e,n,r,o,s){let i=(0,Uh.createCrypto)();s||(s=t.DEFAULT_MAX_TOKEN_LIFETIME_SECS_);let a=e.split(".");if(a.length!==3)throw new Error("Wrong number of segments in token: "+e);let u=a[0]+"."+a[1],d=a[2],f,h;try{f=JSON.parse(i.decodeBase64StringUtf8(a[0]))}catch(S){throw S instanceof Error&&(S.message=`Can't parse token envelope: ${a[0]}': ${S.message}`),S}if(!f)throw new Error("Can't parse token envelope: "+a[0]);try{h=JSON.parse(i.decodeBase64StringUtf8(a[1]))}catch(S){throw S instanceof Error&&(S.message=`Can't parse token payload '${a[0]}`),S}if(!h)throw new Error("Can't parse token payload: "+a[1]);if(!Object.prototype.hasOwnProperty.call(n,f.kid))throw new Error("No pem found for envelope: "+JSON.stringify(f));let p=n[f.kid];if(f.alg==="ES256"&&(d=SI.joseToDer(d,"ES256").toString("base64")),!await i.verify(p,u,d))throw new Error("Invalid token signature: "+e);if(!h.iat)throw new Error("No issue time in token: "+JSON.stringify(h));if(!h.exp)throw new Error("No expiration time in token: "+JSON.stringify(h));let C=Number(h.iat);if(isNaN(C))throw new Error("iat field using invalid format");let m=Number(h.exp);if(isNaN(m))throw new Error("exp field using invalid format");let w=new Date().getTime()/1e3;if(m>=w+s)throw new Error("Expiration time too far in future: "+JSON.stringify(h));let _=C-t.CLOCK_SKEW_SECS_,A=m+t.CLOCK_SKEW_SECS_;if(w<_)throw new Error("Token used too early, "+w+" < "+_+": "+JSON.stringify(h));if(w>A)throw new Error("Token used too late, "+w+" > "+A+": "+JSON.stringify(h));if(o&&o.indexOf(h.iss)<0)throw new Error("Invalid issuer, expected one of ["+o+"], but got "+h.iss);if(typeof r<"u"&&r!==null){let S=h.aud,T=!1;if(r.constructor===Array?T=r.indexOf(S)>-1:T=S===r,!T)throw new Error("Wrong recipient, payload audience != requiredAudience")}return new EI.LoginTicket(f,h)}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}};Cn.OAuth2Client=jh});var qh=J(vu=>{"use strict";Object.defineProperty(vu,"__esModule",{value:!0});vu.Compute=void 0;var AI=it(),YS=xi(),vI=Tr(),Lh=class extends vI.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`,n;try{let o={property:e};this.scopes.length>0&&(o.params={scopes:this.scopes.join(",")}),n=await YS.instance(o)}catch(o){throw o instanceof AI.GaxiosError&&(o.message=`Could not refresh access token: ${o.message}`,this.wrapError(o)),o}let r=n;return n&&n.expires_in&&(r.expiry_date=new Date().getTime()+n.expires_in*1e3,delete r.expires_in),this.emit("tokens",r),{tokens:r,res:null}}async fetchIdToken(e){let n=`service-accounts/${this.serviceAccountEmail}/identity?format=full&audience=${e}`,r;try{let o={property:n};r=await YS.instance(o)}catch(o){throw o instanceof Error&&(o.message=`Could not fetch ID token: ${o.message}`),o}return r}wrapError(e){let n=e.response;n&&n.status&&(e.status=n.status,n.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:n.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))}};vu.Compute=Lh});var zh=J(Tu=>{"use strict";Object.defineProperty(Tu,"__esModule",{value:!0});Tu.IdTokenClient=void 0;var TI=Tr(),$h=class extends TI.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 n=await this.idTokenProvider.fetchIdToken(this.targetAudience);this.credentials={id_token:n,expiry_date:this.getIdTokenExpiryDate(n)}}return{headers:new Headers({authorization:"Bearer "+this.credentials.id_token})}}getIdTokenExpiryDate(e){let n=e.split(".")[1];if(n)return JSON.parse(Buffer.from(n,"base64").toString("ascii")).exp*1e3}};Tu.IdTokenClient=$h});var Hh=J(ss=>{"use strict";Object.defineProperty(ss,"__esModule",{value:!0});ss.GCPEnv=void 0;ss.clear=RI;ss.getEnv=xI;var XS=xi(),wn;(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"})(wn||(ss.GCPEnv=wn={}));var Pi;function RI(){Pi=void 0}async function xI(){return Pi||(Pi=DI(),Pi)}async function DI(){let t=wn.NONE;return OI()?t=wn.APP_ENGINE:PI()?t=wn.CLOUD_FUNCTIONS:await MI()?await NI()?t=wn.KUBERNETES_ENGINE:II()?t=wn.CLOUD_RUN:FI()?t=wn.CLOUD_RUN_JOBS:t=wn.COMPUTE_ENGINE:t=wn.NONE,t}function OI(){return!!(process.env.GAE_SERVICE||process.env.GAE_MODULE_NAME)}function PI(){return!!(process.env.FUNCTION_NAME||process.env.FUNCTION_TARGET)}function II(){return!!process.env.K_CONFIGURATION}function FI(){return!!process.env.CLOUD_RUN_JOB}async function NI(){try{return await XS.instance("attributes/cluster-name"),!0}catch{return!1}}async function MI(){return XS.isAvailable()}});var Wh=J((K3,QS)=>{var Ru=rs().Buffer,BI=oe("stream"),UI=oe("util");function xu(t){if(this.buffer=null,this.writable=!0,this.readable=!0,!t)return this.buffer=Ru.alloc(0),this;if(typeof t.pipe=="function")return this.buffer=Ru.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+")")}UI.inherits(xu,BI);xu.prototype.write=function(e){this.buffer=Ru.concat([this.buffer,Ru.from(e)]),this.emit("data",e)};xu.prototype.end=function(e){e&&this.write(e),this.emit("end",e),this.emit("close"),this.writable=!1,this.readable=!1};QS.exports=xu});var eE=J((V3,ZS)=>{"use strict";var Ii=oe("buffer").Buffer,Gh=oe("buffer").SlowBuffer;ZS.exports=Du;function Du(t,e){if(!Ii.isBuffer(t)||!Ii.isBuffer(e)||t.length!==e.length)return!1;for(var n=0,r=0;r<t.length;r++)n|=t[r]^e[r];return n===0}Du.install=function(){Ii.prototype.equal=Gh.prototype.equal=function(e){return Du(this,e)}};var jI=Ii.prototype.equal,LI=Gh.prototype.equal;Du.restore=function(){Ii.prototype.equal=jI,Gh.prototype.equal=LI}});var Yh=J((Y3,uE)=>{var as=rs().Buffer,Ut=oe("crypto"),nE=xh(),tE=oe("util"),qI=`"%s" is not a valid algorithm.
|
|
80
80
|
Supported algorithms are:
|
|
81
|
-
"HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,Ai="secret must be a string or buffer",Yo="key must be a string or a buffer",GP="key must be a string, a buffer or an object",gh=typeof Mt.createPublicKey=="function";gh&&(Yo+=" or a KeyObject",Ai+="or a KeyObject");function yS(t){if(!Xo.isBuffer(t)&&typeof t!="string"&&(!gh||typeof t!="object"||typeof t.type!="string"||typeof t.asymmetricKeyType!="string"||typeof t.export!="function"))throw Xt(Yo)}function _S(t){if(!Xo.isBuffer(t)&&typeof t!="string"&&typeof t!="object")throw Xt(GP)}function JP(t){if(!Xo.isBuffer(t)){if(typeof t=="string")return t;if(!gh||typeof t!="object"||t.type!=="secret"||typeof t.export!="function")throw Xt(Ai)}}function yh(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function bS(t){t=t.toString();var e=4-t.length%4;if(e!==4)for(var n=0;n<e;++n)t+="=";return t.replace(/\-/g,"+").replace(/_/g,"/")}function Xt(t){var e=[].slice.call(arguments,1),n=mS.format.bind(mS,t).apply(null,e);return new TypeError(n)}function VP(t){return Xo.isBuffer(t)||typeof t=="string"}function Ti(t){return VP(t)||(t=JSON.stringify(t)),t}function CS(t){return function(n,r){JP(r),n=Ti(n);var o=Mt.createHmac("sha"+t,r),s=(o.update(n),o.digest("base64"));return yh(s)}}var mh,KP="timingSafeEqual"in Mt?function(e,n){return e.byteLength!==n.byteLength?!1:Mt.timingSafeEqual(e,n)}:function(e,n){return mh||(mh=hS()),mh(e,n)};function YP(t){return function(n,r,o){var s=CS(t)(n,o);return KP(Xo.from(r),Xo.from(s))}}function wS(t){return function(n,r){_S(r),n=Ti(n);var o=Mt.createSign("RSA-SHA"+t),s=(o.update(n),o.sign(r,"base64"));return yh(s)}}function kS(t){return function(n,r,o){yS(o),n=Ti(n),r=bS(r);var s=Mt.createVerify("RSA-SHA"+t);return s.update(n),s.verify(o,r,"base64")}}function XP(t){return function(n,r){_S(r),n=Ti(n);var o=Mt.createSign("RSA-SHA"+t),s=(o.update(n),o.sign({key:r,padding:Mt.constants.RSA_PKCS1_PSS_PADDING,saltLength:Mt.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return yh(s)}}function QP(t){return function(n,r,o){yS(o),n=Ti(n),r=bS(r);var s=Mt.createVerify("RSA-SHA"+t);return s.update(n),s.verify({key:o,padding:Mt.constants.RSA_PKCS1_PSS_PADDING,saltLength:Mt.constants.RSA_PSS_SALTLEN_DIGEST},r,"base64")}}function ZP(t){var e=wS(t);return function(){var r=e.apply(null,arguments);return r=gS.derToJose(r,"ES"+t),r}}function eI(t){var e=kS(t);return function(r,o,s){o=gS.joseToDer(o,"ES"+t).toString("base64");var i=e(r,o,s);return i}}function tI(){return function(){return""}}function nI(){return function(e,n){return n===""}}SS.exports=function(e){var n={hs:CS,rs:wS,ps:XP,es:ZP,none:tI},r={hs:YP,rs:kS,ps:QP,es:eI,none:nI},o=e.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!o)throw Xt(WP,e);var s=(o[1]||o[3]).toLowerCase(),i=o[2];return{sign:n[s](i),verify:r[s](i)}}});var bh=J((WH,ES)=>{var rI=oe("buffer").Buffer;ES.exports=function(e){return typeof e=="string"?e:typeof e=="number"||rI.isBuffer(e)?e.toString():JSON.stringify(e)}});var DS=J((GH,xS)=>{var oI=Jo().Buffer,vS=ph(),sI=_h(),iI=oe("stream"),AS=bh(),Ch=oe("util");function TS(t,e){return oI.from(t,e).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function aI(t,e,n){n=n||"utf8";var r=TS(AS(t),"binary"),o=TS(AS(e),n);return Ch.format("%s.%s",r,o)}function RS(t){var e=t.header,n=t.payload,r=t.secret||t.privateKey,o=t.encoding,s=sI(e.alg),i=aI(e,n,o),c=s.sign(i,r);return Ch.format("%s.%s",i,c)}function lu(t){var e=t.secret;if(e=e??t.privateKey,e=e??t.key,/^hs/i.test(t.header.alg)===!0&&e==null)throw new TypeError("secret must be a string or buffer or a KeyObject");var n=new vS(e);this.readable=!0,this.header=t.header,this.encoding=t.encoding,this.secret=this.privateKey=this.key=n,this.payload=new vS(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))}Ch.inherits(lu,iI);lu.prototype.sign=function(){try{var e=RS({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(n){this.readable=!1,this.emit("error",n),this.emit("close")}};lu.sign=RS;xS.exports=lu});var LS=J((JH,jS)=>{var PS=Jo().Buffer,OS=ph(),cI=_h(),uI=oe("stream"),IS=bh(),lI=oe("util"),dI=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function fI(t){return Object.prototype.toString.call(t)==="[object Object]"}function pI(t){if(fI(t))return t;try{return JSON.parse(t)}catch{return}}function FS(t){var e=t.split(".",1)[0];return pI(PS.from(e,"base64").toString("binary"))}function hI(t){return t.split(".",2).join(".")}function NS(t){return t.split(".")[2]}function mI(t,e){e=e||"utf8";var n=t.split(".")[1];return PS.from(n,"base64").toString(e)}function MS(t){return dI.test(t)&&!!FS(t)}function BS(t,e,n){if(!e){var r=new Error("Missing algorithm parameter for jws.verify");throw r.code="MISSING_ALGORITHM",r}t=IS(t);var o=NS(t),s=hI(t),i=cI(e);return i.verify(s,o,n)}function US(t,e){if(e=e||{},t=IS(t),!MS(t))return null;var n=FS(t);if(!n)return null;var r=mI(t);return(n.typ==="JWT"||e.json)&&(r=JSON.parse(r,e.encoding)),{header:n,payload:r,signature:NS(t)}}function Qo(t){t=t||{};var e=t.secret;if(e=e??t.publicKey,e=e??t.key,/^hs/i.test(t.algorithm)===!0&&e==null)throw new TypeError("secret must be a string or buffer or a KeyObject");var n=new OS(e);this.readable=!0,this.algorithm=t.algorithm,this.encoding=t.encoding,this.secret=this.publicKey=this.key=n,this.signature=new OS(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))}lI.inherits(Qo,uI);Qo.prototype.verify=function(){try{var e=BS(this.signature.buffer,this.algorithm,this.key.buffer),n=US(this.signature.buffer,this.encoding);return this.emit("done",e,n),this.emit("data",e),this.emit("end"),this.readable=!1,e}catch(r){this.readable=!1,this.emit("error",r),this.emit("close")}};Qo.decode=US;Qo.isValid=MS;Qo.verify=BS;jS.exports=Qo});var wh=J(Sr=>{var qS=DS(),du=LS(),gI=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];Sr.ALGORITHMS=gI;Sr.sign=qS.sign;Sr.verify=du.verify;Sr.decode=du.decode;Sr.isValid=du.isValid;Sr.createSign=function(e){return new qS(e)};Sr.createVerify=function(e){return new du(e)}});var zS=J(fu=>{"use strict";Object.defineProperty(fu,"__esModule",{value:!0});fu.buildPayloadForJwsSign=$S;fu.getJwsSign=CI;var yI=wh(),_I="RS256",bI="https://oauth2.googleapis.com/token";function $S(t){let e=Math.floor(new Date().getTime()/1e3);return{iss:t.iss,scope:t.scope,aud:bI,exp:e+3600,iat:e,sub:t.sub,...t.additionalClaims}}function CI(t){let e=$S(t);return(0,yI.sign)({header:{alg:_I},payload:e,secret:t.key})}});var HS=J(kh=>{"use strict";Object.defineProperty(kh,"__esModule",{value:!0});kh.getToken=vI;var wI=zS(),kI="https://oauth2.googleapis.com/token",SI="urn:ietf:params:oauth:grant-type:jwt-bearer",EI=t=>({method:"POST",url:kI,data:new URLSearchParams({grant_type:SI,assertion:(0,wI.getJwsSign)(t)}),responseType:"json",retryConfig:{httpMethodsToRetry:["POST"]}});async function vI(t){if(!t.transporter)throw new Error("No transporter set.");try{let e=EI(t);return(await t.transporter.request(e)).data}catch(e){let n=e,r=n.response?.data;throw r?.error&&(n.message=`${r.error}: ${r.error_description}`),n}}});var WS=J(pu=>{"use strict";Object.defineProperty(pu,"__esModule",{value:!0});pu.ErrorWithCode=void 0;var Sh=class extends Error{code;constructor(e,n){super(e),this.code=n}};pu.ErrorWithCode=Sh});var xh=J(Rh=>{"use strict";Object.defineProperty(Rh,"__esModule",{value:!0});Rh.getCredentials=RI;var AI=oe("path"),GS=oe("fs"),TI=oe("util"),hu=WS(),JS=GS.readFile?(0,TI.promisify)(GS.readFile):async()=>{throw new hu.ErrorWithCode("use key rather than keyFile.","MISSING_CREDENTIALS")},Er;(function(t){t.JSON=".json",t.DER=".der",t.CRT=".crt",t.PEM=".pem",t.P12=".p12",t.PFX=".pfx"})(Er||(Er={}));var Eh=class{keyFilePath;constructor(e){this.keyFilePath=e}async getCredentials(){let e=await JS(this.keyFilePath,"utf8"),n;try{n=JSON.parse(e)}catch(s){let i=s;throw new Error(`Invalid JSON key file: ${i.message}`)}let r=n.private_key,o=n.client_email;if(!r||!o)throw new hu.ErrorWithCode("private_key and client_email are required.","MISSING_CREDENTIALS");return{privateKey:r,clientEmail:o}}},vh=class{keyFilePath;constructor(e){this.keyFilePath=e}async getCredentials(){return{privateKey:await JS(this.keyFilePath,"utf8")}}},Ah=class{async getCredentials(){throw new hu.ErrorWithCode("*.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")}},Th=class{static create(e){switch(AI.extname(e)){case Er.JSON:return new Eh(e);case Er.DER:case Er.CRT:case Er.PEM:return new vh(e);case Er.P12:case Er.PFX:return new Ah;default:throw new hu.ErrorWithCode("Unknown certificate type. Type is determined based on file extension. Current supported extensions are *.json, and *.pem.","UNKNOWN_CERTIFICATE_TYPE")}}};async function RI(t){return Th.create(t).getCredentials()}});var VS=J(mu=>{"use strict";Object.defineProperty(mu,"__esModule",{value:!0});mu.TokenHandler=void 0;var xI=HS(),DI=xh(),Dh=class{token;tokenExpiresAt;inFlightRequest;tokenOptions;constructor(e){this.tokenOptions=e}async processCredentials(){if(!this.tokenOptions.key&&!this.tokenOptions.keyFile)throw new Error("No key or keyFile set.");if(!this.tokenOptions.key&&this.tokenOptions.keyFile){let e=await(0,DI.getCredentials)(this.tokenOptions.keyFile);this.tokenOptions.key=e.privateKey,this.tokenOptions.email=e.clientEmail}}isTokenExpiring(){if(!this.token||!this.tokenExpiresAt)return!0;let e=new Date().getTime(),n=this.tokenOptions.eagerRefreshThresholdMillis??0;return this.tokenExpiresAt<=e+n}hasExpired(){let e=new Date().getTime();return this.token&&this.tokenExpiresAt?new Date().getTime()>=this.tokenExpiresAt:!0}async getToken(e){if(await this.processCredentials(),this.inFlightRequest&&!e)return this.inFlightRequest;if(this.token&&!this.isTokenExpiring()&&!e)return this.token;try{this.inFlightRequest=(0,xI.getToken)(this.tokenOptions);let n=await this.inFlightRequest;return this.token=n,this.tokenExpiresAt=new Date().getTime()+(n.expires_in??0)*1e3,n}finally{this.inFlightRequest=void 0}}};mu.TokenHandler=Dh});var KS=J(Oh=>{"use strict";Object.defineProperty(Oh,"__esModule",{value:!0});Oh.revokeToken=II;var OI="https://oauth2.googleapis.com/revoke?token=",PI=!0;async function II(t,e){let n=OI+t;return await e.request({url:n,retry:PI})}});var Ih=J(gu=>{"use strict";Object.defineProperty(gu,"__esModule",{value:!0});gu.GoogleToken=void 0;var FI=it(),YS=VS(),NI=KS(),Ph=class{tokenOptions;tokenHandler;constructor(e){this.tokenOptions=e||{},this.tokenOptions.transporter=this.tokenOptions.transporter||{request:n=>(0,FI.request)(n)},this.tokenOptions.iss||(this.tokenOptions.iss=this.tokenOptions.email),typeof this.tokenOptions.scope=="object"&&(this.tokenOptions.scope=this.tokenOptions.scope.join(" ")),this.tokenHandler=new YS.TokenHandler(this.tokenOptions)}get expiresAt(){return this.tokenHandler.tokenExpiresAt}get accessToken(){return this.tokenHandler.token?.access_token}get idToken(){return this.tokenHandler.token?.id_token}get tokenType(){return this.tokenHandler.token?.token_type}get refreshToken(){return this.tokenHandler.token?.refresh_token}hasExpired(){return this.tokenHandler.hasExpired()}isTokenExpiring(){return this.tokenHandler.isTokenExpiring()}getToken(e,n={forceRefresh:!1}){let r;typeof e=="function"?r=e:typeof e=="object"&&(n=e);let o=this.tokenHandler.getToken(n.forceRefresh??!1);return r&&o.then(s=>r(null,s),r),o}revokeToken(e){if(!this.accessToken)return Promise.reject(new Error("No token to revoke."));let n=(0,NI.revokeToken)(this.accessToken,this.tokenOptions.transporter);e&&n.then(()=>e(),e),this.tokenHandler=new YS.TokenHandler(this.tokenOptions)}get googleTokenOptions(){return this.tokenOptions}};gu.GoogleToken=Ph});var Nh=J(yu=>{"use strict";Object.defineProperty(yu,"__esModule",{value:!0});yu.JWTAccess=void 0;var MI=wh(),BI=Kt(),XS={alg:"RS256",typ:"JWT"},Fh=class t{email;key;keyId;projectId;eagerRefreshThresholdMillis;cache=new BI.LRUCache({capacity:500,maxAge:3600*1e3});constructor(e,n,r,o){this.email=e,this.key=n,this.keyId=r,this.eagerRefreshThresholdMillis=o??300*1e3}getCachedKey(e,n){let r=e;if(n&&Array.isArray(n)&&n.length?r=e?`${e}_${n.join("_")}`:`${n.join("_")}`:typeof n=="string"&&(r=e?`${e}_${n}`:n),!r)throw Error("Scopes or url must be provided");return r}getRequestHeaders(e,n,r){let o=this.getCachedKey(e,r),s=this.cache.get(o),i=Date.now();if(s&&s.expiration-i>this.eagerRefreshThresholdMillis)return new Headers(s.headers);let c=Math.floor(Date.now()/1e3),u=t.getExpirationTime(c),f;if(Array.isArray(r)&&(r=r.join(" ")),r?f={iss:this.email,sub:this.email,scope:r,exp:u,iat:c}:f={iss:this.email,sub:this.email,aud:e,exp:u,iat:c},n){for(let b in f)if(n[b])throw new Error(`The '${b}' property is not allowed when passing additionalClaims. This claim is included in the JWT by default.`)}let d=this.keyId?{...XS,kid:this.keyId}:XS,p=Object.assign(f,n),h=MI.sign({header:d,payload:p,secret:this.key}),_=new Headers({authorization:`Bearer ${h}`});return this.cache.set(o,{expiration:u*1e3,headers:_}),_}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,n){if(n)this.fromStreamAsync(e).then(()=>n(),n);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((n,r)=>{e||r(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",r).on("end",()=>{try{let s=JSON.parse(o);this.fromJSON(s),n()}catch(s){r(s)}})})}};yu.JWTAccess=Fh});var Bh=J(bu=>{"use strict";Object.defineProperty(bu,"__esModule",{value:!0});bu.JWT=void 0;var QS=Ih(),UI=xh(),jI=Nh(),LI=kr(),_u=At(),Mh=class t extends LI.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 n=new t(this);return n.scopes=e,n}async getRequestMetadataAsync(e){e=this.defaultServicePath?`https://${this.defaultServicePath}/`:e;let n=!this.hasUserScopes()&&e||this.useJWTAccessWithScope&&this.hasAnyScopes()||this.universeDomain!==_u.DEFAULT_UNIVERSE;if(this.subject&&this.universeDomain!==_u.DEFAULT_UNIVERSE)throw new RangeError(`Service Account user is configured for the credential. Domain-wide delegation is not supported in universes other than ${_u.DEFAULT_UNIVERSE}`);if(!this.apiKey&&n)if(this.additionalClaims&&this.additionalClaims.target_audience){let{tokens:r}=await this.refreshToken();return{headers:this.addSharedMetadataHeaders(new Headers({authorization:`Bearer ${r.id_token}`}))}}else{this.access||(this.access=new jI.JWTAccess(this.email,this.key,this.keyId,this.eagerRefreshThresholdMillis));let r;this.hasUserScopes()?r=this.scopes:e||(r=this.defaultScopes);let o=this.useJWTAccessWithScope||this.universeDomain!==_u.DEFAULT_UNIVERSE,s=await this.access.getRequestHeaders(e??void 0,this.additionalClaims,o?r:void 0);return{headers:this.addSharedMetadataHeaders(s)}}else return this.hasAnyScopes()||this.apiKey?super.getRequestMetadataAsync(e):{headers:new Headers}}async fetchIdToken(e){let n=new QS.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 n.getToken({forceRefresh:!0}),!n.idToken)throw new Error("Unknown error: Failed to fetch ID token");return n.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(n=>e(null,n),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.googleTokenOptions?.key,this.email=this.gtoken.googleTokenOptions?.iss,e.tokens}async refreshTokenNoCache(){let e=this.createGToken(),r={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",r),{res:null,tokens:r}}createGToken(){return this.gtoken||(this.gtoken=new QS.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,n){if(n)this.fromStreamAsync(e).then(()=>n(),n);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((n,r)=>{if(!e)throw new Error("Must pass in a stream containing the service account auth settings.");let o="";e.setEncoding("utf8").on("error",r).on("data",s=>o+=s).on("end",()=>{try{let s=JSON.parse(o);this.fromJSON(s),n()}catch(s){r(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 e=this.createGToken(),n=await(0,UI.getCredentials)(this.keyFile);return{private_key:n.privateKey,client_email:n.clientEmail}}throw new Error("A key or a keyFile must be provided to getCredentials.")}};bu.JWT=Mh});var jh=J(Zo=>{"use strict";Object.defineProperty(Zo,"__esModule",{value:!0});Zo.UserRefreshClient=Zo.USER_REFRESH_ACCOUNT_TYPE=void 0;var qI=kr(),$I=At();Zo.USER_REFRESH_ACCOUNT_TYPE="authorized_user";var Uh=class t extends qI.OAuth2Client{_refreshToken;constructor(e,n,r,o,s){let i=e&&typeof e=="object"?e:{clientId:e,clientSecret:n,refreshToken:r,eagerRefreshThresholdMillis:o,forceRefreshOnFailure:s};super(i),this._refreshToken=i.refreshToken,this.credentials.refresh_token=i.refreshToken}async refreshTokenNoCache(){return super.refreshTokenNoCache(this._refreshToken)}async fetchIdToken(e){let n={...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}),responseType:"json"};return $I.AuthClient.setMethodName(n,"fetchIdToken"),(await this.transporter.request(n)).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,n){if(n)this.fromStreamAsync(e).then(()=>n(),n);else return this.fromStreamAsync(e)}async fromStreamAsync(e){return new Promise((n,r)=>{if(!e)return r(new Error("Must pass in a stream containing the user refresh token."));let o="";e.setEncoding("utf8").on("error",r).on("data",s=>o+=s).on("end",()=>{try{let s=JSON.parse(o);return this.fromJSON(s),n()}catch(s){return r(s)}})})}static fromJSON(e){let n=new t;return n.fromJSON(e),n}};Zo.UserRefreshClient=Uh});var qh=J(es=>{"use strict";Object.defineProperty(es,"__esModule",{value:!0});es.Impersonated=es.IMPERSONATED_ACCOUNT_TYPE=void 0;var ZS=kr(),zI=it(),HI=Kt();es.IMPERSONATED_ACCOUNT_TYPE="impersonated_service_account";var Lh=class t extends ZS.OAuth2Client{sourceClient;targetPrincipal;targetScopes;delegates;lifetime;endpoint;constructor(e={}){if(super(e),this.credentials={expiry_date:1,refresh_token:"impersonated-placeholder"},this.sourceClient=e.sourceClient??new ZS.OAuth2Client,this.targetPrincipal=e.targetPrincipal??"",this.delegates=e.delegates??[],this.targetScopes=e.targetScopes??[],this.lifetime=e.lifetime??3600,!!!(0,HI.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 n=`projects/-/serviceAccounts/${this.targetPrincipal}`,r=`${this.endpoint}/v1/${n}:signBlob`,o={delegates:this.delegates,payload:Buffer.from(e).toString("base64")};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:r,data:o,method:"POST"})).data}getTargetPrincipal(){return this.targetPrincipal}async refreshToken(){try{await this.sourceClient.getAccessToken();let e="projects/-/serviceAccounts/"+this.targetPrincipal,n=`${this.endpoint}/v1/${e}:generateAccessToken`,r={delegates:this.delegates,scope:this.targetScopes,lifetime:this.lifetime+"s"},o=await this.sourceClient.request({...t.RETRY_CONFIG,url:n,data:r,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 n=0,r="";throw e instanceof zI.GaxiosError&&(n=e?.response?.data?.error?.status,r=e?.response?.data?.error?.message),n&&r?(e.message=`${n}: unable to impersonate: ${r}`,e):(e.message=`unable to impersonate: ${e}`,e)}}async fetchIdToken(e,n){await this.sourceClient.getAccessToken();let r=`projects/-/serviceAccounts/${this.targetPrincipal}`,o=`${this.endpoint}/v1/${r}:generateIdToken`,s={delegates:this.delegates,audience:e,includeEmail:n?.includeEmail??!0,useEmailAzp:n?.includeEmail??!0};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:o,data:s,method:"POST"})).data.token}};es.Impersonated=Lh});var zh=J(Ri=>{"use strict";Object.defineProperty(Ri,"__esModule",{value:!0});Ri.OAuthClientAuthHandler=void 0;Ri.getErrorFromOAuthErrorResponse=JI;var ts=it(),WI=ki(),GI=["PUT","POST","PATCH"],$h=class{#e=(0,WI.createCrypto)();#t;transporter;constructor(e){e&&"clientId"in e?(this.#t=e,this.transporter=new ts.Gaxios):(this.#t=e?.clientAuthentication,this.transporter=e?.transporter||new ts.Gaxios)}applyClientAuthenticationOptions(e,n){e.headers=ts.Gaxios.mergeHeaders(e.headers),this.injectAuthenticatedHeaders(e,n),n||this.injectAuthenticatedRequestBody(e)}injectAuthenticatedHeaders(e,n){if(n)e.headers=ts.Gaxios.mergeHeaders(e.headers,{authorization:`Bearer ${n}`});else if(this.#t?.confidentialClientType==="basic"){e.headers=ts.Gaxios.mergeHeaders(e.headers);let r=this.#t.clientId,o=this.#t.clientSecret||"",s=this.#e.encodeBase64StringUtf8(`${r}:${o}`);ts.Gaxios.mergeHeaders(e.headers,{authorization:`Basic ${s}`})}}injectAuthenticatedRequestBody(e){if(this.#t?.confidentialClientType==="request-body"){let n=(e.method||"GET").toUpperCase();if(!GI.includes(n))throw new Error(`${n} 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"]}}}};Ri.OAuthClientAuthHandler=$h;function JI(t,e){let n=t.error,r=t.error_description,o=t.error_uri,s=`Error code ${n}`;typeof r<"u"&&(s+=`: ${r}`),typeof o<"u"&&(s+=` - ${o}`);let i=new Error(s);if(e){let c=Object.keys(e);e.stack&&c.push("stack"),c.forEach(u=>{u!=="message"&&Object.defineProperty(i,u,{value:e[u],writable:!1,enumerable:!0})})}return i}});var wu=J(Cu=>{"use strict";Object.defineProperty(Cu,"__esModule",{value:!0});Cu.StsCredentials=void 0;var VI=it(),KI=At(),eE=zh(),YI=Kt(),Hh=class t extends eE.OAuthClientAuthHandler{#e;constructor(e={tokenExchangeEndpoint:""},n){(typeof e!="object"||e instanceof URL)&&(e={tokenExchangeEndpoint:e,clientAuthentication:n}),super(e),this.#e=e.tokenExchangeEndpoint}async exchangeToken(e,n,r){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:r&&JSON.stringify(r)},s={...t.RETRY_CONFIG,url:this.#e.toString(),method:"POST",headers:n,data:new URLSearchParams((0,YI.removeUndefinedValuesInObject)(o)),responseType:"json"};KI.AuthClient.setMethodName(s,"exchangeToken"),this.applyClientAuthenticationOptions(s);try{let i=await this.transporter.request(s),c=i.data;return c.res=i,c}catch(i){throw i instanceof VI.GaxiosError&&i.response?(0,eE.getErrorFromOAuthErrorResponse)(i.response.data,i):i}}};Cu.StsCredentials=Hh});var vr=J(Bt=>{"use strict";Object.defineProperty(Bt,"__esModule",{value:!0});Bt.BaseExternalAccountClient=Bt.CLOUD_RESOURCE_MANAGER=Bt.EXTERNAL_ACCOUNT_TYPE=Bt.EXPIRATION_TIME_OFFSET=void 0;var XI=it(),QI=oe("stream"),Wh=At(),ZI=wu(),tE=Kt(),eF=eh(),tF="urn:ietf:params:oauth:grant-type:token-exchange",nF="urn:ietf:params:oauth:token-type:access_token",Gh="https://www.googleapis.com/auth/cloud-platform",rF=3600;Bt.EXPIRATION_TIME_OFFSET=300*1e3;Bt.EXTERNAL_ACCOUNT_TYPE="external_account";Bt.CLOUD_RESOURCE_MANAGER="https://cloudresourcemanager.googleapis.com/v1/projects/";var oF="//iam\\.googleapis\\.com/locations/[^/]+/workforcePools/[^/]+/providers/.+",sF="https://sts.{universeDomain}/v1/token",Jh=class t extends Wh.AuthClient{scopes;projectNumber;audience;subjectTokenType;stsCredential;clientAuth;credentialSourceType;cachedAccessToken;serviceAccountImpersonationUrl;serviceAccountImpersonationLifetime;workforcePoolUserProject;configLifetimeRequested;tokenUrl;cloudResourceManagerURL;supplierContext;#e=null;constructor(e){super(e);let n=(0,tE.originalOrCamelOptions)(e),r=n.get("type");if(r&&r!==Bt.EXTERNAL_ACCOUNT_TYPE)throw new Error(`Expected "${Bt.EXTERNAL_ACCOUNT_TYPE}" type but received "${e.type}"`);let o=n.get("client_id"),s=n.get("client_secret");this.tokenUrl=n.get("token_url")??sF.replace("{universeDomain}",this.universeDomain);let i=n.get("subject_token_type"),c=n.get("workforce_pool_user_project"),u=n.get("service_account_impersonation_url"),f=n.get("service_account_impersonation"),d=(0,tE.originalOrCamelOptions)(f).get("token_lifetime_seconds");this.cloudResourceManagerURL=new URL(n.get("cloud_resource_manager_url")||`https://cloudresourcemanager.${this.universeDomain}/v1/projects/`),o&&(this.clientAuth={confidentialClientType:"basic",clientId:o,clientSecret:s}),this.stsCredential=new ZI.StsCredentials({tokenExchangeEndpoint:this.tokenUrl,clientAuthentication:this.clientAuth}),this.scopes=n.get("scopes")||[Gh],this.cachedAccessToken=null,this.audience=n.get("audience"),this.subjectTokenType=i,this.workforcePoolUserProject=c;let p=new RegExp(oF);if(this.workforcePoolUserProject&&!this.audience.match(p))throw new Error("workforcePoolUserProject should not be set for non-workforce pool credentials.");this.serviceAccountImpersonationUrl=u,this.serviceAccountImpersonationLifetime=d,this.serviceAccountImpersonationLifetime?this.configLifetimeRequested=!0:(this.configLifetimeRequested=!1,this.serviceAccountImpersonationLifetime=rF),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(),n=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(n)}request(e,n){if(n)this.requestAsync(e).then(r=>n(null,r),r=>n(r,r.response));else return this.requestAsync(e)}async getProjectId(){let e=this.projectNumber||this.workforcePoolUserProject;if(this.projectId)return this.projectId;if(e){let n=await this.getRequestHeaders(),r={...t.RETRY_CONFIG,headers:n,url:`${this.cloudResourceManagerURL.toString()}${e}`,responseType:"json"};Wh.AuthClient.setMethodName(r,"getProjectId");let o=await this.transporter.request(r);return this.projectId=o.data.projectId,this.projectId}return null}async requestAsync(e,n=!1){let r;try{let o=await this.getRequestHeaders();e.headers=XI.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),r=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let i=s.status,c=s.config.data instanceof QI.Readable;if(!n&&(i===401||i===403)&&!c&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return r}async refreshAccessTokenAsync(){this.#e=this.#e||this.#t();try{return await this.#e}finally{this.#e=null}}async#t(){let e=await this.retrieveSubjectToken(),n={grantType:tF,audience:this.audience,requestedTokenType:nF,subjectToken:e,subjectTokenType:this.subjectTokenType,scope:this.serviceAccountImpersonationUrl?[Gh]:this.getScopesArray()},r=!this.clientAuth&&this.workforcePoolUserProject?{userProject:this.workforcePoolUserProject}:void 0,o=new Headers({"x-goog-api-client":this.getMetricsHeaderValue()}),s=await this.stsCredential.exchangeToken(n,o,r);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 n=e.match(/\/projects\/([^/]+)/);return n?n[1]:null}async getImpersonatedAccessToken(e){let n={...t.RETRY_CONFIG,url:this.serviceAccountImpersonationUrl,method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${e}`},data:{scope:this.getScopesArray(),lifetime:this.serviceAccountImpersonationLifetime+"s"},responseType:"json"};Wh.AuthClient.setMethodName(n,"getImpersonatedAccessToken");let r=await this.transporter.request(n),o=r.data;return{access_token:o.accessToken,expiry_date:new Date(o.expireTime).getTime(),res:r}}isExpired(e){let n=new Date().getTime();return e.expiry_date?n>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}getScopesArray(){return typeof this.scopes=="string"?[this.scopes]:this.scopes||[Gh]}getMetricsHeaderValue(){let e=process.version.replace(/^v/,""),n=this.serviceAccountImpersonationUrl!==void 0,r=this.credentialSourceType?this.credentialSourceType:"unknown";return`gl-node/${e} auth/${eF.pkg.version} google-byoid-sdk source/${r} sa-impersonation/${n} config-lifetime/${this.configLifetimeRequested}`}getTokenUrl(){return this.tokenUrl}};Bt.BaseExternalAccountClient=Jh});var nE=J(ku=>{"use strict";Object.defineProperty(ku,"__esModule",{value:!0});ku.FileSubjectTokenSupplier=void 0;var Kh=oe("util"),Yh=oe("fs"),iF=(0,Kh.promisify)(Yh.readFile??(()=>{})),aF=(0,Kh.promisify)(Yh.realpath??(()=>{})),cF=(0,Kh.promisify)(Yh.lstat??(()=>{})),Vh=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 aF(e),!(await cF(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 n,r=await iF(e,{encoding:"utf8"});if(this.formatType==="text"?n=r:this.formatType==="json"&&this.subjectTokenFieldName&&(n=JSON.parse(r)[this.subjectTokenFieldName]),!n)throw new Error("Unable to parse the subject_token from the credential_source file");return n}};ku.FileSubjectTokenSupplier=Vh});var rE=J(Su=>{"use strict";Object.defineProperty(Su,"__esModule",{value:!0});Su.UrlSubjectTokenSupplier=void 0;var uF=At(),Xh=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 n={...this.additionalGaxiosOptions,url:this.url,method:"GET",headers:this.headers,responseType:this.formatType};uF.AuthClient.setMethodName(n,"getSubjectToken");let r;if(this.formatType==="text"?r=(await e.transporter.request(n)).data:this.formatType==="json"&&this.subjectTokenFieldName&&(r=(await e.transporter.request(n)).data[this.subjectTokenFieldName]),!r)throw new Error("Unable to parse the subject_token from the credential_source URL");return r}};Su.UrlSubjectTokenSupplier=Xh});var oE=J(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.CertificateSubjectTokenSupplier=Tt.InvalidConfigurationError=Tt.CertificateSourceUnavailableError=Tt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE=void 0;var Eu=Kt(),vu=oe("fs"),Au=oe("crypto"),lF=oe("https");Tt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE="GOOGLE_API_CERTIFICATE_CONFIG";var _n=class extends Error{constructor(e){super(e),this.name="CertificateSourceUnavailableError"}};Tt.CertificateSourceUnavailableError=_n;var Ut=class extends Error{constructor(e){super(e),this.name="InvalidConfigurationError"}};Tt.InvalidConfigurationError=Ut;var Qh=class{certificateConfigPath;trustChainPath;cert;key;constructor(e){if(!e.useDefaultCertificateConfig&&!e.certificateConfigLocation)throw new Ut("Either `useDefaultCertificateConfig` must be true or a `certificateConfigLocation` must be provided.");if(e.useDefaultCertificateConfig&&e.certificateConfigLocation)throw new Ut("Both `useDefaultCertificateConfig` and `certificateConfigLocation` cannot be provided.");this.trustChainPath=e.trustChainPath,this.certificateConfigPath=e.certificateConfigLocation??""}async createMtlsHttpsAgent(){if(!this.key||!this.cert)throw new Ut("Cannot create mTLS Agent with missing certificate or key");return new lF.Agent({key:this.key,cert:this.cert})}async getSubjectToken(){this.certificateConfigPath=await this.#e();let{certPath:e,keyPath:n}=await this.#t();return{cert:this.cert,key:this.key}=await this.#n(e,n),await this.#r(this.cert)}async#e(){let e=this.certificateConfigPath;if(e){if(await(0,Eu.isValidFile)(e))return e;throw new _n(`Provided certificate config path is invalid: ${e}`)}let n=process.env[Tt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE];if(n){if(await(0,Eu.isValidFile)(n))return n;throw new _n(`Path from environment variable "${Tt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" is invalid: ${n}`)}let r=(0,Eu.getWellKnownCertificateConfigFileLocation)();if(await(0,Eu.isValidFile)(r))return r;throw new _n(`Could not find certificate configuration file. Searched override path, the "${Tt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" env var, and the gcloud path (${r}).`)}async#t(){let e=this.certificateConfigPath,n;try{n=await vu.promises.readFile(e,"utf8")}catch{throw new _n(`Failed to read certificate config file at: ${e}`)}try{let r=JSON.parse(n),o=r?.cert_configs?.workload?.cert_path,s=r?.cert_configs?.workload?.key_path;if(!o||!s)throw new Ut(`Certificate config file (${e}) is missing required "cert_path" or "key_path" in the workload config.`);return{certPath:o,keyPath:s}}catch(r){throw r instanceof Ut?r:new Ut(`Failed to parse certificate config from ${e}: ${r.message}`)}}async#n(e,n){let r,o;try{r=await vu.promises.readFile(e),new Au.X509Certificate(r)}catch(s){let i=s instanceof Error?s.message:String(s);throw new _n(`Failed to read certificate file at ${e}: ${i}`)}try{o=await vu.promises.readFile(n),(0,Au.createPrivateKey)(o)}catch(s){let i=s instanceof Error?s.message:String(s);throw new _n(`Failed to read private key file at ${n}: ${i}`)}return{cert:r,key:o}}async#r(e){let n=new Au.X509Certificate(e);if(!this.trustChainPath)return JSON.stringify([n.raw.toString("base64")]);try{let s=((await vu.promises.readFile(this.trustChainPath,"utf8")).match(/-----BEGIN CERTIFICATE-----[^-]+-----END CERTIFICATE-----/g)??[]).map((u,f)=>{try{return new Au.X509Certificate(u)}catch(d){let p=d instanceof Error?d.message:String(d);throw new Ut(`Failed to parse certificate at index ${f} in trust chain file ${this.trustChainPath}: ${p}`)}}),i=s.findIndex(u=>n.raw.equals(u.raw)),c;if(i===-1)c=[n,...s];else if(i===0)c=s;else throw new Ut(`Leaf certificate exists in the trust chain but is not the first entry (found at index ${i}).`);return JSON.stringify(c.map(u=>u.raw.toString("base64")))}catch(r){if(r instanceof Ut)throw r;let o=r instanceof Error?r.message:String(r);throw new _n(`Failed to process certificate chain from ${this.trustChainPath}: ${o}`)}}};Tt.CertificateSubjectTokenSupplier=Qh});var tm=J(Tu=>{"use strict";Object.defineProperty(Tu,"__esModule",{value:!0});Tu.IdentityPoolClient=void 0;var dF=vr(),Zh=Kt(),fF=nE(),pF=rE(),sE=oE(),hF=wu(),iE=it(),em=class t extends dF.BaseExternalAccountClient{subjectTokenSupplier;constructor(e){super(e);let n=(0,Zh.originalOrCamelOptions)(e),r=n.get("credential_source"),o=n.get("subject_token_supplier");if(!r&&!o)throw new Error("A credential source or subject token supplier must be specified.");if(r&&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,Zh.originalOrCamelOptions)(r),i=(0,Zh.originalOrCamelOptions)(s.get("format")),c=i.get("type")||"text",u=i.get("subject_token_field_name");if(c!=="json"&&c!=="text")throw new Error(`Invalid credential_source format "${c}"`);if(c==="json"&&!u)throw new Error("Missing subject_token_field_name for JSON credential_source format");let f=s.get("file"),d=s.get("url"),p=s.get("certificate"),h=s.get("headers");if(f&&d||d&&p||f&&p)throw new Error('No valid Identity Pool "credential_source" provided, must be either file, url, or certificate.');if(f)this.credentialSourceType="file",this.subjectTokenSupplier=new fF.FileSubjectTokenSupplier({filePath:f,formatType:c,subjectTokenFieldName:u});else if(d)this.credentialSourceType="url",this.subjectTokenSupplier=new pF.UrlSubjectTokenSupplier({url:d,formatType:c,subjectTokenFieldName:u,headers:h,additionalGaxiosOptions:t.RETRY_CONFIG});else if(p){this.credentialSourceType="certificate";let _=new sE.CertificateSubjectTokenSupplier({useDefaultCertificateConfig:p.use_default_certificate_config,certificateConfigLocation:p.certificate_config_location,trustChainPath:p.trust_chain_path});this.subjectTokenSupplier=_}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 sE.CertificateSubjectTokenSupplier){let n=await this.subjectTokenSupplier.createMtlsHttpsAgent();this.stsCredential=new hF.StsCredentials({tokenExchangeEndpoint:this.getTokenUrl(),clientAuthentication:this.clientAuth,transporter:new iE.Gaxios({agent:n})}),this.transporter=new iE.Gaxios({...this.transporter.defaults||{},agent:n})}return e}};Tu.IdentityPoolClient=em});var rm=J(xu=>{"use strict";Object.defineProperty(xu,"__esModule",{value:!0});xu.AwsRequestSigner=void 0;var Ru=it(),cE=ki(),aE="AWS4-HMAC-SHA256",mF="aws4_request",nm=class{getCredentials;region;crypto;constructor(e,n){this.getCredentials=e,this.region=n,this.crypto=(0,cE.createCrypto)()}async getRequestOptions(e){if(!e.url)throw new RangeError('"url" is required in "amzOptions"');let n=typeof e.data=="object"?JSON.stringify(e.data):e.data,r=e.url,o=e.method||"GET",s=e.body||n,i=e.headers,c=await this.getCredentials(),u=new URL(r);if(typeof s!="string"&&s!==void 0)throw new TypeError(`'requestPayload' is expected to be a string if provided. Got: ${s}`);let f=await yF({crypto:this.crypto,host:u.host,canonicalUri:u.pathname,canonicalQuerystring:u.search.slice(1),method:o,region:this.region,securityCredentials:c,requestPayload:s,additionalAmzHeaders:i}),d=Ru.Gaxios.mergeHeaders(f.amzDate?{"x-amz-date":f.amzDate}:{},{authorization:f.authorizationHeader,host:u.host},i||{});c.token&&Ru.Gaxios.mergeHeaders(d,{"x-amz-security-token":c.token});let p={url:r,method:o,headers:d};return s!==void 0&&(p.body=s),p}};xu.AwsRequestSigner=nm;async function xi(t,e,n){return await t.signWithHmacSha256(e,n)}async function gF(t,e,n,r,o){let s=await xi(t,`AWS4${e}`,n),i=await xi(t,s,r),c=await xi(t,i,o);return await xi(t,c,"aws4_request")}async function yF(t){let e=Ru.Gaxios.mergeHeaders(t.additionalAmzHeaders),n=t.requestPayload||"",r=t.host.split(".")[0],o=new Date,s=o.toISOString().replace(/[-:]/g,"").replace(/\.[0-9]+/,""),i=o.toISOString().replace(/[-]/g,"").replace(/T.*/,"");t.securityCredentials.token&&e.set("x-amz-security-token",t.securityCredentials.token);let c=Ru.Gaxios.mergeHeaders({host:t.host},e.has("date")?{}:{"x-amz-date":s},e),u="",f=[...c.keys()].sort();f.forEach(v=>{u+=`${v}:${c.get(v)}
|
|
82
|
-
`});let d
|
|
81
|
+
"HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,Fi="secret must be a string or buffer",is="key must be a string or a buffer",$I="key must be a string, a buffer or an object",Kh=typeof Ut.createPublicKey=="function";Kh&&(is+=" or a KeyObject",Fi+="or a KeyObject");function rE(t){if(!as.isBuffer(t)&&typeof t!="string"&&(!Kh||typeof t!="object"||typeof t.type!="string"||typeof t.asymmetricKeyType!="string"||typeof t.export!="function"))throw Zt(is)}function oE(t){if(!as.isBuffer(t)&&typeof t!="string"&&typeof t!="object")throw Zt($I)}function zI(t){if(!as.isBuffer(t)){if(typeof t=="string")return t;if(!Kh||typeof t!="object"||t.type!=="secret"||typeof t.export!="function")throw Zt(Fi)}}function Vh(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function sE(t){t=t.toString();var e=4-t.length%4;if(e!==4)for(var n=0;n<e;++n)t+="=";return t.replace(/\-/g,"+").replace(/_/g,"/")}function Zt(t){var e=[].slice.call(arguments,1),n=tE.format.bind(tE,t).apply(null,e);return new TypeError(n)}function HI(t){return as.isBuffer(t)||typeof t=="string"}function Ni(t){return HI(t)||(t=JSON.stringify(t)),t}function iE(t){return function(n,r){zI(r),n=Ni(n);var o=Ut.createHmac("sha"+t,r),s=(o.update(n),o.digest("base64"));return Vh(s)}}var Jh,WI="timingSafeEqual"in Ut?function(e,n){return e.byteLength!==n.byteLength?!1:Ut.timingSafeEqual(e,n)}:function(e,n){return Jh||(Jh=eE()),Jh(e,n)};function GI(t){return function(n,r,o){var s=iE(t)(n,o);return WI(as.from(r),as.from(s))}}function aE(t){return function(n,r){oE(r),n=Ni(n);var o=Ut.createSign("RSA-SHA"+t),s=(o.update(n),o.sign(r,"base64"));return Vh(s)}}function cE(t){return function(n,r,o){rE(o),n=Ni(n),r=sE(r);var s=Ut.createVerify("RSA-SHA"+t);return s.update(n),s.verify(o,r,"base64")}}function JI(t){return function(n,r){oE(r),n=Ni(n);var o=Ut.createSign("RSA-SHA"+t),s=(o.update(n),o.sign({key:r,padding:Ut.constants.RSA_PKCS1_PSS_PADDING,saltLength:Ut.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return Vh(s)}}function KI(t){return function(n,r,o){rE(o),n=Ni(n),r=sE(r);var s=Ut.createVerify("RSA-SHA"+t);return s.update(n),s.verify({key:o,padding:Ut.constants.RSA_PKCS1_PSS_PADDING,saltLength:Ut.constants.RSA_PSS_SALTLEN_DIGEST},r,"base64")}}function VI(t){var e=aE(t);return function(){var r=e.apply(null,arguments);return r=nE.derToJose(r,"ES"+t),r}}function YI(t){var e=cE(t);return function(r,o,s){o=nE.joseToDer(o,"ES"+t).toString("base64");var i=e(r,o,s);return i}}function XI(){return function(){return""}}function QI(){return function(e,n){return n===""}}uE.exports=function(e){var n={hs:iE,rs:aE,ps:JI,es:VI,none:XI},r={hs:GI,rs:cE,ps:KI,es:YI,none:QI},o=e.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!o)throw Zt(qI,e);var s=(o[1]||o[3]).toLowerCase(),i=o[2];return{sign:n[s](i),verify:r[s](i)}}});var Xh=J((X3,lE)=>{var ZI=oe("buffer").Buffer;lE.exports=function(e){return typeof e=="string"?e:typeof e=="number"||ZI.isBuffer(e)?e.toString():JSON.stringify(e)}});var gE=J((Q3,mE)=>{var eF=rs().Buffer,dE=Wh(),tF=Yh(),nF=oe("stream"),fE=Xh(),Qh=oe("util");function pE(t,e){return eF.from(t,e).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function rF(t,e,n){n=n||"utf8";var r=pE(fE(t),"binary"),o=pE(fE(e),n);return Qh.format("%s.%s",r,o)}function hE(t){var e=t.header,n=t.payload,r=t.secret||t.privateKey,o=t.encoding,s=tF(e.alg),i=rF(e,n,o),a=s.sign(i,r);return Qh.format("%s.%s",i,a)}function Ou(t){var e=t.secret;if(e=e??t.privateKey,e=e??t.key,/^hs/i.test(t.header.alg)===!0&&e==null)throw new TypeError("secret must be a string or buffer or a KeyObject");var n=new dE(e);this.readable=!0,this.header=t.header,this.encoding=t.encoding,this.secret=this.privateKey=this.key=n,this.payload=new dE(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))}Qh.inherits(Ou,nF);Ou.prototype.sign=function(){try{var e=hE({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(n){this.readable=!1,this.emit("error",n),this.emit("close")}};Ou.sign=hE;mE.exports=Ou});var vE=J((Z3,AE)=>{var _E=rs().Buffer,yE=Wh(),oF=Yh(),sF=oe("stream"),bE=Xh(),iF=oe("util"),aF=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function cF(t){return Object.prototype.toString.call(t)==="[object Object]"}function uF(t){if(cF(t))return t;try{return JSON.parse(t)}catch{return}}function CE(t){var e=t.split(".",1)[0];return uF(_E.from(e,"base64").toString("binary"))}function lF(t){return t.split(".",2).join(".")}function wE(t){return t.split(".")[2]}function dF(t,e){e=e||"utf8";var n=t.split(".")[1];return _E.from(n,"base64").toString(e)}function kE(t){return aF.test(t)&&!!CE(t)}function SE(t,e,n){if(!e){var r=new Error("Missing algorithm parameter for jws.verify");throw r.code="MISSING_ALGORITHM",r}t=bE(t);var o=wE(t),s=lF(t),i=oF(e);return i.verify(s,o,n)}function EE(t,e){if(e=e||{},t=bE(t),!kE(t))return null;var n=CE(t);if(!n)return null;var r=dF(t);return(n.typ==="JWT"||e.json)&&(r=JSON.parse(r,e.encoding)),{header:n,payload:r,signature:wE(t)}}function cs(t){t=t||{};var e=t.secret;if(e=e??t.publicKey,e=e??t.key,/^hs/i.test(t.algorithm)===!0&&e==null)throw new TypeError("secret must be a string or buffer or a KeyObject");var n=new yE(e);this.readable=!0,this.algorithm=t.algorithm,this.encoding=t.encoding,this.secret=this.publicKey=this.key=n,this.signature=new yE(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))}iF.inherits(cs,sF);cs.prototype.verify=function(){try{var e=SE(this.signature.buffer,this.algorithm,this.key.buffer),n=EE(this.signature.buffer,this.encoding);return this.emit("done",e,n),this.emit("data",e),this.emit("end"),this.readable=!1,e}catch(r){this.readable=!1,this.emit("error",r),this.emit("close")}};cs.decode=EE;cs.isValid=kE;cs.verify=SE;AE.exports=cs});var Zh=J(Rr=>{var TE=gE(),Pu=vE(),fF=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];Rr.ALGORITHMS=fF;Rr.sign=TE.sign;Rr.verify=Pu.verify;Rr.decode=Pu.decode;Rr.isValid=Pu.isValid;Rr.createSign=function(e){return new TE(e)};Rr.createVerify=function(e){return new Pu(e)}});var xE=J(Iu=>{"use strict";Object.defineProperty(Iu,"__esModule",{value:!0});Iu.buildPayloadForJwsSign=RE;Iu.getJwsSign=gF;var pF=Zh(),hF="RS256",mF="https://oauth2.googleapis.com/token";function RE(t){let e=Math.floor(new Date().getTime()/1e3);return{iss:t.iss,scope:t.scope,aud:mF,exp:e+3600,iat:e,sub:t.sub,...t.additionalClaims}}function gF(t){let e=RE(t);return(0,pF.sign)({header:{alg:hF},payload:e,secret:t.key})}});var DE=J(em=>{"use strict";Object.defineProperty(em,"__esModule",{value:!0});em.getToken=wF;var yF=xE(),_F="https://oauth2.googleapis.com/token",bF="urn:ietf:params:oauth:grant-type:jwt-bearer",CF=t=>({method:"POST",url:_F,data:new URLSearchParams({grant_type:bF,assertion:(0,yF.getJwsSign)(t)}),responseType:"json",retryConfig:{httpMethodsToRetry:["POST"]}});async function wF(t){if(!t.transporter)throw new Error("No transporter set.");try{let e=CF(t);return(await t.transporter.request(e)).data}catch(e){let n=e,r=n.response?.data;throw r?.error&&(n.message=`${r.error}: ${r.error_description}`),n}}});var OE=J(Fu=>{"use strict";Object.defineProperty(Fu,"__esModule",{value:!0});Fu.ErrorWithCode=void 0;var tm=class extends Error{code;constructor(e,n){super(e),this.code=n}};Fu.ErrorWithCode=tm});var am=J(im=>{"use strict";Object.defineProperty(im,"__esModule",{value:!0});im.getCredentials=EF;var kF=oe("path"),PE=oe("fs"),SF=oe("util"),Nu=OE(),IE=PE.readFile?(0,SF.promisify)(PE.readFile):async()=>{throw new Nu.ErrorWithCode("use key rather than keyFile.","MISSING_CREDENTIALS")},xr;(function(t){t.JSON=".json",t.DER=".der",t.CRT=".crt",t.PEM=".pem",t.P12=".p12",t.PFX=".pfx"})(xr||(xr={}));var nm=class{keyFilePath;constructor(e){this.keyFilePath=e}async getCredentials(){let e=await IE(this.keyFilePath,"utf8"),n;try{n=JSON.parse(e)}catch(s){let i=s;throw new Error(`Invalid JSON key file: ${i.message}`)}let r=n.private_key,o=n.client_email;if(!r||!o)throw new Nu.ErrorWithCode("private_key and client_email are required.","MISSING_CREDENTIALS");return{privateKey:r,clientEmail:o}}},rm=class{keyFilePath;constructor(e){this.keyFilePath=e}async getCredentials(){return{privateKey:await IE(this.keyFilePath,"utf8")}}},om=class{async getCredentials(){throw new Nu.ErrorWithCode("*.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")}},sm=class{static create(e){switch(kF.extname(e)){case xr.JSON:return new nm(e);case xr.DER:case xr.CRT:case xr.PEM:return new rm(e);case xr.P12:case xr.PFX:return new om;default:throw new Nu.ErrorWithCode("Unknown certificate type. Type is determined based on file extension. Current supported extensions are *.json, and *.pem.","UNKNOWN_CERTIFICATE_TYPE")}}};async function EF(t){return sm.create(t).getCredentials()}});var FE=J(Mu=>{"use strict";Object.defineProperty(Mu,"__esModule",{value:!0});Mu.TokenHandler=void 0;var AF=DE(),vF=am(),cm=class{token;tokenExpiresAt;inFlightRequest;tokenOptions;constructor(e){this.tokenOptions=e}async processCredentials(){if(!this.tokenOptions.key&&!this.tokenOptions.keyFile)throw new Error("No key or keyFile set.");if(!this.tokenOptions.key&&this.tokenOptions.keyFile){let e=await(0,vF.getCredentials)(this.tokenOptions.keyFile);this.tokenOptions.key=e.privateKey,this.tokenOptions.email=e.clientEmail}}isTokenExpiring(){if(!this.token||!this.tokenExpiresAt)return!0;let e=new Date().getTime(),n=this.tokenOptions.eagerRefreshThresholdMillis??0;return this.tokenExpiresAt<=e+n}hasExpired(){let e=new Date().getTime();return this.token&&this.tokenExpiresAt?new Date().getTime()>=this.tokenExpiresAt:!0}async getToken(e){if(await this.processCredentials(),this.inFlightRequest&&!e)return this.inFlightRequest;if(this.token&&!this.isTokenExpiring()&&!e)return this.token;try{this.inFlightRequest=(0,AF.getToken)(this.tokenOptions);let n=await this.inFlightRequest;return this.token=n,this.tokenExpiresAt=new Date().getTime()+(n.expires_in??0)*1e3,n}finally{this.inFlightRequest=void 0}}};Mu.TokenHandler=cm});var NE=J(um=>{"use strict";Object.defineProperty(um,"__esModule",{value:!0});um.revokeToken=xF;var TF="https://oauth2.googleapis.com/revoke?token=",RF=!0;async function xF(t,e){let n=TF+t;return await e.request({url:n,retry:RF})}});var dm=J(Bu=>{"use strict";Object.defineProperty(Bu,"__esModule",{value:!0});Bu.GoogleToken=void 0;var DF=it(),ME=FE(),OF=NE(),lm=class{tokenOptions;tokenHandler;constructor(e){this.tokenOptions=e||{},this.tokenOptions.transporter=this.tokenOptions.transporter||{request:n=>(0,DF.request)(n)},this.tokenOptions.iss||(this.tokenOptions.iss=this.tokenOptions.email),typeof this.tokenOptions.scope=="object"&&(this.tokenOptions.scope=this.tokenOptions.scope.join(" ")),this.tokenHandler=new ME.TokenHandler(this.tokenOptions)}get expiresAt(){return this.tokenHandler.tokenExpiresAt}get accessToken(){return this.tokenHandler.token?.access_token}get idToken(){return this.tokenHandler.token?.id_token}get tokenType(){return this.tokenHandler.token?.token_type}get refreshToken(){return this.tokenHandler.token?.refresh_token}hasExpired(){return this.tokenHandler.hasExpired()}isTokenExpiring(){return this.tokenHandler.isTokenExpiring()}getToken(e,n={forceRefresh:!1}){let r;typeof e=="function"?r=e:typeof e=="object"&&(n=e);let o=this.tokenHandler.getToken(n.forceRefresh??!1);return r&&o.then(s=>r(null,s),r),o}revokeToken(e){if(!this.accessToken)return Promise.reject(new Error("No token to revoke."));let n=(0,OF.revokeToken)(this.accessToken,this.tokenOptions.transporter);e&&n.then(()=>e(),e),this.tokenHandler=new ME.TokenHandler(this.tokenOptions)}get googleTokenOptions(){return this.tokenOptions}};Bu.GoogleToken=lm});var pm=J(Uu=>{"use strict";Object.defineProperty(Uu,"__esModule",{value:!0});Uu.JWTAccess=void 0;var PF=Zh(),IF=Xt(),BE={alg:"RS256",typ:"JWT"},fm=class t{email;key;keyId;projectId;eagerRefreshThresholdMillis;cache=new IF.LRUCache({capacity:500,maxAge:3600*1e3});constructor(e,n,r,o){this.email=e,this.key=n,this.keyId=r,this.eagerRefreshThresholdMillis=o??300*1e3}getCachedKey(e,n){let r=e;if(n&&Array.isArray(n)&&n.length?r=e?`${e}_${n.join("_")}`:`${n.join("_")}`:typeof n=="string"&&(r=e?`${e}_${n}`:n),!r)throw Error("Scopes or url must be provided");return r}getRequestHeaders(e,n,r){let o=this.getCachedKey(e,r),s=this.cache.get(o),i=Date.now();if(s&&s.expiration-i>this.eagerRefreshThresholdMillis)return new Headers(s.headers);let a=Math.floor(Date.now()/1e3),u=t.getExpirationTime(a),d;if(Array.isArray(r)&&(r=r.join(" ")),r?d={iss:this.email,sub:this.email,scope:r,exp:u,iat:a}:d={iss:this.email,sub:this.email,aud:e,exp:u,iat:a},n){for(let C in d)if(n[C])throw new Error(`The '${C}' property is not allowed when passing additionalClaims. This claim is included in the JWT by default.`)}let f=this.keyId?{...BE,kid:this.keyId}:BE,h=Object.assign(d,n),p=PF.sign({header:f,payload:h,secret:this.key}),b=new Headers({authorization:`Bearer ${p}`});return this.cache.set(o,{expiration:u*1e3,headers:b}),b}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,n){if(n)this.fromStreamAsync(e).then(()=>n(),n);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((n,r)=>{e||r(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",r).on("end",()=>{try{let s=JSON.parse(o);this.fromJSON(s),n()}catch(s){r(s)}})})}};Uu.JWTAccess=fm});var mm=J(Lu=>{"use strict";Object.defineProperty(Lu,"__esModule",{value:!0});Lu.JWT=void 0;var UE=dm(),FF=am(),NF=pm(),MF=Tr(),ju=Rt(),hm=class t extends MF.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 n=new t(this);return n.scopes=e,n}async getRequestMetadataAsync(e){e=this.defaultServicePath?`https://${this.defaultServicePath}/`:e;let n=!this.hasUserScopes()&&e||this.useJWTAccessWithScope&&this.hasAnyScopes()||this.universeDomain!==ju.DEFAULT_UNIVERSE;if(this.subject&&this.universeDomain!==ju.DEFAULT_UNIVERSE)throw new RangeError(`Service Account user is configured for the credential. Domain-wide delegation is not supported in universes other than ${ju.DEFAULT_UNIVERSE}`);if(!this.apiKey&&n)if(this.additionalClaims&&this.additionalClaims.target_audience){let{tokens:r}=await this.refreshToken();return{headers:this.addSharedMetadataHeaders(new Headers({authorization:`Bearer ${r.id_token}`}))}}else{this.access||(this.access=new NF.JWTAccess(this.email,this.key,this.keyId,this.eagerRefreshThresholdMillis));let r;this.hasUserScopes()?r=this.scopes:e||(r=this.defaultScopes);let o=this.useJWTAccessWithScope||this.universeDomain!==ju.DEFAULT_UNIVERSE,s=await this.access.getRequestHeaders(e??void 0,this.additionalClaims,o?r:void 0);return{headers:this.addSharedMetadataHeaders(s)}}else return this.hasAnyScopes()||this.apiKey?super.getRequestMetadataAsync(e):{headers:new Headers}}async fetchIdToken(e){let n=new UE.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 n.getToken({forceRefresh:!0}),!n.idToken)throw new Error("Unknown error: Failed to fetch ID token");return n.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(n=>e(null,n),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.googleTokenOptions?.key,this.email=this.gtoken.googleTokenOptions?.iss,e.tokens}async refreshTokenNoCache(){let e=this.createGToken(),r={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",r),{res:null,tokens:r}}createGToken(){return this.gtoken||(this.gtoken=new UE.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,n){if(n)this.fromStreamAsync(e).then(()=>n(),n);else return this.fromStreamAsync(e)}fromStreamAsync(e){return new Promise((n,r)=>{if(!e)throw new Error("Must pass in a stream containing the service account auth settings.");let o="";e.setEncoding("utf8").on("error",r).on("data",s=>o+=s).on("end",()=>{try{let s=JSON.parse(o);this.fromJSON(s),n()}catch(s){r(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 e=this.createGToken(),n=await(0,FF.getCredentials)(this.keyFile);return{private_key:n.privateKey,client_email:n.clientEmail}}throw new Error("A key or a keyFile must be provided to getCredentials.")}};Lu.JWT=hm});var ym=J(us=>{"use strict";Object.defineProperty(us,"__esModule",{value:!0});us.UserRefreshClient=us.USER_REFRESH_ACCOUNT_TYPE=void 0;var BF=Tr(),UF=Rt();us.USER_REFRESH_ACCOUNT_TYPE="authorized_user";var gm=class t extends BF.OAuth2Client{_refreshToken;constructor(e,n,r,o,s){let i=e&&typeof e=="object"?e:{clientId:e,clientSecret:n,refreshToken:r,eagerRefreshThresholdMillis:o,forceRefreshOnFailure:s};super(i),this._refreshToken=i.refreshToken,this.credentials.refresh_token=i.refreshToken}async refreshTokenNoCache(){return super.refreshTokenNoCache(this._refreshToken)}async fetchIdToken(e){let n={...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}),responseType:"json"};return UF.AuthClient.setMethodName(n,"fetchIdToken"),(await this.transporter.request(n)).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,n){if(n)this.fromStreamAsync(e).then(()=>n(),n);else return this.fromStreamAsync(e)}async fromStreamAsync(e){return new Promise((n,r)=>{if(!e)return r(new Error("Must pass in a stream containing the user refresh token."));let o="";e.setEncoding("utf8").on("error",r).on("data",s=>o+=s).on("end",()=>{try{let s=JSON.parse(o);return this.fromJSON(s),n()}catch(s){return r(s)}})})}static fromJSON(e){let n=new t;return n.fromJSON(e),n}};us.UserRefreshClient=gm});var bm=J(ls=>{"use strict";Object.defineProperty(ls,"__esModule",{value:!0});ls.Impersonated=ls.IMPERSONATED_ACCOUNT_TYPE=void 0;var jE=Tr(),jF=it(),LF=Xt();ls.IMPERSONATED_ACCOUNT_TYPE="impersonated_service_account";var _m=class t extends jE.OAuth2Client{sourceClient;targetPrincipal;targetScopes;delegates;lifetime;endpoint;constructor(e={}){if(super(e),this.credentials={expiry_date:1,refresh_token:"impersonated-placeholder"},this.sourceClient=e.sourceClient??new jE.OAuth2Client,this.targetPrincipal=e.targetPrincipal??"",this.delegates=e.delegates??[],this.targetScopes=e.targetScopes??[],this.lifetime=e.lifetime??3600,!!!(0,LF.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 n=`projects/-/serviceAccounts/${this.targetPrincipal}`,r=`${this.endpoint}/v1/${n}:signBlob`,o={delegates:this.delegates,payload:Buffer.from(e).toString("base64")};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:r,data:o,method:"POST"})).data}getTargetPrincipal(){return this.targetPrincipal}async refreshToken(){try{await this.sourceClient.getAccessToken();let e="projects/-/serviceAccounts/"+this.targetPrincipal,n=`${this.endpoint}/v1/${e}:generateAccessToken`,r={delegates:this.delegates,scope:this.targetScopes,lifetime:this.lifetime+"s"},o=await this.sourceClient.request({...t.RETRY_CONFIG,url:n,data:r,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 n=0,r="";throw e instanceof jF.GaxiosError&&(n=e?.response?.data?.error?.status,r=e?.response?.data?.error?.message),n&&r?(e.message=`${n}: unable to impersonate: ${r}`,e):(e.message=`unable to impersonate: ${e}`,e)}}async fetchIdToken(e,n){await this.sourceClient.getAccessToken();let r=`projects/-/serviceAccounts/${this.targetPrincipal}`,o=`${this.endpoint}/v1/${r}:generateIdToken`,s={delegates:this.delegates,audience:e,includeEmail:n?.includeEmail??!0,useEmailAzp:n?.includeEmail??!0};return(await this.sourceClient.request({...t.RETRY_CONFIG,url:o,data:s,method:"POST"})).data.token}};ls.Impersonated=_m});var wm=J(Mi=>{"use strict";Object.defineProperty(Mi,"__esModule",{value:!0});Mi.OAuthClientAuthHandler=void 0;Mi.getErrorFromOAuthErrorResponse=zF;var ds=it(),qF=Di(),$F=["PUT","POST","PATCH"],Cm=class{#e=(0,qF.createCrypto)();#t;transporter;constructor(e){e&&"clientId"in e?(this.#t=e,this.transporter=new ds.Gaxios):(this.#t=e?.clientAuthentication,this.transporter=e?.transporter||new ds.Gaxios)}applyClientAuthenticationOptions(e,n){e.headers=ds.Gaxios.mergeHeaders(e.headers),this.injectAuthenticatedHeaders(e,n),n||this.injectAuthenticatedRequestBody(e)}injectAuthenticatedHeaders(e,n){if(n)e.headers=ds.Gaxios.mergeHeaders(e.headers,{authorization:`Bearer ${n}`});else if(this.#t?.confidentialClientType==="basic"){e.headers=ds.Gaxios.mergeHeaders(e.headers);let r=this.#t.clientId,o=this.#t.clientSecret||"",s=this.#e.encodeBase64StringUtf8(`${r}:${o}`);ds.Gaxios.mergeHeaders(e.headers,{authorization:`Basic ${s}`})}}injectAuthenticatedRequestBody(e){if(this.#t?.confidentialClientType==="request-body"){let n=(e.method||"GET").toUpperCase();if(!$F.includes(n))throw new Error(`${n} 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"]}}}};Mi.OAuthClientAuthHandler=Cm;function zF(t,e){let n=t.error,r=t.error_description,o=t.error_uri,s=`Error code ${n}`;typeof r<"u"&&(s+=`: ${r}`),typeof o<"u"&&(s+=` - ${o}`);let i=new Error(s);if(e){let a=Object.keys(e);e.stack&&a.push("stack"),a.forEach(u=>{u!=="message"&&Object.defineProperty(i,u,{value:e[u],writable:!1,enumerable:!0})})}return i}});var $u=J(qu=>{"use strict";Object.defineProperty(qu,"__esModule",{value:!0});qu.StsCredentials=void 0;var HF=it(),WF=Rt(),LE=wm(),GF=Xt(),km=class t extends LE.OAuthClientAuthHandler{#e;constructor(e={tokenExchangeEndpoint:""},n){(typeof e!="object"||e instanceof URL)&&(e={tokenExchangeEndpoint:e,clientAuthentication:n}),super(e),this.#e=e.tokenExchangeEndpoint}async exchangeToken(e,n,r){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:r&&JSON.stringify(r)},s={...t.RETRY_CONFIG,url:this.#e.toString(),method:"POST",headers:n,data:new URLSearchParams((0,GF.removeUndefinedValuesInObject)(o)),responseType:"json"};WF.AuthClient.setMethodName(s,"exchangeToken"),this.applyClientAuthenticationOptions(s);try{let i=await this.transporter.request(s),a=i.data;return a.res=i,a}catch(i){throw i instanceof HF.GaxiosError&&i.response?(0,LE.getErrorFromOAuthErrorResponse)(i.response.data,i):i}}};qu.StsCredentials=km});var Dr=J(jt=>{"use strict";Object.defineProperty(jt,"__esModule",{value:!0});jt.BaseExternalAccountClient=jt.CLOUD_RESOURCE_MANAGER=jt.EXTERNAL_ACCOUNT_TYPE=jt.EXPIRATION_TIME_OFFSET=void 0;var JF=it(),KF=oe("stream"),Sm=Rt(),VF=$u(),qE=Xt(),YF=Ph(),XF="urn:ietf:params:oauth:grant-type:token-exchange",QF="urn:ietf:params:oauth:token-type:access_token",Em="https://www.googleapis.com/auth/cloud-platform",ZF=3600;jt.EXPIRATION_TIME_OFFSET=300*1e3;jt.EXTERNAL_ACCOUNT_TYPE="external_account";jt.CLOUD_RESOURCE_MANAGER="https://cloudresourcemanager.googleapis.com/v1/projects/";var eN="//iam\\.googleapis\\.com/locations/[^/]+/workforcePools/[^/]+/providers/.+",tN="https://sts.{universeDomain}/v1/token",Am=class t extends Sm.AuthClient{scopes;projectNumber;audience;subjectTokenType;stsCredential;clientAuth;credentialSourceType;cachedAccessToken;serviceAccountImpersonationUrl;serviceAccountImpersonationLifetime;workforcePoolUserProject;configLifetimeRequested;tokenUrl;cloudResourceManagerURL;supplierContext;#e=null;constructor(e){super(e);let n=(0,qE.originalOrCamelOptions)(e),r=n.get("type");if(r&&r!==jt.EXTERNAL_ACCOUNT_TYPE)throw new Error(`Expected "${jt.EXTERNAL_ACCOUNT_TYPE}" type but received "${e.type}"`);let o=n.get("client_id"),s=n.get("client_secret");this.tokenUrl=n.get("token_url")??tN.replace("{universeDomain}",this.universeDomain);let i=n.get("subject_token_type"),a=n.get("workforce_pool_user_project"),u=n.get("service_account_impersonation_url"),d=n.get("service_account_impersonation"),f=(0,qE.originalOrCamelOptions)(d).get("token_lifetime_seconds");this.cloudResourceManagerURL=new URL(n.get("cloud_resource_manager_url")||`https://cloudresourcemanager.${this.universeDomain}/v1/projects/`),o&&(this.clientAuth={confidentialClientType:"basic",clientId:o,clientSecret:s}),this.stsCredential=new VF.StsCredentials({tokenExchangeEndpoint:this.tokenUrl,clientAuthentication:this.clientAuth}),this.scopes=n.get("scopes")||[Em],this.cachedAccessToken=null,this.audience=n.get("audience"),this.subjectTokenType=i,this.workforcePoolUserProject=a;let h=new RegExp(eN);if(this.workforcePoolUserProject&&!this.audience.match(h))throw new Error("workforcePoolUserProject should not be set for non-workforce pool credentials.");this.serviceAccountImpersonationUrl=u,this.serviceAccountImpersonationLifetime=f,this.serviceAccountImpersonationLifetime?this.configLifetimeRequested=!0:(this.configLifetimeRequested=!1,this.serviceAccountImpersonationLifetime=ZF),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(),n=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(n)}request(e,n){if(n)this.requestAsync(e).then(r=>n(null,r),r=>n(r,r.response));else return this.requestAsync(e)}async getProjectId(){let e=this.projectNumber||this.workforcePoolUserProject;if(this.projectId)return this.projectId;if(e){let n=await this.getRequestHeaders(),r={...t.RETRY_CONFIG,headers:n,url:`${this.cloudResourceManagerURL.toString()}${e}`,responseType:"json"};Sm.AuthClient.setMethodName(r,"getProjectId");let o=await this.transporter.request(r);return this.projectId=o.data.projectId,this.projectId}return null}async requestAsync(e,n=!1){let r;try{let o=await this.getRequestHeaders();e.headers=JF.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),r=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let i=s.status,a=s.config.data instanceof KF.Readable;if(!n&&(i===401||i===403)&&!a&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return r}async refreshAccessTokenAsync(){this.#e=this.#e||this.#t();try{return await this.#e}finally{this.#e=null}}async#t(){let e=await this.retrieveSubjectToken(),n={grantType:XF,audience:this.audience,requestedTokenType:QF,subjectToken:e,subjectTokenType:this.subjectTokenType,scope:this.serviceAccountImpersonationUrl?[Em]:this.getScopesArray()},r=!this.clientAuth&&this.workforcePoolUserProject?{userProject:this.workforcePoolUserProject}:void 0,o=new Headers({"x-goog-api-client":this.getMetricsHeaderValue()}),s=await this.stsCredential.exchangeToken(n,o,r);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 n=e.match(/\/projects\/([^/]+)/);return n?n[1]:null}async getImpersonatedAccessToken(e){let n={...t.RETRY_CONFIG,url:this.serviceAccountImpersonationUrl,method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${e}`},data:{scope:this.getScopesArray(),lifetime:this.serviceAccountImpersonationLifetime+"s"},responseType:"json"};Sm.AuthClient.setMethodName(n,"getImpersonatedAccessToken");let r=await this.transporter.request(n),o=r.data;return{access_token:o.accessToken,expiry_date:new Date(o.expireTime).getTime(),res:r}}isExpired(e){let n=new Date().getTime();return e.expiry_date?n>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}getScopesArray(){return typeof this.scopes=="string"?[this.scopes]:this.scopes||[Em]}getMetricsHeaderValue(){let e=process.version.replace(/^v/,""),n=this.serviceAccountImpersonationUrl!==void 0,r=this.credentialSourceType?this.credentialSourceType:"unknown";return`gl-node/${e} auth/${YF.pkg.version} google-byoid-sdk source/${r} sa-impersonation/${n} config-lifetime/${this.configLifetimeRequested}`}getTokenUrl(){return this.tokenUrl}};jt.BaseExternalAccountClient=Am});var $E=J(zu=>{"use strict";Object.defineProperty(zu,"__esModule",{value:!0});zu.FileSubjectTokenSupplier=void 0;var Tm=oe("util"),Rm=oe("fs"),nN=(0,Tm.promisify)(Rm.readFile??(()=>{})),rN=(0,Tm.promisify)(Rm.realpath??(()=>{})),oN=(0,Tm.promisify)(Rm.lstat??(()=>{})),vm=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 rN(e),!(await oN(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 n,r=await nN(e,{encoding:"utf8"});if(this.formatType==="text"?n=r:this.formatType==="json"&&this.subjectTokenFieldName&&(n=JSON.parse(r)[this.subjectTokenFieldName]),!n)throw new Error("Unable to parse the subject_token from the credential_source file");return n}};zu.FileSubjectTokenSupplier=vm});var zE=J(Hu=>{"use strict";Object.defineProperty(Hu,"__esModule",{value:!0});Hu.UrlSubjectTokenSupplier=void 0;var sN=Rt(),xm=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 n={...this.additionalGaxiosOptions,url:this.url,method:"GET",headers:this.headers,responseType:this.formatType};sN.AuthClient.setMethodName(n,"getSubjectToken");let r;if(this.formatType==="text"?r=(await e.transporter.request(n)).data:this.formatType==="json"&&this.subjectTokenFieldName&&(r=(await e.transporter.request(n)).data[this.subjectTokenFieldName]),!r)throw new Error("Unable to parse the subject_token from the credential_source URL");return r}};Hu.UrlSubjectTokenSupplier=xm});var HE=J(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.CertificateSubjectTokenSupplier=xt.InvalidConfigurationError=xt.CertificateSourceUnavailableError=xt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE=void 0;var Wu=Xt(),Gu=oe("fs"),Ju=oe("crypto"),iN=oe("https");xt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE="GOOGLE_API_CERTIFICATE_CONFIG";var kn=class extends Error{constructor(e){super(e),this.name="CertificateSourceUnavailableError"}};xt.CertificateSourceUnavailableError=kn;var Lt=class extends Error{constructor(e){super(e),this.name="InvalidConfigurationError"}};xt.InvalidConfigurationError=Lt;var Dm=class{certificateConfigPath;trustChainPath;cert;key;constructor(e){if(!e.useDefaultCertificateConfig&&!e.certificateConfigLocation)throw new Lt("Either `useDefaultCertificateConfig` must be true or a `certificateConfigLocation` must be provided.");if(e.useDefaultCertificateConfig&&e.certificateConfigLocation)throw new Lt("Both `useDefaultCertificateConfig` and `certificateConfigLocation` cannot be provided.");this.trustChainPath=e.trustChainPath,this.certificateConfigPath=e.certificateConfigLocation??""}async createMtlsHttpsAgent(){if(!this.key||!this.cert)throw new Lt("Cannot create mTLS Agent with missing certificate or key");return new iN.Agent({key:this.key,cert:this.cert})}async getSubjectToken(){this.certificateConfigPath=await this.#e();let{certPath:e,keyPath:n}=await this.#t();return{cert:this.cert,key:this.key}=await this.#n(e,n),await this.#r(this.cert)}async#e(){let e=this.certificateConfigPath;if(e){if(await(0,Wu.isValidFile)(e))return e;throw new kn(`Provided certificate config path is invalid: ${e}`)}let n=process.env[xt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE];if(n){if(await(0,Wu.isValidFile)(n))return n;throw new kn(`Path from environment variable "${xt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" is invalid: ${n}`)}let r=(0,Wu.getWellKnownCertificateConfigFileLocation)();if(await(0,Wu.isValidFile)(r))return r;throw new kn(`Could not find certificate configuration file. Searched override path, the "${xt.CERTIFICATE_CONFIGURATION_ENV_VARIABLE}" env var, and the gcloud path (${r}).`)}async#t(){let e=this.certificateConfigPath,n;try{n=await Gu.promises.readFile(e,"utf8")}catch{throw new kn(`Failed to read certificate config file at: ${e}`)}try{let r=JSON.parse(n),o=r?.cert_configs?.workload?.cert_path,s=r?.cert_configs?.workload?.key_path;if(!o||!s)throw new Lt(`Certificate config file (${e}) is missing required "cert_path" or "key_path" in the workload config.`);return{certPath:o,keyPath:s}}catch(r){throw r instanceof Lt?r:new Lt(`Failed to parse certificate config from ${e}: ${r.message}`)}}async#n(e,n){let r,o;try{r=await Gu.promises.readFile(e),new Ju.X509Certificate(r)}catch(s){let i=s instanceof Error?s.message:String(s);throw new kn(`Failed to read certificate file at ${e}: ${i}`)}try{o=await Gu.promises.readFile(n),(0,Ju.createPrivateKey)(o)}catch(s){let i=s instanceof Error?s.message:String(s);throw new kn(`Failed to read private key file at ${n}: ${i}`)}return{cert:r,key:o}}async#r(e){let n=new Ju.X509Certificate(e);if(!this.trustChainPath)return JSON.stringify([n.raw.toString("base64")]);try{let s=((await Gu.promises.readFile(this.trustChainPath,"utf8")).match(/-----BEGIN CERTIFICATE-----[^-]+-----END CERTIFICATE-----/g)??[]).map((u,d)=>{try{return new Ju.X509Certificate(u)}catch(f){let h=f instanceof Error?f.message:String(f);throw new Lt(`Failed to parse certificate at index ${d} in trust chain file ${this.trustChainPath}: ${h}`)}}),i=s.findIndex(u=>n.raw.equals(u.raw)),a;if(i===-1)a=[n,...s];else if(i===0)a=s;else throw new Lt(`Leaf certificate exists in the trust chain but is not the first entry (found at index ${i}).`);return JSON.stringify(a.map(u=>u.raw.toString("base64")))}catch(r){if(r instanceof Lt)throw r;let o=r instanceof Error?r.message:String(r);throw new kn(`Failed to process certificate chain from ${this.trustChainPath}: ${o}`)}}};xt.CertificateSubjectTokenSupplier=Dm});var Im=J(Ku=>{"use strict";Object.defineProperty(Ku,"__esModule",{value:!0});Ku.IdentityPoolClient=void 0;var aN=Dr(),Om=Xt(),cN=$E(),uN=zE(),WE=HE(),lN=$u(),GE=it(),Pm=class t extends aN.BaseExternalAccountClient{subjectTokenSupplier;constructor(e){super(e);let n=(0,Om.originalOrCamelOptions)(e),r=n.get("credential_source"),o=n.get("subject_token_supplier");if(!r&&!o)throw new Error("A credential source or subject token supplier must be specified.");if(r&&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,Om.originalOrCamelOptions)(r),i=(0,Om.originalOrCamelOptions)(s.get("format")),a=i.get("type")||"text",u=i.get("subject_token_field_name");if(a!=="json"&&a!=="text")throw new Error(`Invalid credential_source format "${a}"`);if(a==="json"&&!u)throw new Error("Missing subject_token_field_name for JSON credential_source format");let d=s.get("file"),f=s.get("url"),h=s.get("certificate"),p=s.get("headers");if(d&&f||f&&h||d&&h)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 cN.FileSubjectTokenSupplier({filePath:d,formatType:a,subjectTokenFieldName:u});else if(f)this.credentialSourceType="url",this.subjectTokenSupplier=new uN.UrlSubjectTokenSupplier({url:f,formatType:a,subjectTokenFieldName:u,headers:p,additionalGaxiosOptions:t.RETRY_CONFIG});else if(h){this.credentialSourceType="certificate";let b=new WE.CertificateSubjectTokenSupplier({useDefaultCertificateConfig:h.use_default_certificate_config,certificateConfigLocation:h.certificate_config_location,trustChainPath:h.trust_chain_path});this.subjectTokenSupplier=b}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 WE.CertificateSubjectTokenSupplier){let n=await this.subjectTokenSupplier.createMtlsHttpsAgent();this.stsCredential=new lN.StsCredentials({tokenExchangeEndpoint:this.getTokenUrl(),clientAuthentication:this.clientAuth,transporter:new GE.Gaxios({agent:n})}),this.transporter=new GE.Gaxios({...this.transporter.defaults||{},agent:n})}return e}};Ku.IdentityPoolClient=Pm});var Nm=J(Yu=>{"use strict";Object.defineProperty(Yu,"__esModule",{value:!0});Yu.AwsRequestSigner=void 0;var Vu=it(),KE=Di(),JE="AWS4-HMAC-SHA256",dN="aws4_request",Fm=class{getCredentials;region;crypto;constructor(e,n){this.getCredentials=e,this.region=n,this.crypto=(0,KE.createCrypto)()}async getRequestOptions(e){if(!e.url)throw new RangeError('"url" is required in "amzOptions"');let n=typeof e.data=="object"?JSON.stringify(e.data):e.data,r=e.url,o=e.method||"GET",s=e.body||n,i=e.headers,a=await this.getCredentials(),u=new URL(r);if(typeof s!="string"&&s!==void 0)throw new TypeError(`'requestPayload' is expected to be a string if provided. Got: ${s}`);let d=await pN({crypto:this.crypto,host:u.host,canonicalUri:u.pathname,canonicalQuerystring:u.search.slice(1),method:o,region:this.region,securityCredentials:a,requestPayload:s,additionalAmzHeaders:i}),f=Vu.Gaxios.mergeHeaders(d.amzDate?{"x-amz-date":d.amzDate}:{},{authorization:d.authorizationHeader,host:u.host},i||{});a.token&&Vu.Gaxios.mergeHeaders(f,{"x-amz-security-token":a.token});let h={url:r,method:o,headers:f};return s!==void 0&&(h.body=s),h}};Yu.AwsRequestSigner=Fm;async function Bi(t,e,n){return await t.signWithHmacSha256(e,n)}async function fN(t,e,n,r,o){let s=await Bi(t,`AWS4${e}`,n),i=await Bi(t,s,r),a=await Bi(t,i,o);return await Bi(t,a,"aws4_request")}async function pN(t){let e=Vu.Gaxios.mergeHeaders(t.additionalAmzHeaders),n=t.requestPayload||"",r=t.host.split(".")[0],o=new Date,s=o.toISOString().replace(/[-:]/g,"").replace(/\.[0-9]+/,""),i=o.toISOString().replace(/[-]/g,"").replace(/T.*/,"");t.securityCredentials.token&&e.set("x-amz-security-token",t.securityCredentials.token);let a=Vu.Gaxios.mergeHeaders({host:t.host},e.has("date")?{}:{"x-amz-date":s},e),u="",d=[...a.keys()].sort();d.forEach(A=>{u+=`${A}:${a.get(A)}
|
|
82
|
+
`});let f=d.join(";"),h=await t.crypto.sha256DigestHex(n),p=`${t.method.toUpperCase()}
|
|
83
83
|
${t.canonicalUri}
|
|
84
84
|
${t.canonicalQuerystring}
|
|
85
85
|
${u}
|
|
86
|
-
${
|
|
87
|
-
${
|
|
86
|
+
${f}
|
|
87
|
+
${h}`,b=`${i}/${t.region}/${r}/${dN}`,C=`${JE}
|
|
88
88
|
${s}
|
|
89
|
-
${
|
|
90
|
-
`+await t.crypto.sha256DigestHex(h),y=await gF(t.crypto,t.securityCredentials.secretAccessKey,i,t.region,r),w=await xi(t.crypto,y,b),C=`${aE} Credential=${t.securityCredentials.accessKeyId}/${_}, SignedHeaders=${d}, Signature=${(0,cE.fromArrayBufferToHex)(w)}`;return{amzDate:e.has("date")?void 0:s,authorizationHeader:C,canonicalQuerystring:t.canonicalQuerystring}}});var uE=J(Ou=>{"use strict";Object.defineProperty(Ou,"__esModule",{value:!0});Ou.DefaultAwsSecurityCredentialsSupplier=void 0;var Du=At(),om=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.#r)return this.#r;let n=new Headers;if(!this.#r&&this.imdsV2SessionTokenUrl&&n.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 r={...this.additionalGaxiosOptions,url:this.regionUrl,method:"GET",responseType:"text",headers:n};Du.AuthClient.setMethodName(r,"getAwsRegion");let o=await e.transporter.request(r);return o.data.substr(0,o.data.length-1)}async getAwsSecurityCredentials(e){if(this.#o)return this.#o;let n=new Headers;this.imdsV2SessionTokenUrl&&n.set("x-aws-ec2-metadata-token",await this.#e(e.transporter));let r=await this.#t(n,e.transporter),o=await this.#n(r,n,e.transporter);return{accessKeyId:o.AccessKeyId,secretAccessKey:o.SecretAccessKey,token:o.Token}}async#e(e){let n={...this.additionalGaxiosOptions,url:this.imdsV2SessionTokenUrl,method:"PUT",responseType:"text",headers:{"x-aws-ec2-metadata-token-ttl-seconds":"300"}};return Du.AuthClient.setMethodName(n,"#getImdsV2SessionToken"),(await e.request(n)).data}async#t(e,n){if(!this.securityCredentialsUrl)throw new Error('Unable to determine AWS role name due to missing "options.credential_source.url"');let r={...this.additionalGaxiosOptions,url:this.securityCredentialsUrl,method:"GET",responseType:"text",headers:e};return Du.AuthClient.setMethodName(r,"#getAwsRoleName"),(await n.request(r)).data}async#n(e,n,r){let o={...this.additionalGaxiosOptions,url:`${this.securityCredentialsUrl}/${e}`,headers:n,responseType:"json"};return Du.AuthClient.setMethodName(o,"#retrieveAwsSecurityCredentials"),(await r.request(o)).data}get#r(){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}};Ou.DefaultAwsSecurityCredentialsSupplier=om});var im=J(Pu=>{"use strict";Object.defineProperty(Pu,"__esModule",{value:!0});Pu.AwsClient=void 0;var _F=rm(),bF=vr(),CF=uE(),lE=Kt(),wF=it(),sm=class t extends bF.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 n=(0,lE.originalOrCamelOptions)(e),r=n.get("credential_source"),o=n.get("aws_security_credentials_supplier");if(!r&&!o)throw new Error("A credential source or AWS security credentials supplier must be specified.");if(r&&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,lE.originalOrCamelOptions)(r);this.environmentId=s.get("environment_id");let i=s.get("region_url"),c=s.get("url"),u=s.get("imdsv2_session_token_url");this.awsSecurityCredentialsSupplier=new CF.DefaultAwsSecurityCredentialsSupplier({regionUrl:i,securityCredentialsUrl:c,imdsV2SessionTokenUrl:u}),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 _F.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"}),n=[];return wF.Gaxios.mergeHeaders({"x-goog-cloud-target-resource":this.audience},e.headers).forEach((o,s)=>n.push({key:s,value:o})),encodeURIComponent(JSON.stringify({url:e.url,method:e.method,headers:n}))}};Pu.AwsClient=sm});var dm=J(Ye=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0});Ye.InvalidSubjectTokenError=Ye.InvalidMessageFieldError=Ye.InvalidCodeFieldError=Ye.InvalidTokenTypeFieldError=Ye.InvalidExpirationTimeFieldError=Ye.InvalidSuccessFieldError=Ye.InvalidVersionFieldError=Ye.ExecutableResponseError=Ye.ExecutableResponse=void 0;var Iu="urn:ietf:params:oauth:token-type:saml2",am="urn:ietf:params:oauth:token-type:id_token",cm="urn:ietf:params:oauth:token-type:jwt",um=class{version;success;expirationTime;tokenType;errorCode;errorMessage;subjectToken;constructor(e){if(!e.version)throw new Fu("Executable response must contain a 'version' field.");if(e.success===void 0)throw new Nu("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!==Iu&&this.tokenType!==am&&this.tokenType!==cm)throw new Mu(`Executable response must contain a 'token_type' field when successful and it must be one of ${am}, ${cm}, or ${Iu}.`);if(this.tokenType===Iu){if(!e.saml_response)throw new Di(`Executable response must contain a 'saml_response' field when token_type=${Iu}.`);this.subjectToken=e.saml_response}else{if(!e.id_token)throw new Di(`Executable response must contain a 'id_token' field when token_type=${am} or ${cm}.`);this.subjectToken=e.id_token}}else{if(!e.code)throw new Bu("Executable response must contain a 'code' field when unsuccessful.");if(!e.message)throw new Uu("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)}};Ye.ExecutableResponse=um;var bn=class extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}};Ye.ExecutableResponseError=bn;var Fu=class extends bn{};Ye.InvalidVersionFieldError=Fu;var Nu=class extends bn{};Ye.InvalidSuccessFieldError=Nu;var lm=class extends bn{};Ye.InvalidExpirationTimeFieldError=lm;var Mu=class extends bn{};Ye.InvalidTokenTypeFieldError=Mu;var Bu=class extends bn{};Ye.InvalidCodeFieldError=Bu;var Uu=class extends bn{};Ye.InvalidMessageFieldError=Uu;var Di=class extends bn{};Ye.InvalidSubjectTokenError=Di});var hm=J(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});ns.PluggableAuthHandler=ns.ExecutableError=void 0;var no=dm(),kF=oe("child_process"),fm=oe("fs"),ju=class extends Error{code;constructor(e,n){super(`The executable failed with exit code: ${n} and error message: ${e}.`),this.code=n,Object.setPrototypeOf(this,new.target.prototype)}};ns.ExecutableError=ju;var pm=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((n,r)=>{let o=kF.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 i=setTimeout(()=>(o.removeAllListeners(),o.kill(),r(new Error("The executable failed to finish within the timeout specified."))),this.timeoutMillis);o.on("close",c=>{if(clearTimeout(i),c===0)try{let u=JSON.parse(s),f=new no.ExecutableResponse(u);return n(f)}catch(u){return u instanceof no.ExecutableResponseError?r(u):r(new no.ExecutableResponseError(`The executable returned an invalid response: ${s}`))}else return r(new ju(s,c.toString()))})})}async retrieveCachedResponse(){if(!this.outputFile||this.outputFile.length===0)return;let e;try{e=await fm.promises.realpath(this.outputFile)}catch{return}if(!(await fm.promises.lstat(e)).isFile())return;let n=await fm.promises.readFile(e,{encoding:"utf8"});if(n!=="")try{let r=JSON.parse(n);return new no.ExecutableResponse(r).isValid()?new no.ExecutableResponse(r):void 0}catch(r){throw r instanceof no.ExecutableResponseError?r:new no.ExecutableResponseError(`The output file contained an invalid response: ${n}`)}}static parseCommand(e){let n=e.match(/(?:[^\s"]+|"[^"]*")+/g);if(!n)throw new Error(`Provided command: "${e}" could not be parsed.`);for(let r=0;r<n.length;r++)n[r][0]==='"'&&n[r].slice(-1)==='"'&&(n[r]=n[r].slice(1,-1));return n}};ns.PluggableAuthHandler=pm});var gm=J(rs=>{"use strict";Object.defineProperty(rs,"__esModule",{value:!0});rs.PluggableAuthClient=rs.ExecutableError=void 0;var SF=vr(),EF=dm(),dE=hm(),vF=hm();Object.defineProperty(rs,"ExecutableError",{enumerable:!0,get:function(){return vF.ExecutableError}});var AF=30*1e3,fE=5*1e3,pE=120*1e3,TF="GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES",hE=1,mm=class extends SF.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=AF;else if(this.timeoutMillis=e.credential_source.executable.timeout_millis,this.timeoutMillis<fE||this.timeoutMillis>pE)throw new Error(`Timeout must be between ${fE} and ${pE} milliseconds.`);this.outputFile=e.credential_source.executable.output_file,this.handler=new dE.PluggableAuthHandler({command:this.command,timeoutMillis:this.timeoutMillis,outputFile:this.outputFile}),this.credentialSourceType="executable"}async retrieveSubjectToken(){if(process.env[TF]!=="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 n=new Map;n.set("GOOGLE_EXTERNAL_ACCOUNT_AUDIENCE",this.audience),n.set("GOOGLE_EXTERNAL_ACCOUNT_TOKEN_TYPE",this.subjectTokenType),n.set("GOOGLE_EXTERNAL_ACCOUNT_INTERACTIVE","0"),this.outputFile&&n.set("GOOGLE_EXTERNAL_ACCOUNT_OUTPUT_FILE",this.outputFile);let r=this.getServiceAccountEmail();r&&n.set("GOOGLE_EXTERNAL_ACCOUNT_IMPERSONATED_EMAIL",r),e=await this.handler.retrieveResponseFromExecutable(n)}if(e.version>hE)throw new Error(`Version of executable is not currently supported, maximum supported version is ${hE}.`);if(!e.success)throw new dE.ExecutableError(e.errorMessage,e.errorCode);if(this.outputFile&&!e.expirationTime)throw new EF.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}};rs.PluggableAuthClient=mm});var _m=J(Lu=>{"use strict";Object.defineProperty(Lu,"__esModule",{value:!0});Lu.ExternalAccountClient=void 0;var RF=vr(),xF=tm(),DF=im(),OF=gm(),ym=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 e&&e.type===RF.EXTERNAL_ACCOUNT_TYPE?e.credential_source?.environment_id?new DF.AwsClient(e):e.credential_source?.executable?new OF.PluggableAuthClient(e):new xF.IdentityPoolClient(e):null}};Lu.ExternalAccountClient=ym});var wm=J(os=>{"use strict";Object.defineProperty(os,"__esModule",{value:!0});os.ExternalAccountAuthorizedUserClient=os.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=void 0;var gE=At(),mE=zh(),yE=it(),PF=oe("stream"),IF=vr();os.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE="external_account_authorized_user";var FF="https://sts.{universeDomain}/v1/oauthtoken",bm=class t extends mE.OAuthClientAuthHandler{#e;constructor(e){super(e),this.#e=e.tokenRefreshEndpoint}async refreshToken(e,n){let r={...t.RETRY_CONFIG,url:this.#e,method:"POST",headers:n,data:new URLSearchParams({grant_type:"refresh_token",refresh_token:e}),responseType:"json"};gE.AuthClient.setMethodName(r,"refreshToken"),this.applyClientAuthenticationOptions(r);try{let o=await this.transporter.request(r),s=o.data;return s.res=o,s}catch(o){throw o instanceof yE.GaxiosError&&o.response?(0,mE.getErrorFromOAuthErrorResponse)(o.response.data,o):o}}},Cm=class extends gE.AuthClient{cachedAccessToken;externalAccountAuthorizedUserHandler;refreshToken;constructor(e){super(e),e.universe_domain&&(this.universeDomain=e.universe_domain),this.refreshToken=e.refresh_token;let n={confidentialClientType:"basic",clientId:e.client_id,clientSecret:e.client_secret};this.externalAccountAuthorizedUserHandler=new bm({tokenRefreshEndpoint:e.token_url??FF.replace("{universeDomain}",this.universeDomain),transporter:this.transporter,clientAuthentication:n}),this.cachedAccessToken=null,this.quotaProjectId=e.quota_project_id,typeof e?.eagerRefreshThresholdMillis!="number"?this.eagerRefreshThresholdMillis=IF.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(),n=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(n)}request(e,n){if(n)this.requestAsync(e).then(r=>n(null,r),r=>n(r,r.response));else return this.requestAsync(e)}async requestAsync(e,n=!1){let r;try{let o=await this.getRequestHeaders();e.headers=yE.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),r=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let i=s.status,c=s.config.data instanceof PF.Readable;if(!n&&(i===401||i===403)&&!c&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return r}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 n=new Date().getTime();return e.expiry_date?n>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}};os.ExternalAccountAuthorizedUserClient=Cm});var Sm=J(Ar=>{"use strict";Object.defineProperty(Ar,"__esModule",{value:!0});Ar.GdchClient=Ar.GDCH_SERVICE_ACCOUNT_TYPE=void 0;var NF=oe("crypto"),MF=oe("fs"),BF=oe("https"),UF=kr(),jF=3600;Ar.GDCH_SERVICE_ACCOUNT_TYPE="gdch_service_account";var km=class t extends UF.OAuth2Client{projectId;privateKeyId;privateKey;serviceIdentityName;tokenServerUri;caCertPath;apiAudience;lifetime;gdchOptions;caAgentPromise;cachedCaCertPath;lastCaCertReadTime=0;CA_CERT_TTL_MS=300*1e3;constructor(e={}){super(e),this.gdchOptions=e,this.projectId=e.projectId||void 0,this.privateKeyId=e.privateKeyId,this.privateKey=e.privateKey,this.serviceIdentityName=e.serviceIdentityName,this.tokenServerUri=e.tokenServerUri,this.caCertPath=e.caCertPath,this.apiAudience=e.apiAudience,this.lifetime=e.lifetime||jF,this.credentials={refresh_token:"gdch-placeholder",expiry_date:1}}createWithGdchAudience(e){if(!e)throw new Error("Audience cannot be null or empty for GDCH service account credentials.");return new t({...this.gdchOptions,projectId:this.projectId,privateKeyId:this.privateKeyId,privateKey:this.privateKey,serviceIdentityName:this.serviceIdentityName,tokenServerUri:this.tokenServerUri,caCertPath:this.caCertPath,lifetime:this.lifetime,apiAudience:e})}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the GDCH credentials settings.");if(e.type!==Ar.GDCH_SERVICE_ACCOUNT_TYPE)throw new Error(`The incoming JSON object does not have the "${Ar.GDCH_SERVICE_ACCOUNT_TYPE}" type`);if(e.format_version!=="1")throw new Error("Only format version 1 is supported.");if(!e.project)throw new Error("The incoming JSON object does not contain a project field");if(!e.private_key_id)throw new Error("The incoming JSON object does not contain a private_key_id field");if(!e.private_key)throw new Error("The incoming JSON object does not contain a private_key field");if(!e.name)throw new Error("The incoming JSON object does not contain a name field");if(!e.token_uri)throw new Error("The incoming JSON object does not contain a token_uri field");this.projectId=e.project,this.privateKeyId=e.private_key_id,this.privateKey=e.private_key,this.serviceIdentityName=e.name,this.tokenServerUri=e.token_uri,this.caCertPath=e.ca_cert_path,this.gdchOptions={...this.gdchOptions,projectId:e.project,privateKeyId:e.private_key_id,privateKey:e.private_key,serviceIdentityName:e.name,tokenServerUri:e.token_uri,caCertPath:e.ca_cert_path}}async refreshTokenNoCache(){if(!this.apiAudience)throw new Error("Audience cannot be null or empty for GDCH service account credentials. Specify the audience by calling createWithGdchAudience.");if(!this.privateKey)throw new Error("Private key is not configured for GDCH credentials.");if(!this.privateKeyId)throw new Error("Private key ID is not configured for GDCH credentials.");if(!this.projectId)throw new Error("Project is not configured for GDCH credentials.");if(!this.serviceIdentityName)throw new Error("Service identity name is not configured for GDCH credentials.");if(!this.tokenServerUri)throw new Error("Token server URI is not configured for GDCH credentials.");let e=this.createAssertion(),n={audience:this.apiAudience,grant_type:"urn:ietf:params:oauth:token-type:token-exchange",requested_token_type:"urn:ietf:params:oauth:token-type:access_token",subject_token:e,subject_token_type:"urn:k8s:params:oauth:token-type:serviceaccount"},r={url:this.tokenServerUri,method:"POST",headers:{"Content-Type":"application/json"},data:n,responseType:"json",timeout:1e4,retry:!0,retryConfig:{httpMethodsToRetry:["POST"],statusCodesToRetry:[[500,599]],noResponseRetries:3}};this.caCertPath&&(r.agent=await this.getCaAgent());try{let o=await this.transporter.request(r),s=o.data;if(!s.access_token)throw new Error("Token response did not contain an access_token.");if(!s.expires_in)throw new Error("Token response did not contain an expires_in field.");let i={access_token:s.access_token,token_type:"STS-Bearer",expiry_date:Date.now()+s.expires_in*1e3};return this.emit("tokens",i),{res:o,tokens:i}}catch(o){if(o&&o.config&&o.config.data)try{if(typeof o.config.data=="string"){let s=JSON.parse(o.config.data);s.subject_token&&(s.subject_token="***REDACTED***",o.config.data=JSON.stringify(s))}else typeof o.config.data=="object"&&o.config.data.subject_token&&(o.config.data.subject_token="***REDACTED***")}catch{}throw o instanceof Error&&(o.message=`Error getting access token for GDCH service account: ${o.message}, iss: ${this.serviceIdentityName}`),o}}createAssertion(){let e={alg:"ES256",typ:"JWT",kid:this.privateKeyId},n=`system:serviceaccount:${this.projectId}:${this.serviceIdentityName}`,r=Math.floor(Date.now()/1e3),o={iss:n,sub:n,iat:r,exp:r+this.lifetime,aud:this.tokenServerUri},s=this.base64UrlEncode(JSON.stringify(e)),i=this.base64UrlEncode(JSON.stringify(o)),c=`${s}.${i}`,u=NF.sign("sha256",Buffer.from(c),{key:this.privateKey,dsaEncoding:"ieee-p1363"}),f=this.base64UrlEncode(u);return`${c}.${f}`}async requestAsync(e,n=!1){if(this.caCertPath&&!e.agent){let r=(e.url||"").toString();!r.includes("googleapis.com")&&!r.includes("google.com")&&(e.agent=await this.getCaAgent())}return super.requestAsync(e,n)}getCaAgent(){if(!this.caCertPath){this.caAgentPromise=void 0,this.cachedCaCertPath=void 0,this.lastCaCertReadTime=0;return}let e=Date.now(),n=e-this.lastCaCertReadTime>this.CA_CERT_TTL_MS;if(this.caAgentPromise&&this.caCertPath===this.cachedCaCertPath&&!n)return this.caAgentPromise;this.cachedCaCertPath=this.caCertPath,this.lastCaCertReadTime=e;let r=this.caCertPath;return this.caAgentPromise=(async()=>{try{let o=await MF.promises.readFile(r);return new BF.Agent({ca:o})}catch(o){throw this.cachedCaCertPath===r&&(this.caAgentPromise=void 0,this.cachedCaCertPath=void 0,this.lastCaCertReadTime=0),o instanceof Error&&(o.message=`Error reading certificate file from CA cert path, value '${r}': ${o.message}`),o}})(),this.caAgentPromise}toJSON(){return{...this,privateKey:this.privateKey?"***REDACTED***":void 0,_clientSecret:this._clientSecret?"***REDACTED***":void 0,apiKey:this.apiKey?"***REDACTED***":void 0,gdchOptions:this.gdchOptions?{...this.gdchOptions,privateKey:this.gdchOptions.privateKey?"***REDACTED***":void 0,clientSecret:this.gdchOptions.clientSecret?"***REDACTED***":void 0,client_secret:this.gdchOptions.client_secret?"***REDACTED***":void 0,apiKey:this.gdchOptions.apiKey?"***REDACTED***":void 0,credentials:this.gdchOptions.credentials?{...this.gdchOptions.credentials,access_token:this.gdchOptions.credentials.access_token?"***REDACTED***":void 0,refresh_token:this.gdchOptions.credentials.refresh_token?"***REDACTED***":void 0}:void 0}:void 0,credentials:{...this.credentials,access_token:this.credentials?.access_token?"***REDACTED***":void 0,refresh_token:this.credentials?.refresh_token?"***REDACTED***":void 0}}}[Symbol.for("nodejs.util.inspect.custom")](){return this.toJSON()}base64UrlEncode(e){return(typeof e=="string"?Buffer.from(e):e).toString("base64url")}};Ar.GdchClient=km});var wE=J(Qt=>{"use strict";Object.defineProperty(Qt,"__esModule",{value:!0});Qt.GoogleAuth=Qt.GoogleAuthExceptionMessages=void 0;var LF=oe("child_process"),Oi=oe("fs"),qF=it(),Pi=wi(),$F=oe("os"),qu=oe("path"),zF=ki(),HF=uh(),WF=dh(),GF=fh(),ss=Bh(),_E=jh(),is=qh(),JF=_m(),Ii=vr(),Em=At(),bE=wm(),vm=Sm(),CE=Kt();Qt.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.
|
|
89
|
+
${b}
|
|
90
|
+
`+await t.crypto.sha256DigestHex(p),m=await fN(t.crypto,t.securityCredentials.secretAccessKey,i,t.region,r),w=await Bi(t.crypto,m,C),_=`${JE} Credential=${t.securityCredentials.accessKeyId}/${b}, SignedHeaders=${f}, Signature=${(0,KE.fromArrayBufferToHex)(w)}`;return{amzDate:e.has("date")?void 0:s,authorizationHeader:_,canonicalQuerystring:t.canonicalQuerystring}}});var VE=J(Qu=>{"use strict";Object.defineProperty(Qu,"__esModule",{value:!0});Qu.DefaultAwsSecurityCredentialsSupplier=void 0;var Xu=Rt(),Mm=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.#r)return this.#r;let n=new Headers;if(!this.#r&&this.imdsV2SessionTokenUrl&&n.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 r={...this.additionalGaxiosOptions,url:this.regionUrl,method:"GET",responseType:"text",headers:n};Xu.AuthClient.setMethodName(r,"getAwsRegion");let o=await e.transporter.request(r);return o.data.substr(0,o.data.length-1)}async getAwsSecurityCredentials(e){if(this.#o)return this.#o;let n=new Headers;this.imdsV2SessionTokenUrl&&n.set("x-aws-ec2-metadata-token",await this.#e(e.transporter));let r=await this.#t(n,e.transporter),o=await this.#n(r,n,e.transporter);return{accessKeyId:o.AccessKeyId,secretAccessKey:o.SecretAccessKey,token:o.Token}}async#e(e){let n={...this.additionalGaxiosOptions,url:this.imdsV2SessionTokenUrl,method:"PUT",responseType:"text",headers:{"x-aws-ec2-metadata-token-ttl-seconds":"300"}};return Xu.AuthClient.setMethodName(n,"#getImdsV2SessionToken"),(await e.request(n)).data}async#t(e,n){if(!this.securityCredentialsUrl)throw new Error('Unable to determine AWS role name due to missing "options.credential_source.url"');let r={...this.additionalGaxiosOptions,url:this.securityCredentialsUrl,method:"GET",responseType:"text",headers:e};return Xu.AuthClient.setMethodName(r,"#getAwsRoleName"),(await n.request(r)).data}async#n(e,n,r){let o={...this.additionalGaxiosOptions,url:`${this.securityCredentialsUrl}/${e}`,headers:n,responseType:"json"};return Xu.AuthClient.setMethodName(o,"#retrieveAwsSecurityCredentials"),(await r.request(o)).data}get#r(){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}};Qu.DefaultAwsSecurityCredentialsSupplier=Mm});var Um=J(Zu=>{"use strict";Object.defineProperty(Zu,"__esModule",{value:!0});Zu.AwsClient=void 0;var hN=Nm(),mN=Dr(),gN=VE(),YE=Xt(),yN=it(),Bm=class t extends mN.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 n=(0,YE.originalOrCamelOptions)(e),r=n.get("credential_source"),o=n.get("aws_security_credentials_supplier");if(!r&&!o)throw new Error("A credential source or AWS security credentials supplier must be specified.");if(r&&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,YE.originalOrCamelOptions)(r);this.environmentId=s.get("environment_id");let i=s.get("region_url"),a=s.get("url"),u=s.get("imdsv2_session_token_url");this.awsSecurityCredentialsSupplier=new gN.DefaultAwsSecurityCredentialsSupplier({regionUrl:i,securityCredentialsUrl:a,imdsV2SessionTokenUrl:u}),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 hN.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"}),n=[];return yN.Gaxios.mergeHeaders({"x-goog-cloud-target-resource":this.audience},e.headers).forEach((o,s)=>n.push({key:s,value:o})),encodeURIComponent(JSON.stringify({url:e.url,method:e.method,headers:n}))}};Zu.AwsClient=Bm});var zm=J(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.InvalidSubjectTokenError=Xe.InvalidMessageFieldError=Xe.InvalidCodeFieldError=Xe.InvalidTokenTypeFieldError=Xe.InvalidExpirationTimeFieldError=Xe.InvalidSuccessFieldError=Xe.InvalidVersionFieldError=Xe.ExecutableResponseError=Xe.ExecutableResponse=void 0;var el="urn:ietf:params:oauth:token-type:saml2",jm="urn:ietf:params:oauth:token-type:id_token",Lm="urn:ietf:params:oauth:token-type:jwt",qm=class{version;success;expirationTime;tokenType;errorCode;errorMessage;subjectToken;constructor(e){if(!e.version)throw new tl("Executable response must contain a 'version' field.");if(e.success===void 0)throw new nl("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!==el&&this.tokenType!==jm&&this.tokenType!==Lm)throw new rl(`Executable response must contain a 'token_type' field when successful and it must be one of ${jm}, ${Lm}, or ${el}.`);if(this.tokenType===el){if(!e.saml_response)throw new Ui(`Executable response must contain a 'saml_response' field when token_type=${el}.`);this.subjectToken=e.saml_response}else{if(!e.id_token)throw new Ui(`Executable response must contain a 'id_token' field when token_type=${jm} or ${Lm}.`);this.subjectToken=e.id_token}}else{if(!e.code)throw new ol("Executable response must contain a 'code' field when unsuccessful.");if(!e.message)throw new sl("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)}};Xe.ExecutableResponse=qm;var Sn=class extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}};Xe.ExecutableResponseError=Sn;var tl=class extends Sn{};Xe.InvalidVersionFieldError=tl;var nl=class extends Sn{};Xe.InvalidSuccessFieldError=nl;var $m=class extends Sn{};Xe.InvalidExpirationTimeFieldError=$m;var rl=class extends Sn{};Xe.InvalidTokenTypeFieldError=rl;var ol=class extends Sn{};Xe.InvalidCodeFieldError=ol;var sl=class extends Sn{};Xe.InvalidMessageFieldError=sl;var Ui=class extends Sn{};Xe.InvalidSubjectTokenError=Ui});var Gm=J(fs=>{"use strict";Object.defineProperty(fs,"__esModule",{value:!0});fs.PluggableAuthHandler=fs.ExecutableError=void 0;var uo=zm(),_N=oe("child_process"),Hm=oe("fs"),il=class extends Error{code;constructor(e,n){super(`The executable failed with exit code: ${n} and error message: ${e}.`),this.code=n,Object.setPrototypeOf(this,new.target.prototype)}};fs.ExecutableError=il;var Wm=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((n,r)=>{let o=_N.spawn(this.commandComponents[0],this.commandComponents.slice(1),{env:{...process.env,...Object.fromEntries(e)}}),s="";o.stdout.on("data",a=>{s+=a}),o.stderr.on("data",a=>{s+=a});let i=setTimeout(()=>(o.removeAllListeners(),o.kill(),r(new Error("The executable failed to finish within the timeout specified."))),this.timeoutMillis);o.on("close",a=>{if(clearTimeout(i),a===0)try{let u=JSON.parse(s),d=new uo.ExecutableResponse(u);return n(d)}catch(u){return u instanceof uo.ExecutableResponseError?r(u):r(new uo.ExecutableResponseError(`The executable returned an invalid response: ${s}`))}else return r(new il(s,a.toString()))})})}async retrieveCachedResponse(){if(!this.outputFile||this.outputFile.length===0)return;let e;try{e=await Hm.promises.realpath(this.outputFile)}catch{return}if(!(await Hm.promises.lstat(e)).isFile())return;let n=await Hm.promises.readFile(e,{encoding:"utf8"});if(n!=="")try{let r=JSON.parse(n);return new uo.ExecutableResponse(r).isValid()?new uo.ExecutableResponse(r):void 0}catch(r){throw r instanceof uo.ExecutableResponseError?r:new uo.ExecutableResponseError(`The output file contained an invalid response: ${n}`)}}static parseCommand(e){let n=e.match(/(?:[^\s"]+|"[^"]*")+/g);if(!n)throw new Error(`Provided command: "${e}" could not be parsed.`);for(let r=0;r<n.length;r++)n[r][0]==='"'&&n[r].slice(-1)==='"'&&(n[r]=n[r].slice(1,-1));return n}};fs.PluggableAuthHandler=Wm});var Km=J(ps=>{"use strict";Object.defineProperty(ps,"__esModule",{value:!0});ps.PluggableAuthClient=ps.ExecutableError=void 0;var bN=Dr(),CN=zm(),XE=Gm(),wN=Gm();Object.defineProperty(ps,"ExecutableError",{enumerable:!0,get:function(){return wN.ExecutableError}});var kN=30*1e3,QE=5*1e3,ZE=120*1e3,SN="GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES",eA=1,Jm=class extends bN.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=kN;else if(this.timeoutMillis=e.credential_source.executable.timeout_millis,this.timeoutMillis<QE||this.timeoutMillis>ZE)throw new Error(`Timeout must be between ${QE} and ${ZE} milliseconds.`);this.outputFile=e.credential_source.executable.output_file,this.handler=new XE.PluggableAuthHandler({command:this.command,timeoutMillis:this.timeoutMillis,outputFile:this.outputFile}),this.credentialSourceType="executable"}async retrieveSubjectToken(){if(process.env[SN]!=="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 n=new Map;n.set("GOOGLE_EXTERNAL_ACCOUNT_AUDIENCE",this.audience),n.set("GOOGLE_EXTERNAL_ACCOUNT_TOKEN_TYPE",this.subjectTokenType),n.set("GOOGLE_EXTERNAL_ACCOUNT_INTERACTIVE","0"),this.outputFile&&n.set("GOOGLE_EXTERNAL_ACCOUNT_OUTPUT_FILE",this.outputFile);let r=this.getServiceAccountEmail();r&&n.set("GOOGLE_EXTERNAL_ACCOUNT_IMPERSONATED_EMAIL",r),e=await this.handler.retrieveResponseFromExecutable(n)}if(e.version>eA)throw new Error(`Version of executable is not currently supported, maximum supported version is ${eA}.`);if(!e.success)throw new XE.ExecutableError(e.errorMessage,e.errorCode);if(this.outputFile&&!e.expirationTime)throw new CN.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}};ps.PluggableAuthClient=Jm});var Ym=J(al=>{"use strict";Object.defineProperty(al,"__esModule",{value:!0});al.ExternalAccountClient=void 0;var EN=Dr(),AN=Im(),vN=Um(),TN=Km(),Vm=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 e&&e.type===EN.EXTERNAL_ACCOUNT_TYPE?e.credential_source?.environment_id?new vN.AwsClient(e):e.credential_source?.executable?new TN.PluggableAuthClient(e):new AN.IdentityPoolClient(e):null}};al.ExternalAccountClient=Vm});var Zm=J(hs=>{"use strict";Object.defineProperty(hs,"__esModule",{value:!0});hs.ExternalAccountAuthorizedUserClient=hs.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=void 0;var nA=Rt(),tA=wm(),rA=it(),RN=oe("stream"),xN=Dr();hs.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE="external_account_authorized_user";var DN="https://sts.{universeDomain}/v1/oauthtoken",Xm=class t extends tA.OAuthClientAuthHandler{#e;constructor(e){super(e),this.#e=e.tokenRefreshEndpoint}async refreshToken(e,n){let r={...t.RETRY_CONFIG,url:this.#e,method:"POST",headers:n,data:new URLSearchParams({grant_type:"refresh_token",refresh_token:e}),responseType:"json"};nA.AuthClient.setMethodName(r,"refreshToken"),this.applyClientAuthenticationOptions(r);try{let o=await this.transporter.request(r),s=o.data;return s.res=o,s}catch(o){throw o instanceof rA.GaxiosError&&o.response?(0,tA.getErrorFromOAuthErrorResponse)(o.response.data,o):o}}},Qm=class extends nA.AuthClient{cachedAccessToken;externalAccountAuthorizedUserHandler;refreshToken;constructor(e){super(e),e.universe_domain&&(this.universeDomain=e.universe_domain),this.refreshToken=e.refresh_token;let n={confidentialClientType:"basic",clientId:e.client_id,clientSecret:e.client_secret};this.externalAccountAuthorizedUserHandler=new Xm({tokenRefreshEndpoint:e.token_url??DN.replace("{universeDomain}",this.universeDomain),transporter:this.transporter,clientAuthentication:n}),this.cachedAccessToken=null,this.quotaProjectId=e.quota_project_id,typeof e?.eagerRefreshThresholdMillis!="number"?this.eagerRefreshThresholdMillis=xN.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(),n=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(n)}request(e,n){if(n)this.requestAsync(e).then(r=>n(null,r),r=>n(r,r.response));else return this.requestAsync(e)}async requestAsync(e,n=!1){let r;try{let o=await this.getRequestHeaders();e.headers=rA.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),r=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let i=s.status,a=s.config.data instanceof RN.Readable;if(!n&&(i===401||i===403)&&!a&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return r}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 n=new Date().getTime();return e.expiry_date?n>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}};hs.ExternalAccountAuthorizedUserClient=Qm});var tg=J(Or=>{"use strict";Object.defineProperty(Or,"__esModule",{value:!0});Or.GdchClient=Or.GDCH_SERVICE_ACCOUNT_TYPE=void 0;var ON=oe("crypto"),PN=oe("fs"),IN=oe("https"),FN=Tr(),NN=3600;Or.GDCH_SERVICE_ACCOUNT_TYPE="gdch_service_account";var eg=class t extends FN.OAuth2Client{projectId;privateKeyId;privateKey;serviceIdentityName;tokenServerUri;caCertPath;apiAudience;lifetime;gdchOptions;caAgentPromise;cachedCaCertPath;lastCaCertReadTime=0;CA_CERT_TTL_MS=300*1e3;constructor(e={}){super(e),this.gdchOptions=e,this.projectId=e.projectId||void 0,this.privateKeyId=e.privateKeyId,this.privateKey=e.privateKey,this.serviceIdentityName=e.serviceIdentityName,this.tokenServerUri=e.tokenServerUri,this.caCertPath=e.caCertPath,this.apiAudience=e.apiAudience,this.lifetime=e.lifetime||NN,this.credentials={refresh_token:"gdch-placeholder",expiry_date:1}}createWithGdchAudience(e){if(!e)throw new Error("Audience cannot be null or empty for GDCH service account credentials.");return new t({...this.gdchOptions,projectId:this.projectId,privateKeyId:this.privateKeyId,privateKey:this.privateKey,serviceIdentityName:this.serviceIdentityName,tokenServerUri:this.tokenServerUri,caCertPath:this.caCertPath,lifetime:this.lifetime,apiAudience:e})}fromJSON(e){if(!e)throw new Error("Must pass in a JSON object containing the GDCH credentials settings.");if(e.type!==Or.GDCH_SERVICE_ACCOUNT_TYPE)throw new Error(`The incoming JSON object does not have the "${Or.GDCH_SERVICE_ACCOUNT_TYPE}" type`);if(e.format_version!=="1")throw new Error("Only format version 1 is supported.");if(!e.project)throw new Error("The incoming JSON object does not contain a project field");if(!e.private_key_id)throw new Error("The incoming JSON object does not contain a private_key_id field");if(!e.private_key)throw new Error("The incoming JSON object does not contain a private_key field");if(!e.name)throw new Error("The incoming JSON object does not contain a name field");if(!e.token_uri)throw new Error("The incoming JSON object does not contain a token_uri field");this.projectId=e.project,this.privateKeyId=e.private_key_id,this.privateKey=e.private_key,this.serviceIdentityName=e.name,this.tokenServerUri=e.token_uri,this.caCertPath=e.ca_cert_path,this.gdchOptions={...this.gdchOptions,projectId:e.project,privateKeyId:e.private_key_id,privateKey:e.private_key,serviceIdentityName:e.name,tokenServerUri:e.token_uri,caCertPath:e.ca_cert_path}}async refreshTokenNoCache(){if(!this.apiAudience)throw new Error("Audience cannot be null or empty for GDCH service account credentials. Specify the audience by calling createWithGdchAudience.");if(!this.privateKey)throw new Error("Private key is not configured for GDCH credentials.");if(!this.privateKeyId)throw new Error("Private key ID is not configured for GDCH credentials.");if(!this.projectId)throw new Error("Project is not configured for GDCH credentials.");if(!this.serviceIdentityName)throw new Error("Service identity name is not configured for GDCH credentials.");if(!this.tokenServerUri)throw new Error("Token server URI is not configured for GDCH credentials.");let e=this.createAssertion(),n={audience:this.apiAudience,grant_type:"urn:ietf:params:oauth:token-type:token-exchange",requested_token_type:"urn:ietf:params:oauth:token-type:access_token",subject_token:e,subject_token_type:"urn:k8s:params:oauth:token-type:serviceaccount"},r={url:this.tokenServerUri,method:"POST",headers:{"Content-Type":"application/json"},data:n,responseType:"json",timeout:1e4,retry:!0,retryConfig:{httpMethodsToRetry:["POST"],statusCodesToRetry:[[500,599]],noResponseRetries:3}};this.caCertPath&&(r.agent=await this.getCaAgent());try{let o=await this.transporter.request(r),s=o.data;if(!s.access_token)throw new Error("Token response did not contain an access_token.");if(!s.expires_in)throw new Error("Token response did not contain an expires_in field.");let i={access_token:s.access_token,token_type:"STS-Bearer",expiry_date:Date.now()+s.expires_in*1e3};return this.emit("tokens",i),{res:o,tokens:i}}catch(o){if(o&&o.config&&o.config.data)try{if(typeof o.config.data=="string"){let s=JSON.parse(o.config.data);s.subject_token&&(s.subject_token="***REDACTED***",o.config.data=JSON.stringify(s))}else typeof o.config.data=="object"&&o.config.data.subject_token&&(o.config.data.subject_token="***REDACTED***")}catch{}throw o instanceof Error&&(o.message=`Error getting access token for GDCH service account: ${o.message}, iss: ${this.serviceIdentityName}`),o}}createAssertion(){let e={alg:"ES256",typ:"JWT",kid:this.privateKeyId},n=`system:serviceaccount:${this.projectId}:${this.serviceIdentityName}`,r=Math.floor(Date.now()/1e3),o={iss:n,sub:n,iat:r,exp:r+this.lifetime,aud:this.tokenServerUri},s=this.base64UrlEncode(JSON.stringify(e)),i=this.base64UrlEncode(JSON.stringify(o)),a=`${s}.${i}`,u=ON.sign("sha256",Buffer.from(a),{key:this.privateKey,dsaEncoding:"ieee-p1363"}),d=this.base64UrlEncode(u);return`${a}.${d}`}async requestAsync(e,n=!1){if(this.caCertPath&&!e.agent){let r=(e.url||"").toString();!r.includes("googleapis.com")&&!r.includes("google.com")&&(e.agent=await this.getCaAgent())}return super.requestAsync(e,n)}getCaAgent(){if(!this.caCertPath){this.caAgentPromise=void 0,this.cachedCaCertPath=void 0,this.lastCaCertReadTime=0;return}let e=Date.now(),n=e-this.lastCaCertReadTime>this.CA_CERT_TTL_MS;if(this.caAgentPromise&&this.caCertPath===this.cachedCaCertPath&&!n)return this.caAgentPromise;this.cachedCaCertPath=this.caCertPath,this.lastCaCertReadTime=e;let r=this.caCertPath;return this.caAgentPromise=(async()=>{try{let o=await PN.promises.readFile(r);return new IN.Agent({ca:o})}catch(o){throw this.cachedCaCertPath===r&&(this.caAgentPromise=void 0,this.cachedCaCertPath=void 0,this.lastCaCertReadTime=0),o instanceof Error&&(o.message=`Error reading certificate file from CA cert path, value '${r}': ${o.message}`),o}})(),this.caAgentPromise}toJSON(){return{...this,privateKey:this.privateKey?"***REDACTED***":void 0,_clientSecret:this._clientSecret?"***REDACTED***":void 0,apiKey:this.apiKey?"***REDACTED***":void 0,gdchOptions:this.gdchOptions?{...this.gdchOptions,privateKey:this.gdchOptions.privateKey?"***REDACTED***":void 0,clientSecret:this.gdchOptions.clientSecret?"***REDACTED***":void 0,client_secret:this.gdchOptions.client_secret?"***REDACTED***":void 0,apiKey:this.gdchOptions.apiKey?"***REDACTED***":void 0,credentials:this.gdchOptions.credentials?{...this.gdchOptions.credentials,access_token:this.gdchOptions.credentials.access_token?"***REDACTED***":void 0,refresh_token:this.gdchOptions.credentials.refresh_token?"***REDACTED***":void 0}:void 0}:void 0,credentials:{...this.credentials,access_token:this.credentials?.access_token?"***REDACTED***":void 0,refresh_token:this.credentials?.refresh_token?"***REDACTED***":void 0}}}[Symbol.for("nodejs.util.inspect.custom")](){return this.toJSON()}base64UrlEncode(e){return(typeof e=="string"?Buffer.from(e):e).toString("base64url")}};Or.GdchClient=eg});var aA=J(en=>{"use strict";Object.defineProperty(en,"__esModule",{value:!0});en.GoogleAuth=en.GoogleAuthExceptionMessages=void 0;var MN=oe("child_process"),ji=oe("fs"),BN=it(),Li=xi(),UN=oe("os"),cl=oe("path"),jN=Di(),LN=qh(),qN=zh(),$N=Hh(),ms=mm(),oA=ym(),gs=bm(),zN=Ym(),qi=Dr(),ng=Rt(),sA=Zm(),rg=tg(),iA=Xt();en.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.
|
|
91
91
|
To learn more about authentication and Google APIs, visit:
|
|
92
92
|
https://cloud.google.com/docs/authentication/getting-started`,NO_CREDENTIALS_FOUND:`Unable to find credentials in current environment.
|
|
93
93
|
To learn more about authentication and Google APIs, visit:
|
|
94
94
|
https://cloud.google.com/docs/authentication/getting-started`,NO_ADC_FOUND:"Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started for more information.",NO_UNIVERSE_DOMAIN_FOUND:`Unable to detect a Universe Domain in the current environment.
|
|
95
95
|
To learn more about Universe Domain retrieval, visit:
|
|
96
|
-
https://cloud.google.com/compute/docs/metadata/predefined-metadata-keys`};var Am=class{checkIsGCE=void 0;useJWTAccessWithScope;defaultServicePath;get isGCE(){return this.checkIsGCE}_findProjectIdPromise;_cachedProjectId;jsonContent=null;apiKey;cachedCredential=null;#e=null;defaultScopes;keyFilename;scopes;clientOptions={};constructor(e={}){if(this._cachedProjectId=e.projectId||null,this.cachedCredential=e.authClient||null,this.keyFilename=e.keyFilename||e.keyFile,this.scopes=e.scopes,this.clientOptions=e.clientOptions||{},this.jsonContent=e.credentials||null,this.apiKey=e.apiKey||this.clientOptions.apiKey||null,this.apiKey&&(this.jsonContent||this.clientOptions.credentials))throw new RangeError(Qt.GoogleAuthExceptionMessages.API_KEY_WITH_CREDENTIALS);e.universeDomain&&(this.clientOptions.universeDomain=e.universeDomain)}setGapicJWTValues(e){e.defaultServicePath=this.defaultServicePath,e.useJWTAccessWithScope=this.useJWTAccessWithScope,e.defaultScopes=this.defaultScopes}getProjectId(e){if(e)this.getProjectIdAsync().then(n=>e(null,n),e);else return this.getProjectIdAsync()}async getProjectIdOptional(){try{return await this.getProjectId()}catch(e){if(e instanceof Error&&e.message===Qt.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)return null;throw e}}async findAndCacheProjectId(){let e=null;if(e||=await this.getProductionProjectId(),e||=await this.getFileProjectId(),e||=await this.getDefaultServiceProjectId(),e||=await this.getGCEProjectId(),e||=await this.getExternalAccountClientProjectId(),e)return this._cachedProjectId=e,e;throw new Error(Qt.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)}async getProjectIdAsync(){return this._cachedProjectId?this._cachedProjectId:(this._findProjectIdPromise||(this._findProjectIdPromise=this.findAndCacheProjectId()),this._findProjectIdPromise)}async getUniverseDomainFromMetadataServer(){let e;try{e=await Pi.universe("universe-domain"),e||=Em.DEFAULT_UNIVERSE}catch(n){if(n&&n?.response?.status===404)e=Em.DEFAULT_UNIVERSE;else throw n}return e}async getUniverseDomain(){let e=(0,CE.originalOrCamelOptions)(this.clientOptions).get("universe_domain");try{e??=(await this.getClient()).universeDomain}catch{e??=Em.DEFAULT_UNIVERSE}return e}getAnyScopes(){return this.scopes||this.defaultScopes}getApplicationDefault(e={},n){let r;if(typeof e=="function"?n=e:r=e,n)this.getApplicationDefaultAsync(r).then(o=>n(null,o.credential,o.projectId),n);else return this.getApplicationDefaultAsync(r)}async getApplicationDefaultAsync(e={}){if(this.cachedCredential)return await this.#t(this.cachedCredential,null);let n;if(n=await this._tryGetApplicationCredentialsFromEnvironmentVariable(e),n)return n instanceof ss.JWT?n.scopes=this.scopes:n instanceof Ii.BaseExternalAccountClient&&(n.scopes=this.getAnyScopes()),await this.#t(n);if(n=await this._tryGetApplicationCredentialsFromWellKnownFile(e),n)return n instanceof ss.JWT?n.scopes=this.scopes:n instanceof Ii.BaseExternalAccountClient&&(n.scopes=this.getAnyScopes()),await this.#t(n);if(await this._checkIsGCE())return e.scopes=this.getAnyScopes(),await this.#t(new HF.Compute(e));throw new Error(Qt.GoogleAuthExceptionMessages.NO_ADC_FOUND)}async#t(e,n=process.env.GOOGLE_CLOUD_QUOTA_PROJECT||null){let r=await this.getProjectIdOptional();return n&&(e.quotaProjectId=n),this.cachedCredential=e,{credential:e,projectId:r}}async _checkIsGCE(){return this.checkIsGCE===void 0&&(this.checkIsGCE=Pi.getGCPResidency()||await Pi.isAvailable()),this.checkIsGCE}async _tryGetApplicationCredentialsFromEnvironmentVariable(e){let n=process.env.GOOGLE_APPLICATION_CREDENTIALS||process.env.google_application_credentials;if(!n||n.length===0)return null;try{return await this._getApplicationCredentialsFromFilePath(n,e)}catch(r){throw r instanceof Error&&(r.message=`Unable to read the credential file specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable: ${r.message}`),r}}async _tryGetApplicationCredentialsFromWellKnownFile(e){let n=process.env.CLOUDSDK_CONFIG;if(!n)if(this._isWindows())process.env.APPDATA&&(n=qu.join(process.env.APPDATA,"gcloud"));else{let s=process.env.HOME;s&&(n=qu.join(s,".config","gcloud"))}if(!n)return null;let r=qu.join(n,"application_default_credentials.json");return Oi.existsSync(r)?await this._getApplicationCredentialsFromFilePath(r,e):null}async _getApplicationCredentialsFromFilePath(e,n={}){if(!e||e.length===0)throw new Error("The file path is invalid.");try{if(e=Oi.realpathSync(e),!Oi.lstatSync(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=Oi.createReadStream(e);return this.fromStream(r,n)}fromImpersonatedJSON(e){if(!e)throw new Error("Must pass in a JSON object containing an impersonated refresh token");if(e.type!==is.IMPERSONATED_ACCOUNT_TYPE)throw new Error(`The incoming JSON object does not have the "${is.IMPERSONATED_ACCOUNT_TYPE}" type`);if(!e.source_credentials)throw new Error("The incoming JSON object does not contain a source_credentials field");if(!e.service_account_impersonation_url)throw new Error("The incoming JSON object does not contain a service_account_impersonation_url field");let n=this.fromJSON(e.source_credentials);if(e.service_account_impersonation_url?.length>256)throw new RangeError(`Target principal is too long: ${e.service_account_impersonation_url}`);let r=/(?<target>[^/]+):(generateAccessToken|generateIdToken)$/.exec(e.service_account_impersonation_url)?.groups?.target;if(!r)throw new RangeError(`Cannot extract target principal from ${e.service_account_impersonation_url}`);let o=(this.scopes||e.scopes||this.defaultScopes)??[];return new is.Impersonated({...e,sourceClient:n,targetPrincipal:r,targetScopes:Array.isArray(o)?o:[o]})}fromJSON(e,n={}){let r,o=(0,CE.originalOrCamelOptions)(n).get("universe_domain");return e.type===_E.USER_REFRESH_ACCOUNT_TYPE?(r=new _E.UserRefreshClient(n),r.fromJSON(e)):e.type===is.IMPERSONATED_ACCOUNT_TYPE?r=this.fromImpersonatedJSON(e):e.type===Ii.EXTERNAL_ACCOUNT_TYPE?(r=JF.ExternalAccountClient.fromJSON({...e,...n}),r.scopes=this.getAnyScopes()):e.type===bE.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE?r=new bE.ExternalAccountAuthorizedUserClient({...e,...n}):e.type===vm.GDCH_SERVICE_ACCOUNT_TYPE?(r=new vm.GdchClient(n),r.fromJSON(e)):(n.scopes=this.scopes,r=new ss.JWT(n),this.setGapicJWTValues(r),r.fromJSON(e)),o&&(r.universeDomain=o),r}_cacheClientFromJSON(e,n){let r=this.fromJSON(e,n);return this.jsonContent=e,this.cachedCredential=r,r}fromStream(e,n={},r){let o={};if(typeof n=="function"?r=n:o=n,r)this.fromStreamAsync(e,o).then(s=>r(null,s),r);else return this.fromStreamAsync(e,o)}fromStreamAsync(e,n){return new Promise((r,o)=>{if(!e)throw new Error("Must pass in a stream containing the Google auth settings.");let s=[];e.setEncoding("utf8").on("error",o).on("data",i=>s.push(i)).on("end",()=>{try{try{let i=JSON.parse(s.join("")),c=this._cacheClientFromJSON(i,n);return r(c)}catch(i){if(!this.keyFilename)throw i;let c=new ss.JWT({...this.clientOptions,keyFile:this.keyFilename});return this.cachedCredential=c,this.setGapicJWTValues(c),r(c)}}catch(i){return o(i)}})})}fromAPIKey(e,n={}){return new ss.JWT({...n,apiKey:e})}_isWindows(){let e=$F.platform();return!!(e&&e.length>=3&&e.substring(0,3).toLowerCase()==="win")}async getDefaultServiceProjectId(){return new Promise(e=>{(0,LF.exec)("gcloud config config-helper --format json",(n,r)=>{if(!n&&r)try{let o=JSON.parse(r).configuration.properties.core.project;e(o);return}catch{}e(null)})})}getProductionProjectId(){return process.env.GCLOUD_PROJECT||process.env.GOOGLE_CLOUD_PROJECT||process.env.gcloud_project||process.env.google_cloud_project}async getFileProjectId(){if(this.cachedCredential)return this.cachedCredential.projectId;if(this.keyFilename){let n=await this.getClient();if(n&&n.projectId)return n.projectId}let e=await this._tryGetApplicationCredentialsFromEnvironmentVariable();return e?e.projectId:null}async getExternalAccountClientProjectId(){return!this.jsonContent||this.jsonContent.type!==Ii.EXTERNAL_ACCOUNT_TYPE?null:await(await this.getClient()).getProjectId()}async getGCEProjectId(){try{return await Pi.project("project-id")}catch{return null}}getCredentials(e){if(e)this.getCredentialsAsync().then(n=>e(null,n),e);else return this.getCredentialsAsync()}async getCredentialsAsync(){let e=await this.getClient();if(e instanceof is.Impersonated)return{client_email:e.getTargetPrincipal()};if(e instanceof Ii.BaseExternalAccountClient){let n=e.getServiceAccountEmail();if(n)return{client_email:n,universe_domain:e.universeDomain}}if(this.jsonContent)return{client_email:this.jsonContent.client_email,private_key:this.jsonContent.private_key,universe_domain:this.jsonContent.universe_domain};if(await this._checkIsGCE()){let[n,r]=await Promise.all([Pi.instance("service-accounts/default/email"),this.getUniverseDomain()]);return{client_email:n,universe_domain:r}}throw new Error(Qt.GoogleAuthExceptionMessages.NO_CREDENTIALS_FOUND)}async getClient(){if(this.cachedCredential)return this.cachedCredential;this.#e=this.#e||this.#n();try{let e=await this.#e;if(e instanceof vm.GdchClient&&!e.apiAudience){let n=this.clientOptions,r=n.apiEndpoint||n.servicePath;if(r){let s=`${r.startsWith("http")?"":"https://"}${r}`.replace(/\/+$/,""),i=e.createWithGdchAudience(s);return this.cachedCredential=i,i}}return e}finally{this.#e=null}}async#n(){if(this.jsonContent)return this._cacheClientFromJSON(this.jsonContent,this.clientOptions);if(this.keyFilename){let e=qu.resolve(this.keyFilename),n=Oi.createReadStream(e);return await this.fromStreamAsync(n,this.clientOptions)}else if(this.apiKey){let e=await this.fromAPIKey(this.apiKey,this.clientOptions);e.scopes=this.scopes;let{credential:n}=await this.#t(e);return n}else{let{credential:e}=await this.getApplicationDefaultAsync(this.clientOptions);return e}}async getIdTokenClient(e){let n=await this.getClient();if(!("fetchIdToken"in n))throw new Error("Cannot fetch ID token in this environment, use GCE or set the GOOGLE_APPLICATION_CREDENTIALS environment variable to a service account credentials JSON file.");return new WF.IdTokenClient({targetAudience:e,idTokenProvider:n})}async getAccessToken(){return(await(await this.getClient()).getAccessToken()).token}async getRequestHeaders(e){return(await this.getClient()).getRequestHeaders(e)}async authorizeRequest(e={}){let n=e.url,o=await(await this.getClient()).getRequestHeaders(n);return e.headers=qF.Gaxios.mergeHeaders(e.headers,o),e}async fetch(...e){return(await this.getClient()).fetch(...e)}async request(e){return(await this.getClient()).request(e)}getEnv(){return(0,GF.getEnv)()}async sign(e,n){let r=await this.getClient(),o=await this.getUniverseDomain();if(n=n||`https://iamcredentials.${o}/v1/projects/-/serviceAccounts/`,r instanceof is.Impersonated)return(await r.sign(e)).signedBlob;let s=(0,zF.createCrypto)();if(r instanceof ss.JWT&&r.key)return await s.sign(r.key,e);let i=await this.getCredentials();if(!i.client_email)throw new Error("Cannot sign data without `client_email`.");return this.signBlob(s,i.client_email,e,n)}async signBlob(e,n,r,o){let s=new URL(o+`${n}:signBlob`);return(await this.request({method:"POST",url:s.href,data:{payload:e.encodeBase64StringUtf8(r)},retry:!0,retryConfig:{httpMethodsToRetry:["POST"]}})).data.signedBlob}};Qt.GoogleAuth=Am});var kE=J($u=>{"use strict";Object.defineProperty($u,"__esModule",{value:!0});$u.IAMAuth=void 0;var Tm=class{selector;token;constructor(e,n){this.selector=e,this.token=n,this.selector=e,this.token=n}getRequestHeaders(){return{"x-goog-iam-authority-selector":this.selector,"x-goog-iam-authorization-token":this.token}}};$u.IAMAuth=Tm});var SE=J(Cn=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});Cn.DownscopedClient=Cn.EXPIRATION_TIME_OFFSET=Cn.MAX_ACCESS_BOUNDARY_RULES_COUNT=void 0;var VF=it(),KF=oe("stream"),Rm=At(),YF=wu(),XF="urn:ietf:params:oauth:grant-type:token-exchange",QF="urn:ietf:params:oauth:token-type:access_token",ZF="urn:ietf:params:oauth:token-type:access_token";Cn.MAX_ACCESS_BOUNDARY_RULES_COUNT=10;Cn.EXPIRATION_TIME_OFFSET=300*1e3;var xm=class extends Rm.AuthClient{authClient;credentialAccessBoundary;cachedDownscopedAccessToken;stsCredential;constructor(e,n={accessBoundary:{accessBoundaryRules:[]}}){if(super(e instanceof Rm.AuthClient?{}:e),e instanceof Rm.AuthClient?(this.authClient=e,this.credentialAccessBoundary=n):(this.authClient=e.authClient,this.credentialAccessBoundary=e.credentialAccessBoundary),this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length===0)throw new Error("At least one access boundary rule needs to be defined.");if(this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length>Cn.MAX_ACCESS_BOUNDARY_RULES_COUNT)throw new Error(`The provided access boundary has more than ${Cn.MAX_ACCESS_BOUNDARY_RULES_COUNT} access boundary rules.`);for(let r of this.credentialAccessBoundary.accessBoundary.accessBoundaryRules)if(r.availablePermissions.length===0)throw new Error("At least one permission should be defined in access boundary rules.");this.stsCredential=new YF.StsCredentials({tokenExchangeEndpoint:`https://sts.${this.universeDomain}/v1/token`}),this.cachedDownscopedAccessToken=null}setCredentials(e){if(!e.expiry_date)throw new Error("The access token expiry_date field is missing in the provided credentials.");super.setCredentials(e),this.cachedDownscopedAccessToken=e}async getAccessToken(){return(!this.cachedDownscopedAccessToken||this.isExpired(this.cachedDownscopedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedDownscopedAccessToken.access_token,expirationTime:this.cachedDownscopedAccessToken.expiry_date,res:this.cachedDownscopedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),n=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(n)}request(e,n){if(n)this.requestAsync(e).then(r=>n(null,r),r=>n(r,r.response));else return this.requestAsync(e)}async requestAsync(e,n=!1){let r;try{let o=await this.getRequestHeaders();e.headers=VF.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),r=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let i=s.status,c=s.config.data instanceof KF.Readable;if(!n&&(i===401||i===403)&&!c&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return r}async refreshAccessTokenAsync(){let e=(await this.authClient.getAccessToken()).token,n={grantType:XF,requestedTokenType:QF,subjectToken:e,subjectTokenType:ZF},r=await this.stsCredential.exchangeToken(n,void 0,this.credentialAccessBoundary),o=this.authClient.credentials?.expiry_date||null,s=r.expires_in?new Date().getTime()+r.expires_in*1e3:o;return this.cachedDownscopedAccessToken={access_token:r.access_token,expiry_date:s,res:r.res},this.credentials={},Object.assign(this.credentials,this.cachedDownscopedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedDownscopedAccessToken.expiry_date,access_token:this.cachedDownscopedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedDownscopedAccessToken}isExpired(e){let n=new Date().getTime();return e.expiry_date?n>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}};Cn.DownscopedClient=xm});var EE=J(zu=>{"use strict";Object.defineProperty(zu,"__esModule",{value:!0});zu.PassThroughClient=void 0;var eN=At(),Dm=class extends eN.AuthClient{async request(e){return this.transporter.request(e)}async getAccessToken(){return{}}async getRequestHeaders(){return new Headers}};zu.PassThroughClient=Dm});var Hu=J(ne=>{"use strict";var tN=ne&&ne.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),nN=ne&&ne.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&tN(e,t,n)};Object.defineProperty(ne,"__esModule",{value:!0});ne.GoogleAuth=ne.auth=ne.GDCH_SERVICE_ACCOUNT_TYPE=ne.GdchClient=ne.PassThroughClient=ne.ExternalAccountAuthorizedUserClient=ne.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=ne.ExecutableError=ne.PluggableAuthClient=ne.DownscopedClient=ne.BaseExternalAccountClient=ne.ExternalAccountClient=ne.IdentityPoolClient=ne.AwsRequestSigner=ne.AwsClient=ne.UserRefreshClient=ne.LoginTicket=ne.ClientAuthentication=ne.OAuth2Client=ne.CodeChallengeMethod=ne.Impersonated=ne.JWT=ne.JWTAccess=ne.IdTokenClient=ne.IAMAuth=ne.GCPEnv=ne.Compute=ne.DEFAULT_UNIVERSE=ne.AuthClient=ne.gaxios=ne.gcpMetadata=void 0;var vE=wE();Object.defineProperty(ne,"GoogleAuth",{enumerable:!0,get:function(){return vE.GoogleAuth}});ne.gcpMetadata=wi();ne.gaxios=it();var AE=At();Object.defineProperty(ne,"AuthClient",{enumerable:!0,get:function(){return AE.AuthClient}});Object.defineProperty(ne,"DEFAULT_UNIVERSE",{enumerable:!0,get:function(){return AE.DEFAULT_UNIVERSE}});var rN=uh();Object.defineProperty(ne,"Compute",{enumerable:!0,get:function(){return rN.Compute}});var oN=fh();Object.defineProperty(ne,"GCPEnv",{enumerable:!0,get:function(){return oN.GCPEnv}});var sN=kE();Object.defineProperty(ne,"IAMAuth",{enumerable:!0,get:function(){return sN.IAMAuth}});var iN=dh();Object.defineProperty(ne,"IdTokenClient",{enumerable:!0,get:function(){return iN.IdTokenClient}});var aN=Nh();Object.defineProperty(ne,"JWTAccess",{enumerable:!0,get:function(){return aN.JWTAccess}});var cN=Bh();Object.defineProperty(ne,"JWT",{enumerable:!0,get:function(){return cN.JWT}});var uN=qh();Object.defineProperty(ne,"Impersonated",{enumerable:!0,get:function(){return uN.Impersonated}});var Om=kr();Object.defineProperty(ne,"CodeChallengeMethod",{enumerable:!0,get:function(){return Om.CodeChallengeMethod}});Object.defineProperty(ne,"OAuth2Client",{enumerable:!0,get:function(){return Om.OAuth2Client}});Object.defineProperty(ne,"ClientAuthentication",{enumerable:!0,get:function(){return Om.ClientAuthentication}});var lN=sh();Object.defineProperty(ne,"LoginTicket",{enumerable:!0,get:function(){return lN.LoginTicket}});var dN=jh();Object.defineProperty(ne,"UserRefreshClient",{enumerable:!0,get:function(){return dN.UserRefreshClient}});var fN=im();Object.defineProperty(ne,"AwsClient",{enumerable:!0,get:function(){return fN.AwsClient}});var pN=rm();Object.defineProperty(ne,"AwsRequestSigner",{enumerable:!0,get:function(){return pN.AwsRequestSigner}});var hN=tm();Object.defineProperty(ne,"IdentityPoolClient",{enumerable:!0,get:function(){return hN.IdentityPoolClient}});var mN=_m();Object.defineProperty(ne,"ExternalAccountClient",{enumerable:!0,get:function(){return mN.ExternalAccountClient}});var gN=vr();Object.defineProperty(ne,"BaseExternalAccountClient",{enumerable:!0,get:function(){return gN.BaseExternalAccountClient}});var yN=SE();Object.defineProperty(ne,"DownscopedClient",{enumerable:!0,get:function(){return yN.DownscopedClient}});var TE=gm();Object.defineProperty(ne,"PluggableAuthClient",{enumerable:!0,get:function(){return TE.PluggableAuthClient}});Object.defineProperty(ne,"ExecutableError",{enumerable:!0,get:function(){return TE.ExecutableError}});var RE=wm();Object.defineProperty(ne,"EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE",{enumerable:!0,get:function(){return RE.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE}});Object.defineProperty(ne,"ExternalAccountAuthorizedUserClient",{enumerable:!0,get:function(){return RE.ExternalAccountAuthorizedUserClient}});var _N=EE();Object.defineProperty(ne,"PassThroughClient",{enumerable:!0,get:function(){return _N.PassThroughClient}});var xE=Sm();Object.defineProperty(ne,"GdchClient",{enumerable:!0,get:function(){return xE.GdchClient}});Object.defineProperty(ne,"GDCH_SERVICE_ACCOUNT_TYPE",{enumerable:!0,get:function(){return xE.GDCH_SERVICE_ACCOUNT_TYPE}});nN(Ih(),ne);var bN=new vE.GoogleAuth;ne.auth=bN});var fT=J((lG,Xg)=>{"use strict";var gq=/at\s(?:.*\.)?plugin\s.*\n\s*(.*)/,yq=/(\w*(\.\w*)*)\..*/;Xg.exports=function(e){if(e.name.length>0)return e.name;let n=Error.stackTraceLimit;Error.stackTraceLimit=10;try{throw new Error("anonymous function")}catch(r){return Error.stackTraceLimit=n,dT(r.stack)}};function dT(t){let e=t.match(gq);return e?e[1].split(/[/\\]/).slice(-1)[0].match(yq)[1]:"anonymous"}Xg.exports.extractPluginName=dT});var hT=J((dG,pT)=>{"use strict";pT.exports=function(e){return e[0]==="@"&&(e=e.slice(1).replace("/","-")),e.replace(/-(.)/g,function(n,r){return r.toUpperCase()})}});var mT=J((fG,ed)=>{"use strict";var _q=fT(),bq=hT(),Cq=0;function Qg(t,e={}){let n=!1;if(t.default!==void 0&&(t=t.default),typeof t!="function")throw new TypeError(`fastify-plugin expects a function, instead got a '${typeof t}'`);if(typeof e=="string"&&(e={fastify:e}),typeof e!="object"||Array.isArray(e)||e===null)throw new TypeError("The options object should be an object");if(e.fastify!==void 0&&typeof e.fastify!="string")throw new TypeError(`fastify-plugin expects a version string, instead got '${typeof e.fastify}'`);e.name||(n=!0,e.name=_q(t)+"-auto-"+Cq++),t[Symbol.for("skip-override")]=e.encapsulate!==!0,t[Symbol.for("fastify.display-name")]=e.name,t[Symbol.for("plugin-meta")]=e,t.default||(t.default=t);let r=bq(e.name);return!n&&!t[r]&&(t[r]=t),t}ed.exports=Qg;ed.exports.default=Qg;ed.exports.fastifyPlugin=Qg});var Gi,Zg=lr(()=>{"use strict";Gi=class{type="console";config;colors={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"};constructor(e={}){this.config={colors:!0,level:"log",...e}}formatData(e,n){let{format:r="text",timestamp:o=!0,prefix:s,metadata:i}=n||{},c="";if(o){let u=new Date().toISOString();c+=this.config.colors?`${this.colors.cyan}[${u}]${this.colors.reset} `:`[${u}] `}switch(s&&(c+=this.config.colors?`${this.colors.bright}${s}${this.colors.reset} `:`${s} `),r){case"json":c+=JSON.stringify(e,null,2);break;case"markdown":typeof e=="object"?c+=this.toMarkdown(e):c+=String(e);break;default:typeof e=="object"?c+=JSON.stringify(e,null,2):c+=String(e);break}return i&&Object.keys(i).length>0&&(c+=`
|
|
97
|
-
`+(this.config.colors?`${this.colors.dim}`:""),
|
|
96
|
+
https://cloud.google.com/compute/docs/metadata/predefined-metadata-keys`};var og=class{checkIsGCE=void 0;useJWTAccessWithScope;defaultServicePath;get isGCE(){return this.checkIsGCE}_findProjectIdPromise;_cachedProjectId;jsonContent=null;apiKey;cachedCredential=null;#e=null;defaultScopes;keyFilename;scopes;clientOptions={};constructor(e={}){if(this._cachedProjectId=e.projectId||null,this.cachedCredential=e.authClient||null,this.keyFilename=e.keyFilename||e.keyFile,this.scopes=e.scopes,this.clientOptions=e.clientOptions||{},this.jsonContent=e.credentials||null,this.apiKey=e.apiKey||this.clientOptions.apiKey||null,this.apiKey&&(this.jsonContent||this.clientOptions.credentials))throw new RangeError(en.GoogleAuthExceptionMessages.API_KEY_WITH_CREDENTIALS);e.universeDomain&&(this.clientOptions.universeDomain=e.universeDomain)}setGapicJWTValues(e){e.defaultServicePath=this.defaultServicePath,e.useJWTAccessWithScope=this.useJWTAccessWithScope,e.defaultScopes=this.defaultScopes}getProjectId(e){if(e)this.getProjectIdAsync().then(n=>e(null,n),e);else return this.getProjectIdAsync()}async getProjectIdOptional(){try{return await this.getProjectId()}catch(e){if(e instanceof Error&&e.message===en.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)return null;throw e}}async findAndCacheProjectId(){let e=null;if(e||=await this.getProductionProjectId(),e||=await this.getFileProjectId(),e||=await this.getDefaultServiceProjectId(),e||=await this.getGCEProjectId(),e||=await this.getExternalAccountClientProjectId(),e)return this._cachedProjectId=e,e;throw new Error(en.GoogleAuthExceptionMessages.NO_PROJECT_ID_FOUND)}async getProjectIdAsync(){return this._cachedProjectId?this._cachedProjectId:(this._findProjectIdPromise||(this._findProjectIdPromise=this.findAndCacheProjectId()),this._findProjectIdPromise)}async getUniverseDomainFromMetadataServer(){let e;try{e=await Li.universe("universe-domain"),e||=ng.DEFAULT_UNIVERSE}catch(n){if(n&&n?.response?.status===404)e=ng.DEFAULT_UNIVERSE;else throw n}return e}async getUniverseDomain(){let e=(0,iA.originalOrCamelOptions)(this.clientOptions).get("universe_domain");try{e??=(await this.getClient()).universeDomain}catch{e??=ng.DEFAULT_UNIVERSE}return e}getAnyScopes(){return this.scopes||this.defaultScopes}getApplicationDefault(e={},n){let r;if(typeof e=="function"?n=e:r=e,n)this.getApplicationDefaultAsync(r).then(o=>n(null,o.credential,o.projectId),n);else return this.getApplicationDefaultAsync(r)}async getApplicationDefaultAsync(e={}){if(this.cachedCredential)return await this.#t(this.cachedCredential,null);let n;if(n=await this._tryGetApplicationCredentialsFromEnvironmentVariable(e),n)return n instanceof ms.JWT?n.scopes=this.scopes:n instanceof qi.BaseExternalAccountClient&&(n.scopes=this.getAnyScopes()),await this.#t(n);if(n=await this._tryGetApplicationCredentialsFromWellKnownFile(e),n)return n instanceof ms.JWT?n.scopes=this.scopes:n instanceof qi.BaseExternalAccountClient&&(n.scopes=this.getAnyScopes()),await this.#t(n);if(await this._checkIsGCE())return e.scopes=this.getAnyScopes(),await this.#t(new LN.Compute(e));throw new Error(en.GoogleAuthExceptionMessages.NO_ADC_FOUND)}async#t(e,n=process.env.GOOGLE_CLOUD_QUOTA_PROJECT||null){let r=await this.getProjectIdOptional();return n&&(e.quotaProjectId=n),this.cachedCredential=e,{credential:e,projectId:r}}async _checkIsGCE(){return this.checkIsGCE===void 0&&(this.checkIsGCE=Li.getGCPResidency()||await Li.isAvailable()),this.checkIsGCE}async _tryGetApplicationCredentialsFromEnvironmentVariable(e){let n=process.env.GOOGLE_APPLICATION_CREDENTIALS||process.env.google_application_credentials;if(!n||n.length===0)return null;try{return await this._getApplicationCredentialsFromFilePath(n,e)}catch(r){throw r instanceof Error&&(r.message=`Unable to read the credential file specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable: ${r.message}`),r}}async _tryGetApplicationCredentialsFromWellKnownFile(e){let n=process.env.CLOUDSDK_CONFIG;if(!n)if(this._isWindows())process.env.APPDATA&&(n=cl.join(process.env.APPDATA,"gcloud"));else{let s=process.env.HOME;s&&(n=cl.join(s,".config","gcloud"))}if(!n)return null;let r=cl.join(n,"application_default_credentials.json");return ji.existsSync(r)?await this._getApplicationCredentialsFromFilePath(r,e):null}async _getApplicationCredentialsFromFilePath(e,n={}){if(!e||e.length===0)throw new Error("The file path is invalid.");try{if(e=ji.realpathSync(e),!ji.lstatSync(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=ji.createReadStream(e);return this.fromStream(r,n)}fromImpersonatedJSON(e){if(!e)throw new Error("Must pass in a JSON object containing an impersonated refresh token");if(e.type!==gs.IMPERSONATED_ACCOUNT_TYPE)throw new Error(`The incoming JSON object does not have the "${gs.IMPERSONATED_ACCOUNT_TYPE}" type`);if(!e.source_credentials)throw new Error("The incoming JSON object does not contain a source_credentials field");if(!e.service_account_impersonation_url)throw new Error("The incoming JSON object does not contain a service_account_impersonation_url field");let n=this.fromJSON(e.source_credentials);if(e.service_account_impersonation_url?.length>256)throw new RangeError(`Target principal is too long: ${e.service_account_impersonation_url}`);let r=/(?<target>[^/]+):(generateAccessToken|generateIdToken)$/.exec(e.service_account_impersonation_url)?.groups?.target;if(!r)throw new RangeError(`Cannot extract target principal from ${e.service_account_impersonation_url}`);let o=(this.scopes||e.scopes||this.defaultScopes)??[];return new gs.Impersonated({...e,sourceClient:n,targetPrincipal:r,targetScopes:Array.isArray(o)?o:[o]})}fromJSON(e,n={}){let r,o=(0,iA.originalOrCamelOptions)(n).get("universe_domain");return e.type===oA.USER_REFRESH_ACCOUNT_TYPE?(r=new oA.UserRefreshClient(n),r.fromJSON(e)):e.type===gs.IMPERSONATED_ACCOUNT_TYPE?r=this.fromImpersonatedJSON(e):e.type===qi.EXTERNAL_ACCOUNT_TYPE?(r=zN.ExternalAccountClient.fromJSON({...e,...n}),r.scopes=this.getAnyScopes()):e.type===sA.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE?r=new sA.ExternalAccountAuthorizedUserClient({...e,...n}):e.type===rg.GDCH_SERVICE_ACCOUNT_TYPE?(r=new rg.GdchClient(n),r.fromJSON(e)):(n.scopes=this.scopes,r=new ms.JWT(n),this.setGapicJWTValues(r),r.fromJSON(e)),o&&(r.universeDomain=o),r}_cacheClientFromJSON(e,n){let r=this.fromJSON(e,n);return this.jsonContent=e,this.cachedCredential=r,r}fromStream(e,n={},r){let o={};if(typeof n=="function"?r=n:o=n,r)this.fromStreamAsync(e,o).then(s=>r(null,s),r);else return this.fromStreamAsync(e,o)}fromStreamAsync(e,n){return new Promise((r,o)=>{if(!e)throw new Error("Must pass in a stream containing the Google auth settings.");let s=[];e.setEncoding("utf8").on("error",o).on("data",i=>s.push(i)).on("end",()=>{try{try{let i=JSON.parse(s.join("")),a=this._cacheClientFromJSON(i,n);return r(a)}catch(i){if(!this.keyFilename)throw i;let a=new ms.JWT({...this.clientOptions,keyFile:this.keyFilename});return this.cachedCredential=a,this.setGapicJWTValues(a),r(a)}}catch(i){return o(i)}})})}fromAPIKey(e,n={}){return new ms.JWT({...n,apiKey:e})}_isWindows(){let e=UN.platform();return!!(e&&e.length>=3&&e.substring(0,3).toLowerCase()==="win")}async getDefaultServiceProjectId(){return new Promise(e=>{(0,MN.exec)("gcloud config config-helper --format json",(n,r)=>{if(!n&&r)try{let o=JSON.parse(r).configuration.properties.core.project;e(o);return}catch{}e(null)})})}getProductionProjectId(){return process.env.GCLOUD_PROJECT||process.env.GOOGLE_CLOUD_PROJECT||process.env.gcloud_project||process.env.google_cloud_project}async getFileProjectId(){if(this.cachedCredential)return this.cachedCredential.projectId;if(this.keyFilename){let n=await this.getClient();if(n&&n.projectId)return n.projectId}let e=await this._tryGetApplicationCredentialsFromEnvironmentVariable();return e?e.projectId:null}async getExternalAccountClientProjectId(){return!this.jsonContent||this.jsonContent.type!==qi.EXTERNAL_ACCOUNT_TYPE?null:await(await this.getClient()).getProjectId()}async getGCEProjectId(){try{return await Li.project("project-id")}catch{return null}}getCredentials(e){if(e)this.getCredentialsAsync().then(n=>e(null,n),e);else return this.getCredentialsAsync()}async getCredentialsAsync(){let e=await this.getClient();if(e instanceof gs.Impersonated)return{client_email:e.getTargetPrincipal()};if(e instanceof qi.BaseExternalAccountClient){let n=e.getServiceAccountEmail();if(n)return{client_email:n,universe_domain:e.universeDomain}}if(this.jsonContent)return{client_email:this.jsonContent.client_email,private_key:this.jsonContent.private_key,universe_domain:this.jsonContent.universe_domain};if(await this._checkIsGCE()){let[n,r]=await Promise.all([Li.instance("service-accounts/default/email"),this.getUniverseDomain()]);return{client_email:n,universe_domain:r}}throw new Error(en.GoogleAuthExceptionMessages.NO_CREDENTIALS_FOUND)}async getClient(){if(this.cachedCredential)return this.cachedCredential;this.#e=this.#e||this.#n();try{let e=await this.#e;if(e instanceof rg.GdchClient&&!e.apiAudience){let n=this.clientOptions,r=n.apiEndpoint||n.servicePath;if(r){let s=`${r.startsWith("http")?"":"https://"}${r}`.replace(/\/+$/,""),i=e.createWithGdchAudience(s);return this.cachedCredential=i,i}}return e}finally{this.#e=null}}async#n(){if(this.jsonContent)return this._cacheClientFromJSON(this.jsonContent,this.clientOptions);if(this.keyFilename){let e=cl.resolve(this.keyFilename),n=ji.createReadStream(e);return await this.fromStreamAsync(n,this.clientOptions)}else if(this.apiKey){let e=await this.fromAPIKey(this.apiKey,this.clientOptions);e.scopes=this.scopes;let{credential:n}=await this.#t(e);return n}else{let{credential:e}=await this.getApplicationDefaultAsync(this.clientOptions);return e}}async getIdTokenClient(e){let n=await this.getClient();if(!("fetchIdToken"in n))throw new Error("Cannot fetch ID token in this environment, use GCE or set the GOOGLE_APPLICATION_CREDENTIALS environment variable to a service account credentials JSON file.");return new qN.IdTokenClient({targetAudience:e,idTokenProvider:n})}async getAccessToken(){return(await(await this.getClient()).getAccessToken()).token}async getRequestHeaders(e){return(await this.getClient()).getRequestHeaders(e)}async authorizeRequest(e={}){let n=e.url,o=await(await this.getClient()).getRequestHeaders(n);return e.headers=BN.Gaxios.mergeHeaders(e.headers,o),e}async fetch(...e){return(await this.getClient()).fetch(...e)}async request(e){return(await this.getClient()).request(e)}getEnv(){return(0,$N.getEnv)()}async sign(e,n){let r=await this.getClient(),o=await this.getUniverseDomain();if(n=n||`https://iamcredentials.${o}/v1/projects/-/serviceAccounts/`,r instanceof gs.Impersonated)return(await r.sign(e)).signedBlob;let s=(0,jN.createCrypto)();if(r instanceof ms.JWT&&r.key)return await s.sign(r.key,e);let i=await this.getCredentials();if(!i.client_email)throw new Error("Cannot sign data without `client_email`.");return this.signBlob(s,i.client_email,e,n)}async signBlob(e,n,r,o){let s=new URL(o+`${n}:signBlob`);return(await this.request({method:"POST",url:s.href,data:{payload:e.encodeBase64StringUtf8(r)},retry:!0,retryConfig:{httpMethodsToRetry:["POST"]}})).data.signedBlob}};en.GoogleAuth=og});var cA=J(ul=>{"use strict";Object.defineProperty(ul,"__esModule",{value:!0});ul.IAMAuth=void 0;var sg=class{selector;token;constructor(e,n){this.selector=e,this.token=n,this.selector=e,this.token=n}getRequestHeaders(){return{"x-goog-iam-authority-selector":this.selector,"x-goog-iam-authorization-token":this.token}}};ul.IAMAuth=sg});var uA=J(En=>{"use strict";Object.defineProperty(En,"__esModule",{value:!0});En.DownscopedClient=En.EXPIRATION_TIME_OFFSET=En.MAX_ACCESS_BOUNDARY_RULES_COUNT=void 0;var HN=it(),WN=oe("stream"),ig=Rt(),GN=$u(),JN="urn:ietf:params:oauth:grant-type:token-exchange",KN="urn:ietf:params:oauth:token-type:access_token",VN="urn:ietf:params:oauth:token-type:access_token";En.MAX_ACCESS_BOUNDARY_RULES_COUNT=10;En.EXPIRATION_TIME_OFFSET=300*1e3;var ag=class extends ig.AuthClient{authClient;credentialAccessBoundary;cachedDownscopedAccessToken;stsCredential;constructor(e,n={accessBoundary:{accessBoundaryRules:[]}}){if(super(e instanceof ig.AuthClient?{}:e),e instanceof ig.AuthClient?(this.authClient=e,this.credentialAccessBoundary=n):(this.authClient=e.authClient,this.credentialAccessBoundary=e.credentialAccessBoundary),this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length===0)throw new Error("At least one access boundary rule needs to be defined.");if(this.credentialAccessBoundary.accessBoundary.accessBoundaryRules.length>En.MAX_ACCESS_BOUNDARY_RULES_COUNT)throw new Error(`The provided access boundary has more than ${En.MAX_ACCESS_BOUNDARY_RULES_COUNT} access boundary rules.`);for(let r of this.credentialAccessBoundary.accessBoundary.accessBoundaryRules)if(r.availablePermissions.length===0)throw new Error("At least one permission should be defined in access boundary rules.");this.stsCredential=new GN.StsCredentials({tokenExchangeEndpoint:`https://sts.${this.universeDomain}/v1/token`}),this.cachedDownscopedAccessToken=null}setCredentials(e){if(!e.expiry_date)throw new Error("The access token expiry_date field is missing in the provided credentials.");super.setCredentials(e),this.cachedDownscopedAccessToken=e}async getAccessToken(){return(!this.cachedDownscopedAccessToken||this.isExpired(this.cachedDownscopedAccessToken))&&await this.refreshAccessTokenAsync(),{token:this.cachedDownscopedAccessToken.access_token,expirationTime:this.cachedDownscopedAccessToken.expiry_date,res:this.cachedDownscopedAccessToken.res}}async getRequestHeaders(){let e=await this.getAccessToken(),n=new Headers({authorization:`Bearer ${e.token}`});return this.addSharedMetadataHeaders(n)}request(e,n){if(n)this.requestAsync(e).then(r=>n(null,r),r=>n(r,r.response));else return this.requestAsync(e)}async requestAsync(e,n=!1){let r;try{let o=await this.getRequestHeaders();e.headers=HN.Gaxios.mergeHeaders(e.headers),this.addUserProjectAndAuthHeaders(e.headers,o),r=await this.transporter.request(e)}catch(o){let s=o.response;if(s){let i=s.status,a=s.config.data instanceof WN.Readable;if(!n&&(i===401||i===403)&&!a&&this.forceRefreshOnFailure)return await this.refreshAccessTokenAsync(),await this.requestAsync(e,!0)}throw o}return r}async refreshAccessTokenAsync(){let e=(await this.authClient.getAccessToken()).token,n={grantType:JN,requestedTokenType:KN,subjectToken:e,subjectTokenType:VN},r=await this.stsCredential.exchangeToken(n,void 0,this.credentialAccessBoundary),o=this.authClient.credentials?.expiry_date||null,s=r.expires_in?new Date().getTime()+r.expires_in*1e3:o;return this.cachedDownscopedAccessToken={access_token:r.access_token,expiry_date:s,res:r.res},this.credentials={},Object.assign(this.credentials,this.cachedDownscopedAccessToken),delete this.credentials.res,this.emit("tokens",{refresh_token:null,expiry_date:this.cachedDownscopedAccessToken.expiry_date,access_token:this.cachedDownscopedAccessToken.access_token,token_type:"Bearer",id_token:null}),this.cachedDownscopedAccessToken}isExpired(e){let n=new Date().getTime();return e.expiry_date?n>=e.expiry_date-this.eagerRefreshThresholdMillis:!1}};En.DownscopedClient=ag});var lA=J(ll=>{"use strict";Object.defineProperty(ll,"__esModule",{value:!0});ll.PassThroughClient=void 0;var YN=Rt(),cg=class extends YN.AuthClient{async request(e){return this.transporter.request(e)}async getAccessToken(){return{}}async getRequestHeaders(){return new Headers}};ll.PassThroughClient=cg});var dl=J(ne=>{"use strict";var XN=ne&&ne.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(e,n);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,o)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),QN=ne&&ne.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&XN(e,t,n)};Object.defineProperty(ne,"__esModule",{value:!0});ne.GoogleAuth=ne.auth=ne.GDCH_SERVICE_ACCOUNT_TYPE=ne.GdchClient=ne.PassThroughClient=ne.ExternalAccountAuthorizedUserClient=ne.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=ne.ExecutableError=ne.PluggableAuthClient=ne.DownscopedClient=ne.BaseExternalAccountClient=ne.ExternalAccountClient=ne.IdentityPoolClient=ne.AwsRequestSigner=ne.AwsClient=ne.UserRefreshClient=ne.LoginTicket=ne.ClientAuthentication=ne.OAuth2Client=ne.CodeChallengeMethod=ne.Impersonated=ne.JWT=ne.JWTAccess=ne.IdTokenClient=ne.IAMAuth=ne.GCPEnv=ne.Compute=ne.DEFAULT_UNIVERSE=ne.AuthClient=ne.gaxios=ne.gcpMetadata=void 0;var dA=aA();Object.defineProperty(ne,"GoogleAuth",{enumerable:!0,get:function(){return dA.GoogleAuth}});ne.gcpMetadata=xi();ne.gaxios=it();var fA=Rt();Object.defineProperty(ne,"AuthClient",{enumerable:!0,get:function(){return fA.AuthClient}});Object.defineProperty(ne,"DEFAULT_UNIVERSE",{enumerable:!0,get:function(){return fA.DEFAULT_UNIVERSE}});var ZN=qh();Object.defineProperty(ne,"Compute",{enumerable:!0,get:function(){return ZN.Compute}});var eM=Hh();Object.defineProperty(ne,"GCPEnv",{enumerable:!0,get:function(){return eM.GCPEnv}});var tM=cA();Object.defineProperty(ne,"IAMAuth",{enumerable:!0,get:function(){return tM.IAMAuth}});var nM=zh();Object.defineProperty(ne,"IdTokenClient",{enumerable:!0,get:function(){return nM.IdTokenClient}});var rM=pm();Object.defineProperty(ne,"JWTAccess",{enumerable:!0,get:function(){return rM.JWTAccess}});var oM=mm();Object.defineProperty(ne,"JWT",{enumerable:!0,get:function(){return oM.JWT}});var sM=bm();Object.defineProperty(ne,"Impersonated",{enumerable:!0,get:function(){return sM.Impersonated}});var ug=Tr();Object.defineProperty(ne,"CodeChallengeMethod",{enumerable:!0,get:function(){return ug.CodeChallengeMethod}});Object.defineProperty(ne,"OAuth2Client",{enumerable:!0,get:function(){return ug.OAuth2Client}});Object.defineProperty(ne,"ClientAuthentication",{enumerable:!0,get:function(){return ug.ClientAuthentication}});var iM=Bh();Object.defineProperty(ne,"LoginTicket",{enumerable:!0,get:function(){return iM.LoginTicket}});var aM=ym();Object.defineProperty(ne,"UserRefreshClient",{enumerable:!0,get:function(){return aM.UserRefreshClient}});var cM=Um();Object.defineProperty(ne,"AwsClient",{enumerable:!0,get:function(){return cM.AwsClient}});var uM=Nm();Object.defineProperty(ne,"AwsRequestSigner",{enumerable:!0,get:function(){return uM.AwsRequestSigner}});var lM=Im();Object.defineProperty(ne,"IdentityPoolClient",{enumerable:!0,get:function(){return lM.IdentityPoolClient}});var dM=Ym();Object.defineProperty(ne,"ExternalAccountClient",{enumerable:!0,get:function(){return dM.ExternalAccountClient}});var fM=Dr();Object.defineProperty(ne,"BaseExternalAccountClient",{enumerable:!0,get:function(){return fM.BaseExternalAccountClient}});var pM=uA();Object.defineProperty(ne,"DownscopedClient",{enumerable:!0,get:function(){return pM.DownscopedClient}});var pA=Km();Object.defineProperty(ne,"PluggableAuthClient",{enumerable:!0,get:function(){return pA.PluggableAuthClient}});Object.defineProperty(ne,"ExecutableError",{enumerable:!0,get:function(){return pA.ExecutableError}});var hA=Zm();Object.defineProperty(ne,"EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE",{enumerable:!0,get:function(){return hA.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE}});Object.defineProperty(ne,"ExternalAccountAuthorizedUserClient",{enumerable:!0,get:function(){return hA.ExternalAccountAuthorizedUserClient}});var hM=lA();Object.defineProperty(ne,"PassThroughClient",{enumerable:!0,get:function(){return hM.PassThroughClient}});var mA=tg();Object.defineProperty(ne,"GdchClient",{enumerable:!0,get:function(){return mA.GdchClient}});Object.defineProperty(ne,"GDCH_SERVICE_ACCOUNT_TYPE",{enumerable:!0,get:function(){return mA.GDCH_SERVICE_ACCOUNT_TYPE}});QN(dm(),ne);var mM=new dA.GoogleAuth;ne.auth=mM});var FT=J((s9,Cy)=>{"use strict";var qq=/at\s(?:.*\.)?plugin\s.*\n\s*(.*)/,$q=/(\w*(\.\w*)*)\..*/;Cy.exports=function(e){if(e.name.length>0)return e.name;let n=Error.stackTraceLimit;Error.stackTraceLimit=10;try{throw new Error("anonymous function")}catch(r){return Error.stackTraceLimit=n,IT(r.stack)}};function IT(t){let e=t.match(qq);return e?e[1].split(/[/\\]/).slice(-1)[0].match($q)[1]:"anonymous"}Cy.exports.extractPluginName=IT});var MT=J((i9,NT)=>{"use strict";NT.exports=function(e){return e[0]==="@"&&(e=e.slice(1).replace("/","-")),e.replace(/-(.)/g,function(n,r){return r.toUpperCase()})}});var BT=J((a9,bd)=>{"use strict";var zq=FT(),Hq=MT(),Wq=0;function wy(t,e={}){let n=!1;if(t.default!==void 0&&(t=t.default),typeof t!="function")throw new TypeError(`fastify-plugin expects a function, instead got a '${typeof t}'`);if(typeof e=="string"&&(e={fastify:e}),typeof e!="object"||Array.isArray(e)||e===null)throw new TypeError("The options object should be an object");if(e.fastify!==void 0&&typeof e.fastify!="string")throw new TypeError(`fastify-plugin expects a version string, instead got '${typeof e.fastify}'`);e.name||(n=!0,e.name=zq(t)+"-auto-"+Wq++),t[Symbol.for("skip-override")]=e.encapsulate!==!0,t[Symbol.for("fastify.display-name")]=e.name,t[Symbol.for("plugin-meta")]=e,t.default||(t.default=t);let r=Hq(e.name);return!n&&!t[r]&&(t[r]=t),t}bd.exports=wy;bd.exports.default=wy;bd.exports.fastifyPlugin=wy});var ea,ky=mr(()=>{"use strict";ea=class{type="console";config;colors={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"};constructor(e={}){this.config={colors:!0,level:"log",...e}}formatData(e,n){let{format:r="text",timestamp:o=!0,prefix:s,metadata:i}=n||{},a="";if(o){let u=new Date().toISOString();a+=this.config.colors?`${this.colors.cyan}[${u}]${this.colors.reset} `:`[${u}] `}switch(s&&(a+=this.config.colors?`${this.colors.bright}${s}${this.colors.reset} `:`${s} `),r){case"json":a+=JSON.stringify(e,null,2);break;case"markdown":typeof e=="object"?a+=this.toMarkdown(e):a+=String(e);break;default:typeof e=="object"?a+=JSON.stringify(e,null,2):a+=String(e);break}return i&&Object.keys(i).length>0&&(a+=`
|
|
97
|
+
`+(this.config.colors?`${this.colors.dim}`:""),a+="Metadata: "+JSON.stringify(i,null,2),this.config.colors&&(a+=this.colors.reset)),a}toMarkdown(e,n=0){let r=" ".repeat(n);return Array.isArray(e)?e.map(o=>typeof o=="object"?`${r}-
|
|
98
98
|
${this.toMarkdown(o,n+1)}`:`${r}- ${o}`).join(`
|
|
99
99
|
`):typeof e=="object"&&e!==null?Object.entries(e).map(([o,s])=>typeof s=="object"&&s!==null?`${r}${o}:
|
|
100
100
|
${this.toMarkdown(s,n+1)}`:`${r}${o}: ${s}`).join(`
|
|
101
|
-
`):`${r}${e}`}async output(e,n={}){try{let r=this.formatData(e,n);switch(this.config.level||"log"){case"info":console.info(r);break;case"warn":console.warn(r);break;case"error":console.error(r);break;case"debug":console.debug(r);break;default:console.log(r);break}return!0}catch(r){return console.error("[ConsoleOutputHandler] Output failed:",r),!1}}}});var Ji,ey=lr(()=>{"use strict";Ji=class{type="webhook";config;defaultTimeout=3e4;logger=null;setLogger(e){this.logger=e,this.logger&&(typeof this.logger.info=="function"&&(this.logger.info=this.logger.info.bind(this.logger)),typeof this.logger.warn=="function"&&(this.logger.warn=this.logger.warn.bind(this.logger)),typeof this.logger.error=="function"&&(this.logger.error=this.logger.error.bind(this.logger)))}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 n=Buffer.from(`${this.config.auth.username}:${this.config.auth.password}`).toString("base64");e.Authorization=`Basic ${n}`}break;case"custom":this.config.auth.custom&&(e[this.config.auth.custom.header]=this.config.auth.custom.value);break}return e}buildBody(e,n){let{timestamp:r=!0,prefix:o,metadata:s}=n||{},i={data:e};return r&&(i.timestamp=new Date().toISOString()),o&&(i.prefix=o),s&&Object.keys(s).length>0&&(i.metadata=s),i}async sendRequest(e,n,r,o,s){let i=new AbortController,c=setTimeout(()=>i.abort(),s);try{let u=await fetch(e,{method:n,headers:r,body:JSON.stringify(o),signal:i.signal});if(clearTimeout(c),!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);return u}catch(u){throw clearTimeout(c),u}}delay(e){return new Promise(n=>setTimeout(n,e))}async sendWithRetry(e,n,r,o,s,i){let c=null;for(let u=1;u<=i.maxAttempts;u++)try{return await this.sendRequest(e,n,r,o,s)}catch(f){if(c=f,u===i.maxAttempts)break;let d=i.backoffMs*Math.pow(2,u-1);(this.logger?.warn??console.warn)(`[WebhookOutputHandler] Request failed (attempt ${u}/${i.maxAttempts}), retrying in ${d}ms...`,f.message),await this.delay(d)}throw c}async output(e,n={}){let r=n.timeout||this.defaultTimeout;try{let o=this.buildHeaders(),s=this.buildBody(e,n);return await this.sendWithRetry(this.config.url,this.config.method,o,s,r,this.config.retry),!0}catch(o){let s=o instanceof Error?o.message:String(o);if(this.config.silent)return(this.logger?.error??console.error)(`[WebhookOutputHandler] Failed to send data: ${s}`),!1;throw new Error(`Webhook output failed: ${s}`,{cause:o})}}}});import{writeFileSync as wq,existsSync as kq,mkdirSync as Sq}from"fs";import{join as gT}from"path";import{tmpdir as Eq}from"os";var Vi,ty=lr(()=>{"use strict";Vi=class{type="temp-file";config;baseDir;constructor(e={}){this.config={subdirectory:"claude-code-router",extension:"json",includeTimestamp:!1,prefix:"session",...e};let n=Eq();this.baseDir=gT(n,this.config.subdirectory),this.ensureDir()}ensureDir(){try{kq(this.baseDir)||Sq(this.baseDir,{recursive:!0})}catch{}}extractSessionId(e){try{let n=e.match(/_session_([a-f0-9-]+)/i);return n?n[1]:null}catch{return null}}getFilePath(e){let n=this.config.prefix||"session",r=this.config.extension?`.${this.config.extension}`:"",o;if(this.config.includeTimestamp){let s=Date.now();o=`${n}-${e}-${s}${r}`}else o=`${n}-${e}${r}`;return gT(this.baseDir,o)}async output(e,n={}){try{let r=n.metadata?.sessionId;if(!r)return!1;let o={...e,timestamp:Date.now(),sessionId:r},s=this.getFilePath(r);return wq(s,JSON.stringify(o,null,2),"utf-8"),!0}catch{return!1}}getBaseDir(){return this.baseDir}}});var ny,ws,yT=lr(()=>{"use strict";Zg();ey();ty();ny=class{handlers=new Map;defaultOptions={};logger=null;setLogger(e){this.logger=e,this.logger&&(typeof this.logger.info=="function"&&(this.logger.info=this.logger.info.bind(this.logger)),typeof this.logger.warn=="function"&&(this.logger.warn=this.logger.warn.bind(this.logger)),typeof this.logger.error=="function"&&(this.logger.error=this.logger.error.bind(this.logger)))}registerHandler(e,n){this.handlers.set(e,n)}registerHandlers(e){for(let n of e)if(n.enabled!==!1)try{let r=this.createHandler(n),o=n.type+"_"+Date.now();this.registerHandler(o,r)}catch(r){(this.logger?.error??console.error)(`[OutputManager] Failed to register ${n.type} handler:`,r)}}createHandler(e){let n;switch(e.type){case"console":n=new Gi(e.config);break;case"webhook":n=new Ji(e.config);break;case"temp-file":n=new Vi(e.config);break;default:throw new Error(`Unknown output handler type: ${e.type}`)}return this.logger&&typeof n.setLogger=="function"&&n.setLogger(this.logger),n}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,n){let r={...this.defaultOptions,...n},o={success:[],failed:[]},s=Array.from(this.handlers.entries()).map(async([i,c])=>{try{await c.output(e,r)?o.success.push(i):o.failed.push(i)}catch(u){(this.logger?.error??console.error)(`[OutputManager] Handler ${i} failed:`,u),o.failed.push(i)}});return await Promise.all(s),o}async outputTo(e,n,r){let o={...this.defaultOptions,...r},s={success:[],failed:[]},i=e.map(async c=>{let u=this.handlers.get(c);if(!u){(this.logger?.warn??console.warn)(`[OutputManager] Handler ${c} not found`),s.failed.push(c);return}try{await u.output(n,o)?s.success.push(c):s.failed.push(c)}catch(f){(this.logger?.error??console.error)(`[OutputManager] Handler ${c} failed:`,f),s.failed.push(c)}});return await Promise.all(i),s}async outputToType(e,n,r){let o=Array.from(this.handlers.entries()).filter(([s,i])=>i.type===e).map(([s])=>s);return this.outputTo(o,n,r)}},ws=new ny});var ST=In(w0(),1);import vq from"fastify";import Aq from"@fastify/cors";import{RATE_LIMIT_CONFIG as Tq}from"@caeliq/ccr-shared";var F0=In(Ef(),1);import{readFileSync as iR,existsSync as P0}from"fs";import{join as I0}from"path";import{config as aR}from"dotenv";var Co=class{config={};options;logger;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.logger=e.logger,this.logger&&(typeof this.logger.info=="function"&&(this.logger.info=this.logger.info.bind(this.logger)),typeof this.logger.warn=="function"&&(this.logger.warn=this.logger.warn.bind(this.logger)),typeof this.logger.error=="function"&&(this.logger.error=this.logger.error.bind(this.logger))),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:I0(process.cwd(),this.options.jsonPath);if(P0(e))try{let n=iR(e,"utf-8"),r=F0.default.parse(n);this.config={...this.config,...r},(this.logger?.info??console.log)(`Loaded JSON config from: ${e}`)}catch(n){(this.logger?.warn??console.warn)(`Failed to load JSON config from ${e}:`,n)}else(this.logger?.warn??console.warn)(`JSON config file not found: ${e}`)}loadEnvConfig(){let e=this.isAbsolutePath(this.options.envPath)?this.options.envPath:I0(process.cwd(),this.options.envPath);if(P0(e))try{let n=aR({path:e});n.parsed&&(this.config={...this.config,...this.parseEnvConfig(n.parsed)})}catch(n){(this.logger?.warn??console.warn)(`Failed to load .env config from ${e}:`,n)}}loadEnvironmentVariables(){let e=this.parseEnvConfig(process.env);this.config={...this.config,...e}}parseEnvConfig(e){let n={};return Object.assign(n,e),n}isAbsolutePath(e){return e.startsWith("/")||e.includes(":")}get(e,n){let r=this.config[e];return r!==void 0?r:n}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,n){this.config[e]=n}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(", ")}`}};var Af="(?:proxy[-_])?authorization|x[-_]?api[-_]?key|api[-_]?key|access[-_]?token|refresh[-_]?token|id[-_]?token|client[-_]?secret|secret|password|passwd|token|cookie|set[-_]?cookie";function Ze(t){return t.replace(/\b(?:https?|wss?):\/\/[^\s"'<>]+/gi,"[redacted-url]").replace(/\bBearer\s+[A-Za-z0-9._~+/=-]{8,}/gi,"Bearer [redacted]").replace(/\b(?:sk|rk|pk)-[A-Za-z0-9_-]{12,}/gi,"[redacted-secret]").replace(new RegExp(`"(${Af})"\\s*:\\s*"(?:\\\\.|[^"\\\\])*"`,"gi"),'"$1":"[redacted]"').replace(/\b(?:authorization|x-api-key|api-key|api_key|access_token|token)\s*[:=]\s*["']?[^\s,;"']+/gi,e=>`${e.split(/\s*[:=]/,1)[0]}=[redacted]`).replace(/\[[0-9a-f:]+\](?::\d+)?/gi,"[redacted-address]").replace(/\b(?:\d{1,3}\.){3}\d{1,3}(?::\d+)?\b/g,"[redacted-address]").replace(/\b(connect(?:ing)?(?:\s+to)?|from|to)\s+(?:localhost|(?:[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?\.)+[a-z]{2,63})(?::\d+)?\b/gi,"$1 [redacted-address]").replace(/([?&](?:api_?key|key|token|access_token|auth)=)[^&\s]+/gi,"$1[redacted]").replace(/\s+/g," ").trim().slice(0,240)}var cR=new RegExp(`^(?:${Af})$`,"i"),uR=6,lR=20;function Ua(t,e=0){if(t==null)return t;if(!(e>uR)){if(typeof t=="string")return Ze(t);if(Array.isArray(t))return t.slice(0,lR).map(n=>Ua(n,e+1));if(typeof t=="object"){let n={};for(let[r,o]of Object.entries(t))n[r]=cR.test(r)?"[redacted]":Ua(o,e+1);return n}return t}}var N0=32768;function dR(t,e=N0){let n=t.replace(/\bBearer\s+[A-Za-z0-9._~+/=-]{8,}/gi,"Bearer [redacted]").replace(/\b(?:sk|rk|pk)-[A-Za-z0-9_-]{12,}/gi,"[redacted-secret]").replace(new RegExp(`"(${Af})"\\s*:\\s*"(?:\\\\.|[^"\\\\])*"`,"gi"),'"$1":"[redacted]"'),r=Math.max(0,e);if(n.length<=r)return n;let o=n.length-r;return`${n.slice(0,r)}\u2026[truncated ${o} bytes]`}function fR(t,e){return t.split(`
|
|
102
|
-
`).map(n=>
|
|
103
|
-
`).slice(0,e)}function
|
|
104
|
-
`):""}function
|
|
105
|
-
`);return s.trim()?W0(s):void 0}function qr(t,e={}){let n=e.maxBreakpoints??4,r=JSON.parse(JSON.stringify(t)),o=[],s=f=>{f&&typeof f=="object"&&f.cache_control&&o.push(f)};(Array.isArray(r.tools)?r.tools:[]).forEach(s),Array.isArray(r.system)?r.system.forEach(s):s(r.system),(Array.isArray(r.messages)?r.messages:[]).forEach(f=>{s(f),Array.isArray(f?.content)&&f.content.forEach(s)});let i=!!r.cache_control,c=Math.max(0,n-(i?1:0));if(o.length>c)for(let f of o.slice(0,o.length-c))delete f.cache_control;let u=Math.min(o.length,c);if(!i&&u<n){let f=o[o.length-1]?.cache_control;r.cache_control=f?.ttl?{type:"ephemeral",ttl:f.ttl}:Of}return r}function $r(t){let e=We(t.messages||[]),n=Ge(t.tools);for(let r=e.length-1;r>=0;r-=1){let o=e[r];if(typeof o.content=="string"&&o.content){o.content=[{type:"text",text:o.content,cache_control:Of}];break}if(Array.isArray(o.content))for(let s=o.content.length-1;s>=0;s-=1){let i=o.content[s];if(i?.type==="text"&&i.text)return o.content[s]={...i,cache_control:Of},{...t,messages:e,...n?{tools:n}:{}}}}return{...t,messages:e,...n?{tools:n}:{}}}function ja(t){let e=[];for(let n=0;n<t.length;n++){let r={...t[n]};if(r.role==="assistant"&&r.tool_calls){let o=[],s=[],i=[],c=n+1;for(;c<t.length&&t[c].role==="tool";)i.push(t[c]),c++;r.tool_calls.forEach(u=>{i.some(d=>d.tool_call_id===u.id)?o.push(u):s.push(u.id)}),o.length>0?r.tool_calls=o:delete r.tool_calls,(r.content||r.tool_calls)&&e.push(r)}else if(r.role==="tool"){let o=!1;if(n>0){let s=t[n-1];if(s.role==="assistant"&&s.tool_calls)o=s.tool_calls.some(i=>i.id===r.tool_call_id);else if(s.role==="tool"){for(let i=n-1;i>=0;i--)if(t[i].role!=="tool"){t[i].role==="assistant"&&t[i].tool_calls&&(o=t[i].tool_calls.some(c=>c.id===r.tool_call_id));break}}}o&&e.push(r)}else e.push(r)}return e}function G0(t){let n=(t||"").toLowerCase().match(/(?:^|\/)gpt-(\d+)(?:\.(\d+))?/);if(!n)return!1;let r=Number(n[1]),o=Number(n[2]||0);return r>5||r===5&&o>=6}function J0(t){return t?.type==="text"||t?.type==="image_url"||t?.type==="input_audio"||t?.type==="file"||t?.type==="refusal"}function DR(t){for(let e=t.length-1;e>=0;e-=1)if(J0(t[e]))return e;return-1}function Qs(t,e,n){let r={...t,messages:(t.messages||[]).map(s=>({...s,content:Array.isArray(s.content)?s.content.map(i=>({...i})):s.content})),tools:Array.isArray(t.tools)?t.tools.map(s=>s?.function?{...s,function:{...s.function,parameters:{...s.function.parameters}}}:{...s}):t.tools},o=zt(n,t);if(o&&!r.prompt_cache_key&&(r.prompt_cache_key=o),G0(r.model)){let s=[];r.messages.forEach((i,c)=>{if(i.cache_control){if(typeof i.content=="string"&&i.content)s.push({messageIndex:c});else if(Array.isArray(i.content)){let u=DR(i.content);u>=0&&s.push({messageIndex:c,contentIndex:u})}}Array.isArray(i.content)&&i.content.forEach((u,f)=>{u?.cache_control&&J0(u)&&s.push({messageIndex:c,contentIndex:f})})});for(let i of s.slice(-3)){let c=r.messages[i.messageIndex];typeof c.content=="string"?c.content=[{type:"text",text:c.content,prompt_cache_breakpoint:{mode:"explicit"}}]:Array.isArray(c.content)&&i.contentIndex!==void 0&&(c.content[i.contentIndex].prompt_cache_breakpoint={mode:"explicit"})}}return r.messages=We(r.messages),r.tools=Ge(r.tools),r}function La(t,e){return G0(e)?t?.prompt_cache_breakpoint?{prompt_cache_breakpoint:t.prompt_cache_breakpoint}:{}:{}}function OR(t){return String(t?.name||"").trim().toLowerCase()}function PR(t){let e=t?.baseUrl||t?.api_base_url||"";try{return new URL(e).hostname.toLowerCase()}catch{return String(e).toLowerCase()}}function Pf(t,e){let n={...t,messages:We(t.messages||[]),tools:Ge(t.tools)},r=zt(e,t);return r&&(n.prompt_cache_key=r),n}function qa(t,e,n){let r=OR(e),o=PR(e);return r==="openai"||r==="azure-openai"||o==="api.openai.com"||o.endsWith(".openai.azure.com")?Qs(t,e,n):r==="qwen"||r==="qwen-auth"||o.includes("dashscope")||o.endsWith(".aliyuncs.com")||o==="qwen.aikit.club"?$r(t):r==="mistral"||r==="cerebras"||o==="api.mistral.ai"||o==="api.cerebras.ai"?Pf(t,n):{...t,messages:We(t.messages||[]),tools:Ge(t.tools)}}async function V0(t,e,n){let r=await t(e);if(r.status!==401||typeof n!="function")return r;let o=await n();if(!o)return r;try{await r.body?.cancel()}catch{}return Object.assign(e,o),t(e)}function K0(t,e){let n=e.toLowerCase();return Object.keys(t).find(r=>r.toLowerCase()===n)}function $a(t,e){let n={...t||{}};if(!e)return n;for(let[r,o]of Object.entries(e)){let s=K0(n,r);s&&delete n[s],o!==void 0&&o!=="undefined"&&(n[r]=o)}return n}var IR=new Set(["content-length","content-encoding","transfer-encoding","connection","content-type","keep-alive"]);function Y0(t){let e={};return t&&t.forEach((n,r)=>{IR.has(r.toLowerCase())||(e[r]=n)}),e}var FR=new Set(["retry-after","request-id","x-request-id","openai-request-id"]),NR=["anthropic-ratelimit-","x-ratelimit-"];function If(t){let e={};if(!t)return e;let n=typeof t.forEach=="function"&&typeof t.entries=="function"?Array.from(t.entries()):Object.entries(t);for(let[r,o]of n){if(typeof o!="string"||!o)continue;let s=r.toLowerCase();!(FR.has(s)||NR.some(c=>s.startsWith(c)))||e[s]!==void 0||(e[s]=o)}return e}function X0(t,e){let n={};for(let[r,o]of Object.entries(t||{})){if(o===void 0||o==="undefined")continue;let s=r.toLowerCase(),i=s==="authorization"?"Authorization":s==="x-api-key"?"x-api-key":s,c=K0(n,i);c&&delete n[c],n[i]=o}return n["x-api-key"]?delete n.Authorization:!n.Authorization&&e&&(n.Authorization=`Bearer ${e}`),Object.fromEntries(Object.entries(n).filter(r=>typeof r[1]=="string"))}import{RATE_LIMIT_CONFIG as vo}from"@caeliq/ccr-shared";var Q0=[{protocol:"anthropic_messages",canonicalPath:"/v1/messages",aliases:[],ownerTransformerName:"Anthropic"},{protocol:"openai_chat_completions",canonicalPath:"/v1/chat/completions",aliases:["/chat/completions"],ownerTransformerName:"OpenAI"},{protocol:"openai_responses",canonicalPath:"/v1/responses",aliases:["/responses"],ownerTransformerName:"openai-responses"}],MR=["/v1/completions","/completions","/v1beta/interactions","/v1/interactions"],BR=/^\/preset\/[^/]+/;function UR(t){let e=t.split("?")[0]||"/";return e.length>1&&e.endsWith("/")?e.slice(0,-1):e||"/"}function jR(t){let e=t.match(BR);if(!e)return{suffix:t};let n=e[0];return{suffix:t.slice(n.length)||"/",presetPrefix:n}}function LR(t){return MR.some(e=>t===e)}function qR(t){for(let e of Q0){let n=[e.canonicalPath,...e.aliases];for(let r of n)if(t===r)return{protocol:e.protocol,canonicalPath:e.canonicalPath,matchedPath:r,ownerTransformerName:e.ownerTransformerName,isAlias:r!==e.canonicalPath,stream:!!e.defaultStream}}return null}function zr(t,e){if(t.toUpperCase()!=="POST")return null;let n=UR(e),{suffix:r,presetPrefix:o}=jR(n);if(LR(r))return null;let s=qR(r);return s?{...s,presetPrefix:o}:null}function $R(t,e){return zr(t,e)!==null}function Ff(){let t=[];for(let e of Q0){t.push({path:e.canonicalPath,protocol:e.protocol,ownerTransformerName:e.ownerTransformerName,isCanonical:!0});for(let n of e.aliases)t.push({path:n,protocol:e.protocol,ownerTransformerName:e.ownerTransformerName,isCanonical:!1})}return t}function Z0(t,e){return{protocol:t.protocol,pathname:t.matchedPath,canonicalPath:t.canonicalPath,matchedPath:t.matchedPath,originalModel:e?.originalModel,stream:e?.stream??t.stream,scenarioType:e?.scenarioType,ownerTransformerName:t.ownerTransformerName}}import{createHash as zR}from"crypto";var eb=/^[a-zA-Z0-9_-]+$/,tb=/[^a-zA-Z0-9_-]+/g,nb=256;function HR(t){return t.length>0&&t.length<=nb&&eb.test(t)}function Nf(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===95;)e--;return t.slice(0,e)}function Bn(t){if(typeof t!="string"||t.length===0)return;if(HR(t))return t;let e=Nf(t.replace(tb,"_").slice(0,nb));return e.length?e:void 0}var rb=64,ob=20,WR=rb-ob-1;function GR(t){return t.length>0&&t.length<=rb&&eb.test(t)}function yt(t){if(typeof t!="string"||t.length===0)return;if(GR(t))return t;let e=Nf(t.replace(tb,"_")),n=Nf(e.slice(0,WR))||"call",r=zR("sha256").update(t,"utf8").digest("base64url").slice(0,ob);return`${n}_${r}`}function ko(){return{forward:new Map,reverse:new Map}}function Zs(t,e,n="client_to_unified"){if(typeof e!="string"||!e)return;if(n==="unified_to_client"){let i=yt(e)??e;if(t.reverse.has(i))return i}let r=t.forward.get(e);if(r)return r;let o=yt(e)??e,s=0;for(;t.reverse.has(o)&&t.reverse.get(o)!==e;)s+=1,o=yt(`${e}_${s}`)||`call_${s}`;return t.forward.set(e,o),t.reverse.set(o,e),o}function za(t,e=ko()){if(!t||typeof t!="object")throw W("Invalid Responses body",400,"invalid_body");if(typeof t.model!="string"||!t.model.trim())throw W("Responses requires model",400,"invalid_body","invalid_request_error");if(JR(t),t.stream!==void 0&&typeof t.stream!="boolean")throw W("stream must be a boolean",400,"invalid_stream","invalid_request_error");if(t.instructions!==void 0&&typeof t.instructions!="string")throw W("instructions must be a string",400,"invalid_instructions","invalid_request_error");if(t.max_tokens!==void 0)throw W("Responses uses max_output_tokens, not max_tokens",400,"unsupported_field","invalid_request_error");if(t.max_output_tokens!=null){let u=Number(t.max_output_tokens);if(!Number.isInteger(u)||u<=0)throw W("max_output_tokens must be a positive integer",400,"invalid_token_limit","invalid_request_error")}if(t.reasoning!==void 0&&(t.reasoning===null||typeof t.reasoning!="object"||Array.isArray(t.reasoning)))throw W("reasoning must be an object",400,"invalid_reasoning","invalid_request_error");if(t.parallel_tool_calls!==void 0&&typeof t.parallel_tool_calls!="boolean")throw W("parallel_tool_calls must be a boolean",400,"invalid_parallel_tool_calls","invalid_request_error");if(t.prompt_cache_key!==void 0&&typeof t.prompt_cache_key!="string")throw W("prompt_cache_key must be a string",400,"invalid_prompt_cache_key","invalid_request_error");if(t.text?.format&&t.text.format.type!=="text")throw W("Structured text formats are not supported without a verified mapping",400,"unsupported_response_format","invalid_request_error");for(let u of["metadata","max_tool_calls","service_tier","safety_identifier","top_logprobs","truncation"])if(t[u]!==void 0&&t[u]!==null)throw W(`Responses field '${u}' is not supported`,400,"unsupported_field","invalid_request_error");let n=[];typeof t.instructions=="string"&&t.instructions&&n.push({role:"system",content:t.instructions});let r=t.input;if(typeof r=="string")n.push({role:"user",content:r});else if(Array.isArray(r)){if(r.length===0)throw W("Responses input[] must not be empty",400,"invalid_input","invalid_request_error");for(let u of r)VR(n,u,e)}else throw W("Responses requires string input or input[]",400,"invalid_input","invalid_request_error");if(n.length===0)throw W("Responses input did not contain a supported item",400,"invalid_input","invalid_request_error");let o=YR(t.tools),s=XR(t.tool_choice),i=t.reasoning&&typeof t.reasoning=="object"?{enabled:!0,effort:t.reasoning.effort,summary:t.reasoning.summary}:void 0,c={model:t.model,messages:n,tools:o,tool_choice:s,stream:t.stream===!0,temperature:t.temperature,top_p:t.top_p,max_tokens:t.max_output_tokens??t.max_tokens,reasoning:i,parallel_tool_calls:t.parallel_tool_calls};return typeof t.prompt_cache_key=="string"&&(c.prompt_cache_key=t.prompt_cache_key),c}function JR(t){if(t.store===!0)throw W("store: true is not supported; CCR does not own Responses state",400,"unsupported_store","invalid_request_error");if(t.previous_response_id)throw W("previous_response_id is not supported",400,"unsupported_previous_response_id","invalid_request_error");if(t.conversation)throw W("conversation is not supported",400,"unsupported_conversation","invalid_request_error");if(t.background===!0)throw W("background: true is not supported",400,"unsupported_background","invalid_request_error");if(Array.isArray(t.tools))for(let e of t.tools){let n=e?.type;if(typeof n!="string"||!n)throw W("Responses tools require a type",400,"invalid_tool","invalid_request_error");if(n!=="function"&&n!=="web_search"&&n!=="web_search_preview")throw W(`Hosted tool type '${n}' is not supported on cross-protocol routes`,400,"unsupported_hosted_tool","invalid_request_error")}}function VR(t,e,n){if(!e||typeof e!="object")throw W("Invalid Responses input item",400,"invalid_input_item","invalid_request_error");if(e.type==="function_call_output"){if(typeof e.call_id!="string"||!e.call_id)throw W("function_call_output requires call_id",400,"invalid_call_id","invalid_request_error");t.push({role:"tool",tool_call_id:Zs(n,e.call_id)??e.call_id,content:typeof e.output=="string"?e.output:JSON.stringify(e.output??"")});return}if(e.type==="function_call"){let r=e.call_id||e.id;if(typeof r!="string"||!r)throw W("function_call requires call_id",400,"invalid_call_id","invalid_request_error");if(typeof e.name!="string"||!e.name)throw W("function_call requires name",400,"invalid_function_call","invalid_request_error");t.push({role:"assistant",content:null,tool_calls:[{id:Zs(n,r)??r,type:"function",function:{name:e.name,arguments:typeof e.arguments=="string"?e.arguments:JSON.stringify(e.arguments??{})}}]});return}if(e.type==="message"||e.role){let r=e.role==="assistant"?"assistant":e.role==="system"||e.role==="developer"?"system":e.role==="user"?"user":void 0;if(!r)throw W(`Unsupported Responses message role '${e.role}'`,400,"unsupported_role","invalid_request_error");if(typeof e.content!="string"&&!Array.isArray(e.content))throw W("Responses message items require string or array content",400,"invalid_content","invalid_request_error");t.push({role:r,content:KR(e.content)});return}if(e.type==="input_text"||e.type==="output_text"){t.push({role:e.type==="output_text"?"assistant":"user",content:String(e.text??"")});return}if(e.type==="input_image"){if(e.file_id)throw W("Provider-bound file_id inputs are not supported",400,"unsupported_file_id","invalid_request_error");let r=e.image_url||e.url;if(typeof r!="string"||!r)throw W("input_image requires image_url",400,"invalid_image","invalid_request_error");t.push({role:"user",content:[{type:"image_url",image_url:{url:r,...e.detail?{detail:e.detail}:{}}}]});return}throw W(`Unsupported Responses input item type '${e.type||"unknown"}'`,400,"unsupported_input_item","invalid_request_error")}function KR(t){if(typeof t=="string")return t;if(!Array.isArray(t))return t==null?"":JSON.stringify(t);let e=[];for(let n of t){if(typeof n=="string"){e.push({type:"text",text:n});continue}if(!(!n||typeof n!="object"))if(n.type==="input_text"||n.type==="output_text"||n.type==="text")e.push({type:"text",text:String(n.text??"")});else if(n.type==="input_image"||n.type==="image_url"){if(n.file_id)throw W("Provider-bound file_id inputs are not supported",400,"unsupported_file_id","invalid_request_error");let r=n.image_url?.url||n.image_url||n.url;if(typeof r!="string"||!r)throw W("input_image requires image_url",400,"invalid_image","invalid_request_error");e.push({type:"image_url",image_url:{url:r,...n.detail?{detail:n.detail}:{}}})}else throw W(`Unsupported Responses content part '${n.type||"unknown"}'`,400,"unsupported_content_part","invalid_request_error")}return e.length===1&&e[0].type==="text"?e[0].text:e.length>0?e:""}function YR(t){if(t!=null){if(!Array.isArray(t))throw W("Responses tools must be an array",400,"invalid_tools","invalid_request_error");return t.map(e=>{if(e?.type==="function"){let n=e.name||e.function?.name;if(typeof n!="string"||!n)throw W("Responses function tools require a name",400,"invalid_tool","invalid_request_error");return{type:"function",function:{name:n,description:e.description||e.function?.description,parameters:e.parameters||e.function?.parameters||{type:"object",properties:{}}}}}if(e?.type==="web_search"||e?.type==="web_search_preview")return{...e,type:"web_search"};throw W(`Unsupported Responses tool type '${e?.type||"unknown"}'`,400,"unsupported_hosted_tool","invalid_request_error")})}}function XR(t){if(t!=null){if(typeof t=="string"){if(["auto","none","required"].includes(t))return t;throw W(`Unsupported Responses tool_choice '${t}'`,400,"unsupported_tool_choice","invalid_request_error")}if(t?.type==="function"&&t?.name)return{type:"function",function:{name:t.name}};throw t?.type==="allowed_tools"?W("allowed_tools tool_choice is not supported",400,"unsupported_tool_choice","invalid_request_error"):W("Unsupported Responses tool_choice",400,"unsupported_tool_choice","invalid_request_error")}}function sb(t,e){let n=e?.callIdMap??ko(),o=t?.choices?.[0]?.message||{},s=[],i=typeof o.content=="string"?o.content:Array.isArray(o.content)?o.content.filter(u=>u?.type==="text").map(u=>u.text).join(""):"";if(i||!o.tool_calls?.length){let u=`msg_${t.id||Date.now()}`;s.push({type:"message",id:u,status:"completed",role:"assistant",content:[{type:"output_text",text:i||"",annotations:[],logprobs:o?.logprobs?.content||[]}]})}if(Array.isArray(o.tool_calls))for(let u of o.tool_calls){if(!u?.function)continue;let f=Zs(n,u.id,"unified_to_client")??u.id;s.push({type:"function_call",id:f,call_id:f,name:u.function.name,arguments:typeof u.function.arguments=="string"?u.function.arguments:JSON.stringify(u.function.arguments??{}),status:"completed"})}let c=db(t?.usage);return{id:t?.id||`resp_${Date.now()}`,object:"response",created_at:t?.created||Math.floor(Date.now()/1e3),status:"completed",model:e?.originalModel||t?.model,output:s,usage:c}}function ib(t){let e=`resp_${Date.now()}`;return{responseId:e,model:t?.model,textItemId:`msg_${e}`,textStarted:!1,textContent:"",toolCalls:new Map,nextOutputIndex:0,finished:!1,created:!1,sequenceNumber:0,finishReasonSeen:!1,callIdMap:t?.callIdMap??ko()}}function ab(t,e){return e.map(n=>({...n,sequence_number:t.sequenceNumber++}))}function cb(t,e){t.created||(t.created=!0,e.push({type:"response.created",response:lb(t,"in_progress")}))}function ub(t,e){if(!t||typeof t!="object")return[];if(e.finished)return[];let n=[],r=t.choices?.[0],o=r?.delta||{};if(!e.model&&t.model&&(e.model=t.model),t.id&&(e.responseId=t.id.startsWith("resp_")?t.id:`resp_${t.id}`),t.usage&&(e.usage=t.usage),!e.textStarted&&e.toolCalls.size===0&&(typeof o.content=="string"||Array.isArray(o.tool_calls)||r?.finish_reason)&&cb(e,n),typeof o.content=="string"&&o.content.length>0&&(e.textStarted||(e.textStarted=!0,e.textOutputIndex=e.nextOutputIndex++,n.push({type:"response.output_item.added",output_index:e.textOutputIndex,item:{type:"message",id:e.textItemId,status:"in_progress",role:"assistant",content:[]}}),n.push({type:"response.content_part.added",item_id:e.textItemId,output_index:e.textOutputIndex,content_index:0,part:{type:"output_text",text:"",annotations:[]}})),e.textContent+=o.content,n.push({type:"response.output_text.delta",item_id:e.textItemId,output_index:e.textOutputIndex,content_index:0,delta:o.content,logprobs:[]})),Array.isArray(o.tool_calls))for(let s of o.tool_calls){let i=typeof s.index=="number"?s.index:0,c=e.toolCalls.get(i);if(c||(c={id:Zs(e.callIdMap,s.id||`call_${e.responseId}_${i}`,"unified_to_client")||`call_${i}`,name:s.function?.name||"",arguments:"",added:!1,outputIndex:e.nextOutputIndex++,emittedArgumentsLength:0},e.toolCalls.set(i,c)),s.id&&!c.added&&(c.id=Zs(e.callIdMap,s.id,"unified_to_client")||c.id),s.function?.name&&(c.name=s.function.name),typeof s.function?.arguments=="string"&&(c.arguments+=s.function.arguments),!c.added&&c.name&&(c.added=!0,n.push({type:"response.output_item.added",output_index:c.outputIndex,item:{type:"function_call",id:c.id,call_id:c.id,name:c.name,arguments:"",status:"in_progress"}})),c.added&&c.arguments.length>c.emittedArgumentsLength){let u=c.arguments.slice(c.emittedArgumentsLength);c.emittedArgumentsLength=c.arguments.length,n.push({type:"response.function_call_arguments.delta",item_id:c.id,output_index:c.outputIndex,delta:u})}}return r?.finish_reason&&(e.finishReasonSeen=!0),ab(e,n)}function Mf(t,e){if(t.finished)return[];t.finished=!0;let n=[];cb(t,n),t.textStarted&&(n.push({type:"response.output_text.done",item_id:t.textItemId,output_index:t.textOutputIndex,content_index:0,text:t.textContent,logprobs:[]}),n.push({type:"response.content_part.done",item_id:t.textItemId,output_index:t.textOutputIndex,content_index:0,part:{type:"output_text",text:t.textContent,annotations:[],logprobs:[]}}),n.push({type:"response.output_item.done",output_index:t.textOutputIndex,item:{type:"message",id:t.textItemId,status:"completed",role:"assistant",content:[{type:"output_text",text:t.textContent,annotations:[],logprobs:[]}]}}));for(let o of t.toolCalls.values())n.push({type:"response.function_call_arguments.done",item_id:o.id,output_index:o.outputIndex,name:o.name,arguments:o.arguments}),n.push({type:"response.output_item.done",output_index:o.outputIndex,item:{type:"function_call",id:o.id,call_id:o.id,name:o.name,arguments:o.arguments,status:"completed"}});let r=lb(t,"completed",e||t.usage);return n.push({type:"response.completed",response:r}),ab(t,n)}function lb(t,e,n){let r=[];(t.textStarted||t.textContent)&&r.push({index:t.textOutputIndex??0,item:{type:"message",id:t.textItemId,status:e==="completed"?"completed":"in_progress",role:"assistant",content:[{type:"output_text",text:t.textContent,annotations:[],logprobs:[]}]}});for(let s of t.toolCalls.values())r.push({index:s.outputIndex,item:{type:"function_call",id:s.id,call_id:s.id,name:s.name,arguments:s.arguments,status:e==="completed"?"completed":"in_progress"}});let o=r.sort((s,i)=>s.index-i.index).map(({item:s})=>s);return{id:t.responseId,object:"response",created_at:Math.floor(Date.now()/1e3),status:e,model:t.model,output:o,usage:db(n)}}function db(t){if(!t||typeof t!="object")return;let e={input_tokens:t.prompt_tokens??0,output_tokens:t.completion_tokens??0,total_tokens:t.total_tokens??0},n=t.prompt_tokens_details;return n&&typeof n=="object"&&(e.input_tokens_details={},n.cached_tokens!=null&&(e.input_tokens_details.cached_tokens=n.cached_tokens),n.cache_write_tokens!=null&&(e.input_tokens_details.cache_write_tokens=n.cache_write_tokens)),e}function ei(t,e){let n={type:"response.failed",response:{id:e?.responseId||`resp_${Date.now()}`,object:"response",status:"failed",error:{message:t,type:"api_error",code:"provider_response_error"},output:[]}};return e?{...n,sequence_number:e.sequenceNumber++}:n}function fb(t,e,n){let r=e&&typeof e=="object"?So(e):{},o=t.stream,s=typeof r.model=="string"?r.model:void 0;(t.protocol==="openai_chat_completions"||t.protocol==="openai_responses"||t.protocol==="anthropic_messages")&&(o=r.stream===!0);let i=Z0(t,{originalModel:s,stream:o});return{normalizationInput:r,context:i}}async function pb(t,e,n,r){if(typeof n.transformRequestOut=="function"){let o=await n.transformRequestOut(e,r);return o&&typeof o=="object"&&"body"in o&&o.body?o.body:o}if(t==="openai_chat_completions")return QR(e);if(t==="openai_responses")return za(e);throw t==="anthropic_messages"?W("Anthropic transformRequestOut is required",500,"transformer_misconfigured"):W(`Client protocol '${t}' normalization is not implemented yet`,501,"protocol_not_implemented")}function QR(t){if(!t||typeof t!="object")throw W("Invalid Chat Completions body",400,"invalid_body");if(!Array.isArray(t.messages))throw W("Chat Completions requires messages[]",400,"invalid_body","invalid_request_error");if(typeof t.model!="string"||!t.model)throw W("Chat Completions requires model",400,"invalid_body","invalid_request_error");return t}function So(t){return typeof structuredClone=="function"?structuredClone(t):JSON.parse(JSON.stringify(t))}var ZR=new Set(["accept","content-type","idempotency-key","anthropic-beta","anthropic-dangerous-direct-browser-access","anthropic-version","openai-beta","openai-organization","openai-project","user-agent","x-app","x-claude-code-session-id","x-client-request-id"]),ex=["x-stainless-"];function hb(t){let e={};if(!t)return e;let n=t instanceof Headers?Array.from(t.entries()):Object.entries(t);for(let[r,o]of n){let s=r.toLowerCase();if(!(ZR.has(s)||ex.some(u=>s.startsWith(u))))continue;let c=Array.isArray(o)?o[0]:o;typeof c=="string"&&c&&(e[s]=c)}return e}function mb(t,e,n,r){let o=t.transformer?.use;if(!Array.isArray(o)||o.length!==1||o[0]?.name!==e.name)return!1;let s=r?t.transformer?.[r]?.use:void 0;if(Array.isArray(s)&&s.length>0&&(s.length!==1||s[0]?.name!==e.name))return!1;let i={anthropic_messages:"Anthropic",openai_chat_completions:"OpenAI",openai_responses:"openai-responses"};return e.name===i[n]}import{get_encoding as tx}from"tiktoken";var Bf=class{capacity;cache;constructor(e){this.capacity=e,this.cache=new Map}get(e){if(!this.cache.has(e))return;let n=this.cache.get(e);return this.cache.delete(e),this.cache.set(e,n),n}put(e,n){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.capacity){let r=this.cache.keys().next().value;r!==void 0&&this.cache.delete(r)}this.cache.set(e,n)}values(){return Array.from(this.cache.values())}},Uf=new Bf(100);import{readFile as gb}from"fs/promises";import{opendir as nx,stat as yb}from"fs/promises";import{join as Lf,resolve as Ha,relative as Cb,basename as Wa}from"path";import{CLAUDE_PROJECTS_DIR as jf,HOME_DIR as rx}from"@caeliq/ccr-shared";import{LRUCache as ox}from"lru-cache";var sx=tx("cl100k_base"),Un=t=>sx.encode(t,void 0,[]),_b="<CCR-SUBAGENT-MODEL>",bb="</CCR-SUBAGENT-MODEL>",ti="x-anthropic-billing-header",Eo=t=>!!t&&typeof t=="object"&&!Array.isArray(t);function wb(t){let e=t?.trim();if(!e)return;if(e.includes(","))return e;let n=e.indexOf("/");return n>0?`${e.slice(0,n)},${e.slice(n+1)}`:e}function ix(t){let e=`${ti}:`;if(!t.startsWith(e))return!1;let n=t.slice(e.length).trim();if(!n)return!1;if(n.startsWith("{"))try{let o=JSON.parse(n);return Eo(o)&&o.cc_is_subagent===!0}catch{return!1}let r=n.split(";").map(o=>o.trim()).filter(Boolean).flatMap(o=>{let s=o.indexOf("=");return s<0||o.slice(0,s).trim()!=="cc_is_subagent"?[]:[o.slice(s+1).trim()]});return r.length===1&&r[0]==="true"}function Ga(t,e){let n=t.indexOf(_b);if(n<0)return;let r=n+_b.length,o=t.indexOf(bb,r);if(o<0)return;let s=wb(t.slice(r,o));if(s)return e(`${t.slice(0,n)}${t.slice(o+bb.length)}`),s}function kb(t,e){if(typeof t=="string")return Ga(t,e);if(!(!Eo(t)||typeof t.text!="string"))return Ga(t.text,e)}function ax(t){let e=t?.system;if(typeof e=="string")return Ga(e,n=>{t.system=n});if(Array.isArray(e))for(let n=0;n<e.length;n+=1){let r=e[n],o=kb(r,s=>{typeof r=="string"?e[n]=s:Eo(r)&&(r.text=s)});if(o)return o}}function cx(t){if(typeof t.content=="string")return Ga(t.content,n=>{t.content=n});if(!Array.isArray(t.content))return;let e=t.content;for(let n=0;n<e.length;n+=1){let r=e[n],o=kb(r,s=>{typeof r=="string"?e[n]=s:Eo(r)&&(r.text=s)});if(o)return o}}function ux(t){if(!Array.isArray(t?.messages))return;let e=Math.min(t.messages.length,2);for(let n=0;n<e;n+=1){let r=t.messages[n];if(!Eo(r)||r.role!=="user")continue;let o=cx(r);if(o)return o}}function Sb(t){return ax(t)||ux(t)}function Eb(t){let e=t?.system;if(!Array.isArray(e)||e.length===0)return{present:!1,isSubagent:!1};let n=e[0],r=typeof n=="string"?n:Eo(n)&&n.type==="text"&&typeof n.text=="string"?n.text:void 0;return r?.startsWith(ti)?{present:!0,isSubagent:ix(r)}:{present:!1,isSubagent:!1}}var vb=(t,e,n)=>{let r=0;return Array.isArray(t)&&t.forEach(o=>{typeof o.content=="string"?r+=Un(o.content).length:Array.isArray(o.content)&&o.content.forEach(s=>{s.type==="text"?r+=Un(s.text).length:s.type==="tool_use"?r+=Un(JSON.stringify(s.input)).length:s.type==="tool_result"&&(r+=Un(typeof s.content=="string"?s.content:JSON.stringify(s.content)).length)})}),typeof e=="string"?r+=Un(e).length:Array.isArray(e)&&e.forEach(o=>{o.type==="text"&&(typeof o.text=="string"?r+=Un(o.text).length:Array.isArray(o.text)&&o.text.forEach(s=>{r+=Un(s||"").length}))}),n&&n.forEach(o=>{o.description&&(r+=Un(o.name+o.description).length),o.input_schema&&(r+=Un(JSON.stringify(o.input_schema)).length)}),r},lx=async(t,e)=>{if(t.sessionId){let n=await Tb(t.sessionId);if(n){let r=Ha(rx),o=Ha(r,Wa(n)),s=Cb(r,o);if(!s||s.startsWith(".."))return;let i=`${Wa(String(t.sessionId))}.json`,c=Lf(o,"config.json"),u=Lf(o,i);try{let f=JSON.parse(await gb(u,"utf8"));if(f&&f.Router)return f.Router}catch{}try{let f=JSON.parse(await gb(c,"utf8"));if(f&&f.Router)return f.Router}catch{}}}};function Ab(t){return t.unifiedBody&&typeof t.unifiedBody=="object"?t.unifiedBody:t.body}function dx(t){return!t.clientProtocol||t.clientProtocol==="anthropic_messages"}function fx(t){return Array.isArray(t)?t.some(e=>{if(!e||typeof e!="object")return!1;if(typeof e.type=="string"&&(e.type==="web_search"||e.type.startsWith("web_search")))return!0;let n=e.function?.name||e.name||e.function?.function?.name;return typeof n=="string"&&(n==="web_search"||n.toLowerCase()==="websearch")}):!1}function px(t){if(t?.thinking)return!0;let e=t?.reasoning;return!!(e&&typeof e=="object"&&(e.enabled===!0||typeof e.effort=="string"&&e.effort.trim().length>0))}var hx=async(t,e,n,r)=>{let o=await lx(t,n),s=n.get("providers")||[],i=o||n.get("Router"),c=Ab(t),u=typeof c?.model=="string"?c.model:String(c?.model??"");if(u.includes(",")){let[h,_]=u.split(","),b=s.find(w=>w.name.toLowerCase()===h.toLowerCase()),y=b?.models?.find(w=>w.toLowerCase()===_.toLowerCase());return b&&y?{model:`${b.name},${y}`,scenarioType:"default"}:{model:u,scenarioType:"default"}}let f=i?.longContextThreshold||6e4,d=r&&r.input_tokens>f&&e>2e4,p=e>f;if(dx(t)){let h=t.protocolContext?.taggedSubagentModel,_=t.protocolContext?.claudeCodeSubagent===!0;if(h)return t.log.info(`Using CCR subagent tag model: ${h}`),{model:h,scenarioType:"subagent"};if(_){let y=wb(process.env.CLAUDE_CODE_SUBAGENT_MODEL);if(y)return t.log.info(`Using CLAUDE_CODE_SUBAGENT_MODEL for Claude Code subagent: ${y}`),{model:y,scenarioType:"subagent"}}let b=n.get("Router");if(u?.includes("claude")&&u?.includes("haiku")&&b?.background)return t.log.info(`Using background model for ${u}`),{model:b.background,scenarioType:"background"}}return fx(c?.tools)&&i?.webSearch?{model:i.webSearch,scenarioType:"webSearch"}:px(c)&&i?.think?(t.log.info("Using think model for reasoning/thinking request"),{model:i.think,scenarioType:"think"}):(d||p)&&i?.longContext?(t.log.info(`Using long context model due to token count: ${e}, threshold: ${f}`),{model:i.longContext,scenarioType:"longContext"}):{model:i?.default||u,scenarioType:"default"}},mx=t=>{if(typeof t!="string"||!t)return;let e=t.split("_session_");if(e.length>1&&e[1])return e[1];try{let n=JSON.parse(t);if(n&&typeof n.session_id=="string"&&n.session_id)return n.session_id}catch{}},qf=async(t,e,n)=>{let{configService:r,event:o}=n,s=Ab(t),i=t.body?.metadata?.user_id??s?.metadata?.user_id;t.sessionId=mx(i);let c=Uf.get(t.sessionId),u=s.messages||[],f=s.system??[],d=s.tools||[];try{let p=typeof s.model=="string"?s.model:String(s.model??""),[h,_]=p.split(","),b=n.tokenizerService?.getTokenizerConfigForModel(h,_),y;n.tokenizerService?y=(await n.tokenizerService.countTokens({messages:u,system:f,tools:d},b)).tokenCount:y=vb(u,f,d),t.tokenCount=y;let w,C=r.get("CUSTOM_ROUTER_PATH");if(C)try{w=await oe(C)(t,r.getAll(),{event:o})}catch(v){t.log.error(`failed to load custom router: ${v.message}`)}if(w)t.scenarioType="default";else{let v=await hx(t,y,r,c);w=v.model,t.scenarioType=v.scenarioType}s.model=w,t.unifiedBody&&typeof t.unifiedBody=="object"&&(t.unifiedBody.model=w)}catch(p){t.log.error(`Error in router middleware: ${p.message}`);let _=r.get("Router")?.default||s.model;s.model=_,t.unifiedBody&&typeof t.unifiedBody=="object"&&(t.unifiedBody.model=_),t.scenarioType="default"}},pr=new ox({max:1e3}),Tb=async(t,e)=>{if(pr.has(t)){let n=pr.get(t);return!n||n===""?null:n}try{if(!(await yb(jf)).isDirectory())return pr.set(t,""),null}catch(n){return n?.code==="ENOENT"?(pr.set(t,""),null):((e?.error??console.error)("Error checking Claude projects directory:",n),pr.set(t,""),null)}try{let n=await nx(jf),r=[];for await(let u of n)u.isDirectory()&&r.push(u.name);let o=Ha(jf),s=`${Wa(String(t))}.jsonl`,i=r.map(async u=>{let f=Ha(o,Wa(u)),d=Cb(o,f);if(!d||d.startsWith(".."))return null;let p=Lf(f,s);try{return(await yb(p)).isFile()?u:null}catch{return null}}),c=await Promise.all(i);for(let u of c)if(u)return pr.set(t,u),u;return pr.set(t,""),null}catch(n){return(e?.error??console.error)("Error searching for project by session:",n),pr.set(t,""),null}};import{readFile as gx}from"fs/promises";async function Rb(t,e,n,r,o){let s=t.pathname||String(t.url||o).split("?")[0]||o,i=t.protocolMatch||zr(t.method,s)||zr("POST",o);if(!i)throw W(`No inbound protocol match for ${s}`,404,"protocol_not_found");t.protocolMatch=i,t.clientProtocol=i.protocol,i.ownerTransformerName!==r.name&&t.log?.warn?.({expected:i.ownerTransformerName,actual:r.name,path:s},"endpoint transformer name differs from protocol owner");let c=t.body,u=t.query||{},{normalizationInput:f,context:d}=fb(i,c,u);i.protocol==="anthropic_messages"&&await yx(f,d,n.configService);let p={req:t,signal:void 0,clientProtocol:i.protocol,protocolContext:d},h=await pb(i.protocol,f,r,p),_=t;t.protocolContext=d,t.unifiedBody=h,t.originalClientBody=c;let b=n.configService.get("CUSTOM_ROUTER_PATH"),y=_.body;_.body=i.protocol==="anthropic_messages"&&b?c:h;try{await qf(_,e,{configService:n.configService,tokenizerService:n.tokenizerService})}finally{_.body=y??c}let w=typeof h.model=="string"?h.model:d.originalModel;h.model=w||"",d.scenarioType=_.scenarioType,d.originalModel=d.originalModel??(typeof c?.model=="string"?c.model:void 0),_.unifiedBody=h,_.protocolContext=d;let C=_x(h.model,i.protocol);return n.providerService.getProvider(C.providerName)||Ja(i.protocol,`Provider '${C.providerName}' not found`,404,"provider_not_found"),h.model=C.modelName,_.provider=C.providerName,_.model=C.modelName,d.stream=d.stream||h.stream===!0||c?.stream===!0,{match:i,protocolContext:d,originalBody:c,clientWireBody:f,unifiedBody:h,providerName:C.providerName,modelName:C.modelName}}async function yx(t,e,n){let r=Eb(t);e.claudeCodeSubagent=r.isSubagent,e.taggedSubagentModel=Sb(t),e.anthropicCacheMode="preserve";let o=n.get("REWRITE_SYSTEM_PROMPT"),s=t?.system;if(o&&Array.isArray(s)&&s.length>1&&typeof s[1]?.text=="string"&&s[1].text.includes("<env>")){let i=await gx(o,"utf-8");s[1].text=`${i}<env>${s[1].text.split("<env>").pop()}`}}function _x(t,e){let n=typeof t=="string"?t.trim():"";n||Ja(e,"Missing model. Configure Router.default or send provider,model.",400,"missing_model","invalid_request_error"),n.includes(",")||Ja(e,`Unresolved bare model '${n}'. Configure Router.default or send provider,model.`,400,"unresolved_model","invalid_request_error");let[r,...o]=n.split(","),s=o.join(",");return(!r||!s)&&Ja(e,`Invalid model '${n}'. Expected provider,model.`,400,"invalid_model","invalid_request_error"),{providerName:r,modelName:s}}function Ja(t,e,n,r,o="api_error"){let s=Xs(t,e,n,r,o),i=W(e,s.statusCode,r,o);throw i.protocolBody=s.body,i}function Va(t,e,n,r){return n?mb(t,e,n.protocol,r):t.transformer?.use?.length===1&&t.transformer.use[0].name===e.name&&(!t.transformer?.[r||""]?.use?.length||t.transformer?.[r||""]?.use.length===1&&t.transformer?.[r||""]?.use[0].name===e.name)}function ni(t,e,n){return!!(n&&t.transformer?.passthrough===!0&&t.transformer?.use?.some(r=>r?.name===e.name))}async function Cx(t,e,n,r,o){let s=U0(t,e),i=s.signal;s.arm();let c;try{c=await Rb(t,e,n,r,o)}catch(f){throw Ke(f)||i.aborted?typeof f=="string"?an(f):an(i.reason??f):f}let u=n.providerService.getProvider(c.providerName);if(!u)throw W(`Provider '${c.providerName}' not found`,404,"provider_not_found");t._preparedInbound=c;try{let f=Va(u,r,c.protocolContext,c.modelName),d=ni(u,r,c.protocolContext),p=c.clientWireBody??c.originalBody,h=f||d?{...typeof p=="object"&&p?So(p):{},model:c.modelName}:So(c.unifiedBody),{requestBody:_,config:b,bypass:y}=await xb(h,u,r,t.headers,{req:t,provider:u,signal:i,clientProtocol:c.protocolContext.protocol,protocolContext:c.protocolContext,skipClientNormalization:!0}),w=await Db(_,b,u,n,y,r,{req:t,signal:i,protocolContext:c.protocolContext}),C=await Ob(_,w,u,r,y,{req:t,signal:i,protocolContext:c.protocolContext,skipClientNormalization:y});return await Pb(C,e,c.originalBody,i,c.protocolContext.stream)}catch(f){if(Ke(f))throw typeof f=="string"?an(f):f;if(i.aborted)throw an(i.reason??f);if(Df(f)){let d=await wx(t,e,n,r,f,i);if(d)return d;if(i.aborted)throw an(i.reason??gt)}throw f}}async function wx(t,e,n,r,o,s){let i=t.scenarioType||"default",c=n.configService.get("fallback"),u=j0(c,i);if(!u?.length||s?.aborted||Ke(o))return null;t.log.warn({scenarioType:i,fallbackCount:u.length,error:fr(o)},`Request failed for ${i}, trying ${u.length} fallback models`);let f=0,d=xf(f,o?.headers?.["Retry-After"]??o?.headers?.["retry-after"]);if(f+=1,d>0){t.log.info(`Waiting ${d}ms before first fallback attempt`);try{await Rf(d,s)}catch(p){if(Ke(p)||s?.aborted)return null;throw p}}for(let p=0;p<u.length;p+=1){if(s?.aborted)return null;let h=u[p];try{t.log.info(`Trying fallback model: ${h}`);let _=t._preparedInbound,[b,...y]=h.split(","),w=y.join(","),C={...So(_?.unifiedBody||t.unifiedBody||t.body),model:w},v={...t,provider:b,model:w,body:_?.originalBody??t.body,unifiedBody:C,protocolContext:_?.protocolContext,clientProtocol:_?.protocolContext?.protocol,scenarioType:i},A=n.providerService.getProvider(b);if(!A){t.log.warn(`Fallback provider '${b}' not found, skipping`);continue}let T=Va(A,r,_?.protocolContext,w),x=ni(A,r,_?.protocolContext),O=_?.clientWireBody??_?.originalBody,q=T||x?{...typeof O=="object"&&O?So(O):{},model:w}:C,{requestBody:$,config:H,bypass:ce}=await xb(q,A,r,t.headers,{req:v,provider:A,signal:s,clientProtocol:_?.protocolContext?.protocol,protocolContext:_?.protocolContext,skipClientNormalization:!0}),X=await Db($,H,A,n,ce,r,{req:v,signal:s,protocolContext:_?.protocolContext}),te=await Ob($,X,A,r,ce,{req:v,signal:s,protocolContext:_?.protocolContext});return t.log.info(`Fallback model ${h} succeeded`),await Pb(te,e,_?.originalBody??t.body,s,_?.protocolContext?.stream)}catch(_){if(Ke(_))throw _;if(s?.aborted)throw an(s.reason??gt);if(!Df(_))throw t.log.warn({fallbackModel:h,error:fr(_)},`Fallback model ${h} failed with a terminal error`),_;if(t.log.warn({fallbackModel:h,error:fr(_)},`Fallback model ${h} failed`),p<u.length-1){let y=xf(f,_?.headers?.["Retry-After"]??_?.headers?.["retry-after"]);if(f+=1,y>0){t.log.info(`Waiting ${y}ms before next fallback attempt`);try{await Rf(y,s)}catch(w){if(Ke(w)||s?.aborted)return null;throw w}}}continue}}return t.log.error(`All fallback models failed for ${i}`),null}async function xb(t,e,n,r,o){let s=t,i={},c=Va(e,n,o?.protocolContext,t?.model),u=ni(e,n,o?.protocolContext),f=c||e.transformer?.passthrough||o?.skipClientNormalization===!0;if(c&&(i.headers=hb(r)),!c&&o?.protocolContext?.protocol==="openai_responses"&&!e.transformer?.use?.some(d=>d?.name==="openai-responses")&&delete s.prompt_cache_key,!f&&typeof n.transformRequestOut=="function"){let d=await n.transformRequestOut(s,o);d.body?(s=d.body,i=d.config||{}):s=d}if(!c&&e.transformer?.use?.length)for(let d of e.transformer.use){if(u&&d?.name===n.name||!d||typeof d.transformRequestIn!="function")continue;let p=await d.transformRequestIn(s,e,o);if(p.body){s=p.body;let h=p.config||{};i={...i,...h,headers:$a(i.headers,h.headers)}}else s=p}if(!c&&e.transformer?.[t.model]?.use?.length)for(let d of e.transformer[t.model].use){if(u&&d?.name===n.name||!d||typeof d.transformRequestIn!="function")continue;let p=await d.transformRequestIn(s,e,o);if(p.body){s=p.body;let h=p.config||{};i={...i,...h,headers:$a(i.headers,h.headers)}}else s=p}return!c&&!e.transformer?.use?.length&&Array.isArray(s?.messages)&&(s=qa(s,e,o)),{requestBody:s,config:i,bypass:c}}async function Db(t,e,n,r,o,s,i){if(e?.__providerResponse)return e.__providerResponse;if((o||n.transformer?.passthrough)&&typeof s.auth=="function"){let _=await s.auth(t,n,i);if(_.body){t=_.body;let b=e.headers||{};_.config?.headers&&(b=$a(b,_.config.headers),delete b.host,delete _.config.headers),e={...e,..._.config,headers:b}}else t=_}let c=e.url||new URL(n.baseUrl),u=X0(e?.headers,n.apiKey),{__authRecovery:f,...d}=e||{},h=await V0(_=>wo(c,t,{httpsProxy:r.configService.getHttpsProxy(),...d,headers:JSON.parse(JSON.stringify(_)),signal:i?.signal??d.signal},i,r.log),u,f);if(!h.ok){let _=await h.text(),b=Ze(_)||_.slice(0,240),y;try{y=JSON.parse(_)}catch{y=void 0}let w=y&&typeof y=="object"?y.error:void 0,C=If(h.headers),v=Object.keys(C).length>0?C:void 0;if(!v?.["retry-after"]&&h.status===429){let O=w?.details||y?.details;if(Array.isArray(O)){let q=O.find($=>$["@type"]==="type.googleapis.com/google.rpc.RetryInfo");if(q?.retryDelay){let $=parseInt(q.retryDelay,10);isNaN($)||(v={...v||{},"retry-after":$.toString()})}}}let A=typeof w?.message=="string"?w.message:void 0,T=Ze(A||_)||b;r.log.error({status:h.status,provider:n.name,model:t.model,errorMessage:T,upstreamType:typeof w?.type=="string"?w.type:void 0,upstreamCode:typeof w?.code=="string"?w.code:void 0},`[provider_response_error] ${n.name},${t.model}: ${T}`);let x=W(`Error from provider(${n.name},${t.model}: ${h.status}): ${T}`,h.status,typeof w?.code=="string"?w.code:"provider_response_error","api_error",v);throw x.upstream={status:h.status,statusText:h.statusText,headers:v??{},body:y!==void 0?Ua(y):void 0,provider:n.name,model:t.model},x}return h}async function Ob(t,e,n,r,o,s){let i=e,c=o||ni(n,r,s?.protocolContext)||n.transformer?.passthrough&&!s?.protocolContext,u=ni(n,r,s?.protocolContext),f={...s,provider:n};if(!o&&n.transformer?.use?.length)for(let d of Array.from(n.transformer.use).reverse())u&&d?.name===r.name||!d||typeof d.transformResponseOut!="function"||(i=await d.transformResponseOut(i,f));if(!o&&n.transformer?.[t.model]?.use?.length)for(let d of Array.from(n.transformer[t.model].use).reverse())u&&d?.name===r.name||!d||typeof d.transformResponseOut!="function"||(i=await d.transformResponseOut(i,f));return!c&&r.transformResponseIn&&(i=await r.transformResponseIn(i,s)),i}async function Pb(t,e,n,r,o){t.ok||e.code(t.status);let s=If(t.headers);for(let[c,u]of Object.entries(s))e.header(c,u);if((typeof o=="boolean"?o:n?.stream===!0)&&t.ok){if(t.body&&typeof t.body.getReader=="function"){let c=bx.fromWeb(t.body),u=!1,f=()=>{if(!u){u=!0;try{c.destroyed||c.destroy()}catch{}}},d=()=>{r&&r.removeEventListener("abort",f)};return q0(e)?(f(),!e.sent&&!e.raw.destroyed?(e.type("application/json"),e.code(499).send({error:{message:"Client closed request",type:"api_error",code:"client_aborted"}})):e):(r?.aborted&&e.log?.warn?.({reason:String(r.reason??""),headersSent:e.raw.headersSent,writableEnded:e.raw.writableEnded},"disconnect signal fired but socket still open; continuing SSE"),e.header("Content-Type","text/event-stream"),e.header("Cache-Control","no-cache"),e.header("Connection","keep-alive"),r&&r.addEventListener("abort",f,{once:!0}),e.raw.on("error",h=>{(h?.code==="EPIPE"||h?.code==="ECONNRESET"||h?.code==="ERR_STREAM_PREMATURE_CLOSE"||Ke(h))&&f()}),e.raw.on("close",()=>{e.raw.writableEnded||f()}),c.on("error",h=>{h?.code==="ERR_STREAM_PREMATURE_CLOSE"||h?.code==="ABORT_ERR"||Ke(h)||e.log?.error?.(fr(h),"upstream stream error")}),c.once("end",d),c.once("close",d),e.send(c))}if(e.header("Content-Type","text/event-stream"),e.header("Cache-Control","no-cache"),e.header("Connection","keep-alive"),t.body&&typeof t.body.pipe=="function")return e.send(t.body);throw W("Streaming response body is not a readable stream",502,"provider_response_error")}else{let c=await t.json();return e.send(c)}}var $f=async t=>{let e={config:{rateLimit:{...vo}}};t.addHook("onRequest",async s=>{let i=String(s.url||"").split("?")[0]||"/",c=zr(s.method,i);s.pathname=i,c&&(s.protocolMatch=c,s.clientProtocol=c.protocol)}),t.get("/",e,async()=>({message:"LLMs API",version:H0})),t.get("/health",e,async()=>({status:"ok",timestamp:new Date().toISOString()}));let n=t.transformerService.getAllTransformers(),r=s=>{let i=n.get(s);if(i){if(typeof i=="object")return i;try{let c=new i;return c&&typeof c=="object"&&(c.logger=t.log),c}catch{return}}},o=new Set;for(let s of Ff()){let i=r(s.ownerTransformerName);if(!i){t.log.warn(`protocol route ${s.path}: owner transformer '${s.ownerTransformerName}' not found`);continue}for(let c of[s.path,`${s.path}/`])o.has(c)||(o.add(c),t.post(c,e,async(u,f)=>Cx(u,f,t,i,c)))}t.post("/providers",{config:{rateLimit:{...vo}},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(s,i)=>{let{name:c,baseUrl:u,apiKey:f,models:d}=s.body;if(!c?.trim())throw W("Provider name is required",400,"invalid_request");if(!u||!kx(u))throw W("Valid base URL is required",400,"invalid_request");if(!f?.trim())throw W("API key is required",400,"invalid_request");if(!d||!Array.isArray(d)||d.length===0)throw W("At least one model is required",400,"invalid_request");if(t.providerService.getProvider(s.body.name))throw W(`Provider with name '${s.body.name}' already exists`,400,"provider_exists");return t.providerService.registerProvider(s.body)}),t.get("/providers",e,async()=>t.providerService.getProviders()),t.get("/providers/:id",{config:{rateLimit:{...vo}},schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]}}},async s=>{let i=t.providerService.getProvider(s.params.id);if(!i)throw W("Provider not found",404,"provider_not_found");return i}),t.put("/providers/:id",{config:{rateLimit:{...vo}},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(s,i)=>{let c=t.providerService.updateProvider(s.params.id,s.body);if(!c)throw W("Provider not found",404,"provider_not_found");return c}),t.delete("/providers/:id",{config:{rateLimit:{...vo}},schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]}}},async s=>{if(!t.providerService.deleteProvider(s.params.id))throw W("Provider not found",404,"provider_not_found");return{message:"Provider deleted successfully"}}),t.patch("/providers/:id/toggle",{config:{rateLimit:{...vo}},schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]},body:{type:"object",properties:{enabled:{type:"boolean"}},required:["enabled"]}}},async(s,i)=>{if(!t.providerService.toggleProvider(s.params.id,s.body.enabled))throw W("Provider not found",404,"provider_not_found");return{message:`Provider ${s.body.enabled?"enabled":"disabled"} successfully`}})};function kx(t){try{return new URL(t),!0}catch{return!1}}var Ao=class{constructor(e,n,r){this.configService=e;this.transformerService=n;this.logger=r;this.initializeCustomProviders()}configService;transformerService;logger;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(n=>{try{if(!n.name||!n.api_base_url||!n.api_key)return;let r={};n.transformer&&Object.keys(n.transformer).forEach(o=>{o==="use"?Array.isArray(n.transformer.use)&&(r.use=n.transformer.use.map(s=>{if(Array.isArray(s)&&typeof s[0]=="string"){let i=this.transformerService.getTransformer(s[0]);if(i)return this.attachTransformerLogger(new i(s[1]))}if(typeof s=="string"){let i=this.transformerService.getTransformer(s);return typeof i=="function"?this.attachTransformerLogger(new i):this.attachTransformerLogger(i)}}).filter(s=>typeof s<"u")):o==="passthrough"?r.passthrough=n.transformer.passthrough:Array.isArray(n.transformer[o]?.use)&&(r[o]={use:n.transformer[o].use.map(s=>{if(Array.isArray(s)&&typeof s[0]=="string"){let i=this.transformerService.getTransformer(s[0]);if(i)return this.attachTransformerLogger(new i(s[1]))}if(typeof s=="string"){let i=this.transformerService.getTransformer(s);return typeof i=="function"?this.attachTransformerLogger(new i):this.attachTransformerLogger(i)}}).filter(s=>typeof s<"u")})}),this.registerProvider({name:n.name,baseUrl:n.api_base_url,apiKey:n.api_key,models:n.models||[],project_id:n.project_id,transformer:n.transformer?r:void 0}),this.logger.info(`${n.name} provider registered`)}catch(r){this.logger.error(`${n.name} provider registered error: ${r}`)}})}attachTransformerLogger(e){return e&&typeof e=="object"&&(e.logger=this.logger),e}registerProvider(e){let n={...e};return this.providers.set(n.name,n),e.models.forEach(r=>{let o=`${n.name},${r}`,s={provider:n.name,model:r,fullModel:o};this.modelRoutes.set(o,s),this.modelRoutes.has(r)||this.modelRoutes.set(r,s)}),n}getProviders(){return Array.from(this.providers.values())}getProvider(e){return this.providers.get(e)}updateProvider(e,n){let r=this.providers.get(e);if(!r)return null;let o={...r,...n,updatedAt:new Date};return this.providers.set(e,o),n.models&&(r.models.forEach(s=>{let i=`${r.name},${s}`;this.modelRoutes.delete(i),this.modelRoutes.delete(s)}),n.models.forEach(s=>{let i=`${r.name},${s}`,c={provider:r.name,model:s,fullModel:i};this.modelRoutes.set(i,c),this.modelRoutes.has(s)||this.modelRoutes.set(s,c)})),o}deleteProvider(e){let n=this.providers.get(e);return n?(n.models.forEach(r=>{let o=`${n.name},${r}`;this.modelRoutes.delete(o),this.modelRoutes.delete(r)}),this.providers.delete(e),!0):!1}toggleProvider(e,n){return!!this.providers.get(e)}resolveModelRoute(e){let n=this.modelRoutes.get(e);if(!n)return null;let r=this.providers.get(n.provider);return r?{provider:r,originalModel:e,targetModel:n.model}:null}getAvailableModelNames(){let e=[];return this.providers.forEach(n=>{n.models.forEach(r=>{e.push(r),e.push(`${n.name},${r}`)})}),e}getModelRoutes(){return Array.from(this.modelRoutes.values())}parseTransformerConfig(e){return e?Array.isArray(e)?e.reduce((n,r)=>{if(Array.isArray(r)){let[o,s={}]=r;n[o]=s}else n[r]={};return n},{}):e:{}}async getAvailableModels(){let e=[];return this.providers.forEach(n=>{n.models.forEach(r=>{e.push({id:r,object:"model",owned_by:n.name,provider:n.name}),e.push({id:`${n.name},${r}`,object:"model",owned_by:n.name,provider:n.name})})}),{object:"list",data:e}}};var st=[];for(let t=0;t<256;++t)st.push((t+256).toString(16).slice(1));function Ib(t,e=0){return(st[t[e+0]]+st[t[e+1]]+st[t[e+2]]+st[t[e+3]]+"-"+st[t[e+4]]+st[t[e+5]]+"-"+st[t[e+6]]+st[t[e+7]]+"-"+st[t[e+8]]+st[t[e+9]]+"-"+st[t[e+10]]+st[t[e+11]]+st[t[e+12]]+st[t[e+13]]+st[t[e+14]]+st[t[e+15]]).toLowerCase()}var Sx=new Uint8Array(16);function zf(){return crypto.getRandomValues(Sx)}function Ex(t,e,n){return!e&&!t&&crypto.randomUUID?crypto.randomUUID():vx(t,e,n)}function vx(t,e,n){t=t||{};let r=t.random??t.rng?.()??zf();if(r.length<16)throw new Error("Random bytes length must be >= 16");if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,e){if(n=n||0,n<0||n+16>e.length)throw new RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let o=0;o<16;++o)e[n+o]=r[o];return e}return Ib(r)}var cn=Ex;var Fb=(t,e)=>(t.includes("base64")&&(t=t.split("base64").pop(),t.startsWith(",")&&(t=t.slice(1))),`data:${e};base64,${t}`);var Hf=["[Request interrupted by user]","[Request interrupted by user for tool use]"];function Ax(t){if(typeof t!="string")return!1;let e=t.trim();return Hf.some(n=>e===n)}function Tx(t){if(typeof t=="string")return t;if(Array.isArray(t)){let e=t.filter(n=>n?.type==="text"&&typeof n.text=="string"&&n.text.length>0).map(n=>n.text).join(`
|
|
106
|
-
|
|
107
|
-
`);
|
|
101
|
+
`):`${r}${e}`}async output(e,n={}){try{let r=this.formatData(e,n);switch(this.config.level||"log"){case"info":console.info(r);break;case"warn":console.warn(r);break;case"error":console.error(r);break;case"debug":console.debug(r);break;default:console.log(r);break}return!0}catch(r){return console.error("[ConsoleOutputHandler] Output failed:",r),!1}}}});var ta,Sy=mr(()=>{"use strict";ta=class{type="webhook";config;defaultTimeout=3e4;logger=null;setLogger(e){this.logger=e,this.logger&&(typeof this.logger.info=="function"&&(this.logger.info=this.logger.info.bind(this.logger)),typeof this.logger.warn=="function"&&(this.logger.warn=this.logger.warn.bind(this.logger)),typeof this.logger.error=="function"&&(this.logger.error=this.logger.error.bind(this.logger)))}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 n=Buffer.from(`${this.config.auth.username}:${this.config.auth.password}`).toString("base64");e.Authorization=`Basic ${n}`}break;case"custom":this.config.auth.custom&&(e[this.config.auth.custom.header]=this.config.auth.custom.value);break}return e}buildBody(e,n){let{timestamp:r=!0,prefix:o,metadata:s}=n||{},i={data:e};return r&&(i.timestamp=new Date().toISOString()),o&&(i.prefix=o),s&&Object.keys(s).length>0&&(i.metadata=s),i}async sendRequest(e,n,r,o,s){let i=new AbortController,a=setTimeout(()=>i.abort(),s);try{let u=await fetch(e,{method:n,headers:r,body:JSON.stringify(o),signal:i.signal});if(clearTimeout(a),!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);return u}catch(u){throw clearTimeout(a),u}}delay(e){return new Promise(n=>setTimeout(n,e))}async sendWithRetry(e,n,r,o,s,i){let a=null;for(let u=1;u<=i.maxAttempts;u++)try{return await this.sendRequest(e,n,r,o,s)}catch(d){if(a=d,u===i.maxAttempts)break;let f=i.backoffMs*Math.pow(2,u-1);(this.logger?.warn??console.warn)(`[WebhookOutputHandler] Request failed (attempt ${u}/${i.maxAttempts}), retrying in ${f}ms...`,d.message),await this.delay(f)}throw a}async output(e,n={}){let r=n.timeout||this.defaultTimeout;try{let o=this.buildHeaders(),s=this.buildBody(e,n);return await this.sendWithRetry(this.config.url,this.config.method,o,s,r,this.config.retry),!0}catch(o){let s=o instanceof Error?o.message:String(o);if(this.config.silent)return(this.logger?.error??console.error)(`[WebhookOutputHandler] Failed to send data: ${s}`),!1;throw new Error(`Webhook output failed: ${s}`,{cause:o})}}}});import{writeFileSync as Gq,existsSync as Jq,mkdirSync as Kq}from"fs";import{join as UT}from"path";import{tmpdir as Vq}from"os";var na,Ey=mr(()=>{"use strict";na=class{type="temp-file";config;baseDir;constructor(e={}){this.config={subdirectory:"claude-code-router",extension:"json",includeTimestamp:!1,prefix:"session",...e};let n=Vq();this.baseDir=UT(n,this.config.subdirectory),this.ensureDir()}ensureDir(){try{Jq(this.baseDir)||Kq(this.baseDir,{recursive:!0})}catch{}}extractSessionId(e){try{let n=e.match(/_session_([a-f0-9-]+)/i);return n?n[1]:null}catch{return null}}getFilePath(e){let n=this.config.prefix||"session",r=this.config.extension?`.${this.config.extension}`:"",o;if(this.config.includeTimestamp){let s=Date.now();o=`${n}-${e}-${s}${r}`}else o=`${n}-${e}${r}`;return UT(this.baseDir,o)}async output(e,n={}){try{let r=n.metadata?.sessionId;if(!r)return!1;let o={...e,timestamp:Date.now(),sessionId:r},s=this.getFilePath(r);return Gq(s,JSON.stringify(o,null,2),"utf-8"),!0}catch{return!1}}getBaseDir(){return this.baseDir}}});var Ay,Ds,jT=mr(()=>{"use strict";ky();Sy();Ey();Ay=class{handlers=new Map;defaultOptions={};logger=null;setLogger(e){this.logger=e,this.logger&&(typeof this.logger.info=="function"&&(this.logger.info=this.logger.info.bind(this.logger)),typeof this.logger.warn=="function"&&(this.logger.warn=this.logger.warn.bind(this.logger)),typeof this.logger.error=="function"&&(this.logger.error=this.logger.error.bind(this.logger)))}registerHandler(e,n){this.handlers.set(e,n)}registerHandlers(e){for(let n of e)if(n.enabled!==!1)try{let r=this.createHandler(n),o=n.type+"_"+Date.now();this.registerHandler(o,r)}catch(r){(this.logger?.error??console.error)(`[OutputManager] Failed to register ${n.type} handler:`,r)}}createHandler(e){let n;switch(e.type){case"console":n=new ea(e.config);break;case"webhook":n=new ta(e.config);break;case"temp-file":n=new na(e.config);break;default:throw new Error(`Unknown output handler type: ${e.type}`)}return this.logger&&typeof n.setLogger=="function"&&n.setLogger(this.logger),n}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,n){let r={...this.defaultOptions,...n},o={success:[],failed:[]},s=Array.from(this.handlers.entries()).map(async([i,a])=>{try{await a.output(e,r)?o.success.push(i):o.failed.push(i)}catch(u){(this.logger?.error??console.error)(`[OutputManager] Handler ${i} failed:`,u),o.failed.push(i)}});return await Promise.all(s),o}async outputTo(e,n,r){let o={...this.defaultOptions,...r},s={success:[],failed:[]},i=e.map(async a=>{let u=this.handlers.get(a);if(!u){(this.logger?.warn??console.warn)(`[OutputManager] Handler ${a} not found`),s.failed.push(a);return}try{await u.output(n,o)?s.success.push(a):s.failed.push(a)}catch(d){(this.logger?.error??console.error)(`[OutputManager] Handler ${a} failed:`,d),s.failed.push(a)}});return await Promise.all(i),s}async outputToType(e,n,r){let o=Array.from(this.handlers.entries()).filter(([s,i])=>i.type===e).map(([s])=>s);return this.outputTo(o,n,r)}},Ds=new Ay});var WT=Bn(H0(),1);import Yq from"fastify";import Xq from"@fastify/cors";import{RATE_LIMIT_CONFIG as Qq}from"@caeliq/ccr-shared";var rb=Bn(zf(),1);import{readFileSync as RR,existsSync as tb}from"fs";import{join as nb}from"path";import{config as xR}from"dotenv";var To=class{config={};options;logger;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.logger=e.logger,this.logger&&(typeof this.logger.info=="function"&&(this.logger.info=this.logger.info.bind(this.logger)),typeof this.logger.warn=="function"&&(this.logger.warn=this.logger.warn.bind(this.logger)),typeof this.logger.error=="function"&&(this.logger.error=this.logger.error.bind(this.logger))),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:nb(process.cwd(),this.options.jsonPath);if(tb(e))try{let n=RR(e,"utf-8"),r=rb.default.parse(n);this.config={...this.config,...r},(this.logger?.info??console.log)(`Loaded JSON config from: ${e}`)}catch(n){(this.logger?.warn??console.warn)(`Failed to load JSON config from ${e}:`,n)}else(this.logger?.warn??console.warn)(`JSON config file not found: ${e}`)}loadEnvConfig(){let e=this.isAbsolutePath(this.options.envPath)?this.options.envPath:nb(process.cwd(),this.options.envPath);if(tb(e))try{let n=xR({path:e});n.parsed&&(this.config={...this.config,...this.parseEnvConfig(n.parsed)})}catch(n){(this.logger?.warn??console.warn)(`Failed to load .env config from ${e}:`,n)}}loadEnvironmentVariables(){let e=this.parseEnvConfig(process.env);this.config={...this.config,...e}}parseEnvConfig(e){let n={};return Object.assign(n,e),n}isAbsolutePath(e){return e.startsWith("/")||e.includes(":")}get(e,n){let r=this.config[e];return r!==void 0?r:n}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,n){this.config[e]=n}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(", ")}`}};var Wf="(?:proxy[-_])?authorization|x[-_]?api[-_]?key|api[-_]?key|access[-_]?token|refresh[-_]?token|id[-_]?token|client[-_]?secret|secret|password|passwd|token|cookie|set[-_]?cookie";function We(t){return t.replace(/\b(?:https?|wss?):\/\/[^\s"'<>]+/gi,"[redacted-url]").replace(/\bBearer\s+[A-Za-z0-9._~+/=-]{8,}/gi,"Bearer [redacted]").replace(/\b(?:sk|rk|pk)-[A-Za-z0-9_-]{12,}/gi,"[redacted-secret]").replace(new RegExp(`"(${Wf})"\\s*:\\s*"(?:\\\\.|[^"\\\\])*"`,"gi"),'"$1":"[redacted]"').replace(/\b(?:authorization|x-api-key|api-key|api_key|access_token|token)\s*[:=]\s*["']?[^\s,;"']+/gi,e=>`${e.split(/\s*[:=]/,1)[0]}=[redacted]`).replace(/\[[0-9a-f:]+\](?::\d+)?/gi,"[redacted-address]").replace(/\b(?:\d{1,3}\.){3}\d{1,3}(?::\d+)?\b/g,"[redacted-address]").replace(/\b(connect(?:ing)?(?:\s+to)?|from|to)\s+(?:localhost|(?:[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?\.)+[a-z]{2,63})(?::\d+)?\b/gi,"$1 [redacted-address]").replace(/([?&](?:api_?key|key|token|access_token|auth)=)[^&\s]+/gi,"$1[redacted]").replace(/\s+/g," ").trim().slice(0,240)}var DR=new RegExp(`^(?:${Wf})$`,"i"),OR=6,PR=20;function Ga(t,e=0){if(t==null)return t;if(!(e>OR)){if(typeof t=="string")return We(t);if(Array.isArray(t))return t.slice(0,PR).map(n=>Ga(n,e+1));if(typeof t=="object"){let n={};for(let[r,o]of Object.entries(t))n[r]=DR.test(r)?"[redacted]":Ga(o,e+1);return n}return t}}var ob=32768;function IR(t,e=ob){let n=t.replace(/\bBearer\s+[A-Za-z0-9._~+/=-]{8,}/gi,"Bearer [redacted]").replace(/\b(?:sk|rk|pk)-[A-Za-z0-9_-]{12,}/gi,"[redacted-secret]").replace(new RegExp(`"(${Wf})"\\s*:\\s*"(?:\\\\.|[^"\\\\])*"`,"gi"),'"$1":"[redacted]"'),r=Math.max(0,e);if(n.length<=r)return n;let o=n.length-r;return`${n.slice(0,r)}\u2026[truncated ${o} bytes]`}function FR(t,e){return t.split(`
|
|
102
|
+
`).map(n=>We(n)).filter(Boolean).join(`
|
|
103
|
+
`).slice(0,e)}function un(t){let e=t,n=typeof e?.message=="string"?e.message:typeof t=="string"?t:String(t),r=typeof e?.cause?.message=="string"?e.cause.message:typeof e?.cause=="string"?e.cause:void 0;return{message:We(n)||"Unknown error",code:typeof e?.code=="string"?e.code:void 0,type:typeof e?.type=="string"?e.type:void 0,name:typeof e?.name=="string"?e.name:void 0,statusCode:typeof e?.statusCode=="number"?e.statusCode:void 0,stack:typeof e?.stack=="string"?FR(e.stack,4e3):void 0,cause:r?We(r):void 0}}var NR=/^(?:authorization|x-api-key|api-key|cookie|set-cookie)$|token|secret|password|passwd/i;function MR(t){return NR.test(t)}function BR(t){if(t==null)return;if(Array.isArray(t)){let n=t.filter(r=>r!=null&&String(r).length>0).map(r=>String(r));return n.length?n.join(", "):void 0}let e=String(t);return e.length?e:void 0}function Hf(t){let e={};if(!t)return e;let n=typeof t.forEach=="function"&&typeof t.entries=="function"?Array.from(t.entries()):Object.entries(t);for(let[r,o]of n){let s=BR(o);if(s!=null){if(MR(r)){e[r]="[redacted]";continue}e[r]=s}}return e}function UR(t,e){let n=Hf(t),r=Hf(e),o=new Map(Object.entries(n).map(([f,h])=>[f.toLowerCase(),{key:f,value:h}])),s=new Map(Object.entries(r).map(([f,h])=>[f.toLowerCase(),{key:f,value:h}])),i={},a={},u={},d=0;for(let[f,{key:h,value:p}]of o){let b=s.get(f);if(!b){i[h]=p;continue}b.value===p?d+=1:u[h]={from:p,to:b.value}}for(let[f,{key:h,value:p}]of s)o.has(f)||(a[h]=p);return{onlyInLeft:i,onlyInRight:a,changed:u,sameCount:d}}var gt="client disconnected";function Jf(t,e){return t<=0?Promise.resolve():e?.aborted?Promise.reject(Object.assign(new Error("Aborted"),{name:"AbortError",code:"ABORT_ERR"})):new Promise((n,r)=>{let o=setTimeout(()=>{e&&e.removeEventListener("abort",s),n()},t),s=()=>{clearTimeout(o),r(Object.assign(new Error("Aborted"),{name:"AbortError",code:"ABORT_ERR"}))};e&&e.addEventListener("abort",s,{once:!0})})}function ab(t,e){let n=new AbortController,r=e?.raw,o=!1,s=(a=gt)=>{n.signal.aborted||n.abort(a)},i=()=>{if(!o&&(o=!0,!!r)){if(Gf(r)){s(`${gt} (already destroyed)`);return}r.on("close",()=>{!r.writableEnded&&Gf(r)&&s(`${gt} (response close)`)}),r.on("error",a=>{(a?.code==="EPIPE"||a?.code==="ECONNRESET"||a?.code==="ERR_STREAM_PREMATURE_CLOSE"||Ye(a))&&s(`${gt} (response error)`)})}};return{signal:n.signal,arm:i}}function jR(t){let e=t?.trim();if(!e)return;let n=Number(e);if(Number.isFinite(n)&&n>=0)return Math.min(n*1e3,6e4);let r=Date.parse(e);if(Number.isFinite(r))return Math.min(Math.max(0,r-Date.now()),6e4)}function LR(t){let e=Math.min(10,Math.max(0,t));return Math.min(3e4,1e3*2**e)}function Kf(t,e){let n=jR(e);return n!==void 0&&n>0?n:LR(t)}function cb(t,e){if(!t)return;let n=e==="subagent"?t.subagent??t.default:t[e];return Array.isArray(n)?n:void 0}var sb=new Set(["ECONNRESET","ECONNREFUSED","ENOTFOUND","EAI_AGAIN","ETIMEDOUT","EPIPE","UND_ERR_CONNECT_TIMEOUT","UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_SOCKET","UND_ERR_CONNECT"]);function ub(t){let e=t;if(!e)return!1;if(e.name==="TimeoutError"||e.code==="TIMEOUT_ERR"||e.code===23||e.cause&&(e.cause.name==="TimeoutError"||e.cause.code==="TIMEOUT_ERR"||e.cause.code===23))return!0;let n=String(e.message||"");return/aborted due to timeout|operation was aborted due to timeout/i.test(n)}function ln(t=gt){let e=typeof t=="string"&&t?t:t instanceof Error&&t.message?t.message:gt;return Object.assign(new Error(e),{name:"AbortError",code:"ABORT_ERR",reason:t})}function ib(t){let e=t.toLowerCase();if(e.includes("socket hang up"))return!0;let n=e.indexOf("client");if(n===-1)return!1;let r=e.slice(n);return r.includes("closed")||r.includes("disconnect")}function Ye(t){if(t==null||t===!1)return!1;if(typeof t=="string")return t.startsWith(gt)||ib(t);let e=t;if(ub(e))return!1;let n=e.reason??e.cause;if(typeof n=="string"&&n.startsWith(gt)||typeof e.message=="string"&&e.message.startsWith(gt)||e.name==="AbortError"||e.code==="ABORT_ERR"||e.code==="ERR_STREAM_PREMATURE_CLOSE")return!0;let r=String(e.message||"");return ib(r)}function Gf(t){if(!t||t.destroyed)return!0;let e=t.socket;return e?e.destroyed?!0:e.readable===!1&&e.writable===!1:!1}function lb(t){return Gf(t.raw)}function Wr(t){if(!t||Ye(t))return!1;if(ub(t))return!0;let e=t;if(e.code==="provider_network_error"||typeof e.code=="string"&&sb.has(e.code)||e.cause?.code&&sb.has(String(e.cause.code)))return!0;let n=String(e.message||"");return/fetch failed|network|socket|ECONNRESET|ENOTFOUND|ETIMEDOUT|other side closed/i.test(n)}function qR(t){return typeof t!="number"||!Number.isFinite(t)?!1:t===408||t===409||t===425||t===429?!0:t>=500&&t<=599}function Vf(t){let e=t;if(!e||Ye(e))return!1;if(Wr(e))return!0;let n=typeof e.statusCode=="number"?e.statusCode:typeof e.upstream?.status=="number"?e.upstream.status:void 0;return n!==void 0?qR(n):e.code==="provider_response_error"}function ii(t,e,n,r,o="invalid_request_error"){switch(t){case"openai_chat_completions":case"openai_responses":return{statusCode:n,body:{error:{message:e,type:o,param:null,code:r}}};default:return{statusCode:n,body:{error:{message:e,type:o==="invalid_request_error"?"invalid_request_error":o,code:r},type:"error"}}}}function W(t,e=500,n="internal_error",r="api_error",o){let s=new Error(We(t)||t);return s.statusCode=e,s.code=n,s.type=r,o&&(s.headers=o),s}async function db(t,e,n){if(Ye(t)||n.raw.destroyed||n.sent)return e.log.debug(un(t),"request aborted or already closed"),!n.sent&&!n.raw.destroyed&&!n.raw.headersSent?(n.type("application/json"),n.code(499).send({error:{message:"Client closed request",type:"api_error",code:"client_aborted"}})):void 0;e.log.error(un(t),"request error");let r=t.statusCode||500,o=We(t.message||"Internal error")||"Internal error",s=t.code||"internal_error",i=t.type||(r>=400&&r<500?"invalid_request_error":"api_error"),a=e.clientProtocol,u=t.protocolBody,d=t.upstream?.body;if(!u&&d&&typeof d=="object"){let f=d.error;(a==="anthropic_messages"||!a)&&d.type==="error"&&f&&typeof f=="object"?u={type:"error",error:{type:typeof f.type=="string"?f.type:i,message:typeof f.message=="string"?f.message:o,...typeof f.code=="string"?{code:f.code}:{}}}:(a==="openai_chat_completions"||a==="openai_responses")&&f&&typeof f=="object"&&(u={error:{message:typeof f.message=="string"?f.message:o,type:typeof f.type=="string"?f.type:i,param:f.param??null,code:typeof f.code=="string"?f.code:s}})}return u||(u=ii(a,o,r,s,i).body),t.headers&&n.headers(t.headers),n.type("application/json"),n.code(r).send(u)}import{Readable as rD}from"stream";import{ProxyAgent as $R}from"undici";function zR(t){return t.trim().toLowerCase().replace(/^\[(.*)\]$/,"$1").replace(/\.$/,"")}function HR(t){return/^\d+\.\d+\.\d+\.\d+$/.test(t)}function fb(t){let e=t.split(".");if(e.length!==4)return null;let n=0;for(let r of e){let o=parseInt(r,10);if(Number.isNaN(o)||o<0||o>255)return null;n=n<<8|o}return n>>>0}function WR(t,e){let[n,r]=e.split("/"),o=parseInt(r,10);if(Number.isNaN(o)||o<0||o>32)return!1;let s=fb(t),i=fb(n);if(s===null||i===null)return!1;let a=o===0?0:-1<<32-o>>>0;return(s&a)===(i&a)}function GR(t){let e;try{e=typeof t=="string"?new URL(t):t}catch{return!0}let n=zR(e.hostname);if(n==="localhost"||n==="127.0.0.1"||n.startsWith("127.")||n==="0.0.0.0"||n==="::1"||n==="0:0:0:0:0:0:0:1")return!0;let r=process.env.NO_PROXY||process.env.no_proxy;if(!r)return!1;let o=r.split(",").map(s=>s.trim()).filter(Boolean);for(let s of o){let i=s.toLowerCase();if(i==="*")return!0;let a=JR(i);if(a.startsWith(".")){if(n.endsWith(a)||n===a.slice(1))return!0;continue}if(a.includes("/")&&HR(n)){if(WR(n,a))return!0;continue}if(n===a)return!0;if(a.startsWith("*.")){let u=a.slice(1);if(n.endsWith(u)||n===u.slice(1))return!0}}return!1}function JR(t){if(t.startsWith("[")&&t.includes("]"))return t.slice(1,t.indexOf("]"));if(t.split(":").length-1===1){let[n,r]=t.split(":");if(/^\d+$/.test(r))return n}return t}async function Ro(t,e,n,r,o){let s=new Headers({"Content-Type":"application/json"});n.headers&&Object.entries(n.headers).forEach(([h,p])=>{p&&s.set(h,p)});let i=AbortSignal.timeout(n.TIMEOUT??60*1e3*60),a=n.signal?AbortSignal.any([n.signal,i]):i,u={method:"POST",headers:s,body:JSON.stringify(e),signal:a},d=typeof t=="string"?t:t.toString();n.httpsProxy&&!GR(d)&&(u.dispatcher=new $R(new URL(n.httpsProxy).toString()));try{return await fetch(d,u)}catch(h){if(Ye(h))throw typeof h=="string"?ln(h):h;if(n.signal?.aborted&&Ye(n.signal.reason??gt))throw ln(n.signal.reason??h);if(Wr(h)){let p=W(h?.message||"Provider network error",502,"provider_network_error");throw p.cause=h,p}throw h}}var pb="1.0.60";import{createHash as VR}from"crypto";var Yf={type:"ephemeral"};function Ge(t){return t.map(e=>{let n={...e};return Array.isArray(n.content)&&(n.content=n.content.map(r=>{if(r.cache_control){let{cache_control:o,...s}=r;return s}return r})),n.cache_control&&delete n.cache_control,Array.isArray(n.tool_calls)&&(n.tool_calls=n.tool_calls.map(r=>{let{cache_control:o,...s}=r;return s})),n})}function Je(t){return Array.isArray(t)?t.map(e=>{if(!e.cache_control)return e;let{cache_control:n,...r}=e;return r}):t}function hb(t){return`ccr_${VR("sha256").update(t).digest("hex").slice(0,48)}`}function YR(t){if(typeof t!="string"||!t)return;let e=t.split("_session_");if(e.length>1&&e[1])return e[1];try{let n=JSON.parse(t);if(n&&typeof n.session_id=="string"&&n.session_id)return n.session_id}catch{}return t}function XR(t){return typeof t=="string"?t:Array.isArray(t)?t.map(e=>typeof e=="string"?e:e?.type==="text"&&typeof e.text=="string"?e.text:"").filter(Boolean).join(`
|
|
104
|
+
`):""}function Wt(t,e){let n=t?.req?.sessionId||YR(e?.metadata?.user_id);if(typeof n=="string"&&n)return hb(n);let r=(e.messages||[]).find(i=>i.role==="system"||i.role==="user"),o=r?XR(r.content):"",s=[e.model||"",o].join(`
|
|
105
|
+
`);return s.trim()?hb(s):void 0}function Ja(t,e={}){let n=e.maxBreakpoints??4,r=JSON.parse(JSON.stringify(t)),o=[],s=d=>{d&&typeof d=="object"&&d.cache_control&&o.push(d)};(Array.isArray(r.tools)?r.tools:[]).forEach(s),Array.isArray(r.system)?r.system.forEach(s):s(r.system),(Array.isArray(r.messages)?r.messages:[]).forEach(d=>{s(d),Array.isArray(d?.content)&&d.content.forEach(s)});let i=!!r.cache_control,a=Math.max(0,n-(i?1:0));if(o.length>a)for(let d of o.slice(0,o.length-a))delete d.cache_control;let u=Math.min(o.length,a);if(!i&&u<n){let d=o[o.length-1]?.cache_control;r.cache_control=d?.ttl?{type:"ephemeral",ttl:d.ttl}:Yf}return r}function Gr(t){let e=Ge(t.messages||[]),n=Je(t.tools);for(let r=e.length-1;r>=0;r-=1){let o=e[r];if(typeof o.content=="string"&&o.content){o.content=[{type:"text",text:o.content,cache_control:Yf}];break}if(Array.isArray(o.content))for(let s=o.content.length-1;s>=0;s-=1){let i=o.content[s];if(i?.type==="text"&&i.text)return o.content[s]={...i,cache_control:Yf},{...t,messages:e,...n?{tools:n}:{}}}}return{...t,messages:e,...n?{tools:n}:{}}}function Ka(t){let e=[];for(let n=0;n<t.length;n++){let r={...t[n]};if(r.role==="assistant"&&r.tool_calls){let o=[],s=[],i=[],a=n+1;for(;a<t.length&&t[a].role==="tool";)i.push(t[a]),a++;r.tool_calls.forEach(u=>{i.some(f=>f.tool_call_id===u.id)?o.push(u):s.push(u.id)}),o.length>0?r.tool_calls=o:delete r.tool_calls,(r.content||r.tool_calls)&&e.push(r)}else if(r.role==="tool"){let o=!1;if(n>0){let s=t[n-1];if(s.role==="assistant"&&s.tool_calls)o=s.tool_calls.some(i=>i.id===r.tool_call_id);else if(s.role==="tool"){for(let i=n-1;i>=0;i--)if(t[i].role!=="tool"){t[i].role==="assistant"&&t[i].tool_calls&&(o=t[i].tool_calls.some(a=>a.id===r.tool_call_id));break}}}o&&e.push(r)}else e.push(r)}return e}function mb(t){let n=(t||"").toLowerCase().match(/(?:^|\/)gpt-(\d+)(?:\.(\d+))?/);if(!n)return!1;let r=Number(n[1]),o=Number(n[2]||0);return r>5||r===5&&o>=6}function gb(t){return t?.type==="text"||t?.type==="image_url"||t?.type==="input_audio"||t?.type==="file"||t?.type==="refusal"}function QR(t){for(let e=t.length-1;e>=0;e-=1)if(gb(t[e]))return e;return-1}function ai(t,e,n){let r={...t,messages:(t.messages||[]).map(s=>({...s,content:Array.isArray(s.content)?s.content.map(i=>({...i})):s.content})),tools:Array.isArray(t.tools)?t.tools.map(s=>s?.function?{...s,function:{...s.function,parameters:{...s.function.parameters}}}:{...s}):t.tools},o=Wt(n,t);if(o&&!r.prompt_cache_key&&(r.prompt_cache_key=o),mb(r.model)){let s=[];r.messages.forEach((i,a)=>{if(i.cache_control){if(typeof i.content=="string"&&i.content)s.push({messageIndex:a});else if(Array.isArray(i.content)){let u=QR(i.content);u>=0&&s.push({messageIndex:a,contentIndex:u})}}Array.isArray(i.content)&&i.content.forEach((u,d)=>{u?.cache_control&&gb(u)&&s.push({messageIndex:a,contentIndex:d})})});for(let i of s.slice(-3)){let a=r.messages[i.messageIndex];typeof a.content=="string"?a.content=[{type:"text",text:a.content,prompt_cache_breakpoint:{mode:"explicit"}}]:Array.isArray(a.content)&&i.contentIndex!==void 0&&(a.content[i.contentIndex].prompt_cache_breakpoint={mode:"explicit"})}}return r.messages=Ge(r.messages),r.tools=Je(r.tools),r}function Va(t,e){return mb(e)?t?.prompt_cache_breakpoint?{prompt_cache_breakpoint:t.prompt_cache_breakpoint}:{}:{}}function ZR(t){return String(t?.name||"").trim().toLowerCase()}function ex(t){let e=t?.baseUrl||t?.api_base_url||"";try{return new URL(e).hostname.toLowerCase()}catch{return String(e).toLowerCase()}}function Xf(t,e){let n={...t,messages:Ge(t.messages||[]),tools:Je(t.tools)},r=Wt(e,t);return r&&(n.prompt_cache_key=r),n}function Ya(t,e,n){let r=ZR(e),o=ex(e);return r==="openai"||r==="azure-openai"||o==="api.openai.com"||o.endsWith(".openai.azure.com")?ai(t,e,n):r==="qwen"||r==="qwen-auth"||o.includes("dashscope")||o.endsWith(".aliyuncs.com")||o==="qwen.aikit.club"?Gr(t):r==="mistral"||r==="cerebras"||o==="api.mistral.ai"||o==="api.cerebras.ai"?Xf(t,n):{...t,messages:Ge(t.messages||[]),tools:Je(t.tools)}}function St(t){if(typeof t!="string")return;let e=t.trim().toLowerCase();return e||void 0}function Et(t,e){return e?.type==="disabled"||t?.enabled===!1||St(t?.effort)==="none"}function xo(t,e){let n=St(t);if(!(!n&&e===void 0))return{...n?{effort:n}:{},enabled:n==="none"?!1:e??!0}}function Xa(t){if(!t.reasoning)return t;let e=Et(t.reasoning,t.thinking)?"none":St(t.reasoning.effort);return e&&(t.reasoning_effort=e),delete t.reasoning,t}function yb(t){let e=St(t);if(!(!e||e==="none"))return e==="minimal"?"low":e==="ultra"?"max":e}async function _b(t,e,n){let r=await t(e);if(r.status!==401||typeof n!="function")return r;let o=await n();if(!o)return r;try{await r.body?.cancel()}catch{}return Object.assign(e,o),t(e)}function bb(t,e){let n=e.toLowerCase();return Object.keys(t).find(r=>r.toLowerCase()===n)}function Qa(t,e){let n={...t||{}};if(!e)return n;for(let[r,o]of Object.entries(e)){let s=bb(n,r);s&&delete n[s],o!==void 0&&o!=="undefined"&&(n[r]=o)}return n}var tx=new Set(["content-length","content-encoding","transfer-encoding","connection","content-type","keep-alive"]);function Cb(t){let e={};return t&&t.forEach((n,r)=>{tx.has(r.toLowerCase())||(e[r]=n)}),e}var nx=new Set(["retry-after","request-id","x-request-id","openai-request-id"]),rx=["anthropic-ratelimit-","x-ratelimit-"];function Qf(t){let e={};if(!t)return e;let n=typeof t.forEach=="function"&&typeof t.entries=="function"?Array.from(t.entries()):Object.entries(t);for(let[r,o]of n){if(typeof o!="string"||!o)continue;let s=r.toLowerCase();!(nx.has(s)||rx.some(a=>s.startsWith(a)))||e[s]!==void 0||(e[s]=o)}return e}function wb(t,e){let n={};for(let[r,o]of Object.entries(t||{})){if(o===void 0||o==="undefined")continue;let s=r.toLowerCase(),i=s==="authorization"?"Authorization":s==="x-api-key"?"x-api-key":s,a=bb(n,i);a&&delete n[a],n[i]=o}return n["x-api-key"]?delete n.Authorization:!n.Authorization&&e&&(n.Authorization=`Bearer ${e}`),Object.fromEntries(Object.entries(n).filter(r=>typeof r[1]=="string"))}import{RATE_LIMIT_CONFIG as No}from"@caeliq/ccr-shared";var kb=[{protocol:"anthropic_messages",canonicalPath:"/v1/messages",aliases:[],ownerTransformerName:"Anthropic"},{protocol:"openai_chat_completions",canonicalPath:"/v1/chat/completions",aliases:["/chat/completions"],ownerTransformerName:"OpenAI"},{protocol:"openai_responses",canonicalPath:"/v1/responses",aliases:["/responses"],ownerTransformerName:"openai-responses"}],ox=["/v1/completions","/completions","/v1beta/interactions","/v1/interactions"],sx=/^\/preset\/[^/]+/;function ix(t){let e=t.split("?")[0]||"/";return e.length>1&&e.endsWith("/")?e.slice(0,-1):e||"/"}function ax(t){let e=t.match(sx);if(!e)return{suffix:t};let n=e[0];return{suffix:t.slice(n.length)||"/",presetPrefix:n}}function cx(t){return ox.some(e=>t===e)}function ux(t){for(let e of kb){let n=[e.canonicalPath,...e.aliases];for(let r of n)if(t===r)return{protocol:e.protocol,canonicalPath:e.canonicalPath,matchedPath:r,ownerTransformerName:e.ownerTransformerName,isAlias:r!==e.canonicalPath,stream:!!e.defaultStream}}return null}function qn(t,e){if(t.toUpperCase()!=="POST")return null;let n=ix(e),{suffix:r,presetPrefix:o}=ax(n);if(cx(r))return null;let s=ux(r);return s?{...s,presetPrefix:o}:null}function lx(t,e){return qn(t,e)!==null}function Zf(){let t=[];for(let e of kb){t.push({path:e.canonicalPath,protocol:e.protocol,ownerTransformerName:e.ownerTransformerName,isCanonical:!0});for(let n of e.aliases)t.push({path:n,protocol:e.protocol,ownerTransformerName:e.ownerTransformerName,isCanonical:!1})}return t}function Sb(t,e){return{protocol:t.protocol,pathname:t.matchedPath,canonicalPath:t.canonicalPath,matchedPath:t.matchedPath,originalModel:e?.originalModel,stream:e?.stream??t.stream,scenarioType:e?.scenarioType,ownerTransformerName:t.ownerTransformerName}}import{createHash as dx}from"crypto";var Eb=/^[a-zA-Z0-9_-]+$/,Ab=/[^a-zA-Z0-9_-]+/g,vb=256;function fx(t){return t.length>0&&t.length<=vb&&Eb.test(t)}function ep(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===95;)e--;return t.slice(0,e)}function $n(t){if(typeof t!="string"||t.length===0)return;if(fx(t))return t;let e=ep(t.replace(Ab,"_").slice(0,vb));return e.length?e:void 0}var Tb=64,Rb=20,px=Tb-Rb-1;function hx(t){return t.length>0&&t.length<=Tb&&Eb.test(t)}function yt(t){if(typeof t!="string"||t.length===0)return;if(hx(t))return t;let e=ep(t.replace(Ab,"_")),n=ep(e.slice(0,px))||"call",r=dx("sha256").update(t,"utf8").digest("base64url").slice(0,Rb);return`${n}_${r}`}function Do(){return{forward:new Map,reverse:new Map}}function Jr(t,e,n="client_to_unified"){if(typeof e!="string"||!e)return;if(n==="unified_to_client"){let i=yt(e)??e;if(t.reverse.has(i))return i}let r=t.forward.get(e);if(r)return r;let o=yt(e)??e,s=0;for(;t.reverse.has(o)&&t.reverse.get(o)!==e;)s+=1,o=yt(`${e}_${s}`)||`call_${s}`;return t.forward.set(e,o),t.reverse.set(o,e),o}function ec(t,e=Do(),n=new Set){if(!t||typeof t!="object")throw W("Invalid Responses body",400,"invalid_body");if(typeof t.model!="string"||!t.model.trim())throw W("Responses requires model",400,"invalid_body","invalid_request_error");if(mx(t),t.stream!==void 0&&typeof t.stream!="boolean")throw W("stream must be a boolean",400,"invalid_stream","invalid_request_error");if(t.instructions!==void 0&&typeof t.instructions!="string")throw W("instructions must be a string",400,"invalid_instructions","invalid_request_error");if(t.max_tokens!==void 0)throw W("Responses uses max_output_tokens, not max_tokens",400,"unsupported_field","invalid_request_error");if(t.max_output_tokens!=null){let d=Number(t.max_output_tokens);if(!Number.isInteger(d)||d<=0)throw W("max_output_tokens must be a positive integer",400,"invalid_token_limit","invalid_request_error")}if(t.reasoning!==void 0&&(t.reasoning===null||typeof t.reasoning!="object"||Array.isArray(t.reasoning)))throw W("reasoning must be an object",400,"invalid_reasoning","invalid_request_error");if(t.parallel_tool_calls!==void 0&&typeof t.parallel_tool_calls!="boolean")throw W("parallel_tool_calls must be a boolean",400,"invalid_parallel_tool_calls","invalid_request_error");if(t.prompt_cache_key!==void 0&&typeof t.prompt_cache_key!="string")throw W("prompt_cache_key must be a string",400,"invalid_prompt_cache_key","invalid_request_error");if(t.text?.format&&t.text.format.type!=="text")throw W("Structured text formats are not supported without a verified mapping",400,"unsupported_response_format","invalid_request_error");for(let d of["metadata","max_tool_calls","service_tier","safety_identifier","top_logprobs","truncation"])if(t[d]!==void 0&&t[d]!==null)throw W(`Responses field '${d}' is not supported`,400,"unsupported_field","invalid_request_error");let r=[];typeof t.instructions=="string"&&t.instructions&&r.push({role:"system",content:t.instructions});let o=t.input;if(typeof o=="string")r.push({role:"user",content:o});else if(Array.isArray(o)){if(o.length===0)throw W("Responses input[] must not be empty",400,"invalid_input","invalid_request_error");for(let d of o)gx(r,d,e)}else throw W("Responses requires string input or input[]",400,"invalid_input","invalid_request_error");if(r.length===0)throw W("Responses input did not contain a supported item",400,"invalid_input","invalid_request_error");let s=_x(t.tools,n),i=bx(t.tool_choice),a=t.reasoning&&typeof t.reasoning=="object"?{...xo(t.reasoning.effort,!0),summary:t.reasoning.summary}:void 0,u={model:t.model,messages:r,tools:s,tool_choice:i,stream:t.stream===!0,temperature:t.temperature,top_p:t.top_p,max_tokens:t.max_output_tokens??t.max_tokens,reasoning:a,parallel_tool_calls:t.parallel_tool_calls};return typeof t.prompt_cache_key=="string"&&(u.prompt_cache_key=t.prompt_cache_key),u}function mx(t){if(t.store===!0)throw W("store: true is not supported; CCR does not own Responses state",400,"unsupported_store","invalid_request_error");if(t.previous_response_id)throw W("previous_response_id is not supported",400,"unsupported_previous_response_id","invalid_request_error");if(t.conversation)throw W("conversation is not supported",400,"unsupported_conversation","invalid_request_error");if(t.background===!0)throw W("background: true is not supported",400,"unsupported_background","invalid_request_error");if(Array.isArray(t.tools))for(let e of t.tools){let n=e?.type;if(typeof n!="string"||!n)throw W("Responses tools require a type",400,"invalid_tool","invalid_request_error")}}function xb(t,e){let n=t[t.length-1];if(n&&n.role==="assistant"&&Array.isArray(n.tool_calls)&&n.tool_calls.length>0&&(n.content===null||n.content===void 0||n.content==="")){n.tool_calls.push(e);return}t.push({role:"assistant",content:null,tool_calls:[e]})}function gx(t,e,n){if(!e||typeof e!="object")throw W("Invalid Responses input item",400,"invalid_input_item","invalid_request_error");if(e.type==="function_call_output"){if(typeof e.call_id!="string"||!e.call_id)throw W("function_call_output requires call_id",400,"invalid_call_id","invalid_request_error");t.push({role:"tool",tool_call_id:Jr(n,e.call_id)??e.call_id,content:typeof e.output=="string"?e.output:JSON.stringify(e.output??"")});return}if(e.type==="function_call"){let r=e.call_id||e.id;if(typeof r!="string"||!r)throw W("function_call requires call_id",400,"invalid_call_id","invalid_request_error");if(typeof e.name!="string"||!e.name)throw W("function_call requires name",400,"invalid_function_call","invalid_request_error");xb(t,{id:Jr(n,r)??r,type:"function",function:{name:e.name,arguments:typeof e.arguments=="string"?e.arguments:JSON.stringify(e.arguments??{})}});return}if(e.type==="custom_tool_call_output"){if(typeof e.call_id!="string"||!e.call_id)throw W("custom_tool_call_output requires call_id",400,"invalid_call_id","invalid_request_error");t.push({role:"tool",tool_call_id:Jr(n,e.call_id)??e.call_id,content:typeof e.output=="string"?e.output:JSON.stringify(e.output??"")});return}if(e.type==="custom_tool_call"){let r=e.call_id||e.id;if(typeof r!="string"||!r)throw W("custom_tool_call requires call_id",400,"invalid_call_id","invalid_request_error");if(typeof e.name!="string"||!e.name)throw W("custom_tool_call requires name",400,"invalid_function_call","invalid_request_error");if(typeof e.input!="string")throw W("custom_tool_call requires string input",400,"invalid_custom_tool_input","invalid_request_error");xb(t,{id:Jr(n,r)??r,type:"function",function:{name:e.name,arguments:JSON.stringify({[Za]:e.input})}});return}if(e.type==="message"||e.role){let r=e.role==="assistant"?"assistant":e.role==="system"||e.role==="developer"?"system":e.role==="user"?"user":void 0;if(!r)throw W(`Unsupported Responses message role '${e.role}'`,400,"unsupported_role","invalid_request_error");if(typeof e.content!="string"&&!Array.isArray(e.content))throw W("Responses message items require string or array content",400,"invalid_content","invalid_request_error");t.push({role:r,content:yx(e.content)});return}if(e.type==="input_text"||e.type==="output_text"){t.push({role:e.type==="output_text"?"assistant":"user",content:String(e.text??"")});return}if(e.type==="input_image"){if(e.file_id)throw W("Provider-bound file_id inputs are not supported",400,"unsupported_file_id","invalid_request_error");let r=e.image_url||e.url;if(typeof r!="string"||!r)throw W("input_image requires image_url",400,"invalid_image","invalid_request_error");t.push({role:"user",content:[{type:"image_url",image_url:{url:r,...e.detail?{detail:e.detail}:{}}}]});return}throw W(`Unsupported Responses input item type '${e.type||"unknown"}'`,400,"unsupported_input_item","invalid_request_error")}function yx(t){if(typeof t=="string")return t;if(!Array.isArray(t))return t==null?"":JSON.stringify(t);let e=[];for(let n of t){if(typeof n=="string"){e.push({type:"text",text:n});continue}if(!(!n||typeof n!="object"))if(n.type==="input_text"||n.type==="output_text"||n.type==="text")e.push({type:"text",text:String(n.text??"")});else if(n.type==="input_image"||n.type==="image_url"){if(n.file_id)throw W("Provider-bound file_id inputs are not supported",400,"unsupported_file_id","invalid_request_error");let r=n.image_url?.url||n.image_url||n.url;if(typeof r!="string"||!r)throw W("input_image requires image_url",400,"invalid_image","invalid_request_error");e.push({type:"image_url",image_url:{url:r,...n.detail?{detail:n.detail}:{}}})}else throw W(`Unsupported Responses content part '${n.type||"unknown"}'`,400,"unsupported_content_part","invalid_request_error")}return e.length===1&&e[0].type==="text"?e[0].text:e.length>0?e:""}var Za="input";function tp(t){if(!t)return"";try{let n=JSON.parse(t)?.[Za];if(typeof n=="string")return n}catch{}return t}function _x(t,e){if(t!=null){if(!Array.isArray(t))throw W("Responses tools must be an array",400,"invalid_tools","invalid_request_error");return t.map(n=>{let r=typeof n?.type=="string"?n.type:"",o=n?.name||n?.function?.name;if(r==="web_search"||r==="web_search_preview"?o="web_search":!o&&r&&r!=="function"&&r!=="custom"&&(o=r),typeof o!="string"||!o)throw W("Responses function tools require a name",400,"invalid_tool","invalid_request_error");return r==="custom"?(e?.add(o),{type:"function",function:{name:o,description:n.description||n.function?.description,parameters:{type:"object",properties:{[Za]:{type:"string",description:"The freeform text/code input for this tool."}},required:[Za]}}}):{type:"function",function:{name:o,description:n.description||n.function?.description,parameters:n.parameters||n.schema||n.function?.parameters||{type:"object",properties:{}}}}})}}function bx(t){if(t!=null){if(typeof t=="string"){if(["auto","none","required"].includes(t))return t;throw W(`Unsupported Responses tool_choice '${t}'`,400,"unsupported_tool_choice","invalid_request_error")}if(t?.name&&(t?.type==="function"||t?.type==="custom"))return{type:"function",function:{name:t.name}};throw t?.type==="allowed_tools"?W("allowed_tools tool_choice is not supported",400,"unsupported_tool_choice","invalid_request_error"):W("Unsupported Responses tool_choice",400,"unsupported_tool_choice","invalid_request_error")}}function Db(t,e){let n=e?.callIdMap??Do(),o=t?.choices?.[0]?.message||{},s=[],i=typeof o.content=="string"?o.content:Array.isArray(o.content)?o.content.filter(u=>u?.type==="text").map(u=>u.text).join(""):"";if(i||!o.tool_calls?.length){let u=`msg_${t.id||Date.now()}`;s.push({type:"message",id:u,status:"completed",role:"assistant",content:[{type:"output_text",text:i||"",annotations:[],logprobs:o?.logprobs?.content||[]}]})}if(Array.isArray(o.tool_calls))for(let u of o.tool_calls){if(!u?.function)continue;let d=Jr(n,u.id,"unified_to_client")??u.id,f=typeof u.function.arguments=="string"?u.function.arguments:JSON.stringify(u.function.arguments??{});if(e?.customToolNames?.has(u.function.name)){s.push({type:"custom_tool_call",id:d,call_id:d,name:u.function.name,input:tp(f)});continue}s.push({type:"function_call",id:d,call_id:d,name:u.function.name,arguments:f,status:"completed"})}let a=Mb(t?.usage);return{id:t?.id||`resp_${Date.now()}`,object:"response",created_at:t?.created||Math.floor(Date.now()/1e3),status:"completed",model:e?.originalModel||t?.model,output:s,usage:a}}function Ob(t){let e=`resp_${Date.now()}`;return{responseId:e,model:t?.model,textItemId:`msg_${e}`,textStarted:!1,textContent:"",toolCalls:new Map,nextOutputIndex:0,finished:!1,created:!1,sequenceNumber:0,finishReasonSeen:!1,callIdMap:t?.callIdMap??Do(),customToolNames:t?.customToolNames??new Set}}function Pb(t,e){return e.map(n=>({...n,sequence_number:t.sequenceNumber++}))}function Ib(t,e){t.created||(t.created=!0,e.push({type:"response.created",response:Nb(t,"in_progress")}))}function Fb(t,e){if(!t||typeof t!="object")return[];if(e.finished)return[];let n=[],r=t.choices?.[0],o=r?.delta||{};if(!e.model&&t.model&&(e.model=t.model),t.id&&(e.responseId=t.id.startsWith("resp_")?t.id:`resp_${t.id}`),t.usage&&(e.usage=t.usage),!e.textStarted&&e.toolCalls.size===0&&(typeof o.content=="string"||Array.isArray(o.tool_calls)||r?.finish_reason)&&Ib(e,n),typeof o.content=="string"&&o.content.length>0&&(e.textStarted||(e.textStarted=!0,e.textOutputIndex=e.nextOutputIndex++,n.push({type:"response.output_item.added",output_index:e.textOutputIndex,item:{type:"message",id:e.textItemId,status:"in_progress",role:"assistant",content:[]}}),n.push({type:"response.content_part.added",item_id:e.textItemId,output_index:e.textOutputIndex,content_index:0,part:{type:"output_text",text:"",annotations:[]}})),e.textContent+=o.content,n.push({type:"response.output_text.delta",item_id:e.textItemId,output_index:e.textOutputIndex,content_index:0,delta:o.content,logprobs:[]})),Array.isArray(o.tool_calls))for(let s of o.tool_calls){let i=typeof s.index=="number"?s.index:0,a=e.toolCalls.get(i);if(!a){let u=Jr(e.callIdMap,s.id||`call_${e.responseId}_${i}`,"unified_to_client")||`call_${i}`,d=s.function?.name||"";a={id:u,name:d,arguments:"",added:!1,outputIndex:e.nextOutputIndex++,emittedArgumentsLength:0,isCustom:e.customToolNames.has(d)},e.toolCalls.set(i,a)}if(s.id&&!a.added&&(a.id=Jr(e.callIdMap,s.id,"unified_to_client")||a.id),s.function?.name&&(a.name=s.function.name,a.isCustom=e.customToolNames.has(a.name)),typeof s.function?.arguments=="string"&&(a.arguments+=s.function.arguments),!a.added&&a.name&&(a.added=!0,n.push({type:"response.output_item.added",output_index:a.outputIndex,item:a.isCustom?{type:"custom_tool_call",id:a.id,call_id:a.id,name:a.name,input:""}:{type:"function_call",id:a.id,call_id:a.id,name:a.name,arguments:"",status:"in_progress"}})),a.added&&a.arguments.length>a.emittedArgumentsLength){if(!a.isCustom){let u=a.arguments.slice(a.emittedArgumentsLength);n.push({type:"response.function_call_arguments.delta",item_id:a.id,output_index:a.outputIndex,delta:u})}a.emittedArgumentsLength=a.arguments.length}}return r?.finish_reason&&(e.finishReasonSeen=!0),Pb(e,n)}function np(t,e){if(t.finished)return[];t.finished=!0;let n=[];Ib(t,n),t.textStarted&&(n.push({type:"response.output_text.done",item_id:t.textItemId,output_index:t.textOutputIndex,content_index:0,text:t.textContent,logprobs:[]}),n.push({type:"response.content_part.done",item_id:t.textItemId,output_index:t.textOutputIndex,content_index:0,part:{type:"output_text",text:t.textContent,annotations:[],logprobs:[]}}),n.push({type:"response.output_item.done",output_index:t.textOutputIndex,item:{type:"message",id:t.textItemId,status:"completed",role:"assistant",content:[{type:"output_text",text:t.textContent,annotations:[],logprobs:[]}]}}));for(let o of t.toolCalls.values()){if(o.isCustom){let s=tp(o.arguments);n.push({type:"response.custom_tool_call_input.delta",item_id:o.id,output_index:o.outputIndex,delta:s}),n.push({type:"response.custom_tool_call_input.done",item_id:o.id,output_index:o.outputIndex,input:s}),n.push({type:"response.output_item.done",output_index:o.outputIndex,item:{type:"custom_tool_call",id:o.id,call_id:o.id,name:o.name,input:s}});continue}n.push({type:"response.function_call_arguments.done",item_id:o.id,output_index:o.outputIndex,name:o.name,arguments:o.arguments}),n.push({type:"response.output_item.done",output_index:o.outputIndex,item:{type:"function_call",id:o.id,call_id:o.id,name:o.name,arguments:o.arguments,status:"completed"}})}let r=Nb(t,"completed",e||t.usage);return n.push({type:"response.completed",response:r}),Pb(t,n)}function Nb(t,e,n){let r=[];(t.textStarted||t.textContent)&&r.push({index:t.textOutputIndex??0,item:{type:"message",id:t.textItemId,status:e==="completed"?"completed":"in_progress",role:"assistant",content:[{type:"output_text",text:t.textContent,annotations:[],logprobs:[]}]}});for(let s of t.toolCalls.values())r.push({index:s.outputIndex,item:s.isCustom?{type:"custom_tool_call",id:s.id,call_id:s.id,name:s.name,input:tp(s.arguments)}:{type:"function_call",id:s.id,call_id:s.id,name:s.name,arguments:s.arguments,status:e==="completed"?"completed":"in_progress"}});let o=r.sort((s,i)=>s.index-i.index).map(({item:s})=>s);return{id:t.responseId,object:"response",created_at:Math.floor(Date.now()/1e3),status:e,model:t.model,output:o,usage:Mb(n)}}function Mb(t){if(!t||typeof t!="object")return;let e={input_tokens:t.prompt_tokens??0,output_tokens:t.completion_tokens??0,total_tokens:t.total_tokens??0},n=t.prompt_tokens_details;return n&&typeof n=="object"&&(e.input_tokens_details={},n.cached_tokens!=null&&(e.input_tokens_details.cached_tokens=n.cached_tokens),n.cache_write_tokens!=null&&(e.input_tokens_details.cache_write_tokens=n.cache_write_tokens)),e}function ci(t,e){let n={type:"response.failed",response:{id:e?.responseId||`resp_${Date.now()}`,object:"response",status:"failed",error:{message:t,type:"api_error",code:"provider_response_error"},output:[]}};return e?{...n,sequence_number:e.sequenceNumber++}:n}function Bb(t,e,n){let r=e&&typeof e=="object"?yr(e):{},o=t.stream,s=typeof r.model=="string"?r.model:void 0;(t.protocol==="openai_chat_completions"||t.protocol==="openai_responses"||t.protocol==="anthropic_messages")&&(o=r.stream===!0);let i=Sb(t,{originalModel:s,stream:o});return{normalizationInput:r,context:i}}async function Ub(t,e,n,r){if(typeof n.transformRequestOut=="function"){let o=await n.transformRequestOut(e,r);return o&&typeof o=="object"&&"body"in o&&o.body?o.body:o}if(t==="openai_chat_completions")return Cx(e);if(t==="openai_responses")return ec(e);throw t==="anthropic_messages"?W("Anthropic transformRequestOut is required",500,"transformer_misconfigured"):W(`Client protocol '${t}' normalization is not implemented yet`,501,"protocol_not_implemented")}function Cx(t){if(!t||typeof t!="object")throw W("Invalid Chat Completions body",400,"invalid_body");if(!Array.isArray(t.messages))throw W("Chat Completions requires messages[]",400,"invalid_body","invalid_request_error");if(typeof t.model!="string"||!t.model)throw W("Chat Completions requires model",400,"invalid_body","invalid_request_error");return t}function yr(t){return typeof structuredClone=="function"?structuredClone(t):JSON.parse(JSON.stringify(t))}var wx=new Set(["authorization","proxy-authorization","x-api-key","cookie","set-cookie","host","content-length","content-encoding","accept-encoding","connection","keep-alive","transfer-encoding","upgrade","te","trailer","expect","via","proxy-authenticate","proxy-authentication-info","x-auth-token","openai-secret","x-claude-desktop-no-iap-inject"]),kx=["proxy-","x-forwarded-","x-real-ip"];function jb(t){let e={};if(!t)return e;let n=t instanceof Headers?Array.from(t.entries()):Object.entries(t);for(let[r,o]of n){let s=r.toLowerCase();if(wx.has(s)||kx.some(a=>s.startsWith(a)))continue;let i=Array.isArray(o)?o.filter(a=>a!=null).map(String).join(", "):o;typeof i=="string"&&i&&(e[s]=i)}return e}function Lb(t,e,n,r){let o=t.transformer?.use;if(!Array.isArray(o)||o.length!==1||o[0]?.name!==e.name)return!1;let s=r?t.transformer?.[r]?.use:void 0;if(Array.isArray(s)&&s.length>0&&(s.length!==1||s[0]?.name!==e.name))return!1;let i={anthropic_messages:"Anthropic",openai_chat_completions:"OpenAI",openai_responses:"openai-responses"};return e.name===i[n]}import{get_encoding as Sx}from"tiktoken";var rp=class{capacity;cache;constructor(e){this.capacity=e,this.cache=new Map}get(e){if(!this.cache.has(e))return;let n=this.cache.get(e);return this.cache.delete(e),this.cache.set(e,n),n}put(e,n){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.capacity){let r=this.cache.keys().next().value;r!==void 0&&this.cache.delete(r)}this.cache.set(e,n)}values(){return Array.from(this.cache.values())}},op=new rp(100);import{readFile as qb}from"fs/promises";import{opendir as Ex,stat as $b}from"fs/promises";import{join as ip,resolve as tc,relative as Wb,basename as nc}from"path";import{CLAUDE_PROJECTS_DIR as sp,HOME_DIR as Ax}from"@caeliq/ccr-shared";import{LRUCache as vx}from"lru-cache";var Tx=Sx("cl100k_base"),zn=t=>Tx.encode(t,void 0,[]),zb="<CCR-SUBAGENT-MODEL>",Hb="</CCR-SUBAGENT-MODEL>",Oo="x-anthropic-billing-header",Po=t=>!!t&&typeof t=="object"&&!Array.isArray(t);function Gb(t){let e=t?.trim();if(!e)return;if(e.includes(","))return e;let n=e.indexOf("/");return n>0?`${e.slice(0,n)},${e.slice(n+1)}`:e}function Rx(t){let e=`${Oo}:`;if(!t.startsWith(e))return!1;let n=t.slice(e.length).trim();if(!n)return!1;if(n.startsWith("{"))try{let o=JSON.parse(n);return Po(o)&&o.cc_is_subagent===!0}catch{return!1}let r=n.split(";").map(o=>o.trim()).filter(Boolean).flatMap(o=>{let s=o.indexOf("=");return s<0||o.slice(0,s).trim()!=="cc_is_subagent"?[]:[o.slice(s+1).trim()]});return r.length===1&&r[0]==="true"}function rc(t,e){let n=t.indexOf(zb);if(n<0)return;let r=n+zb.length,o=t.indexOf(Hb,r);if(o<0)return;let s=Gb(t.slice(r,o));if(s)return e(`${t.slice(0,n)}${t.slice(o+Hb.length)}`),s}function Jb(t,e){if(typeof t=="string")return rc(t,e);if(!(!Po(t)||typeof t.text!="string"))return rc(t.text,e)}function xx(t){let e=t?.system;if(typeof e=="string")return rc(e,n=>{t.system=n});if(Array.isArray(e))for(let n=0;n<e.length;n+=1){let r=e[n],o=Jb(r,s=>{typeof r=="string"?e[n]=s:Po(r)&&(r.text=s)});if(o)return o}}function Dx(t){if(typeof t.content=="string")return rc(t.content,n=>{t.content=n});if(!Array.isArray(t.content))return;let e=t.content;for(let n=0;n<e.length;n+=1){let r=e[n],o=Jb(r,s=>{typeof r=="string"?e[n]=s:Po(r)&&(r.text=s)});if(o)return o}}function Ox(t){if(!Array.isArray(t?.messages))return;let e=Math.min(t.messages.length,2);for(let n=0;n<e;n+=1){let r=t.messages[n];if(!Po(r)||r.role!=="user")continue;let o=Dx(r);if(o)return o}}function Kb(t){return xx(t)||Ox(t)}function Vb(t){let e=t?.system;if(!Array.isArray(e)||e.length===0)return{present:!1,isSubagent:!1};let n=e[0],r=typeof n=="string"?n:Po(n)&&n.type==="text"&&typeof n.text=="string"?n.text:void 0;return r?.startsWith(Oo)?{present:!0,isSubagent:Rx(r)}:{present:!1,isSubagent:!1}}var Yb=(t,e,n)=>{let r=0;return Array.isArray(t)&&t.forEach(o=>{typeof o.content=="string"?r+=zn(o.content).length:Array.isArray(o.content)&&o.content.forEach(s=>{s.type==="text"?r+=zn(s.text).length:s.type==="tool_use"?r+=zn(JSON.stringify(s.input)).length:s.type==="tool_result"&&(r+=zn(typeof s.content=="string"?s.content:JSON.stringify(s.content)).length)})}),typeof e=="string"?r+=zn(e).length:Array.isArray(e)&&e.forEach(o=>{o.type==="text"&&(typeof o.text=="string"?r+=zn(o.text).length:Array.isArray(o.text)&&o.text.forEach(s=>{r+=zn(s||"").length}))}),n&&n.forEach(o=>{o.description&&(r+=zn(o.name+o.description).length),o.input_schema&&(r+=zn(JSON.stringify(o.input_schema)).length)}),r},Px=async(t,e)=>{if(t.sessionId){let n=await Qb(t.sessionId);if(n){let r=tc(Ax),o=tc(r,nc(n)),s=Wb(r,o);if(!s||s.startsWith(".."))return;let i=`${nc(String(t.sessionId))}.json`,a=ip(o,"config.json"),u=ip(o,i);try{let d=JSON.parse(await qb(u,"utf8"));if(d&&d.Router)return d.Router}catch{}try{let d=JSON.parse(await qb(a,"utf8"));if(d&&d.Router)return d.Router}catch{}}}};function Xb(t){return t.unifiedBody&&typeof t.unifiedBody=="object"?t.unifiedBody:t.body}function Ix(t){return!t.clientProtocol||t.clientProtocol==="anthropic_messages"}function Fx(t){return Array.isArray(t)?t.some(e=>{if(!e||typeof e!="object")return!1;if(typeof e.type=="string"&&(e.type==="web_search"||e.type.startsWith("web_search")))return!0;let n=e.function?.name||e.name||e.function?.function?.name;return typeof n=="string"&&(n==="web_search"||n.toLowerCase()==="websearch")}):!1}function Nx(t){if(Et(t?.reasoning,t?.thinking))return!1;if(t?.thinking)return!0;let e=t?.reasoning;return!!(e&&typeof e=="object"&&(e.enabled===!0||typeof e.effort=="string"&&e.effort.trim().length>0))}var Mx=async(t,e,n,r)=>{let o=await Px(t,n),s=n.get("providers")||[],i=o||n.get("Router"),a=Xb(t),u=typeof a?.model=="string"?a.model:String(a?.model??"");if(u.includes(",")){let[p,b]=u.split(","),C=s.find(w=>w.name.toLowerCase()===p.toLowerCase()),m=C?.models?.find(w=>w.toLowerCase()===b.toLowerCase());return C&&m?{model:`${C.name},${m}`,scenarioType:"default"}:{model:u,scenarioType:"default"}}let d=i?.longContextThreshold||6e4,f=r&&r.input_tokens>d&&e>2e4,h=e>d;if(Ix(t)){let p=t.protocolContext?.taggedSubagentModel,b=t.protocolContext?.claudeCodeSubagent===!0;if(p)return t.log.info(`Using CCR subagent tag model: ${p}`),{model:p,scenarioType:"subagent"};if(b){let m=Gb(process.env.CLAUDE_CODE_SUBAGENT_MODEL);if(m)return t.log.info(`Using CLAUDE_CODE_SUBAGENT_MODEL for Claude Code subagent: ${m}`),{model:m,scenarioType:"subagent"}}let C=n.get("Router");if(u?.includes("claude")&&u?.includes("haiku")&&C?.background)return t.log.info(`Using background model for ${u}`),{model:C.background,scenarioType:"background"}}return Fx(a?.tools)&&i?.webSearch?{model:i.webSearch,scenarioType:"webSearch"}:Nx(a)&&i?.think?(t.log.info("Using think model for reasoning/thinking request"),{model:i.think,scenarioType:"think"}):(f||h)&&i?.longContext?(t.log.info(`Using long context model due to token count: ${e}, threshold: ${d}`),{model:i.longContext,scenarioType:"longContext"}):{model:i?.default||u,scenarioType:"default"}},Bx=t=>{if(typeof t!="string"||!t)return;let e=t.split("_session_");if(e.length>1&&e[1])return e[1];try{let n=JSON.parse(t);if(n&&typeof n.session_id=="string"&&n.session_id)return n.session_id}catch{}},ap=async(t,e,n)=>{let{configService:r,event:o}=n,s=Xb(t),i=t.body?.metadata?.user_id??s?.metadata?.user_id;t.sessionId=Bx(i);let a=op.get(t.sessionId),u=s.messages||[],d=s.system??[],f=s.tools||[];try{let h=typeof s.model=="string"?s.model:String(s.model??""),[p,b]=h.split(","),C=n.tokenizerService?.getTokenizerConfigForModel(p,b),m;n.tokenizerService?m=(await n.tokenizerService.countTokens({messages:u,system:d,tools:f},C)).tokenCount:m=Yb(u,d,f),t.tokenCount=m;let w,_=r.get("CUSTOM_ROUTER_PATH");if(_)try{w=await oe(_)(t,r.getAll(),{event:o})}catch(A){t.log.error(`failed to load custom router: ${A.message}`)}if(w)t.scenarioType="default";else{let A=await Mx(t,m,r,a);w=A.model,t.scenarioType=A.scenarioType}s.model=w,t.unifiedBody&&typeof t.unifiedBody=="object"&&(t.unifiedBody.model=w)}catch(h){t.log.error(`Error in router middleware: ${h.message}`);let b=r.get("Router")?.default||s.model;s.model=b,t.unifiedBody&&typeof t.unifiedBody=="object"&&(t.unifiedBody.model=b),t.scenarioType="default"}},_r=new vx({max:1e3}),Qb=async(t,e)=>{if(_r.has(t)){let n=_r.get(t);return!n||n===""?null:n}try{if(!(await $b(sp)).isDirectory())return _r.set(t,""),null}catch(n){return n?.code==="ENOENT"?(_r.set(t,""),null):((e?.error??console.error)("Error checking Claude projects directory:",n),_r.set(t,""),null)}try{let n=await Ex(sp),r=[];for await(let u of n)u.isDirectory()&&r.push(u.name);let o=tc(sp),s=`${nc(String(t))}.jsonl`,i=r.map(async u=>{let d=tc(o,nc(u)),f=Wb(o,d);if(!f||f.startsWith(".."))return null;let h=ip(d,s);try{return(await $b(h)).isFile()?u:null}catch{return null}}),a=await Promise.all(i);for(let u of a)if(u)return _r.set(t,u),u;return _r.set(t,""),null}catch(n){return(e?.error??console.error)("Error searching for project by session:",n),_r.set(t,""),null}};import{readFile as Kx}from"fs/promises";import{createHash as Ux}from"crypto";var jx="59cf53e54c78",cp=process.env.ANTHROPIC_CLI_VERSION||"2.1.226",Lx=process.env.CLAUDE_CODE_ENTRYPOINT??"unknown",Zb=process.env.CLAUDE_CODE_ENTRYPOINT??"cli",Kr="You are Claude Code, Anthropic's official CLI for Claude.";function qx(t){return typeof t=="string"?t:Array.isArray(t)?t.find(n=>n.type==="text")?.text??"":""}function $x(t){let e=t?.find(n=>n.role==="user");return e?qx(e.content):""}function zx(t,e){let n=[4,7,20].map(r=>t[r]||"0").join("");return Ux("sha256").update(jx+n+e).digest("hex").slice(0,3)}function Hx(){return"00000"}function Wx(t,e=cp,n=Lx){let r=process.env.CLAUDE_CODE_ATTRIBUTION_HEADER?.trim().toLowerCase();if(["0","false","no","off"].includes(r||""))return"";let o=zx($x(t),e);return`${Oo}: cc_version=${e}.${o}; cc_entrypoint=${n}; cch=${Hx()};`}function oc(t){let e=[],n=r=>{if(typeof r=="string"){r&&e.push({type:"text",text:r});return}if(Array.isArray(r)){for(let o of r)if(o?.type==="text"&&o.text){let s={type:"text",text:o.text};o.cache_control!==void 0&&(s.cache_control=o.cache_control),e.push(s)}}};if((typeof t.system=="string"||Array.isArray(t.system))&&n(t.system),Array.isArray(t.messages)){let r=[];for(let o of t.messages)o.role==="system"||o.role==="developer"?n(o.content):r.push(o);t.messages=r}return t.system=e,e}function sc(t,e){for(let r=t.length-1;r>=0;r--)t[r].text.startsWith(Oo)&&t.splice(r,1);let n=Wx(e);n&&t.unshift({type:"text",text:n})}function ic(t){let e=t.findIndex(o=>o.text.startsWith(Oo)),n=e>=0?e+1:0,r=t[n];if(r?.text!==Kr){if(r?.text.startsWith(Kr)&&r.text.length>Kr.length){let o={type:"text",text:r.text.slice(Kr.length)};r.cache_control!==void 0&&(o.cache_control=r.cache_control),t.splice(n,1,{type:"text",text:Kr},o);return}t.splice(n,0,{type:"text",text:Kr})}}function ac(t,e){let n=t.findIndex(i=>i.text===Kr);if(n<0||t.length<=n+1||!Array.isArray(e))return;let r=e.find(i=>i.role==="user");if(!r)return;let s=t.splice(n+1).map(i=>i.text).filter(i=>i.length>0).join(`
|
|
106
|
+
|
|
107
|
+
`);s&&(typeof r.content=="string"?r.content=r.content?`${s}
|
|
108
|
+
|
|
109
|
+
${r.content}`:s:Array.isArray(r.content)?r.content.unshift({type:"text",text:s}):r.content=s)}function Gx(t){return/^mcp_[A-Z]/.test(t)?t:`mcp_${t.charAt(0).toUpperCase()}${t.slice(1)}`}function Jx(t){return!t.startsWith("mcp_")||t.length<=4?t:`${t.charAt(4).toLowerCase()}${t.slice(5)}`}function cc(t,e){let n=r=>{let o=Gx(r);return e?.set(o,r),o};if(Array.isArray(t.tools))for(let r of t.tools)r?.function?.name&&(r.function.name=n(r.function.name));if(Array.isArray(t.messages))for(let r of t.messages)for(let o of r.tool_calls??[])o?.function?.name&&(o.function.name=n(o.function.name));typeof t.tool_choice=="string"?["auto","none","required"].includes(t.tool_choice)||(t.tool_choice=n(t.tool_choice)):t.tool_choice?.type==="function"&&t.tool_choice.function?.name&&(t.tool_choice.function.name=n(t.tool_choice.function.name))}function Io(t,e){let n=r=>{let o=r?.function?.name;typeof o=="string"&&(r.function.name=e?.get(o)??Jx(o))};for(let r of t?.choices??[]){for(let o of r?.message?.tool_calls??[])n(o);for(let o of r?.delta?.tool_calls??[])n(o)}}function Vr(t,e){if(!t)return;let n=e.toLowerCase();for(let[r,o]of Object.entries(t)){if(r.toLowerCase()!==n||o==null)continue;if(Array.isArray(o)){let i=o.filter(a=>a!=null&&String(a));return i.length?i.map(String).join(", "):void 0}return String(o)||void 0}}function Vx(t){return(Array.isArray(t?.system)?t.system:[]).some(n=>typeof n?.text=="string"&&n.text.startsWith("x-anthropic-billing-header"))}function Yx(t){return(Array.isArray(t?.system)?t.system:[]).some(n=>typeof n?.text=="string"&&(n.text.startsWith("You are Claude Code, Anthropic's official CLI for Claude.")||n.text.startsWith("You are Claude Code, Anthropic's official CLI for Claude, running within the Claude Agent SDK.")||n.text.startsWith("You are a Claude agent, built on Anthropic's Claude Agent SDK.")))}function eC(t,e){let n=up(t,e),r=n.desktopMarker&&n.desktopUserAgent&&Array.isArray(e?.messages),o=n.cliUserAgent&&n.cliApp&&n.cliSession&&n.stainlessPackage&&n.billingSystem&&n.identitySystem&&Array.isArray(e?.messages),s=n.cliUserAgent||n.cliApp||n.cliSession;return r&&s?"other":r||n.desktopAgentSdkUserAgent&&o?"claude_desktop":o?"claude_code":"other"}function up(t,e){let n=Vr(t,"user-agent")||"",r=Vr(t,"anthropic-desktop-topbar"),s=(/^claude-cli\/[^\s()]+\s+\(([^)]*)\)$/i.exec(n)?.[1]||"").split(",").map(a=>a.trim().toLowerCase()),i=s.some(a=>["claude-desktop","claude-desktop-3p"].includes(a))&&s.some(a=>/^agent-sdk\/[^\s,]+$/.test(a));return{desktopMarker:r==="1",desktopUserAgent:/^Anthropic\/JS\s+/i.test(n),desktopAgentSdkUserAgent:i,cliUserAgent:/^claude-cli\//i.test(n),cliApp:["cli","cli-bg"].includes(Vr(t,"x-app")||""),cliSession:!!Vr(t,"x-claude-code-session-id"),stainlessPackage:!!Vr(t,"x-stainless-package-version"),billingSystem:Vx(e),identitySystem:Yx(e)}}function uc(t,e="Anthropic"){let r=(Array.isArray(t?.transformer?.use)?t.transformer.use:[]).map(o=>o?.name);return r.length===1&&r[0]===e?"api_key":r.length===2&&r[0]==="claude-auth"&&r[1]===e?"claude_oauth":"out_of_scope"}function lc(t){return t==="claude_desktop"||t==="claude_code"}async function dc(t,e,n){if(e.anthropicClientKind!=="other"||e.anthropicDestinationInScope!==!0)return;let r=oc(t);sc(r,t.messages),ic(r);let o=n?.get?.("REWRITE_SYSTEM_PROMPT");if(o&&Array.isArray(t.system))for(let i of t.system){if(typeof i?.text!="string"||!i.text.includes("<env>"))continue;let a=await Kx(o,"utf-8");i.text=`${a}<env>${i.text.split("<env>").pop()}`}ac(r,t.messages);let s=new Map;cc(t,s),Xx(t,e.anthropicProviderMode),e.claudeAuthToolNameMap=s,e.anthropicPolicyApplied=!0,e.anthropicSystemTransformed=!0}function Xx(t,e){let n={type:"ephemeral",...e==="claude_oauth"?{ttl:"1h"}:{}};delete t.cache_control;for(let i of t.tools||[])delete i.cache_control;for(let i of t.system||[])i&&typeof i.text=="string"&&!i.text.startsWith("x-anthropic-billing-header")?i.cache_control={...n}:i&&delete i.cache_control;for(let i of t.messages||[]){delete i.cache_control;for(let a of i.tool_calls||[])delete a.cache_control;if(Array.isArray(i.content))for(let a of i.content)delete a.cache_control}let r=t.messages||[],o=-1;for(let i=r.length-1;i>=0;i-=1){let a=r[i];if(a.role!=="assistant"){o=i;break}if(typeof a.content=="string"){o=i;break}if(Array.isArray(a.content)){let u=a.content.at(-1);if(u&&!["thinking","redacted_thinking","fallback"].includes(u.type)){o=i;break}}}let s=r[o];if(s){if(typeof s.content=="string"){s.content=[{type:"text",text:s.content,cache_control:{...n}}];return}if(Array.isArray(s.content))for(let i=s.content.length-1;i>=0;i-=1){let a=s.content[i];if(!(s.role==="assistant"&&["thinking","redacted_thinking","fallback"].includes(a?.type))&&a&&typeof a=="object"){a.cache_control={...n};return}}}}var Qx={"claude-3-5-haiku":{nativeOneMillion:!1,supportsOneMillionBeta:!1,supportsOneMillionSuffix:!1,maxOutputTokens:{default:8192,upper:8192},capabilities:[]},"claude-haiku-4-5":{window:2e5,nativeOneMillion:!1,supportsOneMillionBeta:!1,supportsOneMillionSuffix:!0,maxOutputTokens:{default:32e3,upper:64e3},capabilities:["context_management"]},"claude-3-5-sonnet":{nativeOneMillion:!1,supportsOneMillionBeta:!1,supportsOneMillionSuffix:!1,maxOutputTokens:{default:8192,upper:8192},capabilities:[]},"claude-3-7-sonnet":{nativeOneMillion:!1,supportsOneMillionBeta:!1,supportsOneMillionSuffix:!1,maxOutputTokens:{default:32e3,upper:64e3},capabilities:[]},"claude-sonnet-4-0":{window:2e5,nativeOneMillion:!1,supportsOneMillionBeta:!0,supportsOneMillionSuffix:!0,maxOutputTokens:{default:32e3,upper:64e3},capabilities:["context_management"]},"claude-sonnet-4-5":{window:2e5,nativeOneMillion:!1,supportsOneMillionBeta:!0,supportsOneMillionSuffix:!0,maxOutputTokens:{default:32e3,upper:64e3},capabilities:["context_management"]},"claude-sonnet-4-6":{window:2e5,nativeOneMillion:!1,supportsOneMillionBeta:!0,supportsOneMillionSuffix:!0,maxOutputTokens:{default:32e3,upper:128e3},capabilities:["effort","max_effort","adaptive_thinking","context_management"]},"claude-sonnet-5":{window:1e6,nativeOneMillion:!0,supportsOneMillionBeta:!0,supportsOneMillionSuffix:!1,maxOutputTokens:{default:64e3,upper:128e3},defaultEffort:"high",capabilities:["effort","max_effort","xhigh_effort","adaptive_thinking","mid_conv_system","context_management"]},"claude-opus-4-0":{window:2e5,nativeOneMillion:!1,supportsOneMillionBeta:!1,supportsOneMillionSuffix:!0,maxOutputTokens:{default:32e3,upper:32e3},capabilities:["context_management"]},"claude-opus-4-1":{window:2e5,nativeOneMillion:!1,supportsOneMillionBeta:!1,supportsOneMillionSuffix:!0,maxOutputTokens:{default:32e3,upper:32e3},capabilities:["context_management"]},"claude-opus-4-5":{window:2e5,nativeOneMillion:!1,supportsOneMillionBeta:!1,supportsOneMillionSuffix:!0,maxOutputTokens:{default:32e3,upper:64e3},capabilities:["context_management"]},"claude-opus-4-6":{window:2e5,nativeOneMillion:!1,supportsOneMillionBeta:!0,supportsOneMillionSuffix:!0,maxOutputTokens:{default:64e3,upper:128e3},capabilities:["effort","max_effort","adaptive_thinking","context_management"]},"claude-opus-4-7":{window:1e6,nativeOneMillion:!0,supportsOneMillionBeta:!0,supportsOneMillionSuffix:!0,maxOutputTokens:{default:64e3,upper:128e3},defaultEffort:"xhigh",capabilities:["effort","max_effort","xhigh_effort","adaptive_thinking","context_management","fast_mode"]},"claude-opus-4-8":{window:1e6,nativeOneMillion:!0,supportsOneMillionBeta:!0,supportsOneMillionSuffix:!0,maxOutputTokens:{default:64e3,upper:128e3},defaultEffort:"high",capabilities:["effort","max_effort","xhigh_effort","adaptive_thinking","mid_conv_system","context_management","fast_mode","lean_prompt"]},"claude-opus-5":{window:1e6,nativeOneMillion:!0,supportsOneMillionBeta:!0,supportsOneMillionSuffix:!0,maxOutputTokens:{default:64e3,upper:128e3},defaultEffort:"high",capabilities:["effort","max_effort","xhigh_effort","adaptive_thinking","mid_conv_system","context_management","fast_mode","lean_prompt","refusal_fallback","opus_5_prompt_bundle"]},"claude-fable-5":{window:1e6,nativeOneMillion:!0,supportsOneMillionBeta:!0,supportsOneMillionSuffix:!1,maxOutputTokens:{default:64e3,upper:128e3},defaultEffort:"high",capabilities:["effort","max_effort","xhigh_effort","adaptive_thinking","rejects_disabled_thinking","mid_conv_system","context_management","lean_prompt","fable_5_mitigations","refusal_fallback"]},"claude-mythos-5":{window:1e6,nativeOneMillion:!0,supportsOneMillionBeta:!0,supportsOneMillionSuffix:!1,maxOutputTokens:{default:64e3,upper:128e3},capabilities:[]}},tC=/\[1m\]$/i;function dn(t){let e=t||"",n=tC.test(e);return{modelId:e.replace(tC,""),requestedOneMillion:n}}function Zx(t){if(!t)return"";let e=t.trim(),n=e.indexOf(",");return n>=0&&(e=e.slice(n+1)),e=dn(e).modelId.trim(),e=e.replace(/[-@]\d{8}$/,""),e.toLowerCase()}function Fo(t){let e=Zx(t);if(e)return Qx[e]}function lp(t,e){return t?.capabilities.includes(e)??!1}function nC(t){return(t?.capabilities.length??0)>0}import{decodeClaudeModelAlias as eD}from"@caeliq/ccr-shared";async function oC(t,e,n,r,o){let s=t.pathname||String(t.url||o).split("?")[0]||o,i=t.protocolMatch||qn(t.method,s)||qn("POST",o);if(!i)throw W(`No inbound protocol match for ${s}`,404,"protocol_not_found");t.protocolMatch=i,t.clientProtocol=i.protocol,i.ownerTransformerName!==r.name&&t.log?.warn?.({expected:i.ownerTransformerName,actual:r.name,path:s},"endpoint transformer name differs from protocol owner");let a=t.body,u=t.query||{},{normalizationInput:d,context:f}=Bb(i,a,u);i.protocol==="anthropic_messages"?(f.anthropicClientKind=eC(t.headers,d),t.log?.debug?.({anthropicClientKind:f.anthropicClientKind,anthropicClientSignals:up(t.headers,d)},"classified Anthropic client"),await tD(d,f)):f.anthropicClientKind="other";let h={req:t,signal:void 0,clientProtocol:i.protocol,protocolContext:f},p=await Ub(i.protocol,d,r,h);p.model=rC(p.model,O=>n.providerService.resolveModelRoute(O)!==null,i.protocol)||"";let b=t;t.protocolContext=f,t.unifiedBody=p,t.originalClientBody=a;let C=n.configService.get("CUSTOM_ROUTER_PATH"),m=b.body;b.body=i.protocol==="anthropic_messages"&&C?a:p;try{await ap(b,e,{configService:n.configService,tokenizerService:n.tokenizerService})}finally{b.body=m??a}let w=typeof p.model=="string"?p.model:f.originalModel;p.model=rC(w,O=>n.providerService.resolveModelRoute(O)!==null,i.protocol)||"",f.scenarioType=b.scenarioType,f.originalModel=f.originalModel??(typeof a?.model=="string"?a.model:void 0),b.unifiedBody=p,b.protocolContext=f;let _=nD(p.model,i.protocol),A=dn(_.modelName);_.modelName=A.modelId,f.requestedOneMillion=A.requestedOneMillion;let S=n.providerService.getProvider(_.providerName);S||ui(i.protocol,`Provider '${_.providerName}' not found`,404,"provider_not_found"),p.model=_.modelName,b.provider=_.providerName,b.model=_.modelName;let T=yr(p),x=uc(S);return f.anthropicProviderMode=x,f.anthropicDestinationInScope=x!=="out_of_scope",f.anthropicNativeWire=i.protocol==="anthropic_messages"&&f.anthropicDestinationInScope&&lc(f.anthropicClientKind||"other"),f.anthropicDestinationInScope&&f.anthropicClientKind==="other"&&await dc(p,f,n.configService),f.stream=f.stream||p.stream===!0||a?.stream===!0,{match:i,protocolContext:f,originalBody:a,clientWireBody:d,unifiedBody:p,prePolicyUnifiedBody:T,providerName:_.providerName,modelName:_.modelName}}async function tD(t,e){let n=Vb(t);e.claudeCodeSubagent=n.isSubagent,e.taggedSubagentModel=Kb(t)}function nD(t,e){let n=typeof t=="string"?t.trim():"";n||ui(e,"Missing model. Configure Router.default or send provider,model.",400,"missing_model","invalid_request_error"),n.includes(",")||ui(e,`Unresolved bare model '${n}'. Configure Router.default or send provider,model.`,400,"unresolved_model","invalid_request_error");let[r,...o]=n.split(","),s=o.join(",");return(!r||!s)&&ui(e,`Invalid model '${n}'. Expected provider,model.`,400,"invalid_model","invalid_request_error"),{providerName:r,modelName:s}}function rC(t,e,n){if(typeof t!="string")return t;let r=eD(t);if(!r)return t;let o=dn(r).modelId;return e(o)||ui(n,`Encoded model alias resolves to an unconfigured model '${o}'.`,404,"model_not_found","invalid_request_error"),r}function ui(t,e,n,r,o="api_error"){let s=ii(t,e,n,r,o),i=W(e,s.statusCode,r,o);throw i.protocolBody=s.body,i}function fc(t,e,n,r){return n?Lb(t,e,n.protocol,r):t.transformer?.use?.length===1&&t.transformer.use[0].name===e.name&&(!t.transformer?.[r||""]?.use?.length||t.transformer?.[r||""]?.use.length===1&&t.transformer?.[r||""]?.use[0].name===e.name)}function li(t,e,n){return!!(n&&t.transformer?.passthrough===!0&&t.transformer?.use?.some(r=>r?.name===e.name))}function Yr(t){return t?.anthropicDestinationInScope===!0&&t?.anthropicClientKind==="other"}async function oD(t,e,n,r,o){let s=ab(t,e),i=s.signal;s.arm();let a;try{a=await oC(t,e,n,r,o)}catch(d){throw Ye(d)||i.aborted?typeof d=="string"?ln(d):ln(i.reason??d):d}let u=n.providerService.getProvider(a.providerName);if(!u)throw W(`Provider '${a.providerName}' not found`,404,"provider_not_found");t._preparedInbound=a;try{let d=fc(u,r,a.protocolContext,a.modelName)&&!Yr(a.protocolContext),f=!Yr(a.protocolContext)&&li(u,r,a.protocolContext),h=a.protocolContext.anthropicNativeWire?a.originalBody:a.clientWireBody??a.originalBody,p=a.protocolContext.anthropicNativeWire||d||f?{...typeof h=="object"&&h?yr(h):{},model:a.modelName}:yr(a.unifiedBody),{requestBody:b,config:C,bypass:m}=await sC(p,u,r,t.headers,{req:t,provider:u,signal:i,clientProtocol:a.protocolContext.protocol,protocolContext:a.protocolContext,skipClientNormalization:!0}),w=await iC(b,C,u,n,m,r,{req:t,signal:i,protocolContext:a.protocolContext}),_=await aC(b,w,u,r,m,{req:t,signal:i,protocolContext:a.protocolContext,skipClientNormalization:m});return await cC(_,e,a.originalBody,i,a.protocolContext.stream)}catch(d){if(Ye(d))throw typeof d=="string"?ln(d):d;if(i.aborted)throw ln(i.reason??d);if(Vf(d)){let f=await sD(t,e,n,r,d,i);if(f)return f;if(i.aborted)throw ln(i.reason??gt)}throw d}}async function sD(t,e,n,r,o,s){let i=t.scenarioType||"default",a=n.configService.get("fallback"),u=cb(a,i);if(!u?.length||s?.aborted||Ye(o))return null;t.log.warn({scenarioType:i,fallbackCount:u.length,error:un(o)},`Request failed for ${i}, trying ${u.length} fallback models`);let d=0,f=Kf(d,o?.headers?.["Retry-After"]??o?.headers?.["retry-after"]);if(d+=1,f>0){t.log.info(`Waiting ${f}ms before first fallback attempt`);try{await Jf(f,s)}catch(h){if(Ye(h)||s?.aborted)return null;throw h}}for(let h=0;h<u.length;h+=1){if(s?.aborted)return null;let p=u[h];try{t.log.info(`Trying fallback model: ${p}`);let b=t._preparedInbound,[C,...m]=p.split(","),w=m.join(","),_=n.providerService.getProvider(C);if(!_){t.log.warn(`Fallback provider '${C}' not found, skipping`);continue}let A=uc(_),S=b?.protocolContext?{...b.protocolContext,anthropicProviderMode:A,anthropicDestinationInScope:A!=="out_of_scope",anthropicNativeWire:!!(b.protocolContext.protocol==="anthropic_messages"&&A!=="out_of_scope"&&lc(b.protocolContext.anthropicClientKind||"other")),anthropicPolicyApplied:!1,anthropicSystemTransformed:!1,claudeAuthToolNameMap:new Map}:b?.protocolContext,T={...yr(b?.prePolicyUnifiedBody||b?.unifiedBody||t.unifiedBody||t.body),model:w};S?.anthropicDestinationInScope&&S.anthropicClientKind==="other"&&await dc(T,S,n.configService);let x={...t,provider:C,model:w,body:b?.originalBody??t.body,unifiedBody:T,protocolContext:S,clientProtocol:S?.protocol,scenarioType:i},O=fc(_,r,S,w)&&!Yr(S),q=!Yr(S)&&li(_,r,S),$=S?.anthropicNativeWire?b?.originalBody:b?.clientWireBody??b?.originalBody,z=S?.anthropicNativeWire||O||q?{...typeof $=="object"&&$?yr($):{},model:w}:T,{requestBody:ce,config:X,bypass:ee}=await sC(z,_,r,t.headers,{req:x,provider:_,signal:s,clientProtocol:b?.protocolContext?.protocol,protocolContext:S,skipClientNormalization:!0}),Z=await iC(ce,X,_,n,ee,r,{req:x,signal:s,protocolContext:S}),xe=await aC(ce,Z,_,r,ee,{req:x,signal:s,protocolContext:S});return t.log.info(`Fallback model ${p} succeeded`),await cC(xe,e,b?.originalBody??t.body,s,S?.stream)}catch(b){if(Ye(b))throw b;if(s?.aborted)throw ln(s.reason??gt);if(!Vf(b))throw t.log.warn({fallbackModel:p,error:un(b)},`Fallback model ${p} failed with a terminal error`),b;if(t.log.warn({fallbackModel:p,error:un(b)},`Fallback model ${p} failed`),h<u.length-1){let m=Kf(d,b?.headers?.["Retry-After"]??b?.headers?.["retry-after"]);if(d+=1,m>0){t.log.info(`Waiting ${m}ms before next fallback attempt`);try{await Jf(m,s)}catch(w){if(Ye(w)||s?.aborted)return null;throw w}}}continue}}return t.log.error(`All fallback models failed for ${i}`),null}async function sC(t,e,n,r,o){let s=t,i={},a=fc(e,n,o?.protocolContext,t?.model),u=!!(o?.protocolContext?.anthropicNativeWire===!0||a&&!Yr(o?.protocolContext)),d=Yr(o?.protocolContext),f=!d&&li(e,n,o?.protocolContext),h=u||!d&&e.transformer?.passthrough||o?.skipClientNormalization===!0;if(u&&(i.headers=jb(r)),!u&&o?.protocolContext?.protocol==="openai_responses"&&!e.transformer?.use?.some(p=>p?.name==="openai-responses")&&delete s.prompt_cache_key,!h&&typeof n.transformRequestOut=="function"){let p=await n.transformRequestOut(s,o);p.body?(s=p.body,i=p.config||{}):s=p}if(!u&&e.transformer?.use?.length)for(let p of e.transformer.use){if(f&&p?.name===n.name||!p||typeof p.transformRequestIn!="function")continue;let b=await p.transformRequestIn(s,e,o);if(b.body){s=b.body;let C=b.config||{};i={...i,...C,headers:Qa(i.headers,C.headers)}}else s=b}if(!u&&e.transformer?.[t.model]?.use?.length)for(let p of e.transformer[t.model].use){if(f&&p?.name===n.name||!p||typeof p.transformRequestIn!="function")continue;let b=await p.transformRequestIn(s,e,o);if(b.body){s=b.body;let C=b.config||{};i={...i,...C,headers:Qa(i.headers,C.headers)}}else s=b}return!u&&!e.transformer?.use?.length&&Array.isArray(s?.messages)&&(s=Xa(s),s=Ya(s,e,o)),{requestBody:s,config:i,bypass:u}}async function iC(t,e,n,r,o,s,i){if(e?.__providerResponse)return e.__providerResponse;let a=n.transformer?.use?.find(C=>typeof C?.auth=="function")||s;if((o||n.transformer?.passthrough)&&typeof a.auth=="function"){let C=await a.auth(t,n,i);if(C.body){t=C.body;let m=e.headers||{};C.config?.headers&&(m=Qa(m,C.config.headers),delete m.host,delete C.config.headers),e={...e,...C.config,headers:m}}else t=C}let u=e.url||new URL(n.baseUrl),d=wb(e?.headers,n.apiKey),{__authRecovery:f,...h}=e||{},b=await _b(C=>Ro(u,t,{httpsProxy:r.configService.getHttpsProxy(),...h,headers:JSON.parse(JSON.stringify(C)),signal:i?.signal??h.signal},i,r.log),d,f);if(!b.ok){let C=await b.text(),m=We(C)||C.slice(0,240),w;try{w=JSON.parse(C)}catch{w=void 0}let _=w&&typeof w=="object"?w.error:void 0,A=Qf(b.headers),S=Object.keys(A).length>0?A:void 0;if(!S?.["retry-after"]&&b.status===429){let q=_?.details||w?.details;if(Array.isArray(q)){let $=q.find(z=>z["@type"]==="type.googleapis.com/google.rpc.RetryInfo");if($?.retryDelay){let z=parseInt($.retryDelay,10);isNaN(z)||(S={...S||{},"retry-after":z.toString()})}}}let T=typeof _?.message=="string"?_.message:void 0,x=We(T||C)||m;r.log.error({status:b.status,provider:n.name,model:t.model,errorMessage:x,upstreamType:typeof _?.type=="string"?_.type:void 0,upstreamCode:typeof _?.code=="string"?_.code:void 0},`[provider_response_error] ${n.name},${t.model}: ${x}`);let O=W(`Error from provider(${n.name},${t.model}: ${b.status}): ${x}`,b.status,typeof _?.code=="string"?_.code:"provider_response_error","api_error",S);throw O.upstream={status:b.status,statusText:b.statusText,headers:S??{},body:w!==void 0?Ga(w):void 0,provider:n.name,model:t.model},O}return b}async function aC(t,e,n,r,o,s){let i=e,a=Yr(s?.protocolContext),u=o||!a&&li(n,r,s?.protocolContext)||n.transformer?.passthrough&&!s?.protocolContext,d=!a&&li(n,r,s?.protocolContext),f={...s,provider:n};if(!o&&n.transformer?.use?.length)for(let h of Array.from(n.transformer.use).reverse())d&&h?.name===r.name||!h||typeof h.transformResponseOut!="function"||(i=await h.transformResponseOut(i,f));if(!o&&n.transformer?.[t.model]?.use?.length)for(let h of Array.from(n.transformer[t.model].use).reverse())d&&h?.name===r.name||!h||typeof h.transformResponseOut!="function"||(i=await h.transformResponseOut(i,f));return!u&&r.transformResponseIn&&(i=await r.transformResponseIn(i,s)),i}async function cC(t,e,n,r,o){t.ok||e.code(t.status);let s=Qf(t.headers);for(let[a,u]of Object.entries(s))e.header(a,u);if((typeof o=="boolean"?o:n?.stream===!0)&&t.ok){if(t.body&&typeof t.body.getReader=="function"){let a=rD.fromWeb(t.body),u=!1,d=()=>{if(!u){u=!0;try{a.destroyed||a.destroy()}catch{}}},f=()=>{r&&r.removeEventListener("abort",d)};return lb(e)?(d(),!e.sent&&!e.raw.destroyed?(e.type("application/json"),e.code(499).send({error:{message:"Client closed request",type:"api_error",code:"client_aborted"}})):e):(r?.aborted&&e.log?.warn?.({reason:String(r.reason??""),headersSent:e.raw.headersSent,writableEnded:e.raw.writableEnded},"disconnect signal fired but socket still open; continuing SSE"),e.header("Content-Type","text/event-stream"),e.header("Cache-Control","no-cache"),e.header("Connection","keep-alive"),r&&r.addEventListener("abort",d,{once:!0}),e.raw.on("error",p=>{(p?.code==="EPIPE"||p?.code==="ECONNRESET"||p?.code==="ERR_STREAM_PREMATURE_CLOSE"||Ye(p))&&d()}),e.raw.on("close",()=>{e.raw.writableEnded||d()}),a.on("error",p=>{p?.code==="ERR_STREAM_PREMATURE_CLOSE"||p?.code==="ABORT_ERR"||Ye(p)||e.log?.error?.(un(p),"upstream stream error")}),a.once("end",f),a.once("close",f),e.send(a))}if(e.header("Content-Type","text/event-stream"),e.header("Cache-Control","no-cache"),e.header("Connection","keep-alive"),t.body&&typeof t.body.pipe=="function")return e.send(t.body);throw W("Streaming response body is not a readable stream",502,"provider_response_error")}else{let a=await t.json();return e.send(a)}}var dp=async t=>{let e={config:{rateLimit:{...No}}};t.addHook("onRequest",async s=>{let i=String(s.url||"").split("?")[0]||"/",a=qn(s.method,i);s.pathname=i,a&&(s.protocolMatch=a,s.clientProtocol=a.protocol)}),t.get("/",e,async()=>({message:"LLMs API",version:pb})),t.get("/health",e,async()=>({status:"ok",timestamp:new Date().toISOString()}));let n=t.transformerService.getAllTransformers(),r=s=>{let i=n.get(s);if(i){if(typeof i=="object")return i;try{let a=new i;return a&&typeof a=="object"&&(a.logger=t.log),a}catch{return}}},o=new Set;for(let s of Zf()){let i=r(s.ownerTransformerName);if(!i){t.log.warn(`protocol route ${s.path}: owner transformer '${s.ownerTransformerName}' not found`);continue}for(let a of[s.path,`${s.path}/`])o.has(a)||(o.add(a),t.post(a,e,async(u,d)=>oD(u,d,t,i,a)))}t.post("/providers",{config:{rateLimit:{...No}},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(s,i)=>{let{name:a,baseUrl:u,apiKey:d,models:f}=s.body;if(!a?.trim())throw W("Provider name is required",400,"invalid_request");if(!u||!iD(u))throw W("Valid base URL is required",400,"invalid_request");if(!d?.trim())throw W("API key is required",400,"invalid_request");if(!f||!Array.isArray(f)||f.length===0)throw W("At least one model is required",400,"invalid_request");if(t.providerService.getProvider(s.body.name))throw W(`Provider with name '${s.body.name}' already exists`,400,"provider_exists");return t.providerService.registerProvider(s.body)}),t.get("/providers",e,async()=>t.providerService.getProviders()),t.get("/providers/:id",{config:{rateLimit:{...No}},schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]}}},async s=>{let i=t.providerService.getProvider(s.params.id);if(!i)throw W("Provider not found",404,"provider_not_found");return i}),t.put("/providers/:id",{config:{rateLimit:{...No}},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(s,i)=>{let a=t.providerService.updateProvider(s.params.id,s.body);if(!a)throw W("Provider not found",404,"provider_not_found");return a}),t.delete("/providers/:id",{config:{rateLimit:{...No}},schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]}}},async s=>{if(!t.providerService.deleteProvider(s.params.id))throw W("Provider not found",404,"provider_not_found");return{message:"Provider deleted successfully"}}),t.patch("/providers/:id/toggle",{config:{rateLimit:{...No}},schema:{params:{type:"object",properties:{id:{type:"string"}},required:["id"]},body:{type:"object",properties:{enabled:{type:"boolean"}},required:["enabled"]}}},async(s,i)=>{if(!t.providerService.toggleProvider(s.params.id,s.body.enabled))throw W("Provider not found",404,"provider_not_found");return{message:`Provider ${s.body.enabled?"enabled":"disabled"} successfully`}})};function iD(t){try{return new URL(t),!0}catch{return!1}}var Mo=class{constructor(e,n,r){this.configService=e;this.transformerService=n;this.logger=r;this.initializeCustomProviders()}configService;transformerService;logger;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(n=>{try{if(!n.name||!n.api_base_url||!n.api_key)return;let r={};n.transformer&&Object.keys(n.transformer).forEach(o=>{o==="use"?Array.isArray(n.transformer.use)&&(r.use=n.transformer.use.map(s=>{if(Array.isArray(s)&&typeof s[0]=="string"){let i=this.transformerService.getTransformer(s[0]);if(i)return this.attachTransformerLogger(new i(s[1]))}if(typeof s=="string"){let i=this.transformerService.getTransformer(s);return typeof i=="function"?this.attachTransformerLogger(new i):this.attachTransformerLogger(i)}}).filter(s=>typeof s<"u")):o==="passthrough"?r.passthrough=n.transformer.passthrough:Array.isArray(n.transformer[o]?.use)&&(r[o]={use:n.transformer[o].use.map(s=>{if(Array.isArray(s)&&typeof s[0]=="string"){let i=this.transformerService.getTransformer(s[0]);if(i)return this.attachTransformerLogger(new i(s[1]))}if(typeof s=="string"){let i=this.transformerService.getTransformer(s);return typeof i=="function"?this.attachTransformerLogger(new i):this.attachTransformerLogger(i)}}).filter(s=>typeof s<"u")})}),this.registerProvider({name:n.name,baseUrl:n.api_base_url,apiKey:n.api_key,models:n.models||[],project_id:n.project_id,transformer:n.transformer?r:void 0}),this.logger.info(`${n.name} provider registered`)}catch(r){this.logger.error(`${n.name} provider registered error: ${r}`)}})}attachTransformerLogger(e){return e&&typeof e=="object"&&(e.logger=this.logger),e}registerProvider(e){let n={...e};return this.providers.set(n.name,n),e.models.forEach(r=>{let o=`${n.name},${r}`,s={provider:n.name,model:r,fullModel:o};this.modelRoutes.set(o,s),this.modelRoutes.has(r)||this.modelRoutes.set(r,s)}),n}getProviders(){return Array.from(this.providers.values())}getProvider(e){return this.providers.get(e)}updateProvider(e,n){let r=this.providers.get(e);if(!r)return null;let o={...r,...n,updatedAt:new Date};return this.providers.set(e,o),n.models&&(r.models.forEach(s=>{let i=`${r.name},${s}`;this.modelRoutes.delete(i),this.modelRoutes.delete(s)}),n.models.forEach(s=>{let i=`${r.name},${s}`,a={provider:r.name,model:s,fullModel:i};this.modelRoutes.set(i,a),this.modelRoutes.has(s)||this.modelRoutes.set(s,a)})),o}deleteProvider(e){let n=this.providers.get(e);return n?(n.models.forEach(r=>{let o=`${n.name},${r}`;this.modelRoutes.delete(o),this.modelRoutes.delete(r)}),this.providers.delete(e),!0):!1}toggleProvider(e,n){return!!this.providers.get(e)}resolveModelRoute(e){let n=this.modelRoutes.get(e);if(!n)return null;let r=this.providers.get(n.provider);return r?{provider:r,originalModel:e,targetModel:n.model}:null}getAvailableModelNames(){let e=[];return this.providers.forEach(n=>{n.models.forEach(r=>{e.push(r),e.push(`${n.name},${r}`)})}),e}getModelRoutes(){return Array.from(this.modelRoutes.values())}parseTransformerConfig(e){return e?Array.isArray(e)?e.reduce((n,r)=>{if(Array.isArray(r)){let[o,s={}]=r;n[o]=s}else n[r]={};return n},{}):e:{}}async getAvailableModels(){let e=[];return this.providers.forEach(n=>{n.models.forEach(r=>{e.push({id:r,object:"model",owned_by:n.name,provider:n.name}),e.push({id:`${n.name},${r}`,object:"model",owned_by:n.name,provider:n.name})})}),{object:"list",data:e}}};var st=[];for(let t=0;t<256;++t)st.push((t+256).toString(16).slice(1));function uC(t,e=0){return(st[t[e+0]]+st[t[e+1]]+st[t[e+2]]+st[t[e+3]]+"-"+st[t[e+4]]+st[t[e+5]]+"-"+st[t[e+6]]+st[t[e+7]]+"-"+st[t[e+8]]+st[t[e+9]]+"-"+st[t[e+10]]+st[t[e+11]]+st[t[e+12]]+st[t[e+13]]+st[t[e+14]]+st[t[e+15]]).toLowerCase()}var aD=new Uint8Array(16);function fp(){return crypto.getRandomValues(aD)}function cD(t,e,n){return!e&&!t&&crypto.randomUUID?crypto.randomUUID():uD(t,e,n)}function uD(t,e,n){t=t||{};let r=t.random??t.rng?.()??fp();if(r.length<16)throw new Error("Random bytes length must be >= 16");if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,e){if(n=n||0,n<0||n+16>e.length)throw new RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let o=0;o<16;++o)e[n+o]=r[o];return e}return uC(r)}var fn=cD;var lC=(t,e)=>(t.includes("base64")&&(t=t.split("base64").pop(),t.startsWith(",")&&(t=t.slice(1))),`data:${e};base64,${t}`);var pp=["[Request interrupted by user]","[Request interrupted by user for tool use]"];function lD(t){if(typeof t!="string")return!1;let e=t.trim();return pp.some(n=>e===n)}function dD(t){if(typeof t=="string")return t;if(Array.isArray(t)){let e=t.filter(n=>n?.type==="text"&&typeof n.text=="string"&&n.text.length>0).map(n=>n.text).join(`
|
|
110
|
+
`);if(e)return e}return JSON.stringify(t)??""}function fD(t){return!t||typeof t!="object"?!1:t.type==="image"?!!t.source:t.type!=="tool_result"&&t.type!=="text"}function pD(t){let e={source:"anthropic",trailingToolResults:[],interruption:"none",steering:"none"};if(!Array.isArray(t)||t.length===0)return e;let n=t[t.length-1];if(n?.role!=="user")return e;if(typeof n.content=="string")return n.content.trim()&&(e.steering="meaningful"),e;if(!Array.isArray(n.content))return e;let r=n.content.some(o=>o?.type==="tool_result"&&typeof o.tool_use_id=="string"&&o.tool_use_id.length>0);for(let o of n.content){if(o?.type==="tool_result"&&typeof o.tool_use_id=="string"&&o.tool_use_id.length>0){e.trailingToolResults.push({toolCallId:o.tool_use_id,content:dD(o.content),isError:o.is_error===!0});continue}if(o?.type==="text"&&typeof o.text=="string"){r&&lD(o.text)?e.interruption="synthetic_client_interrupt":o.text.trim()&&(e.steering="meaningful");continue}fD(o)&&(e.steering="meaningful")}return e}function hD(t){let e=t&&typeof t=="object"&&typeof t.user_id=="string"?t.user_id:void 0;if(!e)return;try{let r=JSON.parse(e);if(r&&typeof r.session_id=="string"&&r.session_id)return r.session_id}catch{}return e.split("_session_")[1]||e}function dC(t){return{source:"anthropic",sourceSessionIdentity:hD(t.metadata),turnIntent:pD(t.messages)}}var br=class extends TransformStream{buffer="";currentEvent={};constructor(){super({transform:(e,n)=>{this.buffer+=e;let r=this.buffer.split(`
|
|
111
|
+
`);this.buffer=r.pop()||"";for(let o of r){let s=this.processLine(o);s&&n.enqueue(s)}},flush:e=>{if(this.buffer.trim()){let n=[];this.processLine(this.buffer.trim(),n),n.forEach(r=>e.enqueue(r))}Object.keys(this.currentEvent).length>0&&e.enqueue(this.currentEvent)}})}processLine(e,n){if(!e.trim()){if(Object.keys(this.currentEvent).length>0){let r={...this.currentEvent};return this.currentEvent={},n?(n.push(r),null):r}return null}if(e.startsWith("event:"))this.currentEvent.event=e.slice(6).trim();else if(e.startsWith("data:")){let r=e.slice(5).trim();if(r==="[DONE]")this.currentEvent.data={type:"done"};else try{this.currentEvent.data=JSON.parse(r)}catch{this.currentEvent.data={raw:r,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 Bo=class extends TransformStream{constructor(){super({transform:(e,n)=>{let r="";e.event&&(r+=`event: ${e.event}
|
|
108
112
|
`),e.id&&(r+=`id: ${e.id}
|
|
109
113
|
`),e.retry&&(r+=`retry: ${e.retry}
|
|
110
114
|
`),e.data&&(e.data.type==="done"?r+=`data: [DONE]
|
|
111
115
|
`:r+=`data: ${JSON.stringify(e.data)}
|
|
112
116
|
`),r+=`
|
|
113
|
-
`,n.enqueue(r)}})}};var
|
|
114
|
-
`);for(let
|
|
115
|
-
`))}}}catch(
|
|
117
|
+
`,n.enqueue(r)}})}};var fC=(t,e)=>{let n=t.getReader();return new ReadableStream({async start(r){try{for(;;){let{done:o,value:s}=await n.read();if(o){r.close();break}let i=await e(s,r);i!==void 0&&r.enqueue(i)}}catch(o){r.error(o)}finally{n.releaseLock()}}})};function pc(t,e,n,r){let o={...r,...un(n)};t?.error?t.error(o,e):console.error(e,o)}function mD(t){if(Ye(t)||!Wr(t))return t;let e=t;if(e&&typeof e=="object"&&e.code==="provider_network_error")return e;let n=String(e?.cause?.message||e?.cause?.code||"").trim(),r=String(e?.message||"Upstream stream failed"),o=new Error(n&&!r.includes(n)?`Upstream stream terminated: ${r} (${n})`:`Upstream stream terminated: ${r}`);return Object.assign(o,{type:"api_error",code:"provider_network_error",cause:e})}function Pe(t,e,n){let r=new TextEncoder,o=!1,s=null,i=!1,a=new ReadableStream({async start(u){if(!t.body){u.close();return}let d={controller:u,encoder:r};try{let f=t.body.pipeThrough(new TextDecoderStream).pipeThrough(new br).pipeThrough(new Bo).getReader();for(s=f;!i;){let{done:h,value:p}=await f.read();if(h)break;if(!p)continue;let b=p.split(`
|
|
118
|
+
`);for(let C of b)if(C.trim())try{e(C,d)}catch(m){pc(n?.logger,"Error processing line",m,{line:We(C)}),u.enqueue(r.encode(C+`
|
|
119
|
+
`))}}}catch(f){if(!i){let h=mD(f);pc(n?.logger,"Stream error",h);let p=!1;try{p=n?.onError?.(h,d)===!0}catch(b){pc(n?.logger,"Stream error handler failed",b)}o=!p,p||u.error(h)}}finally{s=null;try{n?.onComplete?.(d)}catch(f){pc(n?.logger,"Stream completion error",f),o||(o=!0,u.error(f))}o||u.close()}},cancel:async u=>{i=!0;let d=s;s=null,d&&await d.cancel(u).catch(()=>{})}});return new Response(a,{status:t.status,statusText:t.statusText,headers:{...Cb(t.headers),"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}function Ae(t,e){return e.encode(`data: ${t}
|
|
120
|
+
|
|
121
|
+
`)}function De(t,e){return e.encode(t+`
|
|
122
|
+
`)}var hc=Bn(AC(),1),ID={STOP:"stop",MAX_TOKENS:"length",SAFETY:"content_filter",RECITATION:"content_filter",BLOCKLIST:"content_filter",PROHIBITED_CONTENT:"content_filter",SPII:"content_filter",IMAGE_SAFETY:"content_filter"},hp="\u26A0\uFE0F Upstream ended the turn without a reply";function di(t){return t?ID[t.toUpperCase()]||t.toLowerCase():null}function mp(t){let e=t?.finishReason;if(!e||String(e).toUpperCase()==="STOP")return null;let n=String(t?.finishMessage||"").trim();return`${hp} (${String(e).toUpperCase()})`+(n?`: ${n}`:"")}var mc=class{constructor(e){this.emit=e}emit;_hasThinking=!1;_sigSent=!1;_contentSent=!1;_buffer="";processThinking(e,n){this._hasThinking=!0,this.emit.thinking(e,n)}processSignature(e,n){this.processSignatureWithMeta(e,n)}processSignatureWithMeta(e,n,r){if(!this._sigSent){if(this._contentSent){this._sigSent=!0;return}this._hasThinking||(this._hasThinking=!0,this.emit.thinking("(no content)",n)),this._sigSent=!0,this.emit.signature(e,n),r?.beforeFlush?.(),this.flushBufferedContent(r?.flushMeta)}}processContent(e,n,r){this._sigSent||!this._hasThinking?(this._contentSent=!0,this.emit.content(e,{chunk:n,candidate:r,mode:"direct"})):this._buffer+=e}emitContentPlaceholder(e,n){this._contentSent=!0,this.emit.content(e,{chunk:n?.chunk,candidate:n?.candidate,mode:"placeholder",finishReason:n?.finishReason})}bufferContent(e){this._buffer+=e}finalize(e,n,r){if(this._hasThinking&&!this._sigSent){this.processSignatureWithMeta(`ccr_${Date.now()}`,e,{beforeFlush:r?.beforeFlush,flushMeta:{chunk:e,candidate:n,mode:n?.finishReason?"finish":"buffered",finishReason:di(n?.finishReason)}});return}this.flushBufferedContent({chunk:e,candidate:n,mode:n?.finishReason?"finish":"buffered",finishReason:di(n?.finishReason)})}flushBufferedContent(e){this._buffer&&(this._contentSent=!0,this.emit.content(this._buffer,{chunk:e?.chunk,candidate:e?.candidate,mode:e?.mode||"buffered",finishReason:e?.finishReason}),this._buffer="")}shouldDeferContent(e,n){return this._hasThinking&&!this._sigSent&&!e&&!n}get hasBufferedContent(){return this._buffer.length>0}get hasThinkingContent(){return this._hasThinking}get signatureSent(){return this._sigSent}get contentSent(){return this._contentSent}get needsContentPlaceholder(){return this._sigSent&&!this._contentSent}acknowledgeSignature(){this._sigSent=!0}};function gc(t,e){return e[t]||t}function yc(t){return!t||typeof t=="string"?[]:t.filter(e=>e.type==="image_url").map(e=>({url:e.image_url.url,mediaType:e.media_type||"image/jpeg",isBase64:e.image_url.url.startsWith("data:")}))}function _c(t,e){if(t.length===0)return[];let n=[];for(let r of t){let o=n[n.length-1];if(o&&o.role===r.role){let s=o[e],i=r[e];Array.isArray(s)&&Array.isArray(i)&&s.push(...i)}else n.push({...r})}return n}function Uo(t){return t.function?.name?{name:t.function.name,description:t.function.description,parameters:t.function.parameters}:{name:t.name,description:t.description,parameters:t.input_schema}}function bc(t,e){if(e==="gemini")return t.isBase64?{inlineData:{mimeType:t.mediaType,data:t.url.split(",").pop()||t.url}}:{fileData:{mimeType:t.mediaType,fileUri:t.url}};if(e==="claude")return{type:"image",source:{type:"base64",media_type:t.mediaType,data:t.url.startsWith("data:")&&t.url.split(",").pop()||t.url}};throw new Error(`Unsupported provider for image processing: ${e}`)}function fi(t){if(!t||!t.includes("\\")&&!t.includes("$"))return t;try{let e=typeof hc.default=="function"?hc.default:hc.default.default;if(typeof e!="function")return t;let n=/(\$\$?[\s\S]+?\$\$?|\\\(?:[\s\S]+?\\\)|\\\[[\s\S]+?\\\]|\\(?:[a-zA-Z]+))/g;return t.replace(n,r=>{let o=r,s;do s=o,o=e(o);while(o!==s);return o.replace(/\$([^$]+)\$/g,"$1")})}catch{return t}}function vC(t){if(!t)return"unnamed_function";let e=t.replace(/[^a-zA-Z0-9_.:-]/g,"_");return/^[^a-zA-Z_]/.test(e)&&(e="_"+e),e.substring(0,128)}function wr(t){let e=t?.input_tokens||0,n=t?.cache_read_input_tokens||0,r=t?.cache_creation_input_tokens||0,o=t?.output_tokens||0;return{completion_tokens:o,prompt_tokens:e+n+r,prompt_tokens_details:{cached_tokens:n,cache_write_tokens:r},total_tokens:e+n+r+o}}function gp(t){switch(t){case"tool_use":return"tool_calls";case"max_tokens":case"model_context_window_exceeded":return"length";case"refusal":return"content_filter";case"end_turn":case"stop_sequence":case"pause_turn":return"stop";default:return typeof t=="string"&&t?"stop":null}}function TC(t){let e=[];for(let o=0;o<t.messages.length;o++){let s=t.messages[o],i=gc(s.role,{assistant:"assistant"}),a=[];if(s.role==="tool"){let u=s.content;Array.isArray(u)?u=u.filter(d=>d.type==="text").map(d=>d.text).join(`
|
|
123
|
+
`):typeof u=="object"&&u!==null&&(u=JSON.stringify(u)),a.push({type:"tool_result",tool_use_id:s.tool_call_id,content:u,...s.cache_control?{cache_control:s.cache_control}:{}})}else typeof s.content=="string"?a.push({type:"text",text:s.content,...s.cache_control?{cache_control:s.cache_control}:{}}):Array.isArray(s.content)&&(s.content.forEach(d=>{d.type==="text"&&a.push({type:"text",text:d.text||"",...d.cache_control?{cache_control:d.cache_control}:{}})}),yc(s.content).forEach(d=>{a.push(bc(d,"claude"))})),s.tool_calls&&s.tool_calls.length>0&&s.tool_calls.forEach(u=>{a.push({type:"tool_use",id:u.id,name:u.function.name,input:JSON.parse(u.function.arguments||"{}")})});a.length>0&&e.push({role:i,content:a})}let r={anthropic_version:"vertex-2023-10-16",messages:_c(e,"content"),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(o=>{let s=Uo(o);return{name:s.name,description:s.description,input_schema:s.parameters,...o.cache_control?{cache_control:o.cache_control}:{}}})),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})),Ja(r)}function RC(t){let e=t,r={messages:e.messages.map(o=>{let s=o.content.map(i=>i.type==="text"?{type:"text",text:i.text||""}:i.type==="image"&&i.source?{type:"image_url",image_url:{url:i.source.data},media_type:i.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&&(r.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"?r.tool_choice=e.tool_choice:e.tool_choice.type==="tool"&&(r.tool_choice=e.tool_choice.name)),r}async function Cc(t,e,n){if(t.headers.get("Content-Type")?.includes("application/json")){let r=await t.json(),o=Array.isArray(r.content)?r.content:[],s=o.filter(p=>p?.type==="text"&&typeof p.text=="string").map(p=>p.text),i=o.find(p=>p?.type==="thinking"&&typeof p.thinking=="string"),a,u=o.filter(p=>p?.type==="tool_use");u.length>0?a=u.map(p=>({id:p.id,type:"function",function:{name:p.name,arguments:JSON.stringify(p.input??{})}})):Array.isArray(r.tool_use)&&r.tool_use.length>0&&(a=r.tool_use.map(p=>({id:p.id,type:"function",function:{name:p.name,arguments:JSON.stringify(p.input??{})}})));let d=gp(r.stop_reason),f={role:"assistant",content:s.length>0?s.join(""):null,...a&&{tool_calls:a}};i&&(f.thinking={content:i.thinking,signature:i.signature});let h={id:r.id,choices:[{finish_reason:d,index:0,message:f}],created:parseInt(new Date().getTime()/1e3+"",10),model:r.model,object:"chat.completion",usage:wr(r.usage)};return new Response(JSON.stringify(h),{status:t.status,statusText:t.statusText,headers:t.headers})}else if(t.headers.get("Content-Type")?.includes("stream")){if(!t.body)return t;let r={},o="",s="",i=new Map;return Pe(t,(u,d)=>{let{controller:f,encoder:h}=d;if(u.startsWith("data: ")){let p=u.slice(6).trim();if(p){n?.debug({chunkStr:p},`${e} chunk:`);try{let b=JSON.parse(p);if(b.type==="message_start"){r=b.message?.usage||b.usage||{},o=b.message?.id||b.id||o,s=b.message?.model||b.model||s;let C={choices:[{delta:{role:"assistant"},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:o,model:s,object:"chat.completion.chunk"};f.enqueue(h.encode(`data: ${JSON.stringify(C)}
|
|
124
|
+
|
|
125
|
+
`))}else if(b.type==="content_block_delta"&&b.delta?.type==="text_delta"){let C={choices:[{delta:{role:"assistant",content:b.delta.text||""},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.id||o,model:b.model||s,object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",...b.usage?{usage:wr(b.usage)}:{}};f.enqueue(h.encode(`data: ${JSON.stringify(C)}
|
|
116
126
|
|
|
117
|
-
`)}function
|
|
118
|
-
`)}var Ka=In(Kb(),1),Kx={STOP:"stop",MAX_TOKENS:"length",SAFETY:"content_filter",RECITATION:"content_filter",BLOCKLIST:"content_filter",PROHIBITED_CONTENT:"content_filter",SPII:"content_filter",IMAGE_SAFETY:"content_filter"},Wf="\u26A0\uFE0F Upstream ended the turn without a reply";function ri(t){return t?Kx[t.toUpperCase()]||t.toLowerCase():null}function Gf(t){let e=t?.finishReason;if(!e||String(e).toUpperCase()==="STOP")return null;let n=String(t?.finishMessage||"").trim();return`${Wf} (${String(e).toUpperCase()})`+(n?`: ${n}`:"")}var Ya=class{constructor(e){this.emit=e}emit;_hasThinking=!1;_sigSent=!1;_contentSent=!1;_buffer="";processThinking(e,n){this._hasThinking=!0,this.emit.thinking(e,n)}processSignature(e,n){this.processSignatureWithMeta(e,n)}processSignatureWithMeta(e,n,r){if(!this._sigSent){if(this._contentSent){this._sigSent=!0;return}this._hasThinking||(this._hasThinking=!0,this.emit.thinking("(no content)",n)),this._sigSent=!0,this.emit.signature(e,n),r?.beforeFlush?.(),this.flushBufferedContent(r?.flushMeta)}}processContent(e,n,r){this._sigSent||!this._hasThinking?(this._contentSent=!0,this.emit.content(e,{chunk:n,candidate:r,mode:"direct"})):this._buffer+=e}emitContentPlaceholder(e,n){this._contentSent=!0,this.emit.content(e,{chunk:n?.chunk,candidate:n?.candidate,mode:"placeholder",finishReason:n?.finishReason})}bufferContent(e){this._buffer+=e}finalize(e,n,r){if(this._hasThinking&&!this._sigSent){this.processSignatureWithMeta(`ccr_${Date.now()}`,e,{beforeFlush:r?.beforeFlush,flushMeta:{chunk:e,candidate:n,mode:n?.finishReason?"finish":"buffered",finishReason:ri(n?.finishReason)}});return}this.flushBufferedContent({chunk:e,candidate:n,mode:n?.finishReason?"finish":"buffered",finishReason:ri(n?.finishReason)})}flushBufferedContent(e){this._buffer&&(this._contentSent=!0,this.emit.content(this._buffer,{chunk:e?.chunk,candidate:e?.candidate,mode:e?.mode||"buffered",finishReason:e?.finishReason}),this._buffer="")}shouldDeferContent(e,n){return this._hasThinking&&!this._sigSent&&!e&&!n}get hasBufferedContent(){return this._buffer.length>0}get hasThinkingContent(){return this._hasThinking}get signatureSent(){return this._sigSent}get contentSent(){return this._contentSent}get needsContentPlaceholder(){return this._sigSent&&!this._contentSent}acknowledgeSignature(){this._sigSent=!0}};function Xa(t,e){return e[t]||t}function Qa(t){return!t||typeof t=="string"?[]:t.filter(e=>e.type==="image_url").map(e=>({url:e.image_url.url,mediaType:e.media_type||"image/jpeg",isBase64:e.image_url.url.startsWith("data:")}))}function Za(t,e){if(t.length===0)return[];let n=[];for(let r of t){let o=n[n.length-1];if(o&&o.role===r.role){let s=o[e],i=r[e];Array.isArray(s)&&Array.isArray(i)&&s.push(...i)}else n.push({...r})}return n}function Ro(t){return t.function?.name?{name:t.function.name,description:t.function.description,parameters:t.function.parameters}:{name:t.name,description:t.description,parameters:t.input_schema}}function ec(t,e){if(e==="gemini")return t.isBase64?{inlineData:{mimeType:t.mediaType,data:t.url.split(",").pop()||t.url}}:{fileData:{mimeType:t.mediaType,fileUri:t.url}};if(e==="claude")return{type:"image",source:{type:"base64",media_type:t.mediaType,data:t.url.startsWith("data:")&&t.url.split(",").pop()||t.url}};throw new Error(`Unsupported provider for image processing: ${e}`)}function oi(t){if(!t||!t.includes("\\")&&!t.includes("$"))return t;try{let e=typeof Ka.default=="function"?Ka.default:Ka.default.default;if(typeof e!="function")return t;let n=/(\$\$?[\s\S]+?\$\$?|\\\(?:[\s\S]+?\\\)|\\\[[\s\S]+?\\\]|\\(?:[a-zA-Z]+))/g;return t.replace(n,r=>{let o=r,s;do s=o,o=e(o);while(o!==s);return o.replace(/\$([^$]+)\$/g,"$1")})}catch{return t}}function Yb(t){if(!t)return"unnamed_function";let e=t.replace(/[^a-zA-Z0-9_.:-]/g,"_");return/^[^a-zA-Z_]/.test(e)&&(e="_"+e),e.substring(0,128)}function gr(t){let e=t?.input_tokens||0,n=t?.cache_read_input_tokens||0,r=t?.cache_creation_input_tokens||0,o=t?.output_tokens||0;return{completion_tokens:o,prompt_tokens:e+n+r,prompt_tokens_details:{cached_tokens:n,cache_write_tokens:r},total_tokens:e+n+r+o}}function Jf(t){switch(t){case"tool_use":return"tool_calls";case"max_tokens":case"model_context_window_exceeded":return"length";case"refusal":return"content_filter";case"end_turn":case"stop_sequence":case"pause_turn":return"stop";default:return typeof t=="string"&&t?"stop":null}}function Xb(t){let e=[];for(let o=0;o<t.messages.length;o++){let s=t.messages[o],i=Xa(s.role,{assistant:"assistant"}),c=[];if(s.role==="tool"){let u=s.content;Array.isArray(u)?u=u.filter(f=>f.type==="text").map(f=>f.text).join(`
|
|
119
|
-
`):typeof u=="object"&&u!==null&&(u=JSON.stringify(u)),c.push({type:"tool_result",tool_use_id:s.tool_call_id,content:u,...s.cache_control?{cache_control:s.cache_control}:{}})}else typeof s.content=="string"?c.push({type:"text",text:s.content,...s.cache_control?{cache_control:s.cache_control}:{}}):Array.isArray(s.content)&&(s.content.forEach(f=>{f.type==="text"&&c.push({type:"text",text:f.text||"",...f.cache_control?{cache_control:f.cache_control}:{}})}),Qa(s.content).forEach(f=>{c.push(ec(f,"claude"))})),s.tool_calls&&s.tool_calls.length>0&&s.tool_calls.forEach(u=>{c.push({type:"tool_use",id:u.id,name:u.function.name,input:JSON.parse(u.function.arguments||"{}")})});c.length>0&&e.push({role:i,content:c})}let r={anthropic_version:"vertex-2023-10-16",messages:Za(e,"content"),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(o=>{let s=Ro(o);return{name:s.name,description:s.description,input_schema:s.parameters,...o.cache_control?{cache_control:o.cache_control}:{}}})),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})),qr(r)}function Qb(t){let e=t,r={messages:e.messages.map(o=>{let s=o.content.map(i=>i.type==="text"?{type:"text",text:i.text||""}:i.type==="image"&&i.source?{type:"image_url",image_url:{url:i.source.data},media_type:i.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&&(r.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"?r.tool_choice=e.tool_choice:e.tool_choice.type==="tool"&&(r.tool_choice=e.tool_choice.name)),r}async function tc(t,e,n){if(t.headers.get("Content-Type")?.includes("application/json")){let r=await t.json(),o=Array.isArray(r.content)?r.content:[],s=o.filter(h=>h?.type==="text"&&typeof h.text=="string").map(h=>h.text),i=o.find(h=>h?.type==="thinking"&&typeof h.thinking=="string"),c,u=o.filter(h=>h?.type==="tool_use");u.length>0?c=u.map(h=>({id:h.id,type:"function",function:{name:h.name,arguments:JSON.stringify(h.input??{})}})):Array.isArray(r.tool_use)&&r.tool_use.length>0&&(c=r.tool_use.map(h=>({id:h.id,type:"function",function:{name:h.name,arguments:JSON.stringify(h.input??{})}})));let f=Jf(r.stop_reason),d={role:"assistant",content:s.length>0?s.join(""):null,...c&&{tool_calls:c}};i&&(d.thinking={content:i.thinking,signature:i.signature});let p={id:r.id,choices:[{finish_reason:f,index:0,message:d}],created:parseInt(new Date().getTime()/1e3+"",10),model:r.model,object:"chat.completion",usage:gr(r.usage)};return new Response(JSON.stringify(p),{status:t.status,statusText:t.statusText,headers:t.headers})}else if(t.headers.get("Content-Type")?.includes("stream")){if(!t.body)return t;let r={},o="",s="",i=new Map;return Fe(t,(u,f)=>{let{controller:d,encoder:p}=f;if(u.startsWith("data: ")){let h=u.slice(6).trim();if(h){n?.debug({chunkStr:h},`${e} chunk:`);try{let _=JSON.parse(h);if(_.type==="message_start"){r=_.message?.usage||_.usage||{},o=_.message?.id||_.id||o,s=_.message?.model||_.model||s;let b={choices:[{delta:{role:"assistant"},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:o,model:s,object:"chat.completion.chunk"};d.enqueue(p.encode(`data: ${JSON.stringify(b)}
|
|
127
|
+
`))}else if(b.type==="content_block_delta"&&b.delta?.type==="input_json_delta"){let C={choices:[{delta:{tool_calls:[{index:i.get(Number(b.index||0))??Number(b.index||0),function:{arguments:b.delta.partial_json||""}}]},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.id||o,model:b.model||s,object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",...b.usage?{usage:wr(b.usage)}:{}};f.enqueue(h.encode(`data: ${JSON.stringify(C)}
|
|
120
128
|
|
|
121
|
-
`))}else if(
|
|
129
|
+
`))}else if(b.type==="content_block_delta"&&b.delta?.type==="thinking_delta"){let C={choices:[{delta:{thinking:{content:b.delta.thinking||""}},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.id||o,model:b.model||s,object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",...b.usage?{usage:wr(b.usage)}:{}};f.enqueue(h.encode(`data: ${JSON.stringify(C)}
|
|
122
130
|
|
|
123
|
-
`))}else if(
|
|
131
|
+
`))}else if(b.type==="content_block_delta"&&b.delta?.type==="signature_delta"){let C={choices:[{delta:{thinking:{signature:b.delta.signature||""}},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.id||o,model:b.model||s,object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",...b.usage?{usage:wr(b.usage)}:{}};f.enqueue(h.encode(`data: ${JSON.stringify(C)}
|
|
124
132
|
|
|
125
|
-
`))}else if(
|
|
133
|
+
`))}else if(b.type==="content_block_start"&&b.content_block?.type==="tool_use"){let C=Number(b.index||0),m=i.size;i.set(C,m);let w={choices:[{delta:{tool_calls:[{index:m,id:b.content_block.id,type:"function",function:{name:b.content_block.name,arguments:""}}]},finish_reason:null,index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.id||o,model:b.model||s,object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",...b.usage?{usage:wr(b.usage)}:{}};f.enqueue(h.encode(`data: ${JSON.stringify(w)}
|
|
126
134
|
|
|
127
|
-
`))}else if(
|
|
135
|
+
`))}else if(b.type==="message_delta"){let C={choices:[{delta:{},finish_reason:gp(b.delta?.stop_reason)||"stop",index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.id||o,model:b.model||s,object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:wr({...r,...b.usage})};f.enqueue(h.encode(`data: ${JSON.stringify(C)}
|
|
128
136
|
|
|
129
|
-
`))}else if(
|
|
137
|
+
`))}else if(b.type==="message_stop")f.enqueue(h.encode(`data: [DONE]
|
|
130
138
|
|
|
131
|
-
`))
|
|
139
|
+
`));else{if(b.type==="content_block_start"||b.type==="content_block_stop"||b.type==="ping")return;{let C={choices:[{delta:{role:"assistant",content:b.content?.[0]?.text||""},finish_reason:gp(b.stop_reason),index:0,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:b.id||o,model:b.model||s,object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",...b.usage?{usage:wr(b.usage)}:{}};f.enqueue(h.encode(`data: ${JSON.stringify(C)}
|
|
132
140
|
|
|
133
|
-
`))}
|
|
141
|
+
`))}}}catch(b){n?.error(`Error parsing ${e} stream chunk`,p,b.message)}}}})}return t}import{randomUUID as jC}from"crypto";import{existsSync as wc,readFileSync as DC,writeFileSync as OC,mkdirSync as PC}from"fs";import{dirname as IC,join as FC}from"path";import{homedir as NC}from"os";import{randomBytes as FD}from"crypto";var ND=FC(NC(),".claude-code-router","claude_auth.json"),MD=FC(NC(),".claude-code-router","claude_device.json"),BD=/^[0-9a-f]{64}$/;function MC(){return process.env.CCR_CLAUDE_AUTH_FILE||ND}function UD(){return process.env.CCR_CLAUDE_DEVICE_FILE||MD}var xC={client_id:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorization_endpoint:"https://claude.ai/oauth/authorize",token_endpoint:"https://platform.claude.com/v1/oauth/token",scope:"user:profile user:inference user:sessions:claude_code user:mcp_servers"};function yp(){try{let t=MC();if(!wc(t))return null;let e=DC(t,"utf-8"),n=JSON.parse(e);return n.access_token?n:null}catch{return null}}function _p(t){let e=MC(),n=IC(e);wc(n)||PC(n,{recursive:!0}),OC(e,JSON.stringify(t,null,2),{mode:384,encoding:"utf-8"})}function jD(t,e=60){return t.expires_at?Date.now()/1e3+e>=t.expires_at:!1}async function bp(t){let e=await fetch(xC.token_endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({grant_type:"refresh_token",client_id:xC.client_id,refresh_token:t})});if(!e.ok){let r=await e.text();throw new Error(`Token refresh failed (${e.status}): ${r}`)}let n=await e.json();return{access_token:n.access_token,refresh_token:n.refresh_token,id_token:n.id_token,token_type:n.token_type||"Bearer",scope:n.scope,expires_at:n.expires_at||Date.now()/1e3+(n.expires_in||3600),last_refresh:Date.now()/1e3}}async function Cp(){let t=yp();if(!t)throw new Error("No Claude OAuth tokens found. Run `ccr claude-auth` to authenticate.");if(jD(t)){if(!t.refresh_token)throw new Error("Claude OAuth token expired and no refresh token available. Run `ccr claude-auth` to re-authenticate.");t=await bp(t.refresh_token),_p(t)}return t}function BC(){let t=UD();try{if(wc(t)){let r=JSON.parse(DC(t,"utf-8"));if(typeof r.device_id=="string"&&BD.test(r.device_id))return r.device_id}}catch{}let e=FD(32).toString("hex"),n=IC(t);return wc(n)||PC(n,{recursive:!0}),OC(t,JSON.stringify({device_id:e},null,2),{mode:384,encoding:"utf-8"}),e}function pi(t){let e=new URL(t||"https://api.anthropic.com"),n=e.pathname.replace(/\/$/,"");return n.endsWith("/v1/messages")||(e.pathname=`${n}/v1/messages`.replace(/\/+/g,"/")),e.searchParams.set("beta","true"),e.toString()}var UC="oauth-2025-04-20";function LD(...t){let e=new Set,n=[];for(let r of t)if(r)for(let o of r.split(",")){let s=o.trim();if(!s)continue;let i=s.toLowerCase();e.has(i)||(e.add(i),n.push(s))}return n.join(",")}function wp(t,e){if(!t)return;let n=e.toLowerCase();for(let[r,o]of Object.entries(t)){if(r.toLowerCase()!==n)continue;if(o==null)return;if(Array.isArray(o)){let i=o.filter(a=>a!=null&&String(a).length>0);return i.length?i.map(String).join(", "):void 0}let s=String(o);return s.length?s:void 0}}function qD(t){return t?.startsWith("claude-cli/")??!1}function kp(t){return t.clientBeta?.trim()?LD(t.clientBeta,UC):UC}function Ep(t,e){let{requestedOneMillion:n}=dn(t),r=Fo(t),o=u=>lp(r,u),i=dn(t).modelId.toLowerCase().includes("haiku")?[]:["claude-code-20250219"];e?.includeOAuthBeta!==!1&&i.push("oauth-2025-04-20"),n&&i.push("context-1m-2025-08-07"),nC(r)&&i.push("interleaved-thinking-2025-05-14","thinking-token-count-2026-05-13"),o("context_management")&&i.push("context-management-2025-06-27"),i.push("prompt-caching-scope-2026-01-05"),o("mid_conv_system")&&i.push("mid-conversation-system-2026-04-07"),e?.includeToolSearch&&i.push("advanced-tool-use-2025-11-20"),e?.includeEffort&&o("effort")&&i.push("effort-2025-11-24"),e?.includeFallbackCredit&&i.push("fallback-credit-2026-06-01");let a=e?.envBeta??process.env.ANTHROPIC_BETAS;for(let u of a?.split(",")||[]){let d=u.trim();d&&!i.includes(d)&&i.push(d)}return i.join(",")}function Ap(t,e){if(!t||!e)return t;let n=dn(t).modelId;return Fo(n)?.nativeOneMillion?n:`${n}[1m]`}function vp(t,e){let n=o=>lp(e,o),r=o=>{o&&typeof o=="object"&&!n("effort")&&delete o.effort};r(t.thinking),r(t.output_config),t.thinking&&typeof t.thinking=="object"&&t.thinking.type!=="disabled"&&(t.thinking=n("adaptive_thinking")?{type:"adaptive",display:"omitted"}:{type:"enabled",...t.thinking.budget_tokens!==void 0?{budget_tokens:t.thinking.budget_tokens}:{},display:"omitted"}),e&&typeof t.max_tokens=="number"&&(t.max_tokens=Math.min(t.max_tokens,e.maxOutputTokens.upper))}var $D="0.94.0";function zD(){switch(process.arch){case"arm64":return"arm64";case"x64":return"x64";default:return process.arch}}function HD(){switch(process.platform){case"darwin":return"MacOS";case"linux":return"Linux";case"win32":return"Windows";default:return process.platform}}var Sp;function LC(){return Sp||(Sp=jC()),Sp}var WD=new Set(["authorization","x-api-key","anthropic-beta","cookie","set-cookie","host","content-length","content-encoding","connection","transfer-encoding","upgrade","te","trailer"]);function GD(){let t={};for(let e of(process.env.ANTHROPIC_CUSTOM_HEADERS||"").split(/\r?\n/)){if(!e.trim())continue;let n=e.indexOf(":");if(n<0)continue;let r=e.slice(0,n).trim(),o=e.slice(n+1).trim();!r||!o||WD.has(r.toLowerCase())||(t[r]=o)}return t}function Tp(){let t=[Zb,process.env.CLAUDE_AGENT_SDK_VERSION?`agent-sdk/${process.env.CLAUDE_AGENT_SDK_VERSION}`:void 0,process.env.CLAUDE_AGENT_SDK_CLIENT_APP?`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`:void 0].filter(Boolean).join(", ");return{"User-Agent":process.env.ANTHROPIC_USER_AGENT||`claude-cli/${cp} (external, ${t})`,"x-app":"cli","anthropic-dangerous-direct-browser-access":"true","X-Claude-Code-Session-Id":LC(),"x-client-request-id":jC(),"x-stainless-arch":zD(),"x-stainless-lang":"js","x-stainless-os":HD(),"x-stainless-package-version":$D,"x-stainless-retry-count":"0","x-stainless-runtime":"node","x-stainless-runtime-version":process.version,"x-stainless-timeout":"600",...process.env.CLAUDE_CODE_CONTAINER_ID?{"x-claude-remote-container-id":process.env.CLAUDE_CODE_CONTAINER_ID}:{},...process.env.CLAUDE_CODE_REMOTE_SESSION_ID?{"x-claude-remote-session-id":process.env.CLAUDE_CODE_REMOTE_SESSION_ID}:{},...process.env.CLAUDE_AGENT_SDK_CLIENT_APP?{"x-client-app":process.env.CLAUDE_AGENT_SDK_CLIENT_APP}:{},...process.env.CLAUDE_CODE_ADDITIONAL_PROTECTION&&!["0","false","no","off"].includes(process.env.CLAUDE_CODE_ADDITIONAL_PROTECTION.trim().toLowerCase())?{"x-anthropic-additional-protection":"true"}:{},...GD()}}function Rp(){return{user_id:JSON.stringify({device_id:BC(),account_uuid:"",session_id:LC()})}}var kc=class{name="claude-auth";logger;async transformRequestIn(e,n,r){let o=await Cp(),s=r?.req?.headers||{},i=wp(s,"user-agent"),a=r?.protocolContext?.anthropicClientKind||(qD(i)?"claude_code":"other"),u=a==="claude_code",d=!r?.protocolContext||r.protocolContext.anthropicDestinationInScope===!0;if(a==="other"&&d&&!r?.protocolContext?.anthropicPolicyApplied){let b=oc(e);sc(b,e.messages),ic(b),ac(b,e.messages);let C=new Map;cc(e,C),r&&(r.claudeAuthToolNameMap=C,r.protocolContext&&(r.protocolContext.claudeAuthToolNameMap=C))}else if(a==="other"){let b=r?.protocolContext?.claudeAuthToolNameMap;b&&r&&(r.claudeAuthToolNameMap=b)}let f=u?wp(s,"anthropic-beta"):void 0,h=kp(u?{clientBeta:f}:{clientBeta:Ep(Ap(e.model,r?.protocolContext?.requestedOneMillion))}),p={Authorization:`Bearer ${o.access_token}`,"anthropic-beta":h};if(u)for(let b of["user-agent","x-app","x-claude-code-session-id","anthropic-dangerous-direct-browser-access","x-client-request-id","x-stainless-arch","x-stainless-lang","x-stainless-os","x-stainless-package-version","x-stainless-retry-count","x-stainless-runtime","x-stainless-runtime-version","x-stainless-timeout"]){let C=wp(s,b);C&&(p[b]=C)}else{Object.assign(p,Tp());let b=Fo(e.model);r&&(r.claudeAuthPostBuildHook=C=>{vp(C,b),C.metadata={...C.metadata||{},...Rp()}})}return{body:e,config:{headers:p,__authRecovery:()=>this.recoverUnauthorizedAuth(o.access_token)}}}async auth(e,n,r){let o=await Cp(),s=r?.req?.headers||{},i=Vr(s,"anthropic-beta");return{body:e,config:{url:pi(n?.baseUrl),headers:{Authorization:`Bearer ${o.access_token}`,"anthropic-beta":kp({clientBeta:i})},__authRecovery:()=>this.recoverUnauthorizedAuth(o.access_token)}}}async transformResponseOut(e,n){let r=n?.claudeAuthToolNameMap??n?.protocolContext?.claudeAuthToolNameMap;if(r?.size&&e.ok){let s=e.headers.get("Content-Type")||"";if(s.includes("application/json")){let i=await e.json();return Io(i,r),new Response(JSON.stringify(i),{status:e.status,statusText:e.statusText,headers:e.headers})}if(s.includes("text/event-stream")&&e.body)return Pe(e,(i,a)=>{if(!i.startsWith("data: ")||i.trim()==="data: [DONE]"){a.controller.enqueue(a.encoder.encode(i+`
|
|
142
|
+
`));return}try{let u=JSON.parse(i.slice(6));Io(u,r),a.controller.enqueue(a.encoder.encode(`data: ${JSON.stringify(u)}
|
|
134
143
|
|
|
135
|
-
`))
|
|
144
|
+
`))}catch{a.controller.enqueue(a.encoder.encode(i+`
|
|
145
|
+
`))}},{logger:this.logger})}let o=e.headers.get("anthropic-ratelimit-unified-overage-in-use");return o&&this.logger?.debug?.({overageInUse:o,overageStatus:e.headers.get("anthropic-ratelimit-unified-overage-status")},"claude-auth: subscription overage in use for this request"),e}async recoverUnauthorizedAuth(e){let n=yp();if(n?.access_token&&n.access_token!==e)return{Authorization:`Bearer ${n.access_token}`};if(!n?.refresh_token)return null;let r=await bp(n.refresh_token);return _p(r),{Authorization:`Bearer ${r.access_token}`}}};function Sc(t){let e=t?.prompt_tokens_details?.cached_tokens||0,n=t?.prompt_tokens_details?.cache_write_tokens||0;return{input_tokens:Math.max(0,(t?.prompt_tokens||0)-e-n),output_tokens:t?.completion_tokens||0,cache_creation_input_tokens:n,cache_read_input_tokens:e}}function JD(t,e){if(!t||typeof t!="object")return;let n=structuredClone(t);if(n.effort!==void 0){let r=e?void 0:yb(n.effort);r?n.effort=r:delete n.effort}return Object.keys(n).length?n:void 0}var Ec=class t{constructor(e){this.options=e;this.useBearer=this.options?.UseBearer??!1}options;name="Anthropic";endPoint="/v1/messages";useBearer;logger;async auth(e,n,r){let o={};return this.useBearer?(o.Authorization=`Bearer ${n.apiKey}`,o["x-api-key"]=void 0):(o["x-api-key"]=n.apiKey,o.Authorization=void 0),{body:e,config:{url:pi(n.baseUrl),headers:o}}}async transformRequestIn(e,n,r){let o=t.buildAnthropicBody(e,this.logger,r);o.model=dn(o.model).modelId;let s=r?.protocolContext,a=s?.anthropicDestinationInScope===!0&&s.anthropicClientKind==="other"&&s.anthropicPolicyApplied===!0&&s?.anthropicProviderMode==="api_key";a&&(vp(o,Fo(o.model)),o.metadata={...o.metadata||{},...Rp()}),r?.claudeAuthPostBuildHook?.(o);let u=pi(n?.baseUrl),d={"Content-Type":"application/json","anthropic-version":"2023-06-01"};return a&&Object.assign(d,Tp(),{"anthropic-beta":Ep(Ap(o.model,s?.requestedOneMillion),{includeOAuthBeta:!1})}),!n?.transformer?.use?.some(h=>h?.name==="claude-auth")&&(this.useBearer?(d.Authorization=`Bearer ${n.apiKey}`,d["x-api-key"]=void 0):(d["x-api-key"]=n.apiKey,d.Authorization=void 0)),{body:o,config:{url:u,headers:d}}}async transformResponseOut(e,n){let r=await Cc(e,this.name,this.logger),o=n?.protocolContext?.claudeAuthToolNameMap;if(!o?.size||!r.ok)return r;let s=r.headers.get("Content-Type")||"";if(s.includes("application/json")){let i=await r.json();return Io(i,o),new Response(JSON.stringify(i),{status:r.status,statusText:r.statusText,headers:r.headers})}return s.includes("text/event-stream")&&r.body?Pe(r,(i,a)=>{if(!i.startsWith("data: ")||i.trim()==="data: [DONE]"){a.controller.enqueue(a.encoder.encode(i+`
|
|
146
|
+
`));return}try{let u=JSON.parse(i.slice(6));Io(u,o),a.controller.enqueue(a.encoder.encode(`data: ${JSON.stringify(u)}
|
|
136
147
|
|
|
137
|
-
`))}
|
|
138
|
-
`)
|
|
139
|
-
`)
|
|
148
|
+
`))}catch{a.controller.enqueue(a.encoder.encode(i+`
|
|
149
|
+
`))}},{logger:this.logger}):r}async transformRequestOut(e,n){n&&(n.unifiedRequest=dC(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 d=e.system.filter(f=>f.type==="text"&&f.text).map(f=>({type:"text",text:f.text,cache_control:f.cache_control}));r.push({role:"system",content:d})}}JSON.parse(JSON.stringify(e.messages||[]))?.forEach(d=>{if(d.role==="user"||d.role==="assistant"){if(typeof d.content=="string"){r.push({role:d.role,content:d.content});return}if(Array.isArray(d.content)){if(d.role==="user"){let f=d.content.filter(p=>p.type==="tool_result"&&p.tool_use_id);f.length&&f.forEach(p=>{let b={role:"tool",content:typeof p.content=="string"?p.content:Array.isArray(p.content)&&p.content.filter(C=>C.type==="text"&&C.text).map(C=>C.text).join(`
|
|
150
|
+
`)||JSON.stringify(p.content),tool_call_id:$n(p.tool_use_id)??p.tool_use_id,cache_control:p.cache_control};r.push(b)});let h=d.content.filter(p=>p.type==="text"&&p.text||p.type==="image"&&p.source);h.length&&r.push({role:"user",content:h.map(p=>p?.type==="image"?{type:"image_url",image_url:{url:p.source?.type==="base64"?lC(p.source.data,p.source.media_type):p.source.url},media_type:p.source.media_type,cache_control:p.cache_control}:p)})}else if(d.role==="assistant"){let f={role:"assistant",content:""},h=d.content.filter(C=>C.type==="text"&&C.text);h.length&&(f.content=h.some(C=>C.cache_control)?h.map(C=>({type:"text",text:C.text,cache_control:C.cache_control})):h.map(C=>C.text).join(`
|
|
151
|
+
`));let p=d.content.filter(C=>C.type==="tool_use"&&C.id);p.length&&(f.tool_calls=p.map(C=>({id:$n(C.id)??C.id,type:"function",function:{name:C.name,arguments:JSON.stringify(C.input||{})},cache_control:C.cache_control})));let b=d.content.find(C=>C.type==="thinking"&&C.signature);b&&(f.thinking={content:b.thinking,signature:b.signature}),r.push(f)}return}}});let s={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,...e.cache_control?{cache_control:e.cache_control}:{}},i=St(e.output_config?.effort??e.effort);if(e.thinking||i){let d=e.thinking?e.thinking.type==="enabled"||e.thinking.type==="adaptive":!0;s.reasoning={...xo(i,d),...typeof e.thinking?.budget_tokens=="number"?{max_tokens:e.thinking.budget_tokens}:{}}}let a=n?.protocolContext;return a?.protocol==="anthropic_messages"&&(a.anthropicSource={...e.metadata?{metadata:JSON.parse(JSON.stringify(e.metadata))}:{},...e.thinking?{thinking:JSON.parse(JSON.stringify(e.thinking))}:{},...e.output_config?{outputConfig:JSON.parse(JSON.stringify(e.output_config))}:{},...e.stop_sequences?{stopSequences:[...e.stop_sequences]}:{}}),Array.isArray(n?.provider?.transformer?.use)&&n.provider.transformer.use.some(d=>d?.name==="claude-auth")&&(e.thinking&&(s.anthropic_thinking=e.thinking),e.output_config&&(s.anthropic_output_config=e.output_config),e.metadata&&(s.anthropic_metadata=e.metadata),e.stop_sequences&&(s.anthropic_stop_sequences=e.stop_sequences)),e.tool_choice&&(e.tool_choice.type==="tool"?s.tool_choice={type:"function",function:{name:e.tool_choice.name}}:s.tool_choice=e.tool_choice.type),s}async transformResponseIn(e,n){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,n);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,n);return new Response(JSON.stringify(s),{headers:{"Content-Type":"application/json"}})}}static buildAnthropicBody(e,n,r){let o=[],s=m=>{if(typeof m=="string"){m&&o.push({type:"text",text:m});return}if(Array.isArray(m))for(let w of m)w?.type==="text"&&w.text&&o.push({type:"text",text:w.text,...w.cache_control?{cache_control:w.cache_control}:{}})};e.system&&s(e.system);let i=[];for(let m of e.messages){if(m.role==="system"||m.role==="developer"){s(m.content);continue}if(m.role==="tool"){let w={type:"tool_result",tool_use_id:$n(m.tool_call_id)??m.tool_call_id,content:typeof m.content=="string"?m.content:Array.isArray(m.content)?m.content.filter(A=>A?.type==="text").map(A=>({type:"text",text:A.text||"",...A.cache_control?{cache_control:A.cache_control}:{}})):JSON.stringify(m.content),...m.cache_control?{cache_control:m.cache_control}:{}},_=i[i.length-1];_?.role==="user"&&Array.isArray(_.content)?_.content.push(w):i.push({role:"user",content:[w]});continue}if(m.role==="assistant"){let w=[];if(m.thinking&&w.push({type:"thinking",thinking:m.thinking.content,signature:m.thinking.signature}),typeof m.content=="string"&&m.content)w.push({type:"text",text:m.content});else if(Array.isArray(m.content))for(let _ of m.content)_.type==="text"&&_.text&&w.push({type:"text",text:_.text,..._.cache_control?{cache_control:_.cache_control}:{}});if(m.tool_calls?.length)for(let _ of m.tool_calls){let A={};try{A=JSON.parse(_.function.arguments||"{}")}catch(S){(n?.error??console.error)("Failed to parse tool_call arguments for tool '%s': %s",_.function.name,S)}w.push({type:"tool_use",id:$n(_.id)??_.id,name:_.function.name,input:A,..._.cache_control?{cache_control:_.cache_control}:{}})}w.length>0&&i.push({role:"assistant",content:w});continue}if(m.role==="user"){let w=[];if(typeof m.content=="string")w.push({type:"text",text:m.content});else if(Array.isArray(m.content)){for(let _ of m.content)if(_.type==="text"&&_.text)w.push({type:"text",text:_.text,..._.cache_control?{cache_control:_.cache_control}:{}});else if(_.type==="image_url"&&_.image_url?.url){let A=_.image_url.url;if(A.startsWith("data:")){let[S,T]=A.split(","),x=S.split(":")[1]?.split(";")[0]??"image/jpeg";w.push({type:"image",source:{type:"base64",media_type:x,data:T},..._.cache_control?{cache_control:_.cache_control}:{}})}else w.push({type:"image",source:{type:"url",url:A},..._.cache_control?{cache_control:_.cache_control}:{}})}}w.length>0&&i.push({role:"user",content:w});continue}}let a;if(e.tools?.length){let m=e.tools.find(w=>w?.type!=="function"||!w?.function);if(m)throw W(`Tool type '${m?.type||"unknown"}' cannot be represented by Anthropic Messages`,400,"unsupported_hosted_tool","invalid_request_error");a=e.tools.map(w=>({name:w.function.name,description:w.function.description||"",input_schema:w.function.parameters,...w.cache_control?{cache_control:w.cache_control}:{}}))}let u;if(e.tool_choice){let m=e.tool_choice;m==="auto"?u={type:"auto"}:m==="required"?u={type:"any"}:typeof m=="string"?u={type:"tool",name:m}:m.type==="function"&&(u={type:"tool",name:m.function?.name})}let d=o.length===1&&!o[0].cache_control?o[0].text:o.length>0?o:void 0,f={model:e.model,max_tokens:e.max_tokens??8192,messages:i,stream:e.stream??!0};d!==void 0&&(f.system=d),e.temperature!==void 0&&(f.temperature=e.temperature),e.top_p!==void 0&&(f.top_p=e.top_p),e.stop!==void 0&&(f.stop_sequences=Array.isArray(e.stop)?e.stop:[e.stop]),e.tool_choice!=="none"&&a?.length&&(f.tools=a),e.tool_choice!=="none"&&u&&(f.tool_choice=u);let h=r?.protocolContext?.anthropicSource,p=Et(e.reasoning,e.thinking);p?f.thinking={type:"disabled"}:h?.thinking?f.thinking=h.thinking:e.anthropic_thinking?f.thinking=e.anthropic_thinking:(e.reasoning?.enabled||e.reasoning?.effort)&&(f.thinking={type:"adaptive"});let b=h?.outputConfig?h.outputConfig:e.anthropic_output_config?e.anthropic_output_config:e.reasoning?.effort?{effort:e.reasoning.effort}:void 0,C=JD(b,p);return C&&(f.output_config=C),h?.metadata?f.metadata=h.metadata:e.anthropic_metadata&&(f.metadata=e.anthropic_metadata),h?.stopSequences?f.stop_sequences=h.stopSequences:e.anthropic_stop_sequences&&(f.stop_sequences=e.anthropic_stop_sequences),e.cache_control&&(f.cache_control=e.cache_control),f}convertAnthropicToolsToUnified(e){return e.map(n=>({type:"function",function:{name:n.name,description:n.description||"",parameters:n.input_schema},...n.cache_control?{cache_control:n.cache_control}:{}}))}async convertOpenAIStreamToAnthropic(e,n){let r=null,o=null;return new ReadableStream({start:async i=>{let a=new TextEncoder,u=`msg_${Date.now()}`,d=null,f="unknown",h=!1,p=!1,b=!1,C=new Map,m=new Map,w=0,_=0,A=!1;o=()=>{A=!0};let S=!1,T=0,x=-1,O=0,q=()=>{let ee=T;return T++,ee},$=ee=>{if(!A)try{i.enqueue(ee);let Z=new TextDecoder().decode(ee);this.logger.debug({reqId:n.req.id,data:Z,type:"send data"})}catch(Z){if(Z instanceof TypeError&&Z.message.includes("Controller is already closed"))A=!0;else throw this.logger.debug({reqId:n.req.id,error:Z instanceof Error?Z.message:String(Z),type:"send data error"}),Z}},z=()=>{if(!A)try{if(x>=0){let Z={type:"content_block_stop",index:x};$(a.encode(`event: content_block_stop
|
|
140
152
|
data: ${JSON.stringify(Z)}
|
|
141
153
|
|
|
142
|
-
`)),x=-1}if(
|
|
143
|
-
data: ${JSON.stringify(
|
|
154
|
+
`)),x=-1}if(d)O>0&&(d.usage.server_tool_use={web_search_requests:O}),$(a.encode(`event: message_delta
|
|
155
|
+
data: ${JSON.stringify(d)}
|
|
144
156
|
|
|
145
|
-
`)),
|
|
157
|
+
`)),d=null;else{let Z={input_tokens:0,output_tokens:0,cache_creation_input_tokens:0,cache_read_input_tokens:0};O>0&&(Z.server_tool_use={web_search_requests:O}),$(a.encode(`event: message_delta
|
|
146
158
|
data: ${JSON.stringify({type:"message_delta",delta:{stop_reason:"end_turn",stop_sequence:null},usage:Z})}
|
|
147
159
|
|
|
148
|
-
`))}let
|
|
149
|
-
data: ${JSON.stringify(
|
|
160
|
+
`))}let ee={type:"message_stop"};$(a.encode(`event: message_stop
|
|
161
|
+
data: ${JSON.stringify(ee)}
|
|
150
162
|
|
|
151
|
-
`)),i.close(),
|
|
163
|
+
`)),i.close(),A=!0}catch(ee){if(ee instanceof TypeError&&ee.message.includes("Controller is already closed"))A=!0;else throw ee}},ce=ee=>{if(!A)try{x>=0&&($(a.encode(`event: content_block_stop
|
|
152
164
|
data: ${JSON.stringify({type:"content_block_stop",index:x})}
|
|
153
165
|
|
|
154
|
-
`)),x=-1);let Z=
|
|
155
|
-
data: ${JSON.stringify({type:"error",error:{type:
|
|
166
|
+
`)),x=-1);let Z=ee&&typeof ee=="object"?ee:{},xe=typeof Z.type=="string"?Z.type:"api_error",$e=ee instanceof Error?ee.message:typeof Z.message=="string"?Z.message:String(ee||"Upstream stream failed");$(a.encode(`event: error
|
|
167
|
+
data: ${JSON.stringify({type:"error",error:{type:xe,message:$e}})}
|
|
156
168
|
|
|
157
|
-
`)),i.close(),
|
|
158
|
-
`);Z=Re.pop()||"";for(let He of Re){if(
|
|
169
|
+
`)),i.close(),A=!0}catch(Z){try{i.error(Z)}catch(xe){this.logger?.error(xe)}}},X=null;try{X=e.getReader(),r=X;let ee=new TextDecoder,Z="";for(;!A;){let{done:xe,value:$e}=await X.read();if(xe)break;Z+=ee.decode($e,{stream:!0});let Re=Z.split(`
|
|
170
|
+
`);Z=Re.pop()||"";for(let He of Re){if(A||b)break;if(!He.startsWith("data:"))continue;let te=He.slice(5).trim();if(this.logger.debug({reqId:n.req.id,type:"recieved data",data:te}),te!=="[DONE]")try{let Q=JSON.parse(te);if(this.logger.debug({reqId:n.req.id,response:Q,tppe:"Original Response"}),Q.error){let de={type:"error",message:{type:"api_error",message:JSON.stringify(Q.error)}};$(a.encode(`event: error
|
|
159
171
|
data: ${JSON.stringify(de)}
|
|
160
172
|
|
|
161
|
-
`));continue}if(
|
|
173
|
+
`));continue}if(f=Q.model||f,!h&&!A&&!b){h=!0;let de={type:"message_start",message:{id:u,type:"message",role:"assistant",content:[],model:f,stop_reason:null,stop_sequence:null,usage:{input_tokens:0,output_tokens:0,cache_creation_input_tokens:0,cache_read_input_tokens:0}}};$(a.encode(`event: message_start
|
|
162
174
|
data: ${JSON.stringify(de)}
|
|
163
175
|
|
|
164
|
-
`))}let ie=Q.choices?.[0];if(Q.usage&&(
|
|
176
|
+
`))}let ie=Q.choices?.[0];if(Q.usage&&(d?d.usage=Sc(Q.usage):d={type:"message_delta",delta:{stop_reason:"end_turn",stop_sequence:null},usage:Sc(Q.usage)}),!ie)continue;if(ie?.delta?.thinking&&!A&&!b){if(x>=0&&!S){let de={type:"content_block_stop",index:x};$(a.encode(`event: content_block_stop
|
|
165
177
|
data: ${JSON.stringify(de)}
|
|
166
178
|
|
|
167
|
-
`)),x=-1,
|
|
179
|
+
`)),x=-1,p=!1}if(!S){let de=q(),Ce={type:"content_block_start",index:de,content_block:{type:"thinking",thinking:""}};$(a.encode(`event: content_block_start
|
|
168
180
|
data: ${JSON.stringify(Ce)}
|
|
169
181
|
|
|
170
|
-
`)),x=de,
|
|
182
|
+
`)),x=de,S=!0}if(ie.delta.thinking.signature){let de={type:"content_block_delta",index:x,delta:{type:"signature_delta",signature:ie.delta.thinking.signature}};$(a.encode(`event: content_block_delta
|
|
171
183
|
data: ${JSON.stringify(de)}
|
|
172
184
|
|
|
173
|
-
`));let Ce={type:"content_block_stop",index:x};$(
|
|
185
|
+
`));let Ce={type:"content_block_stop",index:x};$(a.encode(`event: content_block_stop
|
|
174
186
|
data: ${JSON.stringify(Ce)}
|
|
175
187
|
|
|
176
|
-
`)),x=-1,
|
|
188
|
+
`)),x=-1,S=!1}else if(ie.delta.thinking.content){let de={type:"content_block_delta",index:x,delta:{type:"thinking_delta",thinking:ie.delta.thinking.content||""}};$(a.encode(`event: content_block_delta
|
|
177
189
|
data: ${JSON.stringify(de)}
|
|
178
190
|
|
|
179
|
-
`))}}if(ie?.delta?.content&&!
|
|
191
|
+
`))}}if(ie?.delta?.content&&!A&&!b){if(w++,x>=0&&!p){let Ce={type:"content_block_stop",index:x};$(a.encode(`event: content_block_stop
|
|
180
192
|
data: ${JSON.stringify(Ce)}
|
|
181
193
|
|
|
182
|
-
`)),x=-1,
|
|
194
|
+
`)),x=-1,S=!1}if(!p&&!b){p=!0;let de=q(),Ce={type:"content_block_start",index:de,content_block:{type:"text",text:""}};$(a.encode(`event: content_block_start
|
|
183
195
|
data: ${JSON.stringify(Ce)}
|
|
184
196
|
|
|
185
|
-
`)),x=de}if(!
|
|
197
|
+
`)),x=de}if(!A&&!b){let de={type:"content_block_delta",index:x,delta:{type:"text_delta",text:ie.delta.content}};$(a.encode(`event: content_block_delta
|
|
186
198
|
data: ${JSON.stringify(de)}
|
|
187
199
|
|
|
188
|
-
`))}}if(ie?.delta?.annotations?.length&&!
|
|
200
|
+
`))}}if(ie?.delta?.annotations?.length&&!A&&!b){if(O+=ie.delta.annotations.length,x>=0&&p){let de={type:"content_block_stop",index:x};$(a.encode(`event: content_block_stop
|
|
189
201
|
data: ${JSON.stringify(de)}
|
|
190
202
|
|
|
191
|
-
`)),x=-1,
|
|
192
|
-
data: ${JSON.stringify(
|
|
203
|
+
`)),x=-1,p=!1}ie?.delta?.annotations.forEach(de=>{let Ce=q(),V={type:"content_block_start",index:Ce,content_block:{type:"web_search_tool_result",tool_use_id:`srvtoolu_${fn()}`,content:[{type:"web_search_result",title:de.url_citation.title,url:de.url_citation.url}]}};$(a.encode(`event: content_block_start
|
|
204
|
+
data: ${JSON.stringify(V)}
|
|
193
205
|
|
|
194
|
-
`));let
|
|
195
|
-
data: ${JSON.stringify(
|
|
206
|
+
`));let Ke={type:"content_block_stop",index:Ce};$(a.encode(`event: content_block_stop
|
|
207
|
+
data: ${JSON.stringify(Ke)}
|
|
196
208
|
|
|
197
|
-
`))})}if(ie?.delta?.tool_calls&&!
|
|
198
|
-
data: ${JSON.stringify(
|
|
209
|
+
`))})}if(ie?.delta?.tool_calls&&!A&&!b){_++;let de=new Set;for(let Ce of ie.delta.tool_calls){if(A)break;let V=Ce.index??0;if(de.has(V))continue;if(de.add(V),!m.has(V)){if(x>=0){let v={type:"content_block_stop",index:x};$(a.encode(`event: content_block_stop
|
|
210
|
+
data: ${JSON.stringify(v)}
|
|
199
211
|
|
|
200
|
-
`)),x=-1}
|
|
212
|
+
`)),x=-1}p=!1,S=!1;let Ne=q();m.set(V,Ne);let Y=$n(Ce.id)||`call_${Date.now()}_${V}`,ue=Ce.function?.name||`tool_${V}`,fe={type:"content_block_start",index:Ne,content_block:{type:"tool_use",id:Y,name:ue,input:{}}};$(a.encode(`event: content_block_start
|
|
201
213
|
data: ${JSON.stringify(fe)}
|
|
202
214
|
|
|
203
|
-
`)),x=Ne;let k={id:Y,name:ue,arguments:"",contentBlockIndex:Ne};
|
|
215
|
+
`)),x=Ne;let k={id:Y,name:ue,arguments:"",contentBlockIndex:Ne};C.set(V,k)}else if(Ce.id&&Ce.function?.name){let Ne=C.get(V);Ne.id.startsWith("call_")&&Ne.name.startsWith("tool_")&&(Ne.id=Ce.id,Ne.name=Ce.function.name)}if(Ce.function?.arguments&&!A&&!b){let Ne=m.get(V);if(Ne===void 0)continue;let Y=C.get(V);Y&&(Y.arguments+=Ce.function.arguments);try{let ue={type:"content_block_delta",index:Ne,delta:{type:"input_json_delta",partial_json:Ce.function.arguments}};$(a.encode(`event: content_block_delta
|
|
204
216
|
data: ${JSON.stringify(ue)}
|
|
205
217
|
|
|
206
|
-
`))}catch{try{let ue=Ce.function.arguments.replace(new RegExp("\\p{Cc}","gu"),"").replace(/\\/g,"\\\\").replace(/"/g,'\\"'),fe={type:"content_block_delta",index:Ne,delta:{type:"input_json_delta",partial_json:ue}};$(
|
|
218
|
+
`))}catch{try{let ue=Ce.function.arguments.replace(new RegExp("\\p{Cc}","gu"),"").replace(/\\/g,"\\\\").replace(/"/g,'\\"'),fe={type:"content_block_delta",index:Ne,delta:{type:"input_json_delta",partial_json:ue}};$(a.encode(`event: content_block_delta
|
|
207
219
|
data: ${JSON.stringify(fe)}
|
|
208
220
|
|
|
209
|
-
`))}catch(ue){this.logger?.error(ue)}}}}}if(ie?.finish_reason&&!
|
|
221
|
+
`))}catch(ue){this.logger?.error(ue)}}}}}if(ie?.finish_reason&&!A&&!b){if(w===0&&_===0&&this.logger?.warn("No content in the stream response!"),x>=0){let de={type:"content_block_stop",index:x};$(a.encode(`event: content_block_stop
|
|
210
222
|
data: ${JSON.stringify(de)}
|
|
211
223
|
|
|
212
|
-
`)),x=-1}if(!v){let Ce={stop:"end_turn",length:"max_tokens",tool_calls:"tool_use",content_filter:"stop_sequence",model_context_window_exceeded:"model_context_window_exceeded"}[ie.finish_reason]||"end_turn";y.size>0&&Ce==="end_turn"&&(Ce="tool_use"),f={type:"message_delta",delta:{stop_reason:Ce,stop_sequence:null},usage:nc(Q.usage)}}break}}catch(Q){this.logger?.error(`parseError: ${Q.name} message: ${Q.message} stack: ${Q.stack} data: ${ee}`)}}}H()}catch(te){ce(te)}finally{if(r===X&&(r=null),X)try{X.releaseLock()}catch(te){this.logger?.error(te)}}},cancel:async i=>{o?.();let c=r;r=null,c&&await c.cancel(i).catch(()=>{}),this.logger.debug({reqId:n.req.id},`cancel stream: ${i}`)}})}convertOpenAIResponseToAnthropic(e,n){this.logger.debug({reqId:n.req.id,response:e},"Original OpenAI response");try{let r=e.choices[0];if(!r)throw new Error("No choices found in OpenAI response");let o=[];if(r.message?.thinking?.content&&o.push({type:"thinking",thinking:r.message.thinking.content,signature:r.message.thinking.signature}),r.message.annotations){let c=`srvtoolu_${cn()}`;o.push({type:"server_tool_use",id:c,name:"web_search",input:{query:""}}),o.push({type:"web_search_tool_result",tool_use_id:c,content:r.message.annotations.map(u=>({type:"web_search_result",url:u.url_citation.url,title:u.url_citation.title}))})}r.message.content&&o.push({type:"text",text:r.message.content}),r.message.tool_calls&&r.message.tool_calls.length>0&&r.message.tool_calls.forEach(c=>{if(!("function"in c)||!c.function)return;let u={};try{let f=c.function.arguments||"{}";typeof f=="object"?u=f:typeof f=="string"&&(u=JSON.parse(f))}catch{u={text:c.function.arguments||""}}o.push({type:"tool_use",id:Bn(c.id)??c.id,name:c.function.name,input:u})});let s=String(r.finish_reason||""),i={id:e.id,type:"message",role:"assistant",model:e.model,content:o,stop_reason:r.finish_reason==="stop"?"end_turn":s==="length"?"max_tokens":s==="tool_calls"?"tool_use":s==="content_filter"?"stop_sequence":s==="model_context_window_exceeded"?"model_context_window_exceeded":"end_turn",stop_sequence:null,usage:{...nc(e.usage),...r.message.annotations?.length?{server_tool_use:{web_search_requests:r.message.annotations.length}}:{}}};return this.logger.debug({reqId:n.req.id,result:i},"Conversion complete, final Anthropic response"),i}catch{throw W(`Provider error: ${JSON.stringify(e)}`,500,"provider_error")}}};var Qx=new Set(["type","format","title","description","nullable","enum","maxItems","minItems","properties","required","minProperties","maxProperties","minLength","maxLength","pattern","example","anyOf","propertyOrdering","default","items","minimum","maximum","additionalProperties","allOf","oneOf"]);function yr(t,e){if(!t||typeof t!="object")return t;if(Array.isArray(t))return t.map(r=>yr(r,e));let n={};for(let r in t){if(e!=="properties"&&!Qx.has(r))continue;let o=t[r];if(!(r==="enum"&&t.type&&t.type!=="string")&&!(r==="format"&&t.type==="string"&&o&&!["enum","date-time"].includes(o))&&!(r==="format"&&o==="uri")&&r!=="$schema")if(r==="properties"&&typeof o=="object"&&!Array.isArray(o)){let s={};for(let i in o)s[i]=yr(o[i]);n[r]=s}else r==="items"?n[r]=yr(o,r):["anyOf","allOf","oneOf"].includes(r)&&Array.isArray(o)?n[r]=o.map(s=>yr(s,r)):n[r]=o}if(Array.isArray(n.required)&&n.properties){let r=new Set(Object.keys(n.properties));n.required=n.required.filter(o=>r.has(o)),n.required.length===0&&delete n.required}return n}function xo(t){if(!t||typeof t!="object")return t;if(Array.isArray(t))return t.map(xo);let e={};for(let h in t){let _=t[h];if(h==="properties"&&_&&typeof _=="object"){let b={};for(let y in _)b[y]=xo(_[y]);e[h]=b}else h==="items"?e[h]=xo(_):["anyOf","allOf","oneOf"].includes(h)&&Array.isArray(_)?e[h]=_.map(xo):e[h]=_}let n=e.anyOf||e.oneOf;if(!Array.isArray(n)||e.type)return e;let r=n.filter(h=>h&&typeof h=="object"),o=r.find(h=>h.type)||r[0];if(!o)return e;let{anyOf:s,oneOf:i,description:c,...u}=e,f=[...new Set(r.filter(h=>h!==o).map(h=>String(h.description||h.type||"").split(" (alternatives:")[0]).filter(Boolean))],d={...o,...u},p=[c,o.description,...f].filter(Boolean);return p.length&&(d.description=f.length?`${p[0]} (alternatives: ${f.join("; ")})`:p[0]),d}function oc(t){return!t||typeof t!="object"?t:yr(t)}var ii=["minimal","low","medium","high"];function Zx(t){return String(t||"").toLowerCase().replace(/^models\//,"")}function eD(t){let e=Zx(t);return e?e.includes("-image")||e.includes("imagen")?{kind:"none"}:e.startsWith("claude")?{kind:"budget",min:1024,max:64e3,requireMin:!0}:/^gemini-3(\.\d+)?\b/.test(e)||e.startsWith("gemini-pro-agent")?/^gemini-3-pro\b/.test(e)?{kind:"level",levels:["low","high"]}:e.includes("flash")?{kind:"level",levels:ii}:{kind:"level",levels:["low","medium","high"]}:/^gemini-2\.5/.test(e)?e.includes("pro")?{kind:"budget",min:128,max:32768}:{kind:"budget",min:0,max:24576}:{kind:"includeOnly"}:{kind:"includeOnly"}}function tD(t,e){let n=t.toLowerCase(),r=ii.filter(s=>e.includes(s));if(!r.length)return"high";if(n==="xhigh"||n==="max")return r[r.length-1];let o=ii.indexOf(n);return o<0?r[r.length-1]:r.find(s=>ii.indexOf(s)>=o)??r[r.length-1]}function nD(t,e){return Math.round(e*(t==="minimal"?.1:t==="low"?.25:t==="medium"?.5:1))}function rD(t,e,n){return Math.min(Math.max(t,e),n)}function tC(t){let e=t.reasoning,n=t.thinking?.type==="disabled";if(!e||n)return;let r=eD(t.model);if(r.kind==="none")return;let o=e.effort?.toLowerCase(),s=o==="none"||e.enabled===!1;if(r.kind==="includeOnly")return s?void 0:{includeThoughts:!0};if(r.kind==="level"){let f=ii.filter(d=>r.levels.includes(d));return s?{includeThoughts:!1,thinkingLevel:f[0]}:o?{includeThoughts:!0,thinkingLevel:tD(o,r.levels)}:{includeThoughts:!0}}if(s)return r.min===0?{includeThoughts:!1,thinkingBudget:0}:void 0;let i=e.max_tokens,c=typeof i=="number"?i:o?nD(o,r.max):void 0;if(typeof c!="number")return{includeThoughts:!0};let u=rD(c,r.min,r.max);if(t.max_tokens&&u>=t.max_tokens&&(u=t.max_tokens-1),u<r.min){if(r.requireMin)return;u=r.min}return{includeThoughts:!0,thinkingBudget:u}}var Hr=new Map,nC=(t,e)=>`${t||"default"}${e}`;function rC(t,e,n){if(!e||!n)return;let r=nC(t,e);for(Hr.delete(r),Hr.set(r,{signature:n,expiresAt:Date.now()+216e5});Hr.size>4096;){let o=Hr.keys().next();if(o.done)break;Hr.delete(o.value)}}function oC(t,e){if(!e)return;let n=nC(t,e),r=Hr.get(n);if(r){if(r.expiresAt<=Date.now()){Hr.delete(n);return}return r.signature}}function oD(t){return String(t||"").toLowerCase().replace(/^models\//,"").startsWith("claude")}var Do={TYPE_UNSPECIFIED:"TYPE_UNSPECIFIED",STRING:"STRING",NUMBER:"NUMBER",INTEGER:"INTEGER",BOOLEAN:"BOOLEAN",ARRAY:"ARRAY",OBJECT:"OBJECT",NULL:"NULL"};function sD(t,e){t.includes("null")&&(e.nullable=!0);let n=t.filter(r=>r!=="null");if(n.length===1){let r=n[0].toUpperCase();e.type=Object.values(Do).includes(r)?r:Do.TYPE_UNSPECIFIED}else{e.anyOf=[];for(let r of n){let o=r.toUpperCase();e.anyOf.push({type:Object.values(Do).includes(o)?o:Do.TYPE_UNSPECIFIED})}}}function ai(t){let e={},n=["items"],r=["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)&&sD(t.type,e);for(let[i,c]of Object.entries(t))if(c!=null)if(i=="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 u=String(c).toUpperCase();e.type=Object.values(Do).includes(u)?u:Do.TYPE_UNSPECIFIED}else if(n.includes(i))e[i]=ai(c);else if(r.includes(i)){let u=[];for(let f of Array.isArray(c)?c:[]){if(f.type=="null"){e.nullable=!0;continue}u.push(ai(f))}e[i]=u}else if(o.includes(i)){let u={};for(let[f,d]of Object.entries(c))u[f]=ai(d);e[i]=u}else{if(i==="additionalProperties")continue;e[i]=c}if(e.type==="ARRAY"&&!e.items&&(e.items={type:"STRING"}),Array.isArray(e.required)&&e.properties){let i=new Set(Object.keys(e.properties));e.required=e.required.filter(c=>i.has(c)),e.required.length===0&&delete e.required}return e}function iD(t,e){let n=r=>e?.collapseUnions?xo(r):r;if(t.functionDeclarations)for(let r of t.functionDeclarations){if(!r.parameters)r.parameters={type:"OBJECT",properties:{}};else{let o=yr(r.parameters);r.parameters=n(ai(o))}if(r.response){let o=yr(r.response);r.response=n(ai(o))}}return t}var iC="skip_thought_signature_validator";function sc(t,e){let n=[],r=t.tools||[],o=r.filter(C=>Ro(C).name!=="web_search").map(C=>{let{name:v,description:A,parameters:T}=Ro(C);return{name:Yb(v),description:A,parameters:T??{type:"object",properties:{}}}});o?.length&&n.push(iD({functionDeclarations:o},{collapseUnions:oD(t.model)})),r.find(C=>Ro(C).name==="web_search")&&n.push({googleSearch:{}});let i=[],c=t.messages||[],u=[],f=C=>{if(typeof C=="string")C&&u.push(C);else if(Array.isArray(C))for(let v of C)v?.type==="text"&&v.text?u.push(v.text):typeof v=="string"&&v&&u.push(v)};t.system&&f(t.system);for(let C of c)C.role==="system"&&f(C.content);let d=c.filter(C=>C.role==="tool"),p=c.filter(C=>C.role!=="tool"&&C.role!=="system"),h=e?.thoughtSignatureFallback!=="none";p.forEach(C=>{let v=Xa(C.role,{assistant:"model"}),A=[],T=C.thinking?.signature,x=T?.startsWith("ccr_")?void 0:T,O=$=>v==="model"&&($==="(no content)"||$.startsWith(Wf));if(x&&v==="model"&&A.push({thought:!0,text:C.thinking?.content||"",thoughtSignature:x}),typeof C.content=="string")C.content&&!O(C.content)&&A.push({text:C.content});else if(Array.isArray(C.content))C.content.forEach(H=>{if(H.type==="text"){let ce=H.text||"";ce&&!O(ce)&&A.push({text:ce})}}),Qa(C.content).forEach(H=>{A.push(ec(H,"gemini"))});else if(C.content&&typeof C.content=="object")if(C.content.text){let $=C.content.text;O($)||A.push({text:$})}else A.push({text:JSON.stringify(C.content)});let q=Array.isArray(C.tool_calls)?C.tool_calls.map(($,H)=>{let ce=$.id||`tool_${Math.random().toString(36).substring(2,15)}`,X=$.thought_signature||oC(e?.signatureScope,ce);return!X&&H===0&&(X=x||(h?iC:void 0)),{toolCall:$,id:ce,signature:X}}):[];if(q.length>0&&A.push(...q.map(({toolCall:$,id:H,signature:ce})=>({functionCall:{id:H,name:$.function.name,args:JSON.parse($.function.arguments||"{}")},...ce&&{thoughtSignature:ce}}))),A.length===0&&A.push({text:""}),i.push({role:v,parts:A}),v==="model"&&q.length>0){let $=q.map(({toolCall:H,id:ce})=>{let te=d.find(Z=>Z.tool_call_id===H.id)?.content;return Array.isArray(te)?te=te.filter(Z=>Z.type==="text").map(Z=>Z.text).join(`
|
|
213
|
-
`):typeof
|
|
224
|
+
`)),x=-1}if(!A){let Ce={stop:"end_turn",length:"max_tokens",tool_calls:"tool_use",content_filter:"stop_sequence",model_context_window_exceeded:"model_context_window_exceeded"}[ie.finish_reason]||"end_turn";m.size>0&&Ce==="end_turn"&&(Ce="tool_use"),d={type:"message_delta",delta:{stop_reason:Ce,stop_sequence:null},usage:Sc(Q.usage)}}break}}catch(Q){this.logger?.error(`parseError: ${Q.name} message: ${Q.message} stack: ${Q.stack} data: ${te}`)}}}z()}catch(ee){ce(ee)}finally{if(r===X&&(r=null),X)try{X.releaseLock()}catch(ee){this.logger?.error(ee)}}},cancel:async i=>{o?.();let a=r;r=null,a&&await a.cancel(i).catch(()=>{}),this.logger.debug({reqId:n.req.id},`cancel stream: ${i}`)}})}convertOpenAIResponseToAnthropic(e,n){this.logger.debug({reqId:n.req.id,response:e},"Original OpenAI response");try{let r=e.choices[0];if(!r)throw new Error("No choices found in OpenAI response");let o=[];if(r.message?.thinking?.content&&o.push({type:"thinking",thinking:r.message.thinking.content,signature:r.message.thinking.signature}),r.message.annotations){let a=`srvtoolu_${fn()}`;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:r.message.annotations.map(u=>({type:"web_search_result",url:u.url_citation.url,title:u.url_citation.title}))})}r.message.content&&o.push({type:"text",text:r.message.content}),r.message.tool_calls&&r.message.tool_calls.length>0&&r.message.tool_calls.forEach(a=>{if(!("function"in a)||!a.function)return;let u={};try{let d=a.function.arguments||"{}";typeof d=="object"?u=d:typeof d=="string"&&(u=JSON.parse(d))}catch{u={text:a.function.arguments||""}}o.push({type:"tool_use",id:$n(a.id)??a.id,name:a.function.name,input:u})});let s=String(r.finish_reason||""),i={id:e.id,type:"message",role:"assistant",model:e.model,content:o,stop_reason:r.finish_reason==="stop"?"end_turn":s==="length"?"max_tokens":s==="tool_calls"?"tool_use":s==="content_filter"?"stop_sequence":s==="model_context_window_exceeded"?"model_context_window_exceeded":"end_turn",stop_sequence:null,usage:{...Sc(e.usage),...r.message.annotations?.length?{server_tool_use:{web_search_requests:r.message.annotations.length}}:{}}};return this.logger.debug({reqId:n.req.id,result:i},"Conversion complete, final Anthropic response"),i}catch{throw W(`Provider error: ${JSON.stringify(e)}`,500,"provider_error")}}};var KD=new Set(["type","format","title","description","nullable","enum","maxItems","minItems","properties","required","minProperties","maxProperties","minLength","maxLength","pattern","example","anyOf","propertyOrdering","default","items","minimum","maximum","additionalProperties","allOf","oneOf"]);function kr(t,e){if(!t||typeof t!="object")return t;if(Array.isArray(t))return t.map(r=>kr(r,e));let n={};for(let r in t){if(e!=="properties"&&!KD.has(r))continue;let o=t[r];if(!(r==="enum"&&t.type&&t.type!=="string")&&!(r==="format"&&t.type==="string"&&o&&!["enum","date-time"].includes(o))&&!(r==="format"&&o==="uri")&&r!=="$schema")if(r==="properties"&&typeof o=="object"&&!Array.isArray(o)){let s={};for(let i in o)s[i]=kr(o[i]);n[r]=s}else r==="items"?n[r]=kr(o,r):["anyOf","allOf","oneOf"].includes(r)&&Array.isArray(o)?n[r]=o.map(s=>kr(s,r)):n[r]=o}if(Array.isArray(n.required)&&n.properties){let r=new Set(Object.keys(n.properties));n.required=n.required.filter(o=>r.has(o)),n.required.length===0&&delete n.required}return n}function jo(t){if(!t||typeof t!="object")return t;if(Array.isArray(t))return t.map(jo);let e={};for(let p in t){let b=t[p];if(p==="properties"&&b&&typeof b=="object"){let C={};for(let m in b)C[m]=jo(b[m]);e[p]=C}else p==="items"?e[p]=jo(b):["anyOf","allOf","oneOf"].includes(p)&&Array.isArray(b)?e[p]=b.map(jo):e[p]=b}let n=e.anyOf||e.oneOf;if(!Array.isArray(n)||e.type)return e;let r=n.filter(p=>p&&typeof p=="object"),o=r.find(p=>p.type)||r[0];if(!o)return e;let{anyOf:s,oneOf:i,description:a,...u}=e,d=[...new Set(r.filter(p=>p!==o).map(p=>String(p.description||p.type||"").split(" (alternatives:")[0]).filter(Boolean))],f={...o,...u},h=[a,o.description,...d].filter(Boolean);return h.length&&(f.description=d.length?`${h[0]} (alternatives: ${d.join("; ")})`:h[0]),f}function Ac(t){return!t||typeof t!="object"?t:kr(t)}var hi=["minimal","low","medium","high"];function VD(t){return String(t||"").toLowerCase().replace(/^models\//,"")}function YD(t){let e=VD(t);return e?e.includes("-image")||e.includes("imagen")?{kind:"none"}:e.startsWith("claude")?{kind:"budget",min:1024,max:64e3,requireMin:!0}:/^gemini-3(\.\d+)?\b/.test(e)||e.startsWith("gemini-pro-agent")?/^gemini-3-pro\b/.test(e)?{kind:"level",levels:["low","high"]}:e.includes("flash")?{kind:"level",levels:hi}:{kind:"level",levels:["low","medium","high"]}:/^gemini-2\.5/.test(e)?e.includes("pro")?{kind:"budget",min:128,max:32768}:{kind:"budget",min:0,max:24576}:{kind:"includeOnly"}:{kind:"includeOnly"}}function XD(t,e){let n=t.toLowerCase(),r=hi.filter(s=>e.includes(s));if(!r.length)return"high";if(n==="xhigh"||n==="max"||n==="ultra")return r[r.length-1];let o=hi.indexOf(n);return o<0?r[r.length-1]:r.find(s=>hi.indexOf(s)>=o)??r[r.length-1]}function QD(t,e){return Math.round(e*(t==="minimal"?.1:t==="low"?.25:t==="medium"?.5:1))}function ZD(t,e,n){return Math.min(Math.max(t,e),n)}function qC(t){let e=t.reasoning,n=t.thinking?.type==="disabled";if(!e||n)return;let r=YD(t.model);if(r.kind==="none")return;let o=e.effort?.toLowerCase(),s=o==="none"||e.enabled===!1;if(r.kind==="includeOnly")return s?void 0:{includeThoughts:!0};if(r.kind==="level"){let d=hi.filter(f=>r.levels.includes(f));return s?{includeThoughts:!1,thinkingLevel:d[0]}:o?{includeThoughts:!0,thinkingLevel:XD(o,r.levels)}:{includeThoughts:!0}}if(s)return r.min===0?{includeThoughts:!1,thinkingBudget:0}:void 0;let i=e.max_tokens,a=typeof i=="number"?i:o?QD(o,r.max):void 0;if(typeof a!="number")return{includeThoughts:!0};let u=ZD(a,r.min,r.max);if(t.max_tokens&&u>=t.max_tokens&&(u=t.max_tokens-1),u<r.min){if(r.requireMin)return;u=r.min}return{includeThoughts:!0,thinkingBudget:u}}var Xr=new Map,$C=(t,e)=>`${t||"default"}${e}`;function zC(t,e,n){if(!e||!n)return;let r=$C(t,e);for(Xr.delete(r),Xr.set(r,{signature:n,expiresAt:Date.now()+216e5});Xr.size>4096;){let o=Xr.keys().next();if(o.done)break;Xr.delete(o.value)}}function HC(t,e){if(!e)return;let n=$C(t,e),r=Xr.get(n);if(r){if(r.expiresAt<=Date.now()){Xr.delete(n);return}return r.signature}}function eO(t){return String(t||"").toLowerCase().replace(/^models\//,"").startsWith("claude")}var Lo={TYPE_UNSPECIFIED:"TYPE_UNSPECIFIED",STRING:"STRING",NUMBER:"NUMBER",INTEGER:"INTEGER",BOOLEAN:"BOOLEAN",ARRAY:"ARRAY",OBJECT:"OBJECT",NULL:"NULL"};function tO(t,e){t.includes("null")&&(e.nullable=!0);let n=t.filter(r=>r!=="null");if(n.length===1){let r=n[0].toUpperCase();e.type=Object.values(Lo).includes(r)?r:Lo.TYPE_UNSPECIFIED}else{e.anyOf=[];for(let r of n){let o=r.toUpperCase();e.anyOf.push({type:Object.values(Lo).includes(o)?o:Lo.TYPE_UNSPECIFIED})}}}function mi(t){let e={},n=["items"],r=["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)&&tO(t.type,e);for(let[i,a]of Object.entries(t))if(a!=null)if(i=="type"){if(a==="null")throw new Error("type: null can not be the only possible type for the field.");if(Array.isArray(a))continue;let u=String(a).toUpperCase();e.type=Object.values(Lo).includes(u)?u:Lo.TYPE_UNSPECIFIED}else if(n.includes(i))e[i]=mi(a);else if(r.includes(i)){let u=[];for(let d of Array.isArray(a)?a:[]){if(d.type=="null"){e.nullable=!0;continue}u.push(mi(d))}e[i]=u}else if(o.includes(i)){let u={};for(let[d,f]of Object.entries(a))u[d]=mi(f);e[i]=u}else{if(i==="additionalProperties")continue;e[i]=a}if(e.type==="ARRAY"&&!e.items&&(e.items={type:"STRING"}),Array.isArray(e.required)&&e.properties){let i=new Set(Object.keys(e.properties));e.required=e.required.filter(a=>i.has(a)),e.required.length===0&&delete e.required}return e}function nO(t,e){let n=r=>e?.collapseUnions?jo(r):r;if(t.functionDeclarations)for(let r of t.functionDeclarations){if(!r.parameters)r.parameters={type:"OBJECT",properties:{}};else{let o=kr(r.parameters);r.parameters=n(mi(o))}if(r.response){let o=kr(r.response);r.response=n(mi(o))}}return t}var GC="skip_thought_signature_validator";function vc(t,e){let n=[],r=t.tools||[],o=r.filter(_=>Uo(_).name!=="web_search").map(_=>{let{name:A,description:S,parameters:T}=Uo(_);return{name:vC(A),description:S,parameters:T??{type:"object",properties:{}}}});o?.length&&n.push(nO({functionDeclarations:o},{collapseUnions:eO(t.model)})),r.find(_=>Uo(_).name==="web_search")&&n.push({googleSearch:{}});let i=[],a=t.messages||[],u=[],d=_=>{if(typeof _=="string")_&&u.push(_);else if(Array.isArray(_))for(let A of _)A?.type==="text"&&A.text?u.push(A.text):typeof A=="string"&&A&&u.push(A)};t.system&&d(t.system);for(let _ of a)_.role==="system"&&d(_.content);let f=a.filter(_=>_.role==="tool"),h=a.filter(_=>_.role!=="tool"&&_.role!=="system"),p=e?.thoughtSignatureFallback!=="none";h.forEach(_=>{let A=gc(_.role,{assistant:"model"}),S=[],T=_.thinking?.signature,x=T?.startsWith("ccr_")?void 0:T,O=$=>A==="model"&&($==="(no content)"||$.startsWith(hp));if(x&&A==="model"&&S.push({thought:!0,text:_.thinking?.content||"",thoughtSignature:x}),typeof _.content=="string")_.content&&!O(_.content)&&S.push({text:_.content});else if(Array.isArray(_.content))_.content.forEach(z=>{if(z.type==="text"){let ce=z.text||"";ce&&!O(ce)&&S.push({text:ce})}}),yc(_.content).forEach(z=>{S.push(bc(z,"gemini"))});else if(_.content&&typeof _.content=="object")if(_.content.text){let $=_.content.text;O($)||S.push({text:$})}else S.push({text:JSON.stringify(_.content)});let q=Array.isArray(_.tool_calls)?_.tool_calls.map(($,z)=>{let ce=$.id||`tool_${Math.random().toString(36).substring(2,15)}`,X=$.thought_signature||HC(e?.signatureScope,ce);return!X&&z===0&&(X=x||(p?GC:void 0)),{toolCall:$,id:ce,signature:X}}):[];if(q.length>0&&S.push(...q.map(({toolCall:$,id:z,signature:ce})=>({functionCall:{id:z,name:$.function.name,args:JSON.parse($.function.arguments||"{}")},...ce&&{thoughtSignature:ce}}))),S.length===0&&S.push({text:""}),i.push({role:A,parts:S}),A==="model"&&q.length>0){let $=q.map(({toolCall:z,id:ce})=>{let ee=f.find(Z=>Z.tool_call_id===z.id)?.content;return Array.isArray(ee)?ee=ee.filter(Z=>Z.type==="text").map(Z=>Z.text).join(`
|
|
225
|
+
`):typeof ee=="object"&&ee!==null&&(ee=JSON.stringify(ee)),{functionResponse:{id:ce,name:z?.function?.name,response:{result:ee}}}});i.push({role:"user",parts:$})}});let b=_c(i,"parts"),C={},m=qC(t);m&&(C.thinkingConfig=m),t.max_tokens&&(C.maxOutputTokens=t.max_tokens),t.temperature!==void 0&&(C.temperature=t.temperature);let w={contents:b.length?b:[{role:"user",parts:[{text:""}]}],tools:n.length?n:void 0,generationConfig:C};if(u.length&&(w.systemInstruction={parts:[{text:u.join(`
|
|
214
226
|
|
|
215
|
-
`)}]}),t.tool_choice){let
|
|
216
|
-
`)||"",
|
|
227
|
+
`)}]}),t.tool_choice){let _={functionCallingConfig:{}};t.tool_choice==="auto"?_.functionCallingConfig.mode="auto":t.tool_choice==="none"?_.functionCallingConfig.mode="none":t.tool_choice==="required"?_.functionCallingConfig.mode="any":typeof t.tool_choice=="object"&&t.tool_choice.function?.name&&(_.functionCallingConfig.mode="any",_.functionCallingConfig.allowedFunctionNames=[t.tool_choice.function.name]),w.toolConfig=_}return w}function Tc(t){let e=t.contents,n=t.tools,r=t.model,o=t.max_tokens,s=t.temperature,i=t.stream,a=t.tool_choice,u={messages:[],model:r,max_tokens:o,temperature:s,stream:i,tool_choice:a};return Array.isArray(e)&&e.forEach(d=>{typeof d=="string"?u.messages.push({role:"user",content:d}):typeof d.text=="string"?u.messages.push({role:"user",content:d.text||null}):d.role==="user"?u.messages.push({role:"user",content:d?.parts?.map(f=>({type:"text",text:f.text||""}))||[]}):d.role==="model"&&u.messages.push({role:"assistant",content:d?.parts?.map(f=>({type:"text",text:f.text||""}))||[]})}),Array.isArray(n)&&(u.tools=[],n.forEach(d=>{let f=d.functionDeclarations;Array.isArray(f)&&f.forEach(h=>{u.tools.push({type:"function",function:{name:h.name,description:h.description,parameters:h.parameters}})})})),u}function WC(t,e){e.forEach(n=>{let r=n.thought_signature;!r||r===GC||r.startsWith("ccr_")||zC(t,n.id,r)})}async function Rc(t,e,n,r){let o=r||e;if(t.headers.get("Content-Type")?.includes("application/json")){let s=await t.json();if(n?.debug({response:s},`${e} response:`),t.status>=400){let A=(s.error?.message||"").toLowerCase();if(["user input too long","input too long","prompt is too long","exceeds the token limit","request payload size exceeds","context_length_exceeded"].some(T=>A.includes(T))){let T={id:`ctxexceeded_${Date.now()}`,choices:[{finish_reason:"model_context_window_exceeded",index:0,message:{content:"",role:"assistant"}}],created:Math.floor(Date.now()/1e3),model:"",object:"chat.completion",usage:{completion_tokens:0,prompt_tokens:0,total_tokens:0}};return new Response(JSON.stringify(T),{status:200,headers:{"Content-Type":"application/json"}})}return new Response(JSON.stringify(s),{status:t.status,statusText:t.statusText,headers:t.headers})}if(!s.candidates||s.candidates.length===0)return new Response(JSON.stringify(s),{status:t.status,statusText:t.statusText,headers:t.headers});let i="",a,u=s.candidates[0]?.content?.parts||[],d=[];for(let _ of u)_.text&&_.thought===!0?i+=fi(_.text):d.push(_);a=u.find(_=>_.thoughtSignature)?.thoughtSignature,i&&!a&&(a=`ccr_${+new Date}`);let f=d?.filter(_=>_.functionCall)?.map(_=>({id:_.functionCall?.id||`tool_${Math.random().toString(36).substring(2,15)}`,type:"function",function:{name:_.functionCall?.name,arguments:JSON.stringify(_.functionCall?.args||{})},thought_signature:_.thoughtSignature||_.thought_signature||void 0}))||[];a&&f.length>0&&!f[0].thought_signature&&(f[0].thought_signature=a),WC(o,f);let h=d?.filter(_=>_.text)?.map(_=>fi(_.text||""))?.join(`
|
|
228
|
+
`)||"",p=s.candidates[0],b=h&&h!=="(no content)"?h:"",C=!b&&f.length===0?mp(p):null,m=di(p?.finishReason),w={id:s.responseId,choices:[{finish_reason:f.length>0?"tool_calls":m,index:0,message:{content:C||b,role:"assistant",tool_calls:f.length>0?f:void 0,...a&&i&&{thinking:{content:i,signature:a}}}}],created:parseInt(new Date().getTime()/1e3+"",10),model:s.modelVersion,object:"chat.completion",usage:{completion_tokens:s.usageMetadata?.candidatesTokenCount||0,prompt_tokens:s.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:s.usageMetadata?.cachedContentTokenCount||0},total_tokens:s.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:s.usageMetadata?.thoughtsTokenCount||0}}};return new Response(JSON.stringify(w),{status:t.status,statusText:t.statusText,headers:t.headers})}else if(t.headers.get("Content-Type")?.includes("stream")){if(!t.body)return t;let s=0,i=-1,a=null,u=null,d=null,f=(w,_)=>{w.controller.enqueue(w.encoder.encode(`data: ${JSON.stringify(_)}
|
|
217
229
|
|
|
218
|
-
`))},
|
|
219
|
-
`),$=x.find(X=>X.thoughtSignature)?.thoughtSignature;$&&O.length>0&&!O[0].thought_signature&&(O[0].thought_signature=$),
|
|
230
|
+
`))},h=w=>({completion_tokens:w?.usageMetadata?.candidatesTokenCount||0,prompt_tokens:w?.usageMetadata?.promptTokenCount||0,prompt_tokens_details:{cached_tokens:w?.usageMetadata?.cachedContentTokenCount||0},total_tokens:w?.usageMetadata?.totalTokenCount||0,output_tokens_details:{reasoning_tokens:w?.usageMetadata?.thoughtsTokenCount||0}}),p=w=>w?.groundingMetadata?.groundingChunks?.map((_,A)=>{let S=w?.groundingMetadata?.groundingSupports?.filter(T=>T.groundingChunkIndices?.includes(A));return{type:"url_citation",url_citation:{url:_?.web?.uri||"",title:_?.web?.title||"",content:S?.[0]?.segment?.text||"",start_index:S?.[0]?.segment?.startIndex||0,end_index:S?.[0]?.segment?.endIndex||0}}})||[],b=(w,_,A)=>{let S=A?.mode||"direct";S==="direct"&&s++;let T={choices:[{delta:{role:"assistant",content:_},finish_reason:A?.finishReason??(S==="direct"||S==="finish"?di(A?.candidate?.finishReason):null),index:s,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:A?.chunk?.responseId||"",model:A?.chunk?.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"};if(S==="direct"||S==="finish"){T.usage=h(A?.chunk);let x=p(A?.candidate);x.length>0&&(T.choices[0].delta.annotations=x)}f(w,T)},C=new mc({thinking:(w,_)=>{a&&f(a,{choices:[{delta:{role:"assistant",content:null,thinking:{content:w}},finish_reason:null,index:s,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:_?.responseId||"",model:_?.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"})},signature:(w,_)=>{a&&f(a,{choices:[{delta:{role:"assistant",content:null,thinking:{signature:w}},finish_reason:null,index:s,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:_?.responseId||"",model:_?.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1"})},content:(w,_)=>{a&&b(a,w,_)}});return Pe(t,(w,_)=>{if(a=_,w.startsWith("data: ")){let A=w.slice(6).trim();if(A){n?.debug({chunkStr:A},`${e} chunk:`);try{let S=JSON.parse(A);if(!S.candidates||!S.candidates[0]){n?.debug({chunkStr:A},"Invalid chunk structure");return}let T=S.candidates[0];u=S,d=T;let x=T.content?.parts||[];x.filter(X=>X.text&&X.thought===!0).forEach(X=>{C.processThinking(fi(X.text),S)});let O=x.filter(X=>X.functionCall).map(X=>({id:X.functionCall?.id||`ccr_tool_${Math.random().toString(36).substring(2,15)}`,type:"function",function:{name:X.functionCall?.name,arguments:JSON.stringify(X.functionCall?.args||{})},thought_signature:X.thoughtSignature||X.thought_signature||void 0})),q=x.filter(X=>X.text&&X.thought!==!0).map(X=>fi(X.text||"")).join(`
|
|
231
|
+
`),$=x.find(X=>X.thoughtSignature)?.thoughtSignature;$&&O.length>0&&!O[0].thought_signature&&(O[0].thought_signature=$),WC(o,O);let z=!!(q&&q!=="(no content)")||O.length>0||!!T.finishReason;if(q&&q!=="(no content)"&&S.modelVersion?.includes("3")&&C.shouldDeferContent(!!T.finishReason,O.length>0))C.bufferContent(q);else if(q&&q!=="(no content)"){if(C.hasThinkingContent&&!C.signatureSent&&z&&!$){let X=C.hasBufferedContent;C.processSignatureWithMeta(`ccr_${+new Date}`,S,{beforeFlush:X?()=>{s++}:void 0,flushMeta:X?{chunk:S,candidate:T,mode:"buffered",finishReason:null}:void 0})}C.processContent(q,S,T)}$&&(O.length>0&&!C.hasThinkingContent&&!q&&!C.contentSent?C.acknowledgeSignature():C.processSignatureWithMeta($,S,{beforeFlush:()=>{s++},flushMeta:{chunk:S,candidate:T,mode:"buffered"}}));let ce=i<0&&O.length===0&&!q?mp(T):null;if(!q&&O.length===0&&i<0&&T.finishReason&&!ce&&C.needsContentPlaceholder&&C.emitContentPlaceholder("(no content)",{chunk:S,candidate:T}),!$&&!q&&C.hasThinkingContent&&!C.signatureSent&&z){let X=C.hasBufferedContent;C.processSignatureWithMeta(`ccr_${+new Date}`,S,{beforeFlush:X?()=>{s++}:void 0,flushMeta:X?{chunk:S,candidate:T,mode:"buffered",finishReason:null}:void 0})}if(q&&S.modelVersion?.includes("3")&&C.hasBufferedContent&&!$&&O.length===0&&!T.finishReason)return;O.length>0&&O.forEach((X,ee)=>{s++,i++;let Z=T.finishReason!=null&&ee===O.length-1?"tool_calls":null,xe={choices:[{delta:{role:"assistant",tool_calls:[{...X,index:i}]},finish_reason:Z,index:s,logprobs:null}],created:parseInt(new Date().getTime()/1e3+"",10),id:S.responseId||"",model:S.modelVersion||"",object:"chat.completion.chunk",system_fingerprint:"fp_a49d71b8a1",usage:h(S)},$e=p(T);$e.length>0&&(xe.choices[0].delta.annotations=$e),f(_,xe)}),T.finishReason&&(C.hasBufferedContent?C.finalize(S,T,{beforeFlush:()=>{C.signatureSent||s++}}):!q&&O.length===0&&(s++,b(_,ce||"",{chunk:S,candidate:T,mode:"finish",...i>=0?{finishReason:"tool_calls"}:{}})))}catch(S){n?.error(`Error parsing ${e} stream chunk`,A,S.message)}}}},{onComplete:w=>{a=w,(C.hasBufferedContent||C.hasThinkingContent&&!C.signatureSent)&&C.finalize(u||void 0,d||void 0,{beforeFlush:()=>{C.signatureSent||s++}})}})}return t}import{createHash as rO}from"crypto";var oO=15e3,sO=256,Hn=new Map,xp=new Map;function JC(t){return rO("sha256").update(JSON.stringify(t)).digest("hex").slice(0,48)}function iO(t){return t.toLowerCase().includes("gemini-2.5")?2048:4096}function aO(t){return Math.floor(JSON.stringify(t).length/4)}function cO(t){return Object.fromEntries(["systemInstruction","tools","toolConfig"].filter(e=>t[e]!==void 0).map(e=>[e,t[e]]))}function KC(t,e){let n={...t,cachedContent:e};return delete n.systemInstruction,delete n.tools,delete n.toolConfig,n}function xc(t,e){let n=Date.now();for(let[r,o]of Hn)o.expiresAt<=n&&Hn.delete(r);for(Hn.delete(t),Hn.set(t,e);Hn.size>sO;){let r=Hn.keys().next().value;if(r===void 0)break;Hn.delete(r)}}async function Dc(t){let{body:e,modelResource:n,createUrl:r,headers:o}=t,s=cO(e);if(Object.keys(s).length===0||aO(s)<iO(n))return e;let i=JC(o),a=[String(r),i,n,JC(s)].join(":"),u=Date.now(),d=Hn.get(a);if(d&&d.expiresAt>u)return d.name?KC(e,d.name):e;d&&Hn.delete(a);let f=3600,h={model:n,...s,ttl:`${f}s`},p=xp.get(a);p||(p=(async()=>{try{let C=await fetch(r,{method:"POST",headers:Object.fromEntries(Object.entries({"Content-Type":"application/json",...o}).filter(([,w])=>w!==void 0)),body:JSON.stringify(h),signal:AbortSignal.timeout(oO)});if(!C.ok){t.logger?.debug?.({status:C.status},"Gemini cached-content create failed; using implicit cache"),xc(a,{expiresAt:Date.now()+300*1e3});return}let m=await C.json();if(!m?.name){t.logger?.debug?.("Gemini cached-content response had no resource name; using implicit cache"),xc(a,{expiresAt:Date.now()+300*1e3});return}return xc(a,{name:m.name,expiresAt:Date.now()+(f-30)*1e3}),m.name}catch(C){t.logger?.debug?.({error:C?.message||String(C)},"Gemini cached-content create errored; using implicit cache"),xc(a,{expiresAt:Date.now()+300*1e3});return}finally{xp.delete(a)}})(),xp.set(a,p));let b=await p;return b?KC(e,b):e}var Oc=class{constructor(e){this.options=e;this.cachedContent=e?.cachedContent!==!1,this.thoughtSignatureFallback=e?.thoughtSignatureFallback==="none"?"none":"skip"}options;static TransformerName="gemini";logger;name="gemini";endPoint="/v1beta/models/:modelAndAction";cachedContent;thoughtSignatureFallback;async transformRequestIn(e,n,r){let o=e.model||(typeof r?.req?.model=="string"?r.req.model:Array.isArray(r?.req?.model)?r.req.model.join(","):"")||n.models?.[0]||"",s=vc(e,{thoughtSignatureFallback:this.thoughtSignatureFallback,signatureScope:n?.name||this.name});return{body:this.cachedContent?await Dc({body:s,modelResource:o.startsWith("models/")?o:`models/${o}`,createUrl:new URL("../cachedContents",n.baseUrl),headers:{"x-goog-api-key":n.apiKey,Authorization:void 0},logger:this.logger}):s,config:{url:new URL(`./${o}:${e.stream?"streamGenerateContent?alt=sse":"generateContent"}`,n.baseUrl),headers:{"x-goog-api-key":n.apiKey,Authorization:void 0}}}}async transformRequestOut(e){return Tc(e)}async transformResponseOut(e,n){return Rc(e,this.name,this.logger,n?.provider?.name||this.name)}};async function gM(t){try{let{GoogleAuth:e}=await Promise.resolve().then(()=>Bn(dl(),1));return(await(await new e({scopes:["https://www.googleapis.com/auth/cloud-platform"]}).getClient()).getAccessToken()).token||""}catch(e){throw(t?.error??console.error)("Error getting access token:",e),new Error(`Failed to get access token for Vertex AI. Please ensure you have set up authentication using one of these methods:
|
|
220
232
|
1. Set GOOGLE_APPLICATION_CREDENTIALS to point to service account key file
|
|
221
233
|
2. Run "gcloud auth application-default login"
|
|
222
|
-
3. Use Google Cloud environment with default service account`,{cause:e})}}var Wu=class{static TransformerName="vertex-gemini";logger;name="vertex-gemini";thoughtSignatureFallback;constructor(e){this.thoughtSignatureFallback=e?.thoughtSignatureFallback==="none"?"none":"skip"}async transformRequestIn(e,n,r){let o=process.env.GOOGLE_CLOUD_PROJECT,s=process.env.GOOGLE_CLOUD_LOCATION||"us-central1";if(!o&&process.env.GOOGLE_APPLICATION_CREDENTIALS)try{let h=(await import("fs")).readFileSync(process.env.GOOGLE_APPLICATION_CREDENTIALS,"utf8"),_=JSON.parse(h);_&&_.project_id&&(o=_.project_id)}catch(p){this.logger?.error("Error extracting project_id from GOOGLE_APPLICATION_CREDENTIALS:",p)}if(!o)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 i=await CN(this.logger),c=e.model||n.models?.[0]||"",u=n.baseUrl.endsWith("/")?n.baseUrl:n.baseUrl+"/"||`https://${s}-aiplatform.googleapis.com`,f=`projects/${o}/locations/${s}/publishers/google/models/${c}`;return{body:await uc({body:sc(e,{thoughtSignatureFallback:this.thoughtSignatureFallback,signatureScope:n?.name||this.name}),modelResource:f,createUrl:new URL(`./v1beta1/projects/${o}/locations/${s}/cachedContents`,u),headers:{Authorization:`Bearer ${i}`,"x-goog-api-key":void 0},logger:this.logger}),config:{url:new URL(`./v1beta1/${f}:${e.stream?"streamGenerateContent":"generateContent"}`,u),headers:{Authorization:`Bearer ${i}`,"x-goog-api-key":void 0}}}}async transformRequestOut(e){return ic(e)}async transformResponseOut(e,n){return ac(e,this.name,this.logger,n?.provider?.name||this.name)}};function Gu(){return{content:"",isComplete:!1,hasContent:!1}}function Ju(t,e){t.content+=e,t.hasContent=!0}function Vu(t){return t.isComplete=!0,{content:t.content,signature:Date.now().toString()}}function Tr(t,e){return{...t,choices:[{...t.choices?.[0]||{},delta:{...t.choices?.[0]?.delta||{},content:null,thinking:e}}]}}function as(t){if(t.reasoning_content){let e=t.reasoning_content;return typeof e=="string"?e:typeof e?.text=="string"?e.text:null}if(t.reasoning){let e=t.reasoning;return typeof e=="string"?e:null}return null}function Rr(t){delete t.reasoning_content,delete t.reasoning}import{createHash as wN}from"node:crypto";var DE=360*60*1e3,kN=4096,Pm="__ccrDeepseekReasoning",Im=class{cache=new Map;get(e){let n=this.cache.get(e);if(n){if(Date.now()-n.createdAt>DE){this.cache.delete(e);return}return this.cache.delete(e),this.cache.set(e,n),n.reasoning}}put(e,n){n&&(this.cache.delete(e),this.cache.set(e,{reasoning:n,createdAt:Date.now()}),this.prune())}prune(){for(let[e,n]of this.cache)Date.now()-n.createdAt>DE&&this.cache.delete(e);for(;this.cache.size>kN;){let e=this.cache.keys().next().value;if(!e)break;this.cache.delete(e)}}},Ku=new Im;function Fm(t){return Array.isArray(t)?t.map(Fm):t&&typeof t=="object"?Object.keys(t).sort().reduce((e,n)=>(e[n]=Fm(t[n]),e),{}):t}function ro(t){return JSON.stringify(Fm(t))}function Yu(t){return wN("sha256").update(t).digest("hex")}function PE(t){return typeof t=="string"?t:t==null?"":Array.isArray(t)?t.map(e=>typeof e=="string"?e:e&&typeof e=="object"&&"text"in e?String(e.text||""):ro(e)).join(""):ro(t)}function Nm(t){let e=t.function??{},n=typeof e.arguments=="string"?e.arguments:ro(e.arguments??"");return{id:t.id||"",type:t.type||"function",function:{name:e.name||"",arguments:n}}}function IE(t){return(t.tool_calls||[]).map(e=>e.id).filter(e=>typeof e=="string"&&e.length>0)}function FE(t){let e=Nm(t);return Yu(ro({...e,id:void 0}))}function NE(t){return Yu(ro({content:PE(t.content),tool_calls:(t.tool_calls||[]).map(e=>Nm(e))}))}function SN(t){let e={role:t.role,content:PE(t.content)};return t.name&&(e.name=t.name),t.tool_call_id&&(e.tool_call_id=t.tool_call_id),t.tool_calls?.length&&(e.tool_calls=t.tool_calls.map(n=>Nm(n))),e}function OE(t,e){let n=t.filter(r=>r.role!=="system").map(r=>SN(r));return Yu(ro({namespace:e,messages:n}))}function EN(t){if(typeof t.reasoning_content=="string"&&t.reasoning_content.length>0)return t.reasoning_content;if(typeof t.thinking?.content=="string"&&t.thinking.content.length>0)return t.thinking.content}function ME(t,e){if(t.role!=="assistant")return 0;let n=EN(t);if(!n)return 0;let r=[`scope:${e}:signature:${NE(t)}`];return r.push(...IE(t).map(o=>`scope:${e}:tool_call:${o}`)),r.push(...(t.tool_calls||[]).map(o=>`scope:${e}:tool_call_signature:${FE(o)}`)),r.forEach(o=>Ku.put(o,n)),r.length}function vN(t,e){let n=Ku.get(`scope:${e}:signature:${NE(t)}`);if(n)return n;for(let r of IE(t)){let o=Ku.get(`scope:${e}:tool_call:${r}`);if(o)return o}for(let r of t.tool_calls||[]){let o=Ku.get(`scope:${e}:tool_call_signature:${FE(r)}`);if(o)return o}}function AN(t,e){if(t.tool_calls?.length)return!0;for(let n=e.length-1;n>=0;n--){let r=e[n];if(r.role==="tool")return!0;if(r.role==="user"||r.role==="system")return!1}return!1}function TN(t,e){let n=String(t.model||"").toLowerCase(),r=String(e?.name||"").toLowerCase(),o=String(e?.baseUrl||"").toLowerCase(),s=n.includes("deepseek")||r.includes("deepseek")||o.includes("deepseek"),i=t.enable_thinking===!0||t.thinking?.type==="enabled"||t.reasoning?.enabled===!0||typeof t.reasoning?.effort=="string"||typeof t.reasoning?.max_tokens=="number";return s&&i}function RN(t,e){return Yu(ro({provider:e?.name||"",baseUrl:e?.baseUrl||"",model:t.model||"",thinking:t.thinking||null,enable_thinking:t.enable_thinking||!1,reasoning:t.reasoning||null}))}function Xu(t,e,n){if(!TN(t,e))return n?.req&&delete n.req[Pm],{restoredFromCache:0,restoredFromThinking:0};let r=RN(t,e),o=[],s=0,i=0;for(let c of t.messages){if(c.role==="assistant"){let u=OE(o,r);if(AN(c,o)&&!(typeof c.reasoning_content=="string"&&c.reasoning_content.length>0?c.reasoning_content:void 0)){let p=typeof c.thinking?.content=="string"&&c.thinking.content.length>0?c.thinking.content:void 0;if(p)c.reasoning_content=p,i++;else{let h=vN(c,u);h&&(c.reasoning_content=h,s++)}}ME(c,u)}o.push(c)}return n?.req&&(n.req[Pm]={enabled:!0,namespace:r,requestScope:OE(t.messages,r)}),{restoredFromCache:s,restoredFromThinking:i}}function BE(t){return t?.req?.[Pm]}function Qu(t){return BE(t)?.enabled===!0}function cs(t,e){if(!t)return 0;let n=BE(e);return n?ME(t,n.requestScope):0}function Zu(){return{content:"",reasoning:"",toolCalls:new Map}}function us(t,e){e&&(typeof e.reasoning_content=="string"&&(t.reasoning+=e.reasoning_content),typeof e.content=="string"&&(t.content+=e.content),Array.isArray(e.tool_calls)&&e.tool_calls.forEach((n,r)=>{let o=typeof n.index=="number"?n.index:r,s=t.toolCalls.get(o)||{id:"",type:"function",function:{name:"",arguments:""}};typeof n.id=="string"&&n.id.length>0&&(s.id=n.id),typeof n.type=="string"&&n.type.length>0&&(s.type=n.type);let i=n.function||{};typeof i.name=="string"&&i.name.length>0&&(s.function.name+=i.name),typeof i.arguments=="string"&&i.arguments.length>0&&(s.function.arguments+=i.arguments),t.toolCalls.set(o,s)}))}function el(t){if(!t.reasoning)return null;let e=Array.from(t.toolCalls.entries()).sort(([n],[r])=>n-r).map(([,n])=>n).filter(n=>typeof n.id=="string"&&n.id.length>0&&typeof n.function?.name=="string"&&n.function.name.length>0);return!t.content&&e.length===0?null:{role:"assistant",content:t.content||null,tool_calls:e.length>0?e:void 0,reasoning_content:t.reasoning}}function UE(t){let e=t?.usage;!e||e.prompt_cache_hit_tokens===void 0||(e.prompt_tokens_details={...e.prompt_tokens_details||{},cached_tokens:e.prompt_cache_hit_tokens||0})}var tl=class{name="deepseek";async transformRequestIn(e,n,r){return e.max_tokens&&e.max_tokens>8192&&(e.max_tokens=8192),e.messages=We(e.messages),e.tools=Ge(e.tools),Xu(e,n,r),e}async transformResponseOut(e,n){let r=Qu(n);if(e.headers.get("Content-Type")?.includes("application/json")){let o=await e.json();return UE(o),r&&cs({role:"assistant",content:o.choices?.[0]?.message?.content??null,tool_calls:o.choices?.[0]?.message?.tool_calls,reasoning_content:o.choices?.[0]?.message?.reasoning_content},n),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=Gu(),s=r?Zu():null;return Fe(e,(i,c)=>{if(!i.trim()){c.controller.enqueue(xe(i,c.encoder));return}if(!i.startsWith("data:")||i.trim()==="data: [DONE]"){c.controller.enqueue(xe(i,c.encoder));return}try{let u=i.slice(5).trim(),f=JSON.parse(u);UE(f);let d=f.choices?.[0]?.delta;if(!d){c.controller.enqueue(ve(JSON.stringify(f),c.encoder));return}let p=as(d);if(p){s&&us(s,d),Ju(o,p);let h=Tr(f,{content:p});Rr(h.choices[0].delta),c.controller.enqueue(ve(JSON.stringify(h),c.encoder));return}if(s&&us(s,d),d.content&&o.hasContent&&!o.isComplete){let{content:h,signature:_}=Vu(o),b=Tr(f,{content:h,signature:_});Rr(b.choices[0].delta),b.choices[0].delta.content=null,c.controller.enqueue(ve(JSON.stringify(b),c.encoder))}d.reasoning_content&&delete d.reasoning_content,f.choices?.[0]?.delta&&Object.keys(f.choices[0].delta).length>0&&(o.isComplete&&f.choices[0].index++,c.controller.enqueue(ve(JSON.stringify(f),c.encoder)))}catch{c.controller.enqueue(xe(i,c.encoder))}},{onComplete:()=>{s&&cs(el(s),n)}})}return e}};var nl=class{name="tooluse";async transformRequestIn(e,n,r){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=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.
|
|
234
|
+
3. Use Google Cloud environment with default service account`,{cause:e})}}var fl=class{static TransformerName="vertex-gemini";logger;name="vertex-gemini";thoughtSignatureFallback;constructor(e){this.thoughtSignatureFallback=e?.thoughtSignatureFallback==="none"?"none":"skip"}async transformRequestIn(e,n,r){let o=process.env.GOOGLE_CLOUD_PROJECT,s=process.env.GOOGLE_CLOUD_LOCATION||"us-central1";if(!o&&process.env.GOOGLE_APPLICATION_CREDENTIALS)try{let p=(await import("fs")).readFileSync(process.env.GOOGLE_APPLICATION_CREDENTIALS,"utf8"),b=JSON.parse(p);b&&b.project_id&&(o=b.project_id)}catch(h){this.logger?.error("Error extracting project_id from GOOGLE_APPLICATION_CREDENTIALS:",h)}if(!o)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 i=await gM(this.logger),a=e.model||n.models?.[0]||"",u=n.baseUrl.endsWith("/")?n.baseUrl:n.baseUrl+"/"||`https://${s}-aiplatform.googleapis.com`,d=`projects/${o}/locations/${s}/publishers/google/models/${a}`;return{body:await Dc({body:vc(e,{thoughtSignatureFallback:this.thoughtSignatureFallback,signatureScope:n?.name||this.name}),modelResource:d,createUrl:new URL(`./v1beta1/projects/${o}/locations/${s}/cachedContents`,u),headers:{Authorization:`Bearer ${i}`,"x-goog-api-key":void 0},logger:this.logger}),config:{url:new URL(`./v1beta1/${d}:${e.stream?"streamGenerateContent":"generateContent"}`,u),headers:{Authorization:`Bearer ${i}`,"x-goog-api-key":void 0}}}}async transformRequestOut(e){return Tc(e)}async transformResponseOut(e,n){return Rc(e,this.name,this.logger,n?.provider?.name||this.name)}};function pl(){return{content:"",isComplete:!1,hasContent:!1}}function hl(t,e){t.content+=e,t.hasContent=!0}function ml(t){return t.isComplete=!0,{content:t.content,signature:Date.now().toString()}}function Pr(t,e){return{...t,choices:[{...t.choices?.[0]||{},delta:{...t.choices?.[0]?.delta||{},content:null,thinking:e}}]}}function ys(t){if(t.reasoning_content){let e=t.reasoning_content;return typeof e=="string"?e:typeof e?.text=="string"?e.text:null}if(t.reasoning){let e=t.reasoning;return typeof e=="string"?e:null}return null}function Ir(t){delete t.reasoning_content,delete t.reasoning}import{createHash as yM}from"node:crypto";var gA=360*60*1e3,_M=4096,lg="__ccrDeepseekReasoning",dg=class{cache=new Map;get(e){let n=this.cache.get(e);if(n){if(Date.now()-n.createdAt>gA){this.cache.delete(e);return}return this.cache.delete(e),this.cache.set(e,n),n.reasoning}}put(e,n){n&&(this.cache.delete(e),this.cache.set(e,{reasoning:n,createdAt:Date.now()}),this.prune())}prune(){for(let[e,n]of this.cache)Date.now()-n.createdAt>gA&&this.cache.delete(e);for(;this.cache.size>_M;){let e=this.cache.keys().next().value;if(!e)break;this.cache.delete(e)}}},gl=new dg;function fg(t){return Array.isArray(t)?t.map(fg):t&&typeof t=="object"?Object.keys(t).sort().reduce((e,n)=>(e[n]=fg(t[n]),e),{}):t}function lo(t){return JSON.stringify(fg(t))}function yl(t){return yM("sha256").update(t).digest("hex")}function _A(t){return typeof t=="string"?t:t==null?"":Array.isArray(t)?t.map(e=>typeof e=="string"?e:e&&typeof e=="object"&&"text"in e?String(e.text||""):lo(e)).join(""):lo(t)}function pg(t){let e=t.function??{},n=typeof e.arguments=="string"?e.arguments:lo(e.arguments??"");return{id:t.id||"",type:t.type||"function",function:{name:e.name||"",arguments:n}}}function bA(t){return(t.tool_calls||[]).map(e=>e.id).filter(e=>typeof e=="string"&&e.length>0)}function CA(t){let e=pg(t);return yl(lo({...e,id:void 0}))}function wA(t){return yl(lo({content:_A(t.content),tool_calls:(t.tool_calls||[]).map(e=>pg(e))}))}function bM(t){let e={role:t.role,content:_A(t.content)};return t.name&&(e.name=t.name),t.tool_call_id&&(e.tool_call_id=t.tool_call_id),t.tool_calls?.length&&(e.tool_calls=t.tool_calls.map(n=>pg(n))),e}function yA(t,e){let n=t.filter(r=>r.role!=="system").map(r=>bM(r));return yl(lo({namespace:e,messages:n}))}function CM(t){if(typeof t.reasoning_content=="string"&&t.reasoning_content.length>0)return t.reasoning_content;if(typeof t.thinking?.content=="string"&&t.thinking.content.length>0)return t.thinking.content}function kA(t,e){if(t.role!=="assistant")return 0;let n=CM(t);if(!n)return 0;let r=[`scope:${e}:signature:${wA(t)}`];return r.push(...bA(t).map(o=>`scope:${e}:tool_call:${o}`)),r.push(...(t.tool_calls||[]).map(o=>`scope:${e}:tool_call_signature:${CA(o)}`)),r.forEach(o=>gl.put(o,n)),r.length}function wM(t,e){let n=gl.get(`scope:${e}:signature:${wA(t)}`);if(n)return n;for(let r of bA(t)){let o=gl.get(`scope:${e}:tool_call:${r}`);if(o)return o}for(let r of t.tool_calls||[]){let o=gl.get(`scope:${e}:tool_call_signature:${CA(r)}`);if(o)return o}}function kM(t,e){if(t.tool_calls?.length)return!0;for(let n=e.length-1;n>=0;n--){let r=e[n];if(r.role==="tool")return!0;if(r.role==="user"||r.role==="system")return!1}return!1}function SM(t,e){let n=String(t.model||"").toLowerCase(),r=String(e?.name||"").toLowerCase(),o=String(e?.baseUrl||"").toLowerCase(),s=n.includes("deepseek")||r.includes("deepseek")||o.includes("deepseek");if(t.enable_thinking===!1||Et(t.reasoning,t.thinking))return!1;let i=t.enable_thinking===!0||t.thinking?.type==="enabled"||t.reasoning?.enabled===!0||typeof t.reasoning?.effort=="string"||typeof t.reasoning?.max_tokens=="number";return s&&i}function EM(t,e){return yl(lo({provider:e?.name||"",baseUrl:e?.baseUrl||"",model:t.model||"",thinking:t.thinking||null,enable_thinking:t.enable_thinking||!1,reasoning:t.reasoning||null}))}function _l(t,e,n){if(!SM(t,e))return n?.req&&delete n.req[lg],{restoredFromCache:0,restoredFromThinking:0};let r=EM(t,e),o=[],s=0,i=0;for(let a of t.messages){if(a.role==="assistant"){let u=yA(o,r);if(kM(a,o)&&!(typeof a.reasoning_content=="string"&&a.reasoning_content.length>0?a.reasoning_content:void 0)){let h=typeof a.thinking?.content=="string"&&a.thinking.content.length>0?a.thinking.content:void 0;if(h)a.reasoning_content=h,i++;else{let p=wM(a,u);p&&(a.reasoning_content=p,s++)}}kA(a,u)}o.push(a)}return n?.req&&(n.req[lg]={enabled:!0,namespace:r,requestScope:yA(t.messages,r)}),{restoredFromCache:s,restoredFromThinking:i}}function SA(t){return t?.req?.[lg]}function bl(t){return SA(t)?.enabled===!0}function _s(t,e){if(!t)return 0;let n=SA(e);return n?kA(t,n.requestScope):0}function Cl(){return{content:"",reasoning:"",toolCalls:new Map}}function bs(t,e){e&&(typeof e.reasoning_content=="string"&&(t.reasoning+=e.reasoning_content),typeof e.content=="string"&&(t.content+=e.content),Array.isArray(e.tool_calls)&&e.tool_calls.forEach((n,r)=>{let o=typeof n.index=="number"?n.index:r,s=t.toolCalls.get(o)||{id:"",type:"function",function:{name:"",arguments:""}};typeof n.id=="string"&&n.id.length>0&&(s.id=n.id),typeof n.type=="string"&&n.type.length>0&&(s.type=n.type);let i=n.function||{};typeof i.name=="string"&&i.name.length>0&&(s.function.name+=i.name),typeof i.arguments=="string"&&i.arguments.length>0&&(s.function.arguments+=i.arguments),t.toolCalls.set(o,s)}))}function wl(t){if(!t.reasoning)return null;let e=Array.from(t.toolCalls.entries()).sort(([n],[r])=>n-r).map(([,n])=>n).filter(n=>typeof n.id=="string"&&n.id.length>0&&typeof n.function?.name=="string"&&n.function.name.length>0);return!t.content&&e.length===0?null:{role:"assistant",content:t.content||null,tool_calls:e.length>0?e:void 0,reasoning_content:t.reasoning}}function EA(t){let e=t?.usage;!e||e.prompt_cache_hit_tokens===void 0||(e.prompt_tokens_details={...e.prompt_tokens_details||{},cached_tokens:e.prompt_cache_hit_tokens||0})}var kl=class{name="deepseek";async transformRequestIn(e,n,r){return e.max_tokens&&e.max_tokens>8192&&(e.max_tokens=8192),e.messages=Ge(e.messages),e.tools=Je(e.tools),_l(e,n,r),e}async transformResponseOut(e,n){let r=bl(n);if(e.headers.get("Content-Type")?.includes("application/json")){let o=await e.json();return EA(o),r&&_s({role:"assistant",content:o.choices?.[0]?.message?.content??null,tool_calls:o.choices?.[0]?.message?.tool_calls,reasoning_content:o.choices?.[0]?.message?.reasoning_content},n),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=pl(),s=r?Cl():null;return Pe(e,(i,a)=>{if(!i.trim()){a.controller.enqueue(De(i,a.encoder));return}if(!i.startsWith("data:")||i.trim()==="data: [DONE]"){a.controller.enqueue(De(i,a.encoder));return}try{let u=i.slice(5).trim(),d=JSON.parse(u);EA(d);let f=d.choices?.[0]?.delta;if(!f){a.controller.enqueue(Ae(JSON.stringify(d),a.encoder));return}let h=ys(f);if(h){s&&bs(s,f),hl(o,h);let p=Pr(d,{content:h});Ir(p.choices[0].delta),a.controller.enqueue(Ae(JSON.stringify(p),a.encoder));return}if(s&&bs(s,f),f.content&&o.hasContent&&!o.isComplete){let{content:p,signature:b}=ml(o),C=Pr(d,{content:p,signature:b});Ir(C.choices[0].delta),C.choices[0].delta.content=null,a.controller.enqueue(Ae(JSON.stringify(C),a.encoder))}f.reasoning_content&&delete f.reasoning_content,d.choices?.[0]?.delta&&Object.keys(d.choices[0].delta).length>0&&(o.isComplete&&d.choices[0].index++,a.controller.enqueue(Ae(JSON.stringify(d),a.encoder)))}catch{a.controller.enqueue(De(i,a.encoder))}},{onComplete:()=>{s&&_s(wl(s),n)}})}return e}};var Sl=class{name="tooluse";async transformRequestIn(e,n,r){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=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.
|
|
223
235
|
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.
|
|
224
236
|
Examples:
|
|
225
237
|
1. Task: "Use a tool to summarize this document" \u2014 Do not use ExitTool if a summarization tool is available.
|
|
226
|
-
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 n=await e.json();if(n?.choices?.[0]?.message.tool_calls?.length&&n?.choices?.[0]?.message.tool_calls[0]?.function?.name==="ExitTool"){let r=n?.choices[0]?.message.tool_calls[0],o=JSON.parse(r.function.arguments||"{}");n.choices[0].message.content=o.response||"",delete n.choices[0].message.tool_calls}return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=-1,r="";return
|
|
227
|
-
|
|
228
|
-
`;
|
|
229
|
-
|
|
230
|
-
`;
|
|
231
|
-
`))}else
|
|
232
|
-
`))})}return e}};var
|
|
233
|
-
+`.includes(t)}function
|
|
234
|
-
+`.includes(t)}function
|
|
235
|
-
`||t==="\r"||t===" "||t==="\b"||t==="\f"}function
|
|
236
|
-
`,r:"\r",t:" "};function
|
|
237
|
-
`;)e++;return!0}return!1}function
|
|
238
|
+
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 n=await e.json();if(n?.choices?.[0]?.message.tool_calls?.length&&n?.choices?.[0]?.message.tool_calls[0]?.function?.name==="ExitTool"){let r=n?.choices[0]?.message.tool_calls[0],o=JSON.parse(r.function.arguments||"{}");n.choices[0].message.content=o.response||"",delete n.choices[0].message.tool_calls}return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=-1,r="";return Pe(e,(s,i)=>{let{controller:a,encoder:u}=i;if(s.startsWith("data: ")&&s.trim()!=="data: [DONE]")try{let d=JSON.parse(s.slice(6));if(d.choices[0]?.delta?.tool_calls?.length){let f=d.choices[0].delta.tool_calls[0];if(f.function?.name==="ExitTool"){n=f.index;return}else if(n>-1&&f.index===n&&f.function.arguments){r+=f.function.arguments;try{let h=JSON.parse(r);d.choices=[{delta:{role:"assistant",content:h.response||""}}];let p=`data: ${JSON.stringify(d)}
|
|
239
|
+
|
|
240
|
+
`;a.enqueue(u.encode(p))}catch{}return}}if(d.choices?.[0]?.delta&&Object.keys(d.choices[0].delta).length>0){let f=`data: ${JSON.stringify(d)}
|
|
241
|
+
|
|
242
|
+
`;a.enqueue(u.encode(f))}}catch{a.enqueue(u.encode(s+`
|
|
243
|
+
`))}else a.enqueue(u.encode(s+`
|
|
244
|
+
`))})}return e}};var El=class{constructor(e){this.options=e}options;static TransformerName="openrouter";logger;async transformRequestIn(e,n,r){let o=Wt(r,e),s=(e.model||"").toLowerCase();return s.includes("anthropic/")||s.includes("claude")?e=Ja(e):s.startsWith("openai/")||s.startsWith("gpt-")?e=ai(e,n,r):s.includes("qwen")||s.includes("alibaba")?e=Gr(e):s.includes("gemini")?e=Gr(e):e={...e,messages:Ge(e.messages),tools:Je(e.tools)},e.model.includes("claude")?e.messages.forEach(i=>{Array.isArray(i.content)&&i.content.forEach(a=>{a.type==="image_url"&&(a.image_url.url.startsWith("http")||(a.image_url.url=`data:${a.media_type};base64,${a.image_url.url}`),delete a.media_type)})}):e.messages.forEach(i=>{Array.isArray(i.content)&&i.content.forEach(a=>{a.type==="image_url"&&(a.image_url.url.startsWith("http")||(a.image_url.url=`${a.image_url.url}`),delete a.media_type)})}),Object.assign(e,this.options||{}),o&&(e.session_id=o,e.prompt_cache_key=o),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let n=await e.json();return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=pl(),r=!1,o=!1;return Pe(e,(s,i)=>{if(!s.trim()){i.controller.enqueue(De(s,i.encoder));return}if(!s.startsWith("data: ")||s.trim()==="data: [DONE]"){i.controller.enqueue(De(s,i.encoder));return}try{let a=s.slice(6),u=JSON.parse(a);u.usage&&(this.logger?.debug({usage:u.usage,hasToolCall:o},"usage"),u.choices[0].finish_reason=o?"tool_calls":"stop"),u.choices?.[0]?.finish_reason==="error"&&i.controller.enqueue(Ae(JSON.stringify({error:u.choices?.[0]?.error}),i.encoder)),u.choices?.[0]?.delta?.content&&!r&&(r=!0);let d=u.choices?.[0]?.delta,f=d?ys(d):null;if(f){hl(n,f);let h=Pr(u,{content:f});Ir(h.choices[0].delta),i.controller.enqueue(Ae(JSON.stringify(h),i.encoder));return}if(d?.content&&n.hasContent&&!n.isComplete){let{content:h,signature:p}=ml(n),b=Pr(u,{content:h,signature:p});Ir(b.choices[0].delta),b.choices[0].delta.content=null,i.controller.enqueue(Ae(JSON.stringify(b),i.encoder))}d?.reasoning&&delete d.reasoning,d?.tool_calls?.length&&!Number.isNaN(parseInt(d.tool_calls[0].id,10))&&d.tool_calls.forEach(h=>{h.id=`call_${fn()}`}),d?.tool_calls?.length&&!o&&(o=!0),d?.tool_calls?.length&&r&&(typeof u.choices[0].index=="number"?u.choices[0].index+=1:u.choices[0].index=1),i.controller.enqueue(Ae(JSON.stringify(u),i.encoder))}catch{i.controller.enqueue(De(s,i.encoder))}})}return e}};var Al=class{constructor(e){this.options=e;this.max_tokens=this.options?.max_tokens}options;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 vl=class{name="groq";async transformRequestIn(e){return e.messages=Ge(e.messages),e.tools=Je(e.tools),Array.isArray(e.tools)&&e.tools.forEach(n=>{n?.function?.parameters&&(n.function.parameters=Ac(n.function.parameters))}),e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let n=await e.json();return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=!1;return Pe(e,(r,o)=>{if(!r.trim()){o.controller.enqueue(De(r,o.encoder));return}if(!r.startsWith("data:")||r.trim()==="data: [DONE]"){o.controller.enqueue(De(r,o.encoder));return}try{let s=r.slice(5).trim(),i=JSON.parse(s);if(i.error)throw new Error(JSON.stringify(i));i.choices?.[0]?.delta?.content&&!n&&(n=!0),i.choices?.[0]?.delta?.tool_calls?.length&&i.choices[0].delta.tool_calls.forEach(a=>{a.id=`call_${fn()}`}),i.choices?.[0]?.delta?.tool_calls?.length&&n&&(typeof i.choices[0].index=="number"?i.choices[0].index+=1:i.choices[0].index=1),o.controller.enqueue(Ae(JSON.stringify(i),o.encoder))}catch{o.controller.enqueue(De(r,o.encoder))}})}return e}};var Tl=class{name="cleancache";async transformRequestIn(e){return Array.isArray(e.messages)&&e.messages.forEach(n=>{Array.isArray(n.content)?n.content.forEach(r=>{r.cache_control&&delete r.cache_control}):n.cache_control&&delete n.cache_control}),Array.isArray(e.tools)&&e.tools.forEach(n=>{n.cache_control&&delete n.cache_control}),e}};var NA=Bn(zf());var Xn=class extends Error{constructor(e,n){super(`${e} at position ${n}`),this.position=n}};function AA(t){return/^[0-9A-Fa-f]$/.test(t)}function Zn(t){return t>="0"&&t<="9"}function vA(t){return t>=" "}function ws(t){return`,:[]/{}()
|
|
245
|
+
+`.includes(t)}function hg(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"}function Rl(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"||t==="$"||t>="0"&&t<="9"}var mg=/^(http|https|ftp|mailto|file|data|irc):\/\/$/,gg=/^[A-Za-z0-9-._~:/?#@!$&'()*+;=]$/;function yg(t){return`,[]/{}
|
|
246
|
+
+`.includes(t)}function _g(t){return ks(t)||AM.test(t)}var AM=/^[[{\w-]$/;function bg(t){return t===`
|
|
247
|
+
`||t==="\r"||t===" "||t==="\b"||t==="\f"}function Qn(t,e){let n=t.charCodeAt(e);return n===32||n===10||n===9||n===13}function TA(t,e){let n=t.charCodeAt(e);return n===32||n===9||n===13}function RA(t,e){let n=t.charCodeAt(e);return n===160||n===6158||n>=8192&&n<=8203||n===8239||n===8287||n===12288||n===65279}function ks(t){return Cg(t)||xl(t)}function Cg(t){return t==='"'||t==="\u201C"||t==="\u201D"}function wg(t){return t==='"'}function xl(t){return t==="'"||t==="\u2018"||t==="\u2019"||t==="`"||t==="\xB4"}function kg(t){return t==="'"}function Ss(t,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,r=t.lastIndexOf(e);return r!==-1?t.substring(0,r)+(n?"":t.substring(r+1)):t}function qt(t,e){let n=t.length;if(!Qn(t,n-1))return t+e;for(;Qn(t,n-1);)n--;return t.substring(0,n)+e+t.substring(n)}function xA(t,e,n){return t.substring(0,e)+t.substring(e+n)}function DA(t){return/[,\n][ \t\r]*$/.test(t)}var vM={""":'"',"&":"&","<":"<",">":">","'":"'"},Sg=12;function Eg(t){if(t.charAt(0)!=="&")return null;let e=t.indexOf(";");if(e===-1)return null;let n=t.substring(0,e+1),r=vM[n];if(r!==void 0)return{char:r,length:n.length};if(t.charAt(1)==="#"){let o=t.substring(2,e),s=o.charAt(0)==="x"||o.charAt(0)==="X",i=s?o.substring(1):o;if(i.length>0){let a=Number.parseInt(i,s?16:10);if(!Number.isNaN(a)&&a>=0&&a<=1114111)return{char:String.fromCodePoint(a),length:n.length}}}return null}function OA(t){return t!==null&&t.char==='"'}function PA(t){return t!==null&&t.char==="'"}function Cs(t,e){let n=0;for(let r=0;r<t.length;r++)t.charAt(r)===e&&n++;return n}function IA(t,e){switch(e){case")":return Cs(t,"(")>Cs(t,")");case"]":return Cs(t,"[")>Cs(t,"]");case"}":return Cs(t,"{")>Cs(t,"}");default:return!1}}var FA={"\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},TM={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:`
|
|
248
|
+
`,r:"\r",t:" "};function Ag(t){let e=0,n="";d(["```","[```","{```"]),s()||xe(),d(["```","```]","```}"]);let o=h(",");for(o&&i(),_g(t[e])&&DA(n)?(o||(n=qt(n,",")),_()):o&&(n=Ss(n,","));t[e]==="}"||t[e]==="]";)e++,i();if(e>=t.length)return n;Z();function s(){i();let te=m()||w()||A()||T()||x()||q(!1)||$();return i(),te}function i(){let te=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,Q=e,ie=a(te);do ie=u(),ie&&(ie=a(te));while(ie);return e>Q}function a(te){let Q=te?Qn:TA,ie="";for(;;)if(Q(t,e))ie+=t[e],e++;else if(RA(t,e))ie+=" ",e++;else break;return ie.length>0?(n+=ie,!0):!1}function u(){if(t[e]==="/"&&t[e+1]==="*"){for(;e<t.length&&!RM(t,e);)e++;return e+=2,!0}if(t[e]==="/"&&t[e+1]==="/"){for(;e<t.length&&t[e]!==`
|
|
249
|
+
`;)e++;return!0}return!1}function d(te){if(f(te)){if(hg(t[e]))for(;e<t.length&&Rl(t[e]);)e++;return i(),!0}return!1}function f(te){a(!0);for(let Q of te){let ie=e+Q.length;if(t.slice(e,ie)===Q)return e=ie,!0}return!1}function h(te){return t[e]===te?(n+=t[e],e++,!0):!1}function p(te){return t[e]===te?(e++,!0):!1}function b(){return p("\\")}function C(){return i(),t[e]==="."&&t[e+1]==="."&&t[e+2]==="."?(e+=3,i(),p(","),!0):!1}function m(){if(t[e]==="{"){n+="{",e++,i(),p(",")&&i();let te=!0;for(;e<t.length&&t[e]!=="}";){let Q;if(te?Q=!0:(Q=h(","),Q||(n=qt(n,",")),i()),C(),!(A()||q(!0))){t[e]==="}"||t[e]==="{"||t[e]==="]"||t[e]==="["||t[e]===void 0?te||(n=Ss(n,",")):$e();break}i();let de=h(":"),Ce=e>=t.length;de||(_g(t[e])||Ce?n=qt(n,":"):Re()),s()||(de||Ce?n+="null":Re()),te=!1}return t[e]==="}"?(n+="}",e++):n=qt(n,"}"),!0}return!1}function w(){if(t[e]==="["){n+="[",e++,i(),p(",")&&i();let te=!0;for(;e<t.length&&t[e]!=="]";){if(te||h(",")||(n=qt(n,",")),C(),!s()){te||(n=Ss(n,","));break}te=!1}return t[e]==="]"?(n+="]",e++):n=qt(n,"]"),!0}return!1}function _(){let te=!0,Q=!0;for(;Q;)te?te=!1:h(",")||(n=qt(n,",")),Q=s();Q||(n=Ss(n,",")),n=`[
|
|
238
250
|
${n}
|
|
239
|
-
]`}function
|
|
240
|
-
`?(Y+="\\n",e+=2):(Y+=k,e+=2)}else{let k=t.charAt(e);k==='"'&&t[e-1]!=="\\"?(Y+=`\\${k}`,e++):
|
|
241
|
-
`);for(let
|
|
242
|
-
`))},
|
|
251
|
+
]`}function A(){let te=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,Q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:-1,ie=t[e]==="\\";ie&&(e++,ks(t[e])||Z());let de=t[e]==="&"?Eg(t.slice(e,e+Sg)):null,Ce=OA(de)||PA(de);if(ks(t[e])||Ce){let V=wg(t[e])?wg:kg(t[e])?kg:xl(t[e])?xl:Cg,Ke=e,Ne=n.length,Y='"';for(e+=Ce&&de?de.length:1;;){if(e>=t.length){let k=z(e-1);return!te&&ws(t.charAt(k))?(e=Ke,n=n.substring(0,Ne),A(!0)):(Y=qt(Y,'"'),n+=Y,!0)}if(e===Q)return Y=qt(Y,'"'),n+=Y,!0;let ue=Ce&&t[e]==="&"?Eg(t.slice(e,e+Sg)):null;if(ue&&de?ue.char===de.char:V(t[e])){let k=e,v=Y.length;if(Y+='"',e+=ue?ue.length:1,n+=Y,i(!1),te||e>=t.length||ws(t[e])&&!IA(Y,t[e])||ks(t[e])&&!ce(e)||Zn(t[e]))return S(),!0;t[e]==="\\"&&Z();let R=z(k-1),M=t.charAt(R);if(M===",")return e=Ke,n=n.substring(0,Ne),A(!1,R);if(ws(M))return e=Ke,n=n.substring(0,Ne),A(!0);n=n.substring(0,Ne),e=k+(ue?ue.length:1),Y=`${Y.substring(0,v)}\\${Y.substring(v)}`}else if(te&&yg(t[e])){if(t[e-1]===":"&&mg.test(t.substring(Ke+1,e+2)))for(;e<t.length&&gg.test(t[e]);)Y+=t[e],e++;return Y=qt(Y,'"'),n+=Y,S(),!0}else if(ue){let k=ue.char;k==='"'?Y+='\\"':bg(k)?Y+=FA[k]:Y+=k,e+=ue.length}else if(t[e]==="\\"){let k=t.charAt(e+1);if(TM[k]!==void 0)Y+=t.slice(e,e+2),e+=2;else if(k==="u"){let R=2;for(;R<6&&AA(t[e+R]);)R++;R===6?(Y+=t.slice(e,e+6),e+=6):e+R>=t.length?e=t.length:He()}else k===`
|
|
252
|
+
`?(Y+="\\n",e+=2):(Y+=k,e+=2)}else{let k=t.charAt(e);k==='"'&&t[e-1]!=="\\"?(Y+=`\\${k}`,e++):bg(k)?(Y+=FA[k],e++):(vA(k)||ee(k),Y+=k,e++)}ie&&b()}}return!1}function S(){let te=!1;for(i();t[e]==="+";){te=!0,e++,i(),n=Ss(n,'"',!0);let Q=n.length;A()?n=xA(n,Q,1):n=qt(n,'"')}return te}function T(){let te=e,Q="",ie=!1;for(t[e]==="-"&&(Q+=t[e],e++,!Zn(t[e])&&X()&&(Q+="0")),t[e]==="0"&&Zn(t[e+1])&&(ie=!0);Zn(t[e]);)Q+=t[e],e++;if(t[e]===".")for((Q===""||Q==="-")&&(Q+="0"),Q+=t[e],e++,Zn(t[e])||(Q+="0");Zn(t[e]);)Q+=t[e],e++;if(e>te){if(t[e]==="e"||t[e]==="E")for(Q==="-"&&(ie=!0),Q+=t[e],e++,(t[e]==="-"||t[e]==="+")&&(Q+=t[e],e++),Zn(t[e])||(Q+="0");Zn(t[e]);)Q+=t[e],e++;return X()?(n+=ie?`"${t.substring(te,e)}"`:Q,!0):(e=te,!1)}return!1}function x(){return O("true","true")||O("false","false")||O("null","null")||O("True","true")||O("False","false")||O("None","null")}function O(te,Q){return t.slice(e,e+te.length)===te&&!Rl(t[e+te.length])?(n+=Q,e+=te.length,!0):!1}function q(te){let Q=e;if(hg(t[e])){for(;e<t.length&&Rl(t[e]);)e++;let ie=e;for(;Qn(t,ie);)ie++;if(t[ie]==="(")return e=ie+1,s(),t[e]===")"&&(e++,t[e]===";"&&e++),!0}for(;e<t.length&&!yg(t[e])&&!ks(t[e])&&(!te||t[e]!==":");)e++;if(t[e-1]===":"&&mg.test(t.substring(Q,e+2)))for(;e<t.length&&gg.test(t[e]);)e++;if(e>Q){for(;Qn(t,e-1)&&e>0;)e--;let ie=t.slice(Q,e);return n+=ie==="undefined"?"null":JSON.stringify(ie),t[e]==='"'&&e++,!0}}function $(){if(t[e]==="/"){let te=e;for(e++;e<t.length&&(t[e]!=="/"||t[e-1]==="\\");)e++;return e++,n+=JSON.stringify(t.substring(te,e)),!0}}function z(te){let Q=te;for(;Q>0&&Qn(t,Q);)Q--;return Q}function ce(te){let Q=te+1;for(;Q<t.length&&Qn(t,Q);)Q++;return Q>=t.length||ws(t[Q])}function X(){return e>=t.length||ws(t[e])||Qn(t,e)}function ee(te){throw new Xn(`Invalid character ${JSON.stringify(te)}`,e)}function Z(){throw new Xn(`Unexpected character ${JSON.stringify(t[e])}`,e)}function xe(){throw new Xn("Unexpected end of json string",t.length)}function $e(){throw new Xn("Object key expected",e)}function Re(){throw new Xn("Colon expected",e)}function He(){let te=t.slice(e,e+6);throw new Xn(`Invalid unicode character "${te}"`,e)}}function RM(t,e){return t[e]==="*"&&t[e+1]==="/"}function vg(t,e){if(!t||t.trim()===""||t==="{}")return"{}";try{return JSON.parse(t),e?.debug("Tool arguments standard JSON parsing successful"),t}catch(n){try{let r=NA.default.parse(t);return e?.debug("Tool arguments JSON5 parsing successful"),JSON.stringify(r)}catch(r){try{let o=Ag(t);return e?.debug("Tool arguments safely repaired"),o}catch(o){return e?.error(`JSON parsing failed: ${n.message}. JSON5 parsing failed: ${r.message}. JSON repair failed: ${o.message}. Input data: ${JSON.stringify(t)}`),e?.debug("Returning safe empty object as fallback"),"{}"}}}}var Dl=class{logger;name="enhancetool";async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let n=await e.json();if(n?.choices?.[0]?.message?.tool_calls?.length)for(let r of n.choices[0].message.tool_calls)r.function?.arguments&&(r.function.arguments=vg(r.function.arguments,this.logger));return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,r=new TextEncoder,o={},s=!1,i="",a=!1,u="",d=new ReadableStream({start:async f=>{let h=e.body.getReader(),p=(m,w,_)=>{let A=m.split(`
|
|
253
|
+
`);for(let S of A)S.trim()&&w.enqueue(_.encode(S+`
|
|
254
|
+
`))},b=(m,w,_)=>{let A;try{A=vg(o.arguments||"",this.logger)}catch(O){this.logger?.error(`${O.message} ${O.stack} Tool call argument parsing failed: ${JSON.stringify(o)}`),A=o.arguments||""}let S={role:"assistant",tool_calls:[{function:{name:o.name,arguments:A},id:o.id,index:o.index,type:"function"}]},T={...m,choices:[{...m.choices[0],delta:S}]};T.choices[0].delta.content!==void 0&&delete T.choices[0].delta.content;let x=`data: ${JSON.stringify(T)}
|
|
243
255
|
|
|
244
|
-
`;w.enqueue(
|
|
256
|
+
`;w.enqueue(_.encode(x))},C=(m,w)=>{let{controller:_,encoder:A}=w;if(m.startsWith("data: ")&&m.trim()!=="data: [DONE]"){let S=m.slice(6);try{let T=JSON.parse(S);if(T.choices?.[0]?.delta?.tool_calls?.length){let O=T.choices[0].delta.tool_calls[0];if(typeof o.index>"u"){o={index:O.index,name:O.function?.name||"",id:O.id||"",arguments:O.function?.arguments||""},O.function?.arguments&&(O.function.arguments="");let q=`data: ${JSON.stringify(T)}
|
|
245
257
|
|
|
246
|
-
`;
|
|
258
|
+
`;_.enqueue(A.encode(q));return}else if(o.index===O.index){O.function?.arguments&&(o.arguments+=O.function.arguments);return}else{b(T,_,A),o={index:O.index,name:O.function?.name||"",id:O.id||"",arguments:O.function?.arguments||""};return}}if(T.choices?.[0]?.finish_reason==="tool_calls"&&o.index!==void 0){b(T,_,A),o={};return}T.choices?.[0]?.delta?.tool_calls?.length&&w.hasTextContent()&&(typeof T.choices[0].index=="number"?T.choices[0].index+=1:T.choices[0].index=1);let x=`data: ${JSON.stringify(T)}
|
|
247
259
|
|
|
248
|
-
`;
|
|
249
|
-
`))}}else
|
|
250
|
-
`))};try{for(;;){let{done:
|
|
251
|
-
`);u=
|
|
252
|
-
`))}continue}let
|
|
253
|
-
`);u=
|
|
254
|
-
`))}}}catch(
|
|
255
|
-
`));return}if(
|
|
260
|
+
`;_.enqueue(A.encode(x))}catch{_.enqueue(A.encode(m+`
|
|
261
|
+
`))}}else _.enqueue(A.encode(m+`
|
|
262
|
+
`))};try{for(;;){let{done:m,value:w}=await h.read();if(m){u.trim()&&p(u,f,r);break}if(!w||w.length===0)continue;let _;try{_=n.decode(w,{stream:!0})}catch(S){this.logger?.warn("Failed to decode chunk",S);continue}if(_.length===0)continue;if(u+=_,u.length>1e6){this.logger?.warn("Buffer size exceeds limit, processing partial data");let S=u.split(`
|
|
263
|
+
`);u=S.pop()||"";for(let T of S)if(T.trim())try{C(T,{controller:f,encoder:r,hasTextContent:()=>s,setHasTextContent:x=>s=x,reasoningContent:()=>i,appendReasoningContent:x=>i+=x,isReasoningComplete:()=>a,setReasoningComplete:x=>a=x})}catch(x){this.logger?.error("Error processing line:",T,x),f.enqueue(r.encode(T+`
|
|
264
|
+
`))}continue}let A=u.split(`
|
|
265
|
+
`);u=A.pop()||"";for(let S of A)if(S.trim())try{C(S,{controller:f,encoder:r,hasTextContent:()=>s,setHasTextContent:T=>s=T,reasoningContent:()=>i,appendReasoningContent:T=>i+=T,isReasoningComplete:()=>a,setReasoningComplete:T=>a=T})}catch(T){this.logger?.error("Error processing line:",S,T),f.enqueue(r.encode(S+`
|
|
266
|
+
`))}}}catch(m){this.logger?.error("Stream error:",m),f.error(m)}finally{try{h.releaseLock()}catch(m){this.logger?.error("Error releasing reader lock:",m)}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 Ol=class{constructor(e){this.options=e;this.enable=this.options?.enable??!0}options;static TransformerName="reasoning";enable;async transformRequestIn(e,n,r){return this.enable?Et(e.reasoning,e.thinking)?(e.thinking={type:"disabled",budget_tokens:-1},e.enable_thinking=!1,e):(e.reasoning?(e.thinking={type:"enabled",budget_tokens:e.reasoning.max_tokens},e.enable_thinking=!0):e.model&&String(e.model).startsWith("deepseek")&&(e.enable_thinking=!0),_l(e,n,r),e):(e.thinking={type:"disabled",budget_tokens:-1},e.enable_thinking=!1,e)}async transformResponseOut(e,n){if(!this.enable)return e;let r=bl(n);if(e.headers.get("Content-Type")?.includes("application/json")){let o=await e.json();return o.choices[0]?.message.reasoning_content&&(o.thinking={content:o.choices[0]?.message.reasoning_content}),r&&_s({role:"assistant",content:o.choices?.[0]?.message?.content??null,tool_calls:o.choices?.[0]?.message?.tool_calls,reasoning_content:o.choices?.[0]?.message?.reasoning_content},n),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="",s=!1,i=r?Cl():null;return Pe(e,(u,d)=>{let{controller:f,encoder:h}=d;if(u.startsWith("data: ")&&u.trim()!=="data: [DONE]")try{let p=JSON.parse(u.slice(6)),b=p.choices?.[0]?.delta;if(!b){f.enqueue(h.encode(u+`
|
|
267
|
+
`));return}if(b.reasoning_content){o+=typeof b.reasoning_content=="string"?b.reasoning_content:JSON.stringify(b.reasoning_content),i&&bs(i,b);let C={...p,choices:[{...p.choices[0],delta:{...b,thinking:{content:b.reasoning_content}}}]};delete C.choices[0].delta.reasoning_content;let m=`data: ${JSON.stringify(C)}
|
|
256
268
|
|
|
257
|
-
`;
|
|
269
|
+
`;f.enqueue(h.encode(m));return}if(i&&bs(i,b),(b.content||b.tool_calls)&&o&&!s){s=!0;let C=Date.now().toString(),m={...p,choices:[{...p.choices[0],delta:{...p.choices[0].delta,content:null,thinking:{content:o,signature:C}}}]};delete m.choices[0].delta.reasoning_content;let w=`data: ${JSON.stringify(m)}
|
|
258
270
|
|
|
259
|
-
`;
|
|
271
|
+
`;f.enqueue(h.encode(w))}if(b.reasoning_content&&delete p.choices[0].delta.reasoning_content,p.choices?.[0]?.delta&&Object.keys(p.choices[0].delta).length>0){s&&p.choices[0].index++;let C=`data: ${JSON.stringify(p)}
|
|
260
272
|
|
|
261
|
-
`;
|
|
262
|
-
`))}else
|
|
263
|
-
`))},{onComplete:()=>{i&&
|
|
273
|
+
`;f.enqueue(h.encode(C))}}catch{f.enqueue(h.encode(u+`
|
|
274
|
+
`))}else f.enqueue(h.encode(u+`
|
|
275
|
+
`))},{onComplete:()=>{i&&_s(wl(i),n)}})}return e}};var Pl=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}options;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 Il=class{static TransformerName="maxcompletiontokens";async transformRequestIn(e){return e.max_tokens&&(e.max_completion_tokens=e.max_tokens,delete e.max_tokens),e}};async function xM(t){try{let{GoogleAuth:e}=await Promise.resolve().then(()=>Bn(dl(),1));return(await(await new e({scopes:["https://www.googleapis.com/auth/cloud-platform"]}).getClient()).getAccessToken()).token||""}catch(e){throw(t?.error??console.error)("Error getting access token:",e),new Error(`Failed to get access token for Vertex AI. Please ensure you have set up authentication using one of these methods:
|
|
264
276
|
1. Set GOOGLE_APPLICATION_CREDENTIALS to point to service account key file
|
|
265
277
|
2. Run "gcloud auth application-default login"
|
|
266
|
-
3. Use Google Cloud environment with default service account`,{cause:e})}}var
|
|
267
|
-
`)}async getClient(){if(this.client)return this.client;if(!this.client_email||!this.private_key)throw new Error("vertex-openai requires client_email and private_key in transformer options");let e=new
|
|
278
|
+
3. Use Google Cloud environment with default service account`,{cause:e})}}var Fl=class{logger;name="vertex-claude";async transformRequestIn(e,n){let r=process.env.GOOGLE_CLOUD_PROJECT,o=process.env.GOOGLE_CLOUD_LOCATION||"us-east5";if(!r&&process.env.GOOGLE_APPLICATION_CREDENTIALS)try{let a=(await import("fs")).readFileSync(process.env.GOOGLE_APPLICATION_CREDENTIALS,"utf8"),u=JSON.parse(a);u&&u.project_id&&(r=u.project_id)}catch(i){this.logger?.error("Error extracting project_id from GOOGLE_APPLICATION_CREDENTIALS:",i)}if(!r)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 xM(this.logger);return{body:TC(e),config:{url:new URL(`/v1/projects/${r}/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 RC(e)}async transformResponseOut(e){return Cc(e,this.name,this.logger)}};var MA=Bn(dl(),1);var Nl=class{static TransformerName="vertex-openai";client;client_email;private_key;constructor(e={}){this.client_email=e.client_email,this.private_key=e.private_key?.replace(/\\n/g,`
|
|
279
|
+
`)}async getClient(){if(this.client)return this.client;if(!this.client_email||!this.private_key)throw new Error("vertex-openai requires client_email and private_key in transformer options");let e=new MA.GoogleAuth({scopes:["https://www.googleapis.com/auth/cloud-platform"],credentials:{client_email:this.client_email,private_key:this.private_key}});return this.client=await e.getClient(),this.client}async transformRequestIn(e){let n=await this.getClient(),{token:r}=await n.getAccessToken();if(!r)throw new Error("Failed to get access token");return{body:{...e,messages:Ge(e.messages),tools:Je(e.tools)},config:{headers:{Authorization:`Bearer ${r}`}}}}};var Ml=class{name="cerebras";async transformRequestIn(e,n,r){let o=JSON.parse(JSON.stringify(e));o.messages=Ge(o.messages),o.tools=Je(o.tools);let s=Wt(r,e);return s&&(o.prompt_cache_key=s),o.reasoning?delete o.reasoning:o.disable_reasoning=!1,{body:o,config:{headers:{Authorization:`Bearer ${n.apiKey}`,"Content-Type":"application/json"}}}}async transformResponseOut(e){return e}};var Bl=class{name="streamoptions";async transformRequestIn(e){return e.stream&&(e.stream_options={include_usage:!0}),e}};var Ul=class{name="OpenAI";endPoint="/v1/chat/completions";async transformRequestOut(e,n){return DM(e)}async transformRequestIn(e,n,r){return e=structuredClone(e),Xa(e),Ya(e,n,r)}async transformResponseIn(e,n){return(e.headers.get("Content-Type")||"").includes("text/event-stream")?IM(e):e}};function DM(t){if(!t||typeof t!="object")throw W("Invalid Chat Completions body",400,"invalid_body","invalid_request_error");if(typeof t.model!="string"||!t.model.trim())throw W("Chat Completions requires model",400,"invalid_body","invalid_request_error");if(!Array.isArray(t.messages))throw W("Chat Completions requires messages[]",400,"invalid_body","invalid_request_error");if(t.stream!==void 0&&typeof t.stream!="boolean")throw W("stream must be a boolean",400,"invalid_stream","invalid_request_error");if(t.n!==void 0&&t.n!==1)throw W("n values other than 1 are not supported",400,"unsupported_n","invalid_request_error");if(t.logprobs===!0||t.top_logprobs!==void 0)throw W("logprobs/top_logprobs are not supported",400,"unsupported_logprobs","invalid_request_error");if(Array.isArray(t.modalities)&&t.modalities.filter(a=>a!=="text"&&a!==void 0).length>0)throw W("Non-text output modalities are not supported",400,"unsupported_modalities","invalid_request_error");if(t.audio!==void 0)throw W("Audio input/output is not supported",400,"unsupported_audio","invalid_request_error");if(t.store===!0||t.metadata!==void 0)throw W("Stored Chat Completions and metadata are not supported",400,"unsupported_state","invalid_request_error");for(let i of["prediction","web_search_options","moderation","service_tier","frequency_penalty","presence_penalty","seed","user","verbosity","safety_identifier","functions","function_call"])if(t[i]!==void 0&&t[i]!==null)throw W(`Chat Completions field '${i}' is not supported`,400,"unsupported_field","invalid_request_error");if(t.response_format!==void 0){let i=t.response_format,a=typeof i=="object"&&i?i.type:i;if(a&&a!=="text")throw W("response_format structured output is not supported without a verified provider mapping",400,"unsupported_response_format","invalid_request_error")}if(t.stream_options!=null&&t.stream!==!0)throw W("stream_options requires stream: true",400,"invalid_stream_options","invalid_request_error");if(t.stream_options!=null){if(typeof t.stream_options!="object"||Array.isArray(t.stream_options))throw W("stream_options must be an object",400,"invalid_stream_options","invalid_request_error");let i=Object.keys(t.stream_options).find(a=>a!=="include_usage");if(i)throw W(`Unsupported stream option '${i}'`,400,"invalid_stream_options","invalid_request_error");if(t.stream_options.include_usage!==void 0&&typeof t.stream_options.include_usage!="boolean")throw W("stream_options.include_usage must be a boolean",400,"invalid_stream_options","invalid_request_error")}let e=t.max_tokens!=null,n=t.max_completion_tokens!=null;if(e&&n&&Number(t.max_tokens)!==Number(t.max_completion_tokens))throw W("max_tokens and max_completion_tokens both present and differ",400,"conflicting_token_limits","invalid_request_error");for(let[i,a]of[["max_tokens",e],["max_completion_tokens",n]]){if(!a)continue;let u=Number(t[i]);if(!Number.isInteger(u)||u<=0)throw W(`${i} must be a positive integer`,400,"invalid_token_limit","invalid_request_error")}if(PM(t.tools,t.tool_choice),t.parallel_tool_calls!==void 0&&typeof t.parallel_tool_calls!="boolean")throw W("parallel_tool_calls must be a boolean",400,"invalid_parallel_tool_calls","invalid_request_error");let r=t.messages.map(i=>OM(i)),o={model:t.model,messages:r,stream:t.stream===!0};t.stream_options&&(o.stream_options=t.stream_options),e&&(o.max_tokens=Number(t.max_tokens)),n&&(o.max_completion_tokens=Number(t.max_completion_tokens),e||(o.max_tokens=Number(t.max_completion_tokens))),t.temperature!==void 0&&(o.temperature=t.temperature),t.top_p!==void 0&&(o.top_p=t.top_p),t.stop!==void 0&&(o.stop=t.stop),t.tools!==void 0&&(o.tools=t.tools),t.tool_choice!==void 0&&(o.tool_choice=t.tool_choice),t.parallel_tool_calls!==void 0&&(o.parallel_tool_calls=t.parallel_tool_calls);let s=St(t.reasoning_effort??t.reasoning?.effort);return(t.reasoning!==void 0||s)&&(o.reasoning={...t.reasoning&&typeof t.reasoning=="object"?t.reasoning:{},...xo(s,t.reasoning?.enabled)||{}}),t.thinking!==void 0&&(o.thinking=t.thinking),o}function OM(t){if(!t||typeof t!="object")throw W("Invalid message in messages[]",400,"invalid_body","invalid_request_error");let e=t.role;if(!["developer","system","user","assistant","tool"].includes(e))throw W(`Unsupported message role '${e}'`,400,"unsupported_role","invalid_request_error");if(t.audio!==void 0)throw W("Audio input/output is not supported",400,"unsupported_audio","invalid_request_error");if(t.name!==void 0)throw W("Named messages are not supported by the cross-protocol compatibility tier",400,"unsupported_message_name","invalid_request_error");if(Array.isArray(t.content)){let n={developer:new Set(["text"]),system:new Set(["text"]),user:new Set(["text","image_url"]),assistant:new Set(["text","refusal"]),tool:new Set(["text"])};for(let r of t.content){if(!r||typeof r!="object")throw W(`Invalid content part for role '${e}'`,400,"unsupported_content_part","invalid_request_error");if(r?.type==="input_audio"||r?.type==="audio")throw W("Audio input/output is not supported",400,"unsupported_audio","invalid_request_error");if(r?.type==="file")throw W("Provider-hosted file inputs are not supported",400,"unsupported_file","invalid_request_error");if(!n[e]?.has(r?.type))throw W(`Unsupported content part '${r?.type||"unknown"}' for role '${e}'`,400,"unsupported_content_part","invalid_request_error");if((r.type==="text"||r.type==="refusal")&&typeof r.text!="string"&&typeof r.refusal!="string")throw W(`Content part '${r.type}' requires text`,400,"invalid_content_part","invalid_request_error");if(r.type==="image_url"&&(typeof r.image_url!="object"||typeof r.image_url?.url!="string"||!r.image_url.url))throw W("image_url content requires image_url.url",400,"invalid_image","invalid_request_error")}}else if(typeof t.content!="string"&&!(e==="assistant"&&t.content==null))throw W(`Message role '${e}' requires string or array content`,400,"invalid_message_content","invalid_request_error");if(e==="tool"){if(typeof t.tool_call_id!="string"||!t.tool_call_id)throw W("Tool messages require tool_call_id",400,"invalid_tool_call_id","invalid_request_error")}else if(t.tool_call_id!==void 0)throw W("tool_call_id is only valid on tool messages",400,"invalid_tool_call_id","invalid_request_error");if(t.tool_calls!==void 0){if(e!=="assistant"||!Array.isArray(t.tool_calls))throw W("tool_calls must be an array on assistant messages",400,"invalid_tool_calls","invalid_request_error");for(let n of t.tool_calls)if(n?.type!=="function"||typeof n?.id!="string"||!n.id||typeof n?.function?.name!="string"||!n.function.name||typeof n?.function?.arguments!="string")throw W("Invalid function call in assistant tool_calls",400,"invalid_tool_calls","invalid_request_error")}return e==="developer"?{...t,role:"system"}:t}function PM(t,e){if(t!==void 0&&!Array.isArray(t))throw W("tools must be an array",400,"invalid_tools","invalid_request_error");for(let n of t||[])if(n?.type!=="function"||typeof n?.function?.name!="string"||!n.function.name)throw W("Only function tools are supported by Chat Completions inbound routes",400,"unsupported_tool","invalid_request_error");if(e!=null&&!["auto","none","required"].includes(e)&&!(e?.type==="function"&&typeof e?.function?.name=="string"&&e.function.name))throw W("Unsupported tool_choice",400,"unsupported_tool_choice","invalid_request_error")}function IM(t){if(!t.body)return t;let e=t.body.getReader(),n=new TextDecoder,r=new TextEncoder,o="",s=!1,i=(u,d=!1)=>{o+=u;let f=o.split(/\r?\n/);o=d?"":f.pop()||"";for(let h of f)/^data:\s*\[DONE\]\s*$/.test(h)&&(s=!0);d&&/^data:\s*\[DONE\]\s*$/.test(o)&&(s=!0,o="")},a=new ReadableStream({async pull(u){try{let{done:d,value:f}=await e.read();if(d){i(n.decode(),!0),s||u.enqueue(r.encode(`data: [DONE]
|
|
268
280
|
|
|
269
|
-
`)),u.close();return}let
|
|
281
|
+
`)),u.close();return}let h=n.decode(f,{stream:!0});i(h),u.enqueue(f)}catch{s||(u.enqueue(r.encode(`data: ${JSON.stringify({error:{message:"Upstream stream failed",type:"api_error",param:null,code:"provider_response_error"}})}
|
|
270
282
|
|
|
271
283
|
`)),u.enqueue(r.encode(`data: [DONE]
|
|
272
284
|
|
|
273
|
-
`))),u.close()}},cancel(u){return e.cancel(u)}});return new Response(
|
|
274
|
-
`);for(let
|
|
275
|
-
`))},
|
|
285
|
+
`))),u.close()}},cancel(u){return e.cancel(u)}});return new Response(a,{status:t.status,statusText:t.statusText,headers:t.headers})}var jl=class{static TransformerName="customparams";options;constructor(e={}){this.options=e}async transformRequestIn(e){let n={...e},r=Object.entries(this.options);for(let[o,s]of r)if(o in n)if(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);else continue;else n[o]=this.cloneValue(s);return n}async transformResponseOut(e){return e}deepMergeObjects(e,n){let r={...e};for(let[o,s]of Object.entries(n))o in r&&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):r[o]=this.cloneValue(s);return r}cloneValue(e){if(e===null||typeof e!="object")return e;if(Array.isArray(e))return e.map(r=>this.cloneValue(r));let n={};for(let[r,o]of Object.entries(e))n[r]=this.cloneValue(o);return n}};var Ll=class{constructor(e){this.options=e}options;static TransformerName="vercel";logger;endPoint="/v1/chat/completions";async transformRequestIn(e,n,r){e={...e,messages:Ge(e.messages),tools:Je(e.tools)},e.messages.forEach(s=>{Array.isArray(s.content)&&s.content.forEach(i=>{i.type==="image_url"&&(i.image_url.url.startsWith("http")||(i.image_url.url=`data:${i.media_type};base64,${i.image_url.url}`),delete i.media_type)})}),Object.assign(e,this.options||{});let o=e.providerOptions||{};return e.providerOptions={...o,gateway:{...o.gateway||{},caching:"auto"}},e}async transformResponseOut(e){if(e.headers.get("Content-Type")?.includes("application/json")){let n=await e.json();return new Response(JSON.stringify(n),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(e.headers.get("Content-Type")?.includes("stream")){if(!e.body)return e;let n=new TextDecoder,r=new TextEncoder,o=!1,s="",i=!1,a=!1,u="",d=new ReadableStream({start:async f=>{let h=e.body.getReader(),p=(C,m,w)=>{let _=C.split(`
|
|
286
|
+
`);for(let A of _)A.trim()&&m.enqueue(w.encode(A+`
|
|
287
|
+
`))},b=(C,m)=>{let{controller:w,encoder:_}=m;if(C.startsWith("data: ")&&C.trim()!=="data: [DONE]"){let A=C.slice(6);try{let S=JSON.parse(A);if(S.usage&&(this.logger?.debug({usage:S.usage,hasToolCall:a},"usage"),S.choices[0].finish_reason=a?"tool_calls":"stop"),S.choices?.[0]?.finish_reason==="error"&&w.enqueue(_.encode(`data: ${JSON.stringify({error:S.choices?.[0].error})}
|
|
276
288
|
|
|
277
|
-
`)),
|
|
289
|
+
`)),S.choices?.[0]?.delta?.content&&!m.hasTextContent()&&m.setHasTextContent(!0),S.choices?.[0]?.delta?.reasoning){m.appendReasoningContent(S.choices[0].delta.reasoning);let x={...S,choices:[{...S.choices?.[0],delta:{...S.choices[0].delta,thinking:{content:S.choices[0].delta.reasoning}}}]};x.choices?.[0]?.delta&&delete x.choices[0].delta.reasoning;let O=`data: ${JSON.stringify(x)}
|
|
278
290
|
|
|
279
|
-
`;w.enqueue(
|
|
291
|
+
`;w.enqueue(_.encode(O));return}if(S.choices?.[0]?.delta?.content&&m.reasoningContent()&&!m.isReasoningComplete()){m.setReasoningComplete(!0);let x=Date.now().toString(),O={...S,choices:[{...S.choices?.[0],delta:{...S.choices[0].delta,content:null,thinking:{content:m.reasoningContent(),signature:x}}}]};O.choices?.[0]?.delta&&delete O.choices[0].delta.reasoning;let q=`data: ${JSON.stringify(O)}
|
|
280
292
|
|
|
281
|
-
`;w.enqueue(
|
|
293
|
+
`;w.enqueue(_.encode(q))}S.choices?.[0]?.delta?.reasoning&&delete S.choices[0].delta.reasoning,S.choices?.[0]?.delta?.tool_calls?.length&&!Number.isNaN(parseInt(S.choices?.[0]?.delta?.tool_calls[0].id,10))&&S.choices?.[0]?.delta?.tool_calls.forEach(x=>{x.id=`call_${fn()}`}),S.choices?.[0]?.delta?.tool_calls?.length&&!a&&(a=!0),S.choices?.[0]?.delta?.tool_calls?.length&&m.hasTextContent()&&(typeof S.choices[0].index=="number"?S.choices[0].index+=1:S.choices[0].index=1);let T=`data: ${JSON.stringify(S)}
|
|
282
294
|
|
|
283
|
-
`;w.enqueue(
|
|
284
|
-
`))}}else w.enqueue(
|
|
285
|
-
`))};try{for(;;){let{done:
|
|
286
|
-
`);u=
|
|
287
|
-
`))}continue}let
|
|
288
|
-
`);u=
|
|
289
|
-
`))}}}catch(b){this.logger?.error("Stream error:",b),d.error(b)}finally{try{p.releaseLock()}catch(b){this.logger?.error("Error releasing reader lock:",b)}d.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 Cl=class{logger;name="openai-responses";endPoint="/v1/responses";async transformRequestOut(e,n){let r=ko();return n&&(n.responsesCallIdMap=r,n.protocolContext&&(n.protocolContext.responsesCallIdMap=r)),za(e,r)}async transformResponseIn(e,n){let r=n?.responsesCallIdMap||n?.protocolContext?.responsesCallIdMap||n?.req?.protocolContext?.responsesCallIdMap||ko(),o=n?.protocolContext?.originalModel||n?.req?.protocolContext?.originalModel,s=e.headers.get("Content-Type")||"";if(s.includes("application/json")){let i=await e.json();if(i?.object==="response")return new Response(JSON.stringify(i),{status:e.status,statusText:e.statusText,headers:e.headers});let c=sb(i,{originalModel:o,callIdMap:r});return new Response(JSON.stringify(c),{status:e.status,statusText:e.statusText,headers:e.headers})}return s.includes("text/event-stream")?this.convertUnifiedStreamToResponses(e,{callIdMap:r,originalModel:o}):e}convertUnifiedStreamToResponses(e,n){if(!e.body)return e;let r=ib({model:n.originalModel,callIdMap:n.callIdMap});return Fe(e,(o,s)=>{if(r.finished||!o.trim()||o.startsWith("event: "))return;if(!o.startsWith("data: ")){if(!o.startsWith(":")){let c=ei("Malformed upstream SSE event",r);s.controller.enqueue(ve(JSON.stringify(c),s.encoder)),r.finished=!0}return}let i=o.slice(5).trim();if(i==="[DONE]"){if(!r.finished)for(let c of Mf(r))s.controller.enqueue(ve(JSON.stringify(c),s.encoder));return}try{let c=JSON.parse(i);if(typeof c?.type=="string"&&c.type.startsWith("response.")){s.controller.enqueue(ve(JSON.stringify(c),s.encoder)),(c.type==="response.completed"||c.type==="response.failed")&&(r.finished=!0);return}if(c?.error&&!c?.choices){let f=ei(Ze(String(c.error.message||c.error))||"Upstream stream failed",r);s.controller.enqueue(ve(JSON.stringify(f),s.encoder)),r.finished=!0;return}let u=ub(c,r);for(let f of u)s.controller.enqueue(ve(JSON.stringify(f),s.encoder))}catch{let c=ei("Malformed JSON in upstream SSE event",r);s.controller.enqueue(ve(JSON.stringify(c),s.encoder)),r.finished=!0}},{onComplete:o=>{if(!r.finished)for(let s of Mf(r))o.controller.enqueue(ve(JSON.stringify(s),o.encoder))},onError:(o,s)=>{if(!r.finished){let i=o instanceof Error?o.message:String(o),c=ei(Ze(i)||"Upstream stream failed",r);s.controller.enqueue(ve(JSON.stringify(c),s.encoder)),r.finished=!0}return!0},logger:this.logger})}async transformRequestIn(e,n,r){e=structuredClone(e);let o=e.max_tokens??e.max_completion_tokens;if(o!=null&&(e.max_output_tokens=o),delete e.max_tokens,delete e.max_completion_tokens,e.reasoning&&(e.reasoning={...e.reasoning.effort?{effort:e.reasoning.effort}:{},...e.reasoning.summary?{summary:e.reasoning.summary}:{}}),e.stop!==void 0)throw W("stop cannot be represented by the Responses API provider adapter",400,"unsupported_stop","invalid_request_error");delete e.stream_options;let s=e.model||"";e=Qs(e,n,r);let i=ja(e.messages);e.messages=i;let c=[],u=!1;if(e.messages.filter(d=>d.role==="system").forEach((d,p)=>{Array.isArray(d.content)?d.content.forEach(h=>{let _="";typeof h=="string"?_=h:h&&typeof h=="object"&&"text"in h&&(_=h.text),c.push({role:"system",content:[{type:"input_text",text:_,...La(h,s)}]})}):p===0?e.instructions=d.content:c.push({role:"system",content:[{type:"input_text",text:String(d.content||"")}]})}),e.messages.forEach(d=>{if(d.role!=="system"){if(Array.isArray(d.content)){let p=d.content.map(h=>this.normalizeRequestContent(h,d.role,s)).filter(h=>h!==null);p.length>0?d.content=p:delete d.content}if(d.role==="tool"){let p={...d};p.type="function_call_output",p.call_id=yt(d.tool_call_id)??d.tool_call_id,p.output=d.content,delete p.cache_control,delete p.role,delete p.tool_call_id,delete p.content,c.push(p),u=!0;return}if(d.role==="assistant"&&Array.isArray(d.tool_calls)){let p=d.content&&(typeof d.content=="string"||Array.isArray(d.content)&&d.content.length>0);if(u=!1,p){let h={...d};delete h.tool_calls,c.push(h)}d.tool_calls.forEach(h=>{c.push({type:"function_call",arguments:h.function.arguments,name:h.function.name,call_id:yt(h.id)??h.id})});return}u&&d.role==="user"&&c.push({role:"assistant",content:""}),u=!1,c.push(d)}}),e.input=c,delete e.messages,Array.isArray(e.tools)){let d=e.tools.find(p=>p?.type==="web_search");e.tools=e.tools.filter(p=>p?.type!=="web_search").map(p=>(p.function.name==="WebSearch"&&p.function.parameters?.properties&&delete p.function.parameters.properties.allowed_domains,p.function.name==="Edit"?{type:p.type,name:p.function.name,description:p.function.description,parameters:{...p.function.parameters,required:["file_path","old_string","new_string","replace_all"]},strict:!0}:{type:p.type,name:p.function.name,description:p.function.description,parameters:p.function.parameters})),d&&e.tools.push({...d,type:"web_search"})}return e.tool_choice&&typeof e.tool_choice=="object"&&e.tool_choice.type==="function"&&(e.tool_choice={type:"function",name:e.tool_choice.function?.name}),e}async transformResponseOut(e){let n=e.headers.get("Content-Type")||"";if(n.includes("application/json")){let r=await e.json();if(r.object==="response"&&r.output){let o=this.convertResponseToChat(r);return new Response(JSON.stringify(o),{status:e.status,statusText:e.statusText,headers:e.headers})}return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(n.includes("text/event-stream")){if(!e.body)return e;let r=new Map,o=0,s=!1,i=u=>{let f=u.item_id||u.item?.id||(typeof u.output_index=="number"?`output:${u.output_index}`:void 0);if(f!==void 0){let d=r.get(f);if(d!==void 0)return d;let p=o++;return r.set(f,p),p}return o++},c=()=>{s=!0,r.clear()};return Fe(e,(u,f)=>{if(!s&&u.trim()&&!u.startsWith("event: "))if(u.startsWith("data: ")){let d=u.slice(5).trim();if(d==="[DONE]"){f.controller.enqueue(ve("[DONE]",f.encoder)),c();return}try{let p=JSON.parse(d);if(p.type==="response.failed"){c();let _=p.response?.error??{},b=Ze(String(_.message||"Upstream response failed"))||"Upstream response failed";f.controller.enqueue(ve(JSON.stringify({error:{message:b,type:typeof _.type=="string"?_.type:"api_error",code:typeof _.code=="string"?_.code:null}}),f.encoder)),f.controller.enqueue(ve("[DONE]",f.encoder));return}let h=this.convertStreamEvent(p,i);h&&f.controller.enqueue(ve(JSON.stringify(h),f.encoder)),p.type==="response.completed"&&(f.controller.enqueue(ve("[DONE]",f.encoder)),c())}catch{f.controller.enqueue(xe(u,f.encoder))}}else f.controller.enqueue(xe(u,f.encoder))})}return e}convertStreamEvent(e,n){if(e.type==="response.output_text.delta")return{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model,choices:[{index:0,delta:{content:e.delta||""},finish_reason:null}]};if(e.type==="response.output_item.added"&&e.item?.type==="function_call")return{id:e.item.call_id||e.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model||"gpt-5-codex-",choices:[{index:0,delta:{role:"assistant",tool_calls:[{index:n(e),id:yt(e.item.call_id||e.item.id)||e.item.call_id||e.item.id,function:{name:e.item.name||"",arguments:""},type:"function"}]},finish_reason:null}]};if(e.type==="response.output_item.added"&&e.item?.type==="message"){let r=[];(e.item.content||[]).forEach(s=>{s.type==="output_text"&&r.push({type:"text",text:s.text||""})});let o={role:"assistant"};return r.length===1&&r[0].type==="text"?o.content=r[0].text:r.length>0&&(o.content=r),o.content?{id:e.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model,choices:[{index:0,delta:o,finish_reason:null}]}:null}if(e.type==="response.output_text.annotation.added")return{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model||"gpt-5-codex",choices:[{index:0,delta:{annotations:[{type:"url_citation",url_citation:{url:e.annotation?.url||"",title:e.annotation?.title||"",content:"",start_index:e.annotation?.start_index||0,end_index:e.annotation?.end_index||0}}]},finish_reason:null}]};if(e.type==="response.function_call_arguments.delta")return{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model||"gpt-5-codex-",choices:[{index:0,delta:{tool_calls:[{index:n(e),function:{arguments:e.delta||""}}]},finish_reason:null}]};if(e.type==="response.completed"){let r=e.response?.output?.some(s=>s.type==="function_call")?"tool_calls":"stop",o={id:e.response?.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model||"gpt-5-codex-",choices:[{index:0,delta:{},finish_reason:r}]};return e.response?.usage&&(o.usage={prompt_tokens:e.response.usage.input_tokens||0,completion_tokens:e.response.usage.output_tokens||0,total_tokens:e.response.usage.total_tokens||0,prompt_tokens_details:{cached_tokens:e.response.usage.input_tokens_details?.cached_tokens||0,cache_write_tokens:e.response.usage.input_tokens_details?.cache_write_tokens||0}}),o}return e.type==="response.reasoning_summary_text.delta"?{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model,choices:[{index:0,delta:{thinking:{content:e.delta||""}},finish_reason:null}]}:e.type==="response.reasoning_summary_part.done"&&e.part?{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model,choices:[{index:0,delta:{thinking:{signature:e.item_id}},finish_reason:null}]}:null}normalizeRequestContent(e,n,r){if(e.type==="text")return{type:n==="assistant"?"output_text":"input_text",text:e.text,...La(e,r)};if(e.type==="image_url"){this.logger?.debug(e);let o={type:n==="assistant"?"output_image":"input_image"};return typeof e.image_url?.url=="string"&&(o.image_url=e.image_url.url),{...o,...La(e,r)}}return null}convertResponseToChat(e){let n=e.output?.find(u=>u.type==="message"),r=(e.output??[]).filter(u=>u.type==="function_call"),o;n?.content?.length&&n?.content[0].annotations&&(o=n.content[0].annotations.map(u=>({type:"url_citation",url_citation:{url:u.url||"",title:u.title||"",content:"",start_index:u.start_index||0,end_index:u.end_index||0}}))),this.logger?.debug?.({data:o,type:"url_citation"});let s=null,i=null,c=null;if(n&&n.reasoning&&(c={content:n.reasoning}),n&&n.content){let u=[],f=[];if(n.content.forEach(d=>{if(d.type==="output_text")u.push(d.text||"");else if(d.type==="output_image"){let p=this.buildImageContent({url:d.image_url,mime_type:d.mime_type});p&&f.push(p)}else if(d.type==="output_image_base64"){let p=this.buildImageContent({b64_json:d.image_base64,mime_type:d.mime_type});p&&f.push(p)}}),f.length>0){let d=[];u.length>0&&d.push({type:"text",text:u.join("")}),d.push(...f),s=d}else s=u.join("")}return r.length>0&&(i=r.map(u=>({id:yt(u.call_id||u.id)||u.call_id||u.id,function:{name:u.name,arguments:u.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:i,thinking:c,annotations:o},logprobs:null,finish_reason:i?"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,prompt_tokens_details:{cached_tokens:e.usage.input_tokens_details?.cached_tokens||0,cache_write_tokens:e.usage.input_tokens_details?.cache_write_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}};import{randomUUID as aM}from"crypto";import{execFileSync as cM}from"child_process";import{arch as nv,platform as og,release as uM}from"os";import{resolveCodexPat as rv}from"@caeliq/ccr-shared";import{closeSync as UN,existsSync as XE,fstatSync as jN,mkdirSync as LN,openSync as qN,readFileSync as $N,renameSync as zN,statSync as QE,unlinkSync as Qm,writeFileSync as HN}from"fs";import{dirname as WN,join as GN}from"path";import{homedir as JN}from"os";var VN=GN(JN(),".claude-code-router","codex_auth.json"),KN=300,YN=11520*60,XN=2*6e4,QN=35e3,ZE={client_id:"app_EMoamEEZ73f0CkXaXp7hrann",token_endpoint:"https://auth.openai.com/oauth/token"},wl=null;function Zm(){return process.env.CCR_CODEX_AUTH_FILE||VN}function Ym(){return`${Zm()}.refresh.lock`}function ZN(){return process.env.CODEX_OAUTH_TOKEN_ENDPOINT||ZE.token_endpoint}function eg(t){if(!t)return null;let e=t.split(".");if(e.length!==3||!e[1])return null;try{return JSON.parse(Buffer.from(e[1],"base64url").toString("utf8"))}catch{return null}}function kl(t){let e=t.account_id?.trim();return e||eg(t.id_token)?.["https://api.openai.com/auth"]?.chatgpt_account_id}function eM(t){return eg(t.id_token)?.["https://api.openai.com/auth"]?.chatgpt_account_is_fedramp===!0}function ev(t){let e=eg(t.access_token)?.exp;return Number.isFinite(e)?e:Number.isFinite(t.expires_at)?t.expires_at:void 0}function Sl(t){let e=kl(t),n=ev(t);return{...t,...e?{account_id:e}:{},...n?{expires_at:n}:{}}}function Xm(){try{let t=Zm();if(!XE(t))return null;let e=JSON.parse($N(t,"utf8"));return e.access_token?Sl(e):null}catch{return null}}function tM(t){let e=Zm();LN(WN(e),{recursive:!0});let n=Sl(t),r=`${e}.${process.pid}.${Date.now()}.tmp`;try{HN(r,JSON.stringify(n,null,2),{mode:384,encoding:"utf8"}),zN(r,e)}finally{try{XE(r)&&Qm(r)}catch{}}}function tv(t,e=KN){let n=ev(t);return n?Date.now()/1e3+e>=n:!!(t.last_refresh&&Date.now()/1e3>=t.last_refresh+YN)}function Km(t,e){let n=kl(e);if(t&&t!==n)throw new Error("Codex OAuth account changed while credentials were being refreshed. Retry the request.")}function nM(t){try{let e=JSON.parse(t),n=e?.error?.code||e?.error,r=e?.error?.message||e?.error_description;return[n,r].filter(o=>typeof o=="string").join(": ")}catch{return t.slice(0,240).replace(/(access_token|refresh_token|id_token)["']?\s*[:=]\s*["']?[^"',\s}]+/gi,"$1=<redacted>")}}async function rM(t){if(!t.refresh_token)throw new Error("Codex OAuth token cannot be refreshed because no refresh token is available. Run `ccr codex-auth` again.");let e=await fetch(ZN(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:ZE.client_id,grant_type:"refresh_token",refresh_token:t.refresh_token}),signal:AbortSignal.timeout(3e4)}),n=await e.text();if(!e.ok)throw new Error(`Codex OAuth token refresh failed (${e.status}): ${nM(n)}`);let r=JSON.parse(n);if(typeof r.access_token!="string"||!r.access_token)throw new Error("Codex OAuth token refresh response did not include an access token.");let o=Date.now()/1e3;return Sl({...t,access_token:r.access_token,refresh_token:r.refresh_token||t.refresh_token,id_token:r.id_token||t.id_token,token_type:r.token_type||t.token_type||"Bearer",scope:r.scope||t.scope,expires_at:r.expires_at||o+(typeof r.expires_in=="number"?r.expires_in:3600),account_id:r.account_id||t.account_id,last_refresh:o})}function oM(){let t=Ym();try{return qN(t,"wx",384)}catch(e){if(e?.code!=="EEXIST")throw e;try{Date.now()-QE(t).mtimeMs>XN&&Qm(t)}catch{}return null}}async function sM(t){let e=Date.now()+QN,n=null;for(;n===null&&(n=oM(),n===null);){if(Date.now()>=e)throw new Error("Timed out waiting for another CCR process to refresh Codex OAuth credentials.");await new Promise(r=>setTimeout(r,50))}try{return await t()}finally{let r=jN(n).ino;UN(n);try{QE(Ym()).ino===r&&Qm(Ym())}catch{}}}async function iM(t,e){return sM(async()=>{let n=Xm();if(!n)throw new Error("Codex OAuth credentials disappeared while refreshing. Run `ccr codex-auth` again.");Km(e.expectedAccountId,n);let r=e.previousAccessToken||t.access_token;if(n.access_token!==r||!e.force&&!tv(n))return n;let o=await rM(n);Km(e.expectedAccountId,o);let s=Xm();return s&&s.access_token!==n.access_token?(Km(e.expectedAccountId,s),s):(tM(o),o)})}async function tg(t={}){let e=Xm();if(!e)throw new Error("No Codex OAuth tokens found. Run `ccr codex-auth` to authenticate.");return!t.force&&!tv(e)?e:(wl||(wl=iM(e,{...t,expectedAccountId:t.expectedAccountId||kl(e)}).finally(()=>{wl=null})),wl)}function ng(t){let e=Sl(t);return{mode:"oauth",token:e.access_token,accountId:kl(e),isFedramp:eM(e)}}var lM=300*1e3,El=new Map,rg=new Map,sv="0.145.0",iv="codex_cli_rs",av="x-codex-turn-metadata",dM="x-codex-window-id",fM="x-codex-parent-thread-id",pM="session_id",hM="thread_id",mM="turn_id",gM="window_id";function yM(){switch(og()){case"darwin":return"Mac OS";case"linux":return"Linux";case"win32":return"Windows";default:return og()||"unknown"}}function _M(){switch(nv()){case"x64":return"x86_64";case"arm64":return"arm64";default:return nv()||"unknown"}}function bM(){if(og()==="darwin")try{return cM("sw_vers",["-productVersion"],{encoding:"utf8",stdio:["ignore","pipe","ignore"]}).trim()}catch{}return uM()||"unknown"}function CM(){return`${iv}/${sv} (${yM()} ${bM()}; ${_M()})`}function ov(t){let e=new URL(t);return e.searchParams.has("client_version")||e.searchParams.set("client_version",sv),e.toString()}function wM(t){return{session_id:t,thread_id:t,turn_id:aM(),window_id:`${t}:0`,request_kind:"turn",turn_started_at_unix_ms:Date.now()}}function kM(t){return{[pM]:t.session_id,[hM]:t.thread_id,[mM]:t.turn_id,[gM]:t.window_id,[av]:JSON.stringify(t)}}function SM(t,e){return!t||typeof t!="object"||Array.isArray(t)?{...e}:{...t,...e}}function EM(t){return{"session-id":t.session_id,"thread-id":t.thread_id,"x-client-request-id":t.thread_id,[dM]:t.window_id,[av]:JSON.stringify(t),[fM]:t.thread_id}}function vM(t){let e=t?.metadata?.user_id;if(typeof e!="string"||!e)return;let n=e.split("_session_");if(n.length>1&&n[1])return n[1];try{let r=JSON.parse(e);if(r&&typeof r.session_id=="string"&&r.session_id)return r.session_id}catch{}}function AM(t,e){return t?.req?.sessionId||vM(e)}function TM(t,e,n){if(!n)return;let r=wM(n);t.client_metadata=SM(t.client_metadata,kM(r)),Object.assign(e,EM(r))}var vl=class{name="codex";logger;streamIntent=new Map;async transformRequestIn(e,n,r){let o=r?.req?.id;o&&this.streamIntent.set(o,e.stream===!0);let s=await this.resolveAuth(n);delete e.temperature,delete e.max_tokens;let i=e.reasoning?.effort||n?.reasoningEffort;if(i){let b={effort:i},y=["auto","detailed","none"],w=n?.reasoningSummary;w&&y.includes(w)?w!=="none"&&(b.summary=w):b.summary="detailed",e.reasoning=b}else delete e.reasoning;let c=["low","medium","high"];n?.verbosity&&c.includes(n.verbosity)&&(e.verbosity=n.verbosity),e=Pf(e,r);let u=ja(e.messages);e.messages=u;let f=[],d=!1,p=e.messages.filter(b=>b.role==="system");if(p.length>0){let b=p[0],y;Array.isArray(b.content)?y=b.content.map(w=>typeof w=="string"?w:w&&typeof w=="object"&&"text"in w?w.text:"").filter(Boolean).join(`
|
|
290
|
-
`):
|
|
295
|
+
`;w.enqueue(_.encode(T))}catch{w.enqueue(_.encode(C+`
|
|
296
|
+
`))}}else w.enqueue(_.encode(C+`
|
|
297
|
+
`))};try{for(;;){let{done:C,value:m}=await h.read();if(C){u.trim()&&p(u,f,r);break}if(!m||m.length===0)continue;let w;try{w=n.decode(m,{stream:!0})}catch(A){this.logger?.warn("Failed to decode chunk",A);continue}if(w.length===0)continue;if(u+=w,u.length>1e6){this.logger?.warn("Buffer size exceeds limit, processing partial data");let A=u.split(`
|
|
298
|
+
`);u=A.pop()||"";for(let S of A)if(S.trim())try{b(S,{controller:f,encoder:r,hasTextContent:()=>o,setHasTextContent:T=>o=T,reasoningContent:()=>s,appendReasoningContent:T=>s+=T,isReasoningComplete:()=>i,setReasoningComplete:T=>i=T})}catch(T){this.logger?.error("Error processing line:",S,T),f.enqueue(r.encode(S+`
|
|
299
|
+
`))}continue}let _=u.split(`
|
|
300
|
+
`);u=_.pop()||"";for(let A of _)if(A.trim())try{b(A,{controller:f,encoder:r,hasTextContent:()=>o,setHasTextContent:S=>o=S,reasoningContent:()=>s,appendReasoningContent:S=>s+=S,isReasoningComplete:()=>i,setReasoningComplete:S=>i=S})}catch(S){this.logger?.error("Error processing line:",A,S),f.enqueue(r.encode(A+`
|
|
301
|
+
`))}}}catch(C){this.logger?.error("Stream error:",C),f.error(C)}finally{try{h.releaseLock()}catch(C){this.logger?.error("Error releasing reader lock:",C)}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 ql=class{logger;name="openai-responses";endPoint="/v1/responses";async transformRequestOut(e,n){let r=Do(),o=new Set;return n&&(n.responsesCallIdMap=r,n.responsesCustomToolNames=o,n.protocolContext&&(n.protocolContext.responsesCallIdMap=r,n.protocolContext.responsesCustomToolNames=o)),ec(e,r,o)}async transformResponseIn(e,n){let r=n?.responsesCallIdMap||n?.protocolContext?.responsesCallIdMap||n?.req?.protocolContext?.responsesCallIdMap||Do(),o=n?.protocolContext?.originalModel||n?.req?.protocolContext?.originalModel,s=n?.responsesCustomToolNames||n?.protocolContext?.responsesCustomToolNames||n?.req?.protocolContext?.responsesCustomToolNames||new Set,i=e.headers.get("Content-Type")||"";if(i.includes("application/json")){let a=await e.json();if(a?.object==="response")return new Response(JSON.stringify(a),{status:e.status,statusText:e.statusText,headers:e.headers});let u=Db(a,{originalModel:o,callIdMap:r,customToolNames:s});return new Response(JSON.stringify(u),{status:e.status,statusText:e.statusText,headers:e.headers})}return i.includes("text/event-stream")?this.convertUnifiedStreamToResponses(e,{callIdMap:r,originalModel:o,customToolNames:s}):e}convertUnifiedStreamToResponses(e,n){if(!e.body)return e;let r=Ob({model:n.originalModel,callIdMap:n.callIdMap,customToolNames:n.customToolNames});return Pe(e,(o,s)=>{if(r.finished||!o.trim()||o.startsWith("event: "))return;if(!o.startsWith("data: ")){if(!o.startsWith(":")){let a=ci("Malformed upstream SSE event",r);s.controller.enqueue(Ae(JSON.stringify(a),s.encoder)),r.finished=!0}return}let i=o.slice(5).trim();if(i==="[DONE]"){if(!r.finished)for(let a of np(r))s.controller.enqueue(Ae(JSON.stringify(a),s.encoder));return}try{let a=JSON.parse(i);if(typeof a?.type=="string"&&a.type.startsWith("response.")){s.controller.enqueue(Ae(JSON.stringify(a),s.encoder)),(a.type==="response.completed"||a.type==="response.failed")&&(r.finished=!0);return}if(a?.error&&!a?.choices){let d=ci(We(String(a.error.message||a.error))||"Upstream stream failed",r);s.controller.enqueue(Ae(JSON.stringify(d),s.encoder)),r.finished=!0;return}let u=Fb(a,r);for(let d of u)s.controller.enqueue(Ae(JSON.stringify(d),s.encoder))}catch{let a=ci("Malformed JSON in upstream SSE event",r);s.controller.enqueue(Ae(JSON.stringify(a),s.encoder)),r.finished=!0}},{onComplete:o=>{if(!r.finished)for(let s of np(r))o.controller.enqueue(Ae(JSON.stringify(s),o.encoder))},onError:(o,s)=>{if(!r.finished){let i=o instanceof Error?o.message:String(o),a=ci(We(i)||"Upstream stream failed",r);s.controller.enqueue(Ae(JSON.stringify(a),s.encoder)),r.finished=!0}return!0},logger:this.logger})}async transformRequestIn(e,n,r){e=structuredClone(e);let o=e.max_tokens??e.max_completion_tokens;if(o!=null&&(e.max_output_tokens=o),delete e.max_tokens,delete e.max_completion_tokens,e.reasoning){let f=Et(e.reasoning,e.thinking)?"none":St(e.reasoning.effort);e.reasoning={...f?{effort:f}:{},...f!=="none"&&e.reasoning.summary?{summary:e.reasoning.summary}:{}}}if(e.stop!==void 0)throw W("stop cannot be represented by the Responses API provider adapter",400,"unsupported_stop","invalid_request_error");delete e.stream_options;let s=e.model||"";e=ai(e,n,r);let i=Ka(e.messages);e.messages=i;let a=[],u=!1;if(e.messages.filter(f=>f.role==="system").forEach((f,h)=>{Array.isArray(f.content)?f.content.forEach(p=>{let b="";typeof p=="string"?b=p:p&&typeof p=="object"&&"text"in p&&(b=p.text),a.push({role:"system",content:[{type:"input_text",text:b,...Va(p,s)}]})}):h===0?e.instructions=f.content:a.push({role:"system",content:[{type:"input_text",text:String(f.content||"")}]})}),e.messages.forEach(f=>{if(f.role!=="system"){if(Array.isArray(f.content)){let h=f.content.map(p=>this.normalizeRequestContent(p,f.role,s)).filter(p=>p!==null);h.length>0?f.content=h:delete f.content}if(f.role==="tool"){let h={...f};h.type="function_call_output",h.call_id=yt(f.tool_call_id)??f.tool_call_id,h.output=f.content,delete h.cache_control,delete h.role,delete h.tool_call_id,delete h.content,a.push(h),u=!0;return}if(f.role==="assistant"&&Array.isArray(f.tool_calls)){let h=f.content&&(typeof f.content=="string"||Array.isArray(f.content)&&f.content.length>0);if(u=!1,h){let p={...f};delete p.tool_calls,a.push(p)}f.tool_calls.forEach(p=>{a.push({type:"function_call",arguments:p.function.arguments,name:p.function.name,call_id:yt(p.id)??p.id})});return}u&&f.role==="user"&&a.push({role:"assistant",content:""}),u=!1,a.push(f)}}),e.input=a,delete e.messages,Array.isArray(e.tools)){let f=p=>p?.type==="web_search"||p?.function?.name==="web_search",h=e.tools.find(f);e.tools=e.tools.filter(p=>!f(p)).map(p=>(p.function.name==="WebSearch"&&p.function.parameters?.properties&&delete p.function.parameters.properties.allowed_domains,p.function.name==="Edit"?{type:p.type,name:p.function.name,description:p.function.description,parameters:{...p.function.parameters,required:["file_path","old_string","new_string","replace_all"]},strict:!0}:{type:p.type,name:p.function.name,description:p.function.description,parameters:p.function.parameters})),h&&e.tools.push({type:"web_search"})}return e.tool_choice&&typeof e.tool_choice=="object"&&e.tool_choice.type==="function"&&(e.tool_choice={type:"function",name:e.tool_choice.function?.name}),e}async transformResponseOut(e){let n=e.headers.get("Content-Type")||"";if(n.includes("application/json")){let r=await e.json();if(r.object==="response"&&r.output){let o=this.convertResponseToChat(r);return new Response(JSON.stringify(o),{status:e.status,statusText:e.statusText,headers:e.headers})}return new Response(JSON.stringify(r),{status:e.status,statusText:e.statusText,headers:e.headers})}else if(n.includes("text/event-stream")){if(!e.body)return e;let r=new Map,o=0,s=!1,i=u=>{let d=u.item_id||u.item?.id||(typeof u.output_index=="number"?`output:${u.output_index}`:void 0);if(d!==void 0){let f=r.get(d);if(f!==void 0)return f;let h=o++;return r.set(d,h),h}return o++},a=()=>{s=!0,r.clear()};return Pe(e,(u,d)=>{if(!s&&u.trim()&&!u.startsWith("event: "))if(u.startsWith("data: ")){let f=u.slice(5).trim();if(f==="[DONE]"){d.controller.enqueue(Ae("[DONE]",d.encoder)),a();return}try{let h=JSON.parse(f);if(h.type==="response.failed"){a();let b=h.response?.error??{},C=We(String(b.message||"Upstream response failed"))||"Upstream response failed";d.controller.enqueue(Ae(JSON.stringify({error:{message:C,type:typeof b.type=="string"?b.type:"api_error",code:typeof b.code=="string"?b.code:null}}),d.encoder)),d.controller.enqueue(Ae("[DONE]",d.encoder));return}let p=this.convertStreamEvent(h,i);p&&d.controller.enqueue(Ae(JSON.stringify(p),d.encoder)),h.type==="response.completed"&&(d.controller.enqueue(Ae("[DONE]",d.encoder)),a())}catch{d.controller.enqueue(De(u,d.encoder))}}else d.controller.enqueue(De(u,d.encoder))})}return e}convertStreamEvent(e,n){if(e.type==="response.output_text.delta")return{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model,choices:[{index:0,delta:{content:e.delta||""},finish_reason:null}]};if(e.type==="response.output_item.added"&&e.item?.type==="function_call")return{id:e.item.call_id||e.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model||"gpt-5-codex-",choices:[{index:0,delta:{role:"assistant",tool_calls:[{index:n(e),id:yt(e.item.call_id||e.item.id)||e.item.call_id||e.item.id,function:{name:e.item.name||"",arguments:""},type:"function"}]},finish_reason:null}]};if(e.type==="response.output_item.added"&&e.item?.type==="message"){let r=[];(e.item.content||[]).forEach(s=>{s.type==="output_text"&&r.push({type:"text",text:s.text||""})});let o={role:"assistant"};return r.length===1&&r[0].type==="text"?o.content=r[0].text:r.length>0&&(o.content=r),o.content?{id:e.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model,choices:[{index:0,delta:o,finish_reason:null}]}:null}if(e.type==="response.output_text.annotation.added")return{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model||"gpt-5-codex",choices:[{index:0,delta:{annotations:[{type:"url_citation",url_citation:{url:e.annotation?.url||"",title:e.annotation?.title||"",content:"",start_index:e.annotation?.start_index||0,end_index:e.annotation?.end_index||0}}]},finish_reason:null}]};if(e.type==="response.function_call_arguments.delta")return{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model||"gpt-5-codex-",choices:[{index:0,delta:{tool_calls:[{index:n(e),function:{arguments:e.delta||""}}]},finish_reason:null}]};if(e.type==="response.completed"){let r=e.response?.output?.some(s=>s.type==="function_call")?"tool_calls":"stop",o={id:e.response?.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model||"gpt-5-codex-",choices:[{index:0,delta:{},finish_reason:r}]};return e.response?.usage&&(o.usage={prompt_tokens:e.response.usage.input_tokens||0,completion_tokens:e.response.usage.output_tokens||0,total_tokens:e.response.usage.total_tokens||0,prompt_tokens_details:{cached_tokens:e.response.usage.input_tokens_details?.cached_tokens||0,cache_write_tokens:e.response.usage.input_tokens_details?.cache_write_tokens||0}}),o}return e.type==="response.reasoning_summary_text.delta"?{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model,choices:[{index:0,delta:{thinking:{content:e.delta||""}},finish_reason:null}]}:e.type==="response.reasoning_summary_part.done"&&e.part?{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:e.response?.model,choices:[{index:0,delta:{thinking:{signature:e.item_id}},finish_reason:null}]}:null}normalizeRequestContent(e,n,r){if(e.type==="text")return{type:n==="assistant"?"output_text":"input_text",text:e.text,...Va(e,r)};if(e.type==="image_url"){this.logger?.debug(e);let o={type:n==="assistant"?"output_image":"input_image"};return typeof e.image_url?.url=="string"&&(o.image_url=e.image_url.url),{...o,...Va(e,r)}}return null}convertResponseToChat(e){let n=e.output?.find(u=>u.type==="message"),r=(e.output??[]).filter(u=>u.type==="function_call"),o;n?.content?.length&&n?.content[0].annotations&&(o=n.content[0].annotations.map(u=>({type:"url_citation",url_citation:{url:u.url||"",title:u.title||"",content:"",start_index:u.start_index||0,end_index:u.end_index||0}}))),this.logger?.debug?.({data:o,type:"url_citation"});let s=null,i=null,a=null;if(n&&n.reasoning&&(a={content:n.reasoning}),n&&n.content){let u=[],d=[];if(n.content.forEach(f=>{if(f.type==="output_text")u.push(f.text||"");else if(f.type==="output_image"){let h=this.buildImageContent({url:f.image_url,mime_type:f.mime_type});h&&d.push(h)}else if(f.type==="output_image_base64"){let h=this.buildImageContent({b64_json:f.image_base64,mime_type:f.mime_type});h&&d.push(h)}}),d.length>0){let f=[];u.length>0&&f.push({type:"text",text:u.join("")}),f.push(...d),s=f}else s=u.join("")}return r.length>0&&(i=r.map(u=>({id:yt(u.call_id||u.id)||u.call_id||u.id,function:{name:u.name,arguments:u.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:i,thinking:a,annotations:o},logprobs:null,finish_reason:i?"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,prompt_tokens_details:{cached_tokens:e.usage.input_tokens_details?.cached_tokens||0,cache_write_tokens:e.usage.input_tokens_details?.cache_write_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}};import{randomUUID as rB}from"crypto";import{execFileSync as oB}from"child_process";import{arch as $A,platform as Mg,release as sB}from"os";import{resolveCodexPat as zA}from"@caeliq/ccr-shared";import{closeSync as FM,existsSync as BA,fstatSync as NM,mkdirSync as MM,openSync as BM,readFileSync as UM,renameSync as jM,statSync as UA,unlinkSync as Dg,writeFileSync as LM}from"fs";import{dirname as qM,join as $M}from"path";import{homedir as zM}from"os";var HM=$M(zM(),".claude-code-router","codex_auth.json"),WM=300,GM=11520*60,JM=2*6e4,KM=35e3,jA={client_id:"app_EMoamEEZ73f0CkXaXp7hrann",token_endpoint:"https://auth.openai.com/oauth/token"},$l=null;function Og(){return process.env.CCR_CODEX_AUTH_FILE||HM}function Rg(){return`${Og()}.refresh.lock`}function VM(){return process.env.CODEX_OAUTH_TOKEN_ENDPOINT||jA.token_endpoint}function Pg(t){if(!t)return null;let e=t.split(".");if(e.length!==3||!e[1])return null;try{return JSON.parse(Buffer.from(e[1],"base64url").toString("utf8"))}catch{return null}}function zl(t){let e=t.account_id?.trim();return e||Pg(t.id_token)?.["https://api.openai.com/auth"]?.chatgpt_account_id}function YM(t){return Pg(t.id_token)?.["https://api.openai.com/auth"]?.chatgpt_account_is_fedramp===!0}function LA(t){let e=Pg(t.access_token)?.exp;return Number.isFinite(e)?e:Number.isFinite(t.expires_at)?t.expires_at:void 0}function Hl(t){let e=zl(t),n=LA(t);return{...t,...e?{account_id:e}:{},...n?{expires_at:n}:{}}}function xg(){try{let t=Og();if(!BA(t))return null;let e=JSON.parse(UM(t,"utf8"));return e.access_token?Hl(e):null}catch{return null}}function XM(t){let e=Og();MM(qM(e),{recursive:!0});let n=Hl(t),r=`${e}.${process.pid}.${Date.now()}.tmp`;try{LM(r,JSON.stringify(n,null,2),{mode:384,encoding:"utf8"}),jM(r,e)}finally{try{BA(r)&&Dg(r)}catch{}}}function qA(t,e=WM){let n=LA(t);return n?Date.now()/1e3+e>=n:!!(t.last_refresh&&Date.now()/1e3>=t.last_refresh+GM)}function Tg(t,e){let n=zl(e);if(t&&t!==n)throw new Error("Codex OAuth account changed while credentials were being refreshed. Retry the request.")}function QM(t){try{let e=JSON.parse(t),n=e?.error?.code||e?.error,r=e?.error?.message||e?.error_description;return[n,r].filter(o=>typeof o=="string").join(": ")}catch{return t.slice(0,240).replace(/(access_token|refresh_token|id_token)["']?\s*[:=]\s*["']?[^"',\s}]+/gi,"$1=<redacted>")}}async function ZM(t){if(!t.refresh_token)throw new Error("Codex OAuth token cannot be refreshed because no refresh token is available. Run `ccr codex-auth` again.");let e=await fetch(VM(),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:jA.client_id,grant_type:"refresh_token",refresh_token:t.refresh_token}),signal:AbortSignal.timeout(3e4)}),n=await e.text();if(!e.ok)throw new Error(`Codex OAuth token refresh failed (${e.status}): ${QM(n)}`);let r=JSON.parse(n);if(typeof r.access_token!="string"||!r.access_token)throw new Error("Codex OAuth token refresh response did not include an access token.");let o=Date.now()/1e3;return Hl({...t,access_token:r.access_token,refresh_token:r.refresh_token||t.refresh_token,id_token:r.id_token||t.id_token,token_type:r.token_type||t.token_type||"Bearer",scope:r.scope||t.scope,expires_at:r.expires_at||o+(typeof r.expires_in=="number"?r.expires_in:3600),account_id:r.account_id||t.account_id,last_refresh:o})}function eB(){let t=Rg();try{return BM(t,"wx",384)}catch(e){if(e?.code!=="EEXIST")throw e;try{Date.now()-UA(t).mtimeMs>JM&&Dg(t)}catch{}return null}}async function tB(t){let e=Date.now()+KM,n=null;for(;n===null&&(n=eB(),n===null);){if(Date.now()>=e)throw new Error("Timed out waiting for another CCR process to refresh Codex OAuth credentials.");await new Promise(r=>setTimeout(r,50))}try{return await t()}finally{let r=NM(n).ino;FM(n);try{UA(Rg()).ino===r&&Dg(Rg())}catch{}}}async function nB(t,e){return tB(async()=>{let n=xg();if(!n)throw new Error("Codex OAuth credentials disappeared while refreshing. Run `ccr codex-auth` again.");Tg(e.expectedAccountId,n);let r=e.previousAccessToken||t.access_token;if(n.access_token!==r||!e.force&&!qA(n))return n;let o=await ZM(n);Tg(e.expectedAccountId,o);let s=xg();return s&&s.access_token!==n.access_token?(Tg(e.expectedAccountId,s),s):(XM(o),o)})}async function Ig(t={}){let e=xg();if(!e)throw new Error("No Codex OAuth tokens found. Run `ccr codex-auth` to authenticate.");return!t.force&&!qA(e)?e:($l||($l=nB(e,{...t,expectedAccountId:t.expectedAccountId||zl(e)}).finally(()=>{$l=null})),$l)}function Fg(t){let e=Hl(t);return{mode:"oauth",token:e.access_token,accountId:zl(e),isFedramp:YM(e)}}var iB=300*1e3,Wl=new Map,Ng=new Map,WA="0.145.0",GA="codex_cli_rs",JA="x-codex-turn-metadata",aB="x-codex-window-id",cB="x-codex-parent-thread-id",uB="session_id",lB="thread_id",dB="turn_id",fB="window_id";function pB(){switch(Mg()){case"darwin":return"Mac OS";case"linux":return"Linux";case"win32":return"Windows";default:return Mg()||"unknown"}}function hB(){switch($A()){case"x64":return"x86_64";case"arm64":return"arm64";default:return $A()||"unknown"}}function mB(){if(Mg()==="darwin")try{return oB("sw_vers",["-productVersion"],{encoding:"utf8",stdio:["ignore","pipe","ignore"]}).trim()}catch{}return sB()||"unknown"}function gB(){return`${GA}/${WA} (${pB()} ${mB()}; ${hB()})`}function HA(t){let e=new URL(t);return e.searchParams.has("client_version")||e.searchParams.set("client_version",WA),e.toString()}function yB(t){return{session_id:t,thread_id:t,turn_id:rB(),window_id:`${t}:0`,request_kind:"turn",turn_started_at_unix_ms:Date.now()}}function _B(t){return{[uB]:t.session_id,[lB]:t.thread_id,[dB]:t.turn_id,[fB]:t.window_id,[JA]:JSON.stringify(t)}}function bB(t,e){return!t||typeof t!="object"||Array.isArray(t)?{...e}:{...t,...e}}function CB(t){return{"session-id":t.session_id,"thread-id":t.thread_id,"x-client-request-id":t.thread_id,[aB]:t.window_id,[JA]:JSON.stringify(t),[cB]:t.thread_id}}function wB(t){let e=t?.metadata?.user_id;if(typeof e!="string"||!e)return;let n=e.split("_session_");if(n.length>1&&n[1])return n[1];try{let r=JSON.parse(e);if(r&&typeof r.session_id=="string"&&r.session_id)return r.session_id}catch{}}function kB(t,e){return t?.req?.sessionId||wB(e)}function SB(t,e,n){if(!n)return;let r=yB(n);t.client_metadata=bB(t.client_metadata,_B(r)),Object.assign(e,CB(r))}var Gl=class{name="codex";logger;streamIntent=new Map;async transformRequestIn(e,n,r){let o=r?.req?.id;o&&this.streamIntent.set(o,e.stream===!0);let s=await this.resolveAuth(n);delete e.temperature,delete e.max_tokens;let a=Et(e.reasoning,e.thinking)?"none":St(e.reasoning?.effort)||St(n?.reasoningEffort);if(a){let m={effort:a},w=["auto","detailed","none"],_=n?.reasoningSummary;a!=="none"&&(_&&w.includes(_)?_!=="none"&&(m.summary=_):m.summary="detailed"),e.reasoning=m}else delete e.reasoning;let u=["low","medium","high"];n?.verbosity&&u.includes(n.verbosity)&&(e.verbosity=n.verbosity),e=Xf(e,r);let d=Ka(e.messages);e.messages=d;let f=[],h=!1,p=e.messages.filter(m=>m.role==="system");if(p.length>0){let m=p[0],w;Array.isArray(m.content)?w=m.content.map(_=>typeof _=="string"?_:_&&typeof _=="object"&&"text"in _?_.text:"").filter(Boolean).join(`
|
|
302
|
+
`):w=m.content,w&&(e.instructions=w)}if(e.instructions||(e.instructions=""),e.messages.forEach(m=>{if(m.role!=="system"){if(Array.isArray(m.content)){let w=m.content.map(_=>this.normalizeRequestContent(_,m.role)).filter(_=>_!==null);w.length>0?m.content=w:delete m.content}if(m.role==="tool"){let w={...m};w.type="function_call_output",w.call_id=yt(m.tool_call_id)??m.tool_call_id,w.output=m.content,delete w.cache_control,delete w.role,delete w.tool_call_id,delete w.content,f.push(w),h=!0;return}if(m.role==="assistant"&&Array.isArray(m.tool_calls)){h=!1,m.tool_calls.forEach(w=>{f.push({type:"function_call",arguments:w.function.arguments,name:w.function.name,call_id:yt(w.id)??w.id})});return}h&&m.role==="user"&&f.push({type:"message",role:"assistant",content:[{type:"output_text",text:""}]}),h=!1,typeof m.content=="string"?f.push({type:"message",role:m.role,content:[{type:m.role==="assistant"?"output_text":"input_text",text:m.content}]}):f.push({type:"message",role:m.role,content:m.content})}}),e.input=f,delete e.messages,e.store=!1,Array.isArray(e.tools)){let m=e.tools.find(w=>w.function.name==="web_search");e.tools=e.tools.filter(w=>w.function.name!=="web_search").map(w=>(w.function.name==="WebSearch"&&delete w.function.parameters.properties.allowed_domains,w.function.name==="Edit"?{type:w.type,name:w.function.name,description:w.function.description,parameters:{...w.function.parameters,required:["file_path","old_string","new_string","replace_all"]},strict:!0}:{type:w.type,name:w.function.name,description:w.function.description,parameters:w.function.parameters})),m&&e.tools.push({type:"web_search"})}e.parallel_tool_calls=n?.parallelToolCalls===!0,e.stream=!0;let b=this.buildAuthHeaders(s);SB(e,b,e.prompt_cache_key||kB(r,e));let C=n?.baseUrl||"https://chatgpt.com/backend-api/codex";return{body:e,config:{url:HA(`${C}/responses`),headers:b,__authRecovery:()=>this.recoverUnauthorizedAuth(n,s)}}}async auth(e,n){let r=await this.resolveAuth(n),o=this.buildAuthHeaders(r),s=n?.baseUrl||"https://chatgpt.com/backend-api/codex";return{body:e,config:{url:HA(`${s}/responses`),headers:o,__authRecovery:()=>this.recoverUnauthorizedAuth(n,r)}}}async resolveAuth(e){let n=zA(e?.apiKey,{allowBareEnvName:!0});return n?this.resolvePatAuth(n):Fg(await Ig())}buildAuthHeaders(e){let n={Authorization:`Bearer ${e.token}`,originator:GA,"User-Agent":gB()};return e.accountId&&(n["ChatGPT-Account-ID"]=e.accountId),e.isFedramp&&(n["X-OpenAI-Fedramp"]="true"),n}async recoverUnauthorizedAuth(e,n){if(n.mode==="pat")return Wl.delete(n.token),null;if(zA(e?.apiKey,{allowBareEnvName:!0}))return null;let r=await Ig({force:!0,previousAccessToken:n.token,expectedAccountId:n.accountId}),o=Fg(r);if(n.accountId&&o.accountId&&n.accountId!==o.accountId)throw new Error("Codex OAuth account changed during unauthorized recovery.");return this.buildAuthHeaders(o)}async resolvePatAuth(e){let n=Wl.get(e);if(n&&n.expiresAt>Date.now())return n.value;Wl.delete(e);let r=Ng.get(e);if(r)return r;let o=this.requestPatAuth(e).finally(()=>{Ng.delete(e)});return Ng.set(e,o),o}async requestPatAuth(e){let n=(process.env.CODEX_AUTHAPI_BASE_URL||"https://auth.openai.com/api/accounts").replace(/\/+$/,""),r=await fetch(`${n}/v1/user-auth-credential/whoami`,{headers:{Authorization:`Bearer ${e}`},signal:AbortSignal.timeout(15e3)});if(!r.ok)throw new Error(`Codex PAT metadata request failed (${r.status}). Verify that the configured at- token is valid and has Codex access.`);let o=await r.json();if(!o.chatgpt_account_id||!o.chatgpt_user_id||!o.chatgpt_plan_type)throw new Error("Codex PAT metadata response is missing required account, user, or plan information.");let s={mode:"pat",token:e,accountId:o.chatgpt_account_id,isFedramp:o.chatgpt_account_is_fedramp===!0};return Wl.set(e,{value:s,expiresAt:Date.now()+iB}),s}async transformResponseOut(e,n){let r=e.headers.get("Content-Type")||"",o=n?.req?.id,s=o?this.streamIntent.get(o):void 0;try{return await this.transformResponseOutInner(e,r,this,o,s)}finally{o&&this.streamIntent.delete(o)}}async transformResponseOutInner(e,n,r,o,s){let i=o?s!==!1:!0,a,u=d=>d?(a=d,d):a;if(!n||n.includes("text/event-stream")){if(!e.body)return e;let d=await this.readBodyAndPeek(e.clone().body);if(d&&(d.firstChar==="{"||d.firstChar==="[")){let A;try{A=JSON.parse(d.text)}catch{return i?new Response(this.jsonToSseStream(d.text),{status:e.status,statusText:e.statusText,headers:new Headers({"Content-Type":"text/event-stream"})}):new Response(d.text,{status:e.status,statusText:e.statusText,headers:new Headers({"Content-Type":"application/json"})})}let S=A?.object==="response"&&A.output?this.convertResponseToChat(A):A,T=JSON.stringify(S);return i?new Response(this.jsonToSseStream(T),{status:e.status,statusText:e.statusText,headers:new Headers({"Content-Type":"text/event-stream"})}):new Response(T,{status:e.status,statusText:e.statusText,headers:new Headers({"Content-Type":"application/json"})})}if(!i){let A=await this.collectSseIntoChatCompletion(e,u);return new Response(JSON.stringify(A),{status:e.status,statusText:e.statusText,headers:{"Content-Type":"application/json"}})}let f=-1,h="",p=A=>(A!==h&&(f++,h=A),f),C=Pe(e,(A,S)=>{if(A.trim()&&!A.startsWith("event: "))if(A.startsWith("data: ")){let T=A.slice(5).trim();if(T==="[DONE]"){S.controller.enqueue(Ae("[DONE]",S.encoder));return}try{let x=JSON.parse(T);x.response?.model&&(a=x.response.model);let O=r.convertStreamEvent(x,p,u);O&&S.controller.enqueue(Ae(JSON.stringify(O),S.encoder))}catch{S.controller.enqueue(De(A,S.encoder))}}else S.controller.enqueue(De(A,S.encoder))}).body,m=!1,w=null,_=new ReadableStream({start(A){w=C.getReader();let S=q=>{if(!m)try{A.enqueue(q)}catch{m=!0}},T=()=>{if(!m)try{A.close()}catch{}},x=q=>{if(!m)try{A.error(q)}catch{}},O=()=>{m||!w||w.read().then(({done:q,value:$})=>{if(q){T();return}$&&S($),O()}).catch(q=>{m||x(q)})};O()},cancel(){if(m=!0,w)try{w.cancel().catch(()=>{})}catch{}}});return new Response(_,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}else if(n.includes("application/json")){let d=await e.json();if(Array.isArray(d)){let f=new TextEncoder,h=-1,p="",b=m=>(m!==p&&(h++,p=m),h),C=new ReadableStream({start(m){for(let w of d){w?.response?.model&&(a=w.response.model);let _=r.convertStreamEvent(w,b,u);_&&m.enqueue(f.encode(`data: ${JSON.stringify(_)}
|
|
291
303
|
|
|
292
|
-
`))}
|
|
304
|
+
`))}m.enqueue(f.encode(`data: [DONE]
|
|
293
305
|
|
|
294
|
-
`)),
|
|
306
|
+
`)),m.close()}});return new Response(C,{status:e.status,statusText:e.statusText,headers:{"Content-Type":"text/event-stream"}})}if(d.object==="response"&&d.output){let f=this.convertResponseToChat(d);return new Response(JSON.stringify(f),{status:e.status,statusText:e.statusText,headers:new Headers({"Content-Type":"application/json"})})}return new Response(JSON.stringify(d),{status:e.status,statusText:e.statusText,headers:new Headers({"Content-Type":"application/json"})})}return e}convertStreamEvent(e,n,r){let o=i=>r?r(i):i,s=i=>i||o(void 0);if(e.type==="response.output_text.delta")return{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:n(e.type),delta:{content:e.delta||""},finish_reason:null}]};if(e.type==="response.output_item.added"&&e.item?.type==="function_call")return{id:e.item.call_id||e.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:n(e.type),delta:{role:"assistant",tool_calls:[{index:0,id:yt(e.item.call_id||e.item.id)||e.item.call_id||e.item.id,function:{name:e.item.name||"",arguments:""},type:"function"}]},finish_reason:null}]};if(e.type==="response.output_item.added"&&e.item?.type==="message"){let i=[];(e.item.content||[]).forEach(u=>{u.type==="output_text"&&i.push({type:"text",text:u.text||""})});let a={role:"assistant"};return i.length===1&&i[0].type==="text"?a.content=i[0].text:i.length>0&&(a.content=i),a.content?{id:e.item.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:n(e.type),delta:a,finish_reason:null}]}:null}if(e.type==="response.output_text.annotation.added")return{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:n(e.type),delta:{annotations:[{type:"url_citation",url_citation:{url:e.annotation?.url||"",title:e.annotation?.title||"",content:"",start_index:e.annotation?.start_index||0,end_index:e.annotation?.end_index||0}}]},finish_reason:null}]};if(e.type==="response.function_call_arguments.delta")return{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:n(e.type),delta:{tool_calls:[{index:0,function:{arguments:e.delta||""}}]},finish_reason:null}]};if(e.type==="response.completed"){let i=e.response?.output?.some(u=>u.type==="function_call")?"tool_calls":"stop",a={id:e.response?.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:0,delta:{},finish_reason:i}]};return e.response?.usage&&(a.usage={prompt_tokens:e.response.usage.input_tokens||0,completion_tokens:e.response.usage.output_tokens||0,total_tokens:e.response.usage.total_tokens||0,prompt_tokens_details:{cached_tokens:e.response.usage.input_tokens_details?.cached_tokens||0,cache_write_tokens:e.response.usage.input_tokens_details?.cache_write_tokens||0}}),a}return e.type==="response.reasoning_summary_text.delta"?{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:n(e.type),delta:{thinking:{content:e.delta||""}},finish_reason:null}]}:e.type==="response.reasoning_summary_text.done"?{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:n(e.type),delta:{thinking:{signature:e.item_id}},finish_reason:null}]}:e.type==="response.output_text.done"?{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:n(e.type),delta:{},finish_reason:null}]}:e.type==="response.output_item.done"?{id:e.item_id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:s(e.response?.model),choices:[{index:n(e.type),delta:{},finish_reason:null}]}:null}jsonToSseStream(e){let n=new TextEncoder,r;try{r=JSON.parse(e)}catch{r=null}let o=s=>n.encode(`data: ${JSON.stringify(s)}
|
|
295
307
|
|
|
296
|
-
`);return new ReadableStream({start(s){if(!r){s.close();return}let i={id:r.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:r.created||Math.floor(Date.now()/1e3),model:r.model||"unknown"},
|
|
308
|
+
`);return new ReadableStream({start(s){if(!r){s.close();return}let i={id:r.id||"chatcmpl-"+Date.now(),object:"chat.completion.chunk",created:r.created||Math.floor(Date.now()/1e3),model:r.model||"unknown"},a=r.choices?.[0];if(a){let u=a.message||{};if(typeof u.content=="string"&&u.content&&s.enqueue(o({...i,choices:[{index:0,delta:{role:"assistant",content:u.content},finish_reason:null}]})),u.thinking?.content&&s.enqueue(o({...i,choices:[{index:0,delta:{thinking:{content:u.thinking.content}},finish_reason:null}]})),Array.isArray(u.tool_calls))for(let f of u.tool_calls)s.enqueue(o({...i,choices:[{index:0,delta:{role:"assistant",tool_calls:[{index:0,id:f.id,type:"function",function:{name:f.function?.name||"",arguments:f.function?.arguments||""}}]},finish_reason:null}]}));let d={...i,choices:[{index:0,delta:{},finish_reason:a.finish_reason||"stop"}]};r.usage&&(d.usage={prompt_tokens:r.usage.prompt_tokens||0,completion_tokens:r.usage.completion_tokens||0,total_tokens:r.usage.total_tokens||0,...r.usage.prompt_tokens_details?{prompt_tokens_details:{...r.usage.prompt_tokens_details}}:{}}),s.enqueue(o(d))}s.enqueue(n.encode(`data: [DONE]
|
|
297
309
|
|
|
298
|
-
`)),s.close()}})}async readBodyAndPeek(e){let n=e.getReader(),r=new TextDecoder,o=()=>{try{n.releaseLock()}catch{}},s;try{s=await n.read()}catch(
|
|
299
|
-
`);s=O.pop()||"";for(let q of O){if(!q.startsWith("data: "))continue;let $=q.slice(5).trim();if(!(!$||$==="[DONE]"))try{let
|
|
310
|
+
`)),s.close()}})}async readBodyAndPeek(e){let n=e.getReader(),r=new TextDecoder,o=()=>{try{n.releaseLock()}catch{}},s;try{s=await n.read()}catch(f){throw o(),f}if(s.done)return o(),null;let i=r.decode(s.value,{stream:!0}),u=i.trimStart().charAt(0)||"";if(u!=="{"&&u!=="[")return o(),null;let d=i;try{for(;;){let f=await n.read();if(f.done)break;d+=r.decode(f.value,{stream:!0})}}finally{d+=r.decode(),o()}return{firstChar:u,text:d}}async collectSseIntoChatCompletion(e,n){let r=e.body.getReader(),o=new TextDecoder,s="",i="unknown",a="chatcmpl-"+Date.now(),u=Math.floor(Date.now()/1e3),d="",f="",h=[],p=new Map,b=null,C,m=-1,w="",_=T=>(T!==w&&(m++,w=T),m),A=()=>{let T={role:"assistant"};f&&(T.thinking={content:f,signature:""});let x=Array.from(p.values());x.length&&(T.tool_calls=x),h.length&&(T.annotations=h),d?T.content=d:x.length===0&&!f?T.content=null:T.content=d||null;let O={index:0,message:T,logprobs:null,finish_reason:x.length?"tool_calls":b||"stop"};return{id:a,object:"chat.completion",created:u,model:i||"unknown",choices:[O],usage:C||null}},S=T=>{if(!T)return;T.id&&(a=T.id),T.model&&(i=T.model),T.created&&(u=T.created),T.usage&&(C=T.usage);let x=T.choices?.[0];if(!x)return;x.finish_reason&&(b=x.finish_reason);let O=x.delta||{};if(O.role,typeof O.content=="string"&&O.content&&(d+=O.content),O.thinking?.content&&(f+=O.thinking.content),O.thinking?.signature,Array.isArray(O.annotations))for(let q of O.annotations)h.push(q);if(Array.isArray(O.tool_calls))for(let q of O.tool_calls){let $=q.index??0,z=p.get($)||{index:$,id:q.id,type:"function",function:{name:q.function?.name||"",arguments:""}};q.id&&(z.id=q.id),q.function?.name&&(z.function.name=q.function.name),typeof q.function?.arguments=="string"&&(z.function.arguments=(z.function.arguments||"")+q.function.arguments),p.set($,z)}};for(;;){let{done:T,value:x}=await r.read();if(T)break;s+=o.decode(x,{stream:!0});let O=s.split(`
|
|
311
|
+
`);s=O.pop()||"";for(let q of O){if(!q.startsWith("data: "))continue;let $=q.slice(5).trim();if(!(!$||$==="[DONE]"))try{let z=JSON.parse($);if(z.response?.model){let X=n(z.response.model);X&&(i=X)}let ce=this.convertStreamEvent(z,_,n);S(ce)}catch{}}}return A()}normalizeRequestContent(e,n){if(e.type==="text")return{type:n==="assistant"?"output_text":"input_text",text:e.text};if(e.type==="image_url"){this.logger?.debug(e);let r={type:n==="assistant"?"output_image":"input_image"};return typeof e.image_url?.url=="string"&&(r.image_url=e.image_url.url),r}return null}convertResponseToChat(e){let n=e.output?.find(u=>u.type==="message"),r=e.output?.find(u=>u.type==="function_call"),o;n?.content?.length&&n?.content[0].annotations&&(o=n.content[0].annotations.map(u=>({type:"url_citation",url_citation:{url:u.url||"",title:u.title||"",content:"",start_index:u.start_index||0,end_index:u.end_index||0}}))),this.logger.debug({data:o,type:"url_citation"});let s=null,i=null,a=null;if(n&&n.reasoning&&(a={content:n.reasoning}),n&&n.content){let u=[],d=[];if(n.content.forEach(f=>{if(f.type==="output_text")u.push(f.text||"");else if(f.type==="output_image"){let h=this.buildImageContent({url:f.image_url,mime_type:f.mime_type});h&&d.push(h)}else if(f.type==="output_image_base64"){let h=this.buildImageContent({b64_json:f.image_base64,mime_type:f.mime_type});h&&d.push(h)}}),d.length>0){let f=[];u.length>0&&f.push({type:"text",text:u.join("")}),f.push(...d),s=f}else s=u.join("")}return r&&(i=[{id:yt(r.call_id||r.id)||r.call_id||r.id,function:{name:r.name,arguments:r.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:i,thinking:a,annotations:o},logprobs:null,finish_reason:i?"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,prompt_tokens_details:{cached_tokens:e.usage.input_tokens_details?.cached_tokens||0,cache_write_tokens:e.usage.input_tokens_details?.cache_write_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}};import{existsSync as KA,readFileSync as EB,writeFileSync as AB,mkdirSync as vB}from"fs";import{join as VA}from"path";import{homedir as YA}from"os";var Bg=VA(YA(),".claude-code-router","qwen_auth.json"),TB="https://qwen.aikit.club",RB=1e4,xB=120;function DB(){try{if(!KA(Bg))return null;let t=JSON.parse(EB(Bg,"utf-8"));return t.token?t:null}catch{return null}}function OB(t){let e=VA(YA(),".claude-code-router");KA(e)||vB(e,{recursive:!0}),AB(Bg,JSON.stringify(t,null,2),{mode:384,encoding:"utf-8"})}function PB(t){try{let e=JSON.parse(Buffer.from(t.split(".")[1],"base64url").toString());if(e.exp)return e.exp*1e3}catch{}return null}async function IB(t){try{let e=await fetch(`${TB}/v1/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:t}),signal:AbortSignal.timeout(RB)});return e.ok&&(await e.json()).access_token||null}catch{return null}}async function XA(){let t=DB();if(!t)throw new Error("No Qwen token found. Run `ccr qwen-auth` to authenticate.");if(t.expiresAt&&Date.now()+xB*1e3>=t.expiresAt){let e=await IB(t.token);if(!e)throw new Error("Qwen token expired and refresh failed. Run `ccr qwen-auth` to re-authenticate.");t={token:e,expiresAt:PB(e),updatedAt:Date.now()},OB(t)}return t}var FB="https://qwen.aikit.club",QA=/(?:\\n|\n)?<details>[\s\S]*?<\/details>\s*/g,Jl=class{name="qwen-auth";logger;async buildAuthConfig(e){let n=await XA();return{url:e?.api_base_url||e?.baseUrl||FB,headers:{Authorization:`Bearer ${n.token}`}}}async transformRequestIn(e,n){return{body:Gr(e),config:await this.buildAuthConfig(n)}}async auth(e,n){return{config:await this.buildAuthConfig(n)}}async transformResponseOut(e){let n=e.headers.get("Content-Type")||"";if(!n||n.includes("text/event-stream"))return e.body?Pe(e,(r,o)=>{if(!r.trim()){o.controller.enqueue(De(r,o.encoder));return}if(r.startsWith("data: ")){let s=r.slice(5);if(s.trim()==="[DONE]"){o.controller.enqueue(De(r,o.encoder));return}let i=s.replace(QA,"");o.controller.enqueue(De(`data: ${i}`,o.encoder));return}o.controller.enqueue(De(r,o.encoder))}):e;if(n.includes("application/json")){let o=(await e.text()).replace(QA,"");return new Response(o,{status:e.status,statusText:e.statusText,headers:e.headers})}return e}};var Ug=`Always think before answering. Even if the problem seems simple, always write down your reasoning process explicitly.
|
|
300
312
|
|
|
301
313
|
Output format:
|
|
302
314
|
<reasoning_content>
|
|
303
315
|
Your detailed thinking process goes here
|
|
304
316
|
</reasoning_content>
|
|
305
|
-
Your final answer must follow after the closing tag above.`,
|
|
306
|
-
${o.content}`),delete o.thinking)});let r=e.messages[e.messages.length-1];return r.role==="user"&&(Array.isArray(r.content)?r.content.push({type:"text",text:
|
|
307
|
-
|
|
308
|
-
`)));return}let C=h+w;for(h="";C.length>0;)if(p==="SEARCHING"){let v=C.indexOf(n);if(v!==-1)C=C.substring(v+n.length),p="REASONING";else{for(let A=n.length-1;A>0;A--)if(C.endsWith(n.substring(0,A))){h=C.substring(C.length-A);break}C=""}}else if(p==="REASONING"){let v=C.indexOf(r);if(v!==-1){let A=C.substring(0,v);if(A.length>0){let O={...y.choices[0].delta,thinking:{content:A}};delete O.content;let q={...y,choices:[{...y.choices[0],delta:O,index:o}]};u.enqueue(i.encode(`data: ${JSON.stringify(q)}
|
|
309
|
-
|
|
310
|
-
`))}let T={...y.choices[0].delta,thinking:{signature:new Date().getTime().toString()}};delete T.content;let x={...y,choices:[{...y.choices[0],delta:T,index:o}]};u.enqueue(i.encode(`data: ${JSON.stringify(x)}
|
|
311
|
-
|
|
312
|
-
`)),o++,C=C.substring(v+r.length),p="FINAL"}else{let A=C;for(let T=r.length-1;T>0;T--)if(C.endsWith(r.substring(0,T))){h=C.substring(C.length-T),A=C.substring(0,C.length-T);break}if(A.length>0){let T={...y.choices[0].delta,thinking:{content:A}};delete T.content;let x={...y,choices:[{...y.choices[0],delta:T,index:o}]};u.enqueue(i.encode(`data: ${JSON.stringify(x)}
|
|
317
|
+
Your final answer must follow after the closing tag above.`,NB=10,Kl=class{logger;name="forcereasoning";async transformRequestIn(e){let n=0;e.messages.filter(o=>o.role==="assistant").reverse().forEach(o=>{o.thinking&&(o.thinking.content&&(!o.content||n<NB)&&(n++,o.content=`<reasoning_content>${o.thinking.content}</reasoning_content>
|
|
318
|
+
${o.content}`),delete o.thinking)});let r=e.messages[e.messages.length-1];return r.role==="user"&&(Array.isArray(r.content)?r.content.push({type:"text",text:Ug}):r.content=[{type:"text",text:Ug},{type:"text",text:r.content||""}]),r.role==="tool"&&e.messages.push({role:"user",content:[{type:"text",text:Ug}]}),e}async transformResponseOut(e){let n="<reasoning_content>",r="</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,i=o.choices[0]?.message.content.match(s);i&&i[1]&&(o.thinking={content:i[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,i=new TextEncoder,a=new ReadableStream({start:async u=>{let d=e.body.getReader(),f="",h="SEARCHING",p="",b="",C=(m,w)=>{if(typeof w!="string"){m.choices?.[0]?.delta&&Object.keys(m.choices[0].delta).length>0&&!m.choices[0].delta.content&&(m.choices[0].index=o,u.enqueue(i.encode(`data: ${JSON.stringify(m)}
|
|
313
319
|
|
|
314
|
-
`))}
|
|
320
|
+
`)));return}let _=p+w;for(p="";_.length>0;)if(h==="SEARCHING"){let A=_.indexOf(n);if(A!==-1)_=_.substring(A+n.length),h="REASONING";else{for(let S=n.length-1;S>0;S--)if(_.endsWith(n.substring(0,S))){p=_.substring(_.length-S);break}_=""}}else if(h==="REASONING"){let A=_.indexOf(r);if(A!==-1){let S=_.substring(0,A);if(S.length>0){let O={...m.choices[0].delta,thinking:{content:S}};delete O.content;let q={...m,choices:[{...m.choices[0],delta:O,index:o}]};u.enqueue(i.encode(`data: ${JSON.stringify(q)}
|
|
315
321
|
|
|
316
|
-
`))
|
|
317
|
-
`);d=v.pop()||"";for(let A of v)if(A.trim()){if(A.trim()==="data: [DONE]"){u.enqueue(i.encode(A+`
|
|
322
|
+
`))}let T={...m.choices[0].delta,thinking:{signature:new Date().getTime().toString()}};delete T.content;let x={...m,choices:[{...m.choices[0],delta:T,index:o}]};u.enqueue(i.encode(`data: ${JSON.stringify(x)}
|
|
318
323
|
|
|
319
|
-
`))
|
|
320
|
-
`))}else u.enqueue(i.encode(A+`
|
|
321
|
-
`))}}}catch(y){this.logger?.error("Stream error:",y),u.error(y)}finally{try{f.releaseLock()}catch(y){this.logger?.error("Error releasing reader lock:",y)}if(p==="REASONING"){let w={choices:[{delta:{thinking:{signature:new Date().getTime().toString()}}}]};u.enqueue(i.encode(`data: ${JSON.stringify(w)}
|
|
324
|
+
`)),o++,_=_.substring(A+r.length),h="FINAL"}else{let S=_;for(let T=r.length-1;T>0;T--)if(_.endsWith(r.substring(0,T))){p=_.substring(_.length-T),S=_.substring(0,_.length-T);break}if(S.length>0){let T={...m.choices[0].delta,thinking:{content:S}};delete T.content;let x={...m,choices:[{...m.choices[0],delta:T,index:o}]};u.enqueue(i.encode(`data: ${JSON.stringify(x)}
|
|
322
325
|
|
|
323
|
-
`))}
|
|
326
|
+
`))}_=""}}else if(h==="FINAL"){if(_.length>0)if(/^\s*$/.test(_))b+=_;else{let S=b+_,T={...m.choices[0].delta,content:S};T.thinking&&delete T.thinking;let x={...m,choices:[{...m.choices[0],delta:T}]};u.enqueue(i.encode(`data: ${JSON.stringify(x)}
|
|
324
327
|
|
|
325
|
-
`))
|
|
326
|
-
`);
|
|
328
|
+
`)),b=""}o++,_=""}};try{for(;;){let{done:m,value:w}=await d.read();if(m)break;let _=s.decode(w,{stream:!0});f+=_;let A=f.split(`
|
|
329
|
+
`);f=A.pop()||"";for(let S of A)if(S.trim()){if(S.trim()==="data: [DONE]"){u.enqueue(i.encode(S+`
|
|
327
330
|
|
|
328
|
-
`));
|
|
329
|
-
`))}else u.enqueue(
|
|
330
|
-
`))}}}catch(
|
|
331
|
-
`)}}return e.cache_control&&delete e.cache_control,e}function qM(t){return t==="auto"||t==="none"?t:t==="required"?"any":typeof t=="object"&&t.function?.name?{type:"function",function:{name:t.function.name}}:t}function $M(t){let e=t.effort?.toLowerCase();if(!(!e||e==="none"))return e==="low"||e==="medium"||e==="high"?e:"high"}var pv=new Set(["mistral-small-2506","mistral-medium-2505","mistral-medium-2508"]);function hv(t,e,n){let r={...t};Array.isArray(r.messages)&&(r.messages=r.messages.map(s=>LM(s))),r.stream===void 0&&(r.stream=!0);let o=zt(e,t);if(o&&(r.prompt_cache_key=o),r.tool_choice&&(r.tool_choice=qM(r.tool_choice)),Array.isArray(r.tools)&&(r.tools=r.tools.map(s=>{let{cache_control:i,...c}=s;return c?.function?.parameters?{...c,function:{...c.function,parameters:oc(c.function.parameters)}}:c})),r.reasoning&&r.model){let s=r.model;(s.startsWith("magistral-")||s.startsWith("labs-leanstral-")||s==="mistral-vibe-cli-fast"||s.startsWith("mistral-small-")&&!pv.has(s)||s.startsWith("mistral-medium-")&&!pv.has(s))&&(r.reasoning_effort=$M(r.reasoning)),delete r.reasoning}return r}async function mv(t,e,n){let r=t.headers.get("Content-Type")??"";if(r.includes("application/json")){let o=await t.json();n?.debug({response:o},`${e} response:`);let s=o.choices?.[0];if(s?.message){let i=s.message,c="";if(i.reasoning_content){let u=i.reasoning_content;c+=typeof u=="string"?u:typeof u?.text=="string"?u.text:JSON.stringify(u),delete i.reasoning_content}if(Array.isArray(i.content)){let u="";for(let f of i.content)if(f.type==="thinking"){let d=Array.isArray(f.thinking)?f.thinking:[f.thinking];c+=d.map(p=>typeof p=="string"?p:p&&typeof p.text=="string"?p.text:JSON.stringify(p)).join("")}else f.type==="text"&&(u+=typeof f.text=="string"?f.text:JSON.stringify(f.text??""));i.content=u}c&&(o.thinking={content:c})}return new Response(JSON.stringify(o),{status:t.status,statusText:t.statusText,headers:t.headers})}else if(r.includes("stream"))return t.body?Fe(t,(o,s)=>{if(!o.trim()){s.controller.enqueue(xe(o,s.encoder));return}if(!o.startsWith("data:")||o.trim()==="data: [DONE]"){s.controller.enqueue(xe(o,s.encoder));return}try{let i=o.slice(5).trim(),c=JSON.parse(i),u=c.choices?.[0]?.delta;if(!u){s.controller.enqueue(xe(o,s.encoder));return}let f=as(u);if(f){let d=Tr(c,{content:f});Rr(d.choices[0].delta);let p=u.content;if(Array.isArray(p)){let h="",_=p.filter(b=>b.type==="text").map(b=>typeof b.text=="string"?b.text:JSON.stringify(b.text??"")).join("");for(let b of p)if(b.type==="thinking"){let y=Array.isArray(b.thinking)?b.thinking:[b.thinking];h+=y.map(w=>typeof w=="string"?w:w&&typeof w.text=="string"?w.text:JSON.stringify(w)).join("")}delete d.choices[0].delta.content,(h||f)&&(d.choices[0].delta.thinking={content:h||f}),_&&(d.choices[0].delta.content=_)}s.controller.enqueue(ve(JSON.stringify(d),s.encoder));return}if(Array.isArray(u.content)){let d="",p=u.content.filter(h=>h.type==="text").map(h=>typeof h.text=="string"?h.text:JSON.stringify(h.text??"")).join("");for(let h of u.content)if(h.type==="thinking"){let _=Array.isArray(h.thinking)?h.thinking:[h.thinking];d+=_.map(b=>typeof b=="string"?b:b&&typeof b.text=="string"?b.text:JSON.stringify(b)).join("")}delete u.content,d&&(u.thinking={content:d}),p&&(u.content=p)}s.controller.enqueue(ve(JSON.stringify(c),s.encoder))}catch{s.controller.enqueue(xe(o,s.encoder))}}):t;return t}var xl=class{name="mistral";logger;async transformRequestIn(e,n,r){return{body:hv(e,r,n),config:{url:new URL("/v1/chat/completions",n.baseUrl),headers:{Authorization:`Bearer ${n.apiKey}`}}}}transformRequestOut;async transformResponseOut(e,n){try{return await mv(e,this.name,this.logger)}catch(r){throw this.logger?.error({error:r.message,response:e},"Mistral transformResponseOut error:"),r}}};var zM="http://127.0.0.1:3457",Dl=class{name="chrome-on-device";async transformRequestIn(e,n,r){let o=process.env.CHROME_BRIDGE_URL||n?.baseUrl||zM;r?.req?.body&&(r.req.body.stream=!0);let s=zt(r,e);return{body:{...e,messages:We(e.messages),tools:Ge(e.tools),stream:!0},config:{url:`${o}/v1/chat/completions`,headers:{"Content-Type":"application/json",...s?{"x-ccr-session-id":s}:{}}}}}async transformResponseOut(e){return(e.headers.get("Content-Type")||"").includes("text/event-stream")||!e.body,e}};import{randomBytes as HM,createHash as WM}from"crypto";var GM="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",gv=3,Ol=class{name="opencode-headers";sessionCache=new Map;MAX_SESSIONS=100;lastTimestamp=0;counter=0;async transformRequestIn(e,n,r){let o=r?.req?.sessionId||this.fingerprintConversation(e,r),s=e.body||e,i=e.config||{},c=await this.sendWithSessionRetry(s,i,n,r,o);return{body:s,config:{...i,url:n?.baseUrl||n?.api_base_url,__providerResponse:c}}}async sendWithSessionRetry(e,n,r,o,s){let i=r?.baseUrl||r?.api_base_url,c=o?.req?.server?.configService?.getHttpsProxy?.(),u=o?.req?.log??o?.req?.server?.log,f=e?.model;for(let d=0;d<gv;d++){let p=this.buildHeaders(n,r,s),h=await wo(i,e,{httpsProxy:c,...n,headers:p,signal:o?.signal??n?.signal},o,u);if(h.ok)return h;let _=await h.text();if(!(d===gv-1)&&this.isZenRoutingFailure(h.status,_)){this.invalidateSession(s),u?.warn?.({provider:r?.name,model:f,status:h.status,attempt:d+1},"opencode: Zen provider-routing failure \u2014 re-rolling session and retrying");continue}let y=Ze(_)||_.slice(0,240);throw W(`Error from provider(${r?.name},${f}: ${h.status}): ${y}`,h.status,"provider_response_error","api_error",this.retryAfterHeaders(h))}throw W(`Error from provider(${r?.name},${f}): Zen provider-routing retries exhausted`,503,"provider_response_error")}buildHeaders(e,n,r){let o=this.getOrCreateSessionId(r),s=this.generateId("msg");return{...e?.headers,"x-api-key":n.apiKey||"","x-opencode-project":"global","x-opencode-session":o,"x-opencode-request":s,"x-opencode-client":"cli","user-agent":"opencode/1.18.4",authorization:void 0}}isZenRoutingFailure(e,n){if(e!==401&&e!==400)return!1;let r;try{r=JSON.parse(n)}catch{return!1}let o=String(r?.error?.message||"");return!!(e===401&&r?.error?.type==="ModelError"&&/no provider available/i.test(o)||e===400&&/upstream request failed/i.test(o))}retryAfterHeaders(e){let n=e.headers.get("retry-after");return n?{"Retry-After":n}:void 0}fingerprintConversation(e,n){let r=e.body||e,o=r.model||"",s=r.messages||[],i=JSON.stringify(s.slice(0,3)),c=n?.req?.headers?.["x-forwarded-for"]||n?.req?.ip||"",u=n?.req?.headers?.["user-agent"]||"";return WM("sha256").update(`${o}|${c}|${u}|${i}`).digest("hex").slice(0,32)}getOrCreateSessionId(e){let n=this.sessionCache.get(e);if(n)return n;if(this.sessionCache.size>=this.MAX_SESSIONS){let o=this.sessionCache.keys().next().value;o!==void 0&&this.sessionCache.delete(o)}let r=this.generateId("ses");return this.sessionCache.set(e,r),r}invalidateSession(e){this.sessionCache.delete(e)}generateId(e){let n=Date.now();n!==this.lastTimestamp&&(this.lastTimestamp=n,this.counter=0),this.counter++;let r=BigInt(n)*BigInt(4096)+BigInt(this.counter),o=Buffer.alloc(6);for(let i=0;i<6;i++)o[i]=Number(r>>BigInt(40-8*i)&BigInt(255));let s="";for(;s.length<14;){let i=HM(1)[0];i>=248||(s+=GM[i%62])}return`${e}_${o.toString("hex")}${s}`}};import{randomUUID as Iv}from"crypto";import{existsSync as Pl,readFileSync as _v,writeFileSync as bv,mkdirSync as Cv}from"fs";import{dirname as wv,join as kv}from"path";import{homedir as Sv}from"os";import{randomBytes as JM}from"crypto";var VM=kv(Sv(),".claude-code-router","claude_auth.json"),KM=kv(Sv(),".claude-code-router","claude_device.json"),YM=/^[0-9a-f]{64}$/;function Ev(){return process.env.CCR_CLAUDE_AUTH_FILE||VM}function XM(){return process.env.CCR_CLAUDE_DEVICE_FILE||KM}var yv={client_id:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorization_endpoint:"https://claude.ai/oauth/authorize",token_endpoint:"https://platform.claude.com/v1/oauth/token",scope:"user:profile user:inference user:sessions:claude_code user:mcp_servers"};function ag(){try{let t=Ev();if(!Pl(t))return null;let e=_v(t,"utf-8"),n=JSON.parse(e);return n.access_token?n:null}catch{return null}}function cg(t){let e=Ev(),n=wv(e);Pl(n)||Cv(n,{recursive:!0}),bv(e,JSON.stringify(t,null,2),{mode:384,encoding:"utf-8"})}function QM(t,e=60){return t.expires_at?Date.now()/1e3+e>=t.expires_at:!1}async function ug(t){let e=await fetch(yv.token_endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({grant_type:"refresh_token",client_id:yv.client_id,refresh_token:t})});if(!e.ok){let r=await e.text();throw new Error(`Token refresh failed (${e.status}): ${r}`)}let n=await e.json();return{access_token:n.access_token,refresh_token:n.refresh_token,id_token:n.id_token,token_type:n.token_type||"Bearer",scope:n.scope,expires_at:n.expires_at||Date.now()/1e3+(n.expires_in||3600),last_refresh:Date.now()/1e3}}async function vv(){let t=ag();if(!t)throw new Error("No Claude OAuth tokens found. Run `ccr claude-auth` to authenticate.");if(QM(t)){if(!t.refresh_token)throw new Error("Claude OAuth token expired and no refresh token available. Run `ccr claude-auth` to re-authenticate.");t=await ug(t.refresh_token),cg(t)}return t}function Av(){let t=XM();try{if(Pl(t)){let r=JSON.parse(_v(t,"utf-8"));if(typeof r.device_id=="string"&&YM.test(r.device_id))return r.device_id}}catch{}let e=JM(32).toString("hex"),n=wv(t);return Pl(n)||Cv(n,{recursive:!0}),bv(t,JSON.stringify({device_id:e},null,2),{mode:384,encoding:"utf-8"}),e}import{createHash as ZM,randomBytes as eB}from"crypto";var tB="59cf53e54c78",dg=process.env.ANTHROPIC_CLI_VERSION||"2.1.220",fg=process.env.CLAUDE_CODE_ENTRYPOINT||"cli",hs="You are Claude Code, Anthropic's official CLI for Claude.";function nB(t){return typeof t=="string"?t:Array.isArray(t)?t.find(n=>n.type==="text")?.text??"":""}function rB(t){let e=t?.find(n=>n.role==="user");return e?nB(e.content):""}function oB(t,e){let n=[4,7,20].map(r=>t[r]||"0").join("");return ZM("sha256").update(tB+n+e).digest("hex").slice(0,3)}var lg;function sB(){return lg||(lg=eB(3).toString("hex").slice(0,5)),lg}function iB(t,e=dg,n=fg){let r=oB(rB(t),e);return`${ti}: cc_version=${e}.${r}; cc_entrypoint=${n}; cch=${sB()};`}function Tv(t){let e=[],n=r=>{if(typeof r=="string"){r&&e.push({type:"text",text:r});return}if(Array.isArray(r)){for(let o of r)if(o?.type==="text"&&o.text){let s={type:"text",text:o.text};o.cache_control!==void 0&&(s.cache_control=o.cache_control),e.push(s)}}};if((typeof t.system=="string"||Array.isArray(t.system))&&n(t.system),Array.isArray(t.messages)){let r=[];for(let o of t.messages)o.role==="system"||o.role==="developer"?n(o.content):r.push(o);t.messages=r}return t.system=e,e}function Rv(t,e){for(let n=t.length-1;n>=0;n--)t[n].text.startsWith(ti)&&t.splice(n,1);t.unshift({type:"text",text:iB(e)})}function xv(t){let n=t[1];if(n?.text!==hs){if(n?.text.startsWith(hs)&&n.text.length>hs.length){let r={type:"text",text:n.text.slice(hs.length)};n.cache_control!==void 0&&(r.cache_control=n.cache_control),t.splice(1,1,{type:"text",text:hs},r);return}t.splice(1,0,{type:"text",text:hs})}}function Dv(t,e){if(t.length<=2||!Array.isArray(e))return;let n=e.find(s=>s.role==="user");if(!n)return;let o=t.splice(2).map(s=>s.text).filter(s=>s.length>0).join(`
|
|
331
|
+
`));break}if(S.startsWith("data:"))try{let T=JSON.parse(S.slice(5));C(T,T.choices?.[0]?.delta?.content)}catch{u.enqueue(i.encode(S+`
|
|
332
|
+
`))}else u.enqueue(i.encode(S+`
|
|
333
|
+
`))}}}catch(m){this.logger?.error("Stream error:",m),u.error(m)}finally{try{d.releaseLock()}catch(m){this.logger?.error("Error releasing reader lock:",m)}if(h==="REASONING"){let w={choices:[{delta:{thinking:{signature:new Date().getTime().toString()}}}]};u.enqueue(i.encode(`data: ${JSON.stringify(w)}
|
|
332
334
|
|
|
333
|
-
`);
|
|
335
|
+
`))}u.close()}}});return new Response(a,{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 Vl=class{name="extrathinktag";async transformRequestIn(e){return e}async transformResponseOut(e){let n="<think>",r="</think>";if(e.headers.get("Content-Type")?.includes("application/json"))try{let u=await e.json(),d=u?.choices?.[0]?.message?.content;if(typeof d=="string"){let f=d.match(/<think>([\s\S]*?)<\/think>/);f?.[1]&&(u.thinking={content:f[1]})}return new Response(JSON.stringify(u),{status:e.status,statusText:e.statusText,headers:e.headers})}catch{return e}if(!e.headers.get("Content-Type")?.includes("stream")||!e.body)return e;let o=new TextDecoder,s=new TextEncoder,i=0,a=new ReadableStream({async start(u){let d=e.body.getReader(),f="",h="SEARCHING",p="",b="",C=w=>{u.enqueue(s.encode(`data: ${JSON.stringify(w)}
|
|
334
336
|
|
|
335
|
-
|
|
336
|
-
`));
|
|
337
|
+
`))},m=(w,_)=>{if(typeof _!="string"&&w?.choices?.[0]?.delta&&Object.keys(w.choices[0].delta).length>0&&!w.choices[0].delta.content){w.choices[0].index=i,C(w);return}if(typeof _!="string")return;let A=p+_;for(p="";A.length>0;){if(h==="SEARCHING"){let S=A.indexOf(n);if(S!==-1){A=A.substring(S+n.length),h="THINKING";continue}for(let T=n.length-1;T>0;T--)if(A.endsWith(n.substring(0,T))){p=A.substring(A.length-T);break}A="";continue}if(h==="THINKING"){let S=A.indexOf(r);if(S!==-1){let x=A.substring(0,S);if(x.length>0){let q={...w.choices[0].delta,thinking:{content:x}};delete q.content,C({...w,choices:[{...w.choices[0],delta:q,index:i}]})}let O={...w.choices[0].delta,thinking:{signature:Date.now().toString()}};delete O.content,C({...w,choices:[{...w.choices[0],delta:O,index:i}]}),i++,A=A.substring(S+r.length),h="FINAL";continue}let T=A;for(let x=r.length-1;x>0;x--)if(A.endsWith(r.substring(0,x))){p=A.substring(A.length-x),T=A.substring(0,A.length-x);break}if(T.length>0){let x={...w.choices[0].delta,thinking:{content:T}};delete x.content,C({...w,choices:[{...w.choices[0],delta:x,index:i}]})}A="";continue}if(A.length>0)if(/^\s*$/.test(A))b+=A;else{let S=b+A,T={...w.choices[0].delta,content:S};T.thinking&&delete T.thinking,C({...w,choices:[{...w.choices[0],delta:T}]}),b=""}i++,A=""}};try{for(;;){let{done:w,value:_}=await d.read();if(w)break;f+=o.decode(_,{stream:!0});let A=f.split(`
|
|
338
|
+
`);f=A.pop()||"";for(let S of A)if(S.trim()){if(S.trim()==="data: [DONE]"){u.enqueue(s.encode(S+`
|
|
337
339
|
|
|
338
|
-
`))}catch{
|
|
339
|
-
`))}
|
|
340
|
-
`):
|
|
341
|
-
`)
|
|
342
|
-
`)
|
|
343
|
-
`)}function
|
|
344
|
-
`)}function
|
|
345
|
-
`)}function
|
|
346
|
-
`)}function
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
${h.
|
|
350
|
-
${
|
|
351
|
-
${p}`)}
|
|
340
|
+
`));continue}if(S.startsWith("data:"))try{let T=JSON.parse(S.slice(5));m(T,T?.choices?.[0]?.delta?.content)}catch{u.enqueue(s.encode(S+`
|
|
341
|
+
`))}else u.enqueue(s.encode(S+`
|
|
342
|
+
`))}}}catch(w){console.error("Stream error:",w),u.error(w)}finally{try{d.releaseLock()}catch(w){console.error("Error releasing reader lock:",w)}h==="THINKING"&&C({choices:[{delta:{thinking:{signature:Date.now().toString()}}}]}),u.close()}}});return new Response(a,{status:e.status,statusText:e.statusText,headers:{"Content-Type":e.headers.get("Content-Type")||"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}};function MB(t){let e={...t};if(Array.isArray(e.content)){let n=e.content,r=n.some(s=>s.type==="image_url"),o=n.some(s=>s.type==="thinking");if(r||o)e.content=n.map(s=>{if(s.type==="text"){let{cache_control:i,...a}=s;return a}return s});else{let s=n.filter(i=>i.type==="text").map(i=>i.text).filter(i=>i&&i.length>0);e.content=s.join(`
|
|
343
|
+
`)}}return e.cache_control&&delete e.cache_control,e}function BB(t){return t==="auto"||t==="none"?t:t==="required"?"any":typeof t=="object"&&t.function?.name?{type:"function",function:{name:t.function.name}}:t}function UB(t){let e=t.effort?.toLowerCase();if(!(!e||e==="none"))return e==="minimal"?"low":e==="low"||e==="medium"||e==="high"?e:"high"}var ZA=new Set(["mistral-small-2506","mistral-medium-2505","mistral-medium-2508"]);function ev(t,e,n){let r={...t};Array.isArray(r.messages)&&(r.messages=r.messages.map(s=>MB(s))),r.stream===void 0&&(r.stream=!0);let o=Wt(e,t);if(o&&(r.prompt_cache_key=o),r.tool_choice&&(r.tool_choice=BB(r.tool_choice)),Array.isArray(r.tools)&&(r.tools=r.tools.map(s=>{let{cache_control:i,...a}=s;return a?.function?.parameters?{...a,function:{...a.function,parameters:Ac(a.function.parameters)}}:a})),r.reasoning&&r.model){let s=r.model;(s.startsWith("magistral-")||s.startsWith("labs-leanstral-")||s==="mistral-vibe-cli-fast"||s.startsWith("mistral-small-")&&!ZA.has(s)||s.startsWith("mistral-medium-")&&!ZA.has(s))&&(r.reasoning_effort=UB(r.reasoning)),delete r.reasoning}return r}async function tv(t,e,n){let r=t.headers.get("Content-Type")??"";if(r.includes("application/json")){let o=await t.json();n?.debug({response:o},`${e} response:`);let s=o.choices?.[0];if(s?.message){let i=s.message,a="";if(i.reasoning_content){let u=i.reasoning_content;a+=typeof u=="string"?u:typeof u?.text=="string"?u.text:JSON.stringify(u),delete i.reasoning_content}if(Array.isArray(i.content)){let u="";for(let d of i.content)if(d.type==="thinking"){let f=Array.isArray(d.thinking)?d.thinking:[d.thinking];a+=f.map(h=>typeof h=="string"?h:h&&typeof h.text=="string"?h.text:JSON.stringify(h)).join("")}else d.type==="text"&&(u+=typeof d.text=="string"?d.text:JSON.stringify(d.text??""));i.content=u}a&&(o.thinking={content:a})}return new Response(JSON.stringify(o),{status:t.status,statusText:t.statusText,headers:t.headers})}else if(r.includes("stream"))return t.body?Pe(t,(o,s)=>{if(!o.trim()){s.controller.enqueue(De(o,s.encoder));return}if(!o.startsWith("data:")||o.trim()==="data: [DONE]"){s.controller.enqueue(De(o,s.encoder));return}try{let i=o.slice(5).trim(),a=JSON.parse(i),u=a.choices?.[0]?.delta;if(!u){s.controller.enqueue(De(o,s.encoder));return}let d=ys(u);if(d){let f=Pr(a,{content:d});Ir(f.choices[0].delta);let h=u.content;if(Array.isArray(h)){let p="",b=h.filter(C=>C.type==="text").map(C=>typeof C.text=="string"?C.text:JSON.stringify(C.text??"")).join("");for(let C of h)if(C.type==="thinking"){let m=Array.isArray(C.thinking)?C.thinking:[C.thinking];p+=m.map(w=>typeof w=="string"?w:w&&typeof w.text=="string"?w.text:JSON.stringify(w)).join("")}delete f.choices[0].delta.content,(p||d)&&(f.choices[0].delta.thinking={content:p||d}),b&&(f.choices[0].delta.content=b)}s.controller.enqueue(Ae(JSON.stringify(f),s.encoder));return}if(Array.isArray(u.content)){let f="",h=u.content.filter(p=>p.type==="text").map(p=>typeof p.text=="string"?p.text:JSON.stringify(p.text??"")).join("");for(let p of u.content)if(p.type==="thinking"){let b=Array.isArray(p.thinking)?p.thinking:[p.thinking];f+=b.map(C=>typeof C=="string"?C:C&&typeof C.text=="string"?C.text:JSON.stringify(C)).join("")}delete u.content,f&&(u.thinking={content:f}),h&&(u.content=h)}s.controller.enqueue(Ae(JSON.stringify(a),s.encoder))}catch{s.controller.enqueue(De(o,s.encoder))}}):t;return t}var Yl=class{name="mistral";logger;async transformRequestIn(e,n,r){return{body:ev(e,r,n),config:{url:new URL("/v1/chat/completions",n.baseUrl),headers:{Authorization:`Bearer ${n.apiKey}`}}}}transformRequestOut;async transformResponseOut(e,n){try{return await tv(e,this.name,this.logger)}catch(r){throw this.logger?.error({error:r.message,response:e},"Mistral transformResponseOut error:"),r}}};var jB="http://127.0.0.1:3457",Xl=class{name="chrome-on-device";async transformRequestIn(e,n,r){let o=process.env.CHROME_BRIDGE_URL||n?.baseUrl||jB;r?.req?.body&&(r.req.body.stream=!0);let s=Wt(r,e);return{body:{...e,messages:Ge(e.messages),tools:Je(e.tools),stream:!0},config:{url:`${o}/v1/chat/completions`,headers:{"Content-Type":"application/json",...s?{"x-ccr-session-id":s}:{}}}}}async transformResponseOut(e){return(e.headers.get("Content-Type")||"").includes("text/event-stream")||!e.body,e}};import{randomBytes as LB,createHash as qB}from"crypto";var $B="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",nv=3,Ql=class{name="opencode-headers";sessionCache=new Map;MAX_SESSIONS=100;lastTimestamp=0;counter=0;async transformRequestIn(e,n,r){let o=r?.req?.sessionId||this.fingerprintConversation(e,r),s=e.body||e,i=e.config||{},a=await this.sendWithSessionRetry(s,i,n,r,o);return{body:s,config:{...i,url:n?.baseUrl||n?.api_base_url,__providerResponse:a}}}async sendWithSessionRetry(e,n,r,o,s){let i=r?.baseUrl||r?.api_base_url,a=o?.req?.server?.configService?.getHttpsProxy?.(),u=o?.req?.log??o?.req?.server?.log,d=e?.model;for(let f=0;f<nv;f++){let h=this.buildHeaders(n,r,s),p=await Ro(i,e,{httpsProxy:a,...n,headers:h,signal:o?.signal??n?.signal},o,u);if(p.ok)return p;let b=await p.text();if(!(f===nv-1)&&this.isZenRoutingFailure(p.status,b)){this.invalidateSession(s),u?.warn?.({provider:r?.name,model:d,status:p.status,attempt:f+1},"opencode: Zen provider-routing failure \u2014 re-rolling session and retrying");continue}let m=We(b)||b.slice(0,240);throw W(`Error from provider(${r?.name},${d}: ${p.status}): ${m}`,p.status,"provider_response_error","api_error",this.retryAfterHeaders(p))}throw W(`Error from provider(${r?.name},${d}): Zen provider-routing retries exhausted`,503,"provider_response_error")}buildHeaders(e,n,r){let o=this.getOrCreateSessionId(r),s=this.generateId("msg");return{...e?.headers,"x-api-key":n.apiKey||"","x-opencode-project":"global","x-opencode-session":o,"x-opencode-request":s,"x-opencode-client":"cli","user-agent":"opencode/1.18.4",authorization:void 0}}isZenRoutingFailure(e,n){if(e!==401&&e!==400)return!1;let r;try{r=JSON.parse(n)}catch{return!1}let o=String(r?.error?.message||"");return!!(e===401&&r?.error?.type==="ModelError"&&/no provider available/i.test(o)||e===400&&/upstream request failed/i.test(o))}retryAfterHeaders(e){let n=e.headers.get("retry-after");return n?{"Retry-After":n}:void 0}fingerprintConversation(e,n){let r=e.body||e,o=r.model||"",s=r.messages||[],i=JSON.stringify(s.slice(0,3)),a=n?.req?.headers?.["x-forwarded-for"]||n?.req?.ip||"",u=n?.req?.headers?.["user-agent"]||"";return qB("sha256").update(`${o}|${a}|${u}|${i}`).digest("hex").slice(0,32)}getOrCreateSessionId(e){let n=this.sessionCache.get(e);if(n)return n;if(this.sessionCache.size>=this.MAX_SESSIONS){let o=this.sessionCache.keys().next().value;o!==void 0&&this.sessionCache.delete(o)}let r=this.generateId("ses");return this.sessionCache.set(e,r),r}invalidateSession(e){this.sessionCache.delete(e)}generateId(e){let n=Date.now();n!==this.lastTimestamp&&(this.lastTimestamp=n,this.counter=0),this.counter++;let r=BigInt(n)*BigInt(4096)+BigInt(this.counter),o=Buffer.alloc(6);for(let i=0;i<6;i++)o[i]=Number(r>>BigInt(40-8*i)&BigInt(255));let s="";for(;s.length<14;){let i=LB(1)[0];i>=248||(s+=$B[i%62])}return`${e}_${o.toString("hex")}${s}`}};import{Cursor as qU}from"@cursor/sdk";var zB=/^\$\{?[A-Z_][A-Z0-9_]*\}?$/;function rv(t){let e=typeof t?.apiKey=="string"?t.apiKey.trim():"";if(e&&e.startsWith("crsr_")&&!zB.test(e)&&!e.includes("$CURSOR_API_KEY")&&!e.includes("${"))return e;let n=process.env.CURSOR_API_KEY?.trim();if(n)return n;throw Object.assign(new Error("Cursor API key not found. Set Providers[].api_key to a crsr_ key, or export CURSOR_API_KEY."),{statusCode:401,code:"provider_response_error",type:"api_error"})}import{createHash as HB}from"crypto";import{homedir as WB}from"os";import{basename as GB,dirname as JB,join as ov}from"path";var jg="cursor-sdk",Zl="bridge",KB=ov(WB(),".claude-code-router"),An=ov(KB,"cursor-sdk-workspaces"),sv=900*1e3,Lg=32,iv=1440*60*1e3,av=3600*1e3,VB=/^[0-9a-f]{32}$/;function qg(t,e=An){let n=t.replace(/[\\/]+$/,"");return JB(n)!==e.replace(/[\\/]+$/,"")?!1:VB.test(GB(n))}var cv=["Shell","Read","Write","Delete","Grep","Glob","Edit","ApplyPatch","Task","SemanticSearch","SemSearch","ReadLints","LS","CreatePlan","UpdateTodos","Await","WebFetch","WebSearch","GenerateImage"],$i="custom-user-tools";function tn(t){return t==null?"":typeof t=="string"?t:Array.isArray(t)?t.map(e=>typeof e=="string"?e:e&&typeof e=="object"&&"text"in e?String(e.text||""):"").filter(Boolean).join(`
|
|
344
|
+
`):String(t)}function Es(t){return HB("sha256").update(t.filter(Boolean).join(`
|
|
345
|
+
`)).digest("hex").slice(0,32)}function As(t){if(typeof t=="string")return t;if(t==null)return"";if(typeof t=="object"){let e=t;if(typeof e.text=="string")return e.text;if(typeof e.content=="string")return e.content;try{return JSON.stringify(t)}catch{return String(t)}}return String(t)}function $g(t){return t?.output_config?.effort||t?.reasoning?.effort||t?.effort||void 0}function uv(t,e){let n=Math.floor(Date.now()/1e3),r=`chatcmpl-cursor-${Date.now()}`,o=()=>({id:r,object:"chat.completion.chunk",created:n,model:t});return{setId(s){s&&(r=s)},content(s){return{...o(),choices:[{index:0,delta:{role:"assistant",content:s},finish_reason:null}]}},thinking(s){return{...o(),choices:[{index:0,delta:{thinking:{content:As(s)}},finish_reason:null}]}},thinkingSignature(s=`ccr_cursor_${Date.now()}`){return{...o(),choices:[{index:0,delta:{thinking:{signature:s}},finish_reason:null}]}},toolCall(s,i=0){return{...o(),choices:[{index:0,delta:{role:"assistant",tool_calls:[{index:i,id:s.id,type:"function",function:{name:s.name,arguments:JSON.stringify(s.args??{})}}]},finish_reason:null}]}},finish(s,i){let a=Number(i?.prompt_tokens)||0,u=Number(i?.completion_tokens)||0,d=Number(i?.total_tokens)||a+u;return{...o(),choices:[{index:0,delta:{},finish_reason:s}],usage:{prompt_tokens:a,completion_tokens:u,total_tokens:d,prompt_tokens_details:{cached_tokens:Number(i?.prompt_tokens_details?.cached_tokens)||0}}}},encode(s){return Ae(JSON.stringify(s),e)},encodeDone(){return Ae("[DONE]",e)}}}function zg(t,e){let n="",r="",o="",s=[],i="stop",a=null,u=`chatcmpl-cursor-${Date.now()}`,d=Math.floor(Date.now()/1e3);for(let h of e){typeof h.id=="string"&&(u=h.id);let p=h.choices?.[0];if(!p)continue;p.finish_reason&&(i=p.finish_reason);let b=p.delta||{};if(typeof b.content=="string"&&(n+=b.content),b.thinking?.content&&(r+=As(b.thinking.content)),typeof b.thinking?.signature=="string"&&b.thinking.signature&&(o=b.thinking.signature),Array.isArray(b.tool_calls))for(let C of b.tool_calls){let m=C.index??s.length;s[m]||(s[m]={id:C.id,type:"function",function:{name:C.function?.name||"",arguments:""}}),C.id&&(s[m].id=C.id),C.function?.name&&(s[m].function.name=C.function.name),typeof C.function?.arguments=="string"&&(s[m].function.arguments+=C.function.arguments)}h.usage&&(a=h.usage)}let f={role:"assistant",content:n||null};return r&&(f.thinking={content:r,signature:o||`ccr_cursor_${d}`}),s.length&&(f.tool_calls=s.filter(Boolean),i="tool_calls"),{id:u,object:"chat.completion",created:d,model:t,choices:[{index:0,message:f,finish_reason:i}],usage:a}}var Fr={additionalRoots:[],facts:[],known:!1,fingerprint:"none"},lv=/<(env|environment|system-info|system_info)>([\s\S]*?)<\/\1>/gi,YB=/^\s*[-*]?\s*([A-Za-z][A-Za-z0-9 _/'-]{2,48}?)\s*:\s*(\S.*?)\s*$/,XB=/working director|workspace root|project root|platform|os version|operating system|git repo/i,dv=[/^primary working director/i,/^current working director/i,/^working director/i,/^project root/i,/^workspace root/i,/^cwd$/i],fv=[/^additional working director/i,/^additional director/i,/^extra working director/i],pv=[/^platform$/i,/^operating system$/i,/^os$/i],hv=[/^os version$/i,/^system version$/i],QB=[...dv,...fv,...pv,...hv],ZB=2e5,eU=16,tU=400;function nU(t){let e=[],n=ZB,r=!1;for(let o of t.messages||[]){if(o.role!=="system"&&o.role!=="user")continue;if(o.role==="user"&&r)break;o.role==="user"&&(r=!0);let s=tn(o.content);if(s&&(e.push(s.slice(0,n)),n-=Math.min(s.length,n),n<=0))break}return e.join(`
|
|
346
|
+
`)}function rU(t){let e=[],n=new Set,r=i=>{if(e.length>=eU)return;let a=i.match(YB);if(!a)return;let u=a[1].trim(),d=a[2].trim().slice(0,tU);if(!u||!d)return;let f=u.toLowerCase();n.has(f)||(n.add(f),e.push({key:u,value:d}))},o=!1;lv.lastIndex=0;let s;for(;s=lv.exec(t);){o=!0;for(let i of s[2].split(/\r?\n/))r(i)}if(!o)for(let i of t.split(/\r?\n/))XB.test(i)&&r(i);return e}function ed(t,e){for(let n of e){let r=t.find(o=>n.test(o.key));if(r)return r.value}}function mv(t){return/^(?:\/|[A-Za-z]:[\\/]|\\\\)/.test(t)}function oU(t){return t?t.split(/[,\n]/).map(e=>e.trim()).filter(e=>mv(e)):[]}function zi(t){let e=rU(nU(t)),n=ed(e,dv),r=n&&mv(n)?n:void 0,o=oU(ed(e,fv)).filter(u=>u!==r),s=ed(e,pv),i=ed(e,hv),a=!!(r||s||i||e.length);return a?{projectRoot:r,additionalRoots:o,platform:s,osVersion:i,facts:e,known:a,fingerprint:Es([r||"",o.join("|"),s||"",i||"",e.map(u=>`${u.key}=${u.value}`).join("|")])}:Fr}function gv(t){let e=[];t.projectRoot&&e.push(`- Project root: ${t.projectRoot}`);for(let n of t.additionalRoots)e.push(`- Additional in-scope root: ${n}`);t.platform&&e.push(`- Platform: ${t.platform}`),t.osVersion&&e.push(`- OS version: ${t.osVersion}`);for(let n of t.facts)QB.some(r=>r.test(n.key))||e.push(`- ${n.key}: ${n.value}`);return e}function fo(t){return t.projectRoot?`Every path you pass to a host tool must be an absolute path on the host, normally under ${t.projectRoot}.`:"Every path you pass to a host tool must be an absolute host path taken from this conversation \u2014 never invent one and never derive one from your local filesystem."}function sU(t){if(!Array.isArray(t))return[];let e=[];for(let n of t)if(!(!n||typeof n!="object")&&n.type==="image_url"&&n.image_url?.url){let r=String(n.image_url.url),o=r.match(/^data:([^;]+);base64,(.+)$/);o?e.push({data:o[2],mimeType:o[1]}):e.push({url:r})}return e}function iU(t){return!Array.isArray(t.tools)||t.tools.length===0?"(no host tools advertised on this request)":t.tools.map(e=>{let n=e.function?.name||"unknown",r=e.function?.description||"";return`- ${n}: ${r}`}).join(`
|
|
347
|
+
`)}function _v(t,e){let n=["You are a remote reasoning agent driving Claude Code (the host).","Tools do not run where you are running: every tool call is executed by the host on the user's machine, and only the result is sent back to you.",`Your local environment is disposable scratch space: ${t}`,"It is empty and contains none of the user's files. Never read, list, search, or verify paths against it, and never prefix a host tool path with it.","Your own cwd, OS, and workspace root describe that scratch container only \u2014 they say nothing about the user's project, so never reason from them or report them to the user."],r=gv(e);return r.length&&(n.push("The user's project lives on the host machine, which is where every tool call lands:"),n.push(...r)),n.push(fo(e)),n.push(`Host tools are exposed via MCP server "${$i}" using bare tool names.`,"Cursor built-in tools are denied here. That denial only routes tool use through the host \u2014 it is not a restriction on the user's project, which stays fully reachable through the host tools."),n}function aU(t,e,n=zi(t)){return[..._v(e,n),"A progress update such as 'Checking...', 'Inspecting...', or 'Let me look...' is not a final answer.","After progress narration, call a host tool in the same turn; if no tool is needed, provide the complete user-facing answer before finishing.","Never end a turn with progress narration alone.","Available host tools:",iU(t)].join(`
|
|
348
|
+
`)}function cU(t,e){return["[bridge reminder]",`Tools run on the host machine, not here. ${t} is empty scratch space \u2014 never treat it as the project, and never build a tool path from it.`,fo(e)].join(`
|
|
349
|
+
`)}function bv(t,e){return["# Agent rules","",..._v(t,e).map(n=>n.startsWith("- ")?n:`- ${n}`),""].join(`
|
|
350
|
+
`)}function Cv(t){return["Your local filesystem is empty scratch space on a different machine from the user's project.","The project is reachable only through the host tools, and it is not restricted.",fo(t)].join(" ")}var uU=[/^(?:checking|inspecting|reviewing|examining|investigating|verifying|reading|searching)\s+(?:the|this|that|these|those|your|our|which|whether|for|how|why|what|where)\b/i,/^looking\s+(?:at|into|for|through|up)\b/i,/^(?:i(?:'ll| will)|let me)\s+(?:check|inspect|review|examine|investigate|verify|read|search|look)\b/i];function lU(t){let e=String(t||"").trim();if(!e||e.length>240||/\n\s*\n/.test(e))return!1;let n=e.replace(/\s+/g," ");return(n.match(/[.!?](?:\s|$)/g)?.length||0)>1?!1:uU.some(o=>o.test(n))}function wv(t){return t.mode==="bridge"&&t.emittedHostTools===0&&t.continuationAttempts<1&&lU(t.assistantText)}function kv(t){let e=["Continue the same turn now.","Your previous assistant message was only progress narration and ended without a host tool call or a complete answer.","Do not repeat the progress update.","If evidence is still needed, call an available host tool immediately; otherwise provide the complete user-facing answer now.","Do not finish until the requested work or answer is complete."];return t?.known&&e.push(fo(t)),{text:e.join(" ")}}function yv(t){let e=t.trim();return pp.some(n=>e===n)}function dU(t){if(!Array.isArray(t)){let e=tn(t);return e.trim().length>0&&!yv(e)}return t.some(e=>{if(!e||typeof e!="object")return!1;if("text"in e){let n=String(e.text||"");return n.trim().length>0&&!yv(n)}return!0})}function Sv(t,e){let n=t.messages||[],r=[],o=e.hostEnv||zi(t);e.mode==="bridge"?(r.push(aU(t,e.workspaceDir,o)),r.push("")):e.mode==="plan"&&(r.push("You are a planning/chat assistant. Respond with text and reasoning only. Do not execute tools."),r.push(""));let s=n.filter(f=>f.role==="system");for(let f of s){let h=tn(f.content);h&&r.push(`[system]
|
|
351
|
+
${h}`)}let i=n.filter(f=>f.role!=="system"),a=e.followUpOnly?i.slice(-Math.max(1,fU(i,e.turnIntent)+1)):i,u=[];for(let f of a){if(f.role==="assistant"){let h=tn(f.content);if(h&&r.push(`[assistant]
|
|
352
|
+
${h}`),Array.isArray(f.tool_calls)&&f.tool_calls.length)for(let p of f.tool_calls)r.push(`[assistant tool_call id=${p.id} name=${p.function.name}]
|
|
353
|
+
${p.function.arguments||"{}"}`);continue}if(f.role==="tool"){r.push(`[tool_result id=${f.tool_call_id||"unknown"}]
|
|
354
|
+
${tn(f.content)}`);continue}if(f.role==="user"){let h=tn(f.content);u=[...u,...sU(f.content)],h&&r.push(`[user]
|
|
355
|
+
${h}`)}}e.mode==="bridge"&&r.push(cU(e.workspaceDir,o));let d=r.join(`
|
|
352
356
|
|
|
353
|
-
`).trim()||"Continue.";return u.length?{text:
|
|
357
|
+
`).trim()||"Continue.";return u.length?{text:d,images:u}:{text:d}}function fU(t,e){let n=t.length-1,r=0;e?.interruption==="synthetic_client_interrupt"&&e.steering==="none"&&t[n]?.role==="user"&&(r=1,n-=1);let o=0;for(;n>=0;n--){if(t[n].role==="tool"){o+=1;continue}break}return o>0?r+o:0}function Ev(t,e){if(e)return{toolResults:e.trailingToolResults.map(i=>({toolCallId:i.toolCallId,content:i.content,isError:i.isError})),hasTrailingUserInput:e.steering==="meaningful"};let n=[],r=t.messages||[],o=r.length-1,s=!1;for(;o>=0&&r[o].role==="user";)s=s||dU(r[o].content),o-=1;for(;o>=0;o--){let i=r[o];if(i.role!=="tool")break;n.unshift({toolCallId:String(i.tool_call_id||""),content:tn(i.content)})}return{toolResults:n,hasTrailingUserInput:s}}import{createHash as Wg}from"crypto";import{existsSync as xv,mkdirSync as Av,readdirSync as bU,rmSync as CU,statSync as wU}from"fs";import{join as Dv}from"path";import{Agent as vv}from"@cursor/sdk";import{chmodSync as pU,mkdirSync as hU,readFileSync as mU,writeFileSync as gU}from"fs";import{join as Hi}from"path";function yU(t){return`#!/usr/bin/env node
|
|
354
358
|
const chunks = [];
|
|
355
359
|
process.stdin.on("data", (c) => chunks.push(c));
|
|
356
360
|
process.stdin.on("end", () => {
|
|
@@ -374,7 +378,7 @@ process.stdin.on("end", () => {
|
|
|
374
378
|
);
|
|
375
379
|
|
|
376
380
|
// Always allow the SDK synthetic MCP host tools Claude Code bridges through.
|
|
377
|
-
if (server.includes(${JSON.stringify(
|
|
381
|
+
if (server.includes(${JSON.stringify($i)})) {
|
|
378
382
|
process.stdout.write(JSON.stringify({ permission: "allow" }));
|
|
379
383
|
return;
|
|
380
384
|
}
|
|
@@ -389,17 +393,17 @@ process.stdin.on("end", () => {
|
|
|
389
393
|
})
|
|
390
394
|
);
|
|
391
395
|
});
|
|
392
|
-
`}function JB(t){return["CCR Cursor SDK bridge: do not use Cursor built-in tools.",`Call host tools via MCP server '${Fi}' using the bare Claude Code tool names (Read, Bash, Edit, \u2026).`,Qv(t)].join(" ")}function wg(t,e,n){try{if(HB(t,"utf-8")===e)return}catch{}WB(t,e,{encoding:"utf-8",mode:n})}function Bi(t,e=xr){let n=Mi(t,".cursor"),r=Mi(n,"hooks");zB(r,{recursive:!0});let o=Mi(r,"deny-builtin.cjs");wg(o,GB(JB(e)),448);try{$B(o,448)}catch{}let s=Lv.join("|"),i=`node "${o}"`,c={version:1,hooks:{preToolUse:[{matcher:s,command:i}],beforeShellExecution:[{command:i}],beforeReadFile:[{command:i}],beforeMCPExecution:[{command:i}]}};wg(Mi(n,"hooks.json"),JSON.stringify(c,null,2),384),wg(Mi(t,"AGENTS.md"),Xv(t,e),384)}var XB=2e3;function QB(t){let e=t;return e?.name==="AbortError"||String(e?.message||t).toLowerCase()==="this operation was aborted"}function ys(t,e){t.poisoned=!0,t.poisonReason=e}async function Eg(t,e={}){let n={skipped:!1,hadRun:!!t.run,hadIterator:!!t.streamIterator,runCancelFailed:!1,iteratorReturnFailed:!1,failed:!1,timedOut:!1};if(e.onlyRunToken&&t.activeRunToken!==e.onlyRunToken)return{...n,skipped:!0};let r=t.run,o=t.streamIterator,s=t.streamNext;if(t.run=void 0,t.streamIterator=void 0,t.streamNext=void 0,t.streamNextRunToken=void 0,t.activeRunToken=void 0,t.pendingEmit=[],t.pendingSdkMessages=[],t.notifyEmit(),t.notifySdkMessage?.(),s?.catch(()=>{}),e.rejectParked&&t.parked.length){let u=e.reason||"cursor-sdk run cancelled";for(let f of t.parked.splice(0,t.parked.length))try{f.reject(new Error(u))}catch{}}let i=async(u,f,d)=>{try{await Bl(Promise.resolve().then(u),e.timeoutMs??2e3,f)}catch(p){n.failed=!0,d==="run"&&(n.runCancelFailed=!0),d==="iterator"&&(n.iteratorReturnFailed=!0),n.timedOut=n.timedOut||String(p?.message||p).toLowerCase().includes("timed out")}},c=[];return r?.status==="running"&&c.push(i(()=>r.cancel(),"cursor-sdk run cancel timed out","run")),o&&typeof o.return=="function"&&c.push(i(()=>o.return(void 0),"cursor-sdk stream iterator return timed out","iterator")),await Promise.all(c),n.failed&&e.poisonOnFailure&&ys(t,e.reason||"cursor-sdk run cancellation did not complete"),n}async function Bl(t,e,n){let r;try{return await Promise.race([t,new Promise((o,s)=>{r=setTimeout(()=>s(new Error(n)),e)})])}finally{r&&clearTimeout(r)}}async function Ul(t,e){let n=t.sendChain,r,o=new Promise(s=>{r=s});t.sendChain=n.then(()=>o).catch(()=>o),await n.catch(()=>{});try{return await e()}finally{r()}}function Ui(t){if(t===!1)return!1;let e=process.env.CCR_CURSOR_SANDBOX?.trim().toLowerCase();return!(e==="0"||e==="false"||e==="off"||!(t===!0||e==="1"||e==="true"||e==="on")||aA("/.dockerenv")||process.env.container==="docker")}function ZB(t,e){aA(wn)||rA(wn,{recursive:!0});let n=cA(wn,t);return rA(n,{recursive:!0}),Bi(n,e),n}function vg(t,e){if(!e.known&&t.hostEnv?.known)return!1;let n=t.guidanceFingerprint!==e.fingerprint;if(t.hostEnv=e,t.mode!=="bridge"||!n)return!1;try{return Bi(t.workspaceDir,e),t.guidanceFingerprint=e.fingerprint,!0}catch{return!1}}function sA(t,e,n=wn){if(!_g(t,n))return!1;try{return KB(t,{recursive:!0,force:!0}),!0}catch(r){return e?.debug?.({err:r,dir:t},"cursor-sdk workspace cleanup failed"),!1}}function uA(t){if(t.headerSession)return kg("sha256").update(t.headerSession).digest("hex").slice(0,32);if(t.metadataUserId){let e=t.metadataUserId.split("_session_");return e.length>1&&e[1]?kg("sha256").update(e[1]).digest("hex").slice(0,32):kg("sha256").update(t.metadataUserId).digest("hex").slice(0,32)}return ms([t.model||"",t.systemAndFirstUser||""])}function iA(t){return!!(t.streamIterator||t.streamNext||t.activeRunToken||t.parked.length>0||t.pendingSdkMessages.length>0||t.run?.status==="running")}function Ml(t){t.lastActiveAt=Date.now()}var Sg=class{constructor(e){this.logger=e;this.cleanupTimer=setInterval(()=>this.evictIdle(),6e4),typeof this.cleanupTimer.unref=="function"&&this.cleanupTimer.unref()}logger;sessions=new Map;retirements=new Map;creations=new Map;cleanupTimer;lastSweepAt=0;setLogger(e){this.logger=e}get(e){let n=this.sessions.get(e);if(n?.poisoned){let r=n.poisonReason||"cursor-sdk session poisoned";this.retireSession(n,r,async()=>(await this.invalidate(n,r),!0)).catch(o=>{this.logger?.warn?.({err:o,sessionKey:n.key,agentId:n.agentId,reason:r},"cursor-sdk poisoned session retirement failed")});return}return n&&Ml(n),n}async retireSession(e,n,r){ys(e,n),this.sessions.get(e.key)===e&&this.sessions.delete(e.key);let o=this.retirements.get(e.key);o||(o={tail:Promise.resolve(),pending:new Map},this.retirements.set(e.key,o));let s=o.pending.get(e);if(s)return await s.catch(()=>{}),!1;let i=o.pending.size>0,c=o.tail,u=async()=>(this.logger?.debug?.({sessionKey:e.key,agentId:e.agentId,reason:n},"cursor-sdk session retirement started"),r()),f=i?c.then(u):u();o.pending.set(e,f);let d=f.then(()=>{},()=>{});o.tail=d;try{return await f}finally{o.pending.get(e)===f&&o.pending.delete(e),this.retirements.get(e.key)===o&&o.tail===d&&o.pending.size===0&&this.retirements.delete(e.key)}}async getOrCreate(e){for(;;){let o=this.retirements.get(e.key);if(o){await o.tail;continue}let s=this.get(e.key);if(s)return s;let i=this.retirements.get(e.key);if(i){await i.tail;continue}let c=this.creations.get(e.key);if(!c)break;await c}let n,r=new Promise(o=>{n=o});this.creations.set(e.key,r);try{this.evictIfNeeded();let o=e.hostEnv||xr,s=e.mode==="agent"&&e.cursorCwd?e.cursorCwd:ZB(e.key,o);e.mode==="bridge"&&Bi(s,o);let i=e.mode==="plan"?"plan":"agent",c=Ui(e.sandboxEnabled),u=await oA.create({apiKey:e.apiKey,model:e.model,name:`ccr-${e.key.slice(0,8)}`,mode:i,local:{cwd:s,settingSources:[],sandboxOptions:{enabled:c},enableAgentRetries:!0}}),f=this.createSessionRecord({key:e.key,agent:u,mode:e.mode,workspaceDir:s,hostEnv:o,guidanceFingerprint:o.fingerprint});return this.sessions.set(e.key,f),this.logger?.info?.({sessionKey:e.key,agentId:u.agentId,mode:e.mode,sandboxEnabled:c},"cursor-sdk session created"),f}finally{this.creations.get(e.key)===r&&this.creations.delete(e.key),n()}}async resume(e){let n=Ui(e.sandboxEnabled),r=e.hostEnv||xr;e.mode==="bridge"&&Bi(e.workspaceDir,r);let o=await oA.resume(e.agentId,{apiKey:e.apiKey,model:e.model,local:{cwd:e.workspaceDir,settingSources:[],sandboxOptions:{enabled:n}}}),s=this.createSessionRecord({key:e.key,agent:o,mode:e.mode,workspaceDir:e.workspaceDir,hostEnv:r,guidanceFingerprint:r.fingerprint});return this.sessions.set(e.key,s),s}resolveParkedTools(e,n){let r=0,o=[],s=e.parked.map(i=>i.id).filter((i,c,u)=>i&&u.indexOf(i)!==c);s.length&&this.logger?.warn?.({sessionKey:e.key,duplicates:[...new Set(s)]},"cursor-sdk parked tools share an id; results may mispair");for(let i of n){let c=-1;if(i.toolCallId?c=e.parked.findIndex(f=>f.id===i.toolCallId):n.length===1&&e.parked.length===1&&(c=0),c===-1){o.push(i.toolCallId||"(empty)");continue}let[u]=e.parked.splice(c,1);u.resolve(i.content),r++}return o.length&&this.logger?.warn?.({unmatched:o,parkedRemaining:e.parked.map(i=>i.id),resolved:r},"cursor-sdk tool results did not match parked tools"),Ml(e),r}async dispose(e){let n=this.sessions.get(e);if(!n)return;let r="cursor-sdk session disposed";await this.retireSession(n,r,async()=>(await Eg(n,{rejectParked:!0,reason:r}),await this.disposeAgent(n,r),sA(n.workspaceDir,this.logger),!0))}invalidate(e,n){let r=typeof e=="string"?this.sessions.get(e):e;if(!r)return Promise.resolve();if(ys(r,n),r.run=void 0,r.streamIterator=void 0,r.streamNext?.catch(()=>{}),r.streamNext=void 0,r.streamNextRunToken=void 0,r.activeRunToken=void 0,r.pendingEmit=[],r.pendingSdkMessages=[],r.parked.length)for(let o of r.parked.splice(0,r.parked.length))try{o.reject(new Error(n))}catch{}return r.notifyEmit(),r.notifySdkMessage(),this.sessions.get(r.key)===r&&this.sessions.delete(r.key),this.logger?.warn?.({sessionKey:r.key,agentId:r.agentId,reason:n},"cursor-sdk session invalidated"),this.disposeAgent(r,n)}async disposeAgent(e,n){try{let r=e.agent[Symbol.asyncDispose]();r.catch(()=>{}),await Bl(r,XB,"cursor-sdk agent disposal timed out")}catch(r){let o={err:r,sessionKey:e.key,agentId:e.agentId,reason:n};QB(r)?this.logger?.debug?.(o,"cursor-sdk agent disposal observed expected cancellation"):this.logger?.warn?.(o,"cursor-sdk agent disposal failed")}}createSessionRecord(e){let n={key:e.key,agent:e.agent,agentId:e.agent.agentId,mode:e.mode,workspaceDir:e.workspaceDir,hostEnv:e.hostEnv,parked:[],pendingEmit:[],emitWaiters:[],pendingSdkMessages:[],sdkMessageWaiters:[],sendChain:Promise.resolve(),hasSentPrompt:!1,guidanceFingerprint:e.guidanceFingerprint,lastActiveAt:Date.now(),metrics:{customToolCalls:0,builtinToolCallsSeen:0,scratchPathViolations:0,scratchPathCorrections:0},parkHostTool:({id:r,name:o,args:s})=>{let i,c,u=new Promise((d,p)=>{i=d,c=p}),f=n.activeRunToken;return n.parked.push({id:r,name:o,args:s,runToken:f,resolve:i,reject:c,promise:u}),n.pendingEmit.push({id:r,name:o,args:s,runToken:f}),n.notifyEmit(),u},notifyEmit:()=>{let r=n.emitWaiters.splice(0,n.emitWaiters.length);for(let o of r)o()},waitForEmit:()=>new Promise(r=>{if(n.pendingEmit.length){r();return}n.emitWaiters.push(r)}),enqueueSdkMessage:(r,o=n.activeRunToken)=>{n.pendingSdkMessages.push({message:r,runToken:o,source:"delta"}),n.notifySdkMessage()},notifySdkMessage:()=>{let r=n.sdkMessageWaiters.splice(0,n.sdkMessageWaiters.length);for(let o of r)o()},waitForSdkMessage:()=>new Promise(r=>{if(n.pendingSdkMessages.length){r();return}n.sdkMessageWaiters.push(r)})};return n}evictIfNeeded(){for(;this.sessions.size>=yg;){let e,n=1/0;for(let[r,o]of this.sessions)iA(o)||o.lastActiveAt<n&&(n=o.lastActiveAt,e=r);if(!e){this.logger?.warn?.({size:this.sessions.size,max:yg},"cursor-sdk session capacity reached with all sessions in-flight; deferring eviction");break}this.dispose(e)}}evictIdle(){let e=Date.now();for(let[n,r]of this.sessions)iA(r)||e-r.lastActiveAt>Bv&&(this.logger?.info?.({sessionKey:n},"cursor-sdk idle session evicted"),this.dispose(n));this.sweepOrphanWorkspaces(e)}sweepOrphanWorkspaces(e=Date.now(),n=wn){if(e-this.lastSweepAt<jv)return 0;this.lastSweepAt=e;let r;try{r=VB(n)}catch{return 0}let o=new Set([...this.sessions.values()].map(i=>i.workspaceDir)),s=0;for(let i of r){let c=cA(n,i);if(!(o.has(c)||!_g(c,n))){try{let u=YB(c);if(!u.isDirectory()||e-u.mtimeMs<=Uv)continue}catch{continue}sA(c,this.logger,n)&&s++}}return s&&this.logger?.info?.({removed:s,root:n},"cursor-sdk orphan workspaces swept"),s}},Dr=new Sg;var eU="Cursor SDK agent.send timed out";function Ag(t){let e=t||{},n=typeof e.name=="string"?e.name:"",r=(typeof e.message=="string"?e.message:String(t)).toLowerCase();return n==="AgentBusyError"||e.status===409||r.includes("already has active run")||r.includes("agent busy")}function Tg(t){let e=t||{},n=typeof e.name=="string"?e.name:"",r=(typeof e.message=="string"?e.message:String(t)).toLowerCase();return n==="AgentNotFoundError"||n==="NetworkError"||e.status===503||e.status===504||r.includes("agent not found")||r.includes("request aborted before send")||r.includes("request aborted during send")||r.includes("agent.send timed out")||r.includes("network error")||r.includes("network request failed")||r.includes("network timeout")||r.includes("network connection")}function tU(t){if(!t)return;let e;return{promise:new Promise((r,o)=>{if(t.aborted){o(new Error("cursor-sdk request aborted before send"));return}e=()=>o(new Error("cursor-sdk request aborted during send")),t.addEventListener("abort",e,{once:!0})}),cleanup:()=>{e&&t.removeEventListener("abort",e)}}}async function nU(t,e,n,r){let o,s;try{if(r?.aborted)throw new Error("cursor-sdk request aborted before send");return o=t.agent.send(e,n),s=tU(r),await Bl(s?Promise.race([o,s.promise]):o,15e3,eU)}catch(i){throw o&&o.then(c=>c.cancel()).catch(()=>{}),i}finally{s?.cleanup()}}async function Rg(t,e,n,r={}){return nU(t,e,n,r.abortSignal)}import{randomUUID as cU}from"crypto";var rU=6,oU=512,sU=4;function iU(t){return t.length>200?`${t.slice(0,200)}\u2026`:t}function aU(t,e){return t.length<8?!1:t.includes(e)||t.includes(wn)}function lA(t,e){let n=[],r=0,o=(s,i,c)=>{if(!(n.length>=sU||r>=oU||c>rU)){if(r++,typeof s=="string"){aU(s,e)&&n.push({argPath:i||"(argument)",value:iU(s)});return}if(Array.isArray(s)){s.forEach((u,f)=>o(u,`${i}.${f}`,c+1));return}if(s&&typeof s=="object")for(let[u,f]of Object.entries(s))o(f,i?`${i}.${u}`:u,c+1)}};return o(t,"",0),n}function dA(t){return t.projectRoot?!t.projectRoot.startsWith(wn):!0}function fA(t,e,n,r){let o=t.map(s=>` - ${s.argPath}: ${s.value}`).join(`
|
|
393
|
-
`);return[`Error: this ${e} call was not executed because it points at your local scratch container, not at the user's machine.`,"Offending arguments:",o,`${n} is disposable scratch space on the machine running the model bridge. It is empty and contains none of the user's files.`,"Host tools execute on the user's machine, where that path does not exist.",
|
|
394
|
-
`)}var
|
|
395
|
-
`).length)}function yA(t,e,n=0){let r=Math.max(0,Math.trunc(t)||0),o=mA(e),s=Math.min(r,Math.max(0,Math.trunc(n)||0));return{prompt_tokens:r,completion_tokens:o,total_tokens:r+o,prompt_tokens_details:{cached_tokens:s}}}function jl(t){let e=Number(t);return Number.isFinite(e)&&e>0?e:0}function _A(t,e,n){let r=Math.max(0,Math.trunc(n)||0);if(!r||!t)return 0;let o=jl(t.prompt_tokens),s=jl(t.prompt_tokens_details?.cached_tokens);if(!o||!s)return 0;let i=jl(e?.prompt_tokens),c=jl(e?.prompt_tokens_details?.cached_tokens),u=o-i,f=s-c,d=u>0&&f>0?f/u:s/o,p=Math.min(1,Math.max(0,d));return Math.min(r,Math.floor(r*p))}function bA(t){let e=t?.usage??t;if(!e||typeof e!="object")return;let n=e.inputTokens??e.input_tokens??e.prompt_tokens,r=e.outputTokens??e.output_tokens??e.completion_tokens;if(n==null&&r==null)return;let o=Number(n)||0,s=Number(r)||0,i=Number(e.cacheReadTokens??e.cache_read_input_tokens??0)||0;return{prompt_tokens:o,completion_tokens:s,total_tokens:Number(e.totalTokens??e.total_tokens??o+s)||0,prompt_tokens_details:{cached_tokens:i}}}import{createHash as dU}from"crypto";var fU=new Set(["id","idempotency_key","metadata","anthropic_metadata","request_id","req_id","stream","stream_options","trace_id","user"]);function kn(t){if(t===null)return null;if(typeof t=="string"||typeof t=="boolean"||typeof t=="number")return t;if(typeof t=="bigint")return String(t);if(Array.isArray(t))return t.map(n=>kn(n)).filter(n=>n!==void 0);if(typeof t!="object")return;let e={};for(let n of Object.keys(t).sort()){if(n==="cache_control")continue;let r=kn(t[n]);r!==void 0&&(e[n]=r)}return e}function Og(t){if(t==null)return[];if(typeof t=="string")return[{text:t,type:"text"}];if(!Array.isArray(t)){let e=kn(t);return e===void 0?[]:[e]}return t.map(e=>{if(typeof e=="string")return{text:e,type:"text"};if(!e||typeof e!="object")return kn(e);let n=e;return n.type==="text"?{text:String(n.text||""),type:"text"}:kn(n)}).filter(e=>e!==void 0)}function pU(t){if(typeof t!="string")return kn(t)??null;try{return kn(JSON.parse(t))??null}catch{return t}}function Pg(t){let e=t,n={content:Og(e.content),role:e.role};return e.reasoning_content&&(n.reasoning_content=e.reasoning_content),e.thinking?.content&&(n.thinking={content:e.thinking.content}),e.tool_call_id&&(n.tool_call_id=e.tool_call_id),e.is_error!==void 0&&(n.is_error=e.is_error),Array.isArray(e.tool_calls)&&e.tool_calls.length&&(n.tool_calls=e.tool_calls.map(r=>({function:{arguments:pU(r.function.arguments),name:r.function.name},id:r.id,type:r.type}))),n}function CA(t){return Array.isArray(t)?t.map(e=>kn(e)).filter(e=>e!==void 0).sort((e,n)=>Dg(e).localeCompare(Dg(n))):[]}function Dg(t){return JSON.stringify(t)}function Ig(t){return dU("sha256").update(Dg(t)).digest("hex")}function wA(t){return{system:Og(t.system),messages:(t.messages||[]).map(Pg)}}function hU(t){let e=t,n={};for(let r of Object.keys(e).sort()){if(fU.has(r)||r==="cache_control")continue;let o;r==="messages"?o=(t.messages||[]).map(Pg):r==="system"?o=Og(t.system):r==="tools"?o=CA(t.tools):o=kn(e[r]),o!==void 0&&(n[r]=o)}return n}function kA(t,e={}){return Ig({compatibilityStamp:e.compatibilityStamp||"",request:hU(t),turnIntent:e.turnIntent?{interruption:e.turnIntent.interruption,source:e.turnIntent.source,steering:e.turnIntent.steering,trailingToolResults:e.turnIntent.trailingToolResults.map(n=>({content:n.content,isError:n.isError,toolCallId:n.toolCallId}))}:null})}function Fg(t){return Ig({credentialFingerprint:t.credentialFingerprint||"",guidanceFingerprint:t.guidanceFingerprint||"",mode:t.mode,model:kn(t.model)??null,sandboxEnabled:t.sandboxEnabled===!0,tools:CA(t.tools),workspaceDir:t.workspaceDir})}function SA(t,e){return Ig({messages:e,system:t})}function EA(t,e){if(e&&e.role!=="assistant")throw new TypeError("Cursor transcript commits require an assistant message");let n=wA(t);return e&&n.messages.push(Pg(e)),Object.freeze({transcriptHash:SA(n.system,n.messages),messageCount:n.messages.length})}function vA(t,e){if(!Number.isInteger(t.messageCount)||t.messageCount<0||typeof t.transcriptHash!="string")return;let n=wA(e);if(!(n.messages.length<=t.messageCount)&&SA(n.system,n.messages.slice(0,t.messageCount))===t.transcriptHash)return(e.messages||[]).slice(t.messageCount)}function mU(t,e){if(t.length===0||t.length!==e.length)return;let n=new Map;for(let s of e){let i=s.toolCallId;if(!i||n.has(i))return;n.set(i,s)}let r=new Set,o=[];for(let s of t){if(!s.id||r.has(s.id))return;r.add(s.id);let i=n.get(s.id);if(!i)return;o.push({parked:s,result:i})}return o}var Kn=t=>({action:"retire-and-replay-full",reason:t});function AA(t){let{session:e,turn:n}=t;if(e.poisoned)return Kn("poisoned-session");if(!e.hasSentPrompt)return e.run.kind==="idle"?{action:"send-full",reason:"unused-session"}:Kn("inconsistent-unused-session");if(e.alignment==="unknown")return Kn("unknown-context-alignment");if(e.alignment==="divergent")return Kn("divergent-context-alignment");if(e.run.kind==="active-different-turn")return Kn("active-different-turn");if(e.run.kind==="parked"){if(!e.run.live)return Kn("dead-parked-run");if(n.hasMeaningfulSteering)return Kn("parked-turn-has-steering");let r=mU(e.run.tools,n.toolResults);return r?{action:"resume-parked",reason:"exact-parked-tool-results",matches:r}:Kn("parked-tool-results-mismatch")}return n.toolResults.length>0?Kn("orphaned-tool-results"):{action:"send-incremental",reason:"strictly-aligned-idle-session"}}function en(t){let e=t instanceof Error?t.message:typeof t=="string"&&t?t:"Cursor turn subscriber aborted";return Object.assign(new Error(e),{name:"AbortError"})}async function Ng(t,e){let n;try{await Promise.race([t,new Promise(r=>{n=setTimeout(r,e)})])}finally{n&&clearTimeout(n)}}var Mg=class{constructor(e,n,r,o){this.sessionKey=e;this.fingerprint=n;this.responseKind=r;this.onTerminal=o;this.ready.catch(()=>{})}sessionKey;fingerprint;responseKind;onTerminal;abortController=new AbortController;phase="awaiting_response";responseMetadata;sourceReader;chunks=[];bufferedBytes=0;replayable=!0;readySettled=!1;completedAt;nextInterestId=1;nextSubscriberId=1;interests=new Set;subscribers=new Map;failure;readyResolve;readyReject;settledResolve;ready=new Promise((e,n)=>{this.readyResolve=e,this.readyReject=n});settled=new Promise(e=>{this.settledResolve=e});get canReplay(){return this.phase==="completed"&&this.replayable}get replayAgeMs(){return this.completedAt===void 0?Number.POSITIVE_INFINITY:Date.now()-this.completedAt}get isJoinable(){return this.replayable&&(this.phase==="awaiting_response"||this.phase==="streaming")}get isProducing(){return this.phase==="awaiting_response"||this.phase==="streaming"}reserve(e,n){let r=this.nextInterestId++;return this.interests.add(r),new Bg(this,r,e,n)}releaseInterest(e){if(this.interests.delete(e))return this.abortIfUnobserved("Cursor turn has no remaining subscribers")}async attach(e,n,r){if(this.phase==="aborting"||this.phase==="failed"||this.abortController.signal.aborted){try{await e.body?.cancel(this.abortController.signal.reason)}catch{}this.finishFailed(en(this.abortController.signal.reason??"Cursor turn superseded"));return}let o=[];e.headers.forEach((i,c)=>{o.push([c,i])}),this.responseMetadata={status:e.status,statusText:e.statusText,headers:o},this.phase="streaming";let s=this.interests.has(n)?this.responseForReadyInterest(n,r):void 0;return this.readySettled=!0,this.readyResolve(),e.body?(this.sourceReader=e.body.getReader(),s&&this.ensurePumpStarted(),s):(this.finishCompleted(),s)}fail(e){this.finishFailed(e instanceof Error?e:new Error(String(e)))}async supersede(e){if(this.phase==="completed"||this.phase==="failed"||this.phase==="aborting"){await Ng(this.settled,3e3);return}this.phase="aborting";let n=en(e);this.readySettled||(this.readySettled=!0,this.readyReject(n)),this.abortController.abort(n),this.errorSubscribers(n);let r=this.sourceReader;if(r){let o=Promise.resolve(r.cancel(n)).catch(()=>{}).then(()=>{});await Ng(o,3e3),this.finishFailed(n)}await Ng(this.settled,3e3)}async responseFor(e,n){if(await this.ready,!this.interests.has(e))throw en(n?.reason);if(!this.responseMetadata)throw this.failure||new Error("Cursor turn response metadata is missing");if(!this.replayable&&this.phase!=="streaming")throw this.releaseInterest(e),Object.assign(new Error("Cursor turn result exceeded the bounded replay buffer"),{statusCode:409,code:"cursor_turn_not_replayable"});let r=this.responseForReadyInterest(e,n);return this.ensurePumpStarted(),r}responseForReadyInterest(e,n){let r=this.openStream(e,n);return new Response(r,{status:this.responseMetadata.status,statusText:this.responseMetadata.statusText,headers:this.responseMetadata.headers})}openStream(e,n){let r;return new ReadableStream({start:o=>{if(!this.interests.has(e)){o.error(en(n?.reason));return}r=this.nextSubscriberId++;let s={controller:o};if(this.subscribers.set(r,s),this.interests.delete(e),n){let i=()=>{r!==void 0&&this.removeSubscriber(r,en(n.reason))};if(n.aborted){i();return}n.addEventListener("abort",i,{once:!0}),s.removeAbortListener=()=>n.removeEventListener("abort",i)}if(!this.replayable){this.removeSubscriber(r,Object.assign(new Error("Cursor turn cannot replay an oversized active result"),{statusCode:409,code:"cursor_turn_not_replayable"}));return}for(let i of this.chunks)o.enqueue(i);this.phase==="completed"?this.closeSubscriber(r):(this.phase==="failed"||this.phase==="aborting")&&this.removeSubscriber(r,this.failure||en("Cursor turn ended before subscription"))},cancel:o=>r!==void 0?this.removeSubscriber(r,en(o),!1):this.releaseInterest(e)})}pumpStarted=!1;ensurePumpStarted(){this.pumpStarted||!this.sourceReader||this.phase!=="streaming"||(this.pumpStarted=!0,this.pump())}async pump(){let e=this.sourceReader;if(e)try{for(;this.phase==="streaming";){let{done:n,value:r}=await e.read();if(n){this.finishCompleted();return}if(r){if(this.replayable)if(this.bufferedBytes+r.byteLength<=8388608){let o=r.slice();this.chunks.push(o),this.bufferedBytes+=o.byteLength}else this.replayable=!1,this.chunks=[];for(let o of this.subscribers.values())o.controller.enqueue(r)}}}catch(n){this.finishFailed(n instanceof Error?n:new Error(String(n)))}}abortIfUnobserved(e){if(!(this.interests.size>0||this.subscribers.size>0||this.phase==="completed"||this.phase==="failed"||this.phase==="aborting"))return this.supersede(e)}removeSubscriber(e,n,r=!0){let o=this.subscribers.get(e);if(o){if(this.subscribers.delete(e),o.removeAbortListener?.(),r)try{o.controller.error(n)}catch{}return this.abortIfUnobserved(n.message)}}closeSubscriber(e){let n=this.subscribers.get(e);if(n){this.subscribers.delete(e),n.removeAbortListener?.();try{n.controller.close()}catch{}}}errorSubscribers(e){for(let n of[...this.subscribers.keys()])this.removeSubscriber(n,e)}releaseSourceReader(){let e=this.sourceReader;if(this.sourceReader=void 0,!!e)try{e.releaseLock()}catch{}}finishCompleted(){if(!(this.phase==="completed"||this.phase==="failed")){if(this.phase==="aborting"){this.finishFailed(en(this.abortController.signal.reason));return}this.phase="completed",this.completedAt=Date.now(),this.releaseSourceReader();for(let e of[...this.subscribers.keys()])this.closeSubscriber(e);this.settledResolve(),this.onTerminal(this,"completed")}}finishFailed(e){this.phase==="completed"||this.phase==="failed"||(this.phase="failed",this.failure=e,this.releaseSourceReader(),this.readySettled||(this.readySettled=!0,this.readyReject(e)),this.errorSubscribers(e),this.interests.clear(),this.settledResolve(),this.onTerminal(this,"failed"))}},Bg=class{constructor(e,n,r,o="join"){this.turn=e;this.interestId=n;this.signal=r;this.kind=o;if(r){let s=()=>{this.turn.releaseInterest(this.interestId)};r.aborted?s():(r.addEventListener("abort",s,{once:!0}),this.removeReservationAbortListener=()=>r.removeEventListener("abort",s))}}turn;interestId;signal;kind;attachedResponse;removeReservationAbortListener;get producerSignal(){return this.turn.abortController.signal}attach(e){if(this.kind!=="leader")throw new Error("Only the Cursor turn leader may attach a response");return this.turn.attach(e,this.interestId,this.signal).then(n=>{this.attachedResponse=n})}fail(e){this.kind==="leader"&&this.turn.fail(e),this.removeReservationAbortListener?.(),this.removeReservationAbortListener=void 0}async response(){try{if(this.attachedResponse){let e=this.attachedResponse;return this.attachedResponse=void 0,e}return await this.turn.responseFor(this.interestId,this.signal)}finally{this.removeReservationAbortListener?.(),this.removeReservationAbortListener=void 0}}},Ug=class{sessions=new Map;admissionGates=new Map;forgetExpiredSuperseded(e,n,r=!0){let o=Date.now();for(let[s,i]of n.superseded)i<=o&&n.superseded.delete(s);r&&!n.active&&!n.completed&&n.superseded.size===0&&this.sessions.delete(e)}rememberSuperseded(e,n,r){for(n.superseded.delete(r),n.superseded.set(r,Date.now()+9e5);n.superseded.size>16;){let s=n.superseded.keys().next().value;if(typeof s!="string")break;n.superseded.delete(s)}let o=setTimeout(()=>{let s=this.sessions.get(e);s&&this.forgetExpiredSuperseded(e,s)},9e5);typeof o.unref=="function"&&o.unref()}async admit(e){if(e.signal?.aborted)throw en(e.signal.reason);let n=this.admissionGates.get(e.sessionKey),r,o=new Promise(s=>{r=s});this.admissionGates.set(e.sessionKey,o),n&&await n;try{if(e.signal?.aborted)throw en(e.signal.reason);for(;;){if(e.signal?.aborted)throw en(e.signal.reason);let s=this.sessions.get(e.sessionKey)||{superseded:new Map};if(this.sessions.set(e.sessionKey,s),this.forgetExpiredSuperseded(e.sessionKey,s,!1),s.superseded.has(e.fingerprint))throw Object.assign(new Error("This Cursor turn was superseded by a newer request"),{statusCode:409,code:"cursor_turn_superseded"});let i=s.active;if(i){if(i.fingerprint===e.fingerprint){if(i.responseKind!==e.responseKind)throw Object.assign(new Error("An identical Cursor turn is already using a different response format"),{statusCode:409,code:"cursor_turn_response_format_conflict"});if(i.isJoinable)return i.reserve(e.signal,"join");if(i.isProducing)throw Object.assign(new Error("The active Cursor turn exceeded the bounded duplicate replay buffer"),{statusCode:409,code:"cursor_turn_not_replayable"});await i.supersede("Waiting for the aborted Cursor turn to finish cleanup"),s.active===i&&(s.active=void 0);continue}this.rememberSuperseded(e.sessionKey,s,i.fingerprint),await i.supersede("Cursor turn superseded by a newer request"),s.active===i&&(s.active=void 0);continue}let c=s.completed;if(c&&c.replayAgeMs<=6e4&&c.fingerprint===e.fingerprint&&c.canReplay){if(c.responseKind!==e.responseKind)throw Object.assign(new Error("The cached Cursor turn uses a different response format"),{statusCode:409,code:"cursor_turn_response_format_conflict"});return c.reserve(e.signal,"replay")}c&&c.fingerprint!==e.fingerprint&&this.rememberSuperseded(e.sessionKey,s,c.fingerprint),s.completed=void 0;let u=new Mg(e.sessionKey,e.fingerprint,e.responseKind,(f,d)=>{let p=this.sessions.get(e.sessionKey);if(p){if(p.active===f&&(p.active=void 0),d==="completed"&&f.canReplay){p.completed=f;let h=setTimeout(()=>{let _=this.sessions.get(e.sessionKey);_?.completed===f&&(_.completed=void 0,this.forgetExpiredSuperseded(e.sessionKey,_))},6e4);typeof h.unref=="function"&&h.unref()}!p.active&&!p.completed&&p.superseded.size===0&&this.sessions.delete(e.sessionKey)}});return s.active=u,s.completed=void 0,u.reserve(e.signal,"leader")}}finally{r(),this.admissionGates.get(e.sessionKey)===o&&this.admissionGates.delete(e.sessionKey)}}clear(){for(let e of this.sessions.values())e.active&&e.active.supersede("Cursor turn registry cleared");this.sessions.clear()}},TA=new Ug;var yU=900*1e3,ji=null;function jg(t){return ms([t])}async function _U(t){let e=jg(t);if(ji&&ji.apiKeyFingerprint===e&&Date.now()-ji.fetchedAt<yU)return ji.models;let n=await gU.models.list({apiKey:t})||[];return ji={fetchedAt:Date.now(),apiKeyFingerprint:e,models:n},n}async function bU(t,e,n){let r;try{r=await _U(t)}catch{return{id:e}}let o=r.find(i=>i.id===e||i.displayName===e||Array.isArray(i.aliases)&&i.aliases.includes(e));if(!o)return{id:e};if(n&&Array.isArray(o.variants)&&o.variants.length){let i=o.variants.find(c=>c.params?.some(u=>/effort|reasoning/i.test(u.id)&&String(u.value).toLowerCase()===String(n).toLowerCase()))||o.variants.find(c=>(c.displayName||"").toLowerCase().includes(String(n).toLowerCase()));if(i)return{id:o.id,params:i.params}}let s=o.variants?.find(i=>i.isDefault)||o.variants?.[0];return s?.params?.length?{id:o.id,params:s.params}:{id:o.id}}function CU(t){let e=[];for(let n of t.messages||[])if((n.role==="system"||n.role==="user")&&(typeof n.content=="string"?e.push(n.content):Array.isArray(n.content)&&e.push(n.content.map(r=>typeof r=="string"?r:r?.text||"").join("")),n.role==="user"))break;return e.join(`
|
|
396
|
-
`)}function wU(t){return t.length===1&&t[0]?.role==="user"}function kU(t,e,n){if(e.hasTrailingUserInput)return!1;let r=n?.interruption==="synthetic_client_interrupt"&&n.steering==="none",o=e.toolResults.length+(r?1:0);if(t.length!==o)return!1;for(let s=0;s<e.toolResults.length;s+=1){let i=t[s],c=e.toolResults[s];if(i?.role!=="tool"||i.tool_call_id!==c.toolCallId||Zt(i.content)!==c.content)return!1}return!r||t[t.length-1]?.role==="user"}function tn(t){if(t?.aborted)throw Object.assign(new Error("cursor-sdk response producer aborted before lifecycle mutation"),{name:"AbortError"})}async function*SU(t,e,n,r){let o=t.streamIterator;if(!o){yield{kind:"end"};return}let s=d=>(d.catch(()=>{}),t.streamNext=d,t.streamNextRunToken=n,d),i=s(t.streamNextRunToken===n&&t.streamNext?t.streamNext:o.next()),c=t.waitForEmit().then(()=>"emit"),u=t.waitForSdkMessage().then(()=>"sdk_message"),f=()=>{let d=t.pendingSdkMessages.findIndex(h=>h.runToken===n);if(d===-1)return;let[p]=t.pendingSdkMessages.splice(d,1);return p};for(;;){if(r?.aborted||t.activeRunToken!==n){yield{kind:"end",aborted:r?.aborted===!0};return}let d=f();if(d){yield{kind:"sdk",message:d.message,source:d.source};continue}let p=await Promise.race([u.then(b=>({type:b})),i.then(b=>({type:"msg",r:b})),c.then(b=>({type:b}))]);if(p.type==="emit"){for(;t.pendingEmit.length&&t.pendingEmit[0]?.runToken===n;)yield{kind:"host_tool",tool:t.pendingEmit.shift()};c=t.waitForEmit().then(()=>"emit");continue}if(p.type==="sdk_message"){for(;;){let b=f();if(!b)break;yield{kind:"sdk",message:b.message,source:b.source}}u=t.waitForSdkMessage().then(()=>"sdk_message");continue}let{r:h}=p;if(t.streamNext===i&&(t.streamNext=void 0,t.streamNextRunToken=void 0),h.done){yield{kind:"end"};return}let _=h.value;if(r?.aborted||t.activeRunToken!==n){yield{kind:"end",aborted:r?.aborted===!0};return}_?.type==="tool_call"&&e==="bridge"&&(t.metrics.builtinToolCallsSeen+=1),yield{kind:"sdk",message:_,source:"stream"},i=s(o.next())}}function EU(t,e){if(!e||e.type!=="thinking-delta")return;let n=gs(e.text);if(n)return{type:"thinking",agent_id:t.agentId,run_id:t.run?.id||"",text:n}}async function Li(t,e){return e.onlyRunToken&&t.activeRunToken!==e.onlyRunToken?!1:Dr.retireSession(t,e.reason,()=>Ul(t,async()=>(await Eg(t,{rejectParked:!0,reason:e.reason,timeoutMs:2e3,poisonOnFailure:!0}),await Dr.invalidate(t,e.reason),!0)))}function vU(t,e,n,r){let o=r.cursorMode||Fl,s=t.model||"composer-2",i;try{i=Nv(e)}catch(d){throw Object.assign(d instanceof Error?d:new Error(String(d)),{statusCode:d?.statusCode||401,code:"provider_response_error",type:"api_error"})}let c=n?.req?.headers?.["x-ccr-cursor-session"]||n?.req?.headers?.["X-Ccr-Cursor-Session"],u=r.sourceSessionIdentity||n?.unifiedRequest?.sourceSessionIdentity||t?.metadata?.user_id,f=uA({headerSession:typeof c=="string"?c:void 0,metadataUserId:typeof u=="string"?u:void 0,model:s,systemAndFirstUser:CU(t)});return{apiKey:i,hostEnv:Ni(t),mode:o,modelId:s,sessionKey:f,turnIntent:r.turnIntent||n?.unifiedRequest?.turnIntent}}async function RA(t,e,n,r={}){let o=vU(t,e,n,r),s=r.cursorCwd||`managed-session:${o.sessionKey}`,i=Fg({credentialFingerprint:jg(o.apiKey),guidanceFingerprint:o.hostEnv.fingerprint,mode:o.mode,model:{id:o.modelId,effort:bg(t)||""},sandboxEnabled:Ui(r.sandboxEnabled),tools:t.tools,workspaceDir:s}),c=kA(t,{compatibilityStamp:i,turnIntent:o.turnIntent}),u=await TA.admit({sessionKey:o.sessionKey,fingerprint:c,responseKind:t.stream===!0?"stream":"json",signal:r.abortSignal});if(u.kind!=="leader")return u.response();try{let f=await AU(t,e,n,{...r,abortSignal:u.producerSignal,turnIntent:o.turnIntent},o);await u.attach(f)}catch(f){throw u.fail(f),f}return u.response()}async function AU(t,e,n,r,o){tn(r.abortSignal);let s=r.logger||e?.logger;s&&Dr.setLogger(s);let i=o.mode,c=t.stream===!0,u=o.modelId,f=o.apiKey,d=o.sessionKey,p=bg(t),h=await bU(f,u,p);tn(r.abortSignal);let _=o.hostEnv,b={key:d,apiKey:f,model:h,mode:i,cursorCwd:r.cursorCwd,sandboxEnabled:r.sandboxEnabled,hostEnv:_};tn(r.abortSignal);let y=await Dr.getOrCreate(b);tn(r.abortSignal);let w=Y=>!_.known&&Y.hostEnv?.known?Y.hostEnv:_,C=Y=>Fg({credentialFingerprint:jg(f),guidanceFingerprint:w(Y).fingerprint,mode:i,model:h,sandboxEnabled:Ui(r.sandboxEnabled),tools:t.tools,workspaceDir:Y.workspaceDir}),v=w(y),A=C(y),T=nA(t,r.turnIntent),x=T.toolResults,O=y.parked.length>0?{kind:"parked",live:!!(y.run&&y.streamIterator&&y.activeRunToken&&!y.poisoned),tools:y.parked}:y.run||y.streamIterator||y.streamNext||y.activeRunToken?{kind:"active-different-turn"}:{kind:"idle"},q=y.transcriptCommit&&y.compatibilityStamp===A?vA(y.transcriptCommit,t):void 0,$=q===void 0?!1:O.kind==="parked"?kU(q,T,r.turnIntent):O.kind==="idle"?wU(q):!0,H=!y.hasSentPrompt||!y.transcriptCommit?"unknown":$?"strict":"divergent",ce=AA({session:{alignment:H,hasSentPrompt:y.hasSentPrompt,poisoned:y.poisoned===!0,run:O},turn:{hasMeaningfulSteering:T.hasTrailingUserInput,toolResults:x}});if(ce.action==="retire-and-replay-full"&&(s?.info?.({sessionKey:y.key,agentId:y.agentId,alignment:H,lifecycleReason:ce.reason,toolResultCount:x.length},"cursor-sdk retiring session before full transcript replay"),await Li(y,{reason:`cursor-sdk lifecycle: ${ce.reason}`,onlyRunToken:y.activeRunToken}),tn(r.abortSignal),y=await Dr.getOrCreate(b),tn(r.abortSignal),v=w(y),A=C(y),ce={action:"send-full",reason:"unused-session"}),tn(r.abortSignal),vg(y,v),ce.action==="resume-parked"&&(tn(r.abortSignal),Dr.resolveParkedTools(y,x)!==x.length||y.parked.length!==0))throw new Error("cursor-sdk lifecycle changed while resolving exact parked tools");let X=ce.action!=="resume-parked",te=ce.action==="send-incremental",Z=y.activeRunToken,Oe=(Y,ue)=>{Y.pendingSdkMessages=Y.pendingSdkMessages.filter(fe=>fe.runToken!==ue),Y.notifySdkMessage()},$e=(Y,ue)=>{let fe=i==="bridge"?pA(t,Y,s,Re):void 0;return{model:h,mode:i==="plan"?"plan":"agent",local:fe?{customTools:fe}:void 0,onDelta:({update:k})=>{let E=EU(Y,k);E&&Y.enqueueSdkMessage(E,ue)}}},Re=xg(),He=Y=>Object.assign(new Error(`Cursor SDK error: ${Y?.message||Y}`),{statusCode:502,code:"provider_response_error",type:"api_error"}),ee=(Y,ue)=>ue.hasSentPrompt&&!r.abortSignal?.aborted&&(Y?.retryFreshCursorSession===!0||Ag(Y)||Tg(Y)),Q=async(Y,ue)=>{let fe;if(await Ul(Y,async()=>{if(Y.poisoned)throw Object.assign(new Error("cursor-sdk session is no longer safe for sends"),{retryFreshCursorSession:!0});if(Y.run||Y.streamIterator||Y.streamNext||Y.activeRunToken||Y.parked.length>0)throw ys(Y,"cursor-sdk session became active after lifecycle admission"),Object.assign(new Error("cursor-sdk session became active before prompt send"),{retryFreshCursorSession:!0});if(Y.poisoned)throw Object.assign(new Error("cursor-sdk session was retired during cancellation"),{retryFreshCursorSession:!0});let k=tA(t,{mode:i,workspaceDir:Y.workspaceDir,followUpOnly:ue,hostEnv:v,turnIntent:r.turnIntent});fe=Symbol("cursor-sdk-run"),Y.activeRunToken=fe;try{let E=await Rg(Y,k,$e(Y,fe),{abortSignal:r.abortSignal,logger:s});Y.run=E,Y.activeRunToken=fe,Y.streamIterator=E.stream()[Symbol.asyncIterator](),Y.streamNext=void 0,Y.streamNextRunToken=void 0,Y.hasSentPrompt=!0,tn(r.abortSignal)}catch(E){throw fe&&Y.activeRunToken===fe&&(Y.activeRunToken=void 0,Oe(Y,fe)),(r.abortSignal?.aborted||Tg(E)||Ag(E))&&ys(Y,r.abortSignal?.aborted?"cursor-sdk send aborted":"cursor-sdk send left session state unsafe"),s?.error?.({err:E},"cursor-sdk agent.send failed"),E}}),!fe)throw new Error("cursor-sdk agent.send did not produce a run token");return fe};if(X)try{Z=await Q(y,te)}catch(Y){let ue=ee(Y,y);if(await Li(y,{reason:"cursor-sdk prompt send failed before streaming"}),!ue)throw He(Y);tn(r.abortSignal),s?.warn?.({err:Y,sessionKey:y.key,agentId:y.agentId},"cursor-sdk retrying failed resumed send with fresh session"),y=await Dr.getOrCreate(b),tn(r.abortSignal),v=w(y),A=C(y),vg(y,v);try{Z=await Q(y,!1)}catch(fe){throw await Li(y,{reason:"cursor-sdk fresh replay send failed before streaming"}),He(fe)}}Z||(Z=Symbol("cursor-sdk-run"),y.activeRunToken=Z);let ie=qv(u,new TextEncoder),de=[],Ce=gA(t),K=0,Je,Ne=new ReadableStream({async start(Y){let ue=()=>{Re.scratchViolations<=0||s?.warn?.({sessionKey:y.key,model:u,scratchViolations:Re.scratchViolations,scratchCorrections:Re.scratchCorrections,metrics:y.metrics,hostProjectRoot:v.projectRoot},"cursor-sdk turn produced scratch-workspace tool paths")},fe=D=>{de.push(D),c&&Y.enqueue(ie.encode(D))},k=D=>{typeof D=="string"&&D.length&&(K+=D.length)},E=()=>{let D=_A(Je,y.lastSdkUsageRaw,Ce),F=yA(Ce,K,D);return Je&&(y.lastSdkUsageRaw=Je),F},R=()=>{if(y.activeRunToken!==Z)return;let F=Cg(u,de)?.choices?.[0]?.message;!F||F.role!=="assistant"||(y.transcriptCommit=EA(t,F),y.compatibilityStamp=A)},M=D=>{let F=E();s?.debug?.({reason:D,promptTokens:F.prompt_tokens,completionTokens:F.completion_tokens,outputChars:K,sdkUsageRaw:Je,runUsage:y.run?.usage},"cursor-sdk finish usage (request estimate; raw SDK is diagnostic only)"),fe(ie.finish(D,F)),R()};try{let D=0,F=!1,j=!0,P=!1,N=!1,U,B="",G=0,se=()=>{!P||N||(fe(ie.thinkingSignature()),N=!0,j=!1)};for(;;){let ae=!1;for await(let be of SU(y,i,Z,r.abortSignal)){if(Ml(y),be.kind==="host_tool"){if(i!=="bridge")continue;for(se(),j=!1,k(be.tool.name),k(JSON.stringify(be.tool.args??{})),fe(ie.toolCall(be.tool,D)),D+=1;y.pendingEmit.length;){let me=y.pendingEmit.shift();k(me.name),k(JSON.stringify(me.args??{})),fe(ie.toolCall(me,D)),D+=1}M("tool_calls"),c&&Y.enqueue(ie.encodeDone()),Y.close();return}if(be.kind==="end"){if(be.aborted)throw Object.assign(new Error("cursor-sdk response producer aborted"),{name:"AbortError"});if(Zv({mode:i,assistantText:B,emittedHostTools:D,continuationAttempts:G})){y.activeRunToken===Z&&(y.streamIterator=void 0,y.streamNext=void 0,y.streamNextRunToken=void 0,y.run=void 0,y.activeRunToken=void 0),G+=1,s?.warn?.({assistantText:B,attempt:G},"cursor-sdk continuing progress-only terminal turn");let me=Symbol("cursor-sdk-run");Z=me,y.activeRunToken=me,await Ul(y,async()=>{if(y.poisoned||r.abortSignal?.aborted)throw new Error("cursor-sdk progress continuation aborted before send");let _e=await Rg(y,eA(v),$e(y,me),{abortSignal:r.abortSignal,logger:s});if(y.run=_e,y.activeRunToken=me,y.streamIterator=_e.stream()[Symbol.asyncIterator](),y.streamNext=void 0,y.streamNextRunToken=void 0,y.hasSentPrompt=!0,y.poisoned||r.abortSignal?.aborted)throw new Error("cursor-sdk progress continuation retired during send")}),B="",ae=!0;break}se(),M("stop"),y.activeRunToken===Z&&(y.streamIterator=void 0,y.streamNext=void 0,y.streamNextRunToken=void 0,y.run=void 0,y.activeRunToken=void 0),c&&Y.enqueue(ie.encodeDone()),Y.close();return}let ye=be.message;if(ye){if(ye.type==="assistant")for(let me of ye.message?.content||[])me.type==="text"&&me.text&&(se(),j=!1,F=!0,B+=me.text,k(me.text),fe(ie.content(me.text)));else if(ye.type==="thinking"){if(!j)continue;let me=be.source||"stream";if(U&&U!==me)continue;U=me;let _e=gs(ye.text);_e&&(P=!0,k(_e),fe(ie.thinking(_e)))}else if(ye.type==="usage")Je=bA(ye);else if(ye.type==="status"){if(ye.status==="ERROR"||ye.status==="CANCELLED")throw Object.assign(new Error(ye.message||`Cursor run ${ye.status.toLowerCase()}`),{statusCode:502,code:"provider_response_error",type:"api_error"})}else if(ye.type==="tool_call"&&i!=="bridge"&&i==="agent"&&ye.name){se(),j=!1;let me=`
|
|
396
|
+
`}function _U(t){return["CCR Cursor SDK bridge: do not use Cursor built-in tools.",`Call host tools via MCP server '${$i}' using the bare Claude Code tool names (Read, Bash, Edit, \u2026).`,Cv(t)].join(" ")}function Hg(t,e,n){try{if(mU(t,"utf-8")===e)return}catch{}gU(t,e,{encoding:"utf-8",mode:n})}function Wi(t,e=Fr){let n=Hi(t,".cursor"),r=Hi(n,"hooks");hU(r,{recursive:!0});let o=Hi(r,"deny-builtin.cjs");Hg(o,yU(_U(e)),448);try{pU(o,448)}catch{}let s=cv.join("|"),i=`node "${o}"`,a={version:1,hooks:{preToolUse:[{matcher:s,command:i}],beforeShellExecution:[{command:i}],beforeReadFile:[{command:i}],beforeMCPExecution:[{command:i}]}};Hg(Hi(n,"hooks.json"),JSON.stringify(a,null,2),384),Hg(Hi(t,"AGENTS.md"),bv(t,e),384)}var kU=2e3;function SU(t){let e=t;return e?.name==="AbortError"||String(e?.message||t).toLowerCase()==="this operation was aborted"}function vs(t,e){t.poisoned=!0,t.poisonReason=e}async function Jg(t,e={}){let n={skipped:!1,hadRun:!!t.run,hadIterator:!!t.streamIterator,runCancelFailed:!1,iteratorReturnFailed:!1,failed:!1,timedOut:!1};if(e.onlyRunToken&&t.activeRunToken!==e.onlyRunToken)return{...n,skipped:!0};let r=t.run,o=t.streamIterator,s=t.streamNext;if(t.run=void 0,t.streamIterator=void 0,t.streamNext=void 0,t.streamNextRunToken=void 0,t.activeRunToken=void 0,t.pendingEmit=[],t.pendingSdkMessages=[],t.notifyEmit(),t.notifySdkMessage?.(),s?.catch(()=>{}),e.rejectParked&&t.parked.length){let u=e.reason||"cursor-sdk run cancelled";for(let d of t.parked.splice(0,t.parked.length))try{d.reject(new Error(u))}catch{}}let i=async(u,d,f)=>{try{await nd(Promise.resolve().then(u),e.timeoutMs??2e3,d)}catch(h){n.failed=!0,f==="run"&&(n.runCancelFailed=!0),f==="iterator"&&(n.iteratorReturnFailed=!0),n.timedOut=n.timedOut||String(h?.message||h).toLowerCase().includes("timed out")}},a=[];return r?.status==="running"&&a.push(i(()=>r.cancel(),"cursor-sdk run cancel timed out","run")),o&&typeof o.return=="function"&&a.push(i(()=>o.return(void 0),"cursor-sdk stream iterator return timed out","iterator")),await Promise.all(a),n.failed&&e.poisonOnFailure&&vs(t,e.reason||"cursor-sdk run cancellation did not complete"),n}async function nd(t,e,n){let r;try{return await Promise.race([t,new Promise((o,s)=>{r=setTimeout(()=>s(new Error(n)),e)})])}finally{r&&clearTimeout(r)}}async function rd(t,e){let n=t.sendChain,r,o=new Promise(s=>{r=s});t.sendChain=n.then(()=>o).catch(()=>o),await n.catch(()=>{});try{return await e()}finally{r()}}function Gi(t){if(t===!1)return!1;let e=process.env.CCR_CURSOR_SANDBOX?.trim().toLowerCase();return!(e==="0"||e==="false"||e==="off"||!(t===!0||e==="1"||e==="true"||e==="on")||xv("/.dockerenv")||process.env.container==="docker")}function EU(t,e){xv(An)||Av(An,{recursive:!0});let n=Dv(An,t);return Av(n,{recursive:!0}),Wi(n,e),n}function Kg(t,e){if(!e.known&&t.hostEnv?.known)return!1;let n=t.guidanceFingerprint!==e.fingerprint;if(t.hostEnv=e,t.mode!=="bridge"||!n)return!1;try{return Wi(t.workspaceDir,e),t.guidanceFingerprint=e.fingerprint,!0}catch{return!1}}function Tv(t,e,n=An){if(!qg(t,n))return!1;try{return CU(t,{recursive:!0,force:!0}),!0}catch(r){return e?.debug?.({err:r,dir:t},"cursor-sdk workspace cleanup failed"),!1}}function Ov(t){if(t.headerSession)return Wg("sha256").update(t.headerSession).digest("hex").slice(0,32);if(t.metadataUserId){let e=t.metadataUserId.split("_session_");return e.length>1&&e[1]?Wg("sha256").update(e[1]).digest("hex").slice(0,32):Wg("sha256").update(t.metadataUserId).digest("hex").slice(0,32)}return Es([t.model||"",t.systemAndFirstUser||""])}function Rv(t){return!!(t.streamIterator||t.streamNext||t.activeRunToken||t.parked.length>0||t.pendingSdkMessages.length>0||t.run?.status==="running")}function td(t){t.lastActiveAt=Date.now()}var Gg=class{constructor(e){this.logger=e;this.cleanupTimer=setInterval(()=>this.evictIdle(),6e4),typeof this.cleanupTimer.unref=="function"&&this.cleanupTimer.unref()}logger;sessions=new Map;retirements=new Map;creations=new Map;cleanupTimer;lastSweepAt=0;setLogger(e){this.logger=e}get(e){let n=this.sessions.get(e);if(n?.poisoned){let r=n.poisonReason||"cursor-sdk session poisoned";this.retireSession(n,r,async()=>(await this.invalidate(n,r),!0)).catch(o=>{this.logger?.warn?.({err:o,sessionKey:n.key,agentId:n.agentId,reason:r},"cursor-sdk poisoned session retirement failed")});return}return n&&td(n),n}async retireSession(e,n,r){vs(e,n),this.sessions.get(e.key)===e&&this.sessions.delete(e.key);let o=this.retirements.get(e.key);o||(o={tail:Promise.resolve(),pending:new Map},this.retirements.set(e.key,o));let s=o.pending.get(e);if(s)return await s.catch(()=>{}),!1;let i=o.pending.size>0,a=o.tail,u=async()=>(this.logger?.debug?.({sessionKey:e.key,agentId:e.agentId,reason:n},"cursor-sdk session retirement started"),r()),d=i?a.then(u):u();o.pending.set(e,d);let f=d.then(()=>{},()=>{});o.tail=f;try{return await d}finally{o.pending.get(e)===d&&o.pending.delete(e),this.retirements.get(e.key)===o&&o.tail===f&&o.pending.size===0&&this.retirements.delete(e.key)}}async getOrCreate(e){for(;;){let o=this.retirements.get(e.key);if(o){await o.tail;continue}let s=this.get(e.key);if(s)return s;let i=this.retirements.get(e.key);if(i){await i.tail;continue}let a=this.creations.get(e.key);if(!a)break;await a}let n,r=new Promise(o=>{n=o});this.creations.set(e.key,r);try{this.evictIfNeeded();let o=e.hostEnv||Fr,s=e.mode==="agent"&&e.cursorCwd?e.cursorCwd:EU(e.key,o);e.mode==="bridge"&&Wi(s,o);let i=e.mode==="plan"?"plan":"agent",a=Gi(e.sandboxEnabled),u=await vv.create({apiKey:e.apiKey,model:e.model,name:`ccr-${e.key.slice(0,8)}`,mode:i,local:{cwd:s,settingSources:[],sandboxOptions:{enabled:a},enableAgentRetries:!0}}),d=this.createSessionRecord({key:e.key,agent:u,mode:e.mode,workspaceDir:s,hostEnv:o,guidanceFingerprint:o.fingerprint});return this.sessions.set(e.key,d),this.logger?.info?.({sessionKey:e.key,agentId:u.agentId,mode:e.mode,sandboxEnabled:a},"cursor-sdk session created"),d}finally{this.creations.get(e.key)===r&&this.creations.delete(e.key),n()}}async resume(e){let n=Gi(e.sandboxEnabled),r=e.hostEnv||Fr;e.mode==="bridge"&&Wi(e.workspaceDir,r);let o=await vv.resume(e.agentId,{apiKey:e.apiKey,model:e.model,local:{cwd:e.workspaceDir,settingSources:[],sandboxOptions:{enabled:n}}}),s=this.createSessionRecord({key:e.key,agent:o,mode:e.mode,workspaceDir:e.workspaceDir,hostEnv:r,guidanceFingerprint:r.fingerprint});return this.sessions.set(e.key,s),s}resolveParkedTools(e,n){let r=0,o=[],s=e.parked.map(i=>i.id).filter((i,a,u)=>i&&u.indexOf(i)!==a);s.length&&this.logger?.warn?.({sessionKey:e.key,duplicates:[...new Set(s)]},"cursor-sdk parked tools share an id; results may mispair");for(let i of n){let a=-1;if(i.toolCallId?a=e.parked.findIndex(d=>d.id===i.toolCallId):n.length===1&&e.parked.length===1&&(a=0),a===-1){o.push(i.toolCallId||"(empty)");continue}let[u]=e.parked.splice(a,1);u.resolve(i.content),r++}return o.length&&this.logger?.warn?.({unmatched:o,parkedRemaining:e.parked.map(i=>i.id),resolved:r},"cursor-sdk tool results did not match parked tools"),td(e),r}async dispose(e){let n=this.sessions.get(e);if(!n)return;let r="cursor-sdk session disposed";await this.retireSession(n,r,async()=>(await Jg(n,{rejectParked:!0,reason:r}),await this.disposeAgent(n,r),Tv(n.workspaceDir,this.logger),!0))}invalidate(e,n){let r=typeof e=="string"?this.sessions.get(e):e;if(!r)return Promise.resolve();if(vs(r,n),r.run=void 0,r.streamIterator=void 0,r.streamNext?.catch(()=>{}),r.streamNext=void 0,r.streamNextRunToken=void 0,r.activeRunToken=void 0,r.pendingEmit=[],r.pendingSdkMessages=[],r.parked.length)for(let o of r.parked.splice(0,r.parked.length))try{o.reject(new Error(n))}catch{}return r.notifyEmit(),r.notifySdkMessage(),this.sessions.get(r.key)===r&&this.sessions.delete(r.key),this.logger?.warn?.({sessionKey:r.key,agentId:r.agentId,reason:n},"cursor-sdk session invalidated"),this.disposeAgent(r,n)}async disposeAgent(e,n){try{let r=e.agent[Symbol.asyncDispose]();r.catch(()=>{}),await nd(r,kU,"cursor-sdk agent disposal timed out")}catch(r){let o={err:r,sessionKey:e.key,agentId:e.agentId,reason:n};SU(r)?this.logger?.debug?.(o,"cursor-sdk agent disposal observed expected cancellation"):this.logger?.warn?.(o,"cursor-sdk agent disposal failed")}}createSessionRecord(e){let n={key:e.key,agent:e.agent,agentId:e.agent.agentId,mode:e.mode,workspaceDir:e.workspaceDir,hostEnv:e.hostEnv,parked:[],pendingEmit:[],emitWaiters:[],pendingSdkMessages:[],sdkMessageWaiters:[],sendChain:Promise.resolve(),hasSentPrompt:!1,guidanceFingerprint:e.guidanceFingerprint,lastActiveAt:Date.now(),metrics:{customToolCalls:0,builtinToolCallsSeen:0,scratchPathViolations:0,scratchPathCorrections:0},parkHostTool:({id:r,name:o,args:s})=>{let i,a,u=new Promise((f,h)=>{i=f,a=h}),d=n.activeRunToken;return n.parked.push({id:r,name:o,args:s,runToken:d,resolve:i,reject:a,promise:u}),n.pendingEmit.push({id:r,name:o,args:s,runToken:d}),n.notifyEmit(),u},notifyEmit:()=>{let r=n.emitWaiters.splice(0,n.emitWaiters.length);for(let o of r)o()},waitForEmit:()=>new Promise(r=>{if(n.pendingEmit.length){r();return}n.emitWaiters.push(r)}),enqueueSdkMessage:(r,o=n.activeRunToken)=>{n.pendingSdkMessages.push({message:r,runToken:o,source:"delta"}),n.notifySdkMessage()},notifySdkMessage:()=>{let r=n.sdkMessageWaiters.splice(0,n.sdkMessageWaiters.length);for(let o of r)o()},waitForSdkMessage:()=>new Promise(r=>{if(n.pendingSdkMessages.length){r();return}n.sdkMessageWaiters.push(r)})};return n}evictIfNeeded(){for(;this.sessions.size>=Lg;){let e,n=1/0;for(let[r,o]of this.sessions)Rv(o)||o.lastActiveAt<n&&(n=o.lastActiveAt,e=r);if(!e){this.logger?.warn?.({size:this.sessions.size,max:Lg},"cursor-sdk session capacity reached with all sessions in-flight; deferring eviction");break}this.dispose(e)}}evictIdle(){let e=Date.now();for(let[n,r]of this.sessions)Rv(r)||e-r.lastActiveAt>sv&&(this.logger?.info?.({sessionKey:n},"cursor-sdk idle session evicted"),this.dispose(n));this.sweepOrphanWorkspaces(e)}sweepOrphanWorkspaces(e=Date.now(),n=An){if(e-this.lastSweepAt<av)return 0;this.lastSweepAt=e;let r;try{r=bU(n)}catch{return 0}let o=new Set([...this.sessions.values()].map(i=>i.workspaceDir)),s=0;for(let i of r){let a=Dv(n,i);if(!(o.has(a)||!qg(a,n))){try{let u=wU(a);if(!u.isDirectory()||e-u.mtimeMs<=iv)continue}catch{continue}Tv(a,this.logger,n)&&s++}}return s&&this.logger?.info?.({removed:s,root:n},"cursor-sdk orphan workspaces swept"),s}},Nr=new Gg;var AU="Cursor SDK agent.send timed out";function Vg(t){let e=t||{},n=typeof e.name=="string"?e.name:"",r=(typeof e.message=="string"?e.message:String(t)).toLowerCase();return n==="AgentBusyError"||e.status===409||r.includes("already has active run")||r.includes("agent busy")}function Yg(t){let e=t||{},n=typeof e.name=="string"?e.name:"",r=(typeof e.message=="string"?e.message:String(t)).toLowerCase();return n==="AgentNotFoundError"||n==="NetworkError"||e.status===503||e.status===504||r.includes("agent not found")||r.includes("request aborted before send")||r.includes("request aborted during send")||r.includes("agent.send timed out")||r.includes("network error")||r.includes("network request failed")||r.includes("network timeout")||r.includes("network connection")}function vU(t){if(!t)return;let e;return{promise:new Promise((r,o)=>{if(t.aborted){o(new Error("cursor-sdk request aborted before send"));return}e=()=>o(new Error("cursor-sdk request aborted during send")),t.addEventListener("abort",e,{once:!0})}),cleanup:()=>{e&&t.removeEventListener("abort",e)}}}async function TU(t,e,n,r){let o,s;try{if(r?.aborted)throw new Error("cursor-sdk request aborted before send");return o=t.agent.send(e,n),s=vU(r),await nd(s?Promise.race([o,s.promise]):o,15e3,AU)}catch(i){throw o&&o.then(a=>a.cancel()).catch(()=>{}),i}finally{s?.cleanup()}}async function Xg(t,e,n,r={}){return TU(t,e,n,r.abortSignal)}import{randomUUID as IU}from"crypto";var RU=6,xU=512,DU=4;function OU(t){return t.length>200?`${t.slice(0,200)}\u2026`:t}function PU(t,e){return t.length<8?!1:t.includes(e)||t.includes(An)}function Pv(t,e){let n=[],r=0,o=(s,i,a)=>{if(!(n.length>=DU||r>=xU||a>RU)){if(r++,typeof s=="string"){PU(s,e)&&n.push({argPath:i||"(argument)",value:OU(s)});return}if(Array.isArray(s)){s.forEach((u,d)=>o(u,`${i}.${d}`,a+1));return}if(s&&typeof s=="object")for(let[u,d]of Object.entries(s))o(d,i?`${i}.${u}`:u,a+1)}};return o(t,"",0),n}function Iv(t){return t.projectRoot?!t.projectRoot.startsWith(An):!0}function Fv(t,e,n,r){let o=t.map(s=>` - ${s.argPath}: ${s.value}`).join(`
|
|
397
|
+
`);return[`Error: this ${e} call was not executed because it points at your local scratch container, not at the user's machine.`,"Offending arguments:",o,`${n} is disposable scratch space on the machine running the model bridge. It is empty and contains none of the user's files.`,"Host tools execute on the user's machine, where that path does not exist.",fo(r),"Retry the call with a host path."].join(`
|
|
398
|
+
`)}var FU=3;function NU(t){if(!t)return{type:"object",properties:{}};if(typeof t=="string")try{let e=JSON.parse(t);if(e&&typeof e=="object")return e}catch{return{type:"object",properties:{}}}return typeof t=="object"?t:{type:"object",properties:{}}}function Qg(){return{scratchViolations:0,scratchCorrections:0}}function Nv(t,e,n,r=Qg()){let o={};if(!Array.isArray(t.tools))return o;for(let s of t.tools){let i=s.function?.name;!i||typeof i!="string"||(o[i]={description:s.function.description||`Claude Code host tool: ${i}`,inputSchema:NU(s.function.parameters),async execute(a,u){let d=$n(u.toolCallId)||IU(),f=a||{},h=e.hostEnv||Fr,p=Iv(h)?Pv(f,e.workspaceDir):[];if(p.length){e.metrics.scratchPathViolations+=1,r.scratchViolations+=1;let b=e.metrics.scratchPathCorrections<FU;if(n?.warn?.({sessionKey:e.key,tool:i,hits:p,corrected:b,violations:e.metrics.scratchPathViolations},"cursor-sdk host tool call referenced the scratch workspace"),b)return e.metrics.scratchPathCorrections+=1,r.scratchCorrections+=1,Fv(p,i,e.workspaceDir,h)}return e.metrics.customToolCalls+=1,e.parkHostTool({id:d,name:i,args:f})}})}return o}function Bv(t){return!Number.isFinite(t)||t<=0?0:Math.ceil(t/4)}function Mv(t){if(typeof t=="string")return t;if(t==null)return"";try{return JSON.stringify(t)??""}catch{return String(t)}}function Uv(t){let e=[];t.system&&e.push(Mv(t.system));for(let n of t.messages||[])e.push(Mv(n.content)),n.thinking?.content&&e.push(String(n.thinking.content)),n.reasoning_content&&e.push(String(n.reasoning_content)),n.tool_calls?.length&&e.push(JSON.stringify(n.tool_calls));return t.tools?.length&&e.push(JSON.stringify(t.tools)),Bv(e.join(`
|
|
399
|
+
`).length)}function jv(t,e,n=0){let r=Math.max(0,Math.trunc(t)||0),o=Bv(e),s=Math.min(r,Math.max(0,Math.trunc(n)||0));return{prompt_tokens:r,completion_tokens:o,total_tokens:r+o,prompt_tokens_details:{cached_tokens:s}}}function od(t){let e=Number(t);return Number.isFinite(e)&&e>0?e:0}function Lv(t,e,n){let r=Math.max(0,Math.trunc(n)||0);if(!r||!t)return 0;let o=od(t.prompt_tokens),s=od(t.prompt_tokens_details?.cached_tokens);if(!o||!s)return 0;let i=od(e?.prompt_tokens),a=od(e?.prompt_tokens_details?.cached_tokens),u=o-i,d=s-a,f=u>0&&d>0?d/u:s/o,h=Math.min(1,Math.max(0,f));return Math.min(r,Math.floor(r*h))}function qv(t){let e=t?.usage??t;if(!e||typeof e!="object")return;let n=e.inputTokens??e.input_tokens??e.prompt_tokens,r=e.outputTokens??e.output_tokens??e.completion_tokens;if(n==null&&r==null)return;let o=Number(n)||0,s=Number(r)||0,i=Number(e.cacheReadTokens??e.cache_read_input_tokens??0)||0;return{prompt_tokens:o,completion_tokens:s,total_tokens:Number(e.totalTokens??e.total_tokens??o+s)||0,prompt_tokens_details:{cached_tokens:i}}}import{createHash as MU}from"crypto";var BU=new Set(["id","idempotency_key","metadata","anthropic_metadata","request_id","req_id","stream","stream_options","trace_id","user"]);function vn(t){if(t===null)return null;if(typeof t=="string"||typeof t=="boolean"||typeof t=="number")return t;if(typeof t=="bigint")return String(t);if(Array.isArray(t))return t.map(n=>vn(n)).filter(n=>n!==void 0);if(typeof t!="object")return;let e={};for(let n of Object.keys(t).sort()){if(n==="cache_control")continue;let r=vn(t[n]);r!==void 0&&(e[n]=r)}return e}function ey(t){if(t==null)return[];if(typeof t=="string")return[{text:t,type:"text"}];if(!Array.isArray(t)){let e=vn(t);return e===void 0?[]:[e]}return t.map(e=>{if(typeof e=="string")return{text:e,type:"text"};if(!e||typeof e!="object")return vn(e);let n=e;return n.type==="text"?{text:String(n.text||""),type:"text"}:vn(n)}).filter(e=>e!==void 0)}function UU(t){if(typeof t!="string")return vn(t)??null;try{return vn(JSON.parse(t))??null}catch{return t}}function ty(t){let e=t,n={content:ey(e.content),role:e.role};return e.reasoning_content&&(n.reasoning_content=e.reasoning_content),e.thinking?.content&&(n.thinking={content:e.thinking.content}),e.tool_call_id&&(n.tool_call_id=e.tool_call_id),e.is_error!==void 0&&(n.is_error=e.is_error),Array.isArray(e.tool_calls)&&e.tool_calls.length&&(n.tool_calls=e.tool_calls.map(r=>({function:{arguments:UU(r.function.arguments),name:r.function.name},id:r.id,type:r.type}))),n}function $v(t){return Array.isArray(t)?t.map(e=>vn(e)).filter(e=>e!==void 0).sort((e,n)=>Zg(e).localeCompare(Zg(n))):[]}function Zg(t){return JSON.stringify(t)}function ny(t){return MU("sha256").update(Zg(t)).digest("hex")}function zv(t){return{system:ey(t.system),messages:(t.messages||[]).map(ty)}}function jU(t){let e=t,n={};for(let r of Object.keys(e).sort()){if(BU.has(r)||r==="cache_control")continue;let o;r==="messages"?o=(t.messages||[]).map(ty):r==="system"?o=ey(t.system):r==="tools"?o=$v(t.tools):o=vn(e[r]),o!==void 0&&(n[r]=o)}return n}function Hv(t,e={}){return ny({compatibilityStamp:e.compatibilityStamp||"",request:jU(t),turnIntent:e.turnIntent?{interruption:e.turnIntent.interruption,source:e.turnIntent.source,steering:e.turnIntent.steering,trailingToolResults:e.turnIntent.trailingToolResults.map(n=>({content:n.content,isError:n.isError,toolCallId:n.toolCallId}))}:null})}function ry(t){return ny({credentialFingerprint:t.credentialFingerprint||"",guidanceFingerprint:t.guidanceFingerprint||"",mode:t.mode,model:vn(t.model)??null,sandboxEnabled:t.sandboxEnabled===!0,tools:$v(t.tools),workspaceDir:t.workspaceDir})}function Wv(t,e){return ny({messages:e,system:t})}function Gv(t,e){if(e&&e.role!=="assistant")throw new TypeError("Cursor transcript commits require an assistant message");let n=zv(t);return e&&n.messages.push(ty(e)),Object.freeze({transcriptHash:Wv(n.system,n.messages),messageCount:n.messages.length})}function Jv(t,e){if(!Number.isInteger(t.messageCount)||t.messageCount<0||typeof t.transcriptHash!="string")return;let n=zv(e);if(!(n.messages.length<=t.messageCount)&&Wv(n.system,n.messages.slice(0,t.messageCount))===t.transcriptHash)return(e.messages||[]).slice(t.messageCount)}function LU(t,e){if(t.length===0||t.length!==e.length)return;let n=new Map;for(let s of e){let i=s.toolCallId;if(!i||n.has(i))return;n.set(i,s)}let r=new Set,o=[];for(let s of t){if(!s.id||r.has(s.id))return;r.add(s.id);let i=n.get(s.id);if(!i)return;o.push({parked:s,result:i})}return o}var er=t=>({action:"retire-and-replay-full",reason:t});function Kv(t){let{session:e,turn:n}=t;if(e.poisoned)return er("poisoned-session");if(!e.hasSentPrompt)return e.run.kind==="idle"?{action:"send-full",reason:"unused-session"}:er("inconsistent-unused-session");if(e.alignment==="unknown")return er("unknown-context-alignment");if(e.alignment==="divergent")return er("divergent-context-alignment");if(e.run.kind==="active-different-turn")return er("active-different-turn");if(e.run.kind==="parked"){if(!e.run.live)return er("dead-parked-run");if(n.hasMeaningfulSteering)return er("parked-turn-has-steering");let r=LU(e.run.tools,n.toolResults);return r?{action:"resume-parked",reason:"exact-parked-tool-results",matches:r}:er("parked-tool-results-mismatch")}return n.toolResults.length>0?er("orphaned-tool-results"):{action:"send-incremental",reason:"strictly-aligned-idle-session"}}function nn(t){let e=t instanceof Error?t.message:typeof t=="string"&&t?t:"Cursor turn subscriber aborted";return Object.assign(new Error(e),{name:"AbortError"})}async function oy(t,e){let n;try{await Promise.race([t,new Promise(r=>{n=setTimeout(r,e)})])}finally{n&&clearTimeout(n)}}var sy=class{constructor(e,n,r,o){this.sessionKey=e;this.fingerprint=n;this.responseKind=r;this.onTerminal=o;this.ready.catch(()=>{})}sessionKey;fingerprint;responseKind;onTerminal;abortController=new AbortController;phase="awaiting_response";responseMetadata;sourceReader;chunks=[];bufferedBytes=0;replayable=!0;readySettled=!1;completedAt;nextInterestId=1;nextSubscriberId=1;interests=new Set;subscribers=new Map;failure;readyResolve;readyReject;settledResolve;ready=new Promise((e,n)=>{this.readyResolve=e,this.readyReject=n});settled=new Promise(e=>{this.settledResolve=e});get canReplay(){return this.phase==="completed"&&this.replayable}get replayAgeMs(){return this.completedAt===void 0?Number.POSITIVE_INFINITY:Date.now()-this.completedAt}get isJoinable(){return this.replayable&&(this.phase==="awaiting_response"||this.phase==="streaming")}get isProducing(){return this.phase==="awaiting_response"||this.phase==="streaming"}reserve(e,n){let r=this.nextInterestId++;return this.interests.add(r),new iy(this,r,e,n)}releaseInterest(e){if(this.interests.delete(e))return this.abortIfUnobserved("Cursor turn has no remaining subscribers")}async attach(e,n,r){if(this.phase==="aborting"||this.phase==="failed"||this.abortController.signal.aborted){try{await e.body?.cancel(this.abortController.signal.reason)}catch{}this.finishFailed(nn(this.abortController.signal.reason??"Cursor turn superseded"));return}let o=[];e.headers.forEach((i,a)=>{o.push([a,i])}),this.responseMetadata={status:e.status,statusText:e.statusText,headers:o},this.phase="streaming";let s=this.interests.has(n)?this.responseForReadyInterest(n,r):void 0;return this.readySettled=!0,this.readyResolve(),e.body?(this.sourceReader=e.body.getReader(),s&&this.ensurePumpStarted(),s):(this.finishCompleted(),s)}fail(e){this.finishFailed(e instanceof Error?e:new Error(String(e)))}async supersede(e){if(this.phase==="completed"||this.phase==="failed"||this.phase==="aborting"){await oy(this.settled,3e3);return}this.phase="aborting";let n=nn(e);this.readySettled||(this.readySettled=!0,this.readyReject(n)),this.abortController.abort(n),this.errorSubscribers(n);let r=this.sourceReader;if(r){let o=Promise.resolve(r.cancel(n)).catch(()=>{}).then(()=>{});await oy(o,3e3),this.finishFailed(n)}await oy(this.settled,3e3)}async responseFor(e,n){if(await this.ready,!this.interests.has(e))throw nn(n?.reason);if(!this.responseMetadata)throw this.failure||new Error("Cursor turn response metadata is missing");if(!this.replayable&&this.phase!=="streaming")throw this.releaseInterest(e),Object.assign(new Error("Cursor turn result exceeded the bounded replay buffer"),{statusCode:409,code:"cursor_turn_not_replayable"});let r=this.responseForReadyInterest(e,n);return this.ensurePumpStarted(),r}responseForReadyInterest(e,n){let r=this.openStream(e,n);return new Response(r,{status:this.responseMetadata.status,statusText:this.responseMetadata.statusText,headers:this.responseMetadata.headers})}openStream(e,n){let r;return new ReadableStream({start:o=>{if(!this.interests.has(e)){o.error(nn(n?.reason));return}r=this.nextSubscriberId++;let s={controller:o};if(this.subscribers.set(r,s),this.interests.delete(e),n){let i=()=>{r!==void 0&&this.removeSubscriber(r,nn(n.reason))};if(n.aborted){i();return}n.addEventListener("abort",i,{once:!0}),s.removeAbortListener=()=>n.removeEventListener("abort",i)}if(!this.replayable){this.removeSubscriber(r,Object.assign(new Error("Cursor turn cannot replay an oversized active result"),{statusCode:409,code:"cursor_turn_not_replayable"}));return}for(let i of this.chunks)o.enqueue(i);this.phase==="completed"?this.closeSubscriber(r):(this.phase==="failed"||this.phase==="aborting")&&this.removeSubscriber(r,this.failure||nn("Cursor turn ended before subscription"))},cancel:o=>r!==void 0?this.removeSubscriber(r,nn(o),!1):this.releaseInterest(e)})}pumpStarted=!1;ensurePumpStarted(){this.pumpStarted||!this.sourceReader||this.phase!=="streaming"||(this.pumpStarted=!0,this.pump())}async pump(){let e=this.sourceReader;if(e)try{for(;this.phase==="streaming";){let{done:n,value:r}=await e.read();if(n){this.finishCompleted();return}if(r){if(this.replayable)if(this.bufferedBytes+r.byteLength<=8388608){let o=r.slice();this.chunks.push(o),this.bufferedBytes+=o.byteLength}else this.replayable=!1,this.chunks=[];for(let o of this.subscribers.values())o.controller.enqueue(r)}}}catch(n){this.finishFailed(n instanceof Error?n:new Error(String(n)))}}abortIfUnobserved(e){if(!(this.interests.size>0||this.subscribers.size>0||this.phase==="completed"||this.phase==="failed"||this.phase==="aborting"))return this.supersede(e)}removeSubscriber(e,n,r=!0){let o=this.subscribers.get(e);if(o){if(this.subscribers.delete(e),o.removeAbortListener?.(),r)try{o.controller.error(n)}catch{}return this.abortIfUnobserved(n.message)}}closeSubscriber(e){let n=this.subscribers.get(e);if(n){this.subscribers.delete(e),n.removeAbortListener?.();try{n.controller.close()}catch{}}}errorSubscribers(e){for(let n of[...this.subscribers.keys()])this.removeSubscriber(n,e)}releaseSourceReader(){let e=this.sourceReader;if(this.sourceReader=void 0,!!e)try{e.releaseLock()}catch{}}finishCompleted(){if(!(this.phase==="completed"||this.phase==="failed")){if(this.phase==="aborting"){this.finishFailed(nn(this.abortController.signal.reason));return}this.phase="completed",this.completedAt=Date.now(),this.releaseSourceReader();for(let e of[...this.subscribers.keys()])this.closeSubscriber(e);this.settledResolve(),this.onTerminal(this,"completed")}}finishFailed(e){this.phase==="completed"||this.phase==="failed"||(this.phase="failed",this.failure=e,this.releaseSourceReader(),this.readySettled||(this.readySettled=!0,this.readyReject(e)),this.errorSubscribers(e),this.interests.clear(),this.settledResolve(),this.onTerminal(this,"failed"))}},iy=class{constructor(e,n,r,o="join"){this.turn=e;this.interestId=n;this.signal=r;this.kind=o;if(r){let s=()=>{this.turn.releaseInterest(this.interestId)};r.aborted?s():(r.addEventListener("abort",s,{once:!0}),this.removeReservationAbortListener=()=>r.removeEventListener("abort",s))}}turn;interestId;signal;kind;attachedResponse;removeReservationAbortListener;get producerSignal(){return this.turn.abortController.signal}attach(e){if(this.kind!=="leader")throw new Error("Only the Cursor turn leader may attach a response");return this.turn.attach(e,this.interestId,this.signal).then(n=>{this.attachedResponse=n})}fail(e){this.kind==="leader"&&this.turn.fail(e),this.removeReservationAbortListener?.(),this.removeReservationAbortListener=void 0}async response(){try{if(this.attachedResponse){let e=this.attachedResponse;return this.attachedResponse=void 0,e}return await this.turn.responseFor(this.interestId,this.signal)}finally{this.removeReservationAbortListener?.(),this.removeReservationAbortListener=void 0}}},ay=class{sessions=new Map;admissionGates=new Map;forgetExpiredSuperseded(e,n,r=!0){let o=Date.now();for(let[s,i]of n.superseded)i<=o&&n.superseded.delete(s);r&&!n.active&&!n.completed&&n.superseded.size===0&&this.sessions.delete(e)}rememberSuperseded(e,n,r){for(n.superseded.delete(r),n.superseded.set(r,Date.now()+9e5);n.superseded.size>16;){let s=n.superseded.keys().next().value;if(typeof s!="string")break;n.superseded.delete(s)}let o=setTimeout(()=>{let s=this.sessions.get(e);s&&this.forgetExpiredSuperseded(e,s)},9e5);typeof o.unref=="function"&&o.unref()}async admit(e){if(e.signal?.aborted)throw nn(e.signal.reason);let n=this.admissionGates.get(e.sessionKey),r,o=new Promise(s=>{r=s});this.admissionGates.set(e.sessionKey,o),n&&await n;try{if(e.signal?.aborted)throw nn(e.signal.reason);for(;;){if(e.signal?.aborted)throw nn(e.signal.reason);let s=this.sessions.get(e.sessionKey)||{superseded:new Map};if(this.sessions.set(e.sessionKey,s),this.forgetExpiredSuperseded(e.sessionKey,s,!1),s.superseded.has(e.fingerprint))throw Object.assign(new Error("This Cursor turn was superseded by a newer request"),{statusCode:409,code:"cursor_turn_superseded"});let i=s.active;if(i){if(i.fingerprint===e.fingerprint){if(i.responseKind!==e.responseKind)throw Object.assign(new Error("An identical Cursor turn is already using a different response format"),{statusCode:409,code:"cursor_turn_response_format_conflict"});if(i.isJoinable)return i.reserve(e.signal,"join");if(i.isProducing)throw Object.assign(new Error("The active Cursor turn exceeded the bounded duplicate replay buffer"),{statusCode:409,code:"cursor_turn_not_replayable"});await i.supersede("Waiting for the aborted Cursor turn to finish cleanup"),s.active===i&&(s.active=void 0);continue}this.rememberSuperseded(e.sessionKey,s,i.fingerprint),await i.supersede("Cursor turn superseded by a newer request"),s.active===i&&(s.active=void 0);continue}let a=s.completed;if(a&&a.replayAgeMs<=6e4&&a.fingerprint===e.fingerprint&&a.canReplay){if(a.responseKind!==e.responseKind)throw Object.assign(new Error("The cached Cursor turn uses a different response format"),{statusCode:409,code:"cursor_turn_response_format_conflict"});return a.reserve(e.signal,"replay")}a&&a.fingerprint!==e.fingerprint&&this.rememberSuperseded(e.sessionKey,s,a.fingerprint),s.completed=void 0;let u=new sy(e.sessionKey,e.fingerprint,e.responseKind,(d,f)=>{let h=this.sessions.get(e.sessionKey);if(h){if(h.active===d&&(h.active=void 0),f==="completed"&&d.canReplay){h.completed=d;let p=setTimeout(()=>{let b=this.sessions.get(e.sessionKey);b?.completed===d&&(b.completed=void 0,this.forgetExpiredSuperseded(e.sessionKey,b))},6e4);typeof p.unref=="function"&&p.unref()}!h.active&&!h.completed&&h.superseded.size===0&&this.sessions.delete(e.sessionKey)}});return s.active=u,s.completed=void 0,u.reserve(e.signal,"leader")}}finally{r(),this.admissionGates.get(e.sessionKey)===o&&this.admissionGates.delete(e.sessionKey)}}clear(){for(let e of this.sessions.values())e.active&&e.active.supersede("Cursor turn registry cleared");this.sessions.clear()}},Vv=new ay;var $U=900*1e3,Ji=null;function cy(t){return Es([t])}async function zU(t){let e=cy(t);if(Ji&&Ji.apiKeyFingerprint===e&&Date.now()-Ji.fetchedAt<$U)return Ji.models;let n=await qU.models.list({apiKey:t})||[];return Ji={fetchedAt:Date.now(),apiKeyFingerprint:e,models:n},n}async function HU(t,e,n){let r;try{r=await zU(t)}catch{return{id:e}}let o=r.find(i=>i.id===e||i.displayName===e||Array.isArray(i.aliases)&&i.aliases.includes(e));if(!o)return{id:e};if(n&&Array.isArray(o.variants)&&o.variants.length){let i=o.variants.find(a=>a.params?.some(u=>/effort|reasoning/i.test(u.id)&&String(u.value).toLowerCase()===String(n).toLowerCase()))||o.variants.find(a=>(a.displayName||"").toLowerCase().includes(String(n).toLowerCase()));if(i)return{id:o.id,params:i.params}}let s=o.variants?.find(i=>i.isDefault)||o.variants?.[0];return s?.params?.length?{id:o.id,params:s.params}:{id:o.id}}function WU(t){let e=[];for(let n of t.messages||[])if((n.role==="system"||n.role==="user")&&(typeof n.content=="string"?e.push(n.content):Array.isArray(n.content)&&e.push(n.content.map(r=>typeof r=="string"?r:r?.text||"").join("")),n.role==="user"))break;return e.join(`
|
|
400
|
+
`)}function GU(t){return t.length===1&&t[0]?.role==="user"}function JU(t,e,n){if(e.hasTrailingUserInput)return!1;let r=n?.interruption==="synthetic_client_interrupt"&&n.steering==="none",o=e.toolResults.length+(r?1:0);if(t.length!==o)return!1;for(let s=0;s<e.toolResults.length;s+=1){let i=t[s],a=e.toolResults[s];if(i?.role!=="tool"||i.tool_call_id!==a.toolCallId||tn(i.content)!==a.content)return!1}return!r||t[t.length-1]?.role==="user"}function rn(t){if(t?.aborted)throw Object.assign(new Error("cursor-sdk response producer aborted before lifecycle mutation"),{name:"AbortError"})}async function*KU(t,e,n,r){let o=t.streamIterator;if(!o){yield{kind:"end"};return}let s=f=>(f.catch(()=>{}),t.streamNext=f,t.streamNextRunToken=n,f),i=s(t.streamNextRunToken===n&&t.streamNext?t.streamNext:o.next()),a=t.waitForEmit().then(()=>"emit"),u=t.waitForSdkMessage().then(()=>"sdk_message"),d=()=>{let f=t.pendingSdkMessages.findIndex(p=>p.runToken===n);if(f===-1)return;let[h]=t.pendingSdkMessages.splice(f,1);return h};for(;;){if(r?.aborted||t.activeRunToken!==n){yield{kind:"end",aborted:r?.aborted===!0};return}let f=d();if(f){yield{kind:"sdk",message:f.message,source:f.source};continue}let h=await Promise.race([u.then(C=>({type:C})),i.then(C=>({type:"msg",r:C})),a.then(C=>({type:C}))]);if(h.type==="emit"){for(;t.pendingEmit.length&&t.pendingEmit[0]?.runToken===n;)yield{kind:"host_tool",tool:t.pendingEmit.shift()};a=t.waitForEmit().then(()=>"emit");continue}if(h.type==="sdk_message"){for(;;){let C=d();if(!C)break;yield{kind:"sdk",message:C.message,source:C.source}}u=t.waitForSdkMessage().then(()=>"sdk_message");continue}let{r:p}=h;if(t.streamNext===i&&(t.streamNext=void 0,t.streamNextRunToken=void 0),p.done){yield{kind:"end"};return}let b=p.value;if(r?.aborted||t.activeRunToken!==n){yield{kind:"end",aborted:r?.aborted===!0};return}b?.type==="tool_call"&&e==="bridge"&&(t.metrics.builtinToolCallsSeen+=1),yield{kind:"sdk",message:b,source:"stream"},i=s(o.next())}}function VU(t,e){if(!e||e.type!=="thinking-delta")return;let n=As(e.text);if(n)return{type:"thinking",agent_id:t.agentId,run_id:t.run?.id||"",text:n}}async function Ki(t,e){return e.onlyRunToken&&t.activeRunToken!==e.onlyRunToken?!1:Nr.retireSession(t,e.reason,()=>rd(t,async()=>(await Jg(t,{rejectParked:!0,reason:e.reason,timeoutMs:2e3,poisonOnFailure:!0}),await Nr.invalidate(t,e.reason),!0)))}function YU(t,e,n,r){let o=r.cursorMode||Zl,s=t.model||"composer-2",i;try{i=rv(e)}catch(f){throw Object.assign(f instanceof Error?f:new Error(String(f)),{statusCode:f?.statusCode||401,code:"provider_response_error",type:"api_error"})}let a=n?.req?.headers?.["x-ccr-cursor-session"]||n?.req?.headers?.["X-Ccr-Cursor-Session"],u=r.sourceSessionIdentity||n?.unifiedRequest?.sourceSessionIdentity||t?.metadata?.user_id,d=Ov({headerSession:typeof a=="string"?a:void 0,metadataUserId:typeof u=="string"?u:void 0,model:s,systemAndFirstUser:WU(t)});return{apiKey:i,hostEnv:zi(t),mode:o,modelId:s,sessionKey:d,turnIntent:r.turnIntent||n?.unifiedRequest?.turnIntent}}async function Yv(t,e,n,r={}){let o=YU(t,e,n,r),s=r.cursorCwd||`managed-session:${o.sessionKey}`,i=ry({credentialFingerprint:cy(o.apiKey),guidanceFingerprint:o.hostEnv.fingerprint,mode:o.mode,model:{id:o.modelId,effort:$g(t)||""},sandboxEnabled:Gi(r.sandboxEnabled),tools:t.tools,workspaceDir:s}),a=Hv(t,{compatibilityStamp:i,turnIntent:o.turnIntent}),u=await Vv.admit({sessionKey:o.sessionKey,fingerprint:a,responseKind:t.stream===!0?"stream":"json",signal:r.abortSignal});if(u.kind!=="leader")return u.response();try{let d=await XU(t,e,n,{...r,abortSignal:u.producerSignal,turnIntent:o.turnIntent},o);await u.attach(d)}catch(d){throw u.fail(d),d}return u.response()}async function XU(t,e,n,r,o){rn(r.abortSignal);let s=r.logger||e?.logger;s&&Nr.setLogger(s);let i=o.mode,a=t.stream===!0,u=o.modelId,d=o.apiKey,f=o.sessionKey,h=$g(t),p=await HU(d,u,h);rn(r.abortSignal);let b=o.hostEnv,C={key:f,apiKey:d,model:p,mode:i,cursorCwd:r.cursorCwd,sandboxEnabled:r.sandboxEnabled,hostEnv:b};rn(r.abortSignal);let m=await Nr.getOrCreate(C);rn(r.abortSignal);let w=Y=>!b.known&&Y.hostEnv?.known?Y.hostEnv:b,_=Y=>ry({credentialFingerprint:cy(d),guidanceFingerprint:w(Y).fingerprint,mode:i,model:p,sandboxEnabled:Gi(r.sandboxEnabled),tools:t.tools,workspaceDir:Y.workspaceDir}),A=w(m),S=_(m),T=Ev(t,r.turnIntent),x=T.toolResults,O=m.parked.length>0?{kind:"parked",live:!!(m.run&&m.streamIterator&&m.activeRunToken&&!m.poisoned),tools:m.parked}:m.run||m.streamIterator||m.streamNext||m.activeRunToken?{kind:"active-different-turn"}:{kind:"idle"},q=m.transcriptCommit&&m.compatibilityStamp===S?Jv(m.transcriptCommit,t):void 0,$=q===void 0?!1:O.kind==="parked"?JU(q,T,r.turnIntent):O.kind==="idle"?GU(q):!0,z=!m.hasSentPrompt||!m.transcriptCommit?"unknown":$?"strict":"divergent",ce=Kv({session:{alignment:z,hasSentPrompt:m.hasSentPrompt,poisoned:m.poisoned===!0,run:O},turn:{hasMeaningfulSteering:T.hasTrailingUserInput,toolResults:x}});if(ce.action==="retire-and-replay-full"&&(s?.info?.({sessionKey:m.key,agentId:m.agentId,alignment:z,lifecycleReason:ce.reason,toolResultCount:x.length},"cursor-sdk retiring session before full transcript replay"),await Ki(m,{reason:`cursor-sdk lifecycle: ${ce.reason}`,onlyRunToken:m.activeRunToken}),rn(r.abortSignal),m=await Nr.getOrCreate(C),rn(r.abortSignal),A=w(m),S=_(m),ce={action:"send-full",reason:"unused-session"}),rn(r.abortSignal),Kg(m,A),ce.action==="resume-parked"&&(rn(r.abortSignal),Nr.resolveParkedTools(m,x)!==x.length||m.parked.length!==0))throw new Error("cursor-sdk lifecycle changed while resolving exact parked tools");let X=ce.action!=="resume-parked",ee=ce.action==="send-incremental",Z=m.activeRunToken,xe=(Y,ue)=>{Y.pendingSdkMessages=Y.pendingSdkMessages.filter(fe=>fe.runToken!==ue),Y.notifySdkMessage()},$e=(Y,ue)=>{let fe=i==="bridge"?Nv(t,Y,s,Re):void 0;return{model:p,mode:i==="plan"?"plan":"agent",local:fe?{customTools:fe}:void 0,onDelta:({update:k})=>{let v=VU(Y,k);v&&Y.enqueueSdkMessage(v,ue)}}},Re=Qg(),He=Y=>Object.assign(new Error(`Cursor SDK error: ${Y?.message||Y}`),{statusCode:502,code:"provider_response_error",type:"api_error"}),te=(Y,ue)=>ue.hasSentPrompt&&!r.abortSignal?.aborted&&(Y?.retryFreshCursorSession===!0||Vg(Y)||Yg(Y)),Q=async(Y,ue)=>{let fe;if(await rd(Y,async()=>{if(Y.poisoned)throw Object.assign(new Error("cursor-sdk session is no longer safe for sends"),{retryFreshCursorSession:!0});if(Y.run||Y.streamIterator||Y.streamNext||Y.activeRunToken||Y.parked.length>0)throw vs(Y,"cursor-sdk session became active after lifecycle admission"),Object.assign(new Error("cursor-sdk session became active before prompt send"),{retryFreshCursorSession:!0});if(Y.poisoned)throw Object.assign(new Error("cursor-sdk session was retired during cancellation"),{retryFreshCursorSession:!0});let k=Sv(t,{mode:i,workspaceDir:Y.workspaceDir,followUpOnly:ue,hostEnv:A,turnIntent:r.turnIntent});fe=Symbol("cursor-sdk-run"),Y.activeRunToken=fe;try{let v=await Xg(Y,k,$e(Y,fe),{abortSignal:r.abortSignal,logger:s});Y.run=v,Y.activeRunToken=fe,Y.streamIterator=v.stream()[Symbol.asyncIterator](),Y.streamNext=void 0,Y.streamNextRunToken=void 0,Y.hasSentPrompt=!0,rn(r.abortSignal)}catch(v){throw fe&&Y.activeRunToken===fe&&(Y.activeRunToken=void 0,xe(Y,fe)),(r.abortSignal?.aborted||Yg(v)||Vg(v))&&vs(Y,r.abortSignal?.aborted?"cursor-sdk send aborted":"cursor-sdk send left session state unsafe"),s?.error?.({err:v},"cursor-sdk agent.send failed"),v}}),!fe)throw new Error("cursor-sdk agent.send did not produce a run token");return fe};if(X)try{Z=await Q(m,ee)}catch(Y){let ue=te(Y,m);if(await Ki(m,{reason:"cursor-sdk prompt send failed before streaming"}),!ue)throw He(Y);rn(r.abortSignal),s?.warn?.({err:Y,sessionKey:m.key,agentId:m.agentId},"cursor-sdk retrying failed resumed send with fresh session"),m=await Nr.getOrCreate(C),rn(r.abortSignal),A=w(m),S=_(m),Kg(m,A);try{Z=await Q(m,!1)}catch(fe){throw await Ki(m,{reason:"cursor-sdk fresh replay send failed before streaming"}),He(fe)}}Z||(Z=Symbol("cursor-sdk-run"),m.activeRunToken=Z);let ie=uv(u,new TextEncoder),de=[],Ce=Uv(t),V=0,Ke,Ne=new ReadableStream({async start(Y){let ue=()=>{Re.scratchViolations<=0||s?.warn?.({sessionKey:m.key,model:u,scratchViolations:Re.scratchViolations,scratchCorrections:Re.scratchCorrections,metrics:m.metrics,hostProjectRoot:A.projectRoot},"cursor-sdk turn produced scratch-workspace tool paths")},fe=D=>{de.push(D),a&&Y.enqueue(ie.encode(D))},k=D=>{typeof D=="string"&&D.length&&(V+=D.length)},v=()=>{let D=Lv(Ke,m.lastSdkUsageRaw,Ce),F=jv(Ce,V,D);return Ke&&(m.lastSdkUsageRaw=Ke),F},R=()=>{if(m.activeRunToken!==Z)return;let F=zg(u,de)?.choices?.[0]?.message;!F||F.role!=="assistant"||(m.transcriptCommit=Gv(t,F),m.compatibilityStamp=S)},M=D=>{let F=v();s?.debug?.({reason:D,promptTokens:F.prompt_tokens,completionTokens:F.completion_tokens,outputChars:V,sdkUsageRaw:Ke,runUsage:m.run?.usage},"cursor-sdk finish usage (request estimate; raw SDK is diagnostic only)"),fe(ie.finish(D,F)),R()};try{let D=0,F=!1,j=!0,P=!1,N=!1,U,B="",G=0,se=()=>{!P||N||(fe(ie.thinkingSignature()),N=!0,j=!1)};for(;;){let ae=!1;for await(let be of KU(m,i,Z,r.abortSignal)){if(td(m),be.kind==="host_tool"){if(i!=="bridge")continue;for(se(),j=!1,k(be.tool.name),k(JSON.stringify(be.tool.args??{})),fe(ie.toolCall(be.tool,D)),D+=1;m.pendingEmit.length;){let me=m.pendingEmit.shift();k(me.name),k(JSON.stringify(me.args??{})),fe(ie.toolCall(me,D)),D+=1}M("tool_calls"),a&&Y.enqueue(ie.encodeDone()),Y.close();return}if(be.kind==="end"){if(be.aborted)throw Object.assign(new Error("cursor-sdk response producer aborted"),{name:"AbortError"});if(wv({mode:i,assistantText:B,emittedHostTools:D,continuationAttempts:G})){m.activeRunToken===Z&&(m.streamIterator=void 0,m.streamNext=void 0,m.streamNextRunToken=void 0,m.run=void 0,m.activeRunToken=void 0),G+=1,s?.warn?.({assistantText:B,attempt:G},"cursor-sdk continuing progress-only terminal turn");let me=Symbol("cursor-sdk-run");Z=me,m.activeRunToken=me,await rd(m,async()=>{if(m.poisoned||r.abortSignal?.aborted)throw new Error("cursor-sdk progress continuation aborted before send");let _e=await Xg(m,kv(A),$e(m,me),{abortSignal:r.abortSignal,logger:s});if(m.run=_e,m.activeRunToken=me,m.streamIterator=_e.stream()[Symbol.asyncIterator](),m.streamNext=void 0,m.streamNextRunToken=void 0,m.hasSentPrompt=!0,m.poisoned||r.abortSignal?.aborted)throw new Error("cursor-sdk progress continuation retired during send")}),B="",ae=!0;break}se(),M("stop"),m.activeRunToken===Z&&(m.streamIterator=void 0,m.streamNext=void 0,m.streamNextRunToken=void 0,m.run=void 0,m.activeRunToken=void 0),a&&Y.enqueue(ie.encodeDone()),Y.close();return}let ye=be.message;if(ye){if(ye.type==="assistant")for(let me of ye.message?.content||[])me.type==="text"&&me.text&&(se(),j=!1,F=!0,B+=me.text,k(me.text),fe(ie.content(me.text)));else if(ye.type==="thinking"){if(!j)continue;let me=be.source||"stream";if(U&&U!==me)continue;U=me;let _e=As(ye.text);_e&&(P=!0,k(_e),fe(ie.thinking(_e)))}else if(ye.type==="usage")Ke=qv(ye);else if(ye.type==="status"){if(ye.status==="ERROR"||ye.status==="CANCELLED")throw Object.assign(new Error(ye.message||`Cursor run ${ye.status.toLowerCase()}`),{statusCode:502,code:"provider_response_error",type:"api_error"})}else if(ye.type==="tool_call"&&i!=="bridge"&&i==="agent"&&ye.name){se(),j=!1;let me=`
|
|
397
401
|
[cursor tool ${ye.status||"running"}: ${ye.name}]
|
|
398
|
-
`;k(me),fe(ie.content(me))}}}if(!ae)break}!F&&!D&&(se(),M("stop")),c&&Y.enqueue(ie.encodeDone()),Y.close()}catch(D){s?.error?.({err:D,metrics:y.metrics},"cursor-sdk stream failed"),await Li(y,{reason:"cursor-sdk stream failed before terminal state",onlyRunToken:Z});try{Y.error(D)}catch{}}finally{ue()}},async cancel(){await Li(y,{reason:"cursor-sdk client cancelled stream",onlyRunToken:Z})}});if(!c){let Y=Ne.getReader();for(;;){let{done:fe}=await Y.read();if(fe)break}let ue=Cg(u,de);return new Response(JSON.stringify(ue),{status:200,headers:{"Content-Type":"application/json"}})}return new Response(Ne,{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}function TU(t,e,n){return{cursorMode:t.cursorMode||Fl,cursorCwd:t.cursorCwd,sandboxEnabled:t.sandboxEnabled,abortSignal:e?.signal,logger:n,turnIntent:e?.unifiedRequest?.turnIntent,sourceSessionIdentity:e?.unifiedRequest?.sourceSessionIdentity}}var Ll=class{static TransformerName=gg;name=gg;logger;options;constructor(e={}){this.options=e}async transformRequestIn(e,n,r){let o=TU(this.options,r,this.logger),s={...e,messages:We(e.messages),tools:Ge(e.tools)},i=await RA(s,n,r,o);return{body:s,config:{url:n?.baseUrl||"https://cursor.com",headers:{},__providerResponse:i}}}async transformResponseOut(e){return e}};import{randomUUID as ZU}from"crypto";import{existsSync as DA,mkdirSync as RU,readFileSync as xU,renameSync as DU,unlinkSync as OU,writeFileSync as PU}from"fs";import{dirname as IU,join as FU}from"path";import{homedir as NU}from"os";import{randomUUID as MU}from"crypto";var qg="1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",$g="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",OA="http://localhost:51121/oauth-callback",BU=["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile","https://www.googleapis.com/auth/cclog","https://www.googleapis.com/auth/experimentsandconfigs"],zg="https://daily-cloudcode-pa.sandbox.googleapis.com",PA="https://autopush-cloudcode-pa.sandbox.googleapis.com",IA="https://cloudcode-pa.googleapis.com",UU=[zg,PA,IA],Lg=[IA,zg,PA],jU="1.18.3",LU=FU(NU(),".claude-code-router","antigravity_auth.json"),qU=12e4,FA="https://oauth2.googleapis.com/token",$U="https://www.googleapis.com/oauth2/v2/userinfo",ql=null,NA=null;function MA(){return process.env.CCR_ANTIGRAVITY_AUTH_FILE||LU}function qi(){return{"User-Agent":`Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Antigravity/${jU} Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36`,"X-Goog-Api-Client":"google-cloud-sdk vscode_cloudshelleditor/0.1","Client-Metadata":JSON.stringify({ideType:"ANTIGRAVITY",platform:"PLATFORM_UNSPECIFIED",pluginType:"GEMINI"})}}function $l(){try{let t=MA();if(!DA(t))return null;let e=JSON.parse(xU(t,"utf8"));return!e.access_token||!e.refresh_token?null:e}catch{return null}}function Hg(t){let e=MA();RU(IU(e),{recursive:!0});let n=`${e}.${process.pid}.${Date.now()}.tmp`;try{PU(n,JSON.stringify(t,null,2),{mode:384,encoding:"utf8"}),DU(n,e)}finally{try{DA(n)&&OU(n)}catch{}}}function zU(t){return Date.now()+qU>=t.expires_at}async function HU(t){let e=new URLSearchParams({client_id:qg,client_secret:$g,refresh_token:t.refresh_token,grant_type:"refresh_token"}),n=await fetch(FA,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:e});if(!n.ok){let s=await n.text().catch(()=>"");throw new Error(`Antigravity token refresh failed (${n.status}). Run \`ccr antigravity-auth\` again. ${s.slice(0,200)}`)}let r=await n.json();if(!r.access_token)throw new Error("Antigravity token refresh returned no access_token. Run `ccr antigravity-auth` again.");let o={...t,access_token:r.access_token,refresh_token:r.refresh_token||t.refresh_token,expires_at:Date.now()+(r.expires_in||3600)*1e3};return Hg(o),o}async function zl(t){let e=$l();if(!e)throw new Error("No Antigravity OAuth tokens found. Run `ccr antigravity-auth` to authenticate.");return!t?.force&&!zU(e)?e:(ql||(ql=HU(e).finally(()=>{ql=null})),ql)}function _s(t){let e=t?.cloudaicompanionProject;if(typeof e=="string"&&e.trim())return e.trim();if(e&&typeof e.id=="string"&&e.id.trim())return e.id.trim()}function WU(t){let e=n=>{if(n){if(typeof n=="string"&&n.trim())return n.trim();if(typeof n=="object"&&typeof n.id=="string"&&n.id.trim())return n.id.trim()}};return e(t?.paidTier)||e(t?.currentTier)||e(t?.allowedTiers?.find(n=>n?.isDefault))||e(t?.allowedTiers?.[0])||void 0}function BA(){return{ideType:"ANTIGRAVITY",platform:"PLATFORM_UNSPECIFIED",pluginType:"GEMINI"}}async function xA(t){await new Promise(e=>setTimeout(e,t))}async function GU(t,e,n){let r=n.startsWith("http")?n:`${e}/${n.replace(/^\//,"")}`,o={Authorization:`Bearer ${t}`,"Content-Type":"application/json",...qi()};for(let s=0;s<20;s++){try{let i=await fetch(r,{method:"GET",headers:o,signal:AbortSignal.timeout(15e3)});if(!i.ok){await xA(2e3);continue}let c=await i.json();if(c?.done===!0)return _s(c?.response)||_s(c)||void 0}catch{}await xA(2e3)}}async function JU(t,e,n){try{let r=await fetch(`${n}/v1internal:onboardUser`,{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json",...qi()},body:JSON.stringify({tierId:e,metadata:BA()}),signal:AbortSignal.timeout(3e4)});if(!r.ok)return;let o=await r.json(),s=_s(o?.response)||_s(o);return o?.done===!0||s?s:typeof o?.name=="string"&&o.name.trim()?GU(t,n,o.name.trim()):void 0}catch{return}}function VU(t){let e=WU(t),n=["free-tier","FREE"];return[...new Set([e,...n].filter(Boolean))]}async function KU(t){let e={Authorization:`Bearer ${t}`,"Content-Type":"application/json",...qi()},n=JSON.stringify({metadata:BA()}),r;for(let o of Lg)try{let s=await fetch(`${o}/v1internal:loadCodeAssist`,{method:"POST",headers:e,body:n,signal:AbortSignal.timeout(15e3)});if(!s.ok)continue;let i=await s.json();r=i;let c=_s(i);if(c)return c}catch{}for(let o of VU(r))for(let s of Lg){let i=await JU(t,o,s);if(i)return i}for(let o of Lg)try{let s=await fetch(`${o}/v1internal:loadCodeAssist`,{method:"POST",headers:e,body:n,signal:AbortSignal.timeout(15e3)});if(!s.ok)continue;let i=_s(await s.json());if(i)return i}catch{}}async function Wg(t,e){let n=t?.project_id?.trim();if(n)return n;let r=$l();if(r?.project_id?.trim())return r.project_id.trim();let o=await KU(e);if(o){let s=$l();return s&&Hg({...s,project_id:o}),o}}function $i(){return NA||zg}function UA(t){NA=t}var jA=new Set;function LA(t){return t.includes("SERVICE_DISABLED")||t.includes("has not been used in project")}function qA(t){jA.add(t.replace(/\/$/,""))}function YU(t){return jA.has(t.replace(/\/$/,""))}function $A(t,e){return e?t===404||t===403||t>=500:!1}function zA(t){let e=t?.replace(/\/$/,"")||$i(),n=[...new Set([e,...UU])],r=n.filter(o=>!YU(o));return r.length?r:n}function Hl(t,e){return`${t}/v1internal:${e?"streamGenerateContent?alt=sse":"generateContent"}`}function HA(t){return{...t.project?{project:t.project}:{},model:t.model,request:t.request,userAgent:"antigravity",requestId:MU()}}async function XU(t){try{let e=await fetch($U,{headers:{Authorization:`Bearer ${t}`},signal:AbortSignal.timeout(1e4)});return e.ok?(await e.json()).email:void 0}catch{return}}async function QU(t,e){let n=new URLSearchParams({client_id:qg,client_secret:$g,code:t,grant_type:"authorization_code",redirect_uri:OA,code_verifier:e}),r=await fetch(FA,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:n});if(!r.ok){let s=await r.text().catch(()=>"");throw new Error(`Antigravity token exchange failed (${r.status}): ${s.slice(0,300)}`)}let o=await r.json();if(!o.access_token||!o.refresh_token)throw new Error("Antigravity token exchange did not return access_token and refresh_token. Re-auth with prompt=consent may be required.");return{access_token:o.access_token,refresh_token:o.refresh_token,expires_at:Date.now()+(o.expires_in||3600)*1e3}}function WA(t){try{let e=JSON.parse(t),n=e?.error?.details||e?.details;if(!Array.isArray(n))return;for(let r of n){let o=r?.retryDelay||r?.retry_delay;if(typeof o=="string"){let s=o.match(/^([\d.]+)s$/);if(s)return Math.ceil(parseFloat(s[1])*1e3)}}}catch{}}function GA(t){return t&&typeof t=="object"&&"response"in t&&t.response!=null?t.response:t}function ej(t,e){let n=t?.req?.body?.model;return typeof n=="string"&&n?n:typeof t?.req?.model=="string"&&t.req.model?t.req.model:e?.models?.[0]||""}function tj(t){return t?.req?.body?.stream===!0}function nj(t){return zA(t)}var Wl=class{name="antigravity-auth";logger;async buildAuthAndEnvelope(e,n,r,o){let s=await zl({force:o?.forceRefresh}),i=await Wg(n,s.access_token),c=ej(r,n),u=tj(r),f=HA({...i?{project:i}:{},model:c,request:e});return f.requestId=f.requestId||ZU(),{body:f,accessToken:s.access_token,projectId:i,model:c,stream:u}}buildHeaders(e,n){return{Authorization:`Bearer ${e}`,"Content-Type":"application/json","x-goog-api-key":void 0,...qi(),...n?{Accept:"text/event-stream"}:{}}}async sendWithFallback(e,n,r,o,s,i=!1){let c=s?.req?.server?.configService?.getHttpsProxy?.(),u=this.logger??s?.req?.log??s?.req?.server?.log,f=o?.baseUrl||o?.api_base_url||$i(),d=nj(f),p;for(let h=0;h<d.length;h++){let _=d[h],b=Hl(_,r),y=this.buildHeaders(n,r);try{let w=await wo(b,e,{httpsProxy:c,headers:Object.fromEntries(Object.entries(y).filter(([,C])=>C!==void 0)),signal:s?.signal},s,u);if(w.status===401&&!i){let C=await zl({force:!0});return this.sendWithFallback(e,C.access_token,r,o,s,!0)}if(w.status===429){let C=await w.clone().text().catch(()=>""),v=WA(C),A={};throw v!=null&&(A["Retry-After"]=String(Math.ceil(v/1e3))),W(Ze(C)||"Antigravity rate limit exceeded",429,"rate_limit_error","api_error",A)}if(!w.ok){let C=await w.clone().text().catch(()=>"");if(w.status===403&&LA(C)&&(qA(_),u?.warn?.({endpoint:_},"Antigravity endpoint is not enabled for this project; skipping it")),$A(w.status,h<d.length-1)){p=W(`Antigravity endpoint ${_} returned ${w.status}`,w.status,"provider_error");continue}throw W(Ze(C)||`Antigravity request failed with ${w.status}`,w.status,w.status===403?"permission_error":"provider_error")}return UA(_),w}catch(w){if(w?.statusCode===429||w?.status===429||!Lr(w))throw w;if(p=w,h<d.length-1)continue;throw w}}throw p||W("All Antigravity endpoints failed",502,"provider_error")}async transformRequestIn(e,n,r){let o=await this.buildAuthAndEnvelope(e,n,r),s=await this.sendWithFallback(o.body,o.accessToken,o.stream,n,r);return{body:o.body,config:{url:Hl($i(),o.stream),headers:this.buildHeaders(o.accessToken,o.stream),__providerResponse:s}}}async auth(e,n,r){let o=await this.buildAuthAndEnvelope(e,n,r);return{config:{url:Hl(n?.baseUrl||$i(),o.stream),headers:this.buildHeaders(o.accessToken,o.stream)}}}async transformResponseOut(e){let n=e.headers.get("Content-Type")||"";if(!n||n.includes("text/event-stream"))return e.body?Fe(e,(r,o)=>{if(!r.trim()){o.controller.enqueue(xe(r,o.encoder));return}if(r.startsWith("data: ")){let s=r.slice(6);if(s.trim()==="[DONE]"){o.controller.enqueue(ve("[DONE]",o.encoder));return}try{let i=JSON.parse(s),c=GA(i);o.controller.enqueue(ve(JSON.stringify(c),o.encoder))}catch{o.controller.enqueue(xe(r,o.encoder))}return}o.controller.enqueue(xe(r,o.encoder))},{logger:this.logger}):e;if(n.includes("application/json")){let r=await e.text();try{let o=JSON.parse(r),s=GA(o);return new Response(JSON.stringify(s),{status:e.status,statusText:e.statusText,headers:e.headers})}catch{return new Response(r,{status:e.status,statusText:e.statusText,headers:e.headers})}}return e}};var JA={AnthropicTransformer:rc,GeminiTransformer:lc,VertexGeminiTransformer:Wu,VertexClaudeTransformer:pl,VertexOpenaiTransformer:hl,DeepseekTransformer:tl,TooluseTransformer:nl,OpenrouterTransformer:rl,OpenAITransformer:yl,MaxTokenTransformer:ol,GroqTransformer:sl,CleancacheTransformer:il,EnhanceToolTransformer:ul,ReasoningTransformer:ll,SamplingTransformer:dl,MaxCompletionTokens:fl,CerebrasTransformer:ml,StreamOptionsTransformer:gl,CustomParamsTransformer:_l,VercelTransformer:bl,OpenAIResponsesTransformer:Cl,CodexTransformer:vl,QwenAuthTransformer:Al,ForceReasoningTransformer:Tl,ExtraThinkTagTransformer:Rl,MistralTransformer:xl,ChromeOnDeviceTransformer:Dl,OpencodeHeadersTransformer:Ol,ClaudeAuthTransformer:Il,CursorSdkTransformer:Ll,AntigravityAuthTransformer:Wl};var bs=class{constructor(e,n){this.configService=e;this.logger=n}configService;logger;transformers=new Map;registerTransformer(e,n){this.transformers.set(e,n),this.logger.info(`register transformer: ${e}${n.endPoint?` (endpoint: ${n.endPoint})`:" (no endpoint)"}`)}getTransformer(e){return this.transformers.get(e)}getAllTransformers(){return new Map(this.transformers)}getTransformersWithEndpoint(){let e=[],n=new Map,r=(o,s)=>{let i=s.endPoint;if(!i)return;let c=n.get(i);if(c){this.logger?.debug?.(`transformer ${o} shares endpoint ${i} with ${c}; keeping ${c}`);return}n.set(i,o),e.push({name:o,transformer:s})};return this.transformers.forEach((o,s)=>{if(typeof o=="object"){r(s,o);return}if(typeof o=="function")try{let i=new o;i&&typeof i=="object"&&(i.logger=this.logger),r(s,i)}catch(i){this.logger?.warn?.(`transformer ${s} could not be instantiated for endpoint registration: ${i?.message}`)}}),e}getTransformersWithoutEndpoint(){let e=[];return this.transformers.forEach((n,r)=>{typeof n=="object"&&!n.endPoint&&e.push({name:r,transformer:n})}),e}removeTransformer(e){return this.transformers.delete(e)}hasTransformer(e){return this.transformers.has(e)}async registerTransformerFromConfig(e){try{if(e.path){let n=oe(oe.resolve(e.path));if(n){let r=new n(e.options);if(r&&typeof r=="object"&&(r.logger=this.logger),!r.name)throw new Error(`Transformer instance from ${e.path} does not have a name property.`);return this.registerTransformer(r.name,r),!0}}return!1}catch(n){return this.logger.error(`load transformer (${e.path})
|
|
402
|
+
`;k(me),fe(ie.content(me))}}}if(!ae)break}!F&&!D&&(se(),M("stop")),a&&Y.enqueue(ie.encodeDone()),Y.close()}catch(D){s?.error?.({err:D,metrics:m.metrics},"cursor-sdk stream failed"),await Ki(m,{reason:"cursor-sdk stream failed before terminal state",onlyRunToken:Z});try{Y.error(D)}catch{}}finally{ue()}},async cancel(){await Ki(m,{reason:"cursor-sdk client cancelled stream",onlyRunToken:Z})}});if(!a){let Y=Ne.getReader();for(;;){let{done:fe}=await Y.read();if(fe)break}let ue=zg(u,de);return new Response(JSON.stringify(ue),{status:200,headers:{"Content-Type":"application/json"}})}return new Response(Ne,{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}function QU(t,e,n){return{cursorMode:t.cursorMode||Zl,cursorCwd:t.cursorCwd,sandboxEnabled:t.sandboxEnabled,abortSignal:e?.signal,logger:n,turnIntent:e?.unifiedRequest?.turnIntent,sourceSessionIdentity:e?.unifiedRequest?.sourceSessionIdentity}}var sd=class{static TransformerName=jg;name=jg;logger;options;constructor(e={}){this.options=e}async transformRequestIn(e,n,r){let o=QU(this.options,r,this.logger),s={...e,messages:Ge(e.messages),tools:Je(e.tools)},i=await Yv(s,n,r,o);return{body:s,config:{url:n?.baseUrl||"https://cursor.com",headers:{},__providerResponse:i}}}async transformResponseOut(e){return e}};import{randomUUID as Ej}from"crypto";import{existsSync as Qv,mkdirSync as ZU,readFileSync as ej,renameSync as tj,unlinkSync as nj,writeFileSync as rj}from"fs";import{dirname as oj,join as sj}from"path";import{homedir as ij}from"os";import{randomUUID as aj}from"crypto";var ly="1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",dy="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",Zv="http://localhost:51121/oauth-callback",cj=["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile","https://www.googleapis.com/auth/cclog","https://www.googleapis.com/auth/experimentsandconfigs"],fy="https://daily-cloudcode-pa.sandbox.googleapis.com",eT="https://autopush-cloudcode-pa.sandbox.googleapis.com",tT="https://cloudcode-pa.googleapis.com",uj=[fy,eT,tT],uy=[tT,fy,eT],lj="1.18.3",dj=sj(ij(),".claude-code-router","antigravity_auth.json"),fj=12e4,nT="https://oauth2.googleapis.com/token",pj="https://www.googleapis.com/oauth2/v2/userinfo",id=null,rT=null;function oT(){return process.env.CCR_ANTIGRAVITY_AUTH_FILE||dj}function Vi(){return{"User-Agent":`Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Antigravity/${lj} Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36`,"X-Goog-Api-Client":"google-cloud-sdk vscode_cloudshelleditor/0.1","Client-Metadata":JSON.stringify({ideType:"ANTIGRAVITY",platform:"PLATFORM_UNSPECIFIED",pluginType:"GEMINI"})}}function ad(){try{let t=oT();if(!Qv(t))return null;let e=JSON.parse(ej(t,"utf8"));return!e.access_token||!e.refresh_token?null:e}catch{return null}}function py(t){let e=oT();ZU(oj(e),{recursive:!0});let n=`${e}.${process.pid}.${Date.now()}.tmp`;try{rj(n,JSON.stringify(t,null,2),{mode:384,encoding:"utf8"}),tj(n,e)}finally{try{Qv(n)&&nj(n)}catch{}}}function hj(t){return Date.now()+fj>=t.expires_at}async function mj(t){let e=new URLSearchParams({client_id:ly,client_secret:dy,refresh_token:t.refresh_token,grant_type:"refresh_token"}),n=await fetch(nT,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:e});if(!n.ok){let s=await n.text().catch(()=>"");throw new Error(`Antigravity token refresh failed (${n.status}). Run \`ccr antigravity-auth\` again. ${s.slice(0,200)}`)}let r=await n.json();if(!r.access_token)throw new Error("Antigravity token refresh returned no access_token. Run `ccr antigravity-auth` again.");let o={...t,access_token:r.access_token,refresh_token:r.refresh_token||t.refresh_token,expires_at:Date.now()+(r.expires_in||3600)*1e3};return py(o),o}async function cd(t){let e=ad();if(!e)throw new Error("No Antigravity OAuth tokens found. Run `ccr antigravity-auth` to authenticate.");return!t?.force&&!hj(e)?e:(id||(id=mj(e).finally(()=>{id=null})),id)}function Ts(t){let e=t?.cloudaicompanionProject;if(typeof e=="string"&&e.trim())return e.trim();if(e&&typeof e.id=="string"&&e.id.trim())return e.id.trim()}function gj(t){let e=n=>{if(n){if(typeof n=="string"&&n.trim())return n.trim();if(typeof n=="object"&&typeof n.id=="string"&&n.id.trim())return n.id.trim()}};return e(t?.paidTier)||e(t?.currentTier)||e(t?.allowedTiers?.find(n=>n?.isDefault))||e(t?.allowedTiers?.[0])||void 0}function sT(){return{ideType:"ANTIGRAVITY",platform:"PLATFORM_UNSPECIFIED",pluginType:"GEMINI"}}async function Xv(t){await new Promise(e=>setTimeout(e,t))}async function yj(t,e,n){let r=n.startsWith("http")?n:`${e}/${n.replace(/^\//,"")}`,o={Authorization:`Bearer ${t}`,"Content-Type":"application/json",...Vi()};for(let s=0;s<20;s++){try{let i=await fetch(r,{method:"GET",headers:o,signal:AbortSignal.timeout(15e3)});if(!i.ok){await Xv(2e3);continue}let a=await i.json();if(a?.done===!0)return Ts(a?.response)||Ts(a)||void 0}catch{}await Xv(2e3)}}async function _j(t,e,n){try{let r=await fetch(`${n}/v1internal:onboardUser`,{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json",...Vi()},body:JSON.stringify({tierId:e,metadata:sT()}),signal:AbortSignal.timeout(3e4)});if(!r.ok)return;let o=await r.json(),s=Ts(o?.response)||Ts(o);return o?.done===!0||s?s:typeof o?.name=="string"&&o.name.trim()?yj(t,n,o.name.trim()):void 0}catch{return}}function bj(t){let e=gj(t),n=["free-tier","FREE"];return[...new Set([e,...n].filter(Boolean))]}async function Cj(t){let e={Authorization:`Bearer ${t}`,"Content-Type":"application/json",...Vi()},n=JSON.stringify({metadata:sT()}),r;for(let o of uy)try{let s=await fetch(`${o}/v1internal:loadCodeAssist`,{method:"POST",headers:e,body:n,signal:AbortSignal.timeout(15e3)});if(!s.ok)continue;let i=await s.json();r=i;let a=Ts(i);if(a)return a}catch{}for(let o of bj(r))for(let s of uy){let i=await _j(t,o,s);if(i)return i}for(let o of uy)try{let s=await fetch(`${o}/v1internal:loadCodeAssist`,{method:"POST",headers:e,body:n,signal:AbortSignal.timeout(15e3)});if(!s.ok)continue;let i=Ts(await s.json());if(i)return i}catch{}}async function hy(t,e){let n=t?.project_id?.trim();if(n)return n;let r=ad();if(r?.project_id?.trim())return r.project_id.trim();let o=await Cj(e);if(o){let s=ad();return s&&py({...s,project_id:o}),o}}function Yi(){return rT||fy}function iT(t){rT=t}var aT=new Set;function cT(t){return t.includes("SERVICE_DISABLED")||t.includes("has not been used in project")}function uT(t){aT.add(t.replace(/\/$/,""))}function wj(t){return aT.has(t.replace(/\/$/,""))}function lT(t,e){return e?t===404||t===403||t>=500:!1}function dT(t){let e=t?.replace(/\/$/,"")||Yi(),n=[...new Set([e,...uj])],r=n.filter(o=>!wj(o));return r.length?r:n}function ud(t,e){return`${t}/v1internal:${e?"streamGenerateContent?alt=sse":"generateContent"}`}function fT(t){return{...t.project?{project:t.project}:{},model:t.model,request:t.request,userAgent:"antigravity",requestId:aj()}}async function kj(t){try{let e=await fetch(pj,{headers:{Authorization:`Bearer ${t}`},signal:AbortSignal.timeout(1e4)});return e.ok?(await e.json()).email:void 0}catch{return}}async function Sj(t,e){let n=new URLSearchParams({client_id:ly,client_secret:dy,code:t,grant_type:"authorization_code",redirect_uri:Zv,code_verifier:e}),r=await fetch(nT,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:n});if(!r.ok){let s=await r.text().catch(()=>"");throw new Error(`Antigravity token exchange failed (${r.status}): ${s.slice(0,300)}`)}let o=await r.json();if(!o.access_token||!o.refresh_token)throw new Error("Antigravity token exchange did not return access_token and refresh_token. Re-auth with prompt=consent may be required.");return{access_token:o.access_token,refresh_token:o.refresh_token,expires_at:Date.now()+(o.expires_in||3600)*1e3}}function pT(t){try{let e=JSON.parse(t),n=e?.error?.details||e?.details;if(!Array.isArray(n))return;for(let r of n){let o=r?.retryDelay||r?.retry_delay;if(typeof o=="string"){let s=o.match(/^([\d.]+)s$/);if(s)return Math.ceil(parseFloat(s[1])*1e3)}}}catch{}}function hT(t){return t&&typeof t=="object"&&"response"in t&&t.response!=null?t.response:t}function Aj(t,e){let n=t?.req?.body?.model;return typeof n=="string"&&n?n:typeof t?.req?.model=="string"&&t.req.model?t.req.model:e?.models?.[0]||""}function vj(t){return t?.req?.body?.stream===!0}function Tj(t){return dT(t)}var ld=class{name="antigravity-auth";logger;async buildAuthAndEnvelope(e,n,r,o){let s=await cd({force:o?.forceRefresh}),i=await hy(n,s.access_token),a=Aj(r,n),u=vj(r),d=fT({...i?{project:i}:{},model:a,request:e});return d.requestId=d.requestId||Ej(),{body:d,accessToken:s.access_token,projectId:i,model:a,stream:u}}buildHeaders(e,n){return{Authorization:`Bearer ${e}`,"Content-Type":"application/json","x-goog-api-key":void 0,...Vi(),...n?{Accept:"text/event-stream"}:{}}}async sendWithFallback(e,n,r,o,s,i=!1){let a=s?.req?.server?.configService?.getHttpsProxy?.(),u=this.logger??s?.req?.log??s?.req?.server?.log,d=o?.baseUrl||o?.api_base_url||Yi(),f=Tj(d),h;for(let p=0;p<f.length;p++){let b=f[p],C=ud(b,r),m=this.buildHeaders(n,r);try{let w=await Ro(C,e,{httpsProxy:a,headers:Object.fromEntries(Object.entries(m).filter(([,_])=>_!==void 0)),signal:s?.signal},s,u);if(w.status===401&&!i){let _=await cd({force:!0});return this.sendWithFallback(e,_.access_token,r,o,s,!0)}if(w.status===429){let _=await w.clone().text().catch(()=>""),A=pT(_),S={};throw A!=null&&(S["Retry-After"]=String(Math.ceil(A/1e3))),W(We(_)||"Antigravity rate limit exceeded",429,"rate_limit_error","api_error",S)}if(!w.ok){let _=await w.clone().text().catch(()=>"");if(w.status===403&&cT(_)&&(uT(b),u?.warn?.({endpoint:b},"Antigravity endpoint is not enabled for this project; skipping it")),lT(w.status,p<f.length-1)){h=W(`Antigravity endpoint ${b} returned ${w.status}`,w.status,"provider_error");continue}throw W(We(_)||`Antigravity request failed with ${w.status}`,w.status,w.status===403?"permission_error":"provider_error")}return iT(b),w}catch(w){if(w?.statusCode===429||w?.status===429||!Wr(w))throw w;if(h=w,p<f.length-1)continue;throw w}}throw h||W("All Antigravity endpoints failed",502,"provider_error")}async transformRequestIn(e,n,r){let o=await this.buildAuthAndEnvelope(e,n,r),s=await this.sendWithFallback(o.body,o.accessToken,o.stream,n,r);return{body:o.body,config:{url:ud(Yi(),o.stream),headers:this.buildHeaders(o.accessToken,o.stream),__providerResponse:s}}}async auth(e,n,r){let o=await this.buildAuthAndEnvelope(e,n,r);return{config:{url:ud(n?.baseUrl||Yi(),o.stream),headers:this.buildHeaders(o.accessToken,o.stream)}}}async transformResponseOut(e){let n=e.headers.get("Content-Type")||"";if(!n||n.includes("text/event-stream"))return e.body?Pe(e,(r,o)=>{if(!r.trim()){o.controller.enqueue(De(r,o.encoder));return}if(r.startsWith("data: ")){let s=r.slice(6);if(s.trim()==="[DONE]"){o.controller.enqueue(Ae("[DONE]",o.encoder));return}try{let i=JSON.parse(s),a=hT(i);o.controller.enqueue(Ae(JSON.stringify(a),o.encoder))}catch{o.controller.enqueue(De(r,o.encoder))}return}o.controller.enqueue(De(r,o.encoder))},{logger:this.logger}):e;if(n.includes("application/json")){let r=await e.text();try{let o=JSON.parse(r),s=hT(o);return new Response(JSON.stringify(s),{status:e.status,statusText:e.statusText,headers:e.headers})}catch{return new Response(r,{status:e.status,statusText:e.statusText,headers:e.headers})}}return e}};var mT={AnthropicTransformer:Ec,GeminiTransformer:Oc,VertexGeminiTransformer:fl,VertexClaudeTransformer:Fl,VertexOpenaiTransformer:Nl,DeepseekTransformer:kl,TooluseTransformer:Sl,OpenrouterTransformer:El,OpenAITransformer:Ul,MaxTokenTransformer:Al,GroqTransformer:vl,CleancacheTransformer:Tl,EnhanceToolTransformer:Dl,ReasoningTransformer:Ol,SamplingTransformer:Pl,MaxCompletionTokens:Il,CerebrasTransformer:Ml,StreamOptionsTransformer:Bl,CustomParamsTransformer:jl,VercelTransformer:Ll,OpenAIResponsesTransformer:ql,CodexTransformer:Gl,QwenAuthTransformer:Jl,ForceReasoningTransformer:Kl,ExtraThinkTagTransformer:Vl,MistralTransformer:Yl,ChromeOnDeviceTransformer:Xl,OpencodeHeadersTransformer:Ql,ClaudeAuthTransformer:kc,CursorSdkTransformer:sd,AntigravityAuthTransformer:ld};var Rs=class{constructor(e,n){this.configService=e;this.logger=n}configService;logger;transformers=new Map;registerTransformer(e,n){this.transformers.set(e,n),this.logger.info(`register transformer: ${e}${n.endPoint?` (endpoint: ${n.endPoint})`:" (no endpoint)"}`)}getTransformer(e){return this.transformers.get(e)}getAllTransformers(){return new Map(this.transformers)}getTransformersWithEndpoint(){let e=[],n=new Map,r=(o,s)=>{let i=s.endPoint;if(!i)return;let a=n.get(i);if(a){this.logger?.debug?.(`transformer ${o} shares endpoint ${i} with ${a}; keeping ${a}`);return}n.set(i,o),e.push({name:o,transformer:s})};return this.transformers.forEach((o,s)=>{if(typeof o=="object"){r(s,o);return}if(typeof o=="function")try{let i=new o;i&&typeof i=="object"&&(i.logger=this.logger),r(s,i)}catch(i){this.logger?.warn?.(`transformer ${s} could not be instantiated for endpoint registration: ${i?.message}`)}}),e}getTransformersWithoutEndpoint(){let e=[];return this.transformers.forEach((n,r)=>{typeof n=="object"&&!n.endPoint&&e.push({name:r,transformer:n})}),e}removeTransformer(e){return this.transformers.delete(e)}hasTransformer(e){return this.transformers.has(e)}async registerTransformerFromConfig(e){try{if(e.path){let n=oe(oe.resolve(e.path));if(n){let r=new n(e.options);if(r&&typeof r=="object"&&(r.logger=this.logger),!r.name)throw new Error(`Transformer instance from ${e.path} does not have a name property.`);return this.registerTransformer(r.name,r),!0}}return!1}catch(n){return this.logger.error(`load transformer (${e.path})
|
|
399
403
|
error: ${n.message}
|
|
400
404
|
stack: ${n.stack}`),!1}}async initialize(){try{await this.registerDefaultTransformersInternal(),await this.loadFromConfig()}catch(e){this.logger.error(`TransformerService init error: ${e.message}
|
|
401
|
-
Stack: ${e.stack}`)}}async registerDefaultTransformersInternal(){try{Object.values(
|
|
402
|
-
`: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 n of t){let r=n.charCodeAt(0);r===0||r===65533||this.is_control(n)||(/^\s$/.test(n)?e.push(" "):e.push(n))}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}},wj=Cj,kj=class extends Yn{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(n=>n.normalize("NFKC")).join("\uFF5E"):t=t.normalize("NFKC"),t}},Sj=kj,Ej=class extends Yn{constructor(t){super(t),this.normalizers=(t.normalizers??[]).map(e=>rT(e))}normalize(t){return this.normalizers.reduce((e,n)=>n?n.normalize(e):e,t)}},vj=Ej,Aj=class extends Yn{normalize(t){let e=Jl(this.config.pattern??{});return e===null?t:t.replaceAll(e,this.config.content??"")}},Tj=Aj,Rj=class extends Yn{constructor(){super(...arguments),this.form="NFC"}normalize(t){return t=t.normalize(this.form),t}},Vl=Rj,xj=class extends Vl{constructor(){super(...arguments),this.form="NFC"}},Dj=xj,Oj=class extends Vl{constructor(){super(...arguments),this.form="NFD"}},Pj=Oj,Ij=class extends Vl{constructor(){super(...arguments),this.form="NFKC"}},Fj=Ij,Nj=class extends Vl{constructor(){super(...arguments),this.form="NFKD"}},Mj=Nj,Bj=class extends Yn{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}},Uj=Bj,jj=class extends Yn{normalize(t){return nT(t)}},Lj=jj,qj=class extends Yn{normalize(t){return t.toLowerCase()}},$j=qj,zj=class extends Yn{normalize(t){return t=this.config.prepend+t,t}},Hj=zj;function Wj(t){if(t===null)return null;switch(t.type){case"BertNormalizer":return new wj(t);case"Precompiled":return new Sj(t);case"Sequence":return new vj(t);case"Replace":return new Tj(t);case"NFC":return new Dj(t);case"NFD":return new Pj(t);case"NFKC":return new Fj(t);case"NFKD":return new Mj(t);case"Strip":return new Uj(t);case"StripAccents":return new Lj(t);case"Lowercase":return new $j(t);case"Prepend":return new Hj(t);default:throw new Error(`Unknown Normalizer type: ${t.type}`)}}var rT=Wj,Gj=class extends Hi{pre_tokenize(t,e){return(Array.isArray(t)?t.map(n=>this.pre_tokenize_text(n,e)):this.pre_tokenize_text(t,e)).flat()}_call(t,e){return this.pre_tokenize(t,e)}},rn=Gj,Jj=class extends rn{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=tT,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),o=>this.byte_encoder[o]).join(""))}},Vj=Jj,Kj=class extends rn{pre_tokenize_text(t,e){return t.match(/\w+|[^\w\s]+/g)||[]}},Yj=Kj,Xj=class extends rn{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:n=void 0}=e??{},r=t.replaceAll(" ",this.str_rep);return!r.startsWith(this.replacement)&&(this.prepend_scheme==="always"||this.prepend_scheme==="first"&&n===0)&&(r=this.str_rep+r),[r]}},Qj=Xj,Zj=class extends rn{constructor(t){super(),this.config=t,this.pattern=Jl(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):gj(t,this.pattern)}},eL=Zj,tL=class extends rn{constructor(t){super(),this.config=t,this.pattern=new RegExp(`[^${Gl}]+|[${Gl}]+`,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},nL=tL,rL=class extends rn{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)||[]}},oL=rL,sL=class extends rn{constructor(){super(),this.pattern=new RegExp(`[^\\s${Gl}]+|[${Gl}]`,"gu")}pre_tokenize_text(t,e){return t.trim().match(this.pattern)||[]}},iL=sL,aL=class extends rn{constructor(t){super(),this.config=t,this.pattern=Jl(this.config.pattern??{}),this.content=this.config.content??""}pre_tokenize_text(t){return this.pattern===null?[t]:[t.replaceAll(this.pattern,this.config.content??"")]}},cL=aL,uL=class extends rn{constructor(t){super(),this.tokenizers=(t.pretokenizers??[]).map(e=>oT(e))}pre_tokenize_text(t,e){return this.tokenizers.reduce((n,r)=>r?r.pre_tokenize(n,e):n,[t])}},lL=uL,dL=class extends rn{pre_tokenize_text(t){return yj(t)}},fL=dL,pL=class extends rn{constructor(t){super(),this.config=t,this._length=t.length}pre_tokenize_text(t){let e=[];for(let n=0;n<t.length;n+=this._length)e.push(t.slice(n,n+this._length));return e}},hL=pL;function mL(t){if(t===null)return null;switch(t.type){case"BertPreTokenizer":return new iL;case"Sequence":return new lL(t);case"Whitespace":return new Yj;case"WhitespaceSplit":return new fL;case"Metaspace":return new Qj(t);case"ByteLevel":return new Vj(t);case"Split":return new eL(t);case"Punctuation":return new nL(t);case"Digits":return new oL(t);case"Replace":return new cL(t);case"FixedLength":return new hL(t);default:throw new Error(`Unknown PreTokenizer type: ${t.type}`)}}var oT=mL,gL=class extends Hi{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=dj(e,this.tokens_to_ids,this.unk_token_id)),e}},Kl=gL,yL=class extends Kl{constructor(t){super(t),this.max_input_chars_per_word=100,this.tokens_to_ids=Vg(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,n]of this.tokens_to_ids)this.vocab[n]=e}encode(t){let e=[];for(let n of t){let r=[...n];if(r.length>this.max_input_chars_per_word){e.push(this.unk_token);continue}let o=!1,s=0,i=[];for(;s<r.length;){let c=r.length,u=null;for(;s<c;){let f=r.slice(s,c).join("");if(s>0&&(f=this.config.continuing_subword_prefix+f),this.tokens_to_ids.has(f)){u=f;break}--c}if(u===null){o=!0;break}i.push(u),s=c}o?e.push(this.unk_token):e.push(...i)}return e}},XA=yL,QA=class sT{constructor(e,n){this.is_leaf=e,this.children=n}static default(){return new sT(!1,new Map)}},_L=class{constructor(){this.root=QA.default()}extend(t){for(let e of t)this.push(e)}push(t){let e=this.root;for(let n of t){let r=e.children.get(n);r===void 0&&(r=QA.default(),e.children.set(n,r)),e=r}e.is_leaf=!0}*common_prefix_search(t){let e=this.root;if(e===void 0)return;let n="";for(let r of t){if(n+=r,e=e.children.get(r),e===void 0)return;e.is_leaf&&(yield n)}}},bL=_L,Gg=class iT{constructor(e,n,r,o,s){this.token_id=e,this.node_id=n,this.pos=r,this.length=o,this.score=s,this.prev=null,this.backtrace_score=0}clone(){let e=new iT(this.token_id,this.node_id,this.pos,this.length,this.score);return e.prev=this.prev,e.backtrace_score=this.backtrace_score,e}},CL=class{constructor(t,e,n){this.chars=Array.from(t),this.len=this.chars.length,this.bos_token_id=e,this.eos_token_id=n,this.nodes=[],this.begin_nodes=Array.from({length:this.len+1},()=>[]),this.end_nodes=Array.from({length:this.len+1},()=>[]);let r=new Gg(this.bos_token_id??0,0,0,0,0),o=new Gg(this.eos_token_id??0,1,this.len,0,0);this.nodes.push(r.clone()),this.nodes.push(o.clone()),this.begin_nodes[this.len].push(o),this.end_nodes[0].push(r)}insert(t,e,n,r){let o=this.nodes.length,s=new Gg(r,o,t,e,n);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 i of this.begin_nodes[e]){i.prev=null;let c=0,u=null;for(let f of this.end_nodes[e]){let d=f.backtrace_score+i.score;(u===null||d>c)&&(u=f.clone(),c=d)}if(u!==null)i.prev=u,i.backtrace_score=c;else return[]}++e}let n=[],o=this.begin_nodes[t][0].prev;if(o===null)return[];let s=o.clone();for(;s.prev!==null;)n.push(s.clone()),s=s.clone().prev.clone();return n.reverse(),n}piece(t){return this.chars.slice(t.pos,t.pos+t.length).join("")}tokens(){return this.viterbi().map(e=>this.piece(e))}token_ids(){return this.viterbi().map(e=>e.token_id)}},wL=CL;function kL(t){if(t.length===0)throw new Error("Array must not be empty");let e=t[0],n=0;for(let r=1;r<t.length;++r)t[r]<e&&(e=t[r],n=r);return[e,n]}var SL=class extends Kl{constructor(t,e){super(t);let n=t.vocab.length;this.vocab=new Array(n),this.scores=new Array(n);for(let r=0;r<n;++r)[this.vocab[r],this.scores[r]]=t.vocab[r];this.unk_token_id=t.unk_id,this.unk_token=this.vocab[t.unk_id],this.tokens_to_ids=new Map(this.vocab.map((r,o)=>[r,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=kL(this.scores)[0],this.unk_score=this.min_score-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new bL,this.trie.extend(this.vocab),this.fuse_unk=!0}populate_nodes(t){let e=t.chars,n=1,r=0;for(;r<e.length;){let o=!1,s=[],i=e.slice(r).join(""),c=this.trie.common_prefix_search(i);for(let u of c){s.push(u);let f=this.tokens_to_ids.get(u),d=this.scores[f],p=hj(u);t.insert(r,p,d,f),!o&&p===n&&(o=!0)}o||t.insert(r,n,this.unk_score,this.unk_token_id),r+=n}}tokenize(t){let e=new wL(t,this.bos_token_id,this.eos_token_id);return this.populate_nodes(e),e.tokens()}encode(t){let e=[];for(let n of t){let r=this.tokenize(n);e.push(...r)}return e}},ZA=SL,EL=class{constructor(t=(n,r)=>n>r,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 n=this._smallest();this._comparator(e,this._heap[n])&&(this._heap[n]=e,this._sift_up_from(n))}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 n=this._heap[t];this._heap[t]=this._heap[e],this._heap[e]=n}_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}},vL=EL,AL=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()}},TL=AL,RL=class extends Kl{constructor(t){super(t),this.tokens_to_ids=Vg(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[n,r]of this.tokens_to_ids)this.vocab[r]=n;let e=Array.isArray(t.merges[0]);this.merges=e?t.merges:t.merges.map(n=>n.split(" ",2)),this.bpe_ranks=new Map(this.merges.map((n,r)=>[JSON.stringify(n),r])),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 TL(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 n=Array.from(t);this.end_of_word_suffix&&(n[n.length-1]+=this.end_of_word_suffix);let r=[];if(n.length>1){let o=new vL((c,u)=>c.score<u.score),s={token:n[0],bias:0,prev:null,next:null},i=s;for(let c=1;c<n.length;++c){let u={bias:c/n.length,token:n[c],prev:i,next:null};i.next=u,this.add_node(o,i),i=u}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 f={...c.prev};c.prev.deleted=!0,c.prev=f,f.prev?f.prev.next=f:s=f}let u={token:c.token+c.next.token,bias:c.bias,prev:c.prev,next:c.next.next};u.prev?(u.prev.next=u,this.add_node(o,u.prev)):s=u,u.next&&(u.next.prev=u,this.add_node(o,u))}for(let c=s;c!==null;c=c.next)r.push(c.token)}else r=n;if(this.continuing_subword_suffix)for(let o=0;o<r.length-1;++o)r[o]+=this.continuing_subword_suffix;return t.length<this.max_length_to_cache&&this.cache.put(t,r),r}add_node(t,e){let n=this.bpe_ranks.get(JSON.stringify([e.token,e.next.token]));n!==void 0&&(e.score=n+e.bias,t.push(e))}encode(t){let e=[];for(let n of t){if(this.ignore_merges&&this.tokens_to_ids.has(n)){e.push(n);continue}let r=this.bpe(n);for(let o of r)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(i=>`<0x${i.toString(16).toUpperCase().padStart(2,"0")}>`);s.every(i=>this.tokens_to_ids.has(i))?e.push(...s):this.unk_token!=null&&e.push(this.unk_token)}else this.unk_token!=null&&e.push(this.unk_token)}return e}},eT=RL,xL=class extends Kl{constructor(t,e){super(t);let n=t.vocab;this.tokens_to_ids=Vg(e.target_lang?n[e.target_lang]:n),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[r,o]of this.tokens_to_ids)this.vocab[o]=r}encode(t){return t}},DL=xL;function OL(t,e){switch(t.type){case"WordPiece":return new XA(t);case"Unigram":return new ZA(t,e.eos_token);case"BPE":return new eT(t);default:if(t.vocab)return Array.isArray(t.vocab)?new ZA(t,e.eos_token):Object.hasOwn(t,"continuing_subword_prefix")&&Object.hasOwn(t,"unk_token")?Object.hasOwn(t,"merges")?new eT(t):new XA(t):new DL(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 PL=OL,IL=class extends Hi{constructor(t){super(),this.config=t}_call(t,...e){return this.post_process(t,...e)}},Wi=IL,FL=class extends Wi{post_process(t,e=null,n=!0){let r=e===null?this.config.single:this.config.pair,o=[],s=[];for(let i of r)"SpecialToken"in i?n&&(o.push(i.SpecialToken.id),s.push(i.SpecialToken.type_id)):"Sequence"in i&&(i.Sequence.id==="A"?(o=nn(o,t),s=nn(s,new Array(t.length).fill(i.Sequence.type_id))):i.Sequence.id==="B"&&(o=nn(o,e),s=nn(s,new Array(e.length).fill(i.Sequence.type_id))));return{tokens:o,token_type_ids:s}}},NL=FL,ML=class extends Wi{post_process(t,e=null){return{tokens:t,tokens_pair:e}}},BL=ML,UL=class extends Wi{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e=null,n=!0){n&&(t=nn([this.cls[0]],t,[this.sep[0]]));let r=new Array(t.length).fill(0);if(e){let o=[],s=n?[this.sep[0]]:[];t=nn(t,o,e,s),r=nn(r,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:r}}},jL=UL,LL=class extends Wi{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e,n=!0){n&&(t=nn([this.cls[0]],t,[this.sep[0]]));let r=new Array(t.length).fill(0);if(e){let o=n?[this.sep[0]]:[],s=n?[this.sep[0]]:[];t=nn(t,o,e,s),r=nn(r,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:r}}},qL=LL,$L=class extends Wi{constructor(t){super(t),this.processors=(t.processors??[]).map(e=>aT(e))}post_process(t,e=null,n=!0){let r={tokens:t,tokens_pair:e};for(let o of this.processors)r=o.post_process(r.tokens,r.tokens_pair,n);return r}},zL=$L;function HL(t){if(t===null)return null;switch(t.type){case"TemplateProcessing":return new NL(t);case"ByteLevel":return new BL(t);case"BertProcessing":return new jL(t);case"RobertaProcessing":return new qL(t);case"Sequence":return new zL(t);default:throw new Error(`Unknown PostProcessor type: ${t.type}`)}}var aT=HL,WL=class extends Hi{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("")}},Sn=WL,GL=class extends Sn{constructor(t){super(t),this.byte_decoder=cj,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(""),n=new Uint8Array([...e].map(r=>this.byte_decoder[r]));return this.text_decoder.decode(n)}decode_chain(t){let e=[],n=[];for(let r of t)this.added_tokens.find(o=>o.content===r)!==void 0?(n.length>0&&(e.push(this.convert_tokens_to_string(n)),n=[]),e.push(r)):n.push(r);return n.length>0&&e.push(this.convert_tokens_to_string(n)),e}},JL=GL,VL=class extends Sn{constructor(t){super(t),this.cleanup=t.cleanup}decode_chain(t){return t.map((e,n)=>{if(n!==0){let r=this.config.prefix;r&&e.startsWith(r)?e=e.replace(r,""):e=" "+e}return this.cleanup&&(e=Jg(e)),e})}},KL=VL,YL=class extends Sn{constructor(t){super(t),this.replacement=t.replacement??"\u2581"}decode_chain(t){let e=[];for(let n=0;n<t.length;++n){let r=t[n].replaceAll(this.replacement," ");n==0&&r.startsWith(" ")&&(r=r.substring(1)),e.push(r)}return e}},XL=YL,QL=class extends Sn{constructor(t){super(t),this.suffix=t.suffix??""}decode_chain(t){return t.map((e,n)=>e.replaceAll(this.suffix,n===t.length-1?"":" "))}},ZL=QL,eq=class extends Sn{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 o=1;o<t.length;++o)t[o]!==e.at(-1)&&e.push(t[o]);let r=e.filter(o=>o!==this.pad_token).join("");return this.cleanup&&(r=Jg(r).replaceAll(this.word_delimiter_token," ").trim()),r}decode_chain(t){return[this.convert_tokens_to_string(t)]}},tq=eq,nq=class extends Sn{constructor(t){super(t),this.decoders=(t.decoders??[]).map(e=>cT(e))}decode_chain(t){return this.decoders.reduce((e,n)=>n.decode_chain(e),t)}},rq=nq,oq=class extends Sn{decode_chain(t){let e=Jl(this.config.pattern),n=this.config.content??"";return e===null?t:t.map(r=>r.replaceAll(e,n))}},sq=oq,iq=class extends Sn{decode_chain(t){return[t.join("")]}},aq=iq,cq=class extends Sn{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 n=0;for(let o=0;o<this.start&&e[o]===this.content;++o){n=o+1;continue}let r=e.length;for(let o=0;o<this.stop;++o){let s=e.length-o-1;if(e[s]===this.content){r=s;continue}else break}return e.slice(n,r)})}},uq=cq,lq=class extends Sn{constructor(t){super(t),this.text_decoder=new TextDecoder}decode_chain(t){let e=[],n=[];for(let r of t){let o=null;if(r.length===6&&r.startsWith("<0x")&&r.endsWith(">")){let s=parseInt(r.slice(3,5),16);isNaN(s)||(o=s)}if(o!==null)n.push(o);else{if(n.length>0){let s=this.text_decoder.decode(Uint8Array.from(n));e.push(s),n=[]}e.push(r)}}if(n.length>0){let r=this.text_decoder.decode(Uint8Array.from(n));e.push(r),n=[]}return e}},dq=lq;function fq(t){if(t===null)return null;switch(t.type){case"ByteLevel":return new JL(t);case"WordPiece":return new KL(t);case"Metaspace":return new XL(t);case"BPEDecoder":return new ZL(t);case"CTC":return new tq(t);case"Sequence":return new rq(t);case"Replace":return new sq(t);case"Fuse":return new aq(t);case"Strip":return new uq(t);case"ByteFallback":return new dq(t);default:throw new Error(`Unknown Decoder type: ${t.type}`)}}var cT=fq,pq=class{constructor(t,e){let n=YA(t,"Tokenizer",["model","decoder","post_processor","pre_tokenizer","normalizer"]);if(n)throw new Error(n);let r=YA(e,"Config");if(r)throw new Error(r);this.tokenizer=t,this.config=e,this.normalizer=rT(this.tokenizer.normalizer),this.pre_tokenizer=oT(this.tokenizer.pre_tokenizer),this.model=PL(this.tokenizer.model,this.config),this.post_processor=aT(this.tokenizer.post_processor),this.decoder=cT(this.tokenizer.decoder),this.special_tokens=[],this.all_special_ids=[],this.added_tokens=[];let o=[],s=[];this.added_tokens_map=new Map;for(let i of this.tokenizer.added_tokens){let c=new ij(i);if(this.added_tokens.push(c),this.model.tokens_to_ids.set(c.content,c.id),this.model.vocab[c.id]=c.content,c.special&&(this.special_tokens.push(c.content),this.all_special_ids.push(c.id)),this.added_tokens_map.set(c.content,c),c.normalized&&this.normalizer!==null){let u=this.normalizer(c.content);s.push(u),this.added_tokens_map.set(u,c)}else o.push(c.content)}(this.config.additional_special_tokens??[]).forEach(i=>{this.special_tokens.includes(i)||this.special_tokens.push(i)}),this.decoder&&(this.decoder.added_tokens=this.added_tokens,this.decoder.end_of_word_suffix=this.model.end_of_word_suffix),this.splitter_unnormalized=new VA(o),this.splitter_normalized=new VA(s),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:n=!0,return_token_type_ids:r=null}={}){let{tokens:o,token_type_ids:s}=this.tokenize_helper(t,{text_pair:e,add_special_tokens:n}),i=o.map(u=>this.added_tokens_map.get(u)?.id??this.model.tokens_to_ids.get(u)??this.model.unk_token_id),c={ids:i,tokens:o,attention_mask:new Array(i.length).fill(1)};return r&&s&&(c.token_type_ids=s),c}decode(t,e={}){if(!Array.isArray(t)||t.length===0||!pj(t[0]))throw Error("token_ids must be a non-empty array of integers.");let n=t.map(o=>this.model.vocab[Number(o)]??this.model.unk_token);e.skip_special_tokens&&(n=n.filter(o=>!this.special_tokens.includes(o)));let r=this.decoder?this.decoder(n):n.join(" ");return this.decoder&&this.decoder.end_of_word_suffix&&(r=r.replaceAll(this.decoder.end_of_word_suffix," "),e.skip_special_tokens&&(r=r.trim())),(e.clean_up_tokenization_spaces??this.clean_up_tokenization_spaces)&&(r=Jg(r)),r}tokenize(t,{text_pair:e=null,add_special_tokens:n=!1}={}){return this.tokenize_helper(t,{text_pair:e,add_special_tokens:n}).tokens}encode_text(t){if(t===null)return null;let e=this.splitter_unnormalized.split(t);return e.forEach((n,r)=>{let o=this.added_tokens_map.get(n);o&&(o.lstrip&&r>0&&(e[r-1]=e[r-1].trimEnd()),o.rstrip&&r<e.length-1&&(e[r+1]=e[r+1].trimStart()))}),e.flatMap((n,r)=>{if(n.length===0)return[];if(this.added_tokens_map.has(n))return[n];if(this.remove_space===!0&&(n=n.trim().split(/\s+/).join(" ")),this.do_lowercase_and_remove_accent&&(n=mj(n)),this.normalizer!==null&&(n=this.normalizer(n)),n.length===0)return[];let o=this.splitter_normalized.split(n);return o.forEach((s,i)=>{let c=this.added_tokens_map.get(s);c&&(c.lstrip&&i>0&&(o[i-1]=o[i-1].trimEnd()),c.rstrip&&i<o.length-1&&(o[i+1]=o[i+1].trimStart()))}),o.flatMap(s=>{if(s.length===0)return[];if(this.added_tokens_map.has(s))return[s];let i=this.pre_tokenizer!==null?this.pre_tokenizer(s,{section_index:r}):[s];return this.model(i)})})}tokenize_helper(t,{text_pair:e=null,add_special_tokens:n=!0}){let r=this.encode_text(t),o=this.encode_text(e||null);return this.post_processor?this.post_processor(r,o,n):{tokens:nn(r??[],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}get_vocab(t=!0){let e=new Map;for(let n=0;n<this.model.vocab.length;++n){let r=this.model.vocab[n];(t||!this.added_tokens_map.has(r))&&e.set(r,n)}return e}},uT=pq;var Ql=class{type="huggingface";name;modelId;logger;options;tokenizer=null;cacheDir;safeModelName;constructor(e,n,r={}){this.modelId=e,this.logger=n,this.options=r,this.cacheDir=r.cacheDir||Yl(hq(),".claude-code-router",".huggingface"),this.safeModelName=e.replace(/\//g,"_").replace(/[^a-zA-Z0-9_-]/g,"_"),this.name=`huggingface-${e.split("/").pop()}`}getCachePaths(){let e=Yl(this.cacheDir,this.safeModelName);return{modelDir:e,tokenizerJson:Yl(e,"tokenizer.json"),tokenizerConfig:Yl(e,"tokenizer_config.json")}}ensureDir(e){Kg(e)||mq(e,{recursive:!0})}async loadFromCache(){try{let e=this.getCachePaths();if(!Kg(e.tokenizerJson)||!Kg(e.tokenizerConfig))return null;let[n,r]=await Promise.all([Xl.readFile(e.tokenizerJson,"utf-8"),Xl.readFile(e.tokenizerConfig,"utf-8")]);return{tokenizerJson:JSON.parse(n),tokenizerConfig:JSON.parse(r)}}catch(e){return this.logger?.warn(`Failed to load from cache: ${e.message}`),null}}async downloadAndCache(){let e=this.getCachePaths(),n={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 r=new AbortController,o=setTimeout(()=>r.abort(),this.options.timeout||3e4);try{let[s,i]=await Promise.all([fetch(n.json,{signal:r.signal}),fetch(n.config,{signal:r.signal})]);if(!s.ok)throw new Error(`Failed to fetch tokenizer.json: ${s.statusText}`);let[c,u]=await Promise.all([s.json(),i.ok?i.json():Promise.resolve({})]);return this.ensureDir(e.modelDir),await Promise.all([Xl.writeFile(e.tokenizerJson,JSON.stringify(c,null,2)),Xl.writeFile(e.tokenizerConfig,JSON.stringify(u,null,2))]),{tokenizerJson:c,tokenizerConfig:u}}finally{clearTimeout(o)}}async initialize(){try{this.logger?.info(`Initializing HuggingFace tokenizer: ${this.modelId}`),this.ensureDir(this.cacheDir);let e=await this.loadFromCache()||await this.downloadAndCache();this.tokenizer=new uT(e.tokenizerJson,e.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}`,{cause:e})}}async countTokens(e){if(!this.tokenizer)throw new Error("Tokenizer not initialized");try{let n=this.extractTextFromRequest(e);return this.tokenizer.encode(n).ids.length}catch(n){throw this.logger?.error(`Error counting tokens: ${n.message}`),n}}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 n=[],{messages:r,system:o,tools:s}=e;if(Array.isArray(r)){for(let i of r)if(typeof i.content=="string")n.push(i.content);else if(Array.isArray(i.content))for(let c of i.content)c.type==="text"&&c.text?n.push(c.text):c.type==="tool_use"&&c.input?n.push(JSON.stringify(c.input)):c.type==="tool_result"&&n.push(typeof c.content=="string"?c.content:JSON.stringify(c.content))}if(typeof o=="string")n.push(o);else if(Array.isArray(o)){for(let i of o)if(i.type==="text"){if(typeof i.text=="string")n.push(i.text);else if(Array.isArray(i.text))for(let c of i.text)c&&n.push(c)}}if(s)for(let i of s)i.name&&n.push(i.name),i.description&&n.push(i.description),i.input_schema&&n.push(JSON.stringify(i.input_schema));return n.join(" ")}};var Zl=class{type="api";name;config;logger;options;constructor(e,n,r={}){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=n,this.options=r;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(e){throw new Error(`Invalid API URL: ${this.config.url}`,{cause:e})}}async countTokens(e){try{let n=this.formatRequestBody(e),r={"Content-Type":"application/json",Authorization:`Bearer ${this.config.apiKey}`,...this.config.headers},o=new AbortController,s=setTimeout(()=>o.abort(),this.options.timeout||3e4),i=await fetch(this.config.url,{method:"POST",headers:r,body:JSON.stringify(n),signal:o.signal});if(clearTimeout(s),!i.ok)throw new Error(`API tokenizer request failed: ${i.status} ${i.statusText}`);let c=await i.json();return this.extractTokenCount(c)}catch(n){throw n.name==="AbortError"?new Error("API tokenizer request timed out",{cause:n}):n}}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(n=>({role:n.role,content:this.extractTextFromMessage(n)})):[]}extractTextFromMessage(e){return typeof e.content=="string"?e.content:Array.isArray(e.content)?e.content.map(n=>n.type==="text"&&n.text?n.text:n.type==="tool_use"&&n.input?JSON.stringify(n.input):n.type==="tool_result"?typeof n.content=="string"?n.content:JSON.stringify(n.content):"").join(" "):""}extractConcatenatedText(e){let n=[];return e.messages&&e.messages.forEach(r=>{n.push(this.extractTextFromMessage(r))}),typeof e.system=="string"?n.push(e.system):Array.isArray(e.system)&&e.system.forEach(r=>{r.type==="text"&&(typeof r.text=="string"?n.push(r.text):Array.isArray(r.text)&&r.text.forEach(o=>{o&&n.push(o)}))}),e.tools&&e.tools.forEach(r=>{r.name&&n.push(r.name),r.description&&n.push(r.description),r.input_schema&&n.push(JSON.stringify(r.input_schema))}),n.join(" ")}extractTokenCount(e){try{let n=this.config.responseField,r=n.split("."),o=e;for(let s of r){if(o==null)throw new Error(`Field path '${n}' not found in response`);o=o[s]}if(typeof o!="number")throw new Error(`Expected number at field path '${n}', got ${typeof o}`);return o}catch(n){throw this.logger?.error(`Failed to extract token count from API response: ${n.message}. Response: ${JSON.stringify(e)}`),new Error(`Invalid response from API tokenizer: ${n.message}`,{cause:n})}}};var Cs=class{tokenizers=new Map;configService;logger;options;fallbackTokenizer;constructor(e,n,r={}){this.configService=e,this.logger=n,this.options={timeout:r.timeout??3e4,...r}}async initialize(){try{this.fallbackTokenizer=new zi("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 n=this.getCacheKey(e);if(this.tokenizers.has(n))return this.tokenizers.get(n);let r;try{switch(e.type){case"tiktoken":r=new zi(e.encoding||"cl100k_base");break;case"huggingface":this.logger?.info(`Initializing HuggingFace tokenizer for model: ${e.model}`),r=new Ql(e.model,this.logger,{timeout:this.options.timeout});break;case"api":r=new Zl(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 r.initialize(),this.tokenizers.set(n,r),this.logger?.info(`Tokenizer initialized successfully: ${e.type} (${n})`),r}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,n){let r=n?await this.getTokenizer(n):this.fallbackTokenizer;return{tokenCount:await r.countTokens(e),tokenizerUsed:r.name,cached:!1}}getTokenizerConfigForModel(e,n){let o=(this.configService.get("providers")||[]).find(s=>s.name===e);if(o?.tokenizer)return o.tokenizer.models?.[n]?o.tokenizer.models[n]:o.tokenizer.default}dispose(){this.tokenizers.forEach(e=>{try{e.dispose()}catch(n){this.logger?.error(`Error disposing tokenizer: ${n}`)}}),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)}`}}};var Yg=class{plugins=new Map;pluginInstances=new Map;registerPlugin(e,n={}){this.pluginInstances.set(e.name,e),this.plugins.set(e.name,{name:e.name,enabled:n.enabled!==!1,options:n})}async enablePlugin(e,n){let r=this.plugins.get(e),o=this.pluginInstances.get(e);if(!r||!o)throw new Error(`Plugin ${e} not found`);r.enabled&&await n.register(o.register,r.options)}async enablePlugins(e){for(let[n,r]of this.plugins)if(r.enabled)try{await this.enablePlugin(n,e)}catch(o){let s=o instanceof Error?o.message:String(o);e.log?.error(`Failed to enable plugin ${n}: ${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,n){let r=this.plugins.get(e);r&&(r.enabled=n)}removePlugin(e){this.plugins.delete(e),this.pluginInstances.delete(e)}clear(){this.plugins.clear(),this.pluginInstances.clear()}},lT=new Yg;var bT=In(mT(),1);Zg();ey();ty();yT();var so=new Map;function CT(t){let e=so.get(t);return e?{...e,tokenTimestamps:[...e.tokenTimestamps]}:void 0}function wT(){return Array.from(so.values()).map(t=>({...t,tokenTimestamps:[...t.tokenTimestamps]}))}var ry=new Map,kT={name:"token-speed",version:"1.0.0",description:"Statistics for streaming response token generation speed",register:(0,bT.default)(async(t,e)=>{let n={reporter:["console","temp-file"],...e},r=Array.isArray(n.reporter)?n.reporter:[n.reporter];if(n.outputHandlers&&n.outputHandlers.length>0)ws.registerHandlers(n.outputHandlers);else{let s=[];for(let i of r)i==="console"?s.push({type:"console",enabled:!0,config:{colors:!0,level:"log"}}):i==="temp-file"?s.push({type:"temp-file",enabled:!0,config:{subdirectory:"claude-code-router",extension:"json",includeTimestamp:!0,prefix:"session"}}):i==="webhook"&&t.log.warn("[TokenSpeedPlugin] Webhook reporter requires explicit configuration in outputHandlers");s.length>0&&ws.registerHandlers(s)}n.outputOptions&&ws.setDefaultOptions(n.outputOptions);let o=async s=>{let i=t.tokenizerService;if(!i)return t.log?.warn("TokenizerService not available"),null;if(!s.provider||!s.model)return null;let c=s.provider,u=s.model,f=`${c}:${u}`;if(ry.has(f))return ry.get(f);let d=i.getTokenizerConfigForModel(c,u);if(!d)return t.log?.debug(`No tokenizer config for ${c}:${u}, using fallback`),null;try{let p=await i.getTokenizer(d);return ry.set(f,p),t.log?.info(`Created tokenizer for ${c}:${u} - ${p.name}`),p}catch(p){return t.log?.warn(`Failed to create tokenizer for ${c}:${u}: ${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,i,c)=>{let u=s.requestStartTime;if(!u)return;let f=s.id||Date.now().toString(),d;try{let b=s.body?.metadata?.user_id;if(b&&typeof b=="string"){let y=b.match(/_session_([a-f0-9-]+)/i);d=y?y[1]:void 0}}catch{}if(!d)return;let p=await o(s);if(c instanceof ReadableStream){so.set(f,{requestId:f,sessionId:d,startTime:u,lastTokenTime:u,tokenCount:0,tokensPerSecond:0,tokenTimestamps:[],stream:!0});let[b,y]=c.tee();return(async()=>{let C=null,v=async A=>{let T=so.get(f);if(!T)return;let x=performance.now();if(A){let O=(T.lastTokenTime-T.startTime)/1e3;O>0&&(T.tokensPerSecond=Math.round(T.tokenCount/O))}else{let O=x-1e3;T.tokenTimestamps=T.tokenTimestamps.filter(q=>q>O),T.tokensPerSecond=T.tokenTimestamps.length}await _T(T,r,n.outputOptions,A,t.log).catch(O=>{t.log?.warn(`Failed to output streaming stats: ${O.message}`)})};try{let T=y.pipeThrough(new TextDecoderStream).pipeThrough(new hr).getReader();for(C=setInterval(async()=>{so.get(f)&&await v(!1)},1e3);;){let{done:x,value:O}=await T.read();if(x)break;let q=O,$=so.get(f);if(!$)continue;let H=performance.now();if(!$.firstTokenTime&&(q.event==="content_block_start"||q.event==="content_block_delta"||q.event==="text_block"||q.event==="content_block")&&($.firstTokenTime=H,$.timeToFirstToken=Math.round(H-$.startTime)),q.event==="content_block_delta"&&q.data?.delta){let ce=q.data.delta.type,X="";if(ce==="text_delta"?X=q.data.delta.text||"":ce==="input_json_delta"?X=q.data.delta.partial_json||"":ce==="thinking_delta"&&(X=q.data.delta.thinking||""),X){let te=p&&p.encodeText?p.encodeText(X).length:Ki(X);$.tokenCount+=te,$.lastTokenTime=H;for(let Z=0;Z<te;Z++)$.tokenTimestamps.push(H)}}q.event==="message_stop"&&(C&&(clearInterval(C),C=null),await v(!0),so.delete(f))}}catch(A){C&&clearInterval(C),A.name!=="AbortError"&&A.code!=="ERR_STREAM_PREMATURE_CLOSE"&&t.log?.warn(`Error processing token stats: ${A.message}`)}})().catch(C=>{t.log.error(C,"Background stats processing failed")}),b}let h=performance.now(),_=0;if(c&&typeof c=="string")try{let b=JSON.parse(c);if(b.usage?.output_tokens)_=b.usage.output_tokens;else{let y=b.content||b.message?.content||"";if(p)Array.isArray(y)?_=y.reduce((w,C)=>{if(C.type==="text"){let v=C.text||"";return w+(p.encodeText?p.encodeText(v).length:Ki(v))}return w},0):typeof y=="string"&&(_=p.encodeText?p.encodeText(y).length:Ki(y));else{let w=Array.isArray(y)?y.map(C=>C.text).join(""):y;_=Ki(w)}}}catch{}if(_>0){let b=(h-u)/1e3,y={requestId:f,sessionId:d,startTime:u,lastTokenTime:h,tokenCount:_,tokensPerSecond:b>0?Math.round(_/b):0,timeToFirstToken:Math.round(h-u),stream:!1,tokenTimestamps:[]};await _T(y,r,n.outputOptions,!0,t.log)}return c})})};function Ki(t){let e=(t.match(/[\u4e00-\u9fa5]/g)||[]).length,n=t.length-e;return Math.ceil(e/1.5+n/4)}async function _T(t,e,n,r=!1,o){let s=r?"[Token Speed Final]":"[Token Speed]",i={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()},c={prefix:s,metadata:{sessionId:t.sessionId},...n};for(let u of e)try{await ws.outputToType(u,i,c)}catch(f){(o?.error??console.error)(`[TokenSpeedPlugin] Failed to output to ${u}:`,f)}}function Rq(t={}){let e=vq({bodyLimit:52428800,...t});return e.setErrorHandler($0),e.register(Aq),e.register(ST.default,{global:!0,...Tq}),e}var oy=class{app;configService;providerService;transformerService;tokenizerService;constructor(e={}){let{initialConfig:n,...r}=e;this.app=Rq({...r,logger:r.logger??!0}),this.configService=new Co({...e,logger:this.app.log}),this.transformerService=new bs(this.configService,this.app.log),this.tokenizerService=new Cs(this.configService,this.app.log),this.transformerService.initialize().finally(()=>{this.providerService=new Ao(this.configService,this.transformerService,this.app.log)}),this.tokenizerService.initialize().catch(o=>{this.app.log.error(`Failed to initialize TokenizerService: ${o}`)})}async register(e,n){await this.app.register(e,n)}addHook(e,n){this.app.addHook(e,n)}async registerNamespace(e,n){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),await $f(c)});return}if(!n)throw new Error("options is required");let r=new Co({initialConfig:{providers:n.Providers,Router:n.Router}}),o=new bs(r,this.app.log);await o.initialize();let s=new Ao(r,o,this.app.log),i=new Cs(r,this.app.log);await i.initialize(),await this.app.register(async c=>{c.decorate("configService",r),c.decorate("transformerService",o),c.decorate("providerService",s),c.decorate("tokenizerService",i),await $f(c)},{prefix:e})}async start(){try{this.app._server=this,this.app.addHook("preHandler",(r,o,s)=>{if(new URL(`http://127.0.0.1${r.url}`).pathname.endsWith("/v1/messages")&&r.body){let c=r.body;r.log.info({data:c,type:"request body"}),c.stream||(c.stream=!1)}s()}),await this.registerNamespace("/");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}`);let n=async r=>{this.app.log.info(`Received ${r}, shutting down gracefully...`),await this.app.close(),process.exit(0)};process.on("SIGINT",()=>n("SIGINT")),process.on("SIGTERM",()=>n("SIGTERM"))}catch(e){this.app.log.error(`Error starting server: ${e}`),process.exit(1)}}},b9=oy;export{qg as ANTIGRAVITY_CLIENT_ID,$g as ANTIGRAVITY_CLIENT_SECRET,OA as ANTIGRAVITY_REDIRECT_URI,BU as ANTIGRAVITY_SCOPES,Co as ConfigService,N0 as DEFAULT_LOG_BODY_MAX_BYTES,Ao as ProviderService,hr as SSEParserTransform,To as SSESerializerTransform,Cs as TokenizerService,bs as TransformerService,vb as calculateTokenCount,b9 as default,gR as diffHeadersForLog,QU as exchangeAuthorizationCode,XU as fetchUserEmail,wT as getGlobalTokenSpeedStats,CT as getTokenSpeedStats,zl as getValidAccessToken,Ke as isClientAbortError,$R as isRoutedLlmPost,Ff as listClientRouteRegistrations,$l as loadTokens,zr as matchClientProtocol,lT as pluginManager,Xs as protocolErrorBody,Wg as resolveProjectId,Mb as rewriteStream,qf as router,dR as sanitizeBodyForLog,vf as sanitizeHeadersForLog,Hg as saveTokens,Tb as searchProjectBySession,Uf as sessionUsageCache,kT as tokenSpeedPlugin};
|
|
405
|
+
Stack: ${e.stack}`)}}async registerDefaultTransformersInternal(){try{Object.values(mT).forEach(e=>{if("TransformerName"in e&&typeof e.TransformerName=="string")this.registerTransformer(e.TransformerName,e);else{let n=new e;n&&typeof n=="object"&&(n.logger=this.logger),this.registerTransformer(n.name,n)}})}catch(e){this.logger.error({error:e},"transformer regist error:")}}async loadFromConfig(){let e=this.configService.get("transformers",[]);for(let n of e)await this.registerTransformerFromConfig(n)}};import{get_encoding as Rj}from"tiktoken";var Xi=class{type="tiktoken";name;encoding;constructor(e="cl100k_base"){this.name=`tiktoken-${e}`;try{this.encoding=Rj(e)}catch(n){throw new Error(`Failed to initialize tiktoken encoding: ${e}`,{cause:n})}}async initialize(){if(!this.encoding)throw new Error("Tiktoken encoding not initialized")}async countTokens(e){if(!this.encoding)throw new Error("Encoding not initialized");let r=u=>this.encoding.encode(u,void 0,[]),o=0,{messages:s,system:i,tools:a}=e;return Array.isArray(s)&&s.forEach(u=>{typeof u.content=="string"?o+=r(u.content).length:Array.isArray(u.content)&&u.content.forEach(d=>{if(d.type==="text")o+=r(d.text).length;else if(d.type==="tool_use")o+=r(JSON.stringify(d.input)).length;else if(d.type==="tool_result"){let f=typeof d.content=="string"?d.content:JSON.stringify(d.content);o+=r(f).length}})}),typeof i=="string"?o+=r(i).length:Array.isArray(i)&&i.forEach(u=>{u.type==="text"&&(typeof u.text=="string"?o+=r(u.text).length:Array.isArray(u.text)&&u.text.forEach(d=>{o+=r(d||"").length}))}),a&&a.forEach(u=>{u.description&&(o+=r(u.name+u.description).length),u.input_schema&&(o+=r(JSON.stringify(u.input_schema)).length)}),o}isInitialized(){return this.encoding!==void 0}encodeText(e){let n=this.encoding;if(!n)throw new Error("Encoding not initialized");return Array.from(n.encode(e,void 0,[]))}dispose(){this.encoding&&(this.encoding.free(),this.encoding=void 0)}};import{join as md}from"path";import{homedir as jq}from"os";import{existsSync as _y,mkdirSync as Lq}from"fs";import{promises as gd}from"fs";var xj=class{constructor(t){this.trie=this._build_trie(t)}_build_trie(t){let e=Object.create(null);for(let n of t){let r=e;for(let o=0;o<n.length;++o){let s=n[o];r=r[s]??=Object.create(null)}r.end=n}return e}split(t){let e=[],n=t.length,r=0,o=0;for(;o<n;){let s=this.trie,i=null,a=o;for(;a<n&&(s=s[t[a]]);)s.end&&(i=s.end),++a;i?(o>r&&e.push(t.slice(r,o)),e.push(i),o+=i.length,r=o):++o}return r<n&&e.push(t.slice(r)),e}},gT=xj,Dj=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??!this.special}},Oj=Dj,ST=(()=>{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(),n=0;for(let o=0;o<256;++o)t.includes(o)||(t.push(o),e.push(256+n),n+=1);let r=e.map(o=>String.fromCharCode(o));return Object.fromEntries(t.map((o,s)=>[o,r[s]]))})(),Pj=t=>Object.fromEntries(Object.entries(t).map(([e,n])=>[n,e])),Ij=Pj(ST),yT=".,!?\u2026\u3002\uFF0C\u3001\u0964\u06D4\u060C",Fj=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}]+"],["(?>\\p{Nd}{510})","(?:\\p{Nd}{510})"],["\\p{Nd}{3}+","(?:\\p{Nd}{3})+"],["\\G",""],[` ?[^(\\s|[${yT}])]+`,` ?[^\\s${yT}]+`]]),dd="\\p{P}\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E",gy=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"),fd=(t,e=!0)=>{if(t.Regex!==void 0){let n=t.Regex.replace(/\\([#&~])/g,"$1");n=n.replace(/\\A/g,"^").replace(/\\z/g,"$").replace(/\\Z/g,"(?=\\r?\\n?$)");for(let[r,o]of Fj)n=n.replaceAll(r,o);try{return new RegExp(n,"gu")}catch(r){if(!(r instanceof SyntaxError)||!r.message.toLowerCase().includes("invalid property name"))throw r;let o=!1,s=n.replace(/(\\[pP])\{([^}=]+)\}/g,(i,a,u)=>{try{return new RegExp(`\\p{${u}}`,"u"),`${a}{${u}}`}catch{return o=!0,`${a}{Script=${u}}`}});if(!o)throw r;try{return new RegExp(s,"gu")}catch{throw r}}}else if(t.String!==void 0){let n=Nj(t.String);return new RegExp(e?n:`(${n})`,"gu")}else return console.warn("Unknown pattern type:",t),null},Nj=t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Mj=(t,e,n)=>{let r=[],o=0;for(;o<t.length;){if(r.push(t[o]),(e.get(t[o])??n)!==n){++o;continue}for(;++o<t.length&&(e.get(t[o])??n)===n;)e.get(r.at(-1))!==n&&(r[r.length-1]+=t[o])}return r},Bj=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,Uj=t=>Number.isInteger(t)||typeof t=="bigint",jj=t=>{let e=0;for(let n of t)++e;return e},Lj=t=>ET(t.toLowerCase()),on=(...t)=>Array.prototype.concat.apply([],t),yy=t=>new Map(Object.entries(t)),qj=(t,e)=>{let n=[],r=0;for(let o of t.matchAll(e)){let s=o[0];r<o.index&&n.push(t.slice(r,o.index)),s.length>0&&n.push(s),r=o.index+s.length}return r<t.length&&n.push(t.slice(r)),n},ET=t=>t.replace(new RegExp("\\p{M}","gu"),""),_T=(t,e,n=[])=>{if(!t||Array.isArray(t)||typeof t!="object")return`${e} must be a valid object`;for(let r of n)if(!(r in t))return`${e} must contain a "${r}" property`;return null},$j=t=>t.match(/\S+/g)||[],zj=class{constructor(){let t=function(...e){return t._call(...e)};return Object.setPrototypeOf(t,new.target.prototype)}},Qi=zj,Hj=class extends Qi{constructor(t){super(),this.config=t}_call(t){return this.normalize(t)}},tr=Hj,Wj=class extends tr{tokenize_chinese_chars(t){let e=[];for(let n=0;n<t.length;++n){let r=t[n],o=r.charCodeAt(0);Bj(o)?(e.push(" "),e.push(r),e.push(" ")):e.push(r)}return e.join("")}strip_accents(t){return t.normalize("NFD").replace(new RegExp("\\p{Mn}","gu"),"")}is_control(t){switch(t){case" ":case`
|
|
406
|
+
`: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 n of t){let r=n.charCodeAt(0);r===0||r===65533||this.is_control(n)||(/^\s$/.test(n)?e.push(" "):e.push(n))}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}},Gj=Wj,Jj=class extends tr{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(n=>n.normalize("NFKC")).join("\uFF5E"):t=t.normalize("NFKC"),t}},Kj=Jj,Vj=class extends tr{constructor(t){super(t),this.normalizers=(t.normalizers??[]).map(e=>AT(e))}normalize(t){return this.normalizers.reduce((e,n)=>n?n.normalize(e):e,t)}},Yj=Vj,Xj=class extends tr{normalize(t){let e=fd(this.config.pattern??{});return e===null?t:t.replaceAll(e,this.config.content??"")}},Qj=Xj,Zj=class extends tr{constructor(){super(...arguments),this.form="NFC"}normalize(t){return t=t.normalize(this.form),t}},pd=Zj,eL=class extends pd{constructor(){super(...arguments),this.form="NFC"}},tL=eL,nL=class extends pd{constructor(){super(...arguments),this.form="NFD"}},rL=nL,oL=class extends pd{constructor(){super(...arguments),this.form="NFKC"}},sL=oL,iL=class extends pd{constructor(){super(...arguments),this.form="NFKD"}},aL=iL,cL=class extends tr{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}},uL=cL,lL=class extends tr{normalize(t){return ET(t)}},dL=lL,fL=class extends tr{normalize(t){return t.toLowerCase()}},pL=fL,hL=class extends tr{normalize(t){return t=this.config.prepend+t,t}},mL=hL;function gL(t){if(t===null)return null;switch(t.type){case"BertNormalizer":return new Gj(t);case"Precompiled":return new Kj(t);case"Sequence":return new Yj(t);case"Replace":return new Qj(t);case"NFC":return new tL(t);case"NFD":return new rL(t);case"NFKC":return new sL(t);case"NFKD":return new aL(t);case"Strip":return new uL(t);case"StripAccents":return new dL(t);case"Lowercase":return new pL(t);case"Prepend":return new mL(t);default:throw new Error(`Unknown Normalizer type: ${t.type}`)}}var AT=gL,yL=class extends Qi{pre_tokenize(t,e){return(Array.isArray(t)?t.map(n=>this.pre_tokenize_text(n,e)):this.pre_tokenize_text(t,e)).flat()}_call(t,e){return this.pre_tokenize(t,e)}},sn=yL,_L=class extends sn{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=ST,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),o=>this.byte_encoder[o]).join(""))}},bL=_L,CL=class extends sn{pre_tokenize_text(t,e){return t.match(/\w+|[^\w\s]+/g)||[]}},wL=CL,kL=class extends sn{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:n=void 0}=e??{},r=t.replaceAll(" ",this.str_rep);return!r.startsWith(this.replacement)&&(this.prepend_scheme==="always"||this.prepend_scheme==="first"&&n===0)&&(r=this.str_rep+r),[r]}},SL=kL,EL=class extends sn{constructor(t){super(),this.config=t,this.pattern=fd(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):qj(t,this.pattern)}},AL=EL,vL=class extends sn{constructor(t){super(),this.config=t,this.pattern=new RegExp(`[^${dd}]+|[${dd}]+`,"gu")}pre_tokenize_text(t){return t.match(this.pattern)||[]}},TL=vL,RL=class extends sn{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)||[]}},xL=RL,DL=class extends sn{constructor(){super(),this.pattern=new RegExp(`[^\\s${dd}]+|[${dd}]`,"gu")}pre_tokenize_text(t,e){return t.trim().match(this.pattern)||[]}},OL=DL,PL=class extends sn{constructor(t){super(),this.config=t,this.pattern=fd(this.config.pattern??{}),this.content=this.config.content??""}pre_tokenize_text(t){return this.pattern===null?[t]:[t.replaceAll(this.pattern,this.config.content??"")]}},IL=PL,FL=class extends sn{constructor(t){super(),this.tokenizers=(t.pretokenizers??[]).map(e=>vT(e))}pre_tokenize_text(t,e){return this.tokenizers.reduce((n,r)=>r?r.pre_tokenize(n,e):n,[t])}},NL=FL,ML=class extends sn{pre_tokenize_text(t){return $j(t)}},BL=ML,UL=class extends sn{constructor(t){super(),this.config=t,this._length=t.length}pre_tokenize_text(t){let e=[];for(let n=0;n<t.length;n+=this._length)e.push(t.slice(n,n+this._length));return e}},jL=UL;function LL(t){if(t===null)return null;switch(t.type){case"BertPreTokenizer":return new OL;case"Sequence":return new NL(t);case"Whitespace":return new wL;case"WhitespaceSplit":return new BL;case"Metaspace":return new SL(t);case"ByteLevel":return new bL(t);case"Split":return new AL(t);case"Punctuation":return new TL(t);case"Digits":return new xL(t);case"Replace":return new IL(t);case"FixedLength":return new jL(t);default:throw new Error(`Unknown PreTokenizer type: ${t.type}`)}}var vT=LL,qL=class extends Qi{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=Mj(e,this.tokens_to_ids,this.unk_token_id)),e}},hd=qL,$L=class extends hd{constructor(t){super(t),this.max_input_chars_per_word=100,this.tokens_to_ids=yy(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,n]of this.tokens_to_ids)this.vocab[n]=e}encode(t){let e=[];for(let n of t){let r=[...n];if(r.length>this.max_input_chars_per_word){e.push(this.unk_token);continue}let o=!1,s=0,i=[];for(;s<r.length;){let a=r.length,u=null;for(;s<a;){let d=r.slice(s,a).join("");if(s>0&&(d=this.config.continuing_subword_prefix+d),this.tokens_to_ids.has(d)){u=d;break}--a}if(u===null){o=!0;break}i.push(u),s=a}o?e.push(this.unk_token):e.push(...i)}return e}},bT=$L,CT=class TT{constructor(e,n){this.is_leaf=e,this.children=n}static default(){return new TT(!1,new Map)}},zL=class{constructor(){this.root=CT.default()}extend(t){for(let e of t)this.push(e)}push(t){let e=this.root;for(let n of t){let r=e.children.get(n);r===void 0&&(r=CT.default(),e.children.set(n,r)),e=r}e.is_leaf=!0}*common_prefix_search(t){let e=this.root;if(e===void 0)return;let n="";for(let r of t){if(n+=r,e=e.children.get(r),e===void 0)return;e.is_leaf&&(yield n)}}},HL=zL,my=class RT{constructor(e,n,r,o,s){this.token_id=e,this.node_id=n,this.pos=r,this.length=o,this.score=s,this.prev=null,this.backtrace_score=0}clone(){let e=new RT(this.token_id,this.node_id,this.pos,this.length,this.score);return e.prev=this.prev,e.backtrace_score=this.backtrace_score,e}},WL=class{constructor(t,e,n){this.chars=Array.from(t),this.len=this.chars.length,this.bos_token_id=e,this.eos_token_id=n,this.nodes=[],this.begin_nodes=Array.from({length:this.len+1},()=>[]),this.end_nodes=Array.from({length:this.len+1},()=>[]);let r=new my(this.bos_token_id??0,0,0,0,0),o=new my(this.eos_token_id??0,1,this.len,0,0);this.nodes.push(r.clone()),this.nodes.push(o.clone()),this.begin_nodes[this.len].push(o),this.end_nodes[0].push(r)}insert(t,e,n,r){let o=this.nodes.length,s=new my(r,o,t,e,n);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 i of this.begin_nodes[e]){i.prev=null;let a=0,u=null;for(let d of this.end_nodes[e]){let f=d.backtrace_score+i.score;(u===null||f>a)&&(u=d.clone(),a=f)}if(u!==null)i.prev=u,i.backtrace_score=a;else return[]}++e}let n=[],o=this.begin_nodes[t][0].prev;if(o===null)return[];let s=o.clone();for(;s.prev!==null;)n.push(s.clone()),s=s.clone().prev.clone();return n.reverse(),n}piece(t){return this.chars.slice(t.pos,t.pos+t.length).join("")}tokens(){return this.viterbi().map(e=>this.piece(e))}token_ids(){return this.viterbi().map(e=>e.token_id)}},GL=WL;function JL(t){if(t.length===0)throw new Error("Array must not be empty");let e=t[0],n=0;for(let r=1;r<t.length;++r)t[r]<e&&(e=t[r],n=r);return[e,n]}var KL=class extends hd{constructor(t,e){super(t);let n=t.vocab.length;this.vocab=new Array(n),this.scores=new Array(n);for(let r=0;r<n;++r)[this.vocab[r],this.scores[r]]=t.vocab[r];this.unk_token_id=t.unk_id,this.unk_token=this.vocab[t.unk_id],this.tokens_to_ids=new Map(this.vocab.map((r,o)=>[r,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=JL(this.scores)[0],this.unk_score=this.min_score-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new HL,this.trie.extend(this.vocab),this.fuse_unk=!0}populate_nodes(t){let e=t.chars,n=1,r=0;for(;r<e.length;){let o=!1,s=[],i=e.slice(r).join(""),a=this.trie.common_prefix_search(i);for(let u of a){s.push(u);let d=this.tokens_to_ids.get(u),f=this.scores[d],h=jj(u);t.insert(r,h,f,d),!o&&h===n&&(o=!0)}o||t.insert(r,n,this.unk_score,this.unk_token_id),r+=n}}tokenize(t){let e=new GL(t,this.bos_token_id,this.eos_token_id);return this.populate_nodes(e),e.tokens()}encode(t){let e=[];for(let n of t){let r=this.tokenize(n);e.push(...r)}return e}},wT=KL,VL=class{constructor(t=(n,r)=>n>r,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 n=this._smallest();this._comparator(e,this._heap[n])&&(this._heap[n]=e,this._sift_up_from(n))}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 n=this._heap[t];this._heap[t]=this._heap[e],this._heap[e]=n}_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}},YL=VL,XL=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()}},QL=XL,ZL=class extends hd{constructor(t){super(t),this.tokens_to_ids=yy(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[n,r]of this.tokens_to_ids)this.vocab[r]=n;let e=Array.isArray(t.merges[0]);this.merges=e?t.merges:t.merges.map(n=>n.split(" ",2)),this.bpe_ranks=new Map(this.merges.map((n,r)=>[JSON.stringify(n),r])),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 QL(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 n=Array.from(t);this.end_of_word_suffix&&(n[n.length-1]+=this.end_of_word_suffix);let r=[];if(n.length>1){let o=new YL((a,u)=>a.score<u.score),s={token:n[0],bias:0,prev:null,next:null},i=s;for(let a=1;a<n.length;++a){let u={bias:a/n.length,token:n[a],prev:i,next:null};i.next=u,this.add_node(o,i),i=u}for(;!o.is_empty();){let a=o.pop();if(a.deleted||!a.next||a.next.deleted)continue;if(a.deleted=!0,a.next.deleted=!0,a.prev){let d={...a.prev};a.prev.deleted=!0,a.prev=d,d.prev?d.prev.next=d:s=d}let u={token:a.token+a.next.token,bias:a.bias,prev:a.prev,next:a.next.next};u.prev?(u.prev.next=u,this.add_node(o,u.prev)):s=u,u.next&&(u.next.prev=u,this.add_node(o,u))}for(let a=s;a!==null;a=a.next)r.push(a.token)}else r=n;if(this.continuing_subword_suffix)for(let o=0;o<r.length-1;++o)r[o]+=this.continuing_subword_suffix;return t.length<this.max_length_to_cache&&this.cache.put(t,r),r}add_node(t,e){let n=this.bpe_ranks.get(JSON.stringify([e.token,e.next.token]));n!==void 0&&(e.score=n+e.bias,t.push(e))}encode(t){let e=[];for(let n of t){if(this.ignore_merges&&this.tokens_to_ids.has(n)){e.push(n);continue}let r=this.bpe(n);for(let o of r)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(i=>`<0x${i.toString(16).toUpperCase().padStart(2,"0")}>`);s.every(i=>this.tokens_to_ids.has(i))?e.push(...s):this.unk_token!=null&&e.push(this.unk_token)}else this.unk_token!=null&&e.push(this.unk_token)}return e}},kT=ZL,eq=class extends hd{constructor(t,e){super(t);let n=t.vocab;this.tokens_to_ids=yy(e.target_lang?n[e.target_lang]:n),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[r,o]of this.tokens_to_ids)this.vocab[o]=r}encode(t){return t}},tq=eq;function nq(t,e){switch(t.type){case"WordPiece":return new bT(t);case"Unigram":return new wT(t,e.eos_token);case"BPE":return new kT(t);default:if(t.vocab)return Array.isArray(t.vocab)?new wT(t,e.eos_token):Object.hasOwn(t,"continuing_subword_prefix")&&Object.hasOwn(t,"unk_token")?Object.hasOwn(t,"merges")?new kT(t):new bT(t):new tq(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 rq=nq,oq=class extends Qi{constructor(t){super(),this.config=t}_call(t,...e){return this.post_process(t,...e)}},Zi=oq,sq=class extends Zi{post_process(t,e=null,n=!0){let r=e===null?this.config.single:this.config.pair,o=[],s=[];for(let i of r)"SpecialToken"in i?n&&(o.push(i.SpecialToken.id),s.push(i.SpecialToken.type_id)):"Sequence"in i&&(i.Sequence.id==="A"?(o=on(o,t),s=on(s,new Array(t.length).fill(i.Sequence.type_id))):i.Sequence.id==="B"&&(o=on(o,e),s=on(s,new Array(e.length).fill(i.Sequence.type_id))));return{tokens:o,token_type_ids:s}}},iq=sq,aq=class extends Zi{post_process(t,e=null){return{tokens:t,tokens_pair:e}}},cq=aq,uq=class extends Zi{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e=null,n=!0){n&&(t=on([this.cls[0]],t,[this.sep[0]]));let r=new Array(t.length).fill(0);if(e){let o=[],s=n?[this.sep[0]]:[];t=on(t,o,e,s),r=on(r,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:r}}},lq=uq,dq=class extends Zi{constructor(t){super(t),this.sep=t.sep,this.cls=t.cls}post_process(t,e,n=!0){n&&(t=on([this.cls[0]],t,[this.sep[0]]));let r=new Array(t.length).fill(0);if(e){let o=n?[this.sep[0]]:[],s=n?[this.sep[0]]:[];t=on(t,o,e,s),r=on(r,new Array(e.length+o.length+s.length).fill(1))}return{tokens:t,token_type_ids:r}}},fq=dq,pq=class extends Zi{constructor(t){super(t),this.processors=(t.processors??[]).map(e=>xT(e))}post_process(t,e=null,n=!0){let r={tokens:t,tokens_pair:e};for(let o of this.processors)r=o.post_process(r.tokens,r.tokens_pair,n);return r}},hq=pq;function mq(t){if(t===null)return null;switch(t.type){case"TemplateProcessing":return new iq(t);case"ByteLevel":return new cq(t);case"BertProcessing":return new lq(t);case"RobertaProcessing":return new fq(t);case"Sequence":return new hq(t);default:throw new Error(`Unknown PostProcessor type: ${t.type}`)}}var xT=mq,gq=class extends Qi{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("")}},Tn=gq,yq=class extends Tn{constructor(t){super(t),this.byte_decoder=Ij,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(""),n=new Uint8Array([...e].map(r=>this.byte_decoder[r]));return this.text_decoder.decode(n)}decode_chain(t){let e=[],n=[];for(let r of t)this.added_tokens.find(o=>o.content===r)!==void 0?(n.length>0&&(e.push(this.convert_tokens_to_string(n)),n=[]),e.push(r)):n.push(r);return n.length>0&&e.push(this.convert_tokens_to_string(n)),e}},_q=yq,bq=class extends Tn{constructor(t){super(t),this.cleanup=t.cleanup}decode_chain(t){return t.map((e,n)=>{if(n!==0){let r=this.config.prefix;r&&e.startsWith(r)?e=e.replace(r,""):e=" "+e}return this.cleanup&&(e=gy(e)),e})}},Cq=bq,wq=class extends Tn{constructor(t){super(t),this.replacement=t.replacement??"\u2581"}decode_chain(t){let e=[];for(let n=0;n<t.length;++n){let r=t[n].replaceAll(this.replacement," ");n==0&&r.startsWith(" ")&&(r=r.substring(1)),e.push(r)}return e}},kq=wq,Sq=class extends Tn{constructor(t){super(t),this.suffix=t.suffix??""}decode_chain(t){return t.map((e,n)=>e.replaceAll(this.suffix,n===t.length-1?"":" "))}},Eq=Sq,Aq=class extends Tn{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 o=1;o<t.length;++o)t[o]!==e.at(-1)&&e.push(t[o]);let r=e.filter(o=>o!==this.pad_token).join("");return this.cleanup&&(r=gy(r).replaceAll(this.word_delimiter_token," ").trim()),r}decode_chain(t){return[this.convert_tokens_to_string(t)]}},vq=Aq,Tq=class extends Tn{constructor(t){super(t),this.decoders=(t.decoders??[]).map(e=>DT(e))}decode_chain(t){return this.decoders.reduce((e,n)=>n.decode_chain(e),t)}},Rq=Tq,xq=class extends Tn{decode_chain(t){let e=fd(this.config.pattern),n=this.config.content??"";return e===null?t:t.map(r=>r.replaceAll(e,n))}},Dq=xq,Oq=class extends Tn{decode_chain(t){return[t.join("")]}},Pq=Oq,Iq=class extends Tn{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 n=0;for(let o=0;o<this.start&&e[o]===this.content;++o){n=o+1;continue}let r=e.length;for(let o=0;o<this.stop;++o){let s=e.length-o-1;if(e[s]===this.content){r=s;continue}else break}return e.slice(n,r)})}},Fq=Iq,Nq=class extends Tn{constructor(t){super(t),this.text_decoder=new TextDecoder}decode_chain(t){let e=[],n=[];for(let r of t){let o=null;if(r.length===6&&r.startsWith("<0x")&&r.endsWith(">")){let s=parseInt(r.slice(3,5),16);isNaN(s)||(o=s)}if(o!==null)n.push(o);else{if(n.length>0){let s=this.text_decoder.decode(Uint8Array.from(n));e.push(s),n=[]}e.push(r)}}if(n.length>0){let r=this.text_decoder.decode(Uint8Array.from(n));e.push(r),n=[]}return e}},Mq=Nq;function Bq(t){if(t===null)return null;switch(t.type){case"ByteLevel":return new _q(t);case"WordPiece":return new Cq(t);case"Metaspace":return new kq(t);case"BPEDecoder":return new Eq(t);case"CTC":return new vq(t);case"Sequence":return new Rq(t);case"Replace":return new Dq(t);case"Fuse":return new Pq(t);case"Strip":return new Fq(t);case"ByteFallback":return new Mq(t);default:throw new Error(`Unknown Decoder type: ${t.type}`)}}var DT=Bq,Uq=class{constructor(t,e){let n=_T(t,"Tokenizer",["model","decoder","post_processor","pre_tokenizer","normalizer"]);if(n)throw new Error(n);let r=_T(e,"Config");if(r)throw new Error(r);this.tokenizer=t,this.config=e,this.normalizer=AT(this.tokenizer.normalizer),this.pre_tokenizer=vT(this.tokenizer.pre_tokenizer),this.model=rq(this.tokenizer.model,this.config),this.post_processor=xT(this.tokenizer.post_processor),this.decoder=DT(this.tokenizer.decoder),this.special_tokens=[],this.all_special_ids=[],this.added_tokens=[];let o=[],s=[];this.added_tokens_map=new Map;for(let i of this.tokenizer.added_tokens){let a=new Oj(i);if(this.added_tokens.push(a),this.model.tokens_to_ids.set(a.content,a.id),this.model.vocab[a.id]=a.content,a.special&&(this.special_tokens.push(a.content),this.all_special_ids.push(a.id)),this.added_tokens_map.set(a.content,a),a.normalized&&this.normalizer!==null){let u=this.normalizer(a.content);s.push(u),this.added_tokens_map.set(u,a)}else o.push(a.content)}(this.config.additional_special_tokens??[]).forEach(i=>{this.special_tokens.includes(i)||this.special_tokens.push(i)}),this.decoder&&(this.decoder.added_tokens=this.added_tokens,this.decoder.end_of_word_suffix=this.model.end_of_word_suffix),this.splitter_unnormalized=new gT(o),this.splitter_normalized=new gT(s),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:n=!0,return_token_type_ids:r=null}={}){let{tokens:o,token_type_ids:s}=this.tokenize_helper(t,{text_pair:e,add_special_tokens:n}),i=o.map(u=>this.added_tokens_map.get(u)?.id??this.model.tokens_to_ids.get(u)??this.model.unk_token_id),a={ids:i,tokens:o,attention_mask:new Array(i.length).fill(1)};return r&&s&&(a.token_type_ids=s),a}decode(t,e={}){if(!Array.isArray(t)||t.length===0||!Uj(t[0]))throw Error("token_ids must be a non-empty array of integers.");let n=t.map(o=>this.model.vocab[Number(o)]??this.model.unk_token);e.skip_special_tokens&&(n=n.filter(o=>!this.special_tokens.includes(o)));let r=this.decoder?this.decoder(n):n.join(" ");return this.decoder&&this.decoder.end_of_word_suffix&&(r=r.replaceAll(this.decoder.end_of_word_suffix," "),e.skip_special_tokens&&(r=r.trim())),(e.clean_up_tokenization_spaces??this.clean_up_tokenization_spaces)&&(r=gy(r)),r}tokenize(t,{text_pair:e=null,add_special_tokens:n=!1}={}){return this.tokenize_helper(t,{text_pair:e,add_special_tokens:n}).tokens}encode_text(t){if(t===null)return null;let e=this.splitter_unnormalized.split(t);return e.forEach((n,r)=>{let o=this.added_tokens_map.get(n);o&&(o.lstrip&&r>0&&(e[r-1]=e[r-1].trimEnd()),o.rstrip&&r<e.length-1&&(e[r+1]=e[r+1].trimStart()))}),e.flatMap((n,r)=>{if(n.length===0)return[];if(this.added_tokens_map.has(n))return[n];if(this.remove_space===!0&&(n=n.trim().split(/\s+/).join(" ")),this.do_lowercase_and_remove_accent&&(n=Lj(n)),this.normalizer!==null&&(n=this.normalizer(n)),n.length===0)return[];let o=this.splitter_normalized.split(n);return o.forEach((s,i)=>{let a=this.added_tokens_map.get(s);a&&(a.lstrip&&i>0&&(o[i-1]=o[i-1].trimEnd()),a.rstrip&&i<o.length-1&&(o[i+1]=o[i+1].trimStart()))}),o.flatMap(s=>{if(s.length===0)return[];if(this.added_tokens_map.has(s))return[s];let i=this.pre_tokenizer!==null?this.pre_tokenizer(s,{section_index:r}):[s];return this.model(i)})})}tokenize_helper(t,{text_pair:e=null,add_special_tokens:n=!0}){let r=this.encode_text(t),o=this.encode_text(e||null);return this.post_processor?this.post_processor(r,o,n):{tokens:on(r??[],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}get_vocab(t=!0){let e=new Map;for(let n=0;n<this.model.vocab.length;++n){let r=this.model.vocab[n];(t||!this.added_tokens_map.has(r))&&e.set(r,n)}return e}},OT=Uq;var yd=class{type="huggingface";name;modelId;logger;options;tokenizer=null;cacheDir;safeModelName;constructor(e,n,r={}){this.modelId=e,this.logger=n,this.options=r,this.cacheDir=r.cacheDir||md(jq(),".claude-code-router",".huggingface"),this.safeModelName=e.replace(/\//g,"_").replace(/[^a-zA-Z0-9_-]/g,"_"),this.name=`huggingface-${e.split("/").pop()}`}getCachePaths(){let e=md(this.cacheDir,this.safeModelName);return{modelDir:e,tokenizerJson:md(e,"tokenizer.json"),tokenizerConfig:md(e,"tokenizer_config.json")}}ensureDir(e){_y(e)||Lq(e,{recursive:!0})}async loadFromCache(){try{let e=this.getCachePaths();if(!_y(e.tokenizerJson)||!_y(e.tokenizerConfig))return null;let[n,r]=await Promise.all([gd.readFile(e.tokenizerJson,"utf-8"),gd.readFile(e.tokenizerConfig,"utf-8")]);return{tokenizerJson:JSON.parse(n),tokenizerConfig:JSON.parse(r)}}catch(e){return this.logger?.warn(`Failed to load from cache: ${e.message}`),null}}async downloadAndCache(){let e=this.getCachePaths(),n={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 r=new AbortController,o=setTimeout(()=>r.abort(),this.options.timeout||3e4);try{let[s,i]=await Promise.all([fetch(n.json,{signal:r.signal}),fetch(n.config,{signal:r.signal})]);if(!s.ok)throw new Error(`Failed to fetch tokenizer.json: ${s.statusText}`);let[a,u]=await Promise.all([s.json(),i.ok?i.json():Promise.resolve({})]);return this.ensureDir(e.modelDir),await Promise.all([gd.writeFile(e.tokenizerJson,JSON.stringify(a,null,2)),gd.writeFile(e.tokenizerConfig,JSON.stringify(u,null,2))]),{tokenizerJson:a,tokenizerConfig:u}}finally{clearTimeout(o)}}async initialize(){try{this.logger?.info(`Initializing HuggingFace tokenizer: ${this.modelId}`),this.ensureDir(this.cacheDir);let e=await this.loadFromCache()||await this.downloadAndCache();this.tokenizer=new OT(e.tokenizerJson,e.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}`,{cause:e})}}async countTokens(e){if(!this.tokenizer)throw new Error("Tokenizer not initialized");try{let n=this.extractTextFromRequest(e);return this.tokenizer.encode(n).ids.length}catch(n){throw this.logger?.error(`Error counting tokens: ${n.message}`),n}}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 n=[],{messages:r,system:o,tools:s}=e;if(Array.isArray(r)){for(let i of r)if(typeof i.content=="string")n.push(i.content);else if(Array.isArray(i.content))for(let a of i.content)a.type==="text"&&a.text?n.push(a.text):a.type==="tool_use"&&a.input?n.push(JSON.stringify(a.input)):a.type==="tool_result"&&n.push(typeof a.content=="string"?a.content:JSON.stringify(a.content))}if(typeof o=="string")n.push(o);else if(Array.isArray(o)){for(let i of o)if(i.type==="text"){if(typeof i.text=="string")n.push(i.text);else if(Array.isArray(i.text))for(let a of i.text)a&&n.push(a)}}if(s)for(let i of s)i.name&&n.push(i.name),i.description&&n.push(i.description),i.input_schema&&n.push(JSON.stringify(i.input_schema));return n.join(" ")}};var _d=class{type="api";name;config;logger;options;constructor(e,n,r={}){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=n,this.options=r;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(e){throw new Error(`Invalid API URL: ${this.config.url}`,{cause:e})}}async countTokens(e){try{let n=this.formatRequestBody(e),r={"Content-Type":"application/json",Authorization:`Bearer ${this.config.apiKey}`,...this.config.headers},o=new AbortController,s=setTimeout(()=>o.abort(),this.options.timeout||3e4),i=await fetch(this.config.url,{method:"POST",headers:r,body:JSON.stringify(n),signal:o.signal});if(clearTimeout(s),!i.ok)throw new Error(`API tokenizer request failed: ${i.status} ${i.statusText}`);let a=await i.json();return this.extractTokenCount(a)}catch(n){throw n.name==="AbortError"?new Error("API tokenizer request timed out",{cause:n}):n}}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(n=>({role:n.role,content:this.extractTextFromMessage(n)})):[]}extractTextFromMessage(e){return typeof e.content=="string"?e.content:Array.isArray(e.content)?e.content.map(n=>n.type==="text"&&n.text?n.text:n.type==="tool_use"&&n.input?JSON.stringify(n.input):n.type==="tool_result"?typeof n.content=="string"?n.content:JSON.stringify(n.content):"").join(" "):""}extractConcatenatedText(e){let n=[];return e.messages&&e.messages.forEach(r=>{n.push(this.extractTextFromMessage(r))}),typeof e.system=="string"?n.push(e.system):Array.isArray(e.system)&&e.system.forEach(r=>{r.type==="text"&&(typeof r.text=="string"?n.push(r.text):Array.isArray(r.text)&&r.text.forEach(o=>{o&&n.push(o)}))}),e.tools&&e.tools.forEach(r=>{r.name&&n.push(r.name),r.description&&n.push(r.description),r.input_schema&&n.push(JSON.stringify(r.input_schema))}),n.join(" ")}extractTokenCount(e){try{let n=this.config.responseField,r=n.split("."),o=e;for(let s of r){if(o==null)throw new Error(`Field path '${n}' not found in response`);o=o[s]}if(typeof o!="number")throw new Error(`Expected number at field path '${n}', got ${typeof o}`);return o}catch(n){throw this.logger?.error(`Failed to extract token count from API response: ${n.message}. Response: ${JSON.stringify(e)}`),new Error(`Invalid response from API tokenizer: ${n.message}`,{cause:n})}}};var xs=class{tokenizers=new Map;configService;logger;options;fallbackTokenizer;constructor(e,n,r={}){this.configService=e,this.logger=n,this.options={timeout:r.timeout??3e4,...r}}async initialize(){try{this.fallbackTokenizer=new Xi("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 n=this.getCacheKey(e);if(this.tokenizers.has(n))return this.tokenizers.get(n);let r;try{switch(e.type){case"tiktoken":r=new Xi(e.encoding||"cl100k_base");break;case"huggingface":this.logger?.info(`Initializing HuggingFace tokenizer for model: ${e.model}`),r=new yd(e.model,this.logger,{timeout:this.options.timeout});break;case"api":r=new _d(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 r.initialize(),this.tokenizers.set(n,r),this.logger?.info(`Tokenizer initialized successfully: ${e.type} (${n})`),r}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,n){let r=n?await this.getTokenizer(n):this.fallbackTokenizer;return{tokenCount:await r.countTokens(e),tokenizerUsed:r.name,cached:!1}}getTokenizerConfigForModel(e,n){let o=(this.configService.get("providers")||[]).find(s=>s.name===e);if(o?.tokenizer)return o.tokenizer.models?.[n]?o.tokenizer.models[n]:o.tokenizer.default}dispose(){this.tokenizers.forEach(e=>{try{e.dispose()}catch(n){this.logger?.error(`Error disposing tokenizer: ${n}`)}}),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)}`}}};var by=class{plugins=new Map;pluginInstances=new Map;registerPlugin(e,n={}){this.pluginInstances.set(e.name,e),this.plugins.set(e.name,{name:e.name,enabled:n.enabled!==!1,options:n})}async enablePlugin(e,n){let r=this.plugins.get(e),o=this.pluginInstances.get(e);if(!r||!o)throw new Error(`Plugin ${e} not found`);r.enabled&&await n.register(o.register,r.options)}async enablePlugins(e){for(let[n,r]of this.plugins)if(r.enabled)try{await this.enablePlugin(n,e)}catch(o){let s=o instanceof Error?o.message:String(o);e.log?.error(`Failed to enable plugin ${n}: ${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,n){let r=this.plugins.get(e);r&&(r.enabled=n)}removePlugin(e){this.plugins.delete(e),this.pluginInstances.delete(e)}clear(){this.plugins.clear(),this.pluginInstances.clear()}},PT=new by;var qT=Bn(BT(),1);ky();Sy();Ey();jT();var po=new Map;function $T(t){let e=po.get(t);return e?{...e,tokenTimestamps:[...e.tokenTimestamps]}:void 0}function zT(){return Array.from(po.values()).map(t=>({...t,tokenTimestamps:[...t.tokenTimestamps]}))}var vy=new Map,HT={name:"token-speed",version:"1.0.0",description:"Statistics for streaming response token generation speed",register:(0,qT.default)(async(t,e)=>{let n={reporter:["console","temp-file"],...e},r=Array.isArray(n.reporter)?n.reporter:[n.reporter];if(n.outputHandlers&&n.outputHandlers.length>0)Ds.registerHandlers(n.outputHandlers);else{let s=[];for(let i of r)i==="console"?s.push({type:"console",enabled:!0,config:{colors:!0,level:"log"}}):i==="temp-file"?s.push({type:"temp-file",enabled:!0,config:{subdirectory:"claude-code-router",extension:"json",includeTimestamp:!0,prefix:"session"}}):i==="webhook"&&t.log.warn("[TokenSpeedPlugin] Webhook reporter requires explicit configuration in outputHandlers");s.length>0&&Ds.registerHandlers(s)}n.outputOptions&&Ds.setDefaultOptions(n.outputOptions);let o=async s=>{let i=t.tokenizerService;if(!i)return t.log?.warn("TokenizerService not available"),null;if(!s.provider||!s.model)return null;let a=s.provider,u=s.model,d=`${a}:${u}`;if(vy.has(d))return vy.get(d);let f=i.getTokenizerConfigForModel(a,u);if(!f)return t.log?.debug(`No tokenizer config for ${a}:${u}, using fallback`),null;try{let h=await i.getTokenizer(f);return vy.set(d,h),t.log?.info(`Created tokenizer for ${a}:${u} - ${h.name}`),h}catch(h){return t.log?.warn(`Failed to create tokenizer for ${a}:${u}: ${h.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,i,a)=>{let u=s.requestStartTime;if(!u)return;let d=s.id||Date.now().toString(),f;try{let C=s.body?.metadata?.user_id;if(C&&typeof C=="string"){let m=C.match(/_session_([a-f0-9-]+)/i);f=m?m[1]:void 0}}catch{}if(!f)return;let h=await o(s);if(a instanceof ReadableStream){po.set(d,{requestId:d,sessionId:f,startTime:u,lastTokenTime:u,tokenCount:0,tokensPerSecond:0,tokenTimestamps:[],stream:!0});let[C,m]=a.tee();return(async()=>{let _=null,A=async S=>{let T=po.get(d);if(!T)return;let x=performance.now();if(S){let O=(T.lastTokenTime-T.startTime)/1e3;O>0&&(T.tokensPerSecond=Math.round(T.tokenCount/O))}else{let O=x-1e3;T.tokenTimestamps=T.tokenTimestamps.filter(q=>q>O),T.tokensPerSecond=T.tokenTimestamps.length}await LT(T,r,n.outputOptions,S,t.log).catch(O=>{t.log?.warn(`Failed to output streaming stats: ${O.message}`)})};try{let T=m.pipeThrough(new TextDecoderStream).pipeThrough(new br).getReader();for(_=setInterval(async()=>{po.get(d)&&await A(!1)},1e3);;){let{done:x,value:O}=await T.read();if(x)break;let q=O,$=po.get(d);if(!$)continue;let z=performance.now();if(!$.firstTokenTime&&(q.event==="content_block_start"||q.event==="content_block_delta"||q.event==="text_block"||q.event==="content_block")&&($.firstTokenTime=z,$.timeToFirstToken=Math.round(z-$.startTime)),q.event==="content_block_delta"&&q.data?.delta){let ce=q.data.delta.type,X="";if(ce==="text_delta"?X=q.data.delta.text||"":ce==="input_json_delta"?X=q.data.delta.partial_json||"":ce==="thinking_delta"&&(X=q.data.delta.thinking||""),X){let ee=h&&h.encodeText?h.encodeText(X).length:ra(X);$.tokenCount+=ee,$.lastTokenTime=z;for(let Z=0;Z<ee;Z++)$.tokenTimestamps.push(z)}}q.event==="message_stop"&&(_&&(clearInterval(_),_=null),await A(!0),po.delete(d))}}catch(S){_&&clearInterval(_),S.name!=="AbortError"&&S.code!=="ERR_STREAM_PREMATURE_CLOSE"&&t.log?.warn(`Error processing token stats: ${S.message}`)}})().catch(_=>{t.log.error(_,"Background stats processing failed")}),C}let p=performance.now(),b=0;if(a&&typeof a=="string")try{let C=JSON.parse(a);if(C.usage?.output_tokens)b=C.usage.output_tokens;else{let m=C.content||C.message?.content||"";if(h)Array.isArray(m)?b=m.reduce((w,_)=>{if(_.type==="text"){let A=_.text||"";return w+(h.encodeText?h.encodeText(A).length:ra(A))}return w},0):typeof m=="string"&&(b=h.encodeText?h.encodeText(m).length:ra(m));else{let w=Array.isArray(m)?m.map(_=>_.text).join(""):m;b=ra(w)}}}catch{}if(b>0){let C=(p-u)/1e3,m={requestId:d,sessionId:f,startTime:u,lastTokenTime:p,tokenCount:b,tokensPerSecond:C>0?Math.round(b/C):0,timeToFirstToken:Math.round(p-u),stream:!1,tokenTimestamps:[]};await LT(m,r,n.outputOptions,!0,t.log)}return a})})};function ra(t){let e=(t.match(/[\u4e00-\u9fa5]/g)||[]).length,n=t.length-e;return Math.ceil(e/1.5+n/4)}async function LT(t,e,n,r=!1,o){let s=r?"[Token Speed Final]":"[Token Speed]",i={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:s,metadata:{sessionId:t.sessionId},...n};for(let u of e)try{await Ds.outputToType(u,i,a)}catch(d){(o?.error??console.error)(`[TokenSpeedPlugin] Failed to output to ${u}:`,d)}}function Zq(t={}){let e=Yq({bodyLimit:52428800,...t});return e.setErrorHandler(db),e.register(Xq),e.register(WT.default,{global:!0,...Qq}),e}var Ty=class{app;configService;providerService;transformerService;tokenizerService;constructor(e={}){let{initialConfig:n,...r}=e;this.app=Zq({...r,logger:r.logger??!0}),this.configService=new To({...e,logger:this.app.log}),this.transformerService=new Rs(this.configService,this.app.log),this.tokenizerService=new xs(this.configService,this.app.log),this.transformerService.initialize().finally(()=>{this.providerService=new Mo(this.configService,this.transformerService,this.app.log)}),this.tokenizerService.initialize().catch(o=>{this.app.log.error(`Failed to initialize TokenizerService: ${o}`)})}async register(e,n){await this.app.register(e,n)}addHook(e,n){this.app.addHook(e,n)}async registerNamespace(e,n){if(!e)throw new Error("name is required");if(e==="/"){await this.app.register(async a=>{a.decorate("configService",this.configService),a.decorate("transformerService",this.transformerService),a.decorate("providerService",this.providerService),a.decorate("tokenizerService",this.tokenizerService),await dp(a)});return}if(!n)throw new Error("options is required");let r=new To({initialConfig:{providers:n.Providers,Router:n.Router}}),o=new Rs(r,this.app.log);await o.initialize();let s=new Mo(r,o,this.app.log),i=new xs(r,this.app.log);await i.initialize(),await this.app.register(async a=>{a.decorate("configService",r),a.decorate("transformerService",o),a.decorate("providerService",s),a.decorate("tokenizerService",i),await dp(a)},{prefix:e})}async start(){try{this.app._server=this,this.app.addHook("preHandler",(r,o,s)=>{let i=new URL(`http://127.0.0.1${r.url}`),a=qn(r.method,i.pathname);if(a&&r.body){let u=r.body;a.protocol==="anthropic_messages"&&(r.log.info({data:u,type:"request body"}),u.stream||(u.stream=!1))}s()}),await this.registerNamespace("/");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}`);let n=async r=>{this.app.log.info(`Received ${r}, shutting down gracefully...`),await this.app.close(),process.exit(0)};process.on("SIGINT",()=>n("SIGINT")),process.on("SIGTERM",()=>n("SIGTERM"))}catch(e){this.app.log.error(`Error starting server: ${e}`),process.exit(1)}}},mJ=Ty;export{ly as ANTIGRAVITY_CLIENT_ID,dy as ANTIGRAVITY_CLIENT_SECRET,Zv as ANTIGRAVITY_REDIRECT_URI,cj as ANTIGRAVITY_SCOPES,To as ConfigService,ob as DEFAULT_LOG_BODY_MAX_BYTES,Mo as ProviderService,br as SSEParserTransform,Bo as SSESerializerTransform,xs as TokenizerService,Rs as TransformerService,Yb as calculateTokenCount,mJ as default,UR as diffHeadersForLog,Sj as exchangeAuthorizationCode,kj as fetchUserEmail,zT as getGlobalTokenSpeedStats,$T as getTokenSpeedStats,cd as getValidAccessToken,Ye as isClientAbortError,lx as isRoutedLlmPost,Zf as listClientRouteRegistrations,ad as loadTokens,qn as matchClientProtocol,PT as pluginManager,ii as protocolErrorBody,hy as resolveProjectId,fC as rewriteStream,ap as router,IR as sanitizeBodyForLog,Hf as sanitizeHeadersForLog,py as saveTokens,Qb as searchProjectBySession,op as sessionUsageCache,HT as tokenSpeedPlugin};
|
|
403
407
|
/*! Bundled license information:
|
|
404
408
|
|
|
405
409
|
toad-cache/dist/toad-cache.cjs:
|